@boxcustodia/library 2.0.0-alpha.19 → 2.0.0-alpha.20

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 (265) hide show
  1. package/dist/components/button/button.cjs.js +1 -1
  2. package/dist/components/button/button.es.js +19 -18
  3. package/dist/components/button/components/base-button.cjs.js +1 -1
  4. package/dist/components/button/components/base-button.es.js +20 -20
  5. package/dist/components/calendar/calendar.cjs.js +1 -1
  6. package/dist/components/calendar/calendar.es.js +1 -0
  7. package/dist/components/date-picker/date-input.cjs.js +1 -1
  8. package/dist/components/date-picker/date-input.es.js +92 -75
  9. package/dist/components/date-picker/date-picker.cjs.js +1 -1
  10. package/dist/components/date-picker/date-picker.es.js +104 -95
  11. package/dist/components/date-picker/date-picker.utils.cjs.js +1 -1
  12. package/dist/components/date-picker/date-picker.utils.es.js +51 -43
  13. package/dist/components/date-picker/use-hidden-field-value.cjs.js +1 -0
  14. package/dist/components/date-picker/use-hidden-field-value.es.js +11 -0
  15. package/dist/components/menu/menu.es.js +1 -9
  16. package/dist/components/otp/otp.cjs.js +2 -0
  17. package/dist/components/otp/otp.es.js +93 -0
  18. package/dist/components/password/password.cjs.js +1 -1
  19. package/dist/components/password/password.es.js +2 -2
  20. package/dist/components/select/select.cjs.js +1 -1
  21. package/dist/components/select/select.es.js +68 -60
  22. package/dist/hooks/internal/is-apple-device.cjs.js +1 -0
  23. package/dist/hooks/internal/is-apple-device.es.js +9 -0
  24. package/dist/hooks/internal/use-latest-ref.cjs.js +1 -0
  25. package/dist/hooks/internal/use-latest-ref.es.js +11 -0
  26. package/dist/hooks/use-array/use-array.cjs.js +1 -1
  27. package/dist/hooks/use-array/use-array.es.js +54 -42
  28. package/dist/hooks/use-async/use-async.cjs.js +1 -1
  29. package/dist/hooks/use-async/use-async.es.js +53 -20
  30. package/dist/hooks/use-boolean/use-boolean.cjs.js +1 -0
  31. package/dist/hooks/use-boolean/use-boolean.es.js +25 -0
  32. package/dist/hooks/use-click-outside/use-click-outside.cjs.js +1 -1
  33. package/dist/hooks/use-click-outside/use-click-outside.es.js +26 -12
  34. package/dist/hooks/use-debounce-callback/use-debounced-callback.cjs.js +1 -1
  35. package/dist/hooks/use-debounce-callback/use-debounced-callback.es.js +27 -10
  36. package/dist/hooks/use-debounce-value/use-debounced-value.cjs.js +1 -1
  37. package/dist/hooks/use-debounce-value/use-debounced-value.es.js +7 -9
  38. package/dist/hooks/use-disclosure/use-disclosure.cjs.js +1 -1
  39. package/dist/hooks/use-disclosure/use-disclosure.es.js +21 -11
  40. package/dist/hooks/use-document-title/use-document-title.cjs.js +1 -1
  41. package/dist/hooks/use-document-title/use-document-title.es.js +14 -12
  42. package/dist/hooks/use-event-listener/use-event-listener.cjs.js +1 -1
  43. package/dist/hooks/use-event-listener/use-event-listener.es.js +17 -9
  44. package/dist/hooks/use-hotkey/use-hotkey.cjs.js +1 -1
  45. package/dist/hooks/use-hotkey/use-hotkey.es.js +30 -14
  46. package/dist/hooks/use-hotkey/utils/is-input-field.cjs.js +1 -1
  47. package/dist/hooks/use-hotkey/utils/is-input-field.es.js +4 -2
  48. package/dist/hooks/use-hotkey/utils/match-and-run.cjs.js +1 -0
  49. package/dist/hooks/use-hotkey/utils/match-and-run.es.js +12 -0
  50. package/dist/hooks/use-hotkey/utils/match-key-modifiers.cjs.js +1 -1
  51. package/dist/hooks/use-hotkey/utils/match-key-modifiers.es.js +13 -12
  52. package/dist/hooks/use-hover/use-hover.cjs.js +1 -1
  53. package/dist/hooks/use-hover/use-hover.es.js +32 -17
  54. package/dist/hooks/use-is-visible/use-is-visible.cjs.js +1 -1
  55. package/dist/hooks/use-is-visible/use-is-visible.es.js +31 -27
  56. package/dist/hooks/use-local-storage/use-local-storage.cjs.js +1 -1
  57. package/dist/hooks/use-local-storage/use-local-storage.es.js +52 -20
  58. package/dist/hooks/use-media-query/use-media-query.cjs.js +1 -1
  59. package/dist/hooks/use-media-query/use-media-query.es.js +21 -11
  60. package/dist/hooks/use-mutation/use-mutation.cjs.js +1 -1
  61. package/dist/hooks/use-mutation/use-mutation.es.js +36 -22
  62. package/dist/hooks/use-object/use-object.cjs.js +1 -1
  63. package/dist/hooks/use-object/use-object.es.js +26 -22
  64. package/dist/hooks/use-prevent-page-close/use-prevent-page-close.cjs.js +1 -0
  65. package/dist/hooks/use-prevent-page-close/use-prevent-page-close.es.js +14 -0
  66. package/dist/hooks/use-step/use-step.cjs.js +1 -1
  67. package/dist/hooks/use-step/use-step.es.js +25 -24
  68. package/dist/index.cjs.js +1 -1
  69. package/dist/index.es.js +308 -300
  70. package/dist/src/components/date-picker/date-picker.utils.d.ts +17 -0
  71. package/dist/src/components/date-picker/use-hidden-field-value.d.ts +12 -0
  72. package/dist/src/components/index.d.ts +1 -0
  73. package/dist/src/hooks/index.d.ts +2 -2
  74. package/dist/src/hooks/internal/index.d.ts +2 -0
  75. package/dist/src/hooks/internal/is-apple-device.d.ts +12 -0
  76. package/dist/src/hooks/internal/use-latest-ref.d.ts +12 -0
  77. package/dist/src/hooks/use-array/use-array.d.ts +24 -11
  78. package/dist/src/hooks/use-async/use-async.d.ts +16 -13
  79. package/dist/src/hooks/use-boolean/index.d.ts +1 -0
  80. package/dist/src/hooks/use-boolean/use-boolean.d.ts +15 -0
  81. package/dist/src/hooks/use-boolean/use-boolean.test.d.ts +1 -0
  82. package/dist/src/hooks/use-click-outside/use-click-outside.d.ts +23 -1
  83. package/dist/src/hooks/use-debounce-callback/use-debounced-callback.d.ts +19 -1
  84. package/dist/src/hooks/use-debounce-value/use-debounced-value.d.ts +10 -1
  85. package/dist/src/hooks/use-disclosure/use-disclosure.d.ts +17 -8
  86. package/dist/src/hooks/use-document-title/use-document-title.d.ts +11 -0
  87. package/dist/src/hooks/use-event-listener/use-event-listener.d.ts +18 -1
  88. package/dist/src/hooks/use-hotkey/index.d.ts +2 -1
  89. package/dist/src/hooks/use-hotkey/use-hotkey.d.ts +62 -5
  90. package/dist/src/hooks/use-hotkey/utils/index.d.ts +4 -3
  91. package/dist/src/hooks/use-hotkey/utils/is-input-field.d.ts +12 -2
  92. package/dist/src/hooks/use-hotkey/utils/is-input-field.test.d.ts +1 -0
  93. package/dist/src/hooks/use-hotkey/utils/match-and-run.d.ts +36 -0
  94. package/dist/src/hooks/use-hotkey/utils/match-and-run.test.d.ts +1 -0
  95. package/dist/src/hooks/use-hotkey/utils/match-key-modifiers.d.ts +20 -6
  96. package/dist/src/hooks/use-hotkey/utils/match-key-modifiers.test.d.ts +1 -0
  97. package/dist/src/hooks/use-hover/use-hover.d.ts +8 -4
  98. package/dist/src/hooks/use-is-visible/use-is-visible.d.ts +28 -4
  99. package/dist/src/hooks/use-local-storage/use-local-storage.d.ts +13 -2
  100. package/dist/src/hooks/use-media-query/use-media-query.d.ts +10 -1
  101. package/dist/src/hooks/use-media-query/use-media-query.test.d.ts +1 -0
  102. package/dist/src/hooks/use-mutation/use-mutation.d.ts +18 -11
  103. package/dist/src/hooks/use-object/use-object.d.ts +15 -6
  104. package/dist/src/hooks/use-prevent-page-close/index.d.ts +1 -0
  105. package/dist/src/hooks/use-prevent-page-close/use-prevent-page-close.d.ts +10 -0
  106. package/dist/src/hooks/use-prevent-page-close/use-prevent-page-close.test.d.ts +1 -0
  107. package/dist/src/hooks/use-step/use-step.d.ts +18 -11
  108. package/dist/src/utils/form.d.ts +10 -0
  109. package/package.json +1 -1
  110. package/src/components/alert-dialog/alert-dialog.test.tsx +13 -9
  111. package/src/components/auto-complete/auto-complete.test.tsx +4 -14
  112. package/src/components/avatar/avatar.test.tsx +7 -12
  113. package/src/components/button/button.test.tsx +10 -15
  114. package/src/components/button/button.tsx +14 -9
  115. package/src/components/button/components/base-button.tsx +2 -4
  116. package/src/components/calendar/calendar.test.tsx +12 -19
  117. package/src/components/calendar/calendar.tsx +4 -0
  118. package/src/components/card/card.test.tsx +4 -6
  119. package/src/components/checkbox/checkbox.test.tsx +12 -8
  120. package/src/components/checkbox-group/checkbox-group.test.tsx +7 -8
  121. package/src/components/combobox/combobox.test.tsx +24 -21
  122. package/src/components/date-picker/date-input-form.test.tsx +77 -0
  123. package/src/components/date-picker/date-input.stories.tsx +30 -18
  124. package/src/components/date-picker/date-input.tsx +77 -44
  125. package/src/components/date-picker/date-picker.stories.tsx +31 -1
  126. package/src/components/date-picker/date-picker.test.tsx +3 -13
  127. package/src/components/date-picker/date-picker.tsx +35 -16
  128. package/src/components/date-picker/date-picker.utils.test.ts +32 -14
  129. package/src/components/date-picker/date-picker.utils.ts +33 -0
  130. package/src/components/date-picker/use-date-input-popover.test.ts +3 -1
  131. package/src/components/date-picker/use-hidden-field-value.ts +23 -0
  132. package/src/components/dialog/dialog.test.tsx +10 -8
  133. package/src/components/dropzone/dropzone.test.tsx +11 -13
  134. package/src/components/empty/empty.test.tsx +4 -3
  135. package/src/components/field/field.test.tsx +12 -13
  136. package/src/components/form/form.stories.tsx +16 -1
  137. package/src/components/index.ts +1 -0
  138. package/src/components/label/label.test.tsx +3 -3
  139. package/src/components/menu/menu.tsx +1 -5
  140. package/src/components/number-input/number-input.test.tsx +6 -2
  141. package/src/components/password/password.test.tsx +20 -6
  142. package/src/components/password/password.tsx +2 -2
  143. package/src/components/popover/popover.test.tsx +4 -4
  144. package/src/components/progress/progress.test.tsx +7 -8
  145. package/src/components/radio-group/radio-group.test.tsx +17 -11
  146. package/src/components/select/select.test.tsx +10 -10
  147. package/src/components/select/select.tsx +9 -1
  148. package/src/components/stepper/stepper.stories.tsx +11 -15
  149. package/src/components/stepper/stepper.test.tsx +6 -4
  150. package/src/components/switch/switch.test.tsx +3 -3
  151. package/src/components/table/table.test.tsx +9 -3
  152. package/src/components/tabs/tabs.test.tsx +6 -2
  153. package/src/components/tag/tag.test.tsx +1 -3
  154. package/src/components/textarea/textarea.test.tsx +4 -1
  155. package/src/components/timeline/timeline.test.tsx +10 -5
  156. package/src/components/toast/toast.test.tsx +11 -14
  157. package/src/components/tooltip/tooltip.test.tsx +1 -5
  158. package/src/components/tree/tree.test.tsx +3 -1
  159. package/src/hooks/index.ts +2 -2
  160. package/src/hooks/internal/index.ts +2 -0
  161. package/src/hooks/internal/is-apple-device.test.ts +41 -0
  162. package/src/hooks/internal/is-apple-device.ts +33 -0
  163. package/src/hooks/internal/use-isomorphic-layout-effect.ts +3 -1
  164. package/src/hooks/internal/use-latest-ref.ts +21 -0
  165. package/src/hooks/use-array/use-array.stories.tsx +435 -64
  166. package/src/hooks/use-array/use-array.test.tsx +398 -15
  167. package/src/hooks/use-array/use-array.ts +105 -66
  168. package/src/hooks/use-async/use-async.stories.tsx +255 -131
  169. package/src/hooks/use-async/use-async.test.ts +397 -0
  170. package/src/hooks/use-async/use-async.ts +117 -39
  171. package/src/hooks/use-boolean/index.ts +1 -0
  172. package/src/hooks/use-boolean/use-boolean.stories.tsx +377 -0
  173. package/src/hooks/use-boolean/use-boolean.test.tsx +177 -0
  174. package/src/hooks/use-boolean/use-boolean.ts +50 -0
  175. package/src/hooks/use-click-outside/use-click-outside.stories.tsx +188 -18
  176. package/src/hooks/use-click-outside/use-click-outside.test.tsx +89 -10
  177. package/src/hooks/use-click-outside/use-click-outside.ts +62 -16
  178. package/src/hooks/use-debounce-callback/use-debounced-callback.stories.tsx +141 -41
  179. package/src/hooks/use-debounce-callback/use-debounced-callback.test.ts +217 -9
  180. package/src/hooks/use-debounce-callback/use-debounced-callback.ts +71 -11
  181. package/src/hooks/use-debounce-value/use-debounced-value.stories.tsx +247 -47
  182. package/src/hooks/use-debounce-value/use-debounced-value.test.ts +105 -10
  183. package/src/hooks/use-debounce-value/use-debounced-value.ts +19 -10
  184. package/src/hooks/use-disclosure/use-disclosure.stories.tsx +305 -14
  185. package/src/hooks/use-disclosure/use-disclosure.test.ts +198 -50
  186. package/src/hooks/use-disclosure/use-disclosure.ts +49 -29
  187. package/src/hooks/use-document-title/use-document-title.stories.tsx +54 -0
  188. package/src/hooks/use-document-title/use-document-title.test.tsx +26 -0
  189. package/src/hooks/use-document-title/{use-document-title.tsx → use-document-title.ts} +17 -3
  190. package/src/hooks/use-event-listener/use-event-listener.stories.tsx +105 -9
  191. package/src/hooks/use-event-listener/use-event-listener.test.tsx +77 -10
  192. package/src/hooks/use-event-listener/use-event-listener.ts +71 -11
  193. package/src/hooks/use-focus-trap/use-focus-trap.test.ts +31 -6
  194. package/src/hooks/use-focus-trap/use-focus-trap.ts +3 -2
  195. package/src/hooks/use-hotkey/index.ts +9 -1
  196. package/src/hooks/use-hotkey/use-hotkey.stories.tsx +279 -74
  197. package/src/hooks/use-hotkey/use-hotkey.test.tsx +286 -34
  198. package/src/hooks/use-hotkey/use-hotkey.ts +141 -17
  199. package/src/hooks/use-hotkey/utils/index.ts +8 -3
  200. package/src/hooks/use-hotkey/utils/is-input-field.test.ts +78 -0
  201. package/src/hooks/use-hotkey/utils/is-input-field.ts +31 -10
  202. package/src/hooks/use-hotkey/utils/match-and-run.test.ts +203 -0
  203. package/src/hooks/use-hotkey/utils/match-and-run.ts +62 -0
  204. package/src/hooks/use-hotkey/utils/match-key-modifiers.test.ts +65 -0
  205. package/src/hooks/use-hotkey/utils/match-key-modifiers.ts +39 -12
  206. package/src/hooks/use-hover/use-hover.stories.tsx +258 -80
  207. package/src/hooks/use-hover/use-hover.test.tsx +266 -26
  208. package/src/hooks/use-hover/use-hover.tsx +93 -28
  209. package/src/hooks/use-is-visible/use-is-visible.stories.tsx +193 -46
  210. package/src/hooks/use-is-visible/use-is-visible.test.tsx +235 -7
  211. package/src/hooks/use-is-visible/use-is-visible.ts +114 -0
  212. package/src/hooks/use-local-storage/use-local-storage.stories.tsx +129 -29
  213. package/src/hooks/use-local-storage/use-local-storage.test.ts +106 -41
  214. package/src/hooks/use-local-storage/use-local-storage.ts +100 -31
  215. package/src/hooks/use-media-query/use-media-query.stories.tsx +86 -26
  216. package/src/hooks/use-media-query/use-media-query.test.ts +132 -0
  217. package/src/hooks/use-media-query/use-media-query.ts +39 -14
  218. package/src/hooks/use-memoized-fn/use-memoized-fn.ts +0 -1
  219. package/src/hooks/use-mutation/use-mutation.stories.tsx +260 -94
  220. package/src/hooks/use-mutation/use-mutation.test.ts +359 -0
  221. package/src/hooks/use-mutation/use-mutation.ts +97 -0
  222. package/src/hooks/use-object/use-object.stories.tsx +310 -79
  223. package/src/hooks/use-object/use-object.test.tsx +235 -56
  224. package/src/hooks/use-object/use-object.ts +59 -0
  225. package/src/hooks/use-pagination/use-pagination.tsx +0 -1
  226. package/src/hooks/use-prevent-page-close/index.ts +1 -0
  227. package/src/hooks/use-prevent-page-close/use-prevent-page-close.stories.tsx +39 -0
  228. package/src/hooks/use-prevent-page-close/use-prevent-page-close.test.ts +89 -0
  229. package/src/hooks/use-prevent-page-close/use-prevent-page-close.ts +27 -0
  230. package/src/hooks/use-range-pagination/use-range-pagination.test.tsx +1 -1
  231. package/src/hooks/use-range-pagination/use-range-pagination.tsx +1 -1
  232. package/src/hooks/use-selection/use-selection.ts +0 -1
  233. package/src/hooks/use-step/use-step.stories.tsx +178 -65
  234. package/src/hooks/use-step/use-step.test.ts +178 -53
  235. package/src/hooks/use-step/use-step.ts +57 -49
  236. package/src/utils/form.test.tsx +13 -8
  237. package/src/utils/form.tsx +10 -0
  238. package/src/utils/functions/getFormData.test.ts +1 -1
  239. package/dist/hooks/use-hotkey/utils/create-hotkey-listener.cjs.js +0 -1
  240. package/dist/hooks/use-hotkey/utils/create-hotkey-listener.es.js +0 -10
  241. package/dist/hooks/use-prevent-close-window/use-prevent-close-window.cjs.js +0 -1
  242. package/dist/hooks/use-prevent-close-window/use-prevent-close-window.es.js +0 -15
  243. package/dist/hooks/use-toggle/use-toggle.cjs.js +0 -1
  244. package/dist/hooks/use-toggle/use-toggle.es.js +0 -10
  245. package/dist/src/hooks/use-hotkey/utils/create-hotkey-listener.d.ts +0 -1
  246. package/dist/src/hooks/use-prevent-close-window/index.d.ts +0 -1
  247. package/dist/src/hooks/use-prevent-close-window/use-prevent-close-window.d.ts +0 -13
  248. package/dist/src/hooks/use-toggle/index.d.ts +0 -1
  249. package/dist/src/hooks/use-toggle/use-toggle.d.ts +0 -3
  250. package/src/hooks/use-async/use-async.test.tsx +0 -68
  251. package/src/hooks/use-hotkey/utils/create-hotkey-listener.ts +0 -25
  252. package/src/hooks/use-is-visible/use-is-visible.tsx +0 -49
  253. package/src/hooks/use-mutation/use-mutation.test.tsx +0 -83
  254. package/src/hooks/use-mutation/use-mutation.tsx +0 -59
  255. package/src/hooks/use-object/use-object.tsx +0 -46
  256. package/src/hooks/use-prevent-close-window/index.ts +0 -1
  257. package/src/hooks/use-prevent-close-window/use-prevent-close-window.stories.tsx +0 -32
  258. package/src/hooks/use-prevent-close-window/use-prevent-close-window.test.ts +0 -79
  259. package/src/hooks/use-prevent-close-window/use-prevent-close-window.ts +0 -33
  260. package/src/hooks/use-toggle/index.ts +0 -1
  261. package/src/hooks/use-toggle/use-toggle.stories.tsx +0 -25
  262. package/src/hooks/use-toggle/use-toggle.test.tsx +0 -64
  263. package/src/hooks/use-toggle/use-toggle.ts +0 -14
  264. /package/dist/src/{hooks/use-prevent-close-window/use-prevent-close-window.test.d.ts → components/date-picker/date-input-form.test.d.ts} +0 -0
  265. /package/dist/src/hooks/{use-toggle/use-toggle.test.d.ts → internal/is-apple-device.test.d.ts} +0 -0
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),o=require("class-variance-authority"),d=require("./components/base-button.cjs.js"),s=require("../../lib/cn.cjs.js"),r=o.cva(["group/button relative inline-flex shrink-0 items-center justify-center gap-1 rounded-lg border border-transparent bg-clip-padding","text-sm font-medium whitespace-nowrap transition-all outline-none select-none","focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50","active:not-aria-[haspopup]:translate-y-px","disabled:pointer-events-none disabled:opacity-50","aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40","[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","[&[data-loading]>[data-content]]:invisible","[&[data-loading]]:pointer-events-none"],{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",outline:"border-border hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",error:"bg-error text-error-foreground hover:bg-error/90",success:"bg-success text-success-foreground hover:bg-success/90",warning:"bg-warning text-warning-foreground hover:bg-warning/90",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 px-2.5",xs:"h-6 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3",sm:"h-7 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 px-2.5",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}}),u=({variant:e,size:n,className:t,...a})=>i.jsx(d.BaseButton,{...a,className:s.cn(r({variant:e,size:n}),t),"data-variant":e||"default"});exports.Button=u;exports.buttonVariants=r;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),i=require("class-variance-authority"),d=require("./components/base-button.cjs.js"),s=require("../../lib/cn.cjs.js"),e=i.cva(["group/button relative inline-flex shrink-0 items-center justify-center gap-1 rounded-lg border border-transparent bg-clip-padding","text-sm font-medium whitespace-nowrap transition-all outline-none select-none","focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50","active:not-aria-[haspopup]:translate-y-px","disabled:pointer-events-none disabled:opacity-50","aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40","[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","[&[data-loading]]:text-transparent","[&[data-loading]>*:not([data-loader])]:invisible","[&[data-loading]]:pointer-events-none"],{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90 [--btn-loader-color:var(--color-primary-foreground)]",outline:"border-border hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:hover:bg-input/50 [--btn-loader-color:var(--color-foreground)]",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground [--btn-loader-color:var(--color-secondary-foreground)]",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 [--btn-loader-color:var(--color-foreground)]",error:"bg-error text-error-foreground hover:bg-error/90 [--btn-loader-color:var(--color-error-foreground)]",success:"bg-success text-success-foreground hover:bg-success/90 [--btn-loader-color:var(--color-success-foreground)]",warning:"bg-warning text-warning-foreground hover:bg-warning/90 [--btn-loader-color:var(--color-warning-foreground)]",link:"text-primary underline-offset-4 hover:underline [--btn-loader-color:var(--color-primary)]"},size:{default:"h-8 px-2.5",xs:"h-6 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3",sm:"h-7 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 px-2.5",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}}),u=({variant:r,size:o,className:n,...a})=>t.jsx(d.BaseButton,{...a,className:s.cn(e({variant:r,size:o}),n),"data-variant":r||"default"});exports.Button=u;exports.buttonVariants=e;
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { jsx as a } from "react/jsx-runtime";
3
- import { cva as o } from "class-variance-authority";
4
- import { BaseButton as i } from "./components/base-button.es.js";
5
- import { cn as d } from "../../lib/cn.es.js";
6
- const s = o(
3
+ import { cva as t } from "class-variance-authority";
4
+ import { BaseButton as d } from "./components/base-button.es.js";
5
+ import { cn as i } from "../../lib/cn.es.js";
6
+ const s = t(
7
7
  [
8
8
  "group/button relative inline-flex shrink-0 items-center justify-center gap-1 rounded-lg border border-transparent bg-clip-padding",
9
9
  "text-sm font-medium whitespace-nowrap transition-all outline-none select-none",
@@ -12,20 +12,21 @@ const s = o(
12
12
  "disabled:pointer-events-none disabled:opacity-50",
13
13
  "aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
14
14
  "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
15
- "[&[data-loading]>[data-content]]:invisible",
15
+ "[&[data-loading]]:text-transparent",
16
+ "[&[data-loading]>*:not([data-loader])]:invisible",
16
17
  "[&[data-loading]]:pointer-events-none"
17
18
  ],
18
19
  {
19
20
  variants: {
20
21
  variant: {
21
- default: "bg-primary text-primary-foreground hover:bg-primary/90",
22
- outline: "border-border hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:hover:bg-input/50",
23
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
24
- ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
25
- error: "bg-error text-error-foreground hover:bg-error/90",
26
- success: "bg-success text-success-foreground hover:bg-success/90",
27
- warning: "bg-warning text-warning-foreground hover:bg-warning/90",
28
- link: "text-primary underline-offset-4 hover:underline"
22
+ default: "bg-primary text-primary-foreground hover:bg-primary/90 [--btn-loader-color:var(--color-primary-foreground)]",
23
+ outline: "border-border hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:hover:bg-input/50 [--btn-loader-color:var(--color-foreground)]",
24
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground [--btn-loader-color:var(--color-secondary-foreground)]",
25
+ ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 [--btn-loader-color:var(--color-foreground)]",
26
+ error: "bg-error text-error-foreground hover:bg-error/90 [--btn-loader-color:var(--color-error-foreground)]",
27
+ success: "bg-success text-success-foreground hover:bg-success/90 [--btn-loader-color:var(--color-success-foreground)]",
28
+ warning: "bg-warning text-warning-foreground hover:bg-warning/90 [--btn-loader-color:var(--color-warning-foreground)]",
29
+ link: "text-primary underline-offset-4 hover:underline [--btn-loader-color:var(--color-primary)]"
29
30
  },
30
31
  size: {
31
32
  default: "h-8 px-2.5",
@@ -43,12 +44,12 @@ const s = o(
43
44
  size: "default"
44
45
  }
45
46
  }
46
- ), v = ({ variant: e, size: r, className: n, ...t }) => /* @__PURE__ */ a(
47
- i,
47
+ ), v = ({ variant: r, size: e, className: o, ...n }) => /* @__PURE__ */ a(
48
+ d,
48
49
  {
49
- ...t,
50
- className: d(s({ variant: e, size: r }), n),
51
- "data-variant": e || "default"
50
+ ...n,
51
+ className: i(s({ variant: r, size: e }), o),
52
+ "data-variant": r || "default"
52
53
  }
53
54
  );
54
55
  export {
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("@base-ui/react/button"),b=require("@radix-ui/react-use-controllable-state"),f=require("lucide-react"),m=({onClick:a,loading:o,style:i,children:l,...r})=>{const[t=!1,n]=b.useControllableState({prop:o,defaultProp:!1}),u=async c=>{if(!a||t)return;const s=a(c);s instanceof Promise&&(n(!0),await s.finally(()=>n(!1)))};return e.jsxs(d.Button,{"data-slot":"button","data-loading":t||void 0,"aria-busy":t||void 0,...r,onClick:u,style:i,children:[e.jsx("span",{"data-content":!0,className:"contents",children:l}),t&&e.jsx(f.LoaderCircle,{"data-loader":!0,"data-testid":"btn-loader",className:"absolute inset-0 m-auto size-4 animate-spin"})]})};exports.BaseButton=m;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),d=require("@base-ui/react/button"),b=require("@radix-ui/react-use-controllable-state"),f=require("lucide-react"),g=({onClick:e,loading:r,style:s,children:l,...i})=>{const[t=!1,a]=b.useControllableState({prop:r,defaultProp:!1}),u=async c=>{if(!e||t)return;const o=e(c);o instanceof Promise&&(a(!0),await o.finally(()=>a(!1)))};return n.jsxs(d.Button,{"data-slot":"button","data-loading":t||void 0,"aria-busy":t||void 0,...i,onClick:u,style:s,children:[l,t&&n.jsx(f.LoaderCircle,{"data-loader":!0,"data-testid":"btn-loader",className:"absolute inset-0 m-auto size-4 animate-spin text-[var(--btn-loader-color,currentColor)]"})]})};exports.BaseButton=g;
@@ -1,40 +1,40 @@
1
1
  "use client";
2
- import { jsxs as c, jsx as n } from "react/jsx-runtime";
2
+ import { jsxs as d, jsx as c } from "react/jsx-runtime";
3
3
  import { Button as u } from "@base-ui/react/button";
4
- import { useControllableState as m } from "@radix-ui/react-use-controllable-state";
5
- import { LoaderCircle as f } from "lucide-react";
6
- const k = ({
4
+ import { useControllableState as f } from "@radix-ui/react-use-controllable-state";
5
+ import { LoaderCircle as m } from "lucide-react";
6
+ const h = ({
7
7
  onClick: a,
8
- loading: s,
9
- style: i,
10
- children: l,
11
- ...r
8
+ loading: r,
9
+ style: l,
10
+ children: n,
11
+ ...i
12
12
  }) => {
13
- const [t = !1, o] = m({
14
- prop: s,
13
+ const [t = !1, o] = f({
14
+ prop: r,
15
15
  defaultProp: !1
16
16
  });
17
- return /* @__PURE__ */ c(
17
+ return /* @__PURE__ */ d(
18
18
  u,
19
19
  {
20
20
  "data-slot": "button",
21
21
  "data-loading": t || void 0,
22
22
  "aria-busy": t || void 0,
23
- ...r,
24
- onClick: async (d) => {
23
+ ...i,
24
+ onClick: async (s) => {
25
25
  if (!a || t) return;
26
- const e = a(d);
26
+ const e = a(s);
27
27
  e instanceof Promise && (o(!0), await e.finally(() => o(!1)));
28
28
  },
29
- style: i,
29
+ style: l,
30
30
  children: [
31
- /* @__PURE__ */ n("span", { "data-content": !0, className: "contents", children: l }),
32
- t && /* @__PURE__ */ n(
33
- f,
31
+ n,
32
+ t && /* @__PURE__ */ c(
33
+ m,
34
34
  {
35
35
  "data-loader": !0,
36
36
  "data-testid": "btn-loader",
37
- className: "absolute inset-0 m-auto size-4 animate-spin"
37
+ className: "absolute inset-0 m-auto size-4 animate-spin text-[var(--btn-loader-color,currentColor)]"
38
38
  }
39
39
  )
40
40
  ]
@@ -42,5 +42,5 @@ const k = ({
42
42
  );
43
43
  };
44
44
  export {
45
- k as BaseButton
45
+ h as BaseButton
46
46
  };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),_=require("date-fns/locale"),g=require("lucide-react"),w=require("react-day-picker"),C=require("../select/select.cjs.js"),a=require("../../lib/cn.cjs.js"),p=new Date().getFullYear(),j=new Date(p-100,0),D=new Date(p+100,11);function N({options:l=[],value:d,onChange:o}){const i=l.map(e=>({label:e.label??"",value:e.value??0})),c=i.find(e=>e.value===Number(d))??null;return r.jsx(C.Select,{items:i,value:c,className:"py-1 h-7",getLabel:e=>e.label,getId:e=>String(e.value),onValueChange:e=>{!o||e===null||o({target:{value:String(e.value)}})}})}const m="relative flex size-(--cell-size) text-base sm:text-sm items-center justify-center rounded-lg text-foreground not-in-data-selected:hover:bg-accent disabled:pointer-events-none disabled:opacity-64 [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0";function k({className:l,classNames:d,showOutsideDays:o=!0,components:i,mode:c="single",captionLayout:e="dropdown",startMonth:b=j,endMonth:x=D,...v}){const u={button_next:m,button_previous:m,caption_label:"text-base sm:text-sm font-medium flex items-center gap-2 h-full",day:"size-(--cell-size) text-sm py-px",day_button:a.cn(m,"in-data-disabled:pointer-events-none in-[.range-middle]:rounded-none in-[.range-end:not(.range-start)]:rounded-s-none in-[.range-start:not(.range-end)]:rounded-e-none in-[.range-middle]:in-data-selected:bg-accent in-data-selected:bg-primary in-[.range-middle]:in-data-selected:text-foreground in-data-disabled:text-muted-foreground/72 in-data-outside:text-muted-foreground/72 in-data-selected:in-data-outside:text-primary-foreground in-data-selected:text-primary-foreground in-data-disabled:line-through outline-none in-[[data-selected]:not(.range-middle)]:transition-[color,background-color,border-radius,box-shadow] focus-visible:z-1 focus-visible:ring-[3px] focus-visible:ring-ring/50"),dropdown:"absolute bg-popover inset-0 opacity-0",dropdown_root:"relative has-focus:border-ring has-focus:ring-ring/50 has-focus:ring-[3px] border border-input shadow-xs/5 rounded-lg px-[calc(--spacing(3)-1px)] h-9 sm:h-8 [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:-me-1",dropdowns:"w-full flex items-center text-base sm:text-sm justify-center h-(--cell-size) gap-1.5 *:[span]:font-medium",hidden:"invisible",month:"w-full",month_caption:"relative mx-(--cell-size) px-1 mb-1 flex h-(--cell-size) items-center justify-center z-2",months:"relative flex flex-col sm:flex-row gap-2",nav:"absolute top-0 flex w-full justify-between z-1",outside:"text-muted-foreground data-selected:bg-accent/50 data-selected:text-muted-foreground",range_end:"range-end",range_middle:"range-middle",range_start:"range-start",today:"*:after:pointer-events-none *:after:absolute *:after:bottom-1 *:after:start-1/2 *:after:z-1 *:after:size-[3px] *:after:-translate-x-1/2 *:after:rounded-full *:after:bg-primary [&[data-selected]:not(.range-middle)>*]:after:bg-background [&[data-disabled]>*]:after:bg-foreground/30 *:after:transition-colors",week_number:"size-(--cell-size) p-0 text-xs font-medium text-muted-foreground/72",weekday:"size-(--cell-size) p-0 text-xs font-medium text-muted-foreground/72"},h=Object.keys(u).reduce((t,n)=>{const s=d?.[n],f=u[n];return t[n]=s?a.cn(f,s):f,t},{...u}),z={...{Dropdown:N,Chevron:({className:t,orientation:n,...s})=>n==="left"?r.jsx(g.ChevronLeftIcon,{className:a.cn(t,"rtl:rotate-180"),...s,"aria-hidden":"true"}):n==="right"?r.jsx(g.ChevronRightIcon,{className:a.cn(t,"rtl:rotate-180"),...s,"aria-hidden":"true"}):r.jsx(g.ChevronsUpDownIcon,{className:t,...s,"aria-hidden":"true"})},...i},y={className:a.cn("w-fit [--cell-size:--spacing(10)] sm:[--cell-size:--spacing(9)]",l),classNames:h,components:z,"data-slot":"calendar",formatters:{formatMonthDropdown:t=>t.toLocaleString("es",{month:"short"})},locale:_.es,weekStartsOn:1,captionLayout:e,startMonth:b,endMonth:x,mode:c,showOutsideDays:o,...v};return r.jsx(w.DayPicker,{...y})}exports.Calendar=k;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),_=require("date-fns/locale"),g=require("lucide-react"),w=require("react-day-picker"),C=require("../select/select.cjs.js"),a=require("../../lib/cn.cjs.js"),p=new Date().getFullYear(),j=new Date(p-100,0),D=new Date(p+100,11);function N({options:l=[],value:d,onChange:o}){const i=l.map(e=>({label:e.label??"",value:e.value??0})),c=i.find(e=>e.value===Number(d))??null;return r.jsx(C.Select,{items:i,value:c,"aria-invalid":!1,className:"py-1 h-7",getLabel:e=>e.label,getId:e=>String(e.value),onValueChange:e=>{!o||e===null||o({target:{value:String(e.value)}})}})}const m="relative flex size-(--cell-size) text-base sm:text-sm items-center justify-center rounded-lg text-foreground not-in-data-selected:hover:bg-accent disabled:pointer-events-none disabled:opacity-64 [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0";function k({className:l,classNames:d,showOutsideDays:o=!0,components:i,mode:c="single",captionLayout:e="dropdown",startMonth:b=j,endMonth:x=D,...v}){const u={button_next:m,button_previous:m,caption_label:"text-base sm:text-sm font-medium flex items-center gap-2 h-full",day:"size-(--cell-size) text-sm py-px",day_button:a.cn(m,"in-data-disabled:pointer-events-none in-[.range-middle]:rounded-none in-[.range-end:not(.range-start)]:rounded-s-none in-[.range-start:not(.range-end)]:rounded-e-none in-[.range-middle]:in-data-selected:bg-accent in-data-selected:bg-primary in-[.range-middle]:in-data-selected:text-foreground in-data-disabled:text-muted-foreground/72 in-data-outside:text-muted-foreground/72 in-data-selected:in-data-outside:text-primary-foreground in-data-selected:text-primary-foreground in-data-disabled:line-through outline-none in-[[data-selected]:not(.range-middle)]:transition-[color,background-color,border-radius,box-shadow] focus-visible:z-1 focus-visible:ring-[3px] focus-visible:ring-ring/50"),dropdown:"absolute bg-popover inset-0 opacity-0",dropdown_root:"relative has-focus:border-ring has-focus:ring-ring/50 has-focus:ring-[3px] border border-input shadow-xs/5 rounded-lg px-[calc(--spacing(3)-1px)] h-9 sm:h-8 [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:-me-1",dropdowns:"w-full flex items-center text-base sm:text-sm justify-center h-(--cell-size) gap-1.5 *:[span]:font-medium",hidden:"invisible",month:"w-full",month_caption:"relative mx-(--cell-size) px-1 mb-1 flex h-(--cell-size) items-center justify-center z-2",months:"relative flex flex-col sm:flex-row gap-2",nav:"absolute top-0 flex w-full justify-between z-1",outside:"text-muted-foreground data-selected:bg-accent/50 data-selected:text-muted-foreground",range_end:"range-end",range_middle:"range-middle",range_start:"range-start",today:"*:after:pointer-events-none *:after:absolute *:after:bottom-1 *:after:start-1/2 *:after:z-1 *:after:size-[3px] *:after:-translate-x-1/2 *:after:rounded-full *:after:bg-primary [&[data-selected]:not(.range-middle)>*]:after:bg-background [&[data-disabled]>*]:after:bg-foreground/30 *:after:transition-colors",week_number:"size-(--cell-size) p-0 text-xs font-medium text-muted-foreground/72",weekday:"size-(--cell-size) p-0 text-xs font-medium text-muted-foreground/72"},h=Object.keys(u).reduce((t,n)=>{const s=d?.[n],f=u[n];return t[n]=s?a.cn(f,s):f,t},{...u}),z={...{Dropdown:N,Chevron:({className:t,orientation:n,...s})=>n==="left"?r.jsx(g.ChevronLeftIcon,{className:a.cn(t,"rtl:rotate-180"),...s,"aria-hidden":"true"}):n==="right"?r.jsx(g.ChevronRightIcon,{className:a.cn(t,"rtl:rotate-180"),...s,"aria-hidden":"true"}):r.jsx(g.ChevronsUpDownIcon,{className:t,...s,"aria-hidden":"true"})},...i},y={className:a.cn("w-fit [--cell-size:--spacing(10)] sm:[--cell-size:--spacing(9)]",l),classNames:h,components:z,"data-slot":"calendar",formatters:{formatMonthDropdown:t=>t.toLocaleString("es",{month:"short"})},locale:_.es,weekStartsOn:1,captionLayout:e,startMonth:b,endMonth:x,mode:c,showOutsideDays:o,...v};return r.jsx(w.DayPicker,{...y})}exports.Calendar=k;
@@ -20,6 +20,7 @@ function S({
20
20
  {
21
21
  items: i,
22
22
  value: c,
23
+ "aria-invalid": !1,
23
24
  className: "py-1 h-7",
24
25
  getLabel: (e) => e.label,
25
26
  getId: (e) => String(e.value),
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),T=require("@radix-ui/react-use-controllable-state"),h=require("date-fns"),B=require("lucide-react"),F=require("./use-date-input.cjs.js"),R=require("./use-date-input-popover.cjs.js"),l=require("../popover/popover.cjs.js"),O=require("../field/field.cjs.js"),V=require("../calendar/calendar.cjs.js"),k=require("../../lib/cn.cjs.js"),E=require("../input/input.cjs.js"),M=f=>{const{placeholder:s,value:g,onValueChange:v,defaultValue:m,autoComplete:D,className:b,disabledDate:n,renderFooter:C,disabled:o,onBlur:x,...y}=f,[r,i]=T.useControllableState({prop:g,onChange:e=>v?.(e??null),defaultProp:m??null}),{inputValue:j,handleChange:P,handleBlur:q,handleKeyDown:w,clear:I,setFromExternalDate:a}=F.useDateInput({date:r??null,onDateChange:e=>i(e),disabledDate:n}),{open:S,setOpen:u,handleInputKeyDown:N,inputRef:d}=R.useDateInputPopover({disabled:o}),K=e=>{w(e),N(e)},c=C?.({value:r??null,clear:()=>{a(null),I()},selectToday:()=>{const e=new Date;n?.(e)||a(e)},setValue:e=>{const p=e&&h.isDate(e)?e:null;i(p),a(p)}});return t.jsxs(l.PopoverRoot,{"data-slot":"date-input",open:S,onOpenChange:u,children:[t.jsxs("div",{className:k.cn(E.inputBaseClasses,"flex items-center gap-2 h-8","has-[:focus-visible]:border-ring","aria-invalid:border-error has-[:focus-visible]:aria-invalid:ring-error/20","has-aria-invalid:border-error has-[:focus-visible]:has-aria-invalid:ring-error/20","has-[:disabled]:cursor-not-allowed has-[:disabled]:opacity-50",!r&&"text-muted-foreground",b,"field-error"),onClick:e=>{e.target===e.currentTarget&&d.current?.focus()},children:[t.jsxs(l.PopoverTrigger,{type:"button",disabled:o,"data-slot":"date-input-trigger",className:"flex shrink-0 items-center justify-center text-muted-foreground hover:text-foreground",children:[t.jsx(B.CalendarIcon,{"data-slot":"date-input-icon"}),t.jsx("span",{className:"sr-only",children:"Seleccionar fecha"})]}),t.jsx(O.FieldControl,{render:t.jsx("input",{type:"text",value:j,onChange:P,onBlur:e=>{q(),x?.(e)},onKeyDown:K,placeholder:s??"dd/mm/aaaa",autoComplete:D??"off",disabled:o,className:"flex-1 min-w-0 bg-transparent outline-none text-start truncate pt-px","aria-label":s,ref:d,...y})})]}),t.jsxs(l.PopoverPopup,{className:"w-auto p-0",align:"start","data-slot":"date-input-content",children:[t.jsx(V.Calendar,{className:"border-none",mode:"single",selected:r??void 0,onSelect:e=>{if(!e||!h.isDate(e)){a(null);return}n?.(e)||(a(e),u(!1))},disabled:n}),c&&t.jsx("div",{className:"p-2","data-slot":"date-input-footer",children:c})]})]})};exports.DateInput=M;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),B=require("@radix-ui/react-use-controllable-state"),l=require("date-fns"),M=require("lucide-react"),O=require("./use-date-input.cjs.js"),k=require("./use-date-input-popover.cjs.js"),H=require("./use-hidden-field-value.cjs.js"),i=require("../popover/popover.cjs.js"),f=require("../field/field.cjs.js"),E=require("../calendar/calendar.cjs.js"),U=require("../../lib/cn.cjs.js"),z=require("../input/input.cjs.js"),A=m=>{const{placeholder:u,value:v,onValueChange:g,defaultValue:y,autoComplete:b,className:x,disabledDate:n,renderFooter:D,disabled:o,onBlur:C,required:j,...q}=m,[a,d]=B.useControllableState({prop:v,onChange:e=>g?.(e??null),defaultProp:y??null}),I=a?l.format(a,"yyyy-MM-dd"):"",P=H.useHiddenFieldValue(I),{inputValue:w,handleChange:N,handleBlur:S,handleKeyDown:F,clear:K,setFromExternalDate:r}=O.useDateInput({date:a??null,onDateChange:e=>d(e),disabledDate:n}),{open:R,setOpen:c,handleInputKeyDown:T,inputRef:s}=k.useDateInputPopover({disabled:o}),V=e=>{F(e),T(e)},p=D?.({value:a??null,clear:()=>{r(null),K()},selectToday:()=>{const e=new Date;n?.(e)||r(e)},setValue:e=>{const h=e&&l.isDate(e)?e:null;d(h),r(h)}});return t.jsxs(i.PopoverRoot,{"data-slot":"date-input",open:R,onOpenChange:c,children:[t.jsxs("div",{className:U.cn(z.inputBaseClasses,"relative flex items-center gap-2 h-8","has-[:focus-visible]:border-ring","aria-invalid:border-error has-[:focus-visible]:aria-invalid:ring-error/20","has-aria-invalid:border-error has-[:focus-visible]:has-aria-invalid:border-error has-[:focus-visible]:has-aria-invalid:ring-error/20","has-[:disabled]:cursor-not-allowed has-[:disabled]:opacity-50",!a&&"text-muted-foreground",x,"field-error"),onClick:e=>{e.target===e.currentTarget&&s.current?.focus()},children:[t.jsx(f.FieldControl,{render:t.jsx("input",{ref:P,type:"text",className:"sr-only",tabIndex:-1,"aria-hidden":"true",required:j,disabled:o,onFocus:()=>s.current?.focus()})}),t.jsx("input",{type:"text",value:w,onChange:N,onBlur:e=>{S(),C?.(e)},onKeyDown:V,placeholder:u??"dd/mm/aaaa",autoComplete:b??"off",disabled:o,className:"flex-1 min-w-0 bg-transparent outline-none text-start truncate pt-px","aria-label":u,ref:s,...q}),t.jsxs(i.PopoverTrigger,{type:"button",disabled:o,"data-slot":"date-input-trigger",className:"flex shrink-0 items-center justify-center text-muted-foreground hover:text-foreground",children:[t.jsx(M.CalendarIcon,{"data-slot":"date-input-icon"}),t.jsx("span",{className:"sr-only",children:"Seleccionar fecha"})]})]}),t.jsx(i.PopoverPopup,{className:"w-auto p-0",align:"start","data-slot":"date-input-content",children:t.jsxs(f.FieldRoot,{className:"contents",children:[t.jsx(E.Calendar,{className:"border-none",mode:"single",selected:a??void 0,onSelect:e=>{if(!e||!l.isDate(e)){r(null);return}n?.(e)||(r(e),c(!1))},disabled:n}),p&&t.jsx("div",{className:"p-2","data-slot":"date-input-footer",children:p})]})})]})};exports.DateInput=A;
@@ -1,54 +1,56 @@
1
1
  "use client";
2
- import { jsxs as n, jsx as o } from "react/jsx-runtime";
2
+ import { jsxs as l, jsx as o } from "react/jsx-runtime";
3
3
  import { useControllableState as j } from "@radix-ui/react-use-controllable-state";
4
- import { isDate as m } from "date-fns";
5
- import { CalendarIcon as F } from "lucide-react";
6
- import { useDateInput as V } from "./use-date-input.es.js";
7
- import { useDateInputPopover as k } from "./use-date-input-popover.es.js";
8
- import { PopoverRoot as O, PopoverTrigger as R, PopoverPopup as E } from "../popover/popover.es.js";
9
- import { FieldControl as q } from "../field/field.es.js";
10
- import { Calendar as z } from "../calendar/calendar.es.js";
11
- import { cn as A } from "../../lib/cn.es.js";
12
- import { inputBaseClasses as G } from "../input/input.es.js";
13
- const oe = (f) => {
4
+ import { format as k, isDate as m } from "date-fns";
5
+ import { CalendarIcon as M } from "lucide-react";
6
+ import { useDateInput as O } from "./use-date-input.es.js";
7
+ import { useDateInputPopover as q } from "./use-date-input-popover.es.js";
8
+ import { useHiddenFieldValue as E } from "./use-hidden-field-value.es.js";
9
+ import { PopoverRoot as H, PopoverTrigger as z, PopoverPopup as A } from "../popover/popover.es.js";
10
+ import { FieldControl as G, FieldRoot as J } from "../field/field.es.js";
11
+ import { Calendar as L } from "../calendar/calendar.es.js";
12
+ import { cn as Q } from "../../lib/cn.es.js";
13
+ import { inputBaseClasses as U } from "../input/input.es.js";
14
+ const ie = (f) => {
14
15
  const {
15
- placeholder: s,
16
+ placeholder: i,
16
17
  value: h,
17
18
  onValueChange: g,
18
19
  defaultValue: v,
19
- autoComplete: C,
20
+ autoComplete: y,
20
21
  className: b,
21
22
  disabledDate: a,
22
- renderFooter: D,
23
- disabled: l,
24
- onBlur: y,
23
+ renderFooter: C,
24
+ disabled: n,
25
+ onBlur: D,
26
+ required: x,
25
27
  ...w
26
- } = f, [r, i] = j({
28
+ } = f, [r, d] = j({
27
29
  prop: h,
28
30
  onChange: (e) => g?.(e ?? null),
29
31
  defaultProp: v ?? null
30
- }), {
31
- inputValue: P,
32
- handleChange: x,
33
- handleBlur: N,
34
- handleKeyDown: I,
35
- clear: K,
32
+ }), N = r ? k(r, "yyyy-MM-dd") : "", P = E(N), {
33
+ inputValue: I,
34
+ handleChange: F,
35
+ handleBlur: K,
36
+ handleKeyDown: S,
37
+ clear: B,
36
38
  setFromExternalDate: t
37
- } = V({
39
+ } = O({
38
40
  date: r ?? null,
39
- onDateChange: (e) => i(e),
41
+ onDateChange: (e) => d(e),
40
42
  disabledDate: a
41
43
  }), {
42
- open: S,
43
- setOpen: d,
44
- handleInputKeyDown: B,
45
- inputRef: u
46
- } = k({ disabled: l }), T = (e) => {
47
- I(e), B(e);
48
- }, c = D?.({
44
+ open: T,
45
+ setOpen: u,
46
+ handleInputKeyDown: V,
47
+ inputRef: s
48
+ } = q({ disabled: n }), R = (e) => {
49
+ S(e), V(e);
50
+ }, c = C?.({
49
51
  value: r ?? null,
50
52
  clear: () => {
51
- t(null), K();
53
+ t(null), B();
52
54
  },
53
55
  selectToday: () => {
54
56
  const e = /* @__PURE__ */ new Date();
@@ -56,77 +58,92 @@ const oe = (f) => {
56
58
  },
57
59
  setValue: (e) => {
58
60
  const p = e && m(e) ? e : null;
59
- i(p), t(p);
61
+ d(p), t(p);
60
62
  }
61
63
  });
62
- return /* @__PURE__ */ n(O, { "data-slot": "date-input", open: S, onOpenChange: d, children: [
63
- /* @__PURE__ */ n(
64
+ return /* @__PURE__ */ l(H, { "data-slot": "date-input", open: T, onOpenChange: u, children: [
65
+ /* @__PURE__ */ l(
64
66
  "div",
65
67
  {
66
- className: A(
67
- G,
68
- "flex items-center gap-2 h-8",
68
+ className: Q(
69
+ U,
70
+ "relative flex items-center gap-2 h-8",
69
71
  "has-[:focus-visible]:border-ring",
70
72
  "aria-invalid:border-error has-[:focus-visible]:aria-invalid:ring-error/20",
71
- "has-aria-invalid:border-error has-[:focus-visible]:has-aria-invalid:ring-error/20",
73
+ // Re-assert the error border on focus: `has-[:focus-visible]:border-ring`
74
+ // ties on specificity and would otherwise wash the red out while typing.
75
+ "has-aria-invalid:border-error has-[:focus-visible]:has-aria-invalid:border-error has-[:focus-visible]:has-aria-invalid:ring-error/20",
72
76
  "has-[:disabled]:cursor-not-allowed has-[:disabled]:opacity-50",
73
77
  !r && "text-muted-foreground",
74
78
  b,
75
79
  "field-error"
76
80
  ),
77
81
  onClick: (e) => {
78
- e.target === e.currentTarget && u.current?.focus();
82
+ e.target === e.currentTarget && s.current?.focus();
79
83
  },
80
84
  children: [
81
- /* @__PURE__ */ n(
82
- R,
83
- {
84
- type: "button",
85
- disabled: l,
86
- "data-slot": "date-input-trigger",
87
- className: "flex shrink-0 items-center justify-center text-muted-foreground hover:text-foreground",
88
- children: [
89
- /* @__PURE__ */ o(F, { "data-slot": "date-input-icon" }),
90
- /* @__PURE__ */ o("span", { className: "sr-only", children: "Seleccionar fecha" })
91
- ]
92
- }
93
- ),
94
85
  /* @__PURE__ */ o(
95
- q,
86
+ G,
96
87
  {
97
88
  render: /* @__PURE__ */ o(
98
89
  "input",
99
90
  {
91
+ ref: P,
100
92
  type: "text",
101
- value: P,
102
- onChange: x,
103
- onBlur: (e) => {
104
- N(), y?.(e);
105
- },
106
- onKeyDown: T,
107
- placeholder: s ?? "dd/mm/aaaa",
108
- autoComplete: C ?? "off",
109
- disabled: l,
110
- className: "flex-1 min-w-0 bg-transparent outline-none text-start truncate pt-px",
111
- "aria-label": s,
112
- ref: u,
113
- ...w
93
+ className: "sr-only",
94
+ tabIndex: -1,
95
+ "aria-hidden": "true",
96
+ required: x,
97
+ disabled: n,
98
+ onFocus: () => s.current?.focus()
114
99
  }
115
100
  )
116
101
  }
102
+ ),
103
+ /* @__PURE__ */ o(
104
+ "input",
105
+ {
106
+ type: "text",
107
+ value: I,
108
+ onChange: F,
109
+ onBlur: (e) => {
110
+ K(), D?.(e);
111
+ },
112
+ onKeyDown: R,
113
+ placeholder: i ?? "dd/mm/aaaa",
114
+ autoComplete: y ?? "off",
115
+ disabled: n,
116
+ className: "flex-1 min-w-0 bg-transparent outline-none text-start truncate pt-px",
117
+ "aria-label": i,
118
+ ref: s,
119
+ ...w
120
+ }
121
+ ),
122
+ /* @__PURE__ */ l(
123
+ z,
124
+ {
125
+ type: "button",
126
+ disabled: n,
127
+ "data-slot": "date-input-trigger",
128
+ className: "flex shrink-0 items-center justify-center text-muted-foreground hover:text-foreground",
129
+ children: [
130
+ /* @__PURE__ */ o(M, { "data-slot": "date-input-icon" }),
131
+ /* @__PURE__ */ o("span", { className: "sr-only", children: "Seleccionar fecha" })
132
+ ]
133
+ }
117
134
  )
118
135
  ]
119
136
  }
120
137
  ),
121
- /* @__PURE__ */ n(
122
- E,
138
+ /* @__PURE__ */ o(
139
+ A,
123
140
  {
124
141
  className: "w-auto p-0",
125
142
  align: "start",
126
143
  "data-slot": "date-input-content",
127
- children: [
144
+ children: /* @__PURE__ */ l(J, { className: "contents", children: [
128
145
  /* @__PURE__ */ o(
129
- z,
146
+ L,
130
147
  {
131
148
  className: "border-none",
132
149
  mode: "single",
@@ -136,17 +153,17 @@ const oe = (f) => {
136
153
  t(null);
137
154
  return;
138
155
  }
139
- a?.(e) || (t(e), d(!1));
156
+ a?.(e) || (t(e), u(!1));
140
157
  },
141
158
  disabled: a
142
159
  }
143
160
  ),
144
161
  c && /* @__PURE__ */ o("div", { className: "p-2", "data-slot": "date-input-footer", children: c })
145
- ]
162
+ ] })
146
163
  }
147
164
  )
148
165
  ] });
149
166
  };
150
167
  export {
151
- oe as DateInput
168
+ ie as DateInput
152
169
  };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),C=require("@radix-ui/react-use-controllable-state"),q=require("lucide-react"),P=require("react"),j=require("./date-picker.utils.cjs.js"),V=require("../calendar/calendar.cjs.js"),x=require("../../lib/cn.cjs.js"),S=require("../popover/popover.cjs.js"),y=require("../input/input.cjs.js"),R=require("../field/field.cjs.js");function O(a){return a.mode==="range"?r.jsx(D,{...a}):a.mode==="multiple"?r.jsx(N,{...a}):r.jsx(T,{...a})}const k=({open:a,onOpenChange:d,displayText:p,hasValue:f,disabled:g,className:s,classNames:i,children:m,footer:l,slot:c,formValue:v,required:u})=>{const t=P.useRef(null);return r.jsxs(S.PopoverRoot,{"data-slot":c,open:a,onOpenChange:d,children:[r.jsxs(S.PopoverTrigger,{render:r.jsx("button",{ref:t,disabled:g,className:x.cn(y.inputBaseClasses,"inline-flex items-center gap-2 h-8 cursor-pointer text-left","focus-visible:border-ring","aria-invalid:border-error focus-visible:aria-invalid:ring-error/20","group-data-[invalid]:border-error focus-visible:group-data-[invalid]:ring-error/20","disabled:cursor-not-allowed disabled:opacity-50",!f&&"text-muted-foreground",s)}),children:[r.jsx(q.CalendarIcon,{className:"shrink-0"}),r.jsx("span",{className:"truncate",children:p})]}),r.jsx(R.FieldControl,{render:r.jsx("input",{type:"text",tabIndex:-1,"aria-hidden":"true",className:"sr-only",value:v,onChange:()=>{},required:u,onFocus:()=>t.current?.focus()})}),r.jsxs(S.PopoverPopup,{className:x.cn("w-auto p-0",i?.popup),align:"start","data-slot":`${c}-content`,children:[m,l&&r.jsx("div",{className:x.cn("p-2",i?.footer),"data-slot":`${c}-footer`,children:l})]})]})},T=({value:a,defaultValue:d,onValueChange:p,placeholder:f="Seleccionar fecha",disabled:g,disabledDate:s,renderFooter:i,className:m,classNames:l,required:c})=>{const[v,u]=P.useState(!1),[t,o]=C.useControllableState({prop:a,onChange:e=>p?.(e??null),defaultProp:d??null}),n={mode:"single",value:t??null,clear:()=>o(null),selectToday:()=>{const e=new Date;s?.(e)||o(e)},setValue:e=>o(e)};return r.jsx(k,{slot:"date-picker",open:v,onOpenChange:u,displayText:j.formatSingleDate(t,f),hasValue:!!t,disabled:g,className:m,classNames:l,footer:i?.(n),formValue:j.formatSingleDate(t,""),required:c,children:r.jsx(V.Calendar,{className:x.cn("border-none",l?.calendar),mode:"single",selected:t??void 0,onSelect:e=>{s&&e&&s(e)||(o(e??null),u(!1))},disabled:s})})},b={start:null,end:null},D=({value:a,defaultValue:d,onValueChange:p,placeholder:f="Seleccionar rango",disabled:g,disabledDate:s,renderFooter:i,className:m,classNames:l,required:c})=>{const[v,u]=P.useState(!1),[t,o]=C.useControllableState({prop:a,onChange:h=>p?.(h??b),defaultProp:d??b}),n=t??b,e={mode:"range",value:n,clear:()=>o(b),setValue:h=>o(h)};return r.jsx(k,{slot:"date-picker",open:v,onOpenChange:u,displayText:j.formatRangeDate(n.start||n.end?n:void 0,f),hasValue:!!(n.start||n.end),disabled:g,className:m,classNames:l,footer:i?.(e),formValue:j.formatRangeDate(n.start||n.end?n:void 0,""),required:c,children:r.jsx(V.Calendar,{className:x.cn("border-none",l?.calendar),mode:"range",selected:{from:n.start??void 0,to:n.end??void 0},onSelect:h=>{o({start:h?.from??null,end:h?.to??null})},disabled:s})})},N=({value:a,defaultValue:d,onValueChange:p,placeholder:f="Seleccionar fechas",disabled:g,disabledDate:s,renderFooter:i,className:m,classNames:l,required:c})=>{const[v,u]=P.useState(!1),[t,o]=C.useControllableState({prop:a,onChange:e=>p?.(e??[]),defaultProp:d??[]}),n={mode:"multiple",value:t??[],clear:()=>o([]),setValue:e=>o(e)};return r.jsx(k,{slot:"date-picker",open:v,onOpenChange:u,displayText:j.formatMultipleDates(t,f),hasValue:(t?.length??0)>0,disabled:g,className:m,classNames:l,footer:i?.(n),formValue:j.formatMultipleDates(t,""),required:c,children:r.jsx(V.Calendar,{className:x.cn("border-none",l?.calendar),mode:"multiple",selected:t??[],onSelect:e=>{o(e??[])},disabled:s})})};exports.DatePicker=O;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),C=require("@radix-ui/react-use-controllable-state"),q=require("lucide-react"),P=require("react"),b=require("./date-picker.utils.cjs.js"),y=require("./use-hidden-field-value.cjs.js"),V=require("../calendar/calendar.cjs.js"),h=require("../../lib/cn.cjs.js"),S=require("../popover/popover.cjs.js"),O=require("../input/input.cjs.js"),R=require("../field/field.cjs.js");function N(o){return o.mode==="range"?e.jsx(D,{...o}):o.mode==="multiple"?e.jsx(F,{...o}):e.jsx(T,{...o})}const k=({open:o,onOpenChange:u,displayText:f,hasValue:p,disabled:m,className:s,classNames:c,children:g,footer:l,slot:i,formValue:v,required:d})=>{const r=P.useRef(null),a=y.useHiddenFieldValue(v);return e.jsxs(S.PopoverRoot,{"data-slot":i,open:o,onOpenChange:u,children:[e.jsxs(S.PopoverTrigger,{render:e.jsx("button",{ref:r,disabled:m,className:h.cn(O.inputBaseClasses,"inline-flex items-center gap-2 h-8 cursor-pointer text-left","focus-visible:border-ring","aria-invalid:border-error focus-visible:aria-invalid:ring-error/20","in-[[data-slot=field][data-invalid]]:border-error focus-visible:in-[[data-slot=field][data-invalid]]:border-error focus-visible:in-[[data-slot=field][data-invalid]]:ring-error/20","disabled:cursor-not-allowed disabled:opacity-50",!p&&"text-muted-foreground",s)}),children:[e.jsx("span",{className:"flex-1 truncate",children:f}),e.jsx(q.CalendarIcon,{"data-slot":"date-picker-icon",className:"shrink-0 text-muted-foreground"})]}),e.jsx(R.FieldControl,{render:e.jsx("input",{ref:a,type:"text",tabIndex:-1,"aria-hidden":"true",className:"sr-only",required:d,onFocus:()=>r.current?.focus()})}),e.jsx(S.PopoverPopup,{className:h.cn("w-auto p-0",c?.popup),align:"start","data-slot":`${i}-content`,children:e.jsxs(R.FieldRoot,{className:"contents",children:[g,l&&e.jsx("div",{className:h.cn("p-2",c?.footer),"data-slot":`${i}-footer`,children:l})]})})]})},T=({value:o,defaultValue:u,onValueChange:f,placeholder:p="Seleccionar fecha",disabled:m,disabledDate:s,renderFooter:c,className:g,classNames:l,required:i})=>{const[v,d]=P.useState(!1),[r,a]=C.useControllableState({prop:o,onChange:t=>f?.(t??null),defaultProp:u??null}),n={mode:"single",value:r??null,clear:()=>a(null),selectToday:()=>{const t=new Date;s?.(t)||a(t)},setValue:t=>a(t)};return e.jsx(k,{slot:"date-picker",open:v,onOpenChange:d,displayText:b.formatSingleDate(r,p),hasValue:!!r,disabled:m,className:g,classNames:l,footer:c?.(n),formValue:b.formatISODate(r),required:i,children:e.jsx(V.Calendar,{className:h.cn("border-none",l?.calendar),mode:"single",selected:r??void 0,onSelect:t=>{s&&t&&s(t)||(a(t??null),d(!1))},disabled:s})})},j={start:null,end:null},D=({value:o,defaultValue:u,onValueChange:f,placeholder:p="Seleccionar rango",disabled:m,disabledDate:s,renderFooter:c,className:g,classNames:l,required:i})=>{const[v,d]=P.useState(!1),[r,a]=C.useControllableState({prop:o,onChange:x=>f?.(x??j),defaultProp:u??j}),n=r??j,t={mode:"range",value:n,clear:()=>a(j),setValue:x=>a(x)};return e.jsx(k,{slot:"date-picker",open:v,onOpenChange:d,displayText:b.formatRangeDate(n.start||n.end?n:void 0,p),hasValue:!!(n.start||n.end),disabled:m,className:g,classNames:l,footer:c?.(t),formValue:b.formatRangeDate(n.start||n.end?n:void 0,""),required:i,children:e.jsx(V.Calendar,{className:h.cn("border-none",l?.calendar),mode:"range",selected:{from:n.start??void 0,to:n.end??void 0},onSelect:x=>{a({start:x?.from??null,end:x?.to??null})},disabled:s})})},F=({value:o,defaultValue:u,onValueChange:f,placeholder:p="Seleccionar fechas",disabled:m,disabledDate:s,renderFooter:c,className:g,classNames:l,required:i})=>{const[v,d]=P.useState(!1),[r,a]=C.useControllableState({prop:o,onChange:t=>f?.(t??[]),defaultProp:u??[]}),n={mode:"multiple",value:r??[],clear:()=>a([]),setValue:t=>a(t)};return e.jsx(k,{slot:"date-picker",open:v,onOpenChange:d,displayText:b.formatMultipleDates(r,p),hasValue:(r?.length??0)>0,disabled:m,className:g,classNames:l,footer:c?.(n),formValue:b.formatMultipleDates(r,""),required:i,children:e.jsx(V.Calendar,{className:h.cn("border-none",l?.calendar),mode:"multiple",selected:r??[],onSelect:t=>{a(t??[])},disabled:s})})};exports.DatePicker=N;