@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.
- package/dist/components/DayPickerField/index.d.ts.map +1 -1
- package/dist/index10.js +1 -1
- package/dist/index11.js +120 -119
- package/dist/index11.js.map +1 -1
- package/dist/index12.js +1 -1
- package/dist/index13.js +2 -2
- package/dist/index14.js +4 -4
- package/dist/index146.js +2 -2
- package/dist/index147.js +5 -46
- package/dist/index147.js.map +1 -1
- package/dist/index148.js +62 -199
- package/dist/index148.js.map +1 -1
- package/dist/index149.js +2 -22
- package/dist/index149.js.map +1 -1
- package/dist/index15.js +1 -1
- package/dist/index150.js +363 -24
- package/dist/index150.js.map +1 -1
- package/dist/index151.js +243 -381
- package/dist/index151.js.map +1 -1
- package/dist/index152.js +52 -597
- package/dist/index152.js.map +1 -1
- package/dist/index153.js +46 -5
- package/dist/index153.js.map +1 -1
- package/dist/index154.js +157 -56
- package/dist/index154.js.map +1 -1
- package/dist/index155.js +110 -2
- package/dist/index155.js.map +1 -1
- package/dist/index156.js +24 -363
- package/dist/index156.js.map +1 -1
- package/dist/index157.js +8 -262
- package/dist/index157.js.map +1 -1
- package/dist/index158.js +4 -60
- package/dist/index158.js.map +1 -1
- package/dist/index159.js +5 -46
- package/dist/index159.js.map +1 -1
- package/dist/index16.js +1 -1
- package/dist/index160.js +4 -169
- package/dist/index160.js.map +1 -1
- package/dist/index161.js +459 -102
- package/dist/index161.js.map +1 -1
- package/dist/index162.js +185 -24
- package/dist/index162.js.map +1 -1
- package/dist/index163.js +108 -8
- package/dist/index163.js.map +1 -1
- package/dist/index164.js +262 -4
- package/dist/index164.js.map +1 -1
- package/dist/index165.js +9 -5
- package/dist/index165.js.map +1 -1
- package/dist/index166.js +42 -4
- package/dist/index166.js.map +1 -1
- package/dist/index167.js +4 -466
- package/dist/index167.js.map +1 -1
- package/dist/index168.js +44 -183
- package/dist/index168.js.map +1 -1
- package/dist/index169.js +198 -100
- package/dist/index169.js.map +1 -1
- package/dist/index17.js +1 -1
- package/dist/index170.js +22 -263
- package/dist/index170.js.map +1 -1
- package/dist/index171.js +24 -9
- package/dist/index171.js.map +1 -1
- package/dist/index172.js +391 -34
- package/dist/index172.js.map +1 -1
- package/dist/index173.js +605 -4
- package/dist/index173.js.map +1 -1
- package/dist/index18.js +74 -74
- package/dist/index18.js.map +1 -1
- package/dist/index19.js +7 -7
- package/dist/index20.js +2 -2
- package/dist/index21.js +1 -1
- package/dist/index22.js +1 -1
- package/dist/index23.js +2 -2
- package/dist/index235.js +12 -23
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +155 -29
- package/dist/index236.js.map +1 -1
- package/dist/index237.js +31 -5
- package/dist/index237.js.map +1 -1
- package/dist/index238.js +9 -67
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +43 -176
- package/dist/index239.js.map +1 -1
- package/dist/index24.js +1 -1
- package/dist/index240.js +10 -45
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +44 -13
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +86 -145
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +83 -27
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +105 -9
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +45 -40
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +11 -11
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +35 -42
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +8 -95
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +110 -80
- package/dist/index249.js.map +1 -1
- package/dist/index250.js +17 -105
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +14 -51
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +3 -11
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +32 -33
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +20 -8
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +9 -3
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +7 -8
- package/dist/index256.js.map +1 -1
- package/dist/index257.js +17 -114
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +28 -17
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +15 -14
- package/dist/index259.js.map +1 -1
- package/dist/index260.js +23 -35
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +29 -21
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +5 -9
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +65 -17
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +178 -26
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +44 -14
- package/dist/index265.js.map +1 -1
- package/dist/index269.js +21 -5
- package/dist/index269.js.map +1 -1
- package/dist/index27.js +3 -37
- package/dist/index27.js.map +1 -1
- package/dist/index270.js +5 -3
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +3 -24
- package/dist/index271.js.map +1 -1
- package/dist/index272.js +22 -111
- package/dist/index272.js.map +1 -1
- package/dist/index273.js +111 -14
- package/dist/index273.js.map +1 -1
- package/dist/index274.js +14 -523
- package/dist/index274.js.map +1 -1
- package/dist/index275.js +511 -114
- package/dist/index275.js.map +1 -1
- package/dist/index276.js +111 -117
- package/dist/index276.js.map +1 -1
- package/dist/index277.js +133 -20
- package/dist/index277.js.map +1 -1
- package/dist/index28.js +125 -3
- package/dist/index28.js.map +1 -1
- package/dist/index29.js +227 -120
- package/dist/index29.js.map +1 -1
- package/dist/index295.js +1 -1
- package/dist/index299.js +1 -1
- package/dist/index30.js +49 -230
- package/dist/index30.js.map +1 -1
- package/dist/index31.js +2640 -50
- package/dist/index31.js.map +1 -1
- package/dist/index32.js +351 -2598
- package/dist/index32.js.map +1 -1
- package/dist/index33.js +214 -375
- package/dist/index33.js.map +1 -1
- package/dist/index34.js +19 -230
- package/dist/index34.js.map +1 -1
- package/dist/index35.js +138 -18
- package/dist/index35.js.map +1 -1
- package/dist/index36.js +170 -125
- package/dist/index36.js.map +1 -1
- package/dist/index37.js +64 -174
- package/dist/index37.js.map +1 -1
- package/dist/index38.js +88 -74
- package/dist/index38.js.map +1 -1
- package/dist/index39.js +5 -90
- package/dist/index39.js.map +1 -1
- package/dist/index40.js +843 -5
- package/dist/index40.js.map +1 -1
- package/dist/index41.js +54 -832
- package/dist/index41.js.map +1 -1
- package/dist/index42.js +37 -66
- package/dist/index42.js.map +1 -1
- package/dist/index45.js +1 -1
- package/dist/index46.js +1 -1
- package/dist/index47.js +7 -205
- package/dist/index47.js.map +1 -1
- package/dist/index48.js +33 -6
- package/dist/index48.js.map +1 -1
- package/dist/index49.js +26 -33
- package/dist/index49.js.map +1 -1
- package/dist/index5.js +1 -1
- package/dist/index50.js +7 -26
- package/dist/index50.js.map +1 -1
- package/dist/index51.js +11 -7
- package/dist/index51.js.map +1 -1
- package/dist/index52.js +53 -11
- package/dist/index52.js.map +1 -1
- package/dist/index53.js +205 -4
- package/dist/index53.js.map +1 -1
- package/dist/index54.js +3 -47
- package/dist/index54.js.map +1 -1
- package/dist/index55.js +45 -48
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +50 -7
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +7 -14
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +14 -133
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +133 -10
- package/dist/index59.js.map +1 -1
- package/dist/index60.js +10 -216
- package/dist/index60.js.map +1 -1
- package/dist/index61.js +216 -12
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +13 -47
- package/dist/index62.js.map +1 -1
- package/dist/index63.js +44 -47
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +50 -4
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +4 -6
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +6 -28
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +28 -50
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +50 -9
- package/dist/index68.js.map +1 -1
- package/dist/index69.js +9 -6
- package/dist/index69.js.map +1 -1
- package/dist/index70.js +5 -7
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +7 -5
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +6 -2
- package/dist/index72.js.map +1 -1
- package/dist/index73.js +2 -2
- package/dist/index74.js +2 -54
- package/dist/index74.js.map +1 -1
- package/dist/index8.js +1 -1
- package/dist/index9.js +1 -1
- package/package.json +1 -1
package/dist/index11.js.map
CHANGED
|
@@ -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":";;;;;;;;;;AAcA,MAAMA,KAAWC;AACb,OAAOD,GAAS,aAAc,eAChCA,GAAS,YAAYE;AAMhB,SAASC,GAAU;AAAA,EACxB,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,GAAGC;AACL,GAAmB;AACjB,SACEC,gBAAAA,EAAAA;AAAAA,IAACC;AAAAA,IAAA;AAAA,MACC,cAAc;AAAA,MACd,iBAAAH;AAAA,MACA,WAAWI,GAAG,OAAOP,CAAS;AAAA,MAC9B,YAAY;AAAA,QACV,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,KAAK;AAAA,QACL,iBACE;AAAA,QACF,aACE;AAAA,QACF,OAAO;AAAA,QACP,UAAU;AAAA,QACV,SAAS;AAAA,QACT,MAAM;AAAA,QACN,KAAK;AAAA,QACL,YACE;AAAA,QACF,aACE;AAAA,QACF,WACE;AAAA,QACF,cAAc;AAAA,QACd,cACE;AAAA,QACF,WAAW;AAAA,QACX,aAAa;AAAA,QACb,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,UACE;AAAA,QACF,OAAO;AAAA,QACP,SACE;AAAA,QACF,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,GAAGC;AAAA,MAAA;AAAA,MAEL,YAAY;AAAA,QACV,SAAS,CAACO,MACRA,EAAa,gBAAgB,+BAC1BC,IAAA,EAAa,GAAGD,GAAc,WAAU,WAAU,IAEnDH,gBAAAA,MAACK,MAAc,GAAGF,GAAc,WAAU,WAAU;AAAA,QAExD,GAAGN;AAAA,MAAA;AAAA,MAEJ,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEAL,GAAU,cAAc;AAExB,SAASY,GAAKC,GAAe;AAC3B,SAAO,OAAOA,CAAK,EAAE,SAAS,GAAG,GAAG;AACtC;AAEA,SAASC,EAAWC,GAAY;AAC9B,QAAMC,IAAO,IAAI,KAAKD,CAAI;AAC1B,SAAAC,EAAK,SAAS,GAAG,GAAG,GAAG,CAAC,GACjBA;AACT;AAEA,SAASC,EAAaF,GAAY;AAChC,SAAOD,EAAW,IAAI,KAAKC,EAAK,YAAA,GAAeA,EAAK,YAAY,CAAC,CAAC;AACpE;AAEA,SAASG,EAAeH,GAAY;AAClC,SAAO,GAAGH,GAAKG,EAAK,QAAA,CAAS,CAAC,IAAIH,GAAKG,EAAK,SAAA,IAAa,CAAC,CAAC,IAAIA,EAAK,aAAa;AACnF;AAEA,SAASI,GAAU,EAAE,KAAAC,GAAK,OAAAC,GAAO,MAAAC,KAAmE;AAClG,MAAI,CAAC,OAAO,SAASF,CAAG,KAAK,CAAC,OAAO,SAASC,CAAK,KAAK,CAAC,OAAO,SAASC,CAAI,EAAG,QAAO;AAEvF,QAAMP,IAAO,IAAI,KAAKO,GAAMD,IAAQ,GAAGD,CAAG;AAC1C,SACEL,EAAK,kBAAkBO,KACvBP,EAAK,eAAeM,IAAQ,KAC5BN,EAAK,QAAA,MAAcK,IAEZ,OAGFN,EAAWC,CAAI;AACxB;AAEA,SAASQ,GAAcV,GAAeW,GAAwB;AAC5D,QAAMC,IAAUZ,EAAM,KAAA;AACtB,MAAI,CAACY,EAAS,QAAO;AAErB,QAAMC,IAAO,8BAA8B,KAAKD,CAAO;AACvD,MAAIC;AACF,WAAOP,GAAU,EAAE,KAAK,OAAOO,EAAK,CAAC,CAAC,GAAG,OAAO,OAAOA,EAAK,CAAC,CAAC,GAAG,MAAM,OAAOA,EAAK,CAAC,CAAC,GAAG;AAG1F,QAAMC,IAAY,8BAA8B,KAAKF,CAAO;AAC5D,MAAIE,GAAW;AACb,UAAML,IAAO,OAAOK,EAAU,CAAC,CAAC;AAChC,WAAK,OAAO,SAASL,CAAI,IAClBH,GAAU,EAAE,KAAK,OAAOQ,EAAU,CAAC,CAAC,GAAG,OAAO,OAAOA,EAAU,CAAC,CAAC,GAAG,MAAM,MAAOL,GAAM,IAD3D;AAAA,EAErC;AAEA,QAAMM,IAAS,qBAAqB,KAAKH,CAAO;AAChD,SAAIG,IACKT,GAAU,EAAE,KAAK,OAAOS,EAAO,CAAC,CAAC,GAAG,OAAO,OAAOA,EAAO,CAAC,CAAC,GAAG,MAAMJ,EAAI,YAAA,GAAe,IAGzF;AACT;AAgBO,MAAMK,KAAiBC,EAAM;AAAA,EAClC,SACE;AAAA,IACE,OAAAjB;AAAA,IACA,UAAAkB;AAAA,IACA,eAAAC;AAAA,IACA,WAAA/B;AAAA,IACA,gBAAAgC;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAMC;AAAA,IACN,cAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,aAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,GACC;AACA,UAAMC,IAAUlB,EAAM,OAA8B,IAAI,GAClDmB,IAAanB,EAAM,OAA8B,IAAI,GACpDoB,IAAWpB,EAAM,OAAgC,IAAI,GACrDqB,IAAerB,EAAM,OAAO,EAAK,GACjCsB,IAAwBtB,EAAM,OAAO,EAAK,GAC1CuB,IAAkCvB,EAAM,OAAO,EAAK,GAClDwB,IAA0BxB,EAAM,OAAO,EAAK,GAE/C,CAACyB,IAAkBC,CAAmB,IAAI1B,EAAM,SAAS,EAAK,GAC9D2B,IAAOpB,KAAYkB,IACnBG,IAAUpB,KAAgBkB,GAC1B,CAACG,GAAOC,CAAQ,IAAI9B,EAAM,SAAS,MAAOjB,IAAQK,EAAeL,CAAK,IAAI,EAAG,GAC1EgD,IAAiB/B,EAAM,QAAQ,MAAMP,GAAcoC,GAAO,oBAAI,KAAA,CAAM,GAAG,CAACA,CAAK,CAAC,GAChF,CAACtC,GAAOyC,CAAQ,IAAIhC,EAAM,SAAS,MAAMb,EAAaJ,KAAS,oBAAI,KAAA,CAAM,CAAC,GAC1E,CAACkD,GAAiBC,CAAkB,IAAIlC,EAAM,SAAS,OAAO;AAAA,MAClE,MAAM;AAAA,MACP,KAAK;AAAA,IAAA,EACL,GAEImC,KAA4B,OAAO,SAAW,MAAcnC,EAAM,YAAYA,EAAM,iBAEjFoC,IAAcpC,EAAM;AAAA,MACxB,CAACd,MAAsB;AACrB,YAAIgB,GAAe;AACjB,UAAAA,EAAchB,CAAI;AAClB;AAAA,QACF;AAEA,QAAAe,EAASf,CAAI;AAAA,MACf;AAAA,MACA,CAACe,GAAUC,CAAa;AAAA,IAAA,GAGpBmC,IAAcrC,EAAM;AAAA,MACxB,CAACd,MAAsB;AACrB,QAAIgB,KACFA,EAAchB,CAAI,GAEpBe,EAASf,CAAI;AAAA,MACf;AAAA,MACA,CAACe,GAAUC,CAAa;AAAA,IAAA;AAG9B,IAAAF,EAAM,UAAU,MAAM;AACpB,MAAIqB,EAAa,WACjBS,EAAS/C,IAAQK,EAAeL,CAAK,IAAI,EAAE;AAAA,IAC7C,GAAG,CAACA,CAAK,CAAC,GAEViB,EAAM,UAAU,MAAM;AACpB,MAAK2B,KACLK,EAAS7C,EAAaJ,KAAS,oBAAI,KAAA,CAAM,CAAC;AAAA,IAC5C,GAAG,CAAC4C,GAAM5C,CAAK,CAAC,GAEZiB,EAAM,UAAU,MAAM;AACpB,MAAK2B,KACAI,KACLC,EAAS7C,EAAa4C,CAAc,CAAC;AAAA,IACvC,GAAG,CAACA,GAAgBJ,CAAI,CAAC,GAE7B3B,EAAM,UAAU,MAAM;AACpB,UAAI,CAAC2B,EAAM;AAEX,YAAMW,IAAoB,CAACC,MAAwB;AACjD,cAAMC,IAASD,EAAM;AACrB,QAAMC,aAAkB,SACpBtB,EAAQ,SAAS,SAASsB,CAAM,KAChCrB,EAAW,SAAS,SAASqB,CAAM,KACvCZ,EAAQ,EAAK;AAAA,MACf,GAEMa,IAAgB,CAACF,MAAyB;AAC9C,QAAIA,EAAM,QAAQ,YAClBX,EAAQ,EAAK;AAAA,MACf;AAEA,sBAAS,iBAAiB,eAAeU,GAAmB,EAAI,GAChE,SAAS,iBAAiB,WAAWG,GAAe,EAAI,GACjD,MAAM;AACX,iBAAS,oBAAoB,eAAeH,GAAmB,EAAI,GACnE,SAAS,oBAAoB,WAAWG,GAAe,EAAI;AAAA,MAC7D;AAAA,IACF,GAAG,CAACd,CAAI,CAAC,GAET3B,EAAM,UAAU,MAAM;AAOpB,UANI,CAAC2B,KAGD,OAAO,SAAW,OAGlB,EAAE,0BAA0B;AAC9B;AAGF,YAAMe,IAAOxB,EAAQ;AACrB,UAAI,CAACwB;AACH;AAGF,UAAIC,IAAW;AACf,YAAMC,IAAW,IAAI,qBAAqB,CAAAC,MAAW;AACnD,YAAI,CAACF;AACH;AAEF,cAAMG,IAAQD,EAAQ,CAAC;AACvB,QAAIC,KAAS,CAACA,EAAM,kBAClBlB,EAAQ,EAAK;AAAA,MAEjB,CAAC;AACD,aAAAgB,EAAS,QAAQF,CAAI,GACd,MAAM;AACX,QAAAC,IAAW,IACXC,EAAS,WAAA;AAAA,MACX;AAAA,IACF,GAAG,CAACjB,CAAI,CAAC;AAET,UAAMoB,KAAU/C,EAAM;AAAA,MACpB,CAACgD,MAAkC;AACjC,QAAA5B,EAAS,UAAU4B,GACf,OAAO/B,KAAiB,aAC1BA,EAAa+B,CAAI,IACR/B,MACTA,EAAa,UAAU+B;AAAA,MAE3B;AAAA,MACA,CAAC/B,CAAY;AAAA,IAAA,GAGTgC,KAAe,MAAMrB,EAAQ,EAAK,GAElCsB,KAAqBzC,KAAsBvC,IAE3CiF,IAAwBnD,EAAM,YAAY,MAAM;AACpD,UAAI,OAAO,SAAW,IAAa;AACnC,YAAM0C,IAAOxB,EAAQ,SACfkC,IAAUjC,EAAW;AAC3B,UAAI,CAACuB,KAAQ,CAACU,EAAS;AAEvB,YAAMC,IAAOX,EAAK,sBAAA,GACZY,IAAeF,EAAQ,aACvBG,IAAgBH,EAAQ,cACxBI,IAAgB,OAAO,cAAc,GACrCC,IAAiB,OAAO,eAAe,GACvCC,IAAU;AAEhB,UAAIC,IAAON,EAAK;AAChB,MAAIM,IAAOL,IAAeE,IAAgBE,MACxCC,IAAO,KAAK,IAAID,GAASF,IAAgBF,IAAeI,CAAO,IAE7DC,IAAOD,MACTC,IAAOD;AAGT,UAAIE,IAAMP,EAAK,SAASK;AACxB,YAAMG,KAAiBD,IAAML,IAAgBE,IAAiBC,GACxDI,KAAWT,EAAK,MAAME,IAAgBG;AAC5C,MAAIG,MAAkBC,MAAYJ,MAChCE,IAAME,KAGJF,IAAMF,MACRE,IAAMF,IAEJE,IAAML,IAAgBE,IAAiBC,MACzCE,IAAM,KAAK,IAAIF,GAASD,IAAiBF,IAAgBG,CAAO,IAGlExB,EAAmB,EAAE,MAAAyB,GAAM,KAAAC,GAAK;AAAA,IAClC,GAAG,CAAA,CAAE;AAEJ,WAAAzB,GAA0B,MAAM;AAE9B,UADI,CAACR,KAAQtB,KACT,OAAO,SAAW,IAAa;AAEnC,MAAA8C,EAAA;AACA,YAAMY,IAAQ,OAAO,sBAAsBZ,CAAqB;AAEhE,oBAAO,iBAAiB,UAAUA,GAAuB,EAAI,GAC7D,OAAO,iBAAiB,UAAUA,CAAqB,GAChD,MAAM;AACX,eAAO,qBAAqBY,CAAK,GACjC,OAAO,oBAAoB,UAAUZ,GAAuB,EAAI,GAChE,OAAO,oBAAoB,UAAUA,CAAqB;AAAA,MAC5D;AAAA,IACF,GAAG,CAAC9C,GAAUsB,GAAMwB,CAAqB,CAAC,GAGxCa,gBAAAA,EAAAA,KAAC,OAAA,EAAI,KAAK9C,GAAS,aAAU,oBAAmB,WAAWxC,GAAG,kBAAkBP,CAAS,GACtF,UAAA;AAAA,MAAAK,gBAAAA,EAAAA;AAAAA,QAACyF;AAAA,QAAA;AAAA,UACE,GAAGjD;AAAA,UACJ,aAAU;AAAA,UACZ,UAAAX;AAAA,UACA,UAAAC;AAAA,UACA,cAAa;AAAA,UACb,UAAUyC;AAAA,UACV,MAAM;AAAA,YACJ,EAAE,MAAM,SAAS,MAAM,GAAA;AAAA,YACvB,EAAE,MAAM,YAAY,MAAM,GAAA;AAAA,YAC1B,EAAE,MAAM,cAAc,MAAM,GAAA;AAAA,UAAK;AAAA,UAEnC,UAAU,CAACmB,GAAUC,MAAkB;AACrC,kBAAMC,KAAUD,EAAc,QAAQD,GAAU,QAAQ,OAAO,EAAE;AACjE,mBAAIE,EAAO,UAAU,IAAUD,EAAc,cAAc,CAAC,IACxDC,EAAO,UAAU,IAAUD,EAAc,cAAc,CAAC,IACrDA,EAAc,cAAc,CAAC;AAAA,UACtC;AAAA,UACC,aAAA/D;AAAA,UACA,OAAOyB;AAAA,UACN,WAAWnD;AAAA,YACT;AAAA,YACA;AAAA,YACAyB;AAAA,UAAA;AAAA,UAEJ,UAAU,CAACkE,MAAc;AACvB,kBAAMnF,IAAO,OAAOmF,KAAc,WAAWA,IAAY,OAAOA,KAAa,EAAE,GACzEC,IAAuBzC,EAAM,QAAQ,OAAO,EAAE,EAAE;AACtD,YAAAC,EAAS5C,CAAI,GACTA,EAAK,QAAQ,OAAO,EAAE,EAAE,WAAW,MACjCyC,KACFK,EAAS7C,EAAa,oBAAI,KAAA,CAAM,CAAC,GAE/BmF,MAAyB,KAC3BlC,EAAY,IAAI;AAAA,UAGtB;AAAA,UACA,YAAY,CAACmC,MAAmB;AAC9B,kBAAMrF,IAAO,OAAOqF,KAAmB,WACnCA,IACA,OAAOA,KAAkB,EAAE,GACzBC,IAAS/E,GAAcP,GAAM,oBAAI,MAAM;AAC7C,YAAKsF,MACDzF,KAASyF,EAAO,QAAA,MAAcxF,EAAWD,CAAK,EAAE,aAGpDqD,EAAYoC,CAAM;AAAA,UACpB;AAAA,UACC,eAAe,CAACjC,MAAU;AACxB,YAAAjB,EAAsB,UAAU,IAChCC,EAAgC,UAC9B,OAAO,WAAa,OAAe,SAAS,kBAAkBgB,EAAM,eACtEzB,IAAgByB,CAAK;AAAA,UACvB;AAAA,UACA,aAAa,CAACA,MAAU;AACtB,YAAAjB,EAAsB,UAAU,IAChCC,EAAgC,UAC9B,OAAO,WAAa,OAAe,SAAS,kBAAkBgB,EAAM,eACtExB,KAAcwB,CAAK;AAAA,UACrB;AAAA,UACD,SAAS,CAACA,MAAU;AAClB,kBAAMkC,IACJ,CAACnD,EAAsB,WAAW,CAACC,EAAgC;AAKpE,gBAJDD,EAAsB,UAAU,IAChCC,EAAgC,UAAU,IACzCF,EAAa,UAAU,IACvBV,IAAU4B,CAAK,GACXkC,GAAiB;AACnB,oBAAMC,IAAUnC,EAAM;AACtB,oCAAsB,MAAMmC,EAAQ,QAAQ;AAAA,YAC/C;AACA,YAAKrE,KACHuB,EAAQ,EAAI;AAAA,UAEhB;AAAA,UACC,WAAW,CAACW,MAAU;AACpB,kBAAMoC,IAAsBpC,EAAM;AAElC,gBADA1B,IAAY0B,CAAK,GACb,GAACoC,KAAuBpC,EAAM,mBAIjC;AAAA,kBAAIA,EAAM,QAAQ,SAAS;AACzB,oBAAI,CAACR;AACH;AAGA,oBADFQ,EAAM,eAAA,GACAZ,GAAM;AACR,wBAAMiD,IAAS,GAAG7C,EAAe,YAAA,CAAa,IAAIjD,GAAKiD,EAAe,SAAA,IAAa,CAAC,CAAC,IAAIjD,GAAKiD,EAAe,QAAA,CAAS,CAAC,IACjH8C,IAAY1D,EAAW,SAAS;AAAA,oBACpC,cAAcyD,CAAM;AAAA,kBAAA;AAEtB,sBAAIC,aAAqB,mBAAmB;AAC1C,wBAAIA,EAAU;AACZ;AAEF,oBAAAA,EAAU,MAAA;AAAA,kBACZ;AAAA,gBACF;AACF,gBAAA/C,EAAS1C,EAAe2C,CAAc,CAAC,IACnC,CAAChD,KAASgD,EAAe,QAAA,MAAc/C,EAAWD,CAAK,EAAE,cAC3DsD,EAAYN,CAAc,GAE5BH,EAAQ,EAAK;AACd;AAAA,cACF;AAED,cAAKD,MAEAY,EAAM,IAAI,WAAW,KAAKA,EAAM,QAAQ,eAAeA,EAAM,QAAQ,aACtE,CAACA,EAAM,WACP,CAACA,EAAM,WACP,CAACA,EAAM,UAGPX,EAAQ,EAAI,GAIXW,EAAM,QAAQ,SAAS,CAACA,EAAM,oBAChCX,EAAQ,EAAK;AAAA;AAAA,UAEjB;AAAA,UACA,QAAQ,CAACW,MAAU;AACjB,YAAAlB,EAAa,UAAU,IACvBT,IAAS2B,CAAK;AACb,kBAAMuC,IAA6BtD,EAAwB;AAE3D,gBADAA,EAAwB,UAAU,IAC9BsD;AACF;AAGF,kBAAMC,IAAgBxC,EAAM;AAC5B,gBAAIwC,aAAyB,MAAM;AACjC,oBAAMrC,IAAOxB,EAAQ;AAKrB,kBAJI,CAACwB,KAIDA,EAAK,SAASqC,CAAa,KAAK5D,EAAW,SAAS,SAAS4D,CAAa;AAC5E;AAAA,YAEJ;AAED,YAAIpD,KAAQ,OAAO,SAAW,OAC5B,sBAAsB,MAAM;AAC3B,oBAAMe,IAAOxB,EAAQ;AACrB,kBAAI,CAACwB;AACH;AAEF,oBAAMsC,IAAgB,SAAS;AAC/B,cACEA,MACCtC,EAAK,SAASsC,CAAa,KAAK7D,EAAW,SAAS,SAAS6D,CAAa,MAI7EpD,EAAQ,EAAK;AAAA,YACf,CAAC;AAEF,kBAAMjC,IAAUkC,EAAM,KAAA;AACtB,gBAAIlC,MAAY,IAAI;AACjB,cAAIZ,MACF+C,EAAS,EAAE,GACXO,EAAY,IAAI;AAEnB;AAAA,YACF;AACA,kBAAMmC,IAAS/E,GAAcE,GAAS,oBAAI,MAAM;AAChD,gBAAI6E,GAAQ;AACV,cAAA1C,EAAS1C,EAAeoF,CAAM,CAAC,IAC3B,CAACzF,KAASyF,EAAO,QAAA,MAAcxF,EAAWD,CAAK,EAAE,cACnDsD,EAAYmC,CAAM;AAErB;AAAA,YACF;AACA,YAAA1C,EAAS/C,IAAQK,EAAeL,CAAK,IAAI,EAAE;AAAA,UAC3C;AAAA,QAAA;AAAA,MAAA;AAAA,MAGJP,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,UAAU;AAAA,UACV,UAAA6B;AAAA,UACA,cAAW;AAAA,UACX,aAAU;AAAA,UACV,WAAU;AAAA,UACV,eAAe,CAACkC,MAAU;AAExB,YADAA,EAAM,eAAA,GACF,CAAAlC,KAGJe,EAAS,SAAS,MAAM,EAAE,eAAe,IAAM;AAAA,UACjD;AAAA,UACA,aAAa,CAACmB,MAAU;AAEtB,YADAA,EAAM,eAAA,GACF,CAAAlC,KAGJe,EAAS,SAAS,MAAM,EAAE,eAAe,IAAM;AAAA,UACjD;AAAA,UACA,SAAS,MAAM;AACb,YAAIf,MAGJe,EAAS,SAAS,MAAM,EAAE,eAAe,IAAM,GAC/CQ,EAAQ,EAAI;AAAA,UACd;AAAA,UAEA,UAAApD,gBAAAA,EAAAA,IAACyG,IAAA,EAAa,eAAW,IAAC,WAAU,SAAA,CAAS;AAAA,QAAA;AAAA,MAAA;AAAA,MAG9CtD,KAAQ,CAACtB,MAAa,MAAM;AAC3B,cAAM6E,IAAcrD,EAAM,KAAA,MAAW,KACjC,SACAE,KAAkBhD,KAAS,QAEzBqE,0BACH+B,IAAA,EACC,UAAA3G,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAK2C;AAAA,YACL,aAAU;AAAA,YACV,WAAU;AAAA,YACV,OAAO,EAAE,MAAMc,EAAgB,MAAM,KAAKA,EAAgB,IAAA;AAAA,YAC1D,sBAAsB,MAAM;AAC1B,cAAAT,EAAwB,UAAU;AAAA,YACpC;AAAA,YACA,oBAAoB,MAAM;AACxB,cAAAA,EAAwB,UAAU;AAAA,YACpC;AAAA,YAEA,UAAAhD,gBAAAA,EAAAA;AAAAA,cAAC0E;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,OAAA3D;AAAA,gBACA,eAAeyC;AAAA,gBACf,UAAUkD;AAAA,gBACV,UAAU,CAACjG,MAAS;AAClB,sBAAI,CAACA,GAAM;AACT,oBAAIF,KACFsD,EAAY,IAAI,GAElBP,EAAS,EAAE,GACXmB,GAAA;AACA;AAAA,kBACF;AAEA,wBAAMmC,IAAapG,EAAWC,CAAI;AAClC,mBAAI,CAACF,KAASqG,EAAW,QAAA,MAAcpG,EAAWD,CAAK,EAAE,cACvDsD,EAAY+C,CAAU,GAExBtD,EAAS1C,EAAegG,CAAU,CAAC,GACnCnC,GAAA;AAAA,gBACF;AAAA,gBACC,GAAGvC;AAAA,cAAA;AAAA,YAAA;AAAA,UACN;AAAA,QAAA,GAEJ;AAGF,eAAI,OAAO,WAAa,MAAoB0C,IACrCiC,GAAajC,GAAS,SAAS,IAAI;AAAA,MAC5C,GAAA;AAAA,IAAG,GACL;AAAA,EAEJ;AACF;AAEArD,GAAe,cAAc;AAoB7B,SAASuF,GAAqB;AAAA,EAC5B,IAAAC;AAAA,EACA,OAAAxG;AAAA,EACA,UAAAkB;AAAA,EACA,eAAAC;AAAA,EACA,WAAA/B;AAAA,EACA,gBAAAgC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,UAAAC;AAAA,EACA,MAAME;AAAA,EACN,cAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAA8E;AAAA,EACA,YAAAC;AACF,GAAwB;AACtB,QAAMvE,IAAUlB,EAAM,OAA8B,IAAI,GAClDmB,IAAanB,EAAM,OAA8B,IAAI,GACrD,CAACyB,GAAkBC,EAAmB,IAAI1B,EAAM,SAAS,EAAK,GAC9D2B,IAAOpB,KAAYkB,GACnBG,IAAUpB,KAAgBkB,IAC1B,CAACnC,GAAOyC,CAAQ,IAAIhC,EAAM,SAAS,MAAMb,EAAaJ,KAAS,oBAAI,KAAA,CAAM,CAAC,GAC1E,CAACkD,GAAiBC,CAAkB,IAAIlC,EAAM,SAAS,OAAO;AAAA,IAClE,MAAM;AAAA,IACN,KAAK;AAAA,EAAA,EACL,GAEImC,IAA4B,OAAO,SAAW,MAAcnC,EAAM,YAAYA,EAAM;AAE1F,EAAAA,EAAM,UAAU,MAAM;AACpB,IAAK2B,KACLK,EAAS7C,EAAaJ,KAAS,oBAAI,KAAA,CAAM,CAAC;AAAA,EAC5C,GAAG,CAAC4C,GAAM5C,CAAK,CAAC,GAEhBiB,EAAM,UAAU,MAAM;AACpB,QAAI,CAAC2B,EAAM;AAEX,UAAMW,IAAoB,CAACC,MAAwB;AACjD,YAAMC,IAASD,EAAM;AACrB,MAAMC,aAAkB,SACpBtB,EAAQ,SAAS,SAASsB,CAAM,KAChCrB,EAAW,SAAS,SAASqB,CAAM,KACvCZ,EAAQ,EAAK;AAAA,IACf,GAEMa,IAAgB,CAACF,MAAyB;AAC9C,MAAIA,EAAM,QAAQ,YAClBX,EAAQ,EAAK;AAAA,IACf;AAEA,oBAAS,iBAAiB,eAAeU,GAAmB,EAAI,GAChE,SAAS,iBAAiB,WAAWG,GAAe,EAAI,GACjD,MAAM;AACX,eAAS,oBAAoB,eAAeH,GAAmB,EAAI,GACnE,SAAS,oBAAoB,WAAWG,GAAe,EAAI;AAAA,IAC7D;AAAA,EACF,GAAG,CAACd,CAAI,CAAC,GAET3B,EAAM,UAAU,MAAM;AAOpB,QANI,CAAC2B,KAGD,OAAO,SAAW,OAGlB,EAAE,0BAA0B;AAC9B;AAGF,UAAMe,IAAOxB,EAAQ;AACrB,QAAI,CAACwB;AACH;AAGF,QAAIC,IAAW;AACf,UAAMC,IAAW,IAAI,qBAAqB,CAAAC,MAAW;AACnD,UAAI,CAACF;AACH;AAEF,YAAMG,IAAQD,EAAQ,CAAC;AACvB,MAAIC,KAAS,CAACA,EAAM,kBAClBlB,EAAQ,EAAK;AAAA,IAEjB,CAAC;AACD,WAAAgB,EAAS,QAAQF,CAAI,GACd,MAAM;AACX,MAAAC,IAAW,IACXC,EAAS,WAAA;AAAA,IACX;AAAA,EACF,GAAG,CAACjB,CAAI,CAAC;AAET,QAAMuB,IAAqBzC,KAAsBvC,IAE3CiF,IAAwBnD,EAAM,YAAY,MAAM;AACpD,QAAI,OAAO,SAAW,IAAa;AACnC,UAAM0C,IAAOxB,EAAQ,SACfkC,IAAUjC,EAAW;AAC3B,QAAI,CAACuB,KAAQ,CAACU,EAAS;AAEvB,UAAMC,IAAOX,EAAK,sBAAA,GACZY,IAAeF,EAAQ,aACvBG,IAAgBH,EAAQ,cACxBI,IAAgB,OAAO,cAAc,GACrCC,IAAiB,OAAO,eAAe,GACvCC,IAAU;AAEhB,QAAIC,IAAON,EAAK;AAChB,IAAIM,IAAOL,IAAeE,IAAgBE,MACxCC,IAAO,KAAK,IAAID,GAASF,IAAgBF,IAAeI,CAAO,IAE7DC,IAAOD,MACTC,IAAOD;AAGT,QAAIE,IAAMP,EAAK,SAASK;AACxB,UAAMG,KAAiBD,IAAML,IAAgBE,IAAiBC,GACxDI,IAAWT,EAAK,MAAME,IAAgBG;AAC5C,IAAIG,MAAkBC,KAAYJ,MAChCE,IAAME,IAGJF,IAAMF,MACRE,IAAMF,IAEJE,IAAML,IAAgBE,IAAiBC,MACzCE,IAAM,KAAK,IAAIF,GAASD,IAAiBF,IAAgBG,CAAO,IAGlExB,EAAmB,EAAE,MAAAyB,GAAM,KAAAC,GAAK;AAAA,EAClC,GAAG,CAAA,CAAE;AAEL,EAAAzB,EAA0B,MAAM;AAE9B,QADI,CAACR,KAAQtB,KACT,OAAO,SAAW,IAAa;AAEnC,IAAA8C,EAAA;AACA,UAAMY,IAAQ,OAAO,sBAAsBZ,CAAqB;AAEhE,kBAAO,iBAAiB,UAAUA,GAAuB,EAAI,GAC7D,OAAO,iBAAiB,UAAUA,CAAqB,GAChD,MAAM;AACX,aAAO,qBAAqBY,CAAK,GACjC,OAAO,oBAAoB,UAAUZ,GAAuB,EAAI,GAChE,OAAO,oBAAoB,UAAUA,CAAqB;AAAA,IAC5D;AAAA,EACF,GAAG,CAAC9C,GAAUsB,GAAMwB,CAAqB,CAAC;AAE1C,QAAMd,KAAcrC,EAAM;AAAA,IACxB,CAACd,MAAsB;AACrB,MAAIgB,KACFA,EAAchB,CAAI,GAEpBe,EAASf,CAAI;AAAA,IACf;AAAA,IACA,CAACe,GAAUC,CAAa;AAAA,EAAA;AAG1B,SACE8D,gBAAAA,EAAAA,KAAC,OAAA,EAAI,KAAK9C,GAAS,aAAU,oBAAmB,WAAWxC,GAAG,kBAAkBP,CAAS,GACvF,UAAA;AAAA,IAAA6F,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAAuB;AAAA,QACA,MAAK;AAAA,QACL,UAAAlF;AAAA,QACA,eAAamF;AAAA,QACb,iBAAeC,IAAa,SAAS;AAAA,QACrC,aAAU;AAAA,QACV,WAAW/G;AAAA,UACT;AAAA,UACA;AAAA,UACA,CAACK,KAAS;AAAA,UACV4C,KAAQ;AAAA,UACRxB;AAAA,QAAA;AAAA,QAEF,SAAS,MAAM;AACb,UAAIE,KACJuB,EAAQ,CAACD,CAAI;AAAA,QACf;AAAA,QAEA,UAAA;AAAA,UAAAnD,gBAAAA,EAAAA;AAAAA,YAACyG;AAAA,YAAA;AAAA,cACC,eAAW;AAAA,cACX,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,UAEXlG,IAAQK,EAAeL,CAAK,IAAIqB;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGlCuB,KAAQ,CAACtB,MAAa,MAAM;AAC3B,YAAM+C,0BACH+B,IAAA,EACC,UAAA3G,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAK2C;AAAA,UACL,aAAU;AAAA,UACV,WAAU;AAAA,UACV,OAAO,EAAE,MAAMc,EAAgB,MAAM,KAAKA,EAAgB,IAAA;AAAA,UAE1D,UAAAzD,gBAAAA,EAAAA;AAAAA,YAAC0E;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,OAAA3D;AAAA,cACA,eAAeyC;AAAA,cACf,UAAUjD,KAAS;AAAA,cACnB,UAAU,CAACE,MAAS;AAClB,oBAAI,CAACA,GAAM;AACT,kBAAAoD,GAAY,IAAI,GAChBT,EAAQ,EAAK;AACb;AAAA,gBACF;AAEA,sBAAMwD,IAAapG,EAAWC,CAAI;AAClC,iBAAI,CAACF,KAASqG,EAAW,QAAA,MAAcpG,EAAWD,CAAK,EAAE,cACvDsD,GAAY+C,CAAU,GAExBxD,EAAQ,EAAK;AAAA,cACf;AAAA,cACC,GAAGlB;AAAA,YAAA;AAAA,UAAA;AAAA,QACN;AAAA,MAAA,GAEJ;AAGF,aAAI,OAAO,WAAa,MAAoB0C,IACrCiC,GAAajC,GAAS,SAAS,IAAI;AAAA,IAC5C,GAAA;AAAA,EAAG,GACL;AAEJ;AAEO,SAASsC,GAAenH,GAA4B;AAGzD,MAFsBoH,GAAA;AAGpB,WAAOnH,gBAAAA,MAAC8G,IAAA,EAAsB,GAAG/G,EAAA,CAAO;AAG1C,QAAM;AAAA,IACJ,IAAAgH;AAAA,IACA,OAAAxG;AAAA,IACA,UAAAkB;AAAA,IACA,eAAAC;AAAA,IACA,WAAA/B;AAAA,IACA,gBAAAgC;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,oBAAAG;AAAA,IACA,gBAAAC;AAAA,IACA,eAAA8E;AAAA,IACA,YAAAC;AAAA,IACA,MAAA9D;AAAA,IACA,cAAAnB;AAAA,EAAA,IACEjC;AAEJ,SACEC,gBAAAA,EAAAA;AAAAA,IAACuB;AAAA,IAAA;AAAA,MACC,IAAAwF;AAAA,MACA,OAAAxG;AAAA,MACA,UAAAkB;AAAA,MACA,eAAAC;AAAA,MACA,WAAA/B;AAAA,MACA,gBAAAgC;AAAA,MACA,aAAAC;AAAA,MACA,UAAAC;AAAA,MACA,UAAAC;AAAA,MACA,MAAAqB;AAAA,MACA,cAAAnB;AAAA,MACA,oBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,eAAa8E;AAAA,MACb,iBAAeC,IAAa,SAAS;AAAA,IAAA;AAAA,EAAA;AAG3C;"}
|
package/dist/index12.js
CHANGED
package/dist/index13.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { j as a } from "./
|
|
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 "./
|
|
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 "./
|
|
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 "./
|
|
5
|
-
import { SortableContext as Ce, rectSortingStrategy as Le, arrayMove as Ae, sortableKeyboardCoordinates as ze, useSortable as Ee } from "./
|
|
6
|
-
import { CSS as Me } from "./
|
|
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 "./
|
|
3
|
-
import { j as u } from "./
|
|
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
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
7
|
+
o as default
|
|
49
8
|
};
|
|
50
9
|
//# sourceMappingURL=index147.js.map
|
package/dist/index147.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index147.js","sources":["../../../node_modules
|
|
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]}
|