daisyui 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/daisy_ui/accordion.rb +49 -0
- data/lib/daisy_ui/alert.rb +76 -0
- data/lib/daisy_ui/avatar.rb +41 -0
- data/lib/daisy_ui/avatar_group.rb +19 -0
- data/lib/daisy_ui/badge.rb +118 -0
- data/lib/daisy_ui/base.rb +239 -0
- data/lib/daisy_ui/breadcrumbs.rb +25 -0
- data/lib/daisy_ui/button.rb +197 -0
- data/lib/daisy_ui/calendar.rb +48 -0
- data/lib/daisy_ui/card.rb +73 -0
- data/lib/daisy_ui/carousel.rb +51 -0
- data/lib/daisy_ui/chat.rb +49 -0
- data/lib/daisy_ui/checkbox.rb +112 -0
- data/lib/daisy_ui/collapse.rb +53 -0
- data/lib/daisy_ui/collapsible_sub_menu.rb +55 -0
- data/lib/daisy_ui/configurable.rb +45 -0
- data/lib/daisy_ui/countdown.rb +16 -0
- data/lib/daisy_ui/diff.rb +28 -0
- data/lib/daisy_ui/divider.rb +103 -0
- data/lib/daisy_ui/dock.rb +65 -0
- data/lib/daisy_ui/drawer.rb +61 -0
- data/lib/daisy_ui/dropdown.rb +101 -0
- data/lib/daisy_ui/fab.rb +34 -0
- data/lib/daisy_ui/fieldset.rb +20 -0
- data/lib/daisy_ui/file_input.rb +117 -0
- data/lib/daisy_ui/filter.rb +21 -0
- data/lib/daisy_ui/footer.rb +44 -0
- data/lib/daisy_ui/form_control.rb +15 -0
- data/lib/daisy_ui/hero.rb +24 -0
- data/lib/daisy_ui/hover_gallery.rb +16 -0
- data/lib/daisy_ui/indicator.rb +65 -0
- data/lib/daisy_ui/input.rb +117 -0
- data/lib/daisy_ui/join.rb +35 -0
- data/lib/daisy_ui/kbd.rb +54 -0
- data/lib/daisy_ui/label.rb +15 -0
- data/lib/daisy_ui/link.rb +137 -0
- data/lib/daisy_ui/list.rb +37 -0
- data/lib/daisy_ui/loading.rb +146 -0
- data/lib/daisy_ui/mask.rb +167 -0
- data/lib/daisy_ui/menu.rb +79 -0
- data/lib/daisy_ui/menu_item.rb +50 -0
- data/lib/daisy_ui/mockup_browser.rb +20 -0
- data/lib/daisy_ui/mockup_code.rb +16 -0
- data/lib/daisy_ui/mockup_phone.rb +24 -0
- data/lib/daisy_ui/mockup_window.rb +16 -0
- data/lib/daisy_ui/modal.rb +77 -0
- data/lib/daisy_ui/navbar.rb +31 -0
- data/lib/daisy_ui/pagination.rb +37 -0
- data/lib/daisy_ui/progress.rb +75 -0
- data/lib/daisy_ui/radial_progress.rb +181 -0
- data/lib/daisy_ui/radio.rb +110 -0
- data/lib/daisy_ui/range.rb +110 -0
- data/lib/daisy_ui/rating.rb +68 -0
- data/lib/daisy_ui/select.rb +117 -0
- data/lib/daisy_ui/skeleton.rb +19 -0
- data/lib/daisy_ui/stack.rb +47 -0
- data/lib/daisy_ui/stat.rb +57 -0
- data/lib/daisy_ui/status.rb +110 -0
- data/lib/daisy_ui/steps.rb +41 -0
- data/lib/daisy_ui/sub_menu.rb +37 -0
- data/lib/daisy_ui/swap.rb +52 -0
- data/lib/daisy_ui/tab.rb +40 -0
- data/lib/daisy_ui/tab_with_content.rb +72 -0
- data/lib/daisy_ui/tab_without_content.rb +40 -0
- data/lib/daisy_ui/table.rb +81 -0
- data/lib/daisy_ui/table_row.rb +33 -0
- data/lib/daisy_ui/tabs.rb +80 -0
- data/lib/daisy_ui/textarea.rb +117 -0
- data/lib/daisy_ui/theme_controller.rb +64 -0
- data/lib/daisy_ui/timeline.rb +66 -0
- data/lib/daisy_ui/toast.rb +61 -0
- data/lib/daisy_ui/toggle.rb +110 -0
- data/lib/daisy_ui/tooltip.rb +107 -0
- data/lib/daisy_ui/updated_at.rb +7 -0
- data/lib/daisy_ui/validator.rb +25 -0
- data/lib/daisy_ui/version.rb +5 -0
- data/lib/daisy_ui.rb +17 -0
- metadata +156 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DaisyUI
|
|
4
|
+
class Mask < Base
|
|
5
|
+
self.component_class = :mask
|
|
6
|
+
|
|
7
|
+
def initialize(*, as: :div, **)
|
|
8
|
+
super
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def view_template(&)
|
|
12
|
+
public_send(as, class: classes, **attributes, &)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
private
|
|
16
|
+
|
|
17
|
+
register_modifiers(
|
|
18
|
+
# "sm:mask-squircle"
|
|
19
|
+
# "@sm:mask-squircle"
|
|
20
|
+
# "md:mask-squircle"
|
|
21
|
+
# "@md:mask-squircle"
|
|
22
|
+
# "lg:mask-squircle"
|
|
23
|
+
# "@lg:mask-squircle"
|
|
24
|
+
squircle: "mask-squircle",
|
|
25
|
+
# "sm:mask-heart"
|
|
26
|
+
# "@sm:mask-heart"
|
|
27
|
+
# "md:mask-heart"
|
|
28
|
+
# "@md:mask-heart"
|
|
29
|
+
# "lg:mask-heart"
|
|
30
|
+
# "@lg:mask-heart"
|
|
31
|
+
heart: "mask-heart",
|
|
32
|
+
# "sm:mask-hexagon"
|
|
33
|
+
# "@sm:mask-hexagon"
|
|
34
|
+
# "md:mask-hexagon"
|
|
35
|
+
# "@md:mask-hexagon"
|
|
36
|
+
# "lg:mask-hexagon"
|
|
37
|
+
# "@lg:mask-hexagon"
|
|
38
|
+
hexagon: "mask-hexagon",
|
|
39
|
+
# "sm:mask-hexagon-2"
|
|
40
|
+
# "@sm:mask-hexagon-2"
|
|
41
|
+
# "md:mask-hexagon-2"
|
|
42
|
+
# "@md:mask-hexagon-2"
|
|
43
|
+
# "lg:mask-hexagon-2"
|
|
44
|
+
# "@lg:mask-hexagon-2"
|
|
45
|
+
hexagon_2: "mask-hexagon-2",
|
|
46
|
+
# "sm:mask-decagon"
|
|
47
|
+
# "@sm:mask-decagon"
|
|
48
|
+
# "md:mask-decagon"
|
|
49
|
+
# "@md:mask-decagon"
|
|
50
|
+
# "lg:mask-decagon"
|
|
51
|
+
# "@lg:mask-decagon"
|
|
52
|
+
decagon: "mask-decagon",
|
|
53
|
+
# "sm:mask-pentagon"
|
|
54
|
+
# "@sm:mask-pentagon"
|
|
55
|
+
# "md:mask-pentagon"
|
|
56
|
+
# "@md:mask-pentagon"
|
|
57
|
+
# "lg:mask-pentagon"
|
|
58
|
+
# "@lg:mask-pentagon"
|
|
59
|
+
pentagon: "mask-pentagon",
|
|
60
|
+
# "sm:mask-diamond"
|
|
61
|
+
# "@sm:mask-diamond"
|
|
62
|
+
# "md:mask-diamond"
|
|
63
|
+
# "@md:mask-diamond"
|
|
64
|
+
# "lg:mask-diamond"
|
|
65
|
+
# "@lg:mask-diamond"
|
|
66
|
+
diamond: "mask-diamond",
|
|
67
|
+
# "sm:mask-square"
|
|
68
|
+
# "@sm:mask-square"
|
|
69
|
+
# "md:mask-square"
|
|
70
|
+
# "@md:mask-square"
|
|
71
|
+
# "lg:mask-square"
|
|
72
|
+
# "@lg:mask-square"
|
|
73
|
+
square: "mask-square",
|
|
74
|
+
# "sm:mask-circle"
|
|
75
|
+
# "@sm:mask-circle"
|
|
76
|
+
# "md:mask-circle"
|
|
77
|
+
# "@md:mask-circle"
|
|
78
|
+
# "lg:mask-circle"
|
|
79
|
+
# "@lg:mask-circle"
|
|
80
|
+
circle: "mask-circle",
|
|
81
|
+
# "sm:mask-parallelogram"
|
|
82
|
+
# "@sm:mask-parallelogram"
|
|
83
|
+
# "md:mask-parallelogram"
|
|
84
|
+
# "@md:mask-parallelogram"
|
|
85
|
+
# "lg:mask-parallelogram"
|
|
86
|
+
# "@lg:mask-parallelogram"
|
|
87
|
+
parallelogram: "mask-parallelogram",
|
|
88
|
+
# "sm:mask-parallelogram-2"
|
|
89
|
+
# "@sm:mask-parallelogram-2"
|
|
90
|
+
# "md:mask-parallelogram-2"
|
|
91
|
+
# "@md:mask-parallelogram-2"
|
|
92
|
+
# "lg:mask-parallelogram-2"
|
|
93
|
+
# "@lg:mask-parallelogram-2"
|
|
94
|
+
parallelogram_2: "mask-parallelogram-2",
|
|
95
|
+
# "sm:mask-parallelogram-3"
|
|
96
|
+
# "@sm:mask-parallelogram-3"
|
|
97
|
+
# "md:mask-parallelogram-3"
|
|
98
|
+
# "@md:mask-parallelogram-3"
|
|
99
|
+
# "lg:mask-parallelogram-3"
|
|
100
|
+
# "@lg:mask-parallelogram-3"
|
|
101
|
+
parallelogram_3: "mask-parallelogram-3",
|
|
102
|
+
# "sm:mask-parallelogram-4"
|
|
103
|
+
# "@sm:mask-parallelogram-4"
|
|
104
|
+
# "md:mask-parallelogram-4"
|
|
105
|
+
# "@md:mask-parallelogram-4"
|
|
106
|
+
# "lg:mask-parallelogram-4"
|
|
107
|
+
# "@lg:mask-parallelogram-4"
|
|
108
|
+
parallelogram_4: "mask-parallelogram-4",
|
|
109
|
+
# "sm:mask-star"
|
|
110
|
+
# "@sm:mask-star"
|
|
111
|
+
# "md:mask-star"
|
|
112
|
+
# "@md:mask-star"
|
|
113
|
+
# "lg:mask-star"
|
|
114
|
+
# "@lg:mask-star"
|
|
115
|
+
star: "mask-star",
|
|
116
|
+
# "sm:mask-star-2"
|
|
117
|
+
# "@sm:mask-star-2"
|
|
118
|
+
# "md:mask-star-2"
|
|
119
|
+
# "@md:mask-star-2"
|
|
120
|
+
# "lg:mask-star-2"
|
|
121
|
+
# "@lg:mask-star-2"
|
|
122
|
+
star_2: "mask-star-2",
|
|
123
|
+
# "sm:mask-triangle"
|
|
124
|
+
# "@sm:mask-triangle"
|
|
125
|
+
# "md:mask-triangle"
|
|
126
|
+
# "@md:mask-triangle"
|
|
127
|
+
# "lg:mask-triangle"
|
|
128
|
+
# "@lg:mask-triangle"
|
|
129
|
+
triangle: "mask-triangle",
|
|
130
|
+
# "sm:mask-triangle-2"
|
|
131
|
+
# "@sm:mask-triangle-2"
|
|
132
|
+
# "md:mask-triangle-2"
|
|
133
|
+
# "@md:mask-triangle-2"
|
|
134
|
+
# "lg:mask-triangle-2"
|
|
135
|
+
# "@lg:mask-triangle-2"
|
|
136
|
+
triangle_2: "mask-triangle-2",
|
|
137
|
+
# "sm:mask-triangle-3"
|
|
138
|
+
# "@sm:mask-triangle-3"
|
|
139
|
+
# "md:mask-triangle-3"
|
|
140
|
+
# "@md:mask-triangle-3"
|
|
141
|
+
# "lg:mask-triangle-3"
|
|
142
|
+
# "@lg:mask-triangle-3"
|
|
143
|
+
triangle_3: "mask-triangle-3",
|
|
144
|
+
# "sm:mask-triangle-4"
|
|
145
|
+
# "@sm:mask-triangle-4"
|
|
146
|
+
# "md:mask-triangle-4"
|
|
147
|
+
# "@md:mask-triangle-4"
|
|
148
|
+
# "lg:mask-triangle-4"
|
|
149
|
+
# "@lg:mask-triangle-4"
|
|
150
|
+
triangle_4: "mask-triangle-4",
|
|
151
|
+
# "sm:mask-half-1"
|
|
152
|
+
# "@sm:mask-half-1"
|
|
153
|
+
# "md:mask-half-1"
|
|
154
|
+
# "@md:mask-half-1"
|
|
155
|
+
# "lg:mask-half-1"
|
|
156
|
+
# "@lg:mask-half-1"
|
|
157
|
+
half_1: "mask-half-1",
|
|
158
|
+
# "sm:mask-half-2"
|
|
159
|
+
# "@sm:mask-half-2"
|
|
160
|
+
# "md:mask-half-2"
|
|
161
|
+
# "@md:mask-half-2"
|
|
162
|
+
# "lg:mask-half-2"
|
|
163
|
+
# "@lg:mask-half-2"
|
|
164
|
+
half_2: "mask-half-2"
|
|
165
|
+
)
|
|
166
|
+
end
|
|
167
|
+
end
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DaisyUI
|
|
4
|
+
class Menu < Base
|
|
5
|
+
self.component_class = :menu
|
|
6
|
+
|
|
7
|
+
def view_template(&)
|
|
8
|
+
ul(class: classes, **attributes, &)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def title(*, as: :li, **opts, &)
|
|
12
|
+
public_send(as, class: component_classes("menu-title", options: opts), **opts, &)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def item(*, **, &)
|
|
16
|
+
render MenuItem.new(*, **, &)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def submenu(*modifiers, **, &)
|
|
20
|
+
if modifiers.include?(:collapsible)
|
|
21
|
+
li do
|
|
22
|
+
render CollapsibleSubMenu.new(*modifiers, **, &)
|
|
23
|
+
end
|
|
24
|
+
else
|
|
25
|
+
li do
|
|
26
|
+
render SubMenu.new(*modifiers, **, &)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
private
|
|
32
|
+
|
|
33
|
+
register_modifiers(
|
|
34
|
+
# "sm:menu-xs"
|
|
35
|
+
# "@sm:menu-xs"
|
|
36
|
+
# "md:menu-xs"
|
|
37
|
+
# "@md:menu-xs"
|
|
38
|
+
# "lg:menu-xs"
|
|
39
|
+
# "@lg:menu-xs"
|
|
40
|
+
xs: "menu-xs",
|
|
41
|
+
# "sm:menu-sm"
|
|
42
|
+
# "@sm:menu-sm"
|
|
43
|
+
# "md:menu-sm"
|
|
44
|
+
# "@md:menu-sm"
|
|
45
|
+
# "lg:menu-sm"
|
|
46
|
+
# "@lg:menu-sm"
|
|
47
|
+
sm: "menu-sm",
|
|
48
|
+
# "sm:menu-md"
|
|
49
|
+
# "@sm:menu-md"
|
|
50
|
+
# "md:menu-md"
|
|
51
|
+
# "@md:menu-md"
|
|
52
|
+
# "lg:menu-md"
|
|
53
|
+
# "@lg:menu-md"
|
|
54
|
+
md: "menu-md",
|
|
55
|
+
# "sm:menu-lg"
|
|
56
|
+
# "@sm:menu-lg"
|
|
57
|
+
# "md:menu-lg"
|
|
58
|
+
# "@md:menu-lg"
|
|
59
|
+
# "lg:menu-lg"
|
|
60
|
+
# "@lg:menu-lg"
|
|
61
|
+
lg: "menu-lg",
|
|
62
|
+
# "sm:menu-vertical"
|
|
63
|
+
# "@sm:menu-vertical"
|
|
64
|
+
# "md:menu-vertical"
|
|
65
|
+
# "@md:menu-vertical"
|
|
66
|
+
# "lg:menu-vertical"
|
|
67
|
+
# "@lg:menu-vertical"
|
|
68
|
+
vertical: "menu-vertical",
|
|
69
|
+
# "sm:menu-horizontal"
|
|
70
|
+
# "@sm:menu-horizontal"
|
|
71
|
+
# "md:menu-horizontal"
|
|
72
|
+
# "@md:menu-horizontal"
|
|
73
|
+
# "lg:menu-horizontal"
|
|
74
|
+
# "@lg:menu-horizontal"
|
|
75
|
+
horizontal: "menu-horizontal",
|
|
76
|
+
**COLOR_MODIFIERS
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DaisyUI
|
|
4
|
+
# @private
|
|
5
|
+
class MenuItem < Base
|
|
6
|
+
self.component_class = nil
|
|
7
|
+
|
|
8
|
+
def view_template(&)
|
|
9
|
+
li(class: classes, **attributes, &)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def title(*, **options, &block)
|
|
13
|
+
h2(class: component_classes("menu-title", options: options), **options, &block)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def submenu(*modifiers, **opts, &)
|
|
17
|
+
if modifiers.include?(:collapsible)
|
|
18
|
+
render CollapsibleSubMenu.new(*modifiers, **opts, &)
|
|
19
|
+
else
|
|
20
|
+
render SubMenu.new(*modifiers, **opts, &)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
private
|
|
25
|
+
|
|
26
|
+
register_modifiers(
|
|
27
|
+
# "sm:disabled"
|
|
28
|
+
# "@sm:disabled"
|
|
29
|
+
# "md:disabled"
|
|
30
|
+
# "@md:disabled"
|
|
31
|
+
# "lg:disabled"
|
|
32
|
+
# "@lg:disabled"
|
|
33
|
+
disabled: "disabled",
|
|
34
|
+
# "sm:active"
|
|
35
|
+
# "@sm:active"
|
|
36
|
+
# "md:active"
|
|
37
|
+
# "@md:active"
|
|
38
|
+
# "lg:active"
|
|
39
|
+
# "@lg:active"
|
|
40
|
+
active: "active",
|
|
41
|
+
# "sm:focus"
|
|
42
|
+
# "@sm:focus"
|
|
43
|
+
# "md:focus"
|
|
44
|
+
# "@md:focus"
|
|
45
|
+
# "lg:focus"
|
|
46
|
+
# "@lg:focus"
|
|
47
|
+
focus: "focus"
|
|
48
|
+
)
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DaisyUI
|
|
4
|
+
# @component html class="mockup-browser"
|
|
5
|
+
class MockupBrowser < Base
|
|
6
|
+
self.component_class = "mockup-browser"
|
|
7
|
+
|
|
8
|
+
def initialize(*, as: :div, **)
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def view_template(&)
|
|
13
|
+
public_send(as, class: classes, **attributes, &)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def toolbar(**opts, &)
|
|
17
|
+
div(class: component_classes("mockup-browser-toolbar", options: opts), **opts, &)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DaisyUI
|
|
4
|
+
# @component html class="mockup-code"
|
|
5
|
+
class MockupCode < Base
|
|
6
|
+
self.component_class = "mockup-code"
|
|
7
|
+
|
|
8
|
+
def initialize(*, as: :div, **)
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def view_template(&)
|
|
13
|
+
public_send(as, class: classes, **attributes, &)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DaisyUI
|
|
4
|
+
# @component html class="mockup-phone"
|
|
5
|
+
class MockupPhone < Base
|
|
6
|
+
self.component_class = "mockup-phone"
|
|
7
|
+
|
|
8
|
+
def initialize(*, as: :div, **)
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def view_template(&)
|
|
13
|
+
public_send(as, class: classes, **attributes, &)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def camera(**opts, &)
|
|
17
|
+
div(class: component_classes("mockup-phone-camera", options: opts), **opts, &)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def display(**opts, &)
|
|
21
|
+
div(class: component_classes("mockup-phone-display", options: opts), **opts, &)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DaisyUI
|
|
4
|
+
# @component html class="mockup-window"
|
|
5
|
+
class MockupWindow < Base
|
|
6
|
+
self.component_class = "mockup-window"
|
|
7
|
+
|
|
8
|
+
def initialize(*, as: :div, **)
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def view_template(&)
|
|
13
|
+
public_send(as, class: classes, **attributes, &)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DaisyUI
|
|
4
|
+
class Modal < Base
|
|
5
|
+
self.component_class = :modal
|
|
6
|
+
|
|
7
|
+
def initialize(*, id:, **)
|
|
8
|
+
super(*, **)
|
|
9
|
+
@id = id
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def view_template(&block)
|
|
13
|
+
dialog(id:, class: classes, **attributes) do
|
|
14
|
+
block&.call(self)
|
|
15
|
+
# Auto-render backdrop if tap_outside_to_close modifier is present
|
|
16
|
+
backdrop if modifiers.include?(:tap_outside_to_close)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def body(*, as: :div, **opts, &)
|
|
21
|
+
public_send(as, class: component_classes("modal-box", options: opts), **opts, &)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def action(*, as: :div, **opts, &block)
|
|
25
|
+
action_classes = component_classes("modal-action", options: opts)
|
|
26
|
+
public_send(as, class: action_classes, **opts) do
|
|
27
|
+
block&.call(self)
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def backdrop(*, **opts, &)
|
|
32
|
+
backdrop_classes = component_classes("modal-backdrop", options: opts)
|
|
33
|
+
form method: :dialog, class: backdrop_classes, **opts do
|
|
34
|
+
button
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def close_button(*, **, &)
|
|
39
|
+
form method: :dialog do
|
|
40
|
+
render DaisyUI::Button.new(*, **, &)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
private
|
|
45
|
+
|
|
46
|
+
register_modifiers(
|
|
47
|
+
# "sm:modal-open"
|
|
48
|
+
# "@sm:modal-open"
|
|
49
|
+
# "md:modal-open"
|
|
50
|
+
# "@md:modal-open"
|
|
51
|
+
# "lg:modal-open"
|
|
52
|
+
# "@lg:modal-open"
|
|
53
|
+
open: "modal-open",
|
|
54
|
+
# "sm:modal-top"
|
|
55
|
+
# "@sm:modal-top"
|
|
56
|
+
# "md:modal-top"
|
|
57
|
+
# "@md:modal-top"
|
|
58
|
+
# "lg:modal-top"
|
|
59
|
+
# "@lg:modal-top"
|
|
60
|
+
top: "modal-top",
|
|
61
|
+
# "sm:modal-bottom"
|
|
62
|
+
# "@sm:modal-bottom"
|
|
63
|
+
# "md:modal-bottom"
|
|
64
|
+
# "@md:modal-bottom"
|
|
65
|
+
# "lg:modal-bottom"
|
|
66
|
+
# "@lg:modal-bottom"
|
|
67
|
+
bottom: "modal-bottom",
|
|
68
|
+
# "sm:modal-middle"
|
|
69
|
+
# "@sm:modal-middle"
|
|
70
|
+
# "md:modal-middle"
|
|
71
|
+
# "@md:modal-middle"
|
|
72
|
+
# "lg:modal-middle"
|
|
73
|
+
# "@lg:modal-middle"
|
|
74
|
+
middle: "modal-middle"
|
|
75
|
+
)
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DaisyUI
|
|
4
|
+
class Navbar < Base
|
|
5
|
+
self.component_class = :navbar
|
|
6
|
+
|
|
7
|
+
def initialize(*, as: :nav, **)
|
|
8
|
+
super
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def view_template(&)
|
|
12
|
+
public_send(as, class: classes, **attributes, &)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def start(*, as: :div, **opts, &)
|
|
16
|
+
public_send(as, class: component_classes("navbar-start", options: opts), **opts, &)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def center(*, as: :div, **opts, &)
|
|
20
|
+
public_send(as, class: component_classes("navbar-center", options: opts), **opts, &)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def end(*, as: :div, **opts, &)
|
|
24
|
+
public_send(as, class: component_classes("navbar-end", options: opts), **opts, &)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
register_modifiers(
|
|
28
|
+
**COLOR_MODIFIERS
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DaisyUI
|
|
4
|
+
# @component html class="join"
|
|
5
|
+
class Pagination < Base
|
|
6
|
+
self.component_class = "join"
|
|
7
|
+
|
|
8
|
+
def initialize(*, as: :div, **)
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def view_template(&)
|
|
13
|
+
public_send(as, class: classes, **attributes, &)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def item(**opts, &)
|
|
17
|
+
div(class: component_classes("join-item", options: opts), **opts, &)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
register_modifiers(
|
|
21
|
+
# "sm:join-vertical"
|
|
22
|
+
# "@sm:join-vertical"
|
|
23
|
+
# "md:join-vertical"
|
|
24
|
+
# "@md:join-vertical"
|
|
25
|
+
# "lg:join-vertical"
|
|
26
|
+
# "@lg:join-vertical"
|
|
27
|
+
vertical: "join-vertical",
|
|
28
|
+
# "sm:join-horizontal"
|
|
29
|
+
# "@sm:join-horizontal"
|
|
30
|
+
# "md:join-horizontal"
|
|
31
|
+
# "@md:join-horizontal"
|
|
32
|
+
# "lg:join-horizontal"
|
|
33
|
+
# "@lg:join-horizontal"
|
|
34
|
+
horizontal: "join-horizontal"
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DaisyUI
|
|
4
|
+
# @component html class="progress"
|
|
5
|
+
class Progress < Base
|
|
6
|
+
self.component_class = :progress
|
|
7
|
+
|
|
8
|
+
def initialize(*, as: :progress, **)
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def view_template(&)
|
|
13
|
+
public_send(as, class: classes, **attributes, &)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
register_modifiers(
|
|
17
|
+
# "sm:progress-neutral"
|
|
18
|
+
# "@sm:progress-neutral"
|
|
19
|
+
# "md:progress-neutral"
|
|
20
|
+
# "@md:progress-neutral"
|
|
21
|
+
# "lg:progress-neutral"
|
|
22
|
+
# "@lg:progress-neutral"
|
|
23
|
+
neutral: "progress-neutral",
|
|
24
|
+
# "sm:progress-primary"
|
|
25
|
+
# "@sm:progress-primary"
|
|
26
|
+
# "md:progress-primary"
|
|
27
|
+
# "@md:progress-primary"
|
|
28
|
+
# "lg:progress-primary"
|
|
29
|
+
# "@lg:progress-primary"
|
|
30
|
+
primary: "progress-primary",
|
|
31
|
+
# "sm:progress-secondary"
|
|
32
|
+
# "@sm:progress-secondary"
|
|
33
|
+
# "md:progress-secondary"
|
|
34
|
+
# "@md:progress-secondary"
|
|
35
|
+
# "lg:progress-secondary"
|
|
36
|
+
# "@lg:progress-secondary"
|
|
37
|
+
secondary: "progress-secondary",
|
|
38
|
+
# "sm:progress-accent"
|
|
39
|
+
# "@sm:progress-accent"
|
|
40
|
+
# "md:progress-accent"
|
|
41
|
+
# "@md:progress-accent"
|
|
42
|
+
# "lg:progress-accent"
|
|
43
|
+
# "@lg:progress-accent"
|
|
44
|
+
accent: "progress-accent",
|
|
45
|
+
# "sm:progress-info"
|
|
46
|
+
# "@sm:progress-info"
|
|
47
|
+
# "md:progress-info"
|
|
48
|
+
# "@md:progress-info"
|
|
49
|
+
# "lg:progress-info"
|
|
50
|
+
# "@lg:progress-info"
|
|
51
|
+
info: "progress-info",
|
|
52
|
+
# "sm:progress-success"
|
|
53
|
+
# "@sm:progress-success"
|
|
54
|
+
# "md:progress-success"
|
|
55
|
+
# "@md:progress-success"
|
|
56
|
+
# "lg:progress-success"
|
|
57
|
+
# "@lg:progress-success"
|
|
58
|
+
success: "progress-success",
|
|
59
|
+
# "sm:progress-warning"
|
|
60
|
+
# "@sm:progress-warning"
|
|
61
|
+
# "md:progress-warning"
|
|
62
|
+
# "@md:progress-warning"
|
|
63
|
+
# "lg:progress-warning"
|
|
64
|
+
# "@lg:progress-warning"
|
|
65
|
+
warning: "progress-warning",
|
|
66
|
+
# "sm:progress-error"
|
|
67
|
+
# "@sm:progress-error"
|
|
68
|
+
# "md:progress-error"
|
|
69
|
+
# "@md:progress-error"
|
|
70
|
+
# "lg:progress-error"
|
|
71
|
+
# "@lg:progress-error"
|
|
72
|
+
error: "progress-error"
|
|
73
|
+
)
|
|
74
|
+
end
|
|
75
|
+
end
|