@primereact/headless 11.0.0-alpha.9 → 11.0.0-rc.1
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 -1
- package/accordion/index.mjs.map +1 -1
- 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 -1
- package/animateonscroll/index.mjs.map +1 -1
- 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 +2 -0
- package/autocomplete/index.mjs.map +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 -1
- package/avatar/index.mjs.map +1 -1
- 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 +2 -0
- package/avatargroup/index.mjs.map +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 -1
- package/badge/index.mjs.map +1 -1
- 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 -1
- package/breadcrumb/index.mjs.map +1 -1
- 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 -1
- package/button/index.mjs.map +1 -1
- 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 -1
- package/card/index.mjs.map +1 -1
- 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 -1
- package/carousel/index.mjs.map +1 -1
- package/carousel/useCarousel.d.ts +101 -5
- package/carousel/useCarousel.props.d.ts +2 -2
- package/checkbox/index.d.ts +1 -0
- package/checkbox/index.mjs +1 -1
- package/checkbox/index.mjs.map +1 -1
- 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 +2 -0
- package/checkboxgroup/index.mjs.map +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 -1
- package/chip/index.mjs.map +1 -1
- 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 +2 -0
- package/collapsible/index.mjs.map +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 +2 -0
- package/compare/index.mjs.map +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 -1
- package/contextmenu/index.mjs.map +1 -1
- package/contextmenu/submenu/index.d.ts +2 -0
- package/contextmenu/submenu/index.mjs +2 -0
- package/contextmenu/submenu/index.mjs.map +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 +11 -0
- package/datatable/features/index.mjs.map +1 -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 +11 -0
- package/datatable/index.mjs.map +1 -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 +2 -0
- package/datatable/utils/index.mjs.map +1 -0
- package/dataview/index.d.ts +1 -0
- package/dataview/index.mjs +1 -1
- package/dataview/index.mjs.map +1 -1
- 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 -1
- package/datepicker/index.mjs.map +1 -1
- 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 -1
- package/dialog/index.mjs.map +1 -1
- 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 -1
- package/divider/index.mjs.map +1 -1
- 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 +2 -0
- package/dnd/index.mjs.map +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 -1
- package/drawer/index.mjs.map +1 -1
- 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 -1
- package/fieldset/index.mjs.map +1 -1
- 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 -1
- package/fileupload/index.mjs.map +1 -1
- package/fileupload/useFileUpload.d.ts +73 -4
- package/fileupload/useFileUpload.props.d.ts +2 -2
- package/floatlabel/index.d.ts +3 -0
- package/floatlabel/index.mjs +2 -0
- package/floatlabel/index.mjs.map +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 -1
- package/fluid/index.mjs.map +1 -1
- 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 -1
- package/focustrap/index.mjs.map +1 -1
- 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 -1
- package/gallery/index.mjs.map +1 -1
- package/gallery/item/index.mjs +1 -1
- package/gallery/item/index.mjs.map +1 -1
- package/gallery/item/useGalleryItem.d.ts +17 -7
- package/gallery/item/useGalleryItem.props.d.ts +2 -2
- package/gallery/useGallery.d.ts +147 -6
- package/gallery/useGallery.props.d.ts +2 -2
- package/iconfield/index.d.ts +1 -0
- package/iconfield/index.mjs +1 -1
- package/iconfield/index.mjs.map +1 -1
- 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 +2 -0
- package/iftalabel/index.mjs.map +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 -1
- package/inplace/index.mjs.map +1 -1
- package/inplace/useInplace.d.ts +21 -2
- package/inplace/useInplace.props.d.ts +2 -2
- package/{colorpicker → inputcolor}/colorManager.d.ts +3 -2
- package/inputcolor/index.d.ts +4 -0
- package/inputcolor/index.mjs +2 -0
- package/inputcolor/index.mjs.map +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 -1
- package/inputgroup/index.mjs.map +1 -1
- 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 -1
- package/inputnumber/index.mjs.map +1 -1
- 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 -1
- package/inputotp/index.mjs.map +1 -1
- 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 +2 -0
- package/inputpassword/index.mjs.map +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 -1
- package/inputtags/index.mjs.map +1 -1
- 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 -1
- package/inputtext/index.mjs.map +1 -1
- 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 -1
- package/knob/index.mjs.map +1 -1
- 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 -1
- package/label/index.mjs.map +1 -1
- 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 -1
- package/listbox/index.mjs.map +1 -1
- 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 +2 -0
- package/menu/checkboxitem/index.mjs.map +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 -1
- package/menu/index.mjs.map +1 -1
- package/menu/radioitem/index.d.ts +2 -0
- package/menu/radioitem/index.mjs +2 -0
- package/menu/radioitem/index.mjs.map +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 +2 -0
- package/menu/submenu/index.mjs.map +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 -1
- package/message/index.mjs.map +1 -1
- 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 -1
- package/metergroup/index.mjs.map +1 -1
- 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 +2 -0
- package/navigationmenu/index.mjs.map +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 +2 -0
- package/orderlist/index.mjs.map +1 -0
- package/orderlist/useOrderList.d.ts +73 -0
- package/orderlist/useOrderList.props.d.ts +2 -0
- package/organizationchart/index.d.ts +3 -0
- package/organizationchart/index.mjs +2 -0
- package/organizationchart/index.mjs.map +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 +2 -0
- package/overlaybadge/index.mjs.map +1 -0
- package/overlaybadge/useOverlayBadge.d.ts +1 -0
- package/overlaybadge/useOverlayBadge.props.d.ts +2 -0
- package/package.json +12 -15
- package/paginator/index.d.ts +1 -0
- package/paginator/index.mjs +1 -1
- package/paginator/index.mjs.map +1 -1
- 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 -1
- package/panel/index.mjs.map +1 -1
- 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 +2 -0
- package/picklist/index.mjs.map +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 -7
- package/popover/index.mjs.map +1 -1
- 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 -1
- package/portal/index.mjs.map +1 -1
- 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 +2 -0
- package/positioner/index.mjs.map +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 -1
- package/progressbar/index.mjs.map +1 -1
- 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 -1
- package/progressspinner/index.mjs.map +1 -1
- 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 -1
- package/radiobutton/index.mjs.map +1 -1
- 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 +2 -0
- package/radiobuttongroup/index.mjs.map +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 -1
- package/rating/index.mjs.map +1 -1
- 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 -1
- package/scrollarea/index.mjs.map +1 -1
- 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 +2 -0
- package/select/index.mjs.map +1 -0
- package/select/useSelect.d.ts +190 -0
- package/select/useSelect.props.d.ts +2 -0
- package/select/useSelect.test.d.ts +1 -0
- package/sidebar/index.d.ts +7 -0
- package/sidebar/index.mjs +2 -0
- package/sidebar/index.mjs.map +1 -0
- package/sidebar/useSidebar.d.ts +117 -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 +11 -0
- package/sidebar/useSidebarMenuItem.props.d.ts +2 -0
- package/skeleton/index.d.ts +1 -0
- package/skeleton/index.mjs +1 -1
- package/skeleton/index.mjs.map +1 -1
- 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 -1
- package/slider/index.mjs.map +1 -1
- 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 -1
- package/speeddial/index.mjs.map +1 -1
- 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 -1
- package/splitter/index.mjs.map +1 -1
- 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 -1
- package/stepper/index.mjs.map +1 -1
- 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 -1
- package/styleclass/index.mjs.map +1 -1
- 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 -1
- package/tabs/index.mjs.map +1 -1
- 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 -1
- package/tag/index.mjs.map +1 -1
- 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 -1
- package/terminal/index.mjs.map +1 -1
- 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 -1
- package/textarea/index.mjs.map +1 -1
- 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 -1
- package/timeline/index.mjs.map +1 -1
- 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 -1
- package/toast/index.mjs.map +1 -1
- 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 +2 -0
- package/toaster/index.mjs.map +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 -1
- package/togglebutton/index.mjs.map +1 -1
- 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 +2 -0
- package/togglebuttongroup/index.mjs.map +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 +2 -0
- package/toggleswitch/index.mjs.map +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 -1
- package/toolbar/index.mjs.map +1 -1
- 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 -1
- package/tooltip/index.mjs.map +1 -1
- 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 +2 -0
- package/tooltipmanager/index.mjs.map +1 -0
- package/tooltipmanager/useTooltipManager.d.ts +12 -0
- package/tooltipmanager/useTooltipManager.props.d.ts +2 -0
- package/tooltipmanager/useTooltipManager.test.d.ts +0 -0
- package/tree/TreeDragDropService.d.ts +13 -5
- package/tree/index.d.ts +7 -0
- package/tree/index.mjs +1 -1
- package/tree/index.mjs.map +1 -1
- package/tree/useTree.d.ts +96 -16
- 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/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/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/useColorPicker.d.ts +0 -26
- package/colorpicker/useColorPicker.props.d.ts +0 -2
- 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/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/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/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/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/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/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/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/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/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/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/toastStore.d.ts +0 -40
- 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/{colorpicker/input/useColorPickerInput.test.d.ts → autocomplete/useAutoComplete.test.d.ts} +0 -0
- /package/{colorpicker/slider/useColorPickerSlider.test.d.ts → checkboxgroup/useCheckboxGroup.test.d.ts} +0 -0
- /package/{colorpicker/useColorPicker.test.d.ts → collapsible/useCollapsible.test.d.ts} +0 -0
- /package/{commandmenu/useCommandMenu.test.d.ts → compare/useCompare.test.d.ts} +0 -0
- /package/{confirmdialog/useConfirmDialog.test.d.ts → floatlabel/useFloatLabel.test.d.ts} +0 -0
- /package/{confirmpopup/useConfirmPopup.test.d.ts → iftalabel/useIftaLabel.test.d.ts} +0 -0
- /package/{imagecompare/useImageCompare.test.d.ts → inputcolor/useInputColor.test.d.ts} +0 -0
- /package/{orgchart/useOrgChart.test.d.ts → inputpassword/useInputPassword.test.d.ts} +0 -0
- /package/{overlay/useOverlay.test.d.ts → navigationmenu/useNavigationMenu.test.d.ts} +0 -0
- /package/{password/usePassword.test.d.ts → organizationchart/useOrganizationChart.test.d.ts} +0 -0
- /package/{placer/usePlacer.test.d.ts → overlaybadge/useOverlayBadge.test.d.ts} +0 -0
- /package/{progressspinner/useProgressSpinner.test.d.ts → positioner/usePositioner.test.d.ts} +0 -0
- /package/{rating/useRating.test.d.ts → radiobuttongroup/useRadioButtonGroup.test.d.ts} +0 -0
- /package/{switch/useSwitch.test.d.ts → toaster/useToaster.test.d.ts} +0 -0
- /package/{toast/item/useToastItem.test.d.ts → togglebuttongroup/useToggleButtonGroup.test.d.ts} +0 -0
- /package/{tooltip/group/useTooltipGroup.test.d.ts → toggleswitch/useToggleSwitch.test.d.ts} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var I=Object.defineProperty;var y=Object.getOwnPropertySymbols;var _=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable;var T=(o,s,a)=>s in o?I(o,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):o[s]=a,R=(o,s)=>{for(var a in s||(s={}))_.call(s,a)&&T(o,a,s[a]);if(y)for(var a of y(s))B.call(s,a)&&T(o,a,s[a]);return o};import{withHeadless as G}from"@primereact/core/headless";import{focus as W,toElement as j}from"@primeuix/utils";import*as r from"react";var D={orientation:"horizontal",loopFocus:!0,modal:!0,disabled:!1};var q=(o,s)=>{let a=o.compareDocumentPosition(s);return a&Node.DOCUMENT_POSITION_FOLLOWING?-1:a&Node.DOCUMENT_POSITION_PRECEDING?1:0},Z=G({name:"useNavigationMenu",defaultProps:D,setup({props:o}){var O,w;let[s,a]=r.useState(null),h=r.useRef(null);h.current=s;let M=r.useRef(new Map),d=r.useRef(new Map),b=r.useRef(null),m=(O=o.orientation)!=null?O:"horizontal",k=(w=o.loopFocus)!=null?w:!0,v=!!o.modal,g=!!o.disabled,C={openMenuId:s,hasOpenMenu:s!==null},x=r.useCallback((e,t)=>(d.current.set(e,t),()=>{d.current.get(e)===t&&d.current.delete(e)}),[]),i=r.useCallback(e=>{var c,l;let t=h.current,n=typeof e=="function"?e(t):e;t!==null&&n!==null&&t!==n&&((c=d.current.get(t))==null||c(),(l=d.current.get(n))==null||l()),a(n)},[]),L=r.useCallback(e=>{i(e)},[i]),N=r.useCallback(()=>{let e=b.current;return b.current=null,e},[]),P=r.useCallback(e=>{b.current=e},[]),A=r.useCallback(e=>s===e,[s]),H=r.useCallback((e,t)=>{var c;let n=(c=j(t))!=null?c:null;n?M.current.set(e,n):M.current.delete(e)},[]),E=r.useCallback(()=>{let e=[];return M.current.forEach((t,n)=>{!t.hasAttribute("data-disabled")&&!t.disabled&&e.push({id:n,element:t})}),e.sort((t,n)=>q(t.element,n.element)),e},[]),u=r.useCallback((e,t)=>{let n=E();if(n.length===0)return;let c=n.findIndex(f=>f.id===e),l;switch(t){case"next":l=c+1,l>=n.length&&(l=k?0:n.length-1);break;case"previous":l=c-1,l<0&&(l=k?n.length-1:0);break;case"first":l=0;break;case"last":l=n.length-1;break}let p=n[l];!p||p.id===e||(W(p.element),i(f=>f!==null?p.id:f))},[E,k]),S=r.useCallback((e,t)=>{if(g)return;let n=m==="horizontal",c=n?"ArrowRight":"ArrowDown",l=n?"ArrowLeft":"ArrowUp",p=n?"ArrowDown":"ArrowRight",f=n?"ArrowUp":"ArrowLeft";switch(t.key){case c:t.preventDefault(),u(e,"next");break;case l:t.preventDefault(),u(e,"previous");break;case"Home":t.preventDefault(),u(e,"first");break;case"End":t.preventDefault(),u(e,"last");break;case p:case"Enter":case" ":t.preventDefault(),b.current="first",i(e);break;case f:t.preventDefault(),b.current="last",i(e);break;default:break}},[g,m,u]),F=r.useCallback(e=>{g||i(t=>t!==null&&t!==e?e:t)},[g,i]),K=r.useCallback((e,t)=>{i(t?e:n=>n===e?null:n)},[i]),U=R(R(R({role:"menubar","aria-orientation":m,"data-scope":"navigationmenu","data-part":"root","data-orientation":m},C.hasOpenMenu&&{"data-has-open-menu":""}),v&&{"data-modal":""}),g&&{"data-disabled":""}),z=r.useCallback((e,t)=>{u(e,t)},[u]);return{state:C,rootProps:U,orientation:m,modal:v,disabled:g,registerTrigger:H,setOpenMenuId:L,isMenuOpen:A,onTriggerKeyDown:S,onTriggerMouseEnter:F,onMenuOpenChange:K,focusSibling:z,setPendingFocus:P,consumePendingFocus:N,registerInstantSignal:x}}});export{D as defaultProps,Z as useNavigationMenu};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/navigationmenu/useNavigationMenu.ts","../../src/navigationmenu/useNavigationMenu.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { focus, toElement } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useNavigationMenu.props';\n\nconst compareDOMPosition = (a: HTMLElement, b: HTMLElement): number => {\n const position = a.compareDocumentPosition(b);\n\n if (position & Node.DOCUMENT_POSITION_FOLLOWING) return -1;\n\n if (position & Node.DOCUMENT_POSITION_PRECEDING) return 1;\n\n return 0;\n};\n\nexport const useNavigationMenu = withHeadless({\n name: 'useNavigationMenu',\n defaultProps,\n setup({ props }) {\n const [openMenuId, setOpenMenuIdState] = React.useState<string | null>(null);\n const openMenuIdRef = React.useRef<string | null>(null);\n\n openMenuIdRef.current = openMenuId;\n\n const triggerRegistry = React.useRef<Map<string, HTMLElement>>(new Map());\n // Per-menu callbacks fired when this navigationmenu transitions between two\n // sibling menus. Registered by each child Menu so it can flip its own\n // `instantType` and skip the enter/leave animation during fast\n // traversal (mirrors tooltip's manager → tooltip notify pattern).\n const instantSignalHandlers = React.useRef<Map<string, () => void>>(new Map());\n // Tracks which list item should receive focus the next time the open\n // menu mounts. Set by `ArrowDown` / `ArrowUp` / `Enter` / `Space` on a\n // trigger so the embedded Menu can pick it up in onListFocus and\n // focus the first or last item respectively (WAI-ARIA NavigationMenu\n // keyboard pattern).\n const pendingMenuFocusRef = React.useRef<'first' | 'last' | null>(null);\n\n const orientation = props.orientation ?? 'horizontal';\n const loopFocus = props.loopFocus ?? true;\n const modal = !!props.modal;\n const disabled = !!props.disabled;\n\n const state = {\n openMenuId,\n hasOpenMenu: openMenuId !== null\n };\n\n const registerInstantSignal = React.useCallback((menuId: string, handler: () => void) => {\n instantSignalHandlers.current.set(menuId, handler);\n\n return () => {\n if (instantSignalHandlers.current.get(menuId) === handler) {\n instantSignalHandlers.current.delete(menuId);\n }\n };\n }, []);\n\n const updateOpenMenuId = React.useCallback((updater: string | null | ((prev: string | null) => string | null)) => {\n const current = openMenuIdRef.current;\n const next = typeof updater === 'function' ? (updater as (prev: string | null) => string | null)(current) : updater;\n\n if (current !== null && next !== null && current !== next) {\n instantSignalHandlers.current.get(current)?.();\n instantSignalHandlers.current.get(next)?.();\n }\n\n setOpenMenuIdState(next);\n }, []);\n\n const setOpenMenuId = React.useCallback(\n (menuId: string | null) => {\n updateOpenMenuId(menuId);\n },\n [updateOpenMenuId]\n );\n\n const consumePendingFocus = React.useCallback(() => {\n const value = pendingMenuFocusRef.current;\n\n pendingMenuFocusRef.current = null;\n\n return value;\n }, []);\n\n const setPendingFocus = React.useCallback((target: 'first' | 'last' | null) => {\n pendingMenuFocusRef.current = target;\n }, []);\n\n const isMenuOpen = React.useCallback(\n (menuId: string) => {\n return openMenuId === menuId;\n },\n [openMenuId]\n );\n\n const registerTrigger = React.useCallback((menuId: string, element: HTMLElement | null) => {\n const resolved = toElement(element) ?? null;\n\n if (resolved) {\n triggerRegistry.current.set(menuId, resolved);\n } else {\n triggerRegistry.current.delete(menuId);\n }\n }, []);\n\n const getOrderedTriggers = React.useCallback((): Array<{ id: string; element: HTMLElement }> => {\n const items: Array<{ id: string; element: HTMLElement }> = [];\n\n triggerRegistry.current.forEach((element, id) => {\n if (!element.hasAttribute('data-disabled') && !(element as HTMLButtonElement).disabled) {\n items.push({ id, element });\n }\n });\n\n items.sort((a, b) => compareDOMPosition(a.element, b.element));\n\n return items;\n }, []);\n\n const focusTriggerByDirection = React.useCallback(\n (currentId: string, direction: 'next' | 'previous' | 'first' | 'last') => {\n const triggers = getOrderedTriggers();\n\n if (triggers.length === 0) return;\n\n const currentIndex = triggers.findIndex((t) => t.id === currentId);\n let targetIndex: number;\n\n switch (direction) {\n case 'next':\n targetIndex = currentIndex + 1;\n\n if (targetIndex >= triggers.length) {\n targetIndex = loopFocus ? 0 : triggers.length - 1;\n }\n\n break;\n\n case 'previous':\n targetIndex = currentIndex - 1;\n\n if (targetIndex < 0) {\n targetIndex = loopFocus ? triggers.length - 1 : 0;\n }\n\n break;\n\n case 'first':\n targetIndex = 0;\n break;\n\n case 'last':\n targetIndex = triggers.length - 1;\n break;\n }\n\n const target = triggers[targetIndex];\n\n if (!target || target.id === currentId) return;\n\n focus(target.element);\n\n // If a menu is currently open, switch to the new trigger's menu.\n updateOpenMenuId((current) => (current !== null ? target.id : current));\n },\n [getOrderedTriggers, loopFocus]\n );\n\n const onTriggerKeyDown = React.useCallback(\n (menuId: string, event: React.KeyboardEvent) => {\n if (disabled) return;\n\n const isHorizontal = orientation === 'horizontal';\n // Sibling roving uses the cross-axis arrows (right/left for\n // horizontal navigationmenus). The orientation-axis arrows (down/up\n // for horizontal) open the menu instead of moving siblings.\n const nextSiblingKey = isHorizontal ? 'ArrowRight' : 'ArrowDown';\n const prevSiblingKey = isHorizontal ? 'ArrowLeft' : 'ArrowUp';\n const openFirstKey = isHorizontal ? 'ArrowDown' : 'ArrowRight';\n const openLastKey = isHorizontal ? 'ArrowUp' : 'ArrowLeft';\n\n switch (event.key) {\n case nextSiblingKey:\n event.preventDefault();\n focusTriggerByDirection(menuId, 'next');\n break;\n\n case prevSiblingKey:\n event.preventDefault();\n focusTriggerByDirection(menuId, 'previous');\n break;\n\n case 'Home':\n event.preventDefault();\n focusTriggerByDirection(menuId, 'first');\n break;\n\n case 'End':\n event.preventDefault();\n focusTriggerByDirection(menuId, 'last');\n break;\n\n case openFirstKey:\n case 'Enter':\n case ' ':\n // Open this menu and ask the embedded Menu to put\n // focus on its first item once the list mounts.\n event.preventDefault();\n pendingMenuFocusRef.current = 'first';\n updateOpenMenuId(menuId);\n break;\n\n case openLastKey:\n // Open this menu and put focus on its last item.\n event.preventDefault();\n pendingMenuFocusRef.current = 'last';\n updateOpenMenuId(menuId);\n break;\n\n default:\n break;\n }\n },\n [disabled, orientation, focusTriggerByDirection]\n );\n\n const onTriggerMouseEnter = React.useCallback(\n (menuId: string) => {\n if (disabled) return;\n\n // Hover-to-switch: when any menu is already open, hovering another trigger\n // moves the open state to it.\n updateOpenMenuId((current) => (current !== null && current !== menuId ? menuId : current));\n },\n [disabled, updateOpenMenuId]\n );\n\n const onMenuOpenChange = React.useCallback(\n (menuId: string, open: boolean) => {\n if (open) {\n updateOpenMenuId(menuId);\n } else {\n updateOpenMenuId((current) => (current === menuId ? null : current));\n }\n },\n [updateOpenMenuId]\n );\n\n const rootProps = {\n role: 'menubar' as const,\n 'aria-orientation': orientation,\n 'data-scope': 'navigationmenu' as const,\n 'data-part': 'root' as const,\n 'data-orientation': orientation,\n ...(state.hasOpenMenu && { 'data-has-open-menu': '' as const }),\n ...(modal && { 'data-modal': '' as const }),\n ...(disabled && { 'data-disabled': '' as const })\n };\n\n // Public sibling-navigation method used by Menu (when its list has\n // focus and the user presses Arrow keys) to jump to the next/previous\n // navigationmenu trigger and switch the open menu accordingly.\n const focusSibling = React.useCallback(\n (currentMenuId: string, direction: 'next' | 'previous') => {\n focusTriggerByDirection(currentMenuId, direction);\n },\n [focusTriggerByDirection]\n );\n\n return {\n state,\n // pre-built props\n rootProps,\n // echoed config (for child consumption)\n orientation,\n modal,\n disabled,\n // methods\n registerTrigger,\n setOpenMenuId,\n isMenuOpen,\n onTriggerKeyDown,\n onTriggerMouseEnter,\n onMenuOpenChange,\n focusSibling,\n setPendingFocus,\n consumePendingFocus,\n registerInstantSignal\n };\n }\n});\n","import type { UseNavigationMenuProps } from '@primereact/types/headless/navigationmenu';\n\nexport const defaultProps: UseNavigationMenuProps = {\n orientation: 'horizontal',\n loopFocus: true,\n modal: true,\n disabled: false\n};\n"],"mappings":"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","names":["withHeadless","focus","toElement","React","defaultProps","compareDOMPosition","a","b","position","useNavigationMenu","withHeadless","defaultProps","props","_a","_b","openMenuId","setOpenMenuIdState","openMenuIdRef","triggerRegistry","instantSignalHandlers","pendingMenuFocusRef","orientation","loopFocus","modal","disabled","state","registerInstantSignal","menuId","handler","updateOpenMenuId","updater","current","next","setOpenMenuId","consumePendingFocus","value","setPendingFocus","target","isMenuOpen","registerTrigger","element","resolved","toElement","getOrderedTriggers","items","id","focusTriggerByDirection","currentId","direction","triggers","currentIndex","t","targetIndex","focus","onTriggerKeyDown","event","isHorizontal","nextSiblingKey","prevSiblingKey","openFirstKey","openLastKey","onTriggerMouseEnter","onMenuOpenChange","open","rootProps","__spreadValues","focusSibling","currentMenuId"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare const useNavigationMenu: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/navigationmenu").UseNavigationMenuProps, unknown, {
|
|
3
|
+
state: {
|
|
4
|
+
openMenuId: string | null;
|
|
5
|
+
hasOpenMenu: boolean;
|
|
6
|
+
};
|
|
7
|
+
rootProps: {
|
|
8
|
+
'data-disabled'?: "" | undefined;
|
|
9
|
+
'data-modal'?: "" | undefined;
|
|
10
|
+
'data-has-open-menu'?: "" | undefined;
|
|
11
|
+
role: "menubar";
|
|
12
|
+
'aria-orientation': import("@primereact/types/headless/navigationmenu").NavigationMenuOrientation;
|
|
13
|
+
'data-scope': "navigationmenu";
|
|
14
|
+
'data-part': "root";
|
|
15
|
+
'data-orientation': import("@primereact/types/headless/navigationmenu").NavigationMenuOrientation;
|
|
16
|
+
};
|
|
17
|
+
orientation: import("@primereact/types/headless/navigationmenu").NavigationMenuOrientation;
|
|
18
|
+
modal: boolean;
|
|
19
|
+
disabled: boolean;
|
|
20
|
+
registerTrigger: (menuId: string, element: HTMLElement | null) => void;
|
|
21
|
+
setOpenMenuId: (menuId: string | null) => void;
|
|
22
|
+
isMenuOpen: (menuId: string) => boolean;
|
|
23
|
+
onTriggerKeyDown: (menuId: string, event: React.KeyboardEvent) => void;
|
|
24
|
+
onTriggerMouseEnter: (menuId: string) => void;
|
|
25
|
+
onMenuOpenChange: (menuId: string, open: boolean) => void;
|
|
26
|
+
focusSibling: (currentMenuId: string, direction: "next" | "previous") => void;
|
|
27
|
+
setPendingFocus: (target: "first" | "last" | null) => void;
|
|
28
|
+
consumePendingFocus: () => "first" | "last" | null;
|
|
29
|
+
registerInstantSignal: (menuId: string, handler: () => void) => () => void;
|
|
30
|
+
}>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var ve=Object.defineProperty;var he=Object.getOwnPropertySymbols;var xe=Object.prototype.hasOwnProperty,Ce=Object.prototype.propertyIsEnumerable;var ye=(u,t,r)=>t in u?ve(u,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):u[t]=r,q=(u,t)=>{for(var r in t||(t={}))xe.call(t,r)&&ye(u,r,t[r]);if(he)for(var r of he(t))Ce.call(t,r)&&ye(u,r,t[r]);return u};import{arrayMove as Me}from"@primereact/core/dnd";import{withHeadless as Te}from"@primereact/core/headless";import*as H from"react";import{withHeadless as Ee}from"@primereact/core/headless";import*as y from"react";import{flushSync as Se}from"react-dom";var be={dnd:void 0,id:void 0,items:void 0,disabled:!1,placeholder:"empty",onSort:void 0};var D=u=>Array.from(u.querySelectorAll(":scope > [data-sortable-item]")),Ie=Ee({name:"useSortableContainer",defaultProps:be,setup({props:u}){var d,g,P;let t=u.dnd,r=u.id,A=(d=u.items)!=null?d:[],p=(g=u.disabled)!=null?g:!1,J=(P=u.placeholder)!=null?P:"clone",M=u.onSort,K=t?`${t.uid}_${r}`:String(r),b=y.useRef(null);y.useEffect(()=>{if(!(!t||r==null))return t.containers.set(r,{listRef:b,items:A}),()=>{t.containers.delete(r)}},[t,r]);let Q=y.useRef(A);Q.current=A,y.useEffect(()=>{if(t&&r!=null){let o=t.containers.get(r);o&&(o.items=A)}},[t,r,A]);let[N,W]=y.useState(!1),j=y.useRef(0),v=y.useRef(null),ie=(o,i,n,F,_,Z,ee)=>{let O=Z+ee,$=D(o);for(let x=0;x<$.length;x++){let k=x<i?x:x+1,B=0;i<n?k>i&&k<=n&&(B=-O):i>n&&k>=n&&k<i&&(B=O),$[x].style.transform=B?`translateY(${B}px)`:""}_.style.transform=n!==i?`translateY(${(n-i)*O}px)`:""},ae=o=>{if(o)for(let i of D(o))i.style.transform=""},le=o=>{let i=D(o);return i.length>1?i[1].getBoundingClientRect().top-i[0].getBoundingClientRect().bottom:4},ce=(o,i)=>{let n=o.cloneNode(!0);return n.setAttribute("inert","true"),n.removeAttribute("data-sortable-item"),n.removeAttribute("data-sortable-container"),n.style.position="fixed",n.style.zIndex="9999",n.style.pointerEvents="none",n.style.width=`${i.width}px`,n.style.height=`${i.height}px`,n.style.left=`${i.left}px`,n.style.top=`${i.top}px`,n.style.margin="0",n.style.transform="translate(0px, 0px)",n.style.transition="none",n.style.opacity="0.9",n.style.boxShadow="0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)",document.body.appendChild(n),n},V=()=>{if(t){for(let[o,i]of t.containers)if(!i.listRef.current||!i.listRef.current.isConnected){let n=`${t.uid}_${o}`,F=document.querySelector(`[data-sortable-list="${n}"]`);F&&(i.listRef.current=F)}}},ne=o=>p?{"data-sortable-item":"","data-sortable-container":String(r)}:{"data-sortable-item":"","data-sortable-container":String(r),onPointerDown:i=>{if(i.button!==0||p)return;let n=i.currentTarget,F=n.parentElement;if(F&&(b.current=F,t&&r!=null)){let e=t.containers.get(r);e&&(e.listRef.current=F)}V();let _=n.getBoundingClientRect(),Z=i.clientX,ee=i.clientY,O=!1,$=r,x=t?t.containers.size>1:!1,k=new Map;if(t)for(let[e,h]of t.containers)k.set(e,[...h.items]);else k.set(r,[...Q.current]);let B=Z,X=ee,de=()=>{var z,Y,C,L,te,me,pe;let e=v.current;if(!e)return;let h=e.originContainerId;if(x&&t)for(let[m,w]of t.containers){if(!w.listRef.current||!w.listRef.current.isConnected){let ge=`${t.uid}_${m}`,re=document.querySelector(`[data-sortable-list="${ge}"]`);re&&(w.listRef.current=re)}let E=(z=w.listRef.current)==null?void 0:z.getBoundingClientRect();if(E&&B>=E.left&&B<=E.right&&X>=E.top&&X<=E.bottom){h=m;break}}let f=x&&t?(Y=t.containers.get(h))==null?void 0:Y.listRef.current:b.current;if(!f)return;let I=x&&t?(C=t.containers.get(e.originContainerId))==null?void 0:C.listRef.current:b.current,T=((L=I==null?void 0:I.scrollTop)!=null?L:0)-e.startScrollTop,G=X-e.startY,S=e.itemHeight+e.gap,R=(te=e.itemsAtStart.get(h))!=null?te:[],c;if(h===e.originContainerId)c=e.fromIndex+Math.round((G+T)/S),c=Math.max(0,Math.min(R.length-1,c));else{let m=f.getBoundingClientRect(),w=parseFloat(getComputedStyle(f).paddingTop)||0,E=X-m.top-w;c=Math.round(E/S),c=Math.max(0,Math.min(R.length,c))}let a=h!==e.currentContainerId;if(a||c!==e.projectedIndex){if(a&&t){let m=(me=t.containers.get(e.currentContainerId))==null?void 0:me.listRef.current;m&&ae(m)}if(e.currentContainerId=h,e.projectedIndex=c,t&&t.setState({currentContainerId:h,projectedIndex:c}),h===e.originContainerId)a&&((pe=e.node.parentElement)==null||pe.insertBefore(e.clone,e.node)),e.clone.style.height=`${e.itemHeight}px`,e.clone.style.overflow="",ie(f,e.fromIndex,c,e.node,e.clone,e.itemHeight,e.gap);else{let m=D(f),w=m.length>=2?m[1].getBoundingClientRect().top-m[0].getBoundingClientRect().top:e.itemHeight+e.gap;a&&(document.body.appendChild(e.clone),e.clone.style.position="fixed",e.clone.style.height=`${e.itemHeight}px`,e.clone.style.overflow="hidden",e.clone.style.transform="",e.clone.style.margin="0",e.clone.style.zIndex="9998",e.clone.style.pointerEvents="none",e.clone.style.boxSizing="border-box",f.style.position="");let E=f.getBoundingClientRect(),ge=f.scrollTop,re=parseFloat(getComputedStyle(f).paddingTop)||0,se;if(m.length===0)se=E.top+re;else if(c<m.length)se=m[c].getBoundingClientRect().top;else{let U=m[m.length-1];se=U.getBoundingClientRect().bottom+(w-U.getBoundingClientRect().height)}e.clone.style.top=`${se}px`,e.clone.style.left=`${E.left}px`,e.clone.style.width=`${E.width}px`,e.clone.style.transform="";for(let U=0;U<m.length;U++)m[U].style.transform=U>=c?`translateY(${w}px)`:""}}return f},ue=e=>{var T,G,S;let h=Math.sqrt((e.clientX-Z)**2+(e.clientY-ee)**2);if(!O&&h<5)return;if(!O){O=!0;let R=b.current,c=R?le(R):4,a;J==="empty"?a=document.createElement(n.tagName):a=n.cloneNode(!0),a.setAttribute("inert","true"),a.setAttribute("data-sortable-placeholder",""),a.removeAttribute("data-sortable-item"),a.removeAttribute("data-sortable-container"),a.style.width=`${_.width}px`,a.style.height=`${_.height}px`,a.style.flexShrink="0",a.style.transition="transform 200ms ease, opacity 150ms ease",a.style.opacity="0",(T=n.parentElement)==null||T.insertBefore(a,n),requestAnimationFrame(()=>{a.style.opacity="1"}),(G=b.current)==null||G.blur();let z=ce(n,_);n.setAttribute("data-dragging",""),n.removeAttribute("data-sortable-item"),n.style.position="absolute",n.style.visibility="hidden",n.style.pointerEvents="none";let Y=n.parentElement;if(Y)for(let C of D(Y))C!==n&&(C.style.pointerEvents="none",C.style.transition="transform 200ms ease");if(t){for(let[C,L]of t.containers)if(C!==$&&L.listRef.current)for(let te of D(L.listRef.current))te.style.pointerEvents="none",te.style.transition="transform 200ms ease"}v.current={startX:Z,startY:ee,startScrollTop:(S=R==null?void 0:R.scrollTop)!=null?S:0,node:n,ghost:z,clone:a,itemHeight:_.height,gap:c,fromIndex:o,projectedIndex:o,originContainerId:$,currentContainerId:$,itemsAtStart:k},W(!0),t&&t.setState({dragging:!0,activeContainerId:$,currentContainerId:$,fromIndex:o,projectedIndex:o})}let f=v.current;if(!f)return;B=e.clientX,X=e.clientY,f.ghost.style.transform=`translate(${e.clientX-f.startX}px, ${e.clientY-f.startY}px)`;let I=de();if(cancelAnimationFrame(j.current),I){let a=()=>{let z=I.getBoundingClientRect(),Y=X-z.top,C=z.bottom-X,L=!1;Y>0&&Y<40?(I.scrollTop-=8,L=!0):C>0&&C<40&&(I.scrollTop+=8,L=!0),L&&(v.current&&(v.current.projectedIndex=-1),de(),j.current=requestAnimationFrame(a))};a()}},fe=()=>{document.removeEventListener("pointermove",ue),document.removeEventListener("pointerup",fe),cancelAnimationFrame(j.current);let e=v.current;if(!e)return;let h=e.currentContainerId!==e.originContainerId,f=!1,I=()=>{var R;if(f)return;f=!0,e.ghost.removeEventListener("transitionend",I),cancelAnimationFrame(j.current),e.ghost.remove(),e.clone.remove();let T=[];if(t&&t.containers.size>1)for(let[,c]of t.containers)c.listRef.current&&T.push(c.listRef.current);else b.current&&T.push(b.current);e.node.style.position="",e.node.removeAttribute("data-dragging"),e.node.setAttribute("data-sortable-item","");for(let c of T)for(let a of D(c))a.style.transition="none",a.style.transform="",a.style.pointerEvents="";Se(()=>{var c;h?(c=t==null?void 0:t.onTransfer)==null||c.call(t,{from:{containerId:e.originContainerId,index:e.fromIndex},to:{containerId:e.currentContainerId,index:e.projectedIndex}}):e.fromIndex!==e.projectedIndex&&(t!=null&&t.onSort?t.onSort({containerId:e.originContainerId,fromIndex:e.fromIndex,toIndex:e.projectedIndex}):M&&M({containerId:e.originContainerId,fromIndex:e.fromIndex,toIndex:e.projectedIndex}))});for(let c of T){c.offsetHeight;for(let a of D(c))a.style.transition="",a.style.visibility="",a.style.pointerEvents=""}v.current=null,W(!1),t&&t.setState({dragging:!1,activeContainerId:null,currentContainerId:null,fromIndex:-1,projectedIndex:-1});let G=h?e.currentContainerId:e.originContainerId,S=x&&t?(R=t.containers.get(G))==null?void 0:R.listRef.current:b.current;S&&(S.dataset.dndFocusIndex=String(e.projectedIndex),S.focus(),delete S.dataset.dndFocusIndex)};e.ghost.style.transition="opacity 150ms ease-out",e.ghost.style.opacity="0",e.ghost.addEventListener("transitionend",I,{once:!0}),setTimeout(()=>{v.current===e&&I()},200)};document.addEventListener("pointermove",ue),document.addEventListener("pointerup",fe)}},oe={dragging:N},l=y.useMemo(()=>q(q({"data-scope":"dnd","data-part":"sortable-container"},N?{"data-active":""}:void 0),p?{"data-disabled":""}:void 0),[N,p]),s=y.useMemo(()=>({"data-sortable-list":K}),[K]);return{state:oe,getItemDndProps:ne,listProps:s,rootProps:l}}});var Re={value:void 0,selection:void 0,disabled:!1,draggable:!1,placeholder:"empty",onReorder:void 0};var Oe=Te({name:"useOrderList",defaultProps:Re,setup({id:u,props:t}){var ne,oe;let[r,A]=H.useState((ne=t.value)!=null?ne:[]);H.useEffect(()=>{t.value!==void 0&&A(t.value)},[t.value]);let p=(oe=t.selection)!=null?oe:[],J=H.useCallback(l=>p.indexOf(l)!==-1,[p]),M=(l,s)=>{var d;A(l),(d=t.onReorder)==null||d.call(t,{originalEvent:s,value:l})},K=H.useRef(M);K.current=M;let b=H.useRef(r);b.current=r;let Q=l=>{let s=new Set;for(let d of p){let g=l.indexOf(d);g!==-1&&s.add(g)}return s},N=l=>{if(p.length===0||!Array.isArray(r))return;let s=[...r],d=Q(s),g=[...d].sort((o,i)=>o-i),P=!1;for(let o of g)o>0&&!d.has(o-1)&&([s[o],s[o-1]]=[s[o-1],s[o]],d.delete(o),d.add(o-1),P=!0);P&&M(s,l)},W=l=>{if(p.length===0||!Array.isArray(r))return;let s=[...r],d=Q(s),g=[...d].sort((o,i)=>i-o),P=!1;for(let o of g)o<s.length-1&&!d.has(o+1)&&([s[o],s[o+1]]=[s[o+1],s[o]],d.delete(o),d.add(o+1),P=!0);P&&M(s,l)},j=l=>{if(p.length===0||!Array.isArray(r))return;let s=[],d=[];for(let g of r)(J(g)?s:d).push(g);M([...s,...d],l)},v=l=>{if(p.length===0||!Array.isArray(r))return;let s=[],d=[];for(let g of r)(J(g)?s:d).push(g);M([...d,...s],l)},{state:ie,getItemDndProps:ae,listProps:le}=Ie({id:"orderlist",items:r,disabled:t.disabled||!t.draggable,placeholder:t.placeholder,onSort:({fromIndex:l,toIndex:s})=>{let d=Me(b.current,l,s);K.current(d)}}),ce=(l,s)=>q(q({"data-scope":"orderlist","data-part":"option"},J(l)?{"data-selected":""}:{}),ae(s)),V=Array.isArray(p)&&p.length>0;return{state:{value:r,selection:p,dragging:ie.dragging},getOptionProps:ce,moveUp:N,moveDown:W,moveTop:j,moveBottom:v,rootProps:{id:u,"data-scope":"orderlist","data-part":"root"},controlsProps:{"data-scope":"orderlist","data-part":"controls"},listProps:q({"data-scope":"orderlist","data-part":"list"},le),prevProps:{"data-scope":"orderlist","data-part":"prev",type:"button",disabled:t.disabled||!V,"aria-label":"Move Up",onClick:l=>N(l)},nextProps:{"data-scope":"orderlist","data-part":"next",type:"button",disabled:t.disabled||!V,"aria-label":"Move Down",onClick:l=>W(l)},firstProps:{"data-scope":"orderlist","data-part":"first",type:"button",disabled:t.disabled||!V,"aria-label":"Move Top",onClick:l=>j(l)},lastProps:{"data-scope":"orderlist","data-part":"last",type:"button",disabled:t.disabled||!V,"aria-label":"Move Bottom",onClick:l=>v(l)}}}});export{Re as defaultProps,Oe as useOrderList};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/orderlist/useOrderList.ts","../../src/dnd/useSortableContainer.ts","../../src/dnd/useSortableContainer.props.ts","../../src/orderlist/useOrderList.props.ts"],"sourcesContent":["import { arrayMove } from '@primereact/core/dnd';\nimport { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { useSortableContainer } from '../dnd/useSortableContainer';\nimport { defaultProps } from './useOrderList.props';\n\nexport const useOrderList = withHeadless({\n name: 'useOrderList',\n defaultProps,\n setup({ id, props }) {\n const [valueState, setValueState] = React.useState(props.value ?? []);\n\n React.useEffect(() => {\n if (props.value !== undefined) setValueState(props.value);\n }, [props.value]);\n\n const selection = props.selection ?? [];\n\n const isItemSelected = React.useCallback((item: unknown): boolean => selection.indexOf(item) !== -1, [selection]);\n\n const updateValue = (newValue: unknown[], event?: React.SyntheticEvent | Event) => {\n setValueState(newValue);\n props.onReorder?.({ originalEvent: event, value: newValue });\n };\n\n const updateValueRef = React.useRef(updateValue);\n\n updateValueRef.current = updateValue;\n\n const valueRef = React.useRef(valueState);\n\n valueRef.current = valueState;\n\n const getSelectedIndices = (list: unknown[]): Set<number> => {\n const indices = new Set<number>();\n\n for (const sel of selection) {\n const idx = list.indexOf(sel);\n\n if (idx !== -1) indices.add(idx);\n }\n\n return indices;\n };\n\n const moveUp = (event?: React.SyntheticEvent) => {\n if (selection.length === 0 || !Array.isArray(valueState)) return;\n\n const list = [...valueState];\n const selectedIndices = getSelectedIndices(list);\n const sorted = [...selectedIndices].sort((a, b) => a - b);\n let moved = false;\n\n for (const idx of sorted) {\n if (idx > 0 && !selectedIndices.has(idx - 1)) {\n [list[idx], list[idx - 1]] = [list[idx - 1], list[idx]];\n selectedIndices.delete(idx);\n selectedIndices.add(idx - 1);\n moved = true;\n }\n }\n\n if (moved) updateValue(list, event);\n };\n\n const moveDown = (event?: React.SyntheticEvent) => {\n if (selection.length === 0 || !Array.isArray(valueState)) return;\n\n const list = [...valueState];\n const selectedIndices = getSelectedIndices(list);\n const sorted = [...selectedIndices].sort((a, b) => b - a);\n let moved = false;\n\n for (const idx of sorted) {\n if (idx < list.length - 1 && !selectedIndices.has(idx + 1)) {\n [list[idx], list[idx + 1]] = [list[idx + 1], list[idx]];\n selectedIndices.delete(idx);\n selectedIndices.add(idx + 1);\n moved = true;\n }\n }\n\n if (moved) updateValue(list, event);\n };\n\n const moveTop = (event?: React.SyntheticEvent) => {\n if (selection.length === 0 || !Array.isArray(valueState)) return;\n\n const selected: unknown[] = [];\n const rest: unknown[] = [];\n\n for (const item of valueState) {\n (isItemSelected(item) ? selected : rest).push(item);\n }\n\n updateValue([...selected, ...rest], event);\n };\n\n const moveBottom = (event?: React.SyntheticEvent) => {\n if (selection.length === 0 || !Array.isArray(valueState)) return;\n\n const selected: unknown[] = [];\n const rest: unknown[] = [];\n\n for (const item of valueState) {\n (isItemSelected(item) ? selected : rest).push(item);\n }\n\n updateValue([...rest, ...selected], event);\n };\n\n const {\n state: sortableState,\n getItemDndProps,\n listProps: sortableListProps\n } = useSortableContainer({\n id: 'orderlist',\n items: valueState,\n disabled: props.disabled || !props.draggable,\n placeholder: props.placeholder,\n onSort: ({ fromIndex, toIndex }: { fromIndex: number; toIndex: number }) => {\n const newValue = arrayMove(valueRef.current as unknown[], fromIndex, toIndex);\n\n updateValueRef.current(newValue);\n }\n });\n\n const getOptionProps = (item: unknown, index: number) => ({\n 'data-scope': 'orderlist',\n 'data-part': 'option',\n ...(isItemSelected(item) ? { 'data-selected': '' } : {}),\n ...getItemDndProps(index)\n });\n\n const hasSelection = Array.isArray(selection) && selection.length > 0;\n\n return {\n state: {\n value: valueState as unknown[],\n selection,\n dragging: sortableState.dragging\n },\n getOptionProps,\n moveUp,\n moveDown,\n moveTop,\n moveBottom,\n rootProps: { id, 'data-scope': 'orderlist', 'data-part': 'root' },\n controlsProps: { 'data-scope': 'orderlist', 'data-part': 'controls' },\n listProps: { 'data-scope': 'orderlist', 'data-part': 'list', ...sortableListProps },\n prevProps: { 'data-scope': 'orderlist', 'data-part': 'prev', type: 'button' as const, disabled: props.disabled || !hasSelection, 'aria-label': 'Move Up', onClick: (e: React.MouseEvent) => moveUp(e) },\n nextProps: { 'data-scope': 'orderlist', 'data-part': 'next', type: 'button' as const, disabled: props.disabled || !hasSelection, 'aria-label': 'Move Down', onClick: (e: React.MouseEvent) => moveDown(e) },\n firstProps: { 'data-scope': 'orderlist', 'data-part': 'first', type: 'button' as const, disabled: props.disabled || !hasSelection, 'aria-label': 'Move Top', onClick: (e: React.MouseEvent) => moveTop(e) },\n lastProps: { 'data-scope': 'orderlist', 'data-part': 'last', type: 'button' as const, disabled: props.disabled || !hasSelection, 'aria-label': 'Move Bottom', onClick: (e: React.MouseEvent) => moveBottom(e) }\n };\n }\n});\n","import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { flushSync } from 'react-dom';\nimport type { DndCoordinator } from './useDnd';\nimport { defaultProps } from './useSortableContainer.props';\n\nconst getSortableItems = (listEl: HTMLElement): HTMLElement[] => Array.from(listEl.querySelectorAll(':scope > [data-sortable-item]'));\n\nexport const useSortableContainer = withHeadless({\n name: 'useSortableContainer',\n defaultProps,\n setup({ props }) {\n const dnd = props.dnd as DndCoordinator | undefined;\n const id = props.id;\n const items = props.items ?? [];\n const disabled = props.disabled ?? false;\n const placeholderMode = props.placeholder ?? 'clone';\n const onSort = props.onSort;\n const scopedListId = dnd ? `${dnd.uid}_${id}` : String(id);\n\n const listRef = React.useRef<HTMLElement>(null);\n\n React.useEffect(() => {\n if (!dnd || id == null) return;\n\n dnd.containers.set(id, { listRef, items });\n\n return () => {\n dnd.containers.delete(id);\n };\n }, [dnd, id]);\n\n const itemsRef = React.useRef(items);\n\n itemsRef.current = items;\n\n React.useEffect(() => {\n if (dnd && id != null) {\n const c = dnd.containers.get(id);\n\n if (c) c.items = items;\n }\n }, [dnd, id, items]);\n\n const [dragging, setDragging] = React.useState(false);\n\n const scrollRafRef = React.useRef<number>(0);\n\n const dragStateRef = React.useRef<{\n startX: number;\n startY: number;\n startScrollTop: number;\n node: HTMLElement;\n ghost: HTMLElement;\n clone: HTMLElement;\n itemHeight: number;\n gap: number;\n fromIndex: number;\n projectedIndex: number;\n originContainerId: unknown;\n currentContainerId: unknown;\n itemsAtStart: Map<unknown, unknown[]>;\n } | null>(null);\n\n const applyShifts = (listEl: HTMLElement, fromIndex: number, projectedIndex: number, draggedNode: HTMLElement, clone: HTMLElement, itemHeight: number, gap: number) => {\n const shift = itemHeight + gap;\n\n // During drag: node has data-sortable-item removed, clone has no data-sortable-item.\n // So getSortableItems returns only real siblings, in their original DOM order.\n // Items before fromIndex keep their index; items at/after fromIndex are shifted by 1.\n const realItems = getSortableItems(listEl);\n\n for (let i = 0; i < realItems.length; i++) {\n const logicalIndex = i < fromIndex ? i : i + 1;\n let offset = 0;\n\n if (fromIndex < projectedIndex) {\n if (logicalIndex > fromIndex && logicalIndex <= projectedIndex) offset = -shift;\n } else if (fromIndex > projectedIndex) {\n if (logicalIndex >= projectedIndex && logicalIndex < fromIndex) offset = shift;\n }\n\n realItems[i].style.transform = offset ? `translateY(${offset}px)` : '';\n }\n\n // Clone is placeholder at fromIndex slot; shift it to projectedIndex\n clone.style.transform = projectedIndex !== fromIndex ? `translateY(${(projectedIndex - fromIndex) * shift}px)` : '';\n };\n\n const clearShifts = (listEl: HTMLElement | null) => {\n if (!listEl) return;\n\n for (const child of getSortableItems(listEl)) {\n child.style.transform = '';\n }\n };\n\n const getListGap = (listEl: HTMLElement) => {\n const children = getSortableItems(listEl);\n\n return children.length > 1 ? children[1].getBoundingClientRect().top - children[0].getBoundingClientRect().bottom : 4;\n };\n\n const createGhost = (node: HTMLElement, rect: DOMRect): HTMLElement => {\n const ghost = node.cloneNode(true) as HTMLElement;\n\n ghost.setAttribute('inert', 'true');\n ghost.removeAttribute('data-sortable-item');\n ghost.removeAttribute('data-sortable-container');\n ghost.style.position = 'fixed';\n ghost.style.zIndex = '9999';\n ghost.style.pointerEvents = 'none';\n ghost.style.width = `${rect.width}px`;\n ghost.style.height = `${rect.height}px`;\n ghost.style.left = `${rect.left}px`;\n ghost.style.top = `${rect.top}px`;\n ghost.style.margin = '0';\n ghost.style.transform = 'translate(0px, 0px)';\n ghost.style.transition = 'none';\n ghost.style.opacity = '0.9';\n ghost.style.boxShadow = '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)';\n document.body.appendChild(ghost);\n\n return ghost;\n };\n\n const discoverListRefs = () => {\n if (dnd) {\n for (const [cId, cInfo] of dnd.containers) {\n if (!cInfo.listRef.current || !cInfo.listRef.current.isConnected) {\n const scopedId = `${dnd.uid}_${cId}`;\n const listEl = document.querySelector(`[data-sortable-list=\"${scopedId}\"]`) as HTMLElement | null;\n\n if (listEl) {\n cInfo.listRef.current = listEl;\n }\n }\n }\n }\n };\n\n const getItemDndProps = (index: number) => {\n if (disabled) return { 'data-sortable-item': '', 'data-sortable-container': String(id) };\n\n return {\n 'data-sortable-item': '',\n 'data-sortable-container': String(id),\n onPointerDown: (e: React.PointerEvent<HTMLElement>) => {\n if (e.button !== 0 || disabled) return;\n\n const node = e.currentTarget;\n const listEl = node.parentElement as HTMLElement;\n\n if (listEl) {\n listRef.current = listEl;\n\n if (dnd && id != null) {\n const c = dnd.containers.get(id);\n\n if (c) c.listRef.current = listEl;\n }\n }\n\n discoverListRefs();\n\n const rect = node.getBoundingClientRect();\n const startX = e.clientX;\n const startY = e.clientY;\n let activated = false;\n\n const containerId = id;\n const hasMultipleContainers = dnd ? dnd.containers.size > 1 : false;\n\n const itemsAtStart = new Map<unknown, unknown[]>();\n\n if (dnd) {\n for (const [cId, cInfo] of dnd.containers) {\n itemsAtStart.set(cId, [...cInfo.items]);\n }\n } else {\n itemsAtStart.set(id, [...itemsRef.current]);\n }\n\n let lastPointerX = startX;\n let lastPointerY = startY;\n\n const updateProjection = () => {\n const state = dragStateRef.current;\n\n if (!state) return;\n\n let hoveredContainerId = state.originContainerId;\n\n if (hasMultipleContainers && dnd) {\n for (const [cId, cInfo] of dnd.containers) {\n // Re-discover stale or missing refs on the fly\n if (!cInfo.listRef.current || !cInfo.listRef.current.isConnected) {\n const scopedId = `${dnd.uid}_${cId}`;\n const listEl = document.querySelector(`[data-sortable-list=\"${scopedId}\"]`) as HTMLElement | null;\n\n if (listEl) cInfo.listRef.current = listEl;\n }\n\n const cRect = cInfo.listRef.current?.getBoundingClientRect();\n\n if (cRect && lastPointerX >= cRect.left && lastPointerX <= cRect.right && lastPointerY >= cRect.top && lastPointerY <= cRect.bottom) {\n hoveredContainerId = cId;\n break;\n }\n }\n }\n\n const hoveredList = hasMultipleContainers && dnd ? dnd.containers.get(hoveredContainerId)?.listRef.current : listRef.current;\n\n if (!hoveredList) return;\n\n const oList = hasMultipleContainers && dnd ? dnd.containers.get(state.originContainerId)?.listRef.current : listRef.current;\n const scrollDelta = (oList?.scrollTop ?? 0) - state.startScrollTop;\n const dy = lastPointerY - state.startY;\n const step = state.itemHeight + state.gap;\n const hoveredItems = state.itemsAtStart.get(hoveredContainerId) ?? [];\n\n let projected: number;\n\n if (hoveredContainerId === state.originContainerId) {\n projected = state.fromIndex + Math.round((dy + scrollDelta) / step);\n projected = Math.max(0, Math.min(hoveredItems.length - 1, projected));\n } else {\n const listRect = hoveredList.getBoundingClientRect();\n const listPadding = parseFloat(getComputedStyle(hoveredList).paddingTop) || 0;\n const relY = lastPointerY - listRect.top - listPadding;\n\n projected = Math.round(relY / step);\n projected = Math.max(0, Math.min(hoveredItems.length, projected));\n }\n\n const sideChanged = hoveredContainerId !== state.currentContainerId;\n\n if (sideChanged || projected !== state.projectedIndex) {\n // When switching containers, smooth-clear the old hovered list\n if (sideChanged && dnd) {\n const oldList = dnd.containers.get(state.currentContainerId)?.listRef.current;\n\n if (oldList) clearShifts(oldList);\n }\n\n state.currentContainerId = hoveredContainerId;\n state.projectedIndex = projected;\n\n if (dnd) {\n dnd.setState({ currentContainerId: hoveredContainerId, projectedIndex: projected });\n }\n\n if (hoveredContainerId === state.originContainerId) {\n // Move clone back to origin list (before the dragged node)\n if (sideChanged) {\n state.node.parentElement?.insertBefore(state.clone, state.node);\n }\n\n state.clone.style.height = `${state.itemHeight}px`;\n state.clone.style.overflow = '';\n applyShifts(hoveredList, state.fromIndex, projected, state.node, state.clone, state.itemHeight, state.gap);\n } else {\n // Measure the hovered list's own step — may differ from origin list's step.\n const hoveredItems = getSortableItems(hoveredList);\n const hoveredStep = hoveredItems.length >= 2 ? hoveredItems[1].getBoundingClientRect().top - hoveredItems[0].getBoundingClientRect().top : state.itemHeight + state.gap;\n\n // On container switch: move clone to document.body as position:fixed.\n // This avoids any layout impact on the hovered list (no scroll growth).\n if (sideChanged) {\n document.body.appendChild(state.clone);\n state.clone.style.position = 'fixed';\n state.clone.style.height = `${state.itemHeight}px`;\n state.clone.style.overflow = 'hidden';\n state.clone.style.transform = '';\n state.clone.style.margin = '0';\n state.clone.style.zIndex = '9998';\n state.clone.style.pointerEvents = 'none';\n state.clone.style.boxSizing = 'border-box';\n hoveredList.style.position = '';\n }\n\n // Position clone at the projected slot using fixed viewport coords.\n // Use offsetTop (transform-independent) + list viewport offset for accuracy.\n const listRect = hoveredList.getBoundingClientRect();\n const listScrollTop = hoveredList.scrollTop;\n const listPadding = parseFloat(getComputedStyle(hoveredList).paddingTop) || 0;\n\n let cloneFixedTop: number;\n\n if (hoveredItems.length === 0) {\n cloneFixedTop = listRect.top + listPadding;\n } else if (projected < hoveredItems.length) {\n // Use getBoundingClientRect which accounts for scrollTop correctly.\n // Called before shift transforms are applied, so value is layout-accurate.\n cloneFixedTop = hoveredItems[projected].getBoundingClientRect().top;\n } else {\n const last = hoveredItems[hoveredItems.length - 1];\n\n cloneFixedTop = last.getBoundingClientRect().bottom + (hoveredStep - last.getBoundingClientRect().height);\n }\n\n state.clone.style.top = `${cloneFixedTop}px`;\n state.clone.style.left = `${listRect.left}px`;\n state.clone.style.width = `${listRect.width}px`;\n state.clone.style.transform = '';\n\n // Shift items at and after projected down to make room for clone\n for (let i = 0; i < hoveredItems.length; i++) {\n hoveredItems[i].style.transform = i >= projected ? `translateY(${hoveredStep}px)` : '';\n }\n }\n }\n\n return hoveredList;\n };\n\n const onMove = (ev: PointerEvent) => {\n const dist = Math.sqrt((ev.clientX - startX) ** 2 + (ev.clientY - startY) ** 2);\n\n if (!activated && dist < 5) return;\n\n if (!activated) {\n activated = true;\n\n const list = listRef.current;\n const gap = list ? getListGap(list) : 4;\n\n let clone: HTMLElement;\n\n if (placeholderMode === 'empty') {\n clone = document.createElement(node.tagName) as HTMLElement;\n } else {\n clone = node.cloneNode(true) as HTMLElement;\n }\n\n clone.setAttribute('inert', 'true');\n clone.setAttribute('data-sortable-placeholder', '');\n clone.removeAttribute('data-sortable-item');\n clone.removeAttribute('data-sortable-container');\n clone.style.width = `${rect.width}px`;\n clone.style.height = `${rect.height}px`;\n clone.style.flexShrink = '0';\n clone.style.transition = 'transform 200ms ease, opacity 150ms ease';\n clone.style.opacity = '0';\n node.parentElement?.insertBefore(clone, node);\n // Fade clone in on next frame so the slot opens smoothly\n requestAnimationFrame(() => {\n clone.style.opacity = '1';\n });\n\n // Blur the list so Listbox clears its focusedOptionIndex (removes p-focus class)\n listRef.current?.blur();\n\n // Create ghost BEFORE modifying node (cloneNode copies current inline styles)\n const ghost = createGhost(node, rect);\n\n // Keep node in DOM but out of flow — clone holds the layout slot.\n // Remove data-sortable-item so getSortableItems ignores it during drag.\n node.setAttribute('data-dragging', '');\n node.removeAttribute('data-sortable-item');\n node.style.position = 'absolute';\n node.style.visibility = 'hidden';\n node.style.pointerEvents = 'none';\n\n // Disable pointer events on all sibling items to prevent CSS :hover during drag\n const listEl2 = node.parentElement;\n\n if (listEl2) {\n for (const sibling of getSortableItems(listEl2)) {\n if (sibling !== node) {\n sibling.style.pointerEvents = 'none';\n sibling.style.transition = 'transform 200ms ease';\n }\n }\n }\n\n // For multi-container DnD, also prep the other list's items\n if (dnd) {\n for (const [cId, cInfo] of dnd.containers) {\n if (cId !== containerId && cInfo.listRef.current) {\n for (const sibling of getSortableItems(cInfo.listRef.current)) {\n sibling.style.pointerEvents = 'none';\n sibling.style.transition = 'transform 200ms ease';\n }\n }\n }\n }\n\n dragStateRef.current = {\n startX,\n startY,\n startScrollTop: list?.scrollTop ?? 0,\n node,\n ghost,\n clone,\n itemHeight: rect.height,\n gap,\n fromIndex: index,\n projectedIndex: index,\n originContainerId: containerId,\n currentContainerId: containerId,\n itemsAtStart\n };\n\n setDragging(true);\n\n if (dnd) {\n dnd.setState({\n dragging: true,\n activeContainerId: containerId,\n currentContainerId: containerId,\n fromIndex: index,\n projectedIndex: index\n });\n }\n }\n\n const state = dragStateRef.current;\n\n if (!state) return;\n\n lastPointerX = ev.clientX;\n lastPointerY = ev.clientY;\n\n state.ghost.style.transform = `translate(${ev.clientX - state.startX}px, ${ev.clientY - state.startY}px)`;\n\n const hoveredList = updateProjection();\n\n // Auto-scroll\n cancelAnimationFrame(scrollRafRef.current);\n\n if (hoveredList) {\n const scrollThreshold = 40;\n const scrollSpeed = 8;\n\n const autoScroll = () => {\n const lr = hoveredList.getBoundingClientRect();\n const distTop = lastPointerY - lr.top;\n const distBottom = lr.bottom - lastPointerY;\n\n let scrolled = false;\n\n if (distTop > 0 && distTop < scrollThreshold) {\n hoveredList.scrollTop -= scrollSpeed;\n scrolled = true;\n } else if (distBottom > 0 && distBottom < scrollThreshold) {\n hoveredList.scrollTop += scrollSpeed;\n scrolled = true;\n }\n\n if (scrolled) {\n // Force clone reposition after scroll by invalidating cached projected index\n if (dragStateRef.current) dragStateRef.current.projectedIndex = -1;\n updateProjection();\n scrollRafRef.current = requestAnimationFrame(autoScroll);\n }\n };\n\n autoScroll();\n }\n };\n\n const onUp = () => {\n document.removeEventListener('pointermove', onMove);\n document.removeEventListener('pointerup', onUp);\n cancelAnimationFrame(scrollRafRef.current);\n\n const state = dragStateRef.current;\n\n if (!state) return;\n\n const isCrossList = state.currentContainerId !== state.originContainerId;\n\n let finalized = false;\n\n const finalize = () => {\n if (finalized) return;\n\n finalized = true;\n state.ghost.removeEventListener('transitionend', finalize);\n cancelAnimationFrame(scrollRafRef.current);\n\n // Remove ghost and placeholder\n state.ghost.remove();\n state.clone.remove();\n\n // Collect all relevant lists\n const allLists: HTMLElement[] = [];\n\n if (dnd && dnd.containers.size > 1) {\n for (const [, cInfo] of dnd.containers) {\n if (cInfo.listRef.current) allLists.push(cInfo.listRef.current);\n }\n } else if (listRef.current) {\n allLists.push(listRef.current);\n }\n\n // Keep node in DOM — React will replace or reconcile it during flushSync.\n // Restore position so it participates in layout correctly,\n // but keep visibility:hidden + pointer-events:none until after flushSync.\n state.node.style.position = '';\n state.node.removeAttribute('data-dragging');\n state.node.setAttribute('data-sortable-item', '');\n\n // Freeze transforms and restore pointer-events before React re-render\n for (const list of allLists) {\n for (const child of getSortableItems(list)) {\n child.style.transition = 'none';\n child.style.transform = '';\n child.style.pointerEvents = '';\n }\n }\n\n flushSync(() => {\n if (!isCrossList) {\n if (state.fromIndex !== state.projectedIndex) {\n if (dnd?.onSort) {\n dnd.onSort({ containerId: state.originContainerId, fromIndex: state.fromIndex, toIndex: state.projectedIndex });\n } else if (onSort) {\n onSort({ containerId: state.originContainerId, fromIndex: state.fromIndex, toIndex: state.projectedIndex });\n }\n }\n } else {\n dnd?.onTransfer?.({\n from: { containerId: state.originContainerId, index: state.fromIndex },\n to: { containerId: state.currentContainerId, index: state.projectedIndex }\n });\n }\n });\n\n // Force reflow then restore transitions\n for (const list of allLists) {\n void list.offsetHeight;\n\n for (const child of getSortableItems(list)) {\n child.style.transition = '';\n child.style.visibility = '';\n child.style.pointerEvents = '';\n }\n }\n\n dragStateRef.current = null;\n setDragging(false);\n\n if (dnd) {\n dnd.setState({\n dragging: false,\n activeContainerId: null,\n currentContainerId: null,\n fromIndex: -1,\n projectedIndex: -1\n });\n }\n\n // Restore focus to the drop target list with the correct item focused.\n // data-dnd-focus-index is read by useListbox.onListFocus to set focusedOptionIndex.\n const dropContainerId = isCrossList ? state.currentContainerId : state.originContainerId;\n const dropList = hasMultipleContainers && dnd ? dnd.containers.get(dropContainerId)?.listRef.current : listRef.current;\n\n if (dropList) {\n dropList.dataset.dndFocusIndex = String(state.projectedIndex);\n dropList.focus();\n delete dropList.dataset.dndFocusIndex;\n }\n };\n\n // Fade ghost out in place — no positional animation to avoid jump artifacts\n state.ghost.style.transition = 'opacity 150ms ease-out';\n state.ghost.style.opacity = '0';\n\n state.ghost.addEventListener('transitionend', finalize, { once: true });\n\n setTimeout(() => {\n if (dragStateRef.current === state) {\n finalize();\n }\n }, 200);\n };\n\n document.addEventListener('pointermove', onMove);\n document.addEventListener('pointerup', onUp);\n }\n };\n };\n\n const state = {\n dragging\n };\n\n const rootProps = React.useMemo(\n () => ({\n 'data-scope': 'dnd',\n 'data-part': 'sortable-container',\n ...(dragging ? { 'data-active': '' } : undefined),\n ...(disabled ? { 'data-disabled': '' } : undefined)\n }),\n [dragging, disabled]\n );\n\n const listProps = React.useMemo(\n () => ({\n 'data-sortable-list': scopedListId\n }),\n [scopedListId]\n );\n\n return {\n state,\n getItemDndProps,\n listProps,\n rootProps\n };\n }\n});\n","import type { UseSortableContainerProps } from '@primereact/types/headless/dnd';\n\nexport const defaultProps: UseSortableContainerProps = {\n dnd: undefined,\n id: undefined,\n items: undefined,\n disabled: false,\n placeholder: 'empty',\n onSort: undefined\n};\n","import type { UseOrderListProps } from '@primereact/types/headless/orderlist';\n\nexport const defaultProps: UseOrderListProps = {\n value: undefined,\n selection: undefined,\n disabled: false,\n draggable: false,\n placeholder: 'empty',\n onReorder: undefined\n};\n"],"mappings":"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","names":["arrayMove","withHeadless","React","withHeadless","React","flushSync","defaultProps","getSortableItems","listEl","useSortableContainer","withHeadless","defaultProps","props","_a","_b","_c","dnd","id","items","disabled","placeholderMode","onSort","scopedListId","listRef","itemsRef","c","dragging","setDragging","scrollRafRef","dragStateRef","applyShifts","fromIndex","projectedIndex","draggedNode","clone","itemHeight","gap","shift","realItems","i","logicalIndex","offset","clearShifts","child","getListGap","children","createGhost","node","rect","ghost","discoverListRefs","cId","cInfo","scopedId","getItemDndProps","index","e","startX","startY","activated","containerId","hasMultipleContainers","itemsAtStart","lastPointerX","lastPointerY","updateProjection","_d","_e","_f","_g","state","hoveredContainerId","cRect","hoveredList","oList","scrollDelta","dy","step","hoveredItems","projected","listRect","listPadding","relY","sideChanged","oldList","hoveredStep","listScrollTop","cloneFixedTop","last","onMove","ev","dist","list","listEl2","sibling","autoScroll","lr","distTop","distBottom","scrolled","onUp","isCrossList","finalized","finalize","allLists","flushSync","dropContainerId","dropList","rootProps","__spreadValues","listProps","defaultProps","useOrderList","withHeadless","defaultProps","id","props","_a","_b","valueState","setValueState","selection","isItemSelected","item","updateValue","newValue","event","updateValueRef","valueRef","getSelectedIndices","list","indices","sel","idx","moveUp","selectedIndices","sorted","a","b","moved","moveDown","moveTop","selected","rest","moveBottom","sortableState","getItemDndProps","sortableListProps","useSortableContainer","fromIndex","toIndex","arrayMove","getOptionProps","index","__spreadValues","hasSelection","e"]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare const useOrderList: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/orderlist").UseOrderListProps<unknown>, unknown, {
|
|
3
|
+
state: {
|
|
4
|
+
value: unknown[];
|
|
5
|
+
selection: unknown[];
|
|
6
|
+
dragging: boolean;
|
|
7
|
+
};
|
|
8
|
+
getOptionProps: (item: unknown, index: number) => {
|
|
9
|
+
'data-sortable-item': string;
|
|
10
|
+
'data-sortable-container': string;
|
|
11
|
+
onPointerDown?: undefined;
|
|
12
|
+
'data-selected'?: string | undefined;
|
|
13
|
+
'data-scope': string;
|
|
14
|
+
'data-part': string;
|
|
15
|
+
} | {
|
|
16
|
+
'data-sortable-item': string;
|
|
17
|
+
'data-sortable-container': string;
|
|
18
|
+
onPointerDown: (e: React.PointerEvent<HTMLElement>) => void;
|
|
19
|
+
'data-selected'?: string | undefined;
|
|
20
|
+
'data-scope': string;
|
|
21
|
+
'data-part': string;
|
|
22
|
+
};
|
|
23
|
+
moveUp: (event?: React.SyntheticEvent) => void;
|
|
24
|
+
moveDown: (event?: React.SyntheticEvent) => void;
|
|
25
|
+
moveTop: (event?: React.SyntheticEvent) => void;
|
|
26
|
+
moveBottom: (event?: React.SyntheticEvent) => void;
|
|
27
|
+
rootProps: {
|
|
28
|
+
id: string | undefined;
|
|
29
|
+
'data-scope': string;
|
|
30
|
+
'data-part': string;
|
|
31
|
+
};
|
|
32
|
+
controlsProps: {
|
|
33
|
+
'data-scope': string;
|
|
34
|
+
'data-part': string;
|
|
35
|
+
};
|
|
36
|
+
listProps: {
|
|
37
|
+
'data-sortable-list': string;
|
|
38
|
+
'data-scope': string;
|
|
39
|
+
'data-part': string;
|
|
40
|
+
};
|
|
41
|
+
prevProps: {
|
|
42
|
+
'data-scope': string;
|
|
43
|
+
'data-part': string;
|
|
44
|
+
type: "button";
|
|
45
|
+
disabled: boolean;
|
|
46
|
+
'aria-label': string;
|
|
47
|
+
onClick: (e: React.MouseEvent) => void;
|
|
48
|
+
};
|
|
49
|
+
nextProps: {
|
|
50
|
+
'data-scope': string;
|
|
51
|
+
'data-part': string;
|
|
52
|
+
type: "button";
|
|
53
|
+
disabled: boolean;
|
|
54
|
+
'aria-label': string;
|
|
55
|
+
onClick: (e: React.MouseEvent) => void;
|
|
56
|
+
};
|
|
57
|
+
firstProps: {
|
|
58
|
+
'data-scope': string;
|
|
59
|
+
'data-part': string;
|
|
60
|
+
type: "button";
|
|
61
|
+
disabled: boolean;
|
|
62
|
+
'aria-label': string;
|
|
63
|
+
onClick: (e: React.MouseEvent) => void;
|
|
64
|
+
};
|
|
65
|
+
lastProps: {
|
|
66
|
+
'data-scope': string;
|
|
67
|
+
'data-part': string;
|
|
68
|
+
type: "button";
|
|
69
|
+
disabled: boolean;
|
|
70
|
+
'aria-label': string;
|
|
71
|
+
onClick: (e: React.MouseEvent) => void;
|
|
72
|
+
};
|
|
73
|
+
}>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var se=Object.defineProperty,le=Object.defineProperties;var re=Object.getOwnPropertyDescriptors;var U=Object.getOwnPropertySymbols;var ie=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable;var V=(t,o,n)=>o in t?se(t,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[o]=n,u=(t,o)=>{for(var n in o||(o={}))ie.call(o,n)&&V(t,n,o[n]);if(U)for(var n of U(o))de.call(o,n)&&V(t,n,o[n]);return t},O=(t,o)=>le(t,re(o));import{withHeadless as ue}from"@primereact/core/headless";import{useControlledState as q}from"@primereact/hooks/use-controlled-state";import*as c from"react";var j={value:void 0,gap:[40,56],selectionMode:void 0,collapsedKeys:void 0,defaultCollapsedKeys:void 0,onCollapsedChange:void 0,selectionKeys:void 0,defaultSelectionKeys:void 0,onSelectionChange:void 0};function M(t,o){for(let n of t){if(n.key===o)return n;if(n.children){let l=M(n.children,o);if(l)return l}}return null}function G(t){var n;let o=[];for(let l of(n=t.children)!=null?n:[])o.push(l.key,...G(l));return o}function F(t,o){let n=[],l=(v,g)=>{for(let h of v){if(h.key===o)return n.push(...g),!0;if(h.children&&l(h.children,[...g,h.key]))return!0}return!1};return l(t,[]),n}var be=ue({name:"useOrganizationChart",defaultProps:j,setup({props:t}){var w,H;let o=c.useRef((w=t.defaultCollapsedKeys)!=null?w:{}),[n,l]=q({value:t.collapsedKeys,defaultValue:o.current,onChange:t.onCollapsedChange}),v=c.useRef((H=t.defaultSelectionKeys)!=null?H:{}),[g,h]=q({value:t.selectionKeys,defaultValue:v.current,onChange:t.onSelectionChange}),m=n!=null?n:{},i=g!=null?g:{},x=c.useCallback(()=>{var e;return(e=t.value)!=null?e:[]},[t.value]),J=c.useCallback(e=>{var a,s;return(s=M((a=t.value)!=null?a:[],e))!=null?s:void 0},[t.value]),Q=c.useCallback(e=>{var a;return F((a=t.value)!=null?a:[],e).length+1},[t.value]),W={collapsedKeys:m,selectionKeys:i},C=c.useCallback(e=>!!(e!=null&&e.children&&e.children.length>0),[]),k=c.useCallback(()=>t.selectionMode!=null,[t.selectionMode]),y=c.useCallback(e=>e!=null&&e.key?m[e.key]===!0:!1,[m]),b=c.useCallback(e=>{if(!(e!=null&&e.key))return!1;let a=i[e.key];return t.selectionMode==="checkbox"?(a==null?void 0:a.checked)===!0:a===!0},[i,t.selectionMode]),X=c.useCallback(e=>{var a;return!(e!=null&&e.key)||t.selectionMode!=="checkbox"?!1:((a=i[e.key])==null?void 0:a.partialChecked)===!0},[i,t.selectionMode]),T=c.useCallback((e,a)=>{if(!e)return;let s=u({},m);s[e]?delete s[e]:s[e]=!0;let d=a!=null?a:{};l([s,{originalEvent:d,value:s}])},[m,l]),S=c.useCallback((e,a)=>{let s=a!=null?a:{};h([e,{originalEvent:s,value:e}])},[h]),D=c.useCallback((e,a)=>{var B;let s=x(),d=M(s,e);if(!d)return;let r={};for(let[f,p]of Object.entries(i))r[f]=p;let ae=((B=r[e])==null?void 0:B.checked)!==!0,ne=[e,...G(d)];for(let f of ne)ae?r[f]={checked:!0,partialChecked:!1}:delete r[f];let L=F(s,e);for(let f=L.length-1;f>=0;f--){let p=L[f],E=M(s,p);if(!(E!=null&&E.children))continue;let A=E.children.map(R=>R.key),ce=A.every(R=>{var K;return(K=r[R])==null?void 0:K.checked}),oe=A.some(R=>{var K,I;return((K=r[R])==null?void 0:K.checked)||((I=r[R])==null?void 0:I.partialChecked)});ce?r[p]={checked:!0,partialChecked:!1}:oe?r[p]={checked:!1,partialChecked:!0}:delete r[p]}S(r,a)},[x,i,S]),N=c.useCallback((e,a)=>{if(!e||t.selectionMode==null)return;if(t.selectionMode==="checkbox"){D(e,a);return}let s=i[e]===!0,d;t.selectionMode==="single"?d=s?{}:{[e]:!0}:(d=u({},i),s?delete d[e]:d[e]=!0),S(d,a)},[t.selectionMode,i,D,S]),z=c.useCallback((e,a)=>{(e.key==="Enter"||e.key===" ")&&(N(a,e),e.preventDefault(),e.stopPropagation())},[N]),P=c.useCallback((e,a)=>{(e.key==="Enter"||e.key===" ")&&(T(a,e),e.preventDefault(),e.stopPropagation())},[T]),Y=c.useMemo(()=>{var a;let e=(a=t.gap)!=null?a:40;return Array.isArray(e)?e.length===1?e=[e[0],e[0]]:e.length===0&&(e=[40,40]):e=[e,e],{"--px-gap-x":e[0]+"px","--px-gap-y":e[1]+"px"}},[t.gap]),Z={"data-scope":"organizationchart","data-part":"root",role:"tree","aria-multiselectable":t.selectionMode==="multiple"||t.selectionMode==="checkbox"},_=c.useCallback((e,a)=>O(u(u(u({"data-scope":"organizationchart","data-part":"tree",role:"treeitem","data-level":a},y(e)?{"data-collapsed":""}:{}),b(e)?{"data-selected":""}:{}),C(e)?{"data-expandable":""}:{}),{"aria-level":a,"aria-expanded":C(e)?!y(e):void 0,"aria-selected":k()?b(e):void 0}),[y,b,C,k]),$=c.useCallback((e,a)=>O(u(u(u(u({"data-scope":"organizationchart","data-part":"node",tabIndex:k()?0:-1},k()?{"data-selectable":""}:{}),C(e)?{"data-collapsible":""}:{}),y(e)?{"data-collapsed":""}:{}),b(e)?{"data-selected":""}:{}),{onClick:a,onKeyDown:s=>z(s,e==null?void 0:e.key)}),[k,C,y,b,z]),ee=c.useCallback((e,a)=>({"data-scope":"organizationchart","data-part":"toggle",onClick:a,onKeyDown:s=>P(s,e==null?void 0:e.key)}),[P]),te=c.useCallback(()=>({"data-scope":"organizationchart","data-part":"toggle-indicator","aria-hidden":!0}),[]);return{state:W,getNodes:x,findNodeByKey:J,getNodeLevel:Q,rootProps:Z,getTreeProps:_,getNodeProps:$,getCollapseButtonProps:ee,getToggleIndicatorProps:te,subtreeProps:{"data-scope":"organizationchart","data-part":"subtree",role:"group"},orgChartStyle:Y,toggleNodeSelect:N,toggleNodeCollapse:T,isExpandable:C,isSelectable:k,isCollapsed:y,isSelected:b,isPartiallySelected:X,handleNodeKeyDown:z,handleCollapseKeyDown:P}}});export{j as defaultProps,be as useOrganizationChart};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/organizationchart/useOrganizationChart.ts","../../src/organizationchart/useOrganizationChart.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport type { OrganizationChartCollapsedKeys, OrganizationChartSelectionKeys, TreeNode } from '@primereact/types/headless/organizationchart';\nimport * as React from 'react';\nimport { defaultProps } from './useOrganizationChart.props';\n\nfunction findNode(nodes: TreeNode[], key: string): TreeNode | null {\n for (const node of nodes) {\n if (node.key === key) return node;\n\n if (node.children) {\n const found = findNode(node.children, key);\n\n if (found) return found;\n }\n }\n\n return null;\n}\n\nfunction getDescendantKeys(node: TreeNode): string[] {\n const keys: string[] = [];\n\n for (const child of node.children ?? []) {\n keys.push(child.key, ...getDescendantKeys(child));\n }\n\n return keys;\n}\n\nfunction getAncestorKeys(nodes: TreeNode[], targetKey: string): string[] {\n const path: string[] = [];\n\n const walk = (list: TreeNode[], trail: string[]): boolean => {\n for (const node of list) {\n if (node.key === targetKey) {\n path.push(...trail);\n\n return true;\n }\n\n if (node.children && walk(node.children, [...trail, node.key])) return true;\n }\n\n return false;\n };\n\n walk(nodes, []);\n\n return path;\n}\n\nexport const useOrganizationChart = withHeadless({\n name: 'useOrganizationChart',\n defaultProps,\n setup({ props }) {\n const defaultCollapsedRef = React.useRef(props.defaultCollapsedKeys ?? {});\n const [collapsedKeyState, setCollapsedKeyState] = useControlledState({\n value: props.collapsedKeys,\n defaultValue: defaultCollapsedRef.current,\n onChange: props.onCollapsedChange\n });\n\n const defaultSelectionRef = React.useRef(props.defaultSelectionKeys ?? {});\n const [selectionKeyState, setSelectionKeyState] = useControlledState({\n value: props.selectionKeys,\n defaultValue: defaultSelectionRef.current,\n onChange: props.onSelectionChange\n });\n\n const collapsedKeys = (collapsedKeyState ?? {}) as OrganizationChartCollapsedKeys;\n const selectionKeys = (selectionKeyState ?? {}) as OrganizationChartSelectionKeys;\n\n const getNodes = React.useCallback(() => props.value ?? [], [props.value]);\n\n const findNodeByKey = React.useCallback((key: string) => findNode(props.value ?? [], key) ?? undefined, [props.value]);\n\n const getNodeLevel = React.useCallback((key: string) => getAncestorKeys(props.value ?? [], key).length + 1, [props.value]);\n\n const state = {\n collapsedKeys,\n selectionKeys\n };\n\n // ---- Predicates -------------------------------------------------------\n\n const isExpandable = React.useCallback((node?: TreeNode) => Boolean(node?.children && node.children.length > 0), []);\n\n const isSelectable = React.useCallback(() => props.selectionMode != null, [props.selectionMode]);\n\n const isCollapsed = React.useCallback(\n (node?: TreeNode) => {\n if (!node?.key) return false;\n\n return collapsedKeys[node.key] === true;\n },\n [collapsedKeys]\n );\n\n const isSelected = React.useCallback(\n (node?: TreeNode) => {\n if (!node?.key) return false;\n\n const entry = selectionKeys[node.key];\n\n if (props.selectionMode === 'checkbox') return (entry as { checked?: boolean } | undefined)?.checked === true;\n\n return entry === true;\n },\n [selectionKeys, props.selectionMode]\n );\n\n const isPartiallySelected = React.useCallback(\n (node?: TreeNode) => {\n if (!node?.key || props.selectionMode !== 'checkbox') return false;\n\n return (selectionKeys[node.key] as { partialChecked?: boolean } | undefined)?.partialChecked === true;\n },\n [selectionKeys, props.selectionMode]\n );\n\n // ---- Collapse ---------------------------------------------------------\n\n const toggleNodeCollapse = React.useCallback(\n (key?: string, event?: React.SyntheticEvent) => {\n if (!key) return;\n\n const next = { ...collapsedKeys };\n\n if (next[key]) delete next[key];\n else next[key] = true;\n\n const originalEvent = event ?? ({} as React.SyntheticEvent);\n\n setCollapsedKeyState([next, { originalEvent, value: next }]);\n },\n [collapsedKeys, setCollapsedKeyState]\n );\n\n // ---- Selection --------------------------------------------------------\n\n const commitSelection = React.useCallback(\n (next: OrganizationChartSelectionKeys, event?: React.SyntheticEvent) => {\n const originalEvent = event ?? ({} as React.SyntheticEvent);\n\n setSelectionKeyState([next, { originalEvent, value: next }]);\n },\n [setSelectionKeyState]\n );\n\n const toggleCheckboxSelect = React.useCallback(\n (key: string, event?: React.SyntheticEvent) => {\n const root = getNodes();\n const node = findNode(root, key);\n\n if (!node) return;\n\n const next: Record<string, { checked: boolean; partialChecked: boolean }> = {};\n\n for (const [k, v] of Object.entries(selectionKeys)) {\n next[k] = v as { checked: boolean; partialChecked: boolean };\n }\n\n const selecting = next[key]?.checked !== true;\n const downKeys = [key, ...getDescendantKeys(node)];\n\n for (const k of downKeys) {\n if (selecting) next[k] = { checked: true, partialChecked: false };\n else delete next[k];\n }\n\n const ancestors = getAncestorKeys(root, key);\n\n for (let i = ancestors.length - 1; i >= 0; i--) {\n const ancestorKey = ancestors[i];\n const ancestorNode = findNode(root, ancestorKey);\n\n if (!ancestorNode?.children) continue;\n\n const childKeys = ancestorNode.children.map((c) => c.key);\n const allChecked = childKeys.every((c) => next[c]?.checked);\n const someChecked = childKeys.some((c) => next[c]?.checked || next[c]?.partialChecked);\n\n if (allChecked) next[ancestorKey] = { checked: true, partialChecked: false };\n else if (someChecked) next[ancestorKey] = { checked: false, partialChecked: true };\n else delete next[ancestorKey];\n }\n\n commitSelection(next, event);\n },\n [getNodes, selectionKeys, commitSelection]\n );\n\n const toggleNodeSelect = React.useCallback(\n (key?: string, event?: React.SyntheticEvent) => {\n if (!key || props.selectionMode == null) return;\n\n if (props.selectionMode === 'checkbox') {\n toggleCheckboxSelect(key, event);\n\n return;\n }\n\n const current = selectionKeys[key] === true;\n let next: OrganizationChartSelectionKeys;\n\n if (props.selectionMode === 'single') {\n next = current ? {} : { [key]: true };\n } else {\n next = { ...selectionKeys };\n\n if (current) delete next[key];\n else next[key] = true;\n }\n\n commitSelection(next, event);\n },\n [props.selectionMode, selectionKeys, toggleCheckboxSelect, commitSelection]\n );\n\n // ---- Keyboard ---------------------------------------------------------\n\n const handleNodeKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>, key?: string) => {\n if (event.key === 'Enter' || event.key === ' ') {\n toggleNodeSelect(key, event);\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, event);\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [toggleNodeCollapse]\n );\n\n // ---- Style ------------------------------------------------------------\n\n const orgChartStyle = React.useMemo(() => {\n let gap = props.gap ?? 40;\n\n if (!Array.isArray(gap)) gap = [gap, gap];\n else if (gap.length === 1) gap = [gap[0], gap[0]];\n else if (gap.length === 0) gap = [40, 40];\n\n return {\n '--px-gap-x': gap[0] + 'px',\n '--px-gap-y': gap[1] + 'px'\n };\n }, [props.gap]);\n\n // ---- Prop getters -----------------------------------------------------\n\n const rootProps = {\n 'data-scope': 'organizationchart' as const,\n 'data-part': 'root' as const,\n role: 'tree' as const,\n 'aria-multiselectable': props.selectionMode === 'multiple' || props.selectionMode === 'checkbox'\n };\n\n const getTreeProps = React.useCallback(\n (node: TreeNode | undefined, level: number) => ({\n 'data-scope': 'organizationchart' as const,\n 'data-part': 'tree' as const,\n role: 'treeitem' as const,\n 'data-level': level,\n ...(isCollapsed(node) ? { 'data-collapsed': '' } : {}),\n ...(isSelected(node) ? { 'data-selected': '' } : {}),\n ...(isExpandable(node) ? { 'data-expandable': '' } : {}),\n 'aria-level': level,\n 'aria-expanded': isExpandable(node) ? !isCollapsed(node) : undefined,\n 'aria-selected': isSelectable() ? isSelected(node) : undefined\n }),\n [isCollapsed, isSelected, isExpandable, isSelectable]\n );\n\n const getNodeProps = React.useCallback(\n (node: TreeNode | undefined, handleClick: (event: React.MouseEvent<HTMLDivElement>) => void) => ({\n 'data-scope': 'organizationchart' as const,\n 'data-part': 'node' as const,\n tabIndex: isSelectable() ? 0 : -1,\n ...(isSelectable() ? { 'data-selectable': '' } : {}),\n ...(isExpandable(node) ? { 'data-collapsible': '' } : {}),\n ...(isCollapsed(node) ? { 'data-collapsed': '' } : {}),\n ...(isSelected(node) ? { 'data-selected': '' } : {}),\n onClick: handleClick,\n onKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => handleNodeKeyDown(event, node?.key)\n }),\n [isSelectable, isExpandable, isCollapsed, isSelected, handleNodeKeyDown]\n );\n\n const getCollapseButtonProps = React.useCallback(\n (node: TreeNode | undefined, handleClick: (event: React.MouseEvent<HTMLButtonElement>) => void) => ({\n 'data-scope': 'organizationchart' as const,\n 'data-part': 'toggle' as const,\n onClick: handleClick,\n onKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>) => handleCollapseKeyDown(event, node?.key)\n }),\n [handleCollapseKeyDown]\n );\n\n const getToggleIndicatorProps = React.useCallback(\n () => ({\n 'data-scope': 'organizationchart' as const,\n 'data-part': 'toggle-indicator' as const,\n 'aria-hidden': true as const\n }),\n []\n );\n\n const subtreeProps = {\n 'data-scope': 'organizationchart' as const,\n 'data-part': 'subtree' as const,\n role: 'group' as const\n };\n\n return {\n state,\n getNodes,\n findNodeByKey,\n getNodeLevel,\n rootProps,\n getTreeProps,\n getNodeProps,\n getCollapseButtonProps,\n getToggleIndicatorProps,\n subtreeProps,\n orgChartStyle,\n toggleNodeSelect,\n toggleNodeCollapse,\n isExpandable,\n isSelectable,\n isCollapsed,\n isSelected,\n isPartiallySelected,\n handleNodeKeyDown,\n handleCollapseKeyDown\n };\n }\n});\n","import type { UseOrganizationChartProps } from '@primereact/types/headless/organizationchart';\n\nexport const defaultProps: UseOrganizationChartProps = {\n value: undefined,\n gap: [40, 56],\n selectionMode: undefined,\n collapsedKeys: undefined,\n defaultCollapsedKeys: undefined,\n onCollapsedChange: undefined,\n selectionKeys: undefined,\n defaultSelectionKeys: undefined,\n onSelectionChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","useControlledState","React","defaultProps","findNode","nodes","key","node","found","getDescendantKeys","_a","keys","child","getAncestorKeys","targetKey","path","walk","list","trail","useOrganizationChart","withHeadless","defaultProps","props","_b","defaultCollapsedRef","collapsedKeyState","setCollapsedKeyState","useControlledState","defaultSelectionRef","selectionKeyState","setSelectionKeyState","collapsedKeys","selectionKeys","getNodes","findNodeByKey","getNodeLevel","state","isExpandable","isSelectable","isCollapsed","isSelected","entry","isPartiallySelected","toggleNodeCollapse","event","next","__spreadValues","originalEvent","commitSelection","toggleCheckboxSelect","root","k","v","selecting","downKeys","ancestors","i","ancestorKey","ancestorNode","childKeys","c","allChecked","someChecked","toggleNodeSelect","current","handleNodeKeyDown","handleCollapseKeyDown","orgChartStyle","gap","rootProps","getTreeProps","level","__spreadProps","getNodeProps","handleClick","getCollapseButtonProps","getToggleIndicatorProps"]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { OrganizationChartCollapsedKeys, OrganizationChartSelectionKeys, TreeNode } from '@primereact/types/headless/organizationchart';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
export declare const useOrganizationChart: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/organizationchart").UseOrganizationChartProps, unknown, {
|
|
4
|
+
state: {
|
|
5
|
+
collapsedKeys: OrganizationChartCollapsedKeys;
|
|
6
|
+
selectionKeys: OrganizationChartSelectionKeys;
|
|
7
|
+
};
|
|
8
|
+
getNodes: () => TreeNode[];
|
|
9
|
+
findNodeByKey: (key: string) => TreeNode | undefined;
|
|
10
|
+
getNodeLevel: (key: string) => number;
|
|
11
|
+
rootProps: {
|
|
12
|
+
'data-scope': "organizationchart";
|
|
13
|
+
'data-part': "root";
|
|
14
|
+
role: "tree";
|
|
15
|
+
'aria-multiselectable': boolean;
|
|
16
|
+
};
|
|
17
|
+
getTreeProps: (node: TreeNode | undefined, level: number) => {
|
|
18
|
+
'aria-level': number;
|
|
19
|
+
'aria-expanded': boolean | undefined;
|
|
20
|
+
'aria-selected': boolean | undefined;
|
|
21
|
+
'data-expandable'?: string | undefined;
|
|
22
|
+
'data-selected'?: string | undefined;
|
|
23
|
+
'data-collapsed'?: string | undefined;
|
|
24
|
+
'data-scope': "organizationchart";
|
|
25
|
+
'data-part': "tree";
|
|
26
|
+
role: "treeitem";
|
|
27
|
+
'data-level': number;
|
|
28
|
+
};
|
|
29
|
+
getNodeProps: (node: TreeNode | undefined, handleClick: (event: React.MouseEvent<HTMLDivElement>) => void) => {
|
|
30
|
+
onClick: (event: React.MouseEvent<HTMLDivElement>) => void;
|
|
31
|
+
onKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
32
|
+
'data-selected'?: string | undefined;
|
|
33
|
+
'data-collapsed'?: string | undefined;
|
|
34
|
+
'data-collapsible'?: string | undefined;
|
|
35
|
+
'data-selectable'?: string | undefined;
|
|
36
|
+
'data-scope': "organizationchart";
|
|
37
|
+
'data-part': "node";
|
|
38
|
+
tabIndex: number;
|
|
39
|
+
};
|
|
40
|
+
getCollapseButtonProps: (node: TreeNode | undefined, handleClick: (event: React.MouseEvent<HTMLButtonElement>) => void) => {
|
|
41
|
+
'data-scope': "organizationchart";
|
|
42
|
+
'data-part': "toggle";
|
|
43
|
+
onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
44
|
+
onKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>) => void;
|
|
45
|
+
};
|
|
46
|
+
getToggleIndicatorProps: () => {
|
|
47
|
+
'data-scope': "organizationchart";
|
|
48
|
+
'data-part': "toggle-indicator";
|
|
49
|
+
'aria-hidden': true;
|
|
50
|
+
};
|
|
51
|
+
subtreeProps: {
|
|
52
|
+
'data-scope': "organizationchart";
|
|
53
|
+
'data-part': "subtree";
|
|
54
|
+
role: "group";
|
|
55
|
+
};
|
|
56
|
+
orgChartStyle: {
|
|
57
|
+
'--px-gap-x': string;
|
|
58
|
+
'--px-gap-y': string;
|
|
59
|
+
};
|
|
60
|
+
toggleNodeSelect: (key?: string, event?: React.SyntheticEvent) => void;
|
|
61
|
+
toggleNodeCollapse: (key?: string, event?: React.SyntheticEvent) => void;
|
|
62
|
+
isExpandable: (node?: TreeNode) => boolean;
|
|
63
|
+
isSelectable: () => boolean;
|
|
64
|
+
isCollapsed: (node?: TreeNode) => boolean;
|
|
65
|
+
isSelected: (node?: TreeNode) => boolean;
|
|
66
|
+
isPartiallySelected: (node?: TreeNode) => boolean;
|
|
67
|
+
handleNodeKeyDown: (event: React.KeyboardEvent<HTMLDivElement>, key?: string) => void;
|
|
68
|
+
handleCollapseKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>, key?: string) => void;
|
|
69
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/overlaybadge/useOverlayBadge.ts","../../src/overlaybadge/useOverlayBadge.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useOverlayBadge.props';\n\nexport const useOverlayBadge = withHeadless({\n name: 'useOverlayBadge',\n defaultProps\n});\n","import type { UseOverlayBadgeProps } from '@primereact/types/headless/overlaybadge';\n\nexport const defaultProps: UseOverlayBadgeProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAqC,CAAC,EDC5C,IAAMC,EAAkBC,EAAa,CACxC,KAAM,kBACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useOverlayBadge","withHeadless","defaultProps"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useOverlayBadge: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/overlaybadge").UseOverlayBadgeProps, unknown, Record<PropertyKey, unknown>>;
|
package/package.json
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@primereact/headless",
|
|
3
|
-
"version": "11.0.0-
|
|
3
|
+
"version": "11.0.0-rc.1",
|
|
4
4
|
"author": "PrimeTek Informatics",
|
|
5
|
-
"description": "",
|
|
6
|
-
"homepage": "https://primereact.
|
|
7
|
-
"license": "
|
|
8
|
-
"repository": {
|
|
9
|
-
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/primefaces/primereact.git",
|
|
11
|
-
"directory": "packages/headless"
|
|
12
|
-
},
|
|
5
|
+
"description": "Headless components for PrimeReact.",
|
|
6
|
+
"homepage": "https://primereact.dev",
|
|
7
|
+
"license": "SEE LICENSE IN LICENSE.md",
|
|
13
8
|
"bugs": {
|
|
14
|
-
"url": "https://
|
|
9
|
+
"url": "https://support.primeui.dev"
|
|
15
10
|
},
|
|
16
11
|
"main": "./index.mjs",
|
|
17
12
|
"module": "./index.mjs",
|
|
@@ -32,9 +27,11 @@
|
|
|
32
27
|
"access": "public"
|
|
33
28
|
},
|
|
34
29
|
"dependencies": {
|
|
35
|
-
"@
|
|
36
|
-
"@primeuix/
|
|
37
|
-
"@
|
|
38
|
-
"@primereact/
|
|
39
|
-
|
|
30
|
+
"@primeui/license-manager": "^1.0.0-rc.1",
|
|
31
|
+
"@primeuix/styled": "^1.0.0-rc.1",
|
|
32
|
+
"@primeuix/utils": "^0.7.2",
|
|
33
|
+
"@primereact/core": "11.0.0-rc.1",
|
|
34
|
+
"@primereact/hooks": "11.0.0-rc.1"
|
|
35
|
+
},
|
|
36
|
+
"repository": {}
|
|
40
37
|
}
|
package/paginator/index.d.ts
CHANGED
package/paginator/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{withHeadless as
|
|
1
|
+
var _=Object.defineProperty;var E=Object.getOwnPropertySymbols;var j=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var k=(a,n,e)=>n in a?_(a,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[n]=e,l=(a,n)=>{for(var e in n||(n={}))j.call(n,e)&&k(a,e,n[e]);if(E)for(var e of E(n))q.call(n,e)&&k(a,e,n[e]);return a};import{withHeadless as B}from"@primereact/core/headless";import*as P from"react";var R={defaultPage:1,page:void 0,total:0,itemsPerPage:10,onPageChange:void 0,siblings:1,edges:1,disabled:!1,showEllipsis:!0};var c=(a,n)=>{let e=Math.max(0,n-a+1);return Array.from({length:e},(o,b)=>({type:"page",value:a+b}))},I={type:"ellipsis"},m={config:{locale:{aria:{pageLabel:"Page {page}",firstPageLabel:"First Page",lastPageLabel:"Last Page",nextPageLabel:"Next Page",prevPageLabel:"Previous Page"}}}},T=B({name:"usePaginator",defaultProps:R,setup({props:a}){var w,L,M,S;let n=s=>{var i,g;return(g=(i=m==null?void 0:m.config)==null?void 0:i.locale)!=null&&g.aria?m.config.locale.aria[s]:void 0},{edges:e=1,siblings:o=1,showEllipsis:b=!0}=a,[d,A]=P.useState((L=(w=a.defaultPage)!=null?w:a.page)!=null?L:1),t=Math.max(1,Math.ceil(((M=a.total)!=null?M:0)/((S=a.itemsPerPage)!=null?S:1))),f=d>1,u=d<t,r=s=>{var g;if(a.disabled||s===void 0)return;let i=s<1?1:s>t?t:s;i!==d&&((g=a.onPageChange)==null||g.call(a,{originalEvent:{},value:i})),A(i)},p=()=>r(d+1),h=()=>r(d-1),x=()=>r(1),v=()=>r(t),z=P.useMemo(()=>{let s=Math.max(d-o,1),i=Math.min(d+o,t);if(b){if(2*e+2*o+(b?3:1)>=t)return c(1,t);let C=s>e+2,y=i<t-e-1;return[...c(1,e),...C?[I]:c(e+1,o*2+e+2),...C&&y?c(s,i):[],...y?[I]:c(t-e-1-2*o,t-e),...c(t-e+1,t)]}else return[...c(Math.max(Math.min(s,i-2*o),1),Math.min(Math.max(i,s+2*o),t))]},[t,e,o,d,b]);P.useEffect(()=>{a.page!==void 0&&r(a.page)},[a.page]);let N={"data-scope":"paginator","data-part":"root"},U=l({"data-scope":"paginator","data-part":"first",onClick:x,disabled:!f||a.disabled},!f||a.disabled?{"data-disabled":""}:{}),F=l({"data-scope":"paginator","data-part":"prev",onClick:h,disabled:!f||a.disabled},!f||a.disabled?{"data-disabled":""}:{}),H=l({"data-scope":"paginator","data-part":"next",onClick:p,disabled:!u||a.disabled},!u||a.disabled?{"data-disabled":""}:{}),V=l({"data-scope":"paginator","data-part":"last",onClick:v,disabled:!u||a.disabled},!u||a.disabled?{"data-disabled":""}:{});return{state:{activePage:d,totalPages:t,canPrev:f,canNext:u},pages:z,rootProps:N,firstProps:U,prevProps:F,nextProps:H,lastProps:V,pagesProps:{"data-scope":"paginator","data-part":"pages"},getPageProps:s=>l(l({"data-scope":"paginator","data-part":"page",onClick:()=>r(s),disabled:a.disabled,"aria-current":d===s?"page":void 0},d===s?{"data-active":""}:{}),a.disabled?{"data-disabled":""}:{}),getAriaLabel:n,prev:h,next:p,first:x,last:v,handlePage:r}}});export{R as defaultProps,T as usePaginator};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|