@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,14 @@
1
- export declare const useDivider: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/divider").useDividerProps, unknown, Record<PropertyKey, unknown>>;
1
+ export declare const useDivider: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/divider").UseDividerProps, unknown, {
2
+ rootProps: {
3
+ 'data-scope': string;
4
+ 'data-part': string;
5
+ role: "separator";
6
+ 'aria-orientation': "horizontal" | "vertical" | undefined;
7
+ 'data-orientation': "horizontal" | "vertical" | undefined;
8
+ 'data-align': "top" | "center" | "left" | "right" | "bottom" | undefined;
9
+ };
10
+ contentProps: {
11
+ 'data-scope': string;
12
+ 'data-part': string;
13
+ };
14
+ }>;
@@ -1,2 +1,2 @@
1
- import type { useDividerProps } from '@primereact/types/shared/divider';
2
- export declare const defaultProps: useDividerProps;
1
+ import type { UseDividerProps } from '@primereact/types/headless/divider';
2
+ export declare const defaultProps: UseDividerProps;
package/dnd/index.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ export * from './useDnd';
2
+ export { defaultProps as defaultDndProps } from './useDnd.props';
3
+ export * from './useDraggable';
4
+ export { defaultProps as defaultDraggableProps } from './useDraggable.props';
5
+ export * from './useDroppable';
6
+ export { defaultProps as defaultDroppableProps } from './useDroppable.props';
7
+ export * from './useSortable';
8
+ export { defaultProps as defaultSortableProps } from './useSortable.props';
9
+ export * from './useSortableContainer';
10
+ export { defaultProps as defaultSortableContainerProps } from './useSortableContainer.props';
11
+ export type * from '@primereact/types/headless/dnd';
package/dnd/index.mjs ADDED
@@ -0,0 +1,2 @@
1
+ var Te=Object.defineProperty,Me=Object.defineProperties;var Le=Object.getOwnPropertyDescriptors;var be=Object.getOwnPropertySymbols;var He=Object.prototype.hasOwnProperty,we=Object.prototype.propertyIsEnumerable;var he=(n,e,o)=>e in n?Te(n,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[e]=o,b=(n,e)=>{for(var o in e||(e={}))He.call(e,o)&&he(n,o,e[o]);if(be)for(var o of be(e))we.call(e,o)&&he(n,o,e[o]);return n},ye=(n,e)=>Me(n,Le(e));import{withHeadless as ke}from"@primereact/core/headless";import*as w from"react";var te={onSort:void 0,onTransfer:void 0};var ne={dragging:!1,activeContainerId:null,currentContainerId:null,fromIndex:-1,projectedIndex:-1};function $e(n){let e=new Map,o=b({},ne),s=new Set,g=()=>{for(let u of s)u()};return{uid:n,containers:e,getState(){return o},subscribe(u){return s.add(u),()=>{s.delete(u)}},setState(u){o=b(b({},o),u),g()},onSort:void 0,onTransfer:void 0}}var Ae=()=>()=>{},Ke=ke({name:"useDnd",defaultProps:te,setup({props:n}){let e=w.useId(),o=w.useRef(null);o.current||(o.current=$e(e));let s=o.current;s.onSort=n.onSort,s.onTransfer=n.onTransfer;let g=w.useCallback(k=>s.subscribe(k),[s]),u=w.useCallback(()=>s.getState(),[s]),y={dragging:w.useSyncExternalStore(s?g:Ae,s?u:()=>ne,()=>ne).dragging},c=b({"data-scope":"dnd","data-part":"root"},y.dragging?{"data-dragging":""}:void 0);return{state:y,dnd:s,rootProps:c}}});import{withHeadless as Be}from"@primereact/core/headless";import*as C from"react";var oe={dnd:void 0,id:void 0,disabled:!1,scope:void 0,data:void 0,sensor:"both",pointerOptions:void 0,keyboardOptions:void 0};var Oe=()=>()=>{},et=Be({name:"useDraggable",defaultProps:oe,setup({props:n,elementRef:e}){var k;let o=n.dnd,s=n.id,g=C.useRef((k=n.data)!=null?k:{});C.useEffect(()=>{var l;g.current=(l=n.data)!=null?l:{}},[n.data]),C.useEffect(()=>{var T;if(!o||s==null)return;let l=(T=e==null?void 0:e.current)!=null?T:null;return o.registerDraggable({id:s,node:l,disabled:n.disabled,scope:n.scope,get data(){return g.current}})},[o,s,n.disabled,n.scope,e]),C.useEffect(()=>{if(!o||s==null||n.disabled)return;let l=e==null?void 0:e.current;if(!l)return;let F=[];return n.sensor!=="keyboard"&&F.push(o.attachPointerSensor(l,s,n.pointerOptions)),n.sensor!=="pointer"&&F.push(o.attachKeyboardSensor(l,s,n.keyboardOptions)),()=>{for(let T of F)T()}},[o,s,n.disabled,n.sensor,n.pointerOptions,n.keyboardOptions,e]);let u=C.useCallback(l=>o?o.subscribe(l):()=>{},[o]),R=C.useSyncExternalStore(o?u:Oe,()=>{var l;return o?((l=o.getState().operation)==null?void 0:l.activeId)===s:!1},()=>!1),y={isDragging:R},c=C.useMemo(()=>ye(b(b({"data-scope":"dnd","data-part":"draggable"},R?{"data-dragging":""}:void 0),n.disabled?{"data-disabled":""}:void 0),{tabIndex:n.disabled?-1:0,role:"button","aria-roledescription":"draggable"}),[R,n.disabled]);return{state:y,rootProps:c}}});import{withHeadless as Ue}from"@primereact/core/headless";import*as j from"react";var re={dnd:void 0,id:void 0,disabled:!1,accept:void 0,data:void 0,canDrop:void 0};var je=()=>()=>{},at=Ue({name:"useDroppable",defaultProps:re,setup({props:n,elementRef:e}){let o=n.dnd,s=n.id;j.useEffect(()=>{var l;if(!o||s==null)return;let c=(l=e==null?void 0:e.current)!=null?l:null;return o.registerDroppable({id:s,node:c,disabled:n.disabled,accept:n.accept,data:n.data,canDrop:n.canDrop})},[o,s,n.disabled,n.accept,n.data,n.canDrop,e]);let g=j.useCallback(c=>o?o.subscribe(c):()=>{},[o]),u=j.useSyncExternalStore(o?g:je,()=>{if(!o||s==null)return!1;let c=o.getState().collisions;return c.length>0&&c[0].id===s},()=>!1),R={isOver:u},y=j.useMemo(()=>b(b({"data-scope":"dnd","data-part":"droppable"},u?{"data-over":""}:void 0),n.disabled?{"data-disabled":""}:void 0),[u,n.disabled]);return{state:R,rootProps:y}}});import{withHeadless as Ye}from"@primereact/core/headless";import*as J from"react";var se={dnd:void 0,id:void 0,index:void 0,disabled:!1};var Fe=()=>()=>{},ft=Ye({name:"useSortable",defaultProps:se,setup({props:n}){let e=n.dnd,o=n.id,s=J.useCallback(y=>e?e.subscribe(y):()=>{},[e]),g=J.useSyncExternalStore(e?s:Fe,()=>{if(!e||o==null)return!1;let y=e.getState();return y.dragging&&y.fromIndex===n.index},()=>!1),u={isDragging:g},R=J.useMemo(()=>b(b({"data-scope":"dnd","data-part":"sortable"},g?{"data-dragging":""}:void 0),n.disabled?{"data-disabled":""}:void 0),[g,n.disabled]);return{state:u,rootProps:R}}});import{withHeadless as Ne}from"@primereact/core/headless";import*as I from"react";import{flushSync as Xe}from"react-dom";var ae={dnd:void 0,id:void 0,items:void 0,disabled:!1,placeholder:"empty",onSort:void 0};var Y=n=>Array.from(n.querySelectorAll(":scope > [data-sortable-item]")),It=Ne({name:"useSortableContainer",defaultProps:ae,setup({props:n}){var ie,de,ce;let e=n.dnd,o=n.id,s=(ie=n.items)!=null?ie:[],g=(de=n.disabled)!=null?de:!1,u=(ce=n.placeholder)!=null?ce:"clone",R=n.onSort,y=e?`${e.uid}_${o}`:String(o),c=I.useRef(null);I.useEffect(()=>{if(!(!e||o==null))return e.containers.set(o,{listRef:c,items:s}),()=>{e.containers.delete(o)}},[e,o]);let k=I.useRef(s);k.current=s,I.useEffect(()=>{if(e&&o!=null){let f=e.containers.get(o);f&&(f.items=s)}},[e,o,s]);let[l,F]=I.useState(!1),T=I.useRef(0),$=I.useRef(null),Ie=(f,i,r,N,G,Q,V)=>{let X=Q+V,A=Y(f);for(let E=0;E<A.length;E++){let B=E<i?E:E+1,O=0;i<r?B>i&&B<=r&&(O=-X):i>r&&B>=r&&B<i&&(O=X),A[E].style.transform=O?`translateY(${O}px)`:""}G.style.transform=r!==i?`translateY(${(r-i)*X}px)`:""},xe=f=>{if(f)for(let i of Y(f))i.style.transform=""},Se=f=>{let i=Y(f);return i.length>1?i[1].getBoundingClientRect().top-i[0].getBoundingClientRect().bottom:4},Ce=(f,i)=>{let r=f.cloneNode(!0);return r.setAttribute("inert","true"),r.removeAttribute("data-sortable-item"),r.removeAttribute("data-sortable-container"),r.style.position="fixed",r.style.zIndex="9999",r.style.pointerEvents="none",r.style.width=`${i.width}px`,r.style.height=`${i.height}px`,r.style.left=`${i.left}px`,r.style.top=`${i.top}px`,r.style.margin="0",r.style.transform="translate(0px, 0px)",r.style.transition="none",r.style.opacity="0.9",r.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(r),r},Re=()=>{if(e){for(let[f,i]of e.containers)if(!i.listRef.current||!i.listRef.current.isConnected){let r=`${e.uid}_${f}`,N=document.querySelector(`[data-sortable-list="${r}"]`);N&&(i.listRef.current=N)}}},Ee=f=>g?{"data-sortable-item":"","data-sortable-container":String(o)}:{"data-sortable-item":"","data-sortable-container":String(o),onPointerDown:i=>{if(i.button!==0||g)return;let r=i.currentTarget,N=r.parentElement;if(N&&(c.current=N,e&&o!=null)){let t=e.containers.get(o);t&&(t.listRef.current=N)}Re();let G=r.getBoundingClientRect(),Q=i.clientX,V=i.clientY,X=!1,A=o,E=e?e.containers.size>1:!1,B=new Map;if(e)for(let[t,h]of e.containers)B.set(t,[...h.items]);else B.set(o,[...k.current]);let O=Q,_=V,le=()=>{var z,U,v,L,W,pe,me;let t=$.current;if(!t)return;let h=t.originContainerId;if(E&&e)for(let[m,H]of e.containers){if(!H.listRef.current||!H.listRef.current.isConnected){let ge=`${e.uid}_${m}`,Z=document.querySelector(`[data-sortable-list="${ge}"]`);Z&&(H.listRef.current=Z)}let P=(z=H.listRef.current)==null?void 0:z.getBoundingClientRect();if(P&&O>=P.left&&O<=P.right&&_>=P.top&&_<=P.bottom){h=m;break}}let p=E&&e?(U=e.containers.get(h))==null?void 0:U.listRef.current:c.current;if(!p)return;let x=E&&e?(v=e.containers.get(t.originContainerId))==null?void 0:v.listRef.current:c.current,M=((L=x==null?void 0:x.scrollTop)!=null?L:0)-t.startScrollTop,K=_-t.startY,D=t.itemHeight+t.gap,S=(W=t.itemsAtStart.get(h))!=null?W:[],d;if(h===t.originContainerId)d=t.fromIndex+Math.round((K+M)/D),d=Math.max(0,Math.min(S.length-1,d));else{let m=p.getBoundingClientRect(),H=parseFloat(getComputedStyle(p).paddingTop)||0,P=_-m.top-H;d=Math.round(P/D),d=Math.max(0,Math.min(S.length,d))}let a=h!==t.currentContainerId;if(a||d!==t.projectedIndex){if(a&&e){let m=(pe=e.containers.get(t.currentContainerId))==null?void 0:pe.listRef.current;m&&xe(m)}if(t.currentContainerId=h,t.projectedIndex=d,e&&e.setState({currentContainerId:h,projectedIndex:d}),h===t.originContainerId)a&&((me=t.node.parentElement)==null||me.insertBefore(t.clone,t.node)),t.clone.style.height=`${t.itemHeight}px`,t.clone.style.overflow="",Ie(p,t.fromIndex,d,t.node,t.clone,t.itemHeight,t.gap);else{let m=Y(p),H=m.length>=2?m[1].getBoundingClientRect().top-m[0].getBoundingClientRect().top:t.itemHeight+t.gap;a&&(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",p.style.position="");let P=p.getBoundingClientRect(),ge=p.scrollTop,Z=parseFloat(getComputedStyle(p).paddingTop)||0,ee;if(m.length===0)ee=P.top+Z;else if(d<m.length)ee=m[d].getBoundingClientRect().top;else{let q=m[m.length-1];ee=q.getBoundingClientRect().bottom+(H-q.getBoundingClientRect().height)}t.clone.style.top=`${ee}px`,t.clone.style.left=`${P.left}px`,t.clone.style.width=`${P.width}px`,t.clone.style.transform="";for(let q=0;q<m.length;q++)m[q].style.transform=q>=d?`translateY(${H}px)`:""}}return p},ue=t=>{var M,K,D;let h=Math.sqrt((t.clientX-Q)**2+(t.clientY-V)**2);if(!X&&h<5)return;if(!X){X=!0;let S=c.current,d=S?Se(S):4,a;u==="empty"?a=document.createElement(r.tagName):a=r.cloneNode(!0),a.setAttribute("inert","true"),a.setAttribute("data-sortable-placeholder",""),a.removeAttribute("data-sortable-item"),a.removeAttribute("data-sortable-container"),a.style.width=`${G.width}px`,a.style.height=`${G.height}px`,a.style.flexShrink="0",a.style.transition="transform 200ms ease, opacity 150ms ease",a.style.opacity="0",(M=r.parentElement)==null||M.insertBefore(a,r),requestAnimationFrame(()=>{a.style.opacity="1"}),(K=c.current)==null||K.blur();let z=Ce(r,G);r.setAttribute("data-dragging",""),r.removeAttribute("data-sortable-item"),r.style.position="absolute",r.style.visibility="hidden",r.style.pointerEvents="none";let U=r.parentElement;if(U)for(let v of Y(U))v!==r&&(v.style.pointerEvents="none",v.style.transition="transform 200ms ease");if(e){for(let[v,L]of e.containers)if(v!==A&&L.listRef.current)for(let W of Y(L.listRef.current))W.style.pointerEvents="none",W.style.transition="transform 200ms ease"}$.current={startX:Q,startY:V,startScrollTop:(D=S==null?void 0:S.scrollTop)!=null?D:0,node:r,ghost:z,clone:a,itemHeight:G.height,gap:d,fromIndex:f,projectedIndex:f,originContainerId:A,currentContainerId:A,itemsAtStart:B},F(!0),e&&e.setState({dragging:!0,activeContainerId:A,currentContainerId:A,fromIndex:f,projectedIndex:f})}let p=$.current;if(!p)return;O=t.clientX,_=t.clientY,p.ghost.style.transform=`translate(${t.clientX-p.startX}px, ${t.clientY-p.startY}px)`;let x=le();if(cancelAnimationFrame(T.current),x){let a=()=>{let z=x.getBoundingClientRect(),U=_-z.top,v=z.bottom-_,L=!1;U>0&&U<40?(x.scrollTop-=8,L=!0):v>0&&v<40&&(x.scrollTop+=8,L=!0),L&&($.current&&($.current.projectedIndex=-1),le(),T.current=requestAnimationFrame(a))};a()}},fe=()=>{document.removeEventListener("pointermove",ue),document.removeEventListener("pointerup",fe),cancelAnimationFrame(T.current);let t=$.current;if(!t)return;let h=t.currentContainerId!==t.originContainerId,p=!1,x=()=>{var S;if(p)return;p=!0,t.ghost.removeEventListener("transitionend",x),cancelAnimationFrame(T.current),t.ghost.remove(),t.clone.remove();let M=[];if(e&&e.containers.size>1)for(let[,d]of e.containers)d.listRef.current&&M.push(d.listRef.current);else c.current&&M.push(c.current);t.node.style.position="",t.node.removeAttribute("data-dragging"),t.node.setAttribute("data-sortable-item","");for(let d of M)for(let a of Y(d))a.style.transition="none",a.style.transform="",a.style.pointerEvents="";Xe(()=>{var d;h?(d=e==null?void 0:e.onTransfer)==null||d.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}):R&&R({containerId:t.originContainerId,fromIndex:t.fromIndex,toIndex:t.projectedIndex}))});for(let d of M){d.offsetHeight;for(let a of Y(d))a.style.transition="",a.style.visibility="",a.style.pointerEvents=""}$.current=null,F(!1),e&&e.setState({dragging:!1,activeContainerId:null,currentContainerId:null,fromIndex:-1,projectedIndex:-1});let K=h?t.currentContainerId:t.originContainerId,D=E&&e?(S=e.containers.get(K))==null?void 0:S.listRef.current:c.current;D&&(D.dataset.dndFocusIndex=String(t.projectedIndex),D.focus(),delete D.dataset.dndFocusIndex)};t.ghost.style.transition="opacity 150ms ease-out",t.ghost.style.opacity="0",t.ghost.addEventListener("transitionend",x,{once:!0}),setTimeout(()=>{$.current===t&&x()},200)};document.addEventListener("pointermove",ue),document.addEventListener("pointerup",fe)}},ve={dragging:l},Pe=I.useMemo(()=>b(b({"data-scope":"dnd","data-part":"sortable-container"},l?{"data-active":""}:void 0),g?{"data-disabled":""}:void 0),[l,g]),De=I.useMemo(()=>({"data-sortable-list":y}),[y]);return{state:ve,getItemDndProps:Ee,listProps:De,rootProps:Pe}}});export{te as defaultDndProps,oe as defaultDraggableProps,re as defaultDroppableProps,ae as defaultSortableContainerProps,se as defaultSortableProps,Ke as useDnd,et as useDraggable,at as useDroppable,ft as useSortable,It as useSortableContainer};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/dnd/useDnd.ts","../../src/dnd/useDnd.props.ts","../../src/dnd/useDraggable.ts","../../src/dnd/useDraggable.props.ts","../../src/dnd/useDroppable.ts","../../src/dnd/useDroppable.props.ts","../../src/dnd/useSortable.ts","../../src/dnd/useSortable.props.ts","../../src/dnd/useSortableContainer.ts","../../src/dnd/useSortableContainer.props.ts"],"sourcesContent":["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 type { DragData } from '@primereact/types/primitive/dnd';\nimport * as React from 'react';\nimport { defaultProps } from './useDraggable.props';\n\nconst NOOP_SUBSCRIBE = () => () => {};\n\nexport const useDraggable = withHeadless({\n name: 'useDraggable',\n defaultProps,\n setup({ props, elementRef }) {\n const dnd = props.dnd;\n const id = props.id;\n\n // ── Store data in ref for getter freshness ───────────────────\n const dataRef = React.useRef<DragData>(props.data ?? {});\n\n React.useEffect(() => {\n dataRef.current = props.data ?? {};\n }, [props.data]);\n\n // ── Register draggable with DndInstance ──────────────────────\n React.useEffect(() => {\n if (!dnd || id == null) return;\n\n const node = elementRef?.current ?? null;\n\n const cleanup = dnd.registerDraggable({\n id,\n node,\n disabled: props.disabled,\n scope: props.scope,\n get data() {\n return dataRef.current;\n }\n });\n\n return cleanup;\n }, [dnd, id, props.disabled, props.scope, elementRef]);\n\n // ── Attach sensors ───────────────────────────────────────────\n React.useEffect(() => {\n if (!dnd || id == null || props.disabled) return;\n\n const node = elementRef?.current;\n\n if (!node) return;\n\n const cleanups: (() => void)[] = [];\n\n if (props.sensor !== 'keyboard') {\n cleanups.push(dnd.attachPointerSensor(node, id, props.pointerOptions));\n }\n\n if (props.sensor !== 'pointer') {\n cleanups.push(dnd.attachKeyboardSensor(node, id, props.keyboardOptions));\n }\n\n return () => {\n for (const cleanup of cleanups) cleanup();\n };\n }, [dnd, id, props.disabled, props.sensor, props.pointerOptions, props.keyboardOptions, elementRef]);\n\n // ── Derive isDragging from DndInstance state ─────────────────\n const subscribe = React.useCallback((listener: () => void) => (dnd ? dnd.subscribe(listener) : () => {}), [dnd]);\n\n const isDragging = React.useSyncExternalStore(\n dnd ? subscribe : NOOP_SUBSCRIBE,\n () => (dnd ? dnd.getState().operation?.activeId === id : false),\n () => false\n );\n\n const state = {\n isDragging\n };\n\n // ── Prop getter ──────────────────────────────────────────────\n const rootProps = React.useMemo(\n () => ({\n 'data-scope': 'dnd',\n 'data-part': 'draggable',\n ...(isDragging ? { 'data-dragging': '' } : undefined),\n ...(props.disabled ? { 'data-disabled': '' } : undefined),\n tabIndex: props.disabled ? -1 : 0,\n role: 'button',\n 'aria-roledescription': 'draggable'\n }),\n [isDragging, props.disabled]\n );\n\n return {\n state,\n rootProps\n };\n }\n});\n","import type { UseDraggableProps } from '@primereact/types/headless/dnd';\n\nexport const defaultProps: UseDraggableProps = {\n dnd: undefined,\n id: undefined,\n disabled: false,\n scope: undefined,\n data: undefined,\n sensor: 'both',\n pointerOptions: undefined,\n keyboardOptions: undefined\n};\n","import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './useDroppable.props';\n\nconst NOOP_SUBSCRIBE = () => () => {};\n\nexport const useDroppable = withHeadless({\n name: 'useDroppable',\n defaultProps,\n setup({ props, elementRef }) {\n const dnd = props.dnd;\n const id = props.id;\n\n // ── Register droppable with DndInstance ──────────────────────\n React.useEffect(() => {\n if (!dnd || id == null) return;\n\n const node = elementRef?.current ?? null;\n\n const cleanup = dnd.registerDroppable({\n id,\n node,\n disabled: props.disabled,\n accept: props.accept,\n data: props.data,\n canDrop: props.canDrop\n });\n\n return cleanup;\n }, [dnd, id, props.disabled, props.accept, props.data, props.canDrop, elementRef]);\n\n // ── Derive isOver from DndInstance state ─────────────────────\n const subscribe = React.useCallback((listener: () => void) => (dnd ? dnd.subscribe(listener) : () => {}), [dnd]);\n\n const isOver = React.useSyncExternalStore(\n dnd ? subscribe : NOOP_SUBSCRIBE,\n () => {\n if (!dnd || id == null) return false;\n\n const collisions = dnd.getState().collisions;\n\n return collisions.length > 0 && collisions[0].id === id;\n },\n () => false\n );\n\n const state = {\n isOver\n };\n\n // ── Prop getter ──────────────────────────────────────────────\n const rootProps = React.useMemo(\n () => ({\n 'data-scope': 'dnd',\n 'data-part': 'droppable',\n ...(isOver ? { 'data-over': '' } : undefined),\n ...(props.disabled ? { 'data-disabled': '' } : undefined)\n }),\n [isOver, props.disabled]\n );\n\n return {\n state,\n rootProps\n };\n }\n});\n","import type { UseDroppableProps } from '@primereact/types/headless/dnd';\n\nexport const defaultProps: UseDroppableProps = {\n dnd: undefined,\n id: undefined,\n disabled: false,\n accept: undefined,\n data: undefined,\n canDrop: undefined\n};\n","import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport type { DndCoordinator } from './useDnd';\nimport { defaultProps } from './useSortable.props';\n\nconst NOOP_SUBSCRIBE = () => () => {};\n\nexport const useSortable = withHeadless({\n name: 'useSortable',\n defaultProps,\n setup({ props }) {\n const dnd = props.dnd as DndCoordinator | undefined;\n const id = props.id;\n\n const subscribe = React.useCallback((listener: () => void) => (dnd ? dnd.subscribe(listener) : () => {}), [dnd]);\n\n const isDragging = React.useSyncExternalStore(\n dnd ? subscribe : NOOP_SUBSCRIBE,\n () => {\n if (!dnd || id == null) return false;\n\n const state = dnd.getState();\n\n return state.dragging && state.fromIndex === props.index;\n },\n () => false\n );\n\n const state = {\n isDragging\n };\n\n const rootProps = React.useMemo(\n () => ({\n 'data-scope': 'dnd',\n 'data-part': 'sortable',\n ...(isDragging ? { 'data-dragging': '' } : undefined),\n ...(props.disabled ? { 'data-disabled': '' } : undefined)\n }),\n [isDragging, props.disabled]\n );\n\n return {\n state,\n rootProps\n };\n }\n});\n","import type { UseSortableProps } from '@primereact/types/headless/dnd';\n\nexport const defaultProps: UseSortableProps = {\n dnd: undefined,\n id: undefined,\n index: undefined,\n disabled: false\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"],"mappings":"8bAAA,OAAS,gBAAAA,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,4BAE7B,UAAYC,MAAW,QCAhB,IAAMC,GAAkC,CAC3C,IAAK,OACL,GAAI,OACJ,SAAU,GACV,MAAO,OACP,KAAM,OACN,OAAQ,OACR,eAAgB,OAChB,gBAAiB,MACrB,EDNA,IAAMC,GAAiB,IAAM,IAAM,CAAC,EAEvBC,GAAeC,GAAa,CACrC,KAAM,eACN,aAAAC,GACA,MAAM,CAAE,MAAAC,EAAO,WAAAC,CAAW,EAAG,CAVjC,IAAAC,EAWQ,IAAMC,EAAMH,EAAM,IACZI,EAAKJ,EAAM,GAGXK,EAAgB,UAAiBH,EAAAF,EAAM,OAAN,KAAAE,EAAc,CAAC,CAAC,EAEjD,YAAU,IAAM,CAjB9B,IAAAA,EAkBYG,EAAQ,SAAUH,EAAAF,EAAM,OAAN,KAAAE,EAAc,CAAC,CACrC,EAAG,CAACF,EAAM,IAAI,CAAC,EAGT,YAAU,IAAM,CAtB9B,IAAAE,EAuBY,GAAI,CAACC,GAAOC,GAAM,KAAM,OAExB,IAAME,GAAOJ,EAAAD,GAAA,YAAAA,EAAY,UAAZ,KAAAC,EAAuB,KAYpC,OAVgBC,EAAI,kBAAkB,CAClC,GAAAC,EACA,KAAAE,EACA,SAAUN,EAAM,SAChB,MAAOA,EAAM,MACb,IAAI,MAAO,CACP,OAAOK,EAAQ,OACnB,CACJ,CAAC,CAGL,EAAG,CAACF,EAAKC,EAAIJ,EAAM,SAAUA,EAAM,MAAOC,CAAU,CAAC,EAG/C,YAAU,IAAM,CAClB,GAAI,CAACE,GAAOC,GAAM,MAAQJ,EAAM,SAAU,OAE1C,IAAMM,EAAOL,GAAA,YAAAA,EAAY,QAEzB,GAAI,CAACK,EAAM,OAEX,IAAMC,EAA2B,CAAC,EAElC,OAAIP,EAAM,SAAW,YACjBO,EAAS,KAAKJ,EAAI,oBAAoBG,EAAMF,EAAIJ,EAAM,cAAc,CAAC,EAGrEA,EAAM,SAAW,WACjBO,EAAS,KAAKJ,EAAI,qBAAqBG,EAAMF,EAAIJ,EAAM,eAAe,CAAC,EAGpE,IAAM,CACT,QAAWQ,KAAWD,EAAUC,EAAQ,CAC5C,CACJ,EAAG,CAACL,EAAKC,EAAIJ,EAAM,SAAUA,EAAM,OAAQA,EAAM,eAAgBA,EAAM,gBAAiBC,CAAU,CAAC,EAGnG,IAAMQ,EAAkB,cAAaC,GAA0BP,EAAMA,EAAI,UAAUO,CAAQ,EAAI,IAAM,CAAC,EAAI,CAACP,CAAG,CAAC,EAEzGQ,EAAmB,uBACrBR,EAAMM,EAAYb,GAClB,IAAG,CApEf,IAAAM,EAoEmB,OAAAC,IAAMD,EAAAC,EAAI,SAAS,EAAE,YAAf,YAAAD,EAA0B,YAAaE,EAAK,IACzD,IAAM,EACV,EAEMQ,EAAQ,CACV,WAAAD,CACJ,EAGME,EAAkB,UACpB,IAAOC,GAAAC,IAAA,CACH,aAAc,MACd,YAAa,aACTJ,EAAa,CAAE,gBAAiB,EAAG,EAAI,QACvCX,EAAM,SAAW,CAAE,gBAAiB,EAAG,EAAI,QAJ5C,CAKH,SAAUA,EAAM,SAAW,GAAK,EAChC,KAAM,SACN,uBAAwB,WAC5B,GACA,CAACW,EAAYX,EAAM,QAAQ,CAC/B,EAEA,MAAO,CACH,MAAAY,EACA,UAAAC,CACJ,CACJ,CACJ,CAAC,EE/FD,OAAS,gBAAAG,OAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,GAAkC,CAC3C,IAAK,OACL,GAAI,OACJ,SAAU,GACV,OAAQ,OACR,KAAM,OACN,QAAS,MACb,EDLA,IAAMC,GAAiB,IAAM,IAAM,CAAC,EAEvBC,GAAeC,GAAa,CACrC,KAAM,eACN,aAAAC,GACA,MAAM,CAAE,MAAAC,EAAO,WAAAC,CAAW,EAAG,CACzB,IAAMC,EAAMF,EAAM,IACZG,EAAKH,EAAM,GAGX,YAAU,IAAM,CAd9B,IAAAI,EAeY,GAAI,CAACF,GAAOC,GAAM,KAAM,OAExB,IAAME,GAAOD,EAAAH,GAAA,YAAAA,EAAY,UAAZ,KAAAG,EAAuB,KAWpC,OATgBF,EAAI,kBAAkB,CAClC,GAAAC,EACA,KAAAE,EACA,SAAUL,EAAM,SAChB,OAAQA,EAAM,OACd,KAAMA,EAAM,KACZ,QAASA,EAAM,OACnB,CAAC,CAGL,EAAG,CAACE,EAAKC,EAAIH,EAAM,SAAUA,EAAM,OAAQA,EAAM,KAAMA,EAAM,QAASC,CAAU,CAAC,EAGjF,IAAMK,EAAkB,cAAaC,GAA0BL,EAAMA,EAAI,UAAUK,CAAQ,EAAI,IAAM,CAAC,EAAI,CAACL,CAAG,CAAC,EAEzGM,EAAe,uBACjBN,EAAMI,EAAYV,GAClB,IAAM,CACF,GAAI,CAACM,GAAOC,GAAM,KAAM,MAAO,GAE/B,IAAMM,EAAaP,EAAI,SAAS,EAAE,WAElC,OAAOO,EAAW,OAAS,GAAKA,EAAW,CAAC,EAAE,KAAON,CACzD,EACA,IAAM,EACV,EAEMO,EAAQ,CACV,OAAAF,CACJ,EAGMG,EAAkB,UACpB,IAAOC,IAAA,CACH,aAAc,MACd,YAAa,aACTJ,EAAS,CAAE,YAAa,EAAG,EAAI,QAC/BR,EAAM,SAAW,CAAE,gBAAiB,EAAG,EAAI,QAEnD,CAACQ,EAAQR,EAAM,QAAQ,CAC3B,EAEA,MAAO,CACH,MAAAU,EACA,UAAAC,CACJ,CACJ,CACJ,CAAC,EElED,OAAS,gBAAAE,OAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,GAAiC,CAC1C,IAAK,OACL,GAAI,OACJ,MAAO,OACP,SAAU,EACd,EDFA,IAAMC,GAAiB,IAAM,IAAM,CAAC,EAEvBC,GAAcC,GAAa,CACpC,KAAM,cACN,aAAAC,GACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CACb,IAAMC,EAAMD,EAAM,IACZE,EAAKF,EAAM,GAEXG,EAAkB,cAAaC,GAA0BH,EAAMA,EAAI,UAAUG,CAAQ,EAAI,IAAM,CAAC,EAAI,CAACH,CAAG,CAAC,EAEzGI,EAAmB,uBACrBJ,EAAME,EAAYP,GAClB,IAAM,CACF,GAAI,CAACK,GAAOC,GAAM,KAAM,MAAO,GAE/B,IAAMI,EAAQL,EAAI,SAAS,EAE3B,OAAOK,EAAM,UAAYA,EAAM,YAAcN,EAAM,KACvD,EACA,IAAM,EACV,EAEMM,EAAQ,CACV,WAAAD,CACJ,EAEME,EAAkB,UACpB,IAAOC,IAAA,CACH,aAAc,MACd,YAAa,YACTH,EAAa,CAAE,gBAAiB,EAAG,EAAI,QACvCL,EAAM,SAAW,CAAE,gBAAiB,EAAG,EAAI,QAEnD,CAACK,EAAYL,EAAM,QAAQ,CAC/B,EAEA,MAAO,CACH,MAAAM,EACA,UAAAC,CACJ,CACJ,CACJ,CAAC,EE/CD,OAAS,gBAAAE,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,GAAAC,GAAAC,GAYQ,IAAMC,EAAMJ,EAAM,IACZK,EAAKL,EAAM,GACXM,GAAQL,GAAAD,EAAM,QAAN,KAAAC,GAAe,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,GAAmB,IAAM,CA1LnD,IAAApD,EAAAC,EAAAC,EAAAmD,EAAAC,EAAAC,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,EAAS,SAAS,cAAc,wBAAwB6C,EAAQ,IAAI,EAEtE7C,IAAQ4C,EAAM,QAAQ,QAAU5C,EACxC,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,EAAAG,EAAM,aAAa,IAAIC,CAAkB,IAAzC,KAAAJ,EAA8C,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,EAAc,WAAW,iBAAiBR,CAAW,EAAE,UAAU,GAAK,EAExEc,GAEJ,GAAIT,EAAa,SAAW,EACxBS,GAAgBP,EAAS,IAAMC,UACxBF,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,GAAUC,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,KAAWvF,EAAiB6C,EAAM,QAAQ,OAAO,EACxD0C,EAAQ,MAAM,cAAgB,OAC9BA,EAAQ,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,GAAiB,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,GAAiB,EACjBrC,EAAa,QAAU,sBAAsBmE,CAAU,EAE/D,EAEAA,EAAW,CACf,CACJ,EAEMK,GAAO,IAAM,CACf,SAAS,oBAAoB,cAAeX,EAAM,EAClD,SAAS,oBAAoB,YAAaW,EAAI,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,EAAM,EAC/C,SAAS,iBAAiB,YAAaW,EAAI,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","names":["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","defaultProps","NOOP_SUBSCRIBE","useDraggable","withHeadless","defaultProps","props","elementRef","_a","dnd","id","dataRef","node","cleanups","cleanup","subscribe","listener","isDragging","state","rootProps","__spreadProps","__spreadValues","withHeadless","React","defaultProps","NOOP_SUBSCRIBE","useDroppable","withHeadless","defaultProps","props","elementRef","dnd","id","_a","node","subscribe","listener","isOver","collisions","state","rootProps","__spreadValues","withHeadless","React","defaultProps","NOOP_SUBSCRIBE","useSortable","withHeadless","defaultProps","props","dnd","id","subscribe","listener","isDragging","state","rootProps","__spreadValues","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"]}
@@ -0,0 +1,45 @@
1
+ import * as React from 'react';
2
+ export interface DndContainerInfo {
3
+ listRef: React.RefObject<HTMLElement | null>;
4
+ items: unknown[];
5
+ }
6
+ export interface DndCoordinatorState {
7
+ dragging: boolean;
8
+ activeContainerId: unknown | null;
9
+ currentContainerId: unknown | null;
10
+ fromIndex: number;
11
+ projectedIndex: number;
12
+ }
13
+ export interface DndCoordinator {
14
+ uid: string;
15
+ containers: Map<unknown, DndContainerInfo>;
16
+ getState(): DndCoordinatorState;
17
+ subscribe(fn: () => void): () => void;
18
+ setState(update: Partial<DndCoordinatorState>): void;
19
+ onSort?: (event: {
20
+ containerId: unknown;
21
+ fromIndex: number;
22
+ toIndex: number;
23
+ }) => void;
24
+ onTransfer?: (event: {
25
+ from: {
26
+ containerId: unknown;
27
+ index: number;
28
+ };
29
+ to: {
30
+ containerId: unknown;
31
+ index: number;
32
+ };
33
+ }) => void;
34
+ }
35
+ export declare const useDnd: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/dnd").UseDndProps, unknown, {
36
+ state: {
37
+ dragging: boolean;
38
+ };
39
+ dnd: DndCoordinator;
40
+ rootProps: {
41
+ 'data-dragging'?: string | undefined;
42
+ 'data-scope': string;
43
+ 'data-part': string;
44
+ };
45
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { UseDndProps } from '@primereact/types/headless/dnd';
2
+ export declare const defaultProps: UseDndProps;
@@ -0,0 +1,14 @@
1
+ export declare const useDraggable: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/dnd").UseDraggableProps, unknown, {
2
+ state: {
3
+ isDragging: boolean;
4
+ };
5
+ rootProps: {
6
+ tabIndex: number;
7
+ role: string;
8
+ 'aria-roledescription': string;
9
+ 'data-disabled'?: string | undefined;
10
+ 'data-dragging'?: string | undefined;
11
+ 'data-scope': string;
12
+ 'data-part': string;
13
+ };
14
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { UseDraggableProps } from '@primereact/types/headless/dnd';
2
+ export declare const defaultProps: UseDraggableProps;
@@ -0,0 +1,11 @@
1
+ export declare const useDroppable: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/dnd").UseDroppableProps, unknown, {
2
+ state: {
3
+ isOver: boolean;
4
+ };
5
+ rootProps: {
6
+ 'data-disabled'?: string | undefined;
7
+ 'data-over'?: string | undefined;
8
+ 'data-scope': string;
9
+ 'data-part': string;
10
+ };
11
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { UseDroppableProps } from '@primereact/types/headless/dnd';
2
+ export declare const defaultProps: UseDroppableProps;
@@ -0,0 +1,11 @@
1
+ export declare const useSortable: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/dnd").UseSortableProps, unknown, {
2
+ state: {
3
+ isDragging: boolean;
4
+ };
5
+ rootProps: {
6
+ 'data-disabled'?: string | undefined;
7
+ 'data-dragging'?: string | undefined;
8
+ 'data-scope': string;
9
+ 'data-part': string;
10
+ };
11
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { UseSortableProps } from '@primereact/types/headless/dnd';
2
+ export declare const defaultProps: UseSortableProps;
@@ -0,0 +1,24 @@
1
+ import * as React from 'react';
2
+ export declare const useSortableContainer: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/dnd").UseSortableContainerProps, unknown, {
3
+ state: {
4
+ dragging: boolean;
5
+ };
6
+ getItemDndProps: (index: number) => {
7
+ 'data-sortable-item': string;
8
+ 'data-sortable-container': string;
9
+ onPointerDown?: undefined;
10
+ } | {
11
+ 'data-sortable-item': string;
12
+ 'data-sortable-container': string;
13
+ onPointerDown: (e: React.PointerEvent<HTMLElement>) => void;
14
+ };
15
+ listProps: {
16
+ 'data-sortable-list': string;
17
+ };
18
+ rootProps: {
19
+ 'data-disabled'?: string | undefined;
20
+ 'data-active'?: string | undefined;
21
+ 'data-scope': string;
22
+ 'data-part': string;
23
+ };
24
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { UseSortableContainerProps } from '@primereact/types/headless/dnd';
2
+ export declare const defaultProps: UseSortableContainerProps;
package/drawer/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './useDrawer';
2
2
  export * from './useDrawer.props';
3
+ export type * from '@primereact/types/headless/drawer';
package/drawer/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{withHeadless as F}from"@primereact/core/headless";import{useEventListener as D,useMountEffect as U,useUnmountEffect as q,useUpdateEffect as L}from"@primereact/hooks";import{$dt as S}from"@primeuix/styled";import{addClass as z,blockBodyScroll as $,focus as G,unblockBodyScroll as J,ZIndex as r}from"@primeuix/utils";import*as a from"react";var O={open:!1,defaultOpen:!1,modal:!0,blockScroll:!1,dismissable:!0,baseZIndex:0,autoZIndex:!0,onOpenChange:void 0};var te=F({name:"useDrawer",defaultProps:O,setup:({props:e,elementRef:d,$primereact:w})=>{var R,v,k,M;let[s,m]=a.useState((v=(R=e.open)!=null?R:e.defaultOpen)!=null?v:!1),[o,c]=a.useState((M=(k=e.open)!=null?k:e.defaultOpen)!=null?M:!1),l=a.useRef(null),b=a.useRef(null),f=a.useRef(null),E={opened:s,maskVisible:o};U(()=>{(e.open||e.defaultOpen)&&c(!0)}),L(()=>{(e.open||e.defaultOpen&&!o)&&c(!0)},[e.open,e.defaultOpen]),L(()=>{o&&!s&&m(!0)},[o]),q(()=>{c(!1),e.autoZIndex&&r.clear(l.current)});let i=()=>{var t;m(!1),(t=e==null?void 0:e.onOpenChange)==null||t.call(e,{value:!1})},y=()=>{var n;let t=!s;t&&!o&&c(!0),(n=e==null?void 0:e.onOpenChange)==null||n.call(e,{value:t})},g=()=>{var t;(t=e==null?void 0:e.onOpenChange)==null||t.call(e,{value:E.opened})},x=()=>{var t,n,u;V(),Z(),e.autoZIndex&&r.set("modal",l.current,e.baseZIndex+((u=(n=(t=w.config)==null?void 0:t.zIndex)==null?void 0:n.modal)!=null?u:1100))},C=()=>{T()},h=()=>{e.modal&&z(l.current,"p-overlay-mask-leave")},H=()=>{e.autoZIndex&&r.clear(l.current),B(),j(),c(!1)},T=()=>{var n,u;let t=I((u=(n=b.current)==null?void 0:n.elementRef.current)!=null?u:null);t||f.current&&(t=f.current.elementRef.current),t&&G(t)},I=t=>t&&t.querySelector("[autoFocus]"),[Z,B]=D({type:"keydown",listener:t=>A(t)}),[K,P]=D({type:"click",listener:t=>{N(t)&&i()}}),N=t=>d.current&&!d.current.contains(t.target),V=()=>{e.dismissable&&!e.modal&&K(),e.blockScroll&&$({variableName:S("scrollbar.width").name})},j=()=>{P(),e.blockScroll&&J({variableName:S("scrollbar.width").name})},A=t=>{t.code==="Escape"&&i()};return{state:E,maskRef:l,motionRef:b,closeButtonRef:f,close:i,onOpenStateChange:y,onOpenChange:g,onMotionEnter:x,onMotionAfterEnter:C,onMotionBeforeLeave:h,onMotionAfterLeave:H,onMaskClick:t=>{e.dismissable&&e.modal&&l.current===t.target&&i()}}}});export{O as defaultProps,te as useDrawer};
1
+ var ne=Object.defineProperty,oe=Object.defineProperties;var ae=Object.getOwnPropertyDescriptors;var O=Object.getOwnPropertySymbols;var re=Object.prototype.hasOwnProperty,le=Object.prototype.propertyIsEnumerable;var h=(e,n,r)=>n in e?ne(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,R=(e,n)=>{for(var r in n||(n={}))re.call(n,r)&&h(e,r,n[r]);if(O)for(var r of O(n))le.call(n,r)&&h(e,r,n[r]);return e},P=(e,n)=>oe(e,ae(n));import{withHeadless as se}from"@primereact/core/headless";import{useFocusTrap as ce}from"@primereact/headless/focustrap";import{useEventListener as S,useUnmountEffect as ue}from"@primereact/hooks";import{useControlledState as de}from"@primereact/hooks/use-controlled-state";import{$dt as Z}from"@primeuix/styled";import{blockBodyScroll as ie,focus as b,toElement as k,unblockBodyScroll as fe,ZIndex as f}from"@primeuix/utils";import*as o from"react";var I={open:void 0,defaultOpen:void 0,trapped:!0,blockScroll:!1,dismissable:!0,baseZIndex:0,autoZIndex:!0,position:"left",onOpenChange:void 0,onExitComplete:void 0};var Le=se({name:"useDrawer",defaultProps:I,setup:({props:e,id:n,elementRef:r,$primereact:M})=>{var y,H;let[s,w]=de({value:e.open,defaultValue:e.defaultOpen,onChange:e.onOpenChange}),[c,B]=o.useState(null),[u,K]=o.useState(null),d=o.useRef(null),E=o.useRef(null),m=o.useRef(null),C=o.useRef(null),p=o.useRef(null),U={open:!!s,trapped:!!e.trapped,popupElement:c,backdropElement:u},L=ce({trapped:!!e.trapped&&!!c,autoFocus:!1});ue(()=>{e.autoZIndex&&d.current&&f.clear(d.current)});let F=o.useCallback(t=>{var l;let a=(l=k(t))!=null?l:null;a!==d.current&&(d.current=a,L.containerRef.current=a,B(a))},[]),N=o.useCallback(t=>{var l;let a=(l=k(t))!=null?l:null;a!==E.current&&(E.current=a,K(a))},[]),j=o.useCallback(t=>{var l;let a=(l=k(t))!=null?l:null;a!==m.current&&(m.current=a)},[]),i=()=>{w([!1,{value:!1}])},T=()=>{let t=!s;w([t,{value:t}])},z=o.useCallback(()=>{if(!d.current)return;let t=d.current.querySelector("[autoFocus]");t?b(t):m.current&&b(m.current)},[]),q=o.useCallback(()=>{var t;(t=e.onExitComplete)==null||t.call(e)},[e.onExitComplete]);o.useEffect(()=>{s?(p.current=document.activeElement,V(),e.dismissable&&A(),e.blockScroll&&ie({variableName:Z("scrollbar.width").name})):(_(),G(),e.blockScroll&&fe({variableName:Z("scrollbar.width").name}),p.current&&(b(p.current),p.current=null))},[s]),o.useEffect(()=>{var t,a,l,g;if(c){if(e.autoZIndex){let D=((t=e.baseZIndex)!=null?t:0)+((g=(l=(a=M.config)==null?void 0:a.zIndex)==null?void 0:l.modal)!=null?g:1100);u&&f.set("modal",u,D),f.set("modal",c,D)}return()=>{e.autoZIndex&&(u&&f.clear(u),f.clear(c))}}},[c,u,e.autoZIndex,e.baseZIndex,(H=(y=M.config)==null?void 0:y.zIndex)==null?void 0:H.modal]);let[V,_]=S({type:"keydown",listener:t=>Q(t)}),[A,G]=S({type:"click",listener:t=>{J(t)&&i()}}),J=t=>r.current&&!r.current.contains(t.target),Q=t=>{t.code==="Escape"&&i()},x=t=>{C.current=t.target},v=()=>{e.dismissable&&E.current===C.current&&i()},W=P(R({id:n,"data-scope":"drawer","data-part":"root"},s?{"data-open":""}:{"data-closed":""}),{"data-position":e.position}),X={"data-scope":"drawer","data-part":"trigger",type:"button","aria-expanded":s!=null?s:!1,"aria-controls":n!=null?n:"",onClick:T},Y={ref:N,onMouseDown:x,onMouseUp:v},$={"data-scope":"drawer","data-part":"close",type:"button",ref:j,onClick:i},ee={id:n+"_header","data-scope":"drawer","data-part":"header"},te=R({id:n,ref:F,role:"complementary","aria-modal":!0,"data-scope":"drawer","data-part":"root","data-position":e.position},s&&{"data-open":""});return{state:U,focusTrap:L,triggerProps:X,rootProps:W,backdropProps:Y,closeProps:$,headerProps:ee,popupProps:te,close:i,onOpenStateChange:T,onMaskMouseDown:x,onMaskMouseUp:v,onOpenComplete:z,onCloseComplete:q}}});export{I as defaultProps,Le as useDrawer};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/drawer/useDrawer.ts","../../src/drawer/useDrawer.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener, useMountEffect, useUnmountEffect, useUpdateEffect } from '@primereact/hooks';\nimport { $dt } from '@primeuix/styled';\nimport { addClass, blockBodyScroll, focus, unblockBodyScroll, ZIndex } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useDrawer.props';\n\nexport const useDrawer = withHeadless({\n name: 'useDrawer',\n defaultProps,\n setup: ({ props, elementRef, $primereact }) => {\n const [openState, setOpenState] = React.useState<boolean>(props.open ?? props.defaultOpen ?? false);\n const [maskVisibleState, setMaskVisibleState] = React.useState<boolean>(props.open ?? props.defaultOpen ?? false);\n const maskRef = React.useRef<HTMLDivElement | null>(null);\n const motionRef = React.useRef<{ elementRef: React.RefObject<HTMLDivElement> } | null>(null);\n const closeButtonRef = React.useRef<{ elementRef: React.RefObject<HTMLButtonElement> } | null>(null);\n\n const state = {\n opened: openState,\n maskVisible: maskVisibleState\n };\n\n useMountEffect(() => {\n if (props.open || props.defaultOpen) {\n setMaskVisibleState(true);\n }\n });\n\n useUpdateEffect(() => {\n if (props.open || (props.defaultOpen && !maskVisibleState)) {\n setMaskVisibleState(true);\n }\n }, [props.open, props.defaultOpen]);\n\n useUpdateEffect(() => {\n if (maskVisibleState && !openState) {\n setOpenState(true);\n }\n }, [maskVisibleState]);\n\n useUnmountEffect(() => {\n setMaskVisibleState(false);\n\n if (props.autoZIndex) {\n ZIndex.clear(maskRef.current as HTMLDivElement);\n }\n });\n\n //methods\n const close = () => {\n setOpenState(false);\n\n props?.onOpenChange?.({\n value: false\n });\n };\n\n const onOpenStateChange = () => {\n const newOpenState = !openState;\n\n if (newOpenState && !maskVisibleState) {\n setMaskVisibleState(true);\n }\n\n //setOpenState(newOpenState);\n\n props?.onOpenChange?.({\n value: newOpenState\n });\n };\n\n const onOpenChange = () => {\n props?.onOpenChange?.({\n value: state.opened\n });\n };\n\n const onMotionEnter = () => {\n enableDocumentSettings();\n bindDocumentKeyDownListener();\n\n if (props.autoZIndex) {\n ZIndex.set('modal', maskRef.current as HTMLDivElement, (props.baseZIndex as number) + ($primereact.config?.zIndex?.modal ?? 1100));\n }\n };\n\n const onMotionAfterEnter = () => {\n focusElement();\n };\n\n const onMotionBeforeLeave = () => {\n if (props.modal) {\n // && !isUnstyled\n addClass(maskRef.current as HTMLDivElement, 'p-overlay-mask-leave');\n }\n };\n\n const onMotionAfterLeave = () => {\n if (props.autoZIndex) {\n ZIndex.clear(maskRef.current as HTMLDivElement);\n }\n\n unbindDocumentKeyDownListener();\n disableDocumentSettings();\n setMaskVisibleState(false);\n };\n\n const focusElement = () => {\n let focusTarget = findFocusableElement(motionRef.current?.elementRef.current ?? null);\n\n if (!focusTarget) {\n if (closeButtonRef.current) {\n focusTarget = closeButtonRef.current.elementRef.current;\n }\n }\n\n if (focusTarget) {\n focus(focusTarget as HTMLElement);\n }\n };\n\n const findFocusableElement = (container: HTMLElement | null) => {\n return container && container.querySelector('[autoFocus]');\n };\n\n const [bindDocumentKeyDownListener, unbindDocumentKeyDownListener] = useEventListener({\n type: 'keydown',\n listener: (event: Event) => onKeyDown(event as unknown as React.KeyboardEvent)\n });\n\n const [bindOutsideClickListener, unbindOutsideClickListener] = useEventListener({\n type: 'click',\n listener: (event) => {\n if (isOutsideClicked(event as unknown as React.MouseEvent)) {\n close();\n }\n }\n });\n\n const isOutsideClicked = (event: React.MouseEvent) => {\n return elementRef.current && !elementRef.current.contains(event.target as Node);\n };\n\n const enableDocumentSettings = () => {\n if (props.dismissable && !props.modal) {\n bindOutsideClickListener();\n }\n\n if (props.blockScroll) {\n blockBodyScroll({ variableName: $dt('scrollbar.width').name });\n }\n };\n\n const disableDocumentSettings = () => {\n unbindOutsideClickListener();\n\n if (props.blockScroll) {\n unblockBodyScroll({ variableName: $dt('scrollbar.width').name });\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent): void => {\n if (event.code === 'Escape') {\n close();\n }\n };\n\n const onMaskClick = (event: React.MouseEvent) => {\n if (props.dismissable && props.modal && maskRef.current === event.target) {\n close();\n }\n };\n\n return {\n state,\n // refs\n maskRef,\n motionRef,\n closeButtonRef,\n // methods\n close,\n onOpenStateChange,\n onOpenChange,\n onMotionEnter,\n onMotionAfterEnter,\n onMotionBeforeLeave,\n onMotionAfterLeave,\n onMaskClick\n };\n }\n});\n","import type { useDrawerProps } from '@primereact/types/shared/drawer';\n\nexport const defaultProps: useDrawerProps = {\n open: false,\n defaultOpen: false,\n modal: true,\n blockScroll: false,\n dismissable: true,\n baseZIndex: 0,\n autoZIndex: true,\n onOpenChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","useMountEffect","useUnmountEffect","useUpdateEffect","$dt","addClass","blockBodyScroll","focus","unblockBodyScroll","ZIndex","React","defaultProps","useDrawer","withHeadless","defaultProps","props","elementRef","$primereact","_a","_b","_c","_d","openState","setOpenState","maskVisibleState","setMaskVisibleState","maskRef","motionRef","closeButtonRef","state","useMountEffect","useUpdateEffect","useUnmountEffect","ZIndex","close","onOpenStateChange","newOpenState","onOpenChange","onMotionEnter","enableDocumentSettings","bindDocumentKeyDownListener","onMotionAfterEnter","focusElement","onMotionBeforeLeave","addClass","onMotionAfterLeave","unbindDocumentKeyDownListener","disableDocumentSettings","focusTarget","findFocusableElement","focus","container","useEventListener","event","onKeyDown","bindOutsideClickListener","unbindOutsideClickListener","isOutsideClicked","blockBodyScroll","$dt","unblockBodyScroll"]}
1
+ {"version":3,"sources":["../../src/drawer/useDrawer.ts","../../src/drawer/useDrawer.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useFocusTrap } from '@primereact/headless/focustrap';\nimport { useEventListener, useUnmountEffect } from '@primereact/hooks';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport { $dt } from '@primeuix/styled';\nimport { blockBodyScroll, focus, toElement, unblockBodyScroll, ZIndex } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useDrawer.props';\n\nexport const useDrawer = withHeadless({\n name: 'useDrawer',\n defaultProps,\n setup: ({ props, id, elementRef, $primereact }) => {\n const [openState, setOpenState] = useControlledState({\n value: props.open,\n defaultValue: props.defaultOpen,\n onChange: props.onOpenChange\n });\n const [popupElement, setPopupElement] = React.useState<HTMLElement | null>(null);\n const [backdropElement, setBackdropElement] = React.useState<HTMLElement | null>(null);\n const popupRef = React.useRef<HTMLElement | null>(null);\n const backdropRef = React.useRef<HTMLElement | null>(null);\n const closeButtonRef = React.useRef<HTMLElement | null>(null);\n const maskMouseDownTarget = React.useRef<EventTarget | null>(null);\n const target = React.useRef<HTMLElement | null>(null);\n\n const state = {\n open: !!openState,\n trapped: !!props.trapped,\n popupElement,\n backdropElement\n };\n\n const focusTrap = useFocusTrap({\n trapped: !!props.trapped && !!popupElement,\n autoFocus: false\n });\n\n useUnmountEffect(() => {\n if (props.autoZIndex && popupRef.current) {\n ZIndex.clear(popupRef.current as HTMLDivElement);\n }\n });\n\n const setPopupRef = React.useCallback((node: HTMLDivElement | { elementRef: React.RefObject<HTMLDivElement> } | null) => {\n const element = (toElement(node) ?? null) as HTMLDivElement | null;\n\n if (element === popupRef.current) return;\n\n popupRef.current = element;\n focusTrap.containerRef.current = element;\n setPopupElement(element);\n }, []);\n\n const setBackdropRef = React.useCallback((node: HTMLElement | null) => {\n const element = (toElement(node) ?? null) as HTMLElement | null;\n\n if (element === backdropRef.current) return;\n\n backdropRef.current = element;\n setBackdropElement(element);\n }, []);\n\n const setCloseButtonRef = React.useCallback((node: HTMLButtonElement | { elementRef: React.RefObject<HTMLButtonElement> } | null) => {\n const element = (toElement(node) ?? null) as HTMLButtonElement | null;\n\n if (element === closeButtonRef.current) return;\n\n closeButtonRef.current = element;\n }, []);\n\n const close = () => {\n setOpenState([false, { value: false }]);\n };\n\n const onOpenStateChange = () => {\n const newOpenState = !openState;\n\n setOpenState([newOpenState, { value: newOpenState }]);\n };\n\n const onOpenComplete = React.useCallback(() => {\n if (!popupRef.current) return;\n\n const focusTarget = popupRef.current.querySelector('[autoFocus]') as HTMLElement | null;\n\n if (focusTarget) {\n focus(focusTarget);\n } else if (closeButtonRef.current) {\n focus(closeButtonRef.current);\n }\n }, []);\n\n const onCloseComplete = React.useCallback(() => {\n props.onExitComplete?.();\n }, [props.onExitComplete]);\n\n React.useEffect(() => {\n if (openState) {\n target.current = document.activeElement as HTMLElement;\n bindDocumentKeyDownListener();\n\n if (props.dismissable) {\n bindOutsideClickListener();\n }\n\n if (props.blockScroll) {\n blockBodyScroll({ variableName: $dt('scrollbar.width').name });\n }\n } else {\n unbindDocumentKeyDownListener();\n unbindOutsideClickListener();\n\n if (props.blockScroll) {\n unblockBodyScroll({ variableName: $dt('scrollbar.width').name });\n }\n\n if (target.current) {\n focus(target.current);\n target.current = null;\n }\n }\n }, [openState]);\n\n React.useEffect(() => {\n if (!popupElement) return;\n\n if (props.autoZIndex) {\n const baseZ = (props.baseZIndex ?? 0) + ($primereact.config?.zIndex?.modal ?? 1100);\n\n if (backdropElement) {\n ZIndex.set('modal', backdropElement, baseZ);\n }\n\n ZIndex.set('modal', popupElement, baseZ);\n }\n\n return () => {\n if (props.autoZIndex) {\n if (backdropElement) ZIndex.clear(backdropElement);\n\n ZIndex.clear(popupElement);\n }\n };\n }, [popupElement, backdropElement, props.autoZIndex, props.baseZIndex, $primereact.config?.zIndex?.modal]);\n\n const [bindDocumentKeyDownListener, unbindDocumentKeyDownListener] = useEventListener({\n type: 'keydown',\n listener: (event: Event) => onKeyDown(event as unknown as React.KeyboardEvent)\n });\n\n const [bindOutsideClickListener, unbindOutsideClickListener] = useEventListener({\n type: 'click',\n listener: (event) => {\n if (isOutsideClicked(event as unknown as React.MouseEvent)) {\n close();\n }\n }\n });\n\n const isOutsideClicked = (event: React.MouseEvent) => {\n return elementRef.current && !elementRef.current.contains(event.target as Node);\n };\n\n const onKeyDown = (event: React.KeyboardEvent): void => {\n if (event.code === 'Escape') {\n close();\n }\n };\n\n const onMaskMouseDown = (event: React.MouseEvent) => {\n maskMouseDownTarget.current = event.target;\n };\n\n const onMaskMouseUp = () => {\n if (props.dismissable && backdropRef.current === maskMouseDownTarget.current) {\n close();\n }\n };\n\n const rootProps = {\n id,\n 'data-scope': 'drawer',\n 'data-part': 'root',\n ...(openState ? { 'data-open': '' as const } : { 'data-closed': '' as const }),\n 'data-position': props.position\n };\n\n const triggerProps = {\n 'data-scope': 'drawer',\n 'data-part': 'trigger',\n type: 'button' as const,\n 'aria-expanded': openState ?? false,\n 'aria-controls': id ?? '',\n onClick: onOpenStateChange\n };\n\n const backdropProps = {\n ref: setBackdropRef,\n onMouseDown: onMaskMouseDown,\n onMouseUp: onMaskMouseUp\n };\n\n const closeProps = {\n 'data-scope': 'drawer',\n 'data-part': 'close',\n type: 'button' as const,\n ref: setCloseButtonRef,\n onClick: close\n };\n\n const headerProps = {\n id: id + '_header',\n 'data-scope': 'drawer',\n 'data-part': 'header'\n };\n\n const popupProps = {\n id,\n ref: setPopupRef,\n role: 'complementary' as const,\n 'aria-modal': true as const,\n 'data-scope': 'drawer',\n 'data-part': 'root',\n 'data-position': props.position,\n ...(openState && { 'data-open': '' as const })\n };\n\n return {\n state,\n focusTrap,\n // prop getters\n triggerProps,\n rootProps,\n backdropProps,\n closeProps,\n headerProps,\n popupProps,\n // methods\n close,\n onOpenStateChange,\n onMaskMouseDown,\n onMaskMouseUp,\n onOpenComplete,\n onCloseComplete\n };\n }\n});\n","import type { UseDrawerProps } from '@primereact/types/headless/drawer';\n\nexport const defaultProps: UseDrawerProps = {\n open: undefined,\n defaultOpen: undefined,\n trapped: true,\n blockScroll: false,\n dismissable: true,\n baseZIndex: 0,\n autoZIndex: true,\n position: 'left',\n onOpenChange: undefined,\n onExitComplete: undefined\n};\n"],"mappings":"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","names":["withHeadless","useFocusTrap","useEventListener","useUnmountEffect","useControlledState","$dt","blockBodyScroll","focus","toElement","unblockBodyScroll","ZIndex","React","defaultProps","useDrawer","withHeadless","defaultProps","props","id","elementRef","$primereact","_a","_b","openState","setOpenState","useControlledState","popupElement","setPopupElement","backdropElement","setBackdropElement","popupRef","backdropRef","closeButtonRef","maskMouseDownTarget","target","state","focusTrap","useFocusTrap","useUnmountEffect","ZIndex","setPopupRef","node","element","toElement","setBackdropRef","setCloseButtonRef","close","onOpenStateChange","newOpenState","onOpenComplete","focusTarget","focus","onCloseComplete","bindDocumentKeyDownListener","bindOutsideClickListener","blockBodyScroll","$dt","unbindDocumentKeyDownListener","unbindOutsideClickListener","unblockBodyScroll","_c","_d","baseZ","useEventListener","event","onKeyDown","isOutsideClicked","onMaskMouseDown","onMaskMouseUp","rootProps","__spreadProps","__spreadValues","triggerProps","backdropProps","closeProps","headerProps","popupProps"]}
@@ -1,22 +1,84 @@
1
1
  import * as React from 'react';
2
- export declare const useDrawer: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/drawer").useDrawerProps, unknown, {
2
+ export declare const useDrawer: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/drawer").UseDrawerProps, unknown, {
3
3
  state: {
4
- opened: boolean;
5
- maskVisible: boolean;
4
+ open: boolean;
5
+ trapped: boolean;
6
+ popupElement: HTMLElement | null;
7
+ backdropElement: HTMLElement | null;
8
+ };
9
+ focusTrap: import("@primereact/types/core").HeadlessInstance<import("@primereact/headless/focustrap").UseFocusTrapProps, unknown, {
10
+ containerRef: React.RefObject<HTMLElement | null>;
11
+ firstHiddenElementRef: React.RefObject<HTMLSpanElement | null>;
12
+ lastHiddenElementRef: React.RefObject<HTMLSpanElement | null>;
13
+ firstHiddenProps: {
14
+ role: "presentation";
15
+ 'aria-hidden': true;
16
+ 'data-focus-guard': string;
17
+ onFocus: (event: React.FocusEvent<HTMLSpanElement>) => void;
18
+ };
19
+ lastHiddenProps: {
20
+ role: "presentation";
21
+ 'aria-hidden': true;
22
+ 'data-focus-guard': string;
23
+ onFocus: (event: React.FocusEvent<HTMLSpanElement>) => void;
24
+ };
25
+ }>;
26
+ triggerProps: {
27
+ 'data-scope': string;
28
+ 'data-part': string;
29
+ type: "button";
30
+ 'aria-expanded': boolean;
31
+ 'aria-controls': string;
32
+ onClick: () => void;
33
+ };
34
+ rootProps: {
35
+ 'data-position': "top" | "left" | "right" | "bottom" | "full" | undefined;
36
+ 'data-open': "";
37
+ id: string | undefined;
38
+ 'data-scope': string;
39
+ 'data-part': string;
40
+ } | {
41
+ 'data-position': "top" | "left" | "right" | "bottom" | "full" | undefined;
42
+ 'data-closed': "";
43
+ id: string | undefined;
44
+ 'data-scope': string;
45
+ 'data-part': string;
46
+ };
47
+ backdropProps: {
48
+ ref: (node: HTMLElement | null) => void;
49
+ onMouseDown: (event: React.MouseEvent) => void;
50
+ onMouseUp: () => void;
51
+ };
52
+ closeProps: {
53
+ 'data-scope': string;
54
+ 'data-part': string;
55
+ type: "button";
56
+ ref: (node: HTMLButtonElement | {
57
+ elementRef: React.RefObject<HTMLButtonElement>;
58
+ } | null) => void;
59
+ onClick: () => void;
60
+ };
61
+ headerProps: {
62
+ id: string;
63
+ 'data-scope': string;
64
+ 'data-part': string;
65
+ };
66
+ popupProps: {
67
+ 'data-open'?: "" | undefined;
68
+ id: string | undefined;
69
+ ref: (node: HTMLDivElement | {
70
+ elementRef: React.RefObject<HTMLDivElement>;
71
+ } | null) => void;
72
+ role: "complementary";
73
+ 'aria-modal': true;
74
+ 'data-scope': string;
75
+ 'data-part': string;
76
+ 'data-position': "top" | "left" | "right" | "bottom" | "full" | undefined;
6
77
  };
7
- maskRef: React.RefObject<HTMLDivElement | null>;
8
- motionRef: React.RefObject<{
9
- elementRef: React.RefObject<HTMLDivElement>;
10
- } | null>;
11
- closeButtonRef: React.RefObject<{
12
- elementRef: React.RefObject<HTMLButtonElement>;
13
- } | null>;
14
78
  close: () => void;
15
79
  onOpenStateChange: () => void;
16
- onOpenChange: () => void;
17
- onMotionEnter: () => void;
18
- onMotionAfterEnter: () => void;
19
- onMotionBeforeLeave: () => void;
20
- onMotionAfterLeave: () => void;
21
- onMaskClick: (event: React.MouseEvent) => void;
80
+ onMaskMouseDown: (event: React.MouseEvent) => void;
81
+ onMaskMouseUp: () => void;
82
+ onOpenComplete: () => void;
83
+ onCloseComplete: () => void;
22
84
  }>;
@@ -1,2 +1,2 @@
1
- import type { useDrawerProps } from '@primereact/types/shared/drawer';
2
- export declare const defaultProps: useDrawerProps;
1
+ import type { UseDrawerProps } from '@primereact/types/headless/drawer';
2
+ export declare const defaultProps: UseDrawerProps;
@@ -1,2 +1,3 @@
1
1
  export * from './useFieldset';
2
2
  export * from './useFieldset.props';
3
+ export type * from '@primereact/types/headless/fieldset';
@@ -1,2 +1,2 @@
1
- import{withHeadless as t}from"@primereact/core/headless";var e={};var p=t({name:"useFieldset",defaultProps:e});export{e as defaultProps,p as useFieldset};
1
+ var u=Object.defineProperty,g=Object.defineProperties;var x=Object.getOwnPropertyDescriptors;var p=Object.getOwnPropertySymbols;var y=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable;var d=(r,t,e)=>t in r?u(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e,o=(r,t)=>{for(var e in t||(t={}))y.call(t,e)&&d(r,e,t[e]);if(p)for(var e of p(t))C.call(t,e)&&d(r,e,t[e]);return r},s=(r,t)=>g(r,x(t));import{withHeadless as h}from"@primereact/core/headless";import{useCollapsible as F}from"@primereact/headless/collapsible";import*as i from"@primereact/headless/collapsible";var n=o({},i.defaultProps);var E=h({name:"useFieldset",defaultProps:n,setup({props:r}){let t=F(r),e=a=>{t==null||t.toggle(a),a==null||a.preventDefault()},f={"data-scope":"fieldset","data-part":"indicator",[t!=null&&t.state.open?"data-open":"data-closed"]:""},m=s(o({},t==null?void 0:t.triggerProps),{"data-scope":"fieldset","data-part":"trigger",onClick:e}),c=s(o({},t==null?void 0:t.contentProps),{"data-scope":"fieldset","data-part":"content"}),P=s(o({},t==null?void 0:t.rootProps),{"data-scope":"fieldset","data-part":"root"});return s(o({},t),{rootProps:P,contentProps:c,triggerProps:m,indicatorProps:f})}});export{n as defaultProps,E as useFieldset};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/fieldset/useFieldset.ts","../../src/fieldset/useFieldset.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useFieldset.props';\n\nexport const useFieldset = withHeadless({\n name: 'useFieldset',\n defaultProps\n});\n","import type { useFieldsetProps } from '@primereact/types/shared/fieldset';\n\nexport const defaultProps: useFieldsetProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAiC,CAAC,EDCxC,IAAMC,EAAcC,EAAa,CACpC,KAAM,cACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useFieldset","withHeadless","defaultProps"]}
1
+ {"version":3,"sources":["../../src/fieldset/useFieldset.ts","../../src/fieldset/useFieldset.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useCollapsible } from '@primereact/headless/collapsible';\nimport * as React from 'react';\nimport { defaultProps } from './useFieldset.props';\n\nexport const useFieldset = withHeadless({\n name: 'useFieldset',\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': 'fieldset',\n 'data-part': 'indicator',\n [collapsible?.state.open ? 'data-open' : 'data-closed']: ''\n };\n\n const triggerProps = {\n ...collapsible?.triggerProps,\n 'data-scope': 'fieldset',\n 'data-part': 'trigger',\n onClick: onTriggerClick\n };\n\n const contentProps = {\n ...collapsible?.contentProps,\n 'data-scope': 'fieldset',\n 'data-part': 'content'\n };\n\n const rootProps = {\n ...collapsible?.rootProps,\n 'data-scope': 'fieldset',\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 { UseFieldsetProps } from '@primereact/types/headless/fieldset';\n\nexport const defaultProps: UseFieldsetProps = {\n ...useCollapsible.defaultProps\n};\n"],"mappings":"6aAAA,OAAS,gBAAAA,MAAoB,4BAC7B,OAAS,kBAAAC,MAAsB,mCCD/B,UAAYC,MAAoB,mCAGzB,IAAMC,EAAiCC,EAAA,GACxB,gBDCf,IAAMC,EAAcC,EAAa,CACpC,KAAM,cACN,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,WACd,YAAa,YACb,CAACJ,GAAA,MAAAA,EAAa,MAAM,KAAO,YAAc,aAAa,EAAG,EAC7D,EAEMK,EAAeC,EAAAC,EAAA,GACdP,GAAA,YAAAA,EAAa,cADC,CAEjB,aAAc,WACd,YAAa,UACb,QAASE,CACb,GAEMM,EAAeF,EAAAC,EAAA,GACdP,GAAA,YAAAA,EAAa,cADC,CAEjB,aAAc,WACd,YAAa,SACjB,GAEMS,EAAYH,EAAAC,EAAA,GACXP,GAAA,YAAAA,EAAa,WADF,CAEd,aAAc,WACd,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","useFieldset","withHeadless","defaultProps","props","collapsible","useCollapsible","onTriggerClick","event","indicatorProps","triggerProps","__spreadProps","__spreadValues","contentProps","rootProps"]}