phlex_ui 0.1.6 → 0.1.8

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 (151) hide show
  1. checksums.yaml +4 -4
  2. data/lib/phlex_ui/accordion/builder.rb +1 -1
  3. data/lib/phlex_ui/accordion/content.rb +2 -2
  4. data/lib/phlex_ui/accordion/default_content.rb +2 -2
  5. data/lib/phlex_ui/accordion/default_trigger.rb +1 -1
  6. data/lib/phlex_ui/accordion/icon.rb +1 -1
  7. data/lib/phlex_ui/accordion/item.rb +2 -2
  8. data/lib/phlex_ui/accordion/trigger.rb +2 -2
  9. data/lib/phlex_ui/accordion.rb +2 -2
  10. data/lib/phlex_ui/alert/description.rb +2 -2
  11. data/lib/phlex_ui/alert/title.rb +2 -2
  12. data/lib/phlex_ui/alert.rb +2 -2
  13. data/lib/phlex_ui/alert_dialog/action.rb +2 -2
  14. data/lib/phlex_ui/alert_dialog/cancel.rb +2 -2
  15. data/lib/phlex_ui/alert_dialog/content.rb +3 -3
  16. data/lib/phlex_ui/alert_dialog/description.rb +2 -2
  17. data/lib/phlex_ui/alert_dialog/footer.rb +2 -2
  18. data/lib/phlex_ui/alert_dialog/header.rb +2 -2
  19. data/lib/phlex_ui/alert_dialog/title.rb +2 -2
  20. data/lib/phlex_ui/alert_dialog/trigger.rb +2 -2
  21. data/lib/phlex_ui/alert_dialog.rb +3 -3
  22. data/lib/phlex_ui/aspect_ratio.rb +1 -1
  23. data/lib/phlex_ui/avatar/builder.rb +1 -1
  24. data/lib/phlex_ui/avatar/fallback.rb +2 -2
  25. data/lib/phlex_ui/avatar/image.rb +1 -1
  26. data/lib/phlex_ui/avatar.rb +2 -2
  27. data/lib/phlex_ui/badge.rb +2 -2
  28. data/lib/phlex_ui/button.rb +2 -2
  29. data/lib/phlex_ui/calendar/body.rb +13 -13
  30. data/lib/phlex_ui/calendar/days.rb +92 -92
  31. data/lib/phlex_ui/calendar/header.rb +11 -11
  32. data/lib/phlex_ui/calendar/next.rb +36 -36
  33. data/lib/phlex_ui/calendar/prev.rb +36 -36
  34. data/lib/phlex_ui/calendar/title.rb +20 -20
  35. data/lib/phlex_ui/calendar/weekdays.rb +23 -23
  36. data/lib/phlex_ui/calendar.rb +31 -31
  37. data/lib/phlex_ui/card/content.rb +2 -2
  38. data/lib/phlex_ui/card/description.rb +2 -2
  39. data/lib/phlex_ui/card/footer.rb +2 -2
  40. data/lib/phlex_ui/card/header.rb +2 -2
  41. data/lib/phlex_ui/card/title.rb +2 -2
  42. data/lib/phlex_ui/card.rb +2 -2
  43. data/lib/phlex_ui/chart.rb +2 -2
  44. data/lib/phlex_ui/checkbox.rb +1 -1
  45. data/lib/phlex_ui/clipboard/popover.rb +1 -1
  46. data/lib/phlex_ui/clipboard/source.rb +2 -2
  47. data/lib/phlex_ui/clipboard/trigger.rb +2 -2
  48. data/lib/phlex_ui/clipboard.rb +1 -1
  49. data/lib/phlex_ui/codeblock.rb +1 -1
  50. data/lib/phlex_ui/collapsible/content.rb +2 -2
  51. data/lib/phlex_ui/collapsible/trigger.rb +2 -2
  52. data/lib/phlex_ui/collapsible.rb +2 -2
  53. data/lib/phlex_ui/command/dialog.rb +11 -11
  54. data/lib/phlex_ui/command/dialog_content.rb +40 -40
  55. data/lib/phlex_ui/command/dialog_trigger.rb +21 -21
  56. data/lib/phlex_ui/command/empty.rb +13 -13
  57. data/lib/phlex_ui/command/group.rb +32 -32
  58. data/lib/phlex_ui/command/input.rb +47 -47
  59. data/lib/phlex_ui/command/item.rb +24 -24
  60. data/lib/phlex_ui/command/list.rb +11 -11
  61. data/lib/phlex_ui/command.rb +11 -11
  62. data/lib/phlex_ui/context_menu/content.rb +1 -1
  63. data/lib/phlex_ui/context_menu/item.rb +1 -1
  64. data/lib/phlex_ui/context_menu/label.rb +2 -2
  65. data/lib/phlex_ui/context_menu/separator.rb +1 -1
  66. data/lib/phlex_ui/context_menu/trigger.rb +2 -2
  67. data/lib/phlex_ui/context_menu.rb +2 -2
  68. data/lib/phlex_ui/dialog/content.rb +1 -1
  69. data/lib/phlex_ui/dialog/description.rb +2 -2
  70. data/lib/phlex_ui/dialog/footer.rb +2 -2
  71. data/lib/phlex_ui/dialog/header.rb +2 -2
  72. data/lib/phlex_ui/dialog/middle.rb +2 -2
  73. data/lib/phlex_ui/dialog/title.rb +2 -2
  74. data/lib/phlex_ui/dialog/trigger.rb +2 -2
  75. data/lib/phlex_ui/dialog.rb +2 -2
  76. data/lib/phlex_ui/dropdown_menu/content.rb +1 -1
  77. data/lib/phlex_ui/dropdown_menu/item.rb +2 -2
  78. data/lib/phlex_ui/dropdown_menu/label.rb +2 -2
  79. data/lib/phlex_ui/dropdown_menu/separator.rb +1 -1
  80. data/lib/phlex_ui/dropdown_menu/trigger.rb +2 -2
  81. data/lib/phlex_ui/dropdown_menu.rb +2 -2
  82. data/lib/phlex_ui/form/builder.rb +3 -3
  83. data/lib/phlex_ui/form/item.rb +2 -2
  84. data/lib/phlex_ui/form/spacer.rb +2 -2
  85. data/lib/phlex_ui/form.rb +2 -2
  86. data/lib/phlex_ui/hint.rb +2 -2
  87. data/lib/phlex_ui/hover_card/content.rb +1 -1
  88. data/lib/phlex_ui/hover_card/trigger.rb +2 -2
  89. data/lib/phlex_ui/hover_card.rb +2 -2
  90. data/lib/phlex_ui/input.rb +1 -1
  91. data/lib/phlex_ui/input_error.rb +2 -2
  92. data/lib/phlex_ui/label.rb +2 -2
  93. data/lib/phlex_ui/link.rb +2 -2
  94. data/lib/phlex_ui/pagination/content.rb +17 -0
  95. data/lib/phlex_ui/pagination/ellipsis.rb +42 -0
  96. data/lib/phlex_ui/pagination/item.rb +28 -0
  97. data/lib/phlex_ui/pagination.rb +19 -0
  98. data/lib/phlex_ui/popover/content.rb +1 -1
  99. data/lib/phlex_ui/popover/trigger.rb +2 -2
  100. data/lib/phlex_ui/popover.rb +2 -2
  101. data/lib/phlex_ui/select/builder.rb +1 -1
  102. data/lib/phlex_ui/select/content.rb +2 -2
  103. data/lib/phlex_ui/select/group.rb +2 -2
  104. data/lib/phlex_ui/select/input.rb +1 -1
  105. data/lib/phlex_ui/select/item.rb +1 -1
  106. data/lib/phlex_ui/select/label.rb +2 -2
  107. data/lib/phlex_ui/select/trigger.rb +1 -1
  108. data/lib/phlex_ui/select/value.rb +1 -1
  109. data/lib/phlex_ui/select.rb +2 -2
  110. data/lib/phlex_ui/sheet/content.rb +65 -65
  111. data/lib/phlex_ui/sheet/description.rb +11 -11
  112. data/lib/phlex_ui/sheet/footer.rb +11 -11
  113. data/lib/phlex_ui/sheet/header.rb +11 -11
  114. data/lib/phlex_ui/sheet/middle.rb +11 -11
  115. data/lib/phlex_ui/sheet/title.rb +11 -11
  116. data/lib/phlex_ui/sheet/trigger.rb +11 -11
  117. data/lib/phlex_ui/sheet.rb +11 -11
  118. data/lib/phlex_ui/shortcut_key.rb +2 -2
  119. data/lib/phlex_ui/table/body.rb +2 -2
  120. data/lib/phlex_ui/table/builder.rb +1 -1
  121. data/lib/phlex_ui/table/caption.rb +2 -2
  122. data/lib/phlex_ui/table/cell.rb +2 -2
  123. data/lib/phlex_ui/table/footer.rb +2 -2
  124. data/lib/phlex_ui/table/head.rb +2 -2
  125. data/lib/phlex_ui/table/header.rb +2 -2
  126. data/lib/phlex_ui/table/row.rb +2 -2
  127. data/lib/phlex_ui/table.rb +1 -1
  128. data/lib/phlex_ui/tabs/content.rb +2 -2
  129. data/lib/phlex_ui/tabs/list.rb +2 -2
  130. data/lib/phlex_ui/tabs/trigger.rb +2 -2
  131. data/lib/phlex_ui/tabs.rb +2 -2
  132. data/lib/phlex_ui/theme_toggle.rb +6 -6
  133. data/lib/phlex_ui/tooltip/content.rb +1 -1
  134. data/lib/phlex_ui/tooltip/trigger.rb +2 -2
  135. data/lib/phlex_ui/tooltip.rb +2 -2
  136. data/lib/phlex_ui/typography/blockquote.rb +2 -2
  137. data/lib/phlex_ui/typography/h1.rb +2 -2
  138. data/lib/phlex_ui/typography/h2.rb +2 -2
  139. data/lib/phlex_ui/typography/h3.rb +2 -2
  140. data/lib/phlex_ui/typography/h4.rb +2 -2
  141. data/lib/phlex_ui/typography/inline_code.rb +2 -2
  142. data/lib/phlex_ui/typography/inline_link.rb +2 -2
  143. data/lib/phlex_ui/typography/large.rb +2 -2
  144. data/lib/phlex_ui/typography/lead.rb +2 -2
  145. data/lib/phlex_ui/typography/list.rb +5 -5
  146. data/lib/phlex_ui/typography/list_item.rb +2 -2
  147. data/lib/phlex_ui/typography/muted.rb +2 -2
  148. data/lib/phlex_ui/typography/p.rb +2 -2
  149. data/lib/phlex_ui/typography/small.rb +2 -2
  150. data/lib/phlex_ui.rb +4 -0
  151. metadata +23 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 443bba42189a98a9688d7218421e85da741c759ee3e9d7720817d4623ebbb85e
4
- data.tar.gz: 92b24956dbcb18b4ba30be83a9f1fa736e9679fad74eb36522a1a8b97f085e0c
3
+ metadata.gz: acd9ea55a5ee9d75f5be4b6807571e6fa11dd3ae6d9a7de0bd95c792935e990e
4
+ data.tar.gz: d93efc2a587b2517b5673d5a9f2e63ee52f02fc8327937053a7061259e9d2abd
5
5
  SHA512:
6
- metadata.gz: 589b3e9cf3fdd3c09cb137d6dd8183d3ffed38a4ab87329337224e2320b9555b45b201df3006002c55f04011564be28719775fac8c12d459cc61601bf1553c76
7
- data.tar.gz: e5fbd20b89c5a55f9aefe048f74d19f6241c0b7af7d047405a455b785d8d84251ce528dcd8a1198a6c5ed62a23cfa8e1908b2d8fbd4da5f70457b3135893b67f
6
+ metadata.gz: 6b35f6747e733af02a88b5f76a838219575d2453790d0ee50f51d00f5d48f9cc5973aac10ad2e382b7a0bf80b2746887e5d3ae576d08baa50c278c4f583ebb87
7
+ data.tar.gz: ea5f9dbfb64337e55ecb56a1fbf1438a60a94e6ce89904b87e05769f401f9e07053d495bd0a5bc0b4c889083d6678fcdeefe3508e9033697849831f4b8a93df9
@@ -2,7 +2,7 @@
2
2
 
3
3
  module PhlexUI
4
4
  class Accordion::Builder < Base
5
- def template(&block)
5
+ def view_template(&block)
6
6
  render PhlexUI::Accordion.new(**attrs) do
7
7
  block.call
8
8
  end
@@ -2,8 +2,8 @@
2
2
 
3
3
  module PhlexUI
4
4
  class Accordion::Content < Base
5
- def template(&block)
6
- div(**attrs, &block)
5
+ def view_template(&)
6
+ div(**attrs, &)
7
7
  end
8
8
 
9
9
  private
@@ -2,8 +2,8 @@
2
2
 
3
3
  module PhlexUI
4
4
  class Accordion::DefaultContent < Base
5
- def template(&block)
6
- div(**attrs, &block)
5
+ def view_template(&)
6
+ div(**attrs, &)
7
7
  end
8
8
 
9
9
  private
@@ -2,7 +2,7 @@
2
2
 
3
3
  module PhlexUI
4
4
  class Accordion::DefaultTrigger < Base
5
- def template(&block)
5
+ def view_template(&block)
6
6
  div(class: "flex items-center justify-between w-full") do
7
7
  p(&block)
8
8
  render ::PhlexUI::Accordion::Icon.new
@@ -2,7 +2,7 @@
2
2
 
3
3
  module PhlexUI
4
4
  class Accordion::Icon < Base
5
- def template(&block)
5
+ def view_template(&block)
6
6
  span(**attrs) do
7
7
  if block
8
8
  block.call
@@ -8,8 +8,8 @@ module PhlexUI
8
8
  super(**attrs)
9
9
  end
10
10
 
11
- def template(&block)
12
- div(**attrs, &block)
11
+ def view_template(&)
12
+ div(**attrs, &)
13
13
  end
14
14
 
15
15
  private
@@ -2,8 +2,8 @@
2
2
 
3
3
  module PhlexUI
4
4
  class Accordion::Trigger < Base
5
- def template(&block)
6
- button(**attrs, &block)
5
+ def view_template(&)
6
+ button(**attrs, &)
7
7
  end
8
8
 
9
9
  def default_attrs
@@ -2,8 +2,8 @@
2
2
 
3
3
  module PhlexUI
4
4
  class Accordion < Base
5
- def template(&block)
6
- div(**attrs, &block)
5
+ def view_template(&)
6
+ div(**attrs, &)
7
7
  end
8
8
 
9
9
  private
@@ -2,8 +2,8 @@
2
2
 
3
3
  module PhlexUI
4
4
  class Alert::Description < Base
5
- def template(&block)
6
- div(**attrs, &block)
5
+ def view_template(&)
6
+ div(**attrs, &)
7
7
  end
8
8
 
9
9
  private
@@ -2,8 +2,8 @@
2
2
 
3
3
  module PhlexUI
4
4
  class Alert::Title < Base
5
- def template(&block)
6
- h5(**attrs, &block)
5
+ def view_template(&)
6
+ h5(**attrs, &)
7
7
  end
8
8
 
9
9
  private
@@ -7,8 +7,8 @@ module PhlexUI
7
7
  super(**attrs) # must be called after variant is set
8
8
  end
9
9
 
10
- def template(&block)
11
- div(**attrs, &block)
10
+ def view_template(&)
11
+ div(**attrs, &)
12
12
  end
13
13
 
14
14
  private
@@ -2,8 +2,8 @@
2
2
 
3
3
  module PhlexUI
4
4
  class AlertDialog::Action < Base
5
- def template(&block)
6
- render PhlexUI::Button.new(**attrs, &block)
5
+ def view_template(&)
6
+ render PhlexUI::Button.new(**attrs, &)
7
7
  end
8
8
 
9
9
  private
@@ -2,8 +2,8 @@
2
2
 
3
3
  module PhlexUI
4
4
  class AlertDialog::Cancel < Base
5
- def template(&block)
6
- render PhlexUI::Button.new(**attrs, &block)
5
+ def view_template(&)
6
+ render PhlexUI::Button.new(**attrs, &)
7
7
  end
8
8
 
9
9
  private
@@ -2,7 +2,7 @@
2
2
 
3
3
  module PhlexUI
4
4
  class AlertDialog::Content < Base
5
- def template(&block)
5
+ def view_template(&block)
6
6
  template_tag(**attrs) do
7
7
  div(data: {controller: "dismissable"}) do
8
8
  background
@@ -22,13 +22,13 @@ module PhlexUI
22
22
  )
23
23
  end
24
24
 
25
- def container(&block)
25
+ def container(&)
26
26
  div(
27
27
  role: "alertdialog",
28
28
  data_state: "open",
29
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
30
  style: "pointer-events:auto",
31
- &block
31
+ &
32
32
  )
33
33
  end
34
34
 
@@ -2,8 +2,8 @@
2
2
 
3
3
  module PhlexUI
4
4
  class AlertDialog::Description < Base
5
- def template(&block)
6
- p(**attrs, &block)
5
+ def view_template(&)
6
+ p(**attrs, &)
7
7
  end
8
8
 
9
9
  private
@@ -2,8 +2,8 @@
2
2
 
3
3
  module PhlexUI
4
4
  class AlertDialog::Footer < Base
5
- def template(&block)
6
- div(**attrs, &block)
5
+ def view_template(&)
6
+ div(**attrs, &)
7
7
  end
8
8
 
9
9
  private
@@ -2,8 +2,8 @@
2
2
 
3
3
  module PhlexUI
4
4
  class AlertDialog::Header < Base
5
- def template(&block)
6
- div(**attrs, &block)
5
+ def view_template(&)
6
+ div(**attrs, &)
7
7
  end
8
8
 
9
9
  private
@@ -2,8 +2,8 @@
2
2
 
3
3
  module PhlexUI
4
4
  class AlertDialog::Title < Base
5
- def template(&block)
6
- h2(**attrs, &block)
5
+ def view_template(&)
6
+ h2(**attrs, &)
7
7
  end
8
8
 
9
9
  private
@@ -2,8 +2,8 @@
2
2
 
3
3
  module PhlexUI
4
4
  class AlertDialog::Trigger < Base
5
- def template(&block)
6
- div(**attrs, &block)
5
+ def view_template(&)
6
+ div(**attrs, &)
7
7
  end
8
8
 
9
9
  private
@@ -7,8 +7,8 @@ module PhlexUI
7
7
  super(**attrs)
8
8
  end
9
9
 
10
- def template(&block)
11
- div(**attrs, &block)
10
+ def view_template(&)
11
+ div(**attrs, &)
12
12
  end
13
13
 
14
14
  private
@@ -17,7 +17,7 @@ module PhlexUI
17
17
  {
18
18
  data: {
19
19
  controller: "alert-dialog",
20
- alert_dialog_open_value: @open
20
+ alert_dialog_open_value: @open.to_s
21
21
  },
22
22
  class: "inline-block"
23
23
  }
@@ -9,7 +9,7 @@ module PhlexUI
9
9
  super(**attrs)
10
10
  end
11
11
 
12
- def template(&block)
12
+ def view_template(&block)
13
13
  div(
14
14
  class: "relative w-full",
15
15
  style: "padding-bottom: #{padding_bottom}%;"
@@ -10,7 +10,7 @@ module PhlexUI
10
10
  super(**attrs)
11
11
  end
12
12
 
13
- def template
13
+ def view_template
14
14
  render PhlexUI::Avatar.new(size: @size, **attrs) do
15
15
  render_image if @src
16
16
  render_initials if @initials
@@ -2,8 +2,8 @@
2
2
 
3
3
  module PhlexUI
4
4
  class Avatar::Fallback < Base
5
- def template(&block)
6
- span(**attrs, &block)
5
+ def view_template(&)
6
+ span(**attrs, &)
7
7
  end
8
8
 
9
9
  private
@@ -8,7 +8,7 @@ module PhlexUI
8
8
  super(**attrs)
9
9
  end
10
10
 
11
- def template
11
+ def view_template
12
12
  img(**attrs)
13
13
  end
14
14
 
@@ -16,8 +16,8 @@ module PhlexUI
16
16
  super(**attrs)
17
17
  end
18
18
 
19
- def template(&block)
20
- span(**attrs, &block)
19
+ def view_template(&)
20
+ span(**attrs, &)
21
21
  end
22
22
 
23
23
  private
@@ -45,8 +45,8 @@ module PhlexUI
45
45
  super(**args)
46
46
  end
47
47
 
48
- def template(&block)
49
- span(**attrs, &block)
48
+ def view_template(&)
49
+ span(**attrs, &)
50
50
  end
51
51
 
52
52
  private
@@ -9,8 +9,8 @@ module PhlexUI
9
9
  super(**attrs)
10
10
  end
11
11
 
12
- def template(&block)
13
- button(**attrs, &block)
12
+ def view_template(&)
13
+ button(**attrs, &)
14
14
  end
15
15
 
16
16
  private
@@ -1,19 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Calendar::Body < Base
5
- def template
6
- table(**attrs)
7
- end
4
+ class Calendar::Body < Base
5
+ def view_template
6
+ table(**attrs)
7
+ end
8
8
 
9
- private
9
+ private
10
10
 
11
- def default_attrs
12
- {
13
- data: {
14
- calendar_target: "calendar"
15
- },
16
- }
17
- end
11
+ def default_attrs
12
+ {
13
+ data: {
14
+ calendar_target: "calendar"
15
+ }
16
+ }
18
17
  end
19
- end
18
+ end
19
+ end
@@ -1,104 +1,104 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Calendar::Days < Base
5
- BASE_CLASS = "inline-flex items-center justify-center rounded-md text-sm ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 h-8 w-8 p-0 font-normal aria-selected:opacity-100"
4
+ class Calendar::Days < Base
5
+ BASE_CLASS = "inline-flex items-center justify-center rounded-md text-sm ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 h-8 w-8 p-0 font-normal aria-selected:opacity-100"
6
6
 
7
- def template
8
- render_selected_date_template
9
- render_today_date_template
10
- render_current_month_date_template
11
- render_other_month_date_template
12
- end
7
+ def view_template
8
+ render_selected_date_template
9
+ render_today_date_template
10
+ render_current_month_date_template
11
+ render_other_month_date_template
12
+ end
13
13
 
14
- private
14
+ private
15
15
 
16
- def render_selected_date_template
17
- date_template("selectedDateTemplate") do
18
- button(
19
- data_day: "{{day}}",
20
- data_action: " click->calendar#selectDay",
21
- name: "day",
22
- class:
23
- tokens(
24
- BASE_CLASS,
25
- "bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground"
26
- ),
27
- role: "gridcell",
28
- tabindex: "0",
29
- type: "button",
30
- aria_selected: "true"
31
- ) { "{{dayDate}}" }
32
- end
33
- end
16
+ def render_selected_date_template
17
+ date_template("selectedDateTemplate") do
18
+ button(
19
+ data_day: "{{day}}",
20
+ data_action: " click->calendar#selectDay",
21
+ name: "day",
22
+ class:
23
+ tokens(
24
+ BASE_CLASS,
25
+ "bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground"
26
+ ),
27
+ role: "gridcell",
28
+ tabindex: "0",
29
+ type: "button",
30
+ aria_selected: "true"
31
+ ) { "{{dayDate}}" }
32
+ end
33
+ end
34
34
 
35
- def render_today_date_template
36
- date_template("todayDateTemplate") do
37
- button(
38
- data_day: "{{day}}",
39
- data_action: " click->calendar#selectDay",
40
- name: "day",
41
- class:
42
- tokens(
43
- BASE_CLASS,
44
- "bg-accent text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground"
45
- ),
46
- role: "gridcell",
47
- tabindex: "-1",
48
- type: "button"
49
- ) { "{{dayDate}}" }
50
- end
51
- end
35
+ def render_today_date_template
36
+ date_template("todayDateTemplate") do
37
+ button(
38
+ data_day: "{{day}}",
39
+ data_action: " click->calendar#selectDay",
40
+ name: "day",
41
+ class:
42
+ tokens(
43
+ BASE_CLASS,
44
+ "bg-accent text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground"
45
+ ),
46
+ role: "gridcell",
47
+ tabindex: "-1",
48
+ type: "button"
49
+ ) { "{{dayDate}}" }
50
+ end
51
+ end
52
52
 
53
- def render_current_month_date_template
54
- date_template("currentMonthDateTemplate") do
55
- button(
56
- data_day: "{{day}}",
57
- data_action: " click->calendar#selectDay",
58
- name: "day",
59
- class:
60
- tokens(
61
- BASE_CLASS,
62
- "bg-background text-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground"
63
- ),
64
- role: "gridcell",
65
- tabindex: "-1",
66
- type: "button"
67
- ) { "{{dayDate}}" }
68
- end
69
- end
53
+ def render_current_month_date_template
54
+ date_template("currentMonthDateTemplate") do
55
+ button(
56
+ data_day: "{{day}}",
57
+ data_action: " click->calendar#selectDay",
58
+ name: "day",
59
+ class:
60
+ tokens(
61
+ BASE_CLASS,
62
+ "bg-background text-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground"
63
+ ),
64
+ role: "gridcell",
65
+ tabindex: "-1",
66
+ type: "button"
67
+ ) { "{{dayDate}}" }
68
+ end
69
+ end
70
70
 
71
- def render_other_month_date_template
72
- date_template("otherMonthDateTemplate") do
73
- button(
74
- data_day: "{{day}}",
75
- data_action: " click->calendar#selectDay",
76
- name: "day",
77
- class:
78
- tokens(
79
- BASE_CLASS,
80
- "bg-background text-muted-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground"
81
- ),
82
- role: "gridcell",
83
- tabindex: "-1",
84
- type: "button"
85
- ) { "{{dayDate}}" }
86
- end
87
- end
71
+ def render_other_month_date_template
72
+ date_template("otherMonthDateTemplate") do
73
+ button(
74
+ data_day: "{{day}}",
75
+ data_action: " click->calendar#selectDay",
76
+ name: "day",
77
+ class:
78
+ tokens(
79
+ BASE_CLASS,
80
+ "bg-background text-muted-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground"
81
+ ),
82
+ role: "gridcell",
83
+ tabindex: "-1",
84
+ type: "button"
85
+ ) { "{{dayDate}}" }
86
+ end
87
+ end
88
88
 
89
- def date_template(target, &block)
90
- template_tag(data: { calendar_target: target }) do
91
- td(
92
- class:
93
- "relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected])]:rounded-md",
94
- role: "presentation",
95
- &block
96
- )
97
- end
98
- end
89
+ def date_template(target, &block)
90
+ template_tag(data: {calendar_target: target}) do
91
+ td(
92
+ class:
93
+ "relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected])]:rounded-md",
94
+ role: "presentation",
95
+ &block
96
+ )
97
+ end
98
+ end
99
99
 
100
- def default_attrs
101
- {}
102
- end
100
+ def default_attrs
101
+ {}
103
102
  end
104
- end
103
+ end
104
+ end
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhlexUI
4
- class Calendar::Header < Base
5
- def template(&block)
6
- div(**attrs, &block)
7
- end
4
+ class Calendar::Header < Base
5
+ def view_template(&)
6
+ div(**attrs, &)
7
+ end
8
8
 
9
- private
9
+ private
10
10
 
11
- def default_attrs
12
- {
13
- class: "flex justify-center pt-1 relative items-center",
14
- }
15
- end
11
+ def default_attrs
12
+ {
13
+ class: "flex justify-center pt-1 relative items-center"
14
+ }
16
15
  end
17
- end
16
+ end
17
+ end