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