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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (592) hide show
  1. package/LICENSE.md +45 -0
  2. package/README.md +35 -0
  3. package/accordion/index.d.ts +3 -0
  4. package/accordion/index.mjs +1 -1
  5. package/accordion/index.mjs.map +1 -1
  6. package/accordion/useAccordion.d.ts +7 -6
  7. package/accordion/useAccordion.props.d.ts +2 -2
  8. package/accordion/useAccordionPanel.d.ts +46 -0
  9. package/accordion/useAccordionPanel.props.d.ts +2 -0
  10. package/animateonscroll/index.d.ts +1 -0
  11. package/animateonscroll/index.mjs +1 -1
  12. package/animateonscroll/index.mjs.map +1 -1
  13. package/animateonscroll/useAnimateOnScroll.d.ts +6 -1
  14. package/animateonscroll/useAnimateOnScroll.props.d.ts +2 -2
  15. package/autocomplete/index.d.ts +3 -0
  16. package/autocomplete/index.mjs +2 -0
  17. package/autocomplete/index.mjs.map +1 -0
  18. package/autocomplete/useAutoComplete.d.ts +198 -0
  19. package/autocomplete/useAutoComplete.props.d.ts +2 -0
  20. package/avatar/index.d.ts +1 -0
  21. package/avatar/index.mjs +1 -1
  22. package/avatar/index.mjs.map +1 -1
  23. package/avatar/useAvatar.d.ts +5 -1
  24. package/avatar/useAvatar.props.d.ts +2 -2
  25. package/avatargroup/index.d.ts +3 -0
  26. package/avatargroup/index.mjs +2 -0
  27. package/avatargroup/index.mjs.map +1 -0
  28. package/avatargroup/useAvatarGroup.d.ts +6 -0
  29. package/avatargroup/useAvatarGroup.props.d.ts +2 -0
  30. package/badge/index.d.ts +1 -0
  31. package/badge/index.mjs +1 -1
  32. package/badge/index.mjs.map +1 -1
  33. package/badge/useBadge.d.ts +7 -1
  34. package/badge/useBadge.props.d.ts +2 -2
  35. package/breadcrumb/index.d.ts +1 -0
  36. package/breadcrumb/index.mjs +1 -1
  37. package/breadcrumb/index.mjs.map +1 -1
  38. package/breadcrumb/useBreadcrumb.d.ts +18 -2
  39. package/breadcrumb/useBreadcrumb.props.d.ts +2 -2
  40. package/button/index.d.ts +1 -0
  41. package/button/index.mjs +1 -1
  42. package/button/index.mjs.map +1 -1
  43. package/button/useButton.d.ts +6 -1
  44. package/button/useButton.props.d.ts +2 -2
  45. package/card/index.d.ts +1 -0
  46. package/card/index.mjs +1 -1
  47. package/card/index.mjs.map +1 -1
  48. package/card/useCard.d.ts +6 -1
  49. package/card/useCard.props.d.ts +2 -2
  50. package/carousel/index.d.ts +1 -0
  51. package/carousel/index.mjs +1 -1
  52. package/carousel/index.mjs.map +1 -1
  53. package/carousel/useCarousel.d.ts +101 -5
  54. package/carousel/useCarousel.props.d.ts +2 -2
  55. package/checkbox/index.d.ts +1 -0
  56. package/checkbox/index.mjs +1 -1
  57. package/checkbox/index.mjs.map +1 -1
  58. package/checkbox/useCheckbox.d.ts +44 -3
  59. package/checkbox/useCheckbox.props.d.ts +2 -2
  60. package/checkboxgroup/index.d.ts +3 -0
  61. package/checkboxgroup/index.mjs +2 -0
  62. package/checkboxgroup/index.mjs.map +1 -0
  63. package/checkboxgroup/useCheckboxGroup.d.ts +11 -0
  64. package/checkboxgroup/useCheckboxGroup.props.d.ts +2 -0
  65. package/chip/index.d.ts +1 -0
  66. package/chip/index.mjs +1 -1
  67. package/chip/index.mjs.map +1 -1
  68. package/chip/useChip.d.ts +9 -3
  69. package/chip/useChip.props.d.ts +2 -2
  70. package/collapsible/index.d.ts +3 -0
  71. package/collapsible/index.mjs +2 -0
  72. package/collapsible/index.mjs.map +1 -0
  73. package/collapsible/useCollapsible.d.ts +33 -0
  74. package/collapsible/useCollapsible.props.d.ts +2 -0
  75. package/compare/index.d.ts +3 -0
  76. package/compare/index.mjs +2 -0
  77. package/compare/index.mjs.map +1 -0
  78. package/compare/useCompare.d.ts +2 -0
  79. package/compare/useCompare.props.d.ts +2 -0
  80. package/contextmenu/index.d.ts +1 -0
  81. package/contextmenu/index.mjs +1 -1
  82. package/contextmenu/index.mjs.map +1 -1
  83. package/contextmenu/submenu/index.d.ts +2 -0
  84. package/contextmenu/submenu/index.mjs +2 -0
  85. package/contextmenu/submenu/index.mjs.map +1 -0
  86. package/contextmenu/submenu/useContextMenuSubmenu.d.ts +121 -0
  87. package/contextmenu/submenu/useContextMenuSubmenu.props.d.ts +2 -0
  88. package/contextmenu/useContextMenu.d.ts +413 -1
  89. package/contextmenu/useContextMenu.props.d.ts +2 -2
  90. package/datatable/features/index.d.ts +28 -0
  91. package/datatable/features/index.mjs +11 -0
  92. package/datatable/features/index.mjs.map +1 -0
  93. package/datatable/features/useDataTableColumnReorder.d.ts +52 -0
  94. package/datatable/features/useDataTableColumnResize.d.ts +20 -0
  95. package/datatable/features/useDataTableEditing.d.ts +69 -0
  96. package/datatable/features/useDataTableExpansion.d.ts +32 -0
  97. package/datatable/features/useDataTableExport.d.ts +43 -0
  98. package/datatable/features/useDataTableFilter.d.ts +95 -0
  99. package/datatable/features/useDataTableGrouping.d.ts +11 -0
  100. package/datatable/features/useDataTableKeyboard.d.ts +23 -0
  101. package/datatable/features/useDataTablePagination.d.ts +32 -0
  102. package/datatable/features/useDataTableRowReorder.d.ts +42 -0
  103. package/datatable/features/useDataTableSelection.d.ts +28 -0
  104. package/datatable/features/useDataTableSort.d.ts +51 -0
  105. package/datatable/features/useDataTableTree.d.ts +31 -0
  106. package/datatable/index.d.ts +7 -0
  107. package/datatable/index.mjs +11 -0
  108. package/datatable/index.mjs.map +1 -0
  109. package/datatable/useDataTable.d.ts +237 -0
  110. package/datatable/useDataTable.props.d.ts +2 -0
  111. package/datatable/useDataTableRow.d.ts +30 -0
  112. package/datatable/useDataTableRow.props.d.ts +2 -0
  113. package/datatable/utils/compareValues.d.ts +20 -0
  114. package/datatable/utils/index.d.ts +1 -0
  115. package/datatable/utils/index.mjs +2 -0
  116. package/datatable/utils/index.mjs.map +1 -0
  117. package/dataview/index.d.ts +1 -0
  118. package/dataview/index.mjs +1 -1
  119. package/dataview/index.mjs.map +1 -1
  120. package/dataview/useDataView.d.ts +25 -1
  121. package/dataview/useDataView.props.d.ts +2 -2
  122. package/datepicker/index.d.ts +1 -0
  123. package/datepicker/index.mjs +1 -1
  124. package/datepicker/index.mjs.map +1 -1
  125. package/datepicker/useDatePicker.d.ts +2 -114
  126. package/datepicker/useDatePicker.props.d.ts +2 -2
  127. package/dialog/index.d.ts +1 -0
  128. package/dialog/index.mjs +1 -1
  129. package/dialog/index.mjs.map +1 -1
  130. package/dialog/useDialog.d.ts +274 -24
  131. package/dialog/useDialog.props.d.ts +2 -2
  132. package/divider/index.d.ts +1 -0
  133. package/divider/index.mjs +1 -1
  134. package/divider/index.mjs.map +1 -1
  135. package/divider/useDivider.d.ts +14 -1
  136. package/divider/useDivider.props.d.ts +2 -2
  137. package/dnd/index.d.ts +11 -0
  138. package/dnd/index.mjs +2 -0
  139. package/dnd/index.mjs.map +1 -0
  140. package/dnd/useDnd.d.ts +45 -0
  141. package/dnd/useDnd.props.d.ts +2 -0
  142. package/dnd/useDraggable.d.ts +14 -0
  143. package/dnd/useDraggable.props.d.ts +2 -0
  144. package/dnd/useDroppable.d.ts +11 -0
  145. package/dnd/useDroppable.props.d.ts +2 -0
  146. package/dnd/useSortable.d.ts +11 -0
  147. package/dnd/useSortable.props.d.ts +2 -0
  148. package/dnd/useSortableContainer.d.ts +24 -0
  149. package/dnd/useSortableContainer.props.d.ts +2 -0
  150. package/drawer/index.d.ts +1 -0
  151. package/drawer/index.mjs +1 -1
  152. package/drawer/index.mjs.map +1 -1
  153. package/drawer/useDrawer.d.ts +78 -16
  154. package/drawer/useDrawer.props.d.ts +2 -2
  155. package/fieldset/index.d.ts +1 -0
  156. package/fieldset/index.mjs +1 -1
  157. package/fieldset/index.mjs.map +1 -1
  158. package/fieldset/useFieldset.d.ts +80 -1
  159. package/fieldset/useFieldset.props.d.ts +2 -2
  160. package/fileupload/index.d.ts +1 -0
  161. package/fileupload/index.mjs +1 -1
  162. package/fileupload/index.mjs.map +1 -1
  163. package/fileupload/useFileUpload.d.ts +73 -4
  164. package/fileupload/useFileUpload.props.d.ts +2 -2
  165. package/floatlabel/index.d.ts +3 -0
  166. package/floatlabel/index.mjs +2 -0
  167. package/floatlabel/index.mjs.map +1 -0
  168. package/floatlabel/useFloatLabel.d.ts +6 -0
  169. package/floatlabel/useFloatLabel.props.d.ts +2 -0
  170. package/fluid/index.d.ts +1 -0
  171. package/fluid/index.mjs +1 -1
  172. package/fluid/index.mjs.map +1 -1
  173. package/fluid/useFluid.d.ts +6 -1
  174. package/fluid/useFluid.props.d.ts +2 -2
  175. package/focustrap/index.d.ts +1 -0
  176. package/focustrap/index.mjs +1 -1
  177. package/focustrap/index.mjs.map +1 -1
  178. package/focustrap/useFocusTrap.d.ts +16 -3
  179. package/focustrap/useFocusTrap.props.d.ts +2 -2
  180. package/gallery/index.d.ts +1 -0
  181. package/gallery/index.mjs +1 -1
  182. package/gallery/index.mjs.map +1 -1
  183. package/gallery/item/index.mjs +1 -1
  184. package/gallery/item/index.mjs.map +1 -1
  185. package/gallery/item/useGalleryItem.d.ts +17 -7
  186. package/gallery/item/useGalleryItem.props.d.ts +2 -2
  187. package/gallery/useGallery.d.ts +147 -6
  188. package/gallery/useGallery.props.d.ts +2 -2
  189. package/iconfield/index.d.ts +1 -0
  190. package/iconfield/index.mjs +1 -1
  191. package/iconfield/index.mjs.map +1 -1
  192. package/iconfield/useIconField.d.ts +6 -1
  193. package/iconfield/useIconField.props.d.ts +2 -2
  194. package/iftalabel/index.d.ts +3 -0
  195. package/iftalabel/index.mjs +2 -0
  196. package/iftalabel/index.mjs.map +1 -0
  197. package/iftalabel/useIftaLabel.d.ts +6 -0
  198. package/iftalabel/useIftaLabel.props.d.ts +2 -0
  199. package/inplace/index.d.ts +1 -0
  200. package/inplace/index.mjs +1 -1
  201. package/inplace/index.mjs.map +1 -1
  202. package/inplace/useInplace.d.ts +21 -2
  203. package/inplace/useInplace.props.d.ts +2 -2
  204. package/{colorpicker → inputcolor}/colorManager.d.ts +3 -2
  205. package/inputcolor/index.d.ts +4 -0
  206. package/inputcolor/index.mjs +2 -0
  207. package/inputcolor/index.mjs.map +1 -0
  208. package/inputcolor/useInputColor.d.ts +119 -0
  209. package/inputcolor/useInputColor.props.d.ts +2 -0
  210. package/inputgroup/index.d.ts +1 -0
  211. package/inputgroup/index.mjs +1 -1
  212. package/inputgroup/index.mjs.map +1 -1
  213. package/inputgroup/useInputGroup.d.ts +6 -1
  214. package/inputgroup/useInputGroup.props.d.ts +2 -2
  215. package/inputnumber/index.d.ts +1 -0
  216. package/inputnumber/index.mjs +1 -1
  217. package/inputnumber/index.mjs.map +1 -1
  218. package/inputnumber/useInputNumber.d.ts +55 -17
  219. package/inputnumber/useInputNumber.props.d.ts +2 -2
  220. package/inputotp/index.d.ts +1 -0
  221. package/inputotp/index.mjs +1 -1
  222. package/inputotp/index.mjs.map +1 -1
  223. package/inputotp/useInputOtp.d.ts +25 -6
  224. package/inputotp/useInputOtp.props.d.ts +2 -2
  225. package/inputpassword/index.d.ts +3 -0
  226. package/inputpassword/index.mjs +2 -0
  227. package/inputpassword/index.mjs.map +1 -0
  228. package/inputpassword/useInputPassword.d.ts +15 -0
  229. package/inputpassword/useInputPassword.props.d.ts +2 -0
  230. package/inputtags/index.d.ts +1 -0
  231. package/inputtags/index.mjs +1 -1
  232. package/inputtags/index.mjs.map +1 -1
  233. package/inputtags/useInputTags.d.ts +42 -12
  234. package/inputtags/useInputTags.props.d.ts +2 -2
  235. package/inputtext/index.d.ts +1 -0
  236. package/inputtext/index.mjs +1 -1
  237. package/inputtext/index.mjs.map +1 -1
  238. package/inputtext/useInputText.d.ts +8 -1
  239. package/inputtext/useInputText.props.d.ts +2 -2
  240. package/knob/index.d.ts +1 -0
  241. package/knob/index.mjs +1 -1
  242. package/knob/index.mjs.map +1 -1
  243. package/knob/useKnob.d.ts +51 -10
  244. package/knob/useKnob.props.d.ts +2 -2
  245. package/label/index.d.ts +1 -0
  246. package/label/index.mjs +1 -1
  247. package/label/index.mjs.map +1 -1
  248. package/label/useLabel.d.ts +6 -1
  249. package/label/useLabel.props.d.ts +2 -2
  250. package/listbox/index.d.ts +3 -0
  251. package/listbox/index.mjs +1 -1
  252. package/listbox/index.mjs.map +1 -1
  253. package/listbox/useListbox.d.ts +56 -18
  254. package/listbox/useListbox.props.d.ts +2 -2
  255. package/listbox/useListboxOption.d.ts +21 -0
  256. package/listbox/useListboxOption.props.d.ts +2 -0
  257. package/menu/checkboxitem/index.d.ts +2 -0
  258. package/menu/checkboxitem/index.mjs +2 -0
  259. package/menu/checkboxitem/index.mjs.map +1 -0
  260. package/menu/checkboxitem/useMenuCheckboxItem.d.ts +112 -0
  261. package/menu/checkboxitem/useMenuCheckboxItem.props.d.ts +2 -0
  262. package/menu/index.d.ts +1 -0
  263. package/menu/index.mjs +1 -1
  264. package/menu/index.mjs.map +1 -1
  265. package/menu/radioitem/index.d.ts +2 -0
  266. package/menu/radioitem/index.mjs +2 -0
  267. package/menu/radioitem/index.mjs.map +1 -0
  268. package/menu/radioitem/useMenuRadioItem.d.ts +106 -0
  269. package/menu/radioitem/useMenuRadioItem.props.d.ts +2 -0
  270. package/menu/submenu/index.d.ts +2 -0
  271. package/menu/submenu/index.mjs +2 -0
  272. package/menu/submenu/index.mjs.map +1 -0
  273. package/menu/submenu/useMenuSubmenu.d.ts +97 -0
  274. package/menu/submenu/useMenuSubmenu.props.d.ts +2 -0
  275. package/menu/useMenu.d.ts +215 -22
  276. package/menu/useMenu.props.d.ts +2 -2
  277. package/message/index.d.ts +1 -0
  278. package/message/index.mjs +1 -1
  279. package/message/index.mjs.map +1 -1
  280. package/message/useMessage.d.ts +13 -1
  281. package/message/useMessage.props.d.ts +2 -2
  282. package/metergroup/index.d.ts +1 -0
  283. package/metergroup/index.mjs +1 -1
  284. package/metergroup/index.mjs.map +1 -1
  285. package/metergroup/useMeterGroup.d.ts +36 -5
  286. package/metergroup/useMeterGroup.props.d.ts +2 -2
  287. package/navigationmenu/index.d.ts +3 -0
  288. package/navigationmenu/index.mjs +2 -0
  289. package/navigationmenu/index.mjs.map +1 -0
  290. package/navigationmenu/useNavigationMenu.d.ts +30 -0
  291. package/navigationmenu/useNavigationMenu.props.d.ts +2 -0
  292. package/orderlist/index.d.ts +3 -0
  293. package/orderlist/index.mjs +2 -0
  294. package/orderlist/index.mjs.map +1 -0
  295. package/orderlist/useOrderList.d.ts +73 -0
  296. package/orderlist/useOrderList.props.d.ts +2 -0
  297. package/organizationchart/index.d.ts +3 -0
  298. package/organizationchart/index.mjs +2 -0
  299. package/organizationchart/index.mjs.map +1 -0
  300. package/organizationchart/useOrganizationChart.d.ts +69 -0
  301. package/organizationchart/useOrganizationChart.props.d.ts +2 -0
  302. package/overlaybadge/index.d.ts +3 -0
  303. package/overlaybadge/index.mjs +2 -0
  304. package/overlaybadge/index.mjs.map +1 -0
  305. package/overlaybadge/useOverlayBadge.d.ts +1 -0
  306. package/overlaybadge/useOverlayBadge.props.d.ts +2 -0
  307. package/package.json +12 -15
  308. package/paginator/index.d.ts +1 -0
  309. package/paginator/index.mjs +1 -1
  310. package/paginator/index.mjs.map +1 -1
  311. package/paginator/usePaginator.d.ts +47 -1
  312. package/paginator/usePaginator.props.d.ts +2 -2
  313. package/panel/index.d.ts +1 -0
  314. package/panel/index.mjs +1 -1
  315. package/panel/index.mjs.map +1 -1
  316. package/panel/usePanel.d.ts +76 -8
  317. package/panel/usePanel.props.d.ts +2 -2
  318. package/picklist/index.d.ts +3 -0
  319. package/picklist/index.mjs +2 -0
  320. package/picklist/index.mjs.map +1 -0
  321. package/picklist/usePickList.d.ts +153 -0
  322. package/picklist/usePickList.props.d.ts +2 -0
  323. package/popover/index.d.ts +1 -0
  324. package/popover/index.mjs +1 -7
  325. package/popover/index.mjs.map +1 -1
  326. package/popover/usePopover.d.ts +65 -12
  327. package/popover/usePopover.props.d.ts +2 -2
  328. package/portal/index.d.ts +1 -0
  329. package/portal/index.mjs +1 -1
  330. package/portal/index.mjs.map +1 -1
  331. package/portal/usePortal.d.ts +4 -2
  332. package/portal/usePortal.props.d.ts +2 -2
  333. package/positioner/index.d.ts +3 -0
  334. package/positioner/index.mjs +2 -0
  335. package/positioner/index.mjs.map +1 -0
  336. package/positioner/usePositioner.anchor.d.ts +7 -0
  337. package/positioner/usePositioner.d.ts +11 -0
  338. package/positioner/usePositioner.fallback.d.ts +13 -0
  339. package/positioner/usePositioner.props.d.ts +2 -0
  340. package/positioner/usePositioner.utils.d.ts +21 -0
  341. package/progressbar/index.d.ts +1 -0
  342. package/progressbar/index.mjs +1 -1
  343. package/progressbar/index.mjs.map +1 -1
  344. package/progressbar/useProgressBar.d.ts +13 -1
  345. package/progressbar/useProgressBar.props.d.ts +2 -2
  346. package/progressspinner/index.d.ts +1 -0
  347. package/progressspinner/index.mjs +1 -1
  348. package/progressspinner/index.mjs.map +1 -1
  349. package/progressspinner/useProgressSpinner.d.ts +50 -1
  350. package/progressspinner/useProgressSpinner.props.d.ts +2 -2
  351. package/radiobutton/index.d.ts +1 -0
  352. package/radiobutton/index.mjs +1 -1
  353. package/radiobutton/index.mjs.map +1 -1
  354. package/radiobutton/useRadioButton.d.ts +41 -3
  355. package/radiobutton/useRadioButton.props.d.ts +2 -2
  356. package/radiobuttongroup/index.d.ts +3 -0
  357. package/radiobuttongroup/index.mjs +2 -0
  358. package/radiobuttongroup/index.mjs.map +1 -0
  359. package/radiobuttongroup/useRadioButtonGroup.d.ts +11 -0
  360. package/radiobuttongroup/useRadioButtonGroup.props.d.ts +2 -0
  361. package/rating/index.d.ts +3 -0
  362. package/rating/index.mjs +1 -1
  363. package/rating/index.mjs.map +1 -1
  364. package/rating/useRating.d.ts +46 -12
  365. package/rating/useRating.props.d.ts +2 -2
  366. package/rating/useRatingOption.d.ts +69 -0
  367. package/rating/useRatingOption.props.d.ts +2 -0
  368. package/scrollarea/index.d.ts +1 -0
  369. package/scrollarea/index.mjs +1 -1
  370. package/scrollarea/index.mjs.map +1 -1
  371. package/scrollarea/useScrollArea.d.ts +120 -15
  372. package/scrollarea/useScrollArea.props.d.ts +2 -2
  373. package/select/index.d.ts +3 -0
  374. package/select/index.mjs +2 -0
  375. package/select/index.mjs.map +1 -0
  376. package/select/useSelect.d.ts +190 -0
  377. package/select/useSelect.props.d.ts +2 -0
  378. package/select/useSelect.test.d.ts +1 -0
  379. package/sidebar/index.d.ts +7 -0
  380. package/sidebar/index.mjs +2 -0
  381. package/sidebar/index.mjs.map +1 -0
  382. package/sidebar/useSidebar.d.ts +117 -0
  383. package/sidebar/useSidebar.props.d.ts +2 -0
  384. package/sidebar/useSidebarLayout.d.ts +24 -0
  385. package/sidebar/useSidebarLayout.props.d.ts +2 -0
  386. package/sidebar/useSidebarMenuItem.d.ts +11 -0
  387. package/sidebar/useSidebarMenuItem.props.d.ts +2 -0
  388. package/skeleton/index.d.ts +1 -0
  389. package/skeleton/index.mjs +1 -1
  390. package/skeleton/index.mjs.map +1 -1
  391. package/skeleton/useSkeleton.d.ts +7 -1
  392. package/skeleton/useSkeleton.props.d.ts +2 -2
  393. package/slider/index.d.ts +1 -0
  394. package/slider/index.mjs +1 -1
  395. package/slider/index.mjs.map +1 -1
  396. package/slider/useSlider.d.ts +81 -48
  397. package/slider/useSlider.props.d.ts +2 -2
  398. package/speeddial/index.d.ts +1 -0
  399. package/speeddial/index.mjs +1 -1
  400. package/speeddial/index.mjs.map +1 -1
  401. package/speeddial/useSpeedDial.d.ts +89 -32
  402. package/speeddial/useSpeedDial.props.d.ts +2 -2
  403. package/splitter/index.d.ts +1 -0
  404. package/splitter/index.mjs +1 -1
  405. package/splitter/index.mjs.map +1 -1
  406. package/splitter/useSplitter.d.ts +57 -14
  407. package/splitter/useSplitter.props.d.ts +2 -2
  408. package/stepper/index.d.ts +1 -0
  409. package/stepper/index.mjs +1 -1
  410. package/stepper/index.mjs.map +1 -1
  411. package/stepper/useStepper.d.ts +47 -2
  412. package/stepper/useStepper.props.d.ts +2 -2
  413. package/styleclass/index.d.ts +1 -0
  414. package/styleclass/index.mjs +1 -1
  415. package/styleclass/index.mjs.map +1 -1
  416. package/styleclass/useStyleClass.d.ts +5 -1
  417. package/styleclass/useStyleClass.props.d.ts +2 -2
  418. package/tabs/index.d.ts +1 -0
  419. package/tabs/index.mjs +1 -1
  420. package/tabs/index.mjs.map +1 -1
  421. package/tabs/useTabs.d.ts +42 -3
  422. package/tabs/useTabs.props.d.ts +2 -2
  423. package/tag/index.d.ts +1 -0
  424. package/tag/index.mjs +1 -1
  425. package/tag/index.mjs.map +1 -1
  426. package/tag/useTag.d.ts +6 -1
  427. package/tag/useTag.props.d.ts +2 -2
  428. package/terminal/index.d.ts +1 -0
  429. package/terminal/index.mjs +1 -1
  430. package/terminal/index.mjs.map +1 -1
  431. package/terminal/useTerminal.d.ts +23 -2
  432. package/terminal/useTerminal.props.d.ts +2 -2
  433. package/textarea/index.d.ts +1 -0
  434. package/textarea/index.mjs +1 -1
  435. package/textarea/index.mjs.map +1 -1
  436. package/textarea/useTextarea.d.ts +9 -2
  437. package/textarea/useTextarea.props.d.ts +2 -2
  438. package/timeline/index.d.ts +1 -0
  439. package/timeline/index.mjs +1 -1
  440. package/timeline/index.mjs.map +1 -1
  441. package/timeline/useTimeline.d.ts +41 -1
  442. package/timeline/useTimeline.props.d.ts +2 -2
  443. package/toast/index.d.ts +1 -1
  444. package/toast/index.mjs +1 -1
  445. package/toast/index.mjs.map +1 -1
  446. package/toast/useToast.d.ts +85 -23
  447. package/toast/useToast.props.d.ts +2 -2
  448. package/toaster/ToastManager.d.ts +14 -0
  449. package/toaster/index.d.ts +4 -0
  450. package/toaster/index.mjs +2 -0
  451. package/toaster/index.mjs.map +1 -0
  452. package/toaster/useToaster.d.ts +50 -0
  453. package/toaster/useToaster.props.d.ts +2 -0
  454. package/togglebutton/index.d.ts +1 -0
  455. package/togglebutton/index.mjs +1 -1
  456. package/togglebutton/index.mjs.map +1 -1
  457. package/togglebutton/useToggleButton.d.ts +5 -3
  458. package/togglebutton/useToggleButton.props.d.ts +2 -2
  459. package/togglebuttongroup/index.d.ts +3 -0
  460. package/togglebuttongroup/index.mjs +2 -0
  461. package/togglebuttongroup/index.mjs.map +1 -0
  462. package/togglebuttongroup/useToggleButtonGroup.d.ts +17 -0
  463. package/togglebuttongroup/useToggleButtonGroup.props.d.ts +2 -0
  464. package/toggleswitch/index.d.ts +3 -0
  465. package/toggleswitch/index.mjs +2 -0
  466. package/toggleswitch/index.mjs.map +1 -0
  467. package/toggleswitch/useToggleSwitch.d.ts +48 -0
  468. package/toggleswitch/useToggleSwitch.props.d.ts +2 -0
  469. package/toolbar/index.d.ts +1 -0
  470. package/toolbar/index.mjs +1 -1
  471. package/toolbar/index.mjs.map +1 -1
  472. package/toolbar/useToolbar.d.ts +7 -1
  473. package/toolbar/useToolbar.props.d.ts +2 -2
  474. package/tooltip/index.d.ts +1 -0
  475. package/tooltip/index.mjs +1 -1
  476. package/tooltip/index.mjs.map +1 -1
  477. package/tooltip/useTooltip.d.ts +43 -24
  478. package/tooltip/useTooltip.props.d.ts +2 -2
  479. package/tooltipmanager/index.d.ts +2 -0
  480. package/tooltipmanager/index.mjs +2 -0
  481. package/tooltipmanager/index.mjs.map +1 -0
  482. package/tooltipmanager/useTooltipManager.d.ts +12 -0
  483. package/tooltipmanager/useTooltipManager.props.d.ts +2 -0
  484. package/tooltipmanager/useTooltipManager.test.d.ts +0 -0
  485. package/tree/TreeDragDropService.d.ts +13 -5
  486. package/tree/index.d.ts +7 -0
  487. package/tree/index.mjs +1 -1
  488. package/tree/index.mjs.map +1 -1
  489. package/tree/useTree.d.ts +96 -16
  490. package/tree/useTree.props.d.ts +2 -2
  491. package/tree/useTreeDragDrop.d.ts +24 -0
  492. package/tree/useTreeFlatten.d.ts +13 -0
  493. package/tree/useTreeKeyboard.d.ts +18 -0
  494. package/tree/useTreeNode.d.ts +45 -0
  495. package/tree/useTreeNode.props.d.ts +2 -0
  496. package/tree/useTreeSelection.d.ts +31 -0
  497. package/utils/itemKey.d.ts +10 -0
  498. package/LICENSE +0 -21
  499. package/colorpicker/index.d.ts +0 -3
  500. package/colorpicker/index.mjs +0 -2
  501. package/colorpicker/index.mjs.map +0 -1
  502. package/colorpicker/input/index.d.ts +0 -2
  503. package/colorpicker/input/index.mjs +0 -2
  504. package/colorpicker/input/index.mjs.map +0 -1
  505. package/colorpicker/input/useColorPickerInput.d.ts +0 -11
  506. package/colorpicker/input/useColorPickerInput.props.d.ts +0 -2
  507. package/colorpicker/slider/index.d.ts +0 -2
  508. package/colorpicker/slider/index.mjs +0 -2
  509. package/colorpicker/slider/index.mjs.map +0 -1
  510. package/colorpicker/slider/useColorPickerSlider.d.ts +0 -13
  511. package/colorpicker/slider/useColorPickerSlider.props.d.ts +0 -2
  512. package/colorpicker/useColorPicker.d.ts +0 -26
  513. package/colorpicker/useColorPicker.props.d.ts +0 -2
  514. package/commandmenu/index.d.ts +0 -2
  515. package/commandmenu/index.mjs +0 -2
  516. package/commandmenu/index.mjs.map +0 -1
  517. package/commandmenu/useCommandMenu.d.ts +0 -11
  518. package/commandmenu/useCommandMenu.props.d.ts +0 -2
  519. package/confirmdialog/index.d.ts +0 -2
  520. package/confirmdialog/index.mjs +0 -2
  521. package/confirmdialog/index.mjs.map +0 -1
  522. package/confirmdialog/useConfirmDialog.d.ts +0 -1
  523. package/confirmdialog/useConfirmDialog.props.d.ts +0 -2
  524. package/confirmpopup/index.d.ts +0 -2
  525. package/confirmpopup/index.mjs +0 -2
  526. package/confirmpopup/index.mjs.map +0 -1
  527. package/confirmpopup/useConfirmPopup.d.ts +0 -25
  528. package/confirmpopup/useConfirmPopup.props.d.ts +0 -2
  529. package/imagecompare/index.d.ts +0 -2
  530. package/imagecompare/index.mjs +0 -2
  531. package/imagecompare/index.mjs.map +0 -1
  532. package/imagecompare/useImageCompare.d.ts +0 -8
  533. package/imagecompare/useImageCompare.props.d.ts +0 -2
  534. package/menu/sub/index.d.ts +0 -2
  535. package/menu/sub/index.mjs +0 -2
  536. package/menu/sub/index.mjs.map +0 -1
  537. package/menu/sub/useMenuSub.d.ts +0 -19
  538. package/menu/sub/useMenuSub.props.d.ts +0 -2
  539. package/orgchart/index.d.ts +0 -2
  540. package/orgchart/index.mjs +0 -2
  541. package/orgchart/index.mjs.map +0 -1
  542. package/orgchart/useOrgChart.d.ts +0 -20
  543. package/orgchart/useOrgChart.props.d.ts +0 -2
  544. package/overlay/index.d.ts +0 -2
  545. package/overlay/index.mjs +0 -2
  546. package/overlay/index.mjs.map +0 -1
  547. package/overlay/useOverlay.d.ts +0 -16
  548. package/overlay/useOverlay.props.d.ts +0 -2
  549. package/password/index.d.ts +0 -2
  550. package/password/index.mjs +0 -2
  551. package/password/index.mjs.map +0 -1
  552. package/password/usePassword.d.ts +0 -35
  553. package/password/usePassword.props.d.ts +0 -2
  554. package/placer/index.d.ts +0 -2
  555. package/placer/index.mjs +0 -2
  556. package/placer/index.mjs.map +0 -1
  557. package/placer/usePlacer.d.ts +0 -12
  558. package/placer/usePlacer.props.d.ts +0 -2
  559. package/switch/index.d.ts +0 -2
  560. package/switch/index.mjs +0 -2
  561. package/switch/index.mjs.map +0 -1
  562. package/switch/useSwitch.d.ts +0 -7
  563. package/switch/useSwitch.props.d.ts +0 -2
  564. package/toast/item/index.css +0 -2
  565. package/toast/item/index.css.map +0 -1
  566. package/toast/item/index.d.ts +0 -2
  567. package/toast/item/index.mjs +0 -2
  568. package/toast/item/index.mjs.map +0 -1
  569. package/toast/item/useToastItem.d.ts +0 -25
  570. package/toast/item/useToastItem.props.d.ts +0 -2
  571. package/toast/toastStore.d.ts +0 -40
  572. package/tooltip/group/index.d.ts +0 -2
  573. package/tooltip/group/index.mjs +0 -2
  574. package/tooltip/group/index.mjs.map +0 -1
  575. package/tooltip/group/useTooltipGroup.d.ts +0 -9
  576. package/tooltip/group/useTooltipGroup.props.d.ts +0 -2
  577. /package/{colorpicker/input/useColorPickerInput.test.d.ts → autocomplete/useAutoComplete.test.d.ts} +0 -0
  578. /package/{colorpicker/slider/useColorPickerSlider.test.d.ts → checkboxgroup/useCheckboxGroup.test.d.ts} +0 -0
  579. /package/{colorpicker/useColorPicker.test.d.ts → collapsible/useCollapsible.test.d.ts} +0 -0
  580. /package/{commandmenu/useCommandMenu.test.d.ts → compare/useCompare.test.d.ts} +0 -0
  581. /package/{confirmdialog/useConfirmDialog.test.d.ts → floatlabel/useFloatLabel.test.d.ts} +0 -0
  582. /package/{confirmpopup/useConfirmPopup.test.d.ts → iftalabel/useIftaLabel.test.d.ts} +0 -0
  583. /package/{imagecompare/useImageCompare.test.d.ts → inputcolor/useInputColor.test.d.ts} +0 -0
  584. /package/{orgchart/useOrgChart.test.d.ts → inputpassword/useInputPassword.test.d.ts} +0 -0
  585. /package/{overlay/useOverlay.test.d.ts → navigationmenu/useNavigationMenu.test.d.ts} +0 -0
  586. /package/{password/usePassword.test.d.ts → organizationchart/useOrganizationChart.test.d.ts} +0 -0
  587. /package/{placer/usePlacer.test.d.ts → overlaybadge/useOverlayBadge.test.d.ts} +0 -0
  588. /package/{progressspinner/useProgressSpinner.test.d.ts → positioner/usePositioner.test.d.ts} +0 -0
  589. /package/{rating/useRating.test.d.ts → radiobuttongroup/useRadioButtonGroup.test.d.ts} +0 -0
  590. /package/{switch/useSwitch.test.d.ts → toaster/useToaster.test.d.ts} +0 -0
  591. /package/{toast/item/useToastItem.test.d.ts → togglebuttongroup/useToggleButtonGroup.test.d.ts} +0 -0
  592. /package/{tooltip/group/useTooltipGroup.test.d.ts → toggleswitch/useToggleSwitch.test.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/paginator/usePaginator.ts","../../src/paginator/usePaginator.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './usePaginator.props';\n\nconst range = (start: number, end: number) => {\n const length = Math.max(0, end - start + 1);\n\n return Array.from({ length }, (_, i) => ({ type: 'page' as const, value: start + i }));\n};\n\nconst ELLIPSIS = { type: 'ellipsis' as const };\n\nexport const usePaginator = withHeadless({\n name: 'usePaginator',\n defaultProps,\n setup({ props }) {\n const { edges = 1, siblings = 1, showEllipsis = true } = props;\n const [activePage, setActivePage] = React.useState(props.defaultPage ?? props.page ?? 1);\n\n const totalPages = Math.max(1, Math.ceil((props.total ?? 0) / (props.itemsPerPage ?? 1)));\n const canPrev = activePage > 1;\n const canNext = activePage < totalPages;\n\n const handlePage = (page?: number) => {\n if (props.disabled || page === undefined) return;\n\n const newPageValue = page < 1 ? 1 : page > totalPages ? totalPages : page;\n\n if (newPageValue !== activePage) {\n props.onPageChange?.({\n originalEvent: {} as React.SyntheticEvent,\n value: newPageValue\n });\n }\n\n setActivePage(newPageValue);\n };\n\n const next = () => handlePage(activePage + 1);\n const prev = () => handlePage(activePage - 1);\n const first = () => handlePage(1);\n const last = () => handlePage(totalPages);\n\n const pages = React.useMemo(() => {\n const leftSiblingIndex = Math.max(activePage - siblings, 1);\n const rightSiblingIndex = Math.min(activePage + siblings, totalPages);\n\n if (showEllipsis) {\n const windowSize = 2 * edges + 2 * siblings + (showEllipsis ? 3 : 1);\n\n if (windowSize >= totalPages) {\n return range(1, totalPages);\n }\n\n const isShowLeftEllipsis = leftSiblingIndex > edges + 2;\n const isShowRightEllipsis = rightSiblingIndex < totalPages - edges - 1;\n\n return [\n ...range(1, edges),\n\n ...(isShowLeftEllipsis ? [ELLIPSIS] : range(edges + 1, siblings * 2 + edges + 2)),\n\n ...(isShowLeftEllipsis && isShowRightEllipsis ? range(leftSiblingIndex, rightSiblingIndex) : []),\n\n ...(isShowRightEllipsis ? [ELLIPSIS] : range(totalPages - edges - 1 - 2 * siblings, totalPages - edges)),\n\n ...range(totalPages - edges + 1, totalPages)\n ];\n } else {\n return [...range(Math.max(Math.min(leftSiblingIndex, rightSiblingIndex - 2 * siblings), 1), Math.min(Math.max(rightSiblingIndex, leftSiblingIndex + 2 * siblings), totalPages))];\n }\n }, [totalPages, edges, siblings, activePage, showEllipsis]);\n\n React.useEffect(() => {\n if (props.page !== undefined) {\n handlePage(props.page);\n }\n }, [props.page]);\n\n return {\n state: {\n activePage,\n totalPages,\n canPrev,\n canNext\n },\n pages,\n prev,\n next,\n first,\n last,\n handlePage\n };\n }\n});\n","import type { usePaginatorProps } from '@primereact/types/shared/paginator';\n\nexport const defaultProps: usePaginatorProps = {\n defaultPage: 1,\n page: undefined,\n total: 0,\n itemsPerPage: 10,\n onPageChange: undefined,\n siblings: 1,\n edges: 1,\n disabled: false,\n showEllipsis: true\n};\n"],"mappings":"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","names":["withHeadless","React","defaultProps","range","start","end","length","_","i","ELLIPSIS","usePaginator","withHeadless","defaultProps","props","_a","_b","_c","_d","edges","siblings","showEllipsis","activePage","setActivePage","totalPages","canPrev","canNext","handlePage","page","newPageValue","next","prev","first","last","pages","leftSiblingIndex","rightSiblingIndex","isShowLeftEllipsis","isShowRightEllipsis"]}
1
+ {"version":3,"sources":["../../src/paginator/usePaginator.ts","../../src/paginator/usePaginator.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './usePaginator.props';\n\nconst range = (start: number, end: number) => {\n const length = Math.max(0, end - start + 1);\n\n return Array.from({ length }, (_, i) => ({ type: 'page' as const, value: start + i }));\n};\n\nconst ELLIPSIS = { type: 'ellipsis' as const };\n\nconst primereact = {\n config: {\n locale: {\n aria: {\n pageLabel: 'Page {page}',\n firstPageLabel: 'First Page',\n lastPageLabel: 'Last Page',\n nextPageLabel: 'Next Page',\n prevPageLabel: 'Previous Page'\n }\n }\n }\n};\n\nexport const usePaginator = withHeadless({\n name: 'usePaginator',\n defaultProps,\n setup({ props }) {\n const getAriaLabel = (labelType: string) => {\n return primereact?.config?.locale?.aria ? (primereact.config.locale.aria as Record<string, string>)[labelType] : undefined;\n };\n\n const { edges = 1, siblings = 1, showEllipsis = true } = props;\n const [activePage, setActivePage] = React.useState(props.defaultPage ?? props.page ?? 1);\n\n const totalPages = Math.max(1, Math.ceil((props.total ?? 0) / (props.itemsPerPage ?? 1)));\n const canPrev = activePage > 1;\n const canNext = activePage < totalPages;\n\n const handlePage = (page?: number) => {\n if (props.disabled || page === undefined) return;\n\n const newPageValue = page < 1 ? 1 : page > totalPages ? totalPages : page;\n\n if (newPageValue !== activePage) {\n props.onPageChange?.({\n originalEvent: {} as React.SyntheticEvent,\n value: newPageValue\n });\n }\n\n setActivePage(newPageValue);\n };\n\n const next = () => handlePage(activePage + 1);\n const prev = () => handlePage(activePage - 1);\n const first = () => handlePage(1);\n const last = () => handlePage(totalPages);\n\n const pages = React.useMemo(() => {\n const leftSiblingIndex = Math.max(activePage - siblings, 1);\n const rightSiblingIndex = Math.min(activePage + siblings, totalPages);\n\n if (showEllipsis) {\n const windowSize = 2 * edges + 2 * siblings + (showEllipsis ? 3 : 1);\n\n if (windowSize >= totalPages) {\n return range(1, totalPages);\n }\n\n const isShowLeftEllipsis = leftSiblingIndex > edges + 2;\n const isShowRightEllipsis = rightSiblingIndex < totalPages - edges - 1;\n\n return [\n ...range(1, edges),\n\n ...(isShowLeftEllipsis ? [ELLIPSIS] : range(edges + 1, siblings * 2 + edges + 2)),\n\n ...(isShowLeftEllipsis && isShowRightEllipsis ? range(leftSiblingIndex, rightSiblingIndex) : []),\n\n ...(isShowRightEllipsis ? [ELLIPSIS] : range(totalPages - edges - 1 - 2 * siblings, totalPages - edges)),\n\n ...range(totalPages - edges + 1, totalPages)\n ];\n } else {\n return [...range(Math.max(Math.min(leftSiblingIndex, rightSiblingIndex - 2 * siblings), 1), Math.min(Math.max(rightSiblingIndex, leftSiblingIndex + 2 * siblings), totalPages))];\n }\n }, [totalPages, edges, siblings, activePage, showEllipsis]);\n\n React.useEffect(() => {\n if (props.page !== undefined) {\n handlePage(props.page);\n }\n }, [props.page]);\n\n // prop getters\n const rootProps = {\n 'data-scope': 'paginator',\n 'data-part': 'root'\n };\n\n const firstProps = {\n 'data-scope': 'paginator',\n 'data-part': 'first',\n onClick: first,\n disabled: !canPrev || props.disabled,\n ...(!canPrev || props.disabled ? { 'data-disabled': '' } : {})\n };\n\n const prevProps = {\n 'data-scope': 'paginator',\n 'data-part': 'prev',\n onClick: prev,\n disabled: !canPrev || props.disabled,\n ...(!canPrev || props.disabled ? { 'data-disabled': '' } : {})\n };\n\n const nextProps = {\n 'data-scope': 'paginator',\n 'data-part': 'next',\n onClick: next,\n disabled: !canNext || props.disabled,\n ...(!canNext || props.disabled ? { 'data-disabled': '' } : {})\n };\n\n const lastProps = {\n 'data-scope': 'paginator',\n 'data-part': 'last',\n onClick: last,\n disabled: !canNext || props.disabled,\n ...(!canNext || props.disabled ? { 'data-disabled': '' } : {})\n };\n\n const pagesProps = {\n 'data-scope': 'paginator' as const,\n 'data-part': 'pages' as const\n };\n\n const getPageProps = (value: number) => {\n const handleClick = () => handlePage(value);\n\n return {\n 'data-scope': 'paginator',\n 'data-part': 'page',\n onClick: handleClick,\n disabled: props.disabled,\n 'aria-current': (activePage === value ? 'page' : undefined) as 'page' | undefined,\n ...(activePage === value ? { 'data-active': '' } : {}),\n ...(props.disabled ? { 'data-disabled': '' } : {})\n };\n };\n\n return {\n state: {\n activePage,\n totalPages,\n canPrev,\n canNext\n },\n pages,\n // prop getters\n rootProps,\n firstProps,\n prevProps,\n nextProps,\n lastProps,\n pagesProps,\n getPageProps,\n // methods\n getAriaLabel,\n prev,\n next,\n first,\n last,\n handlePage\n };\n }\n});\n","import type { UsePaginatorProps } from '@primereact/types/headless/paginator';\n\nexport const defaultProps: UsePaginatorProps = {\n defaultPage: 1,\n page: undefined,\n total: 0,\n itemsPerPage: 10,\n onPageChange: undefined,\n siblings: 1,\n edges: 1,\n disabled: false,\n showEllipsis: true\n};\n"],"mappings":"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","names":["withHeadless","React","defaultProps","range","start","end","length","_","i","ELLIPSIS","primereact","usePaginator","withHeadless","defaultProps","props","_a","_b","_c","_d","getAriaLabel","labelType","edges","siblings","showEllipsis","activePage","setActivePage","totalPages","canPrev","canNext","handlePage","page","newPageValue","next","prev","first","last","pages","leftSiblingIndex","rightSiblingIndex","isShowLeftEllipsis","isShowRightEllipsis","rootProps","firstProps","__spreadValues","prevProps","nextProps","lastProps","value"]}
@@ -1,4 +1,4 @@
1
- export declare const usePaginator: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/paginator").usePaginatorProps, unknown, {
1
+ export declare const usePaginator: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/paginator").UsePaginatorProps, unknown, {
2
2
  state: {
3
3
  activePage: number;
4
4
  totalPages: number;
@@ -11,6 +11,52 @@ export declare const usePaginator: (inProps?: unknown) => import("@primereact/ty
11
11
  type: "page";
12
12
  value: number;
13
13
  })[];
14
+ rootProps: {
15
+ 'data-scope': string;
16
+ 'data-part': string;
17
+ };
18
+ firstProps: {
19
+ 'data-disabled'?: string | undefined;
20
+ 'data-scope': string;
21
+ 'data-part': string;
22
+ onClick: () => void;
23
+ disabled: boolean | undefined;
24
+ };
25
+ prevProps: {
26
+ 'data-disabled'?: string | undefined;
27
+ 'data-scope': string;
28
+ 'data-part': string;
29
+ onClick: () => void;
30
+ disabled: boolean | undefined;
31
+ };
32
+ nextProps: {
33
+ 'data-disabled'?: string | undefined;
34
+ 'data-scope': string;
35
+ 'data-part': string;
36
+ onClick: () => void;
37
+ disabled: boolean | undefined;
38
+ };
39
+ lastProps: {
40
+ 'data-disabled'?: string | undefined;
41
+ 'data-scope': string;
42
+ 'data-part': string;
43
+ onClick: () => void;
44
+ disabled: boolean | undefined;
45
+ };
46
+ pagesProps: {
47
+ 'data-scope': "paginator";
48
+ 'data-part': "pages";
49
+ };
50
+ getPageProps: (value: number) => {
51
+ 'data-disabled'?: string | undefined;
52
+ 'data-active'?: string | undefined;
53
+ 'data-scope': string;
54
+ 'data-part': string;
55
+ onClick: () => void;
56
+ disabled: boolean | undefined;
57
+ 'aria-current': "page" | undefined;
58
+ };
59
+ getAriaLabel: (labelType: string) => string | undefined;
14
60
  prev: () => void;
15
61
  next: () => void;
16
62
  first: () => void;
@@ -1,2 +1,2 @@
1
- import type { usePaginatorProps } from '@primereact/types/shared/paginator';
2
- export declare const defaultProps: usePaginatorProps;
1
+ import type { UsePaginatorProps } from '@primereact/types/headless/paginator';
2
+ export declare const defaultProps: UsePaginatorProps;
package/panel/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './usePanel';
2
2
  export * from './usePanel.props';
3
+ export type * from '@primereact/types/headless/panel';
package/panel/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{withHeadless as m}from"@primereact/core/headless";import*as l from"react";var f={collapsed:void 0,toggleable:void 0,onCollapse:void 0,onExpand:void 0,onToggle:void 0};var E=m({name:"usePanel",defaultProps:f,setup({props:e}){let[u,o]=l.useState(e.collapsed),a=e.toggleable?e.onToggle?e.collapsed:u:!1,g={collapsed:a},s=l.useRef(null),c=t=>{var n;e.toggleable&&(a?d(t):i(t),(n=e.onToggle)==null||n.call(e,{originalEvent:t,value:!a}))},d=t=>{var n;e.onToggle||o(!1),(n=e.onExpand)==null||n.call(e,t)},i=t=>{var n;e.onToggle||o(!0),(n=e.onCollapse)==null||n.call(e,t)};return{state:g,contentRef:s,toggle:c,expand:d,collapse:i,onButtonClick:t=>{c(t),t.preventDefault()}}}});export{f as defaultProps,E as usePanel};
1
+ var u=Object.defineProperty,g=Object.defineProperties;var x=Object.getOwnPropertyDescriptors;var s=Object.getOwnPropertySymbols;var y=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable;var n=(o,t,r)=>t in o?u(o,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[t]=r,e=(o,t)=>{for(var r in t||(t={}))y.call(t,r)&&n(o,r,t[r]);if(s)for(var r of s(t))C.call(t,r)&&n(o,r,t[r]);return o},a=(o,t)=>g(o,x(t));import{withHeadless as h}from"@primereact/core/headless";import{useCollapsible as l}from"@primereact/headless/collapsible";import*as d from"@primereact/headless/collapsible";var m=e({},d.defaultProps);var R=h({name:"usePanel",defaultProps:m,setup({props:o}){let t=l(o),r=p=>{t==null||t.toggle(p),p==null||p.preventDefault()},P={"data-scope":"panel","data-part":"indicator",[t!=null&&t.state.open?"data-open":"data-closed"]:""},c=a(e({},t==null?void 0:t.triggerProps),{"data-scope":"panel","data-part":"trigger",onClick:r}),i=a(e({},t==null?void 0:t.contentProps),{"data-scope":"panel","data-part":"content"}),f=a(e({},t==null?void 0:t.rootProps),{"data-scope":"panel","data-part":"root"});return a(e({},t),{rootProps:f,contentProps:i,triggerProps:c,indicatorProps:P})}});export{m as defaultProps,R as usePanel};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/panel/usePanel.ts","../../src/panel/usePanel.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './usePanel.props';\n\nexport const usePanel = withHeadless({\n name: 'usePanel',\n defaultProps,\n setup({ props }) {\n const [collapsedState, setCollapsedState] = React.useState<boolean | undefined>(props.collapsed);\n const collapsed = props.toggleable ? (props.onToggle ? props.collapsed : collapsedState) : false;\n const state = {\n collapsed\n };\n\n // element refs\n const contentRef = React.useRef(null);\n\n // methods\n const toggle = (event: React.SyntheticEvent) => {\n if (!props.toggleable) {\n return;\n }\n\n if (collapsed) expand(event);\n else collapse(event);\n\n props.onToggle?.({\n originalEvent: event,\n value: !collapsed\n });\n };\n\n const expand = (event: React.SyntheticEvent) => {\n if (!props.onToggle) {\n setCollapsedState(false);\n }\n\n props.onExpand?.(event);\n };\n\n const collapse = (event: React.SyntheticEvent) => {\n if (!props.onToggle) {\n setCollapsedState(true);\n }\n\n props.onCollapse?.(event);\n };\n\n const onButtonClick = (event: React.SyntheticEvent) => {\n toggle(event);\n event.preventDefault();\n };\n\n return {\n state,\n // element refs\n contentRef,\n // methods\n toggle,\n expand,\n collapse,\n onButtonClick\n };\n }\n});\n","import type { usePanelProps } from '@primereact/types/shared/panel';\n\nexport const defaultProps: usePanelProps = {\n collapsed: undefined,\n toggleable: undefined,\n // events\n onCollapse: undefined,\n onExpand: undefined,\n onToggle: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,EAA8B,CACvC,UAAW,OACX,WAAY,OAEZ,WAAY,OACZ,SAAU,OACV,SAAU,MACd,EDLO,IAAMC,EAAWC,EAAa,CACjC,KAAM,WACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CACb,GAAM,CAACC,EAAgBC,CAAiB,EAAU,WAA8BF,EAAM,SAAS,EACzFG,EAAYH,EAAM,WAAcA,EAAM,SAAWA,EAAM,UAAYC,EAAkB,GACrFG,EAAQ,CACV,UAAAD,CACJ,EAGME,EAAmB,SAAO,IAAI,EAG9BC,EAAUC,GAAgC,CAlBxD,IAAAC,EAmBiBR,EAAM,aAIPG,EAAWM,EAAOF,CAAK,EACtBG,EAASH,CAAK,GAEnBC,EAAAR,EAAM,WAAN,MAAAQ,EAAA,KAAAR,EAAiB,CACb,cAAeO,EACf,MAAO,CAACJ,CACZ,GACJ,EAEMM,EAAUF,GAAgC,CAhCxD,IAAAC,EAiCiBR,EAAM,UACPE,EAAkB,EAAK,GAG3BM,EAAAR,EAAM,WAAN,MAAAQ,EAAA,KAAAR,EAAiBO,EACrB,EAEMG,EAAYH,GAAgC,CAxC1D,IAAAC,EAyCiBR,EAAM,UACPE,EAAkB,EAAI,GAG1BM,EAAAR,EAAM,aAAN,MAAAQ,EAAA,KAAAR,EAAmBO,EACvB,EAOA,MAAO,CACH,MAAAH,EAEA,WAAAC,EAEA,OAAAC,EACA,OAAAG,EACA,SAAAC,EACA,cAbmBH,GAAgC,CACnDD,EAAOC,CAAK,EACZA,EAAM,eAAe,CACzB,CAWA,CACJ,CACJ,CAAC","names":["withHeadless","React","defaultProps","usePanel","withHeadless","defaultProps","props","collapsedState","setCollapsedState","collapsed","state","contentRef","toggle","event","_a","expand","collapse"]}
1
+ {"version":3,"sources":["../../src/panel/usePanel.ts","../../src/panel/usePanel.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useCollapsible } from '@primereact/headless/collapsible';\nimport { defaultProps } from './usePanel.props';\n\nexport const usePanel = withHeadless({\n name: 'usePanel',\n defaultProps,\n setup({ props }) {\n const collapsible = useCollapsible(props);\n\n // methods\n const onTriggerClick = (event?: React.SyntheticEvent) => {\n collapsible?.toggle(event);\n event?.preventDefault();\n };\n\n // prop getters\n const indicatorProps = {\n 'data-scope': 'panel',\n 'data-part': 'indicator',\n [collapsible?.state.open ? 'data-open' : 'data-closed']: ''\n };\n\n const triggerProps = {\n ...collapsible?.triggerProps,\n 'data-scope': 'panel',\n 'data-part': 'trigger',\n onClick: onTriggerClick\n };\n\n const contentProps = {\n ...collapsible?.contentProps,\n 'data-scope': 'panel',\n 'data-part': 'content'\n };\n\n const rootProps = {\n ...collapsible?.rootProps,\n 'data-scope': 'panel',\n 'data-part': 'root'\n };\n\n return {\n ...collapsible,\n // prop getters\n rootProps,\n contentProps,\n triggerProps,\n indicatorProps\n };\n }\n});\n","import * as useCollapsible from '@primereact/headless/collapsible';\nimport type { UsePanelProps } from '@primereact/types/headless/panel';\n\nexport const defaultProps: UsePanelProps = {\n ...useCollapsible.defaultProps\n};\n"],"mappings":"6aAAA,OAAS,gBAAAA,MAAoB,4BAC7B,OAAS,kBAAAC,MAAsB,mCCD/B,UAAYC,MAAoB,mCAGzB,IAAMC,EAA8BC,EAAA,GACrB,gBDAf,IAAMC,EAAWC,EAAa,CACjC,KAAM,WACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CACb,IAAMC,EAAcC,EAAeF,CAAK,EAGlCG,EAAkBC,GAAiC,CACrDH,GAAA,MAAAA,EAAa,OAAOG,GACpBA,GAAA,MAAAA,EAAO,gBACX,EAGMC,EAAiB,CACnB,aAAc,QACd,YAAa,YACb,CAACJ,GAAA,MAAAA,EAAa,MAAM,KAAO,YAAc,aAAa,EAAG,EAC7D,EAEMK,EAAeC,EAAAC,EAAA,GACdP,GAAA,YAAAA,EAAa,cADC,CAEjB,aAAc,QACd,YAAa,UACb,QAASE,CACb,GAEMM,EAAeF,EAAAC,EAAA,GACdP,GAAA,YAAAA,EAAa,cADC,CAEjB,aAAc,QACd,YAAa,SACjB,GAEMS,EAAYH,EAAAC,EAAA,GACXP,GAAA,YAAAA,EAAa,WADF,CAEd,aAAc,QACd,YAAa,MACjB,GAEA,OAAOM,EAAAC,EAAA,GACAP,GADA,CAGH,UAAAS,EACA,aAAAD,EACA,aAAAH,EACA,eAAAD,CACJ,EACJ,CACJ,CAAC","names":["withHeadless","useCollapsible","useCollapsible","defaultProps","__spreadValues","usePanel","withHeadless","defaultProps","props","collapsible","useCollapsible","onTriggerClick","event","indicatorProps","triggerProps","__spreadProps","__spreadValues","contentProps","rootProps"]}
@@ -1,11 +1,79 @@
1
- import * as React from 'react';
2
- export declare const usePanel: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/panel").usePanelProps, unknown, {
1
+ export declare const usePanel: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/panel").UsePanelProps, unknown, {
2
+ rootProps: {
3
+ 'data-scope': string;
4
+ 'data-part': string;
5
+ 'data-disabled'?: string | undefined;
6
+ };
7
+ contentProps: {
8
+ 'data-scope': string;
9
+ 'data-part': string;
10
+ id: string | undefined;
11
+ role: "region";
12
+ 'aria-hidden': boolean;
13
+ };
14
+ triggerProps: {
15
+ 'data-scope': string;
16
+ 'data-part': string;
17
+ onClick: (event?: React.SyntheticEvent) => void;
18
+ type: "button";
19
+ tabIndex: number | undefined;
20
+ 'aria-expanded': boolean | undefined;
21
+ 'aria-disabled': true | undefined;
22
+ 'aria-controls': string | undefined;
23
+ };
24
+ indicatorProps: {
25
+ [x: string]: string;
26
+ 'data-scope': string;
27
+ 'data-part': string;
28
+ };
29
+ ref: import("react").Ref<unknown>;
30
+ elementRef: import("react").RefObject<HTMLElement | undefined>;
31
+ id?: string | undefined;
32
+ name?: string | undefined;
33
+ type?: import("@primereact/types/core").Types | undefined;
34
+ scope?: string | undefined;
35
+ part?: string | undefined;
36
+ inProps?: import("@primereact/types").SafeRecord<import("@primereact/headless/collapsible").UseCollapsibleProps> | undefined;
37
+ $attrSelector?: string | undefined;
38
+ $primereact: import("@primereact/types/core").Contexts;
39
+ props: import("@primereact/types").SafeRecord<import("@primereact/headless/collapsible").UseCollapsibleProps>;
40
+ attrs: Omit<import("@primereact/types").SafeRecord<import("@primereact/headless/collapsible").UseCollapsibleProps>, keyof import("@primereact/headless/collapsible").UseCollapsibleProps> & Record<PropertyKey, unknown>;
3
41
  state: {
4
- collapsed: boolean | undefined;
42
+ open: boolean | undefined;
43
+ };
44
+ $computedSetup: {
45
+ state: {
46
+ open: boolean | undefined;
47
+ };
48
+ rootProps: {
49
+ 'data-disabled'?: string | undefined;
50
+ 'data-scope': string;
51
+ 'data-part': string;
52
+ };
53
+ triggerProps: {
54
+ [x: string]: string | number | boolean | ((event?: React.SyntheticEvent) => void) | undefined;
55
+ type: "button";
56
+ tabIndex: number | undefined;
57
+ 'aria-expanded': boolean | undefined;
58
+ 'aria-disabled': true | undefined;
59
+ 'aria-controls': string | undefined;
60
+ 'data-scope': string;
61
+ 'data-part': string;
62
+ onClick: (event?: React.SyntheticEvent) => void;
63
+ };
64
+ contentProps: {
65
+ [x: string]: string | boolean | undefined;
66
+ id: string | undefined;
67
+ role: "region";
68
+ 'aria-hidden': boolean;
69
+ 'data-scope': string;
70
+ 'data-part': string;
71
+ };
72
+ open: (event?: React.SyntheticEvent) => void;
73
+ close: (event?: React.SyntheticEvent) => void;
74
+ toggle: (event?: React.SyntheticEvent) => void;
5
75
  };
6
- contentRef: React.RefObject<null>;
7
- toggle: (event: React.SyntheticEvent) => void;
8
- expand: (event: React.SyntheticEvent) => void;
9
- collapse: (event: React.SyntheticEvent) => void;
10
- onButtonClick: (event: React.SyntheticEvent) => void;
76
+ open: (event?: React.SyntheticEvent) => void;
77
+ close: (event?: React.SyntheticEvent) => void;
78
+ toggle: (event?: React.SyntheticEvent) => void;
11
79
  }>;
@@ -1,2 +1,2 @@
1
- import type { usePanelProps } from '@primereact/types/shared/panel';
2
- export declare const defaultProps: usePanelProps;
1
+ import type { UsePanelProps } from '@primereact/types/headless/panel';
2
+ export declare const defaultProps: UsePanelProps;
@@ -0,0 +1,3 @@
1
+ export * from './usePickList';
2
+ export * from './usePickList.props';
3
+ export type * from '@primereact/types/headless/picklist';
@@ -0,0 +1,2 @@
1
+ var we=Object.defineProperty;var Ie=Object.getOwnPropertySymbols;var ke=Object.prototype.hasOwnProperty,Ee=Object.prototype.propertyIsEnumerable;var ye=(h,e,o)=>e in h?we(h,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):h[e]=o,E=(h,e)=>{for(var o in e||(e={}))ke.call(e,o)&&ye(h,o,e[o]);if(Ie)for(var o of Ie(e))Ee.call(e,o)&&ye(h,o,e[o]);return h};import{arrayMove as De}from"@primereact/core/dnd";import{withHeadless as Ae}from"@primereact/core/headless";import*as H from"react";import{withHeadless as Te}from"@primereact/core/headless";import*as X from"react";var ve={onSort:void 0,onTransfer:void 0};var ge={dragging:!1,activeContainerId:null,currentContainerId:null,fromIndex:-1,projectedIndex:-1};function Le(h){let e=new Map,o=E({},ge),b=new Set,u=()=>{for(let w of b)w()};return{uid:h,containers:e,getState(){return o},subscribe(w){return b.add(w),()=>{b.delete(w)}},setState(w){o=E(E({},o),w),u()},onSort:void 0,onTransfer:void 0}}var Me=()=>()=>{},Re=Te({name:"useDnd",defaultProps:ve,setup({props:h}){let e=X.useId(),o=X.useRef(null);o.current||(o.current=Le(e));let b=o.current;b.onSort=h.onSort,b.onTransfer=h.onTransfer;let u=X.useCallback($=>b.subscribe($),[b]),w=X.useCallback(()=>b.getState(),[b]),v={dragging:X.useSyncExternalStore(b?u:Me,b?w:()=>ge,()=>ge).dragging},g=E({"data-scope":"dnd","data-part":"root"},v.dragging?{"data-dragging":""}:void 0);return{state:v,dnd:b,rootProps:g}}});import{withHeadless as Pe}from"@primereact/core/headless";import*as T from"react";import{flushSync as He}from"react-dom";var Ce={dnd:void 0,id:void 0,items:void 0,disabled:!1,placeholder:"empty",onSort:void 0};var J=h=>Array.from(h.querySelectorAll(":scope > [data-sortable-item]")),pe=Pe({name:"useSortableContainer",defaultProps:Ce,setup({props:h}){var W,de,ue;let e=h.dnd,o=h.id,b=(W=h.items)!=null?W:[],u=(de=h.disabled)!=null?de:!1,w=(ue=h.placeholder)!=null?ue:"clone",C=h.onSort,v=e?`${e.uid}_${o}`:String(o),g=T.useRef(null);T.useEffect(()=>{if(!(!e||o==null))return e.containers.set(o,{listRef:g,items:b}),()=>{e.containers.delete(o)}},[e,o]);let $=T.useRef(b);$.current=b,T.useEffect(()=>{if(e&&o!=null){let S=e.containers.get(o);S&&(S.items=b)}},[e,o,b]);let[Y,z]=T.useState(!1),K=T.useRef(0),L=T.useRef(null),ee=(S,d,i,k,x,q,_)=>{let B=q+_,n=J(S);for(let s=0;s<n.length;s++){let r=s<d?s:s+1,c=0;d<i?r>d&&r<=i&&(c=-B):d>i&&r>=i&&r<d&&(c=B),n[s].style.transform=c?`translateY(${c}px)`:""}x.style.transform=i!==d?`translateY(${(i-d)*B}px)`:""},te=S=>{if(S)for(let d of J(S))d.style.transform=""},ne=S=>{let d=J(S);return d.length>1?d[1].getBoundingClientRect().top-d[0].getBoundingClientRect().bottom:4},se=(S,d)=>{let i=S.cloneNode(!0);return i.setAttribute("inert","true"),i.removeAttribute("data-sortable-item"),i.removeAttribute("data-sortable-container"),i.style.position="fixed",i.style.zIndex="9999",i.style.pointerEvents="none",i.style.width=`${d.width}px`,i.style.height=`${d.height}px`,i.style.left=`${d.left}px`,i.style.top=`${d.top}px`,i.style.margin="0",i.style.transform="translate(0px, 0px)",i.style.transition="none",i.style.opacity="0.9",i.style.boxShadow="0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)",document.body.appendChild(i),i},ie=()=>{if(e){for(let[S,d]of e.containers)if(!d.listRef.current||!d.listRef.current.isConnected){let i=`${e.uid}_${S}`,k=document.querySelector(`[data-sortable-list="${i}"]`);k&&(d.listRef.current=k)}}},ae=S=>u?{"data-sortable-item":"","data-sortable-container":String(o)}:{"data-sortable-item":"","data-sortable-container":String(o),onPointerDown:d=>{if(d.button!==0||u)return;let i=d.currentTarget,k=i.parentElement;if(k&&(g.current=k,e&&o!=null)){let t=e.containers.get(o);t&&(t.listRef.current=k)}ie();let x=i.getBoundingClientRect(),q=d.clientX,_=d.clientY,B=!1,n=o,s=e?e.containers.size>1:!1,r=new Map;if(e)for(let[t,R]of e.containers)r.set(t,[...R.items]);else r.set(o,[...$.current]);let c=q,p=_,f=()=>{var Q,G,D,N,re,he,be;let t=L.current;if(!t)return;let R=t.originContainerId;if(s&&e)for(let[y,O]of e.containers){if(!O.listRef.current||!O.listRef.current.isConnected){let Se=`${e.uid}_${y}`,fe=document.querySelector(`[data-sortable-list="${Se}"]`);fe&&(O.listRef.current=fe)}let A=(Q=O.listRef.current)==null?void 0:Q.getBoundingClientRect();if(A&&c>=A.left&&c<=A.right&&p>=A.top&&p<=A.bottom){R=y;break}}let I=s&&e?(G=e.containers.get(R))==null?void 0:G.listRef.current:g.current;if(!I)return;let M=s&&e?(D=e.containers.get(t.originContainerId))==null?void 0:D.listRef.current:g.current,U=((N=M==null?void 0:M.scrollTop)!=null?N:0)-t.startScrollTop,Z=p-t.startY,j=t.itemHeight+t.gap,P=(re=t.itemsAtStart.get(R))!=null?re:[],m;if(R===t.originContainerId)m=t.fromIndex+Math.round((Z+U)/j),m=Math.max(0,Math.min(P.length-1,m));else{let y=I.getBoundingClientRect(),O=parseFloat(getComputedStyle(I).paddingTop)||0,A=p-y.top-O;m=Math.round(A/j),m=Math.max(0,Math.min(P.length,m))}let l=R!==t.currentContainerId;if(l||m!==t.projectedIndex){if(l&&e){let y=(he=e.containers.get(t.currentContainerId))==null?void 0:he.listRef.current;y&&te(y)}if(t.currentContainerId=R,t.projectedIndex=m,e&&e.setState({currentContainerId:R,projectedIndex:m}),R===t.originContainerId)l&&((be=t.node.parentElement)==null||be.insertBefore(t.clone,t.node)),t.clone.style.height=`${t.itemHeight}px`,t.clone.style.overflow="",ee(I,t.fromIndex,m,t.node,t.clone,t.itemHeight,t.gap);else{let y=J(I),O=y.length>=2?y[1].getBoundingClientRect().top-y[0].getBoundingClientRect().top:t.itemHeight+t.gap;l&&(document.body.appendChild(t.clone),t.clone.style.position="fixed",t.clone.style.height=`${t.itemHeight}px`,t.clone.style.overflow="hidden",t.clone.style.transform="",t.clone.style.margin="0",t.clone.style.zIndex="9998",t.clone.style.pointerEvents="none",t.clone.style.boxSizing="border-box",I.style.position="");let A=I.getBoundingClientRect(),Se=I.scrollTop,fe=parseFloat(getComputedStyle(I).paddingTop)||0,me;if(y.length===0)me=A.top+fe;else if(m<y.length)me=y[m].getBoundingClientRect().top;else{let V=y[y.length-1];me=V.getBoundingClientRect().bottom+(O-V.getBoundingClientRect().height)}t.clone.style.top=`${me}px`,t.clone.style.left=`${A.left}px`,t.clone.style.width=`${A.width}px`,t.clone.style.transform="";for(let V=0;V<y.length;V++)y[V].style.transform=V>=m?`translateY(${O}px)`:""}}return I},a=t=>{var U,Z,j;let R=Math.sqrt((t.clientX-q)**2+(t.clientY-_)**2);if(!B&&R<5)return;if(!B){B=!0;let P=g.current,m=P?ne(P):4,l;w==="empty"?l=document.createElement(i.tagName):l=i.cloneNode(!0),l.setAttribute("inert","true"),l.setAttribute("data-sortable-placeholder",""),l.removeAttribute("data-sortable-item"),l.removeAttribute("data-sortable-container"),l.style.width=`${x.width}px`,l.style.height=`${x.height}px`,l.style.flexShrink="0",l.style.transition="transform 200ms ease, opacity 150ms ease",l.style.opacity="0",(U=i.parentElement)==null||U.insertBefore(l,i),requestAnimationFrame(()=>{l.style.opacity="1"}),(Z=g.current)==null||Z.blur();let Q=se(i,x);i.setAttribute("data-dragging",""),i.removeAttribute("data-sortable-item"),i.style.position="absolute",i.style.visibility="hidden",i.style.pointerEvents="none";let G=i.parentElement;if(G)for(let D of J(G))D!==i&&(D.style.pointerEvents="none",D.style.transition="transform 200ms ease");if(e){for(let[D,N]of e.containers)if(D!==n&&N.listRef.current)for(let re of J(N.listRef.current))re.style.pointerEvents="none",re.style.transition="transform 200ms ease"}L.current={startX:q,startY:_,startScrollTop:(j=P==null?void 0:P.scrollTop)!=null?j:0,node:i,ghost:Q,clone:l,itemHeight:x.height,gap:m,fromIndex:S,projectedIndex:S,originContainerId:n,currentContainerId:n,itemsAtStart:r},z(!0),e&&e.setState({dragging:!0,activeContainerId:n,currentContainerId:n,fromIndex:S,projectedIndex:S})}let I=L.current;if(!I)return;c=t.clientX,p=t.clientY,I.ghost.style.transform=`translate(${t.clientX-I.startX}px, ${t.clientY-I.startY}px)`;let M=f();if(cancelAnimationFrame(K.current),M){let l=()=>{let Q=M.getBoundingClientRect(),G=p-Q.top,D=Q.bottom-p,N=!1;G>0&&G<40?(M.scrollTop-=8,N=!0):D>0&&D<40&&(M.scrollTop+=8,N=!0),N&&(L.current&&(L.current.projectedIndex=-1),f(),K.current=requestAnimationFrame(l))};l()}},F=()=>{document.removeEventListener("pointermove",a),document.removeEventListener("pointerup",F),cancelAnimationFrame(K.current);let t=L.current;if(!t)return;let R=t.currentContainerId!==t.originContainerId,I=!1,M=()=>{var P;if(I)return;I=!0,t.ghost.removeEventListener("transitionend",M),cancelAnimationFrame(K.current),t.ghost.remove(),t.clone.remove();let U=[];if(e&&e.containers.size>1)for(let[,m]of e.containers)m.listRef.current&&U.push(m.listRef.current);else g.current&&U.push(g.current);t.node.style.position="",t.node.removeAttribute("data-dragging"),t.node.setAttribute("data-sortable-item","");for(let m of U)for(let l of J(m))l.style.transition="none",l.style.transform="",l.style.pointerEvents="";He(()=>{var m;R?(m=e==null?void 0:e.onTransfer)==null||m.call(e,{from:{containerId:t.originContainerId,index:t.fromIndex},to:{containerId:t.currentContainerId,index:t.projectedIndex}}):t.fromIndex!==t.projectedIndex&&(e!=null&&e.onSort?e.onSort({containerId:t.originContainerId,fromIndex:t.fromIndex,toIndex:t.projectedIndex}):C&&C({containerId:t.originContainerId,fromIndex:t.fromIndex,toIndex:t.projectedIndex}))});for(let m of U){m.offsetHeight;for(let l of J(m))l.style.transition="",l.style.visibility="",l.style.pointerEvents=""}L.current=null,z(!1),e&&e.setState({dragging:!1,activeContainerId:null,currentContainerId:null,fromIndex:-1,projectedIndex:-1});let Z=R?t.currentContainerId:t.originContainerId,j=s&&e?(P=e.containers.get(Z))==null?void 0:P.listRef.current:g.current;j&&(j.dataset.dndFocusIndex=String(t.projectedIndex),j.focus(),delete j.dataset.dndFocusIndex)};t.ghost.style.transition="opacity 150ms ease-out",t.ghost.style.opacity="0",t.ghost.addEventListener("transitionend",M,{once:!0}),setTimeout(()=>{L.current===t&&M()},200)};document.addEventListener("pointermove",a),document.addEventListener("pointerup",F)}},ce={dragging:Y},le=T.useMemo(()=>E(E({"data-scope":"dnd","data-part":"sortable-container"},Y?{"data-active":""}:void 0),u?{"data-disabled":""}:void 0),[Y,u]),oe=T.useMemo(()=>({"data-sortable-list":v}),[v]);return{state:ce,getItemDndProps:ae,listProps:oe,rootProps:le}}});var xe={source:void 0,target:void 0,selection:void 0,disabled:!1,draggable:!1,placeholder:"empty",onChange:void 0,onSelectionChange:void 0};var Ze=Ae({name:"usePickList",defaultProps:xe,setup({id:h,props:e}){var q,_,B;let[o,b]=H.useState((q=e.source)!=null?q:[]),[u,w]=H.useState((_=e.target)!=null?_:[]);H.useEffect(()=>{e.source!==void 0&&b(e.source)},[e.source]),H.useEffect(()=>{e.target!==void 0&&w(e.target)},[e.target]);let C=(B=e.selection)!=null?B:[],v=H.useCallback(n=>C.indexOf(n)!==-1,[C]),g=(n,s,r)=>{var c;b(n),w(s),(c=e.onChange)==null||c.call(e,{originalEvent:r,source:n,target:s})},$=H.useRef(g);$.current=g;let Y=H.useRef(o),z=H.useRef(u);Y.current=o,z.current=u;let K=n=>{let s=new Set;for(let r of C){let c=n.indexOf(r);c!==-1&&s.add(c)}return s},L=(n,s)=>{if(C.length===0)return;let r=n==="source"?[...o]:[...u],c=K(r),p=[...c].sort((a,F)=>a-F),f=!1;for(let a of p)a>0&&!c.has(a-1)&&([r[a],r[a-1]]=[r[a-1],r[a]],c.delete(a),c.add(a-1),f=!0);f&&(n==="source"?g(r,u,s):g(o,r,s))},ee=(n,s)=>{if(C.length===0)return;let r=n==="source"?[...o]:[...u],c=K(r),p=[...c].sort((a,F)=>F-a),f=!1;for(let a of p)a<r.length-1&&!c.has(a+1)&&([r[a],r[a+1]]=[r[a+1],r[a]],c.delete(a),c.add(a+1),f=!0);f&&(n==="source"?g(r,u,s):g(o,r,s))},te=(n,s)=>{if(C.length===0)return;let r=n==="source"?o:u,c=r.filter(a=>v(a)),p=r.filter(a=>!v(a)),f=[...c,...p];n==="source"?g(f,u,s):g(o,f,s)},ne=(n,s)=>{if(C.length===0)return;let r=n==="source"?o:u,c=r.filter(a=>v(a)),f=[...r.filter(a=>!v(a)),...c];n==="source"?g(f,u,s):g(o,f,s)},se=n=>{var f;if(C.length===0)return;let s=o.filter(a=>v(a));if(s.length===0)return;let r=o.filter(a=>!v(a)),c=[...u,...s],p=C.filter(a=>!s.includes(a));g(r,c,n),(f=e.onSelectionChange)==null||f.call(e,{originalEvent:n,value:p})},ie=n=>{var f;if(C.length===0)return;let s=u.filter(a=>v(a));if(s.length===0)return;let r=u.filter(a=>!v(a)),c=[...o,...s],p=C.filter(a=>!s.includes(a));g(c,r,n),(f=e.onSelectionChange)==null||f.call(e,{originalEvent:n,value:p})},ae=n=>{var r;let s=[...u,...o];g([],s,n),(r=e.onSelectionChange)==null||r.call(e,{originalEvent:n,value:[]})},ce=n=>{var r;let s=[...o,...u];g(s,[],n),(r=e.onSelectionChange)==null||r.call(e,{originalEvent:n,value:[]})},{dnd:le}=Re({onSort:({containerId:n,fromIndex:s,toIndex:r})=>{let c=n,p=c==="source"?Y.current:z.current,f=De(p,s,r);c==="source"?$.current(f,z.current):$.current(Y.current,f)},onTransfer:({from:n,to:s})=>{let r=n.containerId,c=r==="source"?Y.current:z.current,p=s.containerId==="source"?Y.current:z.current,f=c[n.index],a=c.filter((t,R)=>R!==n.index),F=[...p];F.splice(s.index,0,f),r==="source"?$.current(a,F):$.current(F,a)}}),oe=pe({dnd:le,id:"source",items:o,disabled:e.disabled||!e.draggable,placeholder:e.placeholder}),W=pe({dnd:le,id:"target",items:u,disabled:e.disabled||!e.draggable,placeholder:e.placeholder}),de=oe.state.dragging||W.state.dragging,ue=(n,s,r)=>{let c=r==="source"?oe:W;return E(E({"data-scope":"picklist","data-part":"option"},v(n)?{"data-selected":""}:{}),c.getItemDndProps(s))},S=o.filter(n=>v(n)),d=u.filter(n=>v(n)),i=S.length>0,k=d.length>0,x=(n,s,r,c,p)=>({"data-scope":"picklist","data-part":`${n}-${s}`,type:"button",disabled:e.disabled||!p,"aria-label":r,onClick:f=>c(n,f)});return{state:{source:o,target:u,selection:C,dragging:de},getOptionProps:ue,moveToTarget:se,moveToSource:ie,moveAllToTarget:ae,moveAllToSource:ce,reorderUp:L,reorderDown:ee,reorderTop:te,reorderBottom:ne,rootProps:{id:h,"data-scope":"picklist","data-part":"root"},sourceListProps:E({"data-scope":"picklist","data-part":"source-list"},oe.listProps),targetListProps:E({"data-scope":"picklist","data-part":"target-list"},W.listProps),sourceControlsProps:{"data-scope":"picklist","data-part":"source-controls"},targetControlsProps:{"data-scope":"picklist","data-part":"target-controls"},moveToTargetProps:{"data-scope":"picklist","data-part":"move-to-target",type:"button",disabled:e.disabled||!i,"aria-label":"Move to Target",onClick:n=>se(n)},moveAllToTargetProps:{"data-scope":"picklist","data-part":"move-all-to-target",type:"button",disabled:e.disabled||o.length===0,"aria-label":"Move All to Target",onClick:n=>ae(n)},moveToSourceProps:{"data-scope":"picklist","data-part":"move-to-source",type:"button",disabled:e.disabled||!k,"aria-label":"Move to Source",onClick:n=>ie(n)},moveAllToSourceProps:{"data-scope":"picklist","data-part":"move-all-to-source",type:"button",disabled:e.disabled||u.length===0,"aria-label":"Move All to Source",onClick:n=>ce(n)},sourcePrevProps:x("source","prev","Move Up",L,i),sourceNextProps:x("source","next","Move Down",ee,i),sourceFirstProps:x("source","first","Move Top",te,i),sourceLastProps:x("source","last","Move Bottom",ne,i),targetPrevProps:x("target","prev","Move Up",L,k),targetNextProps:x("target","next","Move Down",ee,k),targetFirstProps:x("target","first","Move Top",te,k),targetLastProps:x("target","last","Move Bottom",ne,k)}}});export{xe as defaultProps,Ze as usePickList};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/picklist/usePickList.ts","../../src/dnd/useDnd.ts","../../src/dnd/useDnd.props.ts","../../src/dnd/useSortableContainer.ts","../../src/dnd/useSortableContainer.props.ts","../../src/picklist/usePickList.props.ts"],"sourcesContent":["import { arrayMove } from '@primereact/core/dnd';\nimport { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { useDnd } from '../dnd/useDnd';\nimport { useSortableContainer } from '../dnd/useSortableContainer';\nimport { defaultProps } from './usePickList.props';\n\ntype ListSide = 'source' | 'target';\n\nexport const usePickList = withHeadless({\n name: 'usePickList',\n defaultProps,\n setup({ id, props }) {\n const [sourceState, setSourceState] = React.useState(props.source ?? []);\n const [targetState, setTargetState] = React.useState(props.target ?? []);\n\n React.useEffect(() => {\n if (props.source !== undefined) setSourceState(props.source);\n }, [props.source]);\n\n React.useEffect(() => {\n if (props.target !== undefined) setTargetState(props.target);\n }, [props.target]);\n\n const selection = props.selection ?? [];\n\n const isItemSelected = React.useCallback((item: unknown): boolean => selection.indexOf(item) !== -1, [selection]);\n\n const updateLists = (newSource: unknown[], newTarget: unknown[], event?: React.SyntheticEvent | Event) => {\n setSourceState(newSource);\n setTargetState(newTarget);\n props.onChange?.({ originalEvent: event, source: newSource, target: newTarget });\n };\n\n const updateListsRef = React.useRef(updateLists);\n\n updateListsRef.current = updateLists;\n\n const sourceRef = React.useRef(sourceState);\n const targetRef = React.useRef(targetState);\n\n sourceRef.current = sourceState;\n targetRef.current = targetState;\n\n const getSelectedIndices = (list: unknown[]): Set<number> => {\n const indices = new Set<number>();\n\n for (const sel of selection) {\n const idx = list.indexOf(sel);\n\n if (idx !== -1) indices.add(idx);\n }\n\n return indices;\n };\n\n const reorderUp = (side: ListSide, event?: React.SyntheticEvent) => {\n if (selection.length === 0) return;\n\n const items = side === 'source' ? [...(sourceState as unknown[])] : [...(targetState as unknown[])];\n const selectedIndices = getSelectedIndices(items);\n const sorted = [...selectedIndices].sort((a, b) => a - b);\n let moved = false;\n\n for (const idx of sorted) {\n if (idx > 0 && !selectedIndices.has(idx - 1)) {\n [items[idx], items[idx - 1]] = [items[idx - 1], items[idx]];\n selectedIndices.delete(idx);\n selectedIndices.add(idx - 1);\n moved = true;\n }\n }\n\n if (moved) {\n if (side === 'source') updateLists(items, targetState as unknown[], event);\n else updateLists(sourceState as unknown[], items, event);\n }\n };\n\n const reorderDown = (side: ListSide, event?: React.SyntheticEvent) => {\n if (selection.length === 0) return;\n\n const items = side === 'source' ? [...(sourceState as unknown[])] : [...(targetState as unknown[])];\n const selectedIndices = getSelectedIndices(items);\n const sorted = [...selectedIndices].sort((a, b) => b - a);\n let moved = false;\n\n for (const idx of sorted) {\n if (idx < items.length - 1 && !selectedIndices.has(idx + 1)) {\n [items[idx], items[idx + 1]] = [items[idx + 1], items[idx]];\n selectedIndices.delete(idx);\n selectedIndices.add(idx + 1);\n moved = true;\n }\n }\n\n if (moved) {\n if (side === 'source') updateLists(items, targetState as unknown[], event);\n else updateLists(sourceState as unknown[], items, event);\n }\n };\n\n const reorderTop = (side: ListSide, event?: React.SyntheticEvent) => {\n if (selection.length === 0) return;\n\n const items = side === 'source' ? (sourceState as unknown[]) : (targetState as unknown[]);\n const selected = items.filter((item) => isItemSelected(item));\n const rest = items.filter((item) => !isItemSelected(item));\n const newItems = [...selected, ...rest];\n\n if (side === 'source') updateLists(newItems, targetState as unknown[], event);\n else updateLists(sourceState as unknown[], newItems, event);\n };\n\n const reorderBottom = (side: ListSide, event?: React.SyntheticEvent) => {\n if (selection.length === 0) return;\n\n const items = side === 'source' ? (sourceState as unknown[]) : (targetState as unknown[]);\n const selected = items.filter((item) => isItemSelected(item));\n const rest = items.filter((item) => !isItemSelected(item));\n const newItems = [...rest, ...selected];\n\n if (side === 'source') updateLists(newItems, targetState as unknown[], event);\n else updateLists(sourceState as unknown[], newItems, event);\n };\n\n const moveToTarget = (event?: React.SyntheticEvent) => {\n if (selection.length === 0) return;\n\n const selectedFromSource = (sourceState as unknown[]).filter((item) => isItemSelected(item));\n\n if (selectedFromSource.length === 0) return;\n\n const newSource = (sourceState as unknown[]).filter((item) => !isItemSelected(item));\n const newTarget = [...(targetState as unknown[]), ...selectedFromSource];\n const newSelection = selection.filter((sel) => !selectedFromSource.includes(sel));\n\n updateLists(newSource, newTarget, event);\n props.onSelectionChange?.({ originalEvent: event, value: newSelection });\n };\n\n const moveToSource = (event?: React.SyntheticEvent) => {\n if (selection.length === 0) return;\n\n const selectedFromTarget = (targetState as unknown[]).filter((item) => isItemSelected(item));\n\n if (selectedFromTarget.length === 0) return;\n\n const newTarget = (targetState as unknown[]).filter((item) => !isItemSelected(item));\n const newSource = [...(sourceState as unknown[]), ...selectedFromTarget];\n const newSelection = selection.filter((sel) => !selectedFromTarget.includes(sel));\n\n updateLists(newSource, newTarget, event);\n props.onSelectionChange?.({ originalEvent: event, value: newSelection });\n };\n\n const moveAllToTarget = (event?: React.SyntheticEvent) => {\n const newTarget = [...(targetState as unknown[]), ...(sourceState as unknown[])];\n\n updateLists([], newTarget, event);\n props.onSelectionChange?.({ originalEvent: event, value: [] });\n };\n\n const moveAllToSource = (event?: React.SyntheticEvent) => {\n const newSource = [...(sourceState as unknown[]), ...(targetState as unknown[])];\n\n updateLists(newSource, [], event);\n props.onSelectionChange?.({ originalEvent: event, value: [] });\n };\n\n const { dnd } = useDnd({\n onSort: ({ containerId, fromIndex, toIndex }: { containerId: unknown; fromIndex: number; toIndex: number }) => {\n const side = containerId as ListSide;\n const items = side === 'source' ? sourceRef.current : targetRef.current;\n const newItems = arrayMove(items as unknown[], fromIndex, toIndex);\n\n if (side === 'source') {\n updateListsRef.current(newItems, targetRef.current as unknown[]);\n } else {\n updateListsRef.current(sourceRef.current as unknown[], newItems);\n }\n },\n onTransfer: ({ from, to }: { from: { containerId: unknown; index: number }; to: { containerId: unknown; index: number } }) => {\n const originSide = from.containerId as ListSide;\n const originItems = originSide === 'source' ? sourceRef.current : targetRef.current;\n const destItems = to.containerId === 'source' ? sourceRef.current : targetRef.current;\n const transferItem = (originItems as unknown[])[from.index];\n\n const filteredOrigin = (originItems as unknown[]).filter((_, i) => i !== from.index);\n const insertedDest = [...(destItems as unknown[])];\n\n insertedDest.splice(to.index, 0, transferItem);\n\n if (originSide === 'source') {\n updateListsRef.current(filteredOrigin, insertedDest);\n } else {\n updateListsRef.current(insertedDest, filteredOrigin);\n }\n }\n });\n\n const sourceContainer = useSortableContainer({\n dnd,\n id: 'source',\n items: sourceState,\n disabled: props.disabled || !props.draggable,\n placeholder: props.placeholder\n });\n\n const targetContainer = useSortableContainer({\n dnd,\n id: 'target',\n items: targetState,\n disabled: props.disabled || !props.draggable,\n placeholder: props.placeholder\n });\n\n const isDragging = sourceContainer.state.dragging || targetContainer.state.dragging;\n\n const getOptionProps = (item: unknown, index: number, side: ListSide) => {\n const container = side === 'source' ? sourceContainer : targetContainer;\n\n return {\n 'data-scope': 'picklist',\n 'data-part': 'option',\n ...(isItemSelected(item) ? { 'data-selected': '' } : {}),\n ...container.getItemDndProps(index)\n };\n };\n\n const sourceSelection = (sourceState as unknown[]).filter((item) => isItemSelected(item));\n const targetSelection = (targetState as unknown[]).filter((item) => isItemSelected(item));\n const hasSourceSelection = sourceSelection.length > 0;\n const hasTargetSelection = targetSelection.length > 0;\n\n const makeReorderProps = (side: ListSide, action: string, label: string, fn: (side: ListSide, e?: React.SyntheticEvent) => void, hasSelection: boolean) => ({\n 'data-scope': 'picklist',\n 'data-part': `${side}-${action}`,\n type: 'button' as const,\n disabled: props.disabled || !hasSelection,\n 'aria-label': label,\n onClick: (e: React.MouseEvent) => fn(side, e)\n });\n\n return {\n state: {\n source: sourceState as unknown[],\n target: targetState as unknown[],\n selection,\n dragging: isDragging\n },\n getOptionProps,\n moveToTarget,\n moveToSource,\n moveAllToTarget,\n moveAllToSource,\n reorderUp,\n reorderDown,\n reorderTop,\n reorderBottom,\n rootProps: { id, 'data-scope': 'picklist', 'data-part': 'root' },\n sourceListProps: { 'data-scope': 'picklist', 'data-part': 'source-list', ...sourceContainer.listProps },\n targetListProps: { 'data-scope': 'picklist', 'data-part': 'target-list', ...targetContainer.listProps },\n sourceControlsProps: { 'data-scope': 'picklist', 'data-part': 'source-controls' },\n targetControlsProps: { 'data-scope': 'picklist', 'data-part': 'target-controls' },\n moveToTargetProps: { 'data-scope': 'picklist', 'data-part': 'move-to-target', type: 'button' as const, disabled: props.disabled || !hasSourceSelection, 'aria-label': 'Move to Target', onClick: (e: React.MouseEvent) => moveToTarget(e) },\n moveAllToTargetProps: {\n 'data-scope': 'picklist',\n 'data-part': 'move-all-to-target',\n type: 'button' as const,\n disabled: props.disabled || (sourceState as unknown[]).length === 0,\n 'aria-label': 'Move All to Target',\n onClick: (e: React.MouseEvent) => moveAllToTarget(e)\n },\n moveToSourceProps: { 'data-scope': 'picklist', 'data-part': 'move-to-source', type: 'button' as const, disabled: props.disabled || !hasTargetSelection, 'aria-label': 'Move to Source', onClick: (e: React.MouseEvent) => moveToSource(e) },\n moveAllToSourceProps: {\n 'data-scope': 'picklist',\n 'data-part': 'move-all-to-source',\n type: 'button' as const,\n disabled: props.disabled || (targetState as unknown[]).length === 0,\n 'aria-label': 'Move All to Source',\n onClick: (e: React.MouseEvent) => moveAllToSource(e)\n },\n sourcePrevProps: makeReorderProps('source', 'prev', 'Move Up', reorderUp, hasSourceSelection),\n sourceNextProps: makeReorderProps('source', 'next', 'Move Down', reorderDown, hasSourceSelection),\n sourceFirstProps: makeReorderProps('source', 'first', 'Move Top', reorderTop, hasSourceSelection),\n sourceLastProps: makeReorderProps('source', 'last', 'Move Bottom', reorderBottom, hasSourceSelection),\n targetPrevProps: makeReorderProps('target', 'prev', 'Move Up', reorderUp, hasTargetSelection),\n targetNextProps: makeReorderProps('target', 'next', 'Move Down', reorderDown, hasTargetSelection),\n targetFirstProps: makeReorderProps('target', 'first', 'Move Top', reorderTop, hasTargetSelection),\n targetLastProps: makeReorderProps('target', 'last', 'Move Bottom', reorderBottom, hasTargetSelection)\n };\n }\n});\n","import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './useDnd.props';\n\nexport interface DndContainerInfo {\n listRef: React.RefObject<HTMLElement | null>;\n items: unknown[];\n}\n\nexport interface DndCoordinatorState {\n dragging: boolean;\n activeContainerId: unknown | null;\n currentContainerId: unknown | null;\n fromIndex: number;\n projectedIndex: number;\n}\n\nexport interface DndCoordinator {\n uid: string;\n containers: Map<unknown, DndContainerInfo>;\n getState(): DndCoordinatorState;\n subscribe(fn: () => void): () => void;\n setState(update: Partial<DndCoordinatorState>): void;\n onSort?: (event: { containerId: unknown; fromIndex: number; toIndex: number }) => void;\n onTransfer?: (event: { from: { containerId: unknown; index: number }; to: { containerId: unknown; index: number } }) => void;\n}\n\nconst INITIAL_STATE: DndCoordinatorState = {\n dragging: false,\n activeContainerId: null,\n currentContainerId: null,\n fromIndex: -1,\n projectedIndex: -1\n};\n\nfunction createCoordinator(uid: string): DndCoordinator {\n const containers = new Map<unknown, DndContainerInfo>();\n let state: DndCoordinatorState = { ...INITIAL_STATE };\n const subscribers = new Set<() => void>();\n\n const notify = () => {\n for (const fn of subscribers) fn();\n };\n\n return {\n uid,\n containers,\n\n getState() {\n return state;\n },\n\n subscribe(fn: () => void) {\n subscribers.add(fn);\n\n return () => {\n subscribers.delete(fn);\n };\n },\n\n setState(update: Partial<DndCoordinatorState>) {\n state = { ...state, ...update };\n notify();\n },\n\n onSort: undefined,\n onTransfer: undefined\n };\n}\n\nconst NOOP_SUBSCRIBE = () => () => {};\n\nexport const useDnd = withHeadless({\n name: 'useDnd',\n defaultProps,\n setup({ props }) {\n const dndId = React.useId();\n const coordinatorRef = React.useRef<DndCoordinator | null>(null);\n\n if (!coordinatorRef.current) {\n coordinatorRef.current = createCoordinator(dndId);\n }\n\n const dnd = coordinatorRef.current;\n\n dnd.onSort = props.onSort;\n dnd.onTransfer = props.onTransfer;\n\n const subscribe = React.useCallback((fn: () => void) => dnd.subscribe(fn), [dnd]);\n const getSnapshot = React.useCallback(() => dnd.getState(), [dnd]);\n\n const dndState = React.useSyncExternalStore(dnd ? subscribe : NOOP_SUBSCRIBE, dnd ? getSnapshot : () => INITIAL_STATE, () => INITIAL_STATE);\n\n const state = {\n dragging: dndState.dragging\n };\n\n const rootProps = {\n 'data-scope': 'dnd',\n 'data-part': 'root',\n ...(state.dragging ? { 'data-dragging': '' } : undefined)\n };\n\n return {\n state,\n dnd,\n rootProps\n };\n }\n});\n","import type { UseDndProps } from '@primereact/types/headless/dnd';\n\nexport const defaultProps: UseDndProps = {\n onSort: undefined,\n onTransfer: undefined\n};\n","import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { flushSync } from 'react-dom';\nimport type { DndCoordinator } from './useDnd';\nimport { defaultProps } from './useSortableContainer.props';\n\nconst getSortableItems = (listEl: HTMLElement): HTMLElement[] => Array.from(listEl.querySelectorAll(':scope > [data-sortable-item]'));\n\nexport const useSortableContainer = withHeadless({\n name: 'useSortableContainer',\n defaultProps,\n setup({ props }) {\n const dnd = props.dnd as DndCoordinator | undefined;\n const id = props.id;\n const items = props.items ?? [];\n const disabled = props.disabled ?? false;\n const placeholderMode = props.placeholder ?? 'clone';\n const onSort = props.onSort;\n const scopedListId = dnd ? `${dnd.uid}_${id}` : String(id);\n\n const listRef = React.useRef<HTMLElement>(null);\n\n React.useEffect(() => {\n if (!dnd || id == null) return;\n\n dnd.containers.set(id, { listRef, items });\n\n return () => {\n dnd.containers.delete(id);\n };\n }, [dnd, id]);\n\n const itemsRef = React.useRef(items);\n\n itemsRef.current = items;\n\n React.useEffect(() => {\n if (dnd && id != null) {\n const c = dnd.containers.get(id);\n\n if (c) c.items = items;\n }\n }, [dnd, id, items]);\n\n const [dragging, setDragging] = React.useState(false);\n\n const scrollRafRef = React.useRef<number>(0);\n\n const dragStateRef = React.useRef<{\n startX: number;\n startY: number;\n startScrollTop: number;\n node: HTMLElement;\n ghost: HTMLElement;\n clone: HTMLElement;\n itemHeight: number;\n gap: number;\n fromIndex: number;\n projectedIndex: number;\n originContainerId: unknown;\n currentContainerId: unknown;\n itemsAtStart: Map<unknown, unknown[]>;\n } | null>(null);\n\n const applyShifts = (listEl: HTMLElement, fromIndex: number, projectedIndex: number, draggedNode: HTMLElement, clone: HTMLElement, itemHeight: number, gap: number) => {\n const shift = itemHeight + gap;\n\n // During drag: node has data-sortable-item removed, clone has no data-sortable-item.\n // So getSortableItems returns only real siblings, in their original DOM order.\n // Items before fromIndex keep their index; items at/after fromIndex are shifted by 1.\n const realItems = getSortableItems(listEl);\n\n for (let i = 0; i < realItems.length; i++) {\n const logicalIndex = i < fromIndex ? i : i + 1;\n let offset = 0;\n\n if (fromIndex < projectedIndex) {\n if (logicalIndex > fromIndex && logicalIndex <= projectedIndex) offset = -shift;\n } else if (fromIndex > projectedIndex) {\n if (logicalIndex >= projectedIndex && logicalIndex < fromIndex) offset = shift;\n }\n\n realItems[i].style.transform = offset ? `translateY(${offset}px)` : '';\n }\n\n // Clone is placeholder at fromIndex slot; shift it to projectedIndex\n clone.style.transform = projectedIndex !== fromIndex ? `translateY(${(projectedIndex - fromIndex) * shift}px)` : '';\n };\n\n const clearShifts = (listEl: HTMLElement | null) => {\n if (!listEl) return;\n\n for (const child of getSortableItems(listEl)) {\n child.style.transform = '';\n }\n };\n\n const getListGap = (listEl: HTMLElement) => {\n const children = getSortableItems(listEl);\n\n return children.length > 1 ? children[1].getBoundingClientRect().top - children[0].getBoundingClientRect().bottom : 4;\n };\n\n const createGhost = (node: HTMLElement, rect: DOMRect): HTMLElement => {\n const ghost = node.cloneNode(true) as HTMLElement;\n\n ghost.setAttribute('inert', 'true');\n ghost.removeAttribute('data-sortable-item');\n ghost.removeAttribute('data-sortable-container');\n ghost.style.position = 'fixed';\n ghost.style.zIndex = '9999';\n ghost.style.pointerEvents = 'none';\n ghost.style.width = `${rect.width}px`;\n ghost.style.height = `${rect.height}px`;\n ghost.style.left = `${rect.left}px`;\n ghost.style.top = `${rect.top}px`;\n ghost.style.margin = '0';\n ghost.style.transform = 'translate(0px, 0px)';\n ghost.style.transition = 'none';\n ghost.style.opacity = '0.9';\n ghost.style.boxShadow = '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)';\n document.body.appendChild(ghost);\n\n return ghost;\n };\n\n const discoverListRefs = () => {\n if (dnd) {\n for (const [cId, cInfo] of dnd.containers) {\n if (!cInfo.listRef.current || !cInfo.listRef.current.isConnected) {\n const scopedId = `${dnd.uid}_${cId}`;\n const listEl = document.querySelector(`[data-sortable-list=\"${scopedId}\"]`) as HTMLElement | null;\n\n if (listEl) {\n cInfo.listRef.current = listEl;\n }\n }\n }\n }\n };\n\n const getItemDndProps = (index: number) => {\n if (disabled) return { 'data-sortable-item': '', 'data-sortable-container': String(id) };\n\n return {\n 'data-sortable-item': '',\n 'data-sortable-container': String(id),\n onPointerDown: (e: React.PointerEvent<HTMLElement>) => {\n if (e.button !== 0 || disabled) return;\n\n const node = e.currentTarget;\n const listEl = node.parentElement as HTMLElement;\n\n if (listEl) {\n listRef.current = listEl;\n\n if (dnd && id != null) {\n const c = dnd.containers.get(id);\n\n if (c) c.listRef.current = listEl;\n }\n }\n\n discoverListRefs();\n\n const rect = node.getBoundingClientRect();\n const startX = e.clientX;\n const startY = e.clientY;\n let activated = false;\n\n const containerId = id;\n const hasMultipleContainers = dnd ? dnd.containers.size > 1 : false;\n\n const itemsAtStart = new Map<unknown, unknown[]>();\n\n if (dnd) {\n for (const [cId, cInfo] of dnd.containers) {\n itemsAtStart.set(cId, [...cInfo.items]);\n }\n } else {\n itemsAtStart.set(id, [...itemsRef.current]);\n }\n\n let lastPointerX = startX;\n let lastPointerY = startY;\n\n const updateProjection = () => {\n const state = dragStateRef.current;\n\n if (!state) return;\n\n let hoveredContainerId = state.originContainerId;\n\n if (hasMultipleContainers && dnd) {\n for (const [cId, cInfo] of dnd.containers) {\n // Re-discover stale or missing refs on the fly\n if (!cInfo.listRef.current || !cInfo.listRef.current.isConnected) {\n const scopedId = `${dnd.uid}_${cId}`;\n const listEl = document.querySelector(`[data-sortable-list=\"${scopedId}\"]`) as HTMLElement | null;\n\n if (listEl) cInfo.listRef.current = listEl;\n }\n\n const cRect = cInfo.listRef.current?.getBoundingClientRect();\n\n if (cRect && lastPointerX >= cRect.left && lastPointerX <= cRect.right && lastPointerY >= cRect.top && lastPointerY <= cRect.bottom) {\n hoveredContainerId = cId;\n break;\n }\n }\n }\n\n const hoveredList = hasMultipleContainers && dnd ? dnd.containers.get(hoveredContainerId)?.listRef.current : listRef.current;\n\n if (!hoveredList) return;\n\n const oList = hasMultipleContainers && dnd ? dnd.containers.get(state.originContainerId)?.listRef.current : listRef.current;\n const scrollDelta = (oList?.scrollTop ?? 0) - state.startScrollTop;\n const dy = lastPointerY - state.startY;\n const step = state.itemHeight + state.gap;\n const hoveredItems = state.itemsAtStart.get(hoveredContainerId) ?? [];\n\n let projected: number;\n\n if (hoveredContainerId === state.originContainerId) {\n projected = state.fromIndex + Math.round((dy + scrollDelta) / step);\n projected = Math.max(0, Math.min(hoveredItems.length - 1, projected));\n } else {\n const listRect = hoveredList.getBoundingClientRect();\n const listPadding = parseFloat(getComputedStyle(hoveredList).paddingTop) || 0;\n const relY = lastPointerY - listRect.top - listPadding;\n\n projected = Math.round(relY / step);\n projected = Math.max(0, Math.min(hoveredItems.length, projected));\n }\n\n const sideChanged = hoveredContainerId !== state.currentContainerId;\n\n if (sideChanged || projected !== state.projectedIndex) {\n // When switching containers, smooth-clear the old hovered list\n if (sideChanged && dnd) {\n const oldList = dnd.containers.get(state.currentContainerId)?.listRef.current;\n\n if (oldList) clearShifts(oldList);\n }\n\n state.currentContainerId = hoveredContainerId;\n state.projectedIndex = projected;\n\n if (dnd) {\n dnd.setState({ currentContainerId: hoveredContainerId, projectedIndex: projected });\n }\n\n if (hoveredContainerId === state.originContainerId) {\n // Move clone back to origin list (before the dragged node)\n if (sideChanged) {\n state.node.parentElement?.insertBefore(state.clone, state.node);\n }\n\n state.clone.style.height = `${state.itemHeight}px`;\n state.clone.style.overflow = '';\n applyShifts(hoveredList, state.fromIndex, projected, state.node, state.clone, state.itemHeight, state.gap);\n } else {\n // Measure the hovered list's own step — may differ from origin list's step.\n const hoveredItems = getSortableItems(hoveredList);\n const hoveredStep = hoveredItems.length >= 2 ? hoveredItems[1].getBoundingClientRect().top - hoveredItems[0].getBoundingClientRect().top : state.itemHeight + state.gap;\n\n // On container switch: move clone to document.body as position:fixed.\n // This avoids any layout impact on the hovered list (no scroll growth).\n if (sideChanged) {\n document.body.appendChild(state.clone);\n state.clone.style.position = 'fixed';\n state.clone.style.height = `${state.itemHeight}px`;\n state.clone.style.overflow = 'hidden';\n state.clone.style.transform = '';\n state.clone.style.margin = '0';\n state.clone.style.zIndex = '9998';\n state.clone.style.pointerEvents = 'none';\n state.clone.style.boxSizing = 'border-box';\n hoveredList.style.position = '';\n }\n\n // Position clone at the projected slot using fixed viewport coords.\n // Use offsetTop (transform-independent) + list viewport offset for accuracy.\n const listRect = hoveredList.getBoundingClientRect();\n const listScrollTop = hoveredList.scrollTop;\n const listPadding = parseFloat(getComputedStyle(hoveredList).paddingTop) || 0;\n\n let cloneFixedTop: number;\n\n if (hoveredItems.length === 0) {\n cloneFixedTop = listRect.top + listPadding;\n } else if (projected < hoveredItems.length) {\n // Use getBoundingClientRect which accounts for scrollTop correctly.\n // Called before shift transforms are applied, so value is layout-accurate.\n cloneFixedTop = hoveredItems[projected].getBoundingClientRect().top;\n } else {\n const last = hoveredItems[hoveredItems.length - 1];\n\n cloneFixedTop = last.getBoundingClientRect().bottom + (hoveredStep - last.getBoundingClientRect().height);\n }\n\n state.clone.style.top = `${cloneFixedTop}px`;\n state.clone.style.left = `${listRect.left}px`;\n state.clone.style.width = `${listRect.width}px`;\n state.clone.style.transform = '';\n\n // Shift items at and after projected down to make room for clone\n for (let i = 0; i < hoveredItems.length; i++) {\n hoveredItems[i].style.transform = i >= projected ? `translateY(${hoveredStep}px)` : '';\n }\n }\n }\n\n return hoveredList;\n };\n\n const onMove = (ev: PointerEvent) => {\n const dist = Math.sqrt((ev.clientX - startX) ** 2 + (ev.clientY - startY) ** 2);\n\n if (!activated && dist < 5) return;\n\n if (!activated) {\n activated = true;\n\n const list = listRef.current;\n const gap = list ? getListGap(list) : 4;\n\n let clone: HTMLElement;\n\n if (placeholderMode === 'empty') {\n clone = document.createElement(node.tagName) as HTMLElement;\n } else {\n clone = node.cloneNode(true) as HTMLElement;\n }\n\n clone.setAttribute('inert', 'true');\n clone.setAttribute('data-sortable-placeholder', '');\n clone.removeAttribute('data-sortable-item');\n clone.removeAttribute('data-sortable-container');\n clone.style.width = `${rect.width}px`;\n clone.style.height = `${rect.height}px`;\n clone.style.flexShrink = '0';\n clone.style.transition = 'transform 200ms ease, opacity 150ms ease';\n clone.style.opacity = '0';\n node.parentElement?.insertBefore(clone, node);\n // Fade clone in on next frame so the slot opens smoothly\n requestAnimationFrame(() => {\n clone.style.opacity = '1';\n });\n\n // Blur the list so Listbox clears its focusedOptionIndex (removes p-focus class)\n listRef.current?.blur();\n\n // Create ghost BEFORE modifying node (cloneNode copies current inline styles)\n const ghost = createGhost(node, rect);\n\n // Keep node in DOM but out of flow — clone holds the layout slot.\n // Remove data-sortable-item so getSortableItems ignores it during drag.\n node.setAttribute('data-dragging', '');\n node.removeAttribute('data-sortable-item');\n node.style.position = 'absolute';\n node.style.visibility = 'hidden';\n node.style.pointerEvents = 'none';\n\n // Disable pointer events on all sibling items to prevent CSS :hover during drag\n const listEl2 = node.parentElement;\n\n if (listEl2) {\n for (const sibling of getSortableItems(listEl2)) {\n if (sibling !== node) {\n sibling.style.pointerEvents = 'none';\n sibling.style.transition = 'transform 200ms ease';\n }\n }\n }\n\n // For multi-container DnD, also prep the other list's items\n if (dnd) {\n for (const [cId, cInfo] of dnd.containers) {\n if (cId !== containerId && cInfo.listRef.current) {\n for (const sibling of getSortableItems(cInfo.listRef.current)) {\n sibling.style.pointerEvents = 'none';\n sibling.style.transition = 'transform 200ms ease';\n }\n }\n }\n }\n\n dragStateRef.current = {\n startX,\n startY,\n startScrollTop: list?.scrollTop ?? 0,\n node,\n ghost,\n clone,\n itemHeight: rect.height,\n gap,\n fromIndex: index,\n projectedIndex: index,\n originContainerId: containerId,\n currentContainerId: containerId,\n itemsAtStart\n };\n\n setDragging(true);\n\n if (dnd) {\n dnd.setState({\n dragging: true,\n activeContainerId: containerId,\n currentContainerId: containerId,\n fromIndex: index,\n projectedIndex: index\n });\n }\n }\n\n const state = dragStateRef.current;\n\n if (!state) return;\n\n lastPointerX = ev.clientX;\n lastPointerY = ev.clientY;\n\n state.ghost.style.transform = `translate(${ev.clientX - state.startX}px, ${ev.clientY - state.startY}px)`;\n\n const hoveredList = updateProjection();\n\n // Auto-scroll\n cancelAnimationFrame(scrollRafRef.current);\n\n if (hoveredList) {\n const scrollThreshold = 40;\n const scrollSpeed = 8;\n\n const autoScroll = () => {\n const lr = hoveredList.getBoundingClientRect();\n const distTop = lastPointerY - lr.top;\n const distBottom = lr.bottom - lastPointerY;\n\n let scrolled = false;\n\n if (distTop > 0 && distTop < scrollThreshold) {\n hoveredList.scrollTop -= scrollSpeed;\n scrolled = true;\n } else if (distBottom > 0 && distBottom < scrollThreshold) {\n hoveredList.scrollTop += scrollSpeed;\n scrolled = true;\n }\n\n if (scrolled) {\n // Force clone reposition after scroll by invalidating cached projected index\n if (dragStateRef.current) dragStateRef.current.projectedIndex = -1;\n updateProjection();\n scrollRafRef.current = requestAnimationFrame(autoScroll);\n }\n };\n\n autoScroll();\n }\n };\n\n const onUp = () => {\n document.removeEventListener('pointermove', onMove);\n document.removeEventListener('pointerup', onUp);\n cancelAnimationFrame(scrollRafRef.current);\n\n const state = dragStateRef.current;\n\n if (!state) return;\n\n const isCrossList = state.currentContainerId !== state.originContainerId;\n\n let finalized = false;\n\n const finalize = () => {\n if (finalized) return;\n\n finalized = true;\n state.ghost.removeEventListener('transitionend', finalize);\n cancelAnimationFrame(scrollRafRef.current);\n\n // Remove ghost and placeholder\n state.ghost.remove();\n state.clone.remove();\n\n // Collect all relevant lists\n const allLists: HTMLElement[] = [];\n\n if (dnd && dnd.containers.size > 1) {\n for (const [, cInfo] of dnd.containers) {\n if (cInfo.listRef.current) allLists.push(cInfo.listRef.current);\n }\n } else if (listRef.current) {\n allLists.push(listRef.current);\n }\n\n // Keep node in DOM — React will replace or reconcile it during flushSync.\n // Restore position so it participates in layout correctly,\n // but keep visibility:hidden + pointer-events:none until after flushSync.\n state.node.style.position = '';\n state.node.removeAttribute('data-dragging');\n state.node.setAttribute('data-sortable-item', '');\n\n // Freeze transforms and restore pointer-events before React re-render\n for (const list of allLists) {\n for (const child of getSortableItems(list)) {\n child.style.transition = 'none';\n child.style.transform = '';\n child.style.pointerEvents = '';\n }\n }\n\n flushSync(() => {\n if (!isCrossList) {\n if (state.fromIndex !== state.projectedIndex) {\n if (dnd?.onSort) {\n dnd.onSort({ containerId: state.originContainerId, fromIndex: state.fromIndex, toIndex: state.projectedIndex });\n } else if (onSort) {\n onSort({ containerId: state.originContainerId, fromIndex: state.fromIndex, toIndex: state.projectedIndex });\n }\n }\n } else {\n dnd?.onTransfer?.({\n from: { containerId: state.originContainerId, index: state.fromIndex },\n to: { containerId: state.currentContainerId, index: state.projectedIndex }\n });\n }\n });\n\n // Force reflow then restore transitions\n for (const list of allLists) {\n void list.offsetHeight;\n\n for (const child of getSortableItems(list)) {\n child.style.transition = '';\n child.style.visibility = '';\n child.style.pointerEvents = '';\n }\n }\n\n dragStateRef.current = null;\n setDragging(false);\n\n if (dnd) {\n dnd.setState({\n dragging: false,\n activeContainerId: null,\n currentContainerId: null,\n fromIndex: -1,\n projectedIndex: -1\n });\n }\n\n // Restore focus to the drop target list with the correct item focused.\n // data-dnd-focus-index is read by useListbox.onListFocus to set focusedOptionIndex.\n const dropContainerId = isCrossList ? state.currentContainerId : state.originContainerId;\n const dropList = hasMultipleContainers && dnd ? dnd.containers.get(dropContainerId)?.listRef.current : listRef.current;\n\n if (dropList) {\n dropList.dataset.dndFocusIndex = String(state.projectedIndex);\n dropList.focus();\n delete dropList.dataset.dndFocusIndex;\n }\n };\n\n // Fade ghost out in place — no positional animation to avoid jump artifacts\n state.ghost.style.transition = 'opacity 150ms ease-out';\n state.ghost.style.opacity = '0';\n\n state.ghost.addEventListener('transitionend', finalize, { once: true });\n\n setTimeout(() => {\n if (dragStateRef.current === state) {\n finalize();\n }\n }, 200);\n };\n\n document.addEventListener('pointermove', onMove);\n document.addEventListener('pointerup', onUp);\n }\n };\n };\n\n const state = {\n dragging\n };\n\n const rootProps = React.useMemo(\n () => ({\n 'data-scope': 'dnd',\n 'data-part': 'sortable-container',\n ...(dragging ? { 'data-active': '' } : undefined),\n ...(disabled ? { 'data-disabled': '' } : undefined)\n }),\n [dragging, disabled]\n );\n\n const listProps = React.useMemo(\n () => ({\n 'data-sortable-list': scopedListId\n }),\n [scopedListId]\n );\n\n return {\n state,\n getItemDndProps,\n listProps,\n rootProps\n };\n }\n});\n","import type { UseSortableContainerProps } from '@primereact/types/headless/dnd';\n\nexport const defaultProps: UseSortableContainerProps = {\n dnd: undefined,\n id: undefined,\n items: undefined,\n disabled: false,\n placeholder: 'empty',\n onSort: undefined\n};\n","import type { UsePickListProps } from '@primereact/types/headless/picklist';\n\nexport const defaultProps: UsePickListProps = {\n source: undefined,\n target: undefined,\n selection: undefined,\n disabled: false,\n draggable: false,\n placeholder: 'empty',\n onChange: undefined,\n onSelectionChange: undefined\n};\n"],"mappings":"qWAAA,OAAS,aAAAA,OAAiB,uBAC1B,OAAS,gBAAAC,OAAoB,4BAC7B,UAAYC,MAAW,QCFvB,OAAS,gBAAAC,OAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,GAA4B,CACrC,OAAQ,OACR,WAAY,MAChB,EDsBA,IAAMC,GAAqC,CACvC,SAAU,GACV,kBAAmB,KACnB,mBAAoB,KACpB,UAAW,GACX,eAAgB,EACpB,EAEA,SAASC,GAAkBC,EAA6B,CACpD,IAAMC,EAAa,IAAI,IACnBC,EAA6BC,EAAA,GAAKL,IAChCM,EAAc,IAAI,IAElBC,EAAS,IAAM,CACjB,QAAWC,KAAMF,EAAaE,EAAG,CACrC,EAEA,MAAO,CACH,IAAAN,EACA,WAAAC,EAEA,UAAW,CACP,OAAOC,CACX,EAEA,UAAUI,EAAgB,CACtB,OAAAF,EAAY,IAAIE,CAAE,EAEX,IAAM,CACTF,EAAY,OAAOE,CAAE,CACzB,CACJ,EAEA,SAASC,EAAsC,CAC3CL,EAAQC,IAAA,GAAKD,GAAUK,GACvBF,EAAO,CACX,EAEA,OAAQ,OACR,WAAY,MAChB,CACJ,CAEA,IAAMG,GAAiB,IAAM,IAAM,CAAC,EAEvBC,GAASC,GAAa,CAC/B,KAAM,SACN,aAAAC,GACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CACb,IAAMC,EAAc,QAAM,EACpBC,EAAuB,SAA8B,IAAI,EAE1DA,EAAe,UAChBA,EAAe,QAAUf,GAAkBc,CAAK,GAGpD,IAAME,EAAMD,EAAe,QAE3BC,EAAI,OAASH,EAAM,OACnBG,EAAI,WAAaH,EAAM,WAEvB,IAAMI,EAAkB,cAAaV,GAAmBS,EAAI,UAAUT,CAAE,EAAG,CAACS,CAAG,CAAC,EAC1EE,EAAoB,cAAY,IAAMF,EAAI,SAAS,EAAG,CAACA,CAAG,CAAC,EAI3Db,EAAQ,CACV,SAHmB,uBAAqBa,EAAMC,EAAYR,GAAgBO,EAAME,EAAc,IAAMnB,GAAe,IAAMA,EAAa,EAGnH,QACvB,EAEMoB,EAAYf,EAAA,CACd,aAAc,MACd,YAAa,QACTD,EAAM,SAAW,CAAE,gBAAiB,EAAG,EAAI,QAGnD,MAAO,CACH,MAAAA,EACA,IAAAa,EACA,UAAAG,CACJ,CACJ,CACJ,CAAC,EE7GD,OAAS,gBAAAC,OAAoB,4BAC7B,UAAYC,MAAW,QACvB,OAAS,aAAAC,OAAiB,YCAnB,IAAMC,GAA0C,CACnD,IAAK,OACL,GAAI,OACJ,MAAO,OACP,SAAU,GACV,YAAa,QACb,OAAQ,MACZ,EDHA,IAAMC,EAAoBC,GAAuC,MAAM,KAAKA,EAAO,iBAAiB,+BAA+B,CAAC,EAEvHC,GAAuBC,GAAa,CAC7C,KAAM,uBACN,aAAAC,GACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CAXrB,IAAAC,EAAAC,GAAAC,GAYQ,IAAMC,EAAMJ,EAAM,IACZK,EAAKL,EAAM,GACXM,GAAQL,EAAAD,EAAM,QAAN,KAAAC,EAAe,CAAC,EACxBM,GAAWL,GAAAF,EAAM,WAAN,KAAAE,GAAkB,GAC7BM,GAAkBL,GAAAH,EAAM,cAAN,KAAAG,GAAqB,QACvCM,EAAST,EAAM,OACfU,EAAeN,EAAM,GAAGA,EAAI,GAAG,IAAIC,CAAE,GAAK,OAAOA,CAAE,EAEnDM,EAAgB,SAAoB,IAAI,EAExC,YAAU,IAAM,CAClB,GAAI,GAACP,GAAOC,GAAM,MAElB,OAAAD,EAAI,WAAW,IAAIC,EAAI,CAAE,QAAAM,EAAS,MAAAL,CAAM,CAAC,EAElC,IAAM,CACTF,EAAI,WAAW,OAAOC,CAAE,CAC5B,CACJ,EAAG,CAACD,EAAKC,CAAE,CAAC,EAEZ,IAAMO,EAAiB,SAAON,CAAK,EAEnCM,EAAS,QAAUN,EAEb,YAAU,IAAM,CAClB,GAAIF,GAAOC,GAAM,KAAM,CACnB,IAAMQ,EAAIT,EAAI,WAAW,IAAIC,CAAE,EAE3BQ,IAAGA,EAAE,MAAQP,EACrB,CACJ,EAAG,CAACF,EAAKC,EAAIC,CAAK,CAAC,EAEnB,GAAM,CAACQ,EAAUC,CAAW,EAAU,WAAS,EAAK,EAE9CC,EAAqB,SAAe,CAAC,EAErCC,EAAqB,SAcjB,IAAI,EAERC,GAAc,CAACtB,EAAqBuB,EAAmBC,EAAwBC,EAA0BC,EAAoBC,EAAoBC,IAAgB,CACnK,IAAMC,EAAQF,EAAaC,EAKrBE,EAAY/B,EAAiBC,CAAM,EAEzC,QAAS+B,EAAI,EAAGA,EAAID,EAAU,OAAQC,IAAK,CACvC,IAAMC,EAAeD,EAAIR,EAAYQ,EAAIA,EAAI,EACzCE,EAAS,EAETV,EAAYC,EACRQ,EAAeT,GAAaS,GAAgBR,IAAgBS,EAAS,CAACJ,GACnEN,EAAYC,GACfQ,GAAgBR,GAAkBQ,EAAeT,IAAWU,EAASJ,GAG7EC,EAAUC,CAAC,EAAE,MAAM,UAAYE,EAAS,cAAcA,CAAM,MAAQ,EACxE,CAGAP,EAAM,MAAM,UAAYF,IAAmBD,EAAY,eAAeC,EAAiBD,GAAaM,CAAK,MAAQ,EACrH,EAEMK,GAAelC,GAA+B,CAChD,GAAKA,EAEL,QAAWmC,KAASpC,EAAiBC,CAAM,EACvCmC,EAAM,MAAM,UAAY,EAEhC,EAEMC,GAAcpC,GAAwB,CACxC,IAAMqC,EAAWtC,EAAiBC,CAAM,EAExC,OAAOqC,EAAS,OAAS,EAAIA,EAAS,CAAC,EAAE,sBAAsB,EAAE,IAAMA,EAAS,CAAC,EAAE,sBAAsB,EAAE,OAAS,CACxH,EAEMC,GAAc,CAACC,EAAmBC,IAA+B,CACnE,IAAMC,EAAQF,EAAK,UAAU,EAAI,EAEjC,OAAAE,EAAM,aAAa,QAAS,MAAM,EAClCA,EAAM,gBAAgB,oBAAoB,EAC1CA,EAAM,gBAAgB,yBAAyB,EAC/CA,EAAM,MAAM,SAAW,QACvBA,EAAM,MAAM,OAAS,OACrBA,EAAM,MAAM,cAAgB,OAC5BA,EAAM,MAAM,MAAQ,GAAGD,EAAK,KAAK,KACjCC,EAAM,MAAM,OAAS,GAAGD,EAAK,MAAM,KACnCC,EAAM,MAAM,KAAO,GAAGD,EAAK,IAAI,KAC/BC,EAAM,MAAM,IAAM,GAAGD,EAAK,GAAG,KAC7BC,EAAM,MAAM,OAAS,IACrBA,EAAM,MAAM,UAAY,sBACxBA,EAAM,MAAM,WAAa,OACzBA,EAAM,MAAM,QAAU,MACtBA,EAAM,MAAM,UAAY,sEACxB,SAAS,KAAK,YAAYA,CAAK,EAExBA,CACX,EAEMC,GAAmB,IAAM,CAC3B,GAAIlC,GACA,OAAW,CAACmC,EAAKC,CAAK,IAAKpC,EAAI,WAC3B,GAAI,CAACoC,EAAM,QAAQ,SAAW,CAACA,EAAM,QAAQ,QAAQ,YAAa,CAC9D,IAAMC,EAAW,GAAGrC,EAAI,GAAG,IAAImC,CAAG,GAC5B3C,EAAS,SAAS,cAAc,wBAAwB6C,CAAQ,IAAI,EAEtE7C,IACA4C,EAAM,QAAQ,QAAU5C,EAEhC,EAGZ,EAEM8C,GAAmBC,GACjBpC,EAAiB,CAAE,qBAAsB,GAAI,0BAA2B,OAAOF,CAAE,CAAE,EAEhF,CACH,qBAAsB,GACtB,0BAA2B,OAAOA,CAAE,EACpC,cAAgBuC,GAAuC,CACnD,GAAIA,EAAE,SAAW,GAAKrC,EAAU,OAEhC,IAAM4B,EAAOS,EAAE,cACThD,EAASuC,EAAK,cAEpB,GAAIvC,IACAe,EAAQ,QAAUf,EAEdQ,GAAOC,GAAM,MAAM,CACnB,IAAMQ,EAAIT,EAAI,WAAW,IAAIC,CAAE,EAE3BQ,IAAGA,EAAE,QAAQ,QAAUjB,EAC/B,CAGJ0C,GAAiB,EAEjB,IAAMF,EAAOD,EAAK,sBAAsB,EAClCU,EAASD,EAAE,QACXE,EAASF,EAAE,QACbG,EAAY,GAEVC,EAAc3C,EACd4C,EAAwB7C,EAAMA,EAAI,WAAW,KAAO,EAAI,GAExD8C,EAAe,IAAI,IAEzB,GAAI9C,EACA,OAAW,CAACmC,EAAKC,CAAK,IAAKpC,EAAI,WAC3B8C,EAAa,IAAIX,EAAK,CAAC,GAAGC,EAAM,KAAK,CAAC,OAG1CU,EAAa,IAAI7C,EAAI,CAAC,GAAGO,EAAS,OAAO,CAAC,EAG9C,IAAIuC,EAAeN,EACfO,EAAeN,EAEbO,EAAmB,IAAM,CA1LnD,IAAApD,EAAAC,EAAAC,EAAAmD,EAAAC,GAAAC,GAAAC,GA2LwB,IAAMC,EAAQzC,EAAa,QAE3B,GAAI,CAACyC,EAAO,OAEZ,IAAIC,EAAqBD,EAAM,kBAE/B,GAAIT,GAAyB7C,EACzB,OAAW,CAACmC,EAAKC,CAAK,IAAKpC,EAAI,WAAY,CAEvC,GAAI,CAACoC,EAAM,QAAQ,SAAW,CAACA,EAAM,QAAQ,QAAQ,YAAa,CAC9D,IAAMC,GAAW,GAAGrC,EAAI,GAAG,IAAImC,CAAG,GAC5B3C,GAAS,SAAS,cAAc,wBAAwB6C,EAAQ,IAAI,EAEtE7C,KAAQ4C,EAAM,QAAQ,QAAU5C,GACxC,CAEA,IAAMgE,GAAQ3D,EAAAuC,EAAM,QAAQ,UAAd,YAAAvC,EAAuB,wBAErC,GAAI2D,GAAST,GAAgBS,EAAM,MAAQT,GAAgBS,EAAM,OAASR,GAAgBQ,EAAM,KAAOR,GAAgBQ,EAAM,OAAQ,CACjID,EAAqBpB,EACrB,KACJ,CACJ,CAGJ,IAAMsB,EAAcZ,GAAyB7C,GAAMF,EAAAE,EAAI,WAAW,IAAIuD,CAAkB,IAArC,YAAAzD,EAAwC,QAAQ,QAAUS,EAAQ,QAErH,GAAI,CAACkD,EAAa,OAElB,IAAMC,EAAQb,GAAyB7C,GAAMD,EAAAC,EAAI,WAAW,IAAIsD,EAAM,iBAAiB,IAA1C,YAAAvD,EAA6C,QAAQ,QAAUQ,EAAQ,QAC9GoD,IAAeT,EAAAQ,GAAA,YAAAA,EAAO,YAAP,KAAAR,EAAoB,GAAKI,EAAM,eAC9CM,EAAKZ,EAAeM,EAAM,OAC1BO,EAAOP,EAAM,WAAaA,EAAM,IAChCQ,GAAeX,GAAAG,EAAM,aAAa,IAAIC,CAAkB,IAAzC,KAAAJ,GAA8C,CAAC,EAEhEY,EAEJ,GAAIR,IAAuBD,EAAM,kBAC7BS,EAAYT,EAAM,UAAY,KAAK,OAAOM,EAAKD,GAAeE,CAAI,EAClEE,EAAY,KAAK,IAAI,EAAG,KAAK,IAAID,EAAa,OAAS,EAAGC,CAAS,CAAC,MACjE,CACH,IAAMC,EAAWP,EAAY,sBAAsB,EAC7CQ,EAAc,WAAW,iBAAiBR,CAAW,EAAE,UAAU,GAAK,EACtES,EAAOlB,EAAegB,EAAS,IAAMC,EAE3CF,EAAY,KAAK,MAAMG,EAAOL,CAAI,EAClCE,EAAY,KAAK,IAAI,EAAG,KAAK,IAAID,EAAa,OAAQC,CAAS,CAAC,CACpE,CAEA,IAAMI,EAAcZ,IAAuBD,EAAM,mBAEjD,GAAIa,GAAeJ,IAAcT,EAAM,eAAgB,CAEnD,GAAIa,GAAenE,EAAK,CACpB,IAAMoE,GAAUhB,GAAApD,EAAI,WAAW,IAAIsD,EAAM,kBAAkB,IAA3C,YAAAF,GAA8C,QAAQ,QAElEgB,GAAS1C,GAAY0C,CAAO,CACpC,CASA,GAPAd,EAAM,mBAAqBC,EAC3BD,EAAM,eAAiBS,EAEnB/D,GACAA,EAAI,SAAS,CAAE,mBAAoBuD,EAAoB,eAAgBQ,CAAU,CAAC,EAGlFR,IAAuBD,EAAM,kBAEzBa,KACAd,GAAAC,EAAM,KAAK,gBAAX,MAAAD,GAA0B,aAAaC,EAAM,MAAOA,EAAM,OAG9DA,EAAM,MAAM,MAAM,OAAS,GAAGA,EAAM,UAAU,KAC9CA,EAAM,MAAM,MAAM,SAAW,GAC7BxC,GAAY2C,EAAaH,EAAM,UAAWS,EAAWT,EAAM,KAAMA,EAAM,MAAOA,EAAM,WAAYA,EAAM,GAAG,MACtG,CAEH,IAAMQ,EAAevE,EAAiBkE,CAAW,EAC3CY,EAAcP,EAAa,QAAU,EAAIA,EAAa,CAAC,EAAE,sBAAsB,EAAE,IAAMA,EAAa,CAAC,EAAE,sBAAsB,EAAE,IAAMR,EAAM,WAAaA,EAAM,IAIhKa,IACA,SAAS,KAAK,YAAYb,EAAM,KAAK,EACrCA,EAAM,MAAM,MAAM,SAAW,QAC7BA,EAAM,MAAM,MAAM,OAAS,GAAGA,EAAM,UAAU,KAC9CA,EAAM,MAAM,MAAM,SAAW,SAC7BA,EAAM,MAAM,MAAM,UAAY,GAC9BA,EAAM,MAAM,MAAM,OAAS,IAC3BA,EAAM,MAAM,MAAM,OAAS,OAC3BA,EAAM,MAAM,MAAM,cAAgB,OAClCA,EAAM,MAAM,MAAM,UAAY,aAC9BG,EAAY,MAAM,SAAW,IAKjC,IAAMO,EAAWP,EAAY,sBAAsB,EAC7Ca,GAAgBb,EAAY,UAC5BQ,GAAc,WAAW,iBAAiBR,CAAW,EAAE,UAAU,GAAK,EAExEc,GAEJ,GAAIT,EAAa,SAAW,EACxBS,GAAgBP,EAAS,IAAMC,WACxBF,EAAYD,EAAa,OAGhCS,GAAgBT,EAAaC,CAAS,EAAE,sBAAsB,EAAE,QAC7D,CACH,IAAMS,EAAOV,EAAaA,EAAa,OAAS,CAAC,EAEjDS,GAAgBC,EAAK,sBAAsB,EAAE,QAAUH,EAAcG,EAAK,sBAAsB,EAAE,OACtG,CAEAlB,EAAM,MAAM,MAAM,IAAM,GAAGiB,EAAa,KACxCjB,EAAM,MAAM,MAAM,KAAO,GAAGU,EAAS,IAAI,KACzCV,EAAM,MAAM,MAAM,MAAQ,GAAGU,EAAS,KAAK,KAC3CV,EAAM,MAAM,MAAM,UAAY,GAG9B,QAAS/B,EAAI,EAAGA,EAAIuC,EAAa,OAAQvC,IACrCuC,EAAavC,CAAC,EAAE,MAAM,UAAYA,GAAKwC,EAAY,cAAcM,CAAW,MAAQ,EAE5F,CACJ,CAEA,OAAOZ,CACX,EAEMgB,EAAUC,GAAqB,CA7TzD,IAAA7E,EAAAC,EAAAC,EA8TwB,IAAM4E,EAAO,KAAK,MAAMD,EAAG,QAAUjC,IAAW,GAAKiC,EAAG,QAAUhC,IAAW,CAAC,EAE9E,GAAI,CAACC,GAAagC,EAAO,EAAG,OAE5B,GAAI,CAAChC,EAAW,CACZA,EAAY,GAEZ,IAAMiC,EAAOrE,EAAQ,QACfa,EAAMwD,EAAOhD,GAAWgD,CAAI,EAAI,EAElC1D,EAEAd,IAAoB,QACpBc,EAAQ,SAAS,cAAca,EAAK,OAAO,EAE3Cb,EAAQa,EAAK,UAAU,EAAI,EAG/Bb,EAAM,aAAa,QAAS,MAAM,EAClCA,EAAM,aAAa,4BAA6B,EAAE,EAClDA,EAAM,gBAAgB,oBAAoB,EAC1CA,EAAM,gBAAgB,yBAAyB,EAC/CA,EAAM,MAAM,MAAQ,GAAGc,EAAK,KAAK,KACjCd,EAAM,MAAM,OAAS,GAAGc,EAAK,MAAM,KACnCd,EAAM,MAAM,WAAa,IACzBA,EAAM,MAAM,WAAa,2CACzBA,EAAM,MAAM,QAAU,KACtBrB,EAAAkC,EAAK,gBAAL,MAAAlC,EAAoB,aAAaqB,EAAOa,GAExC,sBAAsB,IAAM,CACxBb,EAAM,MAAM,QAAU,GAC1B,CAAC,GAGDpB,EAAAS,EAAQ,UAAR,MAAAT,EAAiB,OAGjB,IAAMmC,EAAQH,GAAYC,EAAMC,CAAI,EAIpCD,EAAK,aAAa,gBAAiB,EAAE,EACrCA,EAAK,gBAAgB,oBAAoB,EACzCA,EAAK,MAAM,SAAW,WACtBA,EAAK,MAAM,WAAa,SACxBA,EAAK,MAAM,cAAgB,OAG3B,IAAM8C,EAAU9C,EAAK,cAErB,GAAI8C,EACA,QAAWC,KAAWvF,EAAiBsF,CAAO,EACtCC,IAAY/C,IACZ+C,EAAQ,MAAM,cAAgB,OAC9BA,EAAQ,MAAM,WAAa,wBAMvC,GAAI9E,GACA,OAAW,CAACmC,EAAKC,CAAK,IAAKpC,EAAI,WAC3B,GAAImC,IAAQS,GAAeR,EAAM,QAAQ,QACrC,QAAW0C,MAAWvF,EAAiB6C,EAAM,QAAQ,OAAO,EACxD0C,GAAQ,MAAM,cAAgB,OAC9BA,GAAQ,MAAM,WAAa,uBAM3CjE,EAAa,QAAU,CACnB,OAAA4B,EACA,OAAAC,EACA,gBAAgB3C,EAAA6E,GAAA,YAAAA,EAAM,YAAN,KAAA7E,EAAmB,EACnC,KAAAgC,EACA,MAAAE,EACA,MAAAf,EACA,WAAYc,EAAK,OACjB,IAAAZ,EACA,UAAWmB,EACX,eAAgBA,EAChB,kBAAmBK,EACnB,mBAAoBA,EACpB,aAAAE,CACJ,EAEAnC,EAAY,EAAI,EAEZX,GACAA,EAAI,SAAS,CACT,SAAU,GACV,kBAAmB4C,EACnB,mBAAoBA,EACpB,UAAWL,EACX,eAAgBA,CACpB,CAAC,CAET,CAEA,IAAMe,EAAQzC,EAAa,QAE3B,GAAI,CAACyC,EAAO,OAEZP,EAAe2B,EAAG,QAClB1B,EAAe0B,EAAG,QAElBpB,EAAM,MAAM,MAAM,UAAY,aAAaoB,EAAG,QAAUpB,EAAM,MAAM,OAAOoB,EAAG,QAAUpB,EAAM,MAAM,MAEpG,IAAMG,EAAcR,EAAiB,EAKrC,GAFA,qBAAqBrC,EAAa,OAAO,EAErC6C,EAAa,CAIb,IAAMsB,EAAa,IAAM,CACrB,IAAMC,EAAKvB,EAAY,sBAAsB,EACvCwB,EAAUjC,EAAegC,EAAG,IAC5BE,EAAaF,EAAG,OAAShC,EAE3BmC,EAAW,GAEXF,EAAU,GAAKA,EAAU,IACzBxB,EAAY,WAAa,EACzB0B,EAAW,IACJD,EAAa,GAAKA,EAAa,KACtCzB,EAAY,WAAa,EACzB0B,EAAW,IAGXA,IAEItE,EAAa,UAASA,EAAa,QAAQ,eAAiB,IAChEoC,EAAiB,EACjBrC,EAAa,QAAU,sBAAsBmE,CAAU,EAE/D,EAEAA,EAAW,CACf,CACJ,EAEMK,EAAO,IAAM,CACf,SAAS,oBAAoB,cAAeX,CAAM,EAClD,SAAS,oBAAoB,YAAaW,CAAI,EAC9C,qBAAqBxE,EAAa,OAAO,EAEzC,IAAM0C,EAAQzC,EAAa,QAE3B,GAAI,CAACyC,EAAO,OAEZ,IAAM+B,EAAc/B,EAAM,qBAAuBA,EAAM,kBAEnDgC,EAAY,GAEVC,EAAW,IAAM,CA5d/C,IAAA1F,EA6d4B,GAAIyF,EAAW,OAEfA,EAAY,GACZhC,EAAM,MAAM,oBAAoB,gBAAiBiC,CAAQ,EACzD,qBAAqB3E,EAAa,OAAO,EAGzC0C,EAAM,MAAM,OAAO,EACnBA,EAAM,MAAM,OAAO,EAGnB,IAAMkC,EAA0B,CAAC,EAEjC,GAAIxF,GAAOA,EAAI,WAAW,KAAO,EAC7B,OAAW,CAAC,CAAEoC,CAAK,IAAKpC,EAAI,WACpBoC,EAAM,QAAQ,SAASoD,EAAS,KAAKpD,EAAM,QAAQ,OAAO,OAE3D7B,EAAQ,SACfiF,EAAS,KAAKjF,EAAQ,OAAO,EAMjC+C,EAAM,KAAK,MAAM,SAAW,GAC5BA,EAAM,KAAK,gBAAgB,eAAe,EAC1CA,EAAM,KAAK,aAAa,qBAAsB,EAAE,EAGhD,QAAWsB,KAAQY,EACf,QAAW7D,KAASpC,EAAiBqF,CAAI,EACrCjD,EAAM,MAAM,WAAa,OACzBA,EAAM,MAAM,UAAY,GACxBA,EAAM,MAAM,cAAgB,GAIpC8D,GAAU,IAAM,CAlgB5C,IAAA5F,EAmgBqCwF,GASDxF,EAAAG,GAAA,YAAAA,EAAK,aAAL,MAAAH,EAAA,KAAAG,EAAkB,CACd,KAAM,CAAE,YAAasD,EAAM,kBAAmB,MAAOA,EAAM,SAAU,EACrE,GAAI,CAAE,YAAaA,EAAM,mBAAoB,MAAOA,EAAM,cAAe,CAC7E,GAXIA,EAAM,YAAcA,EAAM,iBACtBtD,GAAA,MAAAA,EAAK,OACLA,EAAI,OAAO,CAAE,YAAasD,EAAM,kBAAmB,UAAWA,EAAM,UAAW,QAASA,EAAM,cAAe,CAAC,EACvGjD,GACPA,EAAO,CAAE,YAAaiD,EAAM,kBAAmB,UAAWA,EAAM,UAAW,QAASA,EAAM,cAAe,CAAC,EAS1H,CAAC,EAGD,QAAWsB,KAAQY,EAAU,CACpBZ,EAAK,aAEV,QAAWjD,KAASpC,EAAiBqF,CAAI,EACrCjD,EAAM,MAAM,WAAa,GACzBA,EAAM,MAAM,WAAa,GACzBA,EAAM,MAAM,cAAgB,EAEpC,CAEAd,EAAa,QAAU,KACvBF,EAAY,EAAK,EAEbX,GACAA,EAAI,SAAS,CACT,SAAU,GACV,kBAAmB,KACnB,mBAAoB,KACpB,UAAW,GACX,eAAgB,EACpB,CAAC,EAKL,IAAM0F,EAAkBL,EAAc/B,EAAM,mBAAqBA,EAAM,kBACjEqC,EAAW9C,GAAyB7C,GAAMH,EAAAG,EAAI,WAAW,IAAI0F,CAAe,IAAlC,YAAA7F,EAAqC,QAAQ,QAAUU,EAAQ,QAE3GoF,IACAA,EAAS,QAAQ,cAAgB,OAAOrC,EAAM,cAAc,EAC5DqC,EAAS,MAAM,EACf,OAAOA,EAAS,QAAQ,cAEhC,EAGArC,EAAM,MAAM,MAAM,WAAa,yBAC/BA,EAAM,MAAM,MAAM,QAAU,IAE5BA,EAAM,MAAM,iBAAiB,gBAAiBiC,EAAU,CAAE,KAAM,EAAK,CAAC,EAEtE,WAAW,IAAM,CACT1E,EAAa,UAAYyC,GACzBiC,EAAS,CAEjB,EAAG,GAAG,CACV,EAEA,SAAS,iBAAiB,cAAed,CAAM,EAC/C,SAAS,iBAAiB,YAAaW,CAAI,CAC/C,CACJ,EAGE9B,GAAQ,CACV,SAAA5C,CACJ,EAEMkF,GAAkB,UACpB,IAAOC,IAAA,CACH,aAAc,MACd,YAAa,sBACTnF,EAAW,CAAE,cAAe,EAAG,EAAI,QACnCP,EAAW,CAAE,gBAAiB,EAAG,EAAI,QAE7C,CAACO,EAAUP,CAAQ,CACvB,EAEM2F,GAAkB,UACpB,KAAO,CACH,qBAAsBxF,CAC1B,GACA,CAACA,CAAY,CACjB,EAEA,MAAO,CACH,MAAAgD,GACA,gBAAAhB,GACA,UAAAwD,GACA,UAAAF,EACJ,CACJ,CACJ,CAAC,EEpmBM,IAAMG,GAAiC,CAC1C,OAAQ,OACR,OAAQ,OACR,UAAW,OACX,SAAU,GACV,UAAW,GACX,YAAa,QACb,SAAU,OACV,kBAAmB,MACvB,ELFO,IAAMC,GAAcC,GAAa,CACpC,KAAM,cACN,aAAAC,GACA,MAAM,CAAE,GAAAC,EAAI,MAAAC,CAAM,EAAG,CAZzB,IAAAC,EAAAC,EAAAC,EAaQ,GAAM,CAACC,EAAaC,CAAc,EAAU,YAASJ,EAAAD,EAAM,SAAN,KAAAC,EAAgB,CAAC,CAAC,EACjE,CAACK,EAAaC,CAAc,EAAU,YAASL,EAAAF,EAAM,SAAN,KAAAE,EAAgB,CAAC,CAAC,EAEjE,YAAU,IAAM,CACdF,EAAM,SAAW,QAAWK,EAAeL,EAAM,MAAM,CAC/D,EAAG,CAACA,EAAM,MAAM,CAAC,EAEX,YAAU,IAAM,CACdA,EAAM,SAAW,QAAWO,EAAeP,EAAM,MAAM,CAC/D,EAAG,CAACA,EAAM,MAAM,CAAC,EAEjB,IAAMQ,GAAYL,EAAAH,EAAM,YAAN,KAAAG,EAAmB,CAAC,EAEhCM,EAAuB,cAAaC,GAA2BF,EAAU,QAAQE,CAAI,IAAM,GAAI,CAACF,CAAS,CAAC,EAE1GG,EAAc,CAACC,EAAsBC,EAAsBC,IAAyC,CA5BlH,IAAAb,EA6BYI,EAAeO,CAAS,EACxBL,EAAeM,CAAS,GACxBZ,EAAAD,EAAM,WAAN,MAAAC,EAAA,KAAAD,EAAiB,CAAE,cAAec,EAAO,OAAQF,EAAW,OAAQC,CAAU,EAClF,EAEME,EAAuB,SAAOJ,CAAW,EAE/CI,EAAe,QAAUJ,EAEzB,IAAMK,EAAkB,SAAOZ,CAAW,EACpCa,EAAkB,SAAOX,CAAW,EAE1CU,EAAU,QAAUZ,EACpBa,EAAU,QAAUX,EAEpB,IAAMY,EAAsBC,GAAiC,CACzD,IAAMC,EAAU,IAAI,IAEpB,QAAWC,KAAOb,EAAW,CACzB,IAAMc,EAAMH,EAAK,QAAQE,CAAG,EAExBC,IAAQ,IAAIF,EAAQ,IAAIE,CAAG,CACnC,CAEA,OAAOF,CACX,EAEMG,EAAY,CAACC,EAAgBV,IAAiC,CAChE,GAAIN,EAAU,SAAW,EAAG,OAE5B,IAAMiB,EAAQD,IAAS,SAAW,CAAC,GAAIpB,CAAyB,EAAI,CAAC,GAAIE,CAAyB,EAC5FoB,EAAkBR,EAAmBO,CAAK,EAC1CE,EAAS,CAAC,GAAGD,CAAe,EAAE,KAAK,CAAC,EAAGE,IAAM,EAAIA,CAAC,EACpDC,EAAQ,GAEZ,QAAWP,KAAOK,EACVL,EAAM,GAAK,CAACI,EAAgB,IAAIJ,EAAM,CAAC,IACvC,CAACG,EAAMH,CAAG,EAAGG,EAAMH,EAAM,CAAC,CAAC,EAAI,CAACG,EAAMH,EAAM,CAAC,EAAGG,EAAMH,CAAG,CAAC,EAC1DI,EAAgB,OAAOJ,CAAG,EAC1BI,EAAgB,IAAIJ,EAAM,CAAC,EAC3BO,EAAQ,IAIZA,IACIL,IAAS,SAAUb,EAAYc,EAAOnB,EAA0BQ,CAAK,EACpEH,EAAYP,EAA0BqB,EAAOX,CAAK,EAE/D,EAEMgB,GAAc,CAACN,EAAgBV,IAAiC,CAClE,GAAIN,EAAU,SAAW,EAAG,OAE5B,IAAMiB,EAAQD,IAAS,SAAW,CAAC,GAAIpB,CAAyB,EAAI,CAAC,GAAIE,CAAyB,EAC5FoB,EAAkBR,EAAmBO,CAAK,EAC1CE,EAAS,CAAC,GAAGD,CAAe,EAAE,KAAK,CAAC,EAAGE,IAAMA,EAAI,CAAC,EACpDC,EAAQ,GAEZ,QAAWP,KAAOK,EACVL,EAAMG,EAAM,OAAS,GAAK,CAACC,EAAgB,IAAIJ,EAAM,CAAC,IACtD,CAACG,EAAMH,CAAG,EAAGG,EAAMH,EAAM,CAAC,CAAC,EAAI,CAACG,EAAMH,EAAM,CAAC,EAAGG,EAAMH,CAAG,CAAC,EAC1DI,EAAgB,OAAOJ,CAAG,EAC1BI,EAAgB,IAAIJ,EAAM,CAAC,EAC3BO,EAAQ,IAIZA,IACIL,IAAS,SAAUb,EAAYc,EAAOnB,EAA0BQ,CAAK,EACpEH,EAAYP,EAA0BqB,EAAOX,CAAK,EAE/D,EAEMiB,GAAa,CAACP,EAAgBV,IAAiC,CACjE,GAAIN,EAAU,SAAW,EAAG,OAE5B,IAAMiB,EAAQD,IAAS,SAAYpB,EAA6BE,EAC1D0B,EAAWP,EAAM,OAAQf,GAASD,EAAeC,CAAI,CAAC,EACtDuB,EAAOR,EAAM,OAAQf,GAAS,CAACD,EAAeC,CAAI,CAAC,EACnDwB,EAAW,CAAC,GAAGF,EAAU,GAAGC,CAAI,EAElCT,IAAS,SAAUb,EAAYuB,EAAU5B,EAA0BQ,CAAK,EACvEH,EAAYP,EAA0B8B,EAAUpB,CAAK,CAC9D,EAEMqB,GAAgB,CAACX,EAAgBV,IAAiC,CACpE,GAAIN,EAAU,SAAW,EAAG,OAE5B,IAAMiB,EAAQD,IAAS,SAAYpB,EAA6BE,EAC1D0B,EAAWP,EAAM,OAAQf,GAASD,EAAeC,CAAI,CAAC,EAEtDwB,EAAW,CAAC,GADLT,EAAM,OAAQf,GAAS,CAACD,EAAeC,CAAI,CAAC,EAC9B,GAAGsB,CAAQ,EAElCR,IAAS,SAAUb,EAAYuB,EAAU5B,EAA0BQ,CAAK,EACvEH,EAAYP,EAA0B8B,EAAUpB,CAAK,CAC9D,EAEMsB,GAAgBtB,GAAiC,CA9H/D,IAAAb,EA+HY,GAAIO,EAAU,SAAW,EAAG,OAE5B,IAAM6B,EAAsBjC,EAA0B,OAAQM,GAASD,EAAeC,CAAI,CAAC,EAE3F,GAAI2B,EAAmB,SAAW,EAAG,OAErC,IAAMzB,EAAaR,EAA0B,OAAQM,GAAS,CAACD,EAAeC,CAAI,CAAC,EAC7EG,EAAY,CAAC,GAAIP,EAA2B,GAAG+B,CAAkB,EACjEC,EAAe9B,EAAU,OAAQa,GAAQ,CAACgB,EAAmB,SAAShB,CAAG,CAAC,EAEhFV,EAAYC,EAAWC,EAAWC,CAAK,GACvCb,EAAAD,EAAM,oBAAN,MAAAC,EAAA,KAAAD,EAA0B,CAAE,cAAec,EAAO,MAAOwB,CAAa,EAC1E,EAEMC,GAAgBzB,GAAiC,CA7I/D,IAAAb,EA8IY,GAAIO,EAAU,SAAW,EAAG,OAE5B,IAAMgC,EAAsBlC,EAA0B,OAAQI,GAASD,EAAeC,CAAI,CAAC,EAE3F,GAAI8B,EAAmB,SAAW,EAAG,OAErC,IAAM3B,EAAaP,EAA0B,OAAQI,GAAS,CAACD,EAAeC,CAAI,CAAC,EAC7EE,EAAY,CAAC,GAAIR,EAA2B,GAAGoC,CAAkB,EACjEF,EAAe9B,EAAU,OAAQa,GAAQ,CAACmB,EAAmB,SAASnB,CAAG,CAAC,EAEhFV,EAAYC,EAAWC,EAAWC,CAAK,GACvCb,EAAAD,EAAM,oBAAN,MAAAC,EAAA,KAAAD,EAA0B,CAAE,cAAec,EAAO,MAAOwB,CAAa,EAC1E,EAEMG,GAAmB3B,GAAiC,CA5JlE,IAAAb,EA6JY,IAAMY,EAAY,CAAC,GAAIP,EAA2B,GAAIF,CAAyB,EAE/EO,EAAY,CAAC,EAAGE,EAAWC,CAAK,GAChCb,EAAAD,EAAM,oBAAN,MAAAC,EAAA,KAAAD,EAA0B,CAAE,cAAec,EAAO,MAAO,CAAC,CAAE,EAChE,EAEM4B,GAAmB5B,GAAiC,CAnKlE,IAAAb,EAoKY,IAAMW,EAAY,CAAC,GAAIR,EAA2B,GAAIE,CAAyB,EAE/EK,EAAYC,EAAW,CAAC,EAAGE,CAAK,GAChCb,EAAAD,EAAM,oBAAN,MAAAC,EAAA,KAAAD,EAA0B,CAAE,cAAec,EAAO,MAAO,CAAC,CAAE,EAChE,EAEM,CAAE,IAAA6B,EAAI,EAAIC,GAAO,CACnB,OAAQ,CAAC,CAAE,YAAAC,EAAa,UAAAC,EAAW,QAAAC,CAAQ,IAAoE,CAC3G,IAAMvB,EAAOqB,EACPpB,EAAQD,IAAS,SAAWR,EAAU,QAAUC,EAAU,QAC1DiB,EAAWc,GAAUvB,EAAoBqB,EAAWC,CAAO,EAE7DvB,IAAS,SACTT,EAAe,QAAQmB,EAAUjB,EAAU,OAAoB,EAE/DF,EAAe,QAAQC,EAAU,QAAsBkB,CAAQ,CAEvE,EACA,WAAY,CAAC,CAAE,KAAAe,EAAM,GAAAC,CAAG,IAAsG,CAC1H,IAAMC,EAAaF,EAAK,YAClBG,EAAcD,IAAe,SAAWnC,EAAU,QAAUC,EAAU,QACtEoC,EAAYH,EAAG,cAAgB,SAAWlC,EAAU,QAAUC,EAAU,QACxEqC,EAAgBF,EAA0BH,EAAK,KAAK,EAEpDM,EAAkBH,EAA0B,OAAO,CAACI,EAAGC,IAAMA,IAAMR,EAAK,KAAK,EAC7ES,EAAe,CAAC,GAAIL,CAAuB,EAEjDK,EAAa,OAAOR,EAAG,MAAO,EAAGI,CAAY,EAEzCH,IAAe,SACfpC,EAAe,QAAQwC,EAAgBG,CAAY,EAEnD3C,EAAe,QAAQ2C,EAAcH,CAAc,CAE3D,CACJ,CAAC,EAEKI,GAAkBC,GAAqB,CACzC,IAAAjB,GACA,GAAI,SACJ,MAAOvC,EACP,SAAUJ,EAAM,UAAY,CAACA,EAAM,UACnC,YAAaA,EAAM,WACvB,CAAC,EAEK6D,EAAkBD,GAAqB,CACzC,IAAAjB,GACA,GAAI,SACJ,MAAOrC,EACP,SAAUN,EAAM,UAAY,CAACA,EAAM,UACnC,YAAaA,EAAM,WACvB,CAAC,EAEK8D,GAAaH,GAAgB,MAAM,UAAYE,EAAgB,MAAM,SAErEE,GAAiB,CAACrD,EAAesD,EAAexC,IAAmB,CACrE,IAAMyC,EAAYzC,IAAS,SAAWmC,GAAkBE,EAExD,OAAOK,IAAA,CACH,aAAc,WACd,YAAa,UACTzD,EAAeC,CAAI,EAAI,CAAE,gBAAiB,EAAG,EAAI,CAAC,GACnDuD,EAAU,gBAAgBD,CAAK,EAE1C,EAEMG,EAAmB/D,EAA0B,OAAQM,GAASD,EAAeC,CAAI,CAAC,EAClF0D,EAAmB9D,EAA0B,OAAQI,GAASD,EAAeC,CAAI,CAAC,EAClF2D,EAAqBF,EAAgB,OAAS,EAC9CG,EAAqBF,EAAgB,OAAS,EAE9CG,EAAmB,CAAC/C,EAAgBgD,EAAgBC,EAAeC,EAAwDC,KAA2B,CACxJ,aAAc,WACd,YAAa,GAAGnD,CAAI,IAAIgD,CAAM,GAC9B,KAAM,SACN,SAAUxE,EAAM,UAAY,CAAC2E,EAC7B,aAAcF,EACd,QAAUG,GAAwBF,EAAGlD,EAAMoD,CAAC,CAChD,GAEA,MAAO,CACH,MAAO,CACH,OAAQxE,EACR,OAAQE,EACR,UAAAE,EACA,SAAUsD,EACd,EACA,eAAAC,GACA,aAAA3B,GACA,aAAAG,GACA,gBAAAE,GACA,gBAAAC,GACA,UAAAnB,EACA,YAAAO,GACA,WAAAC,GACA,cAAAI,GACA,UAAW,CAAE,GAAApC,EAAI,aAAc,WAAY,YAAa,MAAO,EAC/D,gBAAiBmE,EAAA,CAAE,aAAc,WAAY,YAAa,eAAkBP,GAAgB,WAC5F,gBAAiBO,EAAA,CAAE,aAAc,WAAY,YAAa,eAAkBL,EAAgB,WAC5F,oBAAqB,CAAE,aAAc,WAAY,YAAa,iBAAkB,EAChF,oBAAqB,CAAE,aAAc,WAAY,YAAa,iBAAkB,EAChF,kBAAmB,CAAE,aAAc,WAAY,YAAa,iBAAkB,KAAM,SAAmB,SAAU7D,EAAM,UAAY,CAACqE,EAAoB,aAAc,iBAAkB,QAAUO,GAAwBxC,GAAawC,CAAC,CAAE,EAC1O,qBAAsB,CAClB,aAAc,WACd,YAAa,qBACb,KAAM,SACN,SAAU5E,EAAM,UAAaI,EAA0B,SAAW,EAClE,aAAc,qBACd,QAAUwE,GAAwBnC,GAAgBmC,CAAC,CACvD,EACA,kBAAmB,CAAE,aAAc,WAAY,YAAa,iBAAkB,KAAM,SAAmB,SAAU5E,EAAM,UAAY,CAACsE,EAAoB,aAAc,iBAAkB,QAAUM,GAAwBrC,GAAaqC,CAAC,CAAE,EAC1O,qBAAsB,CAClB,aAAc,WACd,YAAa,qBACb,KAAM,SACN,SAAU5E,EAAM,UAAaM,EAA0B,SAAW,EAClE,aAAc,qBACd,QAAUsE,GAAwBlC,GAAgBkC,CAAC,CACvD,EACA,gBAAiBL,EAAiB,SAAU,OAAQ,UAAWhD,EAAW8C,CAAkB,EAC5F,gBAAiBE,EAAiB,SAAU,OAAQ,YAAazC,GAAauC,CAAkB,EAChG,iBAAkBE,EAAiB,SAAU,QAAS,WAAYxC,GAAYsC,CAAkB,EAChG,gBAAiBE,EAAiB,SAAU,OAAQ,cAAepC,GAAekC,CAAkB,EACpG,gBAAiBE,EAAiB,SAAU,OAAQ,UAAWhD,EAAW+C,CAAkB,EAC5F,gBAAiBC,EAAiB,SAAU,OAAQ,YAAazC,GAAawC,CAAkB,EAChG,iBAAkBC,EAAiB,SAAU,QAAS,WAAYxC,GAAYuC,CAAkB,EAChG,gBAAiBC,EAAiB,SAAU,OAAQ,cAAepC,GAAemC,CAAkB,CACxG,CACJ,CACJ,CAAC","names":["arrayMove","withHeadless","React","withHeadless","React","defaultProps","INITIAL_STATE","createCoordinator","uid","containers","state","__spreadValues","subscribers","notify","fn","update","NOOP_SUBSCRIBE","useDnd","withHeadless","defaultProps","props","dndId","coordinatorRef","dnd","subscribe","getSnapshot","rootProps","withHeadless","React","flushSync","defaultProps","getSortableItems","listEl","useSortableContainer","withHeadless","defaultProps","props","_a","_b","_c","dnd","id","items","disabled","placeholderMode","onSort","scopedListId","listRef","itemsRef","c","dragging","setDragging","scrollRafRef","dragStateRef","applyShifts","fromIndex","projectedIndex","draggedNode","clone","itemHeight","gap","shift","realItems","i","logicalIndex","offset","clearShifts","child","getListGap","children","createGhost","node","rect","ghost","discoverListRefs","cId","cInfo","scopedId","getItemDndProps","index","e","startX","startY","activated","containerId","hasMultipleContainers","itemsAtStart","lastPointerX","lastPointerY","updateProjection","_d","_e","_f","_g","state","hoveredContainerId","cRect","hoveredList","oList","scrollDelta","dy","step","hoveredItems","projected","listRect","listPadding","relY","sideChanged","oldList","hoveredStep","listScrollTop","cloneFixedTop","last","onMove","ev","dist","list","listEl2","sibling","autoScroll","lr","distTop","distBottom","scrolled","onUp","isCrossList","finalized","finalize","allLists","flushSync","dropContainerId","dropList","rootProps","__spreadValues","listProps","defaultProps","usePickList","withHeadless","defaultProps","id","props","_a","_b","_c","sourceState","setSourceState","targetState","setTargetState","selection","isItemSelected","item","updateLists","newSource","newTarget","event","updateListsRef","sourceRef","targetRef","getSelectedIndices","list","indices","sel","idx","reorderUp","side","items","selectedIndices","sorted","b","moved","reorderDown","reorderTop","selected","rest","newItems","reorderBottom","moveToTarget","selectedFromSource","newSelection","moveToSource","selectedFromTarget","moveAllToTarget","moveAllToSource","dnd","useDnd","containerId","fromIndex","toIndex","arrayMove","from","to","originSide","originItems","destItems","transferItem","filteredOrigin","_","i","insertedDest","sourceContainer","useSortableContainer","targetContainer","isDragging","getOptionProps","index","container","__spreadValues","sourceSelection","targetSelection","hasSourceSelection","hasTargetSelection","makeReorderProps","action","label","fn","hasSelection","e"]}
@@ -0,0 +1,153 @@
1
+ import * as React from 'react';
2
+ type ListSide = 'source' | 'target';
3
+ export declare const usePickList: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/picklist").UsePickListProps<unknown>, unknown, {
4
+ state: {
5
+ source: unknown[];
6
+ target: unknown[];
7
+ selection: unknown[];
8
+ dragging: boolean;
9
+ };
10
+ getOptionProps: (item: unknown, index: number, side: ListSide) => {
11
+ 'data-sortable-item': string;
12
+ 'data-sortable-container': string;
13
+ onPointerDown?: undefined;
14
+ 'data-selected'?: string | undefined;
15
+ 'data-scope': string;
16
+ 'data-part': string;
17
+ } | {
18
+ 'data-sortable-item': string;
19
+ 'data-sortable-container': string;
20
+ onPointerDown: (e: React.PointerEvent<HTMLElement>) => void;
21
+ 'data-selected'?: string | undefined;
22
+ 'data-scope': string;
23
+ 'data-part': string;
24
+ };
25
+ moveToTarget: (event?: React.SyntheticEvent) => void;
26
+ moveToSource: (event?: React.SyntheticEvent) => void;
27
+ moveAllToTarget: (event?: React.SyntheticEvent) => void;
28
+ moveAllToSource: (event?: React.SyntheticEvent) => void;
29
+ reorderUp: (side: ListSide, event?: React.SyntheticEvent) => void;
30
+ reorderDown: (side: ListSide, event?: React.SyntheticEvent) => void;
31
+ reorderTop: (side: ListSide, event?: React.SyntheticEvent) => void;
32
+ reorderBottom: (side: ListSide, event?: React.SyntheticEvent) => void;
33
+ rootProps: {
34
+ id: string | undefined;
35
+ 'data-scope': string;
36
+ 'data-part': string;
37
+ };
38
+ sourceListProps: {
39
+ 'data-sortable-list': string;
40
+ 'data-scope': string;
41
+ 'data-part': string;
42
+ };
43
+ targetListProps: {
44
+ 'data-sortable-list': string;
45
+ 'data-scope': string;
46
+ 'data-part': string;
47
+ };
48
+ sourceControlsProps: {
49
+ 'data-scope': string;
50
+ 'data-part': string;
51
+ };
52
+ targetControlsProps: {
53
+ 'data-scope': string;
54
+ 'data-part': string;
55
+ };
56
+ moveToTargetProps: {
57
+ 'data-scope': string;
58
+ 'data-part': string;
59
+ type: "button";
60
+ disabled: boolean;
61
+ 'aria-label': string;
62
+ onClick: (e: React.MouseEvent) => void;
63
+ };
64
+ moveAllToTargetProps: {
65
+ 'data-scope': string;
66
+ 'data-part': string;
67
+ type: "button";
68
+ disabled: boolean;
69
+ 'aria-label': string;
70
+ onClick: (e: React.MouseEvent) => void;
71
+ };
72
+ moveToSourceProps: {
73
+ 'data-scope': string;
74
+ 'data-part': string;
75
+ type: "button";
76
+ disabled: boolean;
77
+ 'aria-label': string;
78
+ onClick: (e: React.MouseEvent) => void;
79
+ };
80
+ moveAllToSourceProps: {
81
+ 'data-scope': string;
82
+ 'data-part': string;
83
+ type: "button";
84
+ disabled: boolean;
85
+ 'aria-label': string;
86
+ onClick: (e: React.MouseEvent) => void;
87
+ };
88
+ sourcePrevProps: {
89
+ 'data-scope': string;
90
+ 'data-part': string;
91
+ type: "button";
92
+ disabled: boolean;
93
+ 'aria-label': string;
94
+ onClick: (e: React.MouseEvent) => void;
95
+ };
96
+ sourceNextProps: {
97
+ 'data-scope': string;
98
+ 'data-part': string;
99
+ type: "button";
100
+ disabled: boolean;
101
+ 'aria-label': string;
102
+ onClick: (e: React.MouseEvent) => void;
103
+ };
104
+ sourceFirstProps: {
105
+ 'data-scope': string;
106
+ 'data-part': string;
107
+ type: "button";
108
+ disabled: boolean;
109
+ 'aria-label': string;
110
+ onClick: (e: React.MouseEvent) => void;
111
+ };
112
+ sourceLastProps: {
113
+ 'data-scope': string;
114
+ 'data-part': string;
115
+ type: "button";
116
+ disabled: boolean;
117
+ 'aria-label': string;
118
+ onClick: (e: React.MouseEvent) => void;
119
+ };
120
+ targetPrevProps: {
121
+ 'data-scope': string;
122
+ 'data-part': string;
123
+ type: "button";
124
+ disabled: boolean;
125
+ 'aria-label': string;
126
+ onClick: (e: React.MouseEvent) => void;
127
+ };
128
+ targetNextProps: {
129
+ 'data-scope': string;
130
+ 'data-part': string;
131
+ type: "button";
132
+ disabled: boolean;
133
+ 'aria-label': string;
134
+ onClick: (e: React.MouseEvent) => void;
135
+ };
136
+ targetFirstProps: {
137
+ 'data-scope': string;
138
+ 'data-part': string;
139
+ type: "button";
140
+ disabled: boolean;
141
+ 'aria-label': string;
142
+ onClick: (e: React.MouseEvent) => void;
143
+ };
144
+ targetLastProps: {
145
+ 'data-scope': string;
146
+ 'data-part': string;
147
+ type: "button";
148
+ disabled: boolean;
149
+ 'aria-label': string;
150
+ onClick: (e: React.MouseEvent) => void;
151
+ };
152
+ }>;
153
+ export {};