@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,23 +1,66 @@
|
|
|
1
|
+
import type { UseSplitterPanelInfo, UseSplitterRegisterPanelProps } from '@primereact/types/headless/splitter';
|
|
1
2
|
import * as React from 'react';
|
|
2
|
-
export declare const useSplitter: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/
|
|
3
|
+
export declare const useSplitter: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/splitter").UseSplitterProps, unknown, {
|
|
3
4
|
state: {
|
|
4
|
-
|
|
5
|
+
resizing: boolean;
|
|
5
6
|
};
|
|
6
|
-
registerPanel: () => number;
|
|
7
|
+
registerPanel: (index: number | null, panelProps: UseSplitterRegisterPanelProps) => number;
|
|
7
8
|
registerGutter: () => number;
|
|
8
|
-
registerThumb: () => number;
|
|
9
9
|
panelCounter: React.RefObject<number>;
|
|
10
|
+
panelRegistry: React.RefObject<UseSplitterPanelInfo[]>;
|
|
10
11
|
panelSizes: number[];
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
gutterRefs: React.RefObject<HTMLDivElement[]>;
|
|
14
|
-
onResizeStart: (event: React.MouseEvent | React.TouchEvent | KeyboardEvent, index: number, isKeyDown?: boolean) => void;
|
|
15
|
-
onResize: (event: React.MouseEvent | React.TouchEvent | KeyboardEvent, step?: number, isKeyDown?: boolean) => void;
|
|
12
|
+
onResizeStart: (event: React.PointerEvent | KeyboardEvent, index: number, isKeyDown?: boolean) => void;
|
|
13
|
+
onResize: (event: React.PointerEvent | KeyboardEvent, step?: number, isKeyDown?: boolean) => void;
|
|
16
14
|
onResizeEnd: () => void;
|
|
17
|
-
|
|
18
|
-
onGutterTouchStart: (event: React.TouchEvent, index: number) => void;
|
|
19
|
-
onGutterTouchMove: (event: React.TouchEvent) => void;
|
|
20
|
-
onGutterTouchEnd: (event: React.TouchEvent) => void;
|
|
15
|
+
onGutterPointerDown: (event: React.PointerEvent, index: number, gutterDisabled?: boolean) => void;
|
|
21
16
|
onGutterKeyUp: () => void;
|
|
22
|
-
onGutterKeyDown: (event: React.KeyboardEvent, index: number) => void;
|
|
17
|
+
onGutterKeyDown: (event: React.KeyboardEvent, index: number, gutterDisabled?: boolean) => void;
|
|
18
|
+
getGutterProps: (index: number, options?: {
|
|
19
|
+
id?: string;
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
}) => {
|
|
22
|
+
onPointerDown: (e: React.PointerEvent) => void;
|
|
23
|
+
onKeyDown: (e: React.KeyboardEvent) => void;
|
|
24
|
+
onKeyUp: () => void;
|
|
25
|
+
'data-disabled'?: "" | undefined;
|
|
26
|
+
'data-resizing'?: "" | undefined;
|
|
27
|
+
'aria-disabled': true | undefined;
|
|
28
|
+
style: {
|
|
29
|
+
touchAction: "none";
|
|
30
|
+
userSelect: "none";
|
|
31
|
+
};
|
|
32
|
+
'data-orientation': "horizontal" | "vertical" | undefined;
|
|
33
|
+
'aria-controls'?: string | undefined;
|
|
34
|
+
role: "separator";
|
|
35
|
+
tabIndex: number;
|
|
36
|
+
'aria-valuenow': number;
|
|
37
|
+
'aria-valuemin': number;
|
|
38
|
+
'aria-valuemax': number;
|
|
39
|
+
id?: string | undefined;
|
|
40
|
+
'data-scope': string;
|
|
41
|
+
'data-part': string;
|
|
42
|
+
};
|
|
43
|
+
rootProps: {
|
|
44
|
+
'data-disabled'?: "" | undefined;
|
|
45
|
+
'data-resizing'?: "" | undefined;
|
|
46
|
+
ref: React.RefObject<HTMLDivElement>;
|
|
47
|
+
'data-scope': string;
|
|
48
|
+
'data-part': string;
|
|
49
|
+
'data-orientation': "horizontal" | "vertical" | undefined;
|
|
50
|
+
};
|
|
51
|
+
getPanelProps: (index: number) => {
|
|
52
|
+
'data-resizing'?: "" | undefined;
|
|
53
|
+
style: React.CSSProperties;
|
|
54
|
+
'data-collapsed'?: "" | undefined;
|
|
55
|
+
'data-scope': string;
|
|
56
|
+
'data-part': string;
|
|
57
|
+
'data-orientation': "horizontal" | "vertical" | undefined;
|
|
58
|
+
'data-index': number;
|
|
59
|
+
};
|
|
60
|
+
handleProps: {
|
|
61
|
+
'data-resizing'?: "" | undefined;
|
|
62
|
+
'data-scope': string;
|
|
63
|
+
'data-part': string;
|
|
64
|
+
'data-orientation': "horizontal" | "vertical" | undefined;
|
|
65
|
+
};
|
|
23
66
|
}>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const defaultProps:
|
|
1
|
+
import type { UseSplitterProps } from '@primereact/types/headless/splitter';
|
|
2
|
+
export declare const defaultProps: UseSplitterProps;
|
package/stepper/index.d.ts
CHANGED
package/stepper/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{withHeadless as
|
|
1
|
+
var b=Object.defineProperty;var c=Object.getOwnPropertySymbols;var P=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable;var d=(t,s,a)=>s in t?b(t,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[s]=a,o=(t,s)=>{for(var a in s||(s={}))P.call(s,a)&&d(t,a,s[a]);if(c)for(var a of c(s))g.call(s,a)&&d(t,a,s[a]);return t};import{withHeadless as S}from"@primereact/core/headless";import*as u from"react";var i={defaultValue:null,value:null,linear:!1,onValueChange:void 0};var I=S({name:"useStepper",defaultProps:i,setup({props:t,id:s}){var p,l;let[a,f]=u.useState((l=(p=t.value)!=null?p:t.defaultValue)!=null?l:null),m={value:a},r=e=>{var n;e!==a&&(f(e),(n=t.onValueChange)==null||n.call(t,{value:e}))};return{state:m,rootProps:{"data-scope":"stepper","data-part":"root"},getItemProps:({active:e})=>o({"data-scope":"stepper","data-part":"item"},e?{"data-active":""}:{}),getStepProps:({active:e,disabled:n})=>o(o({"data-scope":"stepper","data-part":"step","aria-current":e?"step":void 0,role:"presentation"},e?{"data-active":""}:{}),n?{"data-disabled":""}:{}),getHeaderProps:({activeValue:e,disabled:n})=>({"data-scope":"stepper","data-part":"header",type:"button",role:"tab",tabIndex:n?-1:void 0,"aria-controls":`${s}_steppanel_${e}`,disabled:n,onClick:()=>r(e)}),getPanelProps:({active:e,activeValue:n})=>o({"data-scope":"stepper","data-part":"panel",role:"tabpanel","aria-controls":`${s}_step_${n}`},e?{"data-active":""}:{}),setActiveStep:r,isStepActive:e=>a===e,isStepDisabled:()=>{var e;return(e=t.linear)!=null?e:!1}}}});export{i as defaultProps,I as useStepper};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/stepper/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/stepper/useStepper.ts","../../src/stepper/useStepper.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/stepper/useStepper.ts","../../src/stepper/useStepper.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { UseStepperProps } from '@primereact/types/headless/stepper';\nimport * as React from 'react';\nimport { defaultProps } from './useStepper.props';\n\nexport const useStepper = withHeadless({\n name: 'useStepper',\n defaultProps,\n setup({ props, id }) {\n const [activeValue, setActiveValue] = React.useState<UseStepperProps['value']>(props.value ?? props.defaultValue ?? null);\n\n const state = {\n value: activeValue\n };\n\n const setActiveStep = (value: null | undefined | string | number) => {\n if (value !== activeValue) {\n setActiveValue(value);\n\n props.onValueChange?.({\n value\n });\n }\n };\n\n const isStepActive = (value: null | undefined | string | number): boolean => {\n return activeValue === value;\n };\n\n const isStepDisabled = () => {\n return props.linear ?? false;\n };\n\n // prop getters\n const rootProps = {\n 'data-scope': 'stepper' as const,\n 'data-part': 'root' as const\n };\n\n const getItemProps = ({ active }: { active: boolean }) => ({\n 'data-scope': 'stepper' as const,\n 'data-part': 'item' as const,\n ...(active ? { 'data-active': '' as const } : {})\n });\n\n const getStepProps = ({ active, disabled }: { active: boolean; disabled: boolean | undefined | null }) => ({\n 'data-scope': 'stepper' as const,\n 'data-part': 'step' as const,\n 'aria-current': active ? ('step' as const) : undefined,\n role: 'presentation' as const,\n ...(active ? { 'data-active': '' as const } : {}),\n ...(disabled ? { 'data-disabled': '' as const } : {})\n });\n\n const getHeaderProps = ({ activeValue, disabled }: { activeValue: string | number | null | undefined; disabled: boolean | undefined | null }) => ({\n 'data-scope': 'stepper' as const,\n 'data-part': 'header' as const,\n type: 'button' as const,\n role: 'tab' as const,\n tabIndex: disabled ? -1 : undefined,\n 'aria-controls': `${id}_steppanel_${activeValue}`,\n disabled,\n onClick: () => setActiveStep(activeValue)\n });\n\n const getPanelProps = ({ active, activeValue }: { active: boolean; activeValue: string | number | null | undefined }) => ({\n 'data-scope': 'stepper' as const,\n 'data-part': 'panel' as const,\n role: 'tabpanel' as const,\n 'aria-controls': `${id}_step_${activeValue}`,\n ...(active ? { 'data-active': '' as const } : {})\n });\n\n return {\n state,\n // prop getters\n rootProps,\n getItemProps,\n getStepProps,\n getHeaderProps,\n getPanelProps,\n // methods\n setActiveStep,\n isStepActive,\n isStepDisabled\n };\n }\n});\n","import type { UseStepperProps } from '@primereact/types/headless/stepper';\n\nexport const defaultProps: UseStepperProps = {\n defaultValue: null,\n value: null,\n linear: false,\n onValueChange: undefined\n};\n"],"mappings":"yVAAA,OAAS,gBAAAA,MAAoB,4BAE7B,UAAYC,MAAW,QCAhB,IAAMC,EAAgC,CACzC,aAAc,KACd,MAAO,KACP,OAAQ,GACR,cAAe,MACnB,EDFO,IAAMC,EAAaC,EAAa,CACnC,KAAM,aACN,aAAAC,EACA,MAAM,CAAE,MAAAC,EAAO,GAAAC,CAAG,EAAG,CARzB,IAAAC,EAAAC,EASQ,GAAM,CAACC,EAAaC,CAAc,EAAU,YAAmCF,GAAAD,EAAAF,EAAM,QAAN,KAAAE,EAAeF,EAAM,eAArB,KAAAG,EAAqC,IAAI,EAElHG,EAAQ,CACV,MAAOF,CACX,EAEMG,EAAiBC,GAA8C,CAf7E,IAAAN,EAgBgBM,IAAUJ,IACVC,EAAeG,CAAK,GAEpBN,EAAAF,EAAM,gBAAN,MAAAE,EAAA,KAAAF,EAAsB,CAClB,MAAAQ,CACJ,GAER,EAkDA,MAAO,CACH,MAAAF,EAEA,UA1Cc,CACd,aAAc,UACd,YAAa,MACjB,EAwCI,aAtCiB,CAAC,CAAE,OAAAG,CAAO,IAA4BC,EAAA,CACvD,aAAc,UACd,YAAa,QACTD,EAAS,CAAE,cAAe,EAAY,EAAI,CAAC,GAoC/C,aAjCiB,CAAC,CAAE,OAAAA,EAAQ,SAAAE,CAAS,IAAkED,IAAA,CACvG,aAAc,UACd,YAAa,OACb,eAAgBD,EAAU,OAAmB,OAC7C,KAAM,gBACFA,EAAS,CAAE,cAAe,EAAY,EAAI,CAAC,GAC3CE,EAAW,CAAE,gBAAiB,EAAY,EAAI,CAAC,GA4BnD,eAzBmB,CAAC,CAAE,YAAAP,EAAa,SAAAO,CAAS,KAAkG,CAC9I,aAAc,UACd,YAAa,SACb,KAAM,SACN,KAAM,MACN,SAAUA,EAAW,GAAK,OAC1B,gBAAiB,GAAGV,CAAE,cAAcG,CAAW,GAC/C,SAAAO,EACA,QAAS,IAAMJ,EAAcH,CAAW,CAC5C,GAiBI,cAfkB,CAAC,CAAE,OAAAK,EAAQ,YAAAL,CAAY,IAA6EM,EAAA,CACtH,aAAc,UACd,YAAa,QACb,KAAM,WACN,gBAAiB,GAAGT,CAAE,SAASG,CAAW,IACtCK,EAAS,CAAE,cAAe,EAAY,EAAI,CAAC,GAY/C,cAAAF,EACA,aA1DkBC,GACXJ,IAAgBI,EA0DvB,eAvDmB,IAAM,CA7BrC,IAAAN,EA8BY,OAAOA,EAAAF,EAAM,SAAN,KAAAE,EAAgB,EAC3B,CAsDA,CACJ,CACJ,CAAC","names":["withHeadless","React","defaultProps","useStepper","withHeadless","defaultProps","props","id","_a","_b","activeValue","setActiveValue","state","setActiveStep","value","active","__spreadValues","disabled"]}
|
package/stepper/useStepper.d.ts
CHANGED
|
@@ -1,8 +1,53 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const useStepper: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<
|
|
1
|
+
import { UseStepperProps } from '@primereact/types/headless/stepper';
|
|
2
|
+
export declare const useStepper: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<UseStepperProps, unknown, {
|
|
3
3
|
state: {
|
|
4
4
|
value: string | number | null | undefined;
|
|
5
5
|
};
|
|
6
|
+
rootProps: {
|
|
7
|
+
'data-scope': "stepper";
|
|
8
|
+
'data-part': "root";
|
|
9
|
+
};
|
|
10
|
+
getItemProps: ({ active }: {
|
|
11
|
+
active: boolean;
|
|
12
|
+
}) => {
|
|
13
|
+
'data-active'?: "" | undefined;
|
|
14
|
+
'data-scope': "stepper";
|
|
15
|
+
'data-part': "item";
|
|
16
|
+
};
|
|
17
|
+
getStepProps: ({ active, disabled }: {
|
|
18
|
+
active: boolean;
|
|
19
|
+
disabled: boolean | undefined | null;
|
|
20
|
+
}) => {
|
|
21
|
+
'data-disabled'?: "" | undefined;
|
|
22
|
+
'data-active'?: "" | undefined;
|
|
23
|
+
'data-scope': "stepper";
|
|
24
|
+
'data-part': "step";
|
|
25
|
+
'aria-current': "step" | undefined;
|
|
26
|
+
role: "presentation";
|
|
27
|
+
};
|
|
28
|
+
getHeaderProps: ({ activeValue, disabled }: {
|
|
29
|
+
activeValue: string | number | null | undefined;
|
|
30
|
+
disabled: boolean | undefined | null;
|
|
31
|
+
}) => {
|
|
32
|
+
'data-scope': "stepper";
|
|
33
|
+
'data-part': "header";
|
|
34
|
+
type: "button";
|
|
35
|
+
role: "tab";
|
|
36
|
+
tabIndex: number | undefined;
|
|
37
|
+
'aria-controls': string;
|
|
38
|
+
disabled: boolean | null | undefined;
|
|
39
|
+
onClick: () => void;
|
|
40
|
+
};
|
|
41
|
+
getPanelProps: ({ active, activeValue }: {
|
|
42
|
+
active: boolean;
|
|
43
|
+
activeValue: string | number | null | undefined;
|
|
44
|
+
}) => {
|
|
45
|
+
'data-active'?: "" | undefined;
|
|
46
|
+
'data-scope': "stepper";
|
|
47
|
+
'data-part': "panel";
|
|
48
|
+
role: "tabpanel";
|
|
49
|
+
'aria-controls': string;
|
|
50
|
+
};
|
|
6
51
|
setActiveStep: (value: null | undefined | string | number) => void;
|
|
7
52
|
isStepActive: (value: null | undefined | string | number) => boolean;
|
|
8
53
|
isStepDisabled: () => boolean;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const defaultProps:
|
|
1
|
+
import type { UseStepperProps } from '@primereact/types/headless/stepper';
|
|
2
|
+
export declare const defaultProps: UseStepperProps;
|
package/styleclass/index.d.ts
CHANGED
package/styleclass/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{withHeadless as
|
|
1
|
+
import{withHeadless as D}from"@primereact/core/headless";import{useEventListener as d}from"@primereact/hooks/use-event-listener";import{useMountEffect as V}from"@primereact/hooks/use-mount-effect";import{useUnmountEffect as W}from"@primereact/hooks/use-unmount-effect";import{useUpdateEffect as j}from"@primereact/hooks/use-update-effect";import{addClass as i,getTargetElement as O,hasClass as q,isElement as B,isVisible as f,removeClass as l,setAttribute as G,toElement as I}from"@primeuix/utils";import*as a from"react";var k={nodeRef:void 0,selector:void 0,enterFromClassName:void 0,enterActiveClassName:void 0,enterToClassName:void 0,leaveFromClassName:void 0,leaveActiveClassName:void 0,leaveToClassName:void 0,hiddenClassName:void 0,hideOnOutsideClick:!1,toggleClassName:void 0,hideOnResize:!1,resizeSelector:void 0};var ee=D({name:"useStyleClass",defaultProps:k,setup({props:e,elementRef:r}){let c=a.useRef(!1),t=a.useRef(null),u=a.useRef(null),[C,w]=d({type:"animationend",listener(){var n,s;l(t.current,(n=e.enterActiveClassName)!=null?n:""),e.enterToClassName&&i(t.current,e.enterToClassName),w(),t.current&&((s=e.enterActiveClassName)!=null&&s.includes("slidedown"))&&(t.current.style.maxHeight=""),c.current=!1}}),[N,A]=d({type:"animationend",listener(){var n;l(t.current,(n=e.leaveActiveClassName)!=null?n:""),e.leaveToClassName&&i(t.current,e.leaveToClassName),A(),c.current=!1}}),[v,o]=d({type:"click",listener(n){!f(t.current)||getComputedStyle(t.current).getPropertyValue("position")==="static"?o():U(n)&&m()},when:e.hideOnOutsideClick}),[F,g]=d({type:"resize",listener(){f(t.current)?m():g()},when:e.hideOnResize}),[E,b]=d({type:"click",listener(){t.current=P(),e.toggleClassName?q(t.current,e.toggleClassName)?l(t.current,e.toggleClassName):i(t.current,e.toggleClassName):f(t.current)?m():h()}}),h=a.useCallback(()=>{var n,s;t.current&&(e.enterActiveClassName?c.current||(c.current=!0,e.enterActiveClassName.includes("slidedown")&&(t.current.style.height="0px",l(t.current,(n=e.hiddenClassName||e.enterFromClassName)!=null?n:""),t.current.style.maxHeight=t.current.scrollHeight+"px",i(t.current,e.hiddenClassName||e.enterActiveClassName),t.current.style.height=""),i(t.current,e.enterActiveClassName),e.enterFromClassName&&l(t.current,e.enterFromClassName),C({target:t.current})):(e.enterFromClassName&&l(t.current,e.enterFromClassName),e.enterToClassName&&i(t.current,e.enterToClassName)),e.hideOnOutsideClick&&v({target:(s=r.current)==null?void 0:s.ownerDocument}),e.hideOnResize&&H())},[v,C,r,e]),m=a.useCallback(()=>{e.leaveActiveClassName?c.current||(c.current=!0,i(t.current,e.leaveActiveClassName),e.leaveFromClassName&&l(t.current,e.leaveFromClassName),N({target:t.current})):(e.leaveFromClassName&&l(t.current,e.leaveFromClassName),e.leaveToClassName&&i(t.current,e.leaveToClassName)),e.hideOnOutsideClick&&o(),e.hideOnResize&&y()},[N,e,o]),H=()=>{var s;let n=O((s=e.resizeSelector)!=null?s:"window");B(n)?M(n):F({target:"window"})},y=()=>{g(),x()},M=n=>{if(!u.current&&n){let s=!0;u.current=new ResizeObserver(()=>{if(s){s=!1;return}f(t.current)&&m()}),u.current.observe(n)}},x=()=>{u.current&&(u.current.disconnect(),u.current=null)},P=a.useCallback(()=>t.current||O(e.selector,r.current),[r,e.selector]),L=a.useCallback(()=>{Promise.resolve().then(()=>{var n;(n=e.nodeRef)!=null&&n.current&&(r.current=I(e.nodeRef)),G(r.current,"data-pd-styleclass",!0),E({target:r.current})})},[E,r,e.nodeRef]),S=a.useCallback(()=>{b(),o(),y(),t.current=null},[]),U=n=>{var T,R,z;let s=n==null?void 0:n.target;return!((T=r.current)!=null&&T.isSameNode(s))&&!((R=r.current)!=null&&R.contains(s))&&!((z=t.current)!=null&&z.contains(s))};return V(()=>{L()}),j(()=>(L(),()=>{b()})),W(()=>{S()}),{rootProps:{"data-scope":"styleclass","data-part":"root"},targetRef:t,enter:h,leave:m}}});export{k as defaultProps,ee as useStyleClass};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/styleclass/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/styleclass/useStyleClass.ts","../../src/styleclass/useStyleClass.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener } from '@primereact/hooks/use-event-listener';\nimport { useMountEffect } from '@primereact/hooks/use-mount-effect';\nimport { useUnmountEffect } from '@primereact/hooks/use-unmount-effect';\nimport { useUpdateEffect } from '@primereact/hooks/use-update-effect';\nimport { addClass, getTargetElement, hasClass, isVisible, removeClass, setAttribute, toElement } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useStyleClass.props';\n\nexport const useStyleClass = withHeadless({\n name: 'useStyleClass',\n defaultProps,\n setup({ props, elementRef }) {\n const animating = React.useRef(false);\n\n // element refs\n const targetRef = React.useRef<HTMLElement | null>(null);\n\n // events\n const [bindTargetEnterListener, unbindTargetEnterListener] = useEventListener({\n type: 'animationend',\n listener() {\n removeClass(targetRef.current as Element, props.enterActiveClassName ?? '');\n\n if (props.enterToClassName) {\n addClass(targetRef.current as Element, props.enterToClassName);\n }\n\n unbindTargetEnterListener();\n\n if (targetRef.current && props.enterActiveClassName?.includes('slidedown')) {\n targetRef.current.style.maxHeight = '';\n }\n\n animating.current = false;\n }\n });\n\n const [bindTargetLeaveListener, unbindTargetLeaveListener] = useEventListener({\n type: 'animationend',\n listener() {\n removeClass(targetRef.current as Element, props.leaveActiveClassName ?? '');\n\n if (props.leaveToClassName) {\n addClass(targetRef.current as Element, props.leaveToClassName);\n }\n\n unbindTargetLeaveListener();\n animating.current = false;\n }\n });\n\n const [bindDocumentClickListener, unbindDocumentClickListener] = useEventListener({\n type: 'click',\n listener(event) {\n if (!isVisible(targetRef.current as HTMLElement) || getComputedStyle(targetRef.current as Element).getPropertyValue('position') === 'static') {\n unbindDocumentClickListener();\n } else if (isOutsideClick(event as MouseEvent)) {\n leave();\n }\n },\n when: props.hideOnOutsideClick\n });\n\n const [bindClickListener, unbindClickListener] = useEventListener({\n type: 'click',\n listener() {\n targetRef.current = resolveTarget() as HTMLElement;\n\n if (props.toggleClassName) {\n if (hasClass(targetRef.current, props.toggleClassName)) {\n removeClass(targetRef.current, props.toggleClassName);\n } else {\n addClass(targetRef.current, props.toggleClassName);\n }\n } else {\n if (isVisible(targetRef.current)) {\n leave();\n } else {\n enter();\n }\n }\n }\n });\n\n // methods\n const enter = React.useCallback(() => {\n if (!targetRef.current) return;\n\n if (props.enterActiveClassName) {\n if (!animating.current) {\n animating.current = true;\n\n if (props.enterActiveClassName.includes('slidedown')) {\n targetRef.current.style.height = '0px';\n removeClass(targetRef.current, (props.hiddenClassName || props.enterFromClassName) ?? '');\n targetRef.current.style.maxHeight = targetRef.current.scrollHeight + 'px';\n addClass(targetRef.current, props.hiddenClassName || props.enterActiveClassName);\n targetRef.current.style.height = '';\n }\n\n addClass(targetRef.current, props.enterActiveClassName);\n\n if (props.enterFromClassName) {\n removeClass(targetRef.current, props.enterFromClassName);\n }\n\n bindTargetEnterListener({ target: targetRef.current });\n }\n } else {\n if (props.enterFromClassName) {\n removeClass(targetRef.current, props.enterFromClassName);\n }\n\n if (props.enterToClassName) {\n addClass(targetRef.current, props.enterToClassName);\n }\n }\n\n bindDocumentClickListener({ target: elementRef.current?.ownerDocument });\n }, [bindDocumentClickListener, bindTargetEnterListener, elementRef, props]);\n\n const leave = React.useCallback(() => {\n if (props.leaveActiveClassName) {\n if (!animating.current) {\n animating.current = true;\n addClass(targetRef.current as Element, props.leaveActiveClassName);\n\n if (props.leaveFromClassName) {\n removeClass(targetRef.current as Element, props.leaveFromClassName);\n }\n\n bindTargetLeaveListener({ target: targetRef.current });\n }\n } else {\n if (props.leaveFromClassName) {\n removeClass(targetRef.current as Element, props.leaveFromClassName);\n }\n\n if (props.leaveToClassName) {\n addClass(targetRef.current as Element, props.leaveToClassName);\n }\n }\n\n if (props.hideOnOutsideClick) {\n unbindDocumentClickListener();\n }\n }, [bindTargetLeaveListener, props, unbindDocumentClickListener]);\n\n const resolveTarget = React.useCallback(() => {\n return targetRef.current || getTargetElement(props.selector, elementRef.current as Element);\n }, [elementRef, props.selector]);\n\n const init = React.useCallback(() => {\n Promise.resolve().then(() => {\n if (props.nodeRef?.current) {\n elementRef.current = toElement(props.nodeRef) as HTMLElement;\n }\n\n setAttribute(elementRef.current as HTMLElement, 'data-pd-styleclass', true);\n bindClickListener({ target: elementRef.current });\n });\n }, [bindClickListener, elementRef, props.nodeRef]);\n\n const destroy = React.useCallback(() => {\n unbindClickListener();\n unbindDocumentClickListener();\n targetRef.current = null;\n }, []);\n\n const isOutsideClick = (event: MouseEvent) => {\n const target = event?.target as Node;\n\n return !elementRef.current?.isSameNode(target) && !elementRef.current?.contains(target) && !targetRef.current?.contains(target);\n };\n\n // effects\n useMountEffect(() => {\n init();\n });\n\n useUpdateEffect(() => {\n init();\n\n return () => {\n unbindClickListener();\n };\n });\n\n useUnmountEffect(() => {\n destroy();\n });\n\n return {\n // element refs\n targetRef,\n // methods\n enter,\n leave\n };\n }\n});\n","import type { useStyleClassProps } from '@primereact/types/shared/styleclass';\n\nexport const defaultProps: useStyleClassProps = {\n nodeRef: undefined,\n selector: undefined,\n enterFromClassName: undefined,\n enterActiveClassName: undefined,\n enterToClassName: undefined,\n leaveFromClassName: undefined,\n leaveActiveClassName: undefined,\n leaveToClassName: undefined,\n hiddenClassName: undefined,\n hideOnOutsideClick: false,\n toggleClassName: undefined\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","useMountEffect","useUnmountEffect","useUpdateEffect","addClass","getTargetElement","hasClass","isVisible","removeClass","setAttribute","toElement","React","defaultProps","useStyleClass","withHeadless","defaultProps","props","elementRef","animating","targetRef","bindTargetEnterListener","unbindTargetEnterListener","useEventListener","_a","_b","removeClass","addClass","bindTargetLeaveListener","unbindTargetLeaveListener","bindDocumentClickListener","unbindDocumentClickListener","event","isVisible","isOutsideClick","leave","bindClickListener","unbindClickListener","resolveTarget","hasClass","enter","getTargetElement","init","toElement","setAttribute","destroy","_c","target","useMountEffect","useUpdateEffect","useUnmountEffect"]}
|
|
1
|
+
{"version":3,"sources":["../../src/styleclass/useStyleClass.ts","../../src/styleclass/useStyleClass.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener } from '@primereact/hooks/use-event-listener';\nimport { useMountEffect } from '@primereact/hooks/use-mount-effect';\nimport { useUnmountEffect } from '@primereact/hooks/use-unmount-effect';\nimport { useUpdateEffect } from '@primereact/hooks/use-update-effect';\nimport { addClass, getTargetElement, hasClass, isElement, isVisible, removeClass, setAttribute, toElement } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useStyleClass.props';\n\nexport const useStyleClass = withHeadless({\n name: 'useStyleClass',\n defaultProps,\n setup({ props, elementRef }) {\n const animating = React.useRef(false);\n\n // element refs\n const targetRef = React.useRef<HTMLElement | null>(null);\n const resizeObserver = React.useRef<ResizeObserver | null>(null);\n\n // events\n const [bindTargetEnterListener, unbindTargetEnterListener] = useEventListener({\n type: 'animationend',\n listener() {\n removeClass(targetRef.current as Element, props.enterActiveClassName ?? '');\n\n if (props.enterToClassName) {\n addClass(targetRef.current as Element, props.enterToClassName);\n }\n\n unbindTargetEnterListener();\n\n if (targetRef.current && props.enterActiveClassName?.includes('slidedown')) {\n targetRef.current.style.maxHeight = '';\n }\n\n animating.current = false;\n }\n });\n\n const [bindTargetLeaveListener, unbindTargetLeaveListener] = useEventListener({\n type: 'animationend',\n listener() {\n removeClass(targetRef.current as Element, props.leaveActiveClassName ?? '');\n\n if (props.leaveToClassName) {\n addClass(targetRef.current as Element, props.leaveToClassName);\n }\n\n unbindTargetLeaveListener();\n animating.current = false;\n }\n });\n\n const [bindDocumentClickListener, unbindDocumentClickListener] = useEventListener({\n type: 'click',\n listener(event) {\n if (!isVisible(targetRef.current as HTMLElement) || getComputedStyle(targetRef.current as Element).getPropertyValue('position') === 'static') {\n unbindDocumentClickListener();\n } else if (isOutsideClick(event as MouseEvent)) {\n leave();\n }\n },\n when: props.hideOnOutsideClick\n });\n\n const [bindWindowResizeListener, unbindWindowResizeListener] = useEventListener({\n type: 'resize',\n listener() {\n if (!isVisible(targetRef.current as HTMLElement)) {\n unbindWindowResizeListener();\n } else {\n leave();\n }\n },\n when: props.hideOnResize\n });\n\n const [bindClickListener, unbindClickListener] = useEventListener({\n type: 'click',\n listener() {\n targetRef.current = resolveTarget() as HTMLElement;\n\n if (props.toggleClassName) {\n if (hasClass(targetRef.current, props.toggleClassName)) {\n removeClass(targetRef.current, props.toggleClassName);\n } else {\n addClass(targetRef.current, props.toggleClassName);\n }\n } else {\n if (isVisible(targetRef.current)) {\n leave();\n } else {\n enter();\n }\n }\n }\n });\n\n // methods\n const enter = React.useCallback(() => {\n if (!targetRef.current) return;\n\n if (props.enterActiveClassName) {\n if (!animating.current) {\n animating.current = true;\n\n if (props.enterActiveClassName.includes('slidedown')) {\n targetRef.current.style.height = '0px';\n removeClass(targetRef.current, (props.hiddenClassName || props.enterFromClassName) ?? '');\n targetRef.current.style.maxHeight = targetRef.current.scrollHeight + 'px';\n addClass(targetRef.current, props.hiddenClassName || props.enterActiveClassName);\n targetRef.current.style.height = '';\n }\n\n addClass(targetRef.current, props.enterActiveClassName);\n\n if (props.enterFromClassName) {\n removeClass(targetRef.current, props.enterFromClassName);\n }\n\n bindTargetEnterListener({ target: targetRef.current });\n }\n } else {\n if (props.enterFromClassName) {\n removeClass(targetRef.current, props.enterFromClassName);\n }\n\n if (props.enterToClassName) {\n addClass(targetRef.current, props.enterToClassName);\n }\n }\n\n if (props.hideOnOutsideClick) {\n bindDocumentClickListener({ target: elementRef.current?.ownerDocument });\n }\n\n if (props.hideOnResize) {\n bindResizeListener();\n }\n }, [bindDocumentClickListener, bindTargetEnterListener, elementRef, props]);\n\n const leave = React.useCallback(() => {\n if (props.leaveActiveClassName) {\n if (!animating.current) {\n animating.current = true;\n addClass(targetRef.current as Element, props.leaveActiveClassName);\n\n if (props.leaveFromClassName) {\n removeClass(targetRef.current as Element, props.leaveFromClassName);\n }\n\n bindTargetLeaveListener({ target: targetRef.current });\n }\n } else {\n if (props.leaveFromClassName) {\n removeClass(targetRef.current as Element, props.leaveFromClassName);\n }\n\n if (props.leaveToClassName) {\n addClass(targetRef.current as Element, props.leaveToClassName);\n }\n }\n\n if (props.hideOnOutsideClick) {\n unbindDocumentClickListener();\n }\n\n if (props.hideOnResize) {\n unbindResizeListener();\n }\n }, [bindTargetLeaveListener, props, unbindDocumentClickListener]);\n\n const bindResizeListener = () => {\n const resizeTarget = getTargetElement(props.resizeSelector ?? 'window');\n\n if (isElement(resizeTarget)) {\n bindElementResizeListener(resizeTarget);\n } else {\n bindWindowResizeListener({ target: 'window' });\n }\n };\n\n const unbindResizeListener = () => {\n unbindWindowResizeListener();\n unbindElementResizeListener();\n };\n\n const bindElementResizeListener = (resizeTarget: Element) => {\n if (!resizeObserver.current && resizeTarget) {\n let isFirstResize = true;\n\n resizeObserver.current = new ResizeObserver(() => {\n if (isFirstResize) {\n isFirstResize = false;\n\n return;\n }\n\n if (isVisible(targetRef.current as HTMLElement)) {\n leave();\n }\n });\n resizeObserver.current.observe(resizeTarget);\n }\n };\n\n const unbindElementResizeListener = () => {\n if (resizeObserver.current) {\n resizeObserver.current.disconnect();\n resizeObserver.current = null;\n }\n };\n\n const resolveTarget = React.useCallback(() => {\n return targetRef.current || getTargetElement(props.selector, elementRef.current as Element);\n }, [elementRef, props.selector]);\n\n const init = React.useCallback(() => {\n Promise.resolve().then(() => {\n if (props.nodeRef?.current) {\n elementRef.current = toElement(props.nodeRef) as HTMLElement;\n }\n\n setAttribute(elementRef.current as HTMLElement, 'data-pd-styleclass', true);\n bindClickListener({ target: elementRef.current });\n });\n }, [bindClickListener, elementRef, props.nodeRef]);\n\n const destroy = React.useCallback(() => {\n unbindClickListener();\n unbindDocumentClickListener();\n unbindResizeListener();\n targetRef.current = null;\n }, []);\n\n const isOutsideClick = (event: MouseEvent) => {\n const target = event?.target as Node;\n\n return !elementRef.current?.isSameNode(target) && !elementRef.current?.contains(target) && !targetRef.current?.contains(target);\n };\n\n // effects\n useMountEffect(() => {\n init();\n });\n\n useUpdateEffect(() => {\n init();\n\n return () => {\n unbindClickListener();\n };\n });\n\n useUnmountEffect(() => {\n destroy();\n });\n\n // prop getters\n const rootProps = {\n 'data-scope': 'styleclass',\n 'data-part': 'root'\n };\n\n return {\n // prop getters\n rootProps,\n // element refs\n targetRef,\n // methods\n enter,\n leave\n };\n }\n});\n","import type { UseStyleClassProps } from '@primereact/types/headless/styleclass';\n\nexport const defaultProps: UseStyleClassProps = {\n nodeRef: undefined,\n selector: undefined,\n enterFromClassName: undefined,\n enterActiveClassName: undefined,\n enterToClassName: undefined,\n leaveFromClassName: undefined,\n leaveActiveClassName: undefined,\n leaveToClassName: undefined,\n hiddenClassName: undefined,\n hideOnOutsideClick: false,\n toggleClassName: undefined,\n hideOnResize: false,\n resizeSelector: undefined\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","useMountEffect","useUnmountEffect","useUpdateEffect","addClass","getTargetElement","hasClass","isElement","isVisible","removeClass","setAttribute","toElement","React","defaultProps","useStyleClass","withHeadless","defaultProps","props","elementRef","animating","targetRef","resizeObserver","bindTargetEnterListener","unbindTargetEnterListener","useEventListener","_a","_b","removeClass","addClass","bindTargetLeaveListener","unbindTargetLeaveListener","bindDocumentClickListener","unbindDocumentClickListener","event","isVisible","isOutsideClick","leave","bindWindowResizeListener","unbindWindowResizeListener","bindClickListener","unbindClickListener","resolveTarget","hasClass","enter","bindResizeListener","unbindResizeListener","resizeTarget","getTargetElement","isElement","bindElementResizeListener","unbindElementResizeListener","isFirstResize","init","toElement","setAttribute","destroy","_c","target","useMountEffect","useUpdateEffect","useUnmountEffect"]}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export declare const useStyleClass: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/
|
|
2
|
+
export declare const useStyleClass: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/styleclass").UseStyleClassProps, unknown, {
|
|
3
|
+
rootProps: {
|
|
4
|
+
'data-scope': string;
|
|
5
|
+
'data-part': string;
|
|
6
|
+
};
|
|
3
7
|
targetRef: React.RefObject<HTMLElement | null>;
|
|
4
8
|
enter: () => void;
|
|
5
9
|
leave: () => void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const defaultProps:
|
|
1
|
+
import type { UseStyleClassProps } from '@primereact/types/headless/styleclass';
|
|
2
|
+
export declare const defaultProps: UseStyleClassProps;
|
package/tabs/index.d.ts
CHANGED
package/tabs/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{withHeadless as
|
|
1
|
+
var J=Object.defineProperty,Q=Object.defineProperties;var X=Object.getOwnPropertyDescriptors;var V=Object.getOwnPropertySymbols;var Y=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable;var I=(s,l,c)=>l in s?J(s,l,{enumerable:!0,configurable:!0,writable:!0,value:c}):s[l]=c,p=(s,l)=>{for(var c in l||(l={}))Y.call(l,c)&&I(s,c,l[c]);if(V)for(var c of V(l))Z.call(l,c)&&I(s,c,l[c]);return s},D=(s,l)=>Q(s,X(l));import{withHeadless as tt}from"@primereact/core/headless";import{useControlledState as et}from"@primereact/hooks/use-controlled-state";import{focus as nt,isRTL as w}from"@primeuix/utils";import*as a from"react";var N={value:void 0,defaultValue:void 0,onValueChange:void 0,selectOnFocus:!1,scrollStrategy:"nearest",tabIndex:0};var ft=tt({name:"useTabs",defaultProps:N,setup:({props:s,id:l})=>{let[c,_]=et({value:s.value,defaultValue:s.defaultValue,onChange:s.onValueChange}),[L,z]=a.useState(!1),[v,K]=a.useState(!1),b=a.useRef(null),A=a.useRef(null),P=a.useRef(null),h=a.useRef(null),R=a.useRef(null),j={activeTab:c,canScrollPrev:L,canScrollNext:v},g=t=>{c!==t&&_([t,{value:t}])},W=t=>t==null?!1:c===t,H=()=>{let t=h.current,e=R.current;!t||!e||(t.style.setProperty("--px-active-bar-width",e.offsetWidth+"px"),t.style.setProperty("--px-active-bar-height",e.offsetHeight+"px"),t.style.setProperty("--px-active-bar-left",e.offsetLeft+"px"),t.style.setProperty("--px-active-bar-top",e.offsetTop+"px"))},x=(t,e)=>{var f,E;let n='[role="tab"]',o='[role="tab"]:not([data-disabled])',r=(T,d)=>{let m=T[d==="next"?"nextElementSibling":"previousElementSibling"];return m?!m.matches(n)||m.hasAttribute("data-disabled")?r(m,d):m:null},u=(T,d)=>{let m=d.parentElement;if(!m)return null;let M=m.querySelectorAll(o);return M.length===0?null:T==="first"?M[0]:M[M.length-1]};if(!t)return;let i=null;switch(e){case"next":i=(f=r(t,"next"))!=null?f:u("first",t);break;case"previous":i=(E=r(t,"previous"))!=null?E:u("last",t);break;case"first":i=u("first",t);break;case"last":i=u("last",t);break}i&&nt(i)},B=(t,e)=>{switch(t.code){case"ArrowRight":x(t.currentTarget,"next");break;case"ArrowLeft":x(t.currentTarget,"previous");break;case"Home":x(t.currentTarget,"first");break;case"End":x(t.currentTarget,"last");break;case"Enter":case"NumpadEnter":case"Space":g(e);break;case"Tab":return;default:break}t.preventDefault()},C=(t,e)=>{s.selectOnFocus||g(e)},F=(t,e)=>{s.selectOnFocus&&g(e)},q=()=>{let t=b.current,e=R.current;if(!t||!e||s.scrollStrategy===!1)return;if(typeof s.scrollStrategy=="function"){s.scrollStrategy(t,e);return}let n=t.clientWidth,o=Math.abs(t.scrollLeft),r=e.offsetLeft,u=e.offsetWidth,i=r+u,f;if(s.scrollStrategy==="center")f=r-(n-u)/2;else{let d=n*.1;if(r<o+d)f=r-d;else if(i>o+n-d)f=i-n+d;else return}let E=t.scrollWidth-n,T=Math.max(0,Math.min(f,E));t.scrollTo({left:w(t)?-T:T,behavior:"smooth"})};a.useEffect(()=>{let t=requestAnimationFrame(()=>{H(),q()});return()=>cancelAnimationFrame(t)},[c]),a.useEffect(()=>{if(!b.current)return;let t=b.current,e=0,n=()=>{S(),H()},o=new MutationObserver(()=>{cancelAnimationFrame(e),e=requestAnimationFrame(n)});o.observe(t,{childList:!0,subtree:!0}),S();let r=new ResizeObserver(n);return r.observe(t),window.addEventListener("resize",n),()=>{cancelAnimationFrame(e),o.disconnect(),r.disconnect(),window.removeEventListener("resize",n)}},[]);let y=()=>{S()},k=()=>{let[t,e]=[A.current,P.current],n=0;return t&&e&&(n=((t==null?void 0:t.offsetWidth)||0)+((e==null?void 0:e.offsetWidth)||0)),n},S=()=>{if(!b.current)return;let t=b.current,{scrollWidth:e,clientWidth:n}=t,o=Math.abs(t.scrollLeft);z(o>1),K(e-n-o>1)},U=()=>{let t=b.current;if(!t)return;let e=k(),n=t.clientWidth-e,o=Math.abs(t.scrollLeft),r=n*.8,u=o-r,i=Math.max(u,0);t.scrollLeft=w(t)?-1*i:i},$=()=>{let t=b.current;if(!t)return;let e=k(),n=t.clientWidth-e,o=Math.abs(t.scrollLeft),r=n*.8,u=o+r,i=t.scrollWidth-n,f=Math.min(u,i);t.scrollLeft=w(t)?-1*f:f},O=a.useMemo(()=>p(p({},L&&{"data-can-scroll-prev":""}),v&&{"data-can-scroll-next":""}),[L,v]),G=a.useMemo(()=>p(p({onScroll:y},L&&{"data-can-scroll-prev":""}),v&&{"data-can-scroll-next":""}),[y,L,v]);return{state:j,updateValue:g,isItemActive:W,focusTab:x,onTabKeyDown:B,onTabClick:C,onTabFocus:F,getTabProps:(t,e)=>{var o;let n=W(t);return D(p(p(p({role:"tab",tabIndex:n?(o=s.tabIndex)!=null?o:0:-1,ref:n?R:void 0,disabled:e,"aria-selected":n,"aria-disabled":e,"aria-controls":`${l}_tabpanel_${t}`},n&&{"data-active":""}),e&&{"data-disabled":""}),O),{onClick:r=>C(r,t),onFocus:r=>F(r,t),onKeyDown:r=>B(r,t)})},getIndicatorProps:()=>{var t,e,n,o;return{ref:h,style:{"--px-active-bar-width":((t=h.current)==null?void 0:t.offsetWidth)+"px","--px-active-bar-height":((e=h.current)==null?void 0:e.offsetHeight)+"px","--px-active-bar-left":((n=h.current)==null?void 0:n.offsetLeft)+"px","--px-active-bar-top":((o=h.current)==null?void 0:o.offsetTop)+"px"}}},scrollPrev:U,scrollNext:$,updateScrollState:S,onContentScroll:y,scrollStateAttrs:O,contentProps:G,contentRef:b,prevButtonRef:A,nextButtonRef:P,activeBarRef:h,activeTabRef:R,updateActiveBar:H}}});export{N as defaultProps,ft as useTabs};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/tabs/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/tabs/useTabs.ts","../../src/tabs/useTabs.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useTabsProps } from '@primereact/types/shared/tabs';\nimport { findSingle, focus, getAttribute, getOffset, getOuterHeight, getOuterWidth } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useTabs.props';\n\nexport const useTabs = withHeadless({\n name: 'useTabs',\n defaultProps,\n setup: ({ props, elementRef }) => {\n const [activeTabState, setActiveTabState] = React.useState<useTabsProps['value']>(props.value ?? undefined);\n const [inkBarDimensionsState, setInkBarDimensionsState] = React.useState<React.CSSProperties>({});\n\n const state = {\n activeTab: activeTabState,\n inkBarDimensions: inkBarDimensionsState\n };\n\n // methods\n const updateValue = (value: string | number | undefined) => {\n if (activeTabState !== value) {\n setActiveTabState(value);\n props.onValueChange?.({\n value\n });\n }\n };\n\n React.useEffect(() => {\n if (props.value !== activeTabState) {\n setActiveTabState(props.value);\n }\n }, [props.value]);\n\n const isItemActive = (key: null | undefined | string | number): boolean => {\n if (key === null || key === undefined) return false;\n\n return activeTabState === key;\n };\n\n const updateInkBar = () => {\n const tabs = elementRef?.current;\n\n if (!tabs) return;\n\n const activeTab = findSingle(tabs, '[data-pc-section=\"tab\"][data-p-active=\"true\"]');\n\n if (!activeTab) return;\n\n // Get elements and their offsets\n const scrollContainer = tabs.querySelector('[data-pc-section=\"content\"]') as HTMLElement;\n\n if (!scrollContainer) return;\n\n const scrollLeft = scrollContainer?.scrollLeft || 0;\n\n const activeTabOffset = getOffset(activeTab as HTMLElement);\n const containerOffset = getOffset(tabs);\n const scrollContainerOffset = getOffset(scrollContainer);\n\n // Get dimensions\n const tabWidth = getOuterWidth(activeTab as HTMLElement);\n const tabHeight = getOuterHeight(activeTab as HTMLElement);\n const scrollContainerHeight = getOuterHeight(scrollContainer);\n\n // Calculate positions\n const leftFromViewport = Number(activeTabOffset.left) - Number(scrollContainerOffset.left);\n const relativeLeft = Number(activeTabOffset.left) - Number(containerOffset.left) + scrollLeft;\n const relativeRight = scrollContainer.offsetWidth - (leftFromViewport + tabWidth);\n const relativeTop = Number(activeTabOffset.top) - Number(scrollContainerOffset.top);\n const relativeBottom = Number(scrollContainerOffset.top) + scrollContainerHeight - (tabHeight + Number(activeTabOffset.top));\n\n return {\n '--width': tabWidth + 'px',\n '--height': tabHeight + 'px',\n '--top': relativeTop + 'px',\n '--left': relativeLeft + 'px',\n '--right': relativeRight + 'px',\n '--bottom': relativeBottom + 'px'\n } as React.CSSProperties;\n };\n\n const focusTab = (tabElement: HTMLElement | null, direction: 'next' | 'previous' | 'first' | 'last'): void => {\n const findTab = (listElement: HTMLElement): HTMLElement | null => {\n return findSingle(listElement, '[data-pc-section=\"tab\"]') as HTMLElement | null;\n };\n\n const findAdjacentTab = (listElement: HTMLElement, direction: 'next' | 'previous', selfCheck = false): HTMLElement | null => {\n const siblingProperty = direction === 'next' ? 'nextElementSibling' : 'previousElementSibling';\n const element = selfCheck ? listElement : (listElement[siblingProperty] as HTMLElement | null);\n\n if (!element) {\n return null;\n }\n\n if (getAttribute(element, 'data-p-disabled')) {\n return findAdjacentTab(element, direction);\n }\n\n return findTab(element);\n };\n\n const findBoundaryTab = (boundary: 'first' | 'last'): HTMLElement | null => {\n const listElement = findSingle(elementRef?.current as HTMLElement, '[data-pc-section=\"tablist\"]') as HTMLElement | null;\n\n if (!listElement) return null;\n\n const tabSelector = '[data-pc-section=\"tab\"]';\n let targetChild: HTMLElement | null = null;\n\n if (boundary === 'first') {\n targetChild = listElement.querySelector(tabSelector) as HTMLElement | null;\n } else {\n const allTabs = listElement.querySelectorAll(tabSelector);\n\n targetChild = allTabs.length > 0 ? (allTabs[allTabs.length - 1] as HTMLElement) : null;\n }\n\n if (!targetChild) return null;\n\n const direction = boundary === 'first' ? 'next' : 'previous';\n\n return findAdjacentTab(targetChild, direction, true);\n };\n\n if (!tabElement) return;\n\n let targetTab: HTMLElement | null = null;\n\n switch (direction) {\n case 'next':\n targetTab = findAdjacentTab(tabElement, 'next');\n\n if (!targetTab) {\n targetTab = findBoundaryTab('first');\n }\n\n break;\n\n case 'previous':\n targetTab = findAdjacentTab(tabElement, 'previous');\n\n if (!targetTab) {\n targetTab = findBoundaryTab('last');\n }\n\n break;\n\n case 'first':\n targetTab = findBoundaryTab('first');\n break;\n\n case 'last':\n targetTab = findBoundaryTab('last');\n break;\n }\n\n if (targetTab) {\n focus(targetTab);\n }\n };\n\n const onTabKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>, value: undefined | string | number) => {\n switch (event.code) {\n case 'ArrowRight':\n focusTab(event.currentTarget, 'next');\n break;\n\n case 'ArrowLeft':\n focusTab(event.currentTarget, 'previous');\n break;\n\n case 'Home':\n focusTab(event.currentTarget, 'first');\n break;\n\n case 'End':\n focusTab(event.currentTarget, 'last');\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n updateValue(value);\n break;\n\n case 'Tab':\n return;\n\n default:\n break;\n }\n\n event.preventDefault();\n };\n\n const onTabClick = (event: React.MouseEvent<HTMLButtonElement>, value: undefined | string | number) => {\n if (!props.selectOnFocus) {\n updateValue(value);\n }\n };\n\n const onTabFocus = (event: React.FocusEvent<HTMLButtonElement>, value: undefined | string | number) => {\n if (props.selectOnFocus) {\n updateValue(value);\n }\n };\n\n // effects\n React.useEffect(() => {\n const raf = requestAnimationFrame(() => {\n const dimensions = updateInkBar();\n\n if (dimensions) {\n setInkBarDimensionsState(dimensions);\n }\n });\n\n return () => cancelAnimationFrame(raf);\n }, [activeTabState]);\n\n return {\n state,\n // methods\n updateValue,\n isItemActive,\n focusTab,\n onTabKeyDown,\n onTabClick,\n onTabFocus\n };\n }\n});\n","import type { useTabsProps } from '@primereact/types/shared/tabs';\n\nexport const defaultProps: useTabsProps = {\n value: undefined,\n onValueChange: undefined,\n selectOnFocus: false\n};\n"],"mappings":"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","names":["withHeadless","findSingle","focus","getAttribute","getOffset","getOuterHeight","getOuterWidth","React","defaultProps","useTabs","withHeadless","defaultProps","props","elementRef","_a","activeTabState","setActiveTabState","inkBarDimensionsState","setInkBarDimensionsState","state","updateValue","value","isItemActive","key","updateInkBar","tabs","activeTab","findSingle","scrollContainer","scrollLeft","activeTabOffset","getOffset","containerOffset","scrollContainerOffset","tabWidth","getOuterWidth","tabHeight","getOuterHeight","scrollContainerHeight","leftFromViewport","relativeLeft","relativeRight","relativeTop","relativeBottom","focusTab","tabElement","direction","findTab","listElement","findAdjacentTab","selfCheck","element","getAttribute","findBoundaryTab","boundary","tabSelector","targetChild","allTabs","targetTab","focus","onTabKeyDown","event","onTabClick","onTabFocus","raf","dimensions"]}
|
|
1
|
+
{"version":3,"sources":["../../src/tabs/useTabs.ts","../../src/tabs/useTabs.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport { focus, isRTL } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useTabs.props';\n\nexport const useTabs = withHeadless({\n name: 'useTabs',\n defaultProps,\n setup: ({ props, id }) => {\n const [activeTabState, setActiveTabState] = useControlledState({\n value: props.value,\n defaultValue: props.defaultValue,\n onChange: props.onValueChange\n });\n const [canScrollPrev, setCanScrollPrev] = React.useState<boolean>(false);\n const [canScrollNext, setCanScrollNext] = React.useState<boolean>(false);\n\n const contentRef = React.useRef<HTMLDivElement>(null);\n const prevButtonRef = React.useRef<HTMLButtonElement>(null);\n const nextButtonRef = React.useRef<HTMLButtonElement>(null);\n const activeBarRef = React.useRef<HTMLElement>(null);\n const activeTabRef = React.useRef<HTMLElement>(null);\n\n const state = {\n activeTab: activeTabState,\n canScrollPrev,\n canScrollNext\n };\n\n // methods\n const updateValue = (value: string | number | undefined) => {\n if (activeTabState !== value) {\n setActiveTabState([value, { value }]);\n }\n };\n\n const isItemActive = (key: null | undefined | string | number): boolean => {\n if (key === null || key === undefined) return false;\n\n return activeTabState === key;\n };\n\n const updateActiveBar = () => {\n const bar = activeBarRef.current;\n const tab = activeTabRef.current;\n\n if (!bar || !tab) return;\n\n bar.style.setProperty('--px-active-bar-width', tab.offsetWidth + 'px');\n bar.style.setProperty('--px-active-bar-height', tab.offsetHeight + 'px');\n bar.style.setProperty('--px-active-bar-left', tab.offsetLeft + 'px');\n bar.style.setProperty('--px-active-bar-top', tab.offsetTop + 'px');\n };\n\n const focusTab = (tabElement: HTMLElement | null, direction: 'next' | 'previous' | 'first' | 'last'): void => {\n const TAB_SELECTOR = '[role=\"tab\"]';\n const ENABLED_TAB_SELECTOR = '[role=\"tab\"]:not([data-disabled])';\n\n const findAdjacentTab = (element: HTMLElement, dir: 'next' | 'previous'): HTMLElement | null => {\n const sibling = element[dir === 'next' ? 'nextElementSibling' : 'previousElementSibling'] as HTMLElement | null;\n\n if (!sibling) return null;\n\n if (!sibling.matches(TAB_SELECTOR) || sibling.hasAttribute('data-disabled')) return findAdjacentTab(sibling, dir);\n\n return sibling;\n };\n\n const findBoundaryTab = (boundary: 'first' | 'last', currentTab: HTMLElement): HTMLElement | null => {\n const container = currentTab.parentElement;\n\n if (!container) return null;\n\n const tabs = container.querySelectorAll<HTMLElement>(ENABLED_TAB_SELECTOR);\n\n if (tabs.length === 0) return null;\n\n return boundary === 'first' ? tabs[0] : tabs[tabs.length - 1];\n };\n\n if (!tabElement) return;\n\n let targetTab: HTMLElement | null = null;\n\n switch (direction) {\n case 'next':\n targetTab = findAdjacentTab(tabElement, 'next') ?? findBoundaryTab('first', tabElement);\n break;\n\n case 'previous':\n targetTab = findAdjacentTab(tabElement, 'previous') ?? findBoundaryTab('last', tabElement);\n break;\n\n case 'first':\n targetTab = findBoundaryTab('first', tabElement);\n break;\n\n case 'last':\n targetTab = findBoundaryTab('last', tabElement);\n break;\n }\n\n if (targetTab) {\n focus(targetTab);\n }\n };\n\n const onTabKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>, value: undefined | string | number) => {\n switch (event.code) {\n case 'ArrowRight':\n focusTab(event.currentTarget, 'next');\n break;\n\n case 'ArrowLeft':\n focusTab(event.currentTarget, 'previous');\n break;\n\n case 'Home':\n focusTab(event.currentTarget, 'first');\n break;\n\n case 'End':\n focusTab(event.currentTarget, 'last');\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n updateValue(value);\n break;\n\n case 'Tab':\n return;\n\n default:\n break;\n }\n\n event.preventDefault();\n };\n\n const onTabClick = (event: React.MouseEvent<HTMLButtonElement>, value: undefined | string | number) => {\n if (!props.selectOnFocus) {\n updateValue(value);\n }\n };\n\n const onTabFocus = (event: React.FocusEvent<HTMLButtonElement>, value: undefined | string | number) => {\n if (props.selectOnFocus) {\n updateValue(value);\n }\n };\n\n const scrollToActiveTab = () => {\n const content = contentRef.current;\n const tab = activeTabRef.current;\n\n if (!content || !tab || props.scrollStrategy === false) return;\n\n if (typeof props.scrollStrategy === 'function') {\n props.scrollStrategy(content, tab);\n\n return;\n }\n\n const contentWidth = content.clientWidth;\n const currentScrollLeft = Math.abs(content.scrollLeft);\n const tabLeft = tab.offsetLeft;\n const tabWidth = tab.offsetWidth;\n const tabRight = tabLeft + tabWidth;\n\n let targetScrollLeft: number;\n\n if (props.scrollStrategy === 'center') {\n targetScrollLeft = tabLeft - (contentWidth - tabWidth) / 2;\n } else {\n // nearest\n const padding = contentWidth * 0.1;\n\n if (tabLeft < currentScrollLeft + padding) {\n targetScrollLeft = tabLeft - padding;\n } else if (tabRight > currentScrollLeft + contentWidth - padding) {\n targetScrollLeft = tabRight - contentWidth + padding;\n } else {\n return;\n }\n }\n\n const maxScrollLeft = content.scrollWidth - contentWidth;\n const clampedScrollLeft = Math.max(0, Math.min(targetScrollLeft, maxScrollLeft));\n\n content.scrollTo({ left: isRTL(content) ? -clampedScrollLeft : clampedScrollLeft, behavior: 'smooth' });\n };\n\n // effects\n React.useEffect(() => {\n const raf = requestAnimationFrame(() => {\n updateActiveBar();\n scrollToActiveTab();\n });\n\n return () => cancelAnimationFrame(raf);\n }, [activeTabState]);\n\n // observers\n React.useEffect(() => {\n if (!contentRef.current) return;\n\n const content = contentRef.current;\n let raf = 0;\n\n const onResize = () => {\n updateScrollState();\n updateActiveBar();\n };\n\n const mo = new MutationObserver(() => {\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(onResize);\n });\n\n mo.observe(content, { childList: true, subtree: true });\n\n updateScrollState();\n\n const ro = new ResizeObserver(onResize);\n\n ro.observe(content);\n\n window.addEventListener('resize', onResize);\n\n return () => {\n cancelAnimationFrame(raf);\n mo.disconnect();\n ro.disconnect();\n window.removeEventListener('resize', onResize);\n };\n }, []);\n\n const onContentScroll = () => {\n updateScrollState();\n };\n\n const getVisibleButtonWidths = () => {\n const [prevButton, nextButton] = [prevButtonRef.current, nextButtonRef.current];\n let width = 0;\n\n if (prevButton && nextButton) {\n width = (prevButton?.offsetWidth || 0) + (nextButton?.offsetWidth || 0);\n }\n\n return width;\n };\n\n const updateScrollState = () => {\n if (!contentRef.current) return;\n\n const content = contentRef.current;\n const { scrollWidth, clientWidth } = content;\n const scrollLeft = Math.abs(content.scrollLeft);\n\n setCanScrollPrev(scrollLeft > 1);\n setCanScrollNext(scrollWidth - clientWidth - scrollLeft > 1);\n };\n\n const scrollPrev = () => {\n const content = contentRef.current;\n\n if (!content) return;\n\n const buttonWidths = getVisibleButtonWidths();\n const width = content.clientWidth - buttonWidths;\n const currentScrollLeft = Math.abs(content.scrollLeft);\n const scrollStep = width * 0.8;\n const targetScrollLeft = currentScrollLeft - scrollStep;\n const scrollLeft = Math.max(targetScrollLeft, 0);\n\n content.scrollLeft = isRTL(content) ? -1 * scrollLeft : scrollLeft;\n };\n\n const scrollNext = () => {\n const content = contentRef.current;\n\n if (!content) return;\n\n const buttonWidths = getVisibleButtonWidths();\n const width = content.clientWidth - buttonWidths;\n const currentScrollLeft = Math.abs(content.scrollLeft);\n const scrollStep = width * 0.8;\n const targetScrollLeft = currentScrollLeft + scrollStep;\n const maxScrollLeft = content.scrollWidth - width;\n const scrollLeft = Math.min(targetScrollLeft, maxScrollLeft);\n\n content.scrollLeft = isRTL(content) ? -1 * scrollLeft : scrollLeft;\n };\n\n const scrollStateAttrs = React.useMemo(\n () => ({\n ...(canScrollPrev && { 'data-can-scroll-prev': '' as const }),\n ...(canScrollNext && { 'data-can-scroll-next': '' as const })\n }),\n [canScrollPrev, canScrollNext]\n );\n\n // prop getters\n const contentProps = React.useMemo(\n () => ({\n onScroll: onContentScroll,\n ...(canScrollPrev && { 'data-can-scroll-prev': '' as const }),\n ...(canScrollNext && { 'data-can-scroll-next': '' as const })\n }),\n [onContentScroll, canScrollPrev, canScrollNext]\n );\n\n const getTabProps = (value: string | number | undefined, disabled?: boolean) => {\n const active = isItemActive(value);\n\n return {\n role: 'tab' as const,\n tabIndex: active ? (props.tabIndex ?? 0) : -1,\n ref: active ? (activeTabRef as React.RefObject<HTMLButtonElement>) : undefined,\n disabled,\n 'aria-selected': active,\n 'aria-disabled': disabled,\n 'aria-controls': `${id}_tabpanel_${value}`,\n ...(active && { 'data-active': '' as const }),\n ...(disabled && { 'data-disabled': '' as const }),\n ...scrollStateAttrs,\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => onTabClick(event, value),\n onFocus: (event: React.FocusEvent<HTMLButtonElement>) => onTabFocus(event, value),\n onKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>) => onTabKeyDown(event, value)\n };\n };\n\n const getIndicatorProps = () => {\n return {\n ref: activeBarRef as React.RefObject<HTMLSpanElement>,\n style: {\n '--px-active-bar-width': activeBarRef.current?.offsetWidth + 'px',\n '--px-active-bar-height': activeBarRef.current?.offsetHeight + 'px',\n '--px-active-bar-left': activeBarRef.current?.offsetLeft + 'px',\n '--px-active-bar-top': activeBarRef.current?.offsetTop + 'px'\n } as React.CSSProperties\n };\n };\n\n return {\n state,\n // methods\n updateValue,\n isItemActive,\n focusTab,\n onTabKeyDown,\n onTabClick,\n onTabFocus,\n // prop getters\n getTabProps,\n getIndicatorProps,\n // scroll\n scrollPrev,\n scrollNext,\n updateScrollState,\n onContentScroll,\n scrollStateAttrs,\n contentProps,\n contentRef,\n prevButtonRef,\n nextButtonRef,\n activeBarRef,\n activeTabRef,\n updateActiveBar\n };\n }\n});\n","import type { UseTabsProps } from '@primereact/types/headless/tabs';\n\nexport const defaultProps: UseTabsProps = {\n value: undefined,\n defaultValue: undefined,\n onValueChange: undefined,\n selectOnFocus: false,\n scrollStrategy: 'nearest',\n tabIndex: 0\n};\n"],"mappings":"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","names":["withHeadless","useControlledState","focus","isRTL","React","defaultProps","useTabs","withHeadless","defaultProps","props","id","activeTabState","setActiveTabState","useControlledState","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","contentRef","prevButtonRef","nextButtonRef","activeBarRef","activeTabRef","state","updateValue","value","isItemActive","key","updateActiveBar","bar","tab","focusTab","tabElement","direction","_a","_b","TAB_SELECTOR","ENABLED_TAB_SELECTOR","findAdjacentTab","element","dir","sibling","findBoundaryTab","boundary","currentTab","container","tabs","targetTab","focus","onTabKeyDown","event","onTabClick","onTabFocus","scrollToActiveTab","content","contentWidth","currentScrollLeft","tabLeft","tabWidth","tabRight","targetScrollLeft","padding","maxScrollLeft","clampedScrollLeft","isRTL","raf","onResize","updateScrollState","mo","ro","onContentScroll","getVisibleButtonWidths","prevButton","nextButton","width","scrollWidth","clientWidth","scrollLeft","scrollPrev","buttonWidths","scrollStep","scrollNext","scrollStateAttrs","__spreadValues","contentProps","disabled","active","__spreadProps","_c","_d"]}
|
package/tabs/useTabs.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { useTabsProps } from '@primereact/types/shared/tabs';
|
|
2
1
|
import * as React from 'react';
|
|
3
|
-
export declare const useTabs: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<
|
|
2
|
+
export declare const useTabs: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/tabs").UseTabsProps, unknown, {
|
|
4
3
|
state: {
|
|
5
4
|
activeTab: string | number | undefined;
|
|
6
|
-
|
|
5
|
+
canScrollPrev: boolean;
|
|
6
|
+
canScrollNext: boolean;
|
|
7
7
|
};
|
|
8
8
|
updateValue: (value: string | number | undefined) => void;
|
|
9
9
|
isItemActive: (key: null | undefined | string | number) => boolean;
|
|
@@ -11,4 +11,43 @@ export declare const useTabs: (inProps?: unknown) => import("@primereact/types/c
|
|
|
11
11
|
onTabKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>, value: undefined | string | number) => void;
|
|
12
12
|
onTabClick: (event: React.MouseEvent<HTMLButtonElement>, value: undefined | string | number) => void;
|
|
13
13
|
onTabFocus: (event: React.FocusEvent<HTMLButtonElement>, value: undefined | string | number) => void;
|
|
14
|
+
getTabProps: (value: string | number | undefined, disabled?: boolean) => {
|
|
15
|
+
onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
16
|
+
onFocus: (event: React.FocusEvent<HTMLButtonElement>) => void;
|
|
17
|
+
onKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>) => void;
|
|
18
|
+
'data-can-scroll-next'?: "" | undefined;
|
|
19
|
+
'data-can-scroll-prev'?: "" | undefined;
|
|
20
|
+
'data-disabled'?: "" | undefined;
|
|
21
|
+
'data-active'?: "" | undefined;
|
|
22
|
+
role: "tab";
|
|
23
|
+
tabIndex: number;
|
|
24
|
+
ref: React.RefObject<HTMLButtonElement> | undefined;
|
|
25
|
+
disabled: boolean | undefined;
|
|
26
|
+
'aria-selected': boolean;
|
|
27
|
+
'aria-disabled': boolean | undefined;
|
|
28
|
+
'aria-controls': string;
|
|
29
|
+
};
|
|
30
|
+
getIndicatorProps: () => {
|
|
31
|
+
ref: React.RefObject<HTMLSpanElement>;
|
|
32
|
+
style: React.CSSProperties;
|
|
33
|
+
};
|
|
34
|
+
scrollPrev: () => void;
|
|
35
|
+
scrollNext: () => void;
|
|
36
|
+
updateScrollState: () => void;
|
|
37
|
+
onContentScroll: () => void;
|
|
38
|
+
scrollStateAttrs: {
|
|
39
|
+
'data-can-scroll-next'?: "" | undefined;
|
|
40
|
+
'data-can-scroll-prev'?: "" | undefined;
|
|
41
|
+
};
|
|
42
|
+
contentProps: {
|
|
43
|
+
'data-can-scroll-next'?: "" | undefined;
|
|
44
|
+
'data-can-scroll-prev'?: "" | undefined;
|
|
45
|
+
onScroll: () => void;
|
|
46
|
+
};
|
|
47
|
+
contentRef: React.RefObject<HTMLDivElement | null>;
|
|
48
|
+
prevButtonRef: React.RefObject<HTMLButtonElement | null>;
|
|
49
|
+
nextButtonRef: React.RefObject<HTMLButtonElement | null>;
|
|
50
|
+
activeBarRef: React.RefObject<HTMLElement | null>;
|
|
51
|
+
activeTabRef: React.RefObject<HTMLElement | null>;
|
|
52
|
+
updateActiveBar: () => void;
|
|
14
53
|
}>;
|
package/tabs/useTabs.props.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const defaultProps:
|
|
1
|
+
import type { UseTabsProps } from '@primereact/types/headless/tabs';
|
|
2
|
+
export declare const defaultProps: UseTabsProps;
|
package/tag/index.d.ts
CHANGED
package/tag/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{withHeadless as
|
|
1
|
+
import{withHeadless as o}from"@primereact/core/headless";var t={};var a=o({name:"useTag",defaultProps:t,setup(){return{rootProps:{"data-scope":"tag","data-part":"root"}}}});export{t as defaultProps,a as useTag};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/tag/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/tag/useTag.ts","../../src/tag/useTag.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useTag.props';\n\nexport const useTag = withHeadless({\n name: 'useTag',\n defaultProps\n});\n","import type {
|
|
1
|
+
{"version":3,"sources":["../../src/tag/useTag.ts","../../src/tag/useTag.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useTag.props';\n\nexport const useTag = withHeadless({\n name: 'useTag',\n defaultProps,\n setup() {\n // prop getters\n const rootProps = {\n 'data-scope': 'tag',\n 'data-part': 'root'\n };\n\n return {\n rootProps\n };\n }\n});\n","import type { UseTagProps } from '@primereact/types/headless/tag';\n\nexport const defaultProps: UseTagProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAA4B,CAAC,EDCnC,IAAMC,EAASC,EAAa,CAC/B,KAAM,SACN,aAAAC,EACA,OAAQ,CAOJ,MAAO,CACH,UANc,CACd,aAAc,MACd,YAAa,MACjB,CAIA,CACJ,CACJ,CAAC","names":["withHeadless","defaultProps","useTag","withHeadless","defaultProps"]}
|
package/tag/useTag.d.ts
CHANGED
|
@@ -1 +1,6 @@
|
|
|
1
|
-
export declare const useTag: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/
|
|
1
|
+
export declare const useTag: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/tag").UseTagProps, unknown, {
|
|
2
|
+
rootProps: {
|
|
3
|
+
'data-scope': string;
|
|
4
|
+
'data-part': string;
|
|
5
|
+
};
|
|
6
|
+
}>;
|
package/tag/useTag.props.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const defaultProps:
|
|
1
|
+
import type { UseTagProps } from '@primereact/types/headless/tag';
|
|
2
|
+
export declare const defaultProps: UseTagProps;
|
package/terminal/index.d.ts
CHANGED
package/terminal/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{withHeadless as
|
|
1
|
+
var h=(c,p,a)=>new Promise((l,o)=>{var i=t=>{try{m(a.next(t))}catch(u){o(u)}},d=t=>{try{m(a.throw(t))}catch(u){o(u)}},m=t=>t.done?l(t.value):Promise.resolve(t.value).then(i,d);m((a=a.apply(c,p)).next())});import{withHeadless as S}from"@primereact/core/headless";import{focus as b}from"@primeuix/utils";import*as n from"react";var g={prompt:void 0,onCommand:void 0};var M=S({name:"useTerminal",defaultProps:g,setup({props:c,elementRef:p}){let[a,l]=n.useState(""),[o,i]=n.useState([]),[d,m]=n.useState(0),t=n.useRef(null),u={commandText:a,commands:o},f=n.useCallback(()=>{i([]),m(0)},[]),C=n.useCallback(s=>{s===null?f():s!==void 0&&i(e=>{if(e.length===0)return e;let r=[...e];return r[r.length-1].response=s,r})},[f]),P=n.useCallback(s=>h(null,null,function*(){if(!c.onCommand)return;let e=c.onCommand(s);if(e instanceof Promise){let r=yield e;C(r)}else C(e)}),[c.onCommand,C]);n.useEffect(()=>{p.current&&(p.current.scrollTop=p.current.scrollHeight)});let R=()=>{t.current&&b(t.current)},x=s=>{switch(s.code){case"ArrowUp":if(o&&o.length){let e=d-1<0?o.length-1:d-1,r=o[e];m(e),l(r.text)}break;case"Enter":case"NumpadEnter":if(a){let e=[...o];e.push({text:a}),m(r=>r+1),l(""),i(e),P(a)}break;default:break}},T=s=>{l(s.target.value)};return{state:u,inputRef:t,rootProps:{"data-scope":"terminal","data-part":"root",onClick:R},promptValueProps:{ref:t,"data-scope":"terminal","data-part":"promptvalue",value:a,type:"text",autoComplete:"off",onChange:T,onKeyDown:x},commandResponseProps:{"data-scope":"terminal","data-part":"commandresponse","aria-live":"polite"},onClick:R,onKeyDown:x,onInputChange:T,clear:f}}});export{g as defaultProps,M as useTerminal};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|