@rpcbase/ui 0.171.0 → 0.173.0

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 (248) hide show
  1. package/dist/components/DayPickerField/index.d.ts.map +1 -1
  2. package/dist/index10.js +1 -1
  3. package/dist/index11.js +120 -119
  4. package/dist/index11.js.map +1 -1
  5. package/dist/index12.js +1 -1
  6. package/dist/index13.js +2 -2
  7. package/dist/index14.js +4 -4
  8. package/dist/index146.js +2 -2
  9. package/dist/index147.js +5 -46
  10. package/dist/index147.js.map +1 -1
  11. package/dist/index148.js +62 -199
  12. package/dist/index148.js.map +1 -1
  13. package/dist/index149.js +2 -22
  14. package/dist/index149.js.map +1 -1
  15. package/dist/index15.js +1 -1
  16. package/dist/index150.js +363 -24
  17. package/dist/index150.js.map +1 -1
  18. package/dist/index151.js +243 -381
  19. package/dist/index151.js.map +1 -1
  20. package/dist/index152.js +52 -597
  21. package/dist/index152.js.map +1 -1
  22. package/dist/index153.js +46 -5
  23. package/dist/index153.js.map +1 -1
  24. package/dist/index154.js +157 -56
  25. package/dist/index154.js.map +1 -1
  26. package/dist/index155.js +110 -2
  27. package/dist/index155.js.map +1 -1
  28. package/dist/index156.js +24 -363
  29. package/dist/index156.js.map +1 -1
  30. package/dist/index157.js +8 -262
  31. package/dist/index157.js.map +1 -1
  32. package/dist/index158.js +4 -60
  33. package/dist/index158.js.map +1 -1
  34. package/dist/index159.js +5 -46
  35. package/dist/index159.js.map +1 -1
  36. package/dist/index16.js +1 -1
  37. package/dist/index160.js +4 -169
  38. package/dist/index160.js.map +1 -1
  39. package/dist/index161.js +459 -102
  40. package/dist/index161.js.map +1 -1
  41. package/dist/index162.js +185 -24
  42. package/dist/index162.js.map +1 -1
  43. package/dist/index163.js +108 -8
  44. package/dist/index163.js.map +1 -1
  45. package/dist/index164.js +262 -4
  46. package/dist/index164.js.map +1 -1
  47. package/dist/index165.js +9 -5
  48. package/dist/index165.js.map +1 -1
  49. package/dist/index166.js +42 -4
  50. package/dist/index166.js.map +1 -1
  51. package/dist/index167.js +4 -466
  52. package/dist/index167.js.map +1 -1
  53. package/dist/index168.js +44 -183
  54. package/dist/index168.js.map +1 -1
  55. package/dist/index169.js +198 -100
  56. package/dist/index169.js.map +1 -1
  57. package/dist/index17.js +1 -1
  58. package/dist/index170.js +22 -263
  59. package/dist/index170.js.map +1 -1
  60. package/dist/index171.js +24 -9
  61. package/dist/index171.js.map +1 -1
  62. package/dist/index172.js +391 -34
  63. package/dist/index172.js.map +1 -1
  64. package/dist/index173.js +605 -4
  65. package/dist/index173.js.map +1 -1
  66. package/dist/index18.js +74 -74
  67. package/dist/index18.js.map +1 -1
  68. package/dist/index19.js +7 -7
  69. package/dist/index20.js +2 -2
  70. package/dist/index21.js +1 -1
  71. package/dist/index22.js +1 -1
  72. package/dist/index23.js +2 -2
  73. package/dist/index235.js +12 -23
  74. package/dist/index235.js.map +1 -1
  75. package/dist/index236.js +155 -29
  76. package/dist/index236.js.map +1 -1
  77. package/dist/index237.js +31 -5
  78. package/dist/index237.js.map +1 -1
  79. package/dist/index238.js +9 -67
  80. package/dist/index238.js.map +1 -1
  81. package/dist/index239.js +43 -176
  82. package/dist/index239.js.map +1 -1
  83. package/dist/index24.js +1 -1
  84. package/dist/index240.js +10 -45
  85. package/dist/index240.js.map +1 -1
  86. package/dist/index241.js +44 -13
  87. package/dist/index241.js.map +1 -1
  88. package/dist/index242.js +86 -145
  89. package/dist/index242.js.map +1 -1
  90. package/dist/index243.js +83 -27
  91. package/dist/index243.js.map +1 -1
  92. package/dist/index244.js +105 -9
  93. package/dist/index244.js.map +1 -1
  94. package/dist/index245.js +45 -40
  95. package/dist/index245.js.map +1 -1
  96. package/dist/index246.js +11 -11
  97. package/dist/index246.js.map +1 -1
  98. package/dist/index247.js +35 -42
  99. package/dist/index247.js.map +1 -1
  100. package/dist/index248.js +8 -95
  101. package/dist/index248.js.map +1 -1
  102. package/dist/index249.js +110 -80
  103. package/dist/index249.js.map +1 -1
  104. package/dist/index250.js +17 -105
  105. package/dist/index250.js.map +1 -1
  106. package/dist/index251.js +14 -51
  107. package/dist/index251.js.map +1 -1
  108. package/dist/index252.js +3 -11
  109. package/dist/index252.js.map +1 -1
  110. package/dist/index253.js +32 -33
  111. package/dist/index253.js.map +1 -1
  112. package/dist/index254.js +20 -8
  113. package/dist/index254.js.map +1 -1
  114. package/dist/index255.js +9 -3
  115. package/dist/index255.js.map +1 -1
  116. package/dist/index256.js +7 -8
  117. package/dist/index256.js.map +1 -1
  118. package/dist/index257.js +17 -114
  119. package/dist/index257.js.map +1 -1
  120. package/dist/index258.js +28 -17
  121. package/dist/index258.js.map +1 -1
  122. package/dist/index259.js +15 -14
  123. package/dist/index259.js.map +1 -1
  124. package/dist/index260.js +23 -35
  125. package/dist/index260.js.map +1 -1
  126. package/dist/index261.js +29 -21
  127. package/dist/index261.js.map +1 -1
  128. package/dist/index262.js +5 -9
  129. package/dist/index262.js.map +1 -1
  130. package/dist/index263.js +65 -17
  131. package/dist/index263.js.map +1 -1
  132. package/dist/index264.js +178 -26
  133. package/dist/index264.js.map +1 -1
  134. package/dist/index265.js +44 -14
  135. package/dist/index265.js.map +1 -1
  136. package/dist/index269.js +21 -5
  137. package/dist/index269.js.map +1 -1
  138. package/dist/index27.js +3 -37
  139. package/dist/index27.js.map +1 -1
  140. package/dist/index270.js +5 -3
  141. package/dist/index270.js.map +1 -1
  142. package/dist/index271.js +3 -24
  143. package/dist/index271.js.map +1 -1
  144. package/dist/index272.js +22 -111
  145. package/dist/index272.js.map +1 -1
  146. package/dist/index273.js +111 -14
  147. package/dist/index273.js.map +1 -1
  148. package/dist/index274.js +14 -523
  149. package/dist/index274.js.map +1 -1
  150. package/dist/index275.js +511 -114
  151. package/dist/index275.js.map +1 -1
  152. package/dist/index276.js +111 -117
  153. package/dist/index276.js.map +1 -1
  154. package/dist/index277.js +133 -20
  155. package/dist/index277.js.map +1 -1
  156. package/dist/index28.js +125 -3
  157. package/dist/index28.js.map +1 -1
  158. package/dist/index29.js +227 -120
  159. package/dist/index29.js.map +1 -1
  160. package/dist/index295.js +1 -1
  161. package/dist/index299.js +1 -1
  162. package/dist/index30.js +49 -230
  163. package/dist/index30.js.map +1 -1
  164. package/dist/index31.js +2640 -50
  165. package/dist/index31.js.map +1 -1
  166. package/dist/index32.js +351 -2598
  167. package/dist/index32.js.map +1 -1
  168. package/dist/index33.js +214 -375
  169. package/dist/index33.js.map +1 -1
  170. package/dist/index34.js +19 -230
  171. package/dist/index34.js.map +1 -1
  172. package/dist/index35.js +138 -18
  173. package/dist/index35.js.map +1 -1
  174. package/dist/index36.js +170 -125
  175. package/dist/index36.js.map +1 -1
  176. package/dist/index37.js +64 -174
  177. package/dist/index37.js.map +1 -1
  178. package/dist/index38.js +88 -74
  179. package/dist/index38.js.map +1 -1
  180. package/dist/index39.js +5 -90
  181. package/dist/index39.js.map +1 -1
  182. package/dist/index40.js +843 -5
  183. package/dist/index40.js.map +1 -1
  184. package/dist/index41.js +54 -832
  185. package/dist/index41.js.map +1 -1
  186. package/dist/index42.js +37 -66
  187. package/dist/index42.js.map +1 -1
  188. package/dist/index45.js +1 -1
  189. package/dist/index46.js +1 -1
  190. package/dist/index47.js +7 -205
  191. package/dist/index47.js.map +1 -1
  192. package/dist/index48.js +33 -6
  193. package/dist/index48.js.map +1 -1
  194. package/dist/index49.js +26 -33
  195. package/dist/index49.js.map +1 -1
  196. package/dist/index5.js +1 -1
  197. package/dist/index50.js +7 -26
  198. package/dist/index50.js.map +1 -1
  199. package/dist/index51.js +11 -7
  200. package/dist/index51.js.map +1 -1
  201. package/dist/index52.js +53 -11
  202. package/dist/index52.js.map +1 -1
  203. package/dist/index53.js +205 -4
  204. package/dist/index53.js.map +1 -1
  205. package/dist/index54.js +3 -47
  206. package/dist/index54.js.map +1 -1
  207. package/dist/index55.js +45 -48
  208. package/dist/index55.js.map +1 -1
  209. package/dist/index56.js +50 -7
  210. package/dist/index56.js.map +1 -1
  211. package/dist/index57.js +7 -14
  212. package/dist/index57.js.map +1 -1
  213. package/dist/index58.js +14 -133
  214. package/dist/index58.js.map +1 -1
  215. package/dist/index59.js +133 -10
  216. package/dist/index59.js.map +1 -1
  217. package/dist/index60.js +10 -216
  218. package/dist/index60.js.map +1 -1
  219. package/dist/index61.js +216 -12
  220. package/dist/index61.js.map +1 -1
  221. package/dist/index62.js +13 -47
  222. package/dist/index62.js.map +1 -1
  223. package/dist/index63.js +44 -47
  224. package/dist/index63.js.map +1 -1
  225. package/dist/index64.js +50 -4
  226. package/dist/index64.js.map +1 -1
  227. package/dist/index65.js +4 -6
  228. package/dist/index65.js.map +1 -1
  229. package/dist/index66.js +6 -28
  230. package/dist/index66.js.map +1 -1
  231. package/dist/index67.js +28 -50
  232. package/dist/index67.js.map +1 -1
  233. package/dist/index68.js +50 -9
  234. package/dist/index68.js.map +1 -1
  235. package/dist/index69.js +9 -6
  236. package/dist/index69.js.map +1 -1
  237. package/dist/index70.js +5 -7
  238. package/dist/index70.js.map +1 -1
  239. package/dist/index71.js +7 -5
  240. package/dist/index71.js.map +1 -1
  241. package/dist/index72.js +6 -2
  242. package/dist/index72.js.map +1 -1
  243. package/dist/index73.js +2 -2
  244. package/dist/index74.js +2 -54
  245. package/dist/index74.js.map +1 -1
  246. package/dist/index8.js +1 -1
  247. package/dist/index9.js +1 -1
  248. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index11.js","sources":["../src/components/DayPickerField/index.tsx"],"sourcesContent":["import { ChevronLeft, ChevronRight, CalendarDays } from \"lucide-react\"\nimport * as React from \"react\"\nimport { DismissableLayerBranch } from \"@radix-ui/react-dismissable-layer\"\nimport { createPortal } from \"react-dom\"\nimport { DayPicker as ReactDayPicker } from \"react-day-picker\"\nimport { IMaskInput } from \"react-imask\"\nimport IMask, { InputMask } from \"imask\"\n\nimport { useIsTouchDevice } from \"@/helpers/useIsTouchDevice\"\nimport { cn } from \"@/lib/utils\"\n\n\n// WARNING: used to preserve input mask even with tree shaking\n// DO NOT REMOVE THIS CODE OR THIS COMMENT\nconst imaskAny = IMask as any\nif (typeof imaskAny.InputMask !== \"function\") {\n imaskAny.InputMask = InputMask\n}\n\n\nexport type DayPickerProps = React.ComponentProps<typeof ReactDayPicker>\n\nexport function DayPicker({\n className,\n classNames,\n components,\n showOutsideDays = true,\n ...props\n}: DayPickerProps) {\n return (\n <ReactDayPicker\n weekStartsOn={1}\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n month: \"space-y-4\",\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2\",\n month_caption: \"flex justify-center pt-1 relative items-center\",\n month_grid: \"w-full border-collapse space-y-1\",\n caption_label: \"text-sm font-medium\",\n nav: \"flex items-center justify-between absolute inset-x-0 z-10\",\n button_previous:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n button_next:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n weeks: \"w-full border-collapse\",\n weekdays: \"flex\",\n weekday: \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n week: \"flex w-full mt-2\",\n day: \"h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-md first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md\",\n day_button:\n \"inline-flex h-9 w-9 items-center justify-center rounded-md p-0 text-center text-sm font-normal transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n range_start:\n \"day-range-start !bg-accent rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_end:\n \"day-range-end !bg-accent rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_middle: \"aria-selected:bg-accent aria-selected:text-accent-foreground !rounded-none\",\n day_selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n day_today: \"bg-accent text-accent-foreground\",\n day_outside: \"day-outside text-muted-foreground aria-selected:text-muted-foreground\",\n day_disabled: \"text-muted-foreground opacity-50\",\n day_hidden: \"invisible\",\n selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n today: \"bg-gray-50 text-accent-foreground !rounded-md\",\n outside:\n \"day-outside text-muted-foreground opacity-50 !aria-selected:bg-accent/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30\",\n disabled: \"text-muted-foreground opacity-50\",\n hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n Chevron: (chevronProps) =>\n chevronProps.orientation === \"left\" ? (\n <ChevronLeft {...chevronProps} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...chevronProps} className=\"h-4 w-4\" />\n ),\n ...components,\n }}\n {...props}\n />\n )\n}\n\nDayPicker.displayName = \"DayPicker\"\n\nfunction pad2(value: number) {\n return String(value).padStart(2, \"0\")\n}\n\nfunction startOfDay(date: Date) {\n const next = new Date(date)\n next.setHours(0, 0, 0, 0)\n return next\n}\n\nfunction startOfMonth(date: Date) {\n return startOfDay(new Date(date.getFullYear(), date.getMonth(), 1))\n}\n\nfunction formatDayInput(date: Date) {\n return `${pad2(date.getDate())}/${pad2(date.getMonth() + 1)}/${date.getFullYear()}`\n}\n\nfunction buildDate({ day, month, year }: { day: number; month: number; year: number }): Date | null {\n if (!Number.isFinite(day) || !Number.isFinite(month) || !Number.isFinite(year)) return null\n\n const date = new Date(year, month - 1, day)\n if (\n date.getFullYear() !== year ||\n date.getMonth() !== month - 1 ||\n date.getDate() !== day\n ) {\n return null\n }\n\n return startOfDay(date)\n}\n\nfunction parseDayInput(value: string, now: Date): Date | null {\n const trimmed = value.trim()\n if (!trimmed) return null\n\n const full = /^(\\d{2})\\/(\\d{2})\\/(\\d{4})$/.exec(trimmed)\n if (full) {\n return buildDate({ day: Number(full[1]), month: Number(full[2]), year: Number(full[3]) })\n }\n\n const shortYear = /^(\\d{2})\\/(\\d{2})\\/(\\d{2})$/.exec(trimmed)\n if (shortYear) {\n const year = Number(shortYear[3])\n if (!Number.isFinite(year)) return null\n return buildDate({ day: Number(shortYear[1]), month: Number(shortYear[2]), year: 2000 + year })\n }\n\n const noYear = /^(\\d{2})\\/(\\d{2})$/.exec(trimmed)\n if (noYear) {\n return buildDate({ day: Number(noYear[1]), month: Number(noYear[2]), year: now.getFullYear() })\n }\n\n return null\n}\n\nexport type DayPickerInputProps = Omit<\n React.ComponentProps<\"input\">,\n \"value\" | \"defaultValue\" | \"onChange\" | \"type\"\n> & {\n value: Date | null\n onChange: (value: Date | null) => void\n onValueUpdate?: (value: Date | null) => void\n inputClassName?: string\n open?: boolean\n onOpenChange?: (open: boolean) => void\n dayPickerComponent?: React.ComponentType<DayPickerProps>\n dayPickerProps?: Omit<DayPickerProps, \"mode\" | \"selected\" | \"onSelect\" | \"month\" | \"onMonthChange\">\n}\n\nexport const DayPickerInput = React.forwardRef<HTMLInputElement, DayPickerInputProps>(\n function DayPickerInput(\n {\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n readOnly,\n open: openProp,\n onOpenChange,\n dayPickerComponent,\n dayPickerProps,\n onFocus,\n onBlur,\n onKeyDown,\n onPointerDown,\n onMouseDown,\n ...rest\n },\n forwardedRef,\n\t ) {\n\t const rootRef = React.useRef<HTMLDivElement | null>(null)\n\t const popoverRef = React.useRef<HTMLDivElement | null>(null)\n\t\t const inputRef = React.useRef<HTMLInputElement | null>(null)\n\t\t const isFocusedRef = React.useRef(false)\n\t\t const pointerDownOnInputRef = React.useRef(false)\n\t\t const inputWasFocusedOnPointerDownRef = React.useRef(false)\n const pointerDownInPopoverRef = React.useRef(false)\n\n\t const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\n\t const open = openProp ?? uncontrolledOpen\n\t const setOpen = onOpenChange ?? setUncontrolledOpen\n\t const [draft, setDraft] = React.useState(() => (value ? formatDayInput(value) : \"\"))\n const draftSelection = React.useMemo(() => parseDayInput(draft, new Date()), [draft])\n\t\t const [month, setMonth] = React.useState(() => startOfMonth(value ?? new Date()))\n\t\t const [popoverPosition, setPopoverPosition] = React.useState(() => ({\n\t\t left: 0,\n\t top: 0,\n\t }))\n\n\t const useIsomorphicLayoutEffect = typeof window === \"undefined\" ? React.useEffect : React.useLayoutEffect\n\n const updateValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n return\n }\n\n onChange(next)\n },\n [onChange, onValueUpdate],\n )\n\n const commitValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n onChange(next)\n },\n [onChange, onValueUpdate],\n )\n\n React.useEffect(() => {\n if (isFocusedRef.current) return\n setDraft(value ? formatDayInput(value) : \"\")\n }, [value])\n\n React.useEffect(() => {\n if (!open) return\n setMonth(startOfMonth(value ?? new Date()))\n }, [open, value])\n\n React.useEffect(() => {\n if (!open) return\n if (!draftSelection) return\n setMonth(startOfMonth(draftSelection))\n }, [draftSelection, open])\n\n React.useEffect(() => {\n if (!open) return\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target\n if (!(target instanceof Node)) return\n if (rootRef.current?.contains(target)) return\n if (popoverRef.current?.contains(target)) return\n setOpen(false)\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Escape\") return\n setOpen(false)\n }\n\n document.addEventListener(\"pointerdown\", handlePointerDown, true)\n document.addEventListener(\"keydown\", handleKeyDown, true)\n return () => {\n document.removeEventListener(\"pointerdown\", handlePointerDown, true)\n document.removeEventListener(\"keydown\", handleKeyDown, true)\n }\n }, [open])\n\n React.useEffect(() => {\n if (!open) {\n return\n }\n if (typeof window === \"undefined\") {\n return\n }\n if (!(\"IntersectionObserver\" in window)) {\n return\n }\n\n const root = rootRef.current\n if (!root) {\n return\n }\n\n let isActive = true\n const observer = new IntersectionObserver(entries => {\n if (!isActive) {\n return\n }\n const entry = entries[0]\n if (entry && !entry.isIntersecting) {\n setOpen(false)\n }\n })\n observer.observe(root)\n return () => {\n isActive = false\n observer.disconnect()\n }\n }, [open])\n\n const setRefs = React.useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node\n if (typeof forwardedRef === \"function\") {\n forwardedRef(node)\n } else if (forwardedRef) {\n forwardedRef.current = node\n }\n },\n [forwardedRef],\n )\n\n const closePopover = () => setOpen(false)\n\n const DayPickerComponent = dayPickerComponent ?? DayPicker\n\n const updatePopoverPosition = React.useCallback(() => {\n if (typeof window === \"undefined\") return\n const root = rootRef.current\n const popover = popoverRef.current\n if (!root || !popover) return\n\n const rect = root.getBoundingClientRect()\n const popoverWidth = popover.offsetWidth\n const popoverHeight = popover.offsetHeight\n const viewportWidth = window.innerWidth ?? 0\n const viewportHeight = window.innerHeight ?? 0\n const padding = 8\n\n let left = rect.left\n if (left + popoverWidth > viewportWidth - padding) {\n left = Math.max(padding, viewportWidth - popoverWidth - padding)\n }\n if (left < padding) {\n left = padding\n }\n\n let top = rect.bottom + padding\n const overflowBottom = top + popoverHeight > viewportHeight - padding\n const aboveTop = rect.top - popoverHeight - padding\n if (overflowBottom && aboveTop >= padding) {\n top = aboveTop\n }\n\n if (top < padding) {\n top = padding\n }\n if (top + popoverHeight > viewportHeight - padding) {\n top = Math.max(padding, viewportHeight - popoverHeight - padding)\n }\n\n setPopoverPosition({ left, top })\n }, [])\n\n\t useIsomorphicLayoutEffect(() => {\n\t if (!open || disabled) return\n\t if (typeof window === \"undefined\") return\n\n\t updatePopoverPosition()\n\t const rafId = window.requestAnimationFrame(updatePopoverPosition)\n\n\t window.addEventListener(\"scroll\", updatePopoverPosition, true)\n\t window.addEventListener(\"resize\", updatePopoverPosition)\n\t return () => {\n\t window.cancelAnimationFrame(rafId)\n\t window.removeEventListener(\"scroll\", updatePopoverPosition, true)\n\t window.removeEventListener(\"resize\", updatePopoverPosition)\n\t }\n\t }, [disabled, open, updatePopoverPosition])\n\n\t return (\n\t <div ref={rootRef} data-slot=\"day-picker-input\" className={cn(\"relative group\", className)}>\n\t\t <IMaskInput\n\t\t {...rest}\n\t\t data-slot=\"day-picker-input-input\"\n disabled={disabled}\n readOnly={readOnly}\n autoComplete=\"off\"\n inputRef={setRefs}\n mask={[\n { mask: \"00/00\", lazy: true },\n { mask: \"00/00/00\", lazy: true },\n { mask: \"00/00/0000\", lazy: true },\n ]}\n dispatch={(appended, dynamicMasked) => {\n const digits = (dynamicMasked.value + appended).replace(/\\D/g, \"\")\n if (digits.length <= 4) return dynamicMasked.compiledMasks[0]\n if (digits.length <= 6) return dynamicMasked.compiledMasks[1]\n return dynamicMasked.compiledMasks[2]\n }}\n\t placeholder={placeholder}\n\t value={draft}\n\t\t className={cn(\n\t\t \"flex h-10 w-full rounded-md border border-input bg-background py-2 pr-3 pl-[37px] text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n\t\t \"transition-colors group-hover:bg-accent group-hover:text-accent-foreground\",\n\t\t inputClassName\n\t\t )}\n onAccept={(nextValue) => {\n const next = typeof nextValue === \"string\" ? nextValue : String(nextValue ?? \"\")\n const previousDigitsLength = draft.replace(/\\D/g, \"\").length\n setDraft(next)\n if (next.replace(/\\D/g, \"\").length === 0) {\n if (open) {\n setMonth(startOfMonth(new Date()))\n }\n if (previousDigitsLength !== 0) {\n updateValue(null)\n }\n }\n }}\n onComplete={(completedValue) => {\n const next = typeof completedValue === \"string\"\n ? completedValue\n : String(completedValue ?? \"\")\n const parsed = parseDayInput(next, new Date())\n if (!parsed) return\n if (value && parsed.getTime() === startOfDay(value).getTime()) {\n return\n }\n updateValue(parsed)\n }}\n\t onPointerDown={(event) => {\n\t pointerDownOnInputRef.current = true\n\t inputWasFocusedOnPointerDownRef.current =\n\t typeof document !== \"undefined\" && document.activeElement === event.currentTarget\n\t onPointerDown?.(event)\n\t }}\n\t onMouseDown={(event) => {\n\t pointerDownOnInputRef.current = true\n\t inputWasFocusedOnPointerDownRef.current =\n\t typeof document !== \"undefined\" && document.activeElement === event.currentTarget\n\t onMouseDown?.(event)\n\t }}\n onFocus={(event) => {\n const shouldSelectAll =\n !pointerDownOnInputRef.current || !inputWasFocusedOnPointerDownRef.current\n pointerDownOnInputRef.current = false\n inputWasFocusedOnPointerDownRef.current = false\n\t isFocusedRef.current = true\n\t onFocus?.(event)\n\t if (shouldSelectAll) {\n\t const element = event.currentTarget\n\t requestAnimationFrame(() => element.select())\n }\n if (!disabled) {\n setOpen(true)\n }\n }}\n\t onKeyDown={(event) => {\n\t onKeyDown?.(event)\n\t if (event.defaultPrevented) {\n\t return\n\t }\n\n\t\t if (event.key === \"Enter\") {\n\t\t if (!draftSelection) {\n\t\t return\n\t\t }\n\t\t event.preventDefault()\n if (open) {\n const isoDay = `${draftSelection.getFullYear()}-${pad2(draftSelection.getMonth() + 1)}-${pad2(draftSelection.getDate())}`\n const dayButton = popoverRef.current?.querySelector(\n `[data-day='${isoDay}']:not([data-outside]) button`,\n )\n if (dayButton instanceof HTMLButtonElement) {\n if (dayButton.disabled) {\n return\n }\n dayButton.focus()\n }\n }\n\t\t setDraft(formatDayInput(draftSelection))\n\t\t if (!value || draftSelection.getTime() !== startOfDay(value).getTime()) {\n\t\t commitValue(draftSelection)\n\t\t }\n\t\t setOpen(false)\n\t return\n\t }\n\n if (!open) {\n const shouldReopen =\n (event.key.length === 1 || event.key === \"Backspace\" || event.key === \"Delete\") &&\n !event.ctrlKey &&\n !event.metaKey &&\n !event.altKey\n\n if (shouldReopen) {\n setOpen(true)\n }\n }\n\n\t if (event.key === \"Tab\" && !event.defaultPrevented) {\n\t setOpen(false)\n\t }\n\t }}\n\t onBlur={(event) => {\n\t isFocusedRef.current = false\n\t onBlur?.(event)\n const blurFromPopoverPointerDown = pointerDownInPopoverRef.current\n pointerDownInPopoverRef.current = false\n if (blurFromPopoverPointerDown) {\n return\n }\n\n const relatedTarget = event.relatedTarget\n if (relatedTarget instanceof Node) {\n const root = rootRef.current\n if (!root) {\n return\n }\n\n if (root.contains(relatedTarget) || popoverRef.current?.contains(relatedTarget)) {\n return\n }\n }\n\n\t if (open && typeof window !== \"undefined\") {\n\t requestAnimationFrame(() => {\n const root = rootRef.current\n if (!root) {\n return\n }\n const activeElement = document.activeElement\n if (\n activeElement &&\n (root.contains(activeElement) || popoverRef.current?.contains(activeElement))\n ) {\n return\n }\n setOpen(false)\n })\n\t }\n\t const trimmed = draft.trim()\n\t if (trimmed === \"\") {\n if (value) {\n setDraft(\"\")\n commitValue(null)\n }\n\t return\n\t }\n\t const parsed = parseDayInput(trimmed, new Date())\n\t if (parsed) {\n\t setDraft(formatDayInput(parsed))\n\t if (!value || parsed.getTime() !== startOfDay(value).getTime()) {\n\t commitValue(parsed)\n }\n return\n }\n setDraft(value ? formatDayInput(value) : \"\")\n\t\t }}\n\t\t />\n\n <button\n type=\"button\"\n tabIndex={-1}\n disabled={disabled}\n aria-label=\"Open calendar\"\n data-slot=\"day-picker-input-trigger\"\n className=\"absolute left-[13px] top-1/2 -translate-y-1/2 text-muted-foreground transition-colors group-hover:text-accent-foreground\"\n onPointerDown={(event) => {\n event.preventDefault()\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n }}\n onMouseDown={(event) => {\n event.preventDefault()\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n }}\n onClick={() => {\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n setOpen(true)\n }}\n >\n <CalendarDays aria-hidden className=\"size-4\" />\n </button>\n\n {open && !disabled && (() => {\n const selectedDay = draft.trim() === \"\"\n ? undefined\n : draftSelection ?? value ?? undefined\n\n const popover = (\n <DismissableLayerBranch>\n <div\n ref={popoverRef}\n data-slot=\"day-picker-input-popover\"\n className=\"pointer-events-auto fixed z-[60] w-max rounded-md border bg-popover text-popover-foreground shadow-md\"\n style={{ left: popoverPosition.left, top: popoverPosition.top }}\n onPointerDownCapture={() => {\n pointerDownInPopoverRef.current = true\n }}\n onMouseDownCapture={() => {\n pointerDownInPopoverRef.current = true\n }}\n >\n <DayPickerComponent\n mode=\"single\"\n month={month}\n onMonthChange={setMonth}\n selected={selectedDay}\n onSelect={(date) => {\n if (!date) {\n if (value) {\n commitValue(null)\n }\n setDraft(\"\")\n closePopover()\n return\n }\n\n const normalized = startOfDay(date)\n if (!value || normalized.getTime() !== startOfDay(value).getTime()) {\n commitValue(normalized)\n }\n setDraft(formatDayInput(normalized))\n closePopover()\n }}\n {...dayPickerProps}\n />\n </div>\n </DismissableLayerBranch>\n )\n\n if (typeof document === \"undefined\") return popover\n return createPortal(popover, document.body)\n })()}\n </div>\n )\n }\n)\n\nDayPickerInput.displayName = \"DayPickerInput\"\n\nexport type DayPickerFieldProps = {\n id?: string\n value: Date | null\n onChange: (value: Date | null) => void\n onValueUpdate?: (value: Date | null) => void\n className?: string\n inputClassName?: string\n placeholder?: string\n disabled?: boolean\n readOnly?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n dayPickerComponent?: React.ComponentType<DayPickerProps>\n dayPickerProps?: Omit<DayPickerProps, \"mode\" | \"selected\" | \"onSelect\" | \"month\" | \"onMonthChange\">\n triggerTestId?: string\n isHydrated?: boolean\n}\n\nfunction DayPickerButtonField({\n id,\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n open: openProp,\n onOpenChange,\n dayPickerComponent,\n dayPickerProps,\n triggerTestId,\n isHydrated,\n}: DayPickerFieldProps) {\n const rootRef = React.useRef<HTMLDivElement | null>(null)\n const popoverRef = React.useRef<HTMLDivElement | null>(null)\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\n const open = openProp ?? uncontrolledOpen\n const setOpen = onOpenChange ?? setUncontrolledOpen\n const [month, setMonth] = React.useState(() => startOfMonth(value ?? new Date()))\n const [popoverPosition, setPopoverPosition] = React.useState(() => ({\n left: 0,\n top: 0,\n }))\n\n const useIsomorphicLayoutEffect = typeof window === \"undefined\" ? React.useEffect : React.useLayoutEffect\n\n React.useEffect(() => {\n if (!open) return\n setMonth(startOfMonth(value ?? new Date()))\n }, [open, value])\n\n React.useEffect(() => {\n if (!open) return\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target\n if (!(target instanceof Node)) return\n if (rootRef.current?.contains(target)) return\n if (popoverRef.current?.contains(target)) return\n setOpen(false)\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Escape\") return\n setOpen(false)\n }\n\n document.addEventListener(\"pointerdown\", handlePointerDown, true)\n document.addEventListener(\"keydown\", handleKeyDown, true)\n return () => {\n document.removeEventListener(\"pointerdown\", handlePointerDown, true)\n document.removeEventListener(\"keydown\", handleKeyDown, true)\n }\n }, [open])\n\n React.useEffect(() => {\n if (!open) {\n return\n }\n if (typeof window === \"undefined\") {\n return\n }\n if (!(\"IntersectionObserver\" in window)) {\n return\n }\n\n const root = rootRef.current\n if (!root) {\n return\n }\n\n let isActive = true\n const observer = new IntersectionObserver(entries => {\n if (!isActive) {\n return\n }\n const entry = entries[0]\n if (entry && !entry.isIntersecting) {\n setOpen(false)\n }\n })\n observer.observe(root)\n return () => {\n isActive = false\n observer.disconnect()\n }\n }, [open])\n\n const DayPickerComponent = dayPickerComponent ?? DayPicker\n\n const updatePopoverPosition = React.useCallback(() => {\n if (typeof window === \"undefined\") return\n const root = rootRef.current\n const popover = popoverRef.current\n if (!root || !popover) return\n\n const rect = root.getBoundingClientRect()\n const popoverWidth = popover.offsetWidth\n const popoverHeight = popover.offsetHeight\n const viewportWidth = window.innerWidth ?? 0\n const viewportHeight = window.innerHeight ?? 0\n const padding = 8\n\n let left = rect.left\n if (left + popoverWidth > viewportWidth - padding) {\n left = Math.max(padding, viewportWidth - popoverWidth - padding)\n }\n if (left < padding) {\n left = padding\n }\n\n let top = rect.bottom + padding\n const overflowBottom = top + popoverHeight > viewportHeight - padding\n const aboveTop = rect.top - popoverHeight - padding\n if (overflowBottom && aboveTop >= padding) {\n top = aboveTop\n }\n\n if (top < padding) {\n top = padding\n }\n if (top + popoverHeight > viewportHeight - padding) {\n top = Math.max(padding, viewportHeight - popoverHeight - padding)\n }\n\n setPopoverPosition({ left, top })\n }, [])\n\n useIsomorphicLayoutEffect(() => {\n if (!open || disabled) return\n if (typeof window === \"undefined\") return\n\n updatePopoverPosition()\n const rafId = window.requestAnimationFrame(updatePopoverPosition)\n\n window.addEventListener(\"scroll\", updatePopoverPosition, true)\n window.addEventListener(\"resize\", updatePopoverPosition)\n return () => {\n window.cancelAnimationFrame(rafId)\n window.removeEventListener(\"scroll\", updatePopoverPosition, true)\n window.removeEventListener(\"resize\", updatePopoverPosition)\n }\n }, [disabled, open, updatePopoverPosition])\n\n const commitValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n onChange(next)\n },\n [onChange, onValueUpdate],\n )\n\n return (\n <div ref={rootRef} data-slot=\"day-picker-input\" className={cn(\"relative group\", className)}>\n <button\n id={id}\n type=\"button\"\n disabled={disabled}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n data-slot=\"day-picker-input-input\"\n className={cn(\n \"flex h-10 w-full items-center rounded-md border border-input bg-background px-3 py-2 text-left text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"transition-colors group-hover:bg-accent group-hover:text-accent-foreground\",\n !value && \"text-muted-foreground\",\n open && \"ring-2 ring-primary ring-offset-2\",\n inputClassName,\n )}\n onClick={() => {\n if (disabled) return\n setOpen(!open)\n }}\n >\n <CalendarDays\n aria-hidden\n className=\"mr-2 size-4 text-muted-foreground transition-colors group-hover:text-accent-foreground\"\n />\n {value ? formatDayInput(value) : placeholder}\n </button>\n\n {open && !disabled && (() => {\n const popover = (\n <DismissableLayerBranch>\n <div\n ref={popoverRef}\n data-slot=\"day-picker-input-popover\"\n className=\"pointer-events-auto fixed z-[60] w-max rounded-md border bg-popover text-popover-foreground shadow-md\"\n style={{ left: popoverPosition.left, top: popoverPosition.top }}\n >\n <DayPickerComponent\n mode=\"single\"\n month={month}\n onMonthChange={setMonth}\n selected={value ?? undefined}\n onSelect={(date) => {\n if (!date) {\n commitValue(null)\n setOpen(false)\n return\n }\n\n const normalized = startOfDay(date)\n if (!value || normalized.getTime() !== startOfDay(value).getTime()) {\n commitValue(normalized)\n }\n setOpen(false)\n }}\n {...dayPickerProps}\n />\n </div>\n </DismissableLayerBranch>\n )\n\n if (typeof document === \"undefined\") return popover\n return createPortal(popover, document.body)\n })()}\n </div>\n )\n}\n\nexport function DayPickerField(props: DayPickerFieldProps) {\n const isTouchDevice = useIsTouchDevice()\n\n if (isTouchDevice) {\n return <DayPickerButtonField {...props} />\n }\n\n const {\n id,\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n readOnly,\n dayPickerComponent,\n dayPickerProps,\n triggerTestId,\n isHydrated,\n open,\n onOpenChange,\n } = props\n\n return (\n <DayPickerInput\n id={id}\n value={value}\n onChange={onChange}\n onValueUpdate={onValueUpdate}\n className={className}\n inputClassName={inputClassName}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n open={open}\n onOpenChange={onOpenChange}\n dayPickerComponent={dayPickerComponent}\n dayPickerProps={dayPickerProps}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n />\n )\n}\n"],"names":["imaskAny","IMask","InputMask","DayPicker","className","classNames","components","showOutsideDays","props","jsx","ReactDayPicker","cn","chevronProps","ChevronLeft","ChevronRight","pad2","value","startOfDay","date","next","startOfMonth","formatDayInput","buildDate","day","month","year","parseDayInput","now","trimmed","full","shortYear","noYear","DayPickerInput","React","onChange","onValueUpdate","inputClassName","placeholder","disabled","readOnly","openProp","onOpenChange","dayPickerComponent","dayPickerProps","onFocus","onBlur","onKeyDown","onPointerDown","onMouseDown","rest","forwardedRef","rootRef","popoverRef","inputRef","isFocusedRef","pointerDownOnInputRef","inputWasFocusedOnPointerDownRef","pointerDownInPopoverRef","uncontrolledOpen","setUncontrolledOpen","open","setOpen","draft","setDraft","draftSelection","setMonth","popoverPosition","setPopoverPosition","useIsomorphicLayoutEffect","updateValue","commitValue","handlePointerDown","event","target","handleKeyDown","root","isActive","observer","entries","entry","setRefs","node","closePopover","DayPickerComponent","updatePopoverPosition","popover","rect","popoverWidth","popoverHeight","viewportWidth","viewportHeight","padding","left","top","overflowBottom","aboveTop","rafId","jsxs","IMaskInput","appended","dynamicMasked","digits","nextValue","previousDigitsLength","completedValue","parsed","shouldSelectAll","element","isoDay","dayButton","blurFromPopoverPointerDown","relatedTarget","activeElement","CalendarDays","selectedDay","DismissableLayerBranch","normalized","createPortal","DayPickerButtonField","id","triggerTestId","isHydrated","DayPickerField","useIsTouchDevice"],"mappings":"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"}
1
+ {"version":3,"file":"index11.js","sources":["../src/components/DayPickerField/index.tsx"],"sourcesContent":["import { ChevronLeft, ChevronRight, CalendarDays } from \"lucide-react\"\nimport * as React from \"react\"\nimport { DismissableLayerBranch } from \"@radix-ui/react-dismissable-layer\"\nimport { createPortal } from \"react-dom\"\nimport { DayPicker as ReactDayPicker } from \"react-day-picker\"\nimport { IMaskInput } from \"react-imask\"\nimport IMask, { InputMask } from \"imask\"\n\nimport { useIsTouchDevice } from \"@/helpers/useIsTouchDevice\"\nimport { cn } from \"@/lib/utils\"\n\n\n// WARNING: used to preserve input mask even with tree shaking\n// DO NOT REMOVE THIS CODE OR THIS COMMENT\nconst imaskAny = IMask as any\nif (typeof imaskAny.InputMask !== \"function\") {\n imaskAny.InputMask = InputMask\n}\n\n\nexport type DayPickerProps = React.ComponentProps<typeof ReactDayPicker>\n\nexport function DayPicker({\n className,\n classNames,\n components,\n showOutsideDays = true,\n ...props\n}: DayPickerProps) {\n return (\n <ReactDayPicker\n weekStartsOn={1}\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n month: \"space-y-4\",\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2\",\n month_caption: \"flex justify-center pt-1 relative items-center\",\n month_grid: \"w-full border-collapse space-y-1\",\n caption_label: \"text-sm font-medium\",\n nav: \"flex items-center justify-between absolute inset-x-0 z-10\",\n button_previous:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n button_next:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n weeks: \"w-full border-collapse\",\n weekdays: \"flex\",\n weekday: \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n week: \"flex w-full mt-2\",\n day: \"h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-md first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md\",\n day_button:\n \"inline-flex h-9 w-9 items-center justify-center rounded-md p-0 text-center text-sm font-normal transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n range_start:\n \"day-range-start !bg-accent rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_end:\n \"day-range-end !bg-accent rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_middle: \"aria-selected:bg-accent aria-selected:text-accent-foreground !rounded-none\",\n day_selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n day_today: \"bg-accent text-accent-foreground\",\n day_outside: \"day-outside text-muted-foreground aria-selected:text-muted-foreground\",\n day_disabled: \"text-muted-foreground opacity-50\",\n day_hidden: \"invisible\",\n selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n today: \"bg-gray-50 text-accent-foreground !rounded-md\",\n outside:\n \"day-outside text-muted-foreground opacity-50 !aria-selected:bg-accent/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30\",\n disabled: \"text-muted-foreground opacity-50\",\n hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n Chevron: (chevronProps) =>\n chevronProps.orientation === \"left\" ? (\n <ChevronLeft {...chevronProps} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...chevronProps} className=\"h-4 w-4\" />\n ),\n ...components,\n }}\n {...props}\n />\n )\n}\n\nDayPicker.displayName = \"DayPicker\"\n\nfunction pad2(value: number) {\n return String(value).padStart(2, \"0\")\n}\n\nfunction startOfDay(date: Date) {\n const next = new Date(date)\n next.setHours(0, 0, 0, 0)\n return next\n}\n\nfunction startOfMonth(date: Date) {\n return startOfDay(new Date(date.getFullYear(), date.getMonth(), 1))\n}\n\nfunction formatDayInput(date: Date) {\n return `${pad2(date.getDate())}/${pad2(date.getMonth() + 1)}/${date.getFullYear()}`\n}\n\nfunction buildDate({ day, month, year }: { day: number; month: number; year: number }): Date | null {\n if (!Number.isFinite(day) || !Number.isFinite(month) || !Number.isFinite(year)) return null\n\n const date = new Date(year, month - 1, day)\n if (\n date.getFullYear() !== year ||\n date.getMonth() !== month - 1 ||\n date.getDate() !== day\n ) {\n return null\n }\n\n return startOfDay(date)\n}\n\nfunction parseDayInput(value: string, now: Date): Date | null {\n const trimmed = value.trim()\n if (!trimmed) return null\n\n const full = /^(\\d{2})\\/(\\d{2})\\/(\\d{4})$/.exec(trimmed)\n if (full) {\n return buildDate({ day: Number(full[1]), month: Number(full[2]), year: Number(full[3]) })\n }\n\n const shortYear = /^(\\d{2})\\/(\\d{2})\\/(\\d{2})$/.exec(trimmed)\n if (shortYear) {\n const year = Number(shortYear[3])\n if (!Number.isFinite(year)) return null\n return buildDate({ day: Number(shortYear[1]), month: Number(shortYear[2]), year: 2000 + year })\n }\n\n const noYear = /^(\\d{2})\\/(\\d{2})$/.exec(trimmed)\n if (noYear) {\n return buildDate({ day: Number(noYear[1]), month: Number(noYear[2]), year: now.getFullYear() })\n }\n\n return null\n}\n\nexport type DayPickerInputProps = Omit<\n React.ComponentProps<\"input\">,\n \"value\" | \"defaultValue\" | \"onChange\" | \"type\"\n> & {\n value: Date | null\n onChange: (value: Date | null) => void\n onValueUpdate?: (value: Date | null) => void\n inputClassName?: string\n open?: boolean\n onOpenChange?: (open: boolean) => void\n dayPickerComponent?: React.ComponentType<DayPickerProps>\n dayPickerProps?: Omit<DayPickerProps, \"mode\" | \"selected\" | \"onSelect\" | \"month\" | \"onMonthChange\">\n}\n\nexport const DayPickerInput = React.forwardRef<HTMLInputElement, DayPickerInputProps>(\n function DayPickerInput(\n {\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n readOnly,\n open: openProp,\n onOpenChange,\n dayPickerComponent,\n dayPickerProps,\n onFocus,\n onBlur,\n onKeyDown,\n onPointerDown,\n onMouseDown,\n ...rest\n },\n forwardedRef,\n\t ) {\n\t const rootRef = React.useRef<HTMLDivElement | null>(null)\n\t const popoverRef = React.useRef<HTMLDivElement | null>(null)\n\t\t const inputRef = React.useRef<HTMLInputElement | null>(null)\n\t\t const isFocusedRef = React.useRef(false)\n\t\t const pointerDownOnInputRef = React.useRef(false)\n\t\t const inputWasFocusedOnPointerDownRef = React.useRef(false)\n const pointerDownInPopoverRef = React.useRef(false)\n\n\t const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\n\t const open = openProp ?? uncontrolledOpen\n\t const setOpen = onOpenChange ?? setUncontrolledOpen\n\t const [draft, setDraft] = React.useState(() => (value ? formatDayInput(value) : \"\"))\n const draftSelection = React.useMemo(() => parseDayInput(draft, new Date()), [draft])\n\t\t const [month, setMonth] = React.useState(() => startOfMonth(value ?? new Date()))\n\t\t const [popoverPosition, setPopoverPosition] = React.useState(() => ({\n\t\t left: 0,\n\t top: 0,\n\t }))\n\n\t const useIsomorphicLayoutEffect = typeof window === \"undefined\" ? React.useEffect : React.useLayoutEffect\n\n const updateValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n return\n }\n\n onChange(next)\n },\n [onChange, onValueUpdate],\n )\n\n const commitValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n onChange(next)\n },\n [onChange, onValueUpdate],\n )\n\n React.useEffect(() => {\n if (isFocusedRef.current) return\n setDraft(value ? formatDayInput(value) : \"\")\n }, [value])\n\n React.useEffect(() => {\n if (!open) return\n setMonth(startOfMonth(value ?? new Date()))\n }, [open, value])\n\n React.useEffect(() => {\n if (!open) return\n if (!draftSelection) return\n setMonth(startOfMonth(draftSelection))\n }, [draftSelection, open])\n\n React.useEffect(() => {\n if (!open) return\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target\n if (!(target instanceof Node)) return\n if (rootRef.current?.contains(target)) return\n if (popoverRef.current?.contains(target)) return\n setOpen(false)\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Escape\") return\n setOpen(false)\n }\n\n document.addEventListener(\"pointerdown\", handlePointerDown, true)\n document.addEventListener(\"keydown\", handleKeyDown, true)\n return () => {\n document.removeEventListener(\"pointerdown\", handlePointerDown, true)\n document.removeEventListener(\"keydown\", handleKeyDown, true)\n }\n }, [open])\n\n React.useEffect(() => {\n if (!open) {\n return\n }\n if (typeof window === \"undefined\") {\n return\n }\n if (!(\"IntersectionObserver\" in window)) {\n return\n }\n\n const root = rootRef.current\n if (!root) {\n return\n }\n\n let isActive = true\n const observer = new IntersectionObserver(entries => {\n if (!isActive) {\n return\n }\n const entry = entries[0]\n if (entry && !entry.isIntersecting) {\n setOpen(false)\n }\n })\n observer.observe(root)\n return () => {\n isActive = false\n observer.disconnect()\n }\n }, [open])\n\n const setRefs = React.useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node\n if (typeof forwardedRef === \"function\") {\n forwardedRef(node)\n } else if (forwardedRef) {\n forwardedRef.current = node\n }\n },\n [forwardedRef],\n )\n\n const closePopover = () => setOpen(false)\n\n const DayPickerComponent = dayPickerComponent ?? DayPicker\n\n const updatePopoverPosition = React.useCallback(() => {\n if (typeof window === \"undefined\") return\n const root = rootRef.current\n const popover = popoverRef.current\n if (!root || !popover) return\n\n const rect = root.getBoundingClientRect()\n const popoverWidth = popover.offsetWidth\n const popoverHeight = popover.offsetHeight\n const viewportWidth = window.innerWidth ?? 0\n const viewportHeight = window.innerHeight ?? 0\n const padding = 8\n\n let left = rect.left\n if (left + popoverWidth > viewportWidth - padding) {\n left = Math.max(padding, viewportWidth - popoverWidth - padding)\n }\n if (left < padding) {\n left = padding\n }\n\n let top = rect.bottom + padding\n const overflowBottom = top + popoverHeight > viewportHeight - padding\n const aboveTop = rect.top - popoverHeight - padding\n if (overflowBottom && aboveTop >= padding) {\n top = aboveTop\n }\n\n if (top < padding) {\n top = padding\n }\n if (top + popoverHeight > viewportHeight - padding) {\n top = Math.max(padding, viewportHeight - popoverHeight - padding)\n }\n\n setPopoverPosition({ left, top })\n }, [])\n\n\t useIsomorphicLayoutEffect(() => {\n\t if (!open || disabled) return\n\t if (typeof window === \"undefined\") return\n\n\t updatePopoverPosition()\n\t const rafId = window.requestAnimationFrame(updatePopoverPosition)\n\n\t window.addEventListener(\"scroll\", updatePopoverPosition, true)\n\t window.addEventListener(\"resize\", updatePopoverPosition)\n\t return () => {\n\t window.cancelAnimationFrame(rafId)\n\t window.removeEventListener(\"scroll\", updatePopoverPosition, true)\n\t window.removeEventListener(\"resize\", updatePopoverPosition)\n\t }\n\t }, [disabled, open, updatePopoverPosition])\n\n\t return (\n\t <div ref={rootRef} data-slot=\"day-picker-input\" className={cn(\"relative group\", className)}>\n\t\t <IMaskInput\n\t\t {...rest}\n\t\t data-slot=\"day-picker-input-input\"\n disabled={disabled}\n readOnly={readOnly}\n autoComplete=\"off\"\n inputRef={setRefs}\n mask={[\n { mask: \"00/00\", lazy: true },\n { mask: \"00/00/00\", lazy: true },\n { mask: \"00/00/0000\", lazy: true },\n ]}\n dispatch={(appended, dynamicMasked) => {\n const digits = (dynamicMasked.value + appended).replace(/\\D/g, \"\")\n if (digits.length <= 4) return dynamicMasked.compiledMasks[0]\n if (digits.length <= 6) return dynamicMasked.compiledMasks[1]\n return dynamicMasked.compiledMasks[2]\n }}\n\t placeholder={placeholder}\n\t value={draft}\n\t\t className={cn(\n\t\t \"flex h-10 w-full rounded-md border border-input bg-background py-2 pr-3 pl-[37px] text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n\t\t \"transition-colors group-hover:bg-accent group-hover:text-accent-foreground\",\n\t\t inputClassName\n\t\t )}\n onAccept={(nextValue) => {\n const next = typeof nextValue === \"string\" ? nextValue : String(nextValue ?? \"\")\n const previousDigitsLength = draft.replace(/\\D/g, \"\").length\n setDraft(next)\n if (next.replace(/\\D/g, \"\").length === 0) {\n if (open) {\n setMonth(startOfMonth(new Date()))\n }\n if (previousDigitsLength !== 0) {\n updateValue(null)\n }\n }\n }}\n onComplete={(completedValue) => {\n const next = typeof completedValue === \"string\"\n ? completedValue\n : String(completedValue ?? \"\")\n const parsed = parseDayInput(next, new Date())\n if (!parsed) return\n if (value && parsed.getTime() === startOfDay(value).getTime()) {\n return\n }\n updateValue(parsed)\n }}\n\t onPointerDown={(event) => {\n\t pointerDownOnInputRef.current = true\n\t inputWasFocusedOnPointerDownRef.current =\n\t typeof document !== \"undefined\" && document.activeElement === event.currentTarget\n\t onPointerDown?.(event)\n\t }}\n\t onMouseDown={(event) => {\n\t pointerDownOnInputRef.current = true\n\t inputWasFocusedOnPointerDownRef.current =\n\t typeof document !== \"undefined\" && document.activeElement === event.currentTarget\n\t onMouseDown?.(event)\n\t }}\n onFocus={(event) => {\n const shouldSelectAll =\n !pointerDownOnInputRef.current || !inputWasFocusedOnPointerDownRef.current\n pointerDownOnInputRef.current = false\n inputWasFocusedOnPointerDownRef.current = false\n\t isFocusedRef.current = true\n\t onFocus?.(event)\n\t if (shouldSelectAll) {\n\t const element = event.currentTarget\n\t requestAnimationFrame(() => element.select())\n }\n if (!disabled) {\n setOpen(true)\n }\n }}\n\t onKeyDown={(event) => {\n\t const wasDefaultPrevented = event.defaultPrevented\n\t onKeyDown?.(event)\n\t if (!wasDefaultPrevented && event.defaultPrevented) {\n\t return\n\t }\n\n\t\t if (event.key === \"Enter\") {\n\t\t if (!draftSelection) {\n\t\t return\n\t\t }\n\t\t event.preventDefault()\n if (open) {\n const isoDay = `${draftSelection.getFullYear()}-${pad2(draftSelection.getMonth() + 1)}-${pad2(draftSelection.getDate())}`\n const dayButton = popoverRef.current?.querySelector(\n `[data-day='${isoDay}']:not([data-outside]) button`,\n )\n if (dayButton instanceof HTMLButtonElement) {\n if (dayButton.disabled) {\n return\n }\n dayButton.focus()\n }\n }\n\t\t setDraft(formatDayInput(draftSelection))\n\t\t if (!value || draftSelection.getTime() !== startOfDay(value).getTime()) {\n\t\t commitValue(draftSelection)\n\t\t }\n\t\t setOpen(false)\n\t return\n\t }\n\n if (!open) {\n const shouldReopen =\n (event.key.length === 1 || event.key === \"Backspace\" || event.key === \"Delete\") &&\n !event.ctrlKey &&\n !event.metaKey &&\n !event.altKey\n\n if (shouldReopen) {\n setOpen(true)\n }\n }\n\n\t if (event.key === \"Tab\" && !event.defaultPrevented) {\n\t setOpen(false)\n\t }\n\t }}\n\t onBlur={(event) => {\n\t isFocusedRef.current = false\n\t onBlur?.(event)\n const blurFromPopoverPointerDown = pointerDownInPopoverRef.current\n pointerDownInPopoverRef.current = false\n if (blurFromPopoverPointerDown) {\n return\n }\n\n const relatedTarget = event.relatedTarget\n if (relatedTarget instanceof Node) {\n const root = rootRef.current\n if (!root) {\n return\n }\n\n if (root.contains(relatedTarget) || popoverRef.current?.contains(relatedTarget)) {\n return\n }\n }\n\n\t if (open && typeof window !== \"undefined\") {\n\t requestAnimationFrame(() => {\n const root = rootRef.current\n if (!root) {\n return\n }\n const activeElement = document.activeElement\n if (\n activeElement &&\n (root.contains(activeElement) || popoverRef.current?.contains(activeElement))\n ) {\n return\n }\n setOpen(false)\n })\n\t }\n\t const trimmed = draft.trim()\n\t if (trimmed === \"\") {\n if (value) {\n setDraft(\"\")\n commitValue(null)\n }\n\t return\n\t }\n\t const parsed = parseDayInput(trimmed, new Date())\n\t if (parsed) {\n\t setDraft(formatDayInput(parsed))\n\t if (!value || parsed.getTime() !== startOfDay(value).getTime()) {\n\t commitValue(parsed)\n }\n return\n }\n setDraft(value ? formatDayInput(value) : \"\")\n\t\t }}\n\t\t />\n\n <button\n type=\"button\"\n tabIndex={-1}\n disabled={disabled}\n aria-label=\"Open calendar\"\n data-slot=\"day-picker-input-trigger\"\n className=\"absolute left-[13px] top-1/2 -translate-y-1/2 text-muted-foreground transition-colors group-hover:text-accent-foreground\"\n onPointerDown={(event) => {\n event.preventDefault()\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n }}\n onMouseDown={(event) => {\n event.preventDefault()\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n }}\n onClick={() => {\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n setOpen(true)\n }}\n >\n <CalendarDays aria-hidden className=\"size-4\" />\n </button>\n\n {open && !disabled && (() => {\n const selectedDay = draft.trim() === \"\"\n ? undefined\n : draftSelection ?? value ?? undefined\n\n const popover = (\n <DismissableLayerBranch>\n <div\n ref={popoverRef}\n data-slot=\"day-picker-input-popover\"\n className=\"pointer-events-auto fixed z-[60] w-max rounded-md border bg-popover text-popover-foreground shadow-md\"\n style={{ left: popoverPosition.left, top: popoverPosition.top }}\n onPointerDownCapture={() => {\n pointerDownInPopoverRef.current = true\n }}\n onMouseDownCapture={() => {\n pointerDownInPopoverRef.current = true\n }}\n >\n <DayPickerComponent\n mode=\"single\"\n month={month}\n onMonthChange={setMonth}\n selected={selectedDay}\n onSelect={(date) => {\n if (!date) {\n if (value) {\n commitValue(null)\n }\n setDraft(\"\")\n closePopover()\n return\n }\n\n const normalized = startOfDay(date)\n if (!value || normalized.getTime() !== startOfDay(value).getTime()) {\n commitValue(normalized)\n }\n setDraft(formatDayInput(normalized))\n closePopover()\n }}\n {...dayPickerProps}\n />\n </div>\n </DismissableLayerBranch>\n )\n\n if (typeof document === \"undefined\") return popover\n return createPortal(popover, document.body)\n })()}\n </div>\n )\n }\n)\n\nDayPickerInput.displayName = \"DayPickerInput\"\n\nexport type DayPickerFieldProps = {\n id?: string\n value: Date | null\n onChange: (value: Date | null) => void\n onValueUpdate?: (value: Date | null) => void\n className?: string\n inputClassName?: string\n placeholder?: string\n disabled?: boolean\n readOnly?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n dayPickerComponent?: React.ComponentType<DayPickerProps>\n dayPickerProps?: Omit<DayPickerProps, \"mode\" | \"selected\" | \"onSelect\" | \"month\" | \"onMonthChange\">\n triggerTestId?: string\n isHydrated?: boolean\n}\n\nfunction DayPickerButtonField({\n id,\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n open: openProp,\n onOpenChange,\n dayPickerComponent,\n dayPickerProps,\n triggerTestId,\n isHydrated,\n}: DayPickerFieldProps) {\n const rootRef = React.useRef<HTMLDivElement | null>(null)\n const popoverRef = React.useRef<HTMLDivElement | null>(null)\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\n const open = openProp ?? uncontrolledOpen\n const setOpen = onOpenChange ?? setUncontrolledOpen\n const [month, setMonth] = React.useState(() => startOfMonth(value ?? new Date()))\n const [popoverPosition, setPopoverPosition] = React.useState(() => ({\n left: 0,\n top: 0,\n }))\n\n const useIsomorphicLayoutEffect = typeof window === \"undefined\" ? React.useEffect : React.useLayoutEffect\n\n React.useEffect(() => {\n if (!open) return\n setMonth(startOfMonth(value ?? new Date()))\n }, [open, value])\n\n React.useEffect(() => {\n if (!open) return\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target\n if (!(target instanceof Node)) return\n if (rootRef.current?.contains(target)) return\n if (popoverRef.current?.contains(target)) return\n setOpen(false)\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Escape\") return\n setOpen(false)\n }\n\n document.addEventListener(\"pointerdown\", handlePointerDown, true)\n document.addEventListener(\"keydown\", handleKeyDown, true)\n return () => {\n document.removeEventListener(\"pointerdown\", handlePointerDown, true)\n document.removeEventListener(\"keydown\", handleKeyDown, true)\n }\n }, [open])\n\n React.useEffect(() => {\n if (!open) {\n return\n }\n if (typeof window === \"undefined\") {\n return\n }\n if (!(\"IntersectionObserver\" in window)) {\n return\n }\n\n const root = rootRef.current\n if (!root) {\n return\n }\n\n let isActive = true\n const observer = new IntersectionObserver(entries => {\n if (!isActive) {\n return\n }\n const entry = entries[0]\n if (entry && !entry.isIntersecting) {\n setOpen(false)\n }\n })\n observer.observe(root)\n return () => {\n isActive = false\n observer.disconnect()\n }\n }, [open])\n\n const DayPickerComponent = dayPickerComponent ?? DayPicker\n\n const updatePopoverPosition = React.useCallback(() => {\n if (typeof window === \"undefined\") return\n const root = rootRef.current\n const popover = popoverRef.current\n if (!root || !popover) return\n\n const rect = root.getBoundingClientRect()\n const popoverWidth = popover.offsetWidth\n const popoverHeight = popover.offsetHeight\n const viewportWidth = window.innerWidth ?? 0\n const viewportHeight = window.innerHeight ?? 0\n const padding = 8\n\n let left = rect.left\n if (left + popoverWidth > viewportWidth - padding) {\n left = Math.max(padding, viewportWidth - popoverWidth - padding)\n }\n if (left < padding) {\n left = padding\n }\n\n let top = rect.bottom + padding\n const overflowBottom = top + popoverHeight > viewportHeight - padding\n const aboveTop = rect.top - popoverHeight - padding\n if (overflowBottom && aboveTop >= padding) {\n top = aboveTop\n }\n\n if (top < padding) {\n top = padding\n }\n if (top + popoverHeight > viewportHeight - padding) {\n top = Math.max(padding, viewportHeight - popoverHeight - padding)\n }\n\n setPopoverPosition({ left, top })\n }, [])\n\n useIsomorphicLayoutEffect(() => {\n if (!open || disabled) return\n if (typeof window === \"undefined\") return\n\n updatePopoverPosition()\n const rafId = window.requestAnimationFrame(updatePopoverPosition)\n\n window.addEventListener(\"scroll\", updatePopoverPosition, true)\n window.addEventListener(\"resize\", updatePopoverPosition)\n return () => {\n window.cancelAnimationFrame(rafId)\n window.removeEventListener(\"scroll\", updatePopoverPosition, true)\n window.removeEventListener(\"resize\", updatePopoverPosition)\n }\n }, [disabled, open, updatePopoverPosition])\n\n const commitValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n onChange(next)\n },\n [onChange, onValueUpdate],\n )\n\n return (\n <div ref={rootRef} data-slot=\"day-picker-input\" className={cn(\"relative group\", className)}>\n <button\n id={id}\n type=\"button\"\n disabled={disabled}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n data-slot=\"day-picker-input-input\"\n className={cn(\n \"flex h-10 w-full items-center rounded-md border border-input bg-background px-3 py-2 text-left text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"transition-colors group-hover:bg-accent group-hover:text-accent-foreground\",\n !value && \"text-muted-foreground\",\n open && \"ring-2 ring-primary ring-offset-2\",\n inputClassName,\n )}\n onClick={() => {\n if (disabled) return\n setOpen(!open)\n }}\n >\n <CalendarDays\n aria-hidden\n className=\"mr-2 size-4 text-muted-foreground transition-colors group-hover:text-accent-foreground\"\n />\n {value ? formatDayInput(value) : placeholder}\n </button>\n\n {open && !disabled && (() => {\n const popover = (\n <DismissableLayerBranch>\n <div\n ref={popoverRef}\n data-slot=\"day-picker-input-popover\"\n className=\"pointer-events-auto fixed z-[60] w-max rounded-md border bg-popover text-popover-foreground shadow-md\"\n style={{ left: popoverPosition.left, top: popoverPosition.top }}\n >\n <DayPickerComponent\n mode=\"single\"\n month={month}\n onMonthChange={setMonth}\n selected={value ?? undefined}\n onSelect={(date) => {\n if (!date) {\n commitValue(null)\n setOpen(false)\n return\n }\n\n const normalized = startOfDay(date)\n if (!value || normalized.getTime() !== startOfDay(value).getTime()) {\n commitValue(normalized)\n }\n setOpen(false)\n }}\n {...dayPickerProps}\n />\n </div>\n </DismissableLayerBranch>\n )\n\n if (typeof document === \"undefined\") return popover\n return createPortal(popover, document.body)\n })()}\n </div>\n )\n}\n\nexport function DayPickerField(props: DayPickerFieldProps) {\n const isTouchDevice = useIsTouchDevice()\n\n if (isTouchDevice) {\n return <DayPickerButtonField {...props} />\n }\n\n const {\n id,\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n readOnly,\n dayPickerComponent,\n dayPickerProps,\n triggerTestId,\n isHydrated,\n open,\n onOpenChange,\n } = props\n\n return (\n <DayPickerInput\n id={id}\n value={value}\n onChange={onChange}\n onValueUpdate={onValueUpdate}\n className={className}\n inputClassName={inputClassName}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n open={open}\n onOpenChange={onOpenChange}\n dayPickerComponent={dayPickerComponent}\n dayPickerProps={dayPickerProps}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n />\n )\n}\n"],"names":["imaskAny","IMask","InputMask","DayPicker","className","classNames","components","showOutsideDays","props","jsx","ReactDayPicker","cn","chevronProps","ChevronLeft","ChevronRight","pad2","value","startOfDay","date","next","startOfMonth","formatDayInput","buildDate","day","month","year","parseDayInput","now","trimmed","full","shortYear","noYear","DayPickerInput","React","onChange","onValueUpdate","inputClassName","placeholder","disabled","readOnly","openProp","onOpenChange","dayPickerComponent","dayPickerProps","onFocus","onBlur","onKeyDown","onPointerDown","onMouseDown","rest","forwardedRef","rootRef","popoverRef","inputRef","isFocusedRef","pointerDownOnInputRef","inputWasFocusedOnPointerDownRef","pointerDownInPopoverRef","uncontrolledOpen","setUncontrolledOpen","open","setOpen","draft","setDraft","draftSelection","setMonth","popoverPosition","setPopoverPosition","useIsomorphicLayoutEffect","updateValue","commitValue","handlePointerDown","event","target","handleKeyDown","root","isActive","observer","entries","entry","setRefs","node","closePopover","DayPickerComponent","updatePopoverPosition","popover","rect","popoverWidth","popoverHeight","viewportWidth","viewportHeight","padding","left","top","overflowBottom","aboveTop","rafId","jsxs","IMaskInput","appended","dynamicMasked","digits","nextValue","previousDigitsLength","completedValue","parsed","shouldSelectAll","element","wasDefaultPrevented","isoDay","dayButton","blurFromPopoverPointerDown","relatedTarget","activeElement","CalendarDays","selectedDay","DismissableLayerBranch","normalized","createPortal","DayPickerButtonField","id","triggerTestId","isHydrated","DayPickerField","useIsTouchDevice"],"mappings":"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"}
package/dist/index12.js CHANGED
@@ -1,4 +1,4 @@
1
- import { j as a } from "./index28.js";
1
+ import { j as a } from "./index27.js";
2
2
  import * as d from "react";
3
3
  import * as o from "@radix-ui/react-dialog";
4
4
  import { XIcon as c } from "lucide-react";
package/dist/index13.js CHANGED
@@ -1,6 +1,6 @@
1
- import { j as a } from "./index28.js";
1
+ import { j as a } from "./index27.js";
2
2
  import { useState as m, useRef as w, useEffect as u } from "react";
3
- import { decode as y } from "./index31.js";
3
+ import { decode as y } from "./index30.js";
4
4
  const D = ({
5
5
  src: o,
6
6
  hash: n,
package/dist/index14.js CHANGED
@@ -1,9 +1,9 @@
1
- import { j as r } from "./index28.js";
1
+ import { j as r } from "./index27.js";
2
2
  import { useRef as A, useState as H, useEffect as T, useMemo as re } from "react";
3
3
  import { createPortal as ie } from "react-dom";
4
- import { useSensors as ke, useSensor as ae, DndContext as Ne, closestCenter as Ue, KeyboardSensor as Re, PointerSensor as Se, DragOverlay as Ie } from "./index32.js";
5
- import { SortableContext as Ce, rectSortingStrategy as Le, arrayMove as Ae, sortableKeyboardCoordinates as ze, useSortable as Ee } from "./index33.js";
6
- import { CSS as Me } from "./index34.js";
4
+ import { useSensors as ke, useSensor as ae, DndContext as Ne, closestCenter as Ue, KeyboardSensor as Re, PointerSensor as Se, DragOverlay as Ie } from "./index31.js";
5
+ import { SortableContext as Ce, rectSortingStrategy as Le, arrayMove as Ae, sortableKeyboardCoordinates as ze, useSortable as Ee } from "./index32.js";
6
+ import { CSS as Me } from "./index33.js";
7
7
  import { Plus as Pe, X as ce, Maximize2 as Te, Loader2 as De } from "lucide-react";
8
8
  import { cn as Q } from "./index2.js";
9
9
  const ue = "rb-tenant-id", Ke = async (t) => {
package/dist/index146.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as l from "react";
2
- import { composeRefs as m } from "./index50.js";
3
- import { j as u } from "./index28.js";
2
+ import { composeRefs as m } from "./index49.js";
3
+ import { j as u } from "./index27.js";
4
4
  // @__NO_SIDE_EFFECTS__
5
5
  function x(e) {
6
6
  const r = /* @__PURE__ */ y(e), t = l.forwardRef((o, n) => {
package/dist/index147.js CHANGED
@@ -1,50 +1,9 @@
1
- import * as l from "react";
2
- import { composeRefs as m } from "./index50.js";
3
- import { j as u } from "./index28.js";
4
- // @__NO_SIDE_EFFECTS__
5
- function x(e) {
6
- const r = /* @__PURE__ */ y(e), t = l.forwardRef((o, n) => {
7
- const { children: i, ...c } = o, s = l.Children.toArray(i), a = s.find(g);
8
- if (a) {
9
- const f = a.props.children, d = s.map((p) => p === a ? l.Children.count(f) > 1 ? l.Children.only(null) : l.isValidElement(f) ? f.props.children : null : p);
10
- return /* @__PURE__ */ u.jsx(r, { ...c, ref: n, children: l.isValidElement(f) ? l.cloneElement(f, void 0, d) : null });
11
- }
12
- return /* @__PURE__ */ u.jsx(r, { ...c, ref: n, children: i });
13
- });
14
- return t.displayName = `${e}.Slot`, t;
15
- }
16
- // @__NO_SIDE_EFFECTS__
17
- function y(e) {
18
- const r = l.forwardRef((t, o) => {
19
- const { children: n, ...i } = t;
20
- if (l.isValidElement(n)) {
21
- const c = R(n), s = C(i, n.props);
22
- return n.type !== l.Fragment && (s.ref = o ? m(o, c) : c), l.cloneElement(n, s);
23
- }
24
- return l.Children.count(n) > 1 ? l.Children.only(null) : null;
25
- });
26
- return r.displayName = `${e}.SlotClone`, r;
27
- }
28
- var E = /* @__PURE__ */ Symbol("radix.slottable");
29
- function g(e) {
30
- return l.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === E;
31
- }
32
- function C(e, r) {
33
- const t = { ...r };
34
- for (const o in r) {
35
- const n = e[o], i = r[o];
36
- /^on[A-Z]/.test(o) ? n && i ? t[o] = (...s) => {
37
- const a = i(...s);
38
- return n(...s), a;
39
- } : n && (t[o] = n) : o === "style" ? t[o] = { ...n, ...i } : o === "className" && (t[o] = [n, i].filter(Boolean).join(" "));
40
- }
41
- return { ...e, ...t };
42
- }
43
- function R(e) {
44
- let r = Object.getOwnPropertyDescriptor(e.props, "ref")?.get, t = r && "isReactWarning" in r && r.isReactWarning;
45
- return t ? e.ref : (r = Object.getOwnPropertyDescriptor(e, "ref")?.get, t = r && "isReactWarning" in r && r.isReactWarning, t ? e.props.ref : e.props.ref || e.ref);
1
+ import e from "./index149.js";
2
+ function o(a, r) {
3
+ var t = Array.prototype.slice.call(r);
4
+ return t.push(e), a.apply(this, t);
46
5
  }
47
6
  export {
48
- x as createSlot
7
+ o as default
49
8
  };
50
9
  //# sourceMappingURL=index147.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index147.js","sources":["../../../node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.mjs"],"sourcesContent":["// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["createSlot","ownerName","SlotClone","createSlotClone","Slot2","React","props","forwardedRef","children","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","jsx","childrenRef","getElementRef","props2","mergeProps","composeRefs","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","args","result","element","getter","mayWarn"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index147.js","sources":["../../../node_modules/libphonenumber-js/min/exports/withMetadataArgument.js"],"sourcesContent":["// Importing from a \".js\" file is a workaround for Node.js \"ES Modules\"\r\n// importing system which is even uncapable of importing \"*.json\" files.\r\nimport metadata from '../../metadata.min.json.js'\r\n\r\nexport default function withMetadataArgument(func, _arguments) {\r\n\tvar args = Array.prototype.slice.call(_arguments)\r\n\targs.push(metadata)\r\n\treturn func.apply(this, args)\r\n}"],"names":["withMetadataArgument","func","_arguments","args","metadata"],"mappings":";AAIe,SAASA,EAAqBC,GAAMC,GAAY;AAC9D,MAAIC,IAAO,MAAM,UAAU,MAAM,KAAKD,CAAU;AAChD,SAAAC,EAAK,KAAKC,CAAQ,GACXH,EAAK,MAAM,MAAME,CAAI;AAC7B;","x_google_ignoreList":[0]}