diff --git a/sources/lib/components/station_ui/html/card.ex b/sources/lib/components/station_ui/html/card.ex
index 530d52d..e76eac6 100644
--- a/sources/lib/components/station_ui/html/card.ex
+++ b/sources/lib/components/station_ui/html/card.ex
@@ -46,7 +46,7 @@ defmodule StationUI.HTML.Card do
### Horizontal Card
- <.card_horizontal>
+ <.card direction="horizontal">
<:header>
-
+
"""
@base_classes "@container min-w-[200px] w-full h-full"
@@ -91,45 +91,6 @@ defmodule StationUI.HTML.Card do
@base_content_classes "grid gap-0.5 @[350px]:gap-1 @[425px]:gap-2 p-2 @[425px]:px-4 @[625px]:px-6 @[625px]:py-3 @[850px]:px-8 @[850px]:py-4"
defp base_content_classes, do: @base_content_classes
- attr :class, :any, default: ""
-
- slot :header
-
- slot :content, required: true do
- attr :class, :string
- end
-
- def card(assigns) do
- ~H"""
-
-
-
- {render_slot(header)}
-
- <.content_card slot={@content} />
-
-
- """
- end
-
- attr :slot, :any, required: true
-
- defp content_card(assigns) do
- class =
- case assigns.slot do
- [%{class: class} | _] -> class
- _ -> "bg-white"
- end
-
- assigns = assign(assigns, :class, class)
-
- ~H"""
-
- {render_slot(@slot)}
-
- """
- end
-
@base_horizontal_classes "@container min-w-[200px] w-full h-full"
defp base_horizontal_classes, do: @base_horizontal_classes
@@ -140,29 +101,44 @@ defmodule StationUI.HTML.Card do
defp base_horizontal_content_classes, do: @base_horizontal_content_classes
attr :class, :any, default: ""
- slot :inner_block, required: true
+ attr :direction, :string
+
slot :header
- slot :content do
+ slot :content, required: true do
attr :class, :string
end
- def card_horizontal(assigns) do
+ def card(%{direction: "horizontal"} = assigns) do
~H"""
- <.content_card_horizontal slot={@content} />
+ <.content_card slot={@content} direction="horizontal" />
+
+
+ """
+ end
+
+ def card(assigns) do
+ ~H"""
+
+
+
+ {render_slot(header)}
+
+ <.content_card slot={@content} />
"""
end
attr :slot, :any, required: true
+ attr :direction, :string, default: ""
- defp content_card_horizontal(assigns) do
+ defp content_card(assigns) do
class =
case assigns.slot do
[%{class: class} | _] -> class
@@ -171,8 +147,14 @@ defmodule StationUI.HTML.Card do
assigns = assign(assigns, :class, class)
+ content_class =
+ case assigns do
+ %{direction: "horizontal"} -> [base_horizontal_content_classes() | List.wrap(class)]
+ _ -> [base_content_classes() | List.wrap(class)]
+ end
+
~H"""
-
+
{render_slot(@slot)}
"""