@primereact/headless 11.0.0-alpha.9 → 11.0.0-rc.2

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 (617) 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 -2
  5. package/accordion/useAccordion.d.ts +7 -6
  6. package/accordion/useAccordion.props.d.ts +2 -2
  7. package/accordion/useAccordionPanel.d.ts +46 -0
  8. package/accordion/useAccordionPanel.props.d.ts +2 -0
  9. package/animateonscroll/index.d.ts +1 -0
  10. package/animateonscroll/index.mjs +1 -2
  11. package/animateonscroll/useAnimateOnScroll.d.ts +6 -1
  12. package/animateonscroll/useAnimateOnScroll.props.d.ts +2 -2
  13. package/autocomplete/index.d.ts +3 -0
  14. package/autocomplete/index.mjs +1 -0
  15. package/autocomplete/useAutoComplete.d.ts +198 -0
  16. package/autocomplete/useAutoComplete.props.d.ts +2 -0
  17. package/avatar/index.d.ts +1 -0
  18. package/avatar/index.mjs +1 -2
  19. package/avatar/useAvatar.d.ts +5 -1
  20. package/avatar/useAvatar.props.d.ts +2 -2
  21. package/avatargroup/index.d.ts +3 -0
  22. package/avatargroup/index.mjs +1 -0
  23. package/avatargroup/useAvatarGroup.d.ts +6 -0
  24. package/avatargroup/useAvatarGroup.props.d.ts +2 -0
  25. package/badge/index.d.ts +1 -0
  26. package/badge/index.mjs +1 -2
  27. package/badge/useBadge.d.ts +7 -1
  28. package/badge/useBadge.props.d.ts +2 -2
  29. package/breadcrumb/index.d.ts +1 -0
  30. package/breadcrumb/index.mjs +1 -2
  31. package/breadcrumb/useBreadcrumb.d.ts +18 -2
  32. package/breadcrumb/useBreadcrumb.props.d.ts +2 -2
  33. package/button/index.d.ts +1 -0
  34. package/button/index.mjs +1 -2
  35. package/button/useButton.d.ts +6 -1
  36. package/button/useButton.props.d.ts +2 -2
  37. package/card/index.d.ts +1 -0
  38. package/card/index.mjs +1 -2
  39. package/card/useCard.d.ts +6 -1
  40. package/card/useCard.props.d.ts +2 -2
  41. package/carousel/index.d.ts +1 -0
  42. package/carousel/index.mjs +1 -2
  43. package/carousel/useCarousel.d.ts +117 -8
  44. package/carousel/useCarousel.props.d.ts +2 -2
  45. package/checkbox/index.d.ts +1 -0
  46. package/checkbox/index.mjs +1 -2
  47. package/checkbox/useCheckbox.d.ts +44 -3
  48. package/checkbox/useCheckbox.props.d.ts +2 -2
  49. package/checkboxgroup/index.d.ts +3 -0
  50. package/checkboxgroup/index.mjs +1 -0
  51. package/checkboxgroup/useCheckboxGroup.d.ts +11 -0
  52. package/checkboxgroup/useCheckboxGroup.props.d.ts +2 -0
  53. package/chip/index.d.ts +1 -0
  54. package/chip/index.mjs +1 -2
  55. package/chip/useChip.d.ts +9 -3
  56. package/chip/useChip.props.d.ts +2 -2
  57. package/collapsible/index.d.ts +3 -0
  58. package/collapsible/index.mjs +1 -0
  59. package/collapsible/useCollapsible.d.ts +33 -0
  60. package/collapsible/useCollapsible.props.d.ts +2 -0
  61. package/compare/index.d.ts +3 -0
  62. package/compare/index.mjs +1 -0
  63. package/compare/useCompare.d.ts +2 -0
  64. package/compare/useCompare.props.d.ts +2 -0
  65. package/contextmenu/index.d.ts +1 -0
  66. package/contextmenu/index.mjs +1 -2
  67. package/contextmenu/submenu/index.d.ts +2 -0
  68. package/contextmenu/submenu/index.mjs +1 -0
  69. package/contextmenu/submenu/useContextMenuSubmenu.d.ts +121 -0
  70. package/contextmenu/submenu/useContextMenuSubmenu.props.d.ts +2 -0
  71. package/contextmenu/useContextMenu.d.ts +413 -1
  72. package/contextmenu/useContextMenu.props.d.ts +2 -2
  73. package/datatable/features/index.d.ts +28 -0
  74. package/datatable/features/index.mjs +10 -0
  75. package/datatable/features/useDataTableColumnReorder.d.ts +52 -0
  76. package/datatable/features/useDataTableColumnResize.d.ts +20 -0
  77. package/datatable/features/useDataTableEditing.d.ts +69 -0
  78. package/datatable/features/useDataTableExpansion.d.ts +32 -0
  79. package/datatable/features/useDataTableExport.d.ts +43 -0
  80. package/datatable/features/useDataTableFilter.d.ts +95 -0
  81. package/datatable/features/useDataTableGrouping.d.ts +11 -0
  82. package/datatable/features/useDataTableKeyboard.d.ts +23 -0
  83. package/datatable/features/useDataTablePagination.d.ts +32 -0
  84. package/datatable/features/useDataTableRowReorder.d.ts +42 -0
  85. package/datatable/features/useDataTableSelection.d.ts +28 -0
  86. package/datatable/features/useDataTableSort.d.ts +51 -0
  87. package/datatable/features/useDataTableTree.d.ts +31 -0
  88. package/datatable/index.d.ts +7 -0
  89. package/datatable/index.mjs +10 -0
  90. package/datatable/useDataTable.d.ts +237 -0
  91. package/datatable/useDataTable.props.d.ts +2 -0
  92. package/datatable/useDataTableRow.d.ts +30 -0
  93. package/datatable/useDataTableRow.props.d.ts +2 -0
  94. package/datatable/utils/compareValues.d.ts +20 -0
  95. package/datatable/utils/index.d.ts +1 -0
  96. package/datatable/utils/index.mjs +1 -0
  97. package/dataview/index.d.ts +1 -0
  98. package/dataview/index.mjs +1 -2
  99. package/dataview/useDataView.d.ts +25 -1
  100. package/dataview/useDataView.props.d.ts +2 -2
  101. package/datepicker/index.d.ts +1 -0
  102. package/datepicker/index.mjs +1 -2
  103. package/datepicker/useDatePicker.d.ts +2 -114
  104. package/datepicker/useDatePicker.props.d.ts +2 -2
  105. package/dialog/index.d.ts +1 -0
  106. package/dialog/index.mjs +1 -2
  107. package/dialog/useDialog.d.ts +274 -24
  108. package/dialog/useDialog.props.d.ts +2 -2
  109. package/divider/index.d.ts +1 -0
  110. package/divider/index.mjs +1 -2
  111. package/divider/useDivider.d.ts +14 -1
  112. package/divider/useDivider.props.d.ts +2 -2
  113. package/dnd/index.d.ts +11 -0
  114. package/dnd/index.mjs +1 -0
  115. package/dnd/useDnd.d.ts +45 -0
  116. package/dnd/useDnd.props.d.ts +2 -0
  117. package/dnd/useDraggable.d.ts +14 -0
  118. package/dnd/useDraggable.props.d.ts +2 -0
  119. package/dnd/useDroppable.d.ts +11 -0
  120. package/dnd/useDroppable.props.d.ts +2 -0
  121. package/dnd/useSortable.d.ts +11 -0
  122. package/dnd/useSortable.props.d.ts +2 -0
  123. package/dnd/useSortableContainer.d.ts +24 -0
  124. package/dnd/useSortableContainer.props.d.ts +2 -0
  125. package/drawer/index.d.ts +1 -0
  126. package/drawer/index.mjs +1 -2
  127. package/drawer/useDrawer.d.ts +78 -16
  128. package/drawer/useDrawer.props.d.ts +2 -2
  129. package/fieldset/index.d.ts +1 -0
  130. package/fieldset/index.mjs +1 -2
  131. package/fieldset/useFieldset.d.ts +80 -1
  132. package/fieldset/useFieldset.props.d.ts +2 -2
  133. package/fileupload/index.d.ts +1 -0
  134. package/fileupload/index.mjs +1 -2
  135. package/fileupload/useFileUpload.d.ts +76 -4
  136. package/fileupload/useFileUpload.props.d.ts +2 -2
  137. package/floatlabel/index.d.ts +3 -0
  138. package/floatlabel/index.mjs +1 -0
  139. package/floatlabel/useFloatLabel.d.ts +6 -0
  140. package/floatlabel/useFloatLabel.props.d.ts +2 -0
  141. package/fluid/index.d.ts +1 -0
  142. package/fluid/index.mjs +1 -2
  143. package/fluid/useFluid.d.ts +6 -1
  144. package/fluid/useFluid.props.d.ts +2 -2
  145. package/focustrap/index.d.ts +1 -0
  146. package/focustrap/index.mjs +1 -2
  147. package/focustrap/useFocusTrap.d.ts +16 -3
  148. package/focustrap/useFocusTrap.props.d.ts +2 -2
  149. package/gallery/index.d.ts +1 -0
  150. package/gallery/index.mjs +1 -2
  151. package/gallery/item/index.mjs +1 -2
  152. package/gallery/item/useGalleryItem.d.ts +17 -7
  153. package/gallery/item/useGalleryItem.props.d.ts +2 -2
  154. package/gallery/useGallery.d.ts +159 -10
  155. package/gallery/useGallery.props.d.ts +2 -2
  156. package/iconfield/index.d.ts +1 -0
  157. package/iconfield/index.mjs +1 -2
  158. package/iconfield/useIconField.d.ts +6 -1
  159. package/iconfield/useIconField.props.d.ts +2 -2
  160. package/iftalabel/index.d.ts +3 -0
  161. package/iftalabel/index.mjs +1 -0
  162. package/iftalabel/useIftaLabel.d.ts +6 -0
  163. package/iftalabel/useIftaLabel.props.d.ts +2 -0
  164. package/inplace/index.d.ts +1 -0
  165. package/inplace/index.mjs +1 -2
  166. package/inplace/useInplace.d.ts +36 -5
  167. package/inplace/useInplace.props.d.ts +2 -2
  168. package/{colorpicker → inputcolor}/colorManager.d.ts +4 -3
  169. package/inputcolor/index.d.ts +4 -0
  170. package/inputcolor/index.mjs +1 -0
  171. package/inputcolor/useInputColor.d.ts +119 -0
  172. package/inputcolor/useInputColor.props.d.ts +2 -0
  173. package/inputgroup/index.d.ts +1 -0
  174. package/inputgroup/index.mjs +1 -2
  175. package/inputgroup/useInputGroup.d.ts +6 -1
  176. package/inputgroup/useInputGroup.props.d.ts +2 -2
  177. package/inputnumber/index.d.ts +1 -0
  178. package/inputnumber/index.mjs +1 -2
  179. package/inputnumber/useInputNumber.d.ts +55 -17
  180. package/inputnumber/useInputNumber.props.d.ts +2 -2
  181. package/inputotp/index.d.ts +1 -0
  182. package/inputotp/index.mjs +1 -2
  183. package/inputotp/useInputOtp.d.ts +25 -6
  184. package/inputotp/useInputOtp.props.d.ts +2 -2
  185. package/inputpassword/index.d.ts +3 -0
  186. package/inputpassword/index.mjs +1 -0
  187. package/inputpassword/useInputPassword.d.ts +15 -0
  188. package/inputpassword/useInputPassword.props.d.ts +2 -0
  189. package/inputtags/index.d.ts +1 -0
  190. package/inputtags/index.mjs +1 -2
  191. package/inputtags/useInputTags.d.ts +42 -12
  192. package/inputtags/useInputTags.props.d.ts +2 -2
  193. package/inputtext/index.d.ts +1 -0
  194. package/inputtext/index.mjs +1 -2
  195. package/inputtext/useInputText.d.ts +8 -1
  196. package/inputtext/useInputText.props.d.ts +2 -2
  197. package/knob/index.d.ts +1 -0
  198. package/knob/index.mjs +1 -2
  199. package/knob/useKnob.d.ts +51 -10
  200. package/knob/useKnob.props.d.ts +2 -2
  201. package/label/index.d.ts +1 -0
  202. package/label/index.mjs +1 -2
  203. package/label/useLabel.d.ts +6 -1
  204. package/label/useLabel.props.d.ts +2 -2
  205. package/listbox/index.d.ts +3 -0
  206. package/listbox/index.mjs +1 -2
  207. package/listbox/useListbox.d.ts +56 -18
  208. package/listbox/useListbox.props.d.ts +2 -2
  209. package/listbox/useListboxOption.d.ts +21 -0
  210. package/listbox/useListboxOption.props.d.ts +2 -0
  211. package/menu/checkboxitem/index.d.ts +2 -0
  212. package/menu/checkboxitem/index.mjs +1 -0
  213. package/menu/checkboxitem/useMenuCheckboxItem.d.ts +112 -0
  214. package/menu/checkboxitem/useMenuCheckboxItem.props.d.ts +2 -0
  215. package/menu/index.d.ts +1 -0
  216. package/menu/index.mjs +1 -2
  217. package/menu/radioitem/index.d.ts +2 -0
  218. package/menu/radioitem/index.mjs +1 -0
  219. package/menu/radioitem/useMenuRadioItem.d.ts +106 -0
  220. package/menu/radioitem/useMenuRadioItem.props.d.ts +2 -0
  221. package/menu/submenu/index.d.ts +2 -0
  222. package/menu/submenu/index.mjs +1 -0
  223. package/menu/submenu/useMenuSubmenu.d.ts +97 -0
  224. package/menu/submenu/useMenuSubmenu.props.d.ts +2 -0
  225. package/menu/useMenu.d.ts +215 -22
  226. package/menu/useMenu.props.d.ts +2 -2
  227. package/message/index.d.ts +1 -0
  228. package/message/index.mjs +1 -2
  229. package/message/useMessage.d.ts +13 -1
  230. package/message/useMessage.props.d.ts +2 -2
  231. package/metergroup/index.d.ts +1 -0
  232. package/metergroup/index.mjs +1 -2
  233. package/metergroup/useMeterGroup.d.ts +36 -5
  234. package/metergroup/useMeterGroup.props.d.ts +2 -2
  235. package/navigationmenu/index.d.ts +3 -0
  236. package/navigationmenu/index.mjs +1 -0
  237. package/navigationmenu/useNavigationMenu.d.ts +30 -0
  238. package/navigationmenu/useNavigationMenu.props.d.ts +2 -0
  239. package/orderlist/index.d.ts +3 -0
  240. package/orderlist/index.mjs +1 -0
  241. package/orderlist/useOrderList.d.ts +74 -0
  242. package/orderlist/useOrderList.props.d.ts +2 -0
  243. package/organizationchart/index.d.ts +3 -0
  244. package/organizationchart/index.mjs +1 -0
  245. package/organizationchart/useOrganizationChart.d.ts +69 -0
  246. package/organizationchart/useOrganizationChart.props.d.ts +2 -0
  247. package/overlaybadge/index.d.ts +3 -0
  248. package/overlaybadge/index.mjs +1 -0
  249. package/overlaybadge/useOverlayBadge.d.ts +1 -0
  250. package/overlaybadge/useOverlayBadge.props.d.ts +2 -0
  251. package/package.json +14 -15
  252. package/paginator/index.d.ts +1 -0
  253. package/paginator/index.mjs +1 -2
  254. package/paginator/usePaginator.d.ts +47 -1
  255. package/paginator/usePaginator.props.d.ts +2 -2
  256. package/panel/index.d.ts +1 -0
  257. package/panel/index.mjs +1 -2
  258. package/panel/usePanel.d.ts +76 -8
  259. package/panel/usePanel.props.d.ts +2 -2
  260. package/picklist/index.d.ts +3 -0
  261. package/picklist/index.mjs +1 -0
  262. package/picklist/usePickList.d.ts +153 -0
  263. package/picklist/usePickList.props.d.ts +2 -0
  264. package/popover/index.d.ts +1 -0
  265. package/popover/index.mjs +1 -8
  266. package/popover/usePopover.d.ts +65 -12
  267. package/popover/usePopover.props.d.ts +2 -2
  268. package/portal/index.d.ts +1 -0
  269. package/portal/index.mjs +1 -2
  270. package/portal/usePortal.d.ts +4 -2
  271. package/portal/usePortal.props.d.ts +2 -2
  272. package/positioner/index.d.ts +3 -0
  273. package/positioner/index.mjs +1 -0
  274. package/positioner/usePositioner.anchor.d.ts +7 -0
  275. package/positioner/usePositioner.d.ts +11 -0
  276. package/positioner/usePositioner.fallback.d.ts +13 -0
  277. package/positioner/usePositioner.props.d.ts +2 -0
  278. package/positioner/usePositioner.utils.d.ts +21 -0
  279. package/progressbar/index.d.ts +1 -0
  280. package/progressbar/index.mjs +1 -2
  281. package/progressbar/useProgressBar.d.ts +13 -1
  282. package/progressbar/useProgressBar.props.d.ts +2 -2
  283. package/progressspinner/index.d.ts +1 -0
  284. package/progressspinner/index.mjs +1 -2
  285. package/progressspinner/useProgressSpinner.d.ts +50 -1
  286. package/progressspinner/useProgressSpinner.props.d.ts +2 -2
  287. package/radiobutton/index.d.ts +1 -0
  288. package/radiobutton/index.mjs +1 -2
  289. package/radiobutton/useRadioButton.d.ts +41 -3
  290. package/radiobutton/useRadioButton.props.d.ts +2 -2
  291. package/radiobuttongroup/index.d.ts +3 -0
  292. package/radiobuttongroup/index.mjs +1 -0
  293. package/radiobuttongroup/useRadioButtonGroup.d.ts +11 -0
  294. package/radiobuttongroup/useRadioButtonGroup.props.d.ts +2 -0
  295. package/rating/index.d.ts +3 -0
  296. package/rating/index.mjs +1 -2
  297. package/rating/useRating.d.ts +46 -12
  298. package/rating/useRating.props.d.ts +2 -2
  299. package/rating/useRatingOption.d.ts +69 -0
  300. package/rating/useRatingOption.props.d.ts +2 -0
  301. package/scrollarea/index.d.ts +1 -0
  302. package/scrollarea/index.mjs +1 -2
  303. package/scrollarea/useScrollArea.d.ts +120 -15
  304. package/scrollarea/useScrollArea.props.d.ts +2 -2
  305. package/select/index.d.ts +3 -0
  306. package/select/index.mjs +1 -0
  307. package/select/useSelect.d.ts +190 -0
  308. package/select/useSelect.props.d.ts +2 -0
  309. package/sidebar/index.d.ts +7 -0
  310. package/sidebar/index.mjs +1 -0
  311. package/sidebar/useSidebar.d.ts +143 -0
  312. package/sidebar/useSidebar.props.d.ts +2 -0
  313. package/sidebar/useSidebarLayout.d.ts +24 -0
  314. package/sidebar/useSidebarLayout.props.d.ts +2 -0
  315. package/sidebar/useSidebarMenuItem.d.ts +10 -0
  316. package/sidebar/useSidebarMenuItem.props.d.ts +2 -0
  317. package/skeleton/index.d.ts +1 -0
  318. package/skeleton/index.mjs +1 -2
  319. package/skeleton/useSkeleton.d.ts +7 -1
  320. package/skeleton/useSkeleton.props.d.ts +2 -2
  321. package/slider/index.d.ts +1 -0
  322. package/slider/index.mjs +1 -2
  323. package/slider/useSlider.d.ts +81 -48
  324. package/slider/useSlider.props.d.ts +2 -2
  325. package/speeddial/index.d.ts +1 -0
  326. package/speeddial/index.mjs +1 -2
  327. package/speeddial/useSpeedDial.d.ts +89 -32
  328. package/speeddial/useSpeedDial.props.d.ts +2 -2
  329. package/splitter/index.d.ts +1 -0
  330. package/splitter/index.mjs +1 -2
  331. package/splitter/useSplitter.d.ts +57 -14
  332. package/splitter/useSplitter.props.d.ts +2 -2
  333. package/stepper/index.d.ts +1 -0
  334. package/stepper/index.mjs +1 -2
  335. package/stepper/useStepper.d.ts +47 -2
  336. package/stepper/useStepper.props.d.ts +2 -2
  337. package/styleclass/index.d.ts +1 -0
  338. package/styleclass/index.mjs +1 -2
  339. package/styleclass/useStyleClass.d.ts +5 -1
  340. package/styleclass/useStyleClass.props.d.ts +2 -2
  341. package/tabs/index.d.ts +1 -0
  342. package/tabs/index.mjs +1 -2
  343. package/tabs/useTabs.d.ts +42 -3
  344. package/tabs/useTabs.props.d.ts +2 -2
  345. package/tag/index.d.ts +1 -0
  346. package/tag/index.mjs +1 -2
  347. package/tag/useTag.d.ts +6 -1
  348. package/tag/useTag.props.d.ts +2 -2
  349. package/terminal/index.d.ts +1 -0
  350. package/terminal/index.mjs +1 -2
  351. package/terminal/useTerminal.d.ts +23 -2
  352. package/terminal/useTerminal.props.d.ts +2 -2
  353. package/textarea/index.d.ts +1 -0
  354. package/textarea/index.mjs +1 -2
  355. package/textarea/useTextarea.d.ts +9 -2
  356. package/textarea/useTextarea.props.d.ts +2 -2
  357. package/timeline/index.d.ts +1 -0
  358. package/timeline/index.mjs +1 -2
  359. package/timeline/useTimeline.d.ts +41 -1
  360. package/timeline/useTimeline.props.d.ts +2 -2
  361. package/toast/index.d.ts +1 -1
  362. package/toast/index.mjs +1 -2
  363. package/toast/useToast.d.ts +85 -23
  364. package/toast/useToast.props.d.ts +2 -2
  365. package/toaster/ToastManager.d.ts +14 -0
  366. package/toaster/index.d.ts +4 -0
  367. package/toaster/index.mjs +1 -0
  368. package/toaster/useToaster.d.ts +50 -0
  369. package/toaster/useToaster.props.d.ts +2 -0
  370. package/togglebutton/index.d.ts +1 -0
  371. package/togglebutton/index.mjs +1 -2
  372. package/togglebutton/useToggleButton.d.ts +5 -3
  373. package/togglebutton/useToggleButton.props.d.ts +2 -2
  374. package/togglebuttongroup/index.d.ts +3 -0
  375. package/togglebuttongroup/index.mjs +1 -0
  376. package/togglebuttongroup/useToggleButtonGroup.d.ts +17 -0
  377. package/togglebuttongroup/useToggleButtonGroup.props.d.ts +2 -0
  378. package/toggleswitch/index.d.ts +3 -0
  379. package/toggleswitch/index.mjs +1 -0
  380. package/toggleswitch/useToggleSwitch.d.ts +48 -0
  381. package/toggleswitch/useToggleSwitch.props.d.ts +2 -0
  382. package/toolbar/index.d.ts +1 -0
  383. package/toolbar/index.mjs +1 -2
  384. package/toolbar/useToolbar.d.ts +7 -1
  385. package/toolbar/useToolbar.props.d.ts +2 -2
  386. package/tooltip/index.d.ts +1 -0
  387. package/tooltip/index.mjs +1 -2
  388. package/tooltip/useTooltip.d.ts +43 -24
  389. package/tooltip/useTooltip.props.d.ts +2 -2
  390. package/tooltipmanager/index.d.ts +2 -0
  391. package/tooltipmanager/index.mjs +1 -0
  392. package/tooltipmanager/useTooltipManager.d.ts +12 -0
  393. package/tooltipmanager/useTooltipManager.props.d.ts +2 -0
  394. package/tree/TreeDragDropService.d.ts +13 -5
  395. package/tree/index.d.ts +7 -0
  396. package/tree/index.mjs +1 -2
  397. package/tree/useTree.d.ts +97 -17
  398. package/tree/useTree.props.d.ts +2 -2
  399. package/tree/useTreeDragDrop.d.ts +24 -0
  400. package/tree/useTreeFlatten.d.ts +13 -0
  401. package/tree/useTreeKeyboard.d.ts +18 -0
  402. package/tree/useTreeNode.d.ts +45 -0
  403. package/tree/useTreeNode.props.d.ts +2 -0
  404. package/tree/useTreeSelection.d.ts +31 -0
  405. package/utils/itemKey.d.ts +10 -0
  406. package/LICENSE +0 -21
  407. package/accordion/index.mjs.map +0 -1
  408. package/accordion/useAccordion.test.d.ts +0 -0
  409. package/animateonscroll/index.mjs.map +0 -1
  410. package/animateonscroll/useAnimateOnScroll.test.d.ts +0 -0
  411. package/avatar/index.mjs.map +0 -1
  412. package/avatar/useAvatar.test.d.ts +0 -0
  413. package/badge/index.mjs.map +0 -1
  414. package/badge/useBadge.test.d.ts +0 -0
  415. package/breadcrumb/index.mjs.map +0 -1
  416. package/breadcrumb/useBreadcrumb.test.d.ts +0 -0
  417. package/button/index.mjs.map +0 -1
  418. package/button/useButton.test.d.ts +0 -0
  419. package/card/index.mjs.map +0 -1
  420. package/card/useCard.test.d.ts +0 -0
  421. package/carousel/index.mjs.map +0 -1
  422. package/carousel/useCarousel.test.d.ts +0 -0
  423. package/checkbox/index.mjs.map +0 -1
  424. package/checkbox/useCheckbox.test.d.ts +0 -0
  425. package/chip/index.mjs.map +0 -1
  426. package/chip/useChip.test.d.ts +0 -0
  427. package/colorpicker/index.d.ts +0 -3
  428. package/colorpicker/index.mjs +0 -2
  429. package/colorpicker/index.mjs.map +0 -1
  430. package/colorpicker/input/index.d.ts +0 -2
  431. package/colorpicker/input/index.mjs +0 -2
  432. package/colorpicker/input/index.mjs.map +0 -1
  433. package/colorpicker/input/useColorPickerInput.d.ts +0 -11
  434. package/colorpicker/input/useColorPickerInput.props.d.ts +0 -2
  435. package/colorpicker/input/useColorPickerInput.test.d.ts +0 -0
  436. package/colorpicker/slider/index.d.ts +0 -2
  437. package/colorpicker/slider/index.mjs +0 -2
  438. package/colorpicker/slider/index.mjs.map +0 -1
  439. package/colorpicker/slider/useColorPickerSlider.d.ts +0 -13
  440. package/colorpicker/slider/useColorPickerSlider.props.d.ts +0 -2
  441. package/colorpicker/slider/useColorPickerSlider.test.d.ts +0 -0
  442. package/colorpicker/useColorPicker.d.ts +0 -26
  443. package/colorpicker/useColorPicker.props.d.ts +0 -2
  444. package/colorpicker/useColorPicker.test.d.ts +0 -0
  445. package/commandmenu/index.d.ts +0 -2
  446. package/commandmenu/index.mjs +0 -2
  447. package/commandmenu/index.mjs.map +0 -1
  448. package/commandmenu/useCommandMenu.d.ts +0 -11
  449. package/commandmenu/useCommandMenu.props.d.ts +0 -2
  450. package/commandmenu/useCommandMenu.test.d.ts +0 -0
  451. package/confirmdialog/index.d.ts +0 -2
  452. package/confirmdialog/index.mjs +0 -2
  453. package/confirmdialog/index.mjs.map +0 -1
  454. package/confirmdialog/useConfirmDialog.d.ts +0 -1
  455. package/confirmdialog/useConfirmDialog.props.d.ts +0 -2
  456. package/confirmdialog/useConfirmDialog.test.d.ts +0 -0
  457. package/confirmpopup/index.d.ts +0 -2
  458. package/confirmpopup/index.mjs +0 -2
  459. package/confirmpopup/index.mjs.map +0 -1
  460. package/confirmpopup/useConfirmPopup.d.ts +0 -25
  461. package/confirmpopup/useConfirmPopup.props.d.ts +0 -2
  462. package/confirmpopup/useConfirmPopup.test.d.ts +0 -0
  463. package/contextmenu/index.mjs.map +0 -1
  464. package/contextmenu/useContextMenu.test.d.ts +0 -0
  465. package/dataview/index.mjs.map +0 -1
  466. package/dataview/useDataView.test.d.ts +0 -0
  467. package/datepicker/index.mjs.map +0 -1
  468. package/datepicker/useDatePicker.test.d.ts +0 -0
  469. package/dialog/index.mjs.map +0 -1
  470. package/dialog/useDialog.test.d.ts +0 -0
  471. package/divider/index.mjs.map +0 -1
  472. package/divider/useDivider.test.d.ts +0 -0
  473. package/drawer/index.mjs.map +0 -1
  474. package/drawer/useDrawer.test.d.ts +0 -0
  475. package/fieldset/index.mjs.map +0 -1
  476. package/fieldset/useFieldset.test.d.ts +0 -0
  477. package/fileupload/index.mjs.map +0 -1
  478. package/fileupload/useFileUpload.test.d.ts +0 -0
  479. package/fluid/index.mjs.map +0 -1
  480. package/fluid/useFluid.test.d.ts +0 -0
  481. package/focustrap/index.mjs.map +0 -1
  482. package/focustrap/useFocusTrap.test.d.ts +0 -0
  483. package/gallery/index.mjs.map +0 -1
  484. package/gallery/item/index.mjs.map +0 -1
  485. package/gallery/useGallery.test.d.ts +0 -0
  486. package/iconfield/index.mjs.map +0 -1
  487. package/iconfield/useIconField.test.d.ts +0 -0
  488. package/imagecompare/index.d.ts +0 -2
  489. package/imagecompare/index.mjs +0 -2
  490. package/imagecompare/index.mjs.map +0 -1
  491. package/imagecompare/useImageCompare.d.ts +0 -8
  492. package/imagecompare/useImageCompare.props.d.ts +0 -2
  493. package/imagecompare/useImageCompare.test.d.ts +0 -0
  494. package/inplace/index.mjs.map +0 -1
  495. package/inplace/useInplace.test.d.ts +0 -0
  496. package/inputgroup/index.mjs.map +0 -1
  497. package/inputgroup/useInputGroup.test.d.ts +0 -0
  498. package/inputnumber/index.mjs.map +0 -1
  499. package/inputnumber/useInputNumber.test.d.ts +0 -0
  500. package/inputotp/index.mjs.map +0 -1
  501. package/inputotp/useInputOtp.test.d.ts +0 -0
  502. package/inputtags/index.mjs.map +0 -1
  503. package/inputtags/useInputTags.test.d.ts +0 -0
  504. package/inputtext/index.mjs.map +0 -1
  505. package/inputtext/useInputText.test.d.ts +0 -0
  506. package/knob/index.mjs.map +0 -1
  507. package/knob/useKnob.test.d.ts +0 -0
  508. package/label/index.mjs.map +0 -1
  509. package/label/useLabel.test.d.ts +0 -0
  510. package/listbox/index.mjs.map +0 -1
  511. package/listbox/useListbox.test.d.ts +0 -0
  512. package/menu/index.mjs.map +0 -1
  513. package/menu/sub/index.d.ts +0 -2
  514. package/menu/sub/index.mjs +0 -2
  515. package/menu/sub/index.mjs.map +0 -1
  516. package/menu/sub/useMenuSub.d.ts +0 -19
  517. package/menu/sub/useMenuSub.props.d.ts +0 -2
  518. package/menu/useMenu.test.d.ts +0 -0
  519. package/message/index.mjs.map +0 -1
  520. package/message/useMessage.test.d.ts +0 -0
  521. package/metergroup/index.mjs.map +0 -1
  522. package/metergroup/useMeterGroup.test.d.ts +0 -0
  523. package/orgchart/index.d.ts +0 -2
  524. package/orgchart/index.mjs +0 -2
  525. package/orgchart/index.mjs.map +0 -1
  526. package/orgchart/useOrgChart.d.ts +0 -20
  527. package/orgchart/useOrgChart.props.d.ts +0 -2
  528. package/orgchart/useOrgChart.test.d.ts +0 -0
  529. package/overlay/index.d.ts +0 -2
  530. package/overlay/index.mjs +0 -2
  531. package/overlay/index.mjs.map +0 -1
  532. package/overlay/useOverlay.d.ts +0 -16
  533. package/overlay/useOverlay.props.d.ts +0 -2
  534. package/overlay/useOverlay.test.d.ts +0 -0
  535. package/paginator/index.mjs.map +0 -1
  536. package/paginator/usePaginator.test.d.ts +0 -0
  537. package/panel/index.mjs.map +0 -1
  538. package/panel/usePanel.test.d.ts +0 -0
  539. package/password/index.d.ts +0 -2
  540. package/password/index.mjs +0 -2
  541. package/password/index.mjs.map +0 -1
  542. package/password/usePassword.d.ts +0 -35
  543. package/password/usePassword.props.d.ts +0 -2
  544. package/password/usePassword.test.d.ts +0 -0
  545. package/placer/index.d.ts +0 -2
  546. package/placer/index.mjs +0 -2
  547. package/placer/index.mjs.map +0 -1
  548. package/placer/usePlacer.d.ts +0 -12
  549. package/placer/usePlacer.props.d.ts +0 -2
  550. package/placer/usePlacer.test.d.ts +0 -0
  551. package/popover/index.mjs.map +0 -1
  552. package/popover/usePopover.test.d.ts +0 -0
  553. package/portal/index.mjs.map +0 -1
  554. package/portal/usePortal.test.d.ts +0 -0
  555. package/progressbar/index.mjs.map +0 -1
  556. package/progressbar/useProgressBar.test.d.ts +0 -0
  557. package/progressspinner/index.mjs.map +0 -1
  558. package/progressspinner/useProgressSpinner.test.d.ts +0 -0
  559. package/radiobutton/index.mjs.map +0 -1
  560. package/radiobutton/useRadioButton.test.d.ts +0 -0
  561. package/rating/index.mjs.map +0 -1
  562. package/rating/useRating.test.d.ts +0 -0
  563. package/scrollarea/index.mjs.map +0 -1
  564. package/scrollarea/useScrollArea.test.d.ts +0 -0
  565. package/skeleton/index.mjs.map +0 -1
  566. package/skeleton/useSkeleton.test.d.ts +0 -0
  567. package/slider/index.mjs.map +0 -1
  568. package/slider/useSlider.test.d.ts +0 -0
  569. package/speeddial/index.mjs.map +0 -1
  570. package/speeddial/useSpeedDial.test.d.ts +0 -0
  571. package/splitter/index.mjs.map +0 -1
  572. package/splitter/useSplitter.test.d.ts +0 -0
  573. package/stepper/index.mjs.map +0 -1
  574. package/stepper/useStepper.test.d.ts +0 -0
  575. package/styleclass/index.mjs.map +0 -1
  576. package/styleclass/useStyleClass.test.d.ts +0 -0
  577. package/switch/index.d.ts +0 -2
  578. package/switch/index.mjs +0 -2
  579. package/switch/index.mjs.map +0 -1
  580. package/switch/useSwitch.d.ts +0 -7
  581. package/switch/useSwitch.props.d.ts +0 -2
  582. package/switch/useSwitch.test.d.ts +0 -0
  583. package/tabs/index.mjs.map +0 -1
  584. package/tabs/useTabs.test.d.ts +0 -0
  585. package/tag/index.mjs.map +0 -1
  586. package/tag/useTag.test.d.ts +0 -0
  587. package/terminal/index.mjs.map +0 -1
  588. package/terminal/useTerminal.test.d.ts +0 -0
  589. package/textarea/index.mjs.map +0 -1
  590. package/textarea/useTextarea.test.d.ts +0 -0
  591. package/timeline/index.mjs.map +0 -1
  592. package/timeline/useTimeline.test.d.ts +0 -0
  593. package/toast/index.mjs.map +0 -1
  594. package/toast/item/index.css +0 -2
  595. package/toast/item/index.css.map +0 -1
  596. package/toast/item/index.d.ts +0 -2
  597. package/toast/item/index.mjs +0 -2
  598. package/toast/item/index.mjs.map +0 -1
  599. package/toast/item/useToastItem.d.ts +0 -25
  600. package/toast/item/useToastItem.props.d.ts +0 -2
  601. package/toast/item/useToastItem.test.d.ts +0 -0
  602. package/toast/toastStore.d.ts +0 -40
  603. package/toast/useToast.test.d.ts +0 -0
  604. package/togglebutton/index.mjs.map +0 -1
  605. package/togglebutton/useToggle.test.d.ts +0 -0
  606. package/toolbar/index.mjs.map +0 -1
  607. package/toolbar/useToolbar.test.d.ts +0 -0
  608. package/tooltip/group/index.d.ts +0 -2
  609. package/tooltip/group/index.mjs +0 -2
  610. package/tooltip/group/index.mjs.map +0 -1
  611. package/tooltip/group/useTooltipGroup.d.ts +0 -9
  612. package/tooltip/group/useTooltipGroup.props.d.ts +0 -2
  613. package/tooltip/group/useTooltipGroup.test.d.ts +0 -0
  614. package/tooltip/index.mjs.map +0 -1
  615. package/tooltip/useTooltip.test.d.ts +0 -0
  616. package/tree/index.mjs.map +0 -1
  617. package/tree/useTree.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
+ selectionKeys?: 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
+ selectionKeys?: 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 { SelectionKeys, UseDataTableSelectionEvent } 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
+ selectionKeys?: SelectionKeys;
11
+ defaultSelectionKeys?: 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
+ selectionKeys: 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,10 @@
1
+ import{withHeadless as it}from"@primereact/core/headless";import*as q from"react";import*as I from"react";var Be=Object.freeze({});function Ce(e){let{reorderableColumns:t=!1}=e,n=I.useRef(-1),i=I.useRef(null),r=I.useRef(-1),l=I.useRef(0),a=I.useRef(null),o=I.useRef(null),R=I.useRef(null),C=I.useRef(new Map),y=I.useRef(-1),S=I.useRef(null),M=I.useCallback((f,b)=>(C.current.set(f,b),()=>{C.current.delete(f),y.current===f&&(y.current=-1,S.current=null)}),[]),h=I.useCallback((f,b)=>{let D=y.current,P=S.current;D===f&&P===b||(D!==-1&&D!==f&&C.current.get(D)?.(null),C.current.get(f)?.({side:b}),y.current=f,S.current=b)},[]),T=I.useCallback(()=>{let f=y.current;f!==-1&&(C.current.get(f)?.(null),y.current=-1,S.current=null)},[]),g=I.useCallback((f,b)=>{t&&(n.current=b,i.current=f.currentTarget,f.dataTransfer.effectAllowed="move",f.dataTransfer.setData("text/plain",String(b)))},[t]),d=I.useCallback((f,b)=>{if(!t||n.current===-1||n.current===b)return;f.preventDefault(),f.dataTransfer.dropEffect="move";let P=f.currentTarget.getBoundingClientRect(),U=f.clientX>P.left+P.width/2?"end":"start";l.current=U==="end"?1:-1,r.current=b,h(b,U);let z=a.current,A=o.current,L=R.current;if(z&&A&&L){let w=L.getBoundingClientRect(),O=z.offsetHeight,x=z.offsetWidth,H=P.left-w.left,W=U==="end"?H+P.width-Math.ceil(x/2):H-Math.ceil(x/2);z.style.top=P.top-w.top-O+1+"px",z.style.left=W+"px",A.style.top=P.top-w.top+P.height+"px",A.style.left=W+"px",z.style.display="block",A.style.display="block"}},[t,h]),u=I.useCallback((f,b)=>{!t||n.current===-1||(f.preventDefault(),r.current=b)},[t]),v=I.useCallback(()=>{a.current&&(a.current.style.display="none"),o.current&&(o.current.style.display="none")},[]),k=I.useCallback(f=>{},[t]),F=I.useCallback((f,b)=>{if(!t||n.current===-1)return;f.preventDefault();let D=n.current,P=b,U=l.current,z=D!==P;z&&(P-D===1&&U===-1||P-D===-1&&U===1)&&(z=!1),z&&(P<D&&U===1&&P++,P>D&&U===-1&&P--,e.onColumnReorder?.({originalEvent:f.nativeEvent,dragIndex:D,dropIndex:P})),v(),T(),n.current=-1,r.current=-1,l.current=0,i.current=null},[t,e.onColumnReorder,T,v]),c=I.useCallback(f=>{t&&(v(),T(),n.current=-1,r.current=-1,l.current=0,i.current=null)},[t,T,v]),E=I.useCallback(()=>({"data-scope":"datatable","data-part":"column-reorder",style:{cursor:"grab",userSelect:"none"}}),[]),m=I.useCallback(()=>({"data-scope":"datatable","data-part":"column-reorder-indicator-up",ref:f=>{a.current=f}}),[]),s=I.useCallback(()=>({"data-scope":"datatable","data-part":"column-reorder-indicator-down",ref:f=>{o.current=f}}),[]),p=I.useCallback(f=>{R.current=f},[]),K=I.useMemo(()=>({onDragStart:g,onDragOver:d,onDragEnter:u,onDragLeave:k,onDrop:F,onDragEnd:c,registerDropTarget:M,getColumnReorderHandleProps:E,getColumnReorderIndicatorUpProps:m,getColumnReorderIndicatorDownProps:s}),[g,d,u,k,F,c,M,E,m,s]);return{state:Be,exposes:K,registerRoot:p}}import*as $ from"react";var Ye=Object.freeze({}),ae=15;function Se(e){let{resizableColumns:t=!1,columnResizeMode:n="fit"}=e,i=$.useRef(null),r=$.useRef(null),l=$.useCallback(g=>{r.current=g},[]),a=$.useRef(null),o=$.useCallback((g,d)=>{if(typeof document>"u")return;if(!a.current){let k=document.createElement("style");k.setAttribute("data-primereact-datatable-resize",""),document.head.appendChild(k),a.current=k}let u=g.getAttribute("data-resize-id");u||(u=`dt-resize-${Math.random().toString(36).slice(2,9)}`,g.setAttribute("data-resize-id",u));let v=d.map((k,F)=>{let c=F+1,E=`table[data-resize-id="${u}"]`;return`
2
+ ${E} > thead > tr > th:nth-child(${c}),
3
+ ${E} > tbody > tr > td:nth-child(${c}),
4
+ ${E} > tfoot > tr > td:nth-child(${c}) {
5
+ width: ${k}px !important;
6
+ max-width: ${k}px !important;
7
+ }
8
+ `}).join(`
9
+ `);a.current.innerHTML=v},[]);$.useEffect(()=>()=>{a.current?.remove(),a.current=null},[]);let R=$.useRef(n);R.current=n;let C=$.useRef(e.onColumnResizeEnd);C.current=e.onColumnResizeEnd;let y=$.useCallback(()=>{let g=i.current;g&&(g.resizer.removeEventListener("pointermove",g.onMove),g.resizer.removeEventListener("pointerup",g.onEnd),g.resizer.removeEventListener("pointercancel",g.onEnd),g.resizer.hasPointerCapture(g.pointerId)&&g.resizer.releasePointerCapture(g.pointerId),r.current&&(r.current.style.display="none",r.current.style.willChange=""),document.body.style.removeProperty("cursor"),document.body.style.removeProperty("user-select"),i.current=null)},[]),S=$.useCallback((g,d,u)=>{let v=g.headerCells.map((k,F)=>d[F]??k.offsetWidth);if(u!==void 0)g.table.style.width=`${u}px`,g.table.style.minWidth=`${u}px`;else{let k=g.initialTableWidth,F=v.reduce((E,m)=>E+m,0),c=k-F;if(Math.abs(c)>.01){let E=v.findIndex((m,s)=>d[s]===void 0);E>=0&&(v[E]+=c)}}o(g.table,v)},[o]),M=$.useCallback((g,d,u)=>{if(!t||g.pointerType==="mouse"&&g.button!==0)return;let v=u.closest("table");if(!v)return;let k=v.closest('[data-part="table-container"]')??v.parentElement;if(!k)return;let F=g.currentTarget,c=Array.from(v.querySelectorAll("thead th")),E=c[d+1]??null,m=k.getBoundingClientRect(),s=r.current;if(s){let f=g.clientX-m.left+k.scrollLeft;s.style.top="0px",s.style.left="0px",s.style.height=`${k.clientHeight}px`,s.style.transform=`translateX(${f}px)`,s.style.willChange="transform",s.style.display="block"}let p=f=>{let b=i.current;if(!b||f.pointerId!==b.pointerId)return;let D=r.current;if(!D)return;let P=f.clientX-b.containerLeft+b.tableContainer.scrollLeft;D.style.transform=`translateX(${P}px)`},K=f=>{let b=i.current;if(!b||f.pointerId!==b.pointerId)return;let D=f.clientX-b.startClientX,P=R.current,U=b.initialWidth+D;if(U>=ae){if(P==="fit"&&b.nextHeaderCell){let z=b.initialNextWidth-ae,A=Math.min(D,z),L=b.initialWidth+A,w=b.initialNextWidth-A;L>=ae&&w>=ae&&(S(b,{[b.columnIndex]:L,[b.columnIndex+1]:w}),C.current?.({originalEvent:f,columnIndex:b.columnIndex,delta:A}))}else if(P==="expand"){let z=b.initialTableWidth+D;S(b,{[b.columnIndex]:U},z),C.current?.({originalEvent:f,columnIndex:b.columnIndex,delta:D})}}y()};i.current={columnIndex:d,pointerId:g.pointerId,startClientX:g.clientX,containerLeft:m.left,initialScrollLeft:k.scrollLeft,resizer:F,headerCell:u,nextHeaderCell:E,headerCells:c,table:v,tableContainer:k,initialWidth:u.offsetWidth,initialNextWidth:E?.offsetWidth??0,initialTableWidth:R.current==="fit"?k.clientWidth:v.offsetWidth,onMove:p,onEnd:K},F.setPointerCapture(g.pointerId),F.addEventListener("pointermove",p),F.addEventListener("pointerup",K),F.addEventListener("pointercancel",K),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[t,S,y]);$.useEffect(()=>()=>y(),[y]);let h=$.useCallback(g=>({"data-scope":"datatable","data-part":"column-resizer",style:{touchAction:"none"},onPointerDown:u=>{let v=u.target.closest("th");if(v){let k=g??v.cellIndex;M(u,k,v)}}}),[M]),T=$.useMemo(()=>({onResizeStart:M,registerIndicator:l,getColumnResizerProps:h}),[M,l,h]);return{state:Ye,exposes:T}}import*as j from"react";var me=Object.freeze({});function Te(e){let{editMode:t}=e,n=e.editingKeys!==void 0,[i,r]=j.useState(()=>e.editingKeys??e.defaultEditingKeys??me),l=n?e.editingKeys??me:i;j.useEffect(()=>{n&&r(e.editingKeys??me)},[n,e.editingKeys]);let[a,o]=j.useState(null),R=j.useRef({}),C=j.useCallback(m=>l[String(m)]===!0,[l]),y=j.useCallback((m,s,p,K)=>{if(t!=="row")return;let f=String(s),b={...l,[f]:!0};p&&(R.current[f]={...p}),n||r(b),e.onEditingKeysChange?.({originalEvent:m,value:b}),e.onRowEditInit?.({originalEvent:m,data:p??{},index:K??-1})},[t,l,n,e.onEditingKeysChange,e.onRowEditInit]),S=j.useCallback((m,s,p,K,f)=>{if(t!=="row")return;let b=String(s),D={...l};delete D[b],delete R.current[b],n||r(D),e.onEditingKeysChange?.({originalEvent:m,value:D}),e.onRowEditSave?.({originalEvent:m,data:p??{},newData:K,index:f??-1})},[t,l,n,e.onEditingKeysChange,e.onRowEditSave]),M=j.useCallback((m,s,p,K)=>{if(t!=="row")return;let f=String(s),b={...l};delete b[f];let D=R.current[f];delete R.current[f],n||r(b),e.onEditingKeysChange?.({originalEvent:m,value:b}),e.onRowEditCancel?.({originalEvent:m,data:D??p??{},index:K??-1})},[t,l,n,e.onEditingKeysChange,e.onRowEditCancel]),h=j.useCallback((m,s,p)=>t!=="cell"||!a||a.field!==s?!1:p!==void 0&&a.rowKey!==void 0?String(a.rowKey)===String(p):a.rowIndex===m,[t,a]),T=j.useCallback((m,s,p,K)=>{t==="cell"&&(o({rowIndex:s,field:p,rowKey:K}),e.onCellEditInit?.({originalEvent:m,field:p,rowIndex:s}))},[t,e.onCellEditInit]),g=j.useCallback(m=>{if(t!=="cell")return!1;let s=!1,p={...m,preventDefault:()=>{s=!0}};return e.onCellEditComplete?.(p),s||o(null),!s},[t,e.onCellEditComplete]),d=j.useCallback((m,s,p)=>{t==="cell"&&(e.onCellEditCancel?.({originalEvent:m,rowData:{},newRowData:{},field:p,value:void 0,newValue:void 0,rowIndex:s,type:"escape",preventDefault:()=>{}}),o(null))},[t,e.onCellEditCancel]),u=j.useCallback(m=>({"data-scope":"datatable","data-part":"cell-editor","data-row-index":String(m.rowIndex),"data-field":m.field,...m.rowKey!==void 0?{"data-row-key":String(m.rowKey)}:void 0,...m.isEditing?{"data-editing":""}:void 0}),[]),v=j.useCallback(()=>({"data-scope":"datatable","data-part":"row-editor-init",type:"button","aria-label":"Edit row"}),[]),k=j.useCallback(()=>({"data-scope":"datatable","data-part":"row-editor-save",type:"button","aria-label":"Save row"}),[]),F=j.useCallback(()=>({"data-scope":"datatable","data-part":"row-editor-cancel",type:"button","aria-label":"Cancel edit"}),[]),c=j.useMemo(()=>({isEditing:C,startRowEdit:y,saveRowEdit:S,cancelRowEdit:M,startCellEdit:T,completeCellEdit:g,cancelCellEdit:d,isCellEditing:h,getCellEditorRootProps:u,getRowEditorInitProps:v,getRowEditorSaveProps:k,getRowEditorCancelProps:F}),[C,y,S,M,T,g,d,h,u,v,k,F]);return{state:j.useMemo(()=>({editingKeys:l,editingCell:a}),[l,a]),exposes:c}}import*as X from"react";var we=Object.freeze({});function ve(e){let t=e.expandedKeys!==void 0,[n,i]=X.useState(()=>e.expandedKeys??e.defaultExpandedKeys??{}),r=t?e.expandedKeys??we:n;X.useEffect(()=>{t&&i(e.expandedKeys??we)},[t,e.expandedKeys]);let l=X.useCallback(y=>r[String(y)]===!0,[r]),a=X.useCallback((y,S)=>{let M=String(S),h={...r};h[M]?delete h[M]:h[M]=!0,t||i(h),e.onExpandedChange?.({originalEvent:y,value:h})},[r,t,e.onExpandedChange]),o=X.useCallback((y,S)=>{let M=y!==void 0?l(y):!1,h=S?._treeLevel!==void 0,T=S?._treeLevel??0,g=S?._treeHasChildren??!1,d=v=>{y!==void 0&&a(v,y)};if(h&&!g)return{isSpacer:!0,spacerProps:{"data-scope":"datatable","data-part":"row-toggle-spacer","data-tree-level":T,style:{display:"inline-block",marginInlineStart:`calc(var(--p-datatable-indent, 1rem) * ${T})`,width:"var(--p-datatable-toggle-size, 2rem)",flexShrink:0}}};let u={"data-scope":"datatable","data-part":"row-toggle",type:"button","aria-expanded":M,"aria-label":M?"Collapse row":"Expand row",onClick:d};return h&&(u["data-tree-level"]=T,u.style={marginInlineStart:`calc(var(--p-datatable-indent, 1rem) * ${T})`,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0}),{isSpacer:!1,rootProps:u,isExpanded:M}},[l,a]),R=X.useMemo(()=>({isExpanded:l,toggleExpansion:a,getRowToggleProps:o}),[l,a,o]);return{state:X.useMemo(()=>({expandedKeys:r}),[r]),exposes:R}}import{resolveFieldData as Xe}from"@primeuix/utils";import*as re from"react";var qe=Object.freeze({});function xe(e){let t=re.useCallback(i=>{if(typeof document>"u")return;let r=e.data??[],l=i?.separator??",",a=i?.fileName??"download",o=r;if(i?.selectionOnly&&e.selectionKeys&&e.dataKey&&(o=r.filter(d=>{let u=String(d[e.dataKey]);return e.selectionKeys[u]})),o.length===0)return;let R=i?.fields??Object.keys(o[0]);if(i?.exportFunction){i.exportFunction({data:o,fields:R});return}let C=i?.headers,y=[],S=R.map(d=>{let u=C?.[d]??d;return`"${String(u).replace(/"/g,'""')}"`});y.push(S.join(l));for(let d of o){let u=R.map(v=>{let k=Xe(d,v),F=k!=null?String(k):"";return F.length>0&&/^[=+\-@\t\r]/.test(F)&&(F=` ${F}`),`"${F.replace(/"/g,'""')}"`});y.push(u.join(l))}let M=y.join(`
10
+ `);if(typeof document>"u"||typeof URL>"u"||typeof Blob>"u")return;let h=new Blob([M],{type:"text/csv;charset=utf-8;"}),T=URL.createObjectURL(h),g=document.createElement("a");g.setAttribute("href",T),g.setAttribute("download",`${a}.csv`),g.style.display="none",document.body.appendChild(g);try{g.click()}finally{g.parentNode===document.body&&document.body.removeChild(g),URL.revokeObjectURL(T)}},[e.data,e.dataKey,e.selectionKeys]),n=re.useMemo(()=>({exportCSV:t}),[t]);return{state:qe,exposes:n}}import{useFilter as Je}from"@primereact/hooks/use-filter";import*as N from"react";var Qe={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"},Ze={And:"and",Or:"or"},De=Object.freeze({});function ke(e){let{data:t=[],lazy:n=!1,globalFilterFields:i=[]}=e,r=e.filters!==void 0,[l,a]=N.useState(e.defaultFilters??De),o=r?e.filters??De:l;N.useEffect(()=>{r&&e.filters&&a(e.filters)},[r,e.filters]);let R=e.globalFilter??null,C=e.filterDelay??0,[y,S]=N.useState(o),[M,h]=N.useState(R);N.useEffect(()=>{if(C<=0){S(o),h(R);return}let L=setTimeout(()=>{S(o),h(R)},C);return()=>clearTimeout(L)},[o,R,C]);let T=C>0?y:o,g=C>0?M:R,d=N.useCallback((L,w)=>{r||a(w),e.onFilter?.({originalEvent:L,filters:w})},[r,e.onFilter]),u=N.useCallback((L,w,O)=>{let x={...o,[w]:O};d(L,x)},[o,d]),v=N.useCallback((L,w)=>{let O=o[w],x={...o};if(O&&typeof O=="object"&&O!==null&&"constraints"in O){let H=O;x[w]={operator:H.operator??"and",constraints:[{value:null,matchMode:H.constraints?.[0]?.matchMode??"contains"}]}}else O&&typeof O=="object"&&O!==null&&"matchMode"in O?x[w]={value:null,matchMode:O.matchMode}:delete x[w];d(L,x)},[o,d]),k=N.useCallback(L=>{d(L,{})},[d]),F=N.useCallback((L,w,O="contains")=>{let x=o[w],H={...o};if(x&&typeof x=="object"&&x!==null&&"constraints"in x){let W=x,G=[...W.constraints??[],{value:null,matchMode:O}];H[w]={...W,constraints:G}}else{let W=x&&typeof x=="object"&&"value"in x?x.value:null,G=x&&typeof x=="object"&&"matchMode"in x?x.matchMode??"contains":"contains";H[w]={operator:"and",constraints:[{value:W,matchMode:G},{value:null,matchMode:O}]}}d(L,H)},[o,d]),c=N.useCallback((L,w,O)=>{let x=o[w];if(!x||typeof x!="object"||!("constraints"in x))return;let H=x,W=(H.constraints??[]).filter((ee,ge)=>ge!==O);if(W.length===0)return;let G={...o,[w]:{...H,constraints:W}};d(L,G)},[o,d]),E=N.useCallback((L,w,O)=>{let x=o[w],H={...o};if(x&&typeof x=="object"&&x!==null&&"constraints"in x)H[w]={...x,operator:O};else{let W=x&&typeof x=="object"&&"value"in x?x.value:null,G=x&&typeof x=="object"&&"matchMode"in x?x.matchMode??"contains":"contains";H[w]={operator:O,constraints:[{value:W,matchMode:G}]}}d(L,H)},[o,d]),m=N.useCallback((L,w,O,x,H)=>{let W=o[w];if(!W||typeof W!="object"||!("constraints"in W))return;let G=W,ee=[...G.constraints??[]];O>=0&&O<ee.length&&(ee[O]={value:x,matchMode:H??ee[O].matchMode});let ge={...o,[w]:{...G,constraints:ee}};d(L,ge)},[o,d]),s=N.useCallback((L,w,O,x)=>{let H=o[w];if(!H||typeof H!="object"||!("constraints"in H))return;let W=H,G=[...W.constraints??[]];O>=0&&O<G.length&&(G[O]={...G[O],matchMode:x});let ee={...o,[w]:{...W,constraints:G}};d(L,ee)},[o,d]),p=N.useCallback(L=>{let w=o[L];return w?typeof w=="object"&&w!==null&&"constraints"in w?(w.constraints??[]).some(x=>x.value!==null&&x.value!==void 0&&x.value!==""):typeof w=="object"&&w!==null&&"value"in w?w.value!==null&&w.value!==void 0&&w.value!=="":w!=null&&w!=="":!1},[o]),K=N.useCallback(()=>R?!0:Object.keys(o).some(L=>p(L)),[o,R,p]),f=N.useCallback(L=>{let w=o[L];return w?typeof w=="object"&&w!==null?w:{value:w,matchMode:"contains"}:{value:null,matchMode:"contains"}},[o]),b=N.useMemo(()=>{let L=[];for(let w of Object.keys(T)){if(w==="global")continue;let O=T[w];if(O){if(typeof O=="object"&&O!==null){let x=O;if(x.constraints&&x.constraints.length>0){L.push({field:w,operator:x.operator??"and",constraints:x.constraints.map(H=>({value:H.value,matchMode:H.matchMode??"contains"}))});continue}if("value"in x||"matchMode"in x){L.push({field:w,value:x.value,matchMode:x.matchMode??"contains"});continue}}L.push({field:w,value:O,matchMode:"contains"})}}return g&&i.length>0&&L.push({field:i,value:g,matchMode:"contains"}),L},[T,g,i]),P=Je({data:t,rules:b,lazy:n}).filteredData,U=N.useMemo(()=>({filters:o,globalFilter:R}),[o,R]),z=N.useCallback((L,w="row")=>({"data-scope":"datatable","data-part":"filter","data-display":w,...p(L)?{"data-active":""}:void 0}),[p]),A=N.useMemo(()=>({setFieldFilter:u,clearFieldFilter:v,clearAllFilters:k,addConstraint:F,removeConstraint:c,setOperator:E,setConstraintValue:m,setConstraintMatchMode:s,hasFilterValue:p,isFiltered:K,getFieldFilterMeta:f,getFilterRootProps:z}),[u,v,k,F,c,E,m,s,p,K,f,z]);return{filteredData:P,state:U,exposes:A}}import{resolveFieldData as et}from"@primeuix/utils";import*as oe from"react";function Ke(e){let{data:t,groupField:n}=e,i=oe.useMemo(()=>{if(!n)return;let a=new Map;if(t.length===0)return a;let o=[],R,C=0;for(let y=0;y<t.length;y++){let S=et(t[y],n);y===0?(R=S,C=0):S!==R&&(o.push({start:C,end:y-1,value:R}),R=S,C=y)}o.push({start:C,end:t.length-1,value:R});for(let y=0;y<o.length;y++){let S=o[y],M=S.end-S.start+1;for(let h=S.start;h<=S.end;h++)a.set(h,{isGroupStart:h===S.start,isGroupEnd:h===S.end,groupValue:S.value,groupCount:M,groupIndex:y})}return a},[t,n]),r=oe.useMemo(()=>({}),[]);return{state:oe.useMemo(()=>({groupMetaMap:i}),[i]),exposes:r}}import*as J from"react";function Fe(e){let{data:t,treeMode:n,selectionMode:i,expandedKeys:r={},onToggleExpansion:l,onToggleSelection:a,getRowKey:o}=e,R=i==="single"?"single":"checkbox",[C,y]=J.useState(-1),S=J.useCallback(d=>C===-1?d===0?0:-1:d===C?0:-1,[C]),M=J.useCallback((d,u)=>{if(!d)return;let v=d.querySelector(`tr[data-scope="datatable"][data-part="row"][data-index="${u}"]`);if(v){y(u),v.focus();return}y(u)},[]),h=J.useCallback((d,u)=>{let v=d.target;if(v!==d.currentTarget){let c=v.tagName;if(c==="INPUT"||c==="SELECT"||c==="TEXTAREA"||v.isContentEditable||v.closest("[data-editing]"))return}let k=t.length,F=!0;switch(d.key){case"ArrowDown":{let c=Math.min(u+1,k-1);if(c!==u){let E=d.currentTarget.closest("tbody");if(M(E,c),d.shiftKey&&a){let m=t[c],s=o?.(m,c);s!==void 0&&a(d,s,R)}}break}case"ArrowUp":{let c=Math.max(u-1,0);if(c!==u){let E=d.currentTarget.closest("tbody");if(M(E,c),d.shiftKey&&a){let m=t[c],s=o?.(m,c);s!==void 0&&a(d,s,R)}}break}case"ArrowRight":{if(!n){F=!1;break}let c=t[u],E=o?.(c,u),m=c?._treeHasChildren,s=E!==void 0&&r[String(E)];if(m&&!s&&E!==void 0)l?.(d,E);else if(s){let p=d.currentTarget.closest("tbody");M(p,Math.min(u+1,k-1))}break}case"ArrowLeft":{if(!n){F=!1;break}let c=t[u],E=o?.(c,u),m=c?._treeHasChildren,s=E!==void 0&&r[String(E)];if(m&&s&&E!==void 0)l?.(d,E);else{let p=c?._treeParentKey;if(p!==null){let K=t.findIndex((f,b)=>String(o?.(f,b))===String(p));if(K>=0){let f=d.currentTarget.closest("tbody");M(f,K)}}}break}case"Home":{let c=d.currentTarget.closest("tbody");M(c,0);break}case"End":{let c=d.currentTarget.closest("tbody");M(c,k-1);break}case"Enter":case" ":{let c=d.target;if(c.tagName==="INPUT"||c.tagName==="SELECT"||c.tagName==="TEXTAREA"||c.tagName==="BUTTON"||c.tagName==="A"||c.isContentEditable){F=!1;break}if(a){let E=t[u],m=o?.(E,u);m!==void 0&&a(d,m,R)}break}default:F=!1}F&&d.preventDefault()},[t,n,r,M,l,a,o,R]),T=J.useMemo(()=>({focusedRowIndex:C}),[C]),g=J.useMemo(()=>({getRowTabIndex:S,onRowKeyDown:h,focusRow:M}),[S,h,M]);return{state:T,exposes:g}}import*as Y from"react";function Le(e){let{data:t,lazy:n,paginator:i}=e,r=e.page!==void 0,l=e.rows!==void 0,[a,o]=Y.useState(e.defaultPage??0),[R,C]=Y.useState(e.defaultRows??10),y=r?e.page??0:a,S=l?e.rows??10:R,M=n?e.totalRecords??0:t.length,h=Math.max(1,Math.ceil(M/S)),T=y*S;Y.useEffect(()=>{!r&&y>=h&&h>0&&o(h-1)},[h,y,r]);let g=Y.useMemo(()=>!i||n?t:t.slice(T,T+S),[t,i,n,T,S]),d=Y.useCallback((F,c)=>{if(c<0||c>=h)return;r||o(c);let E=c*S;e.onPageChange?.({originalEvent:F,page:c,rows:S,first:E,pageCount:h})},[h,S,r,e.onPageChange]),u=Y.useCallback((F,c)=>{if(c<=0)return;l||C(c),r||o(0);let E=Math.max(1,Math.ceil(M/c));e.onPageChange?.({originalEvent:F,page:0,rows:c,first:0,pageCount:E})},[M,l,r,e.onPageChange]),v=Y.useMemo(()=>({page:y,rows:S,first:T,pageCount:h,totalRecords:M,onPageChange:d,onRowsChange:u}),[y,S,T,h,M,d,u]),k=Y.useMemo(()=>({page:y,rows:S,first:T,pageCount:h,totalRecords:M}),[y,S,T,h,M]);return{paginatedData:g,state:k,exposes:v}}import*as V from"react";var tt=Object.freeze({}),be="data-dragpoint-top",Re="data-dragpoint-bottom";function le(e){e&&(e.removeAttribute(be),e.removeAttribute(Re))}function Oe(e){let{reorderableRows:t=!1}=e,n=V.useRef(-1),i=V.useRef(-1),r=V.useRef(null),l=V.useCallback((T,g)=>{t&&(n.current=g,T.dataTransfer.effectAllowed="move",T.dataTransfer.setData("text/plain",String(g)))},[t]),a=V.useCallback((T,g)=>{if(!t||n.current===-1||n.current===g)return;T.preventDefault(),T.dataTransfer.dropEffect="move";let d=T.currentTarget,u=d.getBoundingClientRect(),v=u.top+u.height/2;r.current&&r.current!==d&&le(r.current),T.clientY<v?(d.setAttribute(be,""),d.removeAttribute(Re),i.current=g):(d.setAttribute(Re,""),d.removeAttribute(be),i.current=g+1),r.current=d},[t]),o=V.useCallback(T=>{if(!t)return;let g=T.currentTarget;le(g),r.current===g&&(r.current=null)},[t]),R=V.useCallback(T=>{if(!t||n.current===-1)return;T.preventDefault();let g=e.data??[],d=n.current,u=i.current;if(u>d&&(u-=1),u!==d&&u>=0&&u<=g.length){let v=[...g],[k]=v.splice(d,1);v.splice(u,0,k),e.onRowReorder?.({originalEvent:T.nativeEvent,dragIndex:d,dropIndex:u,value:v})}le(r.current),r.current=null,n.current=-1,i.current=-1},[t,e.data,e.onRowReorder]),C=V.useCallback(()=>{t&&(le(r.current),r.current=null,n.current=-1,i.current=-1)},[t]),y=V.useCallback(T=>{let g=T.currentTarget.closest("tr");g&&g.setAttribute("data-drag-source","true")},[]),S=V.useCallback(T=>{let g=T.currentTarget.closest("tr");g&&g.removeAttribute("data-drag-source")},[]),M=V.useCallback(()=>({"data-scope":"datatable","data-part":"row-reorder",style:{cursor:"grab",userSelect:"none",touchAction:"none"},onPointerDown:y,onPointerUp:S}),[y,S]),h=V.useMemo(()=>({onDragStart:l,onDragOver:a,onDragEnter:a,onDragLeave:o,onDrop:R,onDragEnd:C,getRowReorderHandleProps:M}),[l,a,o,R,C,M]);return{state:tt,exposes:h}}import*as _ from"react";var ye=Object.freeze({});function Pe(e){let t=[];if(e.children)for(let n of e.children)t.push(n.key),t.push(...Pe(n));return t}function se(e,t){for(let n of e){if(n.key===t)return n;if(n.children){let i=se(n.children,t);if(i)return i}}return null}function nt(e,t){let n=[];function i(r,l){for(let a of r){if(a.key===t)return n.push(...l),!0;if(a.children&&i(a.children,[...l,a.key]))return!0}return!1}return i(e,[]),n}function Ie(e,t){return!e.children||e.children.length===0?!0:e.children.every(n=>t[n.key]===!0&&Ie(n,t))}function He(e,t){return e.children?e.children.some(n=>t[n.key]===!0||He(n,t)):!1}function at(e,t,n){let i=nt(e,t);for(let r=i.length-1;r>=0;r--){let l=i[r],a=se(e,l);a&&Ie(a,n)?n[l]=!0:delete n[l]}}function ze(e){let{data:t}=e,n=_.useRef(null),i=e.selectionKeys!==void 0,[r,l]=_.useState(()=>e.selectionKeys??e.defaultSelectionKeys??ye),a=i?e.selectionKeys??ye:r;_.useEffect(()=>{i&&l(e.selectionKeys??ye)},[i,e.selectionKeys]);let o=_.useCallback((c,E)=>e.dataKey&&c?String(c[e.dataKey]):E,[e.dataKey]),R=_.useCallback(c=>a[String(c)]===!0,[a]),C=e.treeMode?e.rawTreeData:void 0,y=_.useMemo(()=>{let c=new Map;for(let E=0;E<t.length;E++)c.set(String(o(t[E],E)),E);return c},[t,o]),S=_.useCallback((c,E,m)=>{let s=String(E),p,K=!0;if(m==="radio")p={[s]:!0};else if(m==="single")p=a[s]?{}:{[s]:!0};else if(c.shiftKey===!0&&!C&&n.current!==null&&n.current!==s){let b=n.current,D=y.get(b)??-1,P=y.get(s)??-1;if(D>=0&&P>=0){let U=Math.min(D,P),z=Math.max(D,P);p={...a};for(let A=U;A<=z;A++){let L=String(o(t[A],A));p[L]=!0}}else p={...a,[s]:!0};K=!1}else{p={...a};let b=!p[s];if(b?p[s]=!0:delete p[s],C){let D=se(C,s);if(D){let P=Pe(D);for(let U of P)b?p[U]=!0:delete p[U]}at(C,s,p)}}K&&m!=="radio"&&(n.current=s),i||l(p),e.onSelectionChange?.({originalEvent:c,value:p,type:m==="radio"?"radio":m==="single"?"row":"checkbox"})},[t,o,a,i,e.onSelectionChange,C,y]),M=_.useCallback(c=>{let E=[];for(let m of c)E.push(m.key),m.children&&E.push(...M(m.children));return E},[]),h=_.useMemo(()=>{if(C){let E=M(C);if(E.length===0)return{all:!1,some:!1};let m=E.reduce((s,p)=>a[p]===!0?s+1:s,0);return{all:m===E.length,some:m>0&&m<E.length}}if(t.length===0)return{all:!1,some:!1};let c=0;for(let E=0;E<t.length;E++){let m=String(o(t[E],E));a[m]===!0&&c++}return{all:c===t.length,some:c>0&&c<t.length}},[t,C,a,o,M]),T=_.useCallback(()=>h.all,[h]),g=_.useCallback(()=>h.some,[h]),d=_.useCallback(c=>{let E;if(T())E={};else if(E={},C){let m=M(C);for(let s of m)E[s]=!0}else t.forEach((m,s)=>{let p=String(o(m,s));E[p]=!0});i||l(E),e.onSelectionChange?.({originalEvent:c,value:E,type:"all"})},[t,C,T,i,o,M,e.onSelectionChange]),u=_.useCallback((c,E)=>{let{selectionMode:m,metaKeySelection:s}=e;if(!m)return;let p=String(E),K=c.metaKey||c.ctrlKey,f=c.shiftKey,b,D=!0;if(m==="single")b=a[p]?{}:{[p]:!0};else if(s)if(f&&n.current!==null&&n.current!==p){let P=n.current,U=-1,z=-1;for(let A=0;A<t.length;A++){let L=String(o(t[A],A));if(L===P&&(U=A),L===p&&(z=A),U>=0&&z>=0)break}if(U>=0&&z>=0){let A=Math.min(U,z),L=Math.max(U,z);b=K?{...a}:{};for(let w=A;w<=L;w++){let O=String(o(t[w],w));b[O]=!0}}else b={...a,[p]:!0};D=!1}else K?(b={...a},b[p]?delete b[p]:b[p]=!0):b={[p]:!0};else b={...a},b[p]?delete b[p]:b[p]=!0;D&&(n.current=p),i||l(b),e.onSelectionChange?.({originalEvent:c,value:b,type:"row"})},[t,o,a,i,e.selectionMode,e.metaKeySelection,e.onSelectionChange]),v=_.useCallback(c=>{if(!C)return!1;let E=se(C,String(c));return!E||!E.children||E.children.length===0?!1:!a[String(c)]&&He(E,a)},[C,a]),k=_.useMemo(()=>({isSelected:R,isPartiallySelected:v,toggleSelection:S,toggleAll:d,isAllSelected:T,isSomeSelected:g,onRowClick:u}),[R,v,S,d,T,g,u]),F=_.useMemo(()=>({selectionKeys:a}),[a]);return{getRowKey:o,state:F,exposes:k}}import*as B from"react";import{localeComparator as rt,resolveFieldData as ie,sort as he}from"@primeuix/utils";var Ee=rt(),ce=(e,t,n,i=1)=>he(e,t,n,Ee,i),pe=(e,t,n,i=1)=>!t||n===0?e:[...e].sort((r,l)=>he(ie(r,t),ie(l,t),n,Ee,i)),Me=(e,t,n=1)=>!t||t.length===0?e:[...e].sort((i,r)=>{for(let l of t){let a=he(ie(i,l.field),ie(r,l.field),l.order,Ee,n);if(a!==0)return a}return 0});function Ne(e){let{data:t,lazy:n}=e,i=e.sortField!==void 0,r=e.multiSortMeta!==void 0,[l,a]=B.useState(e.defaultSortField),[o,R]=B.useState(e.defaultSortOrder),[C,y]=B.useState(e.defaultMultiSortMeta),S=i?e.sortField:l,M=i?e.sortOrder:o,h=r?e.multiSortMeta:C,T=B.useCallback(m=>h&&h.length>0?h.some(s=>s.field===m):S===m&&M!==0,[S,M,h]),g=B.useCallback(m=>h&&h.length>0?h.find(p=>p.field===m)?.order??0:S===m?M??0:0,[S,M,h]),d=B.useCallback(m=>h&&h.length>0?h.findIndex(s=>s.field===m):-1,[h]),u=B.useCallback((m,s,p)=>{let K=g(s),f;if(K===0?f=1:K===1?f=-1:f=e.removableSort?0:1,p){let b=[...h??[]],D=b.findIndex(P=>P.field===s);f===0?D!==-1&&b.splice(D,1):D!==-1?b[D]={field:s,order:f}:b.push({field:s,order:f}),r||y(b),e.onSortChange?.({originalEvent:m,field:s,order:f,multiSortMeta:b})}else i||(a(f===0?void 0:s),R(f)),r||y(void 0),e.onSortChange?.({originalEvent:m,field:s,order:f,multiSortMeta:void 0})},[g,e.removableSort,e.onSortChange,i,r,h]),v=e.nullSortOrder??1,k=B.useMemo(()=>n?t:h&&h.length>0?Me(t,h,v):S&&M!=null&&M!==0?pe(t,S,M,v):t,[t,n,S,M,h,v]),F=B.useCallback(m=>{let s=T(m),p=g(m),K=s?p===1?"ascending":"descending":"",f=D=>{if(!m)return;let P=D.metaKey||D.ctrlKey;u(D,m,P)},b=D=>{(D.key==="Enter"||D.key===" ")&&(D.preventDefault(),f(D))};return{"data-scope":"datatable","data-part":"sort",...s?{"data-sorted":"","data-sort-order":p===1?"asc":"desc"}:{"data-unsorted":""},role:"button",tabIndex:0,"aria-label":`Sort by ${m}${K?` ${K}`:""}`,"aria-sort":s?p===1?"ascending":"descending":"none",onClick:f,onKeyDown:b}},[T,g,u]),c=B.useMemo(()=>({onSort:u,isSorted:T,getSortOrder:g,getSortIndex:d,getSortProps:F}),[u,T,g,d,F]),E=B.useMemo(()=>({sortField:S,sortOrder:M,multiSortMeta:h}),[S,M,h]);return{sortedData:k,state:E,exposes:c}}import{BUILT_IN_MATCHERS as ot,getGlobalMatchers as lt}from"@primereact/hooks/use-filter";import{resolveFieldData as Q}from"@primeuix/utils";import*as te from"react";function Ue(e,t,n,i){let r=ot[e]??lt()[e];return r?r(t,n,i):!0}var fe=100;function Ae(e,t,n,i=0){return i>=fe?e:[...e].sort((l,a)=>{let o=l.data?Q(l.data,t):void 0,R=a.data?Q(a.data,t):void 0;return ce(o,R,n)}).map(l=>l.children?.length?{...l,children:Ae(l.children,t,n,i+1)}:l)}function je(e,t,n=0){return n>=fe?e:[...e].sort((r,l)=>{for(let a of t){let o=r.data?Q(r.data,a.field):void 0,R=l.data?Q(l.data,a.field):void 0,C=ce(o,R,a.order);if(C!==0)return C}return 0}).map(r=>r.children?.length?{...r,children:je(r.children,t,n+1)}:r)}function de(e,t,n="contains"){return Ue(n,e,t)}function st(e,t,n,i){if(n&&i.length>0&&!i.some(a=>Ue("contains",Q(e,a),n)))return!1;let r=Object.keys(t).filter(l=>l!=="global");for(let l of r){let a=t[l];if(!a)continue;if(typeof a=="object"&&a!==null&&"constraints"in a){let R=a,C=R.operator??"and",y=R.constraints??[];if(y.length>0){let S=Q(e,l);if(C==="and"){if(!y.every(h=>de(S,h.value,h.matchMode)))return!1}else if(!y.some(h=>de(S,h.value,h.matchMode)))return!1}continue}if(typeof a=="object"&&a!==null&&"value"in a){let R=a,C=Q(e,l);if(!de(C,R.value,R.matchMode))return!1;continue}let o=Q(e,l);if(!de(o,a))return!1}return!0}function ne(e,t,n,i,r=0){if(r>=fe)return[];let l=[];for(let a of e){let o=a.data??{};if(st(o,t,n,i))l.push(a);else if(a.children?.length){let C=ne(a.children,t,n,i,r+1);C.length>0&&l.push({...a,children:C})}}return l}function ue(e,t){if(t)return!0;let n=Object.keys(e).filter(i=>i!=="global");for(let i of n){let r=e[i];if(r){if(typeof r=="object"&&r!==null&&"constraints"in r){if((r.constraints??[]).some(o=>o.value!==null&&o.value!==void 0&&o.value!==""))return!0;continue}if(typeof r=="object"&&r!==null&&"value"in r){let l=r.value;if(l!=null&&l!=="")return!0;continue}if(r!=null&&r!=="")return!0}}return!1}function _e(e,t,n,i){if(n>=fe)return[];let r=[],l=e.length;for(let a=0;a<e.length;a++){let o=e[a],R=!!o.children?.length,C=R||o.leaf===!1,y=o.leaf===!0||!R&&o.leaf!==!1;r.push({...o.data??{},key:o.key,data:o.data??{},children:o.children,_treeLevel:n,_treeHasChildren:C,_treeLeaf:y,_treeParentKey:i,_treePosInSet:a+1,_treeSetSize:l}),R&&t[o.key]&&r.push(..._e(o.children,t,n+1,o.key))}return r}function We(e){let{data:t,treeMode:n,expandedKeys:i,sortField:r,sortOrder:l,multiSortMeta:a,filters:o={},globalFilter:R=null,globalFilterFields:C=[],paginator:y=!1,page:S=0,rows:M=10}=e,h=te.useMemo(()=>{if(!n)return t;let u=t;if(ue(o,R)&&(u=ne(u,o,R,C)),a&&a.length>0?u=je(u,a):r&&l!=null&&l!==0&&(u=Ae(u,r,l)),y){let v=S*M;u=u.slice(v,v+M)}return _e(u,i,0,null)},[t,n,i,r,l,a,o,R,C,y,S,M]),T=te.useMemo(()=>{if(!n)return t.length;let u=t;return ue(o,R)&&(u=ne(u,o,R,C)),u.length},[t,n,o,R,C]),g=te.useMemo(()=>({}),[]),d=te.useMemo(()=>({}),[]);return{flattenedData:h,totalRootNodes:T,state:g,exposes:d}}var $e={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,selectionKeys:void 0,defaultSelectionKeys:void 0,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 Jt=it({name:"useDataTable",defaultProps:$e,setup({props:e}){let t=e.data??[],n=e.treeMode===!0,i=n||e.lazy,r=ve({expandedKeys:e.expandedKeys,defaultExpandedKeys:e.defaultExpandedKeys,onExpandedChange:e.onExpandedChange}),l=ke({data:t,lazy:i,filters:e.filters,defaultFilters:e.defaultFilters,globalFilter:e.globalFilter,globalFilterFields:e.globalFilterFields,filterDelay:e.filterDelay,onFilter:e.onFilter}),a=Ne({data:l.filteredData,lazy:i,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}),o=q.useMemo(()=>{if(!n)return 0;let K=t,f=l.state.filters??{},b=l.state.globalFilter??null,D=e.globalFilterFields??[];return ue(f,b)?ne(K,f,b,D).length:K.length},[n,t,l.state.filters,l.state.globalFilter,e.globalFilterFields]),R=Le({data:a.sortedData,lazy:n?!0:e.lazy,totalRecords:n?o:e.totalRecords,paginator:e.paginator,page:e.page,defaultPage:e.defaultPage,rows:e.rows,defaultRows:e.defaultRows,onPageChange:e.onPageChange}),C=We({data:t,treeMode:n,expandedKeys:r.state.expandedKeys,sortField:a.state.sortField,sortOrder:a.state.sortOrder,multiSortMeta:a.state.multiSortMeta,filters:l.state.filters,globalFilter:l.state.globalFilter,globalFilterFields:e.globalFilterFields,paginator:e.paginator,page:R.state.page,rows:R.state.rows}),y=n?C.flattenedData:a.sortedData,S=Ke({data:y,groupField:n?void 0:e.groupField}),M=ze({data:y,rawTreeData:n?t:void 0,treeMode:n,dataKey:e.dataKey,selectionMode:e.selectionMode,metaKeySelection:e.metaKeySelection,selectionKeys:e.selectionKeys??e.selectedKeys,defaultSelectionKeys:e.defaultSelectionKeys??e.defaultSelectedKeys,onSelectionChange:e.onSelectionChange}),h=Fe({data:y,dataKey:e.dataKey,treeMode:n,selectionMode:e.selectionMode,selectionKeys:M.state.selectionKeys,expandedKeys:r.state.expandedKeys,onToggleExpansion:r.exposes.toggleExpansion,onToggleSelection:M.exposes.toggleSelection,getRowKey:M.getRowKey}),T=Ce({reorderableColumns:e.reorderableColumns,onColumnReorder:e.onColumnReorder}),g=Se({resizableColumns:e.resizableColumns,columnResizeMode:e.columnResizeMode,onColumnResizeEnd:e.onColumnResizeEnd}),d=Te({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}),u=Oe({data:y,reorderableRows:e.reorderableRows,onRowReorder:e.onRowReorder}),v=xe({data:y,dataKey:e.dataKey,selectionKeys:M.state.selectionKeys}),k=q.useRef({first:-1,rows:-1,page:-1,sortField:void 0,sortOrder:void 0,multiSortMeta:void 0,filters:void 0,globalFilter:void 0});q.useEffect(()=>{if(!e.lazy||!e.onLazyLoad)return;let K=k.current,f={first:R.state.first,rows:R.state.rows,page:R.state.page,sortField:a.state.sortField,sortOrder:a.state.sortOrder,multiSortMeta:a.state.multiSortMeta,filters:l.state.filters,globalFilter:l.state.globalFilter};K.first!==-1&&(K.first!==f.first||K.rows!==f.rows||K.page!==f.page||K.sortField!==f.sortField||K.sortOrder!==f.sortOrder||K.multiSortMeta!==f.multiSortMeta||K.filters!==f.filters||K.globalFilter!==f.globalFilter)&&e.onLazyLoad(f),k.current=f},[e.lazy,e.onLazyLoad,R.state.first,R.state.rows,R.state.page,a.state.sortField,a.state.sortOrder,a.state.multiSortMeta,l.state.filters,l.state.globalFilter]);let F=n?y:R.paginatedData,c=e.loading??!1,E=q.useMemo(()=>({processedData:y,paginatedData:F,loading:c,...a.state,...M.state,...R.state,...r.state,...S.state,...d.state,...l.state}),[y,F,c,a.state,M.state,R.state,r.state,S.state,d.state,l.state]),m=q.useMemo(()=>({"data-scope":"datatable","data-part":"root",ref:T.registerRoot,...c?{"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}),[c,e.rowHover,e.highlightOnSelect,e.selectionMode,e.size,e.stripedRows,e.showGridlines,e.scrollable,e.resizableColumns,T.registerRoot]),s=q.useMemo(()=>({"data-scope":"datatable","data-part":"table-container",style:e.scrollable&&e.scrollHeight?{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]),p=q.useMemo(()=>({"data-scope":"datatable","data-part":"table",role:n?"treegrid":"table"}),[n]);return{state:E,rootProps:m,tableContainerProps:s,tableProps:p,getRowKey:M.getRowKey,sort:a.exposes,selection:M.exposes,pagination:R.exposes,expansion:r.exposes,columnReorder:T.exposes,columnResize:g.exposes,editing:d.exposes,filter:l.exposes,rowReorder:u.exposes,exportData:v.exposes,keyboard:h.exposes}}});import{withHeadless as ct}from"@primereact/core/headless";import*as Z from"react";var Ge={item:void 0,index:0,context:void 0};var Ve='input, button, a, [data-scope="radiobutton"], [data-scope="checkbox"], [role="checkbox"], [role="radio"]',dt=Object.freeze({}),nn=ct({name:"useDataTableRow",defaultProps:Ge,setup({props:e}){let t=e.index??0,n=e.item,i=e.context,r=n?i?.getRowKey?.(n,t):void 0,l=r!==void 0?i?.selection?.isSelected(r):void 0,a=r!==void 0?i?.expansion?.isExpanded(r):void 0,o=n?._treeLevel??void 0,R=n?._treeHasChildren??void 0,C=n?._treePosInSet??void 0,y=n?._treeSetSize??void 0,S=i?.keyboard?.getRowTabIndex(t)??-1,M=i?.inProps?.editMode,h=!!i?.inProps?.reorderableRows,T=Z.useCallback(s=>{if(s.key==="Enter"&&M==="cell"&&s.target===s.currentTarget){let K=s.currentTarget.querySelector("td[data-editable-cell]")?.querySelector("[data-row-index][data-field]");if(K){let f=Number(K.dataset.rowIndex),b=K.dataset.field;if(!Number.isNaN(f)&&b){s.preventDefault(),i?.editing?.startCellEdit(s,f,b,r);return}}}i?.keyboard?.onRowKeyDown(s,t)},[i?.keyboard,i?.editing,M,r,t]),g=i?.inProps?.onRowClick,d=i?.inProps?.onRowDoubleClick,u=i?.inProps?.onRowContextMenu,v=Z.useCallback(s=>{let p=s.target;p.closest(Ve)||p.closest("td[data-editable-cell]")||(n&&g?.({originalEvent:s,data:n,index:t}),r!==void 0&&i?.selection?.onRowClick(s,r))},[i?.selection,r,g,n,t]),k=Z.useCallback(s=>{!n||!d||s.target.closest(Ve)||d({originalEvent:s,data:n,index:t})},[d,n,t]),F=Z.useCallback(s=>{!n||!u||u({originalEvent:s,data:n,index:t})},[u,n,t]),c=i?.rowReorder,E=Z.useMemo(()=>!h||!c?null:{onDragStart:s=>{if(s.currentTarget.getAttribute("data-drag-source")!=="true"){s.preventDefault();return}c.onDragStart(s,t)},onDragOver:s=>c.onDragOver(s,t),onDragLeave:s=>c.onDragLeave(s),onDrop:s=>c.onDrop(s),onDragEnd:s=>{s.currentTarget.removeAttribute("data-drag-source"),c.onDragEnd()}},[h,c,t]),m=Z.useMemo(()=>({"data-scope":"datatable","data-part":"row","data-index":t,role:"row","aria-rowindex":t+1,tabIndex:S,onKeyDown:T,onClick:v,...d?{onDoubleClick:k}:void 0,...u?{onContextMenu:F}:void 0,...l!==void 0?{"aria-selected":l}:void 0,...l?{"data-selected":""}:void 0,...o!==void 0?{"aria-level":o+1}:void 0,...R?{"aria-expanded":a}:void 0,...C!==void 0?{"aria-posinset":C}:void 0,...y!==void 0?{"aria-setsize":y}:void 0,...E?{draggable:!0,...E}:void 0}),[t,S,T,v,d,u,k,F,l,a,o,R,C,y,E]);return{state:dt,rowProps:m,isSelected:l,rowKey:r}}});export{Qe as FilterMatchMode,Ze as FilterOperator,$e as defaultProps,Ge as defaultRowProps,Jt as useDataTable,nn as useDataTableRow};