@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
package/inputotp/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/inputotp/useInputOtp.ts","../../src/inputotp/useInputOtp.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useInputOtpProps } from '@primereact/types/shared/inputotp';\nimport { isTouchDevice } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useInputOtp.props';\n\nexport const useInputOtp = withHeadless({\n name: 'useInputOtp',\n defaultProps,\n setup({ props }) {\n const [valueState, setValueState] = React.useState<useInputOtpProps['value']>(props.value ?? props.defaultValue ?? null);\n const [tokens, setTokens] = React.useState<string[]>(() => {\n const initialValue = props.value ?? props.defaultValue ?? '';\n\n return initialValue && typeof initialValue === 'string' ? initialValue.split('') : [];\n });\n const textCounter = React.useRef(0);\n\n const state = {\n value: valueState,\n tokens\n };\n\n const registerText = React.useCallback(() => {\n const index = textCounter.current;\n\n textCounter.current += 1;\n\n return index;\n }, []);\n\n const inputMode = React.useCallback(() => {\n return props.integerOnly ? 'numeric' : 'text';\n }, [props.integerOnly]);\n\n const inputType = React.useCallback(() => {\n return props.mask ? 'password' : 'text';\n }, [props.maks]);\n\n const updateValue = (event: React.FormEvent<HTMLInputElement> | React.ClipboardEvent<HTMLInputElement>) => {\n const newValue = tokens.join('');\n\n setValueState(newValue);\n\n props.onValueChange?.({\n originalEvent: event,\n value: newValue\n });\n };\n\n const onInput = (event: React.FormEvent<HTMLInputElement>, index: number) => {\n const inputEvent = event.nativeEvent as InputEvent;\n const target = event.target as HTMLInputElement;\n const currentTokens = [...tokens];\n\n currentTokens[index] = target.value;\n setTokens(currentTokens);\n updateValue(event);\n\n if (inputEvent.inputType === 'deleteContentBackward') {\n moveToPrev(event);\n } else if (inputEvent.inputType === 'insertText' || inputEvent.inputType === 'deleteContentForward' || (isTouchDevice() && event instanceof CustomEvent)) {\n moveToNext(event);\n }\n };\n\n const moveToPrev = (event: React.FormEvent<HTMLInputElement>) => {\n const prevInput = findPrevInput(event.target as HTMLInputElement);\n\n if (prevInput) {\n prevInput.focus();\n prevInput.select();\n }\n };\n\n const moveToNext = (event: React.FormEvent<HTMLInputElement>) => {\n const nextInput = findNextInput(event.target as HTMLInputElement);\n\n if (nextInput) {\n nextInput.focus();\n nextInput.select();\n }\n };\n\n const findNextInput = (element: HTMLInputElement): HTMLInputElement | null => {\n const nextInput = element.nextElementSibling;\n\n if (!nextInput) return null;\n\n return nextInput.nodeName === 'INPUT' ? (nextInput as HTMLInputElement) : findNextInput(nextInput as HTMLInputElement);\n };\n\n const findPrevInput = (element: HTMLInputElement): HTMLInputElement | null => {\n const prevInput = element.previousElementSibling;\n\n if (!prevInput) return null;\n\n return prevInput.nodeName === 'INPUT' ? (prevInput as HTMLInputElement) : findPrevInput(prevInput as HTMLInputElement);\n };\n\n const onClick = (event: React.MouseEvent<HTMLInputElement>) => {\n setTimeout(() => (event.target as HTMLInputElement).select(), 1);\n };\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.ctrlKey || event.metaKey) {\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n moveToPrev(event);\n event.preventDefault();\n\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n\n break;\n\n case 'Backspace':\n if ((event.target as HTMLInputElement).value.length === 0) {\n moveToPrev(event);\n event.preventDefault();\n }\n\n break;\n\n case 'ArrowRight':\n moveToNext(event);\n event.preventDefault();\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Tab':\n break;\n\n default:\n if ((props.integerOnly && !(event.code !== 'Space' && Number(event.key) >= 0 && Number(event.key) <= 9)) || (tokens.join('').length >= textCounter.current && event.code !== 'Delete')) {\n event.preventDefault();\n }\n\n break;\n }\n };\n\n const onPaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const paste = event.clipboardData.getData('text');\n\n if (paste.length) {\n const pastedCode = paste.substring(0, textCounter.current);\n\n if (!props.integerOnly || !isNaN(Number(pastedCode))) {\n const newTokens = pastedCode.split('');\n\n setTokens(newTokens);\n updateValue(event);\n }\n }\n\n event.preventDefault();\n };\n\n return {\n state,\n // methods\n registerText,\n inputMode,\n inputType,\n onInput,\n onClick,\n onKeyDown,\n onPaste\n };\n }\n});\n","import type { useInputOtpProps } from '@primereact/types/shared/inputotp';\n\nexport const defaultProps: useInputOtpProps = {\n value: undefined,\n defaultValue: undefined,\n integerOnly: false,\n mask: false,\n onValueChange: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAE7B,OAAS,iBAAAC,MAAqB,kBAC9B,UAAYC,MAAW,QCDhB,IAAMC,EAAiC,CAC1C,MAAO,OACP,aAAc,OACd,YAAa,GACb,KAAM,GACN,cAAe,MACnB,EDFO,IAAMC,EAAcC,EAAa,CACpC,KAAM,cACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CATrB,IAAAC,EAAAC,EAUQ,GAAM,CAACC,EAAYC,CAAa,EAAU,YAAoCF,GAAAD,EAAAD,EAAM,QAAN,KAAAC,EAAeD,EAAM,eAArB,KAAAE,EAAqC,IAAI,EACjH,CAACG,EAAQC,CAAS,EAAU,WAAmB,IAAM,CAXnE,IAAAL,EAAAC,EAYY,IAAMK,GAAeL,GAAAD,EAAAD,EAAM,QAAN,KAAAC,EAAeD,EAAM,eAArB,KAAAE,EAAqC,GAE1D,OAAOK,GAAgB,OAAOA,GAAiB,SAAWA,EAAa,MAAM,EAAE,EAAI,CAAC,CACxF,CAAC,EACKC,EAAoB,SAAO,CAAC,EAE5BC,EAAQ,CACV,MAAON,EACP,OAAAE,CACJ,EAEMK,EAAqB,cAAY,IAAM,CACzC,IAAMC,EAAQH,EAAY,QAE1B,OAAAA,EAAY,SAAW,EAEhBG,CACX,EAAG,CAAC,CAAC,EAECC,EAAkB,cAAY,IACzBZ,EAAM,YAAc,UAAY,OACxC,CAACA,EAAM,WAAW,CAAC,EAEhBa,EAAkB,cAAY,IACzBb,EAAM,KAAO,WAAa,OAClC,CAACA,EAAM,IAAI,CAAC,EAETc,EAAeC,GAAsF,CAvCnH,IAAAd,EAwCY,IAAMe,EAAWX,EAAO,KAAK,EAAE,EAE/BD,EAAcY,CAAQ,GAEtBf,EAAAD,EAAM,gBAAN,MAAAC,EAAA,KAAAD,EAAsB,CAClB,cAAee,EACf,MAAOC,CACX,EACJ,EAEMC,EAAU,CAACF,EAA0CJ,IAAkB,CACzE,IAAMO,EAAaH,EAAM,YACnBI,EAASJ,EAAM,OACfK,EAAgB,CAAC,GAAGf,CAAM,EAEhCe,EAAcT,CAAK,EAAIQ,EAAO,MAC9Bb,EAAUc,CAAa,EACvBN,EAAYC,CAAK,EAEbG,EAAW,YAAc,wBACzBG,EAAWN,CAAK,GACTG,EAAW,YAAc,cAAgBA,EAAW,YAAc,wBAA2BI,EAAc,GAAKP,aAAiB,cACxIQ,EAAWR,CAAK,CAExB,EAEMM,EAAcN,GAA6C,CAC7D,IAAMS,EAAYC,EAAcV,EAAM,MAA0B,EAE5DS,IACAA,EAAU,MAAM,EAChBA,EAAU,OAAO,EAEzB,EAEMD,EAAcR,GAA6C,CAC7D,IAAMW,EAAYC,EAAcZ,EAAM,MAA0B,EAE5DW,IACAA,EAAU,MAAM,EAChBA,EAAU,OAAO,EAEzB,EAEMC,EAAiBC,GAAuD,CAC1E,IAAMF,EAAYE,EAAQ,mBAE1B,OAAKF,EAEEA,EAAU,WAAa,QAAWA,EAAiCC,EAAcD,CAA6B,EAF9F,IAG3B,EAEMD,EAAiBG,GAAuD,CAC1E,IAAMJ,EAAYI,EAAQ,uBAE1B,OAAKJ,EAEEA,EAAU,WAAa,QAAWA,EAAiCC,EAAcD,CAA6B,EAF9F,IAG3B,EAqEA,MAAO,CACH,MAAAf,EAEA,aAAAC,EACA,UAAAE,EACA,UAAAC,EACA,QAAAI,EACA,QA1EaF,GAA8C,CAC3D,WAAW,IAAOA,EAAM,OAA4B,OAAO,EAAG,CAAC,CACnE,EAyEI,UAvEeA,GAAiD,CAChE,GAAI,EAAAA,EAAM,SAAWA,EAAM,SAI3B,OAAQA,EAAM,KAAM,CAChB,IAAK,YACDM,EAAWN,CAAK,EAChBA,EAAM,eAAe,EAErB,MAEJ,IAAK,UACL,IAAK,YACDA,EAAM,eAAe,EAErB,MAEJ,IAAK,YACIA,EAAM,OAA4B,MAAM,SAAW,IACpDM,EAAWN,CAAK,EAChBA,EAAM,eAAe,GAGzB,MAEJ,IAAK,aACDQ,EAAWR,CAAK,EAChBA,EAAM,eAAe,EAErB,MAEJ,IAAK,QACL,IAAK,cACL,IAAK,MACD,MAEJ,SACSf,EAAM,aAAe,EAAEe,EAAM,OAAS,SAAW,OAAOA,EAAM,GAAG,GAAK,GAAK,OAAOA,EAAM,GAAG,GAAK,IAAQV,EAAO,KAAK,EAAE,EAAE,QAAUG,EAAY,SAAWO,EAAM,OAAS,WACzKA,EAAM,eAAe,EAGzB,KACR,CACJ,EA4BI,QA1BaA,GAAkD,CAC/D,IAAMc,EAAQd,EAAM,cAAc,QAAQ,MAAM,EAEhD,GAAIc,EAAM,OAAQ,CACd,IAAMC,EAAaD,EAAM,UAAU,EAAGrB,EAAY,OAAO,EAEzD,GAAI,CAACR,EAAM,aAAe,CAAC,MAAM,OAAO8B,CAAU,CAAC,EAAG,CAClD,IAAMC,EAAYD,EAAW,MAAM,EAAE,EAErCxB,EAAUyB,CAAS,EACnBjB,EAAYC,CAAK,CACrB,CACJ,CAEAA,EAAM,eAAe,CACzB,CAYA,CACJ,CACJ,CAAC","names":["withHeadless","isTouchDevice","React","defaultProps","useInputOtp","withHeadless","defaultProps","props","_a","_b","valueState","setValueState","tokens","setTokens","initialValue","textCounter","state","registerText","index","inputMode","inputType","updateValue","event","newValue","onInput","inputEvent","target","currentTokens","moveToPrev","isTouchDevice","moveToNext","prevInput","findPrevInput","nextInput","findNextInput","element","paste","pastedCode","newTokens"]}
|
|
File without changes
|
package/inputtags/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/inputtags/useInputTags.ts","../../src/inputtags/useInputTags.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport { focus } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useInputTags.props';\n\nexport const useInputTags = withHeadless({\n name: 'useInputTags',\n defaultProps,\n setup({ props }) {\n const [inputValueState, setInputValueState] = React.useState('');\n const [focusedItemIndexState, setFocusedItemIndexState] = React.useState<number>(-1);\n\n const defaultValueRef = React.useRef(props.defaultValue ?? []);\n const [valueState, setValueState] = useControlledState({\n value: props.value,\n defaultValue: defaultValueRef.current,\n onChange: props.onValueChange\n });\n\n const controlRef = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<{ elementRef: React.RefObject<HTMLInputElement> } | null>(null);\n const itemRefs = React.useRef<Map<number, HTMLElement>>(new Map());\n\n const state = {\n value: valueState ?? [],\n inputValue: inputValueState,\n focusedItemIndex: focusedItemIndexState\n };\n\n // methods\n const addItem = (tag: string) => {\n const trimmedTag = tag.trim();\n\n if (!trimmedTag || props.disabled) return;\n\n if (props.max && valueState && valueState.length >= props.max) return;\n\n if (!props.allowDuplicate && valueState && valueState.includes(trimmedTag)) return;\n\n const newValue = [...(valueState || []), trimmedTag];\n\n setValueState([\n newValue,\n {\n value: newValue\n }\n ]);\n\n if (props.onAdd) {\n props.onAdd({\n value: trimmedTag\n });\n }\n\n setInputValueState('');\n };\n\n const removeItem = (index: number) => {\n if (props.disabled || !valueState) return;\n\n const newValue = valueState.filter((_: unknown, i: number) => i !== index);\n\n setValueState([\n newValue,\n {\n value: newValue\n }\n ]);\n\n if (props.onRemove) {\n props.onRemove({\n value: valueState[index],\n index\n });\n }\n\n setFocusedItemIndexState(-1);\n };\n\n const onArrowLeft = () => {\n let focusIndex = focusedItemIndexState;\n\n if (inputValueState.length === 0 && valueState && valueState.length > 0) {\n focusIndex = focusIndex === -1 ? valueState.length - 1 : focusIndex - 1;\n\n if (focusIndex < 0) {\n focusIndex = 0;\n }\n }\n\n setFocusedItemIndexState(focusIndex);\n };\n\n const onArrowRight = () => {\n let focusIndex = focusedItemIndexState;\n\n if (inputValueState.length === 0 && valueState && valueState.length > 0) {\n if (focusIndex === valueState.length - 1) {\n focusIndex = -1;\n\n if (inputRef.current) {\n focus(inputRef.current?.elementRef.current);\n }\n } else if (focusIndex !== -1) {\n focusIndex++;\n }\n }\n\n setFocusedItemIndexState(focusIndex);\n };\n\n const onBackspace = () => {\n if (!inputValueState && valueState && valueState.length > 0) {\n const lastIndex = valueState.length - 1;\n\n removeItem(lastIndex);\n }\n\n if (focusedItemIndexState !== -1) {\n removeItem(focusedItemIndexState);\n }\n };\n\n const onChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = event.target.value;\n\n if (focusedItemIndexState !== -1) {\n setFocusedItemIndexState(-1);\n }\n\n if (!props.delimiter) {\n setInputValueState(newValue);\n\n return;\n }\n\n const delimiterRegex = typeof props.delimiter === 'string' ? new RegExp(props.delimiter.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')) : props.delimiter;\n\n if (delimiterRegex.test(newValue)) {\n const tags = newValue\n .split(delimiterRegex)\n .map((tag) => tag.trim())\n .filter((tag) => tag.length > 0);\n\n tags.forEach((tag) => addItem(tag));\n } else {\n setInputValueState(newValue);\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (props.disabled) return;\n\n switch (event.key) {\n case 'Tab':\n if (props.addOnTab && inputValueState.trim()) {\n addItem(inputValueState);\n }\n\n break;\n\n case 'Enter':\n if (inputValueState.trim()) {\n addItem(inputValueState);\n }\n\n break;\n\n case 'ArrowLeft':\n onArrowLeft();\n\n break;\n\n case 'ArrowRight':\n onArrowRight();\n\n break;\n\n case 'Backspace':\n onBackspace();\n\n break;\n\n default:\n if (inputValueState.trim() && props.delimiter && typeof props.delimiter === 'string' && event.key === props.delimiter) {\n addItem(inputValueState);\n }\n\n break;\n }\n };\n\n const onClick = () => {\n setFocusedItemIndexState(-1);\n\n if (inputRef.current && !props.disabled) {\n focus(inputRef.current?.elementRef.current);\n }\n };\n\n const onPaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n if (!props.addOnPaste) return;\n\n const pastedText = event.clipboardData.getData('text');\n\n if (props.delimiter) {\n const delimiterRegex = typeof props.delimiter === 'string' ? new RegExp(props.delimiter.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')) : props.delimiter;\n\n const tags = pastedText\n .split(delimiterRegex)\n .map((tag) => tag.trim())\n .filter((tag) => tag.length > 0);\n\n tags.forEach((tag) => addItem(tag));\n } else {\n addItem(pastedText);\n }\n\n setTimeout(() => {\n setInputValueState('');\n }, 0);\n };\n\n const onBlur = () => {\n if (props.addOnBlur && inputValueState.trim()) {\n addItem(inputValueState);\n }\n\n if (focusedItemIndexState !== -1) {\n setFocusedItemIndexState(-1);\n }\n };\n\n const onItemRemoveClick = (index: number) => {\n if (!valueState) return;\n\n const newValue = valueState.filter((_: unknown, i: number) => i !== index);\n\n setValueState([\n newValue,\n {\n value: newValue\n }\n ]);\n\n if (inputRef.current) {\n focus(inputRef.current?.elementRef.current);\n }\n };\n\n const onRemoveAllItems = () => {\n if (props.disabled || !valueState) return;\n\n setValueState([\n [],\n {\n value: []\n }\n ]);\n };\n\n return {\n state,\n // refs\n controlRef,\n inputRef,\n itemRefs,\n // methods\n onClick,\n onChange,\n onKeyDown,\n onPaste,\n onBlur,\n onItemRemoveClick,\n onRemoveAllItems\n };\n }\n});\n","import type { useInputTagsProps } from '@primereact/types/shared/inputtags';\n\nexport const defaultProps: useInputTagsProps = {\n defaultValue: undefined,\n value: undefined,\n max: undefined,\n delimiter: undefined,\n allowDuplicate: undefined,\n addOnBlur: undefined,\n addOnPaste: undefined,\n addOnTab: undefined,\n onValueChange: undefined,\n onAdd: undefined,\n onRemove: undefined\n};\n"],"mappings":"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","names":["withHeadless","useControlledState","focus","React","defaultProps","useInputTags","withHeadless","defaultProps","props","_a","inputValueState","setInputValueState","focusedItemIndexState","setFocusedItemIndexState","defaultValueRef","valueState","setValueState","useControlledState","controlRef","inputRef","itemRefs","state","addItem","tag","trimmedTag","newValue","removeItem","index","_","i","onArrowLeft","focusIndex","onArrowRight","focus","onBackspace","lastIndex","event","delimiterRegex","pastedText"]}
|
|
File without changes
|
package/inputtext/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/inputtext/useInputText.ts","../../src/inputtext/useInputText.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useInputText.props';\n\nexport const useInputText = withHeadless({\n name: 'useInputText',\n defaultProps\n});\n","import type { useInputTextProps } from '@primereact/types/shared/inputtext';\n\nexport const defaultProps: useInputTextProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAkC,CAAC,EDCzC,IAAMC,EAAeC,EAAa,CACrC,KAAM,eACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useInputText","withHeadless","defaultProps"]}
|
|
File without changes
|
package/knob/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/knob/useKnob.ts","../../src/knob/useKnob.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener } from '@primereact/hooks';\nimport { useKnobProps } from '@primereact/types/shared/knob';\nimport * as React from 'react';\nimport { defaultProps } from './useKnob.props';\n\nconst radius = 40;\nconst midX = 50;\nconst midY = 50;\nconst minRadians = (4 * Math.PI) / 3;\nconst maxRadians = -Math.PI / 3;\n// Set fix value for SSR.\nconst Math_PI = 3.14159265358979;\n\nexport const useKnob = withHeadless({\n name: 'useKnob',\n defaultProps,\n setup({ props, elementRef }) {\n const [valueState, setValueState] = React.useState<useKnobProps['value']>(props.value ?? props.defaultValue ?? null);\n\n const state = {\n value: valueState\n };\n\n const mapRange = (x: number, inMin: number, inMax: number, outMin: number, outMax: number) => ((x - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;\n\n const zeroRadians = () => {\n const min = props.min ?? 0;\n const max = props.max ?? 100;\n\n return mapRange(min > 0 && max > 0 ? min : 0, min, max, minRadians, maxRadians);\n };\n\n const valueRadians = () => {\n const min = props.min ?? 0;\n const max = props.max ?? 100;\n const value = valueState ?? min;\n\n return mapRange(value, min, max, minRadians, maxRadians);\n };\n\n const minX = () => midX + Math.cos(minRadians) * radius;\n\n const minY = () => midY - Math.sin(minRadians) * radius;\n\n const maxX = () => midX + Math.cos(maxRadians) * radius;\n\n const maxY = () => midY - Math.sin(maxRadians) * radius;\n\n const zeroX = () => midX + Math.cos(zeroRadians()) * radius;\n\n const zeroY = () => midY - Math.sin(zeroRadians()) * radius;\n\n const valueX = () => midX + Math.cos(valueRadians()) * radius;\n\n const valueY = () => midY - Math.sin(valueRadians()) * radius;\n\n const largeArc = () => (Math.abs(zeroRadians() - valueRadians()) < Math_PI ? 0 : 1);\n\n const sweep = () => (valueRadians() > zeroRadians() ? 0 : 1);\n\n const rangePath = `M ${minX()} ${minY()} A ${radius} ${radius} 0 1 1 ${maxX()} ${maxY()}`;\n\n const valuePath = `M ${zeroX()} ${zeroY()} A ${radius} ${radius} 0 ${largeArc()} ${sweep()} ${valueX()} ${valueY()}`;\n\n const [bindWindowMouseMoveListener, unbindWindowMouseMoveListener] = useEventListener({\n target: 'window',\n type: 'mousemove',\n listener: (event: Event) => onMouseMove(event as unknown as React.MouseEvent)\n });\n\n const [bindWindowMouseUpListener, unbindWindowMouseUpListener] = useEventListener({\n target: 'window',\n type: 'mouseup',\n listener: () => onMouseUp()\n });\n\n const [bindWindowTouchMoveListener, unbindWindowTouchMoveListener] = useEventListener({\n target: 'window',\n type: 'touchmove',\n listener: (event: Event) => onTouchMove(event as unknown as React.TouchEvent)\n });\n\n const [bindWindowTouchEndListener, unbindWindowTouchEndListener] = useEventListener({\n target: 'window',\n type: 'touchend',\n listener: () => onTouchEnd()\n });\n\n const updateValueByOffset = (offsetX: number, offsetY: number) => {\n const dx = offsetX - (props.size ?? 100) / 2;\n const dy = (props.size ?? 100) / 2 - offsetY;\n const angle = Math.atan2(dy, dx);\n const start = -Math_PI / 2 - Math_PI / 6;\n\n updateModel(angle, start);\n };\n\n const updateModel = (angle: number, start: number) => {\n let mappedValue;\n\n if (angle > maxRadians) mappedValue = mapRange(angle, minRadians, maxRadians, props.min ?? 0, props.max ?? 100);\n else if (angle < start) mappedValue = mapRange(angle + 2 * Math.PI, minRadians, maxRadians, props.min ?? 0, props.max ?? 100);\n else return;\n\n const newValue = Math.round((mappedValue - (props.min ?? 0)) / (props.step ?? 1)) * (props.step ?? 1) + (props.min ?? 0);\n\n setValueState(newValue);\n\n if (props.onValueChange) {\n props.onValueChange({\n value: newValue\n });\n }\n };\n\n const updateModelValue = (newValue: number) => {\n let currentValue;\n\n if (newValue > (props.max ?? 100)) {\n currentValue = props.max ?? 100;\n } else if (newValue < (props.min ?? 0)) {\n currentValue = props.min ?? 0;\n } else {\n currentValue = newValue;\n }\n\n setValueState(currentValue);\n\n if (props.onValueChange) {\n props.onValueChange({\n value: currentValue\n });\n }\n };\n\n const onClick = (event: React.MouseEvent) => {\n if (!props.disabled && !props.readOnly) {\n updateValueByOffset(event.nativeEvent.offsetX, event.nativeEvent.offsetY);\n }\n };\n\n const onMouseDown = (event: React.MouseEvent) => {\n bindWindowMouseMoveListener();\n bindWindowMouseUpListener();\n event.preventDefault();\n };\n\n const onMouseUp = () => {\n unbindWindowMouseMoveListener();\n unbindWindowMouseUpListener();\n };\n\n const onTouchStart = () => {\n bindWindowTouchMoveListener();\n bindWindowTouchEndListener();\n };\n\n const onTouchEnd = () => {\n unbindWindowTouchMoveListener();\n unbindWindowTouchEndListener();\n };\n\n const onMouseMove = (event: React.MouseEvent) => {\n if (!props.disabled && !props.readOnly) {\n updateValueByOffset(event.nativeEvent.offsetX, event.nativeEvent.offsetY);\n event.preventDefault();\n }\n };\n\n const onTouchMove = (event: React.TouchEvent) => {\n if (!props.disabled && !props.readOnly && event.touches.length == 1) {\n const rect = elementRef.current?.getBoundingClientRect();\n const touch = event.targetTouches.item(0);\n\n if (rect && touch) {\n const offsetX = touch.clientX - rect.left;\n const offsetY = touch.clientY - rect.top;\n\n updateValueByOffset(offsetX, offsetY);\n }\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent) => {\n if (!props.disabled && !props.readOnly) {\n switch (event.code) {\n case 'ArrowRight':\n\n case 'ArrowUp': {\n event.preventDefault();\n updateModelValue((state.value ?? props.min ?? 0) + (props.step ?? 1));\n break;\n }\n\n case 'ArrowLeft':\n\n case 'ArrowDown': {\n event.preventDefault();\n updateModelValue((state.value ?? props.min ?? 0) - (props.step ?? 1));\n break;\n }\n\n case 'Home': {\n event.preventDefault();\n updateModelValue(props.min ?? 0);\n break;\n }\n\n case 'End': {\n event.preventDefault();\n updateModelValue(props.max ?? 100);\n break;\n }\n\n case 'PageUp': {\n event.preventDefault();\n updateModelValue((state.value ?? props.min ?? 0) + 10);\n break;\n }\n\n case 'PageDown': {\n event.preventDefault();\n updateModelValue((state.value ?? props.min ?? 0) - 10);\n break;\n }\n }\n }\n };\n\n React.useEffect(() => {\n if (props.value !== undefined) {\n setValueState(props.value);\n }\n }, [props.value]);\n\n return {\n state,\n rangePath,\n valuePath,\n //methods\n onClick,\n onMouseDown,\n onMouseUp,\n onTouchStart,\n onTouchEnd,\n onMouseMove,\n onTouchMove,\n onKeyDown\n };\n }\n});\n","import type { useKnobProps } from '@primereact/types/shared/knob';\n\nexport const defaultProps: useKnobProps = {\n defaultValue: undefined,\n value: undefined,\n size: 100,\n step: 1,\n min: 0,\n max: 100,\n readOnly: false,\n disabled: false,\n onValueChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","React","defaultProps","radius","midX","midY","minRadians","maxRadians","Math_PI","useKnob","withHeadless","defaultProps","props","elementRef","_a","_b","valueState","setValueState","state","mapRange","x","inMin","inMax","outMin","outMax","zeroRadians","min","max","valueRadians","value","minX","minY","maxX","maxY","zeroX","zeroY","valueX","valueY","largeArc","sweep","rangePath","valuePath","bindWindowMouseMoveListener","unbindWindowMouseMoveListener","useEventListener","event","onMouseMove","bindWindowMouseUpListener","unbindWindowMouseUpListener","onMouseUp","bindWindowTouchMoveListener","unbindWindowTouchMoveListener","onTouchMove","bindWindowTouchEndListener","unbindWindowTouchEndListener","onTouchEnd","updateValueByOffset","offsetX","offsetY","dx","dy","angle","start","updateModel","_c","_d","_e","_f","_g","_h","mappedValue","newValue","updateModelValue","currentValue","onClick","onMouseDown","onTouchStart","rect","touch","onKeyDown","_i","_j","_k","_l"]}
|
package/knob/useKnob.test.d.ts
DELETED
|
File without changes
|
package/label/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/label/useLabel.ts","../../src/label/useLabel.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useLabel.props';\n\nexport const useLabel = withHeadless({\n name: 'useLabel',\n defaultProps\n});\n","import type { useLabelProps } from '@primereact/types/shared/label';\n\nexport const defaultProps: useLabelProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAA8B,CAAC,EDCrC,IAAMC,EAAWC,EAAa,CACjC,KAAM,WACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useLabel","withHeadless","defaultProps"]}
|
package/label/useLabel.test.d.ts
DELETED
|
File without changes
|
package/listbox/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/listbox/useListbox.ts","../../src/listbox/useListbox.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport { equals, findLastIndex, findSingle, focus, getFirstFocusableElement, isElement, isNotEmpty, isPrintableCharacter, isString, resolveFieldData } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useListbox.props';\n\nexport const useListbox = withHeadless({\n name: 'useListbox',\n defaultProps,\n setup({ id, props, elementRef }) {\n const [focusedState, setFocusedState] = React.useState<boolean>(false);\n const [focusedOptionIndexState, setFocusedOptionIndexState] = React.useState<number>(-1);\n const [valueState, setValueState] = useControlledState({\n value: props.value,\n defaultValue: props.defaultValue ?? null,\n onChange: props.onValueChange\n });\n\n const state = {\n value: valueState,\n focused: focusedState,\n focusedOptionIndex: focusedOptionIndexState\n };\n\n // element refs\n const listRef = React.useRef<HTMLElement>(null);\n const firstHiddenFocusableRef = React.useRef<HTMLElement>(null);\n const lastHiddenFocusableRef = React.useRef<HTMLElement>(null);\n\n // refs\n const optionTouched = React.useRef<boolean>(false);\n const startRangeIndex = React.useRef<number>(-1);\n const searchTimeout = React.useRef<NodeJS.Timeout | null>(null);\n const searchValue = React.useRef<string>('');\n\n const getOptions = () => {\n return visibleOptions || [];\n };\n\n const getOptionId = (index: number) => {\n return `${id}_${index}`;\n };\n\n const getOptionLabel = (option: unknown) => {\n return props.optionLabel ? resolveFieldData(option, props.optionLabel) : isString(option) ? option : null;\n };\n\n const getOptionValue = (option: unknown) => {\n return props.optionValue ? resolveFieldData(option, props.optionValue) : option;\n };\n\n const isOptionDisabled = (option: unknown) => {\n return props.optionDisabled ? resolveFieldData(option, props.optionDisabled) : false;\n };\n\n const isOptionGroup = (option: unknown) => {\n return !!(props.optionGroupLabel && (option as Record<string, unknown>)?.optionGroup && (option as Record<string, unknown>)?.group);\n };\n\n const getOptionGroupLabel = (optionGroup: unknown) => {\n return props.optionGroupLabel ? resolveFieldData(optionGroup, props.optionGroupLabel) : isString(optionGroup) ? optionGroup : null;\n };\n\n const getOptionGroupChildren = (optionGroup: unknown) => {\n return props.optionGroupChildren ? resolveFieldData(optionGroup, props.optionGroupChildren) : null;\n };\n\n const getFocusedOptionId = () => {\n return focusedOptionIndexState !== -1 ? getOptionId(focusedOptionIndexState!) : null;\n };\n\n const getAriaSetSize = () => {\n return getOptions().filter((option: unknown) => !isOptionGroup(option)).length;\n };\n\n const getAriaPosInset = (index: number) => {\n return (\n (props.optionGroupLabel\n ? index -\n (getOptions()\n .slice(0, index)\n .filter((option: unknown) => isOptionGroup(option)).length || 0)\n : index) + 1\n );\n };\n\n const onFirstHiddenFocus = () => {\n focus(listRef.current!);\n\n const firstFocusableEl = getFirstFocusableElement(elementRef.current!, ':not([data-p-hidden-focusable=\"true\"])');\n\n if (lastHiddenFocusableRef.current) {\n lastHiddenFocusableRef.current.tabIndex = isElement(firstFocusableEl) ? 0 : -1;\n }\n\n if (firstHiddenFocusableRef.current) {\n firstHiddenFocusableRef.current.tabIndex = -1;\n }\n };\n\n const onLastHiddenFocus = (event: React.FocusEvent) => {\n const relatedTarget = event.relatedTarget;\n\n if (relatedTarget === listRef.current) {\n const firstFocusableEl = getFirstFocusableElement(elementRef.current!, ':not([data-p-hidden-focusable=\"true\"])');\n\n if (firstFocusableEl instanceof HTMLElement) {\n focus(firstFocusableEl);\n }\n\n if (firstHiddenFocusableRef.current) {\n firstHiddenFocusableRef.current.tabIndex = 0;\n }\n } else {\n focus(firstHiddenFocusableRef.current!);\n }\n\n if (lastHiddenFocusableRef.current) {\n lastHiddenFocusableRef.current.tabIndex = -1;\n }\n };\n\n const onFocusOut = (event: React.FocusEvent) => {\n const elementContains = elementRef.current instanceof HTMLElement && elementRef.current.contains(event.relatedTarget as Node);\n\n if (!elementContains && lastHiddenFocusableRef.current && firstHiddenFocusableRef.current) {\n lastHiddenFocusableRef.current.tabIndex = 0;\n firstHiddenFocusableRef.current.tabIndex = 0;\n }\n };\n\n const onListFocus = () => {\n const focusedOptionIndex = focusedOptionIndexState !== -1 ? focusedOptionIndexState : props.autoOptionFocus ? findFirstFocusedOptionIndex() : findSelectedOptionIndex();\n\n setFocusedState(true);\n setFocusedOptionIndexState(focusedOptionIndex);\n\n autoUpdateModel();\n scrollInView(focusedOptionIndex);\n };\n\n const onListBlur = () => {\n setFocusedState(false);\n setFocusedOptionIndexState(-1);\n\n startRangeIndex.current = -1;\n searchValue.current = '';\n };\n\n const onListKeyDown = (event: React.KeyboardEvent) => {\n const metaKey = event.metaKey || event.ctrlKey;\n\n switch (event.code) {\n case 'ArrowDown':\n onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n onArrowUpKey(event);\n break;\n\n case 'Home':\n onHomeKey(event);\n break;\n\n case 'End':\n onEndKey(event);\n break;\n\n case 'PageDown':\n onPageDownKey(event);\n break;\n\n case 'PageUp':\n onPageUpKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n onSpaceKey(event);\n break;\n\n case 'Tab':\n //NOOP\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n onShiftKey();\n break;\n\n default:\n if (props.multiple && event.code === 'KeyA' && metaKey) {\n const value = getOptions()\n .filter((option: unknown) => isValidOption(option))\n .map((option: unknown) => getOptionValue(option));\n\n updateModel(event, value);\n\n event.preventDefault();\n break;\n }\n\n if (!metaKey && isPrintableCharacter(event.key)) {\n searchOptions(event, event.key);\n event.preventDefault();\n }\n\n break;\n }\n };\n\n const onOptionSelect = (event: React.MouseEvent | React.KeyboardEvent, option: unknown, index = -1) => {\n if (props.disabled || isOptionDisabled(option)) {\n return;\n }\n\n if (props.multiple) {\n onOptionSelectMultiple(event, option);\n } else {\n onOptionSelectSingle(event, option);\n }\n\n optionTouched.current = false;\n\n if (index !== -1) {\n setFocusedOptionIndexState(index);\n }\n };\n\n const onOptionMouseDown = (event: React.MouseEvent, index: number) => {\n changeFocusedOptionIndex(event, index);\n };\n\n const onOptionMouseMove = (event: React.MouseEvent, index: number) => {\n if (props.focusOnHover && focusedState) {\n changeFocusedOptionIndex(event, index);\n }\n };\n\n const onOptionTouchEnd = () => {\n if (props.disabled) {\n return;\n }\n\n optionTouched.current = true;\n };\n\n const onOptionSelectSingle = (event: React.MouseEvent | React.KeyboardEvent, option: unknown) => {\n const selected = isSelected(option);\n const metaSelection = optionTouched.current ? false : props.metaKeySelection;\n let valueChanged = false;\n let value = null;\n\n if (metaSelection) {\n const metaKey = event && (event.metaKey || event.ctrlKey);\n\n if (selected) {\n if (metaKey) {\n value = null;\n valueChanged = true;\n }\n } else {\n value = getOptionValue(option);\n valueChanged = true;\n }\n } else {\n value = selected ? null : getOptionValue(option);\n valueChanged = true;\n }\n\n if (valueChanged) {\n updateModel(event, value);\n }\n };\n\n const onOptionSelectMultiple = (event: React.MouseEvent | React.KeyboardEvent, option: unknown) => {\n const selected = isSelected(option);\n const metaSelection = optionTouched.current ? false : props.metaKeySelection;\n let value = null;\n\n if (metaSelection) {\n const metaKey = event.metaKey || event.ctrlKey;\n\n if (selected) {\n value = metaKey ? removeOption(option) : [getOptionValue(option)];\n } else {\n value = metaKey ? (Array.isArray(valueState) ? valueState : []) : [];\n value = [...value, getOptionValue(option)];\n }\n } else {\n value = selected ? removeOption(option) : [...(Array.isArray(valueState) ? valueState : []), getOptionValue(option)];\n }\n\n updateModel(event, value);\n };\n\n const onOptionSelectRange = (event: React.MouseEvent | React.KeyboardEvent, start = -1, end = -1) => {\n start = start === -1 ? findNearestSelectedOptionIndex(end, true) : start;\n end = end === -1 ? findNearestSelectedOptionIndex(start) : end;\n\n if (start !== -1 && end !== -1) {\n const rangeStart = Math.min(start, end);\n const rangeEnd = Math.max(start, end);\n const value = getOptions()\n .slice(rangeStart, rangeEnd + 1)\n .filter((option: unknown) => isValidOption(option))\n .map((option: unknown) => getOptionValue(option));\n\n updateModel(event, value);\n }\n };\n\n const onFilterChange = () => {\n setFocusedOptionIndexState(-1);\n startRangeIndex.current = -1;\n };\n\n const onFilterBlur = () => {\n setFocusedOptionIndexState(-1);\n startRangeIndex.current = -1;\n };\n\n const onFilterKeyDown = (event: React.KeyboardEvent) => {\n switch (event.code) {\n case 'ArrowDown':\n onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n onArrowUpKey(event);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n onArrowLeftKey(event, true);\n break;\n\n case 'Home':\n onHomeKey(event, true);\n break;\n\n case 'End':\n onEndKey(event, true);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n onEnterKey(event);\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n onShiftKey();\n break;\n\n default:\n break;\n }\n };\n\n const onArrowDownKey = (event: React.KeyboardEvent) => {\n const optionIndex = focusedOptionIndexState !== -1 ? findNextOptionIndex(focusedOptionIndexState) : findFirstFocusedOptionIndex();\n\n if (props.multiple && event.shiftKey) {\n onOptionSelectRange(event, startRangeIndex.current, optionIndex);\n }\n\n changeFocusedOptionIndex(event, optionIndex);\n event.preventDefault();\n };\n\n const onArrowUpKey = (event: React.KeyboardEvent) => {\n const optionIndex = focusedOptionIndexState !== -1 ? findPrevOptionIndex(focusedOptionIndexState) : findLastFocusedOptionIndex();\n\n if (props.multiple && event.shiftKey) {\n onOptionSelectRange(event, optionIndex, startRangeIndex.current);\n }\n\n changeFocusedOptionIndex(event, optionIndex);\n event.preventDefault();\n };\n\n const onArrowLeftKey = (event: React.KeyboardEvent, pressedInInputText = false) => {\n if (pressedInInputText) {\n setFocusedOptionIndexState(-1);\n }\n };\n\n const onHomeKey = (event: React.KeyboardEvent, pressedInInputText = false) => {\n if (pressedInInputText) {\n const target = event.currentTarget as HTMLInputElement;\n\n if (event.shiftKey) {\n target?.setSelectionRange(0, target.selectionStart);\n } else {\n target?.setSelectionRange(0, 0);\n setFocusedOptionIndexState(-1);\n }\n } else {\n const metaKey = event.metaKey || event.ctrlKey;\n const optionIndex = findFirstOptionIndex();\n\n if (props.multiple && event.shiftKey && metaKey) {\n onOptionSelectRange(event, optionIndex, startRangeIndex.current);\n }\n\n changeFocusedOptionIndex(event, optionIndex);\n }\n\n event.preventDefault();\n };\n\n const onEndKey = (event: React.KeyboardEvent, pressedInInputText = false) => {\n if (pressedInInputText) {\n const target = event.currentTarget as HTMLInputElement;\n const length = target.value.length;\n\n if (event.shiftKey) {\n target.setSelectionRange(target.selectionStart, length);\n } else {\n target.setSelectionRange(length, length);\n setFocusedOptionIndexState(-1);\n }\n } else {\n const metaKey = event.metaKey || event.ctrlKey;\n const optionIndex = findLastOptionIndex();\n\n if (props.multiple && event.shiftKey && metaKey) {\n onOptionSelectRange(event, startRangeIndex.current, optionIndex);\n }\n\n changeFocusedOptionIndex(event, optionIndex);\n }\n\n event.preventDefault();\n };\n\n const onPageUpKey = (event: React.KeyboardEvent) => {\n scrollInView(0);\n event.preventDefault();\n };\n\n const onPageDownKey = (event: React.KeyboardEvent) => {\n scrollInView(getOptions().length - 1);\n event.preventDefault();\n };\n\n const onEnterKey = (event: React.KeyboardEvent) => {\n if (focusedOptionIndexState !== -1) {\n if (props.multiple && event.shiftKey) onOptionSelectRange(event, focusedOptionIndexState);\n else onOptionSelect(event, getOptions()[focusedOptionIndexState!]);\n }\n };\n\n const onSpaceKey = (event: React.KeyboardEvent) => {\n event.preventDefault();\n onEnterKey(event);\n };\n\n const onShiftKey = () => {\n startRangeIndex.current = focusedOptionIndexState!;\n };\n\n const isOptionMatched = (option: unknown) => {\n return isValidOption(option) && getOptionLabel(option)?.toLocaleLowerCase(props.locale).startsWith(searchValue.current?.toLocaleLowerCase(props.locale));\n };\n\n const isValidOption = (option: unknown) => {\n return isNotEmpty(option) && !isOptionDisabled(option) && !isOptionGroup(option);\n };\n\n const isValidSelectedOption = (option: unknown) => {\n return isValidOption(option) && isSelected(option);\n };\n\n const isEquals = (value1: unknown, value2: unknown) => {\n return equals(value1, value2, equalityKey);\n };\n\n const isSelected = (option: unknown) => {\n const optionValue = getOptionValue(option);\n\n if (props.multiple) {\n return Array.isArray(valueState) && valueState.some((value: unknown) => isEquals(value, optionValue));\n } else {\n return isEquals(valueState, optionValue);\n }\n };\n\n const findFirstOptionIndex = () => {\n return getOptions().findIndex((option: unknown) => isValidOption(option));\n };\n\n const findLastOptionIndex = () => {\n return findLastIndex(getOptions(), (option: unknown) => isValidOption(option));\n };\n\n const findNextOptionIndex = (index: number) => {\n const matchedOptionIndex =\n index < getOptions().length - 1\n ? getOptions()\n .slice(index + 1)\n .findIndex((option: unknown) => isValidOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n };\n\n const findPrevOptionIndex = (index: number) => {\n const matchedOptionIndex = index > 0 ? findLastIndex(getOptions().slice(0, index), (option) => isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n };\n\n const findSelectedOptionIndex = () => {\n if (hasValue()) {\n if (props.multiple && Array.isArray(valueState)) {\n for (let index = valueState.length - 1; index >= 0; index--) {\n const value = valueState[index];\n const matchedOptionIndex = getOptions().findIndex((option: unknown) => isValidSelectedOption(option) && isEquals(value, getOptionValue(option)));\n\n if (matchedOptionIndex > -1) return matchedOptionIndex;\n }\n } else {\n return getOptions().findIndex((option: unknown) => isValidSelectedOption(option));\n }\n }\n\n return -1;\n };\n\n const findFirstSelectedOptionIndex = () => {\n return hasValue() ? getOptions().findIndex((option) => isValidSelectedOption(option)) : -1;\n };\n\n const findLastSelectedOptionIndex = () => {\n return hasValue() ? findLastIndex(getOptions(), (option) => isValidSelectedOption(option)) : -1;\n };\n\n const findNextSelectedOptionIndex = (index: number) => {\n const matchedOptionIndex =\n hasValue() && index < getOptions().length - 1\n ? getOptions()\n .slice(index + 1)\n .findIndex((option) => isValidSelectedOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;\n };\n\n const findPrevSelectedOptionIndex = (index: number) => {\n const matchedOptionIndex = hasValue() && index > 0 ? findLastIndex(getOptions().slice(0, index), (option) => isValidSelectedOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : -1;\n };\n\n const findNearestSelectedOptionIndex = (index: number, firstCheckUp = false) => {\n let matchedOptionIndex = -1;\n\n if (hasValue()) {\n if (firstCheckUp) {\n matchedOptionIndex = findPrevSelectedOptionIndex(index);\n matchedOptionIndex = matchedOptionIndex === -1 ? findNextSelectedOptionIndex(index) : matchedOptionIndex;\n } else {\n matchedOptionIndex = findNextSelectedOptionIndex(index);\n matchedOptionIndex = matchedOptionIndex === -1 ? findPrevSelectedOptionIndex(index) : matchedOptionIndex;\n }\n }\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n };\n\n const findFirstFocusedOptionIndex = () => {\n const selectedIndex = findFirstSelectedOptionIndex();\n\n return selectedIndex < 0 ? findFirstOptionIndex() : selectedIndex;\n };\n\n const findLastFocusedOptionIndex = () => {\n const selectedIndex = findLastSelectedOptionIndex();\n\n return selectedIndex < 0 ? findLastOptionIndex() : selectedIndex;\n };\n\n const searchOptions = (event: React.KeyboardEvent, char: string) => {\n searchValue.current = (searchValue.current || '') + char;\n\n let optionIndex = -1;\n\n if (isNotEmpty(searchValue.current)) {\n if (focusedOptionIndexState !== -1) {\n optionIndex = getOptions()\n .slice(focusedOptionIndexState)\n .findIndex((option: unknown) => isOptionMatched(option));\n optionIndex =\n optionIndex === -1\n ? getOptions()\n .slice(0, focusedOptionIndexState)\n .findIndex((option: unknown) => isOptionMatched(option))\n : optionIndex + focusedOptionIndexState;\n } else {\n optionIndex = getOptions().findIndex((option: unknown) => isOptionMatched(option));\n }\n\n if (optionIndex === -1 && focusedOptionIndexState === -1) {\n optionIndex = findFirstFocusedOptionIndex() ?? -1;\n }\n\n if (optionIndex !== -1) {\n changeFocusedOptionIndex(event, optionIndex);\n }\n }\n\n if (searchTimeout.current) {\n clearTimeout(searchTimeout.current);\n }\n\n searchTimeout.current = setTimeout(() => {\n searchValue.current = '';\n searchTimeout.current = null;\n }, 500);\n };\n\n const removeOption = (option: unknown) => {\n return Array.isArray(valueState) ? valueState.filter((val: unknown) => !isEquals(val, getOptionValue(option))) : [];\n };\n\n const changeFocusedOptionIndex = (event: React.MouseEvent | React.KeyboardEvent, index: number = -1) => {\n if (focusedOptionIndexState !== index) {\n setFocusedOptionIndexState(index);\n\n scrollInView();\n\n if (props.selectOnFocus && !props.multiple) {\n onOptionSelect(event, getOptions()[index]);\n }\n }\n };\n\n const nextFrame = (): Promise<void> => {\n return new Promise((resolve) => {\n requestAnimationFrame(() => {\n requestAnimationFrame(resolve as () => void);\n });\n });\n };\n\n const scrollInView = (index = -1) => {\n nextFrame().then(() => {\n const id = index !== -1 ? getOptionId(index) : getFocusedOptionId();\n const element = findSingle(listRef.current!, `[id=\"${id}\"]`);\n\n element?.scrollIntoView?.({ block: 'nearest', inline: 'nearest', behavior: 'smooth' });\n });\n };\n\n const autoUpdateModel = () => {\n if (props.selectOnFocus && props.autoOptionFocus && !hasValue() && !props.multiple && focusedState) {\n const focusedOptionIndex = findFirstFocusedOptionIndex();\n\n setFocusedOptionIndexState(focusedOptionIndex);\n onOptionSelect(null as unknown as React.MouseEvent, getOptions()[focusedOptionIndex!]);\n }\n };\n\n const updateModel = (event: React.SyntheticEvent, value: unknown) => {\n setValueState([\n value,\n {\n originalEvent: event,\n value: value\n }\n ]);\n };\n\n const hasValue = () => {\n return isNotEmpty(valueState);\n };\n\n // effects\n React.useEffect(() => {\n autoUpdateModel();\n\n return () => {\n if (searchTimeout.current) {\n clearTimeout(searchTimeout.current);\n searchTimeout.current = null;\n }\n };\n }, []);\n\n // computed\n const optionsListGroup = React.useMemo(() => {\n const flattenOptions: unknown[] = [];\n\n (props.options || []).forEach((optionGroup) => {\n const optionGroupChildren = getOptionGroupChildren(optionGroup) || [];\n\n if (optionGroupChildren?.length) {\n flattenOptions.push({ optionGroup, group: true }, ...optionGroupChildren);\n }\n });\n\n return flattenOptions;\n }, [props.options]);\n\n const visibleOptions = props.optionGroupLabel ? optionsListGroup : props.options;\n const equalityKey = props.optionValue ? undefined : props.optionKey;\n\n return {\n state,\n // element refs\n listRef,\n firstHiddenFocusableRef,\n lastHiddenFocusableRef,\n // methods\n getOptions,\n getOptionId,\n getOptionLabel,\n getOptionValue,\n isOptionDisabled,\n isOptionGroup,\n getOptionGroupLabel,\n getOptionGroupChildren,\n getFocusedOptionId,\n getAriaSetSize,\n getAriaPosInset,\n onFirstHiddenFocus,\n onLastHiddenFocus,\n onFocusOut,\n onListFocus,\n onListBlur,\n onListKeyDown,\n onOptionSelect,\n onOptionMouseDown,\n onOptionMouseMove,\n onOptionTouchEnd,\n onFilterChange,\n onFilterBlur,\n onFilterKeyDown,\n isOptionMatched,\n isValidOption,\n isValidSelectedOption,\n isSelected,\n changeFocusedOptionIndex,\n scrollInView,\n updateModel,\n autoUpdateModel,\n equalityKey,\n hasValue\n };\n }\n});\n","import type { useListboxProps } from '@primereact/types/shared/listbox';\n\nexport const defaultProps: useListboxProps = {\n value: undefined,\n defaultValue: undefined,\n options: [],\n optionKey: undefined,\n optionLabel: undefined,\n optionValue: undefined,\n optionDisabled: undefined,\n optionGroupLabel: undefined,\n optionGroupChildren: undefined,\n disabled: false,\n locale: undefined,\n multiple: false,\n metaKeySelection: false,\n autoOptionFocus: true,\n selectOnFocus: false,\n focusOnHover: true,\n onValueChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","useControlledState","equals","findLastIndex","findSingle","focus","getFirstFocusableElement","isElement","isNotEmpty","isPrintableCharacter","isString","resolveFieldData","React","defaultProps","useListbox","withHeadless","defaultProps","id","props","elementRef","_a","focusedState","setFocusedState","focusedOptionIndexState","setFocusedOptionIndexState","valueState","setValueState","useControlledState","state","listRef","firstHiddenFocusableRef","lastHiddenFocusableRef","optionTouched","startRangeIndex","searchTimeout","searchValue","getOptions","visibleOptions","getOptionId","index","getOptionLabel","option","resolveFieldData","isString","getOptionValue","isOptionDisabled","isOptionGroup","getOptionGroupLabel","optionGroup","getOptionGroupChildren","getFocusedOptionId","getAriaSetSize","getAriaPosInset","onFirstHiddenFocus","focus","firstFocusableEl","getFirstFocusableElement","isElement","onLastHiddenFocus","event","onFocusOut","onListFocus","focusedOptionIndex","findFirstFocusedOptionIndex","findSelectedOptionIndex","autoUpdateModel","scrollInView","onListBlur","onListKeyDown","metaKey","onArrowDownKey","onArrowUpKey","onHomeKey","onEndKey","onPageDownKey","onPageUpKey","onSpaceKey","onShiftKey","value","isValidOption","updateModel","isPrintableCharacter","searchOptions","onOptionSelect","onOptionSelectMultiple","onOptionSelectSingle","onOptionMouseDown","changeFocusedOptionIndex","onOptionMouseMove","onOptionTouchEnd","selected","isSelected","metaSelection","valueChanged","removeOption","onOptionSelectRange","start","end","findNearestSelectedOptionIndex","rangeStart","rangeEnd","onFilterChange","onFilterBlur","onFilterKeyDown","onArrowLeftKey","onEnterKey","optionIndex","findNextOptionIndex","findPrevOptionIndex","findLastFocusedOptionIndex","pressedInInputText","target","findFirstOptionIndex","length","findLastOptionIndex","isOptionMatched","_b","isNotEmpty","isValidSelectedOption","isEquals","value1","value2","equals","equalityKey","optionValue","findLastIndex","matchedOptionIndex","hasValue","findFirstSelectedOptionIndex","findLastSelectedOptionIndex","findNextSelectedOptionIndex","findPrevSelectedOptionIndex","firstCheckUp","selectedIndex","char","val","nextFrame","resolve","element","findSingle","optionsListGroup","flattenOptions","optionGroupChildren"]}
|
|
File without changes
|
package/menu/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/menu/useMenu.ts","../../src/menu/useMenu.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { findSingle, focus, isPrintableCharacter } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useMenu.props';\n\nexport const useMenu = withHeadless({\n name: 'useMenu',\n defaultProps,\n setup({ props }) {\n const [openState, setOpenState] = React.useState<boolean>(props.open !== undefined ? props.open : (props.defaultOpen ?? false));\n const [focusedState, setFocusedState] = React.useState<boolean>(false);\n const [focusedOptionId, setFocusedOptionId] = React.useState<string | string[]>(props.composite ? [] : '');\n const [contextMenuTarget, setContextMenuTarget] = React.useState<{ pageX: number; pageY: number } | null>(null);\n const isMouseInteractionRef = React.useRef(false);\n\n const portalRef = React.useRef<{ containerRef: { current: { elementRef: React.RefObject<HTMLDivElement> } } } | null>(null);\n const triggerRef = React.useRef<{ elementRef: React.RefObject<HTMLButtonElement> } | null>(null);\n const listRef = React.useRef<HTMLUListElement | null>(null);\n const itemRefsById = React.useRef<Map<string, HTMLElement>>(new Map());\n\n const state = {\n opened: openState,\n focused: focusedState,\n focusedOptionId,\n contextMenuTarget\n };\n\n const registerItem = React.useCallback((id: string, ref: HTMLElement) => {\n itemRefsById.current.set(id, ref);\n }, []);\n\n const unregisterItem = React.useCallback((id: string) => {\n itemRefsById.current.delete(id);\n }, []);\n\n const updateOpenState = (value: boolean) => {\n if (props.onOpenChange) {\n props.onOpenChange({ value });\n }\n };\n\n React.useEffect(() => {\n if (props.open !== undefined) {\n setOpenState(props.open);\n }\n }, [props.open]);\n\n const changeVisibleState = (isVisible: boolean) => {\n setOpenState(isVisible);\n updateOpenState(isVisible);\n };\n\n const getFocusableItems = React.useCallback(() => {\n const items: Array<{ id: string; element: HTMLElement }> = [];\n\n itemRefsById.current.forEach((element, id) => {\n const isDisabled = element.getAttribute('data-p-disabled') === 'true';\n\n if (isDisabled) return;\n\n let currentElement: HTMLElement | null = element;\n let isVisible = true;\n\n while (currentElement && currentElement !== listRef.current) {\n const parentList = currentElement.closest('[data-pc-name=\"menulist\"]') as HTMLElement | null;\n\n if (!parentList || parentList === listRef.current) break;\n\n const trigger = parentList.previousElementSibling as HTMLElement | null;\n\n if (trigger && trigger.getAttribute('aria-expanded') === 'false') {\n isVisible = false;\n break;\n }\n\n currentElement = parentList.parentElement;\n }\n\n if (!isVisible) return;\n\n items.push({ id, element });\n });\n\n return items;\n }, []);\n\n const getFocusableItemsAtCurrentLevel = React.useCallback(() => {\n const allFocusableItems = getFocusableItems();\n\n if (allFocusableItems.length === 0) return [];\n\n // Determine the root level depth by examining all items\n // Find the minimum underscore count among all items to determine root level depth\n const minDepth = Math.min(...allFocusableItems.map((item) => item.id.split('_').length));\n\n if (focusedOptionId.length === 0) {\n // No focus yet, return root level items\n const rootItems = allFocusableItems.filter((item) => {\n return item.id.split('_').length === minDepth;\n });\n\n return rootItems;\n }\n\n // Get the current focused item ID\n const currentFocusedId = focusedOptionId[focusedOptionId.length - 1];\n const currentIdParts = currentFocusedId.split('_');\n const currentDepth = currentIdParts.length;\n\n // Filter items that are at the same level and belong to the same parent\n const levelItems = allFocusableItems.filter((item) => {\n const itemParts = item.id.split('_');\n\n // Must have same depth\n if (itemParts.length !== currentDepth) return false;\n\n // For root level\n if (currentDepth === minDepth) {\n return itemParts.length === minDepth;\n }\n\n // For nested levels, check if they share the same parent path\n // Example: menu_0_1_2 and menu_0_1_3 share parent menu_0_1\n const currentParentPath = currentIdParts.slice(0, -1).join('_');\n const itemParentPath = itemParts.slice(0, -1).join('_');\n\n return currentParentPath === itemParentPath;\n });\n\n return levelItems;\n }, [props.composite, focusedOptionId, getFocusableItems]);\n\n const changeFocusedOptionId = (id: string) => {\n // Mark as mouse interaction to prevent auto-focus in onListFocus\n isMouseInteractionRef.current = true;\n\n if (props.composite) {\n setFocusedOptionId((prev) => {\n const prevArray = Array.isArray(prev) ? prev : [];\n\n if (prevArray.length === 0) {\n return [id];\n } else {\n if (prevArray.includes(id)) {\n const len = id.length;\n\n const findIndex = prevArray.findIndex((val) => val.length === len);\n\n if (findIndex !== -1) {\n return [...prevArray.slice(0, findIndex), id];\n }\n\n return prevArray;\n } else if (prevArray[prevArray.length - 1].length === id.length) {\n return [...prevArray.slice(0, -1), id];\n }\n\n return [...prevArray, id];\n }\n });\n } else {\n setFocusedOptionId(id);\n }\n };\n\n const getCurrentFocusedId = () => {\n if (props.composite && Array.isArray(focusedOptionId)) {\n return focusedOptionId[focusedOptionId.length - 1] || '';\n }\n\n return typeof focusedOptionId === 'string' ? focusedOptionId : '';\n };\n\n const searchItems = (char: string) => {\n const focusableItems = props.composite ? getFocusableItemsAtCurrentLevel() : getFocusableItems();\n\n if (focusableItems.length === 0) return;\n\n const currentFocusedId = getCurrentFocusedId();\n const startIndex = currentFocusedId ? focusableItems.findIndex((item) => item.id === currentFocusedId) + 1 : 0;\n const searchChar = char.toLowerCase();\n\n for (let i = startIndex; i < focusableItems.length; i++) {\n const item = focusableItems[i];\n const itemText = item.element.textContent?.trim().toLowerCase() || '';\n\n if (itemText.startsWith(searchChar)) {\n if (props.composite) {\n changeFocusedOptionId(item.id);\n } else {\n setFocusedOptionId(item.id);\n }\n\n return;\n }\n }\n\n for (let i = 0; i < startIndex; i++) {\n const item = focusableItems[i];\n const itemText = item.element.textContent?.trim().toLowerCase() || '';\n\n if (itemText.startsWith(searchChar)) {\n if (props.composite) {\n changeFocusedOptionId(item.id);\n } else {\n setFocusedOptionId(item.id);\n }\n\n return;\n }\n }\n };\n\n const onArrowDown = (event: React.KeyboardEvent) => {\n event.preventDefault();\n\n const focusableItems = props.composite ? getFocusableItemsAtCurrentLevel() : getFocusableItems();\n\n if (focusableItems.length === 0) return;\n\n const currentFocusedId = getCurrentFocusedId();\n\n if (!currentFocusedId) {\n if (props.composite) {\n changeFocusedOptionId(focusableItems[0].id);\n } else {\n setFocusedOptionId(focusableItems[0].id);\n }\n\n return;\n }\n\n const currentIndex = focusableItems.findIndex((item) => item.id === currentFocusedId);\n const nextIndex = currentIndex < focusableItems.length - 1 ? currentIndex + 1 : 0;\n\n if (props.composite) {\n changeFocusedOptionId(focusableItems[nextIndex].id);\n } else {\n setFocusedOptionId(focusableItems[nextIndex].id);\n }\n };\n\n const onArrowUp = (event: React.KeyboardEvent) => {\n event.preventDefault();\n\n if (event.altKey && triggerRef.current) {\n hide();\n\n return;\n }\n\n const focusableItems = props.composite ? getFocusableItemsAtCurrentLevel() : getFocusableItems();\n\n if (focusableItems.length === 0) return;\n\n const currentFocusedId = getCurrentFocusedId();\n\n if (!currentFocusedId) {\n if (props.composite) {\n changeFocusedOptionId(focusableItems[focusableItems.length - 1].id);\n } else {\n setFocusedOptionId(focusableItems[focusableItems.length - 1].id);\n }\n\n return;\n }\n\n const currentIndex = focusableItems.findIndex((item) => item.id === currentFocusedId);\n const prevIndex = currentIndex > 0 ? currentIndex - 1 : focusableItems.length - 1;\n\n if (props.composite) {\n changeFocusedOptionId(focusableItems[prevIndex].id);\n } else {\n setFocusedOptionId(focusableItems[prevIndex].id);\n }\n };\n\n const onArrowRight = (event: React.KeyboardEvent) => {\n if (!props.composite) return;\n\n event.preventDefault();\n\n const currentFocusedId = getCurrentFocusedId();\n\n if (!currentFocusedId) return;\n\n // Find the focused element\n const focusedElement = itemRefsById.current.get(currentFocusedId);\n\n if (!focusedElement) return;\n\n const ariaExpanded = focusedElement.getAttribute('aria-expanded');\n\n if (ariaExpanded !== null) {\n if (ariaExpanded === 'false') {\n // Open the submenu by simulating mousedown\n const mouseDownEvent = new MouseEvent('mousedown', {\n bubbles: true,\n cancelable: true,\n view: window\n });\n\n focusedElement.dispatchEvent(mouseDownEvent);\n }\n\n setTimeout(() => {\n const focusableItems = getFocusableItems();\n\n const submenuItems = focusableItems.filter((item) => {\n return item.id.startsWith(currentFocusedId + '_') && item.id.split('_').length === currentFocusedId.split('_').length + 1;\n });\n\n // Focus the first item in the submenu\n if (submenuItems.length > 0) {\n setFocusedOptionId((prev) => {\n const prevArray = Array.isArray(prev) ? prev : [];\n\n return [...prevArray, submenuItems[0].id];\n });\n }\n }, 10);\n }\n };\n\n const onArrowLeft = (event: React.KeyboardEvent) => {\n if (!props.composite) return;\n\n event.preventDefault();\n\n const currentFocusedId = getCurrentFocusedId();\n\n if (!currentFocusedId || !Array.isArray(focusedOptionId)) return;\n\n if (focusedOptionId.length > 1) {\n const parentTriggerId = focusedOptionId[focusedOptionId.length - 2];\n const parentTrigger = itemRefsById.current.get(parentTriggerId);\n\n if (parentTrigger && parentTrigger.getAttribute('aria-expanded') === 'true') {\n // Close the submenu by simulating mousedown\n const mouseDownEvent = new MouseEvent('mousedown', {\n bubbles: true,\n cancelable: true,\n view: window\n });\n\n parentTrigger.dispatchEvent(mouseDownEvent);\n }\n }\n };\n\n const onHome = (event: React.KeyboardEvent) => {\n event.preventDefault();\n\n const focusableItems = props.composite ? getFocusableItemsAtCurrentLevel() : getFocusableItems();\n\n if (focusableItems.length === 0) return;\n\n if (props.composite) {\n changeFocusedOptionId(focusableItems[0].id);\n } else {\n setFocusedOptionId(focusableItems[0].id);\n }\n };\n\n const onEnd = (event: React.KeyboardEvent) => {\n event.preventDefault();\n\n const focusableItems = props.composite ? getFocusableItemsAtCurrentLevel() : getFocusableItems();\n\n if (focusableItems.length === 0) return;\n\n if (props.composite) {\n changeFocusedOptionId(focusableItems[focusableItems.length - 1].id);\n } else {\n setFocusedOptionId(focusableItems[focusableItems.length - 1].id);\n }\n };\n\n const onEnterKey = (event: React.KeyboardEvent) => {\n if (props.composite) {\n onEscapeKey();\n }\n\n if (listRef?.current) {\n const currentFocusedId = getCurrentFocusedId();\n const element = findSingle(listRef?.current, `[id=\"${currentFocusedId}\"]`) as HTMLElement;\n\n if (element) {\n const mouseDownEvent = new MouseEvent('mousedown', {\n bubbles: true,\n cancelable: true,\n view: window\n });\n\n element.dispatchEvent(mouseDownEvent);\n }\n }\n\n event.preventDefault();\n };\n\n const onEscapeKey = () => {\n hideAllSubmenus();\n\n setTimeout(() => {\n if (triggerRef.current) {\n focus(triggerRef.current.elementRef.current!);\n }\n }, 10);\n };\n\n const onListKeyDown = (event: React.KeyboardEvent) => {\n const metaKey = event.metaKey || event.ctrlKey;\n\n switch (event.key) {\n case 'ArrowDown':\n onArrowDown(event);\n\n break;\n\n case 'ArrowUp':\n onArrowUp(event);\n\n break;\n\n case 'ArrowRight':\n if (props.composite) {\n onArrowRight(event);\n }\n\n break;\n\n case 'ArrowLeft':\n if (props.composite) {\n onArrowLeft(event);\n }\n\n break;\n\n case 'Home':\n onHome(event);\n\n break;\n\n case 'End':\n onEnd(event);\n\n break;\n\n case 'Enter':\n case ' ':\n onEnterKey(event);\n\n break;\n\n case 'PageDown':\n case 'PageUp':\n case 'Backspace':\n case 'ShiftLeft':\n case 'ShiftRight':\n break;\n\n case 'Escape':\n onEscapeKey();\n\n break;\n\n default:\n if (!metaKey && isPrintableCharacter(event.key)) {\n searchItems(event.key);\n }\n\n break;\n }\n };\n\n const onListFocus = () => {\n setFocusedState(true);\n\n const currentFocusedId = getCurrentFocusedId();\n\n if (currentFocusedId === '' && !isMouseInteractionRef.current) {\n const focusableItems = props.composite ? getFocusableItemsAtCurrentLevel() : getFocusableItems();\n\n if (focusableItems.length > 0) {\n if (props.composite) {\n changeFocusedOptionId(focusableItems[0].id);\n } else {\n setFocusedOptionId(focusableItems[0].id);\n }\n }\n }\n\n isMouseInteractionRef.current = false;\n };\n\n const onListBlur = () => {\n setFocusedState(false);\n\n if (props.composite) {\n hideAllSubmenus();\n } else {\n // For non-composite mode, reset focus on blur\n setFocusedOptionId('');\n }\n };\n\n const hideAllSubmenus = () => {\n if (props.composite) {\n itemRefsById.current.forEach((element) => {\n const ariaExpanded = element.getAttribute('aria-expanded');\n\n if (ariaExpanded === 'true') {\n const mouseDownEvent = new MouseEvent('mousedown', {\n bubbles: true,\n cancelable: true,\n view: window\n });\n\n element.dispatchEvent(mouseDownEvent);\n }\n });\n\n setFocusedOptionId([]);\n } else {\n setFocusedOptionId('');\n }\n };\n\n const hideSubmenusAfterLevel = (targetItemId: string) => {\n if (!props.composite || !Array.isArray(focusedOptionId)) return;\n\n const targetLevel = targetItemId.split('_').length - 1;\n\n itemRefsById.current.forEach((element, elementId) => {\n const elementLevel = elementId.split('_').length - 1;\n const ariaExpanded = element.getAttribute('aria-expanded');\n\n if (ariaExpanded === 'true' && elementLevel >= targetLevel) {\n const mouseDownEvent = new MouseEvent('mousedown', {\n bubbles: true,\n cancelable: true,\n view: window\n });\n\n element.dispatchEvent(mouseDownEvent);\n }\n });\n\n setFocusedOptionId((prev) => {\n const prevArray = Array.isArray(prev) ? prev : [];\n\n return prevArray.filter((id) => {\n const idLevel = id.split('_').length - 1;\n\n return idLevel < targetLevel;\n });\n });\n };\n\n const hide = () => {\n setOpenState(false);\n updateOpenState(false);\n\n if (props.composite) {\n setFocusedOptionId([]);\n } else {\n setFocusedOptionId('');\n }\n\n setTimeout(() => {\n if (triggerRef.current) {\n focus(triggerRef.current.elementRef.current!);\n }\n }, 10);\n };\n\n const onOverlayEnter = () => {\n if (listRef.current) {\n focus(listRef.current);\n }\n };\n\n const onTriggerClick = (event?: React.MouseEvent) => {\n if (event && event.type === 'contextmenu') {\n event.preventDefault();\n event.stopPropagation();\n\n const newTarget = { pageX: event.pageX, pageY: event.pageY };\n\n if (openState) {\n updateOpenState(false);\n setOpenState(false);\n\n setTimeout(() => {\n setContextMenuTarget(newTarget);\n updateOpenState(true);\n setOpenState(true);\n }, 0);\n } else {\n setContextMenuTarget(newTarget);\n\n setOpenState(true);\n updateOpenState(true);\n }\n } else {\n setContextMenuTarget(null);\n\n setOpenState(true);\n updateOpenState(true);\n }\n };\n\n const onItemClick = (event: React.MouseEvent) => {\n event.preventDefault();\n hide();\n };\n\n return {\n state,\n //refs\n portalRef,\n triggerRef,\n listRef,\n //methods\n registerItem,\n unregisterItem,\n changeVisibleState,\n changeFocusedOptionId,\n hideSubmenusAfterLevel,\n onListKeyDown,\n onListFocus,\n onListBlur,\n onOverlayEnter,\n onTriggerClick,\n onItemClick\n };\n }\n});\n","import type { useMenuProps } from '@primereact/types/shared/menu';\n\nexport const defaultProps: useMenuProps = {\n open: undefined,\n defaultOpen: undefined,\n composite: false,\n appendTo: 'body',\n baseZIndex: 0,\n autoZIndex: true,\n tabIndex: 0,\n onOpenChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","findSingle","focus","isPrintableCharacter","React","defaultProps","useMenu","withHeadless","defaultProps","props","_a","openState","setOpenState","focusedState","setFocusedState","focusedOptionId","setFocusedOptionId","contextMenuTarget","setContextMenuTarget","isMouseInteractionRef","portalRef","triggerRef","listRef","itemRefsById","state","registerItem","id","ref","unregisterItem","updateOpenState","value","changeVisibleState","isVisible","getFocusableItems","items","element","currentElement","parentList","trigger","getFocusableItemsAtCurrentLevel","allFocusableItems","minDepth","item","currentIdParts","currentDepth","itemParts","currentParentPath","itemParentPath","changeFocusedOptionId","prev","prevArray","len","findIndex","val","getCurrentFocusedId","searchItems","char","_b","focusableItems","currentFocusedId","startIndex","searchChar","onArrowDown","event","currentIndex","nextIndex","onArrowUp","hide","prevIndex","onArrowRight","focusedElement","ariaExpanded","mouseDownEvent","submenuItems","onArrowLeft","parentTriggerId","parentTrigger","onHome","onEnd","onEnterKey","onEscapeKey","findSingle","hideAllSubmenus","focus","onListKeyDown","metaKey","isPrintableCharacter","onListFocus","onListBlur","hideSubmenusAfterLevel","targetItemId","targetLevel","elementId","elementLevel","newTarget"]}
|
package/menu/sub/index.d.ts
DELETED
package/menu/sub/index.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{withHeadless as m}from"@primereact/core/headless";import*as t from"react";var f={open:void 0,defaultOpen:void 0,onOpenChange:void 0};var O=m({name:"useMenuSub",defaultProps:f,setup({props:e}){var s;let[u,o]=t.useState(e.open!==void 0?e.open:(s=e.defaultOpen)!=null?s:!1),c=t.useRef(null),i=t.useRef(null),d=t.useRef(null),r={opened:u},a=n=>{e.onOpenChange&&e.onOpenChange({value:n})};t.useEffect(()=>{e.open!==void 0&&o(e.open)},[e.open]);let l=()=>{if(!e.disabled){let n=!u;o(n),a(n)}};return{state:r,portalRef:c,triggerRef:i,listRef:d,toggle:l,open:()=>{e.disabled||(o(!0),a(!0))},close:()=>{e.disabled||(o(!1),a(!1))},onTriggerClick:()=>{e.disabled||l()}}}});export{f as defaultProps,O as useMenuSub};
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|
package/menu/sub/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/menu/sub/useMenuSub.ts","../../../src/menu/sub/useMenuSub.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './useMenuSub.props';\n\nexport const useMenuSub = withHeadless({\n name: 'useMenuSub',\n defaultProps,\n setup({ props }) {\n const [openState, setOpenState] = React.useState<boolean>(props.open !== undefined ? props.open : (props.defaultOpen ?? false));\n\n const portalRef = React.useRef<{ containerRef: { current: { elementRef: React.RefObject<HTMLDivElement> } } } | null>(null);\n const triggerRef = React.useRef<HTMLDivElement | null>(null);\n const listRef = React.useRef<HTMLUListElement | null>(null);\n\n const state = {\n opened: openState\n };\n\n const updateOpenState = (value: boolean) => {\n if (props.onOpenChange) {\n props.onOpenChange({ value });\n }\n };\n\n React.useEffect(() => {\n if (props.open !== undefined) {\n setOpenState(props.open);\n }\n }, [props.open]);\n\n const toggle = () => {\n if (!props.disabled) {\n const newState = !openState;\n\n setOpenState(newState);\n updateOpenState(newState);\n }\n };\n\n const open = () => {\n if (!props.disabled) {\n const newState = true;\n\n setOpenState(newState);\n updateOpenState(newState);\n }\n };\n\n const close = () => {\n if (!props.disabled) {\n const newState = false;\n\n setOpenState(newState);\n updateOpenState(newState);\n }\n };\n\n const onTriggerClick = () => {\n if (!props.disabled) {\n toggle();\n }\n };\n\n return {\n state,\n // refs\n portalRef,\n triggerRef,\n listRef,\n // methods\n toggle,\n open,\n close,\n onTriggerClick\n };\n }\n});\n","import type { useMenuSubProps } from '@primereact/types/shared/menu';\n\nexport const defaultProps: useMenuSubProps = {\n open: undefined,\n defaultOpen: undefined,\n onOpenChange: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,EAAgC,CACzC,KAAM,OACN,YAAa,OACb,aAAc,MAClB,EDFO,IAAMC,EAAaC,EAAa,CACnC,KAAM,aACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CAPrB,IAAAC,EAQQ,GAAM,CAACC,EAAWC,CAAY,EAAU,WAAkBH,EAAM,OAAS,OAAYA,EAAM,MAAQC,EAAAD,EAAM,cAAN,KAAAC,EAAqB,EAAM,EAExHG,EAAkB,SAA8F,IAAI,EACpHC,EAAmB,SAA8B,IAAI,EACrDC,EAAgB,SAAgC,IAAI,EAEpDC,EAAQ,CACV,OAAQL,CACZ,EAEMM,EAAmBC,GAAmB,CACpCT,EAAM,cACNA,EAAM,aAAa,CAAE,MAAAS,CAAM,CAAC,CAEpC,EAEM,YAAU,IAAM,CACdT,EAAM,OAAS,QACfG,EAAaH,EAAM,IAAI,CAE/B,EAAG,CAACA,EAAM,IAAI,CAAC,EAEf,IAAMU,EAAS,IAAM,CACjB,GAAI,CAACV,EAAM,SAAU,CACjB,IAAMW,EAAW,CAACT,EAElBC,EAAaQ,CAAQ,EACrBH,EAAgBG,CAAQ,CAC5B,CACJ,EA0BA,MAAO,CACH,MAAAJ,EAEA,UAAAH,EACA,WAAAC,EACA,QAAAC,EAEA,OAAAI,EACA,KAhCS,IAAM,CACVV,EAAM,WAGPG,EAAa,EAAQ,EACrBK,EAAgB,EAAQ,EAEhC,EA0BI,MAxBU,IAAM,CACXR,EAAM,WAGPG,EAAa,EAAQ,EACrBK,EAAgB,EAAQ,EAEhC,EAkBI,eAhBmB,IAAM,CACpBR,EAAM,UACPU,EAAO,CAEf,CAaA,CACJ,CACJ,CAAC","names":["withHeadless","React","defaultProps","useMenuSub","withHeadless","defaultProps","props","_a","openState","setOpenState","portalRef","triggerRef","listRef","state","updateOpenState","value","toggle","newState"]}
|
package/menu/sub/useMenuSub.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
export declare const useMenuSub: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/menu").useMenuSubProps, unknown, {
|
|
3
|
-
state: {
|
|
4
|
-
opened: boolean;
|
|
5
|
-
};
|
|
6
|
-
portalRef: React.RefObject<{
|
|
7
|
-
containerRef: {
|
|
8
|
-
current: {
|
|
9
|
-
elementRef: React.RefObject<HTMLDivElement>;
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
} | null>;
|
|
13
|
-
triggerRef: React.RefObject<HTMLDivElement | null>;
|
|
14
|
-
listRef: React.RefObject<HTMLUListElement | null>;
|
|
15
|
-
toggle: () => void;
|
|
16
|
-
open: () => void;
|
|
17
|
-
close: () => void;
|
|
18
|
-
onTriggerClick: () => void;
|
|
19
|
-
}>;
|
package/menu/useMenu.test.d.ts
DELETED
|
File without changes
|
package/message/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/message/useMessage.ts","../../src/message/useMessage.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './useMessage.props';\n\nexport const useMessage = withHeadless({\n name: 'useMessage',\n defaultProps,\n setup: ({ props }) => {\n const [visibleState, setVisibleState] = React.useState<boolean>(true);\n const timerRef = React.useRef<NodeJS.Timeout | null>(null);\n\n const state = {\n visible: visibleState\n };\n\n // methods\n const handleClose = React.useCallback(() => {\n setVisibleState(false);\n\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n\n props.onClose?.();\n }, [props.onClose]);\n\n // effects\n React.useEffect(() => {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n\n if (typeof props.life === 'number' && props.life > 0 && visibleState) {\n timerRef.current = setTimeout(() => {\n handleClose();\n }, props.life);\n }\n\n return () => {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n };\n }, [props.life, visibleState, handleClose]);\n\n return {\n state,\n handleClose\n };\n }\n});\n","import type { useMessageProps } from '@primereact/types/shared/message';\n\nexport const defaultProps: useMessageProps = {\n life: null,\n onClose: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,EAAgC,CACzC,KAAM,KACN,QAAS,MACb,EDDO,IAAMC,EAAaC,EAAa,CACnC,KAAM,aACN,aAAAC,EACA,MAAO,CAAC,CAAE,MAAAC,CAAM,IAAM,CAClB,GAAM,CAACC,EAAcC,CAAe,EAAU,WAAkB,EAAI,EAC9DC,EAAiB,SAA8B,IAAI,EAEnDC,EAAQ,CACV,QAASH,CACb,EAGMI,EAAoB,cAAY,IAAM,CAhBpD,IAAAC,EAiBYJ,EAAgB,EAAK,EAEjBC,EAAS,UACT,aAAaA,EAAS,OAAO,EAC7BA,EAAS,QAAU,OAGvBG,EAAAN,EAAM,UAAN,MAAAM,EAAA,KAAAN,EACJ,EAAG,CAACA,EAAM,OAAO,CAAC,EAGlB,OAAM,YAAU,KACRG,EAAS,UACT,aAAaA,EAAS,OAAO,EAC7BA,EAAS,QAAU,MAGnB,OAAOH,EAAM,MAAS,UAAYA,EAAM,KAAO,GAAKC,IACpDE,EAAS,QAAU,WAAW,IAAM,CAChCE,EAAY,CAChB,EAAGL,EAAM,IAAI,GAGV,IAAM,CACLG,EAAS,UACT,aAAaA,EAAS,OAAO,EAC7BA,EAAS,QAAU,KAE3B,GACD,CAACH,EAAM,KAAMC,EAAcI,CAAW,CAAC,EAEnC,CACH,MAAAD,EACA,YAAAC,CACJ,CACJ,CACJ,CAAC","names":["withHeadless","React","defaultProps","useMessage","withHeadless","defaultProps","props","visibleState","setVisibleState","timerRef","state","handleClose","_a"]}
|
|
File without changes
|
package/metergroup/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/metergroup/useMeterGroup.ts","../../src/metergroup/useMeterGroup.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './useMeterGroup.props';\n\nexport const useMeterGroup = withHeadless({\n name: 'useMeterGroup',\n defaultProps,\n setup({ props }) {\n const [totalPercentState, setTotalPercentState] = React.useState(0);\n\n const state = {\n totalPercent: totalPercentState\n };\n\n // methods\n const percent = React.useCallback((meterValue: number = 0) => {\n const min = props.min ?? 0;\n const max = props.max ?? 100;\n\n return Math.round(Math.max(0, Math.min(100, ((meterValue - min) / (max - min)) * 100)));\n }, []);\n\n const percentAsString = React.useCallback((meterValue: number = 0) => {\n return percent(meterValue) + '%';\n }, []);\n\n const updateTotalPercent = React.useCallback((percent: number = 0) => {\n setTotalPercentState((prev) => prev + percent);\n }, []);\n\n const resetTotalPercent = React.useCallback(() => {\n setTotalPercentState(0);\n }, []);\n\n return {\n state,\n // methods\n percent,\n percentAsString,\n updateTotalPercent,\n resetTotalPercent\n };\n }\n});\n","import type { useMeterGroupProps } from '@primereact/types/shared/metergroup';\n\nexport const defaultProps: useMeterGroupProps = {\n min: 0,\n max: 100\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,EAAmC,CAC5C,IAAK,EACL,IAAK,GACT,EDDO,IAAMC,EAAgBC,EAAa,CACtC,KAAM,gBACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CACb,GAAM,CAACC,EAAmBC,CAAoB,EAAU,WAAS,CAAC,EAE5DC,EAAQ,CACV,aAAcF,CAClB,EAGMG,EAAgB,cAAY,CAACC,EAAqB,IAAM,CAftE,IAAAC,EAAAC,EAgBY,IAAMC,GAAMF,EAAAN,EAAM,MAAN,KAAAM,EAAa,EACnBG,GAAMF,EAAAP,EAAM,MAAN,KAAAO,EAAa,IAEzB,OAAO,KAAK,MAAM,KAAK,IAAI,EAAG,KAAK,IAAI,KAAOF,EAAaG,IAAQC,EAAMD,GAAQ,GAAG,CAAC,CAAC,CAC1F,EAAG,CAAC,CAAC,EAECE,EAAwB,cAAY,CAACL,EAAqB,IACrDD,EAAQC,CAAU,EAAI,IAC9B,CAAC,CAAC,EAECM,EAA2B,cAAY,CAACP,EAAkB,IAAM,CAClEF,EAAsBU,GAASA,EAAOR,CAAO,CACjD,EAAG,CAAC,CAAC,EAECS,EAA0B,cAAY,IAAM,CAC9CX,EAAqB,CAAC,CAC1B,EAAG,CAAC,CAAC,EAEL,MAAO,CACH,MAAAC,EAEA,QAAAC,EACA,gBAAAM,EACA,mBAAAC,EACA,kBAAAE,CACJ,CACJ,CACJ,CAAC","names":["withHeadless","React","defaultProps","useMeterGroup","withHeadless","defaultProps","props","totalPercentState","setTotalPercentState","state","percent","meterValue","_a","_b","min","max","percentAsString","updateTotalPercent","prev","resetTotalPercent"]}
|
|
File without changes
|
package/orgchart/index.d.ts
DELETED
package/orgchart/index.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{withHeadless as P}from"@primereact/core/headless";import*as s from"react";var N={value:void 0,gap:40,selectable:!0,collapsible:!1,selectionMode:"single"};var H=P({name:"useOrgChart",defaultProps:N,setup({props:a}){let[f,d]=s.useState(()=>new Set),[g,h]=s.useState(()=>new Set),w=s.useMemo(()=>Array.from(f),[f]),M=s.useMemo(()=>Array.from(g),[g]),u=s.useRef(!1),b=s.useRef(new Set),S=s.useRef(new Set),k={selectedNodes:w,collapsedNodes:M},C=s.useCallback(e=>{e&&d(l=>{let t=new Set(l);return t.has(e)?a.selectionMode==="single"?t.clear():t.delete(e):(a.selectionMode==="single"&&t.clear(),t.add(e)),t})},[a.selectionMode]),R=s.useCallback(e=>{e&&h(l=>{let t=new Set(l);return t.has(e)?t.delete(e):t.add(e),t})},[]),E=s.useCallback((e,l)=>{(e.key==="Enter"||e.key===" ")&&(C(l),e.preventDefault(),e.stopPropagation())},[C]),T=s.useCallback((e,l)=>{(e.key==="Enter"||e.key===" ")&&(R(l),e.preventDefault(),e.stopPropagation())},[R]),z=s.useMemo(()=>{var l;let e=(l=a.gap)!=null?l:40;return Array.isArray(e)?e.length===1?e=[e[0],e[0]]:e.length===0&&(e=[40,40]):e=[e,e],{"--gap-x":e[0],"--gap-y":e[1]}},[a.gap]),y=s.useCallback(e=>e.reduce((l,t)=>(l.push(t),t.children&&t.children.length>0&&l.push(...y(t.children)),l),[]),[]),c=s.useMemo(()=>{if(!a.value||a.value.length===0)return new Map;let e=y(a.value),l=new Map;return e.forEach(t=>{l.set(t.key,t)}),l},[a.value,y]);s.useMemo(()=>{if(u.current||c.size===0)return;let e=new Set,l=new Set;c.forEach(t=>{var r,n;if(t.collapsedByDefault){let i=(n=(r=t.collapsible)!=null?r:a.collapsible)!=null?n:!1,o=t.children&&t.children.length>0;i&&o&&e.add(t.key)}}),c.forEach(t=>{var r,n;if(t.selectedByDefault&&((n=(r=t.selectable)!=null?r:a.selectable)!=null?n:!0)){if(a.selectionMode==="single"&&l.size>0)return;l.add(t.key)}}),S.current=e,b.current=l},[c,a.collapsible,a.selectable,a.selectionMode]);let m=s.useCallback(e=>{var t,r;return e?!!(((r=(t=e.collapsible)!=null?t:a.collapsible)!=null?r:!1)&&e.children&&e.children.length>0):!1},[a.collapsible]),K=s.useCallback(e=>{var l,t;return e?!!((t=(l=e.selectable)!=null?l:a.selectable)!=null&&t):!1},[a.selectable]),p=s.useCallback(e=>!e||!e.key||!m(e)?!1:!!(g.has(e.key)||!u.current&&S.current.has(e.key)),[g,m]),x=s.useCallback(e=>!e||!e.key?!1:!!(f.has(e.key)||!u.current&&b.current.has(e.key)),[f]);return s.useEffect(()=>{if(c.size===0){h(e=>e.size>0?new Set:e),d(e=>e.size>0?new Set:e);return}if(!u.current){u.current=!0;let e=S.current,l=b.current;e.size>0&&h(new Set(e)),l.size>0&&d(new Set(l));return}h(e=>{if(e.size===0)return e;let l=new Set,t=!1;return e.forEach(r=>{var i,o;let n=c.get(r);n&&((o=(i=n.collapsible)!=null?i:a.collapsible)!=null?o:!1)&&n.children&&n.children.length>0?l.add(r):t=!0}),t?l:e}),d(e=>{if(e.size===0)return e;let l=new Set,t=!1;return e.forEach(r=>{var i,o;let n=c.get(r);n&&((o=(i=n.selectable)!=null?i:a.selectable)!=null?o:!0)?l.add(r):t=!0}),t?l:e})},[c,a.collapsible,a.selectable]),{state:k,orgChartStyle:z,toggleNodeSelect:C,toggleNodeCollapse:R,isCollapsible:m,isSelectable:K,isCollapsed:p,isSelected:x,handleNodeKeyDown:E,handleCollapseKeyDown:T}}});export{N as defaultProps,H as useOrgChart};
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|
package/orgchart/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/orgchart/useOrgChart.ts","../../src/orgchart/useOrgChart.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { TreeNode } from '@primereact/types/shared/orgchart';\nimport * as React from 'react';\nimport { defaultProps } from './useOrgChart.props';\n\nexport const useOrgChart = withHeadless({\n name: 'useOrgChart',\n defaultProps,\n setup({ props }) {\n const [selectedNodesSet, setSelectedNodesSet] = React.useState<Set<string>>(() => new Set());\n const [collapsedNodesSet, setCollapsedNodesSet] = React.useState<Set<string>>(() => new Set());\n\n const selectedNodes = React.useMemo(() => Array.from(selectedNodesSet), [selectedNodesSet]);\n const collapsedNodes = React.useMemo(() => Array.from(collapsedNodesSet), [collapsedNodesSet]);\n\n const isInitialized = React.useRef(false);\n const initialSelectedKeysRef = React.useRef<Set<string>>(new Set());\n const initialCollapsedKeysRef = React.useRef<Set<string>>(new Set());\n\n const state = {\n selectedNodes,\n collapsedNodes\n };\n\n const toggleNodeSelect = React.useCallback(\n (key?: string) => {\n if (!key) return;\n\n setSelectedNodesSet((prev) => {\n const next = new Set(prev);\n\n if (next.has(key)) {\n if (props.selectionMode === 'single') {\n next.clear();\n } else {\n next.delete(key);\n }\n } else {\n if (props.selectionMode === 'single') {\n next.clear();\n }\n\n next.add(key);\n }\n\n return next;\n });\n },\n [props.selectionMode]\n );\n\n const toggleNodeCollapse = React.useCallback((key?: string) => {\n if (!key) return;\n\n setCollapsedNodesSet((prev) => {\n const next = new Set(prev);\n\n if (next.has(key)) {\n next.delete(key);\n } else {\n next.add(key);\n }\n\n return next;\n });\n }, []);\n\n const handleNodeKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>, key?: string) => {\n if (event.key === 'Enter' || event.key === ' ') {\n toggleNodeSelect(key);\n\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [toggleNodeSelect]\n );\n\n const handleCollapseKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement>, key?: string) => {\n if (event.key === 'Enter' || event.key === ' ') {\n toggleNodeCollapse(key);\n\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [toggleNodeCollapse]\n );\n\n const orgChartStyle = React.useMemo(() => {\n let gap = props.gap ?? 40;\n\n if (!Array.isArray(gap)) {\n gap = [gap, gap];\n } else if (gap.length === 1) {\n gap = [gap[0], gap[0]];\n } else if (gap.length === 0) {\n gap = [40, 40];\n }\n\n return {\n '--gap-x': gap[0],\n '--gap-y': gap[1]\n };\n }, [props.gap]);\n\n const flattenNodes = React.useCallback((nodes: TreeNode[]): TreeNode[] => {\n return nodes.reduce((acc, node) => {\n acc.push(node);\n\n if (node.children && node.children.length > 0) {\n acc.push(...flattenNodes(node.children));\n }\n\n return acc;\n }, [] as TreeNode[]);\n }, []);\n\n const nodeMap = React.useMemo(() => {\n if (!props.value || props.value.length === 0) return new Map<string, TreeNode>();\n\n const allNodes = flattenNodes(props.value);\n const map = new Map<string, TreeNode>();\n\n allNodes.forEach((node) => {\n map.set(node.key, node);\n });\n\n return map;\n }, [props.value, flattenNodes]);\n\n React.useMemo(() => {\n if (isInitialized.current || nodeMap.size === 0) return;\n\n const collapsedKeys = new Set<string>();\n const selectedKeys = new Set<string>();\n\n nodeMap.forEach((node) => {\n if (node.collapsedByDefault) {\n const nodeCollapsible = node.collapsible ?? props.collapsible ?? false;\n const hasChildren = node.children && node.children.length > 0;\n\n if (nodeCollapsible && hasChildren) {\n collapsedKeys.add(node.key);\n }\n }\n });\n\n nodeMap.forEach((node) => {\n if (node.selectedByDefault) {\n const nodeSelectable = node.selectable ?? props.selectable ?? true;\n\n if (nodeSelectable) {\n if (props.selectionMode === 'single' && selectedKeys.size > 0) {\n return;\n }\n\n selectedKeys.add(node.key);\n }\n }\n });\n\n initialCollapsedKeysRef.current = collapsedKeys;\n initialSelectedKeysRef.current = selectedKeys;\n }, [nodeMap, props.collapsible, props.selectable, props.selectionMode]);\n\n const isCollapsible = React.useCallback(\n (node?: TreeNode) => {\n if (!node) return false;\n\n const nodeCollapsible = node.collapsible ?? props.collapsible ?? false;\n\n return Boolean(nodeCollapsible && node.children && node.children.length > 0);\n },\n [props.collapsible]\n );\n\n const isSelectable = React.useCallback(\n (node?: TreeNode) => {\n if (!node) return false;\n\n return Boolean(node.selectable ?? props.selectable ?? false);\n },\n [props.selectable]\n );\n\n const isCollapsed = React.useCallback(\n (node?: TreeNode) => {\n if (!node || !node.key) return false;\n\n if (!isCollapsible(node)) return false;\n\n if (collapsedNodesSet.has(node.key)) return true;\n\n if (!isInitialized.current && initialCollapsedKeysRef.current.has(node.key)) {\n return true;\n }\n\n return false;\n },\n [collapsedNodesSet, isCollapsible]\n );\n\n const isSelected = React.useCallback(\n (node?: TreeNode) => {\n if (!node || !node.key) return false;\n\n if (selectedNodesSet.has(node.key)) return true;\n\n if (!isInitialized.current && initialSelectedKeysRef.current.has(node.key)) {\n return true;\n }\n\n return false;\n },\n [selectedNodesSet]\n );\n\n React.useEffect(() => {\n if (nodeMap.size === 0) {\n setCollapsedNodesSet((prev) => (prev.size > 0 ? new Set() : prev));\n setSelectedNodesSet((prev) => (prev.size > 0 ? new Set() : prev));\n\n return;\n }\n\n if (!isInitialized.current) {\n isInitialized.current = true;\n\n const collapsedKeys = initialCollapsedKeysRef.current;\n const selectedKeys = initialSelectedKeysRef.current;\n\n if (collapsedKeys.size > 0) {\n setCollapsedNodesSet(new Set(collapsedKeys));\n }\n\n if (selectedKeys.size > 0) {\n setSelectedNodesSet(new Set(selectedKeys));\n }\n\n return;\n }\n\n setCollapsedNodesSet((prev) => {\n if (prev.size === 0) return prev;\n\n const next = new Set<string>();\n let hasChanges = false;\n\n prev.forEach((key) => {\n const node = nodeMap.get(key);\n\n if (node) {\n const nodeCollapsible = node.collapsible ?? props.collapsible ?? false;\n\n if (nodeCollapsible && node.children && node.children.length > 0) {\n next.add(key);\n } else {\n hasChanges = true;\n }\n } else {\n hasChanges = true;\n }\n });\n\n return hasChanges ? next : prev;\n });\n\n setSelectedNodesSet((prev) => {\n if (prev.size === 0) return prev;\n\n const next = new Set<string>();\n let hasChanges = false;\n\n prev.forEach((key) => {\n const node = nodeMap.get(key);\n\n if (node) {\n const nodeSelectable = node.selectable ?? props.selectable ?? true;\n\n if (nodeSelectable) {\n next.add(key);\n } else {\n hasChanges = true;\n }\n } else {\n hasChanges = true;\n }\n });\n\n return hasChanges ? next : prev;\n });\n }, [nodeMap, props.collapsible, props.selectable]);\n\n return {\n state,\n orgChartStyle,\n toggleNodeSelect,\n toggleNodeCollapse,\n isCollapsible,\n isSelectable,\n isCollapsed,\n isSelected,\n handleNodeKeyDown,\n handleCollapseKeyDown\n };\n }\n});\n","import type { useOrgChartProps } from '@primereact/types/shared/orgchart';\n\nexport const defaultProps: useOrgChartProps = {\n value: undefined,\n gap: 40,\n selectable: true,\n collapsible: false,\n selectionMode: 'single'\n};\n"],"mappings":"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","names":["withHeadless","React","defaultProps","useOrgChart","withHeadless","defaultProps","props","selectedNodesSet","setSelectedNodesSet","collapsedNodesSet","setCollapsedNodesSet","selectedNodes","collapsedNodes","isInitialized","initialSelectedKeysRef","initialCollapsedKeysRef","state","toggleNodeSelect","key","prev","next","toggleNodeCollapse","handleNodeKeyDown","event","handleCollapseKeyDown","orgChartStyle","_a","gap","flattenNodes","nodes","acc","node","nodeMap","allNodes","map","collapsedKeys","selectedKeys","_b","nodeCollapsible","hasChildren","isCollapsible","isSelectable","isCollapsed","isSelected","hasChanges"]}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { TreeNode } from '@primereact/types/shared/orgchart';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
export declare const useOrgChart: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/orgchart").useOrgChartProps, unknown, {
|
|
4
|
-
state: {
|
|
5
|
-
selectedNodes: string[];
|
|
6
|
-
collapsedNodes: string[];
|
|
7
|
-
};
|
|
8
|
-
orgChartStyle: {
|
|
9
|
-
'--gap-x': number;
|
|
10
|
-
'--gap-y': number;
|
|
11
|
-
};
|
|
12
|
-
toggleNodeSelect: (key?: string) => void;
|
|
13
|
-
toggleNodeCollapse: (key?: string) => void;
|
|
14
|
-
isCollapsible: (node?: TreeNode) => boolean;
|
|
15
|
-
isSelectable: (node?: TreeNode) => boolean;
|
|
16
|
-
isCollapsed: (node?: TreeNode) => boolean;
|
|
17
|
-
isSelected: (node?: TreeNode) => boolean;
|
|
18
|
-
handleNodeKeyDown: (event: React.KeyboardEvent<HTMLDivElement>, key?: string) => void;
|
|
19
|
-
handleCollapseKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>, key?: string) => void;
|
|
20
|
-
}>;
|
|
File without changes
|
package/overlay/index.d.ts
DELETED
package/overlay/index.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{withHeadless as q}from"@primereact/core/headless";import{ConnectedOverlayScrollHandler as F}from"@primereact/core/utils";import{useEventListener as d,useUnmountEffect as G}from"@primereact/hooks";import{$dt as J}from"@primeuix/styled";import{absolutePosition as Q,addClass as _,addStyle as ee,getHiddenElementOuterHeight as te,getHiddenElementOuterWidth as ne,getOffset as H,getViewport as re,isTouchDevice as oe,relativePosition as le}from"@primeuix/utils/dom";import{ZIndex as E}from"@primeuix/utils/zindex";import{EventBus as U}from"@primeuix/utils/eventbus";var g=U();import*as a from"react";var T={target:void 0,defaultOpen:void 0,open:void 0,appendTo:"body",type:"overlay",baseZIndex:0,autoZIndex:!0,closeOnEscape:!0,onOpenChange:void 0};var Oe=q({name:"useOverlay",defaultProps:T,setup:({props:t,$primereact:M})=>{let[s,b]=a.useState(!1),n=a.useRef(null),c=a.useRef(null),m=a.useRef(!1),k={visible:s},u=a.useCallback(()=>{var e,i;return n!=null&&n.current&&(n==null?void 0:n.current)instanceof HTMLElement?n==null?void 0:n.current:(i=(e=n==null?void 0:n.current)==null?void 0:e.elementRef.current)!=null?i:null},[n]),S=()=>{var e;s||(b(!0),(e=t.onOpenChange)==null||e.call(t,{value:!0}))},f=()=>{var e;s&&(b(!1),(e=t.onOpenChange)==null||e.call(t,{value:!1}))},P=()=>{var i,r,o,l;let e=u();e&&(ee(e,{position:"absolute",top:"0"}),t.autoZIndex&&t.type&&E.set(t.type,e,((i=t.baseZIndex)!=null?i:0)+((l=(o=(r=M.config)==null?void 0:r.zIndex)==null?void 0:o[t.type])!=null?l:1e3)),z())},I=()=>{D(),V(),X(),t.type==="menu"&&K()},Z=()=>{O(),x(),h(),t.type==="menu"&&L()},N=()=>{let e=u();t.autoZIndex&&e&&E.clear(e)},z=()=>{let e=u();if(!e)return;if(t.target&&typeof t.target=="object"&&"pageX"in t.target&&"pageY"in t.target){let r=t.target,o=r.pageX+1,l=r.pageY+1,R=e.offsetParent?e.offsetWidth:ne(e),C=e.offsetParent?e.offsetHeight:te(e),p=re(),y=window.scrollY||document.documentElement.scrollTop||document.body.scrollTop||0,v=window.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft||0;o+R-v>p.width&&(o-=R),l+C-y>p.height&&(l-=C),o<v&&(o=v),l<y&&(l=y),e.style.left=o+"px",e.style.top=l+"px"}else if(t.target){t.appendTo==="self"?le(e,t.target):Q(e,t.target);let r=H(e),o=H(t.target),l=0;Number(r.left)<Number(o.left)&&(l=Number(o.left)-Number(r.left)),e.style.setProperty(J("overlay.arrow.left").name,`${l}px`),r.top<o.top&&(_(e,"p-overlay-flipped"),e.setAttribute("data-p-overlay-flipped","true"))}},[D,O]=d({type:"click",listener:e=>w(e)}),[K,L]=d({type:"contextmenu",listener:e=>w(e)}),[V,x]=d({type:"scroll",listener:()=>A()}),[X,h]=d({target:"window",type:"resize",listener:()=>B()}),w=e=>{if(m.current){m.current=!1;return}s&&Y(e)&&f()},Y=e=>{let i=u();if(!i)return;let r=e.target;return!(i.isSameNode(r)||i.contains(r))},A=()=>{c.current||(c.current=new F(u(),()=>{s&&f()})),c.current.bindScrollListener()},B=()=>{s&&!oe()&&f()},j=e=>{g.emit("overlay-click",{originalEvent:e,target:t.target}),m.current=!0},W=e=>{e.code==="Escape"&&$(e)},$=e=>{s&&f(),e.preventDefault()};return a.useEffect(()=>{t.open?S():t.open||f()},[t.open]),G(()=>{O(),x(),h(),t.type==="menu"&&L(),c.current&&(c.current.destroy(),c.current=null);let e=u();t.autoZIndex&&e&&E.clear(e)}),{state:k,containerRef:n,hide:f,onOverlayEnter:P,onOverlayAfterEnter:I,onLeave:Z,onAfterLeave:N,onOverlayClick:j,onOverlayKeyDown:W}}});export{T as defaultProps,Oe as useOverlay};
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|
package/overlay/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/overlay/useOverlay.ts","../../../primereact/src/overlayeventbus/OverlayEventBus.ts","../../src/overlay/useOverlay.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, addStyle, getHiddenElementOuterHeight, getHiddenElementOuterWidth, getOffset, getViewport, isTouchDevice, relativePosition } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { OverlayEventBus } from 'primereact/overlayeventbus';\nimport * as React from 'react';\nimport { defaultProps } from './useOverlay.props';\n\nexport const useOverlay = withHeadless({\n name: 'useOverlay',\n defaultProps,\n setup: ({ props, $primereact }) => {\n const [visibleState, setVisibleState] = React.useState(false);\n const containerRef = React.useRef<{ elementRef: React.RefObject<HTMLDivElement> } | null>(null);\n const scrollHandler = React.useRef<ConnectedOverlayScrollHandler | null>(null);\n const selfClick = React.useRef(false);\n\n const state = {\n visible: visibleState\n };\n\n const getContainer = React.useCallback(() => {\n if (containerRef?.current && containerRef?.current instanceof HTMLElement) {\n return containerRef?.current;\n }\n\n return containerRef?.current?.elementRef.current ?? null;\n }, [containerRef]);\n\n const show = () => {\n if (visibleState) return;\n\n setVisibleState(true);\n props.onOpenChange?.({\n value: true\n });\n };\n\n const hide = () => {\n if (!visibleState) return;\n\n setVisibleState(false);\n props.onOpenChange?.({\n value: false\n });\n };\n\n const onOverlayEnter = () => {\n const containerElement = getContainer();\n\n if (!containerElement) return;\n\n addStyle(containerElement, { position: 'absolute', top: '0' });\n\n if (props.autoZIndex && props.type) {\n ZIndex.set(props.type, containerElement, (props.baseZIndex ?? 0) + ($primereact.config?.zIndex?.[props.type] ?? 1000));\n }\n\n alignOverlay();\n };\n\n const onOverlayAfterEnter = () => {\n bindOutsideClickListener();\n bindScrollListener();\n bindResizeListener();\n\n if (props.type === 'menu') {\n bindOutsideContextMenuListener();\n }\n };\n\n const onLeave = () => {\n unbindOutsideClickListener();\n unbindScrollListener();\n unbindResizeListener();\n\n if (props.type === 'menu') {\n unbindOutsideContextMenuListener();\n }\n };\n\n const onAfterLeave = () => {\n const containerElement = getContainer();\n\n if (props.autoZIndex && containerElement) {\n ZIndex.clear(containerElement);\n }\n };\n\n const alignOverlay = () => {\n const containerElement = getContainer();\n\n if (!containerElement) return;\n\n const isVirtualTarget = props.target && typeof props.target === 'object' && 'pageX' in props.target && 'pageY' in props.target;\n\n if (isVirtualTarget) {\n const virtualTarget = props.target as { pageX: number; pageY: number };\n\n let left = virtualTarget.pageX + 1;\n let top = virtualTarget.pageY + 1;\n const width = containerElement.offsetParent ? containerElement.offsetWidth : getHiddenElementOuterWidth(containerElement);\n const height = containerElement.offsetParent ? containerElement.offsetHeight : getHiddenElementOuterHeight(containerElement);\n const viewport = getViewport();\n const scrollTop = window.scrollY || document.documentElement.scrollTop || document.body.scrollTop || 0;\n const scrollLeft = window.scrollX || document.documentElement.scrollLeft || document.body.scrollLeft || 0;\n\n //flip\n if (left + width - scrollLeft > viewport.width) {\n left -= width;\n }\n\n //flip\n if (top + height - scrollTop > viewport.height) {\n top -= height;\n }\n\n //fit\n if (left < scrollLeft) {\n left = scrollLeft;\n }\n\n //fit\n if (top < scrollTop) {\n top = scrollTop;\n }\n\n containerElement.style.left = left + 'px';\n containerElement.style.top = top + 'px';\n } else if (props.target) {\n if (props.appendTo === 'self') {\n relativePosition(containerElement, props.target as HTMLElement);\n } else {\n absolutePosition(containerElement, props.target as HTMLElement);\n }\n\n const containerOffset = getOffset(containerElement);\n const targetOffset = getOffset(props.target as HTMLElement);\n let arrowLeft = 0;\n\n if (Number(containerOffset.left) < Number(targetOffset.left)) {\n arrowLeft = Number(targetOffset.left) - Number(containerOffset.left);\n }\n\n containerElement.style.setProperty($dt('overlay.arrow.left').name, `${arrowLeft}px`);\n\n if (containerOffset.top < targetOffset.top) {\n addClass(containerElement, 'p-overlay-flipped');\n containerElement.setAttribute('data-p-overlay-flipped', 'true');\n }\n }\n };\n\n const [bindOutsideClickListener, unbindOutsideClickListener] = useEventListener({\n type: 'click',\n listener: (event) => onOutsideClick(event as unknown as React.MouseEvent)\n });\n\n const [bindOutsideContextMenuListener, unbindOutsideContextMenuListener] = useEventListener({\n type: 'contextmenu',\n listener: (event) => onOutsideClick(event as unknown as React.MouseEvent)\n });\n\n const [bindScrollListener, unbindScrollListener] = useEventListener({\n type: 'scroll',\n listener: () => onScroll()\n });\n\n const [bindResizeListener, unbindResizeListener] = useEventListener({\n target: 'window',\n type: 'resize',\n listener: () => onResize()\n });\n\n const onOutsideClick = (event: React.MouseEvent) => {\n if (selfClick.current) {\n selfClick.current = false;\n\n return;\n }\n\n if (visibleState && isOutsideClicked(event)) {\n hide();\n }\n };\n\n const isOutsideClicked = (event: React.MouseEvent) => {\n const containerElement = getContainer();\n\n if (!containerElement) return;\n\n const target = event.target as Node;\n\n return !(containerElement.isSameNode(target) || containerElement.contains(target));\n };\n\n const onScroll = () => {\n if (!scrollHandler.current) {\n scrollHandler.current = new ConnectedOverlayScrollHandler(getContainer(), () => {\n if (visibleState) {\n hide();\n }\n });\n }\n\n scrollHandler.current.bindScrollListener();\n };\n\n const onResize = () => {\n if (visibleState && !isTouchDevice()) {\n hide();\n }\n };\n\n const onOverlayClick = (event: React.MouseEvent) => {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: props.target\n });\n\n selfClick.current = true;\n };\n\n const onOverlayKeyDown = (event: React.KeyboardEvent) => {\n if (event.code === 'Escape') {\n onEscapeKey(event);\n }\n };\n\n const onEscapeKey = (event: React.KeyboardEvent) => {\n if (visibleState) {\n hide();\n }\n\n event.preventDefault();\n };\n\n React.useEffect(() => {\n if (props.open) {\n show();\n } else if (!props.open) {\n hide();\n }\n }, [props.open]);\n\n useUnmountEffect(() => {\n unbindOutsideClickListener();\n unbindScrollListener();\n unbindResizeListener();\n\n if (props.type === 'menu') {\n unbindOutsideContextMenuListener();\n }\n\n if (scrollHandler.current) {\n scrollHandler.current.destroy();\n scrollHandler.current = null;\n }\n\n const containerElement = getContainer();\n\n if (props.autoZIndex && containerElement) {\n ZIndex.clear(containerElement);\n }\n });\n\n return {\n state,\n containerRef,\n // methods\n hide,\n onOverlayEnter,\n onOverlayAfterEnter,\n onLeave,\n onAfterLeave,\n onOverlayClick,\n onOverlayKeyDown\n };\n }\n});\n","import { EventBus } from '@primeuix/utils/eventbus';\n\nexport default EventBus();\n","import type { useOverlayProps } from '@primereact/types/shared/overlay';\n\nexport const defaultProps: useOverlayProps = {\n target: undefined,\n defaultOpen: undefined,\n open: undefined,\n appendTo: 'body',\n type: 'overlay',\n baseZIndex: 0,\n autoZIndex: true,\n closeOnEscape: true,\n onOpenChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","ConnectedOverlayScrollHandler","useEventListener","useUnmountEffect","$dt","absolutePosition","addClass","addStyle","getHiddenElementOuterHeight","getHiddenElementOuterWidth","getOffset","getViewport","isTouchDevice","relativePosition","ZIndex","EventBus","OverlayEventBus_default","React","defaultProps","useOverlay","withHeadless","defaultProps","props","$primereact","visibleState","setVisibleState","containerRef","scrollHandler","selfClick","state","getContainer","_a","_b","show","hide","onOverlayEnter","_c","_d","containerElement","addStyle","ZIndex","alignOverlay","onOverlayAfterEnter","bindOutsideClickListener","bindScrollListener","bindResizeListener","bindOutsideContextMenuListener","onLeave","unbindOutsideClickListener","unbindScrollListener","unbindResizeListener","unbindOutsideContextMenuListener","onAfterLeave","virtualTarget","left","top","width","getHiddenElementOuterWidth","height","getHiddenElementOuterHeight","viewport","getViewport","scrollTop","scrollLeft","relativePosition","absolutePosition","containerOffset","getOffset","targetOffset","arrowLeft","$dt","addClass","useEventListener","event","onOutsideClick","onScroll","onResize","isOutsideClicked","target","ConnectedOverlayScrollHandler","isTouchDevice","onOverlayClick","OverlayEventBus_default","onOverlayKeyDown","onEscapeKey","useUnmountEffect"]}
|
package/overlay/useOverlay.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
export declare const useOverlay: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/overlay").useOverlayProps, unknown, {
|
|
3
|
-
state: {
|
|
4
|
-
visible: boolean;
|
|
5
|
-
};
|
|
6
|
-
containerRef: React.RefObject<{
|
|
7
|
-
elementRef: React.RefObject<HTMLDivElement>;
|
|
8
|
-
} | null>;
|
|
9
|
-
hide: () => void;
|
|
10
|
-
onOverlayEnter: () => void;
|
|
11
|
-
onOverlayAfterEnter: () => void;
|
|
12
|
-
onLeave: () => void;
|
|
13
|
-
onAfterLeave: () => void;
|
|
14
|
-
onOverlayClick: (event: React.MouseEvent) => void;
|
|
15
|
-
onOverlayKeyDown: (event: React.KeyboardEvent) => void;
|
|
16
|
-
}>;
|
|
File without changes
|
package/paginator/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/paginator/usePaginator.ts","../../src/paginator/usePaginator.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './usePaginator.props';\n\nconst range = (start: number, end: number) => {\n const length = Math.max(0, end - start + 1);\n\n return Array.from({ length }, (_, i) => ({ type: 'page' as const, value: start + i }));\n};\n\nconst ELLIPSIS = { type: 'ellipsis' as const };\n\nexport const usePaginator = withHeadless({\n name: 'usePaginator',\n defaultProps,\n setup({ props }) {\n const { edges = 1, siblings = 1, showEllipsis = true } = props;\n const [activePage, setActivePage] = React.useState(props.defaultPage ?? props.page ?? 1);\n\n const totalPages = Math.max(1, Math.ceil((props.total ?? 0) / (props.itemsPerPage ?? 1)));\n const canPrev = activePage > 1;\n const canNext = activePage < totalPages;\n\n const handlePage = (page?: number) => {\n if (props.disabled || page === undefined) return;\n\n const newPageValue = page < 1 ? 1 : page > totalPages ? totalPages : page;\n\n if (newPageValue !== activePage) {\n props.onPageChange?.({\n originalEvent: {} as React.SyntheticEvent,\n value: newPageValue\n });\n }\n\n setActivePage(newPageValue);\n };\n\n const next = () => handlePage(activePage + 1);\n const prev = () => handlePage(activePage - 1);\n const first = () => handlePage(1);\n const last = () => handlePage(totalPages);\n\n const pages = React.useMemo(() => {\n const leftSiblingIndex = Math.max(activePage - siblings, 1);\n const rightSiblingIndex = Math.min(activePage + siblings, totalPages);\n\n if (showEllipsis) {\n const windowSize = 2 * edges + 2 * siblings + (showEllipsis ? 3 : 1);\n\n if (windowSize >= totalPages) {\n return range(1, totalPages);\n }\n\n const isShowLeftEllipsis = leftSiblingIndex > edges + 2;\n const isShowRightEllipsis = rightSiblingIndex < totalPages - edges - 1;\n\n return [\n ...range(1, edges),\n\n ...(isShowLeftEllipsis ? [ELLIPSIS] : range(edges + 1, siblings * 2 + edges + 2)),\n\n ...(isShowLeftEllipsis && isShowRightEllipsis ? range(leftSiblingIndex, rightSiblingIndex) : []),\n\n ...(isShowRightEllipsis ? [ELLIPSIS] : range(totalPages - edges - 1 - 2 * siblings, totalPages - edges)),\n\n ...range(totalPages - edges + 1, totalPages)\n ];\n } else {\n return [...range(Math.max(Math.min(leftSiblingIndex, rightSiblingIndex - 2 * siblings), 1), Math.min(Math.max(rightSiblingIndex, leftSiblingIndex + 2 * siblings), totalPages))];\n }\n }, [totalPages, edges, siblings, activePage, showEllipsis]);\n\n React.useEffect(() => {\n if (props.page !== undefined) {\n handlePage(props.page);\n }\n }, [props.page]);\n\n return {\n state: {\n activePage,\n totalPages,\n canPrev,\n canNext\n },\n pages,\n prev,\n next,\n first,\n last,\n handlePage\n };\n }\n});\n","import type { usePaginatorProps } from '@primereact/types/shared/paginator';\n\nexport const defaultProps: usePaginatorProps = {\n defaultPage: 1,\n page: undefined,\n total: 0,\n itemsPerPage: 10,\n onPageChange: undefined,\n siblings: 1,\n edges: 1,\n disabled: false,\n showEllipsis: true\n};\n"],"mappings":"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","names":["withHeadless","React","defaultProps","range","start","end","length","_","i","ELLIPSIS","usePaginator","withHeadless","defaultProps","props","_a","_b","_c","_d","edges","siblings","showEllipsis","activePage","setActivePage","totalPages","canPrev","canNext","handlePage","page","newPageValue","next","prev","first","last","pages","leftSiblingIndex","rightSiblingIndex","isShowLeftEllipsis","isShowRightEllipsis"]}
|
|
File without changes
|