@primereact/headless 11.0.0-alpha.9 → 11.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +45 -0
- package/README.md +35 -0
- package/accordion/index.d.ts +3 -0
- package/accordion/index.mjs +1 -2
- package/accordion/useAccordion.d.ts +7 -6
- package/accordion/useAccordion.props.d.ts +2 -2
- package/accordion/useAccordionPanel.d.ts +46 -0
- package/accordion/useAccordionPanel.props.d.ts +2 -0
- package/animateonscroll/index.d.ts +1 -0
- package/animateonscroll/index.mjs +1 -2
- package/animateonscroll/useAnimateOnScroll.d.ts +6 -1
- package/animateonscroll/useAnimateOnScroll.props.d.ts +2 -2
- package/autocomplete/index.d.ts +3 -0
- package/autocomplete/index.mjs +1 -0
- package/autocomplete/useAutoComplete.d.ts +198 -0
- package/autocomplete/useAutoComplete.props.d.ts +2 -0
- package/avatar/index.d.ts +1 -0
- package/avatar/index.mjs +1 -2
- package/avatar/useAvatar.d.ts +5 -1
- package/avatar/useAvatar.props.d.ts +2 -2
- package/avatargroup/index.d.ts +3 -0
- package/avatargroup/index.mjs +1 -0
- package/avatargroup/useAvatarGroup.d.ts +6 -0
- package/avatargroup/useAvatarGroup.props.d.ts +2 -0
- package/badge/index.d.ts +1 -0
- package/badge/index.mjs +1 -2
- package/badge/useBadge.d.ts +7 -1
- package/badge/useBadge.props.d.ts +2 -2
- package/breadcrumb/index.d.ts +1 -0
- package/breadcrumb/index.mjs +1 -2
- package/breadcrumb/useBreadcrumb.d.ts +18 -2
- package/breadcrumb/useBreadcrumb.props.d.ts +2 -2
- package/button/index.d.ts +1 -0
- package/button/index.mjs +1 -2
- package/button/useButton.d.ts +6 -1
- package/button/useButton.props.d.ts +2 -2
- package/card/index.d.ts +1 -0
- package/card/index.mjs +1 -2
- package/card/useCard.d.ts +6 -1
- package/card/useCard.props.d.ts +2 -2
- package/carousel/index.d.ts +1 -0
- package/carousel/index.mjs +1 -2
- package/carousel/useCarousel.d.ts +117 -8
- package/carousel/useCarousel.props.d.ts +2 -2
- package/checkbox/index.d.ts +1 -0
- package/checkbox/index.mjs +1 -2
- package/checkbox/useCheckbox.d.ts +44 -3
- package/checkbox/useCheckbox.props.d.ts +2 -2
- package/checkboxgroup/index.d.ts +3 -0
- package/checkboxgroup/index.mjs +1 -0
- package/checkboxgroup/useCheckboxGroup.d.ts +11 -0
- package/checkboxgroup/useCheckboxGroup.props.d.ts +2 -0
- package/chip/index.d.ts +1 -0
- package/chip/index.mjs +1 -2
- package/chip/useChip.d.ts +9 -3
- package/chip/useChip.props.d.ts +2 -2
- package/collapsible/index.d.ts +3 -0
- package/collapsible/index.mjs +1 -0
- package/collapsible/useCollapsible.d.ts +33 -0
- package/collapsible/useCollapsible.props.d.ts +2 -0
- package/compare/index.d.ts +3 -0
- package/compare/index.mjs +1 -0
- package/compare/useCompare.d.ts +2 -0
- package/compare/useCompare.props.d.ts +2 -0
- package/contextmenu/index.d.ts +1 -0
- package/contextmenu/index.mjs +1 -2
- package/contextmenu/submenu/index.d.ts +2 -0
- package/contextmenu/submenu/index.mjs +1 -0
- package/contextmenu/submenu/useContextMenuSubmenu.d.ts +121 -0
- package/contextmenu/submenu/useContextMenuSubmenu.props.d.ts +2 -0
- package/contextmenu/useContextMenu.d.ts +413 -1
- package/contextmenu/useContextMenu.props.d.ts +2 -2
- package/datatable/features/index.d.ts +28 -0
- package/datatable/features/index.mjs +10 -0
- package/datatable/features/useDataTableColumnReorder.d.ts +52 -0
- package/datatable/features/useDataTableColumnResize.d.ts +20 -0
- package/datatable/features/useDataTableEditing.d.ts +69 -0
- package/datatable/features/useDataTableExpansion.d.ts +32 -0
- package/datatable/features/useDataTableExport.d.ts +43 -0
- package/datatable/features/useDataTableFilter.d.ts +95 -0
- package/datatable/features/useDataTableGrouping.d.ts +11 -0
- package/datatable/features/useDataTableKeyboard.d.ts +23 -0
- package/datatable/features/useDataTablePagination.d.ts +32 -0
- package/datatable/features/useDataTableRowReorder.d.ts +42 -0
- package/datatable/features/useDataTableSelection.d.ts +28 -0
- package/datatable/features/useDataTableSort.d.ts +51 -0
- package/datatable/features/useDataTableTree.d.ts +31 -0
- package/datatable/index.d.ts +7 -0
- package/datatable/index.mjs +10 -0
- package/datatable/useDataTable.d.ts +237 -0
- package/datatable/useDataTable.props.d.ts +2 -0
- package/datatable/useDataTableRow.d.ts +30 -0
- package/datatable/useDataTableRow.props.d.ts +2 -0
- package/datatable/utils/compareValues.d.ts +20 -0
- package/datatable/utils/index.d.ts +1 -0
- package/datatable/utils/index.mjs +1 -0
- package/dataview/index.d.ts +1 -0
- package/dataview/index.mjs +1 -2
- package/dataview/useDataView.d.ts +25 -1
- package/dataview/useDataView.props.d.ts +2 -2
- package/datepicker/index.d.ts +1 -0
- package/datepicker/index.mjs +1 -2
- package/datepicker/useDatePicker.d.ts +2 -114
- package/datepicker/useDatePicker.props.d.ts +2 -2
- package/dialog/index.d.ts +1 -0
- package/dialog/index.mjs +1 -2
- package/dialog/useDialog.d.ts +274 -24
- package/dialog/useDialog.props.d.ts +2 -2
- package/divider/index.d.ts +1 -0
- package/divider/index.mjs +1 -2
- package/divider/useDivider.d.ts +14 -1
- package/divider/useDivider.props.d.ts +2 -2
- package/dnd/index.d.ts +11 -0
- package/dnd/index.mjs +1 -0
- package/dnd/useDnd.d.ts +45 -0
- package/dnd/useDnd.props.d.ts +2 -0
- package/dnd/useDraggable.d.ts +14 -0
- package/dnd/useDraggable.props.d.ts +2 -0
- package/dnd/useDroppable.d.ts +11 -0
- package/dnd/useDroppable.props.d.ts +2 -0
- package/dnd/useSortable.d.ts +11 -0
- package/dnd/useSortable.props.d.ts +2 -0
- package/dnd/useSortableContainer.d.ts +24 -0
- package/dnd/useSortableContainer.props.d.ts +2 -0
- package/drawer/index.d.ts +1 -0
- package/drawer/index.mjs +1 -2
- package/drawer/useDrawer.d.ts +78 -16
- package/drawer/useDrawer.props.d.ts +2 -2
- package/fieldset/index.d.ts +1 -0
- package/fieldset/index.mjs +1 -2
- package/fieldset/useFieldset.d.ts +80 -1
- package/fieldset/useFieldset.props.d.ts +2 -2
- package/fileupload/index.d.ts +1 -0
- package/fileupload/index.mjs +1 -2
- package/fileupload/useFileUpload.d.ts +76 -4
- package/fileupload/useFileUpload.props.d.ts +2 -2
- package/floatlabel/index.d.ts +3 -0
- package/floatlabel/index.mjs +1 -0
- package/floatlabel/useFloatLabel.d.ts +6 -0
- package/floatlabel/useFloatLabel.props.d.ts +2 -0
- package/fluid/index.d.ts +1 -0
- package/fluid/index.mjs +1 -2
- package/fluid/useFluid.d.ts +6 -1
- package/fluid/useFluid.props.d.ts +2 -2
- package/focustrap/index.d.ts +1 -0
- package/focustrap/index.mjs +1 -2
- package/focustrap/useFocusTrap.d.ts +16 -3
- package/focustrap/useFocusTrap.props.d.ts +2 -2
- package/gallery/index.d.ts +1 -0
- package/gallery/index.mjs +1 -2
- package/gallery/item/index.mjs +1 -2
- package/gallery/item/useGalleryItem.d.ts +17 -7
- package/gallery/item/useGalleryItem.props.d.ts +2 -2
- package/gallery/useGallery.d.ts +159 -10
- package/gallery/useGallery.props.d.ts +2 -2
- package/iconfield/index.d.ts +1 -0
- package/iconfield/index.mjs +1 -2
- package/iconfield/useIconField.d.ts +6 -1
- package/iconfield/useIconField.props.d.ts +2 -2
- package/iftalabel/index.d.ts +3 -0
- package/iftalabel/index.mjs +1 -0
- package/iftalabel/useIftaLabel.d.ts +6 -0
- package/iftalabel/useIftaLabel.props.d.ts +2 -0
- package/inplace/index.d.ts +1 -0
- package/inplace/index.mjs +1 -2
- package/inplace/useInplace.d.ts +36 -5
- package/inplace/useInplace.props.d.ts +2 -2
- package/{colorpicker → inputcolor}/colorManager.d.ts +4 -3
- package/inputcolor/index.d.ts +4 -0
- package/inputcolor/index.mjs +1 -0
- package/inputcolor/useInputColor.d.ts +119 -0
- package/inputcolor/useInputColor.props.d.ts +2 -0
- package/inputgroup/index.d.ts +1 -0
- package/inputgroup/index.mjs +1 -2
- package/inputgroup/useInputGroup.d.ts +6 -1
- package/inputgroup/useInputGroup.props.d.ts +2 -2
- package/inputnumber/index.d.ts +1 -0
- package/inputnumber/index.mjs +1 -2
- package/inputnumber/useInputNumber.d.ts +55 -17
- package/inputnumber/useInputNumber.props.d.ts +2 -2
- package/inputotp/index.d.ts +1 -0
- package/inputotp/index.mjs +1 -2
- package/inputotp/useInputOtp.d.ts +25 -6
- package/inputotp/useInputOtp.props.d.ts +2 -2
- package/inputpassword/index.d.ts +3 -0
- package/inputpassword/index.mjs +1 -0
- package/inputpassword/useInputPassword.d.ts +15 -0
- package/inputpassword/useInputPassword.props.d.ts +2 -0
- package/inputtags/index.d.ts +1 -0
- package/inputtags/index.mjs +1 -2
- package/inputtags/useInputTags.d.ts +42 -12
- package/inputtags/useInputTags.props.d.ts +2 -2
- package/inputtext/index.d.ts +1 -0
- package/inputtext/index.mjs +1 -2
- package/inputtext/useInputText.d.ts +8 -1
- package/inputtext/useInputText.props.d.ts +2 -2
- package/knob/index.d.ts +1 -0
- package/knob/index.mjs +1 -2
- package/knob/useKnob.d.ts +51 -10
- package/knob/useKnob.props.d.ts +2 -2
- package/label/index.d.ts +1 -0
- package/label/index.mjs +1 -2
- package/label/useLabel.d.ts +6 -1
- package/label/useLabel.props.d.ts +2 -2
- package/listbox/index.d.ts +3 -0
- package/listbox/index.mjs +1 -2
- package/listbox/useListbox.d.ts +56 -18
- package/listbox/useListbox.props.d.ts +2 -2
- package/listbox/useListboxOption.d.ts +21 -0
- package/listbox/useListboxOption.props.d.ts +2 -0
- package/menu/checkboxitem/index.d.ts +2 -0
- package/menu/checkboxitem/index.mjs +1 -0
- package/menu/checkboxitem/useMenuCheckboxItem.d.ts +112 -0
- package/menu/checkboxitem/useMenuCheckboxItem.props.d.ts +2 -0
- package/menu/index.d.ts +1 -0
- package/menu/index.mjs +1 -2
- package/menu/radioitem/index.d.ts +2 -0
- package/menu/radioitem/index.mjs +1 -0
- package/menu/radioitem/useMenuRadioItem.d.ts +106 -0
- package/menu/radioitem/useMenuRadioItem.props.d.ts +2 -0
- package/menu/submenu/index.d.ts +2 -0
- package/menu/submenu/index.mjs +1 -0
- package/menu/submenu/useMenuSubmenu.d.ts +97 -0
- package/menu/submenu/useMenuSubmenu.props.d.ts +2 -0
- package/menu/useMenu.d.ts +215 -22
- package/menu/useMenu.props.d.ts +2 -2
- package/message/index.d.ts +1 -0
- package/message/index.mjs +1 -2
- package/message/useMessage.d.ts +13 -1
- package/message/useMessage.props.d.ts +2 -2
- package/metergroup/index.d.ts +1 -0
- package/metergroup/index.mjs +1 -2
- package/metergroup/useMeterGroup.d.ts +36 -5
- package/metergroup/useMeterGroup.props.d.ts +2 -2
- package/navigationmenu/index.d.ts +3 -0
- package/navigationmenu/index.mjs +1 -0
- package/navigationmenu/useNavigationMenu.d.ts +30 -0
- package/navigationmenu/useNavigationMenu.props.d.ts +2 -0
- package/orderlist/index.d.ts +3 -0
- package/orderlist/index.mjs +1 -0
- package/orderlist/useOrderList.d.ts +74 -0
- package/orderlist/useOrderList.props.d.ts +2 -0
- package/organizationchart/index.d.ts +3 -0
- package/organizationchart/index.mjs +1 -0
- package/organizationchart/useOrganizationChart.d.ts +69 -0
- package/organizationchart/useOrganizationChart.props.d.ts +2 -0
- package/overlaybadge/index.d.ts +3 -0
- package/overlaybadge/index.mjs +1 -0
- package/overlaybadge/useOverlayBadge.d.ts +1 -0
- package/overlaybadge/useOverlayBadge.props.d.ts +2 -0
- package/package.json +14 -15
- package/paginator/index.d.ts +1 -0
- package/paginator/index.mjs +1 -2
- package/paginator/usePaginator.d.ts +47 -1
- package/paginator/usePaginator.props.d.ts +2 -2
- package/panel/index.d.ts +1 -0
- package/panel/index.mjs +1 -2
- package/panel/usePanel.d.ts +76 -8
- package/panel/usePanel.props.d.ts +2 -2
- package/picklist/index.d.ts +3 -0
- package/picklist/index.mjs +1 -0
- package/picklist/usePickList.d.ts +153 -0
- package/picklist/usePickList.props.d.ts +2 -0
- package/popover/index.d.ts +1 -0
- package/popover/index.mjs +1 -8
- package/popover/usePopover.d.ts +65 -12
- package/popover/usePopover.props.d.ts +2 -2
- package/portal/index.d.ts +1 -0
- package/portal/index.mjs +1 -2
- package/portal/usePortal.d.ts +4 -2
- package/portal/usePortal.props.d.ts +2 -2
- package/positioner/index.d.ts +3 -0
- package/positioner/index.mjs +1 -0
- package/positioner/usePositioner.anchor.d.ts +7 -0
- package/positioner/usePositioner.d.ts +11 -0
- package/positioner/usePositioner.fallback.d.ts +13 -0
- package/positioner/usePositioner.props.d.ts +2 -0
- package/positioner/usePositioner.utils.d.ts +21 -0
- package/progressbar/index.d.ts +1 -0
- package/progressbar/index.mjs +1 -2
- package/progressbar/useProgressBar.d.ts +13 -1
- package/progressbar/useProgressBar.props.d.ts +2 -2
- package/progressspinner/index.d.ts +1 -0
- package/progressspinner/index.mjs +1 -2
- package/progressspinner/useProgressSpinner.d.ts +50 -1
- package/progressspinner/useProgressSpinner.props.d.ts +2 -2
- package/radiobutton/index.d.ts +1 -0
- package/radiobutton/index.mjs +1 -2
- package/radiobutton/useRadioButton.d.ts +41 -3
- package/radiobutton/useRadioButton.props.d.ts +2 -2
- package/radiobuttongroup/index.d.ts +3 -0
- package/radiobuttongroup/index.mjs +1 -0
- package/radiobuttongroup/useRadioButtonGroup.d.ts +11 -0
- package/radiobuttongroup/useRadioButtonGroup.props.d.ts +2 -0
- package/rating/index.d.ts +3 -0
- package/rating/index.mjs +1 -2
- package/rating/useRating.d.ts +46 -12
- package/rating/useRating.props.d.ts +2 -2
- package/rating/useRatingOption.d.ts +69 -0
- package/rating/useRatingOption.props.d.ts +2 -0
- package/scrollarea/index.d.ts +1 -0
- package/scrollarea/index.mjs +1 -2
- package/scrollarea/useScrollArea.d.ts +120 -15
- package/scrollarea/useScrollArea.props.d.ts +2 -2
- package/select/index.d.ts +3 -0
- package/select/index.mjs +1 -0
- package/select/useSelect.d.ts +190 -0
- package/select/useSelect.props.d.ts +2 -0
- package/sidebar/index.d.ts +7 -0
- package/sidebar/index.mjs +1 -0
- package/sidebar/useSidebar.d.ts +143 -0
- package/sidebar/useSidebar.props.d.ts +2 -0
- package/sidebar/useSidebarLayout.d.ts +24 -0
- package/sidebar/useSidebarLayout.props.d.ts +2 -0
- package/sidebar/useSidebarMenuItem.d.ts +10 -0
- package/sidebar/useSidebarMenuItem.props.d.ts +2 -0
- package/skeleton/index.d.ts +1 -0
- package/skeleton/index.mjs +1 -2
- package/skeleton/useSkeleton.d.ts +7 -1
- package/skeleton/useSkeleton.props.d.ts +2 -2
- package/slider/index.d.ts +1 -0
- package/slider/index.mjs +1 -2
- package/slider/useSlider.d.ts +81 -48
- package/slider/useSlider.props.d.ts +2 -2
- package/speeddial/index.d.ts +1 -0
- package/speeddial/index.mjs +1 -2
- package/speeddial/useSpeedDial.d.ts +89 -32
- package/speeddial/useSpeedDial.props.d.ts +2 -2
- package/splitter/index.d.ts +1 -0
- package/splitter/index.mjs +1 -2
- package/splitter/useSplitter.d.ts +57 -14
- package/splitter/useSplitter.props.d.ts +2 -2
- package/stepper/index.d.ts +1 -0
- package/stepper/index.mjs +1 -2
- package/stepper/useStepper.d.ts +47 -2
- package/stepper/useStepper.props.d.ts +2 -2
- package/styleclass/index.d.ts +1 -0
- package/styleclass/index.mjs +1 -2
- package/styleclass/useStyleClass.d.ts +5 -1
- package/styleclass/useStyleClass.props.d.ts +2 -2
- package/tabs/index.d.ts +1 -0
- package/tabs/index.mjs +1 -2
- package/tabs/useTabs.d.ts +42 -3
- package/tabs/useTabs.props.d.ts +2 -2
- package/tag/index.d.ts +1 -0
- package/tag/index.mjs +1 -2
- package/tag/useTag.d.ts +6 -1
- package/tag/useTag.props.d.ts +2 -2
- package/terminal/index.d.ts +1 -0
- package/terminal/index.mjs +1 -2
- package/terminal/useTerminal.d.ts +23 -2
- package/terminal/useTerminal.props.d.ts +2 -2
- package/textarea/index.d.ts +1 -0
- package/textarea/index.mjs +1 -2
- package/textarea/useTextarea.d.ts +9 -2
- package/textarea/useTextarea.props.d.ts +2 -2
- package/timeline/index.d.ts +1 -0
- package/timeline/index.mjs +1 -2
- package/timeline/useTimeline.d.ts +41 -1
- package/timeline/useTimeline.props.d.ts +2 -2
- package/toast/index.d.ts +1 -1
- package/toast/index.mjs +1 -2
- package/toast/useToast.d.ts +85 -23
- package/toast/useToast.props.d.ts +2 -2
- package/toaster/ToastManager.d.ts +14 -0
- package/toaster/index.d.ts +4 -0
- package/toaster/index.mjs +1 -0
- package/toaster/useToaster.d.ts +50 -0
- package/toaster/useToaster.props.d.ts +2 -0
- package/togglebutton/index.d.ts +1 -0
- package/togglebutton/index.mjs +1 -2
- package/togglebutton/useToggleButton.d.ts +5 -3
- package/togglebutton/useToggleButton.props.d.ts +2 -2
- package/togglebuttongroup/index.d.ts +3 -0
- package/togglebuttongroup/index.mjs +1 -0
- package/togglebuttongroup/useToggleButtonGroup.d.ts +17 -0
- package/togglebuttongroup/useToggleButtonGroup.props.d.ts +2 -0
- package/toggleswitch/index.d.ts +3 -0
- package/toggleswitch/index.mjs +1 -0
- package/toggleswitch/useToggleSwitch.d.ts +48 -0
- package/toggleswitch/useToggleSwitch.props.d.ts +2 -0
- package/toolbar/index.d.ts +1 -0
- package/toolbar/index.mjs +1 -2
- package/toolbar/useToolbar.d.ts +7 -1
- package/toolbar/useToolbar.props.d.ts +2 -2
- package/tooltip/index.d.ts +1 -0
- package/tooltip/index.mjs +1 -2
- package/tooltip/useTooltip.d.ts +43 -24
- package/tooltip/useTooltip.props.d.ts +2 -2
- package/tooltipmanager/index.d.ts +2 -0
- package/tooltipmanager/index.mjs +1 -0
- package/tooltipmanager/useTooltipManager.d.ts +12 -0
- package/tooltipmanager/useTooltipManager.props.d.ts +2 -0
- package/tree/TreeDragDropService.d.ts +13 -5
- package/tree/index.d.ts +7 -0
- package/tree/index.mjs +1 -2
- package/tree/useTree.d.ts +97 -17
- package/tree/useTree.props.d.ts +2 -2
- package/tree/useTreeDragDrop.d.ts +24 -0
- package/tree/useTreeFlatten.d.ts +13 -0
- package/tree/useTreeKeyboard.d.ts +18 -0
- package/tree/useTreeNode.d.ts +45 -0
- package/tree/useTreeNode.props.d.ts +2 -0
- package/tree/useTreeSelection.d.ts +31 -0
- package/utils/itemKey.d.ts +10 -0
- package/LICENSE +0 -21
- package/accordion/index.mjs.map +0 -1
- package/accordion/useAccordion.test.d.ts +0 -0
- package/animateonscroll/index.mjs.map +0 -1
- package/animateonscroll/useAnimateOnScroll.test.d.ts +0 -0
- package/avatar/index.mjs.map +0 -1
- package/avatar/useAvatar.test.d.ts +0 -0
- package/badge/index.mjs.map +0 -1
- package/badge/useBadge.test.d.ts +0 -0
- package/breadcrumb/index.mjs.map +0 -1
- package/breadcrumb/useBreadcrumb.test.d.ts +0 -0
- package/button/index.mjs.map +0 -1
- package/button/useButton.test.d.ts +0 -0
- package/card/index.mjs.map +0 -1
- package/card/useCard.test.d.ts +0 -0
- package/carousel/index.mjs.map +0 -1
- package/carousel/useCarousel.test.d.ts +0 -0
- package/checkbox/index.mjs.map +0 -1
- package/checkbox/useCheckbox.test.d.ts +0 -0
- package/chip/index.mjs.map +0 -1
- package/chip/useChip.test.d.ts +0 -0
- package/colorpicker/index.d.ts +0 -3
- package/colorpicker/index.mjs +0 -2
- package/colorpicker/index.mjs.map +0 -1
- package/colorpicker/input/index.d.ts +0 -2
- package/colorpicker/input/index.mjs +0 -2
- package/colorpicker/input/index.mjs.map +0 -1
- package/colorpicker/input/useColorPickerInput.d.ts +0 -11
- package/colorpicker/input/useColorPickerInput.props.d.ts +0 -2
- package/colorpicker/input/useColorPickerInput.test.d.ts +0 -0
- package/colorpicker/slider/index.d.ts +0 -2
- package/colorpicker/slider/index.mjs +0 -2
- package/colorpicker/slider/index.mjs.map +0 -1
- package/colorpicker/slider/useColorPickerSlider.d.ts +0 -13
- package/colorpicker/slider/useColorPickerSlider.props.d.ts +0 -2
- package/colorpicker/slider/useColorPickerSlider.test.d.ts +0 -0
- package/colorpicker/useColorPicker.d.ts +0 -26
- package/colorpicker/useColorPicker.props.d.ts +0 -2
- package/colorpicker/useColorPicker.test.d.ts +0 -0
- package/commandmenu/index.d.ts +0 -2
- package/commandmenu/index.mjs +0 -2
- package/commandmenu/index.mjs.map +0 -1
- package/commandmenu/useCommandMenu.d.ts +0 -11
- package/commandmenu/useCommandMenu.props.d.ts +0 -2
- package/commandmenu/useCommandMenu.test.d.ts +0 -0
- package/confirmdialog/index.d.ts +0 -2
- package/confirmdialog/index.mjs +0 -2
- package/confirmdialog/index.mjs.map +0 -1
- package/confirmdialog/useConfirmDialog.d.ts +0 -1
- package/confirmdialog/useConfirmDialog.props.d.ts +0 -2
- package/confirmdialog/useConfirmDialog.test.d.ts +0 -0
- package/confirmpopup/index.d.ts +0 -2
- package/confirmpopup/index.mjs +0 -2
- package/confirmpopup/index.mjs.map +0 -1
- package/confirmpopup/useConfirmPopup.d.ts +0 -25
- package/confirmpopup/useConfirmPopup.props.d.ts +0 -2
- package/confirmpopup/useConfirmPopup.test.d.ts +0 -0
- package/contextmenu/index.mjs.map +0 -1
- package/contextmenu/useContextMenu.test.d.ts +0 -0
- package/dataview/index.mjs.map +0 -1
- package/dataview/useDataView.test.d.ts +0 -0
- package/datepicker/index.mjs.map +0 -1
- package/datepicker/useDatePicker.test.d.ts +0 -0
- package/dialog/index.mjs.map +0 -1
- package/dialog/useDialog.test.d.ts +0 -0
- package/divider/index.mjs.map +0 -1
- package/divider/useDivider.test.d.ts +0 -0
- package/drawer/index.mjs.map +0 -1
- package/drawer/useDrawer.test.d.ts +0 -0
- package/fieldset/index.mjs.map +0 -1
- package/fieldset/useFieldset.test.d.ts +0 -0
- package/fileupload/index.mjs.map +0 -1
- package/fileupload/useFileUpload.test.d.ts +0 -0
- package/fluid/index.mjs.map +0 -1
- package/fluid/useFluid.test.d.ts +0 -0
- package/focustrap/index.mjs.map +0 -1
- package/focustrap/useFocusTrap.test.d.ts +0 -0
- package/gallery/index.mjs.map +0 -1
- package/gallery/item/index.mjs.map +0 -1
- package/gallery/useGallery.test.d.ts +0 -0
- package/iconfield/index.mjs.map +0 -1
- package/iconfield/useIconField.test.d.ts +0 -0
- package/imagecompare/index.d.ts +0 -2
- package/imagecompare/index.mjs +0 -2
- package/imagecompare/index.mjs.map +0 -1
- package/imagecompare/useImageCompare.d.ts +0 -8
- package/imagecompare/useImageCompare.props.d.ts +0 -2
- package/imagecompare/useImageCompare.test.d.ts +0 -0
- package/inplace/index.mjs.map +0 -1
- package/inplace/useInplace.test.d.ts +0 -0
- package/inputgroup/index.mjs.map +0 -1
- package/inputgroup/useInputGroup.test.d.ts +0 -0
- package/inputnumber/index.mjs.map +0 -1
- package/inputnumber/useInputNumber.test.d.ts +0 -0
- package/inputotp/index.mjs.map +0 -1
- package/inputotp/useInputOtp.test.d.ts +0 -0
- package/inputtags/index.mjs.map +0 -1
- package/inputtags/useInputTags.test.d.ts +0 -0
- package/inputtext/index.mjs.map +0 -1
- package/inputtext/useInputText.test.d.ts +0 -0
- package/knob/index.mjs.map +0 -1
- package/knob/useKnob.test.d.ts +0 -0
- package/label/index.mjs.map +0 -1
- package/label/useLabel.test.d.ts +0 -0
- package/listbox/index.mjs.map +0 -1
- package/listbox/useListbox.test.d.ts +0 -0
- package/menu/index.mjs.map +0 -1
- package/menu/sub/index.d.ts +0 -2
- package/menu/sub/index.mjs +0 -2
- package/menu/sub/index.mjs.map +0 -1
- package/menu/sub/useMenuSub.d.ts +0 -19
- package/menu/sub/useMenuSub.props.d.ts +0 -2
- package/menu/useMenu.test.d.ts +0 -0
- package/message/index.mjs.map +0 -1
- package/message/useMessage.test.d.ts +0 -0
- package/metergroup/index.mjs.map +0 -1
- package/metergroup/useMeterGroup.test.d.ts +0 -0
- package/orgchart/index.d.ts +0 -2
- package/orgchart/index.mjs +0 -2
- package/orgchart/index.mjs.map +0 -1
- package/orgchart/useOrgChart.d.ts +0 -20
- package/orgchart/useOrgChart.props.d.ts +0 -2
- package/orgchart/useOrgChart.test.d.ts +0 -0
- package/overlay/index.d.ts +0 -2
- package/overlay/index.mjs +0 -2
- package/overlay/index.mjs.map +0 -1
- package/overlay/useOverlay.d.ts +0 -16
- package/overlay/useOverlay.props.d.ts +0 -2
- package/overlay/useOverlay.test.d.ts +0 -0
- package/paginator/index.mjs.map +0 -1
- package/paginator/usePaginator.test.d.ts +0 -0
- package/panel/index.mjs.map +0 -1
- package/panel/usePanel.test.d.ts +0 -0
- package/password/index.d.ts +0 -2
- package/password/index.mjs +0 -2
- package/password/index.mjs.map +0 -1
- package/password/usePassword.d.ts +0 -35
- package/password/usePassword.props.d.ts +0 -2
- package/password/usePassword.test.d.ts +0 -0
- package/placer/index.d.ts +0 -2
- package/placer/index.mjs +0 -2
- package/placer/index.mjs.map +0 -1
- package/placer/usePlacer.d.ts +0 -12
- package/placer/usePlacer.props.d.ts +0 -2
- package/placer/usePlacer.test.d.ts +0 -0
- package/popover/index.mjs.map +0 -1
- package/popover/usePopover.test.d.ts +0 -0
- package/portal/index.mjs.map +0 -1
- package/portal/usePortal.test.d.ts +0 -0
- package/progressbar/index.mjs.map +0 -1
- package/progressbar/useProgressBar.test.d.ts +0 -0
- package/progressspinner/index.mjs.map +0 -1
- package/progressspinner/useProgressSpinner.test.d.ts +0 -0
- package/radiobutton/index.mjs.map +0 -1
- package/radiobutton/useRadioButton.test.d.ts +0 -0
- package/rating/index.mjs.map +0 -1
- package/rating/useRating.test.d.ts +0 -0
- package/scrollarea/index.mjs.map +0 -1
- package/scrollarea/useScrollArea.test.d.ts +0 -0
- package/skeleton/index.mjs.map +0 -1
- package/skeleton/useSkeleton.test.d.ts +0 -0
- package/slider/index.mjs.map +0 -1
- package/slider/useSlider.test.d.ts +0 -0
- package/speeddial/index.mjs.map +0 -1
- package/speeddial/useSpeedDial.test.d.ts +0 -0
- package/splitter/index.mjs.map +0 -1
- package/splitter/useSplitter.test.d.ts +0 -0
- package/stepper/index.mjs.map +0 -1
- package/stepper/useStepper.test.d.ts +0 -0
- package/styleclass/index.mjs.map +0 -1
- package/styleclass/useStyleClass.test.d.ts +0 -0
- package/switch/index.d.ts +0 -2
- package/switch/index.mjs +0 -2
- package/switch/index.mjs.map +0 -1
- package/switch/useSwitch.d.ts +0 -7
- package/switch/useSwitch.props.d.ts +0 -2
- package/switch/useSwitch.test.d.ts +0 -0
- package/tabs/index.mjs.map +0 -1
- package/tabs/useTabs.test.d.ts +0 -0
- package/tag/index.mjs.map +0 -1
- package/tag/useTag.test.d.ts +0 -0
- package/terminal/index.mjs.map +0 -1
- package/terminal/useTerminal.test.d.ts +0 -0
- package/textarea/index.mjs.map +0 -1
- package/textarea/useTextarea.test.d.ts +0 -0
- package/timeline/index.mjs.map +0 -1
- package/timeline/useTimeline.test.d.ts +0 -0
- package/toast/index.mjs.map +0 -1
- package/toast/item/index.css +0 -2
- package/toast/item/index.css.map +0 -1
- package/toast/item/index.d.ts +0 -2
- package/toast/item/index.mjs +0 -2
- package/toast/item/index.mjs.map +0 -1
- package/toast/item/useToastItem.d.ts +0 -25
- package/toast/item/useToastItem.props.d.ts +0 -2
- package/toast/item/useToastItem.test.d.ts +0 -0
- package/toast/toastStore.d.ts +0 -40
- package/toast/useToast.test.d.ts +0 -0
- package/togglebutton/index.mjs.map +0 -1
- package/togglebutton/useToggle.test.d.ts +0 -0
- package/toolbar/index.mjs.map +0 -1
- package/toolbar/useToolbar.test.d.ts +0 -0
- package/tooltip/group/index.d.ts +0 -2
- package/tooltip/group/index.mjs +0 -2
- package/tooltip/group/index.mjs.map +0 -1
- package/tooltip/group/useTooltipGroup.d.ts +0 -9
- package/tooltip/group/useTooltipGroup.props.d.ts +0 -2
- package/tooltip/group/useTooltipGroup.test.d.ts +0 -0
- package/tooltip/index.mjs.map +0 -1
- package/tooltip/useTooltip.test.d.ts +0 -0
- package/tree/index.mjs.map +0 -1
- package/tree/useTree.test.d.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/confirmpopup/useConfirmPopup.ts","../../src/confirmpopup/useConfirmPopup.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { ConnectedOverlayScrollHandler } from '@primereact/core/utils';\nimport { useEventListener, useUnmountEffect } from '@primereact/hooks';\nimport { $dt } from '@primeuix/styled';\nimport { absolutePosition, addClass, focus, getOffset, isTouchDevice, ZIndex } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useConfirmPopup.props';\n\nexport const useConfirmPopup = withHeadless({\n name: 'useConfirmPopup',\n defaultProps,\n setup: ({ props, $primereact }) => {\n const [openState, setOpenState] = React.useState<boolean>(props.open ?? props.defaultOpen ?? false);\n const motionRef = React.useRef<{ elementRef: React.RefObject<HTMLDivElement> } | null>(null);\n const triggerRef = React.useRef<{ elementRef: React.RefObject<HTMLButtonElement> } | null>(null);\n const acceptRef = React.useRef<{ elementRef: React.RefObject<HTMLButtonElement> } | null>(null);\n const rejectRef = React.useRef<{ elementRef: React.RefObject<HTMLButtonElement> } | null>(null);\n const scrollHandler = React.useRef<ConnectedOverlayScrollHandler | null>(null);\n\n const state = {\n opened: openState\n };\n\n React.useEffect(() => {\n if (props.defaultOpen) {\n open();\n }\n }, [props.defaultOpen]);\n\n useUnmountEffect(() => {\n ZIndex.clear(motionRef.current?.elementRef.current as HTMLDivElement);\n });\n\n //methods\n const open = () => {\n setOpenState(true);\n\n props?.onOpenChange?.({\n value: true\n });\n };\n\n const close = () => {\n setOpenState(false);\n\n props?.onOpenChange?.({\n value: false\n });\n\n focus(triggerRef.current?.elementRef.current as HTMLButtonElement);\n };\n\n const onOpenStateChange = () => {\n const newOpenState = !openState;\n\n setOpenState(newOpenState);\n\n props?.onOpenChange?.({\n value: newOpenState\n });\n };\n\n const onOpenChange = () => {\n props?.onOpenChange?.({\n value: state.opened\n });\n };\n\n const onMotionEnter = () => {\n bindOutsideClickListener();\n bindScrollListener();\n bindResizeListener();\n\n ZIndex.set('overlay', motionRef.current?.elementRef.current as HTMLDivElement, $primereact.config?.zIndex?.modal ?? 1100);\n };\n\n const onMotionAfterEnter = () => {\n alignOverlay();\n focusElement();\n };\n\n const onMotionLeave = () => {\n focus(triggerRef.current?.elementRef.current as HTMLButtonElement);\n\n unbindOutsideClickListener();\n unbindScrollListener();\n unbindResizeListener();\n };\n\n const onMotionAfterLeave = () => {\n ZIndex.clear(motionRef.current?.elementRef.current as HTMLDivElement);\n };\n\n const alignOverlay = () => {\n const motionElement = motionRef.current?.elementRef.current;\n const triggerElement = triggerRef.current?.elementRef.current;\n\n if (!motionElement || !triggerElement) return;\n\n absolutePosition(motionElement, triggerElement, false);\n\n const containerOffset = getOffset(motionElement);\n const targetOffset = getOffset(triggerElement);\n let arrowLeft = 0;\n\n if (containerOffset.left < targetOffset.left) {\n arrowLeft = (targetOffset.left as number) - (containerOffset.left as number);\n }\n\n motionElement.style.setProperty($dt('confirmpopup.arrow.left').name, `${arrowLeft}px`);\n\n if (containerOffset.top < targetOffset.top) {\n motionElement.setAttribute('data-p-confirmpopup-flipped', 'true');\n // !isUnstyled &&\n addClass(motionElement, 'p-confirmpopup-flipped');\n }\n };\n\n const [bindOutsideClickListener, unbindOutsideClickListener] = useEventListener({\n type: 'click',\n listener: (event: Event) => {\n const motionElement = motionRef.current?.elementRef.current;\n\n if (openState && motionElement && !motionElement.contains(event.target as Node) && !isTargetClicked(event)) {\n setOpenState(false);\n } else {\n alignOverlay();\n }\n }\n });\n\n const [bindScrollListener, unbindScrollListener] = useEventListener({\n type: 'scroll',\n listener: () => {\n if (!scrollHandler.current) {\n scrollHandler.current = new ConnectedOverlayScrollHandler(triggerRef.current?.elementRef.current as HTMLButtonElement, () => {\n if (openState) {\n setOpenState(false);\n }\n });\n }\n\n scrollHandler.current.bindScrollListener();\n }\n });\n\n const [bindResizeListener, unbindResizeListener] = useEventListener({\n type: 'resize',\n listener: () => {\n if (openState && !isTouchDevice()) {\n setOpenState(false);\n }\n }\n });\n\n const focusElement = () => {\n let focusTarget;\n\n if (props.defaultFocus === undefined || props.defaultFocus === 'accept') {\n focusTarget = acceptRef.current?.elementRef.current;\n } else if (props.defaultFocus === 'reject') {\n focusTarget = rejectRef.current?.elementRef.current;\n }\n\n if (!focusTarget) {\n focusTarget = findFocusableElement(motionRef.current?.elementRef.current ?? null);\n }\n\n if (focusTarget) {\n focus(focusTarget as HTMLElement);\n }\n };\n\n const findFocusableElement = (container: HTMLElement | null) => {\n return container && container.querySelector('[autoFocus]');\n };\n\n const isTargetClicked = (event: Event) => {\n if (!triggerRef.current) return false;\n\n const triggerElement = triggerRef.current?.elementRef.current as HTMLButtonElement;\n\n return triggerElement === event.target || triggerElement.contains(event.target as Node);\n };\n\n return {\n state,\n // refs\n motionRef,\n triggerRef,\n acceptRef,\n rejectRef,\n // methods\n close,\n onOpenStateChange,\n onOpenChange,\n onMotionEnter,\n onMotionAfterEnter,\n onMotionLeave,\n onMotionAfterLeave\n };\n }\n});\n","import type { useConfirmPopupProps } from '@primereact/types/shared/confirmpopup';\n\nexport const defaultProps: useConfirmPopupProps = {\n open: false,\n defaultOpen: false,\n defaultFocus: undefined,\n onOpenChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","ConnectedOverlayScrollHandler","useEventListener","useUnmountEffect","$dt","absolutePosition","addClass","focus","getOffset","isTouchDevice","ZIndex","React","defaultProps","useConfirmPopup","withHeadless","defaultProps","props","$primereact","_a","_b","openState","setOpenState","motionRef","triggerRef","acceptRef","rejectRef","scrollHandler","state","open","useUnmountEffect","ZIndex","close","focus","onOpenStateChange","newOpenState","onOpenChange","onMotionEnter","_c","_d","bindOutsideClickListener","bindScrollListener","bindResizeListener","onMotionAfterEnter","alignOverlay","focusElement","onMotionLeave","unbindOutsideClickListener","unbindScrollListener","unbindResizeListener","onMotionAfterLeave","motionElement","triggerElement","absolutePosition","containerOffset","getOffset","targetOffset","arrowLeft","$dt","addClass","useEventListener","event","isTargetClicked","ConnectedOverlayScrollHandler","isTouchDevice","focusTarget","findFocusableElement","container"]}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
export declare const useConfirmPopup: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/confirmpopup").useConfirmPopupProps, unknown, {
|
|
3
|
-
state: {
|
|
4
|
-
opened: boolean;
|
|
5
|
-
};
|
|
6
|
-
motionRef: React.RefObject<{
|
|
7
|
-
elementRef: React.RefObject<HTMLDivElement>;
|
|
8
|
-
} | null>;
|
|
9
|
-
triggerRef: React.RefObject<{
|
|
10
|
-
elementRef: React.RefObject<HTMLButtonElement>;
|
|
11
|
-
} | null>;
|
|
12
|
-
acceptRef: React.RefObject<{
|
|
13
|
-
elementRef: React.RefObject<HTMLButtonElement>;
|
|
14
|
-
} | null>;
|
|
15
|
-
rejectRef: React.RefObject<{
|
|
16
|
-
elementRef: React.RefObject<HTMLButtonElement>;
|
|
17
|
-
} | null>;
|
|
18
|
-
close: () => void;
|
|
19
|
-
onOpenStateChange: () => void;
|
|
20
|
-
onOpenChange: () => void;
|
|
21
|
-
onMotionEnter: () => void;
|
|
22
|
-
onMotionAfterEnter: () => void;
|
|
23
|
-
onMotionLeave: () => void;
|
|
24
|
-
onMotionAfterLeave: () => void;
|
|
25
|
-
}>;
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/contextmenu/useContextMenu.ts","../../src/contextmenu/useContextMenu.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\n// import { useEventListener } from '@primereact/hooks';\n// import * as React from 'react';\n// import { useMenu } from '../menu/useMenu';\nimport { defaultProps } from './useContextMenu.props';\n\nexport const useContextMenu = withHeadless({\n name: 'useContextMenu',\n defaultProps\n // setup: (instance) => {\n // const { props } = instance;\n\n // // Use the menu hook with composite set to false for ContextMenu\n // const menu = useMenu({\n // ...instance,\n // inProps: {\n // ...props,\n // composite: false\n // }\n // });\n\n // const onGlobalContextMenu = (event: React.MouseEvent) => {\n // menu.onTriggerClick(event);\n // };\n\n // const [bindGlobalListener, unbindGlobalListener] = useEventListener({\n // target: 'document',\n // type: 'contextmenu',\n // listener: (event) => onGlobalContextMenu(event as unknown as React.MouseEvent)\n // });\n\n // React.useEffect(() => {\n // if (props.global) {\n // bindGlobalListener();\n // } else {\n // unbindGlobalListener();\n // }\n\n // return () => {\n // unbindGlobalListener();\n // };\n // }, [props.global]);\n\n // return {\n // ...menu\n // };\n // }\n});\n","import type { useContextMenuProps } from '@primereact/types/shared/contextmenu';\n\nexport const defaultProps: useContextMenuProps = {\n open: false,\n defaultOpen: false,\n baseZIndex: 0,\n autoZIndex: true,\n tabIndex: 0,\n appendTo: 'body',\n onOpenChange: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAoC,CAC7C,KAAM,GACN,YAAa,GACb,WAAY,EACZ,WAAY,GACZ,SAAU,EACV,SAAU,OACV,aAAc,MAClB,EDJO,IAAMC,EAAiBC,EAAa,CACvC,KAAM,iBACN,aAAAC,CAuCJ,CAAC","names":["withHeadless","defaultProps","useContextMenu","withHeadless","defaultProps"]}
|
|
File without changes
|
package/dataview/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/dataview/useDataView.ts","../../src/dataview/useDataView.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { localeComparator, resolveFieldData } from '@primeuix/utils/object';\nimport { defaultProps } from './useDataView.props';\n\nexport const useDataView = withHeadless({\n name: 'useDataView',\n defaultProps,\n setup: () => {\n const sort = (value: unknown[] | null, sortField: string, sortOrder: number) => {\n if (value) {\n const _value = [...value];\n const comparer = localeComparator();\n\n _value.sort((data1, data2) => {\n const value1 = resolveFieldData(data1, sortField);\n const value2 = resolveFieldData(data2, sortField);\n const cmp = comparer ? comparer(value1, value2) : value1 > value2 ? 1 : value1 < value2 ? -1 : 0;\n\n return cmp * sortOrder;\n });\n\n return _value;\n }\n\n return null;\n };\n\n return {\n // methods\n sort\n };\n }\n});\n","import type { useDataViewProps } from '@primereact/types/shared/dataview';\n\nexport const defaultProps: useDataViewProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,OAAS,oBAAAC,EAAkB,oBAAAC,MAAwB,yBCC5C,IAAMC,EAAiC,CAAC,EDExC,IAAMC,EAAcC,EAAa,CACpC,KAAM,cACN,aAAAC,EACA,MAAO,KAoBI,CAEH,KArBS,CAACC,EAAyBC,EAAmBC,IAAsB,CAC5E,GAAIF,EAAO,CACP,IAAMG,EAAS,CAAC,GAAGH,CAAK,EAClBI,EAAWC,EAAiB,EAElC,OAAAF,EAAO,KAAK,CAACG,EAAOC,IAAU,CAC1B,IAAMC,EAASC,EAAiBH,EAAOL,CAAS,EAC1CS,EAASD,EAAiBF,EAAON,CAAS,EAGhD,OAFYG,EAAWA,EAASI,EAAQE,CAAM,EAAIF,EAASE,EAAS,EAAIF,EAASE,EAAS,GAAK,GAElFR,CACjB,CAAC,EAEMC,CACX,CAEA,OAAO,IACX,CAKA,EAER,CAAC","names":["withHeadless","localeComparator","resolveFieldData","defaultProps","useDataView","withHeadless","defaultProps","value","sortField","sortOrder","_value","comparer","localeComparator","data1","data2","value1","resolveFieldData","value2"]}
|
|
File without changes
|
package/datepicker/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/datepicker/useDatePicker.ts","../../src/datepicker/useDatePicker.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useMountEffect } from '@primereact/hooks';\nimport { useDatePickerDateMeta, useDatePickerProps } from '@primereact/types/shared/datepicker';\nimport { find, findSingle, getAttribute, getFocusableElements, getIndex, getOuterWidth, isDate, isEmpty, isNotEmpty } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useDatePicker.props';\n\nconst TICKS_TO_1970 = ((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) + Math.floor(1970 / 400)) * 24 * 60 * 60 * 10000000;\n\nconst primereact = {\n config: {\n locale: {\n startsWith: 'Starts with',\n contains: 'Contains',\n notContains: 'Not contains',\n endsWith: 'Ends with',\n equals: 'Equals',\n notEquals: 'Not equals',\n noFilter: 'No Filter',\n lt: 'Less than',\n lte: 'Less than or equal to',\n gt: 'Greater than',\n gte: 'Greater than or equal to',\n dateIs: 'Date is',\n dateIsNot: 'Date is not',\n dateBefore: 'Date is before',\n dateAfter: 'Date is after',\n clear: 'Clear',\n apply: 'Apply',\n matchAll: 'Match All',\n matchAny: 'Match Any',\n addRule: 'Add Rule',\n removeRule: 'Remove Rule',\n accept: 'Yes',\n reject: 'No',\n choose: 'Choose',\n upload: 'Upload',\n cancel: 'Cancel',\n completed: 'Completed',\n pending: 'Pending',\n fileSizeTypes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],\n dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n chooseYear: 'Choose Year',\n chooseMonth: 'Choose Month',\n chooseDate: 'Choose Date',\n prevDecade: 'Previous Decade',\n nextDecade: 'Next Decade',\n prevYear: 'Previous Year',\n nextYear: 'Next Year',\n prevMonth: 'Previous Month',\n nextMonth: 'Next Month',\n prevHour: 'Previous Hour',\n nextHour: 'Next Hour',\n prevMinute: 'Previous Minute',\n nextMinute: 'Next Minute',\n prevSecond: 'Previous Second',\n nextSecond: 'Next Second',\n am: 'am',\n pm: 'pm',\n today: 'Today',\n weekHeader: 'Wk',\n firstDayOfWeek: 0,\n showMonthAfterYear: false,\n dateFormat: 'mm/dd/yy',\n weak: 'Weak',\n medium: 'Medium',\n strong: 'Strong',\n passwordPrompt: 'Enter a password',\n emptyFilterMessage: 'No results found',\n searchMessage: '{0} results are available',\n selectionMessage: '{0} items selected',\n emptySelectionMessage: 'No selected item',\n emptySearchMessage: 'No results found',\n fileChosenMessage: '{0} files',\n noFileChosenMessage: 'No file chosen',\n emptyMessage: 'No available options',\n aria: {\n trueLabel: 'True',\n falseLabel: 'False',\n nullLabel: 'Not Selected',\n star: '1 star',\n stars: '{star} stars',\n selectAll: 'All items selected',\n unselectAll: 'All items unselected',\n close: 'Close',\n previous: 'Previous',\n next: 'Next',\n navigation: 'Navigation',\n scrollTop: 'Scroll Top',\n moveTop: 'Move Top',\n moveUp: 'Move Up',\n moveDown: 'Move Down',\n moveBottom: 'Move Bottom',\n moveToTarget: 'Move to Target',\n moveToSource: 'Move to Source',\n moveAllToTarget: 'Move All to Target',\n moveAllToSource: 'Move All to Source',\n pageLabel: 'Page {page}',\n firstPageLabel: 'First Page',\n lastPageLabel: 'Last Page',\n nextPageLabel: 'Next Page',\n prevPageLabel: 'Previous Page',\n rowsPerPageLabel: 'Rows per page',\n jumpToPageDropdownLabel: 'Jump to Page Dropdown',\n jumpToPageInputLabel: 'Jump to Page Input',\n selectRow: 'Row Selected',\n unselectRow: 'Row Unselected',\n expandRow: 'Row Expanded',\n collapseRow: 'Row Collapsed',\n showFilterMenu: 'Show Filter Menu',\n hideFilterMenu: 'Hide Filter Menu',\n filterOperator: 'Filter Operator',\n filterConstraint: 'Filter Constraint',\n editRow: 'Row Edit',\n saveEdit: 'Save Edit',\n cancelEdit: 'Cancel Edit',\n listView: 'List View',\n gridView: 'Grid View',\n slide: 'Slide',\n slideNumber: '{slideNumber}',\n zoomImage: 'Zoom Image',\n zoomIn: 'Zoom In',\n zoomOut: 'Zoom Out',\n rotateRight: 'Rotate Right',\n rotateLeft: 'Rotate Left',\n listLabel: 'Option List'\n }\n }\n }\n};\n\nexport const useDatePicker = withHeadless({\n name: 'useDatePicker',\n defaultProps,\n setup: ({ props, elementRef }) => {\n const inputRef = React.useRef<{ elementRef: React.RefObject<HTMLInputElement> } | null>(null);\n const nextButtonRef = React.useRef<{ elementRef: React.RefObject<HTMLButtonElement> } | null>(null);\n const prevButtonRef = React.useRef<{ elementRef: React.RefObject<HTMLButtonElement> } | null>(null);\n const portalRef = React.useRef<{ containerRef: { current: { elementRef: React.RefObject<HTMLDivElement> } } } | null>(null);\n const overlayRef = React.useRef<HTMLDivElement | null>(null);\n const timePickerTimer = React.useRef<NodeJS.Timeout | null>(null);\n const typeUpdate = React.useRef(false);\n const selectionStart = React.useRef<number | null>(null);\n const selectionEnd = React.useRef<number | null>(null);\n const [showClearIcon, setShowClearIcon] = React.useState(true);\n const [overlayVisibleState, setOverlayVisibleState] = React.useState<boolean>(false);\n const [currentView, setCurrentView] = React.useState(props.view);\n const [currentMonth, setCurrentMonth] = React.useState<number>(0);\n const [currentYear, setCurrentYear] = React.useState<number>(0);\n const [currentHour, setCurrentHour] = React.useState<number>(0);\n const [currentMinute, setCurrentMinute] = React.useState<number>(0);\n const [currentSecond, setCurrentSecond] = React.useState<number>(0);\n const [pm, setPM] = React.useState<boolean>(false);\n const [focusedDateIndex, setFocusedDateIndex] = React.useState(0);\n const [navigationState, setNavigationState] = React.useState<{ backward?: boolean; button?: boolean } | null>(null);\n const [hoveredDateState, setHoveredDateState] = React.useState<useDatePickerDateMeta | null>(null);\n\n const getInitialValue = (): useDatePickerProps['value'] => {\n if (props.value !== undefined) {\n return typeof props.value === 'string' ? (parseValue(props.value) as useDatePickerProps['value']) : props.value;\n }\n\n if (props.defaultValue !== undefined) {\n return typeof props.defaultValue === 'string' ? (parseValue(props.defaultValue) as useDatePickerProps['value']) : props.defaultValue;\n }\n\n return null;\n };\n\n const [rawValueState, setRawValueState] = React.useState<useDatePickerProps['value']>(() => getInitialValue());\n\n const state = {\n rawValue: rawValueState,\n overlayVisible: overlayVisibleState,\n currentView,\n showClearIcon,\n hoveredDate: hoveredDateState\n };\n\n const isSelected = (dateMeta: useDatePickerDateMeta) => {\n if (rawValueState) {\n if (isSingleSelection()) {\n return isDateEquals(parseValueForComparison(rawValueState), dateMeta);\n } else if (isMultipleSelection()) {\n let selected = false;\n\n if (Array.isArray(rawValueState)) {\n for (const date of rawValueState) {\n selected = isDateEquals(parseValueForComparison(date), dateMeta);\n\n if (selected) {\n break;\n }\n }\n }\n\n return selected;\n } else if (isRangeSelection() && Array.isArray(rawValueState)) {\n const start = parseValueForComparison(rawValueState[0]);\n\n if (start === null) {\n return false;\n }\n\n if (rawValueState[1]) {\n const end = parseValueForComparison(rawValueState[1]);\n\n if (end === null) {\n return false;\n }\n\n return isDateEquals(start, dateMeta) || isDateEquals(end, dateMeta) || isDateBetween(start, end, dateMeta);\n } else {\n return isDateEquals(start, dateMeta);\n }\n }\n }\n\n return false;\n };\n\n const isInHoverRange = (dateMeta: useDatePickerDateMeta) => {\n if (!isRangeSelection() || !hoveredDateState || !rawValueState || !Array.isArray(rawValueState)) {\n return false;\n }\n\n if (rawValueState.length === 0 || rawValueState[1] !== null) {\n return false;\n }\n\n const start = parseValueForComparison(rawValueState[0]);\n\n if (!start) {\n return false;\n }\n\n const hoverDateObj = new Date(hoveredDateState.year, hoveredDateState.month, hoveredDateState.day);\n const currentDateObj = new Date(dateMeta.year, dateMeta.month, dateMeta.day);\n const rangeStart = start.getTime() < hoverDateObj.getTime() ? start : hoverDateObj;\n const rangeEnd = start.getTime() < hoverDateObj.getTime() ? hoverDateObj : start;\n const currentTime = currentDateObj.getTime();\n\n return currentTime >= rangeStart.getTime() && currentTime <= rangeEnd.getTime();\n };\n\n const onDateCellMouseEnter = (dateMeta: useDatePickerDateMeta) => {\n if (isRangeSelection() && dateMeta.selectable) {\n setHoveredDateState(dateMeta);\n }\n };\n\n const isMonthSelected = (month: number) => {\n if (isDate(rawValueState) && rawValueState !== null) {\n return (rawValueState as Date).getMonth() === month && (rawValueState as Date).getFullYear() === currentYear;\n } else if (Array.isArray(rawValueState)) {\n if (isMultipleSelection()) {\n return rawValueState?.some((currentValue) => {\n const parsedDate = parseValueForComparison(currentValue);\n\n return parsedDate ? parsedDate.getMonth() === month && parsedDate.getFullYear() === currentYear : false;\n });\n } else if (isRangeSelection()) {\n const parsedStart = rawValueState?.[0] ? parseValueForComparison(rawValueState[0]) : null;\n const parsedEnd = rawValueState?.[1] ? parseValueForComparison(rawValueState[1]) : null;\n\n if (!parsedEnd) {\n return parsedStart ? parsedStart.getFullYear() === currentYear && parsedStart.getMonth() === month : false;\n } else {\n if (!parsedStart) return false;\n\n const currentDate = new Date(currentYear as number, month, 1);\n const startDate = new Date(parsedStart.getFullYear(), parsedStart.getMonth(), 1);\n const endDate = new Date(parsedEnd.getFullYear(), parsedEnd.getMonth(), 1);\n\n return currentDate >= startDate && currentDate <= endDate;\n }\n }\n }\n\n return false;\n };\n\n const isYearSelected = (year: number) => {\n if (typeof rawValueState !== 'string' && rawValueState !== null) {\n return (rawValueState as Date).getFullYear() === year;\n } else if (Array.isArray(rawValueState)) {\n if (isMultipleSelection()) {\n return rawValueState?.some((currentValue) => {\n const parsedDate = parseValueForComparison(currentValue);\n\n return parsedDate ? parsedDate.getFullYear() === year : false;\n });\n } else if (isRangeSelection()) {\n const parsedStart = rawValueState?.[0] ? parseValueForComparison(rawValueState[0]) : null;\n const parsedEnd = rawValueState?.[1] ? parseValueForComparison(rawValueState[1]) : null;\n\n const start = parsedStart ? parsedStart.getFullYear() : null;\n const end = parsedEnd ? parsedEnd.getFullYear() : null;\n\n if (!start || !end) return false;\n\n return start === year || end === year || (start < year && end > year);\n }\n }\n\n return false;\n };\n\n const isDateEquals = (value: Date | string | null | undefined, dateMeta: useDatePickerDateMeta) => {\n if (value) {\n const dateValue = typeof value === 'string' ? (parseValue(value) as Date | string) : value;\n\n if (dateValue && dateValue instanceof Date) {\n return dateValue.getDate() === dateMeta.day && dateValue.getMonth() === dateMeta.month && dateValue.getFullYear() === dateMeta.year;\n }\n }\n\n return false;\n };\n\n const isDateBetween = (start: Date, end: Date, dateMeta: useDatePickerDateMeta) => {\n const between = false;\n const parsedStart = parseValueForComparison(start);\n const parsedEnd = parseValueForComparison(end);\n\n if (parsedStart && parsedEnd) {\n const date = new Date(dateMeta.year, dateMeta.month, dateMeta.day);\n\n return parsedStart.getTime() <= date.getTime() && parsedEnd.getTime() >= date.getTime();\n }\n\n return between;\n };\n\n const sundayIndex = React.useMemo(() => {\n return primereact?.config?.locale?.firstDayOfWeek > 0 ? 7 - primereact?.config?.locale?.firstDayOfWeek : 0;\n }, []);\n\n const getFirstDayOfMonthIndex = (month: number, year: number) => {\n const day = new Date();\n\n day.setDate(1);\n day.setMonth(month);\n day.setFullYear(year);\n\n const dayIndex = day.getDay() + sundayIndex;\n\n return dayIndex >= 7 ? dayIndex - 7 : dayIndex;\n };\n\n const getDaysCountInMonth = (month: number, year: number) => {\n return 32 - daylightSavingAdjust(new Date(year, month, 32)).getDate();\n };\n\n const getDaysCountInPrevMonth = (month: number, year: number) => {\n const prev = getPreviousMonthAndYear(month, year);\n\n return getDaysCountInMonth(prev.month, prev.year);\n };\n\n const getPreviousMonthAndYear = (month: number, year: number) => {\n let m, y;\n\n if (month === 0) {\n m = 11;\n y = year - 1;\n } else {\n m = month - 1;\n y = year;\n }\n\n return { month: m, year: y };\n };\n\n const getNextMonthAndYear = (month: number, year: number) => {\n let m, y;\n\n if (month === 11) {\n m = 0;\n y = year + 1;\n } else {\n m = month + 1;\n y = year;\n }\n\n return { month: m, year: y };\n };\n\n const daylightSavingAdjust = (date: Date) => {\n if (!date) {\n date = new Date();\n }\n\n date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);\n\n return date;\n };\n\n const isToday = (today: Date, day: number, month: number, year: number) => {\n return today.getDate() === day && today.getMonth() === month && today.getFullYear() === year;\n };\n\n const isSelectable = (day: number, month: number, year: number, otherMonth: boolean) => {\n let validMin = true;\n let validMax = true;\n let validDate = true;\n let validDay = true;\n\n if (otherMonth && !props.selectOtherMonths) {\n return false;\n }\n\n if (props.minDate) {\n if (props.minDate.getFullYear() > year) {\n validMin = false;\n } else if (props.minDate.getFullYear() === year) {\n if (props.minDate.getMonth() > month) {\n validMin = false;\n } else if (props.minDate.getMonth() === month) {\n if (props.minDate.getDate() > day) {\n validMin = false;\n }\n }\n }\n }\n\n if (props.maxDate) {\n if (props.maxDate.getFullYear() < year) {\n validMax = false;\n } else if (props.maxDate.getFullYear() === year) {\n if (props.maxDate.getMonth() < month) {\n validMax = false;\n } else if (props.maxDate.getMonth() === month) {\n if (props.maxDate.getDate() < day) {\n validMax = false;\n }\n }\n }\n }\n\n if (props.disabledDates) {\n validDate = !isDateDisabled(day, month, year);\n }\n\n if (props.disabledDays) {\n validDay = !isDayDisabled(day, month, year);\n }\n\n return validMin && validMax && validDate && validDay;\n };\n\n const onPrevButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setNavigationState({ backward: true, button: true });\n navBackward(event);\n };\n\n const onNextButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setNavigationState({ backward: false, button: true });\n navForward(event);\n };\n\n const navBackward = (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLSpanElement>) => {\n event.preventDefault();\n\n if (!isEnabled()) {\n return;\n }\n\n if (currentView === 'month') {\n decrementYear();\n\n if (props.onYearChange) {\n props.onYearChange({ month: currentMonth, year: currentYear });\n }\n } else if (currentView === 'year') {\n decrementDecade();\n } else {\n if (event.shiftKey) {\n decrementYear();\n } else {\n if (currentMonth === 0) {\n setCurrentMonth(11);\n decrementYear();\n } else {\n setCurrentMonth((currentMonth as number) - 1);\n }\n\n if (props.onMonthChange) {\n props.onMonthChange({ month: currentMonth + 1, year: currentYear });\n }\n }\n }\n };\n\n const navForward = (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLSpanElement>) => {\n event.preventDefault();\n\n if (!isEnabled()) {\n return;\n }\n\n if (currentView === 'month') {\n incrementYear();\n\n if (props.onYearChange) {\n props.onYearChange({ month: currentMonth, year: currentYear });\n }\n } else if (currentView === 'year') {\n incrementDecade();\n } else {\n if (event.shiftKey) {\n incrementYear();\n } else {\n if (currentMonth === 11) {\n setCurrentMonth(0);\n incrementYear();\n } else {\n setCurrentMonth((currentMonth as number) + 1);\n }\n\n if (props.onMonthChange) {\n props.onMonthChange({ month: currentMonth + 1, year: currentYear });\n }\n }\n }\n };\n\n const decrementYear = () => {\n setCurrentYear((currentYear ?? 0) - 1);\n };\n\n const decrementDecade = () => {\n setCurrentYear((currentYear ?? 0) - 10);\n };\n\n const incrementYear = () => {\n setCurrentYear((currentYear ?? 0) + 1);\n };\n\n const incrementDecade = () => {\n setCurrentYear((currentYear ?? 0) + 10);\n };\n\n const switchToMonthView = (event: React.MouseEvent<HTMLButtonElement>) => {\n setCurrentView('month');\n event.preventDefault();\n };\n\n const switchToYearView = (event: React.MouseEvent<HTMLButtonElement>) => {\n setCurrentView('year');\n event.preventDefault();\n };\n\n const isEnabled = () => {\n return !props.disabled && !props.readOnly;\n };\n\n const updateCurrentTimeMeta = (date: Date) => {\n let currentHour = date.getHours();\n\n if (props.hourFormat === '12') {\n setPM(currentHour > 11);\n\n if (currentHour >= 12) currentHour = currentHour == 12 ? 12 : currentHour - 12;\n }\n\n setCurrentHour(Math.floor(currentHour / (props.stepHour ?? 1)) * (props.stepHour ?? 1));\n setCurrentMinute(Math.floor(date.getMinutes() / (props.stepMinute ?? 1)) * (props.stepMinute ?? 1));\n setCurrentSecond(Math.floor(date.getSeconds() / (props.stepSecond ?? 1)) * (props.stepSecond ?? 1));\n };\n\n const onButtonClick = () => {\n if (isEnabled()) {\n if (!overlayVisibleState) {\n inputRef.current?.elementRef.current?.focus();\n setOverlayVisibleState(true);\n } else {\n setOverlayVisibleState(false);\n }\n }\n };\n\n const isDateDisabled = (day: number, month: number, year: number) => {\n if (props.disabledDates) {\n for (const disabledDate of props.disabledDates) {\n if (disabledDate.getFullYear() === year && disabledDate.getMonth() === month && disabledDate.getDate() === day) {\n return true;\n }\n }\n }\n\n return false;\n };\n\n const isDayDisabled = (day: number, month: number, year: number) => {\n if (props.disabledDays) {\n const weekday = new Date(year, month, day);\n const weekdayNumber = weekday.getDay();\n\n return props.disabledDays.indexOf(weekdayNumber) !== -1;\n }\n\n return false;\n };\n\n const onDateSelect = (event: React.MouseEvent<HTMLSpanElement> | React.KeyboardEvent<HTMLSpanElement> | null, dateMeta: useDatePickerDateMeta) => {\n if (props.disabled || !dateMeta.selectable) {\n return;\n }\n\n if (overlayRef.current) {\n (find(overlayRef.current, 'table td span:not([data-p-disabled=\"true\"])') as HTMLElement[]).forEach((cell) => (cell.tabIndex = -1));\n }\n\n if (event) {\n event.currentTarget.focus();\n }\n\n if (isMultipleSelection() && isSelected(dateMeta)) {\n if (rawValueState && Array.isArray(rawValueState)) {\n const newValue = rawValueState.filter((date) => !isDateEquals(parseValueForComparison(date), dateMeta)) as Date[];\n\n updateModel(newValue);\n }\n } else {\n if (shouldSelectDate()) {\n if (dateMeta.otherMonth) {\n setCurrentMonth(dateMeta.month);\n setCurrentYear(dateMeta.year);\n selectDate(dateMeta);\n } else {\n selectDate(dateMeta);\n }\n }\n }\n\n if (isSingleSelection() && (!props.showTime || props.hideOnDateTimeSelect)) {\n if (inputRef.current) {\n inputRef.current?.elementRef.current.focus();\n }\n\n setTimeout(() => {\n setOverlayVisibleState(false);\n }, 150);\n }\n };\n\n const selectDate = (dateMeta: useDatePickerDateMeta) => {\n let date = new Date(dateMeta.year, dateMeta.month, dateMeta.day);\n\n if (props.showTime) {\n if (props.hourFormat === '12' && currentHour !== 12 && pm) {\n date.setHours((currentHour as number) + 12);\n } else {\n date.setHours(currentHour as number);\n }\n\n date.setMinutes(currentMinute as number);\n date.setSeconds(props.showSeconds ? (currentSecond as number) : 0);\n }\n\n if (props.minDate && props.minDate > date) {\n date = props.minDate;\n }\n\n if (props.maxDate && props.maxDate < date) {\n date = props.maxDate;\n }\n\n setCurrentHour(date.getHours());\n setCurrentMinute(date.getMinutes());\n setCurrentSecond(date.getSeconds());\n\n let modelVal = null;\n\n if (isSingleSelection()) {\n modelVal = date;\n } else if (isMultipleSelection()) {\n if (Array.isArray(rawValueState)) {\n modelVal = [...rawValueState, date];\n } else {\n modelVal = [date];\n }\n } else if (isRangeSelection()) {\n if (rawValueState && Array.isArray(rawValueState) && rawValueState.length) {\n let startDate = parseValueForComparison(rawValueState[0]) as Date;\n let endDate = rawValueState[1];\n\n if (!endDate && date.getTime() >= startDate.getTime()) {\n endDate = date;\n setFocusedDateIndex(1);\n setHoveredDateState(null);\n } else {\n startDate = date;\n endDate = null;\n setFocusedDateIndex(0);\n setHoveredDateState(null);\n }\n\n modelVal = [startDate, endDate];\n } else {\n modelVal = [date, null];\n setFocusedDateIndex(0);\n }\n }\n\n if (modelVal !== null) {\n updateModel(modelVal as Date);\n }\n\n if (props.onDateSelect) {\n props.onDateSelect({\n value: date\n });\n }\n };\n\n const updateModel = (value: useDatePickerProps['value']) => {\n setRawValueState(value);\n\n if (props.updateModelType === 'date') {\n if (isSingleSelection()) {\n writeValue(value);\n } else {\n let stringArrValue = null;\n\n if (Array.isArray(value)) {\n stringArrValue = value.map((date) => parseValueForComparison(date));\n }\n\n writeValue(stringArrValue);\n }\n } else if (props.updateModelType == 'string') {\n if (isSingleSelection()) {\n if (value instanceof Date || typeof value === 'string' || value === null) {\n writeValue(formatDateTime(value));\n }\n } else if (isMultipleSelection()) {\n let stringArrValue: (string | null)[] | null = null;\n\n if (Array.isArray(value)) {\n stringArrValue = value.map((date) => {\n const formatted = formatDateTime(date);\n\n return typeof formatted === 'string' ? formatted : null;\n });\n }\n\n writeValue(stringArrValue);\n } else if (isRangeSelection()) {\n let stringArrValue: (string | null)[] | null = null;\n\n if (Array.isArray(value)) {\n stringArrValue = value.map((date) => {\n if (date === null || date === undefined) {\n return null;\n }\n\n const formatted = formatDateTime(date);\n\n return formatted !== null && typeof formatted === 'string' ? formatted : null;\n });\n }\n\n writeValue(stringArrValue);\n }\n }\n };\n\n const shouldSelectDate = () => {\n if (isMultipleSelection()) {\n return props.maxDateCount != null ? props.maxDateCount > (rawValueState && Array.isArray(rawValueState) ? rawValueState.length : 0) : true;\n }\n\n return true;\n };\n\n const writeValue = (newValue: useDatePickerProps['value']) => {\n setShowClearIcon(!isEmpty(newValue));\n\n if (props.onValueChange) {\n props.onValueChange({\n value: newValue\n });\n }\n };\n\n const isSingleSelection = () => {\n return props.selectionMode === 'single';\n };\n\n const isRangeSelection = () => {\n return props.selectionMode === 'range';\n };\n\n const isMultipleSelection = () => {\n return props.selectionMode === 'multiple';\n };\n\n const formatValue = (value: useDatePickerProps['value']) => {\n if (typeof value === 'string') {\n return props.dateFormat ? (isNaN(new Date(value).getTime()) ? value : formatDate(new Date(value), props.dateFormat)) : value;\n }\n\n let formattedValue: string | null = '';\n\n if (value) {\n try {\n if (isSingleSelection()) {\n const singleVal = Array.isArray(value) ? (value[0] ?? null) : value;\n\n if (singleVal == null) {\n formattedValue = '';\n } else {\n formattedValue = (formatDateTime(singleVal as string | Date) as string) ?? '';\n }\n } else if (isMultipleSelection()) {\n if (Array.isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const v = value[i];\n const dateAsString = typeof v === 'string' ? (formatDateTime(parseValueForComparison(v) as Date) as string) : (formatDateTime(v as Date) as string);\n\n formattedValue += dateAsString;\n\n if (i !== value.length - 1) {\n formattedValue += ', ';\n }\n }\n }\n } else if (isRangeSelection()) {\n if (Array.isArray(value) && value.length) {\n const startDate = parseValueForComparison(value[0]) as Date;\n const endDate = parseValueForComparison(value[1]) as Date | null;\n\n formattedValue = (formatDateTime(startDate) as string) ?? '';\n\n if (endDate) {\n formattedValue += ' - ' + ((formatDateTime(endDate) as string) ?? '');\n }\n }\n }\n } catch {\n formattedValue = typeof value === 'string' ? value : '';\n }\n }\n\n return formattedValue;\n };\n\n const formatDateTime = (date: Date | string | null) => {\n let formattedValue = null;\n\n if (isDate(date) && isNotEmpty(date)) {\n if (props.timeOnly) {\n formattedValue = formatTime(date);\n } else {\n formattedValue = formatDate(date, datePattern);\n\n if (props.showTime) {\n formattedValue += ' ' + formatTime(date);\n }\n }\n } else if (props.updateModelType === 'string') {\n formattedValue = date;\n }\n\n return formattedValue;\n };\n\n const formatDate = (date: Date, format: string) => {\n if (!date) {\n return '';\n }\n\n let iFormat: number;\n\n const lookAhead = (match: string) => {\n const matches = iFormat + 1 < format.length && format.charAt(iFormat + 1) === match;\n\n if (matches) {\n iFormat++;\n }\n\n return matches;\n };\n\n const formatNumber = (match: string, value: number, len: number) => {\n let num = '' + value;\n\n if (lookAhead(match)) {\n while (num.length < len) {\n num = '0' + num;\n }\n }\n\n return num;\n };\n\n const formatName = (match: string, value: number, shortNames: string[], longNames: string[]) => {\n return lookAhead(match) ? longNames[value] : shortNames[value];\n };\n\n let output = '';\n let literal = false;\n\n if (date) {\n for (iFormat = 0; iFormat < format.length; iFormat++) {\n if (literal) {\n if (format.charAt(iFormat) === \"'\" && !lookAhead(\"'\")) {\n literal = false;\n } else {\n output += format.charAt(iFormat);\n }\n } else {\n switch (format.charAt(iFormat)) {\n case 'd':\n output += formatNumber('d', date.getDate(), 2);\n break;\n case 'D':\n output += formatName('D', date.getDay(), primereact?.config?.locale?.dayNamesShort, primereact?.config?.locale?.dayNames);\n break;\n case 'o':\n output += formatNumber('o', Math.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3);\n break;\n case 'm':\n output += formatNumber('m', date.getMonth() + 1, 2);\n break;\n case 'M':\n output += formatName('M', date.getMonth(), primereact?.config?.locale?.monthNamesShort, primereact?.config?.locale?.monthNames);\n break;\n case 'y':\n output += lookAhead('y') ? date.getFullYear() : (date.getFullYear() % 100 < 10 ? '0' : '') + (date.getFullYear() % 100);\n break;\n case '@':\n output += date.getTime();\n break;\n case '!':\n output += date.getTime() * 10000 + TICKS_TO_1970;\n break;\n case \"'\":\n if (lookAhead(\"'\")) {\n output += \"'\";\n } else {\n literal = true;\n }\n\n break;\n default:\n output += format.charAt(iFormat);\n }\n }\n }\n }\n\n return output;\n };\n\n const formatTime = (date: Date) => {\n if (!date) {\n return '';\n }\n\n let output = '';\n let hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n\n if (props.hourFormat === '12' && hours > 11 && hours !== 12) {\n hours -= 12;\n }\n\n if (props.hourFormat === '12') {\n output += hours === 0 ? 12 : hours < 10 ? '0' + hours : hours;\n } else {\n output += hours < 10 ? '0' + hours : hours;\n }\n\n output += ':';\n output += minutes < 10 ? '0' + minutes : minutes;\n\n if (props.showSeconds) {\n output += ':';\n output += seconds < 10 ? '0' + seconds : seconds;\n }\n\n if (props.hourFormat === '12') {\n output += date.getHours() > 11 ? ` ${primereact?.config?.locale?.pm}` : ` ${primereact?.config?.locale?.am}`;\n }\n\n return output;\n };\n\n const clearTimePickerTimer = () => {\n if (timePickerTimer.current) {\n clearTimeout(timePickerTimer.current);\n }\n };\n\n const onTodayButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n const date = new Date();\n const dateMeta = {\n day: date.getDate(),\n month: date.getMonth(),\n year: date.getFullYear(),\n otherMonth: date.getMonth() !== currentMonth || date.getFullYear() !== currentYear,\n today: true,\n selectable: true\n };\n\n setCurrentView('date');\n onDateSelect(null, dateMeta);\n\n if (props.onTodayButtonClick) {\n props.onTodayButtonClick({\n originalEvent: event,\n date\n });\n }\n\n event.preventDefault();\n };\n\n const onClearButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n updateModel(null);\n setOverlayVisibleState(false);\n setShowClearIcon(false);\n\n if (props.onClearButtonClick) {\n props.onClearButtonClick(event);\n }\n\n event.preventDefault();\n };\n\n const onTimePickerElementMouseDown = (event: React.MouseEvent<HTMLButtonElement>, type: number, direction: number) => {\n if (isEnabled()) {\n repeat(event, null, type, direction);\n event.preventDefault();\n }\n };\n\n const onTimePickerElementMouseUp = (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => {\n if (isEnabled()) {\n clearTimePickerTimer();\n updateModelTime();\n event.preventDefault();\n }\n };\n\n const onTimePickerElementMouseLeave = () => {\n clearTimePickerTimer();\n };\n\n const onContainerButtonKeydown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n switch (event.code) {\n case 'Tab':\n trapFocus(event);\n break;\n\n case 'Escape':\n setOverlayVisibleState(false);\n event.preventDefault();\n break;\n\n default:\n //Noop\n break;\n }\n\n if (props.onKeyDown) {\n props.onKeyDown(event);\n }\n };\n\n const onTimePickerElementKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>, type: number, direction: number) => {\n switch (event.code) {\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n if (isEnabled()) {\n repeat(event, null, type, direction);\n event.preventDefault();\n }\n\n break;\n }\n };\n\n const onTimePickerElementKeyUp = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n switch (event.code) {\n case 'Enter':\n case 'NumpadEnter':\n\n case 'Space': {\n onTimePickerElementMouseUp(event);\n }\n }\n };\n\n const repeat = (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>, interval: number | null, type: number, direction: number) => {\n const i = interval || 500;\n\n clearTimePickerTimer();\n timePickerTimer.current = setTimeout(() => {\n repeat(event, 100, type, direction);\n }, i);\n\n switch (type) {\n case 0:\n if (direction === 1) {\n incrementHour(event);\n } else {\n decrementHour(event);\n }\n\n break;\n\n case 1:\n if (direction === 1) {\n incrementMinute(event);\n } else {\n decrementMinute(event);\n }\n\n break;\n\n case 2:\n if (direction === 1) {\n incrementSecond(event);\n } else {\n decrementSecond(event);\n }\n\n break;\n }\n };\n\n const convertTo24Hour = (hours: number, pm: boolean) => {\n if (props.hourFormat == '12') {\n if (hours === 12) {\n return pm ? 12 : 0;\n } else {\n return pm ? hours + 12 : hours;\n }\n }\n\n return hours;\n };\n\n const validateTime = (hour: number, minute: number, second: number, pm: boolean) => {\n let value: Date | string | null = viewDate;\n const convertedHour = convertTo24Hour(hour, pm);\n\n if (isRangeSelection()) {\n value = Array.isArray(rawValueState) ? rawValueState[1] || rawValueState[0] : null;\n }\n\n if (isMultipleSelection()) {\n value = Array.isArray(rawValueState) ? rawValueState[rawValueState.length - 1] : null;\n }\n\n const valueDateString = value instanceof Date ? value.toDateString() : null;\n\n if (props.minDate && valueDateString && props.minDate.toDateString() === valueDateString) {\n if (props.minDate.getHours() > convertedHour) {\n return false;\n }\n\n if (props.minDate.getHours() === convertedHour) {\n if (props.minDate.getMinutes() > minute) {\n return false;\n }\n\n if (props.minDate.getMinutes() === minute) {\n if (props.minDate.getSeconds() > second) {\n return false;\n }\n }\n }\n }\n\n if (props.maxDate && valueDateString && props.maxDate.toDateString() === valueDateString) {\n if (props.maxDate.getHours() < convertedHour) {\n return false;\n }\n\n if (props.maxDate.getHours() === convertedHour) {\n if (props.maxDate.getMinutes() < minute) {\n return false;\n }\n\n if (props.maxDate.getMinutes() === minute) {\n if (props.maxDate.getSeconds() < second) {\n return false;\n }\n }\n }\n }\n\n return true;\n };\n\n const incrementHour = (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => {\n const prevHour = currentHour;\n let newHour = currentHour + Number(props.stepHour);\n let newPM = pm;\n\n if (props.hourFormat == '24') {\n newHour = newHour >= 24 ? newHour - 24 : newHour;\n } else if (props.hourFormat == '12') {\n // Before the AM/PM break, now after\n if (prevHour < 12 && newHour > 11) {\n newPM = !pm;\n }\n\n newHour = newHour >= 13 ? newHour - 12 : newHour;\n }\n\n if (validateTime(newHour, currentMinute, currentSecond, newPM)) {\n setCurrentHour(newHour);\n setPM(newPM);\n }\n\n event.preventDefault();\n };\n\n const decrementHour = (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => {\n let newHour = currentHour - Number(props.stepHour);\n let newPM = pm;\n\n if (props.hourFormat == '24') {\n newHour = newHour < 0 ? 24 + newHour : newHour;\n } else if (props.hourFormat == '12') {\n // If we were at noon/midnight, then switch\n if (currentHour === 12) {\n newPM = !pm;\n }\n\n newHour = newHour <= 0 ? 12 + newHour : newHour;\n }\n\n if (validateTime(newHour, currentMinute, currentSecond, newPM)) {\n setCurrentHour(newHour);\n setPM(newPM);\n }\n\n event.preventDefault();\n };\n\n const incrementMinute = (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => {\n const newMinute = currentMinute + Number(props.stepMinute);\n\n if (validateTime(currentHour, newMinute, currentSecond, pm)) {\n setCurrentMinute(newMinute > 59 ? newMinute - 60 : newMinute);\n }\n\n event.preventDefault();\n };\n\n const decrementMinute = (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => {\n let newMinute = currentMinute - Number(props.stepMinute);\n\n newMinute = newMinute < 0 ? 60 + newMinute : newMinute;\n\n if (validateTime(currentHour, newMinute, currentSecond, pm)) {\n setCurrentMinute(newMinute);\n }\n\n event.preventDefault();\n };\n\n const incrementSecond = (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => {\n const newSecond = currentSecond + Number(props.stepSecond);\n\n if (validateTime(currentHour, currentMinute, newSecond, pm)) {\n setCurrentSecond(newSecond > 59 ? newSecond - 60 : newSecond);\n }\n\n event.preventDefault();\n };\n\n const decrementSecond = (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => {\n let newSecond = currentSecond - Number(props.stepSecond);\n\n newSecond = newSecond < 0 ? 60 + newSecond : newSecond;\n\n if (validateTime(currentHour, currentMinute, newSecond, pm)) {\n setCurrentSecond(newSecond);\n }\n\n event.preventDefault();\n };\n\n const updateModelTime = () => {\n let valueDate: Date | string | null = viewDate;\n\n if (isRangeSelection()) {\n valueDate = Array.isArray(rawValueState) ? rawValueState[focusedDateIndex] || rawValueState[0] : null;\n }\n\n if (isMultipleSelection()) {\n valueDate = Array.isArray(rawValueState) ? rawValueState[rawValueState.length - 1] : null;\n }\n\n const dateValue = valueDate && valueDate instanceof Date ? new Date(valueDate.getTime()) : new Date();\n\n if (props.hourFormat == '12') {\n if (currentHour === 12) dateValue.setHours(pm ? 12 : 0);\n else dateValue.setHours(pm ? currentHour + 12 : currentHour);\n } else {\n dateValue.setHours(currentHour);\n }\n\n dateValue.setMinutes(currentMinute);\n dateValue.setSeconds(currentSecond);\n\n let value: useDatePickerProps['value'];\n\n if (isRangeSelection()) {\n if (Array.isArray(rawValueState)) {\n if (focusedDateIndex === 1 && rawValueState[1]) {\n value = [rawValueState[0] as Date | null, dateValue];\n } else if (focusedDateIndex === 0) {\n value = [dateValue, rawValueState[1] as Date | null];\n } else {\n value = [dateValue, null];\n }\n } else {\n value = [dateValue, null];\n }\n } else if (isMultipleSelection()) {\n if (Array.isArray(rawValueState)) {\n value = [...(rawValueState.slice(0, -1) as (Date | null)[]), dateValue];\n } else {\n value = [dateValue];\n }\n } else {\n value = dateValue;\n }\n\n updateModel(value);\n\n if (props.onDateSelect) {\n props.onDateSelect({\n value\n });\n }\n };\n\n const toggleAMPM = (event: React.MouseEvent<HTMLButtonElement>) => {\n const validHour = validateTime(currentHour, currentMinute, currentSecond, !pm);\n\n if (!validHour && (props.maxDate || props.minDate)) return;\n\n setPM(!pm);\n\n event.preventDefault();\n };\n\n const onMonthSelect = (event: React.MouseEvent<HTMLSpanElement> | React.KeyboardEvent<HTMLSpanElement>, index: number) => {\n if (props.view === 'month') {\n onDateSelect(event, {\n year: currentYear,\n month: index,\n day: 1,\n selectable: true,\n otherMonth: false,\n today: false\n });\n } else {\n setCurrentMonth(index);\n setCurrentView('date');\n\n if (props.onMonthChange) {\n props.onMonthChange({ month: currentMonth + 1, year: currentYear });\n }\n }\n\n setTimeout(updateFocus, 0);\n };\n\n const onYearSelect = (event: React.MouseEvent<HTMLSpanElement> | React.KeyboardEvent<HTMLSpanElement>, year: { value: number }) => {\n if (props.view === 'year') {\n onDateSelect(event, {\n year: year.value,\n month: 0,\n day: 1,\n selectable: true,\n otherMonth: false,\n today: false\n });\n } else {\n setCurrentYear(year.value);\n setCurrentView('month');\n\n if (props.onYearChange) {\n props.onYearChange({ month: currentMonth + 1, year: currentYear });\n }\n }\n\n setTimeout(updateFocus, 0);\n };\n\n const updateCurrentMetaData = () => {\n const _viewDate = viewDate as Date;\n\n if (!_viewDate) {\n return;\n }\n\n setCurrentMonth(_viewDate.getMonth());\n setCurrentYear(_viewDate.getFullYear());\n\n if (props.showTime || props.timeOnly) {\n let timeDate = _viewDate;\n\n if (isRangeSelection() && rawValueState && Array.isArray(rawValueState) && rawValueState[focusedDateIndex]) {\n const selectedDate = rawValueState[focusedDateIndex];\n\n if (selectedDate instanceof Date) {\n timeDate = selectedDate;\n }\n }\n\n updateCurrentTimeMeta(timeDate);\n }\n };\n\n const isValidSelection = (value: Date | Date[]) => {\n if (value == null) {\n return true;\n }\n\n let isValid = true;\n\n if (isSingleSelection() && value instanceof Date) {\n if (!isSelectable(value.getDate(), value.getMonth(), value.getFullYear(), false)) {\n isValid = false;\n }\n } else if (Array.isArray(value) && value.every((v) => isSelectable(v.getDate(), v.getMonth(), v.getFullYear(), false))) {\n if (isRangeSelection()) {\n isValid = value.length > 1 && value[1] >= value[0];\n }\n }\n\n return isValid;\n };\n\n const parseValue = (text: string): useDatePickerProps['value'] => {\n if (!text || text.trim().length === 0) {\n return null;\n }\n\n let value: useDatePickerProps['value'];\n\n if (isSingleSelection()) {\n value = parseDateTime(text) ?? null;\n } else if (isMultipleSelection()) {\n const tokens = text.split(',');\n const dateArray: (Date | null)[] = [];\n\n for (const token of tokens) {\n dateArray.push(parseDateTime(token.trim()) ?? null);\n }\n\n value = dateArray;\n } else if (isRangeSelection()) {\n const tokens = text.split(' - ');\n const dateArray: (Date | null)[] = [];\n\n for (let i = 0; i < tokens.length; i++) {\n dateArray[i] = parseDateTime(tokens[i].trim()) ?? null;\n }\n\n value = dateArray;\n }\n\n return value;\n };\n\n const parseValueForComparison = (value: useDatePickerProps['value']): Date | null => {\n if (typeof value === 'string') {\n const parsedValue = parseValue(value);\n\n if (!parsedValue) {\n return null;\n }\n\n if (isSingleSelection()) {\n return parsedValue as Date | null;\n }\n\n if (Array.isArray(parsedValue)) {\n return (parsedValue[0] ?? null) as Date | null;\n }\n\n return null;\n }\n\n if (Array.isArray(value)) {\n return (value[0] ?? null) as Date | null;\n }\n\n return (value ?? null) as Date | null;\n };\n\n const parseDateTime = (text: string) => {\n let date;\n const parts = text.match(/(?:(.+?) )?(\\d{2}:\\d{2}(?::\\d{2})?)(?: (am|pm))?/);\n\n if (props.timeOnly) {\n date = new Date();\n\n if (parts) {\n populateTime(date, parts[2], parts[3]);\n }\n } else {\n const dateFormat = datePattern;\n\n if (props.showTime) {\n if (parts) {\n date = parseDate(parts[1], dateFormat) as Date;\n populateTime(date, parts[2], parts[3]);\n }\n } else {\n date = parseDate(text, dateFormat);\n }\n }\n\n return date;\n };\n\n const populateTime = (value: Date, timeString: string, ampm: string) => {\n if (props.hourFormat == '12' && !ampm) {\n throw new Error('Invalid Time');\n }\n\n setPM(ampm === primereact?.config?.locale?.pm || ampm === primereact?.config?.locale?.pm.toLowerCase());\n const time = parseTime(timeString);\n\n value.setHours(time.hour);\n value.setMinutes(time.minute);\n\n if (time.second !== null) {\n value.setSeconds(time.second);\n }\n };\n\n const parseTime = (value: string) => {\n const tokens = value.split(':');\n const validTokenLength = props.showSeconds ? 3 : 2;\n const regex = /^[0-9][0-9]$/;\n\n if (tokens.length !== validTokenLength || !tokens[0].match(regex) || !tokens[1].match(regex) || (props.showSeconds && !tokens[2].match(regex))) {\n throw 'Invalid time';\n }\n\n let h = parseInt(tokens[0]);\n const m = parseInt(tokens[1]);\n const s = props.showSeconds ? parseInt(tokens[2]) : null;\n\n if (isNaN(h) || isNaN(m) || h > 23 || m > 59 || (props.hourFormat == '12' && h > 12) || (props.showSeconds && (s === null || isNaN(s) || s > 59))) {\n throw 'Invalid time';\n }\n\n if (props.hourFormat == '12' && h !== 12 && pm) {\n h += 12;\n } else if (props.hourFormat == '12' && h == 12 && !pm) {\n h = 0;\n }\n\n return { hour: h, minute: m, second: s };\n };\n\n const parseDate = (value: string | object, format: string) => {\n if (format == null || value == null) {\n throw 'Invalid arguments';\n }\n\n value = typeof value === 'object' ? value.toString() : value + '';\n\n if (value === '') {\n return null;\n }\n\n let iFormat: number;\n let dim;\n let extra;\n let iValue = 0;\n const shortYearCutoff = typeof props.shortYearCutoff !== 'string' ? props.shortYearCutoff : (new Date().getFullYear() % 100) + parseInt(props.shortYearCutoff, 10);\n let year = -1;\n let month = -1;\n let day = -1;\n\n let doy = -1;\n let literal = false;\n let date;\n\n const lookAhead = (match: string) => {\n const matches = iFormat + 1 < format.length && format.charAt(iFormat + 1) === match;\n\n if (matches) {\n iFormat++;\n }\n\n return matches;\n };\n\n const getNumber = (match: string) => {\n const isDoubled = lookAhead(match),\n size = match === '@' ? 14 : match === '!' ? 20 : match === 'y' && isDoubled ? 4 : match === 'o' ? 3 : 2,\n minSize = match === 'y' ? size : 1,\n digits = new RegExp('^\\\\d{' + minSize + ',' + size + '}'),\n num = value.substring(iValue).match(digits);\n\n if (!num) {\n throw 'Missing number at position ' + iValue;\n }\n\n iValue += num[0].length;\n\n return parseInt(num[0], 10);\n };\n\n const getName = (match: string, shortNames: string[], longNames: string[]) => {\n let index = -1;\n const arr = lookAhead(match) ? longNames : shortNames;\n const names: [number, string][] = [];\n\n for (let i = 0; i < arr.length; i++) {\n names.push([i, arr[i]]);\n }\n\n names.sort((a, b) => {\n return b[1].length - a[1].length;\n });\n\n for (let i = 0; i < names.length; i++) {\n const name = names[i][1];\n\n if (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) {\n index = names[i][0];\n iValue += name.length;\n break;\n }\n }\n\n if (index !== -1) {\n return index + 1;\n } else {\n throw 'Unknown name at position ' + iValue;\n }\n };\n\n const checkLiteral = () => {\n if (value.charAt(iValue) !== format.charAt(iFormat)) {\n throw 'Unexpected literal at position ' + iValue;\n }\n\n iValue++;\n };\n\n if (currentView === 'month') {\n day = 1;\n }\n\n if (currentView === 'year') {\n day = 1;\n month = 1;\n }\n\n for (iFormat = 0; iFormat < format.length; iFormat++) {\n if (literal) {\n if (format.charAt(iFormat) === \"'\" && !lookAhead(\"'\")) {\n literal = false;\n } else {\n checkLiteral();\n }\n } else {\n switch (format.charAt(iFormat)) {\n case 'd':\n day = getNumber('d');\n break;\n case 'D':\n getName('D', primereact?.config?.locale?.dayNamesShort, primereact?.config?.locale?.dayNames);\n break;\n case 'o':\n doy = getNumber('o');\n break;\n case 'm':\n month = getNumber('m');\n break;\n case 'M':\n month = getName('M', primereact?.config?.locale?.monthNamesShort, primereact?.config?.locale?.monthNames);\n break;\n case 'y':\n year = getNumber('y');\n break;\n case '@':\n date = new Date(getNumber('@'));\n year = date.getFullYear();\n month = date.getMonth() + 1;\n day = date.getDate();\n break;\n case '!':\n date = new Date((getNumber('!') - TICKS_TO_1970) / 10000);\n year = date.getFullYear();\n month = date.getMonth() + 1;\n day = date.getDate();\n break;\n case \"'\":\n if (lookAhead(\"'\")) {\n checkLiteral();\n } else {\n literal = true;\n }\n\n break;\n default:\n checkLiteral();\n }\n }\n }\n\n if (iValue < value.length) {\n extra = value.substr(iValue);\n\n if (!/^\\s+/.test(extra)) {\n throw 'Extra/unparsed characters found in date: ' + extra;\n }\n }\n\n if (year === -1) {\n year = new Date().getFullYear();\n } else if (year < 100) {\n year += new Date().getFullYear() - (new Date().getFullYear() % 100) + (year <= (shortYearCutoff as number) ? 0 : -100);\n }\n\n if (doy > -1) {\n month = 1;\n day = doy;\n\n do {\n dim = getDaysCountInMonth(month - 1, year);\n\n if (day <= dim) {\n break;\n }\n\n month++;\n day -= dim;\n // eslint-disable-next-line\n } while (true);\n }\n\n date = daylightSavingAdjust(new Date(year, month - 1, day));\n\n if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {\n throw 'Invalid date'; // E.g. 31/02/00\n }\n\n return date;\n };\n\n const getWeekNumber = (date: Date) => {\n const checkDate = new Date(date.getTime());\n\n checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));\n const time = checkDate.getTime();\n\n checkDate.setMonth(0);\n checkDate.setDate(1);\n\n return Math.floor(Math.round((time - checkDate.getTime()) / 86400000) / 7) + 1;\n };\n\n const onDateCellKeydown = (event: React.KeyboardEvent<HTMLSpanElement>, date: useDatePickerDateMeta, groupIndex: number) => {\n event.preventDefault();\n const cellContent = event.currentTarget;\n const cell = cellContent.parentElement as HTMLTableCellElement;\n\n const cellIndex = getIndex(cell);\n\n switch (event.code) {\n case 'ArrowDown': {\n cellContent.tabIndex = -1;\n\n const nextRow = cell.parentElement?.nextElementSibling;\n\n if (nextRow) {\n const tableRowIndex = getIndex(cell.parentElement);\n const tableRows = Array.from(cell.parentElement?.parentElement?.children ?? []);\n const nextTableRows = tableRows.slice(tableRowIndex + 1);\n\n const hasNextFocusableDate = nextTableRows.find((el) => {\n const focusCell = el.children[cellIndex].children[0];\n\n return !getAttribute(focusCell, 'data-p-disabled');\n });\n\n if (hasNextFocusableDate) {\n const focusCell = hasNextFocusableDate.children[cellIndex].children[0] as HTMLElement;\n\n focusCell.tabIndex = 0;\n focusCell.focus();\n } else {\n setNavigationState({ backward: false });\n navForward(event);\n }\n } else {\n setNavigationState({ backward: false });\n navForward(event);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp': {\n cellContent.tabIndex = -1;\n\n if (event.altKey) {\n setOverlayVisibleState(true);\n } else {\n const prevRow = cell.parentElement?.previousElementSibling;\n\n if (prevRow) {\n const tableRowIndex = getIndex(cell.parentElement);\n const tableRows = Array.from(cell.parentElement?.parentElement?.children ?? []);\n const prevTableRows = tableRows.slice(0, tableRowIndex).reverse();\n\n const hasNextFocusableDate = prevTableRows.find((el) => {\n const focusCell = el.children[cellIndex].children[0];\n\n return !getAttribute(focusCell, 'data-p-disabled');\n });\n\n if (hasNextFocusableDate) {\n const focusCell = hasNextFocusableDate.children[cellIndex].children[0] as HTMLElement;\n\n focusCell.tabIndex = 0;\n focusCell.focus();\n } else {\n setNavigationState({ backward: true });\n navBackward(event);\n }\n } else {\n setNavigationState({ backward: true });\n navBackward(event);\n }\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft': {\n cellContent.tabIndex = -1;\n const prevCell = cell.previousElementSibling;\n\n if (prevCell) {\n const cells = Array.from(cell.parentElement?.children ?? []);\n const prevCells = cells.slice(0, cellIndex).reverse();\n\n const hasPrevFocusableDate = prevCells.find((el) => {\n const focusCell = el.children[0];\n\n return getAttribute(focusCell, 'data-pc-section') !== 'weeklabelcontainer';\n });\n\n if (hasPrevFocusableDate) {\n const focusCell = hasPrevFocusableDate.children[0] as HTMLElement;\n\n focusCell.tabIndex = 0;\n focusCell.focus();\n } else {\n navigateToMonth(event, true, groupIndex);\n }\n } else {\n navigateToMonth(event, true, groupIndex);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowRight': {\n cellContent.tabIndex = -1;\n const nextCell = cell.nextElementSibling;\n\n if (nextCell) {\n const cells = Array.from(cell.parentElement?.children ?? []);\n const nextCells = cells.slice(cellIndex + 1);\n const hasNextFocusableDate = nextCells.find((el) => {\n const focusCell = el.children[0];\n\n return !getAttribute(focusCell, 'data-p-disabled');\n });\n\n if (hasNextFocusableDate) {\n const focusCell = hasNextFocusableDate.children[0] as HTMLElement;\n\n focusCell.tabIndex = 0;\n focusCell.focus();\n } else {\n navigateToMonth(event, false, groupIndex);\n }\n } else {\n navigateToMonth(event, false, groupIndex);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'Enter':\n case 'NumpadEnter':\n\n case 'Space': {\n onDateSelect(event, date);\n event.preventDefault();\n break;\n }\n\n case 'Escape': {\n setOverlayVisibleState(false);\n event.preventDefault();\n break;\n }\n\n case 'Tab': {\n trapFocus(event);\n\n break;\n }\n\n case 'Home': {\n cellContent.tabIndex = -1;\n const currentRow = cell.parentElement as HTMLTableRowElement;\n const focusCell = currentRow.children[0].children[0] as HTMLElement;\n\n if (getAttribute(focusCell, 'data-p-disabled')) {\n navigateToMonth(event, true, groupIndex);\n } else {\n focusCell.tabIndex = 0;\n focusCell.focus();\n }\n\n event.preventDefault();\n break;\n }\n\n case 'End': {\n cellContent.tabIndex = -1;\n const currentRow = cell.parentElement as HTMLTableRowElement;\n const focusCell = currentRow.children[currentRow.children.length - 1].children[0] as HTMLElement;\n\n if (getAttribute(focusCell, 'data-p-disabled')) {\n navigateToMonth(event, false, groupIndex);\n } else {\n focusCell.tabIndex = 0;\n focusCell.focus();\n }\n\n event.preventDefault();\n break;\n }\n\n case 'PageUp': {\n cellContent.tabIndex = -1;\n\n if (event.shiftKey) {\n setNavigationState({ backward: true });\n navBackward(event);\n } else {\n navigateToMonth(event, true, groupIndex);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'PageDown': {\n cellContent.tabIndex = -1;\n\n if (event.shiftKey) {\n setNavigationState({ backward: false });\n navForward(event);\n } else {\n navigateToMonth(event, false, groupIndex);\n }\n\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n };\n\n const navigateToMonth = (event: React.KeyboardEvent<HTMLSpanElement>, prev: boolean, groupIndex: number = 0) => {\n if (prev) {\n if (props.numberOfMonths === 1 || groupIndex === 0) {\n setNavigationState({ backward: true });\n navBackward(event);\n } else {\n const prevMonthContainer = overlayRef.current?.children[groupIndex - 1] as HTMLElement;\n const cells = find(prevMonthContainer, 'table td span:not([data-p-disabled=\"true\"])');\n const focusCell = cells[cells.length - 1] as HTMLElement;\n\n focusCell.tabIndex = 0;\n focusCell.focus();\n }\n } else {\n if (props.numberOfMonths === 1 || groupIndex === (props.numberOfMonths as number) - 1) {\n setNavigationState({ backward: false });\n navForward(event);\n } else {\n const nextMonthContainer = overlayRef.current?.children[groupIndex + 1] as HTMLElement;\n const focusCell = findSingle(nextMonthContainer, 'table td span:not([data-p-disabled=\"true\"])') as HTMLElement;\n\n focusCell.tabIndex = 0;\n focusCell.focus();\n }\n }\n };\n\n const onMonthCellKeydown = (event: React.KeyboardEvent<HTMLSpanElement>, index: number) => {\n const cell = event.currentTarget;\n\n switch (event.code) {\n case 'ArrowUp':\n\n case 'ArrowDown': {\n cell.tabIndex = -1;\n const parentCell = cell.parentElement as HTMLTableCellElement;\n const currentRow = parentCell?.parentElement as HTMLTableRowElement;\n const targetRow = event.code === 'ArrowUp' ? (currentRow?.previousElementSibling as HTMLTableRowElement) : (currentRow?.nextElementSibling as HTMLTableRowElement);\n const columnIndex = Array.from(parentCell?.parentElement?.children ?? []).indexOf(parentCell);\n const targetCellContainer = targetRow?.children[columnIndex] as HTMLTableCellElement;\n const targetElement = targetCellContainer?.children[0] as HTMLElement;\n\n if (targetElement) {\n targetElement.tabIndex = 0;\n targetElement.focus();\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft': {\n cell.tabIndex = -1;\n const prevCell = cell.parentElement?.previousElementSibling?.children[0];\n\n if (prevCell) {\n (prevCell as HTMLElement).tabIndex = 0;\n (prevCell as HTMLElement).focus();\n } else {\n setNavigationState({ backward: true });\n navBackward(event);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowRight': {\n cell.tabIndex = -1;\n const nextCell = cell.parentElement?.nextElementSibling?.children[0];\n\n if (nextCell) {\n (nextCell as HTMLElement).tabIndex = 0;\n (nextCell as HTMLElement).focus();\n } else {\n setNavigationState({ backward: false });\n navForward(event);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'Home':\n case 'End':\n break;\n\n case 'PageUp': {\n if (event.shiftKey) return;\n\n setNavigationState({ backward: true });\n navBackward(event);\n\n break;\n }\n\n case 'PageDown': {\n if (event.shiftKey) return;\n\n setNavigationState({ backward: false });\n navForward(event);\n\n break;\n }\n\n case 'Enter':\n case 'NumpadEnter':\n\n case 'Space': {\n onMonthSelect(event, index);\n event.preventDefault();\n break;\n }\n\n case 'Escape': {\n setOverlayVisibleState(false);\n event.preventDefault();\n break;\n }\n\n case 'Tab': {\n trapFocus(event);\n break;\n }\n\n default:\n //no op\n break;\n }\n };\n\n const onYearCellKeydown = (event: React.KeyboardEvent<HTMLSpanElement>, year: { value: number }) => {\n const cell = event.currentTarget;\n\n switch (event.code) {\n case 'ArrowUp':\n\n case 'ArrowDown': {\n cell.tabIndex = -1;\n const parentCell = cell.parentElement as HTMLTableCellElement;\n const currentRow = parentCell?.parentElement as HTMLTableRowElement;\n const targetRow = event.code === 'ArrowUp' ? (currentRow?.previousElementSibling as HTMLTableRowElement) : (currentRow?.nextElementSibling as HTMLTableRowElement);\n const columnIndex = Array.from(parentCell?.parentElement?.children ?? []).indexOf(parentCell);\n const targetCellContainer = targetRow?.children[columnIndex] as HTMLTableCellElement;\n const targetElement = targetCellContainer?.children[0] as HTMLElement;\n\n if (targetElement) {\n targetElement.tabIndex = 0;\n targetElement.focus();\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft': {\n cell.tabIndex = -1;\n const prevCell = cell.parentElement?.previousElementSibling?.children[0];\n\n if (prevCell) {\n (prevCell as HTMLElement).tabIndex = 0;\n (prevCell as HTMLElement).focus();\n } else {\n setNavigationState({ backward: true });\n navBackward(event);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowRight': {\n cell.tabIndex = -1;\n const nextCell = cell.parentElement?.nextElementSibling?.children[0];\n\n if (nextCell) {\n (nextCell as HTMLElement).tabIndex = 0;\n (nextCell as HTMLElement).focus();\n } else {\n setNavigationState({ backward: false });\n navForward(event);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'Home':\n case 'End':\n break;\n\n case 'PageUp': {\n if (event.shiftKey) return;\n\n setNavigationState({ backward: true });\n navBackward(event);\n\n break;\n }\n\n case 'PageDown': {\n if (event.shiftKey) return;\n\n setNavigationState({ backward: false });\n navForward(event);\n\n break;\n }\n\n case 'Enter':\n case 'NumpadEnter':\n\n case 'Space': {\n onYearSelect(event, year);\n event.preventDefault();\n break;\n }\n\n case 'Escape': {\n setOverlayVisibleState(false);\n event.preventDefault();\n break;\n }\n\n case 'Tab': {\n trapFocus(event);\n break;\n }\n\n default:\n //no op\n break;\n }\n };\n\n const updateFocus = () => {\n let cell: Element | null = null;\n\n if (navigationState) {\n if (navigationState.button) {\n initFocusableCell();\n\n if (navigationState.backward) {\n if (prevButtonRef.current) {\n prevButtonRef.current?.elementRef.current.focus();\n }\n } else {\n if (nextButtonRef.current) {\n nextButtonRef.current?.elementRef.current.focus();\n }\n }\n } else {\n if (!overlayRef.current) {\n return;\n }\n\n if (navigationState.backward) {\n let cells;\n\n if (currentView === 'month') {\n cells = find(overlayRef.current, '[data-pc-name=\"datepickertable\"] [data-pc-section=\"month\"]:not([data-p-disabled=\"true\"])');\n } else if (currentView === 'year') {\n cells = find(overlayRef.current, '[data-pc-name=\"datepickertable\"] [data-pc-section=\"year\"]:not([data-p-disabled=\"true\"])');\n } else {\n cells = find(overlayRef.current, 'table td span:not([data-pc-section=\"weeklabelcontainer\"]):not([data-p-disabled=\"true\"])');\n }\n\n if (cells && cells.length > 0) {\n cell = cells[cells.length - 1];\n }\n } else {\n if (currentView === 'month') {\n cell = findSingle(overlayRef.current, '[data-pc-name=\"datepickertable\"] [data-pc-section=\"month\"]:not([data-p-disabled=\"true\"])');\n } else if (currentView === 'year') {\n cell = findSingle(overlayRef.current, '[data-pc-name=\"datepickertable\"] [data-pc-section=\"year\"]:not([data-p-disabled=\"true\"])');\n } else {\n cell = findSingle(overlayRef.current, 'table td span:not([data-pc-section=\"weeklabelcontainer\"]):not([data-p-disabled=\"true\"])');\n }\n }\n\n if (cell) {\n (cell as HTMLElement).tabIndex = 0;\n (cell as HTMLElement).focus();\n }\n }\n\n setNavigationState(null);\n } else {\n initFocusableCell();\n }\n };\n\n const initFocusableCell = () => {\n let cell;\n\n if (!overlayRef.current) {\n return;\n }\n\n if (currentView === 'month') {\n const cells = find(overlayRef.current, '[data-pc-name=\"datepickertable\"] [data-pc-section=\"month\"]');\n const selectedCell = findSingle(overlayRef.current, '[data-pc-name=\"datepickertable\"] [data-pc-section=\"month\"][data-p-selected=\"true\"]');\n\n cells.forEach((cell) => ((cell as HTMLElement).tabIndex = -1));\n cell = selectedCell || cells[0];\n } else if (currentView === 'year') {\n const cells = find(overlayRef.current, '[data-pc-name=\"datepickertable\"] [data-pc-section=\"year\"]');\n const selectedCell = findSingle(overlayRef.current, '[data-pc-name=\"datepickertable\"] [data-pc-section=\"year\"][data-p-selected=\"true\"]');\n\n cells.forEach((cell) => ((cell as HTMLElement).tabIndex = -1));\n cell = selectedCell || cells[0];\n } else {\n cell = findSingle(overlayRef.current, '.p-datepicker-calendar span[data-p-selected=\"true\"]');\n\n if (!cell) {\n const todayCell = findSingle(overlayRef.current, 'td[data-p-today=\"true\"] span:not([data-pc-section=\"weeklabelcontainer\"]):not([data-p-disabled=\"true\"])');\n\n if (todayCell) cell = todayCell;\n else cell = findSingle(overlayRef.current, '.p-datepicker-calendar td span:not([data-pc-section=\"weeklabelcontainer\"]):not([data-p-disabled=\"true\"])');\n }\n }\n\n if (cell) {\n (cell as HTMLElement).tabIndex = 0;\n }\n };\n\n const trapFocus = (event: React.KeyboardEvent) => {\n event.preventDefault();\n\n if (!overlayRef.current) {\n return;\n }\n\n const focusableElements = getFocusableElements(overlayRef.current) as HTMLElement[];\n\n if (focusableElements && focusableElements.length > 0) {\n if (!document.activeElement) {\n focusableElements[0].focus();\n } else {\n const focusedIndex = focusableElements.indexOf(document.activeElement as HTMLElement);\n\n if (event.shiftKey) {\n if (focusedIndex === -1 || focusedIndex === 0) focusableElements[focusableElements.length - 1].focus();\n else focusableElements[focusedIndex - 1].focus();\n } else {\n if (focusedIndex === -1) {\n if (props.timeOnly) {\n focusableElements[0].focus();\n } else {\n let elementIndex = focusableElements.findIndex((el) => el.tagName === 'SPAN');\n\n if (elementIndex === -1) {\n elementIndex = focusableElements.findIndex((el) => el.tagName === 'BUTTON');\n }\n\n if (elementIndex !== -1) {\n focusableElements[elementIndex].focus();\n } else {\n focusableElements[0].focus();\n }\n }\n } else if (focusedIndex === focusableElements.length - 1) {\n focusableElements[0].focus();\n } else {\n focusableElements[focusedIndex + 1].focus();\n }\n }\n }\n }\n };\n\n const getMonthName = (index?: number) => {\n return primereact?.config?.locale?.monthNames[index ?? currentMonth];\n };\n\n const getYear = () => {\n return currentYear;\n };\n\n const onClearClick = () => {\n updateModel(null);\n setShowClearIcon(false);\n setOverlayVisibleState(false);\n };\n\n const onInput = (event: React.ChangeEvent<HTMLInputElement>) => {\n try {\n selectionStart.current = event.target.selectionStart;\n selectionEnd.current = event.target.selectionEnd;\n\n setShowClearIcon(!isEmpty(event.target.value));\n const value = parseValue(event.target.value) as Date;\n\n if (isValidSelection(value)) {\n typeUpdate.current = true;\n updateModel(props.updateModelType === 'string' ? formatValue(value) : value);\n updateCurrentMetaData();\n }\n } catch {\n /* NoOp */\n }\n\n if (props.onInput) {\n props.onInput(event);\n }\n };\n\n const onInputClick = () => {\n if (props.showOnFocus && isEnabled() && !overlayVisibleState) {\n setOverlayVisibleState(true);\n }\n };\n\n const onInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.code === 'ArrowDown' && overlayVisibleState) {\n trapFocus(event);\n } else if (event.code === 'ArrowDown' && !overlayVisibleState) {\n setOverlayVisibleState(true);\n } else if (event.code === 'Escape') {\n if (overlayVisibleState) {\n setOverlayVisibleState(false);\n event.preventDefault();\n event.stopPropagation();\n }\n } else if (event.code === 'Tab') {\n if (overlayVisibleState && overlayRef.current) {\n (getFocusableElements(overlayRef.current) as HTMLElement[]).forEach((el) => (el.tabIndex = -1));\n }\n\n if (overlayVisibleState) {\n setOverlayVisibleState(false);\n }\n } else if (event.code === 'Enter') {\n if (props.manualInput && (event.target as HTMLInputElement).value !== null && (event.target as HTMLInputElement).value?.trim() !== '') {\n try {\n const value = parseValue((event.target as HTMLInputElement).value) as Date | Date[];\n\n if (isValidSelection(value)) {\n setOverlayVisibleState(false);\n }\n } catch {\n /* NoOp */\n }\n }\n\n if (props.onKeyDown) {\n props.onKeyDown(event);\n }\n }\n };\n\n const onInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (props.showonInputFocus && isEnabled()) {\n setOverlayVisibleState(true);\n }\n\n if (props.onFocus) {\n props.onFocus(event);\n }\n };\n\n const onInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (props.onBlur) {\n props.onBlur({\n originalEvent: event,\n value: event.target.value\n });\n }\n\n if (props.onValueChange) {\n event.target.value = formatValue(rawValueState);\n }\n\n if (showClearIcon) {\n setShowClearIcon(!isEmpty(event.target.value));\n }\n };\n\n const onOverlayEnter = () => {\n updateFocus();\n\n if (portalRef?.current?.containerRef?.current?.elementRef?.current) {\n const element = portalRef.current.containerRef.current.elementRef.current;\n\n if (elementRef?.current) {\n element.style.width = getOuterWidth(element) + 'px';\n element.style.minWidth = getOuterWidth(elementRef.current) + 'px';\n }\n }\n };\n\n const changeVisibleState = (isVisible: boolean) => {\n setOverlayVisibleState(isVisible);\n };\n\n const viewDate = React.useMemo<Date>(() => {\n let propValue = rawValueState;\n\n if (propValue && Array.isArray(propValue)) {\n if (isRangeSelection()) {\n if (propValue.length === 0) {\n propValue = null;\n } else if (propValue.length === 1) {\n propValue = propValue[0];\n } else {\n const start = parseValueForComparison(propValue[0]) as Date;\n const end = parseValueForComparison(propValue[1]) as Date | null;\n const lastVisibleMonth = new Date(start.getFullYear(), start.getMonth() + (props.numberOfMonths ?? 1), 1);\n\n if (!end || end < lastVisibleMonth) {\n propValue = propValue[0];\n } else {\n propValue = new Date(end.getFullYear(), end.getMonth() - (props.numberOfMonths ?? 1) + 1, 1);\n }\n }\n } else if (isMultipleSelection()) {\n propValue = propValue[propValue.length - 1];\n }\n }\n\n if (propValue && typeof propValue !== 'string') {\n return propValue as Date;\n } else {\n const today = new Date();\n\n if (props.maxDate && props.maxDate < today) {\n return props.maxDate;\n }\n\n if (props.minDate && props.minDate > today) {\n return props.minDate;\n }\n\n return today;\n }\n }, [rawValueState, props.numberOfMonths, props.maxDate, props.minDate]);\n\n const inputFieldValue = React.useMemo(() => {\n return formatValue(rawValueState);\n }, [rawValueState]);\n\n const months = React.useMemo(() => {\n const monthsArray = [];\n\n for (let i = 0; i < (props.numberOfMonths ?? 1); i++) {\n let month = (currentMonth ?? 0) + i;\n let year = currentYear ?? 0;\n\n if (month > 11) {\n month = (month % 11) - 1;\n year = year + 1;\n }\n\n const dates = [];\n const firstDay = getFirstDayOfMonthIndex(month, year);\n const daysLength = getDaysCountInMonth(month, year);\n const prevMonthDaysLength = getDaysCountInPrevMonth(month, year);\n let dayNo = 1;\n const today = new Date();\n const weekNumbers = [];\n const monthRows = Math.ceil((daysLength + firstDay) / 7);\n\n for (let i = 0; i < monthRows; i++) {\n const week = [];\n\n if (i == 0) {\n for (let j = prevMonthDaysLength - firstDay + 1; j <= prevMonthDaysLength; j++) {\n const prev = getPreviousMonthAndYear(month, year);\n\n week.push({\n day: j,\n month: prev.month,\n year: prev.year,\n otherMonth: true,\n today: isToday(today, j, prev.month, prev.year),\n selectable: isSelectable(j, prev.month, prev.year, true)\n });\n }\n\n const remainingDaysLength = 7 - week.length;\n\n for (let j = 0; j < remainingDaysLength; j++) {\n week.push({\n day: dayNo,\n month: month,\n year: year,\n otherMonth: false,\n today: isToday(today, dayNo, month, year),\n selectable: isSelectable(dayNo, month, year, false)\n });\n dayNo++;\n }\n } else {\n for (let j = 0; j < 7; j++) {\n if (dayNo > daysLength) {\n const next = getNextMonthAndYear(month, year);\n\n week.push({\n day: dayNo - daysLength,\n month: next.month,\n year: next.year,\n otherMonth: true,\n today: isToday(today, dayNo - daysLength, next.month, next.year),\n selectable: isSelectable(dayNo - daysLength, next.month, next.year, true)\n });\n } else {\n week.push({\n day: dayNo,\n month: month,\n year: year,\n otherMonth: false,\n today: isToday(today, dayNo, month, year),\n selectable: isSelectable(dayNo, month, year, false)\n });\n }\n\n dayNo++;\n }\n }\n\n weekNumbers.push(getWeekNumber(new Date(week[0].year, week[0].month, week[0].day)));\n\n dates.push(week);\n }\n\n monthsArray.push({\n month: month,\n year: year,\n dates: dates,\n weekNumbers: weekNumbers\n });\n }\n\n return monthsArray;\n }, [currentMonth, currentYear, props.numberOfMonths, props.minDate, props.maxDate, props.disabledDates, props.disabledDays, props.selectOtherMonths]);\n\n const getIndexedMonth = React.useCallback(\n (index: number = 0) => {\n return months[index];\n },\n [months]\n );\n\n const monthPickerValues = React.useMemo(() => {\n const monthPickerValuesArray = [];\n\n const isSelectableMonth = (baseMonth: number) => {\n if (props.minDate) {\n const minMonth = props.minDate.getMonth();\n const minYear = props.minDate.getFullYear();\n\n if ((currentYear as number) < minYear || (currentYear === minYear && baseMonth < minMonth)) {\n return false;\n }\n }\n\n if (props.maxDate) {\n const maxMonth = props.maxDate.getMonth();\n const maxYear = props.maxDate.getFullYear();\n\n if ((currentYear as number) > maxYear || (currentYear === maxYear && baseMonth > maxMonth)) {\n return false;\n }\n }\n\n return true;\n };\n\n for (let i = 0; i <= 11; i++) {\n monthPickerValuesArray.push({\n value: primereact?.config?.locale?.monthNamesShort[i],\n selectable: isSelectableMonth(i)\n });\n }\n\n return monthPickerValuesArray;\n }, [currentYear, props.minDate, props.maxDate]);\n\n const yearPickerValues = React.useMemo(() => {\n const yearPickerValuesArray = [];\n const base = (currentYear as number) - ((currentYear as number) % 10);\n\n const isSelectableYear = (baseYear: number) => {\n if (props.minDate) {\n if (props.minDate.getFullYear() > baseYear) return false;\n }\n\n if (props.maxDate) {\n if (props.maxDate.getFullYear() < baseYear) return false;\n }\n\n return true;\n };\n\n for (let i = 0; i < 10; i++) {\n yearPickerValuesArray.push({ value: base + i, selectable: isSelectableYear(base + i) });\n }\n\n return yearPickerValuesArray;\n }, [currentYear, props.minDate, props.maxDate]);\n\n const weekDays = React.useMemo(() => {\n const weekDays = [];\n\n let dayIndex = primereact?.config?.locale?.firstDayOfWeek;\n\n for (let i = 0; i < 7; i++) {\n weekDays.push(primereact?.config?.locale?.dayNamesMin[dayIndex]);\n dayIndex = dayIndex == 6 ? 0 : ++dayIndex;\n }\n\n return weekDays;\n }, []);\n\n const datePattern = React.useMemo(() => {\n return props.dateFormat || primereact?.config?.locale?.dateFormat;\n }, [props.dateFormat, primereact?.config?.locale]);\n\n const formattedCurrentHour = React.useMemo(() => {\n if (currentHour == 0 && props.hourFormat == '12') {\n return currentHour + 12;\n }\n\n return currentHour < 10 ? '0' + currentHour : currentHour;\n }, [currentHour, props.hourFormat]);\n\n const formattedCurrentMinute = React.useMemo(() => {\n return currentMinute < 10 ? '0' + currentMinute : currentMinute;\n }, [currentMinute]);\n\n const formattedCurrentSecond = React.useMemo(() => {\n return currentSecond < 10 ? '0' + currentSecond : currentSecond;\n }, [currentSecond]);\n\n const todayLabel = React.useMemo(() => {\n return primereact?.config?.locale?.today;\n }, [primereact?.config?.locale]);\n\n const clearLabel = React.useMemo(() => {\n return primereact?.config?.locale?.clear;\n }, [primereact?.config?.locale]);\n\n const weekHeaderLabel = React.useMemo(() => {\n return primereact?.config?.locale?.weekHeader;\n }, [primereact?.config?.locale]);\n\n const switchViewButtonDisabled = React.useMemo(() => {\n return (props.numberOfMonths as number) > 1 || !!props.disabled;\n }, [props.numberOfMonths, props.disabled]);\n\n const ampmLabel = React.useMemo(() => {\n if (pm) {\n return primereact?.config?.locale?.pm;\n }\n\n return primereact?.config?.locale?.am;\n }, [pm, primereact?.config?.locale]);\n\n // effects\n useMountEffect(() => {\n setTimeout(() => {\n if (!props.disabled) {\n initFocusableCell();\n }\n }, 300);\n });\n\n React.useEffect(() => {\n if (inputRef.current?.elementRef.current && selectionStart.current != null && selectionEnd.current != null) {\n inputRef.current.elementRef.current.selectionStart = selectionStart.current;\n inputRef.current.elementRef.current.selectionEnd = selectionEnd.current;\n selectionStart.current = null;\n selectionEnd.current = null;\n }\n }, [inputFieldValue]);\n\n React.useEffect(() => {\n updateFocus();\n }, [currentView, months]);\n\n React.useEffect(() => {\n if (props.value === undefined) return;\n\n updateCurrentMetaData();\n const initialValue = (typeof props.value === 'string' ? parseValue(props.value) : props.value) as useDatePickerProps['value'];\n\n setRawValueState(initialValue);\n\n if (!typeUpdate.current && inputRef.current && inputRef.current.elementRef.current) {\n inputRef.current.elementRef.current.value = formatValue(initialValue);\n }\n\n typeUpdate.current = false;\n }, [props.value]);\n\n React.useEffect(() => {\n if (props.value !== undefined) return;\n\n updateCurrentMetaData();\n const initialValue = (typeof props.defaultValue === 'string' ? parseValue(props.defaultValue) : props.defaultValue) as useDatePickerProps['value'];\n\n setRawValueState(initialValue);\n\n if (!typeUpdate.current && inputRef.current && inputRef.current.elementRef.current) {\n inputRef.current.elementRef.current.value = formatValue(initialValue);\n }\n\n typeUpdate.current = false;\n }, [props.defaultValue]);\n\n React.useEffect(() => {\n if (isEmpty(rawValueState)) {\n setShowClearIcon(false);\n }\n }, [rawValueState]);\n\n React.useEffect(() => {\n if (props.showTime && overlayVisibleState) {\n updateModelTime();\n }\n }, [pm]);\n\n React.useEffect(() => {\n if (!overlayVisibleState && hoveredDateState) {\n setHoveredDateState(null);\n }\n }, [overlayVisibleState]);\n\n return {\n state,\n inputRef,\n nextButtonRef,\n prevButtonRef,\n portalRef,\n overlayRef,\n //methods\n inputFieldValue,\n weekHeaderLabel,\n todayLabel,\n clearLabel,\n weekDays,\n months,\n getIndexedMonth,\n getYear,\n getMonthName,\n onPrevButtonClick,\n onNextButtonClick,\n monthPickerValues,\n yearPickerValues,\n switchToMonthView,\n switchToYearView,\n onDateSelect,\n onMonthSelect,\n onYearSelect,\n onDateCellKeydown,\n onMonthCellKeydown,\n onYearCellKeydown,\n onButtonClick,\n switchViewButtonDisabled,\n formattedCurrentHour,\n formattedCurrentMinute,\n formattedCurrentSecond,\n ampmLabel,\n onTimePickerElementMouseDown,\n onTimePickerElementMouseUp,\n onTimePickerElementMouseLeave,\n onContainerButtonKeydown,\n onTimePickerElementKeyDown,\n onTimePickerElementKeyUp,\n toggleAMPM,\n onTodayButtonClick,\n onClearButtonClick,\n onClearClick,\n onInput,\n onInputClick,\n onInputKeyDown,\n onInputFocus,\n onInputBlur,\n onOverlayEnter,\n changeVisibleState,\n // for styling\n isRangeSelection,\n isSelected,\n parseValue,\n isDateEquals,\n isMonthSelected,\n isYearSelected,\n isInHoverRange,\n onDateCellMouseEnter\n };\n }\n});\n","import type { useDatePickerProps } from '@primereact/types/shared/datepicker';\n\nexport const defaultProps: useDatePickerProps = {\n defaultValue: undefined,\n value: undefined,\n updateModelType: 'date',\n selectionMode: 'single',\n dateFormat: undefined,\n selectOtherMonths: false,\n numberOfMonths: 1,\n view: 'date',\n minDate: undefined,\n maxDate: undefined,\n maxDateCount: undefined,\n showOnFocus: true,\n autoZIndex: true,\n baseZIndex: 0,\n shortYearCutoff: '+10',\n showTime: false,\n timeOnly: false,\n hourFormat: '24',\n stepHour: 1,\n stepMinute: 1,\n stepSecond: 1,\n hideOnDateTimeSelect: false,\n hideOnRangeSelection: false,\n timeSeparator: ':',\n manualInput: true,\n showSeconds: false,\n appendTo: 'body',\n onValueChange: undefined,\n onDateSelect: undefined,\n onMonthChange: undefined,\n onYearChange: undefined,\n onTodayButtonClick: undefined,\n onClearButtonClick: undefined,\n onInput: undefined,\n onKeyDown: undefined,\n onFocus: undefined,\n onBlur: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,OAAoB,4BAC7B,OAAS,kBAAAC,OAAsB,oBAE/B,OAAS,QAAAC,GAAM,cAAAC,EAAY,gBAAAC,GAAc,wBAAAC,GAAsB,YAAAC,GAAU,iBAAAC,GAAe,UAAAC,GAAQ,WAAAC,GAAS,cAAAC,OAAkB,kBAC3H,UAAYC,MAAW,QCFhB,IAAMC,GAAmC,CAC5C,aAAc,OACd,MAAO,OACP,gBAAiB,OACjB,cAAe,SACf,WAAY,OACZ,kBAAmB,GACnB,eAAgB,EAChB,KAAM,OACN,QAAS,OACT,QAAS,OACT,aAAc,OACd,YAAa,GACb,WAAY,GACZ,WAAY,EACZ,gBAAiB,MACjB,SAAU,GACV,SAAU,GACV,WAAY,KACZ,SAAU,EACV,WAAY,EACZ,WAAY,EACZ,qBAAsB,GACtB,qBAAsB,GACtB,cAAe,IACf,YAAa,GACb,YAAa,GACb,SAAU,OACV,cAAe,OACf,aAAc,OACd,cAAe,OACf,aAAc,OACd,mBAAoB,OACpB,mBAAoB,OACpB,QAAS,OACT,UAAW,OACX,QAAS,OACT,OAAQ,MACZ,EDjCA,IAAMC,IAAkB,KAAY,IAAM,KAAK,MAAM,KAAO,CAAC,EAAI,KAAK,MAAM,KAAO,GAAG,EAAI,KAAK,MAAM,KAAO,GAAG,GAAK,GAAK,GAAK,GAAK,IAE7HC,EAAa,CACf,OAAQ,CACJ,OAAQ,CACJ,WAAY,cACZ,SAAU,WACV,YAAa,eACb,SAAU,YACV,OAAQ,SACR,UAAW,aACX,SAAU,YACV,GAAI,YACJ,IAAK,wBACL,GAAI,eACJ,IAAK,2BACL,OAAQ,UACR,UAAW,cACX,WAAY,iBACZ,UAAW,gBACX,MAAO,QACP,MAAO,QACP,SAAU,YACV,SAAU,YACV,QAAS,WACT,WAAY,cACZ,OAAQ,MACR,OAAQ,KACR,OAAQ,SACR,OAAQ,SACR,OAAQ,SACR,UAAW,YACX,QAAS,UACT,cAAe,CAAC,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAI,EACnE,SAAU,CAAC,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,UAAU,EACvF,cAAe,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,EAC/D,YAAa,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAI,EACtD,WAAY,CAAC,UAAW,WAAY,QAAS,QAAS,MAAO,OAAQ,OAAQ,SAAU,YAAa,UAAW,WAAY,UAAU,EACrI,gBAAiB,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,EACpG,WAAY,cACZ,YAAa,eACb,WAAY,cACZ,WAAY,kBACZ,WAAY,cACZ,SAAU,gBACV,SAAU,YACV,UAAW,iBACX,UAAW,aACX,SAAU,gBACV,SAAU,YACV,WAAY,kBACZ,WAAY,cACZ,WAAY,kBACZ,WAAY,cACZ,GAAI,KACJ,GAAI,KACJ,MAAO,QACP,WAAY,KACZ,eAAgB,EAChB,mBAAoB,GACpB,WAAY,WACZ,KAAM,OACN,OAAQ,SACR,OAAQ,SACR,eAAgB,mBAChB,mBAAoB,mBACpB,cAAe,4BACf,iBAAkB,qBAClB,sBAAuB,mBACvB,mBAAoB,mBACpB,kBAAmB,YACnB,oBAAqB,iBACrB,aAAc,uBACd,KAAM,CACF,UAAW,OACX,WAAY,QACZ,UAAW,eACX,KAAM,SACN,MAAO,eACP,UAAW,qBACX,YAAa,uBACb,MAAO,QACP,SAAU,WACV,KAAM,OACN,WAAY,aACZ,UAAW,aACX,QAAS,WACT,OAAQ,UACR,SAAU,YACV,WAAY,cACZ,aAAc,iBACd,aAAc,iBACd,gBAAiB,qBACjB,gBAAiB,qBACjB,UAAW,cACX,eAAgB,aAChB,cAAe,YACf,cAAe,YACf,cAAe,gBACf,iBAAkB,gBAClB,wBAAyB,wBACzB,qBAAsB,qBACtB,UAAW,eACX,YAAa,iBACb,UAAW,eACX,YAAa,gBACb,eAAgB,mBAChB,eAAgB,mBAChB,eAAgB,kBAChB,iBAAkB,oBAClB,QAAS,WACT,SAAU,YACV,WAAY,cACZ,SAAU,YACV,SAAU,YACV,MAAO,QACP,YAAa,gBACb,UAAW,aACX,OAAQ,UACR,QAAS,WACT,YAAa,eACb,WAAY,cACZ,UAAW,aACf,CACJ,CACJ,CACJ,EAEaC,GAAgBC,GAAa,CACtC,KAAM,gBACN,aAAAC,GACA,MAAO,CAAC,CAAE,MAAAC,EAAO,WAAAC,EAAW,IAAM,CA1ItC,IAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GA2IQ,IAAMC,EAAiB,SAAiE,IAAI,EACtFC,GAAsB,SAAkE,IAAI,EAC5FC,GAAsB,SAAkE,IAAI,EAC5FC,GAAkB,SAA8F,IAAI,EACpHC,EAAmB,SAA8B,IAAI,EACrDC,GAAwB,SAA8B,IAAI,EAC1DC,GAAmB,SAAO,EAAK,EAC/BC,GAAuB,SAAsB,IAAI,EACjDC,GAAqB,SAAsB,IAAI,EAC/C,CAACC,GAAeC,EAAgB,EAAU,WAAS,EAAI,EACvD,CAACC,EAAqBC,CAAsB,EAAU,WAAkB,EAAK,EAC7E,CAACC,EAAaC,EAAc,EAAU,WAASrB,EAAM,IAAI,EACzD,CAACsB,EAAcC,CAAe,EAAU,WAAiB,CAAC,EAC1D,CAACC,EAAaC,EAAc,EAAU,WAAiB,CAAC,EACxD,CAACC,EAAaC,EAAc,EAAU,WAAiB,CAAC,EACxD,CAACC,EAAeC,EAAgB,EAAU,WAAiB,CAAC,EAC5D,CAACC,EAAeC,EAAgB,EAAU,WAAiB,CAAC,EAC5D,CAACC,EAAIC,EAAK,EAAU,WAAkB,EAAK,EAC3C,CAACC,GAAkBC,EAAmB,EAAU,WAAS,CAAC,EAC1D,CAACC,GAAiBC,CAAkB,EAAU,WAA0D,IAAI,EAC5G,CAACC,GAAkBC,EAAmB,EAAU,WAAuC,IAAI,EAE3FC,GAAkB,IAChBxC,EAAM,QAAU,OACT,OAAOA,EAAM,OAAU,SAAYyC,EAAWzC,EAAM,KAAK,EAAoCA,EAAM,MAG1GA,EAAM,eAAiB,OAChB,OAAOA,EAAM,cAAiB,SAAYyC,EAAWzC,EAAM,YAAY,EAAoCA,EAAM,aAGrH,KAGL,CAAC0C,EAAeC,EAAgB,EAAU,WAAsC,IAAMH,GAAgB,CAAC,EAEvGI,GAAQ,CACV,SAAUF,EACV,eAAgBxB,EAChB,YAAAE,EACA,cAAAJ,GACA,YAAasB,EACjB,EAEMO,GAAcC,GAAoC,CACpD,GAAIJ,EAAe,CACf,GAAIK,EAAkB,EAClB,OAAOC,GAAaC,EAAwBP,CAAa,EAAGI,CAAQ,EACjE,GAAII,EAAoB,EAAG,CAC9B,IAAIC,EAAW,GAEf,GAAI,MAAM,QAAQT,CAAa,GAC3B,QAAWU,KAAQV,EAGf,GAFAS,EAAWH,GAAaC,EAAwBG,CAAI,EAAGN,CAAQ,EAE3DK,EACA,MAKZ,OAAOA,CACX,SAAWE,EAAiB,GAAK,MAAM,QAAQX,CAAa,EAAG,CAC3D,IAAMY,EAAQL,EAAwBP,EAAc,CAAC,CAAC,EAEtD,GAAIY,IAAU,KACV,MAAO,GAGX,GAAIZ,EAAc,CAAC,EAAG,CAClB,IAAMa,EAAMN,EAAwBP,EAAc,CAAC,CAAC,EAEpD,OAAIa,IAAQ,KACD,GAGJP,GAAaM,EAAOR,CAAQ,GAAKE,GAAaO,EAAKT,CAAQ,GAAKU,GAAcF,EAAOC,EAAKT,CAAQ,CAC7G,KACI,QAAOE,GAAaM,EAAOR,CAAQ,CAE3C,CACJ,CAEA,MAAO,EACX,EAEMW,GAAkBX,GAAoC,CAKxD,GAJI,CAACO,EAAiB,GAAK,CAACf,IAAoB,CAACI,GAAiB,CAAC,MAAM,QAAQA,CAAa,GAI1FA,EAAc,SAAW,GAAKA,EAAc,CAAC,IAAM,KACnD,MAAO,GAGX,IAAMY,EAAQL,EAAwBP,EAAc,CAAC,CAAC,EAEtD,GAAI,CAACY,EACD,MAAO,GAGX,IAAMI,EAAe,IAAI,KAAKpB,GAAiB,KAAMA,GAAiB,MAAOA,GAAiB,GAAG,EAC3FqB,EAAiB,IAAI,KAAKb,EAAS,KAAMA,EAAS,MAAOA,EAAS,GAAG,EACrEc,EAAaN,EAAM,QAAQ,EAAII,EAAa,QAAQ,EAAIJ,EAAQI,EAChEG,EAAWP,EAAM,QAAQ,EAAII,EAAa,QAAQ,EAAIA,EAAeJ,EACrEQ,EAAcH,EAAe,QAAQ,EAE3C,OAAOG,GAAeF,EAAW,QAAQ,GAAKE,GAAeD,EAAS,QAAQ,CAClF,EAEME,GAAwBjB,GAAoC,CAC1DO,EAAiB,GAAKP,EAAS,YAC/BP,GAAoBO,CAAQ,CAEpC,EAEMkB,GAAmBC,GAAkB,CACvC,GAAIC,GAAOxB,CAAa,GAAKA,IAAkB,KAC3C,OAAQA,EAAuB,SAAS,IAAMuB,GAAUvB,EAAuB,YAAY,IAAMlB,EAC9F,GAAI,MAAM,QAAQkB,CAAa,EAAG,CACrC,GAAIQ,EAAoB,EACpB,OAAOR,GAAA,YAAAA,EAAe,KAAMyB,GAAiB,CACzC,IAAMC,EAAanB,EAAwBkB,CAAY,EAEvD,OAAOC,EAAaA,EAAW,SAAS,IAAMH,GAASG,EAAW,YAAY,IAAM5C,EAAc,EACtG,GACG,GAAI6B,EAAiB,EAAG,CAC3B,IAAMgB,EAAc3B,GAAA,MAAAA,EAAgB,GAAKO,EAAwBP,EAAc,CAAC,CAAC,EAAI,KAC/E4B,EAAY5B,GAAA,MAAAA,EAAgB,GAAKO,EAAwBP,EAAc,CAAC,CAAC,EAAI,KAEnF,GAAK4B,EAEE,CACH,GAAI,CAACD,EAAa,MAAO,GAEzB,IAAME,EAAc,IAAI,KAAK/C,EAAuByC,EAAO,CAAC,EACtDO,EAAY,IAAI,KAAKH,EAAY,YAAY,EAAGA,EAAY,SAAS,EAAG,CAAC,EACzEI,EAAU,IAAI,KAAKH,EAAU,YAAY,EAAGA,EAAU,SAAS,EAAG,CAAC,EAEzE,OAAOC,GAAeC,GAAaD,GAAeE,CACtD,KATI,QAAOJ,EAAcA,EAAY,YAAY,IAAM7C,GAAe6C,EAAY,SAAS,IAAMJ,EAAQ,EAU7G,CACJ,CAEA,MAAO,EACX,EAEMS,GAAkBC,GAAiB,CACrC,GAAI,OAAOjC,GAAkB,UAAYA,IAAkB,KACvD,OAAQA,EAAuB,YAAY,IAAMiC,EAC9C,GAAI,MAAM,QAAQjC,CAAa,EAAG,CACrC,GAAIQ,EAAoB,EACpB,OAAOR,GAAA,YAAAA,EAAe,KAAMyB,GAAiB,CACzC,IAAMC,EAAanB,EAAwBkB,CAAY,EAEvD,OAAOC,EAAaA,EAAW,YAAY,IAAMO,EAAO,EAC5D,GACG,GAAItB,EAAiB,EAAG,CAC3B,IAAMgB,EAAc3B,GAAA,MAAAA,EAAgB,GAAKO,EAAwBP,EAAc,CAAC,CAAC,EAAI,KAC/E4B,EAAY5B,GAAA,MAAAA,EAAgB,GAAKO,EAAwBP,EAAc,CAAC,CAAC,EAAI,KAE7EY,EAAQe,EAAcA,EAAY,YAAY,EAAI,KAClDd,EAAMe,EAAYA,EAAU,YAAY,EAAI,KAElD,MAAI,CAAChB,GAAS,CAACC,EAAY,GAEpBD,IAAUqB,GAAQpB,IAAQoB,GAASrB,EAAQqB,GAAQpB,EAAMoB,CACpE,CACJ,CAEA,MAAO,EACX,EAEM3B,GAAe,CAAC4B,EAAyC9B,IAAoC,CAC/F,GAAI8B,EAAO,CACP,IAAMC,EAAY,OAAOD,GAAU,SAAYnC,EAAWmC,CAAK,EAAsBA,EAErF,GAAIC,GAAaA,aAAqB,KAClC,OAAOA,EAAU,QAAQ,IAAM/B,EAAS,KAAO+B,EAAU,SAAS,IAAM/B,EAAS,OAAS+B,EAAU,YAAY,IAAM/B,EAAS,IAEvI,CAEA,MAAO,EACX,EAEMU,GAAgB,CAACF,EAAaC,EAAWT,IAAoC,CAE/E,IAAMuB,EAAcpB,EAAwBK,CAAK,EAC3CgB,EAAYrB,EAAwBM,CAAG,EAE7C,GAAIc,GAAeC,EAAW,CAC1B,IAAMlB,EAAO,IAAI,KAAKN,EAAS,KAAMA,EAAS,MAAOA,EAAS,GAAG,EAEjE,OAAOuB,EAAY,QAAQ,GAAKjB,EAAK,QAAQ,GAAKkB,EAAU,QAAQ,GAAKlB,EAAK,QAAQ,CAC1F,CAEA,MAAO,EACX,EAEM0B,GAAoB,UAAQ,IAAM,CAlVhD,IAAA5E,EAAAC,EAAAC,EAAAC,EAmVY,QAAOF,GAAAD,EAAAN,GAAA,YAAAA,EAAY,SAAZ,YAAAM,EAAoB,SAApB,YAAAC,EAA4B,gBAAiB,EAAI,IAAIE,GAAAD,EAAAR,GAAA,YAAAA,EAAY,SAAZ,YAAAQ,EAAoB,SAApB,YAAAC,EAA4B,gBAAiB,CAC7G,EAAG,CAAC,CAAC,EAEC0E,GAA0B,CAACd,EAAeU,IAAiB,CAC7D,IAAMK,EAAM,IAAI,KAEhBA,EAAI,QAAQ,CAAC,EACbA,EAAI,SAASf,CAAK,EAClBe,EAAI,YAAYL,CAAI,EAEpB,IAAMM,EAAWD,EAAI,OAAO,EAAIF,GAEhC,OAAOG,GAAY,EAAIA,EAAW,EAAIA,CAC1C,EAEMC,GAAsB,CAACjB,EAAeU,IACjC,GAAKQ,GAAqB,IAAI,KAAKR,EAAMV,EAAO,EAAE,CAAC,EAAE,QAAQ,EAGlEmB,GAA0B,CAACnB,EAAeU,IAAiB,CAC7D,IAAMU,EAAOC,GAAwBrB,EAAOU,CAAI,EAEhD,OAAOO,GAAoBG,EAAK,MAAOA,EAAK,IAAI,CACpD,EAEMC,GAA0B,CAACrB,EAAeU,IAAiB,CAC7D,IAAIY,EAAGC,EAEP,OAAIvB,IAAU,GACVsB,EAAI,GACJC,EAAIb,EAAO,IAEXY,EAAItB,EAAQ,EACZuB,EAAIb,GAGD,CAAE,MAAOY,EAAG,KAAMC,CAAE,CAC/B,EAEMC,GAAsB,CAACxB,EAAeU,IAAiB,CACzD,IAAIY,EAAGC,EAEP,OAAIvB,IAAU,IACVsB,EAAI,EACJC,EAAIb,EAAO,IAEXY,EAAItB,EAAQ,EACZuB,EAAIb,GAGD,CAAE,MAAOY,EAAG,KAAMC,CAAE,CAC/B,EAEML,GAAwB/B,IACrBA,IACDA,EAAO,IAAI,MAGfA,EAAK,SAASA,EAAK,SAAS,EAAI,GAAKA,EAAK,SAAS,EAAI,EAAI,CAAC,EAErDA,GAGLsC,GAAU,CAACC,EAAaX,EAAaf,EAAeU,IAC/CgB,EAAM,QAAQ,IAAMX,GAAOW,EAAM,SAAS,IAAM1B,GAAS0B,EAAM,YAAY,IAAMhB,EAGtFiB,GAAe,CAACZ,EAAaf,EAAeU,EAAckB,IAAwB,CACpF,IAAIC,EAAW,GACXC,EAAW,GACXC,EAAY,GACZC,EAAW,GAEf,OAAIJ,GAAc,CAAC7F,EAAM,kBACd,IAGPA,EAAM,UACFA,EAAM,QAAQ,YAAY,EAAI2E,GAEvB3E,EAAM,QAAQ,YAAY,IAAM2E,IACnC3E,EAAM,QAAQ,SAAS,EAAIiE,GAEpBjE,EAAM,QAAQ,SAAS,IAAMiE,GAChCjE,EAAM,QAAQ,QAAQ,EAAIgF,MAC1Bc,EAAW,IAMvB9F,EAAM,UACFA,EAAM,QAAQ,YAAY,EAAI2E,GAEvB3E,EAAM,QAAQ,YAAY,IAAM2E,IACnC3E,EAAM,QAAQ,SAAS,EAAIiE,GAEpBjE,EAAM,QAAQ,SAAS,IAAMiE,GAChCjE,EAAM,QAAQ,QAAQ,EAAIgF,MAC1Be,EAAW,IAMvB/F,EAAM,gBACNgG,EAAY,CAACE,GAAelB,EAAKf,EAAOU,CAAI,GAG5C3E,EAAM,eACNiG,EAAW,CAACE,GAAcnB,EAAKf,EAAOU,CAAI,GAGvCmB,GAAYC,GAAYC,GAAaC,EAChD,EAEMG,GAAqBC,GAA+C,CACtEhE,EAAmB,CAAE,SAAU,GAAM,OAAQ,EAAK,CAAC,EACnDiE,EAAYD,CAAK,CACrB,EAEME,GAAqBF,GAA+C,CACtEhE,EAAmB,CAAE,SAAU,GAAO,OAAQ,EAAK,CAAC,EACpDmE,EAAWH,CAAK,CACpB,EAEMC,EAAeD,GAAsF,CACvGA,EAAM,eAAe,EAEhBI,EAAU,IAIXrF,IAAgB,SAChBsF,GAAc,EAEV1G,EAAM,cACNA,EAAM,aAAa,CAAE,MAAOsB,EAAc,KAAME,CAAY,CAAC,GAE1DJ,IAAgB,OACvBuF,GAAgB,EAEZN,EAAM,SACNK,GAAc,GAEVpF,IAAiB,GACjBC,EAAgB,EAAE,EAClBmF,GAAc,GAEdnF,EAAiBD,EAA0B,CAAC,EAG5CtB,EAAM,eACNA,EAAM,cAAc,CAAE,MAAOsB,EAAe,EAAG,KAAME,CAAY,CAAC,GAIlF,EAEMgF,EAAcH,GAAsF,CACtGA,EAAM,eAAe,EAEhBI,EAAU,IAIXrF,IAAgB,SAChBwF,GAAc,EAEV5G,EAAM,cACNA,EAAM,aAAa,CAAE,MAAOsB,EAAc,KAAME,CAAY,CAAC,GAE1DJ,IAAgB,OACvByF,GAAgB,EAEZR,EAAM,SACNO,GAAc,GAEVtF,IAAiB,IACjBC,EAAgB,CAAC,EACjBqF,GAAc,GAEdrF,EAAiBD,EAA0B,CAAC,EAG5CtB,EAAM,eACNA,EAAM,cAAc,CAAE,MAAOsB,EAAe,EAAG,KAAME,CAAY,CAAC,GAIlF,EAEMkF,GAAgB,IAAM,CACxBjF,IAAgBD,GAAA,KAAAA,EAAe,GAAK,CAAC,CACzC,EAEMmF,GAAkB,IAAM,CAC1BlF,IAAgBD,GAAA,KAAAA,EAAe,GAAK,EAAE,CAC1C,EAEMoF,GAAgB,IAAM,CACxBnF,IAAgBD,GAAA,KAAAA,EAAe,GAAK,CAAC,CACzC,EAEMqF,GAAkB,IAAM,CAC1BpF,IAAgBD,GAAA,KAAAA,EAAe,GAAK,EAAE,CAC1C,EAEMsF,GAAqBT,GAA+C,CACtEhF,GAAe,OAAO,EACtBgF,EAAM,eAAe,CACzB,EAEMU,GAAoBV,GAA+C,CACrEhF,GAAe,MAAM,EACrBgF,EAAM,eAAe,CACzB,EAEMI,EAAY,IACP,CAACzG,EAAM,UAAY,CAACA,EAAM,SAG/BgH,GAAyB5D,GAAe,CAjjBtD,IAAAlD,EAAAC,EAAAC,EAAAC,EAAAC,EAAA2G,EAkjBY,IAAIvF,EAAc0B,EAAK,SAAS,EAE5BpD,EAAM,aAAe,OACrBiC,GAAMP,EAAc,EAAE,EAElBA,GAAe,KAAIA,EAAcA,GAAe,GAAK,GAAKA,EAAc,KAGhFC,GAAe,KAAK,MAAMD,IAAexB,EAAAF,EAAM,WAAN,KAAAE,EAAkB,EAAE,IAAKC,EAAAH,EAAM,WAAN,KAAAG,EAAkB,EAAE,EACtF0B,GAAiB,KAAK,MAAMuB,EAAK,WAAW,IAAKhD,EAAAJ,EAAM,aAAN,KAAAI,EAAoB,EAAE,IAAKC,EAAAL,EAAM,aAAN,KAAAK,EAAoB,EAAE,EAClG0B,GAAiB,KAAK,MAAMqB,EAAK,WAAW,IAAK9C,EAAAN,EAAM,aAAN,KAAAM,EAAoB,EAAE,IAAK2G,EAAAjH,EAAM,aAAN,KAAAiH,EAAoB,EAAE,CACtG,EAEMC,GAAgB,IAAM,CA/jBpC,IAAAhH,EAAAC,EAgkBgBsG,EAAU,IACLvF,EAIDC,EAAuB,EAAK,IAH5BhB,GAAAD,EAAAK,EAAS,UAAT,YAAAL,EAAkB,WAAW,UAA7B,MAAAC,EAAsC,QACtCgB,EAAuB,EAAI,GAKvC,EAEM+E,GAAiB,CAAClB,EAAaf,EAAeU,IAAiB,CACjE,GAAI3E,EAAM,eACN,QAAWmH,KAAgBnH,EAAM,cAC7B,GAAImH,EAAa,YAAY,IAAMxC,GAAQwC,EAAa,SAAS,IAAMlD,GAASkD,EAAa,QAAQ,IAAMnC,EACvG,MAAO,GAKnB,MAAO,EACX,EAEMmB,GAAgB,CAACnB,EAAaf,EAAeU,IAAiB,CAChE,GAAI3E,EAAM,aAAc,CAEpB,IAAMoH,EADU,IAAI,KAAKzC,EAAMV,EAAOe,CAAG,EACX,OAAO,EAErC,OAAOhF,EAAM,aAAa,QAAQoH,CAAa,IAAM,EACzD,CAEA,MAAO,EACX,EAEMC,GAAe,CAAChB,EAAwFvD,IAAoC,CAjmB1J,IAAA5C,EAkmBY,GAAI,EAAAF,EAAM,UAAY,CAAC8C,EAAS,YAYhC,IARInC,EAAW,SACV2G,GAAK3G,EAAW,QAAS,6CAA6C,EAAoB,QAAS4G,GAAUA,EAAK,SAAW,EAAG,EAGjIlB,GACAA,EAAM,cAAc,MAAM,EAG1BnD,EAAoB,GAAKL,GAAWC,CAAQ,GAC5C,GAAIJ,GAAiB,MAAM,QAAQA,CAAa,EAAG,CAC/C,IAAM8E,EAAW9E,EAAc,OAAQU,GAAS,CAACJ,GAAaC,EAAwBG,CAAI,EAAGN,CAAQ,CAAC,EAEtG2E,GAAYD,CAAQ,CACxB,OAEIE,GAAiB,IACb5E,EAAS,aACTvB,EAAgBuB,EAAS,KAAK,EAC9BrB,GAAeqB,EAAS,IAAI,GAC5B6E,GAAW7E,CAAQ,GAO3BC,EAAkB,IAAM,CAAC/C,EAAM,UAAYA,EAAM,wBAC7CO,EAAS,WACTL,EAAAK,EAAS,UAAT,MAAAL,EAAkB,WAAW,QAAQ,SAGzC,WAAW,IAAM,CACbiB,EAAuB,EAAK,CAChC,EAAG,GAAG,GAEd,EAEMwG,GAAc7E,GAAoC,CACpD,IAAIM,EAAO,IAAI,KAAKN,EAAS,KAAMA,EAAS,MAAOA,EAAS,GAAG,EAE3D9C,EAAM,WACFA,EAAM,aAAe,MAAQ0B,IAAgB,IAAMM,EACnDoB,EAAK,SAAU1B,EAAyB,EAAE,EAE1C0B,EAAK,SAAS1B,CAAqB,EAGvC0B,EAAK,WAAWxB,CAAuB,EACvCwB,EAAK,WAAWpD,EAAM,YAAe8B,EAA2B,CAAC,GAGjE9B,EAAM,SAAWA,EAAM,QAAUoD,IACjCA,EAAOpD,EAAM,SAGbA,EAAM,SAAWA,EAAM,QAAUoD,IACjCA,EAAOpD,EAAM,SAGjB2B,GAAeyB,EAAK,SAAS,CAAC,EAC9BvB,GAAiBuB,EAAK,WAAW,CAAC,EAClCrB,GAAiBqB,EAAK,WAAW,CAAC,EAElC,IAAIwE,EAAW,KAEf,GAAI7E,EAAkB,EAClB6E,EAAWxE,UACJF,EAAoB,EACvB,MAAM,QAAQR,CAAa,EAC3BkF,EAAW,CAAC,GAAGlF,EAAeU,CAAI,EAElCwE,EAAW,CAACxE,CAAI,UAEbC,EAAiB,EACxB,GAAIX,GAAiB,MAAM,QAAQA,CAAa,GAAKA,EAAc,OAAQ,CACvE,IAAI8B,EAAYvB,EAAwBP,EAAc,CAAC,CAAC,EACpD+B,EAAU/B,EAAc,CAAC,EAEzB,CAAC+B,GAAWrB,EAAK,QAAQ,GAAKoB,EAAU,QAAQ,GAChDC,EAAUrB,EACVjB,GAAoB,CAAC,EACrBI,GAAoB,IAAI,IAExBiC,EAAYpB,EACZqB,EAAU,KACVtC,GAAoB,CAAC,EACrBI,GAAoB,IAAI,GAG5BqF,EAAW,CAACpD,EAAWC,CAAO,CAClC,MACImD,EAAW,CAACxE,EAAM,IAAI,EACtBjB,GAAoB,CAAC,EAIzByF,IAAa,MACbH,GAAYG,CAAgB,EAG5B5H,EAAM,cACNA,EAAM,aAAa,CACf,MAAOoD,CACX,CAAC,CAET,EAEMqE,GAAe7C,GAAuC,CAGxD,GAFAjC,GAAiBiC,CAAK,EAElB5E,EAAM,kBAAoB,OAC1B,GAAI+C,EAAkB,EAClB8E,GAAWjD,CAAK,MACb,CACH,IAAIkD,EAAiB,KAEjB,MAAM,QAAQlD,CAAK,IACnBkD,EAAiBlD,EAAM,IAAKxB,GAASH,EAAwBG,CAAI,CAAC,GAGtEyE,GAAWC,CAAc,CAC7B,SACO9H,EAAM,iBAAmB,UAChC,GAAI+C,EAAkB,GACd6B,aAAiB,MAAQ,OAAOA,GAAU,UAAYA,IAAU,OAChEiD,GAAWE,EAAenD,CAAK,CAAC,UAE7B1B,EAAoB,EAAG,CAC9B,IAAI4E,EAA2C,KAE3C,MAAM,QAAQlD,CAAK,IACnBkD,EAAiBlD,EAAM,IAAKxB,GAAS,CACjC,IAAM4E,EAAYD,EAAe3E,CAAI,EAErC,OAAO,OAAO4E,GAAc,SAAWA,EAAY,IACvD,CAAC,GAGLH,GAAWC,CAAc,CAC7B,SAAWzE,EAAiB,EAAG,CAC3B,IAAIyE,EAA2C,KAE3C,MAAM,QAAQlD,CAAK,IACnBkD,EAAiBlD,EAAM,IAAKxB,GAAS,CACjC,GAAIA,GAAS,KACT,OAAO,KAGX,IAAM4E,EAAYD,EAAe3E,CAAI,EAErC,OAAO4E,IAAc,MAAQ,OAAOA,GAAc,SAAWA,EAAY,IAC7E,CAAC,GAGLH,GAAWC,CAAc,CAC7B,EAER,EAEMJ,GAAmB,IACjBxE,EAAoB,GACblD,EAAM,cAAgB,KAAOA,EAAM,cAAgB0C,GAAiB,MAAM,QAAQA,CAAa,EAAIA,EAAc,OAAS,GAG9H,GAGLmF,GAAcL,GAA0C,CAC1DvG,GAAiB,CAACgH,GAAQT,CAAQ,CAAC,EAE/BxH,EAAM,eACNA,EAAM,cAAc,CAChB,MAAOwH,CACX,CAAC,CAET,EAEMzE,EAAoB,IACf/C,EAAM,gBAAkB,SAG7BqD,EAAmB,IACdrD,EAAM,gBAAkB,QAG7BkD,EAAsB,IACjBlD,EAAM,gBAAkB,WAG7BkI,GAAetD,GAAuC,CAnyBpE,IAAA1E,EAAAC,EAAAC,EAAAC,EAoyBY,GAAI,OAAOuE,GAAU,SACjB,OAAO5E,EAAM,WAAc,MAAM,IAAI,KAAK4E,CAAK,EAAE,QAAQ,CAAC,EAAIA,EAAQuD,GAAW,IAAI,KAAKvD,CAAK,EAAG5E,EAAM,UAAU,EAAK4E,EAG3H,IAAIwD,EAAgC,GAEpC,GAAIxD,EACA,GAAI,CACA,GAAI7B,EAAkB,EAAG,CACrB,IAAMsF,EAAY,MAAM,QAAQzD,CAAK,GAAK1E,EAAA0E,EAAM,CAAC,IAAP,KAAA1E,EAAY,KAAQ0E,EAE1DyD,GAAa,KACbD,EAAiB,GAEjBA,GAAkBjI,EAAA4H,EAAeM,CAA0B,IAAzC,KAAAlI,EAAyD,EAEnF,SAAW+C,EAAoB,GAC3B,GAAI,MAAM,QAAQ0B,CAAK,EACnB,QAAS0D,EAAI,EAAGA,EAAI1D,EAAM,OAAQ0D,IAAK,CACnC,IAAMC,EAAI3D,EAAM0D,CAAC,EACXE,EAAwCT,EAAzB,OAAOQ,GAAM,SAA2BtF,EAAwBsF,CAAC,EAAwCA,CAA/B,EAE/FH,GAAkBI,EAEdF,IAAM1D,EAAM,OAAS,IACrBwD,GAAkB,KAE1B,UAEG/E,EAAiB,GACpB,MAAM,QAAQuB,CAAK,GAAKA,EAAM,OAAQ,CACtC,IAAMJ,EAAYvB,EAAwB2B,EAAM,CAAC,CAAC,EAC5CH,EAAUxB,EAAwB2B,EAAM,CAAC,CAAC,EAEhDwD,GAAkBhI,EAAA2H,EAAevD,CAAS,IAAxB,KAAApE,EAAwC,GAEtDqE,IACA2D,GAAkB,QAAU/H,EAAA0H,EAAetD,CAAO,IAAtB,KAAApE,EAAsC,IAE1E,CAER,OAAQoI,EAAA,CACJL,EAAiB,OAAOxD,GAAU,SAAWA,EAAQ,EACzD,CAGJ,OAAOwD,CACX,EAEML,EAAkB3E,GAA+B,CACnD,IAAIgF,EAAiB,KAErB,OAAIlE,GAAOd,CAAI,GAAKsF,GAAWtF,CAAI,EAC3BpD,EAAM,SACNoI,EAAiBO,GAAWvF,CAAI,GAEhCgF,EAAiBD,GAAW/E,EAAMwF,EAAW,EAEzC5I,EAAM,WACNoI,GAAkB,IAAMO,GAAWvF,CAAI,IAGxCpD,EAAM,kBAAoB,WACjCoI,EAAiBhF,GAGdgF,CACX,EAEMD,GAAa,CAAC/E,EAAYyF,IAAmB,CAz2B3D,IAAA3I,EAAAC,EAAAC,EAAAC,EAAAC,EAAA2G,EAAA6B,EAAAC,EA02BY,GAAI,CAAC3F,EACD,MAAO,GAGX,IAAI4F,EAEEC,EAAaC,GAAkB,CACjC,IAAMC,EAAUH,EAAU,EAAIH,EAAO,QAAUA,EAAO,OAAOG,EAAU,CAAC,IAAME,EAE9E,OAAIC,GACAH,IAGGG,CACX,EAEMC,EAAe,CAACF,EAAetE,EAAeyE,IAAgB,CAChE,IAAIC,EAAM,GAAK1E,EAEf,GAAIqE,EAAUC,CAAK,EACf,KAAOI,EAAI,OAASD,GAChBC,EAAM,IAAMA,EAIpB,OAAOA,CACX,EAEMC,EAAa,CAACL,EAAetE,EAAe4E,EAAsBC,IAC7DR,EAAUC,CAAK,EAAIO,EAAU7E,CAAK,EAAI4E,EAAW5E,CAAK,EAG7D8E,EAAS,GACTC,EAAU,GAEd,GAAIvG,EACA,IAAK4F,EAAU,EAAGA,EAAUH,EAAO,OAAQG,IACvC,GAAIW,EACId,EAAO,OAAOG,CAAO,IAAM,KAAO,CAACC,EAAU,GAAG,EAChDU,EAAU,GAEVD,GAAUb,EAAO,OAAOG,CAAO,MAGnC,QAAQH,EAAO,OAAOG,CAAO,EAAG,CAC5B,IAAK,IACDU,GAAUN,EAAa,IAAKhG,EAAK,QAAQ,EAAG,CAAC,EAC7C,MACJ,IAAK,IACDsG,GAAUH,EAAW,IAAKnG,EAAK,OAAO,GAAGjD,GAAAD,EAAAN,GAAA,YAAAA,EAAY,SAAZ,YAAAM,EAAoB,SAApB,YAAAC,EAA4B,eAAeE,GAAAD,EAAAR,GAAA,YAAAA,EAAY,SAAZ,YAAAQ,EAAoB,SAApB,YAAAC,EAA4B,QAAQ,EACxH,MACJ,IAAK,IACDqJ,GAAUN,EAAa,IAAK,KAAK,OAAO,IAAI,KAAKhG,EAAK,YAAY,EAAGA,EAAK,SAAS,EAAGA,EAAK,QAAQ,CAAC,EAAE,QAAQ,EAAI,IAAI,KAAKA,EAAK,YAAY,EAAG,EAAG,CAAC,EAAE,QAAQ,GAAK,KAAQ,EAAG,CAAC,EAC9K,MACJ,IAAK,IACDsG,GAAUN,EAAa,IAAKhG,EAAK,SAAS,EAAI,EAAG,CAAC,EAClD,MACJ,IAAK,IACDsG,GAAUH,EAAW,IAAKnG,EAAK,SAAS,GAAG6D,GAAA3G,EAAAV,GAAA,YAAAA,EAAY,SAAZ,YAAAU,EAAoB,SAApB,YAAA2G,EAA4B,iBAAiB8B,GAAAD,EAAAlJ,GAAA,YAAAA,EAAY,SAAZ,YAAAkJ,EAAoB,SAApB,YAAAC,EAA4B,UAAU,EAC9H,MACJ,IAAK,IACDW,GAAUT,EAAU,GAAG,EAAI7F,EAAK,YAAY,GAAKA,EAAK,YAAY,EAAI,IAAM,GAAK,IAAM,IAAOA,EAAK,YAAY,EAAI,IACnH,MACJ,IAAK,IACDsG,GAAUtG,EAAK,QAAQ,EACvB,MACJ,IAAK,IACDsG,GAAUtG,EAAK,QAAQ,EAAI,IAAQzD,GACnC,MACJ,IAAK,IACGsJ,EAAU,GAAG,EACbS,GAAU,IAEVC,EAAU,GAGd,MACJ,QACID,GAAUb,EAAO,OAAOG,CAAO,CACvC,CAKZ,OAAOU,CACX,EAEMf,GAAcvF,GAAe,CAj8B3C,IAAAlD,EAAAC,EAAAC,EAAAC,EAk8BY,GAAI,CAAC+C,EACD,MAAO,GAGX,IAAIsG,EAAS,GACTE,EAAQxG,EAAK,SAAS,EACpByG,EAAUzG,EAAK,WAAW,EAC1B0G,EAAU1G,EAAK,WAAW,EAEhC,OAAIpD,EAAM,aAAe,MAAQ4J,EAAQ,IAAMA,IAAU,KACrDA,GAAS,IAGT5J,EAAM,aAAe,KACrB0J,GAAUE,IAAU,EAAI,GAAKA,EAAQ,GAAK,IAAMA,EAAQA,EAExDF,GAAUE,EAAQ,GAAK,IAAMA,EAAQA,EAGzCF,GAAU,IACVA,GAAUG,EAAU,GAAK,IAAMA,EAAUA,EAErC7J,EAAM,cACN0J,GAAU,IACVA,GAAUI,EAAU,GAAK,IAAMA,EAAUA,GAGzC9J,EAAM,aAAe,OACrB0J,GAAUtG,EAAK,SAAS,EAAI,GAAK,KAAIjD,GAAAD,EAAAN,GAAA,YAAAA,EAAY,SAAZ,YAAAM,EAAoB,SAApB,YAAAC,EAA4B,EAAE,GAAK,KAAIE,GAAAD,EAAAR,GAAA,YAAAA,EAAY,SAAZ,YAAAQ,EAAoB,SAApB,YAAAC,EAA4B,EAAE,IAGvGqJ,CACX,EAEMK,GAAuB,IAAM,CAC3BnJ,GAAgB,SAChB,aAAaA,GAAgB,OAAO,CAE5C,EAEMoJ,GAAsB3D,GAA+C,CACvE,IAAMjD,EAAO,IAAI,KACXN,EAAW,CACb,IAAKM,EAAK,QAAQ,EAClB,MAAOA,EAAK,SAAS,EACrB,KAAMA,EAAK,YAAY,EACvB,WAAYA,EAAK,SAAS,IAAM9B,GAAgB8B,EAAK,YAAY,IAAM5B,EACvE,MAAO,GACP,WAAY,EAChB,EAEAH,GAAe,MAAM,EACrBgG,GAAa,KAAMvE,CAAQ,EAEvB9C,EAAM,oBACNA,EAAM,mBAAmB,CACrB,cAAeqG,EACf,KAAAjD,CACJ,CAAC,EAGLiD,EAAM,eAAe,CACzB,EAEM4D,GAAsB5D,GAA+C,CACvEoB,GAAY,IAAI,EAChBtG,EAAuB,EAAK,EAC5BF,GAAiB,EAAK,EAElBjB,EAAM,oBACNA,EAAM,mBAAmBqG,CAAK,EAGlCA,EAAM,eAAe,CACzB,EAEM6D,GAA+B,CAAC7D,EAA4C8D,EAAcC,IAAsB,CAC9G3D,EAAU,IACV4D,GAAOhE,EAAO,KAAM8D,EAAMC,CAAS,EACnC/D,EAAM,eAAe,EAE7B,EAEMiE,GAA8BjE,GAAwF,CACpHI,EAAU,IACVsD,GAAqB,EACrBQ,GAAgB,EAChBlE,EAAM,eAAe,EAE7B,EAEMmE,GAAgC,IAAM,CACxCT,GAAqB,CACzB,EAEMU,GAA4BpE,GAAkD,CAChF,OAAQA,EAAM,KAAM,CAChB,IAAK,MACDqE,GAAUrE,CAAK,EACf,MAEJ,IAAK,SACDlF,EAAuB,EAAK,EAC5BkF,EAAM,eAAe,EACrB,MAEJ,QAEI,KACR,CAEIrG,EAAM,WACNA,EAAM,UAAUqG,CAAK,CAE7B,EAEMsE,GAA6B,CAACtE,EAA+C8D,EAAcC,IAAsB,CACnH,OAAQ/D,EAAM,KAAM,CAChB,IAAK,QACL,IAAK,cACL,IAAK,QACGI,EAAU,IACV4D,GAAOhE,EAAO,KAAM8D,EAAMC,CAAS,EACnC/D,EAAM,eAAe,GAGzB,KACR,CACJ,EAEMuE,GAA4BvE,GAAkD,CAChF,OAAQA,EAAM,KAAM,CAChB,IAAK,QACL,IAAK,cAEL,IAAK,QACDiE,GAA2BjE,CAAK,CAExC,CACJ,EAEMgE,GAAS,CAAChE,EAAqFwE,EAAyBV,EAAcC,IAAsB,CAC9J,IAAM9B,EAAIuC,GAAY,IAOtB,OALAd,GAAqB,EACrBnJ,GAAgB,QAAU,WAAW,IAAM,CACvCyJ,GAAOhE,EAAO,IAAK8D,EAAMC,CAAS,CACtC,EAAG9B,CAAC,EAEI6B,EAAM,CACV,IAAK,GACGC,IAAc,EACdU,GAAczE,CAAK,EAEnB0E,GAAc1E,CAAK,EAGvB,MAEJ,IAAK,GACG+D,IAAc,EACdY,GAAgB3E,CAAK,EAErB4E,GAAgB5E,CAAK,EAGzB,MAEJ,IAAK,GACG+D,IAAc,EACdc,GAAgB7E,CAAK,EAErB8E,GAAgB9E,CAAK,EAGzB,KACR,CACJ,EAEM+E,GAAkB,CAACxB,EAAe5H,IAChChC,EAAM,YAAc,KAChB4J,IAAU,GACH5H,EAAK,GAAK,EAEVA,EAAK4H,EAAQ,GAAKA,EAI1BA,EAGLyB,GAAe,CAACC,EAAcC,EAAgBC,EAAgBxJ,IAAgB,CAChF,IAAI4C,EAA8B6G,GAC5BC,EAAgBN,GAAgBE,EAAMtJ,CAAE,EAE1CqB,EAAiB,IACjBuB,EAAQ,MAAM,QAAQlC,CAAa,EAAIA,EAAc,CAAC,GAAKA,EAAc,CAAC,EAAI,MAG9EQ,EAAoB,IACpB0B,EAAQ,MAAM,QAAQlC,CAAa,EAAIA,EAAcA,EAAc,OAAS,CAAC,EAAI,MAGrF,IAAMiJ,EAAkB/G,aAAiB,KAAOA,EAAM,aAAa,EAAI,KAoBvE,MAlBI,EAAA5E,EAAM,SAAW2L,GAAmB3L,EAAM,QAAQ,aAAa,IAAM2L,IACjE3L,EAAM,QAAQ,SAAS,EAAI0L,GAI3B1L,EAAM,QAAQ,SAAS,IAAM0L,IACzB1L,EAAM,QAAQ,WAAW,EAAIuL,GAI7BvL,EAAM,QAAQ,WAAW,IAAMuL,GAC3BvL,EAAM,QAAQ,WAAW,EAAIwL,KAOzCxL,EAAM,SAAW2L,GAAmB3L,EAAM,QAAQ,aAAa,IAAM2L,IACjE3L,EAAM,QAAQ,SAAS,EAAI0L,GAI3B1L,EAAM,QAAQ,SAAS,IAAM0L,IACzB1L,EAAM,QAAQ,WAAW,EAAIuL,GAI7BvL,EAAM,QAAQ,WAAW,IAAMuL,GAC3BvL,EAAM,QAAQ,WAAW,EAAIwL,IAQjD,EAEMV,GAAiBzE,GAAwF,CAC3G,IAAMuF,EAAWlK,EACbmK,EAAUnK,EAAc,OAAO1B,EAAM,QAAQ,EAC7C8L,EAAQ9J,EAERhC,EAAM,YAAc,KACpB6L,EAAUA,GAAW,GAAKA,EAAU,GAAKA,EAClC7L,EAAM,YAAc,OAEvB4L,EAAW,IAAMC,EAAU,KAC3BC,EAAQ,CAAC9J,GAGb6J,EAAUA,GAAW,GAAKA,EAAU,GAAKA,GAGzCR,GAAaQ,EAASjK,EAAeE,EAAegK,CAAK,IACzDnK,GAAekK,CAAO,EACtB5J,GAAM6J,CAAK,GAGfzF,EAAM,eAAe,CACzB,EAEM0E,GAAiB1E,GAAwF,CAC3G,IAAIwF,EAAUnK,EAAc,OAAO1B,EAAM,QAAQ,EAC7C8L,EAAQ9J,EAERhC,EAAM,YAAc,KACpB6L,EAAUA,EAAU,EAAI,GAAKA,EAAUA,EAChC7L,EAAM,YAAc,OAEvB0B,IAAgB,KAChBoK,EAAQ,CAAC9J,GAGb6J,EAAUA,GAAW,EAAI,GAAKA,EAAUA,GAGxCR,GAAaQ,EAASjK,EAAeE,EAAegK,CAAK,IACzDnK,GAAekK,CAAO,EACtB5J,GAAM6J,CAAK,GAGfzF,EAAM,eAAe,CACzB,EAEM2E,GAAmB3E,GAAwF,CAC7G,IAAM0F,EAAYnK,EAAgB,OAAO5B,EAAM,UAAU,EAErDqL,GAAa3J,EAAaqK,EAAWjK,EAAeE,CAAE,GACtDH,GAAiBkK,EAAY,GAAKA,EAAY,GAAKA,CAAS,EAGhE1F,EAAM,eAAe,CACzB,EAEM4E,GAAmB5E,GAAwF,CAC7G,IAAI0F,EAAYnK,EAAgB,OAAO5B,EAAM,UAAU,EAEvD+L,EAAYA,EAAY,EAAI,GAAKA,EAAYA,EAEzCV,GAAa3J,EAAaqK,EAAWjK,EAAeE,CAAE,GACtDH,GAAiBkK,CAAS,EAG9B1F,EAAM,eAAe,CACzB,EAEM6E,GAAmB7E,GAAwF,CAC7G,IAAM2F,EAAYlK,EAAgB,OAAO9B,EAAM,UAAU,EAErDqL,GAAa3J,EAAaE,EAAeoK,EAAWhK,CAAE,GACtDD,GAAiBiK,EAAY,GAAKA,EAAY,GAAKA,CAAS,EAGhE3F,EAAM,eAAe,CACzB,EAEM8E,GAAmB9E,GAAwF,CAC7G,IAAI2F,EAAYlK,EAAgB,OAAO9B,EAAM,UAAU,EAEvDgM,EAAYA,EAAY,EAAI,GAAKA,EAAYA,EAEzCX,GAAa3J,EAAaE,EAAeoK,EAAWhK,CAAE,GACtDD,GAAiBiK,CAAS,EAG9B3F,EAAM,eAAe,CACzB,EAEMkE,GAAkB,IAAM,CAC1B,IAAI0B,EAAkCR,GAElCpI,EAAiB,IACjB4I,EAAY,MAAM,QAAQvJ,CAAa,EAAIA,EAAcR,EAAgB,GAAKQ,EAAc,CAAC,EAAI,MAGjGQ,EAAoB,IACpB+I,EAAY,MAAM,QAAQvJ,CAAa,EAAIA,EAAcA,EAAc,OAAS,CAAC,EAAI,MAGzF,IAAMmC,EAAYoH,GAAaA,aAAqB,KAAO,IAAI,KAAKA,EAAU,QAAQ,CAAC,EAAI,IAAI,KAE3FjM,EAAM,YAAc,KAChB0B,IAAgB,GAAImD,EAAU,SAAS7C,EAAK,GAAK,CAAC,EACjD6C,EAAU,SAAS7C,EAAKN,EAAc,GAAKA,CAAW,EAE3DmD,EAAU,SAASnD,CAAW,EAGlCmD,EAAU,WAAWjD,CAAa,EAClCiD,EAAU,WAAW/C,CAAa,EAElC,IAAI8C,EAEAvB,EAAiB,EACb,MAAM,QAAQX,CAAa,EACvBR,KAAqB,GAAKQ,EAAc,CAAC,EACzCkC,EAAQ,CAAClC,EAAc,CAAC,EAAkBmC,CAAS,EAC5C3C,KAAqB,EAC5B0C,EAAQ,CAACC,EAAWnC,EAAc,CAAC,CAAgB,EAEnDkC,EAAQ,CAACC,EAAW,IAAI,EAG5BD,EAAQ,CAACC,EAAW,IAAI,EAErB3B,EAAoB,EACvB,MAAM,QAAQR,CAAa,EAC3BkC,EAAQ,CAAC,GAAIlC,EAAc,MAAM,EAAG,EAAE,EAAuBmC,CAAS,EAEtED,EAAQ,CAACC,CAAS,EAGtBD,EAAQC,EAGZ4C,GAAY7C,CAAK,EAEb5E,EAAM,cACNA,EAAM,aAAa,CACf,MAAA4E,CACJ,CAAC,CAET,EAEMsH,GAAc7F,GAA+C,CAG3D,CAFcgF,GAAa3J,EAAaE,EAAeE,EAAe,CAACE,CAAE,IAE1DhC,EAAM,SAAWA,EAAM,WAE1CiC,GAAM,CAACD,CAAE,EAETqE,EAAM,eAAe,EACzB,EAEM8F,GAAgB,CAAC9F,EAAiF+F,IAAkB,CAClHpM,EAAM,OAAS,QACfqH,GAAahB,EAAO,CAChB,KAAM7E,EACN,MAAO4K,EACP,IAAK,EACL,WAAY,GACZ,WAAY,GACZ,MAAO,EACX,CAAC,GAED7K,EAAgB6K,CAAK,EACrB/K,GAAe,MAAM,EAEjBrB,EAAM,eACNA,EAAM,cAAc,CAAE,MAAOsB,EAAe,EAAG,KAAME,CAAY,CAAC,GAI1E,WAAW6K,GAAa,CAAC,CAC7B,EAEMC,GAAe,CAACjG,EAAiF1B,IAA4B,CAC3H3E,EAAM,OAAS,OACfqH,GAAahB,EAAO,CAChB,KAAM1B,EAAK,MACX,MAAO,EACP,IAAK,EACL,WAAY,GACZ,WAAY,GACZ,MAAO,EACX,CAAC,GAEDlD,GAAekD,EAAK,KAAK,EACzBtD,GAAe,OAAO,EAElBrB,EAAM,cACNA,EAAM,aAAa,CAAE,MAAOsB,EAAe,EAAG,KAAME,CAAY,CAAC,GAIzE,WAAW6K,GAAa,CAAC,CAC7B,EAEME,GAAwB,IAAM,CAChC,IAAMC,EAAYf,GAElB,GAAKe,IAILjL,EAAgBiL,EAAU,SAAS,CAAC,EACpC/K,GAAe+K,EAAU,YAAY,CAAC,EAElCxM,EAAM,UAAYA,EAAM,UAAU,CAClC,IAAIyM,EAAWD,EAEf,GAAInJ,EAAiB,GAAKX,GAAiB,MAAM,QAAQA,CAAa,GAAKA,EAAcR,EAAgB,EAAG,CACxG,IAAMwK,EAAehK,EAAcR,EAAgB,EAE/CwK,aAAwB,OACxBD,EAAWC,EAEnB,CAEA1F,GAAsByF,CAAQ,CAClC,CACJ,EAEME,GAAoB/H,GAAyB,CAC/C,GAAIA,GAAS,KACT,MAAO,GAGX,IAAIgI,EAAU,GAEd,OAAI7J,EAAkB,GAAK6B,aAAiB,KACnCgB,GAAahB,EAAM,QAAQ,EAAGA,EAAM,SAAS,EAAGA,EAAM,YAAY,EAAG,EAAK,IAC3EgI,EAAU,IAEP,MAAM,QAAQhI,CAAK,GAAKA,EAAM,MAAO2D,GAAM3C,GAAa2C,EAAE,QAAQ,EAAGA,EAAE,SAAS,EAAGA,EAAE,YAAY,EAAG,EAAK,CAAC,GAC7GlF,EAAiB,IACjBuJ,EAAUhI,EAAM,OAAS,GAAKA,EAAM,CAAC,GAAKA,EAAM,CAAC,GAIlDgI,CACX,EAEMnK,EAAcoK,GAA8C,CA56C1E,IAAA3M,EAAAC,EAAAC,EA66CY,GAAI,CAACyM,GAAQA,EAAK,KAAK,EAAE,SAAW,EAChC,OAAO,KAGX,IAAIjI,EAEJ,GAAI7B,EAAkB,EAClB6B,GAAQ1E,EAAA4M,GAAcD,CAAI,IAAlB,KAAA3M,EAAuB,aACxBgD,EAAoB,EAAG,CAC9B,IAAM6J,EAASF,EAAK,MAAM,GAAG,EACvBG,EAA6B,CAAC,EAEpC,QAAWC,KAASF,EAChBC,EAAU,MAAK7M,EAAA2M,GAAcG,EAAM,KAAK,CAAC,IAA1B,KAAA9M,EAA+B,IAAI,EAGtDyE,EAAQoI,CACZ,SAAW3J,EAAiB,EAAG,CAC3B,IAAM0J,EAASF,EAAK,MAAM,KAAK,EACzBG,EAA6B,CAAC,EAEpC,QAAS1E,EAAI,EAAGA,EAAIyE,EAAO,OAAQzE,IAC/B0E,EAAU1E,CAAC,GAAIlI,EAAA0M,GAAcC,EAAOzE,CAAC,EAAE,KAAK,CAAC,IAA9B,KAAAlI,EAAmC,KAGtDwE,EAAQoI,CACZ,CAEA,OAAOpI,CACX,EAEM3B,EAA2B2B,GAAoD,CA58C7F,IAAA1E,EAAAC,EA68CY,GAAI,OAAOyE,GAAU,SAAU,CAC3B,IAAMsI,EAAczK,EAAWmC,CAAK,EAEpC,OAAKsI,EAIDnK,EAAkB,EACXmK,EAGP,MAAM,QAAQA,CAAW,IACjBhN,EAAAgN,EAAY,CAAC,IAAb,KAAAhN,EAGL,KAXI,IAYf,CAEA,OAAI,MAAM,QAAQ0E,CAAK,GACXzE,EAAAyE,EAAM,CAAC,IAAP,KAAAzE,EAAY,KAGhByE,GAAA,KAAAA,EAAS,IACrB,EAEMkI,GAAiBD,GAAiB,CACpC,IAAIzJ,EACE+J,EAAQN,EAAK,MAAM,kDAAkD,EAE3E,GAAI7M,EAAM,SACNoD,EAAO,IAAI,KAEP+J,GACAC,GAAahK,EAAM+J,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,MAEtC,CACH,IAAME,EAAazE,GAEf5I,EAAM,SACFmN,IACA/J,EAAOkK,GAAUH,EAAM,CAAC,EAAGE,CAAU,EACrCD,GAAahK,EAAM+J,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,GAGzC/J,EAAOkK,GAAUT,EAAMQ,CAAU,CAEzC,CAEA,OAAOjK,CACX,EAEMgK,GAAe,CAACxI,EAAa2I,EAAoBC,IAAiB,CAhgDhF,IAAAtN,EAAAC,EAAAC,EAAAC,EAigDY,GAAIL,EAAM,YAAc,MAAQ,CAACwN,EAC7B,MAAM,IAAI,MAAM,cAAc,EAGlCvL,GAAMuL,MAASrN,GAAAD,EAAAN,GAAA,YAAAA,EAAY,SAAZ,YAAAM,EAAoB,SAApB,YAAAC,EAA4B,KAAMqN,MAASnN,GAAAD,EAAAR,GAAA,YAAAA,EAAY,SAAZ,YAAAQ,EAAoB,SAApB,YAAAC,EAA4B,GAAG,cAAa,EACtG,IAAMoN,EAAOC,GAAUH,CAAU,EAEjC3I,EAAM,SAAS6I,EAAK,IAAI,EACxB7I,EAAM,WAAW6I,EAAK,MAAM,EAExBA,EAAK,SAAW,MAChB7I,EAAM,WAAW6I,EAAK,MAAM,CAEpC,EAEMC,GAAa9I,GAAkB,CACjC,IAAMmI,EAASnI,EAAM,MAAM,GAAG,EACxB+I,EAAmB3N,EAAM,YAAc,EAAI,EAC3C4N,EAAQ,eAEd,GAAIb,EAAO,SAAWY,GAAoB,CAACZ,EAAO,CAAC,EAAE,MAAMa,CAAK,GAAK,CAACb,EAAO,CAAC,EAAE,MAAMa,CAAK,GAAM5N,EAAM,aAAe,CAAC+M,EAAO,CAAC,EAAE,MAAMa,CAAK,EACxI,KAAM,eAGV,IAAIC,EAAI,SAASd,EAAO,CAAC,CAAC,EACpBxH,EAAI,SAASwH,EAAO,CAAC,CAAC,EACtBe,EAAI9N,EAAM,YAAc,SAAS+M,EAAO,CAAC,CAAC,EAAI,KAEpD,GAAI,MAAMc,CAAC,GAAK,MAAMtI,CAAC,GAAKsI,EAAI,IAAMtI,EAAI,IAAOvF,EAAM,YAAc,MAAQ6N,EAAI,IAAQ7N,EAAM,cAAgB8N,IAAM,MAAQ,MAAMA,CAAC,GAAKA,EAAI,IACzI,KAAM,eAGV,OAAI9N,EAAM,YAAc,MAAQ6N,IAAM,IAAM7L,EACxC6L,GAAK,GACE7N,EAAM,YAAc,MAAQ6N,GAAK,IAAM,CAAC7L,IAC/C6L,EAAI,GAGD,CAAE,KAAMA,EAAG,OAAQtI,EAAG,OAAQuI,CAAE,CAC3C,EAEMR,GAAY,CAAC1I,EAAwBiE,IAAmB,CA1iDtE,IAAA3I,EAAAC,EAAAC,EAAAC,GAAAC,EAAA2G,EAAA6B,EAAAC,GA2iDY,GAAIF,GAAU,MAAQjE,GAAS,KAC3B,KAAM,oBAKV,GAFAA,EAAQ,OAAOA,GAAU,SAAWA,EAAM,SAAS,EAAIA,EAAQ,GAE3DA,IAAU,GACV,OAAO,KAGX,IAAIoE,EACA+E,EACAC,EACAC,EAAS,EACPC,EAAkB,OAAOlO,EAAM,iBAAoB,SAAWA,EAAM,gBAAmB,IAAI,KAAK,EAAE,YAAY,EAAI,IAAO,SAASA,EAAM,gBAAiB,EAAE,EAC7J2E,EAAO,GACPV,EAAQ,GACRe,EAAM,GAENmJ,EAAM,GACNxE,EAAU,GACVvG,EAEE6F,EAAaC,GAAkB,CACjC,IAAMC,GAAUH,EAAU,EAAIH,EAAO,QAAUA,EAAO,OAAOG,EAAU,CAAC,IAAME,EAE9E,OAAIC,IACAH,IAGGG,EACX,EAEMiF,EAAalF,GAAkB,CACjC,IAAMmF,GAAYpF,EAAUC,CAAK,EAC7BoF,GAAOpF,IAAU,IAAM,GAAKA,IAAU,IAAM,GAAKA,IAAU,KAAOmF,GAAY,EAAInF,IAAU,IAAM,EAAI,EACtGqF,GAAUrF,IAAU,IAAMoF,GAAO,EACjCE,GAAS,IAAI,OAAO,QAAUD,GAAU,IAAMD,GAAO,GAAG,EACxDhF,EAAM1E,EAAM,UAAUqJ,CAAM,EAAE,MAAMO,EAAM,EAE9C,GAAI,CAAClF,EACD,KAAM,8BAAgC2E,EAG1C,OAAAA,GAAU3E,EAAI,CAAC,EAAE,OAEV,SAASA,EAAI,CAAC,EAAG,EAAE,CAC9B,EAEMmF,EAAU,CAACvF,EAAeM,GAAsBC,KAAwB,CAC1E,IAAI2C,GAAQ,GACNsC,GAAMzF,EAAUC,CAAK,EAAIO,GAAYD,GACrCmF,EAA4B,CAAC,EAEnC,QAASrG,EAAI,EAAGA,EAAIoG,GAAI,OAAQpG,IAC5BqG,EAAM,KAAK,CAACrG,EAAGoG,GAAIpG,CAAC,CAAC,CAAC,EAG1BqG,EAAM,KAAK,CAACC,EAAGC,KACJA,GAAE,CAAC,EAAE,OAASD,EAAE,CAAC,EAAE,MAC7B,EAED,QAAStG,EAAI,EAAGA,EAAIqG,EAAM,OAAQrG,IAAK,CACnC,IAAMwG,GAAOH,EAAMrG,CAAC,EAAE,CAAC,EAEvB,GAAI1D,EAAM,OAAOqJ,EAAQa,GAAK,MAAM,EAAE,YAAY,IAAMA,GAAK,YAAY,EAAG,CACxE1C,GAAQuC,EAAMrG,CAAC,EAAE,CAAC,EAClB2F,GAAUa,GAAK,OACf,KACJ,CACJ,CAEA,GAAI1C,KAAU,GACV,OAAOA,GAAQ,EAEf,KAAM,4BAA8B6B,CAE5C,EAEMc,EAAe,IAAM,CACvB,GAAInK,EAAM,OAAOqJ,CAAM,IAAMpF,EAAO,OAAOG,CAAO,EAC9C,KAAM,kCAAoCiF,EAG9CA,GACJ,EAWA,IATI7M,IAAgB,UAChB4D,EAAM,GAGN5D,IAAgB,SAChB4D,EAAM,EACNf,EAAQ,GAGP+E,EAAU,EAAGA,EAAUH,EAAO,OAAQG,IACvC,GAAIW,EACId,EAAO,OAAOG,CAAO,IAAM,KAAO,CAACC,EAAU,GAAG,EAChDU,EAAU,GAEVoF,EAAa,MAGjB,QAAQlG,EAAO,OAAOG,CAAO,EAAG,CAC5B,IAAK,IACDhE,EAAMoJ,EAAU,GAAG,EACnB,MACJ,IAAK,IACDK,EAAQ,KAAKtO,GAAAD,EAAAN,GAAA,YAAAA,EAAY,SAAZ,YAAAM,EAAoB,SAApB,YAAAC,EAA4B,eAAeE,IAAAD,EAAAR,GAAA,YAAAA,EAAY,SAAZ,YAAAQ,EAAoB,SAApB,YAAAC,GAA4B,QAAQ,EAC5F,MACJ,IAAK,IACD8N,EAAMC,EAAU,GAAG,EACnB,MACJ,IAAK,IACDnK,EAAQmK,EAAU,GAAG,EACrB,MACJ,IAAK,IACDnK,EAAQwK,EAAQ,KAAKxH,GAAA3G,EAAAV,GAAA,YAAAA,EAAY,SAAZ,YAAAU,EAAoB,SAApB,YAAA2G,EAA4B,iBAAiB8B,IAAAD,EAAAlJ,GAAA,YAAAA,EAAY,SAAZ,YAAAkJ,EAAoB,SAApB,YAAAC,GAA4B,UAAU,EACxG,MACJ,IAAK,IACDpE,EAAOyJ,EAAU,GAAG,EACpB,MACJ,IAAK,IACDhL,EAAO,IAAI,KAAKgL,EAAU,GAAG,CAAC,EAC9BzJ,EAAOvB,EAAK,YAAY,EACxBa,EAAQb,EAAK,SAAS,EAAI,EAC1B4B,EAAM5B,EAAK,QAAQ,EACnB,MACJ,IAAK,IACDA,EAAO,IAAI,MAAMgL,EAAU,GAAG,EAAIzO,IAAiB,GAAK,EACxDgF,EAAOvB,EAAK,YAAY,EACxBa,EAAQb,EAAK,SAAS,EAAI,EAC1B4B,EAAM5B,EAAK,QAAQ,EACnB,MACJ,IAAK,IACG6F,EAAU,GAAG,EACb8F,EAAa,EAEbpF,EAAU,GAGd,MACJ,QACIoF,EAAa,CACrB,CAIR,GAAId,EAASrJ,EAAM,SACfoJ,EAAQpJ,EAAM,OAAOqJ,CAAM,EAEvB,CAAC,OAAO,KAAKD,CAAK,GAClB,KAAM,4CAA8CA,EAU5D,GANIrJ,IAAS,GACTA,EAAO,IAAI,KAAK,EAAE,YAAY,EACvBA,EAAO,MACdA,GAAQ,IAAI,KAAK,EAAE,YAAY,EAAK,IAAI,KAAK,EAAE,YAAY,EAAI,KAAQA,GAASuJ,EAA6B,EAAI,OAGjHC,EAAM,GAAI,CACVlK,EAAQ,EACRe,EAAMmJ,EAEN,EAAG,CAGC,GAFAJ,EAAM7I,GAAoBjB,EAAQ,EAAGU,CAAI,EAErCK,GAAO+I,EACP,MAGJ9J,IACAe,GAAO+I,CAEX,OAAS,GACb,CAIA,GAFA3K,EAAO+B,GAAqB,IAAI,KAAKR,EAAMV,EAAQ,EAAGe,CAAG,CAAC,EAEtD5B,EAAK,YAAY,IAAMuB,GAAQvB,EAAK,SAAS,EAAI,IAAMa,GAASb,EAAK,QAAQ,IAAM4B,EACnF,KAAM,eAGV,OAAO5B,CACX,EAEM4L,GAAiB5L,GAAe,CAClC,IAAM6L,EAAY,IAAI,KAAK7L,EAAK,QAAQ,CAAC,EAEzC6L,EAAU,QAAQA,EAAU,QAAQ,EAAI,GAAKA,EAAU,OAAO,GAAK,EAAE,EACrE,IAAMxB,EAAOwB,EAAU,QAAQ,EAE/B,OAAAA,EAAU,SAAS,CAAC,EACpBA,EAAU,QAAQ,CAAC,EAEZ,KAAK,MAAM,KAAK,OAAOxB,EAAOwB,EAAU,QAAQ,GAAK,KAAQ,EAAI,CAAC,EAAI,CACjF,EAEMC,GAAoB,CAAC7I,EAA6CjD,EAA6B+L,IAAuB,CApvDpI,IAAAjP,EAAAC,EAAAC,EAAAC,EAAAC,EAAA2G,EAAA6B,EAAAC,EAAAqG,EAAAC,EAAAC,EAAAC,EAqvDYlJ,EAAM,eAAe,EACrB,IAAMmJ,EAAcnJ,EAAM,cACpBkB,EAAOiI,EAAY,cAEnBC,EAAYC,GAASnI,CAAI,EAE/B,OAAQlB,EAAM,KAAM,CAChB,IAAK,YAAa,CAKd,GAJAmJ,EAAY,SAAW,IAEPtP,EAAAqH,EAAK,gBAAL,YAAArH,EAAoB,mBAEvB,CACT,IAAMyP,EAAgBD,GAASnI,EAAK,aAAa,EAI3CqI,EAHY,MAAM,MAAKvP,GAAAD,GAAAD,EAAAoH,EAAK,gBAAL,YAAApH,EAAoB,gBAApB,YAAAC,EAAmC,WAAnC,KAAAC,EAA+C,CAAC,CAAC,EAC9C,MAAMsP,EAAgB,CAAC,EAEZ,KAAME,GAAO,CACpD,IAAMC,GAAYD,EAAG,SAASJ,CAAS,EAAE,SAAS,CAAC,EAEnD,MAAO,CAACM,GAAaD,GAAW,iBAAiB,CACrD,CAAC,EAED,GAAIF,EAAsB,CACtB,IAAME,EAAYF,EAAqB,SAASH,CAAS,EAAE,SAAS,CAAC,EAErEK,EAAU,SAAW,EACrBA,EAAU,MAAM,CACpB,MACIzN,EAAmB,CAAE,SAAU,EAAM,CAAC,EACtCmE,EAAWH,CAAK,CAExB,MACIhE,EAAmB,CAAE,SAAU,EAAM,CAAC,EACtCmE,EAAWH,CAAK,EAGpBA,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,UAAW,CAGZ,GAFAmJ,EAAY,SAAW,GAEnBnJ,EAAM,OACNlF,EAAuB,EAAI,WAEXb,EAAAiH,EAAK,gBAAL,YAAAjH,EAAoB,uBAEvB,CACT,IAAMqP,EAAgBD,GAASnI,EAAK,aAAa,EAI3CqI,EAHY,MAAM,MAAK7G,GAAAD,GAAA7B,EAAAM,EAAK,gBAAL,YAAAN,EAAoB,gBAApB,YAAA6B,EAAmC,WAAnC,KAAAC,EAA+C,CAAC,CAAC,EAC9C,MAAM,EAAG4G,CAAa,EAAE,QAAQ,EAErB,KAAME,GAAO,CACpD,IAAMC,GAAYD,EAAG,SAASJ,CAAS,EAAE,SAAS,CAAC,EAEnD,MAAO,CAACM,GAAaD,GAAW,iBAAiB,CACrD,CAAC,EAED,GAAIF,EAAsB,CACtB,IAAME,EAAYF,EAAqB,SAASH,CAAS,EAAE,SAAS,CAAC,EAErEK,EAAU,SAAW,EACrBA,EAAU,MAAM,CACpB,MACIzN,EAAmB,CAAE,SAAU,EAAK,CAAC,EACrCiE,EAAYD,CAAK,CAEzB,MACIhE,EAAmB,CAAE,SAAU,EAAK,CAAC,EACrCiE,EAAYD,CAAK,EAIzBA,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,YAAa,CAId,GAHAmJ,EAAY,SAAW,GACNjI,EAAK,uBAER,CAIV,IAAMyI,EAHQ,MAAM,MAAKX,GAAAD,EAAA7H,EAAK,gBAAL,YAAA6H,EAAoB,WAApB,KAAAC,EAAgC,CAAC,CAAC,EACnC,MAAM,EAAGI,CAAS,EAAE,QAAQ,EAEb,KAAMI,GAAO,CAChD,IAAMC,EAAYD,EAAG,SAAS,CAAC,EAE/B,OAAOE,GAAaD,EAAW,iBAAiB,IAAM,oBAC1D,CAAC,EAED,GAAIE,EAAsB,CACtB,IAAMF,EAAYE,EAAqB,SAAS,CAAC,EAEjDF,EAAU,SAAW,EACrBA,EAAU,MAAM,CACpB,MACIG,EAAgB5J,EAAO,GAAM8I,CAAU,CAE/C,MACIc,EAAgB5J,EAAO,GAAM8I,CAAU,EAG3C9I,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,aAAc,CAIf,GAHAmJ,EAAY,SAAW,GACNjI,EAAK,mBAER,CAGV,IAAMqI,EAFQ,MAAM,MAAKL,GAAAD,EAAA/H,EAAK,gBAAL,YAAA+H,EAAoB,WAApB,KAAAC,EAAgC,CAAC,CAAC,EACnC,MAAME,EAAY,CAAC,EACJ,KAAMI,GAAO,CAChD,IAAMC,EAAYD,EAAG,SAAS,CAAC,EAE/B,MAAO,CAACE,GAAaD,EAAW,iBAAiB,CACrD,CAAC,EAED,GAAIF,EAAsB,CACtB,IAAME,EAAYF,EAAqB,SAAS,CAAC,EAEjDE,EAAU,SAAW,EACrBA,EAAU,MAAM,CACpB,MACIG,EAAgB5J,EAAO,GAAO8I,CAAU,CAEhD,MACIc,EAAgB5J,EAAO,GAAO8I,CAAU,EAG5C9I,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,QACL,IAAK,cAEL,IAAK,QAAS,CACVgB,GAAahB,EAAOjD,CAAI,EACxBiD,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,SAAU,CACXlF,EAAuB,EAAK,EAC5BkF,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,MAAO,CACRqE,GAAUrE,CAAK,EAEf,KACJ,CAEA,IAAK,OAAQ,CACTmJ,EAAY,SAAW,GAEvB,IAAMM,EADavI,EAAK,cACK,SAAS,CAAC,EAAE,SAAS,CAAC,EAE/CwI,GAAaD,EAAW,iBAAiB,EACzCG,EAAgB5J,EAAO,GAAM8I,CAAU,GAEvCW,EAAU,SAAW,EACrBA,EAAU,MAAM,GAGpBzJ,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,MAAO,CACRmJ,EAAY,SAAW,GACvB,IAAMU,EAAa3I,EAAK,cAClBuI,EAAYI,EAAW,SAASA,EAAW,SAAS,OAAS,CAAC,EAAE,SAAS,CAAC,EAE5EH,GAAaD,EAAW,iBAAiB,EACzCG,EAAgB5J,EAAO,GAAO8I,CAAU,GAExCW,EAAU,SAAW,EACrBA,EAAU,MAAM,GAGpBzJ,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,SAAU,CACXmJ,EAAY,SAAW,GAEnBnJ,EAAM,UACNhE,EAAmB,CAAE,SAAU,EAAK,CAAC,EACrCiE,EAAYD,CAAK,GAEjB4J,EAAgB5J,EAAO,GAAM8I,CAAU,EAG3C9I,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,WAAY,CACbmJ,EAAY,SAAW,GAEnBnJ,EAAM,UACNhE,EAAmB,CAAE,SAAU,EAAM,CAAC,EACtCmE,EAAWH,CAAK,GAEhB4J,EAAgB5J,EAAO,GAAO8I,CAAU,EAG5C9I,EAAM,eAAe,EACrB,KACJ,CAEA,QAEI,KACR,CACJ,EAEM4J,EAAkB,CAAC5J,EAA6ChB,EAAe8J,EAAqB,IAAM,CAt9DxH,IAAAjP,EAAAC,EAu9DY,GAAIkF,EACA,GAAIrF,EAAM,iBAAmB,GAAKmP,IAAe,EAC7C9M,EAAmB,CAAE,SAAU,EAAK,CAAC,EACrCiE,EAAYD,CAAK,MACd,CACH,IAAM8J,GAAqBjQ,EAAAS,EAAW,UAAX,YAAAT,EAAoB,SAASiP,EAAa,GAC/DiB,EAAQ9I,GAAK6I,EAAoB,6CAA6C,EAC9EL,EAAYM,EAAMA,EAAM,OAAS,CAAC,EAExCN,EAAU,SAAW,EACrBA,EAAU,MAAM,CACpB,SAEI9P,EAAM,iBAAmB,GAAKmP,IAAgBnP,EAAM,eAA4B,EAChFqC,EAAmB,CAAE,SAAU,EAAM,CAAC,EACtCmE,EAAWH,CAAK,MACb,CACH,IAAMgK,GAAqBlQ,EAAAQ,EAAW,UAAX,YAAAR,EAAoB,SAASgP,EAAa,GAC/DW,EAAYQ,EAAWD,EAAoB,6CAA6C,EAE9FP,EAAU,SAAW,EACrBA,EAAU,MAAM,CACpB,CAER,EAEMS,GAAqB,CAAClK,EAA6C+F,IAAkB,CAj/DnG,IAAAlM,EAAAC,EAAAC,EAAAC,EAAAC,EAAA2G,EAk/DY,IAAMM,EAAOlB,EAAM,cAEnB,OAAQA,EAAM,KAAM,CAChB,IAAK,UAEL,IAAK,YAAa,CACdkB,EAAK,SAAW,GAChB,IAAMiJ,EAAajJ,EAAK,cAClB2I,EAAaM,GAAA,YAAAA,EAAY,cACzBC,EAAYpK,EAAM,OAAS,UAAa6J,GAAA,YAAAA,EAAY,uBAAkDA,GAAA,YAAAA,EAAY,mBAClHQ,EAAc,MAAM,MAAKvQ,GAAAD,EAAAsQ,GAAA,YAAAA,EAAY,gBAAZ,YAAAtQ,EAA2B,WAA3B,KAAAC,EAAuC,CAAC,CAAC,EAAE,QAAQqQ,CAAU,EACtFG,EAAsBF,GAAA,YAAAA,EAAW,SAASC,GAC1CE,EAAgBD,GAAA,YAAAA,EAAqB,SAAS,GAEhDC,IACAA,EAAc,SAAW,EACzBA,EAAc,MAAM,GAGxBvK,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,YAAa,CACdkB,EAAK,SAAW,GAChB,IAAMsJ,GAAWxQ,GAAAD,EAAAmH,EAAK,gBAAL,YAAAnH,EAAoB,yBAApB,YAAAC,EAA4C,SAAS,GAElEwQ,GACCA,EAAyB,SAAW,EACpCA,EAAyB,MAAM,IAEhCxO,EAAmB,CAAE,SAAU,EAAK,CAAC,EACrCiE,EAAYD,CAAK,GAGrBA,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,aAAc,CACfkB,EAAK,SAAW,GAChB,IAAMuJ,GAAW7J,GAAA3G,EAAAiH,EAAK,gBAAL,YAAAjH,EAAoB,qBAApB,YAAA2G,EAAwC,SAAS,GAE9D6J,GACCA,EAAyB,SAAW,EACpCA,EAAyB,MAAM,IAEhCzO,EAAmB,CAAE,SAAU,EAAM,CAAC,EACtCmE,EAAWH,CAAK,GAGpBA,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,OACL,IAAK,MACD,MAEJ,IAAK,SAAU,CACX,GAAIA,EAAM,SAAU,OAEpBhE,EAAmB,CAAE,SAAU,EAAK,CAAC,EACrCiE,EAAYD,CAAK,EAEjB,KACJ,CAEA,IAAK,WAAY,CACb,GAAIA,EAAM,SAAU,OAEpBhE,EAAmB,CAAE,SAAU,EAAM,CAAC,EACtCmE,EAAWH,CAAK,EAEhB,KACJ,CAEA,IAAK,QACL,IAAK,cAEL,IAAK,QAAS,CACV8F,GAAc9F,EAAO+F,CAAK,EAC1B/F,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,SAAU,CACXlF,EAAuB,EAAK,EAC5BkF,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,MAAO,CACRqE,GAAUrE,CAAK,EACf,KACJ,CAEA,QAEI,KACR,CACJ,EAEM0K,GAAoB,CAAC1K,EAA6C1B,IAA4B,CAzlE5G,IAAAzE,EAAAC,EAAAC,EAAAC,EAAAC,EAAA2G,EA0lEY,IAAMM,EAAOlB,EAAM,cAEnB,OAAQA,EAAM,KAAM,CAChB,IAAK,UAEL,IAAK,YAAa,CACdkB,EAAK,SAAW,GAChB,IAAMiJ,EAAajJ,EAAK,cAClB2I,EAAaM,GAAA,YAAAA,EAAY,cACzBC,EAAYpK,EAAM,OAAS,UAAa6J,GAAA,YAAAA,EAAY,uBAAkDA,GAAA,YAAAA,EAAY,mBAClHQ,EAAc,MAAM,MAAKvQ,GAAAD,EAAAsQ,GAAA,YAAAA,EAAY,gBAAZ,YAAAtQ,EAA2B,WAA3B,KAAAC,EAAuC,CAAC,CAAC,EAAE,QAAQqQ,CAAU,EACtFG,EAAsBF,GAAA,YAAAA,EAAW,SAASC,GAC1CE,EAAgBD,GAAA,YAAAA,EAAqB,SAAS,GAEhDC,IACAA,EAAc,SAAW,EACzBA,EAAc,MAAM,GAGxBvK,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,YAAa,CACdkB,EAAK,SAAW,GAChB,IAAMsJ,GAAWxQ,GAAAD,EAAAmH,EAAK,gBAAL,YAAAnH,EAAoB,yBAApB,YAAAC,EAA4C,SAAS,GAElEwQ,GACCA,EAAyB,SAAW,EACpCA,EAAyB,MAAM,IAEhCxO,EAAmB,CAAE,SAAU,EAAK,CAAC,EACrCiE,EAAYD,CAAK,GAGrBA,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,aAAc,CACfkB,EAAK,SAAW,GAChB,IAAMuJ,GAAW7J,GAAA3G,EAAAiH,EAAK,gBAAL,YAAAjH,EAAoB,qBAApB,YAAA2G,EAAwC,SAAS,GAE9D6J,GACCA,EAAyB,SAAW,EACpCA,EAAyB,MAAM,IAEhCzO,EAAmB,CAAE,SAAU,EAAM,CAAC,EACtCmE,EAAWH,CAAK,GAGpBA,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,OACL,IAAK,MACD,MAEJ,IAAK,SAAU,CACX,GAAIA,EAAM,SAAU,OAEpBhE,EAAmB,CAAE,SAAU,EAAK,CAAC,EACrCiE,EAAYD,CAAK,EAEjB,KACJ,CAEA,IAAK,WAAY,CACb,GAAIA,EAAM,SAAU,OAEpBhE,EAAmB,CAAE,SAAU,EAAM,CAAC,EACtCmE,EAAWH,CAAK,EAEhB,KACJ,CAEA,IAAK,QACL,IAAK,cAEL,IAAK,QAAS,CACViG,GAAajG,EAAO1B,CAAI,EACxB0B,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,SAAU,CACXlF,EAAuB,EAAK,EAC5BkF,EAAM,eAAe,EACrB,KACJ,CAEA,IAAK,MAAO,CACRqE,GAAUrE,CAAK,EACf,KACJ,CAEA,QAEI,KACR,CACJ,EAEMgG,GAAc,IAAM,CAjsElC,IAAAnM,EAAAC,EAksEY,IAAIoH,EAAuB,KAE3B,GAAInF,GAAiB,CACjB,GAAIA,GAAgB,OAChB4O,GAAkB,EAEd5O,GAAgB,SACZ3B,GAAc,WACdP,EAAAO,GAAc,UAAd,MAAAP,EAAuB,WAAW,QAAQ,SAG1CM,GAAc,WACdL,EAAAK,GAAc,UAAd,MAAAL,EAAuB,WAAW,QAAQ,aAG/C,CACH,GAAI,CAACQ,EAAW,QACZ,OAGJ,GAAIyB,GAAgB,SAAU,CAC1B,IAAIgO,EAEAhP,IAAgB,QAChBgP,EAAQ9I,GAAK3G,EAAW,QAAS,0FAA0F,EACpHS,IAAgB,OACvBgP,EAAQ9I,GAAK3G,EAAW,QAAS,yFAAyF,EAE1HyP,EAAQ9I,GAAK3G,EAAW,QAAS,yFAAyF,EAG1HyP,GAASA,EAAM,OAAS,IACxB7I,EAAO6I,EAAMA,EAAM,OAAS,CAAC,EAErC,MACQhP,IAAgB,QAChBmG,EAAO+I,EAAW3P,EAAW,QAAS,0FAA0F,EACzHS,IAAgB,OACvBmG,EAAO+I,EAAW3P,EAAW,QAAS,yFAAyF,EAE/H4G,EAAO+I,EAAW3P,EAAW,QAAS,yFAAyF,EAInI4G,IACCA,EAAqB,SAAW,EAChCA,EAAqB,MAAM,EAEpC,CAEAlF,EAAmB,IAAI,CAC3B,MACI2O,GAAkB,CAE1B,EAEMA,GAAoB,IAAM,CAC5B,IAAIzJ,EAEJ,GAAK5G,EAAW,QAIhB,IAAIS,IAAgB,QAAS,CACzB,IAAMgP,EAAQ9I,GAAK3G,EAAW,QAAS,4DAA4D,EAC7FsQ,EAAeX,EAAW3P,EAAW,QAAS,oFAAoF,EAExIyP,EAAM,QAAS7I,GAAWA,EAAqB,SAAW,EAAG,EAC7DA,EAAO0J,GAAgBb,EAAM,CAAC,CAClC,SAAWhP,IAAgB,OAAQ,CAC/B,IAAMgP,EAAQ9I,GAAK3G,EAAW,QAAS,2DAA2D,EAC5FsQ,EAAeX,EAAW3P,EAAW,QAAS,mFAAmF,EAEvIyP,EAAM,QAAS7I,GAAWA,EAAqB,SAAW,EAAG,EAC7DA,EAAO0J,GAAgBb,EAAM,CAAC,CAClC,SACI7I,EAAO+I,EAAW3P,EAAW,QAAS,qDAAqD,EAEvF,CAAC4G,EAAM,CACP,IAAM2J,EAAYZ,EAAW3P,EAAW,QAAS,wGAAwG,EAErJuQ,EAAW3J,EAAO2J,EACjB3J,EAAO+I,EAAW3P,EAAW,QAAS,0GAA0G,CACzJ,CAGA4G,IACCA,EAAqB,SAAW,GAEzC,EAEMmD,GAAarE,GAA+B,CAG9C,GAFAA,EAAM,eAAe,EAEjB,CAAC1F,EAAW,QACZ,OAGJ,IAAMwQ,EAAoBC,GAAqBzQ,EAAW,OAAO,EAEjE,GAAIwQ,GAAqBA,EAAkB,OAAS,EAChD,GAAI,CAAC,SAAS,cACVA,EAAkB,CAAC,EAAE,MAAM,MACxB,CACH,IAAME,EAAeF,EAAkB,QAAQ,SAAS,aAA4B,EAEpF,GAAI9K,EAAM,SACFgL,IAAiB,IAAMA,IAAiB,EAAGF,EAAkBA,EAAkB,OAAS,CAAC,EAAE,MAAM,EAChGA,EAAkBE,EAAe,CAAC,EAAE,MAAM,UAE3CA,IAAiB,GACjB,GAAIrR,EAAM,SACNmR,EAAkB,CAAC,EAAE,MAAM,MACxB,CACH,IAAIG,EAAeH,EAAkB,UAAWtB,GAAOA,EAAG,UAAY,MAAM,EAExEyB,IAAiB,KACjBA,EAAeH,EAAkB,UAAWtB,GAAOA,EAAG,UAAY,QAAQ,GAG1EyB,IAAiB,GACjBH,EAAkBG,CAAY,EAAE,MAAM,EAEtCH,EAAkB,CAAC,EAAE,MAAM,CAEnC,MACOE,IAAiBF,EAAkB,OAAS,EACnDA,EAAkB,CAAC,EAAE,MAAM,EAE3BA,EAAkBE,EAAe,CAAC,EAAE,MAAM,CAGtD,CAER,EAEME,GAAgBnF,GAAmB,CA10EjD,IAAAlM,EAAAC,EA20EY,OAAOA,GAAAD,EAAAN,GAAA,YAAAA,EAAY,SAAZ,YAAAM,EAAoB,SAApB,YAAAC,EAA4B,WAAWiM,GAAA,KAAAA,EAAS9K,EAC3D,EAEMkQ,GAAU,IACLhQ,EAGLiQ,GAAe,IAAM,CACvBhK,GAAY,IAAI,EAChBxG,GAAiB,EAAK,EACtBE,EAAuB,EAAK,CAChC,EAEMuQ,GAAWrL,GAA+C,CAC5D,GAAI,CACAvF,GAAe,QAAUuF,EAAM,OAAO,eACtCtF,GAAa,QAAUsF,EAAM,OAAO,aAEpCpF,GAAiB,CAACgH,GAAQ5B,EAAM,OAAO,KAAK,CAAC,EAC7C,IAAMzB,EAAQnC,EAAW4D,EAAM,OAAO,KAAK,EAEvCsG,GAAiB/H,CAAK,IACtB/D,GAAW,QAAU,GACrB4G,GAAYzH,EAAM,kBAAoB,SAAWkI,GAAYtD,CAAK,EAAIA,CAAK,EAC3E2H,GAAsB,EAE9B,OAAQ9D,EAAA,CAER,CAEIzI,EAAM,SACNA,EAAM,QAAQqG,CAAK,CAE3B,EAEMsL,GAAe,IAAM,CACnB3R,EAAM,aAAeyG,EAAU,GAAK,CAACvF,GACrCC,EAAuB,EAAI,CAEnC,EAEMyQ,GAAkBvL,GAAiD,CAp3EjF,IAAAnG,EAq3EY,GAAImG,EAAM,OAAS,aAAenF,EAC9BwJ,GAAUrE,CAAK,UACRA,EAAM,OAAS,aAAe,CAACnF,EACtCC,EAAuB,EAAI,UACpBkF,EAAM,OAAS,SAClBnF,IACAC,EAAuB,EAAK,EAC5BkF,EAAM,eAAe,EACrBA,EAAM,gBAAgB,WAEnBA,EAAM,OAAS,MAClBnF,GAAuBP,EAAW,SACjCyQ,GAAqBzQ,EAAW,OAAO,EAAoB,QAASkP,GAAQA,EAAG,SAAW,EAAG,EAG9F3O,GACAC,EAAuB,EAAK,UAEzBkF,EAAM,OAAS,QAAS,CAC/B,GAAIrG,EAAM,aAAgBqG,EAAM,OAA4B,QAAU,QAASnG,EAAAmG,EAAM,OAA4B,QAAlC,YAAAnG,EAAyC,UAAW,GAC/H,GAAI,CACA,IAAM0E,EAAQnC,EAAY4D,EAAM,OAA4B,KAAK,EAE7DsG,GAAiB/H,CAAK,GACtBzD,EAAuB,EAAK,CAEpC,OAAQsH,EAAA,CAER,CAGAzI,EAAM,WACNA,EAAM,UAAUqG,CAAK,CAE7B,CACJ,EAEMwL,GAAgBxL,GAA8C,CAC5DrG,EAAM,kBAAoByG,EAAU,GACpCtF,EAAuB,EAAI,EAG3BnB,EAAM,SACNA,EAAM,QAAQqG,CAAK,CAE3B,EAEMyL,GAAezL,GAA8C,CAC3DrG,EAAM,QACNA,EAAM,OAAO,CACT,cAAeqG,EACf,MAAOA,EAAM,OAAO,KACxB,CAAC,EAGDrG,EAAM,gBACNqG,EAAM,OAAO,MAAQ6B,GAAYxF,CAAa,GAG9C1B,IACAC,GAAiB,CAACgH,GAAQ5B,EAAM,OAAO,KAAK,CAAC,CAErD,EAEM0L,GAAiB,IAAM,CAr7ErC,IAAA7R,EAAAC,EAAAC,EAAAC,EAw7EY,GAFAgM,GAAY,GAERhM,GAAAD,GAAAD,GAAAD,EAAAQ,IAAA,YAAAA,GAAW,UAAX,YAAAR,EAAoB,eAApB,YAAAC,EAAkC,UAAlC,YAAAC,EAA2C,aAA3C,MAAAC,EAAuD,QAAS,CAChE,IAAM2R,EAAUtR,GAAU,QAAQ,aAAa,QAAQ,WAAW,QAE9DT,IAAA,MAAAA,GAAY,UACZ+R,EAAQ,MAAM,MAAQC,GAAcD,CAAO,EAAI,KAC/CA,EAAQ,MAAM,SAAWC,GAAchS,GAAW,OAAO,EAAI,KAErE,CACJ,EAEMiS,GAAsBC,GAAuB,CAC/ChR,EAAuBgR,CAAS,CACpC,EAEM1G,GAAiB,UAAc,IAAM,CAt8EnD,IAAAvL,EAAAC,EAu8EY,IAAIiS,EAAY1P,EAEhB,GAAI0P,GAAa,MAAM,QAAQA,CAAS,EACpC,GAAI/O,EAAiB,EACjB,GAAI+O,EAAU,SAAW,EACrBA,EAAY,aACLA,EAAU,SAAW,EAC5BA,EAAYA,EAAU,CAAC,MACpB,CACH,IAAM9O,EAAQL,EAAwBmP,EAAU,CAAC,CAAC,EAC5C7O,EAAMN,EAAwBmP,EAAU,CAAC,CAAC,EAC1CC,EAAmB,IAAI,KAAK/O,EAAM,YAAY,EAAGA,EAAM,SAAS,IAAKpD,EAAAF,EAAM,iBAAN,KAAAE,EAAwB,GAAI,CAAC,EAEpG,CAACqD,GAAOA,EAAM8O,EACdD,EAAYA,EAAU,CAAC,EAEvBA,EAAY,IAAI,KAAK7O,EAAI,YAAY,EAAGA,EAAI,SAAS,IAAKpD,EAAAH,EAAM,iBAAN,KAAAG,EAAwB,GAAK,EAAG,CAAC,CAEnG,MACO+C,EAAoB,IAC3BkP,EAAYA,EAAUA,EAAU,OAAS,CAAC,GAIlD,GAAIA,GAAa,OAAOA,GAAc,SAClC,OAAOA,EACJ,CACH,IAAMzM,EAAQ,IAAI,KAElB,OAAI3F,EAAM,SAAWA,EAAM,QAAU2F,EAC1B3F,EAAM,QAGbA,EAAM,SAAWA,EAAM,QAAU2F,EAC1B3F,EAAM,QAGV2F,CACX,CACJ,EAAG,CAACjD,EAAe1C,EAAM,eAAgBA,EAAM,QAASA,EAAM,OAAO,CAAC,EAEhEsS,GAAwB,UAAQ,IAC3BpK,GAAYxF,CAAa,EACjC,CAACA,CAAa,CAAC,EAEZ6P,GAAe,UAAQ,IAAM,CAp/E3C,IAAArS,EAq/EY,IAAMsS,EAAc,CAAC,EAErB,QAASlK,EAAI,EAAGA,IAAKpI,EAAAF,EAAM,iBAAN,KAAAE,EAAwB,GAAIoI,IAAK,CAClD,IAAIrE,GAAS3C,GAAA,KAAAA,EAAgB,GAAKgH,EAC9B3D,EAAOnD,GAAA,KAAAA,EAAe,EAEtByC,EAAQ,KACRA,EAASA,EAAQ,GAAM,EACvBU,EAAOA,EAAO,GAGlB,IAAM8N,EAAQ,CAAC,EACTC,EAAW3N,GAAwBd,EAAOU,CAAI,EAC9CgO,EAAazN,GAAoBjB,EAAOU,CAAI,EAC5CiO,EAAsBxN,GAAwBnB,EAAOU,CAAI,EAC3DkO,EAAQ,EACNlN,EAAQ,IAAI,KACZmN,EAAc,CAAC,EACfC,EAAY,KAAK,MAAMJ,EAAaD,GAAY,CAAC,EAEvD,QAASpK,EAAI,EAAGA,EAAIyK,EAAWzK,IAAK,CAChC,IAAM0K,EAAO,CAAC,EAEd,GAAI1K,GAAK,EAAG,CACR,QAAS2K,EAAIL,EAAsBF,EAAW,EAAGO,GAAKL,EAAqBK,IAAK,CAC5E,IAAM5N,EAAOC,GAAwBrB,EAAOU,CAAI,EAEhDqO,EAAK,KAAK,CACN,IAAKC,EACL,MAAO5N,EAAK,MACZ,KAAMA,EAAK,KACX,WAAY,GACZ,MAAOK,GAAQC,EAAOsN,EAAG5N,EAAK,MAAOA,EAAK,IAAI,EAC9C,WAAYO,GAAaqN,EAAG5N,EAAK,MAAOA,EAAK,KAAM,EAAI,CAC3D,CAAC,CACL,CAEA,IAAM6N,EAAsB,EAAIF,EAAK,OAErC,QAASC,EAAI,EAAGA,EAAIC,EAAqBD,IACrCD,EAAK,KAAK,CACN,IAAKH,EACL,MAAO5O,EACP,KAAMU,EACN,WAAY,GACZ,MAAOe,GAAQC,EAAOkN,EAAO5O,EAAOU,CAAI,EACxC,WAAYiB,GAAaiN,EAAO5O,EAAOU,EAAM,EAAK,CACtD,CAAC,EACDkO,GAER,KACI,SAASI,EAAI,EAAGA,EAAI,EAAGA,IAAK,CACxB,GAAIJ,EAAQF,EAAY,CACpB,IAAMQ,EAAO1N,GAAoBxB,EAAOU,CAAI,EAE5CqO,EAAK,KAAK,CACN,IAAKH,EAAQF,EACb,MAAOQ,EAAK,MACZ,KAAMA,EAAK,KACX,WAAY,GACZ,MAAOzN,GAAQC,EAAOkN,EAAQF,EAAYQ,EAAK,MAAOA,EAAK,IAAI,EAC/D,WAAYvN,GAAaiN,EAAQF,EAAYQ,EAAK,MAAOA,EAAK,KAAM,EAAI,CAC5E,CAAC,CACL,MACIH,EAAK,KAAK,CACN,IAAKH,EACL,MAAO5O,EACP,KAAMU,EACN,WAAY,GACZ,MAAOe,GAAQC,EAAOkN,EAAO5O,EAAOU,CAAI,EACxC,WAAYiB,GAAaiN,EAAO5O,EAAOU,EAAM,EAAK,CACtD,CAAC,EAGLkO,GACJ,CAGJC,EAAY,KAAK9D,GAAc,IAAI,KAAKgE,EAAK,CAAC,EAAE,KAAMA,EAAK,CAAC,EAAE,MAAOA,EAAK,CAAC,EAAE,GAAG,CAAC,CAAC,EAElFP,EAAM,KAAKO,CAAI,CACnB,CAEAR,EAAY,KAAK,CACb,MAAOvO,EACP,KAAMU,EACN,MAAO8N,EACP,YAAaK,CACjB,CAAC,CACL,CAEA,OAAON,CACX,EAAG,CAAClR,EAAcE,EAAaxB,EAAM,eAAgBA,EAAM,QAASA,EAAM,QAASA,EAAM,cAAeA,EAAM,aAAcA,EAAM,iBAAiB,CAAC,EAE9IoT,GAAwB,cAC1B,CAAChH,EAAgB,IACNmG,GAAOnG,CAAK,EAEvB,CAACmG,EAAM,CACX,EAEMc,GAA0B,UAAQ,IAAM,CA1lFtD,IAAAnT,EAAAC,EA2lFY,IAAMmT,EAAyB,CAAC,EAE1BC,EAAqBC,GAAsB,CAC7C,GAAIxT,EAAM,QAAS,CACf,IAAMyT,EAAWzT,EAAM,QAAQ,SAAS,EAClC0T,EAAU1T,EAAM,QAAQ,YAAY,EAE1C,GAAKwB,EAAyBkS,GAAYlS,IAAgBkS,GAAWF,EAAYC,EAC7E,MAAO,EAEf,CAEA,GAAIzT,EAAM,QAAS,CACf,IAAM2T,EAAW3T,EAAM,QAAQ,SAAS,EAClC4T,EAAU5T,EAAM,QAAQ,YAAY,EAE1C,GAAKwB,EAAyBoS,GAAYpS,IAAgBoS,GAAWJ,EAAYG,EAC7E,MAAO,EAEf,CAEA,MAAO,EACX,EAEA,QAASrL,EAAI,EAAGA,GAAK,GAAIA,IACrBgL,EAAuB,KAAK,CACxB,OAAOnT,GAAAD,EAAAN,GAAA,YAAAA,EAAY,SAAZ,YAAAM,EAAoB,SAApB,YAAAC,EAA4B,gBAAgBmI,GACnD,WAAYiL,EAAkBjL,CAAC,CACnC,CAAC,EAGL,OAAOgL,CACX,EAAG,CAAC9R,EAAaxB,EAAM,QAASA,EAAM,OAAO,CAAC,EAExC6T,GAAyB,UAAQ,IAAM,CACzC,IAAMC,EAAwB,CAAC,EACzBC,EAAQvS,EAA2BA,EAAyB,GAE5DwS,EAAoBC,GAClB,EAAAjU,EAAM,SACFA,EAAM,QAAQ,YAAY,EAAIiU,GAGlCjU,EAAM,SACFA,EAAM,QAAQ,YAAY,EAAIiU,GAM1C,QAAS3L,EAAI,EAAGA,EAAI,GAAIA,IACpBwL,EAAsB,KAAK,CAAE,MAAOC,EAAOzL,EAAG,WAAY0L,EAAiBD,EAAOzL,CAAC,CAAE,CAAC,EAG1F,OAAOwL,CACX,EAAG,CAACtS,EAAaxB,EAAM,QAASA,EAAM,OAAO,CAAC,EAExCkU,GAAiB,UAAQ,IAAM,CAppF7C,IAAAhU,EAAAC,EAAAC,EAAAC,EAqpFY,IAAM6T,EAAW,CAAC,EAEdjP,GAAW9E,GAAAD,EAAAN,GAAA,YAAAA,EAAY,SAAZ,YAAAM,EAAoB,SAApB,YAAAC,EAA4B,eAE3C,QAASmI,EAAI,EAAGA,EAAI,EAAGA,IACnB4L,EAAS,MAAK7T,GAAAD,EAAAR,GAAA,YAAAA,EAAY,SAAZ,YAAAQ,EAAoB,SAApB,YAAAC,EAA4B,YAAY4E,EAAS,EAC/DA,EAAWA,GAAY,EAAI,EAAI,EAAEA,EAGrC,OAAOiP,CACX,EAAG,CAAC,CAAC,EAECtL,GAAoB,UAAQ,IAAM,CAjqFhD,IAAA1I,EAAAC,EAkqFY,OAAOH,EAAM,cAAcG,GAAAD,EAAAN,GAAA,YAAAA,EAAY,SAAZ,YAAAM,EAAoB,SAApB,YAAAC,EAA4B,WAC3D,EAAG,CAACH,EAAM,YAAYE,GAAAN,GAAA,YAAAA,EAAY,SAAZ,YAAAM,GAAoB,MAAM,CAAC,EAE3CiU,GAA6B,UAAQ,IACnCzS,GAAe,GAAK1B,EAAM,YAAc,KACjC0B,EAAc,GAGlBA,EAAc,GAAK,IAAMA,EAAcA,EAC/C,CAACA,EAAa1B,EAAM,UAAU,CAAC,EAE5BoU,GAA+B,UAAQ,IAClCxS,EAAgB,GAAK,IAAMA,EAAgBA,EACnD,CAACA,CAAa,CAAC,EAEZyS,GAA+B,UAAQ,IAClCvS,EAAgB,GAAK,IAAMA,EAAgBA,EACnD,CAACA,CAAa,CAAC,EAEZwS,GAAmB,UAAQ,IAAM,CArrF/C,IAAApU,EAAAC,EAsrFY,OAAOA,GAAAD,EAAAN,GAAA,YAAAA,EAAY,SAAZ,YAAAM,EAAoB,SAApB,YAAAC,EAA4B,KACvC,EAAG,EAACA,GAAAP,GAAA,YAAAA,EAAY,SAAZ,YAAAO,GAAoB,MAAM,CAAC,EAEzBoU,GAAmB,UAAQ,IAAM,CAzrF/C,IAAArU,EAAAC,EA0rFY,OAAOA,GAAAD,EAAAN,GAAA,YAAAA,EAAY,SAAZ,YAAAM,EAAoB,SAApB,YAAAC,EAA4B,KACvC,EAAG,EAACC,GAAAR,GAAA,YAAAA,EAAY,SAAZ,YAAAQ,GAAoB,MAAM,CAAC,EAEzBoU,GAAwB,UAAQ,IAAM,CA7rFpD,IAAAtU,EAAAC,EA8rFY,OAAOA,GAAAD,EAAAN,GAAA,YAAAA,EAAY,SAAZ,YAAAM,EAAoB,SAApB,YAAAC,EAA4B,UACvC,EAAG,EAACE,GAAAT,GAAA,YAAAA,EAAY,SAAZ,YAAAS,GAAoB,MAAM,CAAC,EAEzBoU,GAAiC,UAAQ,IACnCzU,EAAM,eAA4B,GAAK,CAAC,CAACA,EAAM,SACxD,CAACA,EAAM,eAAgBA,EAAM,QAAQ,CAAC,EAEnC0U,GAAkB,UAAQ,IAAM,CArsF9C,IAAAxU,EAAAC,EAAAC,EAAAC,EAssFY,OAAI2B,GACO7B,GAAAD,EAAAN,GAAA,YAAAA,EAAY,SAAZ,YAAAM,EAAoB,SAApB,YAAAC,EAA4B,IAGhCE,GAAAD,EAAAR,GAAA,YAAAA,EAAY,SAAZ,YAAAQ,EAAoB,SAApB,YAAAC,EAA4B,EACvC,EAAG,CAAC2B,GAAI1B,GAAAV,GAAA,YAAAA,EAAY,SAAZ,YAAAU,GAAoB,MAAM,CAAC,EAGnC,OAAAqU,GAAe,IAAM,CACjB,WAAW,IAAM,CACR3U,EAAM,UACPgR,GAAkB,CAE1B,EAAG,GAAG,CACV,CAAC,EAEK,YAAU,IAAM,CAttF9B,IAAA9Q,GAutFgBA,EAAAK,EAAS,UAAT,MAAAL,EAAkB,WAAW,SAAWY,GAAe,SAAW,MAAQC,GAAa,SAAW,OAClGR,EAAS,QAAQ,WAAW,QAAQ,eAAiBO,GAAe,QACpEP,EAAS,QAAQ,WAAW,QAAQ,aAAeQ,GAAa,QAChED,GAAe,QAAU,KACzBC,GAAa,QAAU,KAE/B,EAAG,CAACuR,EAAe,CAAC,EAEd,YAAU,IAAM,CAClBjG,GAAY,CAChB,EAAG,CAACjL,EAAamR,EAAM,CAAC,EAElB,YAAU,IAAM,CAClB,GAAIvS,EAAM,QAAU,OAAW,OAE/BuM,GAAsB,EACtB,IAAMqI,EAAgB,OAAO5U,EAAM,OAAU,SAAWyC,EAAWzC,EAAM,KAAK,EAAIA,EAAM,MAExF2C,GAAiBiS,CAAY,EAEzB,CAAC/T,GAAW,SAAWN,EAAS,SAAWA,EAAS,QAAQ,WAAW,UACvEA,EAAS,QAAQ,WAAW,QAAQ,MAAQ2H,GAAY0M,CAAY,GAGxE/T,GAAW,QAAU,EACzB,EAAG,CAACb,EAAM,KAAK,CAAC,EAEV,YAAU,IAAM,CAClB,GAAIA,EAAM,QAAU,OAAW,OAE/BuM,GAAsB,EACtB,IAAMqI,EAAgB,OAAO5U,EAAM,cAAiB,SAAWyC,EAAWzC,EAAM,YAAY,EAAIA,EAAM,aAEtG2C,GAAiBiS,CAAY,EAEzB,CAAC/T,GAAW,SAAWN,EAAS,SAAWA,EAAS,QAAQ,WAAW,UACvEA,EAAS,QAAQ,WAAW,QAAQ,MAAQ2H,GAAY0M,CAAY,GAGxE/T,GAAW,QAAU,EACzB,EAAG,CAACb,EAAM,YAAY,CAAC,EAEjB,YAAU,IAAM,CACdiI,GAAQvF,CAAa,GACrBzB,GAAiB,EAAK,CAE9B,EAAG,CAACyB,CAAa,CAAC,EAEZ,YAAU,IAAM,CACd1C,EAAM,UAAYkB,GAClBqJ,GAAgB,CAExB,EAAG,CAACvI,CAAE,CAAC,EAED,YAAU,IAAM,CACd,CAACd,GAAuBoB,IACxBC,GAAoB,IAAI,CAEhC,EAAG,CAACrB,CAAmB,CAAC,EAEjB,CACH,MAAA0B,GACA,SAAArC,EACA,cAAAC,GACA,cAAAC,GACA,UAAAC,GACA,WAAAC,EAEA,gBAAA2R,GACA,gBAAAkC,GACA,WAAAF,GACA,WAAAC,GACA,SAAAL,GACA,OAAA3B,GACA,gBAAAa,GACA,QAAA5B,GACA,aAAAD,GACA,kBAAAnL,GACA,kBAAAG,GACA,kBAAA8M,GACA,iBAAAQ,GACA,kBAAA/M,GACA,iBAAAC,GACA,aAAAM,GACA,cAAA8E,GACA,aAAAG,GACA,kBAAA4C,GACA,mBAAAqB,GACA,kBAAAQ,GACA,cAAA7J,GACA,yBAAAuN,GACA,qBAAAN,GACA,uBAAAC,GACA,uBAAAC,GACA,UAAAK,GACA,6BAAAxK,GACA,2BAAAI,GACA,8BAAAE,GACA,yBAAAC,GACA,2BAAAE,GACA,yBAAAC,GACA,WAAAsB,GACA,mBAAAlC,GACA,mBAAAC,GACA,aAAAwH,GACA,QAAAC,GACA,aAAAC,GACA,eAAAC,GACA,aAAAC,GACA,YAAAC,GACA,eAAAC,GACA,mBAAAG,GAEA,iBAAA7O,EACA,WAAAR,GACA,WAAAJ,EACA,aAAAO,GACA,gBAAAgB,GACA,eAAAU,GACA,eAAAjB,GACA,qBAAAM,EACJ,CACJ,CACJ,CAAC","names":["withHeadless","useMountEffect","find","findSingle","getAttribute","getFocusableElements","getIndex","getOuterWidth","isDate","isEmpty","isNotEmpty","React","defaultProps","TICKS_TO_1970","primereact","useDatePicker","withHeadless","defaultProps","props","elementRef","_a","_b","_c","_d","_e","inputRef","nextButtonRef","prevButtonRef","portalRef","overlayRef","timePickerTimer","typeUpdate","selectionStart","selectionEnd","showClearIcon","setShowClearIcon","overlayVisibleState","setOverlayVisibleState","currentView","setCurrentView","currentMonth","setCurrentMonth","currentYear","setCurrentYear","currentHour","setCurrentHour","currentMinute","setCurrentMinute","currentSecond","setCurrentSecond","pm","setPM","focusedDateIndex","setFocusedDateIndex","navigationState","setNavigationState","hoveredDateState","setHoveredDateState","getInitialValue","parseValue","rawValueState","setRawValueState","state","isSelected","dateMeta","isSingleSelection","isDateEquals","parseValueForComparison","isMultipleSelection","selected","date","isRangeSelection","start","end","isDateBetween","isInHoverRange","hoverDateObj","currentDateObj","rangeStart","rangeEnd","currentTime","onDateCellMouseEnter","isMonthSelected","month","isDate","currentValue","parsedDate","parsedStart","parsedEnd","currentDate","startDate","endDate","isYearSelected","year","value","dateValue","sundayIndex","getFirstDayOfMonthIndex","day","dayIndex","getDaysCountInMonth","daylightSavingAdjust","getDaysCountInPrevMonth","prev","getPreviousMonthAndYear","m","y","getNextMonthAndYear","isToday","today","isSelectable","otherMonth","validMin","validMax","validDate","validDay","isDateDisabled","isDayDisabled","onPrevButtonClick","event","navBackward","onNextButtonClick","navForward","isEnabled","decrementYear","decrementDecade","incrementYear","incrementDecade","switchToMonthView","switchToYearView","updateCurrentTimeMeta","_f","onButtonClick","disabledDate","weekdayNumber","onDateSelect","find","cell","newValue","updateModel","shouldSelectDate","selectDate","modelVal","writeValue","stringArrValue","formatDateTime","formatted","isEmpty","formatValue","formatDate","formattedValue","singleVal","i","v","dateAsString","e","isNotEmpty","formatTime","datePattern","format","_g","_h","iFormat","lookAhead","match","matches","formatNumber","len","num","formatName","shortNames","longNames","output","literal","hours","minutes","seconds","clearTimePickerTimer","onTodayButtonClick","onClearButtonClick","onTimePickerElementMouseDown","type","direction","repeat","onTimePickerElementMouseUp","updateModelTime","onTimePickerElementMouseLeave","onContainerButtonKeydown","trapFocus","onTimePickerElementKeyDown","onTimePickerElementKeyUp","interval","incrementHour","decrementHour","incrementMinute","decrementMinute","incrementSecond","decrementSecond","convertTo24Hour","validateTime","hour","minute","second","viewDate","convertedHour","valueDateString","prevHour","newHour","newPM","newMinute","newSecond","valueDate","toggleAMPM","onMonthSelect","index","updateFocus","onYearSelect","updateCurrentMetaData","_viewDate","timeDate","selectedDate","isValidSelection","isValid","text","parseDateTime","tokens","dateArray","token","parsedValue","parts","populateTime","dateFormat","parseDate","timeString","ampm","time","parseTime","validTokenLength","regex","h","s","dim","extra","iValue","shortYearCutoff","doy","getNumber","isDoubled","size","minSize","digits","getName","arr","names","a","b","name","checkLiteral","getWeekNumber","checkDate","onDateCellKeydown","groupIndex","_i","_j","_k","_l","cellContent","cellIndex","getIndex","tableRowIndex","hasNextFocusableDate","el","focusCell","getAttribute","hasPrevFocusableDate","navigateToMonth","currentRow","prevMonthContainer","cells","nextMonthContainer","findSingle","onMonthCellKeydown","parentCell","targetRow","columnIndex","targetCellContainer","targetElement","prevCell","nextCell","onYearCellKeydown","initFocusableCell","selectedCell","todayCell","focusableElements","getFocusableElements","focusedIndex","elementIndex","getMonthName","getYear","onClearClick","onInput","onInputClick","onInputKeyDown","onInputFocus","onInputBlur","onOverlayEnter","element","getOuterWidth","changeVisibleState","isVisible","propValue","lastVisibleMonth","inputFieldValue","months","monthsArray","dates","firstDay","daysLength","prevMonthDaysLength","dayNo","weekNumbers","monthRows","week","j","remainingDaysLength","next","getIndexedMonth","monthPickerValues","monthPickerValuesArray","isSelectableMonth","baseMonth","minMonth","minYear","maxMonth","maxYear","yearPickerValues","yearPickerValuesArray","base","isSelectableYear","baseYear","weekDays","formattedCurrentHour","formattedCurrentMinute","formattedCurrentSecond","todayLabel","clearLabel","weekHeaderLabel","switchViewButtonDisabled","ampmLabel","useMountEffect","initialValue"]}
|
|
File without changes
|
package/dialog/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/dialog/useDialog.ts","../../src/dialog/useDialog.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener, useMountEffect, useUnmountEffect, useUpdateEffect } from '@primereact/hooks';\nimport { $dt } from '@primeuix/styled';\nimport { addClass, addStyle, blockBodyScroll, focus, getOuterHeight, getOuterWidth, getViewport, unblockBodyScroll, ZIndex } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useDialog.props';\n\nexport const useDialog = withHeadless({\n name: 'useDialog',\n defaultProps,\n setup: ({ props, $primereact }) => {\n const [openState, setOpenState] = React.useState<boolean>(props.open ?? props.defaultOpen ?? false);\n const [maximizedState, setMaximizedState] = React.useState<boolean>(false);\n const [maskVisibleState, setMaskVisibleState] = React.useState<boolean>(props.open ?? props.defaultOpen ?? false);\n const maskRef = React.useRef<HTMLDivElement | null>(null);\n const motionRef = React.useRef<{ elementRef: React.RefObject<HTMLDivElement> } | null>(null);\n const maximizableButtonRef = React.useRef<{ elementRef: React.RefObject<HTMLButtonElement> } | null>(null);\n const closeButtonRef = React.useRef<{ elementRef: React.RefObject<HTMLButtonElement> } | null>(null);\n const maskMouseDownTarget = React.useRef<EventTarget | null>(null);\n const target = React.useRef<HTMLElement | null>(null);\n const lastPageX = React.useRef<number | null>(null);\n const lastPageY = React.useRef<number | null>(null);\n const dragging = React.useRef(false);\n\n const state = {\n opened: openState,\n maximized: maximizedState,\n maskVisible: maskVisibleState\n };\n\n useMountEffect(() => {\n if (props.open || props.defaultOpen) {\n setMaskVisibleState(true);\n }\n });\n\n useUpdateEffect(() => {\n if (props.open || (props.defaultOpen && !maskVisibleState)) {\n setMaskVisibleState(true);\n }\n }, [props.open, props.defaultOpen]);\n\n useUpdateEffect(() => {\n if (maskVisibleState && !openState) {\n setOpenState(true);\n }\n }, [maskVisibleState]);\n\n useUnmountEffect(() => {\n setMaskVisibleState(false);\n\n if (props.autoZIndex) {\n ZIndex.clear(maskRef.current as HTMLDivElement);\n }\n });\n\n // methods\n const close = () => {\n setOpenState(false);\n props?.onOpenChange?.({\n value: false\n });\n };\n\n const toggleMaximized = () => setMaximizedState((prev) => !prev);\n\n const onOpenStateChange = () => {\n const newOpenState = !openState;\n\n if (newOpenState && !maskVisibleState) {\n setMaskVisibleState(true);\n }\n\n props?.onOpenChange?.({\n value: newOpenState\n });\n };\n\n const onOpenChange = () => {\n props?.onOpenChange?.({\n value: state.opened\n });\n };\n\n const onMotionEnter = () => {\n target.current = document.activeElement as HTMLElement;\n enableDocumentSettings();\n bindGlobalListeners();\n\n if (props.autoZIndex) {\n ZIndex.set('modal', maskRef.current as HTMLDivElement, (props.baseZIndex as number) + ($primereact.config?.zIndex?.modal ?? 1100));\n }\n };\n\n const onMotionAfterEnter = () => {\n focusElement();\n };\n\n const onMotionBeforeLeave = () => {\n if (props.modal) {\n // && !isUnstyled\n addClass(maskRef.current as HTMLDivElement, 'p-overlay-mask-leave');\n }\n };\n\n const onMotionLeave = () => {\n focus(target.current as HTMLElement);\n target.current = null;\n };\n\n const onMotionAfterLeave = () => {\n if (props.autoZIndex) {\n ZIndex.clear(maskRef.current as HTMLDivElement);\n }\n\n disableDocumentSettings();\n unbindGlobalListeners();\n setMaskVisibleState(false);\n };\n\n const focusElement = () => {\n let focusTarget = findFocusableElement(motionRef.current?.elementRef.current ?? null);\n\n if (!focusTarget) {\n if (maximizableButtonRef.current) {\n focusTarget = maximizableButtonRef.current.elementRef.current;\n } else if (closeButtonRef.current) {\n focusTarget = closeButtonRef.current.elementRef.current;\n }\n }\n\n if (focusTarget) {\n focus(focusTarget as HTMLElement);\n }\n };\n\n const findFocusableElement = (container: HTMLElement | null) => {\n return container && container.querySelector('[autoFocus]');\n };\n\n const onMaskMouseDown = (event: React.MouseEvent) => {\n maskMouseDownTarget.current = event.target;\n };\n\n const onMaskMouseUp = () => {\n if (props.dismissableMask && props.modal && maskRef.current === maskMouseDownTarget.current) {\n close();\n }\n };\n\n const enableDocumentSettings = () => {\n if (props.blockScroll) {\n blockBodyScroll({ variableName: $dt('scrollbar.width').name });\n }\n };\n\n const disableDocumentSettings = () => {\n if (props.blockScroll) {\n unblockBodyScroll({ variableName: $dt('scrollbar.width').name });\n }\n };\n\n const [bindDocumentDragListener, unbindDocumentDragListener] = useEventListener({\n type: 'mousemove',\n listener: (event: Event) => onDrag(event as unknown as React.MouseEvent)\n });\n\n const [bindDocumentDragEndListener, unbindDocumentDragEndListener] = useEventListener({\n type: 'mouseup',\n listener: () => onDragEnd()\n });\n\n const [bindDocumentKeyDownListener, unbindDocumentKeyDownListener] = useEventListener({\n type: 'keydown',\n listener: (event: Event) => onKeyDown(event as unknown as React.KeyboardEvent)\n });\n\n const bindGlobalListeners = () => {\n if (props.draggable) {\n bindDocumentDragListener();\n bindDocumentDragEndListener();\n }\n\n if (props.closeOnEscape) {\n bindDocumentKeyDownListener();\n }\n };\n\n const unbindGlobalListeners = () => {\n unbindDocumentDragListener();\n unbindDocumentDragEndListener();\n unbindDocumentKeyDownListener();\n };\n\n const onDragStart = (event: React.MouseEvent) => {\n if (!motionRef.current?.elementRef.current) return;\n\n if ((event.target as Element).closest('div')?.getAttribute('data-pc-section') === 'headeractions') {\n return;\n }\n\n if (props.draggable) {\n dragging.current = true;\n lastPageX.current = event.pageX;\n lastPageY.current = event.pageY;\n\n if (motionRef.current?.elementRef.current) {\n motionRef.current.elementRef.current.style.margin = '0';\n }\n\n document.body.setAttribute('data-p-unselectable-text', 'true');\n // isUnstyled\n addStyle(document.body, { 'user-select': 'none' });\n }\n };\n\n const onDrag = (event: React.MouseEvent) => {\n if (dragging.current) {\n if (!motionRef.current?.elementRef.current) return;\n\n if (lastPageX.current === null || lastPageY.current === null) return;\n\n const width = getOuterWidth(motionRef.current?.elementRef.current);\n const height = getOuterHeight(motionRef.current?.elementRef.current);\n const deltaX = event.pageX - lastPageX.current;\n const deltaY = event.pageY - lastPageY.current;\n const offset = motionRef.current?.elementRef.current.getBoundingClientRect();\n const leftPos = offset.left + deltaX;\n const topPos = offset.top + deltaY;\n const viewport = getViewport();\n const containerComputedStyle = getComputedStyle(motionRef.current?.elementRef.current);\n const marginLeft = parseFloat(containerComputedStyle.marginLeft);\n const marginTop = parseFloat(containerComputedStyle.marginTop);\n\n if (motionRef.current && motionRef.current.elementRef.current) {\n motionRef.current.elementRef.current.style.position = 'fixed';\n }\n\n if (props.keepInViewport) {\n if (leftPos >= (props.minX ?? 0) && leftPos + width < viewport.width) {\n lastPageX.current = event.pageX;\n\n if (motionRef.current?.elementRef.current) {\n motionRef.current.elementRef.current.style.left = leftPos - marginLeft + 'px';\n }\n }\n\n if (topPos >= (props.minY ?? 0) && topPos + height < viewport.height) {\n lastPageY.current = event.pageY;\n\n if (motionRef.current?.elementRef.current) {\n motionRef.current.elementRef.current.style.top = topPos - marginTop + 'px';\n }\n }\n } else {\n lastPageX.current = event.pageX;\n\n if (motionRef.current?.elementRef.current) {\n motionRef.current.elementRef.current.style.left = leftPos - marginLeft + 'px';\n }\n\n lastPageY.current = event.pageY;\n\n if (motionRef.current?.elementRef.current) {\n motionRef.current.elementRef.current.style.top = topPos - marginTop + 'px';\n }\n }\n }\n };\n\n const onDragEnd = () => {\n if (dragging.current) {\n dragging.current = false;\n document.body.removeAttribute('data-p-unselectable-text');\n // isUnstyled\n addStyle(document.body, { 'user-select': '' });\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent) => {\n if (event.code === 'Escape' && props.closeOnEscape) {\n close();\n }\n };\n\n return {\n state,\n // refs\n maskRef,\n motionRef,\n maximizableButtonRef,\n closeButtonRef,\n // methods\n onOpenStateChange,\n onOpenChange,\n close,\n toggleMaximized,\n onMaskMouseDown,\n onMaskMouseUp,\n onDragStart,\n onMotionEnter,\n onMotionAfterEnter,\n onMotionBeforeLeave,\n onMotionLeave,\n onMotionAfterLeave\n };\n }\n});\n","import type { useDialogProps } from '@primereact/types/shared/dialog';\n\nexport const defaultProps: useDialogProps = {\n open: false,\n defaultOpen: false,\n draggable: true,\n keepInViewport: true,\n minX: 0,\n minY: 0,\n modal: undefined,\n dismissableMask: false,\n closeOnEscape: true,\n blockScroll: false,\n baseZIndex: 0,\n autoZIndex: true,\n appendTo: 'body',\n onOpenChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","useMountEffect","useUnmountEffect","useUpdateEffect","$dt","addClass","addStyle","blockBodyScroll","focus","getOuterHeight","getOuterWidth","getViewport","unblockBodyScroll","ZIndex","React","defaultProps","useDialog","withHeadless","defaultProps","props","$primereact","_a","_b","_c","_d","openState","setOpenState","maximizedState","setMaximizedState","maskVisibleState","setMaskVisibleState","maskRef","motionRef","maximizableButtonRef","closeButtonRef","maskMouseDownTarget","target","lastPageX","lastPageY","dragging","state","useMountEffect","useUpdateEffect","useUnmountEffect","ZIndex","close","toggleMaximized","prev","onOpenStateChange","newOpenState","onOpenChange","onMotionEnter","enableDocumentSettings","bindGlobalListeners","onMotionAfterEnter","focusElement","onMotionBeforeLeave","addClass","onMotionLeave","focus","onMotionAfterLeave","disableDocumentSettings","unbindGlobalListeners","focusTarget","findFocusableElement","container","onMaskMouseDown","event","onMaskMouseUp","blockBodyScroll","$dt","unblockBodyScroll","bindDocumentDragListener","unbindDocumentDragListener","useEventListener","onDrag","bindDocumentDragEndListener","unbindDocumentDragEndListener","onDragEnd","bindDocumentKeyDownListener","unbindDocumentKeyDownListener","onKeyDown","onDragStart","addStyle","_e","_f","_g","_h","_i","_j","_k","width","getOuterWidth","height","getOuterHeight","deltaX","deltaY","offset","leftPos","topPos","viewport","getViewport","containerComputedStyle","marginLeft","marginTop"]}
|
|
File without changes
|
package/divider/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/divider/useDivider.ts","../../src/divider/useDivider.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useDivider.props';\n\nexport const useDivider = withHeadless({\n name: 'useDivider',\n defaultProps\n});\n","import type { useDividerProps } from '@primereact/types/shared/divider';\n\nexport const defaultProps: useDividerProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAgC,CAAC,EDCvC,IAAMC,EAAaC,EAAa,CACnC,KAAM,aACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useDivider","withHeadless","defaultProps"]}
|
|
File without changes
|
package/drawer/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/drawer/useDrawer.ts","../../src/drawer/useDrawer.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener, useMountEffect, useUnmountEffect, useUpdateEffect } from '@primereact/hooks';\nimport { $dt } from '@primeuix/styled';\nimport { addClass, blockBodyScroll, focus, unblockBodyScroll, ZIndex } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useDrawer.props';\n\nexport const useDrawer = withHeadless({\n name: 'useDrawer',\n defaultProps,\n setup: ({ props, elementRef, $primereact }) => {\n const [openState, setOpenState] = React.useState<boolean>(props.open ?? props.defaultOpen ?? false);\n const [maskVisibleState, setMaskVisibleState] = React.useState<boolean>(props.open ?? props.defaultOpen ?? false);\n const maskRef = React.useRef<HTMLDivElement | null>(null);\n const motionRef = React.useRef<{ elementRef: React.RefObject<HTMLDivElement> } | null>(null);\n const closeButtonRef = React.useRef<{ elementRef: React.RefObject<HTMLButtonElement> } | null>(null);\n\n const state = {\n opened: openState,\n maskVisible: maskVisibleState\n };\n\n useMountEffect(() => {\n if (props.open || props.defaultOpen) {\n setMaskVisibleState(true);\n }\n });\n\n useUpdateEffect(() => {\n if (props.open || (props.defaultOpen && !maskVisibleState)) {\n setMaskVisibleState(true);\n }\n }, [props.open, props.defaultOpen]);\n\n useUpdateEffect(() => {\n if (maskVisibleState && !openState) {\n setOpenState(true);\n }\n }, [maskVisibleState]);\n\n useUnmountEffect(() => {\n setMaskVisibleState(false);\n\n if (props.autoZIndex) {\n ZIndex.clear(maskRef.current as HTMLDivElement);\n }\n });\n\n //methods\n const close = () => {\n setOpenState(false);\n\n props?.onOpenChange?.({\n value: false\n });\n };\n\n const onOpenStateChange = () => {\n const newOpenState = !openState;\n\n if (newOpenState && !maskVisibleState) {\n setMaskVisibleState(true);\n }\n\n //setOpenState(newOpenState);\n\n props?.onOpenChange?.({\n value: newOpenState\n });\n };\n\n const onOpenChange = () => {\n props?.onOpenChange?.({\n value: state.opened\n });\n };\n\n const onMotionEnter = () => {\n enableDocumentSettings();\n bindDocumentKeyDownListener();\n\n if (props.autoZIndex) {\n ZIndex.set('modal', maskRef.current as HTMLDivElement, (props.baseZIndex as number) + ($primereact.config?.zIndex?.modal ?? 1100));\n }\n };\n\n const onMotionAfterEnter = () => {\n focusElement();\n };\n\n const onMotionBeforeLeave = () => {\n if (props.modal) {\n // && !isUnstyled\n addClass(maskRef.current as HTMLDivElement, 'p-overlay-mask-leave');\n }\n };\n\n const onMotionAfterLeave = () => {\n if (props.autoZIndex) {\n ZIndex.clear(maskRef.current as HTMLDivElement);\n }\n\n unbindDocumentKeyDownListener();\n disableDocumentSettings();\n setMaskVisibleState(false);\n };\n\n const focusElement = () => {\n let focusTarget = findFocusableElement(motionRef.current?.elementRef.current ?? null);\n\n if (!focusTarget) {\n if (closeButtonRef.current) {\n focusTarget = closeButtonRef.current.elementRef.current;\n }\n }\n\n if (focusTarget) {\n focus(focusTarget as HTMLElement);\n }\n };\n\n const findFocusableElement = (container: HTMLElement | null) => {\n return container && container.querySelector('[autoFocus]');\n };\n\n const [bindDocumentKeyDownListener, unbindDocumentKeyDownListener] = useEventListener({\n type: 'keydown',\n listener: (event: Event) => onKeyDown(event as unknown as React.KeyboardEvent)\n });\n\n const [bindOutsideClickListener, unbindOutsideClickListener] = useEventListener({\n type: 'click',\n listener: (event) => {\n if (isOutsideClicked(event as unknown as React.MouseEvent)) {\n close();\n }\n }\n });\n\n const isOutsideClicked = (event: React.MouseEvent) => {\n return elementRef.current && !elementRef.current.contains(event.target as Node);\n };\n\n const enableDocumentSettings = () => {\n if (props.dismissable && !props.modal) {\n bindOutsideClickListener();\n }\n\n if (props.blockScroll) {\n blockBodyScroll({ variableName: $dt('scrollbar.width').name });\n }\n };\n\n const disableDocumentSettings = () => {\n unbindOutsideClickListener();\n\n if (props.blockScroll) {\n unblockBodyScroll({ variableName: $dt('scrollbar.width').name });\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent): void => {\n if (event.code === 'Escape') {\n close();\n }\n };\n\n const onMaskClick = (event: React.MouseEvent) => {\n if (props.dismissable && props.modal && maskRef.current === event.target) {\n close();\n }\n };\n\n return {\n state,\n // refs\n maskRef,\n motionRef,\n closeButtonRef,\n // methods\n close,\n onOpenStateChange,\n onOpenChange,\n onMotionEnter,\n onMotionAfterEnter,\n onMotionBeforeLeave,\n onMotionAfterLeave,\n onMaskClick\n };\n }\n});\n","import type { useDrawerProps } from '@primereact/types/shared/drawer';\n\nexport const defaultProps: useDrawerProps = {\n open: false,\n defaultOpen: false,\n modal: true,\n blockScroll: false,\n dismissable: true,\n baseZIndex: 0,\n autoZIndex: true,\n onOpenChange: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,OAAS,oBAAAC,EAAkB,kBAAAC,EAAgB,oBAAAC,EAAkB,mBAAAC,MAAuB,oBACpF,OAAS,OAAAC,MAAW,mBACpB,OAAS,YAAAC,EAAU,mBAAAC,EAAiB,SAAAC,EAAO,qBAAAC,EAAmB,UAAAC,MAAc,kBAC5E,UAAYC,MAAW,QCFhB,IAAMC,EAA+B,CACxC,KAAM,GACN,YAAa,GACb,MAAO,GACP,YAAa,GACb,YAAa,GACb,WAAY,EACZ,WAAY,GACZ,aAAc,MAClB,EDJO,IAAMC,GAAYC,EAAa,CAClC,KAAM,YACN,aAAAC,EACA,MAAO,CAAC,CAAE,MAAAC,EAAO,WAAAC,EAAY,YAAAC,CAAY,IAAM,CAVnD,IAAAC,EAAAC,EAAAC,EAAAC,EAWQ,GAAM,CAACC,EAAWC,CAAY,EAAU,YAAkBJ,GAAAD,EAAAH,EAAM,OAAN,KAAAG,EAAcH,EAAM,cAApB,KAAAI,EAAmC,EAAK,EAC5F,CAACK,EAAkBC,CAAmB,EAAU,YAAkBJ,GAAAD,EAAAL,EAAM,OAAN,KAAAK,EAAcL,EAAM,cAApB,KAAAM,EAAmC,EAAK,EAC1GK,EAAgB,SAA8B,IAAI,EAClDC,EAAkB,SAA+D,IAAI,EACrFC,EAAuB,SAAkE,IAAI,EAE7FC,EAAQ,CACV,OAAQP,EACR,YAAaE,CACjB,EAEAM,EAAe,IAAM,EACbf,EAAM,MAAQA,EAAM,cACpBU,EAAoB,EAAI,CAEhC,CAAC,EAEDM,EAAgB,IAAM,EACdhB,EAAM,MAASA,EAAM,aAAe,CAACS,IACrCC,EAAoB,EAAI,CAEhC,EAAG,CAACV,EAAM,KAAMA,EAAM,WAAW,CAAC,EAElCgB,EAAgB,IAAM,CACdP,GAAoB,CAACF,GACrBC,EAAa,EAAI,CAEzB,EAAG,CAACC,CAAgB,CAAC,EAErBQ,EAAiB,IAAM,CACnBP,EAAoB,EAAK,EAErBV,EAAM,YACNkB,EAAO,MAAMP,EAAQ,OAAyB,CAEtD,CAAC,EAGD,IAAMQ,EAAQ,IAAM,CAjD5B,IAAAhB,EAkDYK,EAAa,EAAK,GAElBL,EAAAH,GAAA,YAAAA,EAAO,eAAP,MAAAG,EAAA,KAAAH,EAAsB,CAClB,MAAO,EACX,EACJ,EAEMoB,EAAoB,IAAM,CAzDxC,IAAAjB,EA0DY,IAAMkB,EAAe,CAACd,EAElBc,GAAgB,CAACZ,GACjBC,EAAoB,EAAI,GAK5BP,EAAAH,GAAA,YAAAA,EAAO,eAAP,MAAAG,EAAA,KAAAH,EAAsB,CAClB,MAAOqB,CACX,EACJ,EAEMC,EAAe,IAAM,CAvEnC,IAAAnB,GAwEYA,EAAAH,GAAA,YAAAA,EAAO,eAAP,MAAAG,EAAA,KAAAH,EAAsB,CAClB,MAAOc,EAAM,MACjB,EACJ,EAEMS,EAAgB,IAAM,CA7EpC,IAAApB,EAAAC,EAAAC,EA8EYmB,EAAuB,EACvBC,EAA4B,EAExBzB,EAAM,YACNkB,EAAO,IAAI,QAASP,EAAQ,QAA4BX,EAAM,aAAyBK,GAAAD,GAAAD,EAAAD,EAAY,SAAZ,YAAAC,EAAoB,SAApB,YAAAC,EAA4B,QAA5B,KAAAC,EAAqC,KAAK,CAEzI,EAEMqB,EAAqB,IAAM,CAC7BC,EAAa,CACjB,EAEMC,EAAsB,IAAM,CAC1B5B,EAAM,OAEN6B,EAASlB,EAAQ,QAA2B,sBAAsB,CAE1E,EAEMmB,EAAqB,IAAM,CACzB9B,EAAM,YACNkB,EAAO,MAAMP,EAAQ,OAAyB,EAGlDoB,EAA8B,EAC9BC,EAAwB,EACxBtB,EAAoB,EAAK,CAC7B,EAEMiB,EAAe,IAAM,CA3GnC,IAAAxB,EAAAC,EA4GY,IAAI6B,EAAcC,GAAqB9B,GAAAD,EAAAS,EAAU,UAAV,YAAAT,EAAmB,WAAW,UAA9B,KAAAC,EAAyC,IAAI,EAE/E6B,GACGpB,EAAe,UACfoB,EAAcpB,EAAe,QAAQ,WAAW,SAIpDoB,GACAE,EAAMF,CAA0B,CAExC,EAEMC,EAAwBE,GACnBA,GAAaA,EAAU,cAAc,aAAa,EAGvD,CAACX,EAA6BM,CAA6B,EAAIM,EAAiB,CAClF,KAAM,UACN,SAAWC,GAAiBC,EAAUD,CAAuC,CACjF,CAAC,EAEK,CAACE,EAA0BC,CAA0B,EAAIJ,EAAiB,CAC5E,KAAM,QACN,SAAWC,GAAU,CACbI,EAAiBJ,CAAoC,GACrDnB,EAAM,CAEd,CACJ,CAAC,EAEKuB,EAAoBJ,GACfrC,EAAW,SAAW,CAACA,EAAW,QAAQ,SAASqC,EAAM,MAAc,EAG5Ed,EAAyB,IAAM,CAC7BxB,EAAM,aAAe,CAACA,EAAM,OAC5BwC,EAAyB,EAGzBxC,EAAM,aACN2C,EAAgB,CAAE,aAAcC,EAAI,iBAAiB,EAAE,IAAK,CAAC,CAErE,EAEMZ,EAA0B,IAAM,CAClCS,EAA2B,EAEvBzC,EAAM,aACN6C,EAAkB,CAAE,aAAcD,EAAI,iBAAiB,EAAE,IAAK,CAAC,CAEvE,EAEML,EAAaD,GAAqC,CAChDA,EAAM,OAAS,UACfnB,EAAM,CAEd,EAQA,MAAO,CACH,MAAAL,EAEA,QAAAH,EACA,UAAAC,EACA,eAAAC,EAEA,MAAAM,EACA,kBAAAC,EACA,aAAAE,EACA,cAAAC,EACA,mBAAAG,EACA,oBAAAE,EACA,mBAAAE,EACA,YApBiBQ,GAA4B,CACzCtC,EAAM,aAAeA,EAAM,OAASW,EAAQ,UAAY2B,EAAM,QAC9DnB,EAAM,CAEd,CAiBA,CACJ,CACJ,CAAC","names":["withHeadless","useEventListener","useMountEffect","useUnmountEffect","useUpdateEffect","$dt","addClass","blockBodyScroll","focus","unblockBodyScroll","ZIndex","React","defaultProps","useDrawer","withHeadless","defaultProps","props","elementRef","$primereact","_a","_b","_c","_d","openState","setOpenState","maskVisibleState","setMaskVisibleState","maskRef","motionRef","closeButtonRef","state","useMountEffect","useUpdateEffect","useUnmountEffect","ZIndex","close","onOpenStateChange","newOpenState","onOpenChange","onMotionEnter","enableDocumentSettings","bindDocumentKeyDownListener","onMotionAfterEnter","focusElement","onMotionBeforeLeave","addClass","onMotionAfterLeave","unbindDocumentKeyDownListener","disableDocumentSettings","focusTarget","findFocusableElement","focus","container","useEventListener","event","onKeyDown","bindOutsideClickListener","unbindOutsideClickListener","isOutsideClicked","blockBodyScroll","$dt","unblockBodyScroll"]}
|
|
File without changes
|
package/fieldset/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/fieldset/useFieldset.ts","../../src/fieldset/useFieldset.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useFieldset.props';\n\nexport const useFieldset = withHeadless({\n name: 'useFieldset',\n defaultProps\n});\n","import type { useFieldsetProps } from '@primereact/types/shared/fieldset';\n\nexport const defaultProps: useFieldsetProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAiC,CAAC,EDCxC,IAAMC,EAAcC,EAAa,CACpC,KAAM,cACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useFieldset","withHeadless","defaultProps"]}
|