@rpcbase/ui 0.192.0 → 0.194.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 (96) hide show
  1. package/dist/components/DayPickerField/index.d.ts.map +1 -1
  2. package/dist/components/HourPickerField/index.d.ts.map +1 -1
  3. package/dist/index12.js +421 -510
  4. package/dist/index12.js.map +1 -1
  5. package/dist/index151.js +1 -1
  6. package/dist/index152.js +599 -40
  7. package/dist/index152.js.map +1 -1
  8. package/dist/index153.js +41 -200
  9. package/dist/index153.js.map +1 -1
  10. package/dist/index154.js +204 -20
  11. package/dist/index154.js.map +1 -1
  12. package/dist/index155.js +22 -25
  13. package/dist/index155.js.map +1 -1
  14. package/dist/index156.js +23 -398
  15. package/dist/index156.js.map +1 -1
  16. package/dist/index157.js +383 -589
  17. package/dist/index157.js.map +1 -1
  18. package/dist/index19.js +507 -545
  19. package/dist/index19.js.map +1 -1
  20. package/dist/index239.js +65 -22
  21. package/dist/index239.js.map +1 -1
  22. package/dist/index240.js +179 -27
  23. package/dist/index240.js.map +1 -1
  24. package/dist/index241.js +47 -5
  25. package/dist/index241.js.map +1 -1
  26. package/dist/index242.js +22 -65
  27. package/dist/index242.js.map +1 -1
  28. package/dist/index243.js +27 -179
  29. package/dist/index243.js.map +1 -1
  30. package/dist/index244.js +5 -47
  31. package/dist/index244.js.map +1 -1
  32. package/dist/index274.js +1 -1
  33. package/dist/index276.js +5 -5
  34. package/dist/index277.js +1 -1
  35. package/dist/index299.js +65 -69
  36. package/dist/index299.js.map +1 -1
  37. package/dist/index300.js +68 -8
  38. package/dist/index300.js.map +1 -1
  39. package/dist/index301.js +9 -14
  40. package/dist/index301.js.map +1 -1
  41. package/dist/index302.js +14 -66
  42. package/dist/index302.js.map +1 -1
  43. package/dist/index303.js +65 -64
  44. package/dist/index303.js.map +1 -1
  45. package/dist/index31.js +5 -5
  46. package/dist/index41.js +20 -20
  47. package/dist/index45.js +1 -1
  48. package/dist/index46.js +1 -1
  49. package/dist/index51.js +7 -7
  50. package/dist/index52.js +2 -7
  51. package/dist/index52.js.map +1 -1
  52. package/dist/index53.js +2 -34
  53. package/dist/index53.js.map +1 -1
  54. package/dist/index54.js +5 -25
  55. package/dist/index54.js.map +1 -1
  56. package/dist/index55.js +33 -7
  57. package/dist/index55.js.map +1 -1
  58. package/dist/index56.js +26 -11
  59. package/dist/index56.js.map +1 -1
  60. package/dist/index57.js +7 -3
  61. package/dist/index57.js.map +1 -1
  62. package/dist/index58.js +11 -47
  63. package/dist/index58.js.map +1 -1
  64. package/dist/index59.js +3 -50
  65. package/dist/index59.js.map +1 -1
  66. package/dist/index60.js +47 -7
  67. package/dist/index60.js.map +1 -1
  68. package/dist/index61.js +48 -12
  69. package/dist/index61.js.map +1 -1
  70. package/dist/index62.js +7 -133
  71. package/dist/index62.js.map +1 -1
  72. package/dist/index63.js +14 -10
  73. package/dist/index63.js.map +1 -1
  74. package/dist/index64.js +127 -210
  75. package/dist/index64.js.map +1 -1
  76. package/dist/index65.js +10 -12
  77. package/dist/index65.js.map +1 -1
  78. package/dist/index66.js +214 -44
  79. package/dist/index66.js.map +1 -1
  80. package/dist/index67.js +12 -49
  81. package/dist/index67.js.map +1 -1
  82. package/dist/index68.js +47 -4
  83. package/dist/index68.js.map +1 -1
  84. package/dist/index69.js +49 -5
  85. package/dist/index69.js.map +1 -1
  86. package/dist/index70.js +4 -28
  87. package/dist/index70.js.map +1 -1
  88. package/dist/index71.js +6 -50
  89. package/dist/index71.js.map +1 -1
  90. package/dist/index72.js +28 -9
  91. package/dist/index72.js.map +1 -1
  92. package/dist/index73.js +50 -2
  93. package/dist/index73.js.map +1 -1
  94. package/dist/index74.js +9 -2
  95. package/dist/index74.js.map +1 -1
  96. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index12.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, dateMatchModifiers } 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\t ) {\n\t\t const rootRef = React.useRef<HTMLDivElement | null>(null)\n\t\t const popoverRef = React.useRef<HTMLDivElement | null>(null)\n\t\t\t const inputRef = React.useRef<HTMLInputElement | null>(null)\n\t\t\t const isFocusedRef = React.useRef(false)\n\t\t\t const pointerDownOnInputRef = React.useRef(false)\n\t\t\t const inputWasFocusedOnPointerDownRef = React.useRef(false)\n\t const pointerDownInPopoverRef = React.useRef(false)\n const ignoreNextMaskCompleteValueRef = React.useRef<string | null>(null)\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 updateValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n },\n [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\t // React Compiler rejects hook aliasing (useIsomorphicLayoutEffect pattern), so we\n\t\t // call useLayoutEffect directly and keep the SSR guard inside the effect.\n\t\t React.useLayoutEffect(() => {\n\t\t if (!open || disabled) return\n\t\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\t onComplete={(completedValue) => {\n\t const next = typeof completedValue === \"string\"\n\t ? completedValue\n\t : String(completedValue ?? \"\")\n if (ignoreNextMaskCompleteValueRef.current === next) {\n ignoreNextMaskCompleteValueRef.current = null\n return\n }\n\t const parsed = parseDayInput(next, new Date())\n\t if (!parsed) return\n\t if (value && parsed.getTime() === startOfDay(value).getTime()) {\n\t return\n\t }\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\t setDraft(formatDayInput(draftSelection))\n\t\t\t commitValue(draftSelection)\n\t\t\t setOpen(false)\n\t\t return\n\t\t }\n\n if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n const base = draftSelection ?? value\n if (!base) {\n return\n }\n\n const next = startOfDay(new Date(base))\n next.setDate(next.getDate() + (event.key === \"ArrowUp\" ? 1 : -1))\n\n if (dayPickerProps?.disabled && dateMatchModifiers(next, dayPickerProps.disabled)) {\n return\n }\n\n event.preventDefault()\n const formatted = formatDayInput(next)\n ignoreNextMaskCompleteValueRef.current = formatted\n setDraft(formatted)\n updateValue(next)\n return\n }\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 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\t // React Compiler rejects hook aliasing (useIsomorphicLayoutEffect pattern), so we\n\t // call useLayoutEffect directly and keep the SSR guard inside the effect.\n\t React.useLayoutEffect(() => {\n\t if (!open || disabled) return\n\t 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","t0","$","_c","className","classNames","components","props","t1","showOutsideDays","undefined","t2","cn","t3","month","months","month_caption","month_grid","caption_label","nav","button_previous","button_next","weeks","weekdays","weekday","week","day","day_button","range_start","range_end","range_middle","day_selected","day_today","day_outside","day_disabled","day_hidden","selected","today","outside","disabled","hidden","t4","Chevron","_temp","t5","jsx","ReactDayPicker","chevronProps","orientation","ChevronLeft","ChevronRight","displayName","pad2","value","String","padStart","startOfDay","date","next","Date","setHours","startOfMonth","getFullYear","getMonth","formatDayInput","getDate","buildDate","year","Number","isFinite","parseDayInput","now","trimmed","trim","full","exec","shortYear","noYear","DayPickerInput","React","forwardRef","forwardedRef","dayPickerComponent","dayPickerProps","inputClassName","onBlur","onChange","onFocus","onKeyDown","onMouseDown","onOpenChange","onPointerDown","onValueUpdate","openProp","readOnly","rest","placeholder","open","rootRef","useRef","popoverRef","inputRef","isFocusedRef","pointerDownOnInputRef","inputWasFocusedOnPointerDownRef","pointerDownInPopoverRef","ignoreNextMaskCompleteValueRef","uncontrolledOpen","setUncontrolledOpen","useState","setOpen","draft","setDraft","draftSelection","setMonth","popoverPosition","setPopoverPosition","_temp2","updateValue","t6","next_0","commitValue","t7","t8","current","useEffect","t10","t9","t11","t12","t13","handlePointerDown","event","target","Node","contains","handleKeyDown","event_0","key","document","addEventListener","removeEventListener","t14","t15","window","root","isActive","observer","IntersectionObserver","entries","entry","isIntersecting","observe","disconnect","t16","t17","node","setRefs","t18","closePopover","DayPickerComponent","t19","Symbol","for","root_0","popover","rect","getBoundingClientRect","popoverWidth","offsetWidth","popoverHeight","offsetHeight","viewportWidth","innerWidth","viewportHeight","innerHeight","left","Math","max","top","bottom","overflowBottom","aboveTop","updatePopoverPosition","t20","t21","rafId","requestAnimationFrame","cancelAnimationFrame","useLayoutEffect","t22","t23","mask","lazy","t24","t25","nextValue","next_1","previousDigitsLength","replace","length","t26","completedValue","next_2","parsed","getTime","t27","event_1","activeElement","currentTarget","t28","event_2","t29","event_3","shouldSelectAll","element","select","t30","event_4","wasDefaultPrevented","defaultPrevented","preventDefault","isoDay","dayButton","querySelector","HTMLButtonElement","focus","base","next_3","setDate","dateMatchModifiers","formatted","ctrlKey","metaKey","altKey","t31","event_5","blurFromPopoverPointerDown","relatedTarget","root_1","root_2","parsed_0","t32","IMaskInput","_temp3","t33","t34","event_6","preventScroll","event_7","t35","t36","CalendarDays","t37","t38","selectedDay","popover_0","DismissableLayerBranch","normalized","createPortal","body","t39","DayPickerButtonField","id","triggerTestId","isHydrated","_temp4","jsxs","DayPickerField","useIsTouchDevice","appended","dynamicMasked","digits","compiledMasks"],"mappings":";;;;;;;;;;;;AAcA,MAAMA,KAAWC;AACb,OAAOD,GAASE,aAAc,eAChCF,GAASE,YAAYA;AAMhB,SAAAC,GAAAC,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,EAAA;AAAA,MAAAC,GAAAC,GAAAC,GAAAC,GAAAC;AAAA,EAAAN,SAAAD,KAAmB;AAAA,IAAAG,WAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAG,iBAAAD;AAAAA,IAAA,GAAAD;AAAAA,EAAAA,IAAAN,GAMTC,OAAAD,GAAAC,OAAAE,GAAAF,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAK,GAAAL,OAAAM,MAAAJ,IAAAF,EAAA,CAAA,GAAAG,IAAAH,EAAA,CAAA,GAAAI,IAAAJ,EAAA,CAAA,GAAAK,IAAAL,EAAA,CAAA,GAAAM,IAAAN,EAAA,CAAA;AAFf,QAAAO,IAAAD,MAAAE,SAAA,KAAAF;AAAsB,MAAAG;AAAA,EAAAT,SAAAE,KAOPO,IAAAC,GAAG,OAAOR,CAAS,GAACF,OAAAE,GAAAF,OAAAS,KAAAA,IAAAT,EAAA,CAAA;AAAA,MAAAW;AAAA,EAAAX,SAAAG,KACnBQ,IAAA;AAAA,IAAAC,OACH;AAAA,IAAWC,QACV;AAAA,IAAiEC,eAC1D;AAAA,IAAgDC,YACnD;AAAA,IAAkCC,eAC/B;AAAA,IAAqBC,KAC/B;AAAA,IAA2DC,iBAE9D;AAAA,IAAsQC,aAEtQ;AAAA,IAAsQC,OACjQ;AAAA,IAAwBC,UACrB;AAAA,IAAMC,SACP;AAAA,IAAgEC,MACnE;AAAA,IAAkBC,KACnB;AAAA,IAA+HC,YAElI;AAAA,IAAmQC,aAEnQ;AAAA,IAAuKC,WAEvK;AAAA,IAAqKC,cACzJ;AAAA,IAA4EC,cAExF;AAAA,IAAkIC,WACzH;AAAA,IAAkCC,aAChC;AAAA,IAAuEC,cACtE;AAAA,IAAkCC,YACpC;AAAA,IAAWC,UAErB;AAAA,IAAkIC,OAC7H;AAAA,IAA+CC,SAEpD;AAAA,IAAyIC,UACjI;AAAA,IAAkCC,QACpC;AAAA,IAAW,GAChBnC;AAAAA,EAAAA,GACJH,OAAAG,GAAAH,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAAA,MAAAuC;AAAA,EAAAvC,UAAAI,KACWmC,IAAA;AAAA,IAAAC,SACDC;AAAAA,IAKN,GACArC;AAAAA,EAAAA,GACJJ,QAAAI,GAAAJ,QAAAuC,KAAAA,IAAAvC,EAAA,EAAA;AAAA,MAAA0C;AAAA,SAAA1C,EAAA,EAAA,MAAAK,KAAAL,EAAA,EAAA,MAAAO,KAAAP,EAAA,EAAA,MAAAS,KAAAT,EAAA,EAAA,MAAAW,KAAAX,UAAAuC,KAlDHG,IAAAC,gBAAAA,EAAAA,IAACC,IAAA,EACe,cAAA,GACGrC,iBAAAA,GACN,WAAAE,GACC,YAAAE,GAsCA,YAAA4B,GAQX,GACGlC,EAAAA,CAAK,GACTL,QAAAK,GAAAL,QAAAO,GAAAP,QAAAS,GAAAT,QAAAW,GAAAX,QAAAuC,GAAAvC,QAAA0C,KAAAA,IAAA1C,EAAA,EAAA,GApDF0C;AAoDE;AA5DC,SAAAD,GAAAI,GAAA;AAAA,SAoDGA,EAAYC,gBAAiB,SAC3BH,gBAAAA,EAAAA,IAACI,MAAW,GAAKF,GAAwB,WAAA,UAAA,CAAS,IAElDF,gBAAAA,EAAAA,IAACK,IAAA,EAAY,GAAKH,GAAwB,WAAA,WAAS;AACpD;AAQX/C,GAAUmD,cAAc;AAExB,SAASC,GAAKC,GAAe;AAC3B,SAAOC,OAAOD,CAAK,EAAEE,SAAS,GAAG,GAAG;AACtC;AAEA,SAASC,GAAWC,GAAY;AAC9B,QAAMC,IAAO,IAAIC,KAAKF,CAAI;AAC1BC,SAAAA,EAAKE,SAAS,GAAG,GAAG,GAAG,CAAC,GACjBF;AACT;AAEA,SAASG,GAAaJ,GAAY;AAChC,SAAOD,GAAW,IAAIG,KAAKF,EAAKK,YAAAA,GAAeL,EAAKM,YAAY,CAAC,CAAC;AACpE;AAEA,SAASC,GAAeP,GAAY;AAClC,SAAO,GAAGL,GAAKK,EAAKQ,QAAAA,CAAS,CAAC,IAAIb,GAAKK,EAAKM,SAAAA,IAAa,CAAC,CAAC,IAAIN,EAAKK,aAAa;AACnF;AAEA,SAASI,GAAU;AAAA,EAAExC,KAAAA;AAAAA,EAAKZ,OAAAA;AAAAA,EAAOqD,MAAAA;AAAmD,GAAgB;AAClG,MAAI,CAACC,OAAOC,SAAS3C,CAAG,KAAK,CAAC0C,OAAOC,SAASvD,CAAK,KAAK,CAACsD,OAAOC,SAASF,CAAI,EAAG,QAAO;AAEvF,QAAMV,IAAO,IAAIE,KAAKQ,GAAMrD,IAAQ,GAAGY,CAAG;AAC1C,SACE+B,EAAKK,kBAAkBK,KACvBV,EAAKM,eAAejD,IAAQ,KAC5B2C,EAAKQ,QAAAA,MAAcvC,IAEZ,OAGF8B,GAAWC,CAAI;AACxB;AAEA,SAASa,GAAcjB,GAAekB,GAAwB;AAC5D,QAAMC,IAAUnB,EAAMoB,KAAAA;AACtB,MAAI,CAACD,EAAS,QAAO;AAErB,QAAME,IAAO,8BAA8BC,KAAKH,CAAO;AACvD,MAAIE;AACF,WAAOR,GAAU;AAAA,MAAExC,KAAK0C,OAAOM,EAAK,CAAC,CAAC;AAAA,MAAG5D,OAAOsD,OAAOM,EAAK,CAAC,CAAC;AAAA,MAAGP,MAAMC,OAAOM,EAAK,CAAC,CAAC;AAAA,IAAA,CAAG;AAG1F,QAAME,IAAY,8BAA8BD,KAAKH,CAAO;AAC5D,MAAII,GAAW;AACb,UAAMT,IAAOC,OAAOQ,EAAU,CAAC,CAAC;AAChC,WAAKR,OAAOC,SAASF,CAAI,IAClBD,GAAU;AAAA,MAAExC,KAAK0C,OAAOQ,EAAU,CAAC,CAAC;AAAA,MAAG9D,OAAOsD,OAAOQ,EAAU,CAAC,CAAC;AAAA,MAAGT,MAAM,MAAOA;AAAAA,IAAAA,CAAM,IAD3D;AAAA,EAErC;AAEA,QAAMU,IAAS,qBAAqBF,KAAKH,CAAO;AAChD,SAAIK,IACKX,GAAU;AAAA,IAAExC,KAAK0C,OAAOS,EAAO,CAAC,CAAC;AAAA,IAAG/D,OAAOsD,OAAOS,EAAO,CAAC,CAAC;AAAA,IAAGV,MAAMI,EAAIT,YAAAA;AAAAA,EAAY,CAAG,IAGzF;AACT;AAgBO,MAAMgB,KAAiBC,EAAMC,WAClC,SAAA/E,GAAAgF,GAAA;AAAA,QAAA/E,IAAAC,GAAAA,EAAA,GAAA;AAAA,MAAAC,GAAA8E,GAAAC,GAAA5C,GAAA6C,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAvF,GAAA6C;AAAA,EAAAnD,SAAAD,KACE;AAAA,IAAAoD,OAAAA;AAAAA,IAAAiC,UAAAA;AAAAA,IAAAM,eAAAA;AAAAA,IAAAxF,WAAAA;AAAAA,IAAAgF,gBAAAA;AAAAA,IAAAY,aAAAxF;AAAAA,IAAA+B,UAAAA;AAAAA,IAAAuD,UAAAA;AAAAA,IAAAG,MAAAJ;AAAAA,IAAAH,cAAAA;AAAAA,IAAAR,oBAAAA;AAAAA,IAAAC,gBAAAA;AAAAA,IAAAI,SAAAA;AAAAA,IAAAF,QAAAA;AAAAA,IAAAG,WAAAA;AAAAA,IAAAG,eAAAA;AAAAA,IAAAF,aAAAA;AAAAA,IAAA,GAAAM;AAAAA,EAAAA,IAAA9F,GAmBCC,OAAAD,GAAAC,OAAAE,GAAAF,OAAAgF,GAAAhF,OAAAiF,GAAAjF,OAAAqC,GAAArC,OAAAkF,GAAAlF,OAAAmF,GAAAnF,OAAAoF,GAAApF,OAAAqF,GAAArF,OAAAsF,GAAAtF,QAAAuF,GAAAvF,QAAAwF,GAAAxF,QAAAyF,GAAAzF,QAAA0F,GAAA1F,QAAA2F,GAAA3F,QAAA4F,GAAA5F,QAAA6F,GAAA7F,QAAAM,GAAAN,QAAAmD,MAAAjD,IAAAF,EAAA,CAAA,GAAAgF,IAAAhF,EAAA,CAAA,GAAAiF,IAAAjF,EAAA,CAAA,GAAAqC,IAAArC,EAAA,CAAA,GAAAkF,IAAAlF,EAAA,CAAA,GAAAmF,IAAAnF,EAAA,CAAA,GAAAoF,IAAApF,EAAA,CAAA,GAAAqF,IAAArF,EAAA,CAAA,GAAAsF,IAAAtF,EAAA,CAAA,GAAAuF,IAAAvF,EAAA,EAAA,GAAAwF,IAAAxF,EAAA,EAAA,GAAAyF,IAAAzF,EAAA,EAAA,GAAA0F,IAAA1F,EAAA,EAAA,GAAA2F,IAAA3F,EAAA,EAAA,GAAA4F,IAAA5F,EAAA,EAAA,GAAA6F,IAAA7F,EAAA,EAAA,GAAAM,IAAAN,EAAA,EAAA,GAAAmD,IAAAnD,EAAA,EAAA;AAbC,QAAA8F,IAAAxF,MAAAE,SAAA,eAAAF,GAgBA0F,IAAgBnB,EAAKoB,OAA+B,IAAI,GACxDC,IAAmBrB,EAAKoB,OAA+B,IAAI,GAC1DE,KAAiBtB,EAAKoB,OAAiC,IAAI,GAC3DG,KAAqBvB,EAAKoB,OAAQ,EAAK,GACvCI,KAA8BxB,EAAKoB,OAAQ,EAAK,GAChDK,IAAwCzB,EAAKoB,OAAQ,EAAK,GACxDM,IAAgC1B,EAAKoB,OAAQ,EAAK,GACjDO,KAAuC3B,EAAKoB,OAAuB,IAAI,GAE5E,CAAAQ,IAAAC,EAAA,IAAgD7B,EAAK8B,SAAU,EAAK,GACpEZ,IAAaJ,KAAAc,IACbG,IAAgBpB,KAAAkB;AAAmC,MAAAjG;AAAA,EAAAT,UAAAmD,KACV1C,IAAAA,MAAO0C,IAAQW,GAAeX,CAAU,IAAjC,IAAmCnD,QAAAmD,GAAAnD,QAAAS,KAAAA,IAAAT,EAAA,EAAA;AAAnF,QAAA,CAAA6G,GAAAC,CAAA,IAA0BjC,EAAK8B,SAAUlG,CAA0C;AAAC,MAAAE;AAAA,EAAAX,UAAA6G,KACtClG,IAAAyD,GAAcyC,GAAO,oBAAIpD,KAAAA,CAAM,GAACzD,QAAA6G,GAAA7G,QAAAW,KAAAA,IAAAX,EAAA,EAAA;AAA3E,QAAA+G,IAA2CpG;AAA0C,MAAA4B;AAAA,EAAAvC,UAAAmD,KAC9CZ,KAAAA,MAAMoB,GAAaR,KAAA,oBAAaM,MAAM,GAACzD,QAAAmD,GAAAnD,QAAAuC,MAAAA,KAAAvC,EAAA,EAAA;AAAhF,QAAA,CAAAY,GAAAoG,EAAA,IAA0BnC,EAAK8B,SAAUpE,EAAuC,GAChF,CAAA0E,IAAAC,EAAA,IAA8CrC,EAAK8B,SAAUQ,EAG5D;AAAC,MAAAzE;AAAA,EAAA1C,UAAA0F,KAGEhD,IAAAc,CAAAA,MAAA;AACE,IAAIkC,KACFA,EAAclC,CAAI;AAAA,EACnB,GACFxD,QAAA0F,GAAA1F,QAAA0C,KAAAA,IAAA1C,EAAA,EAAA;AALF,QAAAoH,IAAoB1E;AAOpB,MAAA2E;AAAA,EAAArH,EAAA,EAAA,MAAAoF,KAAApF,UAAA0F,KAGC2B,KAAAC,CAAAA,MAAA;AACE,IAAI5B,KACFA,EAAclC,CAAI,GAEpB4B,EAAS5B,CAAI;AAAA,EAAC,GACfxD,QAAAoF,GAAApF,QAAA0F,GAAA1F,QAAAqH,MAAAA,KAAArH,EAAA,EAAA;AANH,QAAAuH,IAAoBF;AAQnB,MAAAG,GAAAC;AAAA,EAAAzH,UAAAmD,KAEWqE,IAAAA,MAAA;AACd,IAAIpB,GAAYsB,WAChBZ,EAAS3D,IAAQW,GAAeX,CAAU,IAAjC,EAAkC;AAAA,EAAC,GAC3CsE,IAAA,CAACtE,CAAK,GAACnD,QAAAmD,GAAAnD,QAAAwH,GAAAxH,QAAAyH,MAAAD,IAAAxH,EAAA,EAAA,GAAAyH,IAAAzH,EAAA,EAAA,IAHV6E,EAAK8C,UAAWH,GAGbC,CAAO;AAAC,MAAAG,IAAAC;AAAA,EAAA7H,EAAA,EAAA,MAAA+F,KAAA/F,UAAAmD,KAEK0E,IAAAA,MAAA;AACd,IAAK9B,KACLiB,GAASrD,GAAaR,KAAA,oBAAaM,KAAAA,CAAM,CAAC;AAAA,EAAC,GAC1CmE,KAAA,CAAC7B,GAAM5C,CAAK,GAACnD,QAAA+F,GAAA/F,QAAAmD,GAAAnD,QAAA4H,IAAA5H,QAAA6H,MAAAD,KAAA5H,EAAA,EAAA,GAAA6H,IAAA7H,EAAA,EAAA,IAHhB6E,EAAK8C,UAAWE,GAGbD,EAAa;AAAC,MAAAE,GAAAC;AAAA,EAAA/H,EAAA,EAAA,MAAA+G,KAAA/G,UAAA+F,KAEG+B,IAAAA,MAAA;AACd,IAAK/B,KACAgB,KACLC,GAASrD,GAAaoD,CAAc,CAAC;AAAA,EAAC,GACrCgB,IAAA,CAAChB,GAAgBhB,CAAI,GAAC/F,QAAA+G,GAAA/G,QAAA+F,GAAA/F,QAAA8H,GAAA9H,QAAA+H,MAAAD,IAAA9H,EAAA,EAAA,GAAA+H,IAAA/H,EAAA,EAAA,IAJzB6E,EAAK8C,UAAWG,GAIbC,CAAsB;AAAC,MAAAC;AAAA,EAAAhI,EAAA,EAAA,MAAA+F,KAAA/F,UAAA4G,KAEdoB,IAAAA,MAAA;AACd,QAAI,CAACjC;AAAI;AAET,UAAAkC,IAA0BC,CAAAA,MAAA;AACxB,YAAAC,IAAeD,EAAKC;AACpB,MAAMA,aAAkBC,SACpBpC,EAAO0B,SAAkBW,SAACF,CAAM,KAChCjC,EAAUwB,SAAkBW,SAACF,CAAM,KACvCvB,EAAQ,EAAK;AAAA,IAAC,GAGhB0B,IAAsBC,CAAAA,MAAA;AACpB,MAAIL,EAAKM,QAAS,YAClB5B,EAAQ,EAAK;AAAA,IAAC;AAGhB6B,oBAAQC,iBAAkB,eAAeT,GAAmB,EAAI,GAChEQ,SAAQC,iBAAkB,WAAWJ,GAAe,EAAI,GACjD,MAAA;AACLG,eAAQE,oBAAqB,eAAeV,GAAmB,EAAI,GACnEQ,SAAQE,oBAAqB,WAAWL,GAAe,EAAI;AAAA,IAAC;AAAA,EAC7D,GACFtI,QAAA+F,GAAA/F,QAAA4G,GAAA5G,QAAAgI,KAAAA,IAAAhI,EAAA,EAAA;AAAA,MAAA4I;AAAA,EAAA5I,UAAA+F,KAAE6C,IAAA,CAAC7C,CAAI,GAAC/F,QAAA+F,GAAA/F,QAAA4I,KAAAA,IAAA5I,EAAA,EAAA,GAtBT6E,EAAK8C,UAAWK,GAsBbY,CAAM;AAAC,MAAAC;AAAA,EAAA7I,EAAA,EAAA,MAAA+F,KAAA/F,UAAA4G,KAEMiC,KAAAA,MAAA;AAOd,QANI,CAAC9C,KAGD,OAAO+C,SAAW,OAGlB,EAAE,0BAA0BA;AAAO;AAIvC,UAAAC,IAAa/C,EAAO0B;AACpB,QAAI,CAACqB;AAAI;AAIT,QAAAC,IAAe;AACf,UAAAC,IAAiB,IAAIC,qBAAqBC,CAAAA,MAAA;AACxC,UAAI,CAACH;AAAQ;AAGb,YAAAI,IAAcD,EAAO,CAAA;AACrB,MAAIC,KAAA,CAAUA,EAAKC,kBACjBzC,EAAQ,EAAK;AAAA,IACd,CACF;AACDqC,WAAAA,EAAQK,QAASP,CAAI,GACd,MAAA;AACLC,MAAAA,IAAWA,IACXC,EAAQM,WAAAA;AAAAA,IAAa;AAAA,EACtB,GACFvJ,QAAA+F,GAAA/F,QAAA4G,GAAA5G,QAAA6I,MAAAA,KAAA7I,EAAA,EAAA;AAAA,MAAAwJ;AAAA,EAAAxJ,UAAA+F,KAAEyD,KAAA,CAACzD,CAAI,GAAC/F,QAAA+F,GAAA/F,QAAAwJ,MAAAA,KAAAxJ,EAAA,EAAA,GA/BT6E,EAAK8C,UAAWkB,IA+BbW,EAAM;AAAC,MAAAC;AAAA,EAAAzJ,UAAA+E,KAGR0E,IAAAC,CAAAA,MAAA;AACEvD,IAAAA,GAAQuB,UAAWgC,GACf,OAAO3E,KAAiB,aAC1BA,EAAa2E,CAAI,IACR3E,MACTA,EAAY2C,UAAWgC;AAAAA,EACxB,GACF1J,QAAA+E,GAAA/E,QAAAyJ,KAAAA,IAAAzJ,EAAA,EAAA;AARH,QAAA2J,IAAgBF;AAUf,MAAAG;AAAA,EAAA5J,UAAA4G,KAEoBgD,KAAAA,MAAMhD,EAAQ,EAAK,GAAC5G,QAAA4G,GAAA5G,QAAA4J,MAAAA,KAAA5J,EAAA,EAAA;AAAzC,QAAA6J,KAAqBD,IAErBE,KAA2B9E,KAAAlF;AAA+B,MAAAiK;AAAA,EAAA/J,EAAA,EAAA,MAAAgK,uBAAAC,IAAA,2BAAA,KAEVF,KAAAA,MAAA;AAC9C,QAAI,OAAOjB,SAAW;AAAW;AACjC,UAAAoB,IAAalE,EAAO0B,SACpByC,IAAgBjE,EAAUwB;AAC1B,QAAI,CAACqB,KAAD,CAAUoB;AAAO;AAErB,UAAAC,IAAarB,EAAIsB,sBAAAA,GACjBC,IAAqBH,EAAOI,aAC5BC,IAAsBL,EAAOM,cAC7BC,KAAsB5B,OAAM6B,cAAN,GACtBC,KAAuB9B,OAAM+B,eAAN;AAGvB,QAAAC,KAAWV,EAAIU;AACf,IAAIA,KAAOR,IAAeI,KAHV,MAIdI,KAAOC,KAAIC,IAJG,GAIWN,KAAgBJ,IAJ3B,CAIiD,IAE7DQ,KANY,MAOdA,KAPcA;AAUhB,QAAAG,KAAUb,EAAIc,SAVE;AAWhB,UAAAC,KAAuBF,KAAMT,IAAgBI,KAX7B,GAYhBQ,KAAiBhB,EAAIa,MAAOT,IAZZ;AAahB,IAAIW,MAAkBC,MAbN,MAcdH,KAAMG,KAGJH,KAjBY,MAkBdA,KAlBcA,IAoBZA,KAAMT,IAAgBI,KApBV,MAqBdK,KAAMF,KAAIC,IArBI,GAqBUJ,KAAiBJ,IArB3B,CAqBkD,IAGlEtD,GAAmB;AAAA,MAAA4D,MAAAA;AAAAA,MAAAG,KAAAA;AAAAA,IAAAA,CAAa;AAAA,EAAC,GAClCjL,QAAA+J,MAAAA,KAAA/J,EAAA,EAAA;AApCD,QAAAqL,KAA8BtB;AAoCxB,MAAAuB,IAAAC;AAAA,EAAAvL,EAAA,EAAA,MAAAqC,KAAArC,UAAA+F,KAIkBuF,KAAAA,MAAA;AAEpB,QADI,CAACvF,KAAD1D,KACA,OAAOyG,SAAW;AAAW;AAElCuC,IAAAA,GAAAA;AACA,UAAAG,IAAc1C,OAAM2C,sBAAuBJ,EAAqB;AAEhEvC,kBAAMJ,iBAAkB,UAAU2C,IAAuB,EAAI,GAC7DvC,OAAMJ,iBAAkB,UAAU2C,EAAqB,GAChD,MAAA;AACLvC,aAAM4C,qBAAsBF,CAAK,GACjC1C,OAAMH,oBAAqB,UAAU0C,IAAuB,EAAI,GAChEvC,OAAMH,oBAAqB,UAAU0C,EAAqB;AAAA,IAAC;AAAA,EAC5D,GACAE,MAAClJ,GAAU0D,GAAMsF,EAAqB,GAACrL,QAAAqC,GAAArC,QAAA+F,GAAA/F,QAAAsL,IAAAtL,QAAAuL,OAAAD,KAAAtL,EAAA,EAAA,GAAAuL,KAAAvL,EAAA,EAAA,IAdzC6E,EAAK8G,gBAAiBL,IAcpBC,EAAuC;AAAC,MAAAK;AAAA,EAAA5L,UAAAE,KAGkB0L,KAAAlL,GAAG,kBAAkBR,CAAS,GAACF,QAAAE,GAAAF,QAAA4L,MAAAA,KAAA5L,EAAA,EAAA;AAAA,MAAA6L;AAAA,EAAA7L,EAAA,EAAA,MAAAgK,uBAAAC,IAAA,2BAAA,KAQjF4B,KAAA,CACJ;AAAA,IAAAC,MAAQ;AAAA,IAAOC,MAAQ;AAAA,EAAA,GACvB;AAAA,IAAAD,MAAQ;AAAA,IAAUC,MAAQ;AAAA,EAAA,GAC1B;AAAA,IAAAD,MAAQ;AAAA,IAAYC,MAAQ;AAAA,EAAA,CAAM,GACnC/L,QAAA6L,MAAAA,KAAA7L,EAAA,EAAA;AAAA,MAAAgM;AAAA,EAAAhM,UAAAkF,KASY8G,KAAAtL,GACT,4YACA,8EACAwE,CACF,GAAClF,QAAAkF,GAAAlF,QAAAgM,MAAAA,KAAAhM,EAAA,EAAA;AAAA,MAAAiM;AAAA,EAAAjM,EAAA,EAAA,MAAA6G,KAAA7G,UAAA+F,KAAA/F,EAAA,EAAA,MAAAoH,KACO6E,KAAAC,CAAAA,MAAA;AACR,UAAAC,IAAa,OAAOD,KAAc,WAArBA,IAA4C9I,OAAO8I,KAAA,EAAe,GAC/EE,IAA6BvF,EAAKwF,QAAS,OAAO,EAAE,EAACC;AACrDxF,IAAAA,EAAStD,CAAI,GACTA,EAAI6I,QAAS,OAAO,EAAE,EAACC,WAAY,MACjCvG,KACFiB,GAASrD,GAAa,oBAAIF,KAAAA,CAAM,CAAC,GAE/B2I,MAAyB,KAC3BhF,EAAY,IAAI;AAAA,EAEnB,GACFpH,QAAA6G,GAAA7G,QAAA+F,GAAA/F,QAAAoH,GAAApH,QAAAiM,MAAAA,KAAAjM,EAAA,EAAA;AAAA,MAAAuM;AAAA,EAAAvM,EAAA,EAAA,MAAAoH,KAAApH,UAAAmD,KACYoJ,KAAAC,CAAAA,MAAA;AACV,UAAAC,IAAa,OAAOD,KAAmB,WAA1BA,IAETpJ,OAAOoJ,KAAA,EAAoB;AAC9B,QAAIhG,GAA8BkB,YAAalE,GAAI;AACjDgD,MAAAA,GAA8BkB,UAAW;AAAH;AAAA,IAAA;AAGzC,UAAAgF,IAAetI,GAAcZ,GAAM,oBAAIC,MAAM;AAC7C,IAAKiJ,MACDvJ,KAASuJ,EAAMC,QAAAA,MAAerJ,GAAWH,CAAK,EAACwJ,aAGpDvF,EAAYsF,CAAM;AAAA,EAAC,GACpB1M,QAAAoH,GAAApH,QAAAmD,GAAAnD,QAAAuM,MAAAA,KAAAvM,EAAA,EAAA;AAAA,MAAA4M;AAAA,EAAA5M,UAAAyF,KACemH,KAAAC,CAAAA,MAAA;AACbxG,IAAAA,GAAqBqB,UAAW,IAChCpB,EAA+BoB,UAC7B,OAAOe,WAAa,OAAeA,SAAQqE,kBAAmB5E,EAAK6E,eACrEtH,IAAgByC,CAAK;AAAA,EAAC,GACvBlI,QAAAyF,GAAAzF,QAAA4M,MAAAA,KAAA5M,EAAA,EAAA;AAAA,MAAAgN;AAAA,EAAAhN,UAAAuF,KACYyH,KAAAC,CAAAA,MAAA;AACX5G,IAAAA,GAAqBqB,UAAW,IAChCpB,EAA+BoB,UAC7B,OAAOe,WAAa,OAAeA,SAAQqE,kBAAmB5E,EAAK6E,eACrExH,IAAc2C,CAAK;AAAA,EAAC,GACrBlI,QAAAuF,GAAAvF,QAAAgN,MAAAA,KAAAhN,EAAA,EAAA;AAAA,MAAAkN;AAAA,EAAAlN,EAAA,EAAA,MAAAqC,KAAArC,UAAAqF,KAAArF,EAAA,EAAA,MAAA4G,KACOsG,KAAAC,CAAAA,MAAA;AACP,UAAAC,IACE,CAAC/G,GAAqBqB,WAAtB,CAAmCpB,EAA+BoB;AAKnE,QAJDrB,GAAqBqB,UAAW,IAChCpB,EAA+BoB,UAAW,IACzCtB,GAAYsB,UAAW,IACvBrC,IAAU6C,CAAK,GACXkF,GAAe;AACjB,YAAAC,IAAgBnF,EAAK6E;AACrBtB,4BAAsB,MAAM4B,EAAOC,QAAS;AAAA,IAAC;AAEhD,IAAKjL,KACHuE,EAAQ,EAAI;AAAA,EACb,GACF5G,QAAAqC,GAAArC,QAAAqF,GAAArF,QAAA4G,GAAA5G,QAAAkN,MAAAA,KAAAlN,EAAA,EAAA;AAAA,MAAAuN;AAAA,EAAAvN,EAAA,EAAA,MAAAuH,KAAAvH,EAAA,EAAA,MAAAiF,KAAAjF,EAAA,EAAA,MAAA+G,KAAA/G,EAAA,EAAA,MAAAsF,KAAAtF,EAAA,EAAA,MAAA+F,KAAA/F,EAAA,EAAA,MAAA4G,KAAA5G,EAAA,EAAA,MAAAoH,KAAApH,UAAAmD,KACWoK,KAAAC,CAAAA,MAAA;AACT,UAAAC,IAA4BvF,EAAKwF;AAEjC,QADApI,IAAY4C,CAAK,GACb,GAACuF,KAAuBvF,EAAKwF,mBAIhC;AAAA,UAAIxF,EAAKM,QAAS,SAAO;AACvB,YAAI,CAACzB;AAAc;AAIjB,YADFmB,EAAKyF,eAAAA,GACC5H,GAAI;AACN,gBAAA6H,IAAe,GAAG7G,EAAcnD,YAAAA,CAAc,IAAIV,GAAK6D,EAAclD,SAAAA,IAAc,CAAC,CAAC,IAAIX,GAAK6D,EAAchD,QAAAA,CAAU,CAAC,IACvH8J,IAAkB3H,EAAUwB,SAAuBoG,cACjD,cAAcF,CAAM,+BACtB;AACA,cAAIC,aAAqBE,mBAAiB;AACxC,gBAAIF,EAASxL;AAAS;AAGtBwL,YAAAA,EAASG,MAAAA;AAAAA,UAAQ;AAAA,QAClB;AAEJlH,QAAAA,EAAShD,GAAeiD,CAAc,CAAC,GACvCQ,EAAYR,CAAc,GAC1BH,EAAQ,EAAK;AAAC;AAAA,MAAA;AAIjB,UAAIsB,EAAKM,QAAS,aAAaN,EAAKM,QAAS,aAAW;AACtD,cAAAyF,IAAalH,KAAA5D;AACb,YAAI,CAAC8K;AAAI;AAIT,cAAAC,IAAa5K,GAAW,IAAIG,KAAKwK,CAAI,CAAC;AAGtC,YAFAzK,EAAI2K,QAAS3K,EAAIO,QAAAA,KAAcmE,EAAKM,QAAS,YAAd,IAAA,GAAiC,GAE5DvD,GAAc5C,YAAc+L,GAAmB5K,GAAMyB,EAAc5C,QAAS;AAAC;AAIjF6F,QAAAA,EAAKyF,eAAAA;AACL,cAAAU,IAAkBvK,GAAeN,CAAI;AACrCgD,QAAAA,GAA8BkB,UAAW2G,GACzCvH,EAASuH,CAAS,GAClBjH,EAAY5D,CAAI;AAAC;AAAA,MAAA;AAIrB,MAAKuC,MAEAmC,EAAKM,IAAI8D,WAAY,KAAKpE,EAAKM,QAAS,eAAeN,EAAKM,QAAS,aAAtE,CACCN,EAAKoG,WADN,CAECpG,EAAKqG,WAFN,CAGCrG,EAAKsG,UAGN5H,EAAQ,EAAI,GAIXsB,EAAKM,QAAS,SAAd,CAAwBN,EAAKwF,oBAC/B9G,EAAQ,EAAK;AAAA;AAAA,EACd,GACF5G,QAAAuH,GAAAvH,QAAAiF,GAAAjF,QAAA+G,GAAA/G,QAAAsF,GAAAtF,QAAA+F,GAAA/F,QAAA4G,GAAA5G,QAAAoH,GAAApH,QAAAmD,GAAAnD,QAAAuN,MAAAA,KAAAvN,EAAA,EAAA;AAAA,MAAAyO;AAAA,EAAAzO,UAAAuH,KAAAvH,EAAA,EAAA,MAAA6G,KAAA7G,EAAA,EAAA,MAAAmF,KAAAnF,EAAA,EAAA,MAAA+F,KAAA/F,UAAA4G,KAAA5G,EAAA,EAAA,MAAAmD,KACOsL,KAAAC,CAAAA,MAAA;AACNtI,IAAAA,GAAYsB,UAAW,IACvBvC,IAAS+C,CAAK;AACb,UAAAyG,IAAmCpI,EAAuBmB;AAE1D,QADAnB,EAAuBmB,UAAW,IAC9BiH;AAA0B;AAI9B,UAAAC,IAAsB1G,EAAK0G;AAC3B,QAAIA,aAAyBxG,MAAI;AAC/B,YAAAyG,KAAa7I,EAAO0B;AAKpB,UAJI,CAACqB,MAIDA,GAAIV,SAAUuG,CAA4D,KAA1C1I,EAAUwB,SAAkBW,SAACuG,CAAa;AAAC;AAAA,IAE9E;AAGJ,IAAI7I,KAAQ,OAAO+C,SAAW,OAC5B2C,sBAAsB,MAAA;AACrB,YAAAqD,KAAa9I,EAAO0B;AACpB,UAAI,CAACqB;AAAI;AAGT,YAAA+D,KAAsBrE,SAAQqE;AAC9B,MACEA,OACC/D,GAAIV,SAAUyE,EAA4D,KAA1C5G,EAAUwB,SAAkBW,SAACyE,EAAa,MAI7ElG,EAAQ,EAAK;AAAA,IAAC,CACf;AAEF,UAAAtC,IAAgBuC,EAAKtC,KAAAA;AACrB,QAAID,MAAY,IAAE;AACf,MAAInB,MACF2D,EAAS,EAAE,GACXS,EAAY,IAAI;AACjB;AAAA,IAAA;AAGJ,UAAAwH,IAAe3K,GAAcE,GAAS,oBAAIb,MAAM;AAChD,QAAIiJ,GAAM;AACR5F,MAAAA,EAAShD,GAAe4I,CAAM,CAAC,IAC3B,CAACvJ,KAASuJ,EAAMC,QAAAA,MAAerJ,GAAWH,CAAK,EAACwJ,cAClDpF,EAAYmF,CAAM;AACpB;AAAA,IAAA;AAGH5F,IAAAA,EAAS3D,IAAQW,GAAeX,CAAU,IAAjC,EAAkC;AAAA,EAAC,GAC3CnD,QAAAuH,GAAAvH,QAAA6G,GAAA7G,QAAAmF,GAAAnF,QAAA+F,GAAA/F,QAAA4G,GAAA5G,QAAAmD,GAAAnD,QAAAyO,MAAAA,KAAAzO,EAAA,EAAA;AAAA,MAAAgP;AAAA,EAAAhP,EAAA,EAAA,MAAAqC,KAAArC,UAAA6G,KAAA7G,EAAA,EAAA,MAAA8F,KAAA9F,EAAA,EAAA,MAAA4F,KAAA5F,EAAA,GAAA,MAAA6F,KAAA7F,EAAA,GAAA,MAAA2J,KAAA3J,EAAA,GAAA,MAAAgM,MAAAhM,EAAA,GAAA,MAAAiM,MAAAjM,EAAA,GAAA,MAAAuM,MAAAvM,EAAA,GAAA,MAAA4M,MAAA5M,WAAAgN,MAAAhN,EAAA,GAAA,MAAAkN,MAAAlN,EAAA,GAAA,MAAAuN,MAAAvN,EAAA,GAAA,MAAAyO,MAzMHO,KAAArM,gBAAAA,EAAAA,IAACsM,IAAA,EAAU,GACLpJ,GACM,aAAA,0BACFxD,UAAAA,GACAuD,UAAAA,GACG,cAAA,OACH+D,UAAAA,GACJ,MAAAkC,IAKI,UAAAqD,IAMIpJ,aAAAA,GACNe,OAAAA,GACK,WAAAmF,IAKH,UAAAC,IAaG,YAAAM,IAeG,eAAAK,IAMF,aAAAI,IAML,SAAAE,IAeG,WAAAK,IAmEH,QAAAkB,IAsDN,GACDzO,QAAAqC,GAAArC,QAAA6G,GAAA7G,QAAA8F,GAAA9F,QAAA4F,GAAA5F,SAAA6F,GAAA7F,SAAA2J,GAAA3J,SAAAgM,IAAAhM,SAAAiM,IAAAjM,SAAAuM,IAAAvM,SAAA4M,IAAA5M,SAAAgN,IAAAhN,SAAAkN,IAAAlN,SAAAuN,IAAAvN,SAAAyO,IAAAzO,SAAAgP,MAAAA,KAAAhP,EAAA,GAAA;AAAA,MAAAmP,IAAAC;AAAA,EAAApP,WAAAqC,KASa8M,KAAAE,CAAAA,MAAA;AAEb,IADAnH,EAAKyF,eAAAA,GACDtL,CAAAA,KAGJ8D,GAAQuB,SAAesG,MAAC;AAAA,MAAAsB,eAAiB;AAAA,IAAA,CAAM;AAAA,EAAC,GAErCF,KAAAG,CAAAA,MAAA;AAEX,IADArH,EAAKyF,eAAAA,GACDtL,CAAAA,KAGJ8D,GAAQuB,SAAesG,MAAC;AAAA,MAAAsB,eAAiB;AAAA,IAAA,CAAM;AAAA,EAAC,GACjDtP,SAAAqC,GAAArC,SAAAmP,IAAAnP,SAAAoP,OAAAD,KAAAnP,EAAA,GAAA,GAAAoP,KAAApP,EAAA,GAAA;AAAA,MAAAwP;AAAA,EAAAxP,EAAA,GAAA,MAAAqC,KAAArC,WAAA4G,KACQ4I,KAAAA,MAAA;AACP,IAAInN,MAGJ8D,GAAQuB,SAAesG,MAAC;AAAA,MAAAsB,eAAiB;AAAA,IAAA,CAAM,GAC/C1I,EAAQ,EAAI;AAAA,EAAC,GACd5G,SAAAqC,GAAArC,SAAA4G,GAAA5G,SAAAwP,MAAAA,KAAAxP,EAAA,GAAA;AAAA,MAAAyP;AAAA,EAAAzP,EAAA,GAAA,MAAAgK,uBAAAC,IAAA,2BAAA,KAEDwF,KAAA9M,gBAAAA,EAAAA,IAAC+M,IAAA,EAAa,eAAA,IAAsB,WAAA,UAAQ,GAAG1P,SAAAyP,MAAAA,KAAAzP,EAAA,GAAA;AAAA,MAAA2P;AAAA,EAAA3P,EAAA,GAAA,MAAAqC,KAAArC,EAAA,GAAA,MAAAmP,MAAAnP,EAAA,GAAA,MAAAoP,MAAApP,WAAAwP,MA7BjDG,2BAAA,UAAA,EACO,MAAA,UACK,UAAA,IACAtN,UAAAA,GACC,cAAA,iBACD,aAAA,4BACA,WAAA,4HACK,eAAA8M,IAOF,aAAAC,IAOJ,SAAAI,IAQTC,UAAAA,GAAAA,CACF,GAASzP,SAAAqC,GAAArC,SAAAmP,IAAAnP,SAAAoP,IAAApP,SAAAwP,IAAAxP,SAAA2P,MAAAA,KAAA3P,EAAA,GAAA;AAAA,MAAA4P;AAAA,EAAA5P,EAAA,GAAA,MAAA8J,MAAA9J,EAAA,GAAA,MAAA6J,MAAA7J,WAAAuH,KAAAvH,EAAA,GAAA,MAAAiF,KAAAjF,EAAA,GAAA,MAAAqC,KAAArC,EAAA,GAAA,MAAA6G,KAAA7G,EAAA,GAAA,MAAA+G,KAAA/G,WAAAY,KAAAZ,EAAA,GAAA,MAAA+F,KAAA/F,EAAA,GAAA,MAAAiH,MAAAjH,WAAAmD,KAERyM,KAAA7J,KAAA,CAAS1D,MAAa,MAAA;AACrB,UAAAwN,IAAoBhJ,EAAKtC,KAAAA,MAAY,KAAjB/D,SAEhBuG,KAAA5D,KAAA3C,QAEJsP,IACEnN,gBAAAA,EAAAA,IAACoN,IAAA,EACC,UAAApN,gBAAAA,EAAAA,IAAA,OAAA,EACOuD,KAAAA,GACK,aAAA,4BACA,WAAA,yGACH,OAAA;AAAA,MAAA4E,MAAQ7D,GAAe6D;AAAAA,MAAKG,KAAOhE,GAAegE;AAAAA,IAAAA,GACnC,sBAAA,MAAA;AACpB1E,MAAAA,EAAuBmB,UAAW;AAAA,IAAH,GAEb,oBAAA,MAAA;AAClBnB,MAAAA,EAAuBmB,UAAW;AAAA,IAAH,GAGjC,UAAA/E,gBAAAA,EAAAA,IAACmH,IAAA,EACM,MAAA,UACElJ,OAAAA,GACQoG,eAAAA,IACL6I,UAAAA,GACA,UAAAtM,CAAAA,MAAA;AACR,UAAI,CAACA,GAAI;AACP,QAAIJ,KACFoE,EAAY,IAAI,GAElBT,EAAS,EAAE,GACX+C,GAAAA;AAAc;AAAA,MAAA;AAIhB,YAAAmG,IAAmB1M,GAAWC,CAAI;AAClC,OAAI,CAACJ,KAAS6M,EAAUrD,QAAAA,MAAerJ,GAAWH,CAAK,EAACwJ,cACtDpF,EAAYyI,CAAU,GAExBlJ,EAAShD,GAAekM,CAAU,CAAC,GACnCnG,GAAAA;AAAAA,IAAc,MAEZ5E,GAAc,EAAA,CAEtB,EAAA,CACF;AAGF,WAAI,OAAOwD,WAAa,MAAoB0B,IACrC8F,GAAa9F,GAAS1B,SAAQyH,IAAK;AAAA,EAAC,GAAA,GACzClQ,SAAA8J,IAAA9J,SAAA6J,IAAA7J,SAAAuH,GAAAvH,SAAAiF,GAAAjF,SAAAqC,GAAArC,SAAA6G,GAAA7G,SAAA+G,GAAA/G,SAAAY,GAAAZ,SAAA+F,GAAA/F,SAAAiH,IAAAjH,SAAAmD,GAAAnD,SAAA4P,MAAAA,KAAA5P,EAAA,GAAA;AAAA,MAAAmQ;AAAA,SAAAnQ,EAAA,GAAA,MAAA4L,MAAA5L,EAAA,GAAA,MAAAgP,MAAAhP,EAAA,GAAA,MAAA2P,MAAA3P,WAAA4P,MA9RLO,4BAAA,OAAA,EAAUnK,KAAAA,GAAmB,aAAA,oBAA8B,WAAA4F,IACxDoD,UAAAA;AAAAA,IAAAA;AAAAA,IA4MFW;AAAAA,IAgCCC;AAAAA,EAAAA,GAkDH,GAAM5P,SAAA4L,IAAA5L,SAAAgP,IAAAhP,SAAA2P,IAAA3P,SAAA4P,IAAA5P,SAAAmQ,MAAAA,KAAAnQ,EAAA,GAAA,GA/RLmQ;AA+RK,CAGZ;AAEAvL,GAAe3B,cAAc;AAoB7B,SAAAmN,GAAArQ,GAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,EAAA,GAA8B;AAAA,IAAAoQ,IAAAA;AAAAA,IAAAlN,OAAAA;AAAAA,IAAAiC,UAAAA;AAAAA,IAAAM,eAAAA;AAAAA,IAAAxF,WAAAA;AAAAA,IAAAgF,gBAAAA;AAAAA,IAAAY,aAAAxF;AAAAA,IAAA+B,UAAAA;AAAAA,IAAA0D,MAAAJ;AAAAA,IAAAH,cAAAA;AAAAA,IAAAR,oBAAAA;AAAAA,IAAAC,gBAAAA;AAAAA,IAAAqL,eAAAA;AAAAA,IAAAC,YAAAA;AAAAA,EAAAA,IAAAxQ,GAO5B+F,IAAAxF,MAAAE,SAAA,eAAAF,GASA0F,IAAgBnB,EAAKoB,OAA+B,IAAI,GACxDC,IAAmBrB,EAAKoB,OAA+B,IAAI,GAC3D,CAAAQ,GAAAC,CAAA,IAAgD7B,EAAK8B,SAAU,EAAK,GACpEZ,IAAaJ,KAAAc,GACbG,IAAgBpB,KAAAkB;AAAmC,MAAAjG;AAAA,EAAAT,SAAAmD,KACV1C,IAAAA,MAAMkD,GAAaR,KAAA,oBAAaM,MAAM,GAACzD,OAAAmD,GAAAnD,OAAAS,KAAAA,IAAAT,EAAA,CAAA;AAAhF,QAAA,CAAAY,GAAAoG,EAAA,IAA0BnC,EAAK8B,SAAUlG,CAAuC,GAChF,CAAAwG,IAAAC,EAAA,IAA8CrC,EAAK8B,SAAU6J,EAG3D;AAAC,MAAA7P,GAAA4B;AAAA,EAAAvC,EAAA,CAAA,MAAA+F,KAAA/F,SAAAmD,KAEaxC,IAAAA,MAAA;AACd,IAAKoF,KACLiB,GAASrD,GAAaR,KAAA,oBAAaM,KAAAA,CAAM,CAAC;AAAA,EAAC,GAC1ClB,IAAA,CAACwD,GAAM5C,CAAK,GAACnD,OAAA+F,GAAA/F,OAAAmD,GAAAnD,OAAAW,GAAAX,OAAAuC,MAAA5B,IAAAX,EAAA,CAAA,GAAAuC,IAAAvC,EAAA,CAAA,IAHhB6E,EAAK8C,UAAWhH,GAGb4B,CAAa;AAAC,MAAAG;AAAA,EAAA1C,EAAA,CAAA,MAAA+F,KAAA/F,SAAA4G,KAEDlE,KAAAA,MAAA;AACd,QAAI,CAACqD;AAAI;AAET,UAAAkC,IAA0BC,CAAAA,MAAA;AACxB,YAAAC,IAAeD,EAAKC;AACpB,MAAMA,aAAkBC,SACpBpC,EAAO0B,SAAkBW,SAACF,CAAM,KAChCjC,EAAUwB,SAAkBW,SAACF,CAAM,KACvCvB,EAAQ,EAAK;AAAA,IAAC,GAGhB0B,IAAsBC,CAAAA,MAAA;AACpB,MAAIL,EAAKM,QAAS,YAClB5B,EAAQ,EAAK;AAAA,IAAC;AAGhB6B,oBAAQC,iBAAkB,eAAeT,GAAmB,EAAI,GAChEQ,SAAQC,iBAAkB,WAAWJ,GAAe,EAAI,GACjD,MAAA;AACLG,eAAQE,oBAAqB,eAAeV,GAAmB,EAAI,GACnEQ,SAAQE,oBAAqB,WAAWL,GAAe,EAAI;AAAA,IAAC;AAAA,EAC7D,GACFtI,OAAA+F,GAAA/F,OAAA4G,GAAA5G,OAAA0C,MAAAA,KAAA1C,EAAA,CAAA;AAAA,MAAAqH;AAAA,EAAArH,SAAA+F,KAAEsB,KAAA,CAACtB,CAAI,GAAC/F,OAAA+F,GAAA/F,QAAAqH,MAAAA,KAAArH,EAAA,EAAA,GAtBT6E,EAAK8C,UAAWjF,IAsBb2E,EAAM;AAAC,MAAAG;AAAA,EAAAxH,EAAA,EAAA,MAAA+F,KAAA/F,UAAA4G,KAEMY,KAAAA,MAAA;AAOd,QANI,CAACzB,KAGD,OAAO+C,SAAW,OAGlB,EAAE,0BAA0BA;AAAO;AAIvC,UAAAC,IAAa/C,EAAO0B;AACpB,QAAI,CAACqB;AAAI;AAIT,QAAAC,IAAe;AACf,UAAAC,IAAiB,IAAIC,qBAAqBC,CAAAA,MAAA;AACxC,UAAI,CAACH;AAAQ;AAGb,YAAAI,IAAcD,EAAO,CAAA;AACrB,MAAIC,KAAA,CAAUA,EAAKC,kBACjBzC,EAAQ,EAAK;AAAA,IACd,CACF;AACDqC,WAAAA,EAAQK,QAASP,CAAI,GACd,MAAA;AACLC,MAAAA,IAAWA,IACXC,EAAQM,WAAAA;AAAAA,IAAa;AAAA,EACtB,GACFvJ,QAAA+F,GAAA/F,QAAA4G,GAAA5G,QAAAwH,MAAAA,KAAAxH,EAAA,EAAA;AAAA,MAAAyH;AAAA,EAAAzH,UAAA+F,KAAE0B,IAAA,CAAC1B,CAAI,GAAC/F,QAAA+F,GAAA/F,QAAAyH,KAAAA,IAAAzH,EAAA,EAAA,GA/BT6E,EAAK8C,UAAWH,IA+BbC,CAAM;AAET,QAAAqC,IAA2B9E,KAAAlF;AAA+B,MAAA+H;AAAA,EAAA7H,EAAA,EAAA,MAAAgK,uBAAAC,IAAA,2BAAA,KAEVpC,IAAAA,MAAA;AAC9C,QAAI,OAAOiB,SAAW;AAAW;AACjC,UAAAoB,IAAalE,EAAO0B,SACpByC,IAAgBjE,EAAUwB;AAC1B,QAAI,CAACqB,KAAD,CAAUoB;AAAO;AAErB,UAAAC,IAAarB,EAAIsB,sBAAAA,GACjBC,IAAqBH,EAAOI,aAC5BC,IAAsBL,EAAOM,cAC7BC,KAAsB5B,OAAM6B,cAAN,GACtBC,KAAuB9B,OAAM+B,eAAN;AAGvB,QAAAC,IAAWV,EAAIU;AACf,IAAIA,IAAOR,IAAeI,KAHV,MAIdI,IAAOC,KAAIC,IAJG,GAIWN,KAAgBJ,IAJ3B,CAIiD,IAE7DQ,IANY,MAOdA,IAPcA;AAUhB,QAAAG,IAAUb,EAAIc,SAVE;AAWhB,UAAAC,KAAuBF,IAAMT,IAAgBI,KAX7B,GAYhBQ,KAAiBhB,EAAIa,MAAOT,IAZZ;AAahB,IAAIW,MAAkBC,MAbN,MAcdH,IAAMG,KAGJH,IAjBY,MAkBdA,IAlBcA,IAoBZA,IAAMT,IAAgBI,KApBV,MAqBdK,IAAMF,KAAIC,IArBI,GAqBUJ,KAAiBJ,IArB3B,CAqBkD,IAGlEtD,GAAmB;AAAA,MAAA4D,MAAAA;AAAAA,MAAAG,KAAAA;AAAAA,IAAAA,CAAa;AAAA,EAAC,GAClCjL,QAAA6H,KAAAA,IAAA7H,EAAA,EAAA;AApCD,QAAAqL,IAA8BxD;AAoCxB,MAAAD,GAAAE;AAAA,EAAA9H,EAAA,EAAA,MAAAqC,KAAArC,UAAA+F,KAIiB6B,IAAAA,MAAA;AAEpB,QADI,CAAC7B,KAAD1D,KACA,OAAOyG,SAAW;AAAW;AAElCuC,IAAAA,EAAAA;AACA,UAAAG,IAAc1C,OAAM2C,sBAAuBJ,CAAqB;AAEhEvC,kBAAMJ,iBAAkB,UAAU2C,GAAuB,EAAI,GAC7DvC,OAAMJ,iBAAkB,UAAU2C,CAAqB,GAChD,MAAA;AACLvC,aAAM4C,qBAAsBF,CAAK,GACjC1C,OAAMH,oBAAqB,UAAU0C,GAAuB,EAAI,GAChEvC,OAAMH,oBAAqB,UAAU0C,CAAqB;AAAA,IAAC;AAAA,EAC5D,GACAvD,KAACzF,GAAU0D,GAAMsF,CAAqB,GAACrL,QAAAqC,GAAArC,QAAA+F,GAAA/F,QAAA4H,GAAA5H,QAAA8H,MAAAF,IAAA5H,EAAA,EAAA,GAAA8H,IAAA9H,EAAA,EAAA,IAdzC6E,EAAK8G,gBAAiB/D,GAcpBE,CAAuC;AAAC,MAAAC;AAAA,EAAA/H,EAAA,EAAA,MAAAoF,KAAApF,UAAA0F,KAGzCqC,IAAAvE,CAAAA,MAAA;AACE,IAAIkC,KACFA,EAAclC,CAAI,GAEpB4B,EAAS5B,CAAI;AAAA,EAAC,GACfxD,QAAAoF,GAAApF,QAAA0F,GAAA1F,QAAA+H,KAAAA,IAAA/H,EAAA,EAAA;AANH,QAAAuH,KAAoBQ;AAQnB,MAAAC;AAAA,EAAAhI,UAAAE,KAG4D8H,IAAAtH,GAAG,kBAAkBR,CAAS,GAACF,QAAAE,GAAAF,QAAAgI,KAAAA,IAAAhI,EAAA,EAAA;AAMvE,QAAA4I,KAAA2H,IAAA,SAAA/P,QAKbqI,KAAA,CAAC1F,KAAD,yBACAqG,KAAAzD,KAAA;AAA2C,MAAA0D;AAAA,EAAAzJ,EAAA,EAAA,MAAAkF,KAAAlF,UAAA6I,MAAA7I,EAAA,EAAA,MAAAwJ,MAJlCC,IAAA/I,GACT,oUACA,8EACAmI,IACAW,IACAtE,CACF,GAAClF,QAAAkF,GAAAlF,QAAA6I,IAAA7I,QAAAwJ,IAAAxJ,QAAAyJ,KAAAA,IAAAzJ,EAAA,EAAA;AAAA,MAAA4J;AAAA,EAAA5J,EAAA,EAAA,MAAAqC,KAAArC,UAAA+F,KAAA/F,EAAA,EAAA,MAAA4G,KACQgD,IAAAA,MAAA;AACP,IAAIvH,KACJuE,EAAQ,CAACb,CAAI;AAAA,EAAC,GACf/F,QAAAqC,GAAArC,QAAA+F,GAAA/F,QAAA4G,GAAA5G,QAAA4J,KAAAA,IAAA5J,EAAA,EAAA;AAAA,MAAA+J;AAAA,EAAA/J,EAAA,EAAA,MAAAgK,uBAAAC,IAAA,2BAAA,KAEDF,KAAApH,gBAAAA,EAAAA,IAAC+M,IAAA,EACC,eAAA,IACU,WAAA,0FAAwF,GAClG1P,QAAA+J,MAAAA,KAAA/J,EAAA,EAAA;AAAA,MAAAsL;AAAA,EAAAtL,EAAA,EAAA,MAAA8F,KAAA9F,UAAAmD,KACDmI,IAAAnI,IAAQW,GAAeX,CAAmB,IAA1C2C,GAA2C9F,QAAA8F,GAAA9F,QAAAmD,GAAAnD,QAAAsL,KAAAA,IAAAtL,EAAA,EAAA;AAAA,MAAAuL;AAAA,EAAAvL,EAAA,EAAA,MAAAqC,KAAArC,EAAA,EAAA,MAAAqQ,KAAArQ,EAAA,EAAA,MAAA4I,MAAA5I,UAAAyJ,KAAAzJ,EAAA,EAAA,MAAA4J,KAAA5J,EAAA,EAAA,MAAAsL,KAAAtL,EAAA,EAAA,MAAAsQ,KAvB9C/E,IAAAkF,gBAAAA,EAAAA,KAAA,UAAA,EACMJ,IAAAA,GACC,MAAA,UACKhO,UAAAA,GACGiO,kBACE,iBAAA1H,IACL,aAAA,0BACC,WAAAa,GAOF,SAAAG,GAKTG,UAAAA;AAAAA,IAAAA;AAAAA,IAICuB;AAAAA,EAAAA,GACH,GAAStL,QAAAqC,GAAArC,QAAAqQ,GAAArQ,QAAA4I,IAAA5I,QAAAyJ,GAAAzJ,QAAA4J,GAAA5J,QAAAsL,GAAAtL,QAAAsQ,GAAAtQ,QAAAuL,KAAAA,IAAAvL,EAAA,EAAA;AAAA,MAAA4L;AAAA,EAAA5L,EAAA,EAAA,MAAA8J,KAAA9J,EAAA,EAAA,MAAAuH,MAAAvH,UAAAiF,KAAAjF,EAAA,EAAA,MAAAqC,KAAArC,EAAA,EAAA,MAAAY,KAAAZ,EAAA,EAAA,MAAA+F,KAAA/F,EAAA,EAAA,MAAAiH,MAAAjH,EAAA,EAAA,MAAA4G,KAAA5G,UAAAmD,KAERyI,IAAA7F,KAAA,CAAS1D,MAAa,MAAA;AACrB,UAAAyN,IACEnN,gBAAAA,EAAAA,IAACoN,IAAA,EACC,UAAApN,gBAAAA,EAAAA,IAAA,OAAA,EACOuD,KAAAA,GACK,aAAA,4BACA,WAAA,yGACH,OAAA;AAAA,MAAA4E,MAAQ7D,GAAe6D;AAAAA,MAAKG,KAAOhE,GAAegE;AAAAA,IAAAA,GAEzD,UAAAtI,gBAAAA,EAAAA,IAACmH,GAAA,EACM,MAAA,UACElJ,OAAAA,GACQoG,eAAAA,IACL,UAAA7D,KAAA3C,QACA,UAAA+C,CAAAA,MAAA;AACR,UAAI,CAACA,GAAI;AACPgE,QAAAA,GAAY,IAAI,GAChBX,EAAQ,EAAK;AAAC;AAAA,MAAA;AAIhB,YAAAoJ,IAAmB1M,GAAWC,CAAI;AAClC,OAAI,CAACJ,KAAS6M,EAAUrD,QAAAA,MAAerJ,GAAWH,CAAK,EAACwJ,cACtDpF,GAAYyI,CAAU,GAExBpJ,EAAQ,EAAK;AAAA,IAAC,MAEZ3B,GAAc,EAAA,CAEtB,EAAA,CACF;AAGF,WAAI,OAAOwD,WAAa,MAAoB0B,IACrC8F,GAAa9F,GAAS1B,SAAQyH,IAAK;AAAA,EAAC,GAAA,GACzClQ,QAAA8J,GAAA9J,QAAAuH,IAAAvH,QAAAiF,GAAAjF,QAAAqC,GAAArC,QAAAY,GAAAZ,QAAA+F,GAAA/F,QAAAiH,IAAAjH,QAAA4G,GAAA5G,QAAAmD,GAAAnD,QAAA4L,KAAAA,IAAA5L,EAAA,EAAA;AAAA,MAAA6L;AAAA,SAAA7L,EAAA,EAAA,MAAAgI,KAAAhI,UAAAuL,KAAAvL,EAAA,EAAA,MAAA4L,KA9DNC,4BAAA,OAAA,EAAU7F,KAAAA,GAAmB,aAAA,oBAA8B,WAAAgC,GACzDuD,UAAAA;AAAAA,IAAAA;AAAAA,IA0BCK;AAAAA,EAAAA,GAoCH,GAAM5L,QAAAgI,GAAAhI,QAAAuL,GAAAvL,QAAA4L,GAAA5L,QAAA6L,MAAAA,KAAA7L,EAAA,EAAA,GA/DN6L;AA+DM;AA7NV,SAAA2E,KAAA;AAAA,SAsBsE;AAAA,IAAA1F,MAC5D;AAAA,IAACG,KACF;AAAA,EAAA;AACN;AAwMI,SAAAyF,GAAArQ,GAAA;AAAA,QAAAL,IAAAC,GAAAA,EAAA,EAAA;AAGL,MAFsB0Q,GAAAA,GAEL;AAAA,QAAA5Q;AAAA,WAAAC,SAAAK,KACRN,IAAA4C,gBAAAA,EAAAA,IAACyN,IAAA,EAAoB,GAAK/P,EAAAA,CAAK,GAAIL,OAAAK,GAAAL,OAAAD,KAAAA,IAAAC,EAAA,CAAA,GAAnCD;AAAAA,EAAmC;AAG5C,QAAA;AAAA,IAAAsQ,IAAAA;AAAAA,IAAAlN,OAAAA;AAAAA,IAAAiC,UAAAA;AAAAA,IAAAM,eAAAA;AAAAA,IAAAxF,WAAAA;AAAAA,IAAAgF,gBAAAA;AAAAA,IAAAY,aAAA/F;AAAAA,IAAAsC,UAAAA;AAAAA,IAAAuD,UAAAA;AAAAA,IAAAZ,oBAAAA;AAAAA,IAAAC,gBAAAA;AAAAA,IAAAqL,eAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAxK,MAAAA;AAAAA,IAAAP,cAAAA;AAAAA,EAAAA,IAgBInF,GATFyF,IAAA/F,MAAAS,SAAA,eAAAT,GA2BiBO,IAAAiQ,IAAA,SAAA/P;AAA+B,MAAAC;AAAA,SAAAT,EAAA,CAAA,MAAAE,KAAAF,EAAA,CAAA,MAAAgF,KAAAhF,EAAA,CAAA,MAAAiF,KAAAjF,EAAA,CAAA,MAAAqC,KAAArC,EAAA,CAAA,MAAAqQ,KAAArQ,EAAA,CAAA,MAAAkF,KAAAlF,EAAA,CAAA,MAAAoF,KAAApF,SAAAwF,KAAAxF,EAAA,EAAA,MAAA0F,KAAA1F,EAAA,EAAA,MAAA+F,KAAA/F,EAAA,EAAA,MAAA8F,KAAA9F,EAAA,EAAA,MAAA4F,KAAA5F,EAAA,EAAA,MAAAM,KAAAN,EAAA,EAAA,MAAAsQ,KAAAtQ,EAAA,EAAA,MAAAmD,KAfhD1C,0BAACmE,IAAA,EACKyL,IAAAA,GACGlN,OAAAA,GACGiC,UAAAA,GACKM,eAAAA,GACJxF,WAAAA,GACKgF,gBAAAA,GACHY,aAAAA,GACHzD,UAAAA,GACAuD,UAAAA,GACJG,MAAAA,GACQP,cAAAA,GACMR,oBAAAA,GACJC,gBAAAA,GACHqL,eAAAA,GACE,iBAAAhQ,GAA+B,GAC9CN,OAAAE,GAAAF,OAAAgF,GAAAhF,OAAAiF,GAAAjF,OAAAqC,GAAArC,OAAAqQ,GAAArQ,OAAAkF,GAAAlF,OAAAoF,GAAApF,OAAAwF,GAAAxF,QAAA0F,GAAA1F,QAAA+F,GAAA/F,QAAA8F,GAAA9F,QAAA4F,GAAA5F,QAAAM,GAAAN,QAAAsQ,GAAAtQ,QAAAmD,GAAAnD,QAAAS,KAAAA,IAAAT,EAAA,EAAA,GAhBFS;AAgBE;AAnxBJ,SAAA0G,KAAA;AAAA,SAsCwE;AAAA,IAAA2D,MAC5D;AAAA,IAACG,KACH;AAAA,EAAA;AACN;AAzCJ,SAAAiE,GAAA0B,GAAAC,GAAA;AA8NU,QAAAC,KAAgBD,EAAa1N,QAASyN,GAAQvE,QAAU,OAAO,EAAE;AACjE,SAAIyE,EAAMxE,UAAW,IAAUuE,EAAaE,cAAc,CAAA,IACtDD,EAAMxE,UAAW,IAAUuE,EAAaE,cAAc,CAAA,IACnDF,EAAaE,cAAc,CAAA;AAAG;"}
1
+ {"version":3,"file":"index12.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, dateMatchModifiers } 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 monthIndex(date: Date) {\n return date.getFullYear() * 12 + date.getMonth()\n}\n\nfunction monthFromIndex(index: number) {\n const year = Math.floor(index / 12)\n const month = index - year * 12\n return startOfDay(new Date(year, month, 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 ) {\n const rootRef = React.useRef<HTMLDivElement | null>(null)\n const popoverRef = React.useRef<HTMLDivElement | null>(null)\n const inputRef = React.useRef<HTMLInputElement | null>(null)\n const isFocusedRef = React.useRef(false)\n const openRef = React.useRef(false)\n const pointerDownOnInputRef = React.useRef(false)\n const inputWasFocusedOnPointerDownRef = React.useRef(false)\n const pointerDownInPopoverRef = React.useRef(false)\n const ignoreNextMaskCompleteValueRef = React.useRef<string | null>(null)\n\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\n const open = openProp ?? uncontrolledOpen\n const setOpen = onOpenChange ?? setUncontrolledOpen\n openRef.current = open\n const [draft, setDraft] = React.useState(() => (value ? formatDayInput(value) : \"\"))\n const draftSelection = React.useMemo(() => parseDayInput(draft, new Date()), [draft])\n const [month, setMonth] = React.useState(() => startOfMonth(value ?? new Date()))\n const monthRef = React.useRef(month)\n monthRef.current = month\n const [popoverPosition, setPopoverPosition] = React.useState(() => ({\n left: 0,\n top: 0,\n }))\n const numberOfMonths = Math.max(1, dayPickerProps?.numberOfMonths ?? 1)\n const wasOpenRef = React.useRef(open)\n\n const updateValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n },\n [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 const wasOpen = wasOpenRef.current\n wasOpenRef.current = open\n\n if (!open) return\n\n const nextSelection = value ?? new Date()\n const nextSelectionMonthIndex = monthIndex(nextSelection)\n\n if (!wasOpen) {\n setMonth(monthFromIndex(nextSelectionMonthIndex))\n return\n }\n\n const visibleStartMonthIndex = monthIndex(monthRef.current)\n const visibleEndMonthIndex = visibleStartMonthIndex + numberOfMonths - 1\n\n if (nextSelectionMonthIndex < visibleStartMonthIndex) {\n setMonth(monthFromIndex(nextSelectionMonthIndex))\n return\n }\n\n if (nextSelectionMonthIndex > visibleEndMonthIndex) {\n setMonth(monthFromIndex(nextSelectionMonthIndex - (numberOfMonths - 1)))\n }\n }, [numberOfMonths, open, value])\n\n React.useEffect(() => {\n if (!open) return\n if (!draftSelection) return\n\n const selectionMonthIndex = monthIndex(draftSelection)\n const visibleStartMonthIndex = monthIndex(monthRef.current)\n const visibleEndMonthIndex = visibleStartMonthIndex + numberOfMonths - 1\n\n if (selectionMonthIndex < visibleStartMonthIndex) {\n setMonth(monthFromIndex(selectionMonthIndex))\n return\n }\n\n if (selectionMonthIndex > visibleEndMonthIndex) {\n setMonth(monthFromIndex(selectionMonthIndex - (numberOfMonths - 1)))\n }\n }, [draftSelection, numberOfMonths, open])\n\n React.useEffect(() => {\n if (!open) return\n\n const ownerDocument = rootRef.current?.ownerDocument ?? document\n const ownerWindow = ownerDocument.defaultView ?? window\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 if (!openRef.current) return\n const target = event.target\n if (!(target instanceof Node)) return\n if (!rootRef.current?.contains(target) && !popoverRef.current?.contains(target)) return\n event.preventDefault()\n event.stopPropagation()\n setOpen(false)\n }\n\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown, true)\n ownerWindow.addEventListener(\"keydown\", handleKeyDown, true)\n return () => {\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown, true)\n ownerWindow.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 // React Compiler rejects hook aliasing (useIsomorphicLayoutEffect pattern), so we\n // call useLayoutEffect directly and keep the SSR guard inside the effect.\n React.useLayoutEffect(() => {\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 return (\n <div ref={rootRef} data-slot=\"day-picker-input\" className={cn(\"relative group\", className)}>\n <IMaskInput\n {...rest}\n 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 placeholder={placeholder}\n value={draft}\n className={cn(\n \"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 \"transition-colors group-hover:bg-accent group-hover:text-accent-foreground\",\n inputClassName\n )}\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 if (ignoreNextMaskCompleteValueRef.current === next) {\n ignoreNextMaskCompleteValueRef.current = null\n return\n }\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 onPointerDown={(event) => {\n pointerDownOnInputRef.current = true\n inputWasFocusedOnPointerDownRef.current =\n typeof document !== \"undefined\" && document.activeElement === event.currentTarget\n onPointerDown?.(event)\n }}\n onMouseDown={(event) => {\n pointerDownOnInputRef.current = true\n inputWasFocusedOnPointerDownRef.current =\n typeof document !== \"undefined\" && document.activeElement === event.currentTarget\n onMouseDown?.(event)\n }}\n onFocus={(event) => {\n const shouldSelectAll =\n !pointerDownOnInputRef.current || !inputWasFocusedOnPointerDownRef.current\n pointerDownOnInputRef.current = false\n inputWasFocusedOnPointerDownRef.current = false\n isFocusedRef.current = true\n onFocus?.(event)\n if (shouldSelectAll) {\n const element = event.currentTarget\n requestAnimationFrame(() => element.select())\n }\n if (!disabled) {\n setOpen(true)\n }\n }}\n onKeyDown={(event) => {\n const wasDefaultPrevented = event.defaultPrevented\n onKeyDown?.(event)\n if (!wasDefaultPrevented && event.defaultPrevented) {\n return\n }\n\n if (event.key === \"Enter\") {\n if (!draftSelection) {\n return\n }\n 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 setDraft(formatDayInput(draftSelection))\n commitValue(draftSelection)\n setOpen(false)\n return\n }\n\n if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n const base = draftSelection ?? value\n if (!base) {\n return\n }\n\n const next = startOfDay(new Date(base))\n next.setDate(next.getDate() + (event.key === \"ArrowUp\" ? 1 : -1))\n\n if (dayPickerProps?.disabled && dateMatchModifiers(next, dayPickerProps.disabled)) {\n return\n }\n\n event.preventDefault()\n const formatted = formatDayInput(next)\n ignoreNextMaskCompleteValueRef.current = formatted\n setDraft(formatted)\n updateValue(next)\n }\n\n if (!open) {\n const shouldReopen =\n (event.key.length === 1 ||\n event.key === \"Backspace\" ||\n event.key === \"Delete\" ||\n event.key === \"ArrowUp\" ||\n event.key === \"ArrowDown\") &&\n !event.ctrlKey &&\n !event.metaKey &&\n !event.altKey\n\n if (shouldReopen) {\n setOpen(true)\n }\n }\n\n if (event.key === \"Tab\" && !event.defaultPrevented) {\n setOpen(false)\n }\n }}\n onBlur={(event) => {\n isFocusedRef.current = false\n 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 if (open && typeof window !== \"undefined\") {\n 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 }\n const trimmed = draft.trim()\n if (trimmed === \"\") {\n if (value) {\n setDraft(\"\")\n commitValue(null)\n }\n return\n }\n const parsed = parseDayInput(trimmed, new Date())\n if (parsed) {\n setDraft(formatDayInput(parsed))\n if (!value || parsed.getTime() !== startOfDay(value).getTime()) {\n commitValue(parsed)\n }\n return\n }\n setDraft(value ? formatDayInput(value) : \"\")\n }}\n />\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 openRef = React.useRef(false)\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\n const open = openProp ?? uncontrolledOpen\n const setOpen = onOpenChange ?? setUncontrolledOpen\n openRef.current = open\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 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 ownerDocument = rootRef.current?.ownerDocument ?? document\n const ownerWindow = ownerDocument.defaultView ?? window\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 if (!openRef.current) return\n const target = event.target\n if (!(target instanceof Node)) return\n if (!rootRef.current?.contains(target) && !popoverRef.current?.contains(target)) return\n event.preventDefault()\n event.stopPropagation()\n setOpen(false)\n }\n\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown, true)\n ownerWindow.addEventListener(\"keydown\", handleKeyDown, true)\n return () => {\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown, true)\n ownerWindow.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 // React Compiler rejects hook aliasing (useIsomorphicLayoutEffect pattern), so we\n // call useLayoutEffect directly and keep the SSR guard inside the effect.\n React.useLayoutEffect(() => {\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","t0","$","_c","className","classNames","components","props","t1","showOutsideDays","undefined","t2","cn","t3","month","months","month_caption","month_grid","caption_label","nav","button_previous","button_next","weeks","weekdays","weekday","week","day","day_button","range_start","range_end","range_middle","day_selected","day_today","day_outside","day_disabled","day_hidden","selected","today","outside","disabled","hidden","t4","Chevron","_temp","t5","jsx","ReactDayPicker","chevronProps","orientation","ChevronLeft","ChevronRight","displayName","pad2","value","String","padStart","startOfDay","date","next","Date","setHours","startOfMonth","getFullYear","getMonth","monthIndex","monthFromIndex","index","year","Math","floor","formatDayInput","getDate","buildDate","Number","isFinite","parseDayInput","now","trimmed","trim","full","exec","shortYear","noYear","DayPickerInput","React","forwardRef","onChange","onValueUpdate","inputClassName","placeholder","readOnly","open","openProp","onOpenChange","dayPickerComponent","dayPickerProps","onFocus","onBlur","onKeyDown","onPointerDown","onMouseDown","rest","forwardedRef","rootRef","useRef","popoverRef","inputRef","isFocusedRef","openRef","pointerDownOnInputRef","inputWasFocusedOnPointerDownRef","pointerDownInPopoverRef","ignoreNextMaskCompleteValueRef","uncontrolledOpen","setUncontrolledOpen","useState","setOpen","current","draft","setDraft","draftSelection","useMemo","setMonth","monthRef","popoverPosition","setPopoverPosition","left","top","numberOfMonths","max","wasOpenRef","updateValue","useCallback","commitValue","useEffect","wasOpen","nextSelectionMonthIndex","visibleStartMonthIndex","visibleEndMonthIndex","selectionMonthIndex","ownerDocument","document","ownerWindow","defaultView","window","handlePointerDown","event","target","Node","contains","handleKeyDown","key","preventDefault","stopPropagation","addEventListener","removeEventListener","root","isActive","observer","IntersectionObserver","entries","entry","isIntersecting","observe","disconnect","setRefs","node","closePopover","DayPickerComponent","updatePopoverPosition","popover","rect","getBoundingClientRect","popoverWidth","offsetWidth","popoverHeight","offsetHeight","viewportWidth","innerWidth","viewportHeight","innerHeight","padding","bottom","overflowBottom","aboveTop","useLayoutEffect","rafId","requestAnimationFrame","cancelAnimationFrame","jsxs","IMaskInput","mask","lazy","appended","dynamicMasked","digits","replace","length","compiledMasks","nextValue","previousDigitsLength","completedValue","parsed","getTime","activeElement","currentTarget","shouldSelectAll","element","select","wasDefaultPrevented","defaultPrevented","isoDay","dayButton","querySelector","HTMLButtonElement","focus","base","setDate","dateMatchModifiers","formatted","ctrlKey","metaKey","altKey","blurFromPopoverPointerDown","relatedTarget","preventScroll","CalendarDays","selectedDay","DismissableLayerBranch","normalized","createPortal","body","DayPickerButtonField","id","triggerTestId","isHydrated","DayPickerField","useIsTouchDevice"],"mappings":"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"}
package/dist/index151.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as l from "react";
2
- import { composeRefs as m } from "./index54.js";
2
+ import { composeRefs as m } from "./index56.js";
3
3
  import { j as u } from "./index30.js";
4
4
  // @__NO_SIDE_EFFECTS__
5
5
  function x(e) {