@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,24 +1,62 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UseInputNumberProps } from '@primereact/types/headless/inputnumber';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
export declare const useInputNumber: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<
|
|
3
|
+
export declare const useInputNumber: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<UseInputNumberProps, unknown, {
|
|
4
4
|
state: {
|
|
5
|
-
|
|
5
|
+
value: number | null | undefined;
|
|
6
|
+
formattedValue: string;
|
|
7
|
+
};
|
|
8
|
+
rootProps: {
|
|
9
|
+
'data-readonly'?: "" | undefined;
|
|
10
|
+
'data-invalid'?: "" | undefined;
|
|
11
|
+
'data-disabled'?: "" | undefined;
|
|
12
|
+
'data-scope': string;
|
|
13
|
+
'data-part': string;
|
|
14
|
+
};
|
|
15
|
+
inputProps: {
|
|
16
|
+
'data-readonly'?: "" | undefined;
|
|
17
|
+
'data-invalid'?: "" | undefined;
|
|
18
|
+
'data-disabled'?: "" | undefined;
|
|
19
|
+
'data-scope': string;
|
|
20
|
+
'data-part': string;
|
|
21
|
+
role: "spinbutton";
|
|
22
|
+
'aria-valuemin': number | undefined;
|
|
23
|
+
'aria-valuemax': number | undefined;
|
|
24
|
+
'aria-valuenow': number | undefined;
|
|
25
|
+
inputMode: "numeric" | "decimal";
|
|
26
|
+
disabled: true | undefined;
|
|
27
|
+
readOnly: true | undefined;
|
|
28
|
+
onChange: (event: React.FormEvent<HTMLInputElement>) => void;
|
|
29
|
+
onInput: (event: React.FormEvent<HTMLInputElement>) => void;
|
|
30
|
+
onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
31
|
+
onKeyPress: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
32
|
+
onClick: (event: React.MouseEvent<HTMLInputElement>) => void;
|
|
33
|
+
onPaste: (event: React.ClipboardEvent<HTMLInputElement>) => void;
|
|
34
|
+
onFocus: (event: React.FocusEvent<HTMLInputElement>) => void;
|
|
35
|
+
onBlur: (event: React.FocusEvent<HTMLInputElement>) => void;
|
|
36
|
+
};
|
|
37
|
+
incrementProps: {
|
|
38
|
+
disabled: boolean;
|
|
39
|
+
tabIndex: number;
|
|
40
|
+
onPointerDown: () => void;
|
|
41
|
+
onPointerUp: () => void;
|
|
42
|
+
onPointerLeave: () => void;
|
|
43
|
+
onKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;
|
|
44
|
+
onKeyUp: () => void;
|
|
45
|
+
};
|
|
46
|
+
decrementProps: {
|
|
47
|
+
disabled: boolean;
|
|
48
|
+
tabIndex: number;
|
|
49
|
+
onPointerDown: () => void;
|
|
50
|
+
onPointerUp: () => void;
|
|
51
|
+
onPointerLeave: () => void;
|
|
52
|
+
onKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;
|
|
53
|
+
onKeyUp: () => void;
|
|
6
54
|
};
|
|
7
|
-
inputRef: React.RefObject<{
|
|
8
|
-
elementRef: React.RefObject<HTMLInputElement>;
|
|
9
|
-
} | null>;
|
|
10
|
-
onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
11
|
-
onInput: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
12
|
-
onInputKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
13
|
-
onInputKeyPress: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
14
|
-
onInputClick: () => void;
|
|
15
|
-
onPaste: (event: React.ClipboardEvent<HTMLInputElement>) => void;
|
|
16
|
-
onInputFocus: (event: React.FocusEvent<HTMLInputElement>) => void;
|
|
17
|
-
onInputBlur: (event: React.FocusEvent<HTMLInputElement>) => void;
|
|
18
|
-
onValueChange: ((event: import("@primereact/types/shared/inputnumber").useInputNumberValueChangeEvent) => void) | undefined;
|
|
19
55
|
maxBoundry: () => boolean;
|
|
20
56
|
minBoundry: () => boolean;
|
|
21
|
-
increment: (event: React.KeyboardEvent<HTMLInputElement> | React.MouseEvent<HTMLInputElement> | React.PointerEvent<HTMLButtonElement
|
|
22
|
-
decrement: (event: React.KeyboardEvent<HTMLInputElement> | React.MouseEvent<HTMLInputElement> | React.PointerEvent<HTMLButtonElement
|
|
57
|
+
increment: (event: React.KeyboardEvent<HTMLInputElement> | React.MouseEvent<HTMLInputElement> | React.PointerEvent<HTMLButtonElement> | null, dir: number) => void;
|
|
58
|
+
decrement: (event: React.KeyboardEvent<HTMLInputElement> | React.MouseEvent<HTMLInputElement> | React.PointerEvent<HTMLButtonElement> | null, dir: number) => void;
|
|
59
|
+
stepUp: () => void;
|
|
60
|
+
stepDown: () => void;
|
|
23
61
|
stopSpin: () => void;
|
|
24
62
|
}>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const defaultProps:
|
|
1
|
+
import type { UseInputNumberProps } from '@primereact/types/headless/inputnumber';
|
|
2
|
+
export declare const defaultProps: UseInputNumberProps;
|
package/inputotp/index.d.ts
CHANGED
package/inputotp/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{withHeadless as
|
|
1
|
+
import{withHeadless as D}from"@primereact/core/headless";import{useControlledState as w}from"@primereact/hooks/use-controlled-state";import{isTouchDevice as P}from"@primeuix/utils";import*as o from"react";var b={value:void 0,defaultValue:void 0,integerOnly:!1,mask:!1,disabled:void 0,onValueChange:void 0};var K=D({name:"useInputOtp",defaultProps:b,setup({props:n,id:h}){let[s,R]=w({value:n.value,defaultValue:n.defaultValue,onChange:n.onValueChange}),l=o.useMemo(()=>{let t=s!=null?s:"";return typeof t=="string"&&t?t.split(""):[]},[s]),c=o.useRef(null),m=o.useCallback(t=>{c.current=t},[]),p=o.useCallback(()=>c.current?Array.from(c.current.querySelectorAll('[data-scope="inputotp"][data-part="text"]')):[],[]),x={value:s,tokens:l},k=t=>t>="0"&&t<="9",d=o.useMemo(()=>n.integerOnly?"numeric":"text",[n.integerOnly]),f=o.useMemo(()=>n.mask?"password":"text",[n.mask]),E=(t,e)=>{let a=e.join("");R([a,{originalEvent:t,value:a}])},T=(t,e)=>{let a=t.nativeEvent,u=t.target,r=[...l];r[e]=u.value,E(t,r),a.inputType==="deleteContentBackward"?i(t):(a.inputType==="insertText"||a.inputType==="deleteContentForward"||P()&&t instanceof CustomEvent)&&I(t)},i=t=>{let e=M(t.target);e&&(e.focus(),e.select())},I=t=>{let e=g(t.target);e&&(e.focus(),e.select())},g=t=>{let e=t.nextElementSibling;return e?e.nodeName==="INPUT"?e:g(e):null},M=t=>{let e=t.previousElementSibling;return e?e.nodeName==="INPUT"?e:M(e):null},y=t=>{setTimeout(()=>t.target.select(),1)},H=t=>{if(!(t.ctrlKey||t.metaKey))switch(t.code){case"ArrowLeft":i(t),t.preventDefault();break;case"ArrowUp":case"ArrowDown":t.preventDefault();break;case"Backspace":t.target.value.length===0&&(i(t),t.preventDefault());break;case"ArrowRight":I(t),t.preventDefault();break;case"Enter":case"NumpadEnter":case"Tab":break;default:(n.integerOnly&&(t.code==="Space"||!k(t.key))||l.length>=p().length&&t.code!=="Delete")&&t.preventDefault();break}},L=t=>{let e=t.clipboardData.getData("text");if(e.length){let a=e.substring(0,p().length);if(!n.integerOnly||!isNaN(Number(a))){let u=a.split("");E(t,u)}}t.preventDefault()};return{state:x,rootProps:{ref:m,id:h,"data-scope":"inputotp","data-part":"root"},getTextProps:(t,e)=>{var r;let a=v=>T(v,t),u=n.disabled!==void 0?n.disabled:e;return{"data-scope":"inputotp","data-part":"text",value:(r=l[t])!=null?r:"",type:f,inputMode:d,disabled:u,"data-index":t,onInput:a,onClick:y,onKeyDown:H,onPaste:L}},getInputEls:p,setRootRef:m,inputMode:d,inputType:f,onInput:T,onClick:y,onKeyDown:H,onPaste:L}}});export{b as defaultProps,K as useInputOtp};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/inputotp/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/inputotp/useInputOtp.ts","../../src/inputotp/useInputOtp.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useInputOtpProps } from '@primereact/types/shared/inputotp';\nimport { isTouchDevice } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useInputOtp.props';\n\nexport const useInputOtp = withHeadless({\n name: 'useInputOtp',\n defaultProps,\n setup({ props }) {\n const [valueState, setValueState] = React.useState<useInputOtpProps['value']>(props.value ?? props.defaultValue ?? null);\n const [tokens, setTokens] = React.useState<string[]>(() => {\n const initialValue = props.value ?? props.defaultValue ?? '';\n\n return initialValue && typeof initialValue === 'string' ? initialValue.split('') : [];\n });\n const textCounter = React.useRef(0);\n\n const state = {\n value: valueState,\n tokens\n };\n\n const registerText = React.useCallback(() => {\n const index = textCounter.current;\n\n textCounter.current += 1;\n\n return index;\n }, []);\n\n const inputMode = React.useCallback(() => {\n return props.integerOnly ? 'numeric' : 'text';\n }, [props.integerOnly]);\n\n const inputType = React.useCallback(() => {\n return props.mask ? 'password' : 'text';\n }, [props.maks]);\n\n const updateValue = (event: React.FormEvent<HTMLInputElement> | React.ClipboardEvent<HTMLInputElement>) => {\n const newValue = tokens.join('');\n\n setValueState(newValue);\n\n props.onValueChange?.({\n originalEvent: event,\n value: newValue\n });\n };\n\n const onInput = (event: React.FormEvent<HTMLInputElement>, index: number) => {\n const inputEvent = event.nativeEvent as InputEvent;\n const target = event.target as HTMLInputElement;\n const currentTokens = [...tokens];\n\n currentTokens[index] = target.value;\n setTokens(currentTokens);\n updateValue(event);\n\n if (inputEvent.inputType === 'deleteContentBackward') {\n moveToPrev(event);\n } else if (inputEvent.inputType === 'insertText' || inputEvent.inputType === 'deleteContentForward' || (isTouchDevice() && event instanceof CustomEvent)) {\n moveToNext(event);\n }\n };\n\n const moveToPrev = (event: React.FormEvent<HTMLInputElement>) => {\n const prevInput = findPrevInput(event.target as HTMLInputElement);\n\n if (prevInput) {\n prevInput.focus();\n prevInput.select();\n }\n };\n\n const moveToNext = (event: React.FormEvent<HTMLInputElement>) => {\n const nextInput = findNextInput(event.target as HTMLInputElement);\n\n if (nextInput) {\n nextInput.focus();\n nextInput.select();\n }\n };\n\n const findNextInput = (element: HTMLInputElement): HTMLInputElement | null => {\n const nextInput = element.nextElementSibling;\n\n if (!nextInput) return null;\n\n return nextInput.nodeName === 'INPUT' ? (nextInput as HTMLInputElement) : findNextInput(nextInput as HTMLInputElement);\n };\n\n const findPrevInput = (element: HTMLInputElement): HTMLInputElement | null => {\n const prevInput = element.previousElementSibling;\n\n if (!prevInput) return null;\n\n return prevInput.nodeName === 'INPUT' ? (prevInput as HTMLInputElement) : findPrevInput(prevInput as HTMLInputElement);\n };\n\n const onClick = (event: React.MouseEvent<HTMLInputElement>) => {\n setTimeout(() => (event.target as HTMLInputElement).select(), 1);\n };\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.ctrlKey || event.metaKey) {\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n moveToPrev(event);\n event.preventDefault();\n\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n\n break;\n\n case 'Backspace':\n if ((event.target as HTMLInputElement).value.length === 0) {\n moveToPrev(event);\n event.preventDefault();\n }\n\n break;\n\n case 'ArrowRight':\n moveToNext(event);\n event.preventDefault();\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Tab':\n break;\n\n default:\n if ((props.integerOnly && !(event.code !== 'Space' && Number(event.key) >= 0 && Number(event.key) <= 9)) || (tokens.join('').length >= textCounter.current && event.code !== 'Delete')) {\n event.preventDefault();\n }\n\n break;\n }\n };\n\n const onPaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const paste = event.clipboardData.getData('text');\n\n if (paste.length) {\n const pastedCode = paste.substring(0, textCounter.current);\n\n if (!props.integerOnly || !isNaN(Number(pastedCode))) {\n const newTokens = pastedCode.split('');\n\n setTokens(newTokens);\n updateValue(event);\n }\n }\n\n event.preventDefault();\n };\n\n return {\n state,\n // methods\n registerText,\n inputMode,\n inputType,\n onInput,\n onClick,\n onKeyDown,\n onPaste\n };\n }\n});\n","import type { useInputOtpProps } from '@primereact/types/shared/inputotp';\n\nexport const defaultProps: useInputOtpProps = {\n value: undefined,\n defaultValue: undefined,\n integerOnly: false,\n mask: false,\n onValueChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","isTouchDevice","React","defaultProps","useInputOtp","withHeadless","defaultProps","props","_a","_b","valueState","setValueState","tokens","setTokens","initialValue","textCounter","state","registerText","index","inputMode","inputType","updateValue","event","newValue","onInput","inputEvent","target","currentTokens","moveToPrev","isTouchDevice","moveToNext","prevInput","findPrevInput","nextInput","findNextInput","element","paste","pastedCode","newTokens"]}
|
|
1
|
+
{"version":3,"sources":["../../src/inputotp/useInputOtp.ts","../../src/inputotp/useInputOtp.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport { isTouchDevice } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useInputOtp.props';\n\nexport const useInputOtp = withHeadless({\n name: 'useInputOtp',\n defaultProps,\n setup({ props, id }) {\n const [valueState, setValueState] = useControlledState({\n value: props.value,\n defaultValue: props.defaultValue,\n onChange: props.onValueChange\n });\n\n const tokens = React.useMemo(() => {\n const val = valueState ?? '';\n\n return typeof val === 'string' && val ? val.split('') : [];\n }, [valueState]);\n\n const rootRef = React.useRef<HTMLElement | null>(null);\n\n const setRootRef = React.useCallback((node: HTMLElement | null) => {\n rootRef.current = node;\n }, []);\n\n const getInputEls = React.useCallback((): HTMLInputElement[] => {\n if (!rootRef.current) return [];\n\n return Array.from(rootRef.current.querySelectorAll<HTMLInputElement>('[data-scope=\"inputotp\"][data-part=\"text\"]'));\n }, []);\n\n const state = {\n value: valueState,\n tokens\n };\n\n const isDigit = (key: string) => key >= '0' && key <= '9';\n\n const inputMode = React.useMemo((): 'numeric' | 'text' => {\n return props.integerOnly ? 'numeric' : 'text';\n }, [props.integerOnly]);\n\n const inputType = React.useMemo(() => {\n return props.mask ? 'password' : 'text';\n }, [props.mask]);\n\n const updateTokens = (event: React.SyntheticEvent<HTMLInputElement>, currentTokens: string[]) => {\n const newValue = currentTokens.join('');\n\n setValueState([\n newValue,\n {\n originalEvent: event,\n value: newValue\n }\n ]);\n };\n\n const onInput = (event: React.SyntheticEvent<HTMLInputElement>, index: number) => {\n const inputEvent = event.nativeEvent as InputEvent;\n const target = event.target as HTMLInputElement;\n const currentTokens = [...tokens];\n\n currentTokens[index] = target.value;\n updateTokens(event, currentTokens);\n\n if (inputEvent.inputType === 'deleteContentBackward') {\n moveToPrev(event);\n } else if (inputEvent.inputType === 'insertText' || inputEvent.inputType === 'deleteContentForward' || (isTouchDevice() && event instanceof CustomEvent)) {\n moveToNext(event);\n }\n };\n\n const moveToPrev = (event: React.SyntheticEvent<HTMLInputElement>) => {\n const prevInput = findPrevInput(event.target as HTMLInputElement);\n\n if (prevInput) {\n prevInput.focus();\n prevInput.select();\n }\n };\n\n const moveToNext = (event: React.SyntheticEvent<HTMLInputElement>) => {\n const nextInput = findNextInput(event.target as HTMLInputElement);\n\n if (nextInput) {\n nextInput.focus();\n nextInput.select();\n }\n };\n\n const findNextInput = (element: HTMLInputElement): HTMLInputElement | null => {\n const nextInput = element.nextElementSibling;\n\n if (!nextInput) return null;\n\n return nextInput.nodeName === 'INPUT' ? (nextInput as HTMLInputElement) : findNextInput(nextInput as HTMLInputElement);\n };\n\n const findPrevInput = (element: HTMLInputElement): HTMLInputElement | null => {\n const prevInput = element.previousElementSibling;\n\n if (!prevInput) return null;\n\n return prevInput.nodeName === 'INPUT' ? (prevInput as HTMLInputElement) : findPrevInput(prevInput as HTMLInputElement);\n };\n\n const onClick = (event: React.MouseEvent<HTMLInputElement>) => {\n setTimeout(() => (event.target as HTMLInputElement).select(), 1);\n };\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.ctrlKey || event.metaKey) {\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n moveToPrev(event);\n event.preventDefault();\n\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n\n break;\n\n case 'Backspace':\n if ((event.target as HTMLInputElement).value.length === 0) {\n moveToPrev(event);\n event.preventDefault();\n }\n\n break;\n\n case 'ArrowRight':\n moveToNext(event);\n event.preventDefault();\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Tab':\n break;\n\n default:\n if ((props.integerOnly && (event.code === 'Space' || !isDigit(event.key))) || (tokens.length >= getInputEls().length && event.code !== 'Delete')) {\n event.preventDefault();\n }\n\n break;\n }\n };\n\n const onPaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const paste = event.clipboardData.getData('text');\n\n if (paste.length) {\n const pastedCode = paste.substring(0, getInputEls().length);\n\n if (!props.integerOnly || !isNaN(Number(pastedCode))) {\n const newTokens = pastedCode.split('');\n\n updateTokens(event, newTokens);\n }\n }\n\n event.preventDefault();\n };\n\n // prop getters\n const rootProps = {\n ref: setRootRef,\n id,\n 'data-scope': 'inputotp' as const,\n 'data-part': 'root' as const\n };\n\n const getTextProps = (index: number, fallbackDisabled?: boolean) => {\n const handleInput = (e: React.SyntheticEvent<HTMLInputElement>) => onInput(e, index);\n const resolvedDisabled: boolean | undefined = props.disabled !== undefined ? props.disabled : fallbackDisabled;\n\n return {\n 'data-scope': 'inputotp' as const,\n 'data-part': 'text' as const,\n value: tokens[index] ?? '',\n type: inputType,\n inputMode: inputMode as 'numeric' | 'text',\n disabled: resolvedDisabled,\n 'data-index': index,\n onInput: handleInput,\n onClick,\n onKeyDown,\n onPaste\n };\n };\n\n return {\n state,\n // prop getters\n rootProps,\n getTextProps,\n // methods\n getInputEls,\n setRootRef,\n inputMode,\n inputType,\n onInput,\n onClick,\n onKeyDown,\n onPaste\n };\n }\n});\n","import type { UseInputOtpProps } from '@primereact/types/headless/inputotp';\n\nexport const defaultProps: UseInputOtpProps = {\n value: undefined,\n defaultValue: undefined,\n integerOnly: false,\n mask: false,\n disabled: undefined,\n onValueChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","useControlledState","isTouchDevice","React","defaultProps","useInputOtp","withHeadless","defaultProps","props","id","valueState","setValueState","useControlledState","tokens","val","rootRef","setRootRef","node","getInputEls","state","isDigit","key","inputMode","inputType","updateTokens","event","currentTokens","newValue","onInput","index","inputEvent","target","moveToPrev","isTouchDevice","moveToNext","prevInput","findPrevInput","nextInput","findNextInput","element","onClick","onKeyDown","onPaste","paste","pastedCode","newTokens","fallbackDisabled","_a","handleInput","e","resolvedDisabled"]}
|
|
@@ -1,14 +1,33 @@
|
|
|
1
|
-
import { useInputOtpProps } from '@primereact/types/shared/inputotp';
|
|
2
1
|
import * as React from 'react';
|
|
3
|
-
export declare const useInputOtp: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<
|
|
2
|
+
export declare const useInputOtp: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/inputotp").UseInputOtpProps, unknown, {
|
|
4
3
|
state: {
|
|
5
4
|
value: string | null | undefined;
|
|
6
5
|
tokens: string[];
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
rootProps: {
|
|
8
|
+
ref: (node: HTMLElement | null) => void;
|
|
9
|
+
id: string | undefined;
|
|
10
|
+
'data-scope': "inputotp";
|
|
11
|
+
'data-part': "root";
|
|
12
|
+
};
|
|
13
|
+
getTextProps: (index: number, fallbackDisabled?: boolean) => {
|
|
14
|
+
'data-scope': "inputotp";
|
|
15
|
+
'data-part': "text";
|
|
16
|
+
value: string;
|
|
17
|
+
type: string;
|
|
18
|
+
inputMode: "numeric" | "text";
|
|
19
|
+
disabled: boolean | undefined;
|
|
20
|
+
'data-index': number;
|
|
21
|
+
onInput: (e: React.SyntheticEvent<HTMLInputElement>) => void;
|
|
22
|
+
onClick: (event: React.MouseEvent<HTMLInputElement>) => void;
|
|
23
|
+
onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
24
|
+
onPaste: (event: React.ClipboardEvent<HTMLInputElement>) => void;
|
|
25
|
+
};
|
|
26
|
+
getInputEls: () => HTMLInputElement[];
|
|
27
|
+
setRootRef: (node: HTMLElement | null) => void;
|
|
28
|
+
inputMode: "text" | "numeric";
|
|
29
|
+
inputType: string;
|
|
30
|
+
onInput: (event: React.SyntheticEvent<HTMLInputElement>, index: number) => void;
|
|
12
31
|
onClick: (event: React.MouseEvent<HTMLInputElement>) => void;
|
|
13
32
|
onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
14
33
|
onPaste: (event: React.ClipboardEvent<HTMLInputElement>) => void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const defaultProps:
|
|
1
|
+
import type { UseInputOtpProps } from '@primereact/types/headless/inputotp';
|
|
2
|
+
export declare const defaultProps: UseInputOtpProps;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var h=Object.defineProperty;var r=Object.getOwnPropertySymbols;var w=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable;var d=(e,a,t)=>a in e?h(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t,l=(e,a)=>{for(var t in a||(a={}))w.call(a,t)&&d(e,t,a[t]);if(r)for(var t of r(a))C.call(a,t)&&d(e,t,a[t]);return e};import{withHeadless as P}from"@primereact/core/headless";import{useControlledState as i}from"@primereact/hooks/use-controlled-state";var p={value:void 0,defaultValue:void 0,mask:void 0,defaultMask:!0,onValueChange:void 0,onMaskChange:void 0,invalid:void 0};var y=P({name:"useInputPassword",defaultProps:p,setup({props:e}){var s;let[a,t]=i({value:e.value,defaultValue:e.defaultValue,onChange:e.onValueChange}),[n,f]=i({value:e.mask,defaultValue:(s=e.defaultMask)!=null?s:!0,onChange:e.onMaskChange}),m={value:a,mask:n!=null?n:!0},c=o=>{let u=o.target.value;t([u,{originalEvent:o,value:u}])},g=()=>{f([!n,{value:!n}])},v=l({"data-scope":"password","data-part":"root",type:n?"password":"text",onChange:c},e.invalid?{"data-invalid":""}:{});return{state:m,rootProps:v,toggleMask:g}}});export{p as defaultProps,y as useInputPassword};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/inputpassword/useInputPassword.ts","../../src/inputpassword/useInputPassword.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport * as React from 'react';\nimport { defaultProps } from './useInputPassword.props';\n\nexport const useInputPassword = withHeadless({\n name: 'useInputPassword',\n defaultProps,\n setup({ props }) {\n const [valueState, setValueState] = useControlledState({\n value: props.value,\n defaultValue: props.defaultValue,\n onChange: props.onValueChange\n });\n\n const [maskState, setMaskState] = useControlledState({\n value: props.mask,\n defaultValue: props.defaultMask ?? true,\n onChange: props.onMaskChange\n });\n\n const state = {\n value: valueState,\n mask: maskState ?? true\n };\n\n const onInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = event.target.value;\n\n setValueState([\n newValue,\n {\n originalEvent: event,\n value: newValue\n }\n ]);\n };\n\n const toggleMask = () => {\n setMaskState([!maskState, { value: !maskState }]);\n };\n\n // prop getters\n const rootProps = {\n 'data-scope': 'password',\n 'data-part': 'root',\n type: maskState ? ('password' as const) : ('text' as const),\n onChange: onInputChange,\n ...(props.invalid ? { 'data-invalid': '' } : {})\n };\n\n return {\n state,\n // prop getters\n rootProps,\n // methods\n toggleMask\n };\n }\n});\n","import type { UseInputPasswordProps } from '@primereact/types/headless/inputpassword';\n\nexport const defaultProps: UseInputPasswordProps = {\n value: undefined,\n defaultValue: undefined,\n mask: undefined,\n defaultMask: true,\n onValueChange: undefined,\n onMaskChange: undefined,\n invalid: undefined\n};\n"],"mappings":"yVAAA,OAAS,gBAAAA,MAAoB,4BAC7B,OAAS,sBAAAC,MAA0B,yCCC5B,IAAMC,EAAsC,CAC/C,MAAO,OACP,aAAc,OACd,KAAM,OACN,YAAa,GACb,cAAe,OACf,aAAc,OACd,QAAS,MACb,EDLO,IAAMC,EAAmBC,EAAa,CACzC,KAAM,mBACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CARrB,IAAAC,EASQ,GAAM,CAACC,EAAYC,CAAa,EAAIC,EAAmB,CACnD,MAAOJ,EAAM,MACb,aAAcA,EAAM,aACpB,SAAUA,EAAM,aACpB,CAAC,EAEK,CAACK,EAAWC,CAAY,EAAIF,EAAmB,CACjD,MAAOJ,EAAM,KACb,cAAcC,EAAAD,EAAM,cAAN,KAAAC,EAAqB,GACnC,SAAUD,EAAM,YACpB,CAAC,EAEKO,EAAQ,CACV,MAAOL,EACP,KAAMG,GAAA,KAAAA,EAAa,EACvB,EAEMG,EAAiBC,GAA+C,CAClE,IAAMC,EAAWD,EAAM,OAAO,MAE9BN,EAAc,CACVO,EACA,CACI,cAAeD,EACf,MAAOC,CACX,CACJ,CAAC,CACL,EAEMC,EAAa,IAAM,CACrBL,EAAa,CAAC,CAACD,EAAW,CAAE,MAAO,CAACA,CAAU,CAAC,CAAC,CACpD,EAGMO,EAAYC,EAAA,CACd,aAAc,WACd,YAAa,OACb,KAAMR,EAAa,WAAwB,OAC3C,SAAUG,GACNR,EAAM,QAAU,CAAE,eAAgB,EAAG,EAAI,CAAC,GAGlD,MAAO,CACH,MAAAO,EAEA,UAAAK,EAEA,WAAAD,CACJ,CACJ,CACJ,CAAC","names":["withHeadless","useControlledState","defaultProps","useInputPassword","withHeadless","defaultProps","props","_a","valueState","setValueState","useControlledState","maskState","setMaskState","state","onInputChange","event","newValue","toggleMask","rootProps","__spreadValues"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare const useInputPassword: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/inputpassword").UseInputPasswordProps, unknown, {
|
|
3
|
+
state: {
|
|
4
|
+
value: string | undefined;
|
|
5
|
+
mask: boolean;
|
|
6
|
+
};
|
|
7
|
+
rootProps: {
|
|
8
|
+
'data-invalid'?: string | undefined;
|
|
9
|
+
'data-scope': string;
|
|
10
|
+
'data-part': string;
|
|
11
|
+
type: "text" | "password";
|
|
12
|
+
onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
13
|
+
};
|
|
14
|
+
toggleMask: () => void;
|
|
15
|
+
}>;
|
package/inputtags/index.d.ts
CHANGED
package/inputtags/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{withHeadless as
|
|
1
|
+
import{withHeadless as N}from"@primereact/core/headless";import{useControlledState as w}from"@primereact/hooks/use-controlled-state";import{focus as k,toElement as P}from"@primeuix/utils";import*as r from"react";var C={defaultValue:void 0,value:void 0,defaultInputValue:"",inputValue:void 0,name:void 0,disabled:void 0,max:void 0,delimiter:void 0,allowDuplicate:void 0,invalid:!1,variant:void 0,fluid:void 0,addOnBlur:void 0,addOnPaste:void 0,addOnTab:void 0,onAdd:void 0,onRemove:void 0,onValueChange:void 0,onInputValueChange:void 0};var ne=N({name:"useInputTags",defaultProps:C,setup({props:t}){var V,p;let[l,c]=r.useState(-1),[D,y]=r.useState(!1),L=r.useRef((V=t.defaultValue)!=null?V:[]),[n,b]=w({value:t.value,defaultValue:L.current,onChange:t.onValueChange}),[u,x]=w({value:t.inputValue,defaultValue:(p=t.defaultInputValue)!=null?p:"",onChange:t.onInputValueChange}),f=r.useRef(null),M=r.useRef(new Map),m={value:n!=null?n:[],inputValue:u!=null?u:"",focusedItemIndex:l,focused:D},v=e=>typeof e=="string"?new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")):e,E=!u||u.length===0,h=!!(u&&u.trim()),i=e=>{if(t.disabled)return[];let o=n!=null?n:[],a=[],g=Array.isArray(e)?e:[e];for(let R of g){let d=R.trim();if(d){if(t.max!==void 0&&o.length+a.length>=t.max)break;!t.allowDuplicate&&(o.includes(d)||a.includes(d))||a.push(d)}}if(!a.length)return[];let s=[...o,...a];return b([s,{value:s}]),a.forEach(R=>{var d;return(d=t.onAdd)==null?void 0:d.call(t,{value:R})}),x(["",{query:""}]),a},I=e=>{var a;if(t.disabled||!n)return;let o=n.filter((g,s)=>s!==e);b([o,{value:o}]),(a=t.onRemove)==null||a.call(t,{value:n[e],index:e}),c(-1)},K=()=>{n&&n.length>0&&I(n.length-1)},H=()=>{t.disabled||!n||b([[],{value:[]}])},A=()=>{let e=l;E&&n&&n.length>0&&(e=e===-1?n.length-1:e-1,e<0&&(e=0)),c(e)},B=()=>{let e=l;E&&n&&n.length>0&&(e===n.length-1?(e=-1,f.current&&k(P(f))):e!==-1&&e++),c(e)},O=()=>{if(l!==-1){I(l);return}!u&&n&&n.length>0&&I(n.length-1)},S=()=>{l!==-1&&I(l)},F=e=>{e.defaultPrevented||h&&(i(u),e.preventDefault())},q=()=>{t.addOnTab&&h&&i(u)},T=e=>{if(!t.disabled)switch(e.key){case"Enter":F(e);break;case"Tab":q();break;case"ArrowLeft":A();break;case"ArrowRight":B();break;case"Backspace":O();break;case"Delete":S();break;default:h&&t.delimiter&&typeof t.delimiter=="string"&&e.key===t.delimiter&&(i(u),e.preventDefault());break}},z=e=>{l!==-1&&c(-1);let o=e.target.value;if(t.delimiter){let a=v(t.delimiter);if(a.lastIndex=0,a.test(o)){a.lastIndex=0;let g=o.split(a).map(s=>s.trim()).filter(s=>s.length>0);i(g);return}}x([o,{originalEvent:e,query:o}])},U=()=>{t.disabled||y(!0)},$=()=>{y(!1),t.addOnBlur&&h&&i(u),l!==-1&&c(-1)},j=e=>{if(!t.addOnPaste)return;let o=e.clipboardData.getData("text");if(e.preventDefault(),t.delimiter){let a=v(t.delimiter);a.lastIndex=0;let g=o.split(a).map(s=>s.trim()).filter(s=>s.length>0);i(g)}else i(o)},_={"data-scope":"inputtags","data-part":"root",role:"listbox","aria-orientation":"horizontal",onClick:e=>{var a;let o=e.target;(a=o.closest)!=null&&a.call(o,'[data-part="item"]')||(c(-1),f.current&&!t.disabled&&k(P(f)))}},G={"data-scope":"inputtags","data-part":"control",ref:f,value:m.inputValue,disabled:t.disabled,onChange:z,onKeyDown:T,onPaste:j,onFocus:U,onBlur:$},J={"data-scope":"inputtags","data-part":"hidden-input",value:m.value.join(", "),type:"hidden",name:t.name};return{state:m,inputRef:f,itemRefs:M,addItem:i,removeItem:I,removeLast:K,removeAll:H,rootProps:_,controlProps:G,hiddenInputProps:J,getItemProps:e=>({role:"option","aria-selected":e===m.focusedItemIndex,"aria-setsize":m.value.length,"aria-posinset":e+1,"data-index":e,"data-selected":e===m.focusedItemIndex?"":void 0,onKeyDown:T})}}});export{C as defaultProps,ne as useInputTags};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/inputtags/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/inputtags/useInputTags.ts","../../src/inputtags/useInputTags.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport { focus } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useInputTags.props';\n\nexport const useInputTags = withHeadless({\n name: 'useInputTags',\n defaultProps,\n setup({ props }) {\n const [inputValueState, setInputValueState] = React.useState('');\n const [focusedItemIndexState, setFocusedItemIndexState] = React.useState<number>(-1);\n\n const defaultValueRef = React.useRef(props.defaultValue ?? []);\n const [valueState, setValueState] = useControlledState({\n value: props.value,\n defaultValue: defaultValueRef.current,\n onChange: props.onValueChange\n });\n\n const controlRef = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<{ elementRef: React.RefObject<HTMLInputElement> } | null>(null);\n const itemRefs = React.useRef<Map<number, HTMLElement>>(new Map());\n\n const state = {\n value: valueState ?? [],\n inputValue: inputValueState,\n focusedItemIndex: focusedItemIndexState\n };\n\n // methods\n const addItem = (tag: string) => {\n const trimmedTag = tag.trim();\n\n if (!trimmedTag || props.disabled) return;\n\n if (props.max && valueState && valueState.length >= props.max) return;\n\n if (!props.allowDuplicate && valueState && valueState.includes(trimmedTag)) return;\n\n const newValue = [...(valueState || []), trimmedTag];\n\n setValueState([\n newValue,\n {\n value: newValue\n }\n ]);\n\n if (props.onAdd) {\n props.onAdd({\n value: trimmedTag\n });\n }\n\n setInputValueState('');\n };\n\n const removeItem = (index: number) => {\n if (props.disabled || !valueState) return;\n\n const newValue = valueState.filter((_: unknown, i: number) => i !== index);\n\n setValueState([\n newValue,\n {\n value: newValue\n }\n ]);\n\n if (props.onRemove) {\n props.onRemove({\n value: valueState[index],\n index\n });\n }\n\n setFocusedItemIndexState(-1);\n };\n\n const onArrowLeft = () => {\n let focusIndex = focusedItemIndexState;\n\n if (inputValueState.length === 0 && valueState && valueState.length > 0) {\n focusIndex = focusIndex === -1 ? valueState.length - 1 : focusIndex - 1;\n\n if (focusIndex < 0) {\n focusIndex = 0;\n }\n }\n\n setFocusedItemIndexState(focusIndex);\n };\n\n const onArrowRight = () => {\n let focusIndex = focusedItemIndexState;\n\n if (inputValueState.length === 0 && valueState && valueState.length > 0) {\n if (focusIndex === valueState.length - 1) {\n focusIndex = -1;\n\n if (inputRef.current) {\n focus(inputRef.current?.elementRef.current);\n }\n } else if (focusIndex !== -1) {\n focusIndex++;\n }\n }\n\n setFocusedItemIndexState(focusIndex);\n };\n\n const onBackspace = () => {\n if (!inputValueState && valueState && valueState.length > 0) {\n const lastIndex = valueState.length - 1;\n\n removeItem(lastIndex);\n }\n\n if (focusedItemIndexState !== -1) {\n removeItem(focusedItemIndexState);\n }\n };\n\n const onChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = event.target.value;\n\n if (focusedItemIndexState !== -1) {\n setFocusedItemIndexState(-1);\n }\n\n if (!props.delimiter) {\n setInputValueState(newValue);\n\n return;\n }\n\n const delimiterRegex = typeof props.delimiter === 'string' ? new RegExp(props.delimiter.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')) : props.delimiter;\n\n if (delimiterRegex.test(newValue)) {\n const tags = newValue\n .split(delimiterRegex)\n .map((tag) => tag.trim())\n .filter((tag) => tag.length > 0);\n\n tags.forEach((tag) => addItem(tag));\n } else {\n setInputValueState(newValue);\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (props.disabled) return;\n\n switch (event.key) {\n case 'Tab':\n if (props.addOnTab && inputValueState.trim()) {\n addItem(inputValueState);\n }\n\n break;\n\n case 'Enter':\n if (inputValueState.trim()) {\n addItem(inputValueState);\n }\n\n break;\n\n case 'ArrowLeft':\n onArrowLeft();\n\n break;\n\n case 'ArrowRight':\n onArrowRight();\n\n break;\n\n case 'Backspace':\n onBackspace();\n\n break;\n\n default:\n if (inputValueState.trim() && props.delimiter && typeof props.delimiter === 'string' && event.key === props.delimiter) {\n addItem(inputValueState);\n }\n\n break;\n }\n };\n\n const onClick = () => {\n setFocusedItemIndexState(-1);\n\n if (inputRef.current && !props.disabled) {\n focus(inputRef.current?.elementRef.current);\n }\n };\n\n const onPaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n if (!props.addOnPaste) return;\n\n const pastedText = event.clipboardData.getData('text');\n\n if (props.delimiter) {\n const delimiterRegex = typeof props.delimiter === 'string' ? new RegExp(props.delimiter.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')) : props.delimiter;\n\n const tags = pastedText\n .split(delimiterRegex)\n .map((tag) => tag.trim())\n .filter((tag) => tag.length > 0);\n\n tags.forEach((tag) => addItem(tag));\n } else {\n addItem(pastedText);\n }\n\n setTimeout(() => {\n setInputValueState('');\n }, 0);\n };\n\n const onBlur = () => {\n if (props.addOnBlur && inputValueState.trim()) {\n addItem(inputValueState);\n }\n\n if (focusedItemIndexState !== -1) {\n setFocusedItemIndexState(-1);\n }\n };\n\n const onItemRemoveClick = (index: number) => {\n if (!valueState) return;\n\n const newValue = valueState.filter((_: unknown, i: number) => i !== index);\n\n setValueState([\n newValue,\n {\n value: newValue\n }\n ]);\n\n if (inputRef.current) {\n focus(inputRef.current?.elementRef.current);\n }\n };\n\n const onRemoveAllItems = () => {\n if (props.disabled || !valueState) return;\n\n setValueState([\n [],\n {\n value: []\n }\n ]);\n };\n\n return {\n state,\n // refs\n controlRef,\n inputRef,\n itemRefs,\n // methods\n onClick,\n onChange,\n onKeyDown,\n onPaste,\n onBlur,\n onItemRemoveClick,\n onRemoveAllItems\n };\n }\n});\n","import type { useInputTagsProps } from '@primereact/types/shared/inputtags';\n\nexport const defaultProps: useInputTagsProps = {\n defaultValue: undefined,\n value: undefined,\n max: undefined,\n delimiter: undefined,\n allowDuplicate: undefined,\n addOnBlur: undefined,\n addOnPaste: undefined,\n addOnTab: undefined,\n onValueChange: undefined,\n onAdd: undefined,\n onRemove: undefined\n};\n"],"mappings":"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","names":["withHeadless","useControlledState","focus","React","defaultProps","useInputTags","withHeadless","defaultProps","props","_a","inputValueState","setInputValueState","focusedItemIndexState","setFocusedItemIndexState","defaultValueRef","valueState","setValueState","useControlledState","controlRef","inputRef","itemRefs","state","addItem","tag","trimmedTag","newValue","removeItem","index","_","i","onArrowLeft","focusIndex","onArrowRight","focus","onBackspace","lastIndex","event","delimiterRegex","pastedText"]}
|
|
1
|
+
{"version":3,"sources":["../../src/inputtags/useInputTags.ts","../../src/inputtags/useInputTags.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport { focus, toElement } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useInputTags.props';\n\nexport const useInputTags = withHeadless({\n name: 'useInputTags',\n defaultProps,\n setup({ props }) {\n const [focusedItemIndexState, setFocusedItemIndexState] = React.useState<number>(-1);\n const [focusedState, setFocusedState] = React.useState<boolean>(false);\n\n const defaultValueRef = React.useRef(props.defaultValue ?? []);\n const [valueState, setValueState] = useControlledState({\n value: props.value,\n defaultValue: defaultValueRef.current,\n onChange: props.onValueChange\n });\n\n const [inputValueState, setInputValueState] = useControlledState({\n value: props.inputValue,\n defaultValue: props.defaultInputValue ?? '',\n onChange: props.onInputValueChange\n });\n\n const inputRef = React.useRef<HTMLInputElement | null>(null);\n const itemRefs = React.useRef<Map<number, HTMLElement>>(new Map());\n\n const state = {\n value: valueState ?? [],\n inputValue: inputValueState ?? '',\n focusedItemIndex: focusedItemIndexState,\n focused: focusedState\n };\n\n const getDelimiterRegex = (delimiter: string | RegExp) => {\n return typeof delimiter === 'string' ? new RegExp(delimiter.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')) : delimiter;\n };\n\n const isInputEmpty = !inputValueState || inputValueState.length === 0;\n const hasInputValue = !!(inputValueState && inputValueState.trim());\n\n const addItem = (tags: string | string[]) => {\n if (props.disabled) return [];\n\n const currentValue = valueState ?? [];\n const nextTags: string[] = [];\n const inputTags = Array.isArray(tags) ? tags : [tags];\n\n for (const tag of inputTags) {\n const trimmedTag = tag.trim();\n\n if (!trimmedTag) continue;\n\n if (props.max !== undefined && currentValue.length + nextTags.length >= props.max) break;\n\n if (!props.allowDuplicate && (currentValue.includes(trimmedTag) || nextTags.includes(trimmedTag))) continue;\n\n nextTags.push(trimmedTag);\n }\n\n if (!nextTags.length) return [];\n\n const newValue = [...currentValue, ...nextTags];\n\n setValueState([newValue, { value: newValue }]);\n nextTags.forEach((value) => props.onAdd?.({ value }));\n setInputValueState(['', { query: '' }]);\n\n return nextTags;\n };\n\n const removeItem = (index: number) => {\n if (props.disabled || !valueState) return;\n\n const newValue = valueState.filter((_: unknown, i: number) => i !== index);\n\n setValueState([newValue, { value: newValue }]);\n props.onRemove?.({ value: valueState[index], index });\n setFocusedItemIndexState(-1);\n };\n\n const removeLast = () => {\n if (valueState && valueState.length > 0) removeItem(valueState.length - 1);\n };\n\n const removeAll = () => {\n if (props.disabled || !valueState) return;\n\n setValueState([[], { value: [] }]);\n };\n\n const onArrowLeftKey = () => {\n let focusIndex = focusedItemIndexState;\n\n if (isInputEmpty && valueState && valueState.length > 0) {\n focusIndex = focusIndex === -1 ? valueState.length - 1 : focusIndex - 1;\n\n if (focusIndex < 0) focusIndex = 0;\n }\n\n setFocusedItemIndexState(focusIndex);\n };\n\n const onArrowRightKey = () => {\n let focusIndex = focusedItemIndexState;\n\n if (isInputEmpty && valueState && valueState.length > 0) {\n if (focusIndex === valueState.length - 1) {\n focusIndex = -1;\n\n if (inputRef.current) focus(toElement(inputRef) as HTMLInputElement);\n } else if (focusIndex !== -1) {\n focusIndex++;\n }\n }\n\n setFocusedItemIndexState(focusIndex);\n };\n\n const onBackspaceKey = () => {\n if (focusedItemIndexState !== -1) {\n removeItem(focusedItemIndexState);\n\n return;\n }\n\n if (!inputValueState && valueState && valueState.length > 0) removeItem(valueState.length - 1);\n };\n\n const onDeleteKey = () => {\n if (focusedItemIndexState !== -1) removeItem(focusedItemIndexState);\n };\n\n const onEnterKey = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.defaultPrevented) return;\n\n if (hasInputValue) {\n addItem(inputValueState!);\n event.preventDefault();\n }\n };\n\n const onTabKey = () => {\n if (props.addOnTab && hasInputValue) addItem(inputValueState!);\n };\n\n // Keyboard handler shared by the user-supplied control element. When the user\n // composes this onto AutoComplete.Input (or any other control), AC's own onKeyDown\n // runs first and may call preventDefault for option-selection on Enter; this\n // handler then skips its own Enter branch.\n const onControlKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (props.disabled) return;\n\n switch (event.key) {\n case 'Enter':\n onEnterKey(event);\n break;\n\n case 'Tab':\n onTabKey();\n break;\n\n case 'ArrowLeft':\n onArrowLeftKey();\n break;\n\n case 'ArrowRight':\n onArrowRightKey();\n break;\n\n case 'Backspace':\n onBackspaceKey();\n break;\n\n case 'Delete':\n onDeleteKey();\n break;\n\n default:\n if (hasInputValue && props.delimiter && typeof props.delimiter === 'string' && event.key === props.delimiter) {\n addItem(inputValueState!);\n event.preventDefault();\n }\n\n break;\n }\n };\n\n const onControlChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (focusedItemIndexState !== -1) setFocusedItemIndexState(-1);\n\n const newValue = event.target.value;\n\n if (props.delimiter) {\n const delimiterRegex = getDelimiterRegex(props.delimiter);\n\n delimiterRegex.lastIndex = 0;\n\n if (delimiterRegex.test(newValue)) {\n delimiterRegex.lastIndex = 0;\n\n const tags = newValue\n .split(delimiterRegex)\n .map((tag) => tag.trim())\n .filter((tag) => tag.length > 0);\n\n addItem(tags);\n\n return;\n }\n }\n\n setInputValueState([newValue, { originalEvent: event, query: newValue }]);\n };\n\n const onControlFocus = () => {\n if (props.disabled) return;\n\n setFocusedState(true);\n };\n\n const onControlBlur = () => {\n setFocusedState(false);\n\n if (props.addOnBlur && hasInputValue) addItem(inputValueState!);\n\n if (focusedItemIndexState !== -1) setFocusedItemIndexState(-1);\n };\n\n const onControlPaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n if (!props.addOnPaste) return;\n\n const pastedText = event.clipboardData.getData('text');\n\n event.preventDefault();\n\n if (props.delimiter) {\n const delimiterRegex = getDelimiterRegex(props.delimiter);\n\n delimiterRegex.lastIndex = 0;\n\n const tags = pastedText\n .split(delimiterRegex)\n .map((tag) => tag.trim())\n .filter((tag) => tag.length > 0);\n\n addItem(tags);\n } else {\n addItem(pastedText);\n }\n };\n\n const onClick = (event: React.MouseEvent) => {\n const target = event.target as HTMLElement;\n\n if (target.closest?.('[data-part=\"item\"]')) return;\n\n setFocusedItemIndexState(-1);\n\n if (inputRef.current && !props.disabled) focus(toElement(inputRef) as HTMLInputElement);\n };\n\n // prop getters\n const rootProps = {\n 'data-scope': 'inputtags' as const,\n 'data-part': 'root' as const,\n role: 'listbox' as const,\n 'aria-orientation': 'horizontal' as const,\n onClick\n };\n\n const controlProps = {\n 'data-scope': 'inputtags' as const,\n 'data-part': 'control' as const,\n ref: inputRef,\n value: state.inputValue,\n disabled: props.disabled,\n onChange: onControlChange,\n onKeyDown: onControlKeyDown,\n onPaste: onControlPaste,\n onFocus: onControlFocus,\n onBlur: onControlBlur\n };\n\n const hiddenInputProps = {\n 'data-scope': 'inputtags' as const,\n 'data-part': 'hidden-input' as const,\n value: state.value.join(', '),\n type: 'hidden' as const,\n name: props.name\n };\n\n const getItemProps = (index: number) => ({\n role: 'option' as const,\n 'aria-selected': index === state.focusedItemIndex,\n 'aria-setsize': state.value.length,\n 'aria-posinset': index + 1,\n 'data-index': index,\n 'data-selected': index === state.focusedItemIndex ? ('' as const) : undefined,\n onKeyDown: onControlKeyDown\n });\n\n return {\n state,\n inputRef,\n itemRefs,\n // mutations\n addItem,\n removeItem,\n removeLast,\n removeAll,\n // prop getters\n rootProps,\n controlProps,\n hiddenInputProps,\n getItemProps\n };\n }\n});\n","import type { UseInputTagsProps } from '@primereact/types/headless/inputtags';\n\nexport const defaultProps: UseInputTagsProps = {\n defaultValue: undefined,\n value: undefined,\n defaultInputValue: '',\n inputValue: undefined,\n name: undefined,\n disabled: undefined,\n max: undefined,\n delimiter: undefined,\n allowDuplicate: undefined,\n invalid: false,\n variant: undefined,\n fluid: undefined,\n addOnBlur: undefined,\n addOnPaste: undefined,\n addOnTab: undefined,\n onAdd: undefined,\n onRemove: undefined,\n onValueChange: undefined,\n onInputValueChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","useControlledState","focus","toElement","React","defaultProps","useInputTags","withHeadless","defaultProps","props","_a","_b","focusedItemIndexState","setFocusedItemIndexState","focusedState","setFocusedState","defaultValueRef","valueState","setValueState","useControlledState","inputValueState","setInputValueState","inputRef","itemRefs","state","getDelimiterRegex","delimiter","isInputEmpty","hasInputValue","addItem","tags","currentValue","nextTags","inputTags","tag","trimmedTag","newValue","value","removeItem","index","_","i","removeLast","removeAll","onArrowLeftKey","focusIndex","onArrowRightKey","focus","toElement","onBackspaceKey","onDeleteKey","onEnterKey","event","onTabKey","onControlKeyDown","onControlChange","delimiterRegex","onControlFocus","onControlBlur","onControlPaste","pastedText","rootProps","target","controlProps","hiddenInputProps"]}
|
|
@@ -1,20 +1,50 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export declare const useInputTags: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/
|
|
2
|
+
export declare const useInputTags: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/inputtags").UseInputTagsProps, unknown, {
|
|
3
3
|
state: {
|
|
4
4
|
value: string[];
|
|
5
5
|
inputValue: string;
|
|
6
6
|
focusedItemIndex: number;
|
|
7
|
+
focused: boolean;
|
|
7
8
|
};
|
|
8
|
-
|
|
9
|
-
inputRef: React.RefObject<{
|
|
10
|
-
elementRef: React.RefObject<HTMLInputElement>;
|
|
11
|
-
} | null>;
|
|
9
|
+
inputRef: React.RefObject<HTMLInputElement | null>;
|
|
12
10
|
itemRefs: React.RefObject<Map<number, HTMLElement>>;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
addItem: (tags: string | string[]) => string[];
|
|
12
|
+
removeItem: (index: number) => void;
|
|
13
|
+
removeLast: () => void;
|
|
14
|
+
removeAll: () => void;
|
|
15
|
+
rootProps: {
|
|
16
|
+
'data-scope': "inputtags";
|
|
17
|
+
'data-part': "root";
|
|
18
|
+
role: "listbox";
|
|
19
|
+
'aria-orientation': "horizontal";
|
|
20
|
+
onClick: (event: React.MouseEvent) => void;
|
|
21
|
+
};
|
|
22
|
+
controlProps: {
|
|
23
|
+
'data-scope': "inputtags";
|
|
24
|
+
'data-part': "control";
|
|
25
|
+
ref: React.RefObject<HTMLInputElement | null>;
|
|
26
|
+
value: string;
|
|
27
|
+
disabled: boolean | undefined;
|
|
28
|
+
onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
29
|
+
onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
30
|
+
onPaste: (event: React.ClipboardEvent<HTMLInputElement>) => void;
|
|
31
|
+
onFocus: () => void;
|
|
32
|
+
onBlur: () => void;
|
|
33
|
+
};
|
|
34
|
+
hiddenInputProps: {
|
|
35
|
+
'data-scope': "inputtags";
|
|
36
|
+
'data-part': "hidden-input";
|
|
37
|
+
value: string;
|
|
38
|
+
type: "hidden";
|
|
39
|
+
name: string | undefined;
|
|
40
|
+
};
|
|
41
|
+
getItemProps: (index: number) => {
|
|
42
|
+
role: "option";
|
|
43
|
+
'aria-selected': boolean;
|
|
44
|
+
'aria-setsize': number;
|
|
45
|
+
'aria-posinset': number;
|
|
46
|
+
'data-index': number;
|
|
47
|
+
'data-selected': "" | undefined;
|
|
48
|
+
onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
49
|
+
};
|
|
20
50
|
}>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const defaultProps:
|
|
1
|
+
import type { UseInputTagsProps } from '@primereact/types/headless/inputtags';
|
|
2
|
+
export declare const defaultProps: UseInputTagsProps;
|
package/inputtext/index.d.ts
CHANGED
package/inputtext/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{withHeadless as
|
|
1
|
+
var n=Object.defineProperty;var p=Object.getOwnPropertySymbols;var i=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable;var r=(o,t,e)=>t in o?n(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,s=(o,t)=>{for(var e in t||(t={}))i.call(t,e)&&r(o,e,t[e]);if(p)for(var e of p(t))u.call(t,e)&&r(o,e,t[e]);return o};import{withHeadless as d}from"@primereact/core/headless";var a={invalid:void 0};var l=d({name:"useInputText",defaultProps:a,setup({props:o}){return{rootProps:s({type:"text","data-scope":"inputtext","data-part":"root"},o.invalid?{"data-invalid":""}:{})}}});export{a as defaultProps,l as useInputText};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/inputtext/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/inputtext/useInputText.ts","../../src/inputtext/useInputText.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useInputText.props';\n\nexport const useInputText = withHeadless({\n name: 'useInputText',\n defaultProps\n});\n","import type {
|
|
1
|
+
{"version":3,"sources":["../../src/inputtext/useInputText.ts","../../src/inputtext/useInputText.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useInputText.props';\n\nexport const useInputText = withHeadless({\n name: 'useInputText',\n defaultProps,\n setup({ props }) {\n // prop getters\n const rootProps = {\n type: 'text' as const,\n 'data-scope': 'inputtext' as const,\n 'data-part': 'root' as const,\n ...(props.invalid ? { 'data-invalid': '' } : {})\n };\n\n return {\n rootProps\n };\n }\n});\n","import type { UseInputTextProps } from '@primereact/types/headless/inputtext';\n\nexport const defaultProps: UseInputTextProps = {\n invalid: undefined\n};\n"],"mappings":"yVAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAkC,CAC3C,QAAS,MACb,EDDO,IAAMC,EAAeC,EAAa,CACrC,KAAM,eACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CASb,MAAO,CACH,UARcC,EAAA,CACd,KAAM,OACN,aAAc,YACd,YAAa,QACTD,EAAM,QAAU,CAAE,eAAgB,EAAG,EAAI,CAAC,EAKlD,CACJ,CACJ,CAAC","names":["withHeadless","defaultProps","useInputText","withHeadless","defaultProps","props","__spreadValues"]}
|
|
@@ -1 +1,8 @@
|
|
|
1
|
-
export declare const useInputText: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/
|
|
1
|
+
export declare const useInputText: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/inputtext").UseInputTextProps, unknown, {
|
|
2
|
+
rootProps: {
|
|
3
|
+
'data-invalid'?: string | undefined;
|
|
4
|
+
type: "text";
|
|
5
|
+
'data-scope': "inputtext";
|
|
6
|
+
'data-part': "root";
|
|
7
|
+
};
|
|
8
|
+
}>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const defaultProps:
|
|
1
|
+
import type { UseInputTextProps } from '@primereact/types/headless/inputtext';
|
|
2
|
+
export declare const defaultProps: UseInputTextProps;
|
package/knob/index.d.ts
CHANGED
package/knob/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{withHeadless as
|
|
1
|
+
var Me=Object.defineProperty;var U=Object.getOwnPropertySymbols;var xe=Object.prototype.hasOwnProperty,we=Object.prototype.propertyIsEnumerable;var K=(e,d,i)=>d in e?Me(e,d,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[d]=i,L=(e,d)=>{for(var i in d||(d={}))xe.call(d,i)&&K(e,i,d[i]);if(U)for(var i of U(d))we.call(d,i)&&K(e,i,d[i]);return e};import{withHeadless as ye}from"@primereact/core/headless";import{useControlledState as ge,useEventListener as R}from"@primereact/hooks";var O={defaultValue:void 0,value:void 0,size:100,step:1,min:0,max:100,strokeWidth:14,rangeColor:void 0,valueColor:void 0,textColor:void 0,tabIndex:void 0,disabled:void 0,readOnly:void 0,invalid:void 0,ariaLabelledby:void 0,ariaLabel:void 0,onValueChange:void 0};var c=40,$=50,W=50,M=4*Math.PI/3,b=-Math.PI/3,f=e=>Math.round(e*1e3)/1e3,$e=ye({name:"useKnob",defaultProps:O,setup({props:e,elementRef:d}){var z,A;let[i,D]=ge({value:e.value,defaultValue:(z=e.defaultValue)!=null?z:null,onChange:e.onValueChange}),h={value:i},E=(t,o,a,n,s)=>(t-o)*(s-n)/(a-o)+n,k=()=>{var a,n;let t=(a=e.min)!=null?a:0,o=(n=e.max)!=null?n:100;return E(t>0&&o>0?t:0,t,o,M,b)},P=()=>{var n,s;let t=(n=e.min)!=null?n:0,o=(s=e.max)!=null?s:100,a=i!=null?i:t;return E(a,t,o,M,b)},S=()=>f($+Math.cos(M)*c),B=()=>f(W-Math.sin(M)*c),H=()=>f($+Math.cos(b)*c),j=()=>f(W-Math.sin(b)*c),q=()=>f($+Math.cos(k())*c),F=()=>f(W-Math.sin(k())*c),G=()=>f($+Math.cos(P())*c),J=()=>f(W-Math.sin(P())*c),N=()=>Math.abs(k()-P())<Math.PI?0:1,Q=()=>P()>k()?0:1,I=`M ${S()} ${B()} A ${c} ${c} 0 1 1 ${H()} ${j()}`,T=`M ${q()} ${F()} A ${c} ${c} 0 ${N()} ${Q()} ${G()} ${J()}`,[Z,_]=R({target:"window",type:"mousemove",listener:t=>ce(t)}),[p,ee]=R({target:"window",type:"mouseup",listener:()=>V()}),[te,ne]=R({target:"window",type:"touchmove",listener:t=>re(t)}),[ae,oe]=R({target:"window",type:"touchend",listener:()=>X()}),C=(t,o,a)=>{var l,m;let n=t-((l=e.size)!=null?l:100)/2,s=((m=e.size)!=null?m:100)/2-o,u=Math.atan2(s,n),r=-Math.PI/2-Math.PI/6;se(u,r,a)},se=(t,o,a)=>{var u,r,l,m,x,w,y,g;let n;if(t>b)n=E(t,M,b,(u=e.min)!=null?u:0,(r=e.max)!=null?r:100);else if(t<o)n=E(t+2*Math.PI,M,b,(l=e.min)!=null?l:0,(m=e.max)!=null?m:100);else return;let s=Math.round((n-((x=e.min)!=null?x:0))/((w=e.step)!=null?w:1))*((y=e.step)!=null?y:1)+((g=e.min)!=null?g:0);D([s,{originalEvent:a,value:s}])},v=(t,o)=>{var n,s,u,r;let a;t>((n=e.max)!=null?n:100)?a=(s=e.max)!=null?s:100:t<((u=e.min)!=null?u:0)?a=(r=e.min)!=null?r:0:a=t,D([a,{originalEvent:o,value:a}])},ie=t=>{C(t.nativeEvent.offsetX,t.nativeEvent.offsetY,t)},de=t=>{Z(),p(),t.preventDefault()},V=()=>{_(),ee()},ue=()=>{te(),ae()},X=()=>{ne(),oe()},ce=t=>{C(t.offsetX,t.offsetY,t),t.preventDefault()},re=t=>{var o;if(t.touches.length==1){let a=(o=d.current)==null?void 0:o.getBoundingClientRect(),n=t.targetTouches.item(0);if(a&&n){let s=n.clientX-a.left,u=n.clientY-a.top;C(s,u,t)}}},le=t=>{var o,a,n,s,u,r,l,m,x,w,y,g;switch(t.code){case"ArrowRight":case"ArrowUp":{t.preventDefault(),v(((a=(o=h.value)!=null?o:e.min)!=null?a:0)+((n=e.step)!=null?n:1),t);break}case"ArrowLeft":case"ArrowDown":{t.preventDefault(),v(((u=(s=h.value)!=null?s:e.min)!=null?u:0)-((r=e.step)!=null?r:1),t);break}case"Home":{t.preventDefault(),v((l=e.min)!=null?l:0,t);break}case"End":{t.preventDefault(),v((m=e.max)!=null?m:100,t);break}case"PageUp":{t.preventDefault(),v(((w=(x=h.value)!=null?x:e.min)!=null?w:0)+10,t);break}case"PageDown":{t.preventDefault(),v(((g=(y=h.value)!=null?y:e.min)!=null?g:0)-10,t);break}}},Y=!e.disabled&&!e.readOnly,me=L({"data-scope":"knob","data-part":"svg",viewBox:"0 0 100 100",role:"slider",width:e.size,height:e.size,tabIndex:Y?(A=e.tabIndex)!=null?A:0:-1,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":h.value,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,"aria-disabled":e.disabled||void 0,"aria-readonly":e.readOnly||void 0},Y&&{onClick:ie,onKeyDown:le,onMouseDown:de,onMouseUp:V,onTouchStart:ue,onTouchEnd:X}),fe=L(L({"data-scope":"knob","data-part":"root"},e.disabled?{"data-disabled":""}:{}),e.readOnly?{"data-readonly":""}:{}),be={"data-scope":"knob","data-part":"range",d:I,strokeWidth:e.strokeWidth,stroke:e.rangeColor},he={"data-scope":"knob","data-part":"value",d:T,strokeWidth:e.strokeWidth,stroke:e.valueColor},ve={"data-scope":"knob","data-part":"text",x:50,y:57,textAnchor:"middle",fill:e.textColor};return{state:h,rangePath:I,valuePath:T,rootProps:fe,svgProps:me,rangeProps:be,valueProps:he,textProps:ve}}});export{O as defaultProps,$e as useKnob};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|