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.
Files changed (79) hide show
  1. checksums.yaml +7 -0
  2. data/lib/daisy_ui/accordion.rb +49 -0
  3. data/lib/daisy_ui/alert.rb +76 -0
  4. data/lib/daisy_ui/avatar.rb +41 -0
  5. data/lib/daisy_ui/avatar_group.rb +19 -0
  6. data/lib/daisy_ui/badge.rb +118 -0
  7. data/lib/daisy_ui/base.rb +239 -0
  8. data/lib/daisy_ui/breadcrumbs.rb +25 -0
  9. data/lib/daisy_ui/button.rb +197 -0
  10. data/lib/daisy_ui/calendar.rb +48 -0
  11. data/lib/daisy_ui/card.rb +73 -0
  12. data/lib/daisy_ui/carousel.rb +51 -0
  13. data/lib/daisy_ui/chat.rb +49 -0
  14. data/lib/daisy_ui/checkbox.rb +112 -0
  15. data/lib/daisy_ui/collapse.rb +53 -0
  16. data/lib/daisy_ui/collapsible_sub_menu.rb +55 -0
  17. data/lib/daisy_ui/configurable.rb +45 -0
  18. data/lib/daisy_ui/countdown.rb +16 -0
  19. data/lib/daisy_ui/diff.rb +28 -0
  20. data/lib/daisy_ui/divider.rb +103 -0
  21. data/lib/daisy_ui/dock.rb +65 -0
  22. data/lib/daisy_ui/drawer.rb +61 -0
  23. data/lib/daisy_ui/dropdown.rb +101 -0
  24. data/lib/daisy_ui/fab.rb +34 -0
  25. data/lib/daisy_ui/fieldset.rb +20 -0
  26. data/lib/daisy_ui/file_input.rb +117 -0
  27. data/lib/daisy_ui/filter.rb +21 -0
  28. data/lib/daisy_ui/footer.rb +44 -0
  29. data/lib/daisy_ui/form_control.rb +15 -0
  30. data/lib/daisy_ui/hero.rb +24 -0
  31. data/lib/daisy_ui/hover_gallery.rb +16 -0
  32. data/lib/daisy_ui/indicator.rb +65 -0
  33. data/lib/daisy_ui/input.rb +117 -0
  34. data/lib/daisy_ui/join.rb +35 -0
  35. data/lib/daisy_ui/kbd.rb +54 -0
  36. data/lib/daisy_ui/label.rb +15 -0
  37. data/lib/daisy_ui/link.rb +137 -0
  38. data/lib/daisy_ui/list.rb +37 -0
  39. data/lib/daisy_ui/loading.rb +146 -0
  40. data/lib/daisy_ui/mask.rb +167 -0
  41. data/lib/daisy_ui/menu.rb +79 -0
  42. data/lib/daisy_ui/menu_item.rb +50 -0
  43. data/lib/daisy_ui/mockup_browser.rb +20 -0
  44. data/lib/daisy_ui/mockup_code.rb +16 -0
  45. data/lib/daisy_ui/mockup_phone.rb +24 -0
  46. data/lib/daisy_ui/mockup_window.rb +16 -0
  47. data/lib/daisy_ui/modal.rb +77 -0
  48. data/lib/daisy_ui/navbar.rb +31 -0
  49. data/lib/daisy_ui/pagination.rb +37 -0
  50. data/lib/daisy_ui/progress.rb +75 -0
  51. data/lib/daisy_ui/radial_progress.rb +181 -0
  52. data/lib/daisy_ui/radio.rb +110 -0
  53. data/lib/daisy_ui/range.rb +110 -0
  54. data/lib/daisy_ui/rating.rb +68 -0
  55. data/lib/daisy_ui/select.rb +117 -0
  56. data/lib/daisy_ui/skeleton.rb +19 -0
  57. data/lib/daisy_ui/stack.rb +47 -0
  58. data/lib/daisy_ui/stat.rb +57 -0
  59. data/lib/daisy_ui/status.rb +110 -0
  60. data/lib/daisy_ui/steps.rb +41 -0
  61. data/lib/daisy_ui/sub_menu.rb +37 -0
  62. data/lib/daisy_ui/swap.rb +52 -0
  63. data/lib/daisy_ui/tab.rb +40 -0
  64. data/lib/daisy_ui/tab_with_content.rb +72 -0
  65. data/lib/daisy_ui/tab_without_content.rb +40 -0
  66. data/lib/daisy_ui/table.rb +81 -0
  67. data/lib/daisy_ui/table_row.rb +33 -0
  68. data/lib/daisy_ui/tabs.rb +80 -0
  69. data/lib/daisy_ui/textarea.rb +117 -0
  70. data/lib/daisy_ui/theme_controller.rb +64 -0
  71. data/lib/daisy_ui/timeline.rb +66 -0
  72. data/lib/daisy_ui/toast.rb +61 -0
  73. data/lib/daisy_ui/toggle.rb +110 -0
  74. data/lib/daisy_ui/tooltip.rb +107 -0
  75. data/lib/daisy_ui/updated_at.rb +7 -0
  76. data/lib/daisy_ui/validator.rb +25 -0
  77. data/lib/daisy_ui/version.rb +5 -0
  78. data/lib/daisy_ui.rb +17 -0
  79. metadata +156 -0
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DaisyUI
4
+ # @component html class="stats"
5
+ class Stat < Base
6
+ self.component_class = "stats"
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("stat", options: opts), **opts, &)
18
+ end
19
+
20
+ def title(**opts, &)
21
+ div(class: component_classes("stat-title", options: opts), **opts, &)
22
+ end
23
+
24
+ def value(**opts, &)
25
+ div(class: component_classes("stat-value", options: opts), **opts, &)
26
+ end
27
+
28
+ def desc(**opts, &)
29
+ div(class: component_classes("stat-desc", options: opts), **opts, &)
30
+ end
31
+
32
+ def figure(**opts, &)
33
+ div(class: component_classes("stat-figure", options: opts), **opts, &)
34
+ end
35
+
36
+ def actions(**opts, &)
37
+ div(class: component_classes("stat-actions", options: opts), **opts, &)
38
+ end
39
+
40
+ register_modifiers(
41
+ # "sm:stats-horizontal"
42
+ # "@sm:stats-horizontal"
43
+ # "md:stats-horizontal"
44
+ # "@md:stats-horizontal"
45
+ # "lg:stats-horizontal"
46
+ # "@lg:stats-horizontal"
47
+ horizontal: "stats-horizontal",
48
+ # "sm:stats-vertical"
49
+ # "@sm:stats-vertical"
50
+ # "md:stats-vertical"
51
+ # "@md:stats-vertical"
52
+ # "lg:stats-vertical"
53
+ # "@lg:stats-vertical"
54
+ vertical: "stats-vertical"
55
+ )
56
+ end
57
+ end
@@ -0,0 +1,110 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DaisyUI
4
+ # @component html class="status"
5
+ class Status < Base
6
+ self.component_class = :status
7
+
8
+ def initialize(*, as: :span, **)
9
+ super
10
+ end
11
+
12
+ def view_template(&)
13
+ public_send(as, class: classes, **attributes, &)
14
+ end
15
+
16
+ register_modifiers(
17
+ # "sm:status-xs"
18
+ # "@sm:status-xs"
19
+ # "md:status-xs"
20
+ # "@md:status-xs"
21
+ # "lg:status-xs"
22
+ # "@lg:status-xs"
23
+ xs: "status-xs",
24
+ # "sm:status-sm"
25
+ # "@sm:status-sm"
26
+ # "md:status-sm"
27
+ # "@md:status-sm"
28
+ # "lg:status-sm"
29
+ # "@lg:status-sm"
30
+ sm: "status-sm",
31
+ # "sm:status-md"
32
+ # "@sm:status-md"
33
+ # "md:status-md"
34
+ # "@md:status-md"
35
+ # "lg:status-md"
36
+ # "@lg:status-md"
37
+ md: "status-md",
38
+ # "sm:status-lg"
39
+ # "@sm:status-lg"
40
+ # "md:status-lg"
41
+ # "@md:status-lg"
42
+ # "lg:status-lg"
43
+ # "@lg:status-lg"
44
+ lg: "status-lg",
45
+ # "sm:status-xl"
46
+ # "@sm:status-xl"
47
+ # "md:status-xl"
48
+ # "@md:status-xl"
49
+ # "lg:status-xl"
50
+ # "@lg:status-xl"
51
+ xl: "status-xl",
52
+ # "sm:status-neutral"
53
+ # "@sm:status-neutral"
54
+ # "md:status-neutral"
55
+ # "@md:status-neutral"
56
+ # "lg:status-neutral"
57
+ # "@lg:status-neutral"
58
+ neutral: "status-neutral",
59
+ # "sm:status-primary"
60
+ # "@sm:status-primary"
61
+ # "md:status-primary"
62
+ # "@md:status-primary"
63
+ # "lg:status-primary"
64
+ # "@lg:status-primary"
65
+ primary: "status-primary",
66
+ # "sm:status-secondary"
67
+ # "@sm:status-secondary"
68
+ # "md:status-secondary"
69
+ # "@md:status-secondary"
70
+ # "lg:status-secondary"
71
+ # "@lg:status-secondary"
72
+ secondary: "status-secondary",
73
+ # "sm:status-accent"
74
+ # "@sm:status-accent"
75
+ # "md:status-accent"
76
+ # "@md:status-accent"
77
+ # "lg:status-accent"
78
+ # "@lg:status-accent"
79
+ accent: "status-accent",
80
+ # "sm:status-info"
81
+ # "@sm:status-info"
82
+ # "md:status-info"
83
+ # "@md:status-info"
84
+ # "lg:status-info"
85
+ # "@lg:status-info"
86
+ info: "status-info",
87
+ # "sm:status-success"
88
+ # "@sm:status-success"
89
+ # "md:status-success"
90
+ # "@md:status-success"
91
+ # "lg:status-success"
92
+ # "@lg:status-success"
93
+ success: "status-success",
94
+ # "sm:status-warning"
95
+ # "@sm:status-warning"
96
+ # "md:status-warning"
97
+ # "@md:status-warning"
98
+ # "lg:status-warning"
99
+ # "@lg:status-warning"
100
+ warning: "status-warning",
101
+ # "sm:status-error"
102
+ # "@sm:status-error"
103
+ # "md:status-error"
104
+ # "@md:status-error"
105
+ # "lg:status-error"
106
+ # "@lg:status-error"
107
+ error: "status-error"
108
+ )
109
+ end
110
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DaisyUI
4
+ # @component html class="steps"
5
+ class Steps < Base
6
+ self.component_class = :steps
7
+
8
+ def initialize(*, as: :ul, **)
9
+ super
10
+ end
11
+
12
+ def view_template(&)
13
+ public_send(as, class: classes, **attributes, &)
14
+ end
15
+
16
+ def step(**opts, &)
17
+ li(class: component_classes("step", options: opts), **opts, &)
18
+ end
19
+
20
+ def icon(**opts, &)
21
+ div(class: component_classes("step-icon", options: opts), **opts, &)
22
+ end
23
+
24
+ register_modifiers(
25
+ # "sm:steps-vertical"
26
+ # "@sm:steps-vertical"
27
+ # "md:steps-vertical"
28
+ # "@md:steps-vertical"
29
+ # "lg:steps-vertical"
30
+ # "@lg:steps-vertical"
31
+ vertical: "steps-vertical",
32
+ # "sm:steps-horizontal"
33
+ # "@sm:steps-horizontal"
34
+ # "md:steps-horizontal"
35
+ # "@md:steps-horizontal"
36
+ # "lg:steps-horizontal"
37
+ # "@lg:steps-horizontal"
38
+ horizontal: "steps-horizontal"
39
+ )
40
+ end
41
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DaisyUI
4
+ # @private
5
+ class SubMenu < Base
6
+ def initialize(*, **)
7
+ super
8
+ @items ||= []
9
+ end
10
+
11
+ def view_template(&)
12
+ yield(self) if block_given?
13
+
14
+ if @title
15
+ div do
16
+ render @title
17
+ end
18
+ end
19
+
20
+ if @items.any?
21
+ ul do
22
+ @items.each do |item|
23
+ render item
24
+ end
25
+ end
26
+ end
27
+ end
28
+
29
+ def title(&block)
30
+ @title = block
31
+ end
32
+
33
+ def item(*, **, &)
34
+ @items << MenuItem.new(*, **, &)
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DaisyUI
4
+ # @component html class="swap"
5
+ class Swap < Base
6
+ self.component_class = :swap
7
+
8
+ def initialize(*, as: :label, **)
9
+ super
10
+ end
11
+
12
+ def view_template(&)
13
+ public_send(as, class: classes, **attributes, &)
14
+ end
15
+
16
+ def on(**opts, &)
17
+ div(class: component_classes("swap-on", options: opts), **opts, &)
18
+ end
19
+
20
+ def off(**opts, &)
21
+ div(class: component_classes("swap-off", options: opts), **opts, &)
22
+ end
23
+
24
+ def indeterminate(**opts, &)
25
+ div(class: component_classes("swap-indeterminate", options: opts), **opts, &)
26
+ end
27
+
28
+ register_modifiers(
29
+ # "sm:swap-active"
30
+ # "@sm:swap-active"
31
+ # "md:swap-active"
32
+ # "@md:swap-active"
33
+ # "lg:swap-active"
34
+ # "@lg:swap-active"
35
+ active: "swap-active",
36
+ # "sm:swap-rotate"
37
+ # "@sm:swap-rotate"
38
+ # "md:swap-rotate"
39
+ # "@md:swap-rotate"
40
+ # "lg:swap-rotate"
41
+ # "@lg:swap-rotate"
42
+ rotate: "swap-rotate",
43
+ # "sm:swap-flip"
44
+ # "@sm:swap-flip"
45
+ # "md:swap-flip"
46
+ # "@md:swap-flip"
47
+ # "lg:swap-flip"
48
+ # "@lg:swap-flip"
49
+ flip: "swap-flip"
50
+ )
51
+ end
52
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DaisyUI
4
+ # @private
5
+ class Tab < Base
6
+ def initialize(*modifiers, label: nil, id: nil, **options)
7
+ super(*modifiers, **options)
8
+ @label = label
9
+ @id = id
10
+ end
11
+
12
+ def view_template(&block)
13
+ block&.call(self)
14
+
15
+ if @content
16
+ render TabWithContent.new(
17
+ *modifiers,
18
+ label: @label,
19
+ id:,
20
+ content: @content,
21
+ **options
22
+ )
23
+ else
24
+ render TabWithoutContent.new(*modifiers, label: @label, **options)
25
+ end
26
+ end
27
+
28
+ def content(*, **opts, &block)
29
+ unless id
30
+ raise ArgumentError,
31
+ "You must pass an id to Tabs#new if you want to add content"
32
+ end
33
+
34
+ @content = -> do
35
+ content_classes = component_classes("tab-content", options: opts)
36
+ div role: :tabpanel, class: content_classes, **opts, &block
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DaisyUI
4
+ # @private
5
+ class TabWithContent < Base
6
+ self.component_class = "tab"
7
+
8
+ def initialize(*, content:, label: nil, id: nil, **)
9
+ super(*, **)
10
+ @label = label
11
+ @id = id
12
+ @content = content
13
+ end
14
+
15
+ def view_template
16
+ # Build explicit attributes in correct order
17
+ tab_attrs = {
18
+ type: :radio,
19
+ name: id,
20
+ class: classes, # This deletes :class from options
21
+ role: :tab,
22
+ aria: {label: @label}
23
+ }
24
+
25
+ # Now get remaining attributes (class has been deleted by classes method)
26
+ attrs = attributes.dup
27
+
28
+ # Handle modifiers and keyword args that should be HTML attributes
29
+ # Order matters: modifiers come before keyword args in the original call
30
+ closed_from_modifier = modifiers.include?(:closed)
31
+ open_from_modifier = modifiers.include?(:open)
32
+ closed_from_kwarg = attrs.delete(:closed) == true
33
+ open_from_kwarg = attrs.delete(:open) == true
34
+
35
+ # Add attributes from modifiers first (they appear earlier in args)
36
+ tab_attrs[:closed] = true if closed_from_modifier
37
+ tab_attrs[:checked] = true if open_from_modifier
38
+
39
+ # Then add attributes from keyword args (they appear later in args)
40
+ tab_attrs[:closed] = true if closed_from_kwarg && !closed_from_modifier
41
+ tab_attrs[:checked] = true if open_from_kwarg && !open_from_modifier
42
+
43
+ # Merge remaining attributes
44
+ tab_attrs.merge!(attrs)
45
+
46
+ # Render the radio input for the tab
47
+ input(**tab_attrs)
48
+
49
+ # Render the content
50
+ @content&.call
51
+ end
52
+
53
+ private
54
+
55
+ register_modifiers(
56
+ # "sm:tab-active"
57
+ # "@sm:tab-active"
58
+ # "md:tab-active"
59
+ # "@md:tab-active"
60
+ # "lg:tab-active"
61
+ # "@lg:tab-active"
62
+ active: "tab-active",
63
+ # "sm:tab-disabled"
64
+ # "@sm:tab-disabled"
65
+ # "md:tab-disabled"
66
+ # "@md:tab-disabled"
67
+ # "lg:tab-disabled"
68
+ # "@lg:tab-disabled"
69
+ disabled: "tab-disabled"
70
+ )
71
+ end
72
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DaisyUI
4
+ # @private
5
+ class TabWithoutContent < Base
6
+ self.component_class = "tab"
7
+
8
+ def initialize(*, label: nil, **)
9
+ super(*, **)
10
+ @label = label
11
+ end
12
+
13
+ def view_template(&)
14
+ attrs = attributes.dup
15
+ # Remove label from attributes if it was passed as a keyword arg
16
+ attrs.delete(:label)
17
+
18
+ div role: :tab, class: classes, **attrs, &
19
+ end
20
+
21
+ private
22
+
23
+ register_modifiers(
24
+ # "sm:tab-active"
25
+ # "@sm:tab-active"
26
+ # "md:tab-active"
27
+ # "@md:tab-active"
28
+ # "lg:tab-active"
29
+ # "@lg:tab-active"
30
+ active: "tab-active",
31
+ # "sm:tab-disabled"
32
+ # "@sm:tab-disabled"
33
+ # "md:tab-disabled"
34
+ # "@md:tab-disabled"
35
+ # "lg:tab-disabled"
36
+ # "@lg:tab-disabled"
37
+ disabled: "tab-disabled"
38
+ )
39
+ end
40
+ end
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DaisyUI
4
+ class Table < Base
5
+ self.component_class = :table
6
+
7
+ def view_template(&)
8
+ table(class: classes, **attributes, &)
9
+ end
10
+
11
+ def header(*, **, &)
12
+ thead(*, **, &)
13
+ end
14
+
15
+ def row(*, **, &)
16
+ render TableRow.new(*, **, &)
17
+ end
18
+
19
+ def body(*, **, &)
20
+ tbody(*, **, &)
21
+ end
22
+
23
+ def footer(*, **, &)
24
+ tfoot(*, **, &)
25
+ end
26
+
27
+ private
28
+
29
+ register_modifiers(
30
+ # "sm:table-zebra"
31
+ # "@sm:table-zebra"
32
+ # "md:table-zebra"
33
+ # "@md:table-zebra"
34
+ # "lg:table-zebra"
35
+ # "@lg:table-zebra"
36
+ zebra: "table-zebra",
37
+ # "sm:table-pin-rows"
38
+ # "@sm:table-pin-rows"
39
+ # "md:table-pin-rows"
40
+ # "@md:table-pin-rows"
41
+ # "lg:table-pin-rows"
42
+ # "@lg:table-pin-rows"
43
+ pin_rows: "table-pin-rows",
44
+ # "sm:table-pin-cols"
45
+ # "@sm:table-pin-cols"
46
+ # "md:table-pin-cols"
47
+ # "@md:table-pin-cols"
48
+ # "lg:table-pin-cols"
49
+ # "@lg:table-pin-cols"
50
+ pin_cols: "table-pin-cols",
51
+ # "sm:table-xs"
52
+ # "@sm:table-xs"
53
+ # "md:table-xs"
54
+ # "@md:table-xs"
55
+ # "lg:table-xs"
56
+ # "@lg:table-xs"
57
+ xs: "table-xs",
58
+ # "sm:table-sm"
59
+ # "@sm:table-sm"
60
+ # "md:table-sm"
61
+ # "@md:table-sm"
62
+ # "lg:table-sm"
63
+ # "@lg:table-sm"
64
+ sm: "table-sm",
65
+ # "sm:table-md"
66
+ # "@sm:table-md"
67
+ # "md:table-md"
68
+ # "@md:table-md"
69
+ # "lg:table-md"
70
+ # "@lg:table-md"
71
+ md: "table-md",
72
+ # "sm:table-lg"
73
+ # "@sm:table-lg"
74
+ # "md:table-lg"
75
+ # "@md:table-lg"
76
+ # "lg:table-lg"
77
+ # "@lg:table-lg"
78
+ lg: "table-lg"
79
+ )
80
+ end
81
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DaisyUI
4
+ class TableRow < Base
5
+ self.component_class = nil
6
+
7
+ def view_template(&)
8
+ tr(class: classes, **attributes, &)
9
+ end
10
+
11
+ def head(*, **, &)
12
+ th(*, **, &)
13
+ end
14
+
15
+ def column(*, **, &)
16
+ td(*, **, &)
17
+ end
18
+ alias_method :cell, :column
19
+
20
+ private
21
+
22
+ register_modifiers(
23
+ # "sm:table-row-hover"
24
+ # "@sm:table-row-hover"
25
+ # "md:table-row-hover"
26
+ # "@md:table-row-hover"
27
+ # "lg:table-row-hover"
28
+ # "@lg:table-row-hover"
29
+ hover: "hover",
30
+ **COLOR_MODIFIERS
31
+ )
32
+ end
33
+ end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DaisyUI
4
+ class Tabs < Base
5
+ self.component_class = :tabs
6
+
7
+ def initialize(*, id: nil, as: :div, **)
8
+ super(*, id: nil, as:, **)
9
+ @id = id
10
+ end
11
+
12
+ def view_template(&)
13
+ public_send(as, role: :tablist, class: classes, **attributes, &)
14
+ end
15
+
16
+ def tab(*args, label: nil, **, &)
17
+ # If first arg is a string, it's the label, rest are modifiers
18
+ # Otherwise all args are modifiers
19
+ if args.first.is_a?(String)
20
+ label = args.shift
21
+ end
22
+
23
+ render Tab.new(*args, label:, id:, **, &)
24
+ end
25
+
26
+ private
27
+
28
+ register_modifiers(
29
+ # "sm:tabs-boxed"
30
+ # "@sm:tabs-boxed"
31
+ # "md:tabs-boxed"
32
+ # "@md:tabs-boxed"
33
+ # "lg:tabs-boxed"
34
+ # "@lg:tabs-boxed"
35
+ boxed: "tabs-boxed",
36
+ # "sm:tabs-bordered"
37
+ # "@sm:tabs-bordered"
38
+ # "md:tabs-bordered"
39
+ # "@md:tabs-bordered"
40
+ # "lg:tabs-bordered"
41
+ # "@lg:tabs-bordered"
42
+ bordered: "tabs-bordered",
43
+ # "sm:tabs-lifted"
44
+ # "@sm:tabs-lifted"
45
+ # "md:tabs-lifted"
46
+ # "@md:tabs-lifted"
47
+ # "lg:tabs-lifted"
48
+ # "@lg:tabs-lifted"
49
+ lifted: "tabs-lifted",
50
+ # "sm:tabs-xs"
51
+ # "@sm:tabs-xs"
52
+ # "md:tabs-xs"
53
+ # "@md:tabs-xs"
54
+ # "lg:tabs-xs"
55
+ # "@lg:tabs-xs"
56
+ xs: "tabs-xs",
57
+ # "sm:tabs-sm"
58
+ # "@sm:tabs-sm"
59
+ # "md:tabs-sm"
60
+ # "@md:tabs-sm"
61
+ # "lg:tabs-sm"
62
+ # "@lg:tabs-sm"
63
+ sm: "tabs-sm",
64
+ # "sm:tabs-md"
65
+ # "@sm:tabs-md"
66
+ # "md:tabs-md"
67
+ # "@md:tabs-md"
68
+ # "lg:tabs-md"
69
+ # "@lg:tabs-md"
70
+ md: "tabs-md",
71
+ # "sm:tabs-lg"
72
+ # "@sm:tabs-lg"
73
+ # "md:tabs-lg"
74
+ # "@md:tabs-lg"
75
+ # "lg:tabs-lg"
76
+ # "@lg:tabs-lg"
77
+ lg: "tabs-lg"
78
+ )
79
+ end
80
+ end