shadcn_phlexcomponents 0.1.9 → 0.1.14

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 (256) hide show
  1. checksums.yaml +4 -4
  2. data/app/javascript/controllers/accordion_controller.ts +136 -0
  3. data/app/javascript/controllers/alert_dialog_controller.ts +12 -0
  4. data/app/javascript/controllers/avatar_controller.ts +24 -0
  5. data/app/javascript/controllers/checkbox_controller.ts +41 -0
  6. data/app/javascript/controllers/collapsible_controller.ts +52 -0
  7. data/app/javascript/controllers/combobox_controller.ts +376 -0
  8. data/app/javascript/controllers/command_controller.ts +301 -0
  9. data/app/javascript/controllers/date_picker_controller.ts +334 -0
  10. data/app/javascript/controllers/date_range_picker_controller.ts +253 -0
  11. data/app/javascript/controllers/dialog_controller.ts +115 -0
  12. data/app/javascript/controllers/dropdown_menu_controller.ts +309 -0
  13. data/app/javascript/controllers/dropdown_menu_sub_controller.ts +152 -0
  14. data/app/javascript/controllers/form_field_controller.ts +27 -0
  15. data/app/javascript/controllers/hover_card_controller.ts +103 -0
  16. data/app/javascript/controllers/{loading_button_controller.js → loading_button_controller.ts} +7 -2
  17. data/app/javascript/controllers/popover_controller.ts +118 -0
  18. data/app/javascript/controllers/progress_controller.ts +23 -0
  19. data/app/javascript/controllers/radio_group_controller.ts +113 -0
  20. data/app/javascript/controllers/select_controller.ts +341 -0
  21. data/app/javascript/controllers/{sidebar_controller.js → sidebar_controller.ts} +6 -2
  22. data/app/javascript/controllers/sidebar_trigger_controller.ts +21 -0
  23. data/app/javascript/controllers/slider_controller.ts +114 -0
  24. data/app/javascript/controllers/switch_controller.ts +37 -0
  25. data/app/javascript/controllers/tabs_controller.ts +87 -0
  26. data/app/javascript/controllers/theme_switcher_controller.ts +40 -0
  27. data/app/javascript/controllers/toast_container_controller.ts +67 -0
  28. data/app/javascript/controllers/toast_controller.ts +34 -0
  29. data/app/javascript/controllers/toggle_controller.ts +28 -0
  30. data/app/javascript/controllers/toggle_group_controller.ts +28 -0
  31. data/app/javascript/controllers/tooltip_controller.ts +110 -0
  32. data/app/javascript/shadcn_phlexcomponents.ts +61 -0
  33. data/app/javascript/utils/command.ts +544 -0
  34. data/app/javascript/utils/floating_ui.ts +196 -0
  35. data/app/javascript/utils/index.ts +417 -0
  36. data/app/stylesheets/date_picker.css +81 -101
  37. data/app/stylesheets/nouislider.css +173 -0
  38. data/app/stylesheets/tw-animate.css +486 -0
  39. data/lib/install/install_shadcn_phlexcomponents.rb +16 -3
  40. data/lib/shadcn_phlexcomponents/alias.rb +6 -1
  41. data/lib/shadcn_phlexcomponents/components/accordion.rb +130 -0
  42. data/lib/shadcn_phlexcomponents/components/alert.rb +59 -0
  43. data/lib/shadcn_phlexcomponents/components/alert_dialog.rb +279 -0
  44. data/lib/shadcn_phlexcomponents/components/{aspect_ratio/aspect_ratio.rb → aspect_ratio.rb} +2 -2
  45. data/lib/shadcn_phlexcomponents/components/avatar.rb +63 -0
  46. data/lib/shadcn_phlexcomponents/components/badge.rb +35 -0
  47. data/lib/shadcn_phlexcomponents/components/base.rb +48 -7
  48. data/lib/shadcn_phlexcomponents/components/breadcrumb.rb +150 -0
  49. data/lib/shadcn_phlexcomponents/components/button.rb +49 -0
  50. data/lib/shadcn_phlexcomponents/components/card.rb +88 -0
  51. data/lib/shadcn_phlexcomponents/components/{checkbox/checkbox.rb → checkbox.rb} +18 -14
  52. data/lib/shadcn_phlexcomponents/components/{checkbox_group/checkbox_group.rb → checkbox_group.rb} +7 -8
  53. data/lib/shadcn_phlexcomponents/components/collapsible.rb +90 -0
  54. data/lib/shadcn_phlexcomponents/components/combobox.rb +428 -0
  55. data/lib/shadcn_phlexcomponents/components/command.rb +381 -0
  56. data/lib/shadcn_phlexcomponents/components/date_picker.rb +208 -0
  57. data/lib/shadcn_phlexcomponents/components/date_range_picker.rb +143 -0
  58. data/lib/shadcn_phlexcomponents/components/dialog.rb +236 -0
  59. data/lib/shadcn_phlexcomponents/components/dropdown_menu.rb +283 -0
  60. data/lib/shadcn_phlexcomponents/components/dropdown_menu_sub.rb +136 -0
  61. data/lib/shadcn_phlexcomponents/components/form/form_checkbox.rb +6 -7
  62. data/lib/shadcn_phlexcomponents/components/form/form_checkbox_group.rb +2 -2
  63. data/lib/shadcn_phlexcomponents/components/form/form_combobox.rb +64 -0
  64. data/lib/shadcn_phlexcomponents/components/form/form_date_picker.rb +3 -4
  65. data/lib/shadcn_phlexcomponents/components/form/form_date_range_picker.rb +27 -41
  66. data/lib/shadcn_phlexcomponents/components/form/form_error.rb +1 -1
  67. data/lib/shadcn_phlexcomponents/components/form/form_helpers.rb +43 -8
  68. data/lib/shadcn_phlexcomponents/components/form/form_hint.rb +1 -1
  69. data/lib/shadcn_phlexcomponents/components/form/form_input.rb +3 -4
  70. data/lib/shadcn_phlexcomponents/components/form/form_radio_group.rb +4 -5
  71. data/lib/shadcn_phlexcomponents/components/form/form_select.rb +3 -4
  72. data/lib/shadcn_phlexcomponents/components/form/form_slider.rb +91 -0
  73. data/lib/shadcn_phlexcomponents/components/form/form_switch.rb +7 -6
  74. data/lib/shadcn_phlexcomponents/components/form/form_textarea.rb +3 -4
  75. data/lib/shadcn_phlexcomponents/components/{form/form.rb → form.rb} +36 -4
  76. data/lib/shadcn_phlexcomponents/components/hover_card.rb +111 -0
  77. data/lib/shadcn_phlexcomponents/components/input.rb +31 -0
  78. data/lib/shadcn_phlexcomponents/components/label.rb +16 -0
  79. data/lib/shadcn_phlexcomponents/components/{link/link.rb → link.rb} +10 -3
  80. data/lib/shadcn_phlexcomponents/components/{loading_button/loading_button.rb → loading_button.rb} +9 -2
  81. data/lib/shadcn_phlexcomponents/components/pagination.rb +166 -0
  82. data/lib/shadcn_phlexcomponents/components/popover.rb +116 -0
  83. data/lib/shadcn_phlexcomponents/components/{progress/progress.rb → progress.rb} +4 -4
  84. data/lib/shadcn_phlexcomponents/components/radio_group.rb +155 -0
  85. data/lib/shadcn_phlexcomponents/components/select.rb +406 -0
  86. data/lib/shadcn_phlexcomponents/components/{separator/separator.rb → separator.rb} +9 -8
  87. data/lib/shadcn_phlexcomponents/components/sheet.rb +243 -0
  88. data/lib/shadcn_phlexcomponents/components/{skeleton/skeleton.rb → skeleton.rb} +1 -1
  89. data/lib/shadcn_phlexcomponents/components/slider.rb +72 -0
  90. data/lib/shadcn_phlexcomponents/components/switch.rb +75 -0
  91. data/lib/shadcn_phlexcomponents/components/table.rb +140 -0
  92. data/lib/shadcn_phlexcomponents/components/tabs.rb +135 -0
  93. data/lib/shadcn_phlexcomponents/components/textarea.rb +24 -0
  94. data/lib/shadcn_phlexcomponents/components/toast.rb +153 -0
  95. data/lib/shadcn_phlexcomponents/components/{toast/toast_container.rb → toast_container.rb} +23 -4
  96. data/lib/shadcn_phlexcomponents/components/toggle.rb +54 -0
  97. data/lib/shadcn_phlexcomponents/components/tooltip.rb +132 -0
  98. data/lib/shadcn_phlexcomponents/engine.rb +1 -5
  99. data/lib/shadcn_phlexcomponents/initializers/shadcn_phlexcomponents.rb +25 -0
  100. data/lib/shadcn_phlexcomponents/version.rb +1 -1
  101. data/lib/tasks/install.rake +1 -1
  102. metadata +83 -167
  103. data/app/javascript/controllers/accordion_controller.js +0 -124
  104. data/app/javascript/controllers/alert_dialog_controller.js +0 -21
  105. data/app/javascript/controllers/avatar_controller.js +0 -15
  106. data/app/javascript/controllers/checkbox_controller.js +0 -28
  107. data/app/javascript/controllers/collapsible_controller.js +0 -35
  108. data/app/javascript/controllers/combobox_controller.js +0 -54
  109. data/app/javascript/controllers/date_picker_controller.js +0 -253
  110. data/app/javascript/controllers/date_range_picker_controller.js +0 -344
  111. data/app/javascript/controllers/dialog_controller.js +0 -114
  112. data/app/javascript/controllers/dropdown_menu_controller.js +0 -171
  113. data/app/javascript/controllers/form_field_controller.js +0 -24
  114. data/app/javascript/controllers/hover_card_controller.js +0 -21
  115. data/app/javascript/controllers/popover_controller.js +0 -113
  116. data/app/javascript/controllers/progress_controller.js +0 -14
  117. data/app/javascript/controllers/radio_group_controller.js +0 -90
  118. data/app/javascript/controllers/select_controller.js +0 -274
  119. data/app/javascript/controllers/sidebar_trigger_controller.js +0 -15
  120. data/app/javascript/controllers/switch_controller.js +0 -24
  121. data/app/javascript/controllers/tabs_controller.js +0 -73
  122. data/app/javascript/controllers/theme_switcher_controller.js +0 -32
  123. data/app/javascript/controllers/toast_container_controller.js +0 -22
  124. data/app/javascript/controllers/toast_controller.js +0 -45
  125. data/app/javascript/controllers/tooltip_controller.js +0 -40
  126. data/app/javascript/shadcn_phlexcomponents.js +0 -53
  127. data/app/javascript/utils.js +0 -184
  128. data/app/stylesheets/choices.css +0 -324
  129. data/app/stylesheets/tailwindcss-animate.css +0 -318
  130. data/lib/shadcn_phlexcomponents/components/accordion/accordion.rb +0 -38
  131. data/lib/shadcn_phlexcomponents/components/accordion/accordion_content.rb +0 -30
  132. data/lib/shadcn_phlexcomponents/components/accordion/accordion_item.rb +0 -26
  133. data/lib/shadcn_phlexcomponents/components/accordion/accordion_trigger.rb +0 -46
  134. data/lib/shadcn_phlexcomponents/components/alert/alert.rb +0 -40
  135. data/lib/shadcn_phlexcomponents/components/alert/alert_description.rb +0 -11
  136. data/lib/shadcn_phlexcomponents/components/alert/alert_title.rb +0 -11
  137. data/lib/shadcn_phlexcomponents/components/alert_dialog/alert_dialog.rb +0 -60
  138. data/lib/shadcn_phlexcomponents/components/alert_dialog/alert_dialog_action.rb +0 -22
  139. data/lib/shadcn_phlexcomponents/components/alert_dialog/alert_dialog_action_to.rb +0 -40
  140. data/lib/shadcn_phlexcomponents/components/alert_dialog/alert_dialog_cancel.rb +0 -22
  141. data/lib/shadcn_phlexcomponents/components/alert_dialog/alert_dialog_content.rb +0 -40
  142. data/lib/shadcn_phlexcomponents/components/alert_dialog/alert_dialog_description.rb +0 -22
  143. data/lib/shadcn_phlexcomponents/components/alert_dialog/alert_dialog_footer.rb +0 -11
  144. data/lib/shadcn_phlexcomponents/components/alert_dialog/alert_dialog_header.rb +0 -11
  145. data/lib/shadcn_phlexcomponents/components/alert_dialog/alert_dialog_title.rb +0 -22
  146. data/lib/shadcn_phlexcomponents/components/alert_dialog/alert_dialog_trigger.rb +0 -50
  147. data/lib/shadcn_phlexcomponents/components/avatar/avatar.rb +0 -31
  148. data/lib/shadcn_phlexcomponents/components/avatar/avatar_fallback.rb +0 -21
  149. data/lib/shadcn_phlexcomponents/components/avatar/avatar_image.rb +0 -19
  150. data/lib/shadcn_phlexcomponents/components/badge/badge.rb +0 -30
  151. data/lib/shadcn_phlexcomponents/components/breadcrumb/breadcrumb.rb +0 -53
  152. data/lib/shadcn_phlexcomponents/components/breadcrumb/breadcrumb_ellipsis.rb +0 -23
  153. data/lib/shadcn_phlexcomponents/components/breadcrumb/breadcrumb_item.rb +0 -11
  154. data/lib/shadcn_phlexcomponents/components/breadcrumb/breadcrumb_link.rb +0 -7
  155. data/lib/shadcn_phlexcomponents/components/breadcrumb/breadcrumb_page.rb +0 -21
  156. data/lib/shadcn_phlexcomponents/components/breadcrumb/breadcrumb_separator.rb +0 -26
  157. data/lib/shadcn_phlexcomponents/components/button/button.rb +0 -53
  158. data/lib/shadcn_phlexcomponents/components/card/card.rb +0 -31
  159. data/lib/shadcn_phlexcomponents/components/card/card_content.rb +0 -11
  160. data/lib/shadcn_phlexcomponents/components/card/card_description.rb +0 -11
  161. data/lib/shadcn_phlexcomponents/components/card/card_footer.rb +0 -11
  162. data/lib/shadcn_phlexcomponents/components/card/card_header.rb +0 -11
  163. data/lib/shadcn_phlexcomponents/components/card/card_title.rb +0 -11
  164. data/lib/shadcn_phlexcomponents/components/collapsible/collapsible.rb +0 -31
  165. data/lib/shadcn_phlexcomponents/components/collapsible/collapsible_content.rb +0 -24
  166. data/lib/shadcn_phlexcomponents/components/collapsible/collapsible_trigger.rb +0 -50
  167. data/lib/shadcn_phlexcomponents/components/date_picker/date_picker.rb +0 -87
  168. data/lib/shadcn_phlexcomponents/components/date_picker/date_picker_content.rb +0 -45
  169. data/lib/shadcn_phlexcomponents/components/date_picker/date_picker_trigger.rb +0 -64
  170. data/lib/shadcn_phlexcomponents/components/date_range_picker/date_range_picker.rb +0 -105
  171. data/lib/shadcn_phlexcomponents/components/date_range_picker/date_range_picker_content.rb +0 -9
  172. data/lib/shadcn_phlexcomponents/components/date_range_picker/date_range_picker_trigger.rb +0 -9
  173. data/lib/shadcn_phlexcomponents/components/dialog/dialog.rb +0 -52
  174. data/lib/shadcn_phlexcomponents/components/dialog/dialog_close.rb +0 -42
  175. data/lib/shadcn_phlexcomponents/components/dialog/dialog_content.rb +0 -54
  176. data/lib/shadcn_phlexcomponents/components/dialog/dialog_description.rb +0 -22
  177. data/lib/shadcn_phlexcomponents/components/dialog/dialog_footer.rb +0 -11
  178. data/lib/shadcn_phlexcomponents/components/dialog/dialog_header.rb +0 -11
  179. data/lib/shadcn_phlexcomponents/components/dialog/dialog_title.rb +0 -22
  180. data/lib/shadcn_phlexcomponents/components/dialog/dialog_trigger.rb +0 -50
  181. data/lib/shadcn_phlexcomponents/components/dropdown_menu/dropdown_menu.rb +0 -50
  182. data/lib/shadcn_phlexcomponents/components/dropdown_menu/dropdown_menu_content.rb +0 -52
  183. data/lib/shadcn_phlexcomponents/components/dropdown_menu/dropdown_menu_item.rb +0 -56
  184. data/lib/shadcn_phlexcomponents/components/dropdown_menu/dropdown_menu_item_to.rb +0 -28
  185. data/lib/shadcn_phlexcomponents/components/dropdown_menu/dropdown_menu_label.rb +0 -11
  186. data/lib/shadcn_phlexcomponents/components/dropdown_menu/dropdown_menu_separator.rb +0 -20
  187. data/lib/shadcn_phlexcomponents/components/dropdown_menu/dropdown_menu_trigger.rb +0 -57
  188. data/lib/shadcn_phlexcomponents/components/hover_card/hover_card.rb +0 -33
  189. data/lib/shadcn_phlexcomponents/components/hover_card/hover_card_content.rb +0 -32
  190. data/lib/shadcn_phlexcomponents/components/hover_card/hover_card_trigger.rb +0 -44
  191. data/lib/shadcn_phlexcomponents/components/input/input.rb +0 -32
  192. data/lib/shadcn_phlexcomponents/components/label/label.rb +0 -14
  193. data/lib/shadcn_phlexcomponents/components/pagination/pagination.rb +0 -38
  194. data/lib/shadcn_phlexcomponents/components/pagination/pagination_ellipsis.rb +0 -24
  195. data/lib/shadcn_phlexcomponents/components/pagination/pagination_link.rb +0 -34
  196. data/lib/shadcn_phlexcomponents/components/pagination/pagination_next.rb +0 -32
  197. data/lib/shadcn_phlexcomponents/components/pagination/pagination_previous.rb +0 -32
  198. data/lib/shadcn_phlexcomponents/components/popover/popover.rb +0 -34
  199. data/lib/shadcn_phlexcomponents/components/popover/popover_content.rb +0 -40
  200. data/lib/shadcn_phlexcomponents/components/popover/popover_trigger.rb +0 -50
  201. data/lib/shadcn_phlexcomponents/components/radio_group/radio_group.rb +0 -88
  202. data/lib/shadcn_phlexcomponents/components/radio_group/radio_group_item.rb +0 -66
  203. data/lib/shadcn_phlexcomponents/components/select/select.rb +0 -194
  204. data/lib/shadcn_phlexcomponents/components/select/select_content.rb +0 -64
  205. data/lib/shadcn_phlexcomponents/components/select/select_group.rb +0 -23
  206. data/lib/shadcn_phlexcomponents/components/select/select_item.rb +0 -59
  207. data/lib/shadcn_phlexcomponents/components/select/select_label.rb +0 -24
  208. data/lib/shadcn_phlexcomponents/components/select/select_trigger.rb +0 -56
  209. data/lib/shadcn_phlexcomponents/components/sheet/sheet.rb +0 -53
  210. data/lib/shadcn_phlexcomponents/components/sheet/sheet_close.rb +0 -42
  211. data/lib/shadcn_phlexcomponents/components/sheet/sheet_content.rb +0 -65
  212. data/lib/shadcn_phlexcomponents/components/sheet/sheet_description.rb +0 -22
  213. data/lib/shadcn_phlexcomponents/components/sheet/sheet_footer.rb +0 -11
  214. data/lib/shadcn_phlexcomponents/components/sheet/sheet_header.rb +0 -11
  215. data/lib/shadcn_phlexcomponents/components/sheet/sheet_title.rb +0 -22
  216. data/lib/shadcn_phlexcomponents/components/sheet/sheet_trigger.rb +0 -50
  217. data/lib/shadcn_phlexcomponents/components/sidebar/sidebar.rb +0 -108
  218. data/lib/shadcn_phlexcomponents/components/sidebar/sidebar_container.rb +0 -11
  219. data/lib/shadcn_phlexcomponents/components/sidebar/sidebar_content.rb +0 -11
  220. data/lib/shadcn_phlexcomponents/components/sidebar/sidebar_footer.rb +0 -11
  221. data/lib/shadcn_phlexcomponents/components/sidebar/sidebar_group.rb +0 -11
  222. data/lib/shadcn_phlexcomponents/components/sidebar/sidebar_group_content.rb +0 -11
  223. data/lib/shadcn_phlexcomponents/components/sidebar/sidebar_group_label.rb +0 -16
  224. data/lib/shadcn_phlexcomponents/components/sidebar/sidebar_header.rb +0 -11
  225. data/lib/shadcn_phlexcomponents/components/sidebar/sidebar_inset.rb +0 -15
  226. data/lib/shadcn_phlexcomponents/components/sidebar/sidebar_menu.rb +0 -11
  227. data/lib/shadcn_phlexcomponents/components/sidebar/sidebar_menu_button.rb +0 -61
  228. data/lib/shadcn_phlexcomponents/components/sidebar/sidebar_menu_item.rb +0 -9
  229. data/lib/shadcn_phlexcomponents/components/sidebar/sidebar_menu_sub.rb +0 -14
  230. data/lib/shadcn_phlexcomponents/components/sidebar/sidebar_menu_sub_button.rb +0 -48
  231. data/lib/shadcn_phlexcomponents/components/sidebar/sidebar_menu_sub_item.rb +0 -9
  232. data/lib/shadcn_phlexcomponents/components/sidebar/sidebar_trigger.rb +0 -40
  233. data/lib/shadcn_phlexcomponents/components/switch/switch.rb +0 -66
  234. data/lib/shadcn_phlexcomponents/components/table/table.rb +0 -75
  235. data/lib/shadcn_phlexcomponents/components/table/table_body.rb +0 -11
  236. data/lib/shadcn_phlexcomponents/components/table/table_caption.rb +0 -11
  237. data/lib/shadcn_phlexcomponents/components/table/table_cell.rb +0 -11
  238. data/lib/shadcn_phlexcomponents/components/table/table_footer.rb +0 -11
  239. data/lib/shadcn_phlexcomponents/components/table/table_head.rb +0 -14
  240. data/lib/shadcn_phlexcomponents/components/table/table_header.rb +0 -11
  241. data/lib/shadcn_phlexcomponents/components/table/table_row.rb +0 -11
  242. data/lib/shadcn_phlexcomponents/components/tabs/tabs.rb +0 -38
  243. data/lib/shadcn_phlexcomponents/components/tabs/tabs_content.rb +0 -35
  244. data/lib/shadcn_phlexcomponents/components/tabs/tabs_list.rb +0 -23
  245. data/lib/shadcn_phlexcomponents/components/tabs/tabs_trigger.rb +0 -45
  246. data/lib/shadcn_phlexcomponents/components/textarea/textarea.rb +0 -29
  247. data/lib/shadcn_phlexcomponents/components/toast/toast.rb +0 -101
  248. data/lib/shadcn_phlexcomponents/components/toast/toast_action.rb +0 -39
  249. data/lib/shadcn_phlexcomponents/components/toast/toast_action_to.rb +0 -28
  250. data/lib/shadcn_phlexcomponents/components/toast/toast_content.rb +0 -11
  251. data/lib/shadcn_phlexcomponents/components/toast/toast_description.rb +0 -11
  252. data/lib/shadcn_phlexcomponents/components/toast/toast_title.rb +0 -11
  253. data/lib/shadcn_phlexcomponents/components/tooltip/tooltip.rb +0 -34
  254. data/lib/shadcn_phlexcomponents/components/tooltip/tooltip_content.rb +0 -39
  255. data/lib/shadcn_phlexcomponents/components/tooltip/tooltip_trigger.rb +0 -48
  256. /data/lib/shadcn_phlexcomponents/components/{theme_switcher/theme_switcher.rb → theme_switcher.rb} +0 -0
@@ -1,13 +1,13 @@
1
1
  [data-vc='calendar'] {
2
- @apply relative flex flex-col outline-none p-3;
2
+ @apply relative flex flex-col outline-none;
3
3
  }
4
4
 
5
5
  [data-vc='controls'] {
6
- @apply absolute z-20 -left-1 -right-1 -top-1.5 flex justify-between items-center pt-5 px-4 pointer-events-none box-content;
6
+ @apply absolute z-20 -left-1 -right-1 -top-1.5 flex justify-between items-center pt-1.5 px-1 pointer-events-none box-content;
7
7
  }
8
8
 
9
9
  [data-vc='grid'] {
10
- @apply grid grid-cols-1 md:grid-cols-2 gap-6;
10
+ @apply grid gap-4 grid-cols-1 md:grid-cols-2;
11
11
  }
12
12
 
13
13
  [data-vc='column'] {
@@ -15,125 +15,138 @@
15
15
  }
16
16
 
17
17
  [data-vc='header'] {
18
- @apply relative flex items-center mb-3;
18
+ @apply relative flex items-center mb-4;
19
19
  }
20
20
 
21
21
  [data-vc-header='content'] {
22
- @apply grid grid-flow-col auto-cols-max items-center justify-center px-4 whitespace-pre-wrap grow;
22
+ @apply grid grid-flow-col gap-x-1 auto-cols-max items-center justify-center px-4 whitespace-pre-wrap grow;
23
23
  }
24
24
 
25
25
  [data-vc='month'],
26
- [data-vc='year'],
27
- [data-vc-months-month],
28
- [data-vc-years-year] {
29
- @apply inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-base;
30
- @apply font-medium transition-colors focus-visible:outline-none focus-visible:ring-1;
31
- @apply focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50;
32
- @apply [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer;
33
- @apply hover:bg-accent hover:text-accent-foreground px-2 h-10 md:h-8 md:px-3 pointer-events-auto;
26
+ [data-vc='year'] {
27
+ @apply inline-flex items-center justify-center whitespace-nowrap font-medium transition-all;
28
+ @apply disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4;
29
+ @apply shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px];
30
+ @apply aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border;
31
+ @apply shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50;
32
+ @apply rounded-md gap-1.5 px-3 has-[>svg]:px-2.5 text-xs h-7 bg-transparent;
33
+ }
34
+
35
+ [data-vc-arrow='prev'],
36
+ [data-vc-arrow='next'] {
37
+ @apply inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium;
38
+ @apply transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none;
39
+ @apply [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring;
40
+ @apply focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20;
41
+ @apply dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border shadow-xs hover:bg-accent;
42
+ @apply hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 pointer-events-auto;
43
+ @apply size-7 bg-transparent p-0 opacity-50 hover:opacity-100;
34
44
  }
35
45
 
36
- [data-vc-months-month],
37
- [data-vc-years-year] {
38
- @apply md:text-sm;
46
+ [data-vc-arrow='next']:before {
47
+ @apply bg-current size-4 mask-size-[auto_16px] mask-center mask-no-repeat absolute content-[''];
48
+ mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right-icon lucide-chevron-right"><path d="m9 18 6-6-6-6"/></svg>');
49
+ }
50
+
51
+ [data-vc-arrow='prev']:before {
52
+ @apply bg-current size-4 mask-size-[auto_16px] mask-center mask-no-repeat absolute content-[''];
53
+ mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-left-icon lucide-chevron-left"><path d="m15 18-6-6 6-6"/></svg>');
39
54
  }
40
55
 
41
56
  [data-vc='wrapper'] {
42
- @apply flex grow;
57
+ @apply flex items-center content-center h-full;
43
58
  }
44
59
 
45
60
  [data-vc='content'] {
46
- @apply flex flex-col grow;
61
+ @apply flex flex-col grow h-full;
47
62
  }
48
63
 
49
64
  [data-vc='months'] {
50
- @apply grid gap-y-4 gap-x-2 grid-cols-3 md:grid-cols-4 items-center grow;
65
+ @apply grid gap-2 grid-cols-4 items-center grow;
51
66
  }
52
67
 
53
68
  [data-vc='years'] {
54
- @apply grid gap-y-4 gap-x-2 grid-cols-3 md:grid-cols-5 items-center grow;
69
+ @apply grid gap-2 grid-cols-5 items-center grow;
70
+ }
71
+
72
+ [data-vc-months-month],
73
+ [data-vc-years-year] {
74
+ @apply inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all;
75
+ @apply disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4;
76
+ @apply shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px];
77
+ @apply aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive;
78
+ @apply hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 h-9 px-4 py-2 has-[>svg]:px-3;
79
+ @apply aria-[selected=true]:text-primary-foreground aria-[selected=true]:bg-primary;
80
+ @apply aria-[selected=true]:hover:text-primary-foreground aria-[selected=true]:hover:bg-primary;
55
81
  }
56
82
 
57
83
  [data-vc='week'] {
58
- @apply grid grid-cols-[repeat(7,_1fr)] justify-items-center mb-2;
84
+ @apply grid mb-2 grid-cols-[repeat(7,_1fr)] justify-items-center items-center text-center;
59
85
  }
60
86
 
61
87
  [data-vc-week-day] {
62
- @apply text-muted-foreground font-normal text-xs flex items-center justify-center;
88
+ @apply text-muted-foreground rounded-md w-8 font-normal text-[0.8rem];
63
89
  }
64
90
 
65
91
  [data-vc='dates'] {
66
- @apply grid gap-y-1 grid-cols-[repeat(7,_1fr)] justify-items-center items-center grow pointer-events-none;
92
+ @apply grid gap-y-2 grid-cols-[repeat(7,_1fr)] justify-items-center items-center;
67
93
  }
68
94
 
69
95
  [data-vc-date-btn] {
70
- @apply inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-base md:text-sm;
71
- @apply font-medium transition-colors focus-visible:outline-none focus-visible:ring-1;
72
- @apply focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50;
73
- @apply [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer;
74
- @apply hover:bg-accent hover:text-accent-foreground md:h-9 md:w-9 h-10 w-10 pointer-events-auto;
96
+ @apply inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm transition-all;
97
+ @apply disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4;
98
+ @apply shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px];
99
+ @apply aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive;
100
+ @apply hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 has-[>svg]:px-3 size-8 p-0 font-normal;
101
+ @apply aria-[disabled]:text-muted-foreground aria-[disabled]:opacity-50 aria-[disabled]:pointer-events-none;
75
102
  }
76
103
 
77
- [data-vc-years-year-selected],
78
- [data-vc-months-month-selected] {
79
- @apply bg-primary text-primary-foreground;
104
+ [data-vc-date-selected] [data-vc-date-btn] {
105
+ @apply bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground;
80
106
  }
81
107
 
82
108
  [data-vc-date-today] [data-vc-date-btn] {
83
- @apply bg-accent text-accent-foreground font-bold;
84
- }
85
-
86
- [data-vc-date-btn][aria-selected='true'] {
87
- @apply bg-primary text-primary-foreground hover:bg-primary/90;
109
+ @apply bg-accent text-accent-foreground;
88
110
  }
89
111
 
90
- [data-vc-arrow] {
91
- @apply inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm;
92
- @apply font-medium transition-colors focus-visible:outline-none focus-visible:ring-1;
93
- @apply focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50;
94
- @apply [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer;
95
- @apply border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground;
96
- @apply pointer-events-auto w-7 h-7;
112
+ [data-vc-date-month='prev'] [data-vc-date-btn],
113
+ [data-vc-date-month='next'] [data-vc-date-btn] {
114
+ @apply text-muted-foreground;
97
115
  }
98
116
 
99
- [data-vc-arrow='next']:before {
100
- @apply bg-accent-foreground h-7 w-7;
101
- mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right-icon lucide-chevron-right"><path d="m9 18 6-6-6-6"/></svg>');
102
- mask-repeat: no-repeat;
103
- position: absolute;
104
- content: '';
105
- mask-size: auto 16px;
106
- mask-position: center;
117
+ [data-vc-date-selected='middle'][data-vc-date-selected] [data-vc-date-btn] {
118
+ @apply bg-accent text-accent-foreground;
107
119
  }
108
120
 
109
- [data-vc-arrow='prev']:before {
110
- @apply bg-accent-foreground h-7 w-7;
111
- mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-left-icon lucide-chevron-left"><path d="m15 18-6-6 6-6"/></svg>');
112
- mask-repeat: no-repeat;
113
- position: absolute;
114
- content: '';
115
- mask-size: auto 16px;
116
- mask-position: center;
121
+ [data-vc-date-selected='first'][data-vc-date-selected] [data-vc-date-btn] {
122
+ @apply bg-primary text-primary-foreground;
117
123
  }
118
124
 
119
- [data-vc-date-month='prev'] [data-vc-date-btn],
120
- [data-vc-date-month='next'] [data-vc-date-btn] {
121
- @apply text-muted-foreground;
125
+ [data-vc-date-hover] [data-vc-date-btn] {
126
+ @apply bg-accent text-accent-foreground;
122
127
  }
123
128
 
124
- [data-vc-date-disabled] [data-vc-date-btn] {
125
- @apply pointer-events-none opacity-50 text-muted-foreground;
129
+ [data-vc='grid'][data-vc-grid='hidden'] [data-vc='column'] {
130
+ pointer-events: none;
131
+ opacity: 0.3;
126
132
  }
127
133
 
128
- [data-vc='grid'][data-vc-grid='hidden'] [data-vc='column'] {
129
- @apply opacity-30 pointer-events-none;
134
+ [data-vc='grid'][data-vc-grid='hidden'] [data-vc='column'] * {
135
+ pointer-events: none;
130
136
  }
131
137
 
132
138
  [data-vc='grid'][data-vc-grid='hidden']
133
139
  [data-vc='column'][data-vc-column='month'],
134
140
  [data-vc='grid'][data-vc-grid='hidden']
135
- [data-vc='column'][data-vc-column='year'] {
136
- @apply opacity-100 pointer-events-auto;
141
+ [data-vc='column'][data-vc-column='month']
142
+ *,
143
+ [data-vc='grid'][data-vc-grid='hidden']
144
+ [data-vc='column'][data-vc-column='year'],
145
+ [data-vc='grid'][data-vc-grid='hidden']
146
+ [data-vc='column'][data-vc-column='year']
147
+ * {
148
+ pointer-events: auto;
149
+ opacity: 1;
137
150
  }
138
151
 
139
152
  [data-vc-date][data-vc-date-hover] [data-vc-date-btn] {
@@ -177,36 +190,3 @@
177
190
  [data-vc-date][data-vc-date-selected='middle'] [data-vc-date-btn] {
178
191
  @apply rounded-none;
179
192
  }
180
-
181
- /* [data-vc-date][data-vc-date-disabled]
182
- + [data-vc-date-selected]
183
- [data-vc-date-btn],
184
- [data-vc-date][data-vc-date-disabled]
185
- + [data-vc-date-hover]
186
- [data-vc-date-btn] {
187
- @apply rounded-l-md;
188
- } */
189
-
190
- /* [data-vc-date][data-vc-date-hover]:has(+ [data-vc-date-disabled])
191
- [data-vc-date-btn],
192
- [data-vc-date][data-vc-date-selected]:has(+ [data-vc-date-disabled])
193
- [data-vc-date-btn] {
194
- @apply rounded-r-md;
195
- } */
196
-
197
- [data-vc-date-hover] [data-vc-date-btn] {
198
- @apply bg-accent text-accent-foreground;
199
- }
200
-
201
- [data-vc-date-selected] [data-vc-date-btn] {
202
- @apply bg-primary text-primary-foreground;
203
- }
204
-
205
- [data-vc-date-selected='middle'][data-vc-date-selected] [data-vc-date-btn] {
206
- @apply bg-primary/20 hover:bg-primary/20 text-accent-foreground;
207
- }
208
-
209
- [data-vc-date-hover='last'] [data-vc-date-btn],
210
- [data-vc-date-hover='first'] [data-vc-date-btn] {
211
- @apply bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground;
212
- }
@@ -0,0 +1,173 @@
1
+ /* Functional styling;
2
+ * These styles are required for noUiSlider to function.
3
+ * You don't need to change these rules to apply your design.
4
+ */
5
+ .noUi-target,
6
+ .noUi-target * {
7
+ -webkit-touch-callout: none;
8
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
9
+ -webkit-user-select: none;
10
+ -ms-touch-action: none;
11
+ touch-action: none;
12
+ -ms-user-select: none;
13
+ -moz-user-select: none;
14
+ user-select: none;
15
+ -moz-box-sizing: border-box;
16
+ box-sizing: border-box;
17
+ }
18
+ .noUi-target {
19
+ position: relative;
20
+ }
21
+ .noUi-base,
22
+ .noUi-connects {
23
+ width: 100%;
24
+ height: 100%;
25
+ position: relative;
26
+ z-index: 1;
27
+ }
28
+ /* Wrapper for all connect elements.
29
+ */
30
+ .noUi-connects {
31
+ overflow: hidden;
32
+ z-index: 0;
33
+ }
34
+ .noUi-connect,
35
+ .noUi-origin {
36
+ will-change: transform;
37
+ position: absolute;
38
+ z-index: 1;
39
+ top: 0;
40
+ right: 0;
41
+ height: 100%;
42
+ width: 100%;
43
+ -ms-transform-origin: 0 0;
44
+ -webkit-transform-origin: 0 0;
45
+ -webkit-transform-style: preserve-3d;
46
+ transform-origin: 0 0;
47
+ transform-style: flat;
48
+ }
49
+ /* Offset direction
50
+ */
51
+ .noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {
52
+ left: 0;
53
+ right: auto;
54
+ }
55
+ /* Give origins 0 height/width so they don't interfere with clicking the
56
+ * connect elements.
57
+ */
58
+ .noUi-vertical .noUi-origin {
59
+ top: -100%;
60
+ width: 0;
61
+ }
62
+ .noUi-horizontal .noUi-origin {
63
+ height: 0;
64
+ }
65
+ .noUi-handle {
66
+ -webkit-backface-visibility: hidden;
67
+ backface-visibility: hidden;
68
+ position: absolute;
69
+ }
70
+ .noUi-touch-area {
71
+ height: 100%;
72
+ width: 100%;
73
+ }
74
+ .noUi-state-tap .noUi-connect,
75
+ .noUi-state-tap .noUi-origin {
76
+ -webkit-transition: transform 0.3s;
77
+ transition: transform 0.3s;
78
+ }
79
+ .noUi-state-drag * {
80
+ cursor: inherit !important;
81
+ }
82
+ /* Slider size and handle placement;
83
+ */
84
+ .noUi-horizontal {
85
+ @apply h-2;
86
+ }
87
+ .noUi-horizontal .noUi-handle {
88
+ right: -17px;
89
+ top: -6px;
90
+ }
91
+ .noUi-vertical {
92
+ @apply w-2 h-full;
93
+ }
94
+ .noUi-vertical .noUi-handle {
95
+ right: -6px;
96
+ bottom: -17px;
97
+ }
98
+ .noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {
99
+ left: -17px;
100
+ right: auto;
101
+ }
102
+ /* Styling;
103
+ * Giving the connect element a border radius causes issues with using transform: scale
104
+ */
105
+ .noUi-target {
106
+ @apply bg-muted rounded-full;
107
+ }
108
+ .noUi-connects {
109
+ @apply rounded-full;
110
+ }
111
+ .noUi-connect {
112
+ @apply bg-primary;
113
+ }
114
+ /* Handles and cursors;
115
+ */
116
+ .noUi-draggable {
117
+ cursor: ew-resize;
118
+ }
119
+ .noUi-vertical .noUi-draggable {
120
+ cursor: ns-resize;
121
+ }
122
+ .noUi-handle {
123
+ @apply border-primary bg-background ring-ring/50 block rounded-full border shadow-sm;
124
+ @apply transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none;
125
+ @apply disabled:opacity-50 size-5 focus:ring-4 focus:ring-ring/50;
126
+ }
127
+
128
+ .noUi-active {
129
+ @apply ring-4 ring-ring/50;
130
+ }
131
+
132
+ [disabled].noUi-target {
133
+ @apply opacity-50;
134
+ }
135
+ [disabled].noUi-target,
136
+ [disabled].noUi-handle,
137
+ [disabled] .noUi-handle {
138
+ @apply cursor-not-allowed;
139
+ }
140
+ .noUi-tooltip {
141
+ @apply bg-primary text-primary-foreground w-fit rounded-md px-3 py-1.5 text-xs text-balance;
142
+ @apply whitespace-nowrap overflow-hidden block absolute;
143
+ }
144
+ .noUi-tooltip {
145
+ @apply hidden;
146
+ }
147
+ .noUi-active .noUi-tooltip {
148
+ @apply block;
149
+ }
150
+ .noUi-horizontal .noUi-tooltip {
151
+ -webkit-transform: translate(-50%, 0);
152
+ transform: translate(-50%, 0);
153
+ left: 50%;
154
+ bottom: 120%;
155
+ }
156
+ .noUi-vertical .noUi-tooltip {
157
+ -webkit-transform: translate(0, -50%);
158
+ transform: translate(0, -50%);
159
+ top: 50%;
160
+ right: 120%;
161
+ }
162
+ .noUi-horizontal .noUi-origin > .noUi-tooltip {
163
+ -webkit-transform: translate(50%, 0);
164
+ transform: translate(50%, 0);
165
+ left: auto;
166
+ bottom: 10px;
167
+ }
168
+ .noUi-vertical .noUi-origin > .noUi-tooltip {
169
+ -webkit-transform: translate(0, -18px);
170
+ transform: translate(0, -18px);
171
+ top: auto;
172
+ right: 28px;
173
+ }