@@ -6,7 +6,8 @@ defmodule AlgoraWeb.Components.UI.Drawer do
6
6
7
7
<.drawer show={@show} phx-click="close">
8
8
<.drawer_header>
9
- <.h3>Drawer Title</.h3>
9
+ <.drawer_title>Drawer Title</.drawer_title>
10
+ <.drawer_description>Drawer Description</.drawer_description>
10
11
</.drawer_header>
11
12
<.drawer_content>
12
13
Content goes here
@@ -69,12 +70,31 @@ defmodule AlgoraWeb.Components.UI.Drawer do
69
70
70
71
def drawer_header ( assigns ) do
71
72
~H"""
72
- < div
73
- class = {
74
- classes ( [ "font-display pb-4 text-base font-semibold uppercase text-muted-foreground" , @ class ] )
75
- }
76
- { @ rest }
77
- >
73
+ < div class = { classes ( [ "flex flex-col space-y-1.5 pb-4" , @ class ] ) } { @ rest } >
74
+ { render_slot ( @ inner_block ) }
75
+ </ div >
76
+ """
77
+ end
78
+
79
+ attr :class , :string , default: nil
80
+ slot :inner_block , required: true
81
+ attr :rest , :global
82
+
83
+ def drawer_title ( assigns ) do
84
+ ~H"""
85
+ < div class = { classes ( [ "text-2xl font-semibold text-white" , @ class ] ) } { @ rest } >
86
+ { render_slot ( @ inner_block ) }
87
+ </ div >
88
+ """
89
+ end
90
+
91
+ attr :class , :string , default: nil
92
+ slot :inner_block , required: true
93
+ attr :rest , :global
94
+
95
+ def drawer_description ( assigns ) do
96
+ ~H"""
97
+ < div class = { classes ( [ "text-sm text-muted-foreground" , @ class ] ) } { @ rest } >
78
98
{ render_slot ( @ inner_block ) }
79
99
</ div >
80
100
"""
0 commit comments