phlex_ui 0.0.5 → 0.1.6

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 (149) hide show
  1. checksums.yaml +4 -4
  2. data/lib/phlex_ui/accordion/builder.rb +22 -0
  3. data/lib/phlex_ui/accordion/content.rb +15 -15
  4. data/lib/phlex_ui/accordion/default_content.rb +11 -11
  5. data/lib/phlex_ui/accordion/default_trigger.rb +14 -14
  6. data/lib/phlex_ui/accordion/icon.rb +31 -31
  7. data/lib/phlex_ui/accordion/item.rb +20 -20
  8. data/lib/phlex_ui/accordion/trigger.rb +11 -11
  9. data/lib/phlex_ui/accordion.rb +10 -21
  10. data/lib/phlex_ui/alert/description.rb +10 -10
  11. data/lib/phlex_ui/alert/title.rb +10 -10
  12. data/lib/phlex_ui/alert.rb +27 -27
  13. data/lib/phlex_ui/alert_dialog/action.rb +11 -11
  14. data/lib/phlex_ui/alert_dialog/cancel.rb +15 -15
  15. data/lib/phlex_ui/alert_dialog/content.rb +36 -36
  16. data/lib/phlex_ui/alert_dialog/description.rb +11 -11
  17. data/lib/phlex_ui/alert_dialog/footer.rb +11 -11
  18. data/lib/phlex_ui/alert_dialog/header.rb +11 -11
  19. data/lib/phlex_ui/alert_dialog/title.rb +11 -11
  20. data/lib/phlex_ui/alert_dialog/trigger.rb +12 -12
  21. data/lib/phlex_ui/alert_dialog.rb +18 -18
  22. data/lib/phlex_ui/aspect_ratio.rb +24 -24
  23. data/lib/phlex_ui/attribute_merger.rb +59 -61
  24. data/lib/phlex_ui/avatar/builder.rb +36 -0
  25. data/lib/phlex_ui/avatar/fallback.rb +11 -11
  26. data/lib/phlex_ui/avatar/image.rb +19 -19
  27. data/lib/phlex_ui/avatar.rb +23 -41
  28. data/lib/phlex_ui/badge.rb +50 -50
  29. data/lib/phlex_ui/base.rb +16 -16
  30. data/lib/phlex_ui/button.rb +80 -80
  31. data/lib/phlex_ui/calendar/body.rb +19 -0
  32. data/lib/phlex_ui/calendar/days.rb +104 -0
  33. data/lib/phlex_ui/calendar/header.rb +17 -0
  34. data/lib/phlex_ui/calendar/next.rb +43 -0
  35. data/lib/phlex_ui/calendar/prev.rb +43 -0
  36. data/lib/phlex_ui/calendar/title.rb +27 -0
  37. data/lib/phlex_ui/calendar/weekdays.rb +33 -0
  38. data/lib/phlex_ui/calendar.rb +39 -0
  39. data/lib/phlex_ui/card/content.rb +11 -11
  40. data/lib/phlex_ui/card/description.rb +11 -11
  41. data/lib/phlex_ui/card/footer.rb +11 -11
  42. data/lib/phlex_ui/card/header.rb +11 -11
  43. data/lib/phlex_ui/card/title.rb +11 -11
  44. data/lib/phlex_ui/card.rb +11 -11
  45. data/lib/phlex_ui/chart.rb +23 -0
  46. data/lib/phlex_ui/checkbox.rb +12 -12
  47. data/lib/phlex_ui/clipboard/popover.rb +28 -28
  48. data/lib/phlex_ui/clipboard/source.rb +13 -13
  49. data/lib/phlex_ui/clipboard/trigger.rb +14 -14
  50. data/lib/phlex_ui/clipboard.rb +30 -30
  51. data/lib/phlex_ui/codeblock.rb +86 -86
  52. data/lib/phlex_ui/collapsible/content.rb +12 -12
  53. data/lib/phlex_ui/collapsible/trigger.rb +13 -13
  54. data/lib/phlex_ui/collapsible.rb +18 -18
  55. data/lib/phlex_ui/command/dialog.rb +17 -0
  56. data/lib/phlex_ui/command/dialog_content.rb +49 -0
  57. data/lib/phlex_ui/command/dialog_trigger.rb +29 -0
  58. data/lib/phlex_ui/command/empty.rb +19 -0
  59. data/lib/phlex_ui/command/group.rb +41 -0
  60. data/lib/phlex_ui/command/input.rb +56 -0
  61. data/lib/phlex_ui/command/item.rb +31 -0
  62. data/lib/phlex_ui/command/list.rb +17 -0
  63. data/lib/phlex_ui/command.rb +17 -0
  64. data/lib/phlex_ui/context_menu/content.rb +19 -19
  65. data/lib/phlex_ui/context_menu/item.rb +55 -55
  66. data/lib/phlex_ui/context_menu/label.rb +16 -16
  67. data/lib/phlex_ui/context_menu/separator.rb +13 -13
  68. data/lib/phlex_ui/context_menu/trigger.rb +14 -14
  69. data/lib/phlex_ui/context_menu.rb +19 -19
  70. data/lib/phlex_ui/dialog/content.rb +67 -67
  71. data/lib/phlex_ui/dialog/description.rb +11 -11
  72. data/lib/phlex_ui/dialog/footer.rb +11 -11
  73. data/lib/phlex_ui/dialog/header.rb +11 -11
  74. data/lib/phlex_ui/dialog/middle.rb +11 -11
  75. data/lib/phlex_ui/dialog/title.rb +11 -11
  76. data/lib/phlex_ui/dialog/trigger.rb +14 -13
  77. data/lib/phlex_ui/dialog.rb +18 -18
  78. data/lib/phlex_ui/dropdown_menu/content.rb +16 -16
  79. data/lib/phlex_ui/dropdown_menu/item.rb +21 -21
  80. data/lib/phlex_ui/dropdown_menu/label.rb +11 -11
  81. data/lib/phlex_ui/dropdown_menu/separator.rb +13 -13
  82. data/lib/phlex_ui/dropdown_menu/trigger.rb +12 -11
  83. data/lib/phlex_ui/dropdown_menu.rb +19 -19
  84. data/lib/phlex_ui/form/builder.rb +38 -0
  85. data/lib/phlex_ui/form/item.rb +11 -11
  86. data/lib/phlex_ui/form/spacer.rb +11 -11
  87. data/lib/phlex_ui/form.rb +9 -28
  88. data/lib/phlex_ui/hint.rb +11 -11
  89. data/lib/phlex_ui/hover_card/content.rb +16 -16
  90. data/lib/phlex_ui/hover_card/trigger.rb +14 -13
  91. data/lib/phlex_ui/hover_card.rb +20 -20
  92. data/lib/phlex_ui/input.rb +22 -22
  93. data/lib/phlex_ui/input_error.rb +11 -11
  94. data/lib/phlex_ui/label.rb +11 -11
  95. data/lib/phlex_ui/link.rb +81 -81
  96. data/lib/phlex_ui/popover/content.rb +16 -16
  97. data/lib/phlex_ui/popover/trigger.rb +14 -13
  98. data/lib/phlex_ui/popover.rb +18 -18
  99. data/lib/phlex_ui/select/builder.rb +67 -0
  100. data/lib/phlex_ui/select/content.rb +30 -0
  101. data/lib/phlex_ui/select/group.rb +15 -0
  102. data/lib/phlex_ui/select/input.rb +20 -0
  103. data/lib/phlex_ui/select/item.rb +48 -0
  104. data/lib/phlex_ui/select/label.rb +17 -0
  105. data/lib/phlex_ui/select/trigger.rb +45 -0
  106. data/lib/phlex_ui/select/value.rb +27 -0
  107. data/lib/phlex_ui/select.rb +30 -0
  108. data/lib/phlex_ui/sheet/content.rb +77 -0
  109. data/lib/phlex_ui/sheet/description.rb +17 -0
  110. data/lib/phlex_ui/sheet/footer.rb +17 -0
  111. data/lib/phlex_ui/sheet/header.rb +17 -0
  112. data/lib/phlex_ui/sheet/middle.rb +17 -0
  113. data/lib/phlex_ui/sheet/title.rb +17 -0
  114. data/lib/phlex_ui/sheet/trigger.rb +17 -0
  115. data/lib/phlex_ui/sheet.rb +17 -0
  116. data/lib/phlex_ui/shortcut_key.rb +11 -11
  117. data/lib/phlex_ui/table/body.rb +11 -11
  118. data/lib/phlex_ui/table/builder.rb +59 -59
  119. data/lib/phlex_ui/table/caption.rb +11 -11
  120. data/lib/phlex_ui/table/cell.rb +11 -11
  121. data/lib/phlex_ui/table/footer.rb +11 -11
  122. data/lib/phlex_ui/table/head.rb +11 -11
  123. data/lib/phlex_ui/table/header.rb +11 -11
  124. data/lib/phlex_ui/table/row.rb +11 -11
  125. data/lib/phlex_ui/table.rb +13 -13
  126. data/lib/phlex_ui/tabs/content.rb +18 -18
  127. data/lib/phlex_ui/tabs/list.rb +11 -11
  128. data/lib/phlex_ui/tabs/trigger.rb +20 -20
  129. data/lib/phlex_ui/tabs.rb +17 -17
  130. data/lib/phlex_ui/theme_toggle.rb +31 -31
  131. data/lib/phlex_ui/tooltip/content.rb +16 -16
  132. data/lib/phlex_ui/tooltip/trigger.rb +12 -11
  133. data/lib/phlex_ui/tooltip.rb +18 -18
  134. data/lib/phlex_ui/typography/blockquote.rb +11 -11
  135. data/lib/phlex_ui/typography/h1.rb +10 -10
  136. data/lib/phlex_ui/typography/h2.rb +10 -10
  137. data/lib/phlex_ui/typography/h3.rb +11 -11
  138. data/lib/phlex_ui/typography/h4.rb +11 -11
  139. data/lib/phlex_ui/typography/inline_code.rb +11 -11
  140. data/lib/phlex_ui/typography/inline_link.rb +22 -0
  141. data/lib/phlex_ui/typography/large.rb +11 -11
  142. data/lib/phlex_ui/typography/lead.rb +11 -11
  143. data/lib/phlex_ui/typography/list.rb +36 -36
  144. data/lib/phlex_ui/typography/list_item.rb +11 -11
  145. data/lib/phlex_ui/typography/muted.rb +11 -11
  146. data/lib/phlex_ui/typography/p.rb +11 -11
  147. data/lib/phlex_ui/typography/small.rb +11 -11
  148. data/lib/phlex_ui.rb +9 -4
  149. metadata +88 -7
@@ -1,77 +1,77 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Table::Builder < Base
5
- include Phlex::DeferredRender
4
+ class Table::Builder < Base
5
+ include Phlex::DeferredRender
6
6
 
7
- Column = Struct.new(:header, :header_attrs, :footer, :footer_attrs, :block, keyword_init: true)
7
+ Column = Struct.new(:header, :header_attrs, :footer, :footer_attrs, :block, keyword_init: true)
8
8
 
9
- def initialize(records = [], caption: nil, **attrs)
10
- @records = records
11
- @columns = []
12
- @caption = caption
13
- super(**attrs)
14
- end
9
+ def initialize(records = [], caption: nil, **attrs)
10
+ @records = records
11
+ @columns = []
12
+ @caption = caption
13
+ super(**attrs)
14
+ end
15
15
 
16
- def template(&block)
17
- render PhlexUI::Table.new(**attrs) do
18
- header
19
- body
20
- caption if @caption
21
- footer if @columns.any?(&:footer)
22
- end
23
- end
16
+ def template(&block)
17
+ render PhlexUI::Table.new(**attrs) do
18
+ header
19
+ body
20
+ caption if @caption
21
+ footer if @columns.any?(&:footer)
22
+ end
23
+ end
24
24
 
25
- def column(header, footer = nil, header_attrs: {}, footer_attrs: {}, &block)
26
- @columns << Column.new(
27
- header: header,
28
- header_attrs: header_attrs,
29
- footer: footer,
30
- footer_attrs: footer_attrs,
31
- block: block
32
- )
33
- end
25
+ def column(header, footer = nil, header_attrs: {}, footer_attrs: {}, &block)
26
+ @columns << Column.new(
27
+ header: header,
28
+ header_attrs: header_attrs,
29
+ footer: footer,
30
+ footer_attrs: footer_attrs,
31
+ block: block
32
+ )
33
+ end
34
34
 
35
- def header
36
- render PhlexUI::Table::Header.new do
37
- render PhlexUI::Table::Row.new do
38
- @columns.each do |column|
39
- render PhlexUI::Table::Head.new(**column.header_attrs) do
40
- column.header
41
- end
42
- end
43
- end
35
+ def header
36
+ render PhlexUI::Table::Header.new do
37
+ render PhlexUI::Table::Row.new do
38
+ @columns.each do |column|
39
+ render PhlexUI::Table::Head.new(**column.header_attrs) do
40
+ column.header
44
41
  end
42
+ end
45
43
  end
44
+ end
45
+ end
46
46
 
47
- def body
48
- render PhlexUI::Table::Body.new do
49
- @records.each do |record|
50
- render PhlexUI::Table::Row.new do
51
- @columns.each do |column|
52
- render PhlexUI::Table::Cell.new do
53
- column.block.call(record)
54
- end
55
- end
56
- end
57
- end
47
+ def body
48
+ render PhlexUI::Table::Body.new do
49
+ @records.each do |record|
50
+ render PhlexUI::Table::Row.new do
51
+ @columns.each do |column|
52
+ render PhlexUI::Table::Cell.new do
53
+ column.block.call(record)
54
+ end
58
55
  end
56
+ end
59
57
  end
58
+ end
59
+ end
60
60
 
61
- def footer
62
- render PhlexUI::Table::Footer.new do
63
- render PhlexUI::Table::Row.new do
64
- @columns.each do |column|
65
- render PhlexUI::Table::Head.new(**column.footer_attrs) do
66
- column.footer
67
- end
68
- end
69
- end
61
+ def footer
62
+ render PhlexUI::Table::Footer.new do
63
+ render PhlexUI::Table::Row.new do
64
+ @columns.each do |column|
65
+ render PhlexUI::Table::Head.new(**column.footer_attrs) do
66
+ column.footer
70
67
  end
68
+ end
71
69
  end
70
+ end
71
+ end
72
72
 
73
- def caption
74
- render PhlexUI::Table::Caption.new { @caption }
75
- end
73
+ def caption
74
+ render PhlexUI::Table::Caption.new { @caption }
76
75
  end
77
- end
76
+ end
77
+ end
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Table::Caption < Base
5
- def template(&)
6
- caption(**attrs, &)
7
- end
4
+ class Table::Caption < Base
5
+ def template(&block)
6
+ caption(**attrs, &block)
7
+ end
8
8
 
9
- private
9
+ private
10
10
 
11
- def default_attrs
12
- {
13
- class: "mt-4 text-sm text-muted-text"
14
- }
15
- end
11
+ def default_attrs
12
+ {
13
+ class: "mt-4 text-sm text-muted-foreground"
14
+ }
16
15
  end
17
- end
16
+ end
17
+ end
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Table::Cell < Base
5
- def template(&)
6
- td(**attrs, &)
7
- end
4
+ class Table::Cell < Base
5
+ def template(&block)
6
+ td(**attrs, &block)
7
+ end
8
8
 
9
- private
9
+ private
10
10
 
11
- def default_attrs
12
- {
13
- class: "p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]"
14
- }
15
- end
11
+ def default_attrs
12
+ {
13
+ class: "p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]"
14
+ }
16
15
  end
17
- end
16
+ end
17
+ end
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Table::Footer < Base
5
- def template(&)
6
- tfoot(**attrs, &)
7
- end
4
+ class Table::Footer < Base
5
+ def template(&block)
6
+ tfoot(**attrs, &block)
7
+ end
8
8
 
9
- private
9
+ private
10
10
 
11
- def default_attrs
12
- {
13
- class: "border-t bg-muted-background bg-opacity-50 font-medium[& amp;>tr]:last:border-b-0"
14
- }
15
- end
11
+ def default_attrs
12
+ {
13
+ class: "border-t bg-muted bg-opacity-50 font-medium[& amp;>tr]:last:border-b-0"
14
+ }
16
15
  end
17
- end
16
+ end
17
+ end
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Table::Head < Base
5
- def template(&)
6
- th(**attrs, &)
7
- end
4
+ class Table::Head < Base
5
+ def template(&block)
6
+ th(**attrs, &block)
7
+ end
8
8
 
9
- private
9
+ private
10
10
 
11
- def default_attrs
12
- {
13
- class: "h-10 px-2 text-left align-middle font-medium text-muted-text [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]"
14
- }
15
- end
11
+ def default_attrs
12
+ {
13
+ class: "h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]"
14
+ }
16
15
  end
17
- end
16
+ end
17
+ end
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Table::Header < Base
5
- def template(&)
6
- thead(**attrs, &)
7
- end
4
+ class Table::Header < Base
5
+ def template(&block)
6
+ thead(**attrs, &block)
7
+ end
8
8
 
9
- private
9
+ private
10
10
 
11
- def default_attrs
12
- {
13
- class: "[&_tr]:border-b"
14
- }
15
- end
11
+ def default_attrs
12
+ {
13
+ class: "[&_tr]:border-b"
14
+ }
16
15
  end
17
- end
16
+ end
17
+ end
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Table::Row < Base
5
- def template(&)
6
- tr(**attrs, &)
7
- end
4
+ class Table::Row < Base
5
+ def template(&block)
6
+ tr(**attrs, &block)
7
+ end
8
8
 
9
- private
9
+ private
10
10
 
11
- def default_attrs
12
- {
13
- class: "border-b transition-colors hover:bg-muted-background hover:bg-opacity-50 data-[state=selected]:bg-muted-background"
14
- }
15
- end
11
+ def default_attrs
12
+ {
13
+ class: "border-b transition-colors hover:bg-muted hover:bg-opacity-50 data-[state=selected]:bg-muted"
14
+ }
16
15
  end
17
- end
16
+ end
17
+ end
@@ -1,19 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Table < Base
5
- def template(&)
6
- div(class: "relative w-full overflow-auto") do
7
- table(**attrs, &)
8
- end
9
- end
4
+ class Table < Base
5
+ def template(&block)
6
+ div(class: "relative w-full overflow-auto") do
7
+ table(**attrs, &block)
8
+ end
9
+ end
10
10
 
11
- private
11
+ private
12
12
 
13
- def default_attrs
14
- {
15
- class: "w-full caption-bottom text-sm"
16
- }
17
- end
13
+ def default_attrs
14
+ {
15
+ class: "w-full caption-bottom text-sm"
16
+ }
18
17
  end
19
- end
18
+ end
19
+ end
@@ -1,26 +1,26 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Tabs::Content < Base
5
- def initialize(value:, **attrs)
6
- @value = value
7
- super(**attrs)
8
- end
4
+ class Tabs::Content < Base
5
+ def initialize(value:, **attrs)
6
+ @value = value
7
+ super(**attrs)
8
+ end
9
9
 
10
- def template(&)
11
- div(**attrs, &)
12
- end
10
+ def template(&block)
11
+ div(**attrs, &block)
12
+ end
13
13
 
14
- private
14
+ private
15
15
 
16
- def default_attrs
17
- {
18
- data: {
19
- tabs_target: :content,
20
- value: @value
21
- },
22
- class: "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 hidden",
23
- }
24
- end
16
+ def default_attrs
17
+ {
18
+ data: {
19
+ tabs_target: :content,
20
+ value: @value
21
+ },
22
+ class: "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 hidden"
23
+ }
25
24
  end
25
+ end
26
26
  end
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Tabs::List < Base
5
- def template(&)
6
- div(**attrs, &)
7
- end
4
+ class Tabs::List < Base
5
+ def template(&block)
6
+ div(**attrs, &block)
7
+ end
8
8
 
9
- private
9
+ private
10
10
 
11
- def default_attrs
12
- {
13
- class: "inline-flex h-9 items-center justify-center rounded-lg bg-muted-background p-1 text-muted-text"
14
- }
15
- end
11
+ def default_attrs
12
+ {
13
+ class: "inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground"
14
+ }
16
15
  end
17
- end
16
+ end
17
+ end
@@ -1,28 +1,28 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Tabs::Trigger < Base
5
- def initialize(value:, **attrs)
6
- @value = value
7
- super(**attrs)
8
- end
4
+ class Tabs::Trigger < Base
5
+ def initialize(value:, **attrs)
6
+ @value = value
7
+ super(**attrs)
8
+ end
9
9
 
10
- def template(&)
11
- button(**attrs, &)
12
- end
10
+ def template(&block)
11
+ button(**attrs, &block)
12
+ end
13
13
 
14
- private
14
+ private
15
15
 
16
- def default_attrs
17
- {
18
- type: :button,
19
- data: {
20
- tabs_target: :trigger,
21
- action: "click->tabs#show",
22
- value: @value
23
- },
24
- class: "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-text data-[state=active]:shadow"
25
- }
26
- end
16
+ def default_attrs
17
+ {
18
+ type: :button,
19
+ data: {
20
+ tabs_target: :trigger,
21
+ action: "click->tabs#show",
22
+ value: @value
23
+ },
24
+ class: "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow"
25
+ }
27
26
  end
27
+ end
28
28
  end
data/lib/phlex_ui/tabs.rb CHANGED
@@ -1,25 +1,25 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Tabs < Base
5
- def initialize(default: nil, **attrs)
6
- @default = default
7
- super(**attrs)
8
- end
4
+ class Tabs < Base
5
+ def initialize(default: nil, **attrs)
6
+ @default = default
7
+ super(**attrs)
8
+ end
9
9
 
10
- def template(&)
11
- div(**attrs, &)
12
- end
10
+ def template(&block)
11
+ div(**attrs, &block)
12
+ end
13
13
 
14
- private
14
+ private
15
15
 
16
- def default_attrs
17
- {
18
- data: {
19
- controller: 'tabs',
20
- tabs_default_value_value: @default
21
- }
22
- }
23
- end
16
+ def default_attrs
17
+ {
18
+ data: {
19
+ controller: "tabs",
20
+ tabs_active_value: @default
21
+ }
22
+ }
24
23
  end
24
+ end
25
25
  end
@@ -1,41 +1,41 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class ThemeToggle < Base
5
- def template(&)
6
- div(**attrs, &)
7
- end
4
+ class ThemeToggle < Base
5
+ def template(&block)
6
+ div(**attrs, &block)
7
+ end
8
8
 
9
- def light_mode(**user_attrs, &)
10
- light_attrs = PhlexUI::AttributeMerger.new(default_light_attrs, user_attrs).call
11
- div(**light_attrs, &)
12
- end
9
+ def light_mode(**user_attrs, &block)
10
+ light_attrs = PhlexUI::AttributeMerger.new(default_light_attrs, user_attrs).call
11
+ div(**light_attrs, &block)
12
+ end
13
13
 
14
- def dark_mode(**user_attrs, &)
15
- dark_attrs = PhlexUI::AttributeMerger.new(default_dark_attrs, user_attrs).call
16
- div(**dark_attrs, &)
17
- end
14
+ def dark_mode(**user_attrs, &block)
15
+ dark_attrs = PhlexUI::AttributeMerger.new(default_dark_attrs, user_attrs).call
16
+ div(**dark_attrs, &block)
17
+ end
18
18
 
19
- private
19
+ private
20
20
 
21
- def default_attrs
22
- {
23
- data: { controller: 'toggle-theme' }
24
- }
25
- end
21
+ def default_attrs
22
+ {
23
+ data: {controller: "toggle-theme"}
24
+ }
25
+ end
26
26
 
27
- def default_light_attrs
28
- {
29
- class: 'dark:hidden',
30
- data: { action: 'click->toggle-theme#setDarkTheme' }
31
- }
32
- end
27
+ def default_light_attrs
28
+ {
29
+ class: "dark:hidden",
30
+ data: {action: "click->toggle-theme#setDarkTheme"}
31
+ }
32
+ end
33
33
 
34
- def default_dark_attrs
35
- {
36
- class: 'hidden dark:inline-block',
37
- data: { action: 'click->toggle-theme#setLightTheme' }
38
- }
39
- end
34
+ def default_dark_attrs
35
+ {
36
+ class: "hidden dark:inline-block",
37
+ data: {action: "click->toggle-theme#setLightTheme"}
38
+ }
40
39
  end
41
- end
40
+ end
41
+ end
@@ -1,22 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Tooltip::Content < Base
5
- def template(&)
6
- template_tag(data: { popover_target: "content" }) do
7
- div(**attrs, &)
8
- end
9
- end
4
+ class Tooltip::Content < Base
5
+ def template(&block)
6
+ template_tag(data: {popover_target: "content"}) do
7
+ div(**attrs, &block)
8
+ end
9
+ end
10
10
 
11
- private
11
+ private
12
12
 
13
- def default_attrs
14
- {
15
- data: {
16
- state: :open # used for animate-in and animate-out on tooltip
17
- },
18
- class: "z-50 rounded-md text-sm border bg-background px-2 py-0.5 text-text shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"
19
- }
20
- end
13
+ def default_attrs
14
+ {
15
+ data: {
16
+ state: :open # used for animate-in and animate-out on tooltip
17
+ },
18
+ class: "z-50 rounded-md text-sm border bg-background px-2 py-0.5 text-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"
19
+ }
21
20
  end
22
- end
21
+ end
22
+ end
@@ -1,17 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Tooltip::Trigger < Base
5
- def template(&)
6
- div(**attrs, &)
7
- end
4
+ class Tooltip::Trigger < Base
5
+ def template(&block)
6
+ div(**attrs, &block)
7
+ end
8
8
 
9
- private
9
+ private
10
10
 
11
- def default_attrs
12
- {
13
- data: { popover_target: 'trigger' }
14
- }
15
- end
11
+ def default_attrs
12
+ {
13
+ data: {popover_target: "trigger"},
14
+ class: "inline-block"
15
+ }
16
16
  end
17
- end
17
+ end
18
+ end