phlex_ui 0.0.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 997466eeaf90ee785e93f2bbb17ddf3014db28e538cfd2b5bb1177800b7eff41
4
- data.tar.gz: a876736cf42046f4eda6e974ca8d48a2ffceb29dc49679bf2a857815a2d14c4e
3
+ metadata.gz: 443bba42189a98a9688d7218421e85da741c759ee3e9d7720817d4623ebbb85e
4
+ data.tar.gz: 92b24956dbcb18b4ba30be83a9f1fa736e9679fad74eb36522a1a8b97f085e0c
5
5
  SHA512:
6
- metadata.gz: ca6af73e57c9c22983f4eab367a894bbcdba53e8b16b707ec14accf80f1faa81994f45f2ea34ffb1867cc800875bce96c7d716043f418b1aa88aa1adfcc3049d
7
- data.tar.gz: 6fb432282362714d0a1b048e476dc15d7ad38f60ef26c311eaeefe35fcca31b9b34b72224f61147b991fd832c148f1380fa556eb878abe5ecf27dd3a50c8ea46
6
+ metadata.gz: 589b3e9cf3fdd3c09cb137d6dd8183d3ffed38a4ab87329337224e2320b9555b45b201df3006002c55f04011564be28719775fac8c12d459cc61601bf1553c76
7
+ data.tar.gz: e5fbd20b89c5a55f9aefe048f74d19f6241c0b7af7d047405a455b785d8d84251ce528dcd8a1198a6c5ed62a23cfa8e1908b2d8fbd4da5f70457b3135893b67f
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PhlexUI
4
+ class Accordion::Builder < Base
5
+ def template(&block)
6
+ render PhlexUI::Accordion.new(**attrs) do
7
+ block.call
8
+ end
9
+ end
10
+
11
+ def add_item(title, content, open: false)
12
+ render Accordion::Item.new(open: open) do
13
+ render PhlexUI::Accordion::Trigger.new do
14
+ render PhlexUI::Accordion::DefaultTrigger.new { title }
15
+ end
16
+ render PhlexUI::Accordion::Content.new do
17
+ render PhlexUI::Accordion::DefaultContent.new { content }
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -1,21 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Accordion::Content < Base
5
- def template(&)
6
- div(**attrs, &)
7
- end
4
+ class Accordion::Content < 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: {
14
- accordion_target: "content"
15
- },
16
- class: 'overflow-y-hidden',
17
- style: 'height: 0px;'
18
- }
19
- end
11
+ def default_attrs
12
+ {
13
+ data: {
14
+ accordion_target: "content"
15
+ },
16
+ class: "overflow-y-hidden",
17
+ style: "height: 0px;"
18
+ }
20
19
  end
21
- end
20
+ end
21
+ end
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Accordion::DefaultContent < Base
5
- def template(&)
6
- div(**attrs, &)
7
- end
4
+ class Accordion::DefaultContent < 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: 'pb-4 pt-0 text-sm'
14
- }
15
- end
11
+ def default_attrs
12
+ {
13
+ class: "pb-4 pt-0 text-sm"
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 Accordion::DefaultTrigger < Base
5
- def template(&)
6
- div(class: "flex items-center justify-between w-full") do
7
- p(&)
8
- render ::PhlexUI::Accordion::Icon.new
9
- end
10
- end
4
+ class Accordion::DefaultTrigger < Base
5
+ def template(&block)
6
+ div(class: "flex items-center justify-between w-full") do
7
+ p(&block)
8
+ render ::PhlexUI::Accordion::Icon.new
9
+ end
10
+ end
11
11
 
12
- def default_attrs
13
- {
14
- data: { action: "click->accordion#toggle" },
15
- class: 'w-full flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline'
16
- }
17
- end
12
+ def default_attrs
13
+ {
14
+ data: {action: "click->accordion#toggle"},
15
+ class: "w-full flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline"
16
+ }
18
17
  end
19
- end
18
+ end
19
+ end
@@ -1,38 +1,38 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Accordion::Icon < Base
5
- def template(&block)
6
- span(**attrs) do
7
- if block
8
- block.call
9
- else
10
- icon
11
- end
12
- end
4
+ class Accordion::Icon < Base
5
+ def template(&block)
6
+ span(**attrs) do
7
+ if block
8
+ block.call
9
+ else
10
+ icon
13
11
  end
12
+ end
13
+ end
14
14
 
15
- def icon
16
- svg(
17
- xmlns: "http://www.w3.org/2000/svg",
18
- viewbox: "0 0 20 20",
19
- fill: "currentColor",
20
- class: "w-4 h-4"
21
- ) do |s|
22
- s.path(
23
- fill_rule: "evenodd",
24
- d:
25
- "M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z",
26
- clip_rule: "evenodd"
27
- )
28
- end
29
- end
15
+ def icon
16
+ svg(
17
+ xmlns: "http://www.w3.org/2000/svg",
18
+ viewbox: "0 0 20 20",
19
+ fill: "currentColor",
20
+ class: "w-4 h-4"
21
+ ) do |s|
22
+ s.path(
23
+ fill_rule: "evenodd",
24
+ d:
25
+ "M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z",
26
+ clip_rule: "evenodd"
27
+ )
28
+ end
29
+ end
30
30
 
31
- def default_attrs
32
- {
33
- class: 'opacity-50',
34
- data: { accordion_target: "icon" },
35
- }
36
- end
31
+ def default_attrs
32
+ {
33
+ class: "opacity-50",
34
+ data: {accordion_target: "icon"}
35
+ }
37
36
  end
38
- end
37
+ end
38
+ end
@@ -1,28 +1,28 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Accordion::Item < Base
5
- def initialize(open: false, rotate_icon: 180, **attrs)
6
- @open = open
7
- @rotate_icon = rotate_icon
8
- super(**attrs)
9
- end
4
+ class Accordion::Item < Base
5
+ def initialize(open: false, rotate_icon: 180, **attrs)
6
+ @open = open
7
+ @rotate_icon = rotate_icon
8
+ super(**attrs)
9
+ end
10
10
 
11
- def template(&)
12
- div(**attrs, &)
13
- end
11
+ def template(&block)
12
+ div(**attrs, &block)
13
+ end
14
14
 
15
- private
15
+ private
16
16
 
17
- def default_attrs
18
- {
19
- data: {
20
- controller: "accordion",
21
- accordion_open_value: @open,
22
- accordion_rotate_icon_value: @rotate_icon
23
- },
24
- class: 'border-b'
25
- }
26
- end
17
+ def default_attrs
18
+ {
19
+ data: {
20
+ controller: "accordion",
21
+ accordion_open_value: @open,
22
+ accordion_rotate_icon_value: @rotate_icon
23
+ },
24
+ class: "border-b"
25
+ }
27
26
  end
27
+ end
28
28
  end
@@ -1,16 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Accordion::Trigger < Base
5
- def template(&)
6
- button(**attrs, &)
7
- end
4
+ class Accordion::Trigger < Base
5
+ def template(&block)
6
+ button(**attrs, &block)
7
+ end
8
8
 
9
- def default_attrs
10
- {
11
- data: { action: "click->accordion#toggle" },
12
- class: 'w-full flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline'
13
- }
14
- end
9
+ def default_attrs
10
+ {
11
+ data: {action: "click->accordion#toggle"},
12
+ class: "w-full flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline"
13
+ }
15
14
  end
16
- end
15
+ end
16
+ end
@@ -1,28 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Accordion < Base
5
- def template(&)
6
- div(**attrs, &)
7
- end
8
-
9
- def add_item(title, content, open: false)
10
- render Accordion::Item.new(open: open) do
11
- render PhlexUI::Accordion::Trigger.new do
12
- render PhlexUI::Accordion::DefaultTrigger.new { title }
13
- end
14
- render PhlexUI::Accordion::Content.new do
15
- render PhlexUI::Accordion::DefaultContent.new { content }
16
- end
17
- end
18
- end
4
+ class Accordion < Base
5
+ def template(&block)
6
+ div(**attrs, &block)
7
+ end
19
8
 
20
- private
9
+ private
21
10
 
22
- def default_attrs
23
- {
24
- class: 'w-full'
25
- }
26
- end
11
+ def default_attrs
12
+ {
13
+ class: "w-full"
14
+ }
27
15
  end
16
+ end
28
17
  end
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Alert::Description < Base
5
- def template(&)
6
- div(**attrs, &)
7
- end
4
+ class Alert::Description < 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: "text-sm [&_p]:leading-relaxed",
14
- }
15
- end
11
+ def default_attrs
12
+ {
13
+ class: "text-sm [&_p]:leading-relaxed"
14
+ }
16
15
  end
16
+ end
17
17
  end
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Alert::Title < Base
5
- def template(&)
6
- h5(**attrs, &)
7
- end
4
+ class Alert::Title < Base
5
+ def template(&block)
6
+ h5(**attrs, &block)
7
+ end
8
8
 
9
- private
9
+ private
10
10
 
11
- def default_attrs
12
- {
13
- class: "mb-1 font-medium leading-none tracking-tight",
14
- }
15
- end
11
+ def default_attrs
12
+ {
13
+ class: "mb-1 font-medium leading-none tracking-tight"
14
+ }
16
15
  end
16
+ end
17
17
  end
@@ -1,36 +1,36 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Alert < Base
5
- def initialize(variant: nil, **attrs)
6
- @variant = variant
7
- super(**attrs) # must be called after variant is set
8
- end
4
+ class Alert < Base
5
+ def initialize(variant: nil, **attrs)
6
+ @variant = variant
7
+ super(**attrs) # must be called after variant is set
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 colors
17
- case @variant
18
- when nil
19
- 'ring-border bg-muted-background text-text [&>svg]:opacity-80'
20
- when :warning
21
- 'ring-warning/20 bg-warning/10 text-warning [&>svg]:text-warning/80'
22
- when :success
23
- 'ring-success/20 bg-success/10 text-success [&>svg]:text-success/80'
24
- when :destructive
25
- 'ring-destructive/10 dark:ring-destructive/20 text-destructive bg-destructive/10 [&>svg]:text-destructive/80'
26
- end
27
- end
16
+ def colors
17
+ case @variant
18
+ when nil
19
+ "ring-border bg-muted/20 text-foreground [&>svg]:opacity-80"
20
+ when :warning
21
+ "ring-warning/20 bg-warning/5 text-warning [&>svg]:text-warning/80"
22
+ when :success
23
+ "ring-success/20 bg-success/5 text-success [&>svg]:text-success/80"
24
+ when :destructive
25
+ "ring-destructive/20 bg-destructive/5 text-destructive [&>svg]:text-destructive/80"
26
+ end
27
+ end
28
28
 
29
- def default_attrs
30
- base_classes = 'relative w-full ring-1 ring-inset rounded-lg px-4 py-4 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg~*]:pl-8'
31
- {
32
- class: tokens(base_classes, colors),
33
- }
34
- end
29
+ def default_attrs
30
+ base_classes = "backdrop-blur relative w-full ring-1 ring-inset rounded-lg px-4 py-4 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg~*]:pl-8"
31
+ {
32
+ class: tokens(base_classes, colors)
33
+ }
35
34
  end
35
+ end
36
36
  end
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class AlertDialog::Action < Base
5
- def template(&)
6
- render PhlexUI::Button.new(**attrs, &)
7
- end
4
+ class AlertDialog::Action < Base
5
+ def template(&block)
6
+ render PhlexUI::Button.new(**attrs, &block)
7
+ end
8
8
 
9
- private
9
+ private
10
10
 
11
- def default_attrs
12
- {
13
- variant: :primary,
14
- }
15
- end
11
+ def default_attrs
12
+ {
13
+ variant: :primary
14
+ }
16
15
  end
17
- end
16
+ end
17
+ end
@@ -1,21 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class AlertDialog::Cancel < Base
5
- def template(&)
6
- render PhlexUI::Button.new(**attrs, &)
7
- end
4
+ class AlertDialog::Cancel < Base
5
+ def template(&block)
6
+ render PhlexUI::Button.new(**attrs, &block)
7
+ end
8
8
 
9
- private
9
+ private
10
10
 
11
- def default_attrs
12
- {
13
- variant: :outline,
14
- data: {
15
- action: 'click->dismissable#dismiss'
16
- },
17
- class: 'mt-2 sm:mt-0'
18
- }
19
- end
11
+ def default_attrs
12
+ {
13
+ variant: :outline,
14
+ data: {
15
+ action: "click->dismissable#dismiss"
16
+ },
17
+ class: "mt-2 sm:mt-0"
18
+ }
20
19
  end
21
- end
20
+ end
21
+ end
@@ -1,45 +1,45 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class AlertDialog::Content < Base
5
- def template(&)
6
- template_tag(**attrs) do
7
- div(data: { controller: 'dismissable' }) do
8
- background
9
- container(&)
10
- end
11
- end
4
+ class AlertDialog::Content < Base
5
+ def template(&block)
6
+ template_tag(**attrs) do
7
+ div(data: {controller: "dismissable"}) do
8
+ background
9
+ container(&block)
12
10
  end
11
+ end
12
+ end
13
13
 
14
- def background
15
- div(
16
- data_state: "open",
17
- class:
18
- "fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
19
- style: "pointer-events:auto",
20
- data_aria_hidden: "true",
21
- aria_hidden: "true"
22
- )
23
- end
14
+ def background
15
+ div(
16
+ data_state: "open",
17
+ class:
18
+ "fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
19
+ style: "pointer-events:auto",
20
+ data_aria_hidden: "true",
21
+ aria_hidden: "true"
22
+ )
23
+ end
24
24
 
25
- def container(&)
26
- div(
27
- role: "alertdialog",
28
- data_state: "open",
29
- class: "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg md:w-full",
30
- style: "pointer-events:auto",
31
- &
32
- )
33
- end
25
+ def container(&block)
26
+ div(
27
+ role: "alertdialog",
28
+ data_state: "open",
29
+ class: "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg md:w-full",
30
+ style: "pointer-events:auto",
31
+ &block
32
+ )
33
+ end
34
34
 
35
- private
35
+ private
36
36
 
37
- def default_attrs
38
- {
39
- data: {
40
- alert_dialog_target: "content"
41
- }
42
- }
43
- end
37
+ def default_attrs
38
+ {
39
+ data: {
40
+ alert_dialog_target: "content"
41
+ }
42
+ }
44
43
  end
45
- end
44
+ end
45
+ end
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class AlertDialog::Description < Base
5
- def template(&)
6
- p(**attrs, &)
7
- end
4
+ class AlertDialog::Description < Base
5
+ def template(&block)
6
+ p(**attrs, &block)
7
+ end
8
8
 
9
- private
9
+ private
10
10
 
11
- def default_attrs
12
- {
13
- class: "text-sm text-muted-text"
14
- }
15
- end
11
+ def default_attrs
12
+ {
13
+ class: "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 AlertDialog::Footer < Base
5
- def template(&)
6
- div(**attrs, &)
7
- end
4
+ class AlertDialog::Footer < 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: "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2"
14
- }
15
- end
11
+ def default_attrs
12
+ {
13
+ class: "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2"
14
+ }
16
15
  end
17
- end
16
+ end
17
+ end