diff --git a/lib/surface/catalogue/components/component_api.ex b/lib/surface/catalogue/components/component_api.ex index 01c44a2..6737a2b 100644 --- a/lib/surface/catalogue/components/component_api.ex +++ b/lib/surface/catalogue/components/component_api.ex @@ -122,6 +122,10 @@ defmodule Surface.Catalogue.Components.ComponentAPI do "—" end + defp format_values(%Range{} = range) do + raw(["", inspect(range), ""]) + end + defp format_values(values) do values |> Enum.map(fn value -> raw(["", format_value(value), ""]) end) diff --git a/lib/surface/catalogue/components/prop_input.ex b/lib/surface/catalogue/components/prop_input.ex index f7f8f19..e8f52f9 100644 --- a/lib/surface/catalogue/components/prop_input.ex +++ b/lib/surface/catalogue/components/prop_input.ex @@ -126,15 +126,12 @@ defmodule Surface.Catalogue.Components.PropInput do defp css_value_to_string(nil), do: nil defp css_value_to_string(value), do: Enum.join(value, " ") - defp get_choices(prop) do - values = - prop.opts - |> Keyword.get(:values, []) - |> Enum.map(&{&1, &1}) + defp get_choices(%{opts: opts}) do + values = for x <- Keyword.get(opts, :values, []), do: {x, x} cond do values == [] -> [] - prop.opts[:required] -> values + opts[:required] -> values true -> [{"nil", "__NIL__"} | values] end end