@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
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const defaultProps:
|
|
1
|
+
import type { UseSliderProps } from '@primereact/types/headless/slider';
|
|
2
|
+
export declare const defaultProps: UseSliderProps;
|
package/speeddial/index.d.ts
CHANGED
package/speeddial/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
1
|
+
var ue=Object.defineProperty,fe=Object.defineProperties;var pe=Object.getOwnPropertyDescriptors;var _=Object.getOwnPropertySymbols;var me=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable;var j=(t,o,i)=>o in t?ue(t,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[o]=i,p=(t,o)=>{for(var i in o||(o={}))me.call(o,i)&&j(t,i,o[i]);if(_)for(var i of _(o))ge.call(o,i)&&j(t,i,o[i]);return t},R=(t,o)=>fe(t,pe(o));import{withHeadless as be}from"@primereact/core/headless";import{useEventListener as he,useUnmountEffect as ye,useUpdateEffect as we}from"@primereact/hooks";import{useControlledState as Re}from"@primereact/hooks/use-controlled-state";import{$dt as D}from"@primeuix/styled";import{find as De,findSingle as E,focus as W}from"@primeuix/utils/dom";import*as d from"react";var q={visible:void 0,defaultVisible:void 0,direction:"up",transitionDelay:30,type:"linear",radius:0,hideOnClickOutside:!0,onVisibleChange:void 0};var Te=be({name:"useSpeedDial",defaultProps:q,setup:({props:t,id:o,elementRef:i})=>{var A;let[l,k]=Re({value:t.visible,defaultValue:(A=t.defaultVisible)!=null?A:!1,onChange:t.onVisibleChange}),[b,m]=d.useState(-1),u=d.useRef(null),g=d.useRef(null),C=d.useRef(!1),Y=d.useCallback(e=>{u.current=e,i.current=e!=null?e:void 0},[]),X={visible:l,focusedOptionIndex:b},z=d.useCallback(e=>{g.current=e},[]),S=()=>De(u.current,'[data-scope="speeddial"][data-part="item"]'),x=()=>S().length,G=()=>{let e=E(u.current,'[data-scope="speeddial"][data-part="trigger"]');e&&W(e)},L=()=>k([!0,{value:!0}]),h=()=>k([!1,{value:!1}]),J=d.useCallback(()=>{if(t.type!=="linear"){let e=E(u.current,'[data-scope="speeddial"][data-part="trigger"]'),s=E(g.current,'[data-scope="speeddial"][data-part="item"]');if(e&&s){let a=Math.abs(e.offsetWidth-s.offsetWidth),f=Math.abs(e.offsetHeight-s.offsetHeight);g.current.style.setProperty(D("item.diff.x").name,`${a/2}px`),g.current.style.setProperty(D("item.diff.y").name,`${f/2}px`)}}},[t.type]),[Q,I]=he({type:"click",listener:e=>{let s=e.target,a=u.current&&!u.current.contains(s);l&&a&&h(),C.current=!1}});we(()=>(l&&(requestAnimationFrame(J),t.hideOnClickOutside&&Q()),()=>{t.hideOnClickOutside&&I()}),[l]),ye(()=>{I()});let Z=e=>{var a;let s=x();return(l?e:s-e-1)*((a=t.transitionDelay)!=null?a:30)},ee=e=>{var N;let{type:s,direction:a,radius:f}=t;if(s==="linear")return{};let y=x(),w=f||y*20,re=D("item.diff.x").variable,ie=D("item.diff.y").variable,K=n=>`calc(${n}px + ${re})`,B=n=>`calc(${n}px + ${ie})`;if(s==="circle"){let n=2*Math.PI/y;return{left:K(w*Math.cos(n*e)),top:B(w*Math.sin(n*e))}}let ce=s==="semi-circle"?y-1:2*(y-1),V=Math.PI/ce,le=K(w*Math.cos(V*e)),de=B(w*Math.sin(V*e)),F=(N={"semi-circle":{up:(n,r)=>({left:n,bottom:r}),down:(n,r)=>({left:n,top:r}),left:(n,r)=>({right:r,top:n}),right:(n,r)=>({left:r,top:n})},"quarter-circle":{"up-left":(n,r)=>({right:n,bottom:r}),"up-right":(n,r)=>({left:n,bottom:r}),"down-left":(n,r)=>({right:r,top:n}),"down-right":(n,r)=>({left:r,top:n})}}[s])==null?void 0:N[a];return F?F(le,de):{}},P=e=>p({transitionDelay:`${Z(e)}ms`},ee(e)),te=e=>{let s=S(),a=e==="next",f=a?0:s.length-1;return b===-1?f:b+(a?1:-1)},se=e=>{let s=S();if(s[e]){m(e!=null?e:-1);let a=E(s[e],'[data-part="action"]');a&&W(a)}},c=(e,s)=>{let a=te(s);se(a),e.preventDefault()},v=()=>{h(),m(-1),G()},H=()=>{l?h():L(),C.current=!0},T=e=>{switch(e.code){case"ArrowDown":case"ArrowLeft":L(),c(e,"next");break;case"ArrowUp":case"ArrowRight":L(),c(e,"prev");break;case"Escape":v();break}},$=e=>{let s=t.direction,a=["left","up-right","down-left"],f=["right","up-left","down-right"];switch(e.code){case"ArrowDown":s==="down"?c(e,"next"):c(e,"prev");break;case"ArrowUp":s==="down"?c(e,"prev"):c(e,"next");break;case"ArrowLeft":a.includes(s)||s==="down"?c(e,"next"):c(e,"prev");break;case"ArrowRight":f.includes(s)||s==="up"?c(e,"next"):c(e,"prev");break;case"Enter":case"NumpadEnter":case"Space":case"Escape":v();break;case"Home":m(-1),c(e,"next");break;case"End":m(-1),c(e,"prev");break}},O=e=>{var s;(s=u.current)!=null&&s.contains(e.relatedTarget)||m(-1)},M=e=>{var s;h(),C.current=!0,(s=e.preventDefault)==null||s.call(e)},U=e=>{e.code==="Enter"&&M(e)},ne=R(p({ref:Y,id:o,"data-scope":"speeddial","data-part":"root"},l?{"data-open":""}:{"data-closed":""}),{style:{alignItems:t.direction==="up"||t.direction==="down"?"center":void 0,justifyContent:t.direction==="left"||t.direction==="right"?"center":void 0,flexDirection:t.direction==="up"?"column-reverse":t.direction==="down"?"column":t.direction==="left"?"row-reverse":t.direction==="right"?"row":void 0}}),ae=R(p({"data-scope":"speeddial","data-part":"trigger",type:"button","aria-expanded":l,"aria-haspopup":"true","aria-controls":`${o}_list`},l?{"data-open":""}:{"data-closed":""}),{onClick:H,onKeyDown:T}),oe=R(p({ref:z,"data-scope":"speeddial","data-part":"list"},l?{"data-open":""}:{"data-closed":""}),{id:`${o}_list`,role:"menu",tabIndex:-1,onBlur:O,onKeyDown:$,style:{flexDirection:t.direction==="up"?"column-reverse":t.direction==="down"?"column":t.direction==="left"?"row-reverse":t.direction==="right"?"row":void 0}});return{state:X,listRef:g,rootProps:ne,triggerProps:ae,listProps:oe,getItemProps:e=>p({id:`${o}_${e}`,"data-scope":"speeddial","data-part":"item",role:"none",style:P(e)},b===e?{"data-active":""}:{}),actionProps:{"data-scope":"speeddial","data-part":"action",type:"button",tabIndex:-1,role:"menuitem",onClick:M,onKeyDown:U},getItemStyle:P,onBlur:O,onKeyDown:$,onTriggerClick:H,onTriggerKeyDown:T,onItemClick:M,onItemKeyDown:U}}});export{q as defaultProps,Te as useSpeedDial};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/speeddial/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/speeddial/useSpeedDial.ts","../../src/speeddial/useSpeedDial.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener, useMountEffect, useUnmountEffect, useUpdateEffect } from '@primereact/hooks';\nimport { $dt } from '@primeuix/styled';\nimport { find, findSingle, focus, hasClass } from '@primeuix/utils/dom';\nimport * as React from 'react';\nimport { defaultProps } from './useSpeedDial.props';\n\nexport const useSpeedDial = withHeadless({\n name: 'useSpeedDial',\n defaultProps,\n setup: ({ props, elementRef }) => {\n const listRef = React.useRef<HTMLUListElement | null>(null);\n const [visibleState, setVisibleState] = React.useState<boolean>(props.visible ?? props.defaultVisible ?? false);\n const [focusedOptionIndex, setFocusedOptionIndex] = React.useState<string | number>(-1);\n const isItemClicked = React.useRef(false);\n const itemCounter = React.useRef(0);\n const Math_PI = 3.14159265358979;\n\n const state = {\n visible: visibleState,\n focusedOptionIndex\n };\n\n const registerItem = React.useCallback(() => {\n const index = itemCounter.current;\n\n itemCounter.current += 1;\n\n return index;\n }, []);\n\n useMountEffect(() => {\n if (props.type !== 'linear') {\n const button = findSingle(elementRef.current as HTMLDivElement, '[data-pc-name=\"button\"]') as HTMLButtonElement;\n const firstItem = findSingle(listRef.current as HTMLUListElement, '[data-pc-name=\"speeddialitem\"]') as HTMLLIElement;\n\n if (button && firstItem) {\n const wDiff = Math.abs(button.offsetWidth - firstItem.offsetWidth);\n const hDiff = Math.abs(button.offsetHeight - firstItem.offsetHeight);\n\n (listRef.current as HTMLUListElement).style.setProperty($dt('item.diff.x').name, `${wDiff / 2}px`);\n (listRef.current as HTMLUListElement).style.setProperty($dt('item.diff.y').name, `${hDiff / 2}px`);\n }\n }\n });\n\n useUpdateEffect(() => {\n if (visibleState) {\n if (props.hideOnClickOutside) {\n bindDocumentClickListener();\n }\n }\n\n return () => {\n if (props.hideOnClickOutside) {\n unbindDocumentClickListener();\n }\n };\n }, [visibleState]);\n\n useUnmountEffect(() => {\n unbindDocumentClickListener();\n });\n\n const [bindDocumentClickListener, unbindDocumentClickListener] = useEventListener({\n type: 'click',\n listener: (event) => {\n if (visibleState && isOutsideClicked(event as unknown as React.MouseEvent)) {\n hide();\n }\n\n isItemClicked.current = false;\n }\n });\n\n const isOutsideClicked = (event: React.MouseEvent) => {\n return elementRef.current && !(elementRef.current.isSameNode(event.target as Node) || elementRef.current.contains(event.target as Node));\n };\n\n const onBlur = (event: React.FocusEvent) => {\n if (!elementRef.current?.contains(event.relatedTarget as Node)) {\n setFocusedOptionIndex(-1);\n }\n };\n\n const onItemClick = (event: React.MouseEvent | React.KeyboardEvent) => {\n hide();\n\n isItemClicked.current = true;\n event.preventDefault?.();\n };\n\n const onItemKeyDown = (event: React.KeyboardEvent) => {\n if (event.code === 'Enter') {\n onItemClick(event);\n }\n };\n\n const onClick = () => {\n if (visibleState) {\n hide();\n } else {\n show();\n }\n\n isItemClicked.current = true;\n };\n\n const show = () => {\n setVisibleState(true);\n\n props.onVisibleChange?.({\n value: true\n });\n };\n\n const hide = () => {\n setVisibleState(false);\n\n props.onVisibleChange?.({\n value: false\n });\n };\n\n const calculateTransitionDelay = (index: number) => {\n const length = itemCounter.current;\n const visible = visibleState;\n\n return (visible ? index : length - index - 1) * (props.transitionDelay ?? 30);\n };\n\n const calculatePointStyle = (index: number) => {\n const type = props.type;\n\n if (type !== 'linear') {\n const length = itemCounter.current;\n const radius = (props.radius || length * 20) as number;\n\n if (type === 'circle') {\n const step = (2 * Math_PI) / length;\n\n return {\n left: `calc(${radius * Math.cos(step * index)}px + ${$dt('item.diff.x').variable})`,\n top: `calc(${radius * Math.sin(step * index)}px + ${$dt('item.diff.y').variable})`\n };\n } else if (type === 'semi-circle') {\n const direction = props.direction;\n const step = Math_PI / (length - 1);\n const x = `calc(${radius * Math.cos(step * index)}px + ${$dt('item.diff.x').variable})`;\n const y = `calc(${radius * Math.sin(step * index)}px + ${$dt('item.diff.y').variable})`;\n\n if (direction === 'up') {\n return { left: x, bottom: y };\n } else if (direction === 'down') {\n return { left: x, top: y };\n } else if (direction === 'left') {\n return { right: y, top: x };\n } else if (direction === 'right') {\n return { left: y, top: x };\n }\n } else if (type === 'quarter-circle') {\n const direction = props.direction;\n const step = Math_PI / (2 * (length - 1));\n const x = `calc(${radius * Math.cos(step * index)}px + ${$dt('item.diff.x').variable})`;\n const y = `calc(${radius * Math.sin(step * index)}px + ${$dt('item.diff.y').variable})`;\n\n if (direction === 'up-left') {\n return { right: x, bottom: y };\n } else if (direction === 'up-right') {\n return { left: x, bottom: y };\n } else if (direction === 'down-left') {\n return { right: y, top: x };\n } else if (direction === 'down-right') {\n return { left: y, top: x };\n }\n }\n }\n\n return {};\n };\n\n const onTogglerKeydown = (event: React.KeyboardEvent) => {\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n onTogglerArrowDown(event);\n\n break;\n\n case 'ArrowUp':\n case 'ArrowRight':\n onTogglerArrowUp(event);\n\n break;\n\n case 'Escape':\n onEscapeKey();\n\n break;\n\n default:\n break;\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent) => {\n switch (event.code) {\n case 'ArrowDown':\n onArrowDown(event);\n break;\n\n case 'ArrowUp':\n onArrowUp(event);\n break;\n\n case 'ArrowLeft':\n onArrowLeft(event);\n break;\n\n case 'ArrowRight':\n onArrowRight(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n onEnterKey();\n break;\n\n case 'Escape':\n onEscapeKey();\n break;\n\n case 'Home':\n onHomeKey(event);\n break;\n\n case 'End':\n onEndKey(event);\n break;\n\n default:\n break;\n }\n };\n\n const onTogglerArrowUp = (event: React.KeyboardEvent) => {\n show();\n navigatePrevItem(event);\n\n event.preventDefault();\n };\n\n const onTogglerArrowDown = (event: React.KeyboardEvent) => {\n show();\n navigateNextItem(event);\n\n event.preventDefault();\n };\n\n const onEnterKey = () => {\n hide();\n setFocusedOptionIndex(-1);\n\n const buttonEl = findSingle(elementRef.current as HTMLDivElement, 'button') as HTMLButtonElement;\n\n if (buttonEl) {\n focus(buttonEl);\n }\n };\n\n const onEscapeKey = () => {\n hide();\n setFocusedOptionIndex(-1);\n\n const buttonEl = findSingle(elementRef.current as HTMLDivElement, 'button') as HTMLButtonElement;\n\n if (buttonEl) {\n focus(buttonEl);\n }\n };\n\n const onArrowUp = (event: React.KeyboardEvent) => {\n if (props.direction === 'down') {\n navigatePrevItem(event);\n } else {\n navigateNextItem(event);\n }\n };\n\n const onArrowDown = (event: React.KeyboardEvent) => {\n if (props.direction === 'down') {\n navigateNextItem(event);\n } else {\n navigatePrevItem(event);\n }\n };\n\n const onArrowLeft = (event: React.KeyboardEvent) => {\n const leftValidDirections = ['left', 'up-right', 'down-left'];\n const rightValidDirections = ['right', 'up-left', 'down-right'];\n\n if (leftValidDirections.includes(props.direction as string)) {\n navigateNextItem(event);\n } else if (rightValidDirections.includes(props.direction as string)) {\n navigatePrevItem(event);\n } else {\n navigatePrevItem(event);\n }\n };\n\n const onArrowRight = (event: React.KeyboardEvent) => {\n const leftValidDirections = ['left', 'up-right', 'down-left'];\n const rightValidDirections = ['right', 'up-left', 'down-right'];\n\n if (leftValidDirections.includes(props.direction as string)) {\n navigatePrevItem(event);\n } else if (rightValidDirections.includes(props.direction as string)) {\n navigateNextItem(event);\n } else {\n navigateNextItem(event);\n }\n };\n\n const onEndKey = (event: React.KeyboardEvent) => {\n event.preventDefault();\n\n setFocusedOptionIndex(-1);\n navigatePrevItem(event);\n };\n\n const onHomeKey = (event: React.KeyboardEvent) => {\n event.preventDefault();\n\n setFocusedOptionIndex(-1);\n navigateNextItem(event);\n };\n\n const navigateNextItem = (event: React.KeyboardEvent) => {\n const optionIndex = findNextOptionIndex(focusedOptionIndex);\n\n changeFocusedOptionIndex(optionIndex);\n\n event.preventDefault();\n };\n\n const navigatePrevItem = (event: React.KeyboardEvent) => {\n const optionIndex = findPrevOptionIndex(focusedOptionIndex);\n\n changeFocusedOptionIndex(optionIndex);\n\n event.preventDefault();\n };\n\n const changeFocusedOptionIndex = (index: number) => {\n const items = find(elementRef.current as HTMLDivElement, '[data-pc-name=\"speeddialitem\"]');\n const filteredItems = [...items].filter((item) => {\n const element = findSingle(item, 'a');\n\n return element ? !hasClass(element, 'p-disabled') : true;\n });\n\n if (filteredItems[index]) {\n const idAttr = filteredItems[index].getAttribute('id') ?? -1;\n\n setFocusedOptionIndex(idAttr);\n\n const buttonEl = findSingle(filteredItems[index], '[type=\"button\"]') as HTMLButtonElement;\n\n if (buttonEl) {\n focus(buttonEl);\n }\n }\n };\n\n const findPrevOptionIndex = (index: string | number) => {\n const items = find(elementRef.current as HTMLDivElement, '[data-pc-name=\"speeddialitem\"]');\n const filteredItems = [...items].filter((item) => {\n const element = findSingle(item, 'a');\n\n return element ? !hasClass(element, 'p-disabled') : true;\n });\n const newIndex = index === -1 ? filteredItems[filteredItems.length - 1].id : index;\n let matchedOptionIndex = filteredItems.findIndex((link) => link.getAttribute('id') === newIndex);\n\n matchedOptionIndex = index === -1 ? filteredItems.length - 1 : matchedOptionIndex - 1;\n\n return matchedOptionIndex;\n };\n\n const findNextOptionIndex = (index: string | number) => {\n const items = find(elementRef.current as HTMLDivElement, '[data-pc-name=\"speeddialitem\"]');\n const filteredItems = [...items].filter((item) => {\n const element = findSingle(item, 'a');\n\n return element ? !hasClass(element, 'p-disabled') : true;\n });\n\n const newIndex = index === -1 ? filteredItems[0].id : index;\n\n let matchedOptionIndex = filteredItems.findIndex((link) => link.getAttribute('id') === newIndex);\n\n matchedOptionIndex = index === -1 ? 0 : matchedOptionIndex + 1;\n\n return matchedOptionIndex;\n };\n\n const getItemStyle = (index: number) => {\n const transitionDelay = calculateTransitionDelay(index);\n const pointStyle = calculatePointStyle(index);\n\n return {\n transitionDelay: `${transitionDelay}ms`,\n ...pointStyle\n };\n };\n\n return {\n state,\n //refs\n listRef,\n // methods\n registerItem,\n getItemStyle,\n onBlur,\n onKeyDown,\n onClick,\n onTogglerKeydown,\n onItemClick,\n onItemKeyDown\n };\n }\n});\n","import type { useSpeedDialProps } from '@primereact/types/shared/speeddial';\n\nexport const defaultProps: useSpeedDialProps = {\n visible: false,\n defaultVisible: false,\n direction: 'up',\n transitionDelay: 30,\n type: 'linear',\n radius: 0,\n hideOnClickOutside: true,\n onVisibleChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","useMountEffect","useUnmountEffect","useUpdateEffect","$dt","find","findSingle","focus","hasClass","React","defaultProps","useSpeedDial","withHeadless","defaultProps","props","elementRef","_a","_b","listRef","visibleState","setVisibleState","focusedOptionIndex","setFocusedOptionIndex","isItemClicked","itemCounter","Math_PI","state","registerItem","index","useMountEffect","button","findSingle","firstItem","wDiff","hDiff","$dt","useUpdateEffect","bindDocumentClickListener","unbindDocumentClickListener","useUnmountEffect","useEventListener","event","isOutsideClicked","hide","onBlur","onItemClick","onItemKeyDown","onClick","show","calculateTransitionDelay","length","calculatePointStyle","type","radius","step","direction","x","y","onTogglerKeydown","onTogglerArrowDown","onTogglerArrowUp","onEscapeKey","onKeyDown","onArrowDown","onArrowUp","onArrowLeft","onArrowRight","onEnterKey","onHomeKey","onEndKey","navigatePrevItem","navigateNextItem","buttonEl","focus","leftValidDirections","rightValidDirections","optionIndex","findNextOptionIndex","changeFocusedOptionIndex","findPrevOptionIndex","filteredItems","find","item","element","hasClass","idAttr","newIndex","matchedOptionIndex","link","transitionDelay","pointStyle","__spreadValues"]}
|
|
1
|
+
{"version":3,"sources":["../../src/speeddial/useSpeedDial.ts","../../src/speeddial/useSpeedDial.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener, useUnmountEffect, useUpdateEffect } from '@primereact/hooks';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport { $dt } from '@primeuix/styled';\nimport { find, findSingle, focus } from '@primeuix/utils/dom';\nimport * as React from 'react';\nimport { defaultProps } from './useSpeedDial.props';\n\nexport const useSpeedDial = withHeadless({\n name: 'useSpeedDial',\n defaultProps,\n setup: ({ props, id, elementRef }) => {\n const [visibleState, setVisibleState] = useControlledState({\n value: props.visible,\n defaultValue: props.defaultVisible ?? false,\n onChange: props.onVisibleChange\n });\n\n const [focusedOptionIndex, setFocusedOptionIndex] = React.useState<string | number>(-1);\n const rootRef = React.useRef<HTMLElement | null>(null);\n const listRef = React.useRef<HTMLUListElement | null>(null);\n const isItemClicked = React.useRef(false);\n\n const setRootRef = React.useCallback((node: HTMLElement | null) => {\n rootRef.current = node;\n elementRef.current = node ?? undefined;\n }, []);\n\n const state = {\n visible: visibleState,\n focusedOptionIndex\n };\n\n const setListRef = React.useCallback((node: HTMLUListElement | null) => {\n listRef.current = node;\n }, []);\n\n const getItems = () => find(rootRef.current as HTMLDivElement, '[data-scope=\"speeddial\"][data-part=\"item\"]');\n const getItemCount = () => getItems().length;\n\n const focusButton = () => {\n const buttonEl = findSingle(rootRef.current as HTMLDivElement, '[data-scope=\"speeddial\"][data-part=\"trigger\"]') as HTMLButtonElement;\n\n if (buttonEl) {\n focus(buttonEl);\n }\n };\n\n const show = () => setVisibleState([true, { value: true }]);\n const hide = () => setVisibleState([false, { value: false }]);\n\n const calculateItemDiff = React.useCallback(() => {\n if (props.type !== 'linear') {\n const button = findSingle(rootRef.current as HTMLDivElement, '[data-scope=\"speeddial\"][data-part=\"trigger\"]') as HTMLButtonElement;\n const firstItem = findSingle(listRef.current as HTMLUListElement, '[data-scope=\"speeddial\"][data-part=\"item\"]') as HTMLLIElement;\n\n if (button && firstItem) {\n const wDiff = Math.abs(button.offsetWidth - firstItem.offsetWidth);\n const hDiff = Math.abs(button.offsetHeight - firstItem.offsetHeight);\n\n (listRef.current as HTMLUListElement).style.setProperty($dt('item.diff.x').name, `${wDiff / 2}px`);\n (listRef.current as HTMLUListElement).style.setProperty($dt('item.diff.y').name, `${hDiff / 2}px`);\n }\n }\n }, [props.type]);\n\n const [bindDocumentClickListener, unbindDocumentClickListener] = useEventListener({\n type: 'click',\n listener: (event) => {\n const target = event.target as Node;\n const isOutside = rootRef.current && !rootRef.current.contains(target);\n\n if (visibleState && isOutside) {\n hide();\n }\n\n isItemClicked.current = false;\n }\n });\n\n useUpdateEffect(() => {\n if (visibleState) {\n requestAnimationFrame(calculateItemDiff);\n\n if (props.hideOnClickOutside) {\n bindDocumentClickListener();\n }\n }\n\n return () => {\n if (props.hideOnClickOutside) {\n unbindDocumentClickListener();\n }\n };\n }, [visibleState]);\n\n useUnmountEffect(() => {\n unbindDocumentClickListener();\n });\n\n const calculateTransitionDelay = (index: number) => {\n const length = getItemCount();\n\n return (visibleState ? index : length - index - 1) * (props.transitionDelay ?? 30);\n };\n\n const calculatePointStyle = (index: number): React.CSSProperties => {\n const { type, direction, radius: propRadius } = props;\n\n if (type === 'linear') {\n return {};\n }\n\n const length = getItemCount();\n const radius = (propRadius || length * 20) as number;\n const diffX = $dt('item.diff.x').variable;\n const diffY = $dt('item.diff.y').variable;\n\n const createCoord = (value: number) => `calc(${value}px + ${diffX})`;\n const createCoordY = (value: number) => `calc(${value}px + ${diffY})`;\n\n if (type === 'circle') {\n const step = (2 * Math.PI) / length;\n\n return {\n left: createCoord(radius * Math.cos(step * index)),\n top: createCoordY(radius * Math.sin(step * index))\n };\n }\n\n const stepDivisor = type === 'semi-circle' ? length - 1 : 2 * (length - 1);\n const step = Math.PI / stepDivisor;\n const x = createCoord(radius * Math.cos(step * index));\n const y = createCoordY(radius * Math.sin(step * index));\n\n const pointStyleMap: Record<string, Record<string, (x: string, y: string) => React.CSSProperties>> = {\n 'semi-circle': {\n up: (x, y) => ({ left: x, bottom: y }),\n down: (x, y) => ({ left: x, top: y }),\n left: (x, y) => ({ right: y, top: x }),\n right: (x, y) => ({ left: y, top: x })\n },\n 'quarter-circle': {\n 'up-left': (x, y) => ({ right: x, bottom: y }),\n 'up-right': (x, y) => ({ left: x, bottom: y }),\n 'down-left': (x, y) => ({ right: y, top: x }),\n 'down-right': (x, y) => ({ left: y, top: x })\n }\n };\n\n const styleMapper = pointStyleMap[type as string]?.[direction as string];\n\n return styleMapper ? styleMapper(x, y) : {};\n };\n\n const getItemStyle = (index: number): React.CSSProperties => ({\n transitionDelay: `${calculateTransitionDelay(index)}ms`,\n ...calculatePointStyle(index)\n });\n\n const findOptionIndex = (direction: 'next' | 'prev') => {\n const items = getItems();\n const isNext = direction === 'next';\n const fallbackIndex = isNext ? 0 : items.length - 1;\n // const newIndex = index === -1 ? items[fallbackIndex]?.id : index;\n // const matchedIndex = items.findIndex((item) => item.getAttribute('id') === newIndex);\n\n return focusedOptionIndex === -1 ? fallbackIndex : (focusedOptionIndex as number) + (isNext ? 1 : -1);\n };\n\n const changeFocusedOptionIndex = (index: number) => {\n const items = getItems();\n\n if (items[index]) {\n setFocusedOptionIndex(index ?? -1);\n\n const buttonEl = findSingle(items[index], '[data-part=\"action\"]') as HTMLButtonElement;\n\n if (buttonEl) {\n focus(buttonEl);\n }\n }\n };\n\n const navigate = (event: React.KeyboardEvent, direction: 'next' | 'prev') => {\n const optionIndex = findOptionIndex(direction);\n\n changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n };\n\n const hideAndFocusButton = () => {\n hide();\n setFocusedOptionIndex(-1);\n focusButton();\n };\n\n const onTriggerClick = () => {\n if (visibleState) {\n hide();\n } else {\n show();\n }\n\n isItemClicked.current = true;\n };\n\n const onTriggerKeyDown = (event: React.KeyboardEvent) => {\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n show();\n navigate(event, 'next');\n break;\n\n case 'ArrowUp':\n case 'ArrowRight':\n show();\n navigate(event, 'prev');\n break;\n\n case 'Escape':\n hideAndFocusButton();\n break;\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent) => {\n const direction = props.direction as string;\n const leftDirections = ['left', 'up-right', 'down-left'];\n const rightDirections = ['right', 'up-left', 'down-right'];\n\n switch (event.code) {\n case 'ArrowDown':\n if (direction === 'down') {\n navigate(event, 'next');\n } else {\n navigate(event, 'prev');\n }\n\n break;\n\n case 'ArrowUp':\n if (direction === 'down') {\n navigate(event, 'prev');\n } else {\n navigate(event, 'next');\n }\n\n break;\n\n case 'ArrowLeft':\n if (leftDirections.includes(direction) || direction === 'down') {\n navigate(event, 'next');\n } else {\n navigate(event, 'prev');\n }\n\n break;\n\n case 'ArrowRight':\n if (rightDirections.includes(direction) || direction === 'up') {\n navigate(event, 'next');\n } else {\n navigate(event, 'prev');\n }\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n case 'Escape':\n hideAndFocusButton();\n break;\n\n case 'Home':\n setFocusedOptionIndex(-1);\n navigate(event, 'next');\n break;\n\n case 'End':\n setFocusedOptionIndex(-1);\n navigate(event, 'prev');\n break;\n }\n };\n\n const onBlur = (event: React.FocusEvent) => {\n if (!rootRef.current?.contains(event.relatedTarget as Node)) {\n setFocusedOptionIndex(-1);\n }\n };\n\n const onItemClick = (event: React.MouseEvent | React.KeyboardEvent) => {\n hide();\n isItemClicked.current = true;\n event.preventDefault?.();\n };\n\n const onItemKeyDown = (event: React.KeyboardEvent) => {\n if (event.code === 'Enter') {\n onItemClick(event);\n }\n };\n\n // prop getters\n const rootProps = {\n ref: setRootRef,\n id,\n 'data-scope': 'speeddial' as const,\n 'data-part': 'root' as const,\n ...(visibleState ? { 'data-open': '' as const } : { 'data-closed': '' as const }),\n style: {\n alignItems: (props.direction === 'up' || props.direction === 'down' ? 'center' : undefined) as React.CSSProperties['alignItems'],\n justifyContent: (props.direction === 'left' || props.direction === 'right' ? 'center' : undefined) as React.CSSProperties['justifyContent'],\n flexDirection: (props.direction === 'up'\n ? 'column-reverse'\n : props.direction === 'down'\n ? 'column'\n : props.direction === 'left'\n ? 'row-reverse'\n : props.direction === 'right'\n ? 'row'\n : undefined) as React.CSSProperties['flexDirection']\n }\n };\n\n const triggerProps = {\n 'data-scope': 'speeddial' as const,\n 'data-part': 'trigger' as const,\n type: 'button' as const,\n 'aria-expanded': visibleState,\n 'aria-haspopup': 'true' as const,\n 'aria-controls': `${id}_list`,\n ...(visibleState ? { 'data-open': '' as const } : { 'data-closed': '' as const }),\n onClick: onTriggerClick,\n onKeyDown: onTriggerKeyDown\n };\n\n const listProps = {\n ref: setListRef,\n 'data-scope': 'speeddial' as const,\n 'data-part': 'list' as const,\n ...(visibleState ? { 'data-open': '' as const } : { 'data-closed': '' as const }),\n id: `${id}_list`,\n role: 'menu' as const,\n tabIndex: -1,\n onBlur,\n onKeyDown,\n style: {\n flexDirection: (props.direction === 'up'\n ? 'column-reverse'\n : props.direction === 'down'\n ? 'column'\n : props.direction === 'left'\n ? 'row-reverse'\n : props.direction === 'right'\n ? 'row'\n : undefined) as React.CSSProperties['flexDirection']\n }\n };\n\n const getItemProps = (index: number) => ({\n id: `${id}_${index}`,\n 'data-scope': 'speeddial' as const,\n 'data-part': 'item' as const,\n role: 'none' as const,\n style: getItemStyle(index),\n ...(focusedOptionIndex === index ? { 'data-active': '' as const } : {})\n });\n\n const actionProps = {\n 'data-scope': 'speeddial',\n 'data-part': 'action',\n type: 'button' as const,\n tabIndex: -1,\n role: 'menuitem' as const,\n onClick: onItemClick,\n onKeyDown: onItemKeyDown\n };\n\n return {\n state,\n //refs\n listRef,\n // prop getters\n rootProps,\n triggerProps,\n listProps,\n getItemProps,\n actionProps,\n // methods\n getItemStyle,\n onBlur,\n onKeyDown,\n onTriggerClick,\n onTriggerKeyDown,\n onItemClick,\n onItemKeyDown\n };\n }\n});\n","import type { UseSpeedDialProps } from '@primereact/types/headless/speeddial';\n\nexport const defaultProps: UseSpeedDialProps = {\n visible: undefined,\n defaultVisible: undefined,\n direction: 'up',\n transitionDelay: 30,\n type: 'linear',\n radius: 0,\n hideOnClickOutside: true,\n onVisibleChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","useUnmountEffect","useUpdateEffect","useControlledState","$dt","find","findSingle","focus","React","defaultProps","useSpeedDial","withHeadless","defaultProps","props","id","elementRef","_a","visibleState","setVisibleState","useControlledState","focusedOptionIndex","setFocusedOptionIndex","rootRef","listRef","isItemClicked","setRootRef","node","state","setListRef","getItems","find","getItemCount","focusButton","buttonEl","findSingle","focus","show","hide","calculateItemDiff","button","firstItem","wDiff","hDiff","$dt","bindDocumentClickListener","unbindDocumentClickListener","useEventListener","event","target","isOutside","useUpdateEffect","useUnmountEffect","calculateTransitionDelay","index","length","calculatePointStyle","type","direction","propRadius","radius","diffX","diffY","createCoord","value","createCoordY","step","stepDivisor","x","y","styleMapper","getItemStyle","__spreadValues","findOptionIndex","items","isNext","fallbackIndex","changeFocusedOptionIndex","navigate","optionIndex","hideAndFocusButton","onTriggerClick","onTriggerKeyDown","onKeyDown","leftDirections","rightDirections","onBlur","onItemClick","onItemKeyDown","rootProps","__spreadProps","triggerProps","listProps"]}
|
|
@@ -1,46 +1,103 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export declare const useSpeedDial: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/
|
|
2
|
+
export declare const useSpeedDial: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/speeddial").UseSpeedDialProps, unknown, {
|
|
3
3
|
state: {
|
|
4
|
-
visible: boolean;
|
|
4
|
+
visible: boolean | undefined;
|
|
5
5
|
focusedOptionIndex: string | number;
|
|
6
6
|
};
|
|
7
7
|
listRef: React.RefObject<HTMLUListElement | null>;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
rootProps: {
|
|
9
|
+
style: {
|
|
10
|
+
alignItems: React.CSSProperties["alignItems"];
|
|
11
|
+
justifyContent: React.CSSProperties["justifyContent"];
|
|
12
|
+
flexDirection: React.CSSProperties["flexDirection"];
|
|
13
|
+
};
|
|
14
|
+
'data-open': "";
|
|
15
|
+
ref: (node: HTMLElement | null) => void;
|
|
16
|
+
id: string | undefined;
|
|
17
|
+
'data-scope': "speeddial";
|
|
18
|
+
'data-part': "root";
|
|
15
19
|
} | {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
style: {
|
|
21
|
+
alignItems: React.CSSProperties["alignItems"];
|
|
22
|
+
justifyContent: React.CSSProperties["justifyContent"];
|
|
23
|
+
flexDirection: React.CSSProperties["flexDirection"];
|
|
24
|
+
};
|
|
25
|
+
'data-closed': "";
|
|
26
|
+
ref: (node: HTMLElement | null) => void;
|
|
27
|
+
id: string | undefined;
|
|
28
|
+
'data-scope': "speeddial";
|
|
29
|
+
'data-part': "root";
|
|
30
|
+
};
|
|
31
|
+
triggerProps: {
|
|
32
|
+
onClick: () => void;
|
|
33
|
+
onKeyDown: (event: React.KeyboardEvent) => void;
|
|
34
|
+
'data-open': "";
|
|
35
|
+
'data-scope': "speeddial";
|
|
36
|
+
'data-part': "trigger";
|
|
37
|
+
type: "button";
|
|
38
|
+
'aria-expanded': boolean | undefined;
|
|
39
|
+
'aria-haspopup': "true";
|
|
40
|
+
'aria-controls': string;
|
|
27
41
|
} | {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
42
|
+
onClick: () => void;
|
|
43
|
+
onKeyDown: (event: React.KeyboardEvent) => void;
|
|
44
|
+
'data-closed': "";
|
|
45
|
+
'data-scope': "speeddial";
|
|
46
|
+
'data-part': "trigger";
|
|
47
|
+
type: "button";
|
|
48
|
+
'aria-expanded': boolean | undefined;
|
|
49
|
+
'aria-haspopup': "true";
|
|
50
|
+
'aria-controls': string;
|
|
51
|
+
};
|
|
52
|
+
listProps: {
|
|
53
|
+
id: string;
|
|
54
|
+
role: "menu";
|
|
55
|
+
tabIndex: number;
|
|
56
|
+
onBlur: (event: React.FocusEvent) => void;
|
|
57
|
+
onKeyDown: (event: React.KeyboardEvent) => void;
|
|
58
|
+
style: {
|
|
59
|
+
flexDirection: React.CSSProperties["flexDirection"];
|
|
60
|
+
};
|
|
61
|
+
'data-open': "";
|
|
62
|
+
ref: (node: HTMLUListElement | null) => void;
|
|
63
|
+
'data-scope': "speeddial";
|
|
64
|
+
'data-part': "list";
|
|
33
65
|
} | {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
66
|
+
id: string;
|
|
67
|
+
role: "menu";
|
|
68
|
+
tabIndex: number;
|
|
69
|
+
onBlur: (event: React.FocusEvent) => void;
|
|
70
|
+
onKeyDown: (event: React.KeyboardEvent) => void;
|
|
71
|
+
style: {
|
|
72
|
+
flexDirection: React.CSSProperties["flexDirection"];
|
|
73
|
+
};
|
|
74
|
+
'data-closed': "";
|
|
75
|
+
ref: (node: HTMLUListElement | null) => void;
|
|
76
|
+
'data-scope': "speeddial";
|
|
77
|
+
'data-part': "list";
|
|
78
|
+
};
|
|
79
|
+
getItemProps: (index: number) => {
|
|
80
|
+
'data-active'?: "" | undefined;
|
|
81
|
+
id: string;
|
|
82
|
+
'data-scope': "speeddial";
|
|
83
|
+
'data-part': "item";
|
|
84
|
+
role: "none";
|
|
85
|
+
style: React.CSSProperties;
|
|
86
|
+
};
|
|
87
|
+
actionProps: {
|
|
88
|
+
'data-scope': string;
|
|
89
|
+
'data-part': string;
|
|
90
|
+
type: "button";
|
|
91
|
+
tabIndex: number;
|
|
92
|
+
role: "menuitem";
|
|
93
|
+
onClick: (event: React.MouseEvent | React.KeyboardEvent) => void;
|
|
94
|
+
onKeyDown: (event: React.KeyboardEvent) => void;
|
|
39
95
|
};
|
|
96
|
+
getItemStyle: (index: number) => React.CSSProperties;
|
|
40
97
|
onBlur: (event: React.FocusEvent) => void;
|
|
41
98
|
onKeyDown: (event: React.KeyboardEvent) => void;
|
|
42
|
-
|
|
43
|
-
|
|
99
|
+
onTriggerClick: () => void;
|
|
100
|
+
onTriggerKeyDown: (event: React.KeyboardEvent) => void;
|
|
44
101
|
onItemClick: (event: React.MouseEvent | React.KeyboardEvent) => void;
|
|
45
102
|
onItemKeyDown: (event: React.KeyboardEvent) => void;
|
|
46
103
|
}>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const defaultProps:
|
|
1
|
+
import type { UseSpeedDialProps } from '@primereact/types/headless/speeddial';
|
|
2
|
+
export declare const defaultProps: UseSpeedDialProps;
|
package/splitter/index.d.ts
CHANGED
package/splitter/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{withHeadless as
|
|
1
|
+
var ye=Object.defineProperty,we=Object.defineProperties;var ke=Object.getOwnPropertyDescriptors;var le=Object.getOwnPropertySymbols;var De=Object.prototype.hasOwnProperty,Ce=Object.prototype.propertyIsEnumerable;var se=(a,f,R)=>f in a?ye(a,f,{enumerable:!0,configurable:!0,writable:!0,value:R}):a[f]=R,p=(a,f)=>{for(var R in f||(f={}))De.call(f,R)&&se(a,R,f[R]);if(le)for(var R of le(f))Ce.call(f,R)&&se(a,R,f[R]);return a},A=(a,f)=>we(a,ke(f));import{withHeadless as Le}from"@primereact/core/headless";import{useEventListener as ce}from"@primereact/hooks/use-event-listener";import{isRTL as Ue}from"@primeuix/utils/dom";import*as m from"react";var ie={panels:void 0,sizes:void 0,defaultSizes:void 0,orientation:"horizontal",disabled:!1,step:5,onResizeStart:void 0,onResize:void 0,onResizeEnd:void 0,onCollapse:void 0};var oe=(a,f,R,E)=>{var k;if(!(f!=null&&f.collapsible))return{size:Math.max(a,R),collapsed:!1};let g=(k=f.collapsedSize)!=null?k:0;if(a>=R)return{size:a,collapsed:!1};if(E)return{size:g,collapsed:!0};let P=(g+R)/2;return a<=P?{size:g,collapsed:!0}:{size:R,collapsed:!1}},Ve=Le({name:"useSplitter",defaultProps:ie,setup({props:a,elementRef:f}){var re;let R=m.useRef(0),E=m.useRef(null),g=m.useRef(null),P=m.useRef([]),k=m.useRef([]),H=m.useRef([]),Y=m.useRef(100),V=m.useRef(null),x=m.useRef(null),[v,q]=m.useState([]),[ue,Q]=m.useState(!1),U=m.useRef(0),u=m.useRef([]),X=m.useRef([]),N=m.useRef(!1),y=a.orientation==="horizontal";if(X.current=v,a.panels&&(u.current=a.panels.map((e,t)=>{var l,s,o,b,n,d;return{id:void 0,index:t,minSize:(l=e.minSize)!=null?l:0,maxSize:(s=e.maxSize)!=null?s:100,collapsible:(o=e.collapsible)!=null?o:!1,collapsedSize:(b=e.collapsedSize)!=null?b:0,collapsed:(d=(n=u.current[t])==null?void 0:n.collapsed)!=null?d:!1}}),U.current=a.panels.length),a.sizes&&v.length>0&&!N.current&&(v.length!==a.sizes.length||!v.every((e,t)=>e===a.sizes[t]))){for(let e=0;e<u.current.length;e++){let t=u.current[e];t!=null&&t.collapsible&&(t.collapsed=a.sizes[e]<=((re=t.collapsedSize)!=null?re:0))}q([...a.sizes])}let G={resizing:ue},de=m.useCallback((e,t)=>{var s,o,b,n,d,D,C,L,w;if(e!==null&&u.current[e]){let r=u.current[e];return u.current[e]=A(p({},r),{id:(s=t.id)!=null?s:r.id,minSize:(o=t.minSize)!=null?o:0,maxSize:(b=t.maxSize)!=null?b:100,collapsible:(n=t.collapsible)!=null?n:!1,collapsedSize:(d=t.collapsedSize)!=null?d:0}),e}let l=U.current;return U.current+=1,u.current[l]={id:t.id,index:l,minSize:(D=t.minSize)!=null?D:0,maxSize:(C=t.maxSize)!=null?C:100,collapsible:(L=t.collapsible)!=null?L:!1,collapsedSize:(w=t.collapsedSize)!=null?w:0,collapsed:!1},l},[]),fe=m.useCallback(()=>R.current++,[]);m.useEffect(()=>()=>{x.current&&(clearInterval(x.current),x.current=null),U.current=0,R.current=0,u.current=[]},[]);let K=e=>{var t,l;return(l=(t=u.current[e])==null?void 0:t.minSize)!=null?l:0},Z=e=>{var t,l;return(l=(t=u.current[e])==null?void 0:t.maxSize)!=null?l:100},O=(e,t,l=!1)=>{var b;if(!f.current)return;let s=f.current.querySelectorAll(":scope > [data-index]"),o=0;for(let n of s){let d=n.getBoundingClientRect();o+=y?d.width:d.height}if(E.current=o,!l){f.current.setAttribute("data-resizing","");let n=e;g.current=y?n.clientX:n.clientY}N.current=!0,V.current=t,P.current=[...X.current],k.current=u.current.map(n=>n.collapsed),H.current=u.current.map(n=>n.collapsed),Y.current=P.current.reduce((n,d)=>n+d,0)||100,l||(b=a.onResizeStart)==null||b.call(a,{sizes:[...P.current]})},W=(e,t=5,l=!1)=>{var D,C,L,w;if(E.current===null||V.current===null||P.current.length===0)return;let s=V.current,o,b=Y.current;if(l)o=b*t/E.current;else{if(g.current===null)return;let r=e;y?Ue(f.current)?o=(g.current-r.clientX)*b/E.current:o=(r.clientX-g.current)*b/E.current:o=(r.clientY-g.current)*b/E.current}let n=[...P.current];for(let r=0;r<u.current.length;r++)k.current[r]!==void 0&&(u.current[r].collapsed=k.current[r]);if(o>0){let r=u.current[s],i=o,z=Z(s);if(i=Math.min(i,Math.max(0,z-n[s])),r!=null&&r.collapsible&&r.collapsed){let h=K(s)-r.collapsedSize,c=h/2;l?(i=Math.max(i,h),i=Math.min(i,Math.max(0,z-n[s]))):i<c?i=0:(i=Math.max(i,h),i=Math.min(i,Math.max(0,z-n[s])))}let M=0;for(let h=s+1;h<n.length&&M<i;h++){let c=u.current[h],S=K(h);if(c!=null&&c.collapsed)continue;let B=c!=null&&c.collapsible?(D=c.collapsedSize)!=null?D:0:S,$=Math.max(0,n[h]-B),F=Math.min(i-M,$),J=n[h]-F,I=oe(J,c,S,l),T=n[h]-I.size;n[h]=I.size,M+=T,c&&(c.collapsed=I.collapsed)}n[s]+=M,r!=null&&r.collapsible&&r.collapsed&&n[s]>=K(s)&&(r.collapsed=!1)}else if(o<0){let r=s+1,i=u.current[r],z=-o,M=Z(r);if(z=Math.min(z,Math.max(0,M-n[r])),i!=null&&i.collapsible&&i.collapsed){let c=K(r)-i.collapsedSize,S=c/2;l?(z=Math.max(z,c),z=Math.min(z,Math.max(0,M-n[r]))):z<S?z=0:(z=Math.max(z,c),z=Math.min(z,Math.max(0,M-n[r])))}let h=0;for(let c=s;c>=0&&h<z;c--){let S=u.current[c],B=K(c);if(S!=null&&S.collapsed)continue;let $=S!=null&&S.collapsible?(C=S.collapsedSize)!=null?C:0:B,F=Math.max(0,n[c]-$),J=Math.min(z-h,F),I=n[c]-J,T=oe(I,S,B,l),Pe=n[c]-T.size;n[c]=T.size,h+=Pe,S&&(S.collapsed=T.collapsed)}n[r]+=h,i!=null&&i.collapsible&&i.collapsed&&n[r]>=K(r)&&(i.collapsed=!1)}for(let r=0;r<u.current.length;r++){let i=u.current[r];i.collapsed!==H.current[r]&&(H.current[r]=i.collapsed,(L=a.onCollapse)==null||L.call(a,{index:r,collapsed:i.collapsed,sizes:[...n]}))}let d=[...n];Q(!0),q(d),(w=a.onResize)==null||w.call(a,{sizes:d})},_=()=>{var e,t;N.current=!1,(e=f.current)==null||e.removeAttribute("data-resizing"),(t=a.onResizeEnd)==null||t.call(a,{sizes:[...X.current]}),Q(!1),ve()},ee=(e,t,l)=>{O(e,t,!0),W(e,l,!0)},j=(e,t,l)=>{var s;x.current||((s=a.onResizeStart)==null||s.call(a,{sizes:[...X.current]}),ee(e,t,l),x.current=setInterval(()=>{ee(e,t,l)},40))},me=()=>{x.current&&(clearInterval(x.current),x.current=null)},te=()=>{x.current&&(me(),_())},ne=(e,t,l)=>{if(!(a.disabled||l))switch(e.code){case"ArrowLeft":{y&&j(e,t,a.step*-1),e.preventDefault();break}case"ArrowRight":{y&&j(e,t,a.step),e.preventDefault();break}case"ArrowDown":{y||j(e,t,a.step),e.preventDefault();break}case"ArrowUp":{y||j(e,t,a.step*-1),e.preventDefault();break}default:break}},[be,ze]=ce({type:"pointermove",listener:e=>W(e)}),[he,Re]=ce({type:"pointerup",listener:()=>{_(),pe()}}),Se=()=>{be(),he()},pe=()=>{ze(),Re()},ae=(e,t,l)=>{a.disabled||l||(O(e,t),Se())},ve=()=>{E.current=null,g.current=null,P.current=[],k.current=[],H.current=[],Y.current=100,V.current=null};m.useLayoutEffect(()=>{var s,o,b;let e=u.current.length;if(e===0)return;let t=(s=a.sizes)!=null?s:a.defaultSizes,l=[];for(let n=0;n<e;n++)l[n]=(o=t==null?void 0:t[n])!=null?o:100/e;for(let n=0;n<e;n++){let d=u.current[n];d!=null&&d.collapsible&&l[n]<=((b=d.collapsedSize)!=null?b:0)&&(d.collapsed=!0)}q(l)},[]);let Me=p(p({ref:f,"data-scope":"splitter","data-part":"root","data-orientation":a.orientation},G.resizing&&{"data-resizing":""}),a.disabled&&{"data-disabled":""}),ge=e=>{var o;let t=U.current||1,l=(o=v==null?void 0:v[e])!=null?o:100/t,s=u.current[e];return p(A(p({"data-scope":"splitter","data-part":"panel","data-orientation":a.orientation,"data-index":e},(s==null?void 0:s.collapsed)&&{"data-collapsed":""}),{style:p({flex:`${l} 1 0px`,overflow:"hidden"},y?{minWidth:0}:{minHeight:0})}),G.resizing&&{"data-resizing":""})},Ee=(e,t)=>{var z,M,h;let{id:l,disabled:s}=t!=null?t:{},o=a.disabled||s,b=u.current,n=b==null?void 0:b[e],d=b==null?void 0:b[e+1],D=(z=v==null?void 0:v[e])!=null?z:0,C=(M=n==null?void 0:n.minSize)!=null?M:0,L=100-((h=d==null?void 0:d.minSize)!=null?h:0),w=[n==null?void 0:n.id,d==null?void 0:d.id].filter(Boolean).join(" ")||void 0,r=c=>ae(c,e,s),i=c=>ne(c,e,s);return A(p(p(A(p(A(p({"data-scope":"splitter","data-part":"gutter"},l!==void 0&&{id:l}),{role:"separator",tabIndex:o?-1:0,"aria-valuenow":Math.round(D),"aria-valuemin":Math.round(C),"aria-valuemax":Math.round(L)}),w&&{"aria-controls":w}),{"aria-disabled":o||void 0,style:{touchAction:"none",userSelect:"none"},"data-orientation":a.orientation}),G.resizing&&{"data-resizing":""}),o&&{"data-disabled":""}),{onPointerDown:r,onKeyDown:i,onKeyUp:te})},xe=p({"data-scope":"splitter","data-part":"handle","data-orientation":a.orientation},G.resizing&&{"data-resizing":""});return{state:G,registerPanel:de,registerGutter:fe,panelCounter:U,panelRegistry:u,panelSizes:v,onResizeStart:O,onResize:W,onResizeEnd:_,onGutterPointerDown:ae,onGutterKeyUp:te,onGutterKeyDown:ne,getGutterProps:Ee,rootProps:Me,getPanelProps:ge,handleProps:xe}}});export{ie as defaultProps,Ve as useSplitter};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/splitter/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/splitter/useSplitter.ts","../../src/splitter/useSplitter.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener } from '@primereact/hooks/use-event-listener';\nimport { SplitterPanelProps } from '@primereact/types/shared/splitter';\nimport { getHeight, getOuterHeight, getOuterWidth, getWidth, isRTL } from '@primeuix/utils/dom';\nimport { isArray, isNotEmpty } from '@primeuix/utils/object';\nimport * as React from 'react';\nimport { defaultProps } from './useSplitter.props';\n\nconst isValidPanelElement = (panel: React.ReactNode): panel is React.ReactElement<SplitterPanelProps> => {\n return React.isValidElement(panel);\n};\n\nexport const useSplitter = withHeadless({\n name: 'useSplitter',\n defaultProps,\n setup({ props, elementRef, inProps }) {\n const gutterRef = React.useRef<HTMLDivElement | null>(null);\n const gutterRefs = React.useRef<HTMLDivElement[]>([]);\n const size = React.useRef<number | null>(null);\n const dragging = React.useRef(false);\n const startPos = React.useRef<number | null>(null);\n const prevPanelElement = React.useRef<HTMLDivElement | null>(null);\n const nextPanelElement = React.useRef<HTMLDivElement | null>(null);\n const prevPanelSize = React.useRef<number | null>(null);\n const [prevSize, setPrevSize] = React.useState<number | null>(null);\n const nextPanelSize = React.useRef<number | null>(null);\n const prevPanelIndex = React.useRef<number | null>(null);\n const timer = React.useRef<ReturnType<typeof setInterval> | null>(null);\n const [panelSizes, setPanelSizes] = React.useState<number[]>([]);\n const [panels, setPanels] = React.useState<React.ReactNode[]>([]);\n const horizontal = props.orientation === 'horizontal';\n const panelCounter = React.useRef(0);\n const gutterCounter = React.useRef(0);\n const thumbCounter = React.useRef(0);\n\n const state = {\n panels\n };\n\n const registerPanel = React.useCallback(() => {\n const index = panelCounter.current;\n\n panelCounter.current += 1;\n\n return index;\n }, []);\n\n const registerGutter = React.useCallback(() => {\n const index = gutterCounter.current;\n\n gutterCounter.current += 1;\n\n return index;\n }, []);\n\n const registerThumb = React.useCallback(() => {\n const index = thumbCounter.current;\n\n thumbCounter.current += 1;\n\n return index;\n }, []);\n\n React.useEffect(() => {\n panelCounter.current = 0;\n gutterCounter.current = 0;\n thumbCounter.current = 0;\n\n return () => {\n panelCounter.current = 0;\n gutterCounter.current = 0;\n thumbCounter.current = 0;\n };\n }, []);\n\n const onResizeStart = (event: React.MouseEvent | React.TouchEvent | KeyboardEvent, index: number, isKeyDown = false) => {\n if (!elementRef.current) return;\n\n gutterRef.current = gutterRefs.current[index];\n size.current = horizontal ? getWidth(elementRef.current) : getHeight(elementRef.current);\n\n if (!isKeyDown) {\n dragging.current = true;\n startPos.current = horizontal ? (event as React.MouseEvent).pageX || (event as React.TouchEvent).changedTouches?.[0]?.pageX : (event as React.MouseEvent).pageY || (event as React.TouchEvent).changedTouches?.[0]?.pageY;\n }\n\n if (gutterRef.current) {\n prevPanelElement.current = gutterRef.current.previousElementSibling as HTMLDivElement;\n nextPanelElement.current = gutterRef.current.nextElementSibling as HTMLDivElement;\n\n if (prevPanelElement.current && nextPanelElement.current) {\n if (isKeyDown) {\n prevPanelSize.current = horizontal ? getOuterWidth(prevPanelElement.current, true) : getOuterHeight(prevPanelElement.current, true);\n nextPanelSize.current = horizontal ? getOuterWidth(nextPanelElement.current, true) : getOuterHeight(nextPanelElement.current, true);\n } else {\n prevPanelSize.current = (100 * (horizontal ? getOuterWidth(prevPanelElement.current, true) : getOuterHeight(prevPanelElement.current, true))) / (size.current || 1);\n nextPanelSize.current = (100 * (horizontal ? getOuterWidth(nextPanelElement.current, true) : getOuterHeight(nextPanelElement.current, true))) / (size.current || 1);\n }\n\n prevPanelIndex.current = index;\n gutterRefs.current[index].setAttribute('data-p-gutter-resizing', 'true');\n elementRef.current.setAttribute('data-p-resizing', 'true');\n }\n }\n };\n\n const onResize = (event: React.MouseEvent | React.TouchEvent | KeyboardEvent, step = 5, isKeyDown = false) => {\n if (!prevPanelElement.current || !nextPanelElement.current || size.current === null || prevPanelSize.current === null || nextPanelSize.current === null) {\n return;\n }\n\n let newPos: number, newPrevPanelSize: number, newNextPanelSize: number;\n\n if (isKeyDown) {\n if (horizontal) {\n newPrevPanelSize = (100 * (prevPanelSize.current + step)) / size.current;\n newNextPanelSize = (100 * (nextPanelSize.current - step)) / size.current;\n } else {\n newPrevPanelSize = (100 * (prevPanelSize.current - step)) / size.current;\n newNextPanelSize = (100 * (nextPanelSize.current + step)) / size.current;\n }\n } else {\n if (startPos.current === null) {\n return;\n }\n\n if (horizontal) {\n if (isRTL(elementRef.current as HTMLElement)) {\n newPos = ((startPos.current - (event as React.MouseEvent).pageX) * 100) / size.current;\n } else {\n newPos = (((event as React.MouseEvent).pageX - startPos.current) * 100) / size.current;\n }\n } else {\n newPos = (((event as React.MouseEvent).pageY - startPos.current) * 100) / size.current;\n }\n\n newPrevPanelSize = prevPanelSize.current + newPos;\n newNextPanelSize = nextPanelSize.current - newPos;\n }\n\n if (!validateResize(newPrevPanelSize, newNextPanelSize)) {\n newPrevPanelSize = Math.min(Math.max(prevPanelMinSize(), newPrevPanelSize), 100 - nextPanelMinSize());\n newNextPanelSize = Math.min(Math.max(nextPanelMinSize(), newNextPanelSize), 100 - prevPanelMinSize());\n }\n\n prevPanelElement.current.style.flexBasis = 'calc(' + newPrevPanelSize + '% - ' + (panels.length - 1) * (props.gutterSize ?? 4) + 'px)';\n nextPanelElement.current.style.flexBasis = 'calc(' + newNextPanelSize + '% - ' + (panels.length - 1) * (props.gutterSize ?? 4) + 'px)';\n\n if (prevPanelIndex.current !== null) {\n panelSizes[prevPanelIndex.current] = newPrevPanelSize;\n panelSizes[prevPanelIndex.current + 1] = newNextPanelSize;\n }\n\n setPrevSize(Number(newPrevPanelSize.toFixed(4)));\n };\n\n const onResizeEnd = () => {\n if (isStateful()) {\n saveState();\n }\n\n if (gutterRefs.current) {\n gutterRefs.current.forEach((gutter) => {\n gutter.setAttribute('data-p-gutter-resizing', 'false');\n });\n }\n\n if (elementRef.current) {\n elementRef.current.setAttribute('data-p-resizing', 'false');\n }\n\n clear();\n };\n\n const repeat = (event: React.MouseEvent | React.TouchEvent | KeyboardEvent, index: number, step: number) => {\n onResizeStart(event, index, true);\n onResize(event, step, true);\n };\n\n const setTimer = (event: React.MouseEvent | React.TouchEvent | KeyboardEvent, index: number, step: number) => {\n if (!timer.current) {\n timer.current = setInterval(() => {\n repeat(event, index, step);\n }, 40);\n }\n };\n\n const clearTimer = () => {\n if (timer.current) {\n clearInterval(timer.current);\n timer.current = null;\n }\n };\n\n const onGutterKeyUp = () => {\n clearTimer();\n onResizeEnd();\n };\n\n const onGutterKeyDown = (event: React.KeyboardEvent, index: number) => {\n switch (event.code) {\n case 'ArrowLeft': {\n if (horizontal) {\n setTimer(event as unknown as KeyboardEvent, index, (props.step as number) * -1);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowRight': {\n if (horizontal) {\n setTimer(event as unknown as KeyboardEvent, index, props.step as number);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowDown': {\n if (!horizontal) {\n setTimer(event as unknown as KeyboardEvent, index, (props.step as number) * -1);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp': {\n if (!horizontal) {\n setTimer(event as unknown as KeyboardEvent, index, props.step as number);\n }\n\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n };\n\n const onGutterMouseDown = (event: React.MouseEvent, index: number) => {\n onResizeStart(event, index);\n bindMouseListeners();\n };\n\n const onGutterTouchStart = (event: React.TouchEvent, index: number) => {\n onResizeStart(event, index);\n bindTouchListeners();\n event.preventDefault();\n };\n\n const onGutterTouchMove = (event: React.TouchEvent) => {\n onResize(event);\n event.preventDefault();\n };\n\n const onGutterTouchEnd = (event: React.TouchEvent) => {\n onResizeEnd();\n unbindTouchListeners();\n event.preventDefault();\n };\n\n const validateResize = (newPrevPanelSize: number, newNextPanelSize: number) => {\n if (newPrevPanelSize > 100 || newPrevPanelSize < 0) return false;\n\n if (newNextPanelSize > 100 || newNextPanelSize < 0) return false;\n\n if (prevPanelMinSize() > newPrevPanelSize) {\n return false;\n }\n\n if (nextPanelMinSize() > newNextPanelSize) {\n return false;\n }\n\n return true;\n };\n\n const [bindDocumentMouseMoveListener, unbindDocumentMouseMoveListener] = useEventListener({\n type: 'mousemove',\n listener: (event: Event) => onResize(event as unknown as React.MouseEvent)\n });\n const [bindDocumentMouseUpListener, unbindDocumentMouseUpListener] = useEventListener({\n type: 'mouseup',\n listener: () => {\n onResizeEnd();\n unbindMouseListeners();\n }\n });\n\n const bindMouseListeners = () => {\n bindDocumentMouseMoveListener();\n bindDocumentMouseUpListener();\n };\n\n const unbindMouseListeners = () => {\n unbindDocumentMouseMoveListener();\n unbindDocumentMouseUpListener();\n };\n\n const [bindDocumentTouchMoveListener, unbindDocumentTouchMoveListener] = useEventListener({\n type: 'touchmove',\n listener: (event: Event) => onResize(event as unknown as React.TouchEvent)\n });\n\n const [bindDocumentTouchEndListener, unbindDocumentTouchEndListener] = useEventListener({\n type: 'touchend',\n listener: () => {\n onResizeEnd();\n unbindTouchListeners();\n }\n });\n\n const bindTouchListeners = () => {\n bindDocumentTouchMoveListener();\n bindDocumentTouchEndListener();\n };\n\n const unbindTouchListeners = () => {\n unbindDocumentTouchMoveListener();\n unbindDocumentTouchEndListener();\n };\n\n const clear = () => {\n dragging.current = false;\n size.current = null;\n startPos.current = null;\n prevPanelElement.current = null;\n nextPanelElement.current = null;\n prevPanelSize.current = null;\n nextPanelSize.current = null;\n gutterRef.current = null;\n prevPanelIndex.current = null;\n };\n\n const isStateful = () => {\n return props.stateKey != null;\n };\n\n const getStorage = React.useCallback(() => {\n switch (props.stateStorage) {\n case 'local':\n return window.localStorage;\n\n case 'session':\n return window.sessionStorage;\n\n default:\n throw new Error(props.stateStorage + ' is not a valid value for the state storage, supported values are \"local\" and \"session\".');\n }\n }, [props.stateStorage]);\n\n const saveState = () => {\n if (isArray(panelSizes)) {\n getStorage().setItem(props.stateKey as string, JSON.stringify(panelSizes));\n }\n };\n\n const restoreState = React.useCallback(() => {\n const stateString = getStorage().getItem(props.stateKey as string);\n\n if (stateString) {\n setPanelSizes(JSON.parse(stateString));\n }\n }, [getStorage, props.stateKey]);\n\n React.useEffect(() => {\n if (isStateful()) {\n restoreState();\n }\n }, [restoreState]);\n\n const findPanels = () => {\n const childrenArray = inProps?.children ? (Array.isArray(inProps?.children) ? inProps?.children : [inProps?.children]) : [];\n const panelsArray: React.ReactElement[] = [];\n\n childrenArray.forEach((child) => {\n if (isValidPanelElement(child) && child.type && (child.type as React.ComponentType).displayName === 'PrimeReact.SplitterPanel') {\n panelsArray.push(child);\n }\n });\n\n setPanels(panelsArray);\n };\n\n React.useEffect(() => {\n findPanels();\n }, [inProps?.children]);\n\n React.useEffect(() => {\n if (!panels.length) return;\n\n const _panelSizes: number[] = [];\n\n panels.forEach((panel, i) => {\n const panelInitialSize = isValidPanelElement(panel) && isNotEmpty(panel.props?.size) ? panel.props?.size : null;\n const panelSize = panelInitialSize || 100 / panels.length;\n\n _panelSizes[i] = panelSize;\n });\n\n setPrevSize(Number.parseFloat(Number(_panelSizes[0]).toFixed(4)));\n setPanelSizes(_panelSizes);\n }, [panels]);\n\n const prevPanelMinSize = () => {\n const index = prevPanelIndex.current;\n\n if (index !== null && typeof index === 'number' && panels[index]) {\n const panel = panels[index];\n\n if (isValidPanelElement(panel) && panel.props?.minSize !== undefined) {\n return panel.props.minSize;\n }\n }\n\n return 0;\n };\n\n const nextPanelMinSize = () => {\n const index = prevPanelIndex.current;\n\n if (index !== null && typeof index === 'number') {\n const nextIndex = index + 1;\n const panel = panels[nextIndex];\n\n if (isValidPanelElement(panel) && panel.props?.minSize !== undefined) {\n return panel.props.minSize;\n }\n }\n\n return 0;\n };\n\n return {\n state,\n registerPanel,\n registerGutter,\n registerThumb,\n panelCounter,\n panelSizes,\n prevSize,\n // refs\n gutterRef,\n gutterRefs,\n // methods\n onResizeStart,\n onResize,\n onResizeEnd,\n onGutterMouseDown,\n onGutterTouchStart,\n onGutterTouchMove,\n onGutterTouchEnd,\n onGutterKeyUp,\n onGutterKeyDown\n };\n }\n});\n","import type { useSplitterProps } from '@primereact/types/shared/splitter';\n\nexport const defaultProps: useSplitterProps = {\n orientation: 'horizontal',\n gutterSize: 4,\n stateKey: undefined,\n stateStorage: 'session',\n step: 5\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","getHeight","getOuterHeight","getOuterWidth","getWidth","isRTL","isArray","isNotEmpty","React","defaultProps","isValidPanelElement","panel","useSplitter","withHeadless","defaultProps","props","elementRef","inProps","gutterRef","gutterRefs","size","dragging","startPos","prevPanelElement","nextPanelElement","prevPanelSize","prevSize","setPrevSize","nextPanelSize","prevPanelIndex","timer","panelSizes","setPanelSizes","panels","setPanels","horizontal","panelCounter","gutterCounter","thumbCounter","state","registerPanel","index","registerGutter","registerThumb","onResizeStart","event","isKeyDown","_a","_b","_c","_d","getWidth","getHeight","getOuterWidth","getOuterHeight","onResize","step","newPos","newPrevPanelSize","newNextPanelSize","isRTL","validateResize","prevPanelMinSize","nextPanelMinSize","onResizeEnd","isStateful","saveState","gutter","clear","repeat","setTimer","clearTimer","onGutterKeyUp","onGutterKeyDown","onGutterMouseDown","bindMouseListeners","onGutterTouchStart","bindTouchListeners","onGutterTouchMove","onGutterTouchEnd","unbindTouchListeners","bindDocumentMouseMoveListener","unbindDocumentMouseMoveListener","useEventListener","bindDocumentMouseUpListener","unbindDocumentMouseUpListener","unbindMouseListeners","bindDocumentTouchMoveListener","unbindDocumentTouchMoveListener","bindDocumentTouchEndListener","unbindDocumentTouchEndListener","getStorage","isArray","restoreState","stateString","findPanels","childrenArray","panelsArray","child","_panelSizes","i","panelSize","isNotEmpty","nextIndex"]}
|
|
1
|
+
{"version":3,"sources":["../../src/splitter/useSplitter.ts","../../src/splitter/useSplitter.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener } from '@primereact/hooks/use-event-listener';\nimport type { UseSplitterPanelInfo, UseSplitterRegisterPanelProps } from '@primereact/types/headless/splitter';\nimport { isRTL } from '@primeuix/utils/dom';\nimport * as React from 'react';\nimport { defaultProps } from './useSplitter.props';\n\nconst validatePanelSize = (rawSize: number, info: UseSplitterPanelInfo | undefined, min: number, isKeyDown: boolean): { size: number; collapsed: boolean } => {\n if (!info?.collapsible) {\n return { size: Math.max(rawSize, min), collapsed: false };\n }\n\n const collapsedSize = info.collapsedSize ?? 0;\n\n if (rawSize >= min) {\n return { size: rawSize, collapsed: false };\n }\n\n if (isKeyDown) {\n return { size: collapsedSize, collapsed: true };\n }\n\n const halfwayPoint = (collapsedSize + min) / 2;\n\n if (rawSize <= halfwayPoint) {\n return { size: collapsedSize, collapsed: true };\n }\n\n return { size: min, collapsed: false };\n};\n\nexport const useSplitter = withHeadless({\n name: 'useSplitter',\n defaultProps,\n setup({ props, elementRef }) {\n const gutterCounter = React.useRef(0);\n const size = React.useRef<number | null>(null);\n const gutterMidpoint = React.useRef<number | null>(null);\n const initialSizes = React.useRef<number[]>([]);\n const initialCollapsed = React.useRef<boolean[]>([]);\n const reportedCollapsed = React.useRef<boolean[]>([]);\n const initialTotal = React.useRef(100);\n const prevPanelIndex = React.useRef<number | null>(null);\n const timer = React.useRef<ReturnType<typeof setInterval> | null>(null);\n const [panelSizes, setPanelSizes] = React.useState<number[]>([]);\n const [resizing, setResizing] = React.useState(false);\n const panelCounter = React.useRef(0);\n const panelRegistry = React.useRef<UseSplitterPanelInfo[]>([]);\n const panelSizesRef = React.useRef<number[]>([]);\n const resizingRef = React.useRef(false);\n const horizontal = props.orientation === 'horizontal';\n\n panelSizesRef.current = panelSizes;\n\n // When panels config is provided, populate registry synchronously\n if (props.panels) {\n panelRegistry.current = props.panels.map((config, i) => ({\n id: undefined,\n index: i,\n minSize: config.minSize ?? 0,\n maxSize: config.maxSize ?? 100,\n collapsible: config.collapsible ?? false,\n collapsedSize: config.collapsedSize ?? 0,\n collapsed: panelRegistry.current[i]?.collapsed ?? false\n }));\n panelCounter.current = props.panels.length;\n }\n\n if (props.sizes && panelSizes.length > 0 && !resizingRef.current) {\n if (panelSizes.length !== props.sizes.length || !panelSizes.every((v, i) => v === props.sizes![i])) {\n for (let i = 0; i < panelRegistry.current.length; i++) {\n const info = panelRegistry.current[i];\n\n if (info?.collapsible) {\n info.collapsed = props.sizes[i] <= (info.collapsedSize ?? 0);\n }\n }\n\n setPanelSizes([...props.sizes]);\n }\n }\n\n const state = { resizing };\n\n const registerPanel = React.useCallback((index: number | null, panelProps: UseSplitterRegisterPanelProps): number => {\n if (index !== null && panelRegistry.current[index]) {\n const existing = panelRegistry.current[index];\n\n panelRegistry.current[index] = {\n ...existing,\n id: panelProps.id ?? existing.id,\n minSize: panelProps.minSize ?? 0,\n maxSize: panelProps.maxSize ?? 100,\n collapsible: panelProps.collapsible ?? false,\n collapsedSize: panelProps.collapsedSize ?? 0\n };\n\n return index;\n }\n\n const newIndex = panelCounter.current;\n\n panelCounter.current += 1;\n\n panelRegistry.current[newIndex] = {\n id: panelProps.id,\n index: newIndex,\n minSize: panelProps.minSize ?? 0,\n maxSize: panelProps.maxSize ?? 100,\n collapsible: panelProps.collapsible ?? false,\n collapsedSize: panelProps.collapsedSize ?? 0,\n collapsed: false\n };\n\n return newIndex;\n }, []);\n\n const registerGutter = React.useCallback(() => {\n return gutterCounter.current++;\n }, []);\n\n React.useEffect(() => {\n return () => {\n if (timer.current) {\n clearInterval(timer.current);\n timer.current = null;\n }\n\n panelCounter.current = 0;\n gutterCounter.current = 0;\n panelRegistry.current = [];\n };\n }, []);\n\n const getPanelMinSize = (panelIndex: number): number => {\n return panelRegistry.current[panelIndex]?.minSize ?? 0;\n };\n\n const getPanelMaxSize = (panelIndex: number): number => {\n return panelRegistry.current[panelIndex]?.maxSize ?? 100;\n };\n\n const onResizeStart = (event: React.PointerEvent | KeyboardEvent, index: number, isKeyDown = false) => {\n if (!elementRef.current) return;\n\n const panelElements = elementRef.current.querySelectorAll<HTMLElement>(':scope > [data-index]');\n let totalPanelPx = 0;\n\n for (const el of panelElements) {\n const rect = el.getBoundingClientRect();\n\n totalPanelPx += horizontal ? rect.width : rect.height;\n }\n\n size.current = totalPanelPx;\n\n if (!isKeyDown) {\n elementRef.current.setAttribute('data-resizing', '');\n\n const pointerEvent = event as React.PointerEvent;\n\n gutterMidpoint.current = horizontal ? pointerEvent.clientX : pointerEvent.clientY;\n }\n\n resizingRef.current = true;\n prevPanelIndex.current = index;\n\n initialSizes.current = [...panelSizesRef.current];\n initialCollapsed.current = panelRegistry.current.map((info) => info.collapsed);\n reportedCollapsed.current = panelRegistry.current.map((info) => info.collapsed);\n initialTotal.current = initialSizes.current.reduce((a, b) => a + b, 0) || 100;\n\n if (!isKeyDown) {\n props.onResizeStart?.({ sizes: [...initialSizes.current] });\n }\n };\n\n const onResize = (event: React.PointerEvent | KeyboardEvent, step = 5, isKeyDown = false) => {\n if (size.current === null || prevPanelIndex.current === null || initialSizes.current.length === 0) {\n return;\n }\n\n const gutterIdx = prevPanelIndex.current;\n let delta: number;\n\n const total = initialTotal.current;\n\n if (isKeyDown) {\n delta = (total * step) / size.current;\n } else {\n if (gutterMidpoint.current === null) return;\n\n const pointerEvent = event as unknown as PointerEvent;\n\n if (horizontal) {\n if (isRTL(elementRef.current as HTMLElement)) {\n delta = ((gutterMidpoint.current - pointerEvent.clientX) * total) / size.current;\n } else {\n delta = ((pointerEvent.clientX - gutterMidpoint.current) * total) / size.current;\n }\n } else {\n delta = ((pointerEvent.clientY - gutterMidpoint.current) * total) / size.current;\n }\n }\n\n const newSizes = [...initialSizes.current];\n\n for (let i = 0; i < panelRegistry.current.length; i++) {\n if (initialCollapsed.current[i] !== undefined) {\n panelRegistry.current[i].collapsed = initialCollapsed.current[i];\n }\n }\n\n if (delta > 0) {\n const growInfo = panelRegistry.current[gutterIdx];\n let toGrow = delta;\n const max = getPanelMaxSize(gutterIdx);\n\n toGrow = Math.min(toGrow, Math.max(0, max - newSizes[gutterIdx]));\n\n if (growInfo?.collapsible && growInfo.collapsed) {\n const gapSize = getPanelMinSize(gutterIdx) - growInfo.collapsedSize;\n const halfwayDelta = gapSize / 2;\n\n if (isKeyDown) {\n toGrow = Math.max(toGrow, gapSize);\n toGrow = Math.min(toGrow, Math.max(0, max - newSizes[gutterIdx]));\n } else if (toGrow < halfwayDelta) {\n toGrow = 0;\n } else {\n toGrow = Math.max(toGrow, gapSize);\n toGrow = Math.min(toGrow, Math.max(0, max - newSizes[gutterIdx]));\n }\n }\n\n let shrunk = 0;\n\n for (let i = gutterIdx + 1; i < newSizes.length && shrunk < toGrow; i++) {\n const info = panelRegistry.current[i];\n const min = getPanelMinSize(i);\n\n if (info?.collapsed) {\n continue;\n }\n\n const effectiveMin = info?.collapsible ? (info.collapsedSize ?? 0) : min;\n const available = Math.max(0, newSizes[i] - effectiveMin);\n const amount = Math.min(toGrow - shrunk, available);\n const rawSize = newSizes[i] - amount;\n\n const validated = validatePanelSize(rawSize, info, min, isKeyDown);\n const actualShrunk = newSizes[i] - validated.size;\n\n newSizes[i] = validated.size;\n shrunk += actualShrunk;\n\n if (info) {\n info.collapsed = validated.collapsed;\n }\n }\n\n newSizes[gutterIdx] += shrunk;\n\n if (growInfo?.collapsible && growInfo.collapsed && newSizes[gutterIdx] >= getPanelMinSize(gutterIdx)) {\n growInfo.collapsed = false;\n }\n } else if (delta < 0) {\n const nextIdx = gutterIdx + 1;\n const growInfo = panelRegistry.current[nextIdx];\n let toGrow = -delta;\n const max = getPanelMaxSize(nextIdx);\n\n toGrow = Math.min(toGrow, Math.max(0, max - newSizes[nextIdx]));\n\n if (growInfo?.collapsible && growInfo.collapsed) {\n const gapSize = getPanelMinSize(nextIdx) - growInfo.collapsedSize;\n const halfwayDelta = gapSize / 2;\n\n if (isKeyDown) {\n toGrow = Math.max(toGrow, gapSize);\n toGrow = Math.min(toGrow, Math.max(0, max - newSizes[nextIdx]));\n } else if (toGrow < halfwayDelta) {\n toGrow = 0;\n } else {\n toGrow = Math.max(toGrow, gapSize);\n toGrow = Math.min(toGrow, Math.max(0, max - newSizes[nextIdx]));\n }\n }\n\n let shrunk = 0;\n\n for (let i = gutterIdx; i >= 0 && shrunk < toGrow; i--) {\n const info = panelRegistry.current[i];\n const min = getPanelMinSize(i);\n\n if (info?.collapsed) {\n continue;\n }\n\n const effectiveMin = info?.collapsible ? (info.collapsedSize ?? 0) : min;\n const available = Math.max(0, newSizes[i] - effectiveMin);\n const amount = Math.min(toGrow - shrunk, available);\n const rawSize = newSizes[i] - amount;\n\n const validated = validatePanelSize(rawSize, info, min, isKeyDown);\n const actualShrunk = newSizes[i] - validated.size;\n\n newSizes[i] = validated.size;\n shrunk += actualShrunk;\n\n if (info) {\n info.collapsed = validated.collapsed;\n }\n }\n\n newSizes[nextIdx] += shrunk;\n\n if (growInfo?.collapsible && growInfo.collapsed && newSizes[nextIdx] >= getPanelMinSize(nextIdx)) {\n growInfo.collapsed = false;\n }\n }\n\n for (let i = 0; i < panelRegistry.current.length; i++) {\n const info = panelRegistry.current[i];\n\n if (info.collapsed !== reportedCollapsed.current[i]) {\n reportedCollapsed.current[i] = info.collapsed;\n props.onCollapse?.({ index: i, collapsed: info.collapsed, sizes: [...newSizes] });\n }\n }\n\n const finalSizes = [...newSizes];\n\n setResizing(true);\n setPanelSizes(finalSizes);\n props.onResize?.({ sizes: finalSizes });\n };\n\n const onResizeEnd = () => {\n resizingRef.current = false;\n elementRef.current?.removeAttribute('data-resizing');\n props.onResizeEnd?.({ sizes: [...panelSizesRef.current] });\n setResizing(false);\n clear();\n };\n\n const repeat = (event: React.PointerEvent | KeyboardEvent, index: number, step: number) => {\n onResizeStart(event, index, true);\n onResize(event, step, true);\n };\n\n const setTimer = (event: React.PointerEvent | KeyboardEvent, index: number, step: number) => {\n if (!timer.current) {\n props.onResizeStart?.({ sizes: [...panelSizesRef.current] });\n repeat(event, index, step);\n timer.current = setInterval(() => {\n repeat(event, index, step);\n }, 40);\n }\n };\n\n const clearTimer = () => {\n if (timer.current) {\n clearInterval(timer.current);\n timer.current = null;\n }\n };\n\n const onGutterKeyUp = () => {\n if (!timer.current) return;\n\n clearTimer();\n onResizeEnd();\n };\n\n const onGutterKeyDown = (event: React.KeyboardEvent, index: number, gutterDisabled?: boolean) => {\n if (props.disabled || gutterDisabled) return;\n\n switch (event.code) {\n case 'ArrowLeft': {\n if (horizontal) {\n setTimer(event as unknown as KeyboardEvent, index, (props.step as number) * -1);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowRight': {\n if (horizontal) {\n setTimer(event as unknown as KeyboardEvent, index, props.step as number);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowDown': {\n if (!horizontal) {\n setTimer(event as unknown as KeyboardEvent, index, props.step as number);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp': {\n if (!horizontal) {\n setTimer(event as unknown as KeyboardEvent, index, (props.step as number) * -1);\n }\n\n event.preventDefault();\n break;\n }\n\n default:\n break;\n }\n };\n\n const [bindDocumentPointerMoveListener, unbindDocumentPointerMoveListener] = useEventListener({\n type: 'pointermove',\n listener: (event: Event) => onResize(event as unknown as React.PointerEvent)\n });\n\n const [bindDocumentPointerUpListener, unbindDocumentPointerUpListener] = useEventListener({\n type: 'pointerup',\n listener: () => {\n onResizeEnd();\n unbindPointerListeners();\n }\n });\n\n const bindPointerListeners = () => {\n bindDocumentPointerMoveListener();\n bindDocumentPointerUpListener();\n };\n\n const unbindPointerListeners = () => {\n unbindDocumentPointerMoveListener();\n unbindDocumentPointerUpListener();\n };\n\n const onGutterPointerDown = (event: React.PointerEvent, index: number, gutterDisabled?: boolean) => {\n if (props.disabled || gutterDisabled) return;\n\n onResizeStart(event, index);\n bindPointerListeners();\n };\n\n const clear = () => {\n size.current = null;\n gutterMidpoint.current = null;\n initialSizes.current = [];\n initialCollapsed.current = [];\n reportedCollapsed.current = [];\n initialTotal.current = 100;\n prevPanelIndex.current = null;\n };\n\n React.useLayoutEffect(() => {\n const panelCount = panelRegistry.current.length;\n\n if (panelCount === 0) return;\n\n const sourceSizes = props.sizes ?? props.defaultSizes;\n const _panelSizes: number[] = [];\n\n for (let i = 0; i < panelCount; i++) {\n _panelSizes[i] = sourceSizes?.[i] ?? 100 / panelCount;\n }\n\n for (let i = 0; i < panelCount; i++) {\n const info = panelRegistry.current[i];\n\n if (info?.collapsible && _panelSizes[i] <= (info.collapsedSize ?? 0)) {\n info.collapsed = true;\n }\n }\n\n setPanelSizes(_panelSizes);\n }, []);\n\n // prop getters\n const rootProps = {\n ref: elementRef as React.RefObject<HTMLDivElement>,\n 'data-scope': 'splitter',\n 'data-part': 'root',\n 'data-orientation': props.orientation,\n ...(state.resizing && { 'data-resizing': '' as const }),\n ...(props.disabled && { 'data-disabled': '' as const })\n };\n\n const getPanelProps = (index: number) => {\n const panelCount = panelCounter.current || 1;\n const flexGrow = panelSizes?.[index] ?? 100 / panelCount;\n const info = panelRegistry.current[index];\n\n return {\n 'data-scope': 'splitter',\n 'data-part': 'panel',\n 'data-orientation': props.orientation,\n 'data-index': index,\n ...(info?.collapsed && { 'data-collapsed': '' as const }),\n style: {\n flex: `${flexGrow} 1 0px`,\n overflow: 'hidden',\n ...(horizontal ? { minWidth: 0 } : { minHeight: 0 })\n } as React.CSSProperties,\n ...(state.resizing && { 'data-resizing': '' as const })\n };\n };\n\n const getGutterProps = (index: number, options?: { id?: string; disabled?: boolean }) => {\n const { id: gutterInstanceId, disabled: gutterDisabled } = options ?? {};\n const disabled = props.disabled || gutterDisabled;\n const registry = panelRegistry.current;\n const prevPanel = registry?.[index];\n const nextPanel = registry?.[index + 1];\n const ariaValueNow = panelSizes?.[index] ?? 0;\n const ariaValueMin = prevPanel?.minSize ?? 0;\n const ariaValueMax = 100 - (nextPanel?.minSize ?? 0);\n const ariaControls = [prevPanel?.id, nextPanel?.id].filter(Boolean).join(' ') || undefined;\n\n const handlePointerDown = (e: React.PointerEvent) => onGutterPointerDown(e, index, gutterDisabled);\n const handleKeyDown = (e: React.KeyboardEvent) => onGutterKeyDown(e, index, gutterDisabled);\n\n return {\n 'data-scope': 'splitter',\n 'data-part': 'gutter',\n ...(gutterInstanceId !== undefined && { id: gutterInstanceId }),\n role: 'separator' as const,\n tabIndex: disabled ? -1 : 0,\n 'aria-valuenow': Math.round(ariaValueNow),\n 'aria-valuemin': Math.round(ariaValueMin),\n 'aria-valuemax': Math.round(ariaValueMax),\n ...(ariaControls && { 'aria-controls': ariaControls }),\n 'aria-disabled': disabled || undefined,\n style: { touchAction: 'none' as const, userSelect: 'none' as const },\n 'data-orientation': props.orientation,\n ...(state.resizing && { 'data-resizing': '' as const }),\n ...(disabled && { 'data-disabled': '' as const }),\n onPointerDown: handlePointerDown,\n onKeyDown: handleKeyDown,\n onKeyUp: onGutterKeyUp\n };\n };\n\n const handleProps = {\n 'data-scope': 'splitter',\n 'data-part': 'handle',\n 'data-orientation': props.orientation,\n ...(state.resizing && { 'data-resizing': '' as const })\n };\n\n return {\n state,\n registerPanel,\n registerGutter,\n panelCounter,\n panelRegistry,\n panelSizes,\n onResizeStart,\n onResize,\n onResizeEnd,\n onGutterPointerDown,\n onGutterKeyUp,\n onGutterKeyDown,\n getGutterProps,\n // prop getters\n rootProps,\n getPanelProps,\n handleProps\n };\n }\n});\n","import type { UseSplitterProps } from '@primereact/types/headless/splitter';\n\nexport const defaultProps: UseSplitterProps = {\n panels: undefined,\n sizes: undefined,\n defaultSizes: undefined,\n orientation: 'horizontal',\n disabled: false,\n step: 5,\n onResizeStart: undefined,\n onResize: undefined,\n onResizeEnd: undefined,\n onCollapse: undefined\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","isRTL","React","defaultProps","validatePanelSize","rawSize","info","min","isKeyDown","_a","collapsedSize","halfwayPoint","useSplitter","withHeadless","defaultProps","props","elementRef","gutterCounter","size","gutterMidpoint","initialSizes","initialCollapsed","reportedCollapsed","initialTotal","prevPanelIndex","timer","panelSizes","setPanelSizes","resizing","setResizing","panelCounter","panelRegistry","panelSizesRef","resizingRef","horizontal","config","i","_b","_c","_d","_e","_f","v","state","registerPanel","index","panelProps","_g","_h","_i","existing","__spreadProps","__spreadValues","newIndex","registerGutter","getPanelMinSize","panelIndex","getPanelMaxSize","onResizeStart","event","panelElements","totalPanelPx","el","rect","pointerEvent","a","b","onResize","step","gutterIdx","delta","total","isRTL","newSizes","growInfo","toGrow","max","gapSize","halfwayDelta","shrunk","effectiveMin","available","amount","validated","actualShrunk","nextIdx","finalSizes","onResizeEnd","clear","repeat","setTimer","clearTimer","onGutterKeyUp","onGutterKeyDown","gutterDisabled","bindDocumentPointerMoveListener","unbindDocumentPointerMoveListener","useEventListener","bindDocumentPointerUpListener","unbindDocumentPointerUpListener","unbindPointerListeners","bindPointerListeners","onGutterPointerDown","panelCount","sourceSizes","_panelSizes","rootProps","getPanelProps","flexGrow","getGutterProps","options","gutterInstanceId","disabled","registry","prevPanel","nextPanel","ariaValueNow","ariaValueMin","ariaValueMax","ariaControls","handlePointerDown","e","handleKeyDown","handleProps"]}
|