@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
@@ -0,0 +1,69 @@
1
+ import type { UseDataTableCellEditEvent, DataTableEditMode, UseDataTableEditingEvent, UseDataTableRowEditEvent, EditingKeys } from '@primereact/types/headless/datatable';
2
+ import * as React from 'react';
3
+ export interface UseDataTableEditingOptions {
4
+ editMode?: DataTableEditMode;
5
+ editingKeys?: EditingKeys;
6
+ defaultEditingKeys?: EditingKeys;
7
+ onEditingKeysChange?: (event: UseDataTableEditingEvent) => void;
8
+ onRowEditInit?: (event: UseDataTableRowEditEvent) => void;
9
+ onRowEditSave?: (event: UseDataTableRowEditEvent) => void;
10
+ onRowEditCancel?: (event: UseDataTableRowEditEvent) => void;
11
+ onCellEditInit?: (event: {
12
+ originalEvent: React.SyntheticEvent;
13
+ field: string;
14
+ rowIndex: number;
15
+ }) => void;
16
+ onCellEditComplete?: (event: UseDataTableCellEditEvent) => void;
17
+ onCellEditCancel?: (event: UseDataTableCellEditEvent) => void;
18
+ }
19
+ export declare function useDataTableEditing(options: UseDataTableEditingOptions): {
20
+ state: {
21
+ editingKeys: EditingKeys;
22
+ editingCell: {
23
+ rowIndex: number;
24
+ field: string;
25
+ rowKey?: string | number;
26
+ } | null;
27
+ };
28
+ exposes: {
29
+ isEditing: (key: string | number) => boolean;
30
+ startRowEdit: (event: React.SyntheticEvent, key: string | number, rowData?: Record<string, unknown>, rowIndex?: number) => void;
31
+ saveRowEdit: (event: React.SyntheticEvent, key: string | number, rowData?: Record<string, unknown>, newData?: Record<string, unknown>, rowIndex?: number) => void;
32
+ cancelRowEdit: (event: React.SyntheticEvent, key: string | number, rowData?: Record<string, unknown>, rowIndex?: number) => void;
33
+ startCellEdit: (event: React.SyntheticEvent, rowIndex: number, field: string, rowKey?: string | number) => void;
34
+ completeCellEdit: (event: UseDataTableCellEditEvent) => boolean;
35
+ cancelCellEdit: (event: React.SyntheticEvent, rowIndex: number, field: string) => void;
36
+ isCellEditing: (rowIndex: number, field: string, rowKey?: string | number) => boolean;
37
+ getCellEditorRootProps: (params: {
38
+ rowIndex: number;
39
+ field: string;
40
+ rowKey?: string | number;
41
+ isEditing: boolean;
42
+ }) => {
43
+ 'data-editing'?: string | undefined;
44
+ 'data-row-key'?: string | undefined;
45
+ 'data-scope': string;
46
+ 'data-part': string;
47
+ 'data-row-index': string;
48
+ 'data-field': string;
49
+ };
50
+ getRowEditorInitProps: () => {
51
+ 'data-scope': string;
52
+ 'data-part': string;
53
+ type: "button";
54
+ 'aria-label': string;
55
+ };
56
+ getRowEditorSaveProps: () => {
57
+ 'data-scope': string;
58
+ 'data-part': string;
59
+ type: "button";
60
+ 'aria-label': string;
61
+ };
62
+ getRowEditorCancelProps: () => {
63
+ 'data-scope': string;
64
+ 'data-part': string;
65
+ type: "button";
66
+ 'aria-label': string;
67
+ };
68
+ };
69
+ };
@@ -0,0 +1,32 @@
1
+ import type { UseDataTableExpansionEvent, ExpandedKeys } from '@primereact/types/headless/datatable';
2
+ import * as React from 'react';
3
+ export interface UseDataTableExpansionOptions {
4
+ expandedKeys?: ExpandedKeys;
5
+ defaultExpandedKeys?: ExpandedKeys;
6
+ onExpandedChange?: (event: UseDataTableExpansionEvent) => void;
7
+ }
8
+ export declare function useDataTableExpansion(options: UseDataTableExpansionOptions): {
9
+ state: {
10
+ expandedKeys: ExpandedKeys;
11
+ };
12
+ exposes: {
13
+ isExpanded: (key: string | number) => boolean;
14
+ toggleExpansion: (event: React.SyntheticEvent, key: string | number) => void;
15
+ getRowToggleProps: (rowKey: string | number | undefined, item?: Record<string, unknown> | null) => {
16
+ isSpacer: true;
17
+ spacerProps: {
18
+ 'data-scope': string;
19
+ 'data-part': string;
20
+ 'data-tree-level': number;
21
+ style: React.CSSProperties;
22
+ };
23
+ rootProps?: undefined;
24
+ isExpanded?: undefined;
25
+ } | {
26
+ isSpacer: false;
27
+ rootProps: Record<string, unknown>;
28
+ isExpanded: boolean;
29
+ spacerProps?: undefined;
30
+ };
31
+ };
32
+ };
@@ -0,0 +1,43 @@
1
+ export interface DataTableExportOptions {
2
+ /**
3
+ * Only export selected rows.
4
+ */
5
+ selectionOnly?: boolean;
6
+ /**
7
+ * Fields to export. If not provided, all fields from first row are used.
8
+ */
9
+ fields?: string[];
10
+ /**
11
+ * Column headers for export (maps field → header label).
12
+ */
13
+ headers?: Record<string, string>;
14
+ /**
15
+ * CSV separator character.
16
+ * @default ','
17
+ */
18
+ separator?: string;
19
+ /**
20
+ * File name for download (without extension).
21
+ * @default 'download'
22
+ */
23
+ fileName?: string;
24
+ /**
25
+ * Custom export function. When provided, it is called instead of the default CSV download.
26
+ * Receives the resolved data array and fields list.
27
+ */
28
+ exportFunction?: (options: {
29
+ data: Record<string, unknown>[];
30
+ fields: string[];
31
+ }) => void;
32
+ }
33
+ export interface UseDataTableExportOptions {
34
+ data?: Record<string, unknown>[];
35
+ dataKey?: string | null;
36
+ selectedKeys?: Record<string, boolean>;
37
+ }
38
+ export declare function useDataTableExport(options: UseDataTableExportOptions): {
39
+ state: Readonly<{}>;
40
+ exposes: {
41
+ exportCSV: (exportOptions?: DataTableExportOptions) => void;
42
+ };
43
+ };
@@ -0,0 +1,95 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Filter match mode types supported by DataTable.
4
+ */
5
+ export declare const FilterMatchMode: {
6
+ readonly Contains: "contains";
7
+ readonly NotContains: "notContains";
8
+ readonly StartsWith: "startsWith";
9
+ readonly EndsWith: "endsWith";
10
+ readonly Equals: "equals";
11
+ readonly NotEquals: "notEquals";
12
+ readonly In: "in";
13
+ readonly Between: "between";
14
+ readonly Lt: "lt";
15
+ readonly Lte: "lte";
16
+ readonly Gt: "gt";
17
+ readonly Gte: "gte";
18
+ readonly DateIs: "dateIs";
19
+ readonly DateIsNot: "dateIsNot";
20
+ readonly DateBefore: "dateBefore";
21
+ readonly DateAfter: "dateAfter";
22
+ readonly Custom: "custom";
23
+ };
24
+ export type FilterMatchMode = (typeof FilterMatchMode)[keyof typeof FilterMatchMode];
25
+ /**
26
+ * Filter operator types.
27
+ */
28
+ export declare const FilterOperator: {
29
+ readonly And: "and";
30
+ readonly Or: "or";
31
+ };
32
+ export type FilterOperator = (typeof FilterOperator)[keyof typeof FilterOperator];
33
+ /**
34
+ * Defines filter metadata for a single column constraint.
35
+ */
36
+ export interface FilterConstraint {
37
+ value: unknown;
38
+ matchMode: FilterMatchMode;
39
+ }
40
+ /**
41
+ * Defines filter metadata for a column (single or multiple constraints).
42
+ */
43
+ export interface ColumnFilterMeta {
44
+ value?: unknown;
45
+ matchMode?: FilterMatchMode;
46
+ constraints?: FilterConstraint[];
47
+ operator?: 'and' | 'or';
48
+ }
49
+ /**
50
+ * Defines the complete filter metadata map.
51
+ */
52
+ export type DataTableFilterMeta = Record<string, ColumnFilterMeta | unknown>;
53
+ /**
54
+ * Event fired when filters change.
55
+ */
56
+ export interface UseDataTableFilterEvent {
57
+ originalEvent: React.SyntheticEvent;
58
+ filters: DataTableFilterMeta;
59
+ }
60
+ export interface UseDataTableFilterOptions {
61
+ data?: Record<string, unknown>[];
62
+ lazy?: boolean;
63
+ filters?: DataTableFilterMeta;
64
+ defaultFilters?: DataTableFilterMeta;
65
+ globalFilter?: string | null;
66
+ globalFilterFields?: string[];
67
+ filterDelay?: number;
68
+ onFilter?: (event: UseDataTableFilterEvent) => void;
69
+ }
70
+ export declare function useDataTableFilter(options: UseDataTableFilterOptions): {
71
+ filteredData: Record<string, unknown>[];
72
+ state: {
73
+ filters: DataTableFilterMeta;
74
+ globalFilter: string | null;
75
+ };
76
+ exposes: {
77
+ setFieldFilter: (event: React.SyntheticEvent, field: string, meta: ColumnFilterMeta) => void;
78
+ clearFieldFilter: (event: React.SyntheticEvent, field: string) => void;
79
+ clearAllFilters: (event: React.SyntheticEvent) => void;
80
+ addConstraint: (event: React.SyntheticEvent, field: string, defaultMatchMode?: FilterMatchMode) => void;
81
+ removeConstraint: (event: React.SyntheticEvent, field: string, index: number) => void;
82
+ setOperator: (event: React.SyntheticEvent, field: string, operator: "and" | "or") => void;
83
+ setConstraintValue: (event: React.SyntheticEvent, field: string, index: number, value: unknown, matchMode?: FilterMatchMode) => void;
84
+ setConstraintMatchMode: (event: React.SyntheticEvent, field: string, index: number, matchMode: FilterMatchMode) => void;
85
+ hasFilterValue: (field: string) => boolean;
86
+ isFiltered: () => boolean;
87
+ getFieldFilterMeta: (field: string) => ColumnFilterMeta;
88
+ getFilterRootProps: (field: string, display?: "row" | "menu") => {
89
+ 'data-active'?: string | undefined;
90
+ 'data-scope': string;
91
+ 'data-part': string;
92
+ 'data-display': "menu" | "row";
93
+ };
94
+ };
95
+ };
@@ -0,0 +1,11 @@
1
+ import type { RowGroupMeta } from '@primereact/types/headless/datatable';
2
+ export interface UseDataTableGroupingOptions {
3
+ data: Record<string, unknown>[];
4
+ groupField?: string;
5
+ }
6
+ export declare function useDataTableGrouping(options: UseDataTableGroupingOptions): {
7
+ state: {
8
+ groupMetaMap: Map<number, RowGroupMeta> | undefined;
9
+ };
10
+ exposes: {};
11
+ };
@@ -0,0 +1,23 @@
1
+ import type { ExpandedKeys, SelectionKeys } from '@primereact/types/headless/datatable';
2
+ import * as React from 'react';
3
+ export interface UseDataTableKeyboardOptions {
4
+ data: Record<string, unknown>[];
5
+ dataKey?: string | null;
6
+ treeMode?: boolean;
7
+ selectionMode?: 'single' | 'multiple' | null;
8
+ selectedKeys?: SelectionKeys;
9
+ expandedKeys?: ExpandedKeys;
10
+ onToggleExpansion?: (event: React.SyntheticEvent, key: string | number) => void;
11
+ onToggleSelection?: (event: React.SyntheticEvent, key: string | number, mode: 'checkbox' | 'radio' | 'single') => void;
12
+ getRowKey?: (item: Record<string, unknown>, index: number) => string | number;
13
+ }
14
+ export declare function useDataTableKeyboard(options: UseDataTableKeyboardOptions): {
15
+ state: {
16
+ focusedRowIndex: number;
17
+ };
18
+ exposes: {
19
+ getRowTabIndex: (index: number) => number;
20
+ onRowKeyDown: (event: React.KeyboardEvent<HTMLTableRowElement>, index: number) => void;
21
+ focusRow: (tbody: HTMLElement | null, index: number) => void;
22
+ };
23
+ };
@@ -0,0 +1,32 @@
1
+ import type { UseDataTablePageEvent } from '@primereact/types/headless/datatable';
2
+ import * as React from 'react';
3
+ export interface UseDataTablePaginationOptions {
4
+ data: Record<string, unknown>[];
5
+ lazy?: boolean;
6
+ totalRecords?: number;
7
+ paginator?: boolean;
8
+ page?: number;
9
+ defaultPage?: number;
10
+ rows?: number;
11
+ defaultRows?: number;
12
+ onPageChange?: (event: UseDataTablePageEvent) => void;
13
+ }
14
+ export declare function useDataTablePagination(options: UseDataTablePaginationOptions): {
15
+ paginatedData: Record<string, unknown>[];
16
+ state: {
17
+ page: number;
18
+ rows: number;
19
+ first: number;
20
+ pageCount: number;
21
+ totalRecords: number;
22
+ };
23
+ exposes: {
24
+ page: number;
25
+ rows: number;
26
+ first: number;
27
+ pageCount: number;
28
+ totalRecords: number;
29
+ onPageChange: (event: React.SyntheticEvent, newPage: number) => void;
30
+ onRowsChange: (event: React.SyntheticEvent, newRows: number) => void;
31
+ };
32
+ };
@@ -0,0 +1,42 @@
1
+ import * as React from 'react';
2
+ export interface UseDataTableRowReorderEvent {
3
+ /**
4
+ * The original browser event.
5
+ */
6
+ originalEvent: DragEvent;
7
+ /**
8
+ * Index of the row being dragged (within the current page / processed slice).
9
+ */
10
+ dragIndex: number;
11
+ /**
12
+ * Adjusted index where the row is dropped.
13
+ */
14
+ dropIndex: number;
15
+ /**
16
+ * The reordered data array.
17
+ */
18
+ value: Record<string, unknown>[];
19
+ }
20
+ export interface UseDataTableRowReorderOptions {
21
+ data?: Record<string, unknown>[];
22
+ reorderableRows?: boolean;
23
+ onRowReorder?: (event: UseDataTableRowReorderEvent) => void;
24
+ }
25
+ export declare function useDataTableRowReorder(options: UseDataTableRowReorderOptions): {
26
+ state: Readonly<{}>;
27
+ exposes: {
28
+ onDragStart: (event: React.DragEvent, rowIndex: number) => void;
29
+ onDragOver: (event: React.DragEvent, rowIndex: number) => void;
30
+ onDragEnter: (event: React.DragEvent, rowIndex: number) => void;
31
+ onDragLeave: (event: React.DragEvent) => void;
32
+ onDrop: (event: React.DragEvent) => void;
33
+ onDragEnd: () => void;
34
+ getRowReorderHandleProps: () => {
35
+ 'data-scope': string;
36
+ 'data-part': string;
37
+ style: React.CSSProperties;
38
+ onPointerDown: (event: React.PointerEvent) => void;
39
+ onPointerUp: (event: React.PointerEvent) => void;
40
+ };
41
+ };
42
+ };
@@ -0,0 +1,28 @@
1
+ import type { UseDataTableSelectionEvent, SelectionKeys } from '@primereact/types/headless/datatable';
2
+ import * as React from 'react';
3
+ export interface UseDataTableSelectionOptions {
4
+ data: Record<string, unknown>[];
5
+ rawTreeData?: Record<string, unknown>[];
6
+ treeMode?: boolean;
7
+ dataKey?: string | null;
8
+ selectionMode?: 'single' | 'multiple' | null;
9
+ metaKeySelection?: boolean;
10
+ selectedKeys?: SelectionKeys;
11
+ defaultSelectedKeys?: SelectionKeys;
12
+ onSelectionChange?: (event: UseDataTableSelectionEvent) => void;
13
+ }
14
+ export declare function useDataTableSelection(options: UseDataTableSelectionOptions): {
15
+ getRowKey: (item: Record<string, unknown>, index: number) => string | number;
16
+ state: {
17
+ selectedKeys: SelectionKeys;
18
+ };
19
+ exposes: {
20
+ isSelected: (key: string | number) => boolean;
21
+ isPartiallySelected: (key: string | number) => boolean;
22
+ toggleSelection: (event: React.SyntheticEvent, key: string | number, mode: "checkbox" | "radio" | "single") => void;
23
+ toggleAll: (event: React.SyntheticEvent) => void;
24
+ isAllSelected: () => boolean;
25
+ isSomeSelected: () => boolean;
26
+ onRowClick: (event: React.MouseEvent, key: string | number) => void;
27
+ };
28
+ };
@@ -0,0 +1,51 @@
1
+ import type { UseDataTableSortEvent, SortMeta, SortOrder } from '@primereact/types/headless/datatable';
2
+ import * as React from 'react';
3
+ export interface UseDataTableSortOptions {
4
+ data: Record<string, unknown>[];
5
+ lazy?: boolean;
6
+ sortField?: string;
7
+ sortOrder?: SortOrder;
8
+ defaultSortField?: string;
9
+ defaultSortOrder?: SortOrder;
10
+ multiSortMeta?: SortMeta[];
11
+ defaultMultiSortMeta?: SortMeta[];
12
+ removableSort?: boolean;
13
+ nullSortOrder?: number;
14
+ onSortChange?: (event: UseDataTableSortEvent) => void;
15
+ }
16
+ export declare function useDataTableSort(options: UseDataTableSortOptions): {
17
+ sortedData: Record<string, unknown>[];
18
+ state: {
19
+ sortField: string | undefined;
20
+ sortOrder: SortOrder | undefined;
21
+ multiSortMeta: SortMeta[] | undefined;
22
+ };
23
+ exposes: {
24
+ onSort: (event: React.SyntheticEvent, field: string, multiSort?: boolean) => void;
25
+ isSorted: (field: string) => boolean;
26
+ getSortOrder: (field: string) => SortOrder;
27
+ getSortIndex: (field: string) => number;
28
+ getSortProps: (field: string) => {
29
+ role: "button";
30
+ tabIndex: number;
31
+ 'aria-label': string;
32
+ 'aria-sort': "none" | "ascending" | "descending";
33
+ onClick: (event: React.MouseEvent | React.KeyboardEvent) => void;
34
+ onKeyDown: (event: React.KeyboardEvent) => void;
35
+ 'data-sorted': string;
36
+ 'data-sort-order': string;
37
+ 'data-scope': string;
38
+ 'data-part': string;
39
+ } | {
40
+ role: "button";
41
+ tabIndex: number;
42
+ 'aria-label': string;
43
+ 'aria-sort': "none" | "ascending" | "descending";
44
+ onClick: (event: React.MouseEvent | React.KeyboardEvent) => void;
45
+ onKeyDown: (event: React.KeyboardEvent) => void;
46
+ 'data-unsorted': string;
47
+ 'data-scope': string;
48
+ 'data-part': string;
49
+ };
50
+ };
51
+ };
@@ -0,0 +1,31 @@
1
+ import type { ExpandedKeys, SortMeta, SortOrder, TreeNode } from '@primereact/types/headless/datatable';
2
+ import type { DataTableFilterMeta } from './useDataTableFilter';
3
+ export type { TreeNode };
4
+ export interface UseDataTableTreeOptions {
5
+ data: Record<string, unknown>[];
6
+ treeMode?: boolean;
7
+ expandedKeys: ExpandedKeys;
8
+ sortField?: string;
9
+ sortOrder?: SortOrder;
10
+ multiSortMeta?: SortMeta[];
11
+ filters?: DataTableFilterMeta;
12
+ globalFilter?: string | null;
13
+ globalFilterFields?: string[];
14
+ paginator?: boolean;
15
+ page?: number;
16
+ rows?: number;
17
+ }
18
+ /**
19
+ * Recursively filters tree nodes.
20
+ * - If a node matches, include it with ALL its children (lenient mode).
21
+ * - If a node doesn't match but a descendant does, include the node with filtered children.
22
+ * - If neither node nor any descendant matches, exclude.
23
+ */
24
+ export declare function filterTreeNodes(nodes: TreeNode[], filters: DataTableFilterMeta, globalFilter: string | null, globalFilterFields: string[], depth?: number): TreeNode[];
25
+ export declare function hasActiveFilters(filters: DataTableFilterMeta, globalFilter: string | null): boolean;
26
+ export declare function useDataTableTree(options: UseDataTableTreeOptions): {
27
+ flattenedData: Record<string, unknown>[];
28
+ totalRootNodes: number;
29
+ state: {};
30
+ exposes: {};
31
+ };
@@ -0,0 +1,7 @@
1
+ export * from './useDataTable';
2
+ export * from './useDataTable.props';
3
+ export * from './useDataTableRow';
4
+ export * from './useDataTableRow.props';
5
+ export { FilterMatchMode, FilterOperator } from './features/useDataTableFilter';
6
+ export type { FilterMatchMode as FilterMatchModeType, FilterOperator as FilterOperatorType, DataTableFilterMeta, ColumnFilterMeta, FilterConstraint, UseDataTableFilterEvent } from './features/useDataTableFilter';
7
+ export type * from '@primereact/types/headless/datatable';
@@ -0,0 +1,11 @@
1
+ var nt=Object.defineProperty,rt=Object.defineProperties;var at=Object.getOwnPropertyDescriptors;var xe=Object.getOwnPropertySymbols;var ot=Object.prototype.hasOwnProperty,lt=Object.prototype.propertyIsEnumerable;var Fe=(e,t,n)=>t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,k=(e,t)=>{for(var n in t||(t={}))ot.call(t,n)&&Fe(e,n,t[n]);if(xe)for(var n of xe(t))lt.call(t,n)&&Fe(e,n,t[n]);return e},V=(e,t)=>rt(e,at(t));import{withHeadless as St}from"@primereact/core/headless";import*as ae from"react";import*as j from"react";var st=Object.freeze({});function Ke(e){let{reorderableColumns:t=!1}=e,n=j.useRef(-1),r=j.useRef(null),s=j.useRef(-1),o=j.useRef(0),l=j.useRef(null),a=j.useRef(null),d=j.useRef(null),T=j.useRef(new Map),b=j.useRef(-1),g=j.useRef(null),m=j.useCallback((h,v)=>(T.current.set(h,v),()=>{T.current.delete(h),b.current===h&&(b.current=-1,g.current=null)}),[]),S=j.useCallback((h,v)=>{var K,O;let D=b.current,x=g.current;D===h&&x===v||(D!==-1&&D!==h&&((K=T.current.get(D))==null||K(null)),(O=T.current.get(h))==null||O({side:v}),b.current=h,g.current=v)},[]),p=j.useCallback(()=>{var v;let h=b.current;h!==-1&&((v=T.current.get(h))==null||v(null),b.current=-1,g.current=null)},[]),i=j.useCallback((h,v)=>{t&&(n.current=v,r.current=h.currentTarget,h.dataTransfer.effectAllowed="move",h.dataTransfer.setData("text/plain",String(v)))},[t]),u=j.useCallback((h,v)=>{if(!t||n.current===-1||n.current===v)return;h.preventDefault(),h.dataTransfer.dropEffect="move";let x=h.currentTarget.getBoundingClientRect(),K=h.clientX>x.left+x.width/2?"end":"start";o.current=K==="end"?1:-1,s.current=v,S(v,K);let O=l.current,N=a.current,_=d.current;if(O&&N&&_){let W=_.getBoundingClientRect(),Q=O.offsetHeight,X=O.offsetWidth,z=x.left-W.left,E=K==="end"?z+x.width-Math.ceil(X/2):z-Math.ceil(X/2);O.style.top=x.top-W.top-Q+1+"px",O.style.left=E+"px",N.style.top=x.top-W.top+x.height+"px",N.style.left=E+"px",O.style.display="block",N.style.display="block"}},[t,S]),R=j.useCallback((h,v)=>{!t||n.current===-1||(h.preventDefault(),s.current=v)},[t]),F=j.useCallback(()=>{l.current&&(l.current.style.display="none"),a.current&&(a.current.style.display="none")},[]),P=j.useCallback(h=>{},[t]),I=j.useCallback((h,v)=>{var N;if(!t||n.current===-1)return;h.preventDefault();let D=n.current,x=v,K=o.current,O=D!==x;O&&(x-D===1&&K===-1||x-D===-1&&K===1)&&(O=!1),O&&(x<D&&K===1&&x++,x>D&&K===-1&&x--,(N=e.onColumnReorder)==null||N.call(e,{originalEvent:h.nativeEvent,dragIndex:D,dropIndex:x})),F(),p(),n.current=-1,s.current=-1,o.current=0,r.current=null},[t,e.onColumnReorder,p,F]),y=j.useCallback(h=>{t&&(F(),p(),n.current=-1,s.current=-1,o.current=0,r.current=null)},[t,p,F]),M=j.useCallback(()=>({"data-scope":"datatable","data-part":"column-reorder",style:{cursor:"grab",userSelect:"none"}}),[]),w=j.useCallback(()=>({"data-scope":"datatable","data-part":"column-reorder-indicator-up",ref:h=>{l.current=h}}),[]),c=j.useCallback(()=>({"data-scope":"datatable","data-part":"column-reorder-indicator-down",ref:h=>{a.current=h}}),[]),C=j.useCallback(h=>{d.current=h},[]),f=j.useMemo(()=>({onDragStart:i,onDragOver:u,onDragEnter:R,onDragLeave:P,onDrop:I,onDragEnd:y,registerDropTarget:m,getColumnReorderHandleProps:M,getColumnReorderIndicatorUpProps:w,getColumnReorderIndicatorDownProps:c}),[i,u,R,P,I,y,m,M,w,c]);return{state:st,exposes:f,registerRoot:C}}import*as J from"react";var it=Object.freeze({}),ue=15;function Le(e){let{resizableColumns:t=!1,columnResizeMode:n="fit"}=e,r=J.useRef(null),s=J.useRef(null),o=J.useCallback(i=>{s.current=i},[]),l=J.useRef(null),a=J.useCallback((i,u)=>{if(typeof document=="undefined")return;if(!l.current){let P=document.createElement("style");P.setAttribute("data-primereact-datatable-resize",""),document.head.appendChild(P),l.current=P}let R=i.getAttribute("data-resize-id");R||(R=`dt-resize-${Math.random().toString(36).slice(2,9)}`,i.setAttribute("data-resize-id",R));let F=u.map((P,I)=>{let y=I+1,M=`table[data-resize-id="${R}"]`;return`
2
+ ${M} > thead > tr > th:nth-child(${y}),
3
+ ${M} > tbody > tr > td:nth-child(${y}),
4
+ ${M} > tfoot > tr > td:nth-child(${y}) {
5
+ width: ${P}px !important;
6
+ max-width: ${P}px !important;
7
+ }
8
+ `}).join(`
9
+ `);l.current.innerHTML=F},[]);J.useEffect(()=>()=>{var i;(i=l.current)==null||i.remove(),l.current=null},[]);let d=J.useRef(n);d.current=n;let T=J.useRef(e.onColumnResizeEnd);T.current=e.onColumnResizeEnd;let b=J.useCallback(()=>{let i=r.current;i&&(i.resizer.removeEventListener("pointermove",i.onMove),i.resizer.removeEventListener("pointerup",i.onEnd),i.resizer.removeEventListener("pointercancel",i.onEnd),i.resizer.hasPointerCapture(i.pointerId)&&i.resizer.releasePointerCapture(i.pointerId),s.current&&(s.current.style.display="none",s.current.style.willChange=""),document.body.style.removeProperty("cursor"),document.body.style.removeProperty("user-select"),r.current=null)},[]),g=J.useCallback((i,u,R)=>{let F=i.headerCells.map((P,I)=>{var y;return(y=u[I])!=null?y:P.offsetWidth});if(R!==void 0)i.table.style.width=`${R}px`,i.table.style.minWidth=`${R}px`;else{let P=i.initialTableWidth,I=F.reduce((M,w)=>M+w,0),y=P-I;if(Math.abs(y)>.01){let M=F.findIndex((w,c)=>u[c]===void 0);M>=0&&(F[M]+=y)}}a(i.table,F)},[a]),m=J.useCallback((i,u,R)=>{var h,v,D;if(!t||i.pointerType==="mouse"&&i.button!==0)return;let F=R.closest("table");if(!F)return;let P=(h=F.closest('[data-part="table-container"]'))!=null?h:F.parentElement;if(!P)return;let I=i.currentTarget,y=Array.from(F.querySelectorAll("thead th")),M=(v=y[u+1])!=null?v:null,w=P.getBoundingClientRect(),c=s.current;if(c){let x=i.clientX-w.left+P.scrollLeft;c.style.top="0px",c.style.left="0px",c.style.height=`${P.clientHeight}px`,c.style.transform=`translateX(${x}px)`,c.style.willChange="transform",c.style.display="block"}let C=x=>{let K=r.current;if(!K||x.pointerId!==K.pointerId)return;let O=s.current;if(!O)return;let N=x.clientX-K.containerLeft+K.tableContainer.scrollLeft;O.style.transform=`translateX(${N}px)`},f=x=>{var W,Q;let K=r.current;if(!K||x.pointerId!==K.pointerId)return;let O=x.clientX-K.startClientX,N=d.current,_=K.initialWidth+O;if(_>=ue){if(N==="fit"&&K.nextHeaderCell){let X=K.initialNextWidth-ue,z=Math.min(O,X),E=K.initialWidth+z,H=K.initialNextWidth-z;E>=ue&&H>=ue&&(g(K,{[K.columnIndex]:E,[K.columnIndex+1]:H}),(W=T.current)==null||W.call(T,{originalEvent:x,columnIndex:K.columnIndex,delta:z}))}else if(N==="expand"){let X=K.initialTableWidth+O;g(K,{[K.columnIndex]:_},X),(Q=T.current)==null||Q.call(T,{originalEvent:x,columnIndex:K.columnIndex,delta:O})}}b()};r.current={columnIndex:u,pointerId:i.pointerId,startClientX:i.clientX,containerLeft:w.left,initialScrollLeft:P.scrollLeft,resizer:I,headerCell:R,nextHeaderCell:M,headerCells:y,table:F,tableContainer:P,initialWidth:R.offsetWidth,initialNextWidth:(D=M==null?void 0:M.offsetWidth)!=null?D:0,initialTableWidth:d.current==="fit"?P.clientWidth:F.offsetWidth,onMove:C,onEnd:f},I.setPointerCapture(i.pointerId),I.addEventListener("pointermove",C),I.addEventListener("pointerup",f),I.addEventListener("pointercancel",f),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[t,g,b]);J.useEffect(()=>()=>b(),[b]);let S=J.useCallback(i=>({"data-scope":"datatable","data-part":"column-resizer",style:{touchAction:"none"},onPointerDown:R=>{let F=R.target.closest("th");if(F){let P=i!=null?i:F.cellIndex;m(R,P,F)}}}),[m]),p=J.useMemo(()=>({onResizeStart:m,registerIndicator:o,getColumnResizerProps:S}),[m,o,S]);return{state:it,exposes:p}}import*as Y from"react";var Ce=Object.freeze({});function Pe(e){var w;let{editMode:t}=e,n=e.editingKeys!==void 0,[r,s]=Y.useState(()=>{var c,C;return(C=(c=e.editingKeys)!=null?c:e.defaultEditingKeys)!=null?C:Ce}),o=n?(w=e.editingKeys)!=null?w:Ce:r;Y.useEffect(()=>{var c;n&&s((c=e.editingKeys)!=null?c:Ce)},[n,e.editingKeys]);let[l,a]=Y.useState(null),d=Y.useRef({}),T=Y.useCallback(c=>o[String(c)]===!0,[o]),b=Y.useCallback((c,C,f,h)=>{var x,K;if(t!=="row")return;let v=String(C),D=V(k({},o),{[v]:!0});f&&(d.current[v]=k({},f)),n||s(D),(x=e.onEditingKeysChange)==null||x.call(e,{originalEvent:c,value:D}),(K=e.onRowEditInit)==null||K.call(e,{originalEvent:c,data:f!=null?f:{},index:h!=null?h:-1})},[t,o,n,e.onEditingKeysChange,e.onRowEditInit]),g=Y.useCallback((c,C,f,h,v)=>{var K,O;if(t!=="row")return;let D=String(C),x=k({},o);delete x[D],delete d.current[D],n||s(x),(K=e.onEditingKeysChange)==null||K.call(e,{originalEvent:c,value:x}),(O=e.onRowEditSave)==null||O.call(e,{originalEvent:c,data:f!=null?f:{},newData:h,index:v!=null?v:-1})},[t,o,n,e.onEditingKeysChange,e.onRowEditSave]),m=Y.useCallback((c,C,f,h)=>{var K,O,N;if(t!=="row")return;let v=String(C),D=k({},o);delete D[v];let x=d.current[v];delete d.current[v],n||s(D),(K=e.onEditingKeysChange)==null||K.call(e,{originalEvent:c,value:D}),(N=e.onRowEditCancel)==null||N.call(e,{originalEvent:c,data:(O=x!=null?x:f)!=null?O:{},index:h!=null?h:-1})},[t,o,n,e.onEditingKeysChange,e.onRowEditCancel]),S=Y.useCallback((c,C,f)=>t!=="cell"||!l||l.field!==C?!1:f!==void 0&&l.rowKey!==void 0?String(l.rowKey)===String(f):l.rowIndex===c,[t,l]),p=Y.useCallback((c,C,f,h)=>{var v;t==="cell"&&(a({rowIndex:C,field:f,rowKey:h}),(v=e.onCellEditInit)==null||v.call(e,{originalEvent:c,field:f,rowIndex:C}))},[t,e.onCellEditInit]),i=Y.useCallback(c=>{var h;if(t!=="cell")return!1;let C=!1,f=V(k({},c),{preventDefault:()=>{C=!0}});return(h=e.onCellEditComplete)==null||h.call(e,f),C||a(null),!C},[t,e.onCellEditComplete]),u=Y.useCallback((c,C,f)=>{var h;t==="cell"&&((h=e.onCellEditCancel)==null||h.call(e,{originalEvent:c,rowData:{},newRowData:{},field:f,value:void 0,newValue:void 0,rowIndex:C,type:"escape",preventDefault:()=>{}}),a(null))},[t,e.onCellEditCancel]),R=Y.useCallback(c=>k(k({"data-scope":"datatable","data-part":"cell-editor","data-row-index":String(c.rowIndex),"data-field":c.field},c.rowKey!==void 0?{"data-row-key":String(c.rowKey)}:void 0),c.isEditing?{"data-editing":""}:void 0),[]),F=Y.useCallback(()=>({"data-scope":"datatable","data-part":"row-editor-init",type:"button","aria-label":"Edit row"}),[]),P=Y.useCallback(()=>({"data-scope":"datatable","data-part":"row-editor-save",type:"button","aria-label":"Save row"}),[]),I=Y.useCallback(()=>({"data-scope":"datatable","data-part":"row-editor-cancel",type:"button","aria-label":"Cancel edit"}),[]),y=Y.useMemo(()=>({isEditing:T,startRowEdit:b,saveRowEdit:g,cancelRowEdit:m,startCellEdit:p,completeCellEdit:i,cancelCellEdit:u,isCellEditing:S,getCellEditorRootProps:R,getRowEditorInitProps:F,getRowEditorSaveProps:P,getRowEditorCancelProps:I}),[T,b,g,m,p,i,u,S,R,F,P,I]);return{state:Y.useMemo(()=>({editingKeys:o,editingCell:l}),[o,l]),exposes:y}}import*as re from"react";var Ie=Object.freeze({});function He(e){var b;let t=e.expandedKeys!==void 0,[n,r]=re.useState(()=>{var g,m;return(m=(g=e.expandedKeys)!=null?g:e.defaultExpandedKeys)!=null?m:{}}),s=t?(b=e.expandedKeys)!=null?b:Ie:n;re.useEffect(()=>{var g;t&&r((g=e.expandedKeys)!=null?g:Ie)},[t,e.expandedKeys]);let o=re.useCallback(g=>s[String(g)]===!0,[s]),l=re.useCallback((g,m)=>{var i;let S=String(m),p=k({},s);p[S]?delete p[S]:p[S]=!0,t||r(p),(i=e.onExpandedChange)==null||i.call(e,{originalEvent:g,value:p})},[s,t,e.onExpandedChange]),a=re.useCallback((g,m)=>{var P,I;let S=g!==void 0?o(g):!1,p=(m==null?void 0:m._treeLevel)!==void 0,i=(P=m==null?void 0:m._treeLevel)!=null?P:0,u=(I=m==null?void 0:m._treeHasChildren)!=null?I:!1,R=y=>{g!==void 0&&l(y,g)};if(p&&!u)return{isSpacer:!0,spacerProps:{"data-scope":"datatable","data-part":"row-toggle-spacer","data-tree-level":i,style:{display:"inline-block",marginInlineStart:`calc(var(--p-datatable-indent, 1rem) * ${i})`,width:"var(--p-datatable-toggle-size, 2rem)",flexShrink:0}}};let F={"data-scope":"datatable","data-part":"row-toggle",type:"button","aria-expanded":S,"aria-label":S?"Collapse row":"Expand row",onClick:R};return p&&(F["data-tree-level"]=i,F.style={marginInlineStart:`calc(var(--p-datatable-indent, 1rem) * ${i})`,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0}),{isSpacer:!1,rootProps:F,isExpanded:S}},[o,l]),d=re.useMemo(()=>({isExpanded:o,toggleExpansion:l,getRowToggleProps:a}),[o,l,a]);return{state:re.useMemo(()=>({expandedKeys:s}),[s]),exposes:d}}import{resolveFieldData as ct}from"@primeuix/utils";import*as fe from"react";var dt=Object.freeze({});function Oe(e){let t=fe.useCallback(r=>{var u,R,F,P;if(typeof document=="undefined")return;let s=(u=e.data)!=null?u:[],o=(R=r==null?void 0:r.separator)!=null?R:",",l=(F=r==null?void 0:r.fileName)!=null?F:"download",a=s;if(r!=null&&r.selectionOnly&&e.selectedKeys&&e.dataKey&&(a=s.filter(I=>{let y=String(I[e.dataKey]);return e.selectedKeys[y]})),a.length===0)return;let d=(P=r==null?void 0:r.fields)!=null?P:Object.keys(a[0]);if(r!=null&&r.exportFunction){r.exportFunction({data:a,fields:d});return}let T=r==null?void 0:r.headers,b=[],g=d.map(I=>{var M;let y=(M=T==null?void 0:T[I])!=null?M:I;return`"${String(y).replace(/"/g,'""')}"`});b.push(g.join(o));for(let I of a){let y=d.map(M=>{let w=ct(I,M),c=w!=null?String(w):"";return c.length>0&&/^[=+\-@\t\r]/.test(c)&&(c=` ${c}`),`"${c.replace(/"/g,'""')}"`});b.push(y.join(o))}let m=b.join(`
10
+ `);if(typeof document=="undefined"||typeof URL=="undefined"||typeof Blob=="undefined")return;let S=new Blob([m],{type:"text/csv;charset=utf-8;"}),p=URL.createObjectURL(S),i=document.createElement("a");i.setAttribute("href",p),i.setAttribute("download",`${l}.csv`),i.style.display="none",document.body.appendChild(i);try{i.click()}finally{i.parentNode===document.body&&document.body.removeChild(i),URL.revokeObjectURL(p)}},[e.data,e.dataKey,e.selectedKeys]),n=fe.useMemo(()=>({exportCSV:t}),[t]);return{state:dt,exposes:n}}import{useFilter as ut}from"@primereact/hooks/use-filter";import*as G from"react";var ft={Contains:"contains",NotContains:"notContains",StartsWith:"startsWith",EndsWith:"endsWith",Equals:"equals",NotEquals:"notEquals",In:"in",Between:"between",Lt:"lt",Lte:"lte",Gt:"gt",Gte:"gte",DateIs:"dateIs",DateIsNot:"dateIsNot",DateBefore:"dateBefore",DateAfter:"dateAfter",Custom:"custom"},gt={And:"and",Or:"or"},ze=Object.freeze({});function Ne(e){var _,W,Q,X;let{data:t=[],lazy:n=!1,globalFilterFields:r=[]}=e,s=e.filters!==void 0,[o,l]=G.useState((_=e.defaultFilters)!=null?_:ze),a=s?(W=e.filters)!=null?W:ze:o;G.useEffect(()=>{s&&e.filters&&l(e.filters)},[s,e.filters]);let d=(Q=e.globalFilter)!=null?Q:null,T=(X=e.filterDelay)!=null?X:0,[b,g]=G.useState(a),[m,S]=G.useState(d);G.useEffect(()=>{if(T<=0){g(a),S(d);return}let z=setTimeout(()=>{g(a),S(d)},T);return()=>clearTimeout(z)},[a,d,T]);let p=T>0?b:a,i=T>0?m:d,u=G.useCallback((z,E)=>{var H;s||l(E),(H=e.onFilter)==null||H.call(e,{originalEvent:z,filters:E})},[s,e.onFilter]),R=G.useCallback((z,E,H)=>{let L=V(k({},a),{[E]:H});u(z,L)},[a,u]),F=G.useCallback((z,E)=>{var U,A,B,$;let H=a[E],L=k({},a);if(H&&typeof H=="object"&&H!==null&&"constraints"in H){let te=H;L[E]={operator:(U=te.operator)!=null?U:"and",constraints:[{value:null,matchMode:($=(B=(A=te.constraints)==null?void 0:A[0])==null?void 0:B.matchMode)!=null?$:"contains"}]}}else H&&typeof H=="object"&&H!==null&&"matchMode"in H?L[E]={value:null,matchMode:H.matchMode}:delete L[E];u(z,L)},[a,u]),P=G.useCallback(z=>{u(z,{})},[u]),I=G.useCallback((z,E,H="contains")=>{var A,B;let L=a[E],U=k({},a);if(L&&typeof L=="object"&&L!==null&&"constraints"in L){let $=L,te=[...(A=$.constraints)!=null?A:[],{value:null,matchMode:H}];U[E]=V(k({},$),{constraints:te})}else{let $=L&&typeof L=="object"&&"value"in L?L.value:null,te=L&&typeof L=="object"&&"matchMode"in L&&(B=L.matchMode)!=null?B:"contains";U[E]={operator:"and",constraints:[{value:$,matchMode:te},{value:null,matchMode:H}]}}u(z,U)},[a,u]),y=G.useCallback((z,E,H)=>{var $;let L=a[E];if(!L||typeof L!="object"||!("constraints"in L))return;let U=L,A=(($=U.constraints)!=null?$:[]).filter((te,de)=>de!==H);if(A.length===0)return;let B=V(k({},a),{[E]:V(k({},U),{constraints:A})});u(z,B)},[a,u]),M=G.useCallback((z,E,H)=>{var A;let L=a[E],U=k({},a);if(L&&typeof L=="object"&&L!==null&&"constraints"in L)U[E]=V(k({},L),{operator:H});else{let B=L&&typeof L=="object"&&"value"in L?L.value:null,$=L&&typeof L=="object"&&"matchMode"in L&&(A=L.matchMode)!=null?A:"contains";U[E]={operator:H,constraints:[{value:B,matchMode:$}]}}u(z,U)},[a,u]),w=G.useCallback((z,E,H,L,U)=>{var de;let A=a[E];if(!A||typeof A!="object"||!("constraints"in A))return;let B=A,$=[...(de=B.constraints)!=null?de:[]];H>=0&&H<$.length&&($[H]={value:L,matchMode:U!=null?U:$[H].matchMode});let te=V(k({},a),{[E]:V(k({},B),{constraints:$})});u(z,te)},[a,u]),c=G.useCallback((z,E,H,L)=>{var te;let U=a[E];if(!U||typeof U!="object"||!("constraints"in U))return;let A=U,B=[...(te=A.constraints)!=null?te:[]];H>=0&&H<B.length&&(B[H]=V(k({},B[H]),{matchMode:L}));let $=V(k({},a),{[E]:V(k({},A),{constraints:B})});u(z,$)},[a,u]),C=G.useCallback(z=>{var H;let E=a[z];return E?typeof E=="object"&&E!==null&&"constraints"in E?((H=E.constraints)!=null?H:[]).some(U=>U.value!==null&&U.value!==void 0&&U.value!==""):typeof E=="object"&&E!==null&&"value"in E?E.value!==null&&E.value!==void 0&&E.value!=="":E!=null&&E!=="":!1},[a]),f=G.useCallback(()=>d?!0:Object.keys(a).some(z=>C(z)),[a,d,C]),h=G.useCallback(z=>{let E=a[z];return E?typeof E=="object"&&E!==null?E:{value:E,matchMode:"contains"}:{value:null,matchMode:"contains"}},[a]),v=G.useMemo(()=>{var E,H;let z=[];for(let L of Object.keys(p)){if(L==="global")continue;let U=p[L];if(U){if(typeof U=="object"&&U!==null){let A=U;if(A.constraints&&A.constraints.length>0){z.push({field:L,operator:(E=A.operator)!=null?E:"and",constraints:A.constraints.map(B=>{var $;return{value:B.value,matchMode:($=B.matchMode)!=null?$:"contains"}})});continue}if("value"in A||"matchMode"in A){z.push({field:L,value:A.value,matchMode:(H=A.matchMode)!=null?H:"contains"});continue}}z.push({field:L,value:U,matchMode:"contains"})}}return i&&r.length>0&&z.push({field:r,value:i,matchMode:"contains"}),z},[p,i,r]),x=ut({data:t,rules:v,lazy:n}).filteredData,K=G.useMemo(()=>({filters:a,globalFilter:d}),[a,d]),O=G.useCallback((z,E="row")=>k({"data-scope":"datatable","data-part":"filter","data-display":E},C(z)?{"data-active":""}:void 0),[C]),N=G.useMemo(()=>({setFieldFilter:R,clearFieldFilter:F,clearAllFilters:P,addConstraint:I,removeConstraint:y,setOperator:M,setConstraintValue:w,setConstraintMatchMode:c,hasFilterValue:C,isFiltered:f,getFieldFilterMeta:h,getFilterRootProps:O}),[R,F,P,I,y,M,w,c,C,f,h,O]);return{filteredData:x,state:K,exposes:N}}import{resolveFieldData as mt}from"@primeuix/utils";import*as ge from"react";function Ue(e){let{data:t,groupField:n}=e,r=ge.useMemo(()=>{if(!n)return;let l=new Map;if(t.length===0)return l;let a=[],d,T=0;for(let b=0;b<t.length;b++){let g=mt(t[b],n);b===0?(d=g,T=0):g!==d&&(a.push({start:T,end:b-1,value:d}),d=g,T=b)}a.push({start:T,end:t.length-1,value:d});for(let b=0;b<a.length;b++){let g=a[b],m=g.end-g.start+1;for(let S=g.start;S<=g.end;S++)l.set(S,{isGroupStart:S===g.start,isGroupEnd:S===g.end,groupValue:g.value,groupCount:m,groupIndex:b})}return l},[t,n]),s=ge.useMemo(()=>({}),[]);return{state:ge.useMemo(()=>({groupMetaMap:r}),[r]),exposes:s}}import*as ne from"react";function Ae(e){var I,y,M,w,c;let{data:t,lazy:n,paginator:r}=e,s=e.page!==void 0,o=e.rows!==void 0,[l,a]=ne.useState((I=e.defaultPage)!=null?I:0),[d,T]=ne.useState((y=e.defaultRows)!=null?y:10),b=s?(M=e.page)!=null?M:0:l,g=o?(w=e.rows)!=null?w:10:d,m=n?(c=e.totalRecords)!=null?c:0:t.length,S=Math.max(1,Math.ceil(m/g)),p=b*g;ne.useEffect(()=>{!s&&b>=S&&S>0&&a(S-1)},[S,b,s]);let i=ne.useMemo(()=>!r||n?t:t.slice(p,p+g),[t,r,n,p,g]),u=ne.useCallback((C,f)=>{var v;if(f<0||f>=S)return;s||a(f);let h=f*g;(v=e.onPageChange)==null||v.call(e,{originalEvent:C,page:f,rows:g,first:h,pageCount:S})},[S,g,s,e.onPageChange]),R=ne.useCallback((C,f)=>{var v;if(f<=0)return;o||T(f),s||a(0);let h=Math.max(1,Math.ceil(m/f));(v=e.onPageChange)==null||v.call(e,{originalEvent:C,page:0,rows:f,first:0,pageCount:h})},[m,o,s,e.onPageChange]),F=ne.useMemo(()=>({page:b,rows:g,first:p,pageCount:S,totalRecords:m,onPageChange:u,onRowsChange:R}),[b,g,p,S,m,u,R]),P=ne.useMemo(()=>({page:b,rows:g,first:p,pageCount:S,totalRecords:m}),[b,g,p,S,m]);return{paginatedData:i,state:P,exposes:F}}import*as Z from"react";var bt=Object.freeze({}),Se="data-dragpoint-top",Te="data-dragpoint-bottom";function me(e){e&&(e.removeAttribute(Se),e.removeAttribute(Te))}function je(e){let{reorderableRows:t=!1}=e,n=Z.useRef(-1),r=Z.useRef(-1),s=Z.useRef(null),o=Z.useCallback((p,i)=>{t&&(n.current=i,p.dataTransfer.effectAllowed="move",p.dataTransfer.setData("text/plain",String(i)))},[t]),l=Z.useCallback((p,i)=>{if(!t||n.current===-1||n.current===i)return;p.preventDefault(),p.dataTransfer.dropEffect="move";let u=p.currentTarget,R=u.getBoundingClientRect(),F=R.top+R.height/2;s.current&&s.current!==u&&me(s.current),p.clientY<F?(u.setAttribute(Se,""),u.removeAttribute(Te),r.current=i):(u.setAttribute(Te,""),u.removeAttribute(Se),r.current=i+1),s.current=u},[t]),a=Z.useCallback(p=>{if(!t)return;let i=p.currentTarget;me(i),s.current===i&&(s.current=null)},[t]),d=Z.useCallback(p=>{var F,P;if(!t||n.current===-1)return;p.preventDefault();let i=(F=e.data)!=null?F:[],u=n.current,R=r.current;if(R>u&&(R-=1),R!==u&&R>=0&&R<=i.length){let I=[...i],[y]=I.splice(u,1);I.splice(R,0,y),(P=e.onRowReorder)==null||P.call(e,{originalEvent:p.nativeEvent,dragIndex:u,dropIndex:R,value:I})}me(s.current),s.current=null,n.current=-1,r.current=-1},[t,e.data,e.onRowReorder]),T=Z.useCallback(()=>{t&&(me(s.current),s.current=null,n.current=-1,r.current=-1)},[t]),b=Z.useCallback(p=>{let i=p.currentTarget.closest("tr");i&&i.setAttribute("data-drag-source","true")},[]),g=Z.useCallback(p=>{let i=p.currentTarget.closest("tr");i&&i.removeAttribute("data-drag-source")},[]),m=Z.useCallback(()=>({"data-scope":"datatable","data-part":"row-reorder",style:{cursor:"grab",userSelect:"none",touchAction:"none"},onPointerDown:b,onPointerUp:g}),[b,g]),S=Z.useMemo(()=>({onDragStart:o,onDragOver:l,onDragEnter:l,onDragLeave:a,onDrop:d,onDragEnd:T,getRowReorderHandleProps:m}),[o,l,a,d,T,m]);return{state:bt,exposes:S}}import*as q from"react";var ve=Object.freeze({});function _e(e){let t=[];if(e.children)for(let n of e.children)t.push(n.key),t.push(..._e(n));return t}function be(e,t){for(let n of e){if(n.key===t)return n;if(n.children){let r=be(n.children,t);if(r)return r}}return null}function Rt(e,t){let n=[];function r(s,o){for(let l of s){if(l.key===t)return n.push(...o),!0;if(l.children&&r(l.children,[...o,l.key]))return!0}return!1}return r(e,[]),n}function We(e,t){return!e.children||e.children.length===0?!0:e.children.every(n=>t[n.key]===!0&&We(n,t))}function $e(e,t){return e.children?e.children.some(n=>t[n.key]===!0||$e(n,t)):!1}function yt(e,t,n){let r=Rt(e,t);for(let s=r.length-1;s>=0;s--){let o=r[s],l=be(e,o);l&&We(l,n)?n[o]=!0:delete n[o]}}function Ge(e){var y;let{data:t}=e,n=q.useRef(null),r=e.selectedKeys!==void 0,[s,o]=q.useState(()=>{var M,w;return(w=(M=e.selectedKeys)!=null?M:e.defaultSelectedKeys)!=null?w:ve}),l=r?(y=e.selectedKeys)!=null?y:ve:s;q.useEffect(()=>{var M;r&&o((M=e.selectedKeys)!=null?M:ve)},[r,e.selectedKeys]);let a=q.useCallback((M,w)=>e.dataKey&&M?String(M[e.dataKey]):w,[e.dataKey]),d=q.useCallback(M=>l[String(M)]===!0,[l]),T=e.treeMode?e.rawTreeData:void 0,b=q.useMemo(()=>{let M=new Map;for(let w=0;w<t.length;w++)M.set(String(a(t[w],w)),w);return M},[t,a]),g=q.useCallback((M,w,c)=>{var v,D,x;let C=String(w),f,h=!0;if(c==="radio")f={[C]:!0};else if(c==="single")f=l[C]?{}:{[C]:!0};else if(M.shiftKey===!0&&!T&&n.current!==null&&n.current!==C){let O=n.current,N=(v=b.get(O))!=null?v:-1,_=(D=b.get(C))!=null?D:-1;if(N>=0&&_>=0){let W=Math.min(N,_),Q=Math.max(N,_);f=k({},l);for(let X=W;X<=Q;X++){let z=String(a(t[X],X));f[z]=!0}}else f=V(k({},l),{[C]:!0});h=!1}else{f=k({},l);let O=!f[C];if(O?f[C]=!0:delete f[C],T){let N=be(T,C);if(N){let _=_e(N);for(let W of _)O?f[W]=!0:delete f[W]}yt(T,C,f)}}h&&c!=="radio"&&(n.current=C),r||o(f),(x=e.onSelectionChange)==null||x.call(e,{originalEvent:M,value:f,type:c==="radio"?"radio":c==="single"?"row":"checkbox"})},[t,a,l,r,e.onSelectionChange,T,b]),m=q.useCallback(M=>{let w=[];for(let c of M)w.push(c.key),c.children&&w.push(...m(c.children));return w},[]),S=q.useMemo(()=>{if(T){let w=m(T);if(w.length===0)return{all:!1,some:!1};let c=w.reduce((C,f)=>l[f]===!0?C+1:C,0);return{all:c===w.length,some:c>0&&c<w.length}}if(t.length===0)return{all:!1,some:!1};let M=0;for(let w=0;w<t.length;w++){let c=String(a(t[w],w));l[c]===!0&&M++}return{all:M===t.length,some:M>0&&M<t.length}},[t,T,l,a,m]),p=q.useCallback(()=>S.all,[S]),i=q.useCallback(()=>S.some,[S]),u=q.useCallback(M=>{var c;let w;if(p())w={};else if(w={},T){let C=m(T);for(let f of C)w[f]=!0}else t.forEach((C,f)=>{let h=String(a(C,f));w[h]=!0});r||o(w),(c=e.onSelectionChange)==null||c.call(e,{originalEvent:M,value:w,type:"all"})},[t,T,p,r,a,m,e.onSelectionChange]),R=q.useCallback((M,w)=>{var K;let{selectionMode:c,metaKeySelection:C}=e;if(!c)return;let f=String(w),h=M.metaKey||M.ctrlKey,v=M.shiftKey,D,x=!0;if(c==="single")D=l[f]?{}:{[f]:!0};else if(C)if(v&&n.current!==null&&n.current!==f){let O=n.current,N=-1,_=-1;for(let W=0;W<t.length;W++){let Q=String(a(t[W],W));if(Q===O&&(N=W),Q===f&&(_=W),N>=0&&_>=0)break}if(N>=0&&_>=0){let W=Math.min(N,_),Q=Math.max(N,_);D=h?k({},l):{};for(let X=W;X<=Q;X++){let z=String(a(t[X],X));D[z]=!0}}else D=V(k({},l),{[f]:!0});x=!1}else h?(D=k({},l),D[f]?delete D[f]:D[f]=!0):D={[f]:!0};else D=k({},l),D[f]?delete D[f]:D[f]=!0;x&&(n.current=f),r||o(D),(K=e.onSelectionChange)==null||K.call(e,{originalEvent:M,value:D,type:"row"})},[t,a,l,r,e.selectionMode,e.metaKeySelection,e.onSelectionChange]),F=q.useCallback(M=>{if(!T)return!1;let w=be(T,String(M));return!w||!w.children||w.children.length===0?!1:!l[String(M)]&&$e(w,l)},[T,l]),P=q.useMemo(()=>({isSelected:d,isPartiallySelected:F,toggleSelection:g,toggleAll:u,isAllSelected:p,isSomeSelected:i,onRowClick:R}),[d,F,g,u,p,i,R]),I=q.useMemo(()=>({selectedKeys:l}),[l]);return{getRowKey:a,state:I,exposes:P}}import*as ee from"react";import{localeComparator as ht,resolveFieldData as Re,sort as we}from"@primeuix/utils";var pe=ht(),ye=(e,t,n,r=1)=>we(e,t,n,pe,r),ke=(e,t,n,r=1)=>!t||n===0?e:[...e].sort((s,o)=>we(Re(s,t),Re(o,t),n,pe,r)),De=(e,t,n=1)=>!t||t.length===0?e:[...e].sort((r,s)=>{for(let o of t){let l=we(Re(r,o.field),Re(s,o.field),o.order,pe,n);if(l!==0)return l}return 0});function Ve(e){var w;let{data:t,lazy:n}=e,r=e.sortField!==void 0,s=e.multiSortMeta!==void 0,[o,l]=ee.useState(e.defaultSortField),[a,d]=ee.useState(e.defaultSortOrder),[T,b]=ee.useState(e.defaultMultiSortMeta),g=r?e.sortField:o,m=r?e.sortOrder:a,S=s?e.multiSortMeta:T,p=ee.useCallback(c=>S&&S.length>0?S.some(C=>C.field===c):g===c&&m!==0,[g,m,S]),i=ee.useCallback(c=>{var C;if(S&&S.length>0){let f=S.find(h=>h.field===c);return(C=f==null?void 0:f.order)!=null?C:0}return g===c&&m!=null?m:0},[g,m,S]),u=ee.useCallback(c=>S&&S.length>0?S.findIndex(C=>C.field===c):-1,[S]),R=ee.useCallback((c,C,f)=>{var D,x;let h=i(C),v;if(h===0?v=1:h===1?v=-1:v=e.removableSort?0:1,f){let K=[...S!=null?S:[]],O=K.findIndex(N=>N.field===C);v===0?O!==-1&&K.splice(O,1):O!==-1?K[O]={field:C,order:v}:K.push({field:C,order:v}),s||b(K),(D=e.onSortChange)==null||D.call(e,{originalEvent:c,field:C,order:v,multiSortMeta:K})}else r||(l(v===0?void 0:C),d(v)),s||b(void 0),(x=e.onSortChange)==null||x.call(e,{originalEvent:c,field:C,order:v,multiSortMeta:void 0})},[i,e.removableSort,e.onSortChange,r,s,S]),F=(w=e.nullSortOrder)!=null?w:1,P=ee.useMemo(()=>n?t:S&&S.length>0?De(t,S,F):g&&m!=null&&m!==0?ke(t,g,m,F):t,[t,n,g,m,S,F]),I=ee.useCallback(c=>{let C=p(c),f=i(c),h=C?f===1?"ascending":"descending":"",v=x=>{if(!c)return;let K=x.metaKey||x.ctrlKey;R(x,c,K)},D=x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),v(x))};return V(k({"data-scope":"datatable","data-part":"sort"},C?{"data-sorted":"","data-sort-order":f===1?"asc":"desc"}:{"data-unsorted":""}),{role:"button",tabIndex:0,"aria-label":`Sort by ${c}${h?` ${h}`:""}`,"aria-sort":C?f===1?"ascending":"descending":"none",onClick:v,onKeyDown:D})},[p,i,R]),y=ee.useMemo(()=>({onSort:R,isSorted:p,getSortOrder:i,getSortIndex:u,getSortProps:I}),[R,p,i,u,I]),M=ee.useMemo(()=>({sortField:g,sortOrder:m,multiSortMeta:S}),[g,m,S]);return{sortedData:P,state:M,exposes:y}}import{BUILT_IN_MATCHERS as Et,getGlobalMatchers as Mt}from"@primereact/hooks/use-filter";import{resolveFieldData as le}from"@primeuix/utils";import*as ie from"react";function Be(e,t,n,r){var o;let s=(o=Et[e])!=null?o:Mt()[e];return s?s(t,n,r):!0}var Me=100;function Ye(e,t,n,r=0){return r>=Me?e:[...e].sort((o,l)=>{let a=o.data?le(o.data,t):void 0,d=l.data?le(l.data,t):void 0;return ye(a,d,n)}).map(o=>{var l;return(l=o.children)!=null&&l.length?V(k({},o),{children:Ye(o.children,t,n,r+1)}):o})}function Xe(e,t,n=0){return n>=Me?e:[...e].sort((s,o)=>{for(let l of t){let a=s.data?le(s.data,l.field):void 0,d=o.data?le(o.data,l.field):void 0,T=ye(a,d,l.order);if(T!==0)return T}return 0}).map(s=>{var o;return(o=s.children)!=null&&o.length?V(k({},s),{children:Xe(s.children,t,n+1)}):s})}function he(e,t,n="contains"){return Be(n,e,t)}function Ct(e,t,n,r){var o,l;if(n&&r.length>0&&!r.some(d=>Be("contains",le(e,d),n)))return!1;let s=Object.keys(t).filter(a=>a!=="global");for(let a of s){let d=t[a];if(!d)continue;if(typeof d=="object"&&d!==null&&"constraints"in d){let b=d,g=(o=b.operator)!=null?o:"and",m=(l=b.constraints)!=null?l:[];if(m.length>0){let S=le(e,a);if(g==="and"){if(!m.every(i=>he(S,i.value,i.matchMode)))return!1}else if(!m.some(i=>he(S,i.value,i.matchMode)))return!1}continue}if(typeof d=="object"&&d!==null&&"value"in d){let b=d,g=le(e,a);if(!he(g,b.value,b.matchMode))return!1;continue}let T=le(e,a);if(!he(T,d))return!1}return!0}function ce(e,t,n,r,s=0){var l,a;if(s>=Me)return[];let o=[];for(let d of e){let T=(l=d.data)!=null?l:{};if(Ct(T,t,n,r))o.push(d);else if((a=d.children)!=null&&a.length){let g=ce(d.children,t,n,r,s+1);g.length>0&&o.push(V(k({},d),{children:g}))}}return o}function Ee(e,t){var r;if(t)return!0;let n=Object.keys(e).filter(s=>s!=="global");for(let s of n){let o=e[s];if(o){if(typeof o=="object"&&o!==null&&"constraints"in o){if(((r=o.constraints)!=null?r:[]).some(d=>d.value!==null&&d.value!==void 0&&d.value!==""))return!0;continue}if(typeof o=="object"&&o!==null&&"value"in o){let l=o.value;if(l!=null&&l!=="")return!0;continue}if(o!=null&&o!=="")return!0}}return!1}function qe(e,t,n,r){var l,a,d;if(n>=Me)return[];let s=[],o=e.length;for(let T=0;T<e.length;T++){let b=e[T],g=!!((l=b.children)!=null&&l.length),m=g||b.leaf===!1,S=b.leaf===!0||!g&&b.leaf!==!1;s.push(V(k({},(a=b.data)!=null?a:{}),{key:b.key,data:(d=b.data)!=null?d:{},children:b.children,_treeLevel:n,_treeHasChildren:m,_treeLeaf:S,_treeParentKey:r,_treePosInSet:T+1,_treeSetSize:o})),g&&t[b.key]&&s.push(...qe(b.children,t,n+1,b.key))}return s}function Je(e){let{data:t,treeMode:n,expandedKeys:r,sortField:s,sortOrder:o,multiSortMeta:l,filters:a={},globalFilter:d=null,globalFilterFields:T=[],paginator:b=!1,page:g=0,rows:m=10}=e,S=ie.useMemo(()=>{if(!n)return t;let R=t;if(Ee(a,d)&&(R=ce(R,a,d,T)),l&&l.length>0?R=Xe(R,l):s&&o!=null&&o!==0&&(R=Ye(R,s,o)),b){let F=g*m;R=R.slice(F,F+m)}return qe(R,r,0,null)},[t,n,r,s,o,l,a,d,T,b,g,m]),p=ie.useMemo(()=>{if(!n)return t.length;let R=t;return Ee(a,d)&&(R=ce(R,a,d,T)),R.length},[t,n,a,d,T]),i=ie.useMemo(()=>({}),[]),u=ie.useMemo(()=>({}),[]);return{flattenedData:S,totalRootNodes:p,state:i,exposes:u}}import*as oe from"react";function Qe(e){let{data:t,treeMode:n,selectionMode:r,expandedKeys:s={},onToggleExpansion:o,onToggleSelection:l,getRowKey:a}=e,d=r==="single"?"single":"checkbox",[T,b]=oe.useState(-1),g=oe.useCallback(u=>T===-1?u===0?0:-1:u===T?0:-1,[T]),m=oe.useCallback((u,R)=>{if(!u)return;let F=u.querySelector(`tr[data-scope="datatable"][data-part="row"][data-index="${R}"]`);if(F){b(R),F.focus();return}b(R)},[]),S=oe.useCallback((u,R)=>{let F=u.target;if(F!==u.currentTarget){let y=F.tagName;if(y==="INPUT"||y==="SELECT"||y==="TEXTAREA"||F.isContentEditable||F.closest("[data-editing]"))return}let P=t.length,I=!0;switch(u.key){case"ArrowDown":{let y=Math.min(R+1,P-1);if(y!==R){let M=u.currentTarget.closest("tbody");if(m(M,y),u.shiftKey&&l){let w=t[y],c=a==null?void 0:a(w,y);c!==void 0&&l(u,c,d)}}break}case"ArrowUp":{let y=Math.max(R-1,0);if(y!==R){let M=u.currentTarget.closest("tbody");if(m(M,y),u.shiftKey&&l){let w=t[y],c=a==null?void 0:a(w,y);c!==void 0&&l(u,c,d)}}break}case"ArrowRight":{if(!n){I=!1;break}let y=t[R],M=a==null?void 0:a(y,R),w=y==null?void 0:y._treeHasChildren,c=M!==void 0&&s[String(M)];if(w&&!c&&M!==void 0)o==null||o(u,M);else if(c){let C=u.currentTarget.closest("tbody");m(C,Math.min(R+1,P-1))}break}case"ArrowLeft":{if(!n){I=!1;break}let y=t[R],M=a==null?void 0:a(y,R),w=y==null?void 0:y._treeHasChildren,c=M!==void 0&&s[String(M)];if(w&&c&&M!==void 0)o==null||o(u,M);else{let C=y==null?void 0:y._treeParentKey;if(C!==null){let f=t.findIndex((h,v)=>String(a==null?void 0:a(h,v))===String(C));if(f>=0){let h=u.currentTarget.closest("tbody");m(h,f)}}}break}case"Home":{let y=u.currentTarget.closest("tbody");m(y,0);break}case"End":{let y=u.currentTarget.closest("tbody");m(y,P-1);break}case"Enter":case" ":{let y=u.target;if(y.tagName==="INPUT"||y.tagName==="SELECT"||y.tagName==="TEXTAREA"||y.tagName==="BUTTON"||y.tagName==="A"||y.isContentEditable){I=!1;break}if(l){let M=t[R],w=a==null?void 0:a(M,R);w!==void 0&&l(u,w,d)}break}default:I=!1}I&&u.preventDefault()},[t,n,s,m,o,l,a,d]),p=oe.useMemo(()=>({focusedRowIndex:T}),[T]),i=oe.useMemo(()=>({getRowTabIndex:g,onRowKeyDown:S,focusRow:m}),[g,S,m]);return{state:p,exposes:i}}var Ze={data:[],dataKey:void 0,loading:!1,lazy:!1,totalRecords:void 0,scrollable:!1,scrollHeight:void 0,sortField:void 0,sortOrder:void 0,defaultSortField:void 0,defaultSortOrder:void 0,multiSortMeta:void 0,defaultMultiSortMeta:void 0,onSortChange:void 0,removableSort:!1,nullSortOrder:1,selectionMode:null,metaKeySelection:!1,selectedKeys:void 0,defaultSelectedKeys:void 0,onSelectionChange:void 0,page:void 0,defaultPage:0,rows:void 0,defaultRows:10,rowsPerPageOptions:void 0,paginator:!1,onPageChange:void 0,expandedKeys:void 0,defaultExpandedKeys:void 0,onExpandedChange:void 0,groupField:void 0,reorderableColumns:!1,onColumnReorder:void 0,resizableColumns:!1,columnResizeMode:"fit",onColumnResizeEnd:void 0,editMode:void 0,editingKeys:void 0,defaultEditingKeys:void 0,onEditingKeysChange:void 0,onRowEditInit:void 0,onRowEditSave:void 0,onRowEditCancel:void 0,onCellEditInit:void 0,onCellEditComplete:void 0,onCellEditCancel:void 0,filters:void 0,defaultFilters:void 0,globalFilter:null,globalFilterFields:void 0,filterDelay:0,onFilter:void 0,reorderableRows:!1,onRowReorder:void 0,rowClassName:void 0,onLazyLoad:void 0,onRowClick:void 0,onRowDoubleClick:void 0,onRowContextMenu:void 0,rowHover:!1,highlightOnSelect:!0,treeMode:!1,size:void 0,stripedRows:!1,showGridlines:!1};var En=St({name:"useDataTable",defaultProps:Ze,setup({props:e}){var f,h;let t=(f=e.data)!=null?f:[],n=e.treeMode===!0,r=n||e.lazy,s=He({expandedKeys:e.expandedKeys,defaultExpandedKeys:e.defaultExpandedKeys,onExpandedChange:e.onExpandedChange}),o=Ne({data:t,lazy:r,filters:e.filters,defaultFilters:e.defaultFilters,globalFilter:e.globalFilter,globalFilterFields:e.globalFilterFields,filterDelay:e.filterDelay,onFilter:e.onFilter}),l=Ve({data:o.filteredData,lazy:r,sortField:e.sortField,sortOrder:e.sortOrder,defaultSortField:e.defaultSortField,defaultSortOrder:e.defaultSortOrder,multiSortMeta:e.multiSortMeta,defaultMultiSortMeta:e.defaultMultiSortMeta,removableSort:e.removableSort,nullSortOrder:e.nullSortOrder,onSortChange:e.onSortChange}),a=ae.useMemo(()=>{var O,N,_;if(!n)return 0;let v=t,D=(O=o.state.filters)!=null?O:{},x=(N=o.state.globalFilter)!=null?N:null,K=(_=e.globalFilterFields)!=null?_:[];return Ee(D,x)?ce(v,D,x,K).length:v.length},[n,t,o.state.filters,o.state.globalFilter,e.globalFilterFields]),d=Ae({data:l.sortedData,lazy:n?!0:e.lazy,totalRecords:n?a:e.totalRecords,paginator:e.paginator,page:e.page,defaultPage:e.defaultPage,rows:e.rows,defaultRows:e.defaultRows,onPageChange:e.onPageChange}),T=Je({data:t,treeMode:n,expandedKeys:s.state.expandedKeys,sortField:l.state.sortField,sortOrder:l.state.sortOrder,multiSortMeta:l.state.multiSortMeta,filters:o.state.filters,globalFilter:o.state.globalFilter,globalFilterFields:e.globalFilterFields,paginator:e.paginator,page:d.state.page,rows:d.state.rows}),b=n?T.flattenedData:l.sortedData,g=Ue({data:b,groupField:n?void 0:e.groupField}),m=Ge({data:b,rawTreeData:n?t:void 0,treeMode:n,dataKey:e.dataKey,selectionMode:e.selectionMode,metaKeySelection:e.metaKeySelection,selectedKeys:e.selectedKeys,defaultSelectedKeys:e.defaultSelectedKeys,onSelectionChange:e.onSelectionChange}),S=Qe({data:b,dataKey:e.dataKey,treeMode:n,selectionMode:e.selectionMode,selectedKeys:m.state.selectedKeys,expandedKeys:s.state.expandedKeys,onToggleExpansion:s.exposes.toggleExpansion,onToggleSelection:m.exposes.toggleSelection,getRowKey:m.getRowKey}),p=Ke({reorderableColumns:e.reorderableColumns,onColumnReorder:e.onColumnReorder}),i=Le({resizableColumns:e.resizableColumns,columnResizeMode:e.columnResizeMode,onColumnResizeEnd:e.onColumnResizeEnd}),u=Pe({editMode:e.editMode,editingKeys:e.editingKeys,defaultEditingKeys:e.defaultEditingKeys,onEditingKeysChange:e.onEditingKeysChange,onRowEditInit:e.onRowEditInit,onRowEditSave:e.onRowEditSave,onRowEditCancel:e.onRowEditCancel,onCellEditInit:e.onCellEditInit,onCellEditComplete:e.onCellEditComplete,onCellEditCancel:e.onCellEditCancel}),R=je({data:b,reorderableRows:e.reorderableRows,onRowReorder:e.onRowReorder}),F=Oe({data:b,dataKey:e.dataKey,selectedKeys:m.state.selectedKeys}),P=ae.useRef({first:-1,rows:-1,page:-1,sortField:void 0,sortOrder:void 0,multiSortMeta:void 0,filters:void 0,globalFilter:void 0});ae.useEffect(()=>{if(!e.lazy||!e.onLazyLoad)return;let v=P.current,D={first:d.state.first,rows:d.state.rows,page:d.state.page,sortField:l.state.sortField,sortOrder:l.state.sortOrder,multiSortMeta:l.state.multiSortMeta,filters:o.state.filters,globalFilter:o.state.globalFilter};v.first!==-1&&(v.first!==D.first||v.rows!==D.rows||v.page!==D.page||v.sortField!==D.sortField||v.sortOrder!==D.sortOrder||v.multiSortMeta!==D.multiSortMeta||v.filters!==D.filters||v.globalFilter!==D.globalFilter)&&e.onLazyLoad(D),P.current=D},[e.lazy,e.onLazyLoad,d.state.first,d.state.rows,d.state.page,l.state.sortField,l.state.sortOrder,l.state.multiSortMeta,o.state.filters,o.state.globalFilter]);let I=n?b:d.paginatedData,y=(h=e.loading)!=null?h:!1,M=ae.useMemo(()=>k(k(k(k(k(k(k({processedData:b,paginatedData:I,loading:y},l.state),m.state),d.state),s.state),g.state),u.state),o.state),[b,I,y,l.state,m.state,d.state,s.state,g.state,u.state,o.state]),w=ae.useMemo(()=>k(k(k(k(k(k(k(k(k({"data-scope":"datatable","data-part":"root",ref:p.registerRoot},y?{"data-loading":""}:void 0),e.rowHover?{"data-row-hover":""}:void 0),e.highlightOnSelect?{"data-highlight-on-select":""}:void 0),e.selectionMode?{"data-selection-mode":e.selectionMode}:void 0),e.size?{"data-size":e.size}:void 0),e.stripedRows?{"data-striped-rows":""}:void 0),e.showGridlines?{"data-show-gridlines":""}:void 0),e.scrollable?{"data-scrollable":""}:void 0),e.resizableColumns?{"data-resizable-columns":""}:void 0),[y,e.rowHover,e.highlightOnSelect,e.selectionMode,e.size,e.stripedRows,e.showGridlines,e.scrollable,e.resizableColumns,p.registerRoot]),c=ae.useMemo(()=>({"data-scope":"datatable","data-part":"table-container",style:e.scrollable&&e.scrollHeight?k({maxHeight:e.scrollHeight==="flex"?void 0:e.scrollHeight,overflow:"auto"},e.scrollHeight==="flex"?{flex:"1 1 auto"}:void 0):{overflow:"auto"}}),[e.scrollable,e.scrollHeight]),C=ae.useMemo(()=>({"data-scope":"datatable","data-part":"table",role:n?"treegrid":"table"}),[n]);return{state:M,rootProps:w,tableContainerProps:c,tableProps:C,getRowKey:m.getRowKey,sort:l.exposes,selection:m.exposes,pagination:d.exposes,expansion:s.exposes,columnReorder:p.exposes,columnResize:i.exposes,editing:u.exposes,filter:o.exposes,rowReorder:R.exposes,exportData:F.exposes,keyboard:S.exposes}}});import{withHeadless as Tt}from"@primereact/core/headless";import*as se from"react";var et={item:void 0,index:0,context:void 0};var tt='input, button, a, [data-scope="radiobutton"], [data-scope="checkbox"], [role="checkbox"], [role="radio"]',vt=Object.freeze({}),wn=Tt({name:"useDataTableRow",defaultProps:et,setup({props:e}){var c,C,f,h,v,D,x,K,O,N,_,W,Q,X,z;let t=(c=e.index)!=null?c:0,n=e.item,r=e.context,s=n?(C=r==null?void 0:r.getRowKey)==null?void 0:C.call(r,n,t):void 0,o=s!==void 0?(f=r==null?void 0:r.selection)==null?void 0:f.isSelected(s):void 0,l=s!==void 0?(h=r==null?void 0:r.expansion)==null?void 0:h.isExpanded(s):void 0,a=(v=n==null?void 0:n._treeLevel)!=null?v:void 0,d=(D=n==null?void 0:n._treeHasChildren)!=null?D:void 0,T=(x=n==null?void 0:n._treePosInSet)!=null?x:void 0,b=(K=n==null?void 0:n._treeSetSize)!=null?K:void 0,g=(N=(O=r==null?void 0:r.keyboard)==null?void 0:O.getRowTabIndex(t))!=null?N:-1,m=(_=r==null?void 0:r.inProps)==null?void 0:_.editMode,S=!!((W=r==null?void 0:r.inProps)!=null&&W.reorderableRows),p=se.useCallback(E=>{var H,L;if(E.key==="Enter"&&m==="cell"&&E.target===E.currentTarget){let U=E.currentTarget.querySelector("td[data-editable-cell]"),A=U==null?void 0:U.querySelector("[data-row-index][data-field]");if(A){let B=Number(A.dataset.rowIndex),$=A.dataset.field;if(!Number.isNaN(B)&&$){E.preventDefault(),(H=r==null?void 0:r.editing)==null||H.startCellEdit(E,B,$,s);return}}}(L=r==null?void 0:r.keyboard)==null||L.onRowKeyDown(E,t)},[r==null?void 0:r.keyboard,r==null?void 0:r.editing,m,s,t]),i=(Q=r==null?void 0:r.inProps)==null?void 0:Q.onRowClick,u=(X=r==null?void 0:r.inProps)==null?void 0:X.onRowDoubleClick,R=(z=r==null?void 0:r.inProps)==null?void 0:z.onRowContextMenu,F=se.useCallback(E=>{var L;let H=E.target;H.closest(tt)||H.closest("td[data-editable-cell]")||(n&&(i==null||i({originalEvent:E,data:n,index:t})),s!==void 0&&((L=r==null?void 0:r.selection)==null||L.onRowClick(E,s)))},[r==null?void 0:r.selection,s,i,n,t]),P=se.useCallback(E=>{!n||!u||E.target.closest(tt)||u({originalEvent:E,data:n,index:t})},[u,n,t]),I=se.useCallback(E=>{!n||!R||R({originalEvent:E,data:n,index:t})},[R,n,t]),y=r==null?void 0:r.rowReorder,M=se.useMemo(()=>!S||!y?null:{onDragStart:E=>{if(E.currentTarget.getAttribute("data-drag-source")!=="true"){E.preventDefault();return}y.onDragStart(E,t)},onDragOver:E=>y.onDragOver(E,t),onDragLeave:E=>y.onDragLeave(E),onDrop:E=>y.onDrop(E),onDragEnd:E=>{E.currentTarget.removeAttribute("data-drag-source"),y.onDragEnd()}},[S,y,t]),w=se.useMemo(()=>k(k(k(k(k(k(k(k(k({"data-scope":"datatable","data-part":"row","data-index":t,role:"row","aria-rowindex":t+1,tabIndex:g,onKeyDown:p,onClick:F},u?{onDoubleClick:P}:void 0),R?{onContextMenu:I}:void 0),o!==void 0?{"aria-selected":o}:void 0),o?{"data-selected":""}:void 0),a!==void 0?{"aria-level":a+1}:void 0),d?{"aria-expanded":l}:void 0),T!==void 0?{"aria-posinset":T}:void 0),b!==void 0?{"aria-setsize":b}:void 0),M?k({draggable:!0},M):void 0),[t,g,p,F,u,R,P,I,o,l,a,d,T,b,M]);return{state:vt,rowProps:w,isSelected:o,rowKey:s}}});export{ft as FilterMatchMode,gt as FilterOperator,Ze as defaultProps,et as defaultRowProps,En as useDataTable,wn as useDataTableRow};
11
+ //# sourceMappingURL=index.mjs.map