@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.
Files changed (592) hide show
  1. package/LICENSE.md +45 -0
  2. package/README.md +35 -0
  3. package/accordion/index.d.ts +3 -0
  4. package/accordion/index.mjs +1 -1
  5. package/accordion/index.mjs.map +1 -1
  6. package/accordion/useAccordion.d.ts +7 -6
  7. package/accordion/useAccordion.props.d.ts +2 -2
  8. package/accordion/useAccordionPanel.d.ts +46 -0
  9. package/accordion/useAccordionPanel.props.d.ts +2 -0
  10. package/animateonscroll/index.d.ts +1 -0
  11. package/animateonscroll/index.mjs +1 -1
  12. package/animateonscroll/index.mjs.map +1 -1
  13. package/animateonscroll/useAnimateOnScroll.d.ts +6 -1
  14. package/animateonscroll/useAnimateOnScroll.props.d.ts +2 -2
  15. package/autocomplete/index.d.ts +3 -0
  16. package/autocomplete/index.mjs +2 -0
  17. package/autocomplete/index.mjs.map +1 -0
  18. package/autocomplete/useAutoComplete.d.ts +198 -0
  19. package/autocomplete/useAutoComplete.props.d.ts +2 -0
  20. package/avatar/index.d.ts +1 -0
  21. package/avatar/index.mjs +1 -1
  22. package/avatar/index.mjs.map +1 -1
  23. package/avatar/useAvatar.d.ts +5 -1
  24. package/avatar/useAvatar.props.d.ts +2 -2
  25. package/avatargroup/index.d.ts +3 -0
  26. package/avatargroup/index.mjs +2 -0
  27. package/avatargroup/index.mjs.map +1 -0
  28. package/avatargroup/useAvatarGroup.d.ts +6 -0
  29. package/avatargroup/useAvatarGroup.props.d.ts +2 -0
  30. package/badge/index.d.ts +1 -0
  31. package/badge/index.mjs +1 -1
  32. package/badge/index.mjs.map +1 -1
  33. package/badge/useBadge.d.ts +7 -1
  34. package/badge/useBadge.props.d.ts +2 -2
  35. package/breadcrumb/index.d.ts +1 -0
  36. package/breadcrumb/index.mjs +1 -1
  37. package/breadcrumb/index.mjs.map +1 -1
  38. package/breadcrumb/useBreadcrumb.d.ts +18 -2
  39. package/breadcrumb/useBreadcrumb.props.d.ts +2 -2
  40. package/button/index.d.ts +1 -0
  41. package/button/index.mjs +1 -1
  42. package/button/index.mjs.map +1 -1
  43. package/button/useButton.d.ts +6 -1
  44. package/button/useButton.props.d.ts +2 -2
  45. package/card/index.d.ts +1 -0
  46. package/card/index.mjs +1 -1
  47. package/card/index.mjs.map +1 -1
  48. package/card/useCard.d.ts +6 -1
  49. package/card/useCard.props.d.ts +2 -2
  50. package/carousel/index.d.ts +1 -0
  51. package/carousel/index.mjs +1 -1
  52. package/carousel/index.mjs.map +1 -1
  53. package/carousel/useCarousel.d.ts +101 -5
  54. package/carousel/useCarousel.props.d.ts +2 -2
  55. package/checkbox/index.d.ts +1 -0
  56. package/checkbox/index.mjs +1 -1
  57. package/checkbox/index.mjs.map +1 -1
  58. package/checkbox/useCheckbox.d.ts +44 -3
  59. package/checkbox/useCheckbox.props.d.ts +2 -2
  60. package/checkboxgroup/index.d.ts +3 -0
  61. package/checkboxgroup/index.mjs +2 -0
  62. package/checkboxgroup/index.mjs.map +1 -0
  63. package/checkboxgroup/useCheckboxGroup.d.ts +11 -0
  64. package/checkboxgroup/useCheckboxGroup.props.d.ts +2 -0
  65. package/chip/index.d.ts +1 -0
  66. package/chip/index.mjs +1 -1
  67. package/chip/index.mjs.map +1 -1
  68. package/chip/useChip.d.ts +9 -3
  69. package/chip/useChip.props.d.ts +2 -2
  70. package/collapsible/index.d.ts +3 -0
  71. package/collapsible/index.mjs +2 -0
  72. package/collapsible/index.mjs.map +1 -0
  73. package/collapsible/useCollapsible.d.ts +33 -0
  74. package/collapsible/useCollapsible.props.d.ts +2 -0
  75. package/compare/index.d.ts +3 -0
  76. package/compare/index.mjs +2 -0
  77. package/compare/index.mjs.map +1 -0
  78. package/compare/useCompare.d.ts +2 -0
  79. package/compare/useCompare.props.d.ts +2 -0
  80. package/contextmenu/index.d.ts +1 -0
  81. package/contextmenu/index.mjs +1 -1
  82. package/contextmenu/index.mjs.map +1 -1
  83. package/contextmenu/submenu/index.d.ts +2 -0
  84. package/contextmenu/submenu/index.mjs +2 -0
  85. package/contextmenu/submenu/index.mjs.map +1 -0
  86. package/contextmenu/submenu/useContextMenuSubmenu.d.ts +121 -0
  87. package/contextmenu/submenu/useContextMenuSubmenu.props.d.ts +2 -0
  88. package/contextmenu/useContextMenu.d.ts +413 -1
  89. package/contextmenu/useContextMenu.props.d.ts +2 -2
  90. package/datatable/features/index.d.ts +28 -0
  91. package/datatable/features/index.mjs +11 -0
  92. package/datatable/features/index.mjs.map +1 -0
  93. package/datatable/features/useDataTableColumnReorder.d.ts +52 -0
  94. package/datatable/features/useDataTableColumnResize.d.ts +20 -0
  95. package/datatable/features/useDataTableEditing.d.ts +69 -0
  96. package/datatable/features/useDataTableExpansion.d.ts +32 -0
  97. package/datatable/features/useDataTableExport.d.ts +43 -0
  98. package/datatable/features/useDataTableFilter.d.ts +95 -0
  99. package/datatable/features/useDataTableGrouping.d.ts +11 -0
  100. package/datatable/features/useDataTableKeyboard.d.ts +23 -0
  101. package/datatable/features/useDataTablePagination.d.ts +32 -0
  102. package/datatable/features/useDataTableRowReorder.d.ts +42 -0
  103. package/datatable/features/useDataTableSelection.d.ts +28 -0
  104. package/datatable/features/useDataTableSort.d.ts +51 -0
  105. package/datatable/features/useDataTableTree.d.ts +31 -0
  106. package/datatable/index.d.ts +7 -0
  107. package/datatable/index.mjs +11 -0
  108. package/datatable/index.mjs.map +1 -0
  109. package/datatable/useDataTable.d.ts +237 -0
  110. package/datatable/useDataTable.props.d.ts +2 -0
  111. package/datatable/useDataTableRow.d.ts +30 -0
  112. package/datatable/useDataTableRow.props.d.ts +2 -0
  113. package/datatable/utils/compareValues.d.ts +20 -0
  114. package/datatable/utils/index.d.ts +1 -0
  115. package/datatable/utils/index.mjs +2 -0
  116. package/datatable/utils/index.mjs.map +1 -0
  117. package/dataview/index.d.ts +1 -0
  118. package/dataview/index.mjs +1 -1
  119. package/dataview/index.mjs.map +1 -1
  120. package/dataview/useDataView.d.ts +25 -1
  121. package/dataview/useDataView.props.d.ts +2 -2
  122. package/datepicker/index.d.ts +1 -0
  123. package/datepicker/index.mjs +1 -1
  124. package/datepicker/index.mjs.map +1 -1
  125. package/datepicker/useDatePicker.d.ts +2 -114
  126. package/datepicker/useDatePicker.props.d.ts +2 -2
  127. package/dialog/index.d.ts +1 -0
  128. package/dialog/index.mjs +1 -1
  129. package/dialog/index.mjs.map +1 -1
  130. package/dialog/useDialog.d.ts +274 -24
  131. package/dialog/useDialog.props.d.ts +2 -2
  132. package/divider/index.d.ts +1 -0
  133. package/divider/index.mjs +1 -1
  134. package/divider/index.mjs.map +1 -1
  135. package/divider/useDivider.d.ts +14 -1
  136. package/divider/useDivider.props.d.ts +2 -2
  137. package/dnd/index.d.ts +11 -0
  138. package/dnd/index.mjs +2 -0
  139. package/dnd/index.mjs.map +1 -0
  140. package/dnd/useDnd.d.ts +45 -0
  141. package/dnd/useDnd.props.d.ts +2 -0
  142. package/dnd/useDraggable.d.ts +14 -0
  143. package/dnd/useDraggable.props.d.ts +2 -0
  144. package/dnd/useDroppable.d.ts +11 -0
  145. package/dnd/useDroppable.props.d.ts +2 -0
  146. package/dnd/useSortable.d.ts +11 -0
  147. package/dnd/useSortable.props.d.ts +2 -0
  148. package/dnd/useSortableContainer.d.ts +24 -0
  149. package/dnd/useSortableContainer.props.d.ts +2 -0
  150. package/drawer/index.d.ts +1 -0
  151. package/drawer/index.mjs +1 -1
  152. package/drawer/index.mjs.map +1 -1
  153. package/drawer/useDrawer.d.ts +78 -16
  154. package/drawer/useDrawer.props.d.ts +2 -2
  155. package/fieldset/index.d.ts +1 -0
  156. package/fieldset/index.mjs +1 -1
  157. package/fieldset/index.mjs.map +1 -1
  158. package/fieldset/useFieldset.d.ts +80 -1
  159. package/fieldset/useFieldset.props.d.ts +2 -2
  160. package/fileupload/index.d.ts +1 -0
  161. package/fileupload/index.mjs +1 -1
  162. package/fileupload/index.mjs.map +1 -1
  163. package/fileupload/useFileUpload.d.ts +73 -4
  164. package/fileupload/useFileUpload.props.d.ts +2 -2
  165. package/floatlabel/index.d.ts +3 -0
  166. package/floatlabel/index.mjs +2 -0
  167. package/floatlabel/index.mjs.map +1 -0
  168. package/floatlabel/useFloatLabel.d.ts +6 -0
  169. package/floatlabel/useFloatLabel.props.d.ts +2 -0
  170. package/fluid/index.d.ts +1 -0
  171. package/fluid/index.mjs +1 -1
  172. package/fluid/index.mjs.map +1 -1
  173. package/fluid/useFluid.d.ts +6 -1
  174. package/fluid/useFluid.props.d.ts +2 -2
  175. package/focustrap/index.d.ts +1 -0
  176. package/focustrap/index.mjs +1 -1
  177. package/focustrap/index.mjs.map +1 -1
  178. package/focustrap/useFocusTrap.d.ts +16 -3
  179. package/focustrap/useFocusTrap.props.d.ts +2 -2
  180. package/gallery/index.d.ts +1 -0
  181. package/gallery/index.mjs +1 -1
  182. package/gallery/index.mjs.map +1 -1
  183. package/gallery/item/index.mjs +1 -1
  184. package/gallery/item/index.mjs.map +1 -1
  185. package/gallery/item/useGalleryItem.d.ts +17 -7
  186. package/gallery/item/useGalleryItem.props.d.ts +2 -2
  187. package/gallery/useGallery.d.ts +147 -6
  188. package/gallery/useGallery.props.d.ts +2 -2
  189. package/iconfield/index.d.ts +1 -0
  190. package/iconfield/index.mjs +1 -1
  191. package/iconfield/index.mjs.map +1 -1
  192. package/iconfield/useIconField.d.ts +6 -1
  193. package/iconfield/useIconField.props.d.ts +2 -2
  194. package/iftalabel/index.d.ts +3 -0
  195. package/iftalabel/index.mjs +2 -0
  196. package/iftalabel/index.mjs.map +1 -0
  197. package/iftalabel/useIftaLabel.d.ts +6 -0
  198. package/iftalabel/useIftaLabel.props.d.ts +2 -0
  199. package/inplace/index.d.ts +1 -0
  200. package/inplace/index.mjs +1 -1
  201. package/inplace/index.mjs.map +1 -1
  202. package/inplace/useInplace.d.ts +21 -2
  203. package/inplace/useInplace.props.d.ts +2 -2
  204. package/{colorpicker → inputcolor}/colorManager.d.ts +3 -2
  205. package/inputcolor/index.d.ts +4 -0
  206. package/inputcolor/index.mjs +2 -0
  207. package/inputcolor/index.mjs.map +1 -0
  208. package/inputcolor/useInputColor.d.ts +119 -0
  209. package/inputcolor/useInputColor.props.d.ts +2 -0
  210. package/inputgroup/index.d.ts +1 -0
  211. package/inputgroup/index.mjs +1 -1
  212. package/inputgroup/index.mjs.map +1 -1
  213. package/inputgroup/useInputGroup.d.ts +6 -1
  214. package/inputgroup/useInputGroup.props.d.ts +2 -2
  215. package/inputnumber/index.d.ts +1 -0
  216. package/inputnumber/index.mjs +1 -1
  217. package/inputnumber/index.mjs.map +1 -1
  218. package/inputnumber/useInputNumber.d.ts +55 -17
  219. package/inputnumber/useInputNumber.props.d.ts +2 -2
  220. package/inputotp/index.d.ts +1 -0
  221. package/inputotp/index.mjs +1 -1
  222. package/inputotp/index.mjs.map +1 -1
  223. package/inputotp/useInputOtp.d.ts +25 -6
  224. package/inputotp/useInputOtp.props.d.ts +2 -2
  225. package/inputpassword/index.d.ts +3 -0
  226. package/inputpassword/index.mjs +2 -0
  227. package/inputpassword/index.mjs.map +1 -0
  228. package/inputpassword/useInputPassword.d.ts +15 -0
  229. package/inputpassword/useInputPassword.props.d.ts +2 -0
  230. package/inputtags/index.d.ts +1 -0
  231. package/inputtags/index.mjs +1 -1
  232. package/inputtags/index.mjs.map +1 -1
  233. package/inputtags/useInputTags.d.ts +42 -12
  234. package/inputtags/useInputTags.props.d.ts +2 -2
  235. package/inputtext/index.d.ts +1 -0
  236. package/inputtext/index.mjs +1 -1
  237. package/inputtext/index.mjs.map +1 -1
  238. package/inputtext/useInputText.d.ts +8 -1
  239. package/inputtext/useInputText.props.d.ts +2 -2
  240. package/knob/index.d.ts +1 -0
  241. package/knob/index.mjs +1 -1
  242. package/knob/index.mjs.map +1 -1
  243. package/knob/useKnob.d.ts +51 -10
  244. package/knob/useKnob.props.d.ts +2 -2
  245. package/label/index.d.ts +1 -0
  246. package/label/index.mjs +1 -1
  247. package/label/index.mjs.map +1 -1
  248. package/label/useLabel.d.ts +6 -1
  249. package/label/useLabel.props.d.ts +2 -2
  250. package/listbox/index.d.ts +3 -0
  251. package/listbox/index.mjs +1 -1
  252. package/listbox/index.mjs.map +1 -1
  253. package/listbox/useListbox.d.ts +56 -18
  254. package/listbox/useListbox.props.d.ts +2 -2
  255. package/listbox/useListboxOption.d.ts +21 -0
  256. package/listbox/useListboxOption.props.d.ts +2 -0
  257. package/menu/checkboxitem/index.d.ts +2 -0
  258. package/menu/checkboxitem/index.mjs +2 -0
  259. package/menu/checkboxitem/index.mjs.map +1 -0
  260. package/menu/checkboxitem/useMenuCheckboxItem.d.ts +112 -0
  261. package/menu/checkboxitem/useMenuCheckboxItem.props.d.ts +2 -0
  262. package/menu/index.d.ts +1 -0
  263. package/menu/index.mjs +1 -1
  264. package/menu/index.mjs.map +1 -1
  265. package/menu/radioitem/index.d.ts +2 -0
  266. package/menu/radioitem/index.mjs +2 -0
  267. package/menu/radioitem/index.mjs.map +1 -0
  268. package/menu/radioitem/useMenuRadioItem.d.ts +106 -0
  269. package/menu/radioitem/useMenuRadioItem.props.d.ts +2 -0
  270. package/menu/submenu/index.d.ts +2 -0
  271. package/menu/submenu/index.mjs +2 -0
  272. package/menu/submenu/index.mjs.map +1 -0
  273. package/menu/submenu/useMenuSubmenu.d.ts +97 -0
  274. package/menu/submenu/useMenuSubmenu.props.d.ts +2 -0
  275. package/menu/useMenu.d.ts +215 -22
  276. package/menu/useMenu.props.d.ts +2 -2
  277. package/message/index.d.ts +1 -0
  278. package/message/index.mjs +1 -1
  279. package/message/index.mjs.map +1 -1
  280. package/message/useMessage.d.ts +13 -1
  281. package/message/useMessage.props.d.ts +2 -2
  282. package/metergroup/index.d.ts +1 -0
  283. package/metergroup/index.mjs +1 -1
  284. package/metergroup/index.mjs.map +1 -1
  285. package/metergroup/useMeterGroup.d.ts +36 -5
  286. package/metergroup/useMeterGroup.props.d.ts +2 -2
  287. package/navigationmenu/index.d.ts +3 -0
  288. package/navigationmenu/index.mjs +2 -0
  289. package/navigationmenu/index.mjs.map +1 -0
  290. package/navigationmenu/useNavigationMenu.d.ts +30 -0
  291. package/navigationmenu/useNavigationMenu.props.d.ts +2 -0
  292. package/orderlist/index.d.ts +3 -0
  293. package/orderlist/index.mjs +2 -0
  294. package/orderlist/index.mjs.map +1 -0
  295. package/orderlist/useOrderList.d.ts +73 -0
  296. package/orderlist/useOrderList.props.d.ts +2 -0
  297. package/organizationchart/index.d.ts +3 -0
  298. package/organizationchart/index.mjs +2 -0
  299. package/organizationchart/index.mjs.map +1 -0
  300. package/organizationchart/useOrganizationChart.d.ts +69 -0
  301. package/organizationchart/useOrganizationChart.props.d.ts +2 -0
  302. package/overlaybadge/index.d.ts +3 -0
  303. package/overlaybadge/index.mjs +2 -0
  304. package/overlaybadge/index.mjs.map +1 -0
  305. package/overlaybadge/useOverlayBadge.d.ts +1 -0
  306. package/overlaybadge/useOverlayBadge.props.d.ts +2 -0
  307. package/package.json +12 -15
  308. package/paginator/index.d.ts +1 -0
  309. package/paginator/index.mjs +1 -1
  310. package/paginator/index.mjs.map +1 -1
  311. package/paginator/usePaginator.d.ts +47 -1
  312. package/paginator/usePaginator.props.d.ts +2 -2
  313. package/panel/index.d.ts +1 -0
  314. package/panel/index.mjs +1 -1
  315. package/panel/index.mjs.map +1 -1
  316. package/panel/usePanel.d.ts +76 -8
  317. package/panel/usePanel.props.d.ts +2 -2
  318. package/picklist/index.d.ts +3 -0
  319. package/picklist/index.mjs +2 -0
  320. package/picklist/index.mjs.map +1 -0
  321. package/picklist/usePickList.d.ts +153 -0
  322. package/picklist/usePickList.props.d.ts +2 -0
  323. package/popover/index.d.ts +1 -0
  324. package/popover/index.mjs +1 -7
  325. package/popover/index.mjs.map +1 -1
  326. package/popover/usePopover.d.ts +65 -12
  327. package/popover/usePopover.props.d.ts +2 -2
  328. package/portal/index.d.ts +1 -0
  329. package/portal/index.mjs +1 -1
  330. package/portal/index.mjs.map +1 -1
  331. package/portal/usePortal.d.ts +4 -2
  332. package/portal/usePortal.props.d.ts +2 -2
  333. package/positioner/index.d.ts +3 -0
  334. package/positioner/index.mjs +2 -0
  335. package/positioner/index.mjs.map +1 -0
  336. package/positioner/usePositioner.anchor.d.ts +7 -0
  337. package/positioner/usePositioner.d.ts +11 -0
  338. package/positioner/usePositioner.fallback.d.ts +13 -0
  339. package/positioner/usePositioner.props.d.ts +2 -0
  340. package/positioner/usePositioner.utils.d.ts +21 -0
  341. package/progressbar/index.d.ts +1 -0
  342. package/progressbar/index.mjs +1 -1
  343. package/progressbar/index.mjs.map +1 -1
  344. package/progressbar/useProgressBar.d.ts +13 -1
  345. package/progressbar/useProgressBar.props.d.ts +2 -2
  346. package/progressspinner/index.d.ts +1 -0
  347. package/progressspinner/index.mjs +1 -1
  348. package/progressspinner/index.mjs.map +1 -1
  349. package/progressspinner/useProgressSpinner.d.ts +50 -1
  350. package/progressspinner/useProgressSpinner.props.d.ts +2 -2
  351. package/radiobutton/index.d.ts +1 -0
  352. package/radiobutton/index.mjs +1 -1
  353. package/radiobutton/index.mjs.map +1 -1
  354. package/radiobutton/useRadioButton.d.ts +41 -3
  355. package/radiobutton/useRadioButton.props.d.ts +2 -2
  356. package/radiobuttongroup/index.d.ts +3 -0
  357. package/radiobuttongroup/index.mjs +2 -0
  358. package/radiobuttongroup/index.mjs.map +1 -0
  359. package/radiobuttongroup/useRadioButtonGroup.d.ts +11 -0
  360. package/radiobuttongroup/useRadioButtonGroup.props.d.ts +2 -0
  361. package/rating/index.d.ts +3 -0
  362. package/rating/index.mjs +1 -1
  363. package/rating/index.mjs.map +1 -1
  364. package/rating/useRating.d.ts +46 -12
  365. package/rating/useRating.props.d.ts +2 -2
  366. package/rating/useRatingOption.d.ts +69 -0
  367. package/rating/useRatingOption.props.d.ts +2 -0
  368. package/scrollarea/index.d.ts +1 -0
  369. package/scrollarea/index.mjs +1 -1
  370. package/scrollarea/index.mjs.map +1 -1
  371. package/scrollarea/useScrollArea.d.ts +120 -15
  372. package/scrollarea/useScrollArea.props.d.ts +2 -2
  373. package/select/index.d.ts +3 -0
  374. package/select/index.mjs +2 -0
  375. package/select/index.mjs.map +1 -0
  376. package/select/useSelect.d.ts +190 -0
  377. package/select/useSelect.props.d.ts +2 -0
  378. package/select/useSelect.test.d.ts +1 -0
  379. package/sidebar/index.d.ts +7 -0
  380. package/sidebar/index.mjs +2 -0
  381. package/sidebar/index.mjs.map +1 -0
  382. package/sidebar/useSidebar.d.ts +117 -0
  383. package/sidebar/useSidebar.props.d.ts +2 -0
  384. package/sidebar/useSidebarLayout.d.ts +24 -0
  385. package/sidebar/useSidebarLayout.props.d.ts +2 -0
  386. package/sidebar/useSidebarMenuItem.d.ts +11 -0
  387. package/sidebar/useSidebarMenuItem.props.d.ts +2 -0
  388. package/skeleton/index.d.ts +1 -0
  389. package/skeleton/index.mjs +1 -1
  390. package/skeleton/index.mjs.map +1 -1
  391. package/skeleton/useSkeleton.d.ts +7 -1
  392. package/skeleton/useSkeleton.props.d.ts +2 -2
  393. package/slider/index.d.ts +1 -0
  394. package/slider/index.mjs +1 -1
  395. package/slider/index.mjs.map +1 -1
  396. package/slider/useSlider.d.ts +81 -48
  397. package/slider/useSlider.props.d.ts +2 -2
  398. package/speeddial/index.d.ts +1 -0
  399. package/speeddial/index.mjs +1 -1
  400. package/speeddial/index.mjs.map +1 -1
  401. package/speeddial/useSpeedDial.d.ts +89 -32
  402. package/speeddial/useSpeedDial.props.d.ts +2 -2
  403. package/splitter/index.d.ts +1 -0
  404. package/splitter/index.mjs +1 -1
  405. package/splitter/index.mjs.map +1 -1
  406. package/splitter/useSplitter.d.ts +57 -14
  407. package/splitter/useSplitter.props.d.ts +2 -2
  408. package/stepper/index.d.ts +1 -0
  409. package/stepper/index.mjs +1 -1
  410. package/stepper/index.mjs.map +1 -1
  411. package/stepper/useStepper.d.ts +47 -2
  412. package/stepper/useStepper.props.d.ts +2 -2
  413. package/styleclass/index.d.ts +1 -0
  414. package/styleclass/index.mjs +1 -1
  415. package/styleclass/index.mjs.map +1 -1
  416. package/styleclass/useStyleClass.d.ts +5 -1
  417. package/styleclass/useStyleClass.props.d.ts +2 -2
  418. package/tabs/index.d.ts +1 -0
  419. package/tabs/index.mjs +1 -1
  420. package/tabs/index.mjs.map +1 -1
  421. package/tabs/useTabs.d.ts +42 -3
  422. package/tabs/useTabs.props.d.ts +2 -2
  423. package/tag/index.d.ts +1 -0
  424. package/tag/index.mjs +1 -1
  425. package/tag/index.mjs.map +1 -1
  426. package/tag/useTag.d.ts +6 -1
  427. package/tag/useTag.props.d.ts +2 -2
  428. package/terminal/index.d.ts +1 -0
  429. package/terminal/index.mjs +1 -1
  430. package/terminal/index.mjs.map +1 -1
  431. package/terminal/useTerminal.d.ts +23 -2
  432. package/terminal/useTerminal.props.d.ts +2 -2
  433. package/textarea/index.d.ts +1 -0
  434. package/textarea/index.mjs +1 -1
  435. package/textarea/index.mjs.map +1 -1
  436. package/textarea/useTextarea.d.ts +9 -2
  437. package/textarea/useTextarea.props.d.ts +2 -2
  438. package/timeline/index.d.ts +1 -0
  439. package/timeline/index.mjs +1 -1
  440. package/timeline/index.mjs.map +1 -1
  441. package/timeline/useTimeline.d.ts +41 -1
  442. package/timeline/useTimeline.props.d.ts +2 -2
  443. package/toast/index.d.ts +1 -1
  444. package/toast/index.mjs +1 -1
  445. package/toast/index.mjs.map +1 -1
  446. package/toast/useToast.d.ts +85 -23
  447. package/toast/useToast.props.d.ts +2 -2
  448. package/toaster/ToastManager.d.ts +14 -0
  449. package/toaster/index.d.ts +4 -0
  450. package/toaster/index.mjs +2 -0
  451. package/toaster/index.mjs.map +1 -0
  452. package/toaster/useToaster.d.ts +50 -0
  453. package/toaster/useToaster.props.d.ts +2 -0
  454. package/togglebutton/index.d.ts +1 -0
  455. package/togglebutton/index.mjs +1 -1
  456. package/togglebutton/index.mjs.map +1 -1
  457. package/togglebutton/useToggleButton.d.ts +5 -3
  458. package/togglebutton/useToggleButton.props.d.ts +2 -2
  459. package/togglebuttongroup/index.d.ts +3 -0
  460. package/togglebuttongroup/index.mjs +2 -0
  461. package/togglebuttongroup/index.mjs.map +1 -0
  462. package/togglebuttongroup/useToggleButtonGroup.d.ts +17 -0
  463. package/togglebuttongroup/useToggleButtonGroup.props.d.ts +2 -0
  464. package/toggleswitch/index.d.ts +3 -0
  465. package/toggleswitch/index.mjs +2 -0
  466. package/toggleswitch/index.mjs.map +1 -0
  467. package/toggleswitch/useToggleSwitch.d.ts +48 -0
  468. package/toggleswitch/useToggleSwitch.props.d.ts +2 -0
  469. package/toolbar/index.d.ts +1 -0
  470. package/toolbar/index.mjs +1 -1
  471. package/toolbar/index.mjs.map +1 -1
  472. package/toolbar/useToolbar.d.ts +7 -1
  473. package/toolbar/useToolbar.props.d.ts +2 -2
  474. package/tooltip/index.d.ts +1 -0
  475. package/tooltip/index.mjs +1 -1
  476. package/tooltip/index.mjs.map +1 -1
  477. package/tooltip/useTooltip.d.ts +43 -24
  478. package/tooltip/useTooltip.props.d.ts +2 -2
  479. package/tooltipmanager/index.d.ts +2 -0
  480. package/tooltipmanager/index.mjs +2 -0
  481. package/tooltipmanager/index.mjs.map +1 -0
  482. package/tooltipmanager/useTooltipManager.d.ts +12 -0
  483. package/tooltipmanager/useTooltipManager.props.d.ts +2 -0
  484. package/tooltipmanager/useTooltipManager.test.d.ts +0 -0
  485. package/tree/TreeDragDropService.d.ts +13 -5
  486. package/tree/index.d.ts +7 -0
  487. package/tree/index.mjs +1 -1
  488. package/tree/index.mjs.map +1 -1
  489. package/tree/useTree.d.ts +96 -16
  490. package/tree/useTree.props.d.ts +2 -2
  491. package/tree/useTreeDragDrop.d.ts +24 -0
  492. package/tree/useTreeFlatten.d.ts +13 -0
  493. package/tree/useTreeKeyboard.d.ts +18 -0
  494. package/tree/useTreeNode.d.ts +45 -0
  495. package/tree/useTreeNode.props.d.ts +2 -0
  496. package/tree/useTreeSelection.d.ts +31 -0
  497. package/utils/itemKey.d.ts +10 -0
  498. package/LICENSE +0 -21
  499. package/colorpicker/index.d.ts +0 -3
  500. package/colorpicker/index.mjs +0 -2
  501. package/colorpicker/index.mjs.map +0 -1
  502. package/colorpicker/input/index.d.ts +0 -2
  503. package/colorpicker/input/index.mjs +0 -2
  504. package/colorpicker/input/index.mjs.map +0 -1
  505. package/colorpicker/input/useColorPickerInput.d.ts +0 -11
  506. package/colorpicker/input/useColorPickerInput.props.d.ts +0 -2
  507. package/colorpicker/slider/index.d.ts +0 -2
  508. package/colorpicker/slider/index.mjs +0 -2
  509. package/colorpicker/slider/index.mjs.map +0 -1
  510. package/colorpicker/slider/useColorPickerSlider.d.ts +0 -13
  511. package/colorpicker/slider/useColorPickerSlider.props.d.ts +0 -2
  512. package/colorpicker/useColorPicker.d.ts +0 -26
  513. package/colorpicker/useColorPicker.props.d.ts +0 -2
  514. package/commandmenu/index.d.ts +0 -2
  515. package/commandmenu/index.mjs +0 -2
  516. package/commandmenu/index.mjs.map +0 -1
  517. package/commandmenu/useCommandMenu.d.ts +0 -11
  518. package/commandmenu/useCommandMenu.props.d.ts +0 -2
  519. package/confirmdialog/index.d.ts +0 -2
  520. package/confirmdialog/index.mjs +0 -2
  521. package/confirmdialog/index.mjs.map +0 -1
  522. package/confirmdialog/useConfirmDialog.d.ts +0 -1
  523. package/confirmdialog/useConfirmDialog.props.d.ts +0 -2
  524. package/confirmpopup/index.d.ts +0 -2
  525. package/confirmpopup/index.mjs +0 -2
  526. package/confirmpopup/index.mjs.map +0 -1
  527. package/confirmpopup/useConfirmPopup.d.ts +0 -25
  528. package/confirmpopup/useConfirmPopup.props.d.ts +0 -2
  529. package/imagecompare/index.d.ts +0 -2
  530. package/imagecompare/index.mjs +0 -2
  531. package/imagecompare/index.mjs.map +0 -1
  532. package/imagecompare/useImageCompare.d.ts +0 -8
  533. package/imagecompare/useImageCompare.props.d.ts +0 -2
  534. package/menu/sub/index.d.ts +0 -2
  535. package/menu/sub/index.mjs +0 -2
  536. package/menu/sub/index.mjs.map +0 -1
  537. package/menu/sub/useMenuSub.d.ts +0 -19
  538. package/menu/sub/useMenuSub.props.d.ts +0 -2
  539. package/orgchart/index.d.ts +0 -2
  540. package/orgchart/index.mjs +0 -2
  541. package/orgchart/index.mjs.map +0 -1
  542. package/orgchart/useOrgChart.d.ts +0 -20
  543. package/orgchart/useOrgChart.props.d.ts +0 -2
  544. package/overlay/index.d.ts +0 -2
  545. package/overlay/index.mjs +0 -2
  546. package/overlay/index.mjs.map +0 -1
  547. package/overlay/useOverlay.d.ts +0 -16
  548. package/overlay/useOverlay.props.d.ts +0 -2
  549. package/password/index.d.ts +0 -2
  550. package/password/index.mjs +0 -2
  551. package/password/index.mjs.map +0 -1
  552. package/password/usePassword.d.ts +0 -35
  553. package/password/usePassword.props.d.ts +0 -2
  554. package/placer/index.d.ts +0 -2
  555. package/placer/index.mjs +0 -2
  556. package/placer/index.mjs.map +0 -1
  557. package/placer/usePlacer.d.ts +0 -12
  558. package/placer/usePlacer.props.d.ts +0 -2
  559. package/switch/index.d.ts +0 -2
  560. package/switch/index.mjs +0 -2
  561. package/switch/index.mjs.map +0 -1
  562. package/switch/useSwitch.d.ts +0 -7
  563. package/switch/useSwitch.props.d.ts +0 -2
  564. package/toast/item/index.css +0 -2
  565. package/toast/item/index.css.map +0 -1
  566. package/toast/item/index.d.ts +0 -2
  567. package/toast/item/index.mjs +0 -2
  568. package/toast/item/index.mjs.map +0 -1
  569. package/toast/item/useToastItem.d.ts +0 -25
  570. package/toast/item/useToastItem.props.d.ts +0 -2
  571. package/toast/toastStore.d.ts +0 -40
  572. package/tooltip/group/index.d.ts +0 -2
  573. package/tooltip/group/index.mjs +0 -2
  574. package/tooltip/group/index.mjs.map +0 -1
  575. package/tooltip/group/useTooltipGroup.d.ts +0 -9
  576. package/tooltip/group/useTooltipGroup.props.d.ts +0 -2
  577. /package/{colorpicker/input/useColorPickerInput.test.d.ts → autocomplete/useAutoComplete.test.d.ts} +0 -0
  578. /package/{colorpicker/slider/useColorPickerSlider.test.d.ts → checkboxgroup/useCheckboxGroup.test.d.ts} +0 -0
  579. /package/{colorpicker/useColorPicker.test.d.ts → collapsible/useCollapsible.test.d.ts} +0 -0
  580. /package/{commandmenu/useCommandMenu.test.d.ts → compare/useCompare.test.d.ts} +0 -0
  581. /package/{confirmdialog/useConfirmDialog.test.d.ts → floatlabel/useFloatLabel.test.d.ts} +0 -0
  582. /package/{confirmpopup/useConfirmPopup.test.d.ts → iftalabel/useIftaLabel.test.d.ts} +0 -0
  583. /package/{imagecompare/useImageCompare.test.d.ts → inputcolor/useInputColor.test.d.ts} +0 -0
  584. /package/{orgchart/useOrgChart.test.d.ts → inputpassword/useInputPassword.test.d.ts} +0 -0
  585. /package/{overlay/useOverlay.test.d.ts → navigationmenu/useNavigationMenu.test.d.ts} +0 -0
  586. /package/{password/usePassword.test.d.ts → organizationchart/useOrganizationChart.test.d.ts} +0 -0
  587. /package/{placer/usePlacer.test.d.ts → overlaybadge/useOverlayBadge.test.d.ts} +0 -0
  588. /package/{progressspinner/useProgressSpinner.test.d.ts → positioner/usePositioner.test.d.ts} +0 -0
  589. /package/{rating/useRating.test.d.ts → radiobuttongroup/useRadioButtonGroup.test.d.ts} +0 -0
  590. /package/{switch/useSwitch.test.d.ts → toaster/useToaster.test.d.ts} +0 -0
  591. /package/{toast/item/useToastItem.test.d.ts → togglebuttongroup/useToggleButtonGroup.test.d.ts} +0 -0
  592. /package/{tooltip/group/useTooltipGroup.test.d.ts → toggleswitch/useToggleSwitch.test.d.ts} +0 -0
@@ -1,24 +1,62 @@
1
- import { useInputNumberProps } from '@primereact/types/shared/inputnumber';
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<useInputNumberProps, unknown, {
3
+ export declare const useInputNumber: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<UseInputNumberProps, unknown, {
4
4
  state: {
5
- focused: boolean;
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>, dir: number) => void;
22
- decrement: (event: React.KeyboardEvent<HTMLInputElement> | React.MouseEvent<HTMLInputElement> | React.PointerEvent<HTMLButtonElement>, dir: number) => void;
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 { useInputNumberProps } from '@primereact/types/shared/inputnumber';
2
- export declare const defaultProps: useInputNumberProps;
1
+ import type { UseInputNumberProps } from '@primereact/types/headless/inputnumber';
2
+ export declare const defaultProps: UseInputNumberProps;
@@ -1,2 +1,3 @@
1
1
  export * from './useInputOtp';
2
2
  export * from './useInputOtp.props';
3
+ export type * from '@primereact/types/headless/inputotp';
@@ -1,2 +1,2 @@
1
- import{withHeadless as R}from"@primereact/core/headless";import{isTouchDevice as x}from"@primeuix/utils";import*as u from"react";var d={value:void 0,defaultValue:void 0,integerOnly:!1,mask:!1,onValueChange:void 0};var h=R({name:"useInputOtp",defaultProps:d,setup({props:n}){var E,I;let[g,M]=u.useState((I=(E=n.value)!=null?E:n.defaultValue)!=null?I:null),[r,c]=u.useState(()=>{var t,a;let e=(a=(t=n.value)!=null?t:n.defaultValue)!=null?a:"";return e&&typeof e=="string"?e.split(""):[]}),s=u.useRef(0),k={value:g,tokens:r},H=u.useCallback(()=>{let e=s.current;return s.current+=1,e},[]),L=u.useCallback(()=>n.integerOnly?"numeric":"text",[n.integerOnly]),b=u.useCallback(()=>n.mask?"password":"text",[n.maks]),i=e=>{var a;let t=r.join("");M(t),(a=n.onValueChange)==null||a.call(n,{originalEvent:e,value:t})},y=(e,t)=>{let a=e.nativeEvent,o=e.target,T=[...r];T[t]=o.value,c(T),i(e),a.inputType==="deleteContentBackward"?l(e):(a.inputType==="insertText"||a.inputType==="deleteContentForward"||x()&&e instanceof CustomEvent)&&p(e)},l=e=>{let t=f(e.target);t&&(t.focus(),t.select())},p=e=>{let t=m(e.target);t&&(t.focus(),t.select())},m=e=>{let t=e.nextElementSibling;return t?t.nodeName==="INPUT"?t:m(t):null},f=e=>{let t=e.previousElementSibling;return t?t.nodeName==="INPUT"?t:f(t):null};return{state:k,registerText:H,inputMode:L,inputType:b,onInput:y,onClick:e=>{setTimeout(()=>e.target.select(),1)},onKeyDown:e=>{if(!(e.ctrlKey||e.metaKey))switch(e.code){case"ArrowLeft":l(e),e.preventDefault();break;case"ArrowUp":case"ArrowDown":e.preventDefault();break;case"Backspace":e.target.value.length===0&&(l(e),e.preventDefault());break;case"ArrowRight":p(e),e.preventDefault();break;case"Enter":case"NumpadEnter":case"Tab":break;default:(n.integerOnly&&!(e.code!=="Space"&&Number(e.key)>=0&&Number(e.key)<=9)||r.join("").length>=s.current&&e.code!=="Delete")&&e.preventDefault();break}},onPaste:e=>{let t=e.clipboardData.getData("text");if(t.length){let a=t.substring(0,s.current);if(!n.integerOnly||!isNaN(Number(a))){let o=a.split("");c(o),i(e)}}e.preventDefault()}}}});export{d as defaultProps,h as useInputOtp};
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
@@ -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<useInputOtpProps, unknown, {
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
- registerText: () => number;
9
- inputMode: () => "text" | "numeric";
10
- inputType: () => "text" | "password";
11
- onInput: (event: React.FormEvent<HTMLInputElement>, index: number) => void;
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 { useInputOtpProps } from '@primereact/types/shared/inputotp';
2
- export declare const defaultProps: useInputOtpProps;
1
+ import type { UseInputOtpProps } from '@primereact/types/headless/inputotp';
2
+ export declare const defaultProps: UseInputOtpProps;
@@ -0,0 +1,3 @@
1
+ export * from './useInputPassword';
2
+ export * from './useInputPassword.props';
3
+ export type * from '@primereact/types/headless/inputpassword';
@@ -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
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { UseInputPasswordProps } from '@primereact/types/headless/inputpassword';
2
+ export declare const defaultProps: UseInputPasswordProps;
@@ -1,2 +1,3 @@
1
1
  export * from './useInputTags';
2
2
  export * from './useInputTags.props';
3
+ export type * from '@primereact/types/headless/inputtags';
@@ -1,2 +1,2 @@
1
- import{withHeadless as C}from"@primereact/core/headless";import{useControlledState as y}from"@primereact/hooks/use-controlled-state";import{focus as R}from"@primeuix/utils";import*as r from"react";var I={defaultValue:void 0,value:void 0,max:void 0,delimiter:void 0,allowDuplicate:void 0,addOnBlur:void 0,addOnPaste:void 0,addOnTab:void 0,onValueChange:void 0,onAdd:void 0,onRemove:void 0};var j=C({name:"useInputTags",defaultProps:I,setup({props:t}){var h;let[l,m]=r.useState(""),[o,f]=r.useState(-1),v=r.useRef((h=t.defaultValue)!=null?h:[]),[n,s]=y({value:t.value,defaultValue:v.current,onChange:t.onValueChange}),w=r.useRef(null),d=r.useRef(null),x=r.useRef(new Map),k={value:n!=null?n:[],inputValue:l,focusedItemIndex:o},c=e=>{let a=e.trim();if(!a||t.disabled||t.max&&n&&n.length>=t.max||!t.allowDuplicate&&n&&n.includes(a))return;let u=[...n||[],a];s([u,{value:u}]),t.onAdd&&t.onAdd({value:a}),m("")},b=e=>{if(t.disabled||!n)return;let a=n.filter((u,g)=>g!==e);s([a,{value:a}]),t.onRemove&&t.onRemove({value:n[e],index:e}),f(-1)},T=()=>{let e=o;l.length===0&&n&&n.length>0&&(e=e===-1?n.length-1:e-1,e<0&&(e=0)),f(e)},E=()=>{var a;let e=o;l.length===0&&n&&n.length>0&&(e===n.length-1?(e=-1,d.current&&R((a=d.current)==null?void 0:a.elementRef.current)):e!==-1&&e++),f(e)},V=()=>{if(!l&&n&&n.length>0){let e=n.length-1;b(e)}o!==-1&&b(o)};return{state:k,controlRef:w,inputRef:d,itemRefs:x,onClick:()=>{var e;f(-1),d.current&&!t.disabled&&R((e=d.current)==null?void 0:e.elementRef.current)},onChange:e=>{let a=e.target.value;if(o!==-1&&f(-1),!t.delimiter){m(a);return}let u=typeof t.delimiter=="string"?new RegExp(t.delimiter.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")):t.delimiter;u.test(a)?a.split(u).map(i=>i.trim()).filter(i=>i.length>0).forEach(i=>c(i)):m(a)},onKeyDown:e=>{if(!t.disabled)switch(e.key){case"Tab":t.addOnTab&&l.trim()&&c(l);break;case"Enter":l.trim()&&c(l);break;case"ArrowLeft":T();break;case"ArrowRight":E();break;case"Backspace":V();break;default:l.trim()&&t.delimiter&&typeof t.delimiter=="string"&&e.key===t.delimiter&&c(l);break}},onPaste:e=>{if(!t.addOnPaste)return;let a=e.clipboardData.getData("text");if(t.delimiter){let u=typeof t.delimiter=="string"?new RegExp(t.delimiter.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")):t.delimiter;a.split(u).map(i=>i.trim()).filter(i=>i.length>0).forEach(i=>c(i))}else c(a);setTimeout(()=>{m("")},0)},onBlur:()=>{t.addOnBlur&&l.trim()&&c(l),o!==-1&&f(-1)},onItemRemoveClick:e=>{var u;if(!n)return;let a=n.filter((g,i)=>i!==e);s([a,{value:a}]),d.current&&R((u=d.current)==null?void 0:u.elementRef.current)},onRemoveAllItems:()=>{t.disabled||!n||s([[],{value:[]}])}}}});export{I as defaultProps,j as useInputTags};
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
@@ -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/shared/inputtags").useInputTagsProps, unknown, {
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
- controlRef: React.RefObject<HTMLDivElement | null>;
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
- onClick: () => void;
14
- onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
15
- onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
16
- onPaste: (event: React.ClipboardEvent<HTMLInputElement>) => void;
17
- onBlur: () => void;
18
- onItemRemoveClick: (index: number) => void;
19
- onRemoveAllItems: () => void;
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 { useInputTagsProps } from '@primereact/types/shared/inputtags';
2
- export declare const defaultProps: useInputTagsProps;
1
+ import type { UseInputTagsProps } from '@primereact/types/headless/inputtags';
2
+ export declare const defaultProps: UseInputTagsProps;
@@ -1,2 +1,3 @@
1
1
  export * from './useInputText';
2
2
  export * from './useInputText.props';
3
+ export type * from '@primereact/types/headless/inputtext';
@@ -1,2 +1,2 @@
1
- import{withHeadless as e}from"@primereact/core/headless";var t={};var s=e({name:"useInputText",defaultProps:t});export{t as defaultProps,s as useInputText};
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
@@ -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 { useInputTextProps } from '@primereact/types/shared/inputtext';\n\nexport const defaultProps: useInputTextProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAkC,CAAC,EDCzC,IAAMC,EAAeC,EAAa,CACrC,KAAM,eACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useInputText","withHeadless","defaultProps"]}
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/shared/inputtext").useInputTextProps, unknown, Record<PropertyKey, unknown>>;
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 { useInputTextProps } from '@primereact/types/shared/inputtext';
2
- export declare const defaultProps: useInputTextProps;
1
+ import type { UseInputTextProps } from '@primereact/types/headless/inputtext';
2
+ export declare const defaultProps: UseInputTextProps;
package/knob/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './useKnob';
2
2
  export * from './useKnob.props';
3
+ export type * from '@primereact/types/headless/knob';
package/knob/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{withHeadless as de}from"@primereact/core/headless";import{useEventListener as R}from"@primereact/hooks";import*as $ from"react";var C={defaultValue:void 0,value:void 0,size:100,step:1,min:0,max:100,readOnly:!1,disabled:!1,onValueChange:void 0};var i=40,y=50,P=50,r=4*Math.PI/3,l=-Math.PI/3,k=3.14159265358979,he=de({name:"useKnob",defaultProps:C,setup({props:e,elementRef:z}){var K,W;let[w,D]=$.useState((W=(K=e.value)!=null?K:e.defaultValue)!=null?W:null),f={value:w},E=(n,t,o,a,s)=>(n-t)*(s-a)/(o-t)+a,x=()=>{var o,a;let n=(o=e.min)!=null?o:0,t=(a=e.max)!=null?a:100;return E(n>0&&t>0?n:0,n,t,r,l)},g=()=>{var a,s;let n=(a=e.min)!=null?a:0,t=(s=e.max)!=null?s:100,o=w!=null?w:n;return E(o,n,t,r,l)},O=()=>y+Math.cos(r)*i,U=()=>P-Math.sin(r)*i,I=()=>y+Math.cos(l)*i,B=()=>P-Math.sin(l)*i,H=()=>y+Math.cos(x())*i,S=()=>P-Math.sin(x())*i,_=()=>y+Math.cos(g())*i,j=()=>P-Math.sin(g())*i,q=()=>Math.abs(x()-g())<k?0:1,F=()=>g()>x()?0:1,G=`M ${O()} ${U()} A ${i} ${i} 0 1 1 ${I()} ${B()}`,J=`M ${H()} ${S()} A ${i} ${i} 0 ${q()} ${F()} ${_()} ${j()}`,[N,Q]=R({target:"window",type:"mousemove",listener:n=>X(n)}),[Z,p]=R({target:"window",type:"mouseup",listener:()=>L()}),[ee,ne]=R({target:"window",type:"touchmove",listener:n=>Y(n)}),[te,ae]=R({target:"window",type:"touchend",listener:()=>T()}),V=(n,t)=>{var c,d;let o=n-((c=e.size)!=null?c:100)/2,a=((d=e.size)!=null?d:100)/2-t,s=Math.atan2(a,o),u=-k/2-k/6;oe(s,u)},oe=(n,t)=>{var s,u,c,d,h,v,b,M;let o;if(n>l)o=E(n,r,l,(s=e.min)!=null?s:0,(u=e.max)!=null?u:100);else if(n<t)o=E(n+2*Math.PI,r,l,(c=e.min)!=null?c:0,(d=e.max)!=null?d:100);else return;let a=Math.round((o-((h=e.min)!=null?h:0))/((v=e.step)!=null?v:1))*((b=e.step)!=null?b:1)+((M=e.min)!=null?M:0);D(a),e.onValueChange&&e.onValueChange({value:a})},m=n=>{var o,a,s,u;let t;n>((o=e.max)!=null?o:100)?t=(a=e.max)!=null?a:100:n<((s=e.min)!=null?s:0)?t=(u=e.min)!=null?u:0:t=n,D(t),e.onValueChange&&e.onValueChange({value:t})},se=n=>{!e.disabled&&!e.readOnly&&V(n.nativeEvent.offsetX,n.nativeEvent.offsetY)},ue=n=>{N(),Z(),n.preventDefault()},L=()=>{Q(),p()},ie=()=>{ee(),te()},T=()=>{ne(),ae()},X=n=>{!e.disabled&&!e.readOnly&&(V(n.nativeEvent.offsetX,n.nativeEvent.offsetY),n.preventDefault())},Y=n=>{var t;if(!e.disabled&&!e.readOnly&&n.touches.length==1){let o=(t=z.current)==null?void 0:t.getBoundingClientRect(),a=n.targetTouches.item(0);if(o&&a){let s=a.clientX-o.left,u=a.clientY-o.top;V(s,u)}}},ce=n=>{var t,o,a,s,u,c,d,h,v,b,M,A;if(!e.disabled&&!e.readOnly)switch(n.code){case"ArrowRight":case"ArrowUp":{n.preventDefault(),m(((o=(t=f.value)!=null?t:e.min)!=null?o:0)+((a=e.step)!=null?a:1));break}case"ArrowLeft":case"ArrowDown":{n.preventDefault(),m(((u=(s=f.value)!=null?s:e.min)!=null?u:0)-((c=e.step)!=null?c:1));break}case"Home":{n.preventDefault(),m((d=e.min)!=null?d:0);break}case"End":{n.preventDefault(),m((h=e.max)!=null?h:100);break}case"PageUp":{n.preventDefault(),m(((b=(v=f.value)!=null?v:e.min)!=null?b:0)+10);break}case"PageDown":{n.preventDefault(),m(((A=(M=f.value)!=null?M:e.min)!=null?A:0)-10);break}}};return $.useEffect(()=>{e.value!==void 0&&D(e.value)},[e.value]),{state:f,rangePath:G,valuePath:J,onClick:se,onMouseDown:ue,onMouseUp:L,onTouchStart:ie,onTouchEnd:T,onMouseMove:X,onTouchMove:Y,onKeyDown:ce}}});export{C as defaultProps,he as useKnob};
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