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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (592) hide show
  1. package/LICENSE.md +45 -0
  2. package/README.md +35 -0
  3. package/accordion/index.d.ts +3 -0
  4. package/accordion/index.mjs +1 -1
  5. package/accordion/index.mjs.map +1 -1
  6. package/accordion/useAccordion.d.ts +7 -6
  7. package/accordion/useAccordion.props.d.ts +2 -2
  8. package/accordion/useAccordionPanel.d.ts +46 -0
  9. package/accordion/useAccordionPanel.props.d.ts +2 -0
  10. package/animateonscroll/index.d.ts +1 -0
  11. package/animateonscroll/index.mjs +1 -1
  12. package/animateonscroll/index.mjs.map +1 -1
  13. package/animateonscroll/useAnimateOnScroll.d.ts +6 -1
  14. package/animateonscroll/useAnimateOnScroll.props.d.ts +2 -2
  15. package/autocomplete/index.d.ts +3 -0
  16. package/autocomplete/index.mjs +2 -0
  17. package/autocomplete/index.mjs.map +1 -0
  18. package/autocomplete/useAutoComplete.d.ts +198 -0
  19. package/autocomplete/useAutoComplete.props.d.ts +2 -0
  20. package/avatar/index.d.ts +1 -0
  21. package/avatar/index.mjs +1 -1
  22. package/avatar/index.mjs.map +1 -1
  23. package/avatar/useAvatar.d.ts +5 -1
  24. package/avatar/useAvatar.props.d.ts +2 -2
  25. package/avatargroup/index.d.ts +3 -0
  26. package/avatargroup/index.mjs +2 -0
  27. package/avatargroup/index.mjs.map +1 -0
  28. package/avatargroup/useAvatarGroup.d.ts +6 -0
  29. package/avatargroup/useAvatarGroup.props.d.ts +2 -0
  30. package/badge/index.d.ts +1 -0
  31. package/badge/index.mjs +1 -1
  32. package/badge/index.mjs.map +1 -1
  33. package/badge/useBadge.d.ts +7 -1
  34. package/badge/useBadge.props.d.ts +2 -2
  35. package/breadcrumb/index.d.ts +1 -0
  36. package/breadcrumb/index.mjs +1 -1
  37. package/breadcrumb/index.mjs.map +1 -1
  38. package/breadcrumb/useBreadcrumb.d.ts +18 -2
  39. package/breadcrumb/useBreadcrumb.props.d.ts +2 -2
  40. package/button/index.d.ts +1 -0
  41. package/button/index.mjs +1 -1
  42. package/button/index.mjs.map +1 -1
  43. package/button/useButton.d.ts +6 -1
  44. package/button/useButton.props.d.ts +2 -2
  45. package/card/index.d.ts +1 -0
  46. package/card/index.mjs +1 -1
  47. package/card/index.mjs.map +1 -1
  48. package/card/useCard.d.ts +6 -1
  49. package/card/useCard.props.d.ts +2 -2
  50. package/carousel/index.d.ts +1 -0
  51. package/carousel/index.mjs +1 -1
  52. package/carousel/index.mjs.map +1 -1
  53. package/carousel/useCarousel.d.ts +101 -5
  54. package/carousel/useCarousel.props.d.ts +2 -2
  55. package/checkbox/index.d.ts +1 -0
  56. package/checkbox/index.mjs +1 -1
  57. package/checkbox/index.mjs.map +1 -1
  58. package/checkbox/useCheckbox.d.ts +44 -3
  59. package/checkbox/useCheckbox.props.d.ts +2 -2
  60. package/checkboxgroup/index.d.ts +3 -0
  61. package/checkboxgroup/index.mjs +2 -0
  62. package/checkboxgroup/index.mjs.map +1 -0
  63. package/checkboxgroup/useCheckboxGroup.d.ts +11 -0
  64. package/checkboxgroup/useCheckboxGroup.props.d.ts +2 -0
  65. package/chip/index.d.ts +1 -0
  66. package/chip/index.mjs +1 -1
  67. package/chip/index.mjs.map +1 -1
  68. package/chip/useChip.d.ts +9 -3
  69. package/chip/useChip.props.d.ts +2 -2
  70. package/collapsible/index.d.ts +3 -0
  71. package/collapsible/index.mjs +2 -0
  72. package/collapsible/index.mjs.map +1 -0
  73. package/collapsible/useCollapsible.d.ts +33 -0
  74. package/collapsible/useCollapsible.props.d.ts +2 -0
  75. package/compare/index.d.ts +3 -0
  76. package/compare/index.mjs +2 -0
  77. package/compare/index.mjs.map +1 -0
  78. package/compare/useCompare.d.ts +2 -0
  79. package/compare/useCompare.props.d.ts +2 -0
  80. package/contextmenu/index.d.ts +1 -0
  81. package/contextmenu/index.mjs +1 -1
  82. package/contextmenu/index.mjs.map +1 -1
  83. package/contextmenu/submenu/index.d.ts +2 -0
  84. package/contextmenu/submenu/index.mjs +2 -0
  85. package/contextmenu/submenu/index.mjs.map +1 -0
  86. package/contextmenu/submenu/useContextMenuSubmenu.d.ts +121 -0
  87. package/contextmenu/submenu/useContextMenuSubmenu.props.d.ts +2 -0
  88. package/contextmenu/useContextMenu.d.ts +413 -1
  89. package/contextmenu/useContextMenu.props.d.ts +2 -2
  90. package/datatable/features/index.d.ts +28 -0
  91. package/datatable/features/index.mjs +11 -0
  92. package/datatable/features/index.mjs.map +1 -0
  93. package/datatable/features/useDataTableColumnReorder.d.ts +52 -0
  94. package/datatable/features/useDataTableColumnResize.d.ts +20 -0
  95. package/datatable/features/useDataTableEditing.d.ts +69 -0
  96. package/datatable/features/useDataTableExpansion.d.ts +32 -0
  97. package/datatable/features/useDataTableExport.d.ts +43 -0
  98. package/datatable/features/useDataTableFilter.d.ts +95 -0
  99. package/datatable/features/useDataTableGrouping.d.ts +11 -0
  100. package/datatable/features/useDataTableKeyboard.d.ts +23 -0
  101. package/datatable/features/useDataTablePagination.d.ts +32 -0
  102. package/datatable/features/useDataTableRowReorder.d.ts +42 -0
  103. package/datatable/features/useDataTableSelection.d.ts +28 -0
  104. package/datatable/features/useDataTableSort.d.ts +51 -0
  105. package/datatable/features/useDataTableTree.d.ts +31 -0
  106. package/datatable/index.d.ts +7 -0
  107. package/datatable/index.mjs +11 -0
  108. package/datatable/index.mjs.map +1 -0
  109. package/datatable/useDataTable.d.ts +237 -0
  110. package/datatable/useDataTable.props.d.ts +2 -0
  111. package/datatable/useDataTableRow.d.ts +30 -0
  112. package/datatable/useDataTableRow.props.d.ts +2 -0
  113. package/datatable/utils/compareValues.d.ts +20 -0
  114. package/datatable/utils/index.d.ts +1 -0
  115. package/datatable/utils/index.mjs +2 -0
  116. package/datatable/utils/index.mjs.map +1 -0
  117. package/dataview/index.d.ts +1 -0
  118. package/dataview/index.mjs +1 -1
  119. package/dataview/index.mjs.map +1 -1
  120. package/dataview/useDataView.d.ts +25 -1
  121. package/dataview/useDataView.props.d.ts +2 -2
  122. package/datepicker/index.d.ts +1 -0
  123. package/datepicker/index.mjs +1 -1
  124. package/datepicker/index.mjs.map +1 -1
  125. package/datepicker/useDatePicker.d.ts +2 -114
  126. package/datepicker/useDatePicker.props.d.ts +2 -2
  127. package/dialog/index.d.ts +1 -0
  128. package/dialog/index.mjs +1 -1
  129. package/dialog/index.mjs.map +1 -1
  130. package/dialog/useDialog.d.ts +274 -24
  131. package/dialog/useDialog.props.d.ts +2 -2
  132. package/divider/index.d.ts +1 -0
  133. package/divider/index.mjs +1 -1
  134. package/divider/index.mjs.map +1 -1
  135. package/divider/useDivider.d.ts +14 -1
  136. package/divider/useDivider.props.d.ts +2 -2
  137. package/dnd/index.d.ts +11 -0
  138. package/dnd/index.mjs +2 -0
  139. package/dnd/index.mjs.map +1 -0
  140. package/dnd/useDnd.d.ts +45 -0
  141. package/dnd/useDnd.props.d.ts +2 -0
  142. package/dnd/useDraggable.d.ts +14 -0
  143. package/dnd/useDraggable.props.d.ts +2 -0
  144. package/dnd/useDroppable.d.ts +11 -0
  145. package/dnd/useDroppable.props.d.ts +2 -0
  146. package/dnd/useSortable.d.ts +11 -0
  147. package/dnd/useSortable.props.d.ts +2 -0
  148. package/dnd/useSortableContainer.d.ts +24 -0
  149. package/dnd/useSortableContainer.props.d.ts +2 -0
  150. package/drawer/index.d.ts +1 -0
  151. package/drawer/index.mjs +1 -1
  152. package/drawer/index.mjs.map +1 -1
  153. package/drawer/useDrawer.d.ts +78 -16
  154. package/drawer/useDrawer.props.d.ts +2 -2
  155. package/fieldset/index.d.ts +1 -0
  156. package/fieldset/index.mjs +1 -1
  157. package/fieldset/index.mjs.map +1 -1
  158. package/fieldset/useFieldset.d.ts +80 -1
  159. package/fieldset/useFieldset.props.d.ts +2 -2
  160. package/fileupload/index.d.ts +1 -0
  161. package/fileupload/index.mjs +1 -1
  162. package/fileupload/index.mjs.map +1 -1
  163. package/fileupload/useFileUpload.d.ts +73 -4
  164. package/fileupload/useFileUpload.props.d.ts +2 -2
  165. package/floatlabel/index.d.ts +3 -0
  166. package/floatlabel/index.mjs +2 -0
  167. package/floatlabel/index.mjs.map +1 -0
  168. package/floatlabel/useFloatLabel.d.ts +6 -0
  169. package/floatlabel/useFloatLabel.props.d.ts +2 -0
  170. package/fluid/index.d.ts +1 -0
  171. package/fluid/index.mjs +1 -1
  172. package/fluid/index.mjs.map +1 -1
  173. package/fluid/useFluid.d.ts +6 -1
  174. package/fluid/useFluid.props.d.ts +2 -2
  175. package/focustrap/index.d.ts +1 -0
  176. package/focustrap/index.mjs +1 -1
  177. package/focustrap/index.mjs.map +1 -1
  178. package/focustrap/useFocusTrap.d.ts +16 -3
  179. package/focustrap/useFocusTrap.props.d.ts +2 -2
  180. package/gallery/index.d.ts +1 -0
  181. package/gallery/index.mjs +1 -1
  182. package/gallery/index.mjs.map +1 -1
  183. package/gallery/item/index.mjs +1 -1
  184. package/gallery/item/index.mjs.map +1 -1
  185. package/gallery/item/useGalleryItem.d.ts +17 -7
  186. package/gallery/item/useGalleryItem.props.d.ts +2 -2
  187. package/gallery/useGallery.d.ts +147 -6
  188. package/gallery/useGallery.props.d.ts +2 -2
  189. package/iconfield/index.d.ts +1 -0
  190. package/iconfield/index.mjs +1 -1
  191. package/iconfield/index.mjs.map +1 -1
  192. package/iconfield/useIconField.d.ts +6 -1
  193. package/iconfield/useIconField.props.d.ts +2 -2
  194. package/iftalabel/index.d.ts +3 -0
  195. package/iftalabel/index.mjs +2 -0
  196. package/iftalabel/index.mjs.map +1 -0
  197. package/iftalabel/useIftaLabel.d.ts +6 -0
  198. package/iftalabel/useIftaLabel.props.d.ts +2 -0
  199. package/inplace/index.d.ts +1 -0
  200. package/inplace/index.mjs +1 -1
  201. package/inplace/index.mjs.map +1 -1
  202. package/inplace/useInplace.d.ts +21 -2
  203. package/inplace/useInplace.props.d.ts +2 -2
  204. package/{colorpicker → inputcolor}/colorManager.d.ts +3 -2
  205. package/inputcolor/index.d.ts +4 -0
  206. package/inputcolor/index.mjs +2 -0
  207. package/inputcolor/index.mjs.map +1 -0
  208. package/inputcolor/useInputColor.d.ts +119 -0
  209. package/inputcolor/useInputColor.props.d.ts +2 -0
  210. package/inputgroup/index.d.ts +1 -0
  211. package/inputgroup/index.mjs +1 -1
  212. package/inputgroup/index.mjs.map +1 -1
  213. package/inputgroup/useInputGroup.d.ts +6 -1
  214. package/inputgroup/useInputGroup.props.d.ts +2 -2
  215. package/inputnumber/index.d.ts +1 -0
  216. package/inputnumber/index.mjs +1 -1
  217. package/inputnumber/index.mjs.map +1 -1
  218. package/inputnumber/useInputNumber.d.ts +55 -17
  219. package/inputnumber/useInputNumber.props.d.ts +2 -2
  220. package/inputotp/index.d.ts +1 -0
  221. package/inputotp/index.mjs +1 -1
  222. package/inputotp/index.mjs.map +1 -1
  223. package/inputotp/useInputOtp.d.ts +25 -6
  224. package/inputotp/useInputOtp.props.d.ts +2 -2
  225. package/inputpassword/index.d.ts +3 -0
  226. package/inputpassword/index.mjs +2 -0
  227. package/inputpassword/index.mjs.map +1 -0
  228. package/inputpassword/useInputPassword.d.ts +15 -0
  229. package/inputpassword/useInputPassword.props.d.ts +2 -0
  230. package/inputtags/index.d.ts +1 -0
  231. package/inputtags/index.mjs +1 -1
  232. package/inputtags/index.mjs.map +1 -1
  233. package/inputtags/useInputTags.d.ts +42 -12
  234. package/inputtags/useInputTags.props.d.ts +2 -2
  235. package/inputtext/index.d.ts +1 -0
  236. package/inputtext/index.mjs +1 -1
  237. package/inputtext/index.mjs.map +1 -1
  238. package/inputtext/useInputText.d.ts +8 -1
  239. package/inputtext/useInputText.props.d.ts +2 -2
  240. package/knob/index.d.ts +1 -0
  241. package/knob/index.mjs +1 -1
  242. package/knob/index.mjs.map +1 -1
  243. package/knob/useKnob.d.ts +51 -10
  244. package/knob/useKnob.props.d.ts +2 -2
  245. package/label/index.d.ts +1 -0
  246. package/label/index.mjs +1 -1
  247. package/label/index.mjs.map +1 -1
  248. package/label/useLabel.d.ts +6 -1
  249. package/label/useLabel.props.d.ts +2 -2
  250. package/listbox/index.d.ts +3 -0
  251. package/listbox/index.mjs +1 -1
  252. package/listbox/index.mjs.map +1 -1
  253. package/listbox/useListbox.d.ts +56 -18
  254. package/listbox/useListbox.props.d.ts +2 -2
  255. package/listbox/useListboxOption.d.ts +21 -0
  256. package/listbox/useListboxOption.props.d.ts +2 -0
  257. package/menu/checkboxitem/index.d.ts +2 -0
  258. package/menu/checkboxitem/index.mjs +2 -0
  259. package/menu/checkboxitem/index.mjs.map +1 -0
  260. package/menu/checkboxitem/useMenuCheckboxItem.d.ts +112 -0
  261. package/menu/checkboxitem/useMenuCheckboxItem.props.d.ts +2 -0
  262. package/menu/index.d.ts +1 -0
  263. package/menu/index.mjs +1 -1
  264. package/menu/index.mjs.map +1 -1
  265. package/menu/radioitem/index.d.ts +2 -0
  266. package/menu/radioitem/index.mjs +2 -0
  267. package/menu/radioitem/index.mjs.map +1 -0
  268. package/menu/radioitem/useMenuRadioItem.d.ts +106 -0
  269. package/menu/radioitem/useMenuRadioItem.props.d.ts +2 -0
  270. package/menu/submenu/index.d.ts +2 -0
  271. package/menu/submenu/index.mjs +2 -0
  272. package/menu/submenu/index.mjs.map +1 -0
  273. package/menu/submenu/useMenuSubmenu.d.ts +97 -0
  274. package/menu/submenu/useMenuSubmenu.props.d.ts +2 -0
  275. package/menu/useMenu.d.ts +215 -22
  276. package/menu/useMenu.props.d.ts +2 -2
  277. package/message/index.d.ts +1 -0
  278. package/message/index.mjs +1 -1
  279. package/message/index.mjs.map +1 -1
  280. package/message/useMessage.d.ts +13 -1
  281. package/message/useMessage.props.d.ts +2 -2
  282. package/metergroup/index.d.ts +1 -0
  283. package/metergroup/index.mjs +1 -1
  284. package/metergroup/index.mjs.map +1 -1
  285. package/metergroup/useMeterGroup.d.ts +36 -5
  286. package/metergroup/useMeterGroup.props.d.ts +2 -2
  287. package/navigationmenu/index.d.ts +3 -0
  288. package/navigationmenu/index.mjs +2 -0
  289. package/navigationmenu/index.mjs.map +1 -0
  290. package/navigationmenu/useNavigationMenu.d.ts +30 -0
  291. package/navigationmenu/useNavigationMenu.props.d.ts +2 -0
  292. package/orderlist/index.d.ts +3 -0
  293. package/orderlist/index.mjs +2 -0
  294. package/orderlist/index.mjs.map +1 -0
  295. package/orderlist/useOrderList.d.ts +73 -0
  296. package/orderlist/useOrderList.props.d.ts +2 -0
  297. package/organizationchart/index.d.ts +3 -0
  298. package/organizationchart/index.mjs +2 -0
  299. package/organizationchart/index.mjs.map +1 -0
  300. package/organizationchart/useOrganizationChart.d.ts +69 -0
  301. package/organizationchart/useOrganizationChart.props.d.ts +2 -0
  302. package/overlaybadge/index.d.ts +3 -0
  303. package/overlaybadge/index.mjs +2 -0
  304. package/overlaybadge/index.mjs.map +1 -0
  305. package/overlaybadge/useOverlayBadge.d.ts +1 -0
  306. package/overlaybadge/useOverlayBadge.props.d.ts +2 -0
  307. package/package.json +12 -15
  308. package/paginator/index.d.ts +1 -0
  309. package/paginator/index.mjs +1 -1
  310. package/paginator/index.mjs.map +1 -1
  311. package/paginator/usePaginator.d.ts +47 -1
  312. package/paginator/usePaginator.props.d.ts +2 -2
  313. package/panel/index.d.ts +1 -0
  314. package/panel/index.mjs +1 -1
  315. package/panel/index.mjs.map +1 -1
  316. package/panel/usePanel.d.ts +76 -8
  317. package/panel/usePanel.props.d.ts +2 -2
  318. package/picklist/index.d.ts +3 -0
  319. package/picklist/index.mjs +2 -0
  320. package/picklist/index.mjs.map +1 -0
  321. package/picklist/usePickList.d.ts +153 -0
  322. package/picklist/usePickList.props.d.ts +2 -0
  323. package/popover/index.d.ts +1 -0
  324. package/popover/index.mjs +1 -7
  325. package/popover/index.mjs.map +1 -1
  326. package/popover/usePopover.d.ts +65 -12
  327. package/popover/usePopover.props.d.ts +2 -2
  328. package/portal/index.d.ts +1 -0
  329. package/portal/index.mjs +1 -1
  330. package/portal/index.mjs.map +1 -1
  331. package/portal/usePortal.d.ts +4 -2
  332. package/portal/usePortal.props.d.ts +2 -2
  333. package/positioner/index.d.ts +3 -0
  334. package/positioner/index.mjs +2 -0
  335. package/positioner/index.mjs.map +1 -0
  336. package/positioner/usePositioner.anchor.d.ts +7 -0
  337. package/positioner/usePositioner.d.ts +11 -0
  338. package/positioner/usePositioner.fallback.d.ts +13 -0
  339. package/positioner/usePositioner.props.d.ts +2 -0
  340. package/positioner/usePositioner.utils.d.ts +21 -0
  341. package/progressbar/index.d.ts +1 -0
  342. package/progressbar/index.mjs +1 -1
  343. package/progressbar/index.mjs.map +1 -1
  344. package/progressbar/useProgressBar.d.ts +13 -1
  345. package/progressbar/useProgressBar.props.d.ts +2 -2
  346. package/progressspinner/index.d.ts +1 -0
  347. package/progressspinner/index.mjs +1 -1
  348. package/progressspinner/index.mjs.map +1 -1
  349. package/progressspinner/useProgressSpinner.d.ts +50 -1
  350. package/progressspinner/useProgressSpinner.props.d.ts +2 -2
  351. package/radiobutton/index.d.ts +1 -0
  352. package/radiobutton/index.mjs +1 -1
  353. package/radiobutton/index.mjs.map +1 -1
  354. package/radiobutton/useRadioButton.d.ts +41 -3
  355. package/radiobutton/useRadioButton.props.d.ts +2 -2
  356. package/radiobuttongroup/index.d.ts +3 -0
  357. package/radiobuttongroup/index.mjs +2 -0
  358. package/radiobuttongroup/index.mjs.map +1 -0
  359. package/radiobuttongroup/useRadioButtonGroup.d.ts +11 -0
  360. package/radiobuttongroup/useRadioButtonGroup.props.d.ts +2 -0
  361. package/rating/index.d.ts +3 -0
  362. package/rating/index.mjs +1 -1
  363. package/rating/index.mjs.map +1 -1
  364. package/rating/useRating.d.ts +46 -12
  365. package/rating/useRating.props.d.ts +2 -2
  366. package/rating/useRatingOption.d.ts +69 -0
  367. package/rating/useRatingOption.props.d.ts +2 -0
  368. package/scrollarea/index.d.ts +1 -0
  369. package/scrollarea/index.mjs +1 -1
  370. package/scrollarea/index.mjs.map +1 -1
  371. package/scrollarea/useScrollArea.d.ts +120 -15
  372. package/scrollarea/useScrollArea.props.d.ts +2 -2
  373. package/select/index.d.ts +3 -0
  374. package/select/index.mjs +2 -0
  375. package/select/index.mjs.map +1 -0
  376. package/select/useSelect.d.ts +190 -0
  377. package/select/useSelect.props.d.ts +2 -0
  378. package/select/useSelect.test.d.ts +1 -0
  379. package/sidebar/index.d.ts +7 -0
  380. package/sidebar/index.mjs +2 -0
  381. package/sidebar/index.mjs.map +1 -0
  382. package/sidebar/useSidebar.d.ts +117 -0
  383. package/sidebar/useSidebar.props.d.ts +2 -0
  384. package/sidebar/useSidebarLayout.d.ts +24 -0
  385. package/sidebar/useSidebarLayout.props.d.ts +2 -0
  386. package/sidebar/useSidebarMenuItem.d.ts +11 -0
  387. package/sidebar/useSidebarMenuItem.props.d.ts +2 -0
  388. package/skeleton/index.d.ts +1 -0
  389. package/skeleton/index.mjs +1 -1
  390. package/skeleton/index.mjs.map +1 -1
  391. package/skeleton/useSkeleton.d.ts +7 -1
  392. package/skeleton/useSkeleton.props.d.ts +2 -2
  393. package/slider/index.d.ts +1 -0
  394. package/slider/index.mjs +1 -1
  395. package/slider/index.mjs.map +1 -1
  396. package/slider/useSlider.d.ts +81 -48
  397. package/slider/useSlider.props.d.ts +2 -2
  398. package/speeddial/index.d.ts +1 -0
  399. package/speeddial/index.mjs +1 -1
  400. package/speeddial/index.mjs.map +1 -1
  401. package/speeddial/useSpeedDial.d.ts +89 -32
  402. package/speeddial/useSpeedDial.props.d.ts +2 -2
  403. package/splitter/index.d.ts +1 -0
  404. package/splitter/index.mjs +1 -1
  405. package/splitter/index.mjs.map +1 -1
  406. package/splitter/useSplitter.d.ts +57 -14
  407. package/splitter/useSplitter.props.d.ts +2 -2
  408. package/stepper/index.d.ts +1 -0
  409. package/stepper/index.mjs +1 -1
  410. package/stepper/index.mjs.map +1 -1
  411. package/stepper/useStepper.d.ts +47 -2
  412. package/stepper/useStepper.props.d.ts +2 -2
  413. package/styleclass/index.d.ts +1 -0
  414. package/styleclass/index.mjs +1 -1
  415. package/styleclass/index.mjs.map +1 -1
  416. package/styleclass/useStyleClass.d.ts +5 -1
  417. package/styleclass/useStyleClass.props.d.ts +2 -2
  418. package/tabs/index.d.ts +1 -0
  419. package/tabs/index.mjs +1 -1
  420. package/tabs/index.mjs.map +1 -1
  421. package/tabs/useTabs.d.ts +42 -3
  422. package/tabs/useTabs.props.d.ts +2 -2
  423. package/tag/index.d.ts +1 -0
  424. package/tag/index.mjs +1 -1
  425. package/tag/index.mjs.map +1 -1
  426. package/tag/useTag.d.ts +6 -1
  427. package/tag/useTag.props.d.ts +2 -2
  428. package/terminal/index.d.ts +1 -0
  429. package/terminal/index.mjs +1 -1
  430. package/terminal/index.mjs.map +1 -1
  431. package/terminal/useTerminal.d.ts +23 -2
  432. package/terminal/useTerminal.props.d.ts +2 -2
  433. package/textarea/index.d.ts +1 -0
  434. package/textarea/index.mjs +1 -1
  435. package/textarea/index.mjs.map +1 -1
  436. package/textarea/useTextarea.d.ts +9 -2
  437. package/textarea/useTextarea.props.d.ts +2 -2
  438. package/timeline/index.d.ts +1 -0
  439. package/timeline/index.mjs +1 -1
  440. package/timeline/index.mjs.map +1 -1
  441. package/timeline/useTimeline.d.ts +41 -1
  442. package/timeline/useTimeline.props.d.ts +2 -2
  443. package/toast/index.d.ts +1 -1
  444. package/toast/index.mjs +1 -1
  445. package/toast/index.mjs.map +1 -1
  446. package/toast/useToast.d.ts +85 -23
  447. package/toast/useToast.props.d.ts +2 -2
  448. package/toaster/ToastManager.d.ts +14 -0
  449. package/toaster/index.d.ts +4 -0
  450. package/toaster/index.mjs +2 -0
  451. package/toaster/index.mjs.map +1 -0
  452. package/toaster/useToaster.d.ts +50 -0
  453. package/toaster/useToaster.props.d.ts +2 -0
  454. package/togglebutton/index.d.ts +1 -0
  455. package/togglebutton/index.mjs +1 -1
  456. package/togglebutton/index.mjs.map +1 -1
  457. package/togglebutton/useToggleButton.d.ts +5 -3
  458. package/togglebutton/useToggleButton.props.d.ts +2 -2
  459. package/togglebuttongroup/index.d.ts +3 -0
  460. package/togglebuttongroup/index.mjs +2 -0
  461. package/togglebuttongroup/index.mjs.map +1 -0
  462. package/togglebuttongroup/useToggleButtonGroup.d.ts +17 -0
  463. package/togglebuttongroup/useToggleButtonGroup.props.d.ts +2 -0
  464. package/toggleswitch/index.d.ts +3 -0
  465. package/toggleswitch/index.mjs +2 -0
  466. package/toggleswitch/index.mjs.map +1 -0
  467. package/toggleswitch/useToggleSwitch.d.ts +48 -0
  468. package/toggleswitch/useToggleSwitch.props.d.ts +2 -0
  469. package/toolbar/index.d.ts +1 -0
  470. package/toolbar/index.mjs +1 -1
  471. package/toolbar/index.mjs.map +1 -1
  472. package/toolbar/useToolbar.d.ts +7 -1
  473. package/toolbar/useToolbar.props.d.ts +2 -2
  474. package/tooltip/index.d.ts +1 -0
  475. package/tooltip/index.mjs +1 -1
  476. package/tooltip/index.mjs.map +1 -1
  477. package/tooltip/useTooltip.d.ts +43 -24
  478. package/tooltip/useTooltip.props.d.ts +2 -2
  479. package/tooltipmanager/index.d.ts +2 -0
  480. package/tooltipmanager/index.mjs +2 -0
  481. package/tooltipmanager/index.mjs.map +1 -0
  482. package/tooltipmanager/useTooltipManager.d.ts +12 -0
  483. package/tooltipmanager/useTooltipManager.props.d.ts +2 -0
  484. package/tooltipmanager/useTooltipManager.test.d.ts +0 -0
  485. package/tree/TreeDragDropService.d.ts +13 -5
  486. package/tree/index.d.ts +7 -0
  487. package/tree/index.mjs +1 -1
  488. package/tree/index.mjs.map +1 -1
  489. package/tree/useTree.d.ts +96 -16
  490. package/tree/useTree.props.d.ts +2 -2
  491. package/tree/useTreeDragDrop.d.ts +24 -0
  492. package/tree/useTreeFlatten.d.ts +13 -0
  493. package/tree/useTreeKeyboard.d.ts +18 -0
  494. package/tree/useTreeNode.d.ts +45 -0
  495. package/tree/useTreeNode.props.d.ts +2 -0
  496. package/tree/useTreeSelection.d.ts +31 -0
  497. package/utils/itemKey.d.ts +10 -0
  498. package/LICENSE +0 -21
  499. package/colorpicker/index.d.ts +0 -3
  500. package/colorpicker/index.mjs +0 -2
  501. package/colorpicker/index.mjs.map +0 -1
  502. package/colorpicker/input/index.d.ts +0 -2
  503. package/colorpicker/input/index.mjs +0 -2
  504. package/colorpicker/input/index.mjs.map +0 -1
  505. package/colorpicker/input/useColorPickerInput.d.ts +0 -11
  506. package/colorpicker/input/useColorPickerInput.props.d.ts +0 -2
  507. package/colorpicker/slider/index.d.ts +0 -2
  508. package/colorpicker/slider/index.mjs +0 -2
  509. package/colorpicker/slider/index.mjs.map +0 -1
  510. package/colorpicker/slider/useColorPickerSlider.d.ts +0 -13
  511. package/colorpicker/slider/useColorPickerSlider.props.d.ts +0 -2
  512. package/colorpicker/useColorPicker.d.ts +0 -26
  513. package/colorpicker/useColorPicker.props.d.ts +0 -2
  514. package/commandmenu/index.d.ts +0 -2
  515. package/commandmenu/index.mjs +0 -2
  516. package/commandmenu/index.mjs.map +0 -1
  517. package/commandmenu/useCommandMenu.d.ts +0 -11
  518. package/commandmenu/useCommandMenu.props.d.ts +0 -2
  519. package/confirmdialog/index.d.ts +0 -2
  520. package/confirmdialog/index.mjs +0 -2
  521. package/confirmdialog/index.mjs.map +0 -1
  522. package/confirmdialog/useConfirmDialog.d.ts +0 -1
  523. package/confirmdialog/useConfirmDialog.props.d.ts +0 -2
  524. package/confirmpopup/index.d.ts +0 -2
  525. package/confirmpopup/index.mjs +0 -2
  526. package/confirmpopup/index.mjs.map +0 -1
  527. package/confirmpopup/useConfirmPopup.d.ts +0 -25
  528. package/confirmpopup/useConfirmPopup.props.d.ts +0 -2
  529. package/imagecompare/index.d.ts +0 -2
  530. package/imagecompare/index.mjs +0 -2
  531. package/imagecompare/index.mjs.map +0 -1
  532. package/imagecompare/useImageCompare.d.ts +0 -8
  533. package/imagecompare/useImageCompare.props.d.ts +0 -2
  534. package/menu/sub/index.d.ts +0 -2
  535. package/menu/sub/index.mjs +0 -2
  536. package/menu/sub/index.mjs.map +0 -1
  537. package/menu/sub/useMenuSub.d.ts +0 -19
  538. package/menu/sub/useMenuSub.props.d.ts +0 -2
  539. package/orgchart/index.d.ts +0 -2
  540. package/orgchart/index.mjs +0 -2
  541. package/orgchart/index.mjs.map +0 -1
  542. package/orgchart/useOrgChart.d.ts +0 -20
  543. package/orgchart/useOrgChart.props.d.ts +0 -2
  544. package/overlay/index.d.ts +0 -2
  545. package/overlay/index.mjs +0 -2
  546. package/overlay/index.mjs.map +0 -1
  547. package/overlay/useOverlay.d.ts +0 -16
  548. package/overlay/useOverlay.props.d.ts +0 -2
  549. package/password/index.d.ts +0 -2
  550. package/password/index.mjs +0 -2
  551. package/password/index.mjs.map +0 -1
  552. package/password/usePassword.d.ts +0 -35
  553. package/password/usePassword.props.d.ts +0 -2
  554. package/placer/index.d.ts +0 -2
  555. package/placer/index.mjs +0 -2
  556. package/placer/index.mjs.map +0 -1
  557. package/placer/usePlacer.d.ts +0 -12
  558. package/placer/usePlacer.props.d.ts +0 -2
  559. package/switch/index.d.ts +0 -2
  560. package/switch/index.mjs +0 -2
  561. package/switch/index.mjs.map +0 -1
  562. package/switch/useSwitch.d.ts +0 -7
  563. package/switch/useSwitch.props.d.ts +0 -2
  564. package/toast/item/index.css +0 -2
  565. package/toast/item/index.css.map +0 -1
  566. package/toast/item/index.d.ts +0 -2
  567. package/toast/item/index.mjs +0 -2
  568. package/toast/item/index.mjs.map +0 -1
  569. package/toast/item/useToastItem.d.ts +0 -25
  570. package/toast/item/useToastItem.props.d.ts +0 -2
  571. package/toast/toastStore.d.ts +0 -40
  572. package/tooltip/group/index.d.ts +0 -2
  573. package/tooltip/group/index.mjs +0 -2
  574. package/tooltip/group/index.mjs.map +0 -1
  575. package/tooltip/group/useTooltipGroup.d.ts +0 -9
  576. package/tooltip/group/useTooltipGroup.props.d.ts +0 -2
  577. /package/{colorpicker/input/useColorPickerInput.test.d.ts → autocomplete/useAutoComplete.test.d.ts} +0 -0
  578. /package/{colorpicker/slider/useColorPickerSlider.test.d.ts → checkboxgroup/useCheckboxGroup.test.d.ts} +0 -0
  579. /package/{colorpicker/useColorPicker.test.d.ts → collapsible/useCollapsible.test.d.ts} +0 -0
  580. /package/{commandmenu/useCommandMenu.test.d.ts → compare/useCompare.test.d.ts} +0 -0
  581. /package/{confirmdialog/useConfirmDialog.test.d.ts → floatlabel/useFloatLabel.test.d.ts} +0 -0
  582. /package/{confirmpopup/useConfirmPopup.test.d.ts → iftalabel/useIftaLabel.test.d.ts} +0 -0
  583. /package/{imagecompare/useImageCompare.test.d.ts → inputcolor/useInputColor.test.d.ts} +0 -0
  584. /package/{orgchart/useOrgChart.test.d.ts → inputpassword/useInputPassword.test.d.ts} +0 -0
  585. /package/{overlay/useOverlay.test.d.ts → navigationmenu/useNavigationMenu.test.d.ts} +0 -0
  586. /package/{password/usePassword.test.d.ts → organizationchart/useOrganizationChart.test.d.ts} +0 -0
  587. /package/{placer/usePlacer.test.d.ts → overlaybadge/useOverlayBadge.test.d.ts} +0 -0
  588. /package/{progressspinner/useProgressSpinner.test.d.ts → positioner/usePositioner.test.d.ts} +0 -0
  589. /package/{rating/useRating.test.d.ts → radiobuttongroup/useRadioButtonGroup.test.d.ts} +0 -0
  590. /package/{switch/useSwitch.test.d.ts → toaster/useToaster.test.d.ts} +0 -0
  591. /package/{toast/item/useToastItem.test.d.ts → togglebuttongroup/useToggleButtonGroup.test.d.ts} +0 -0
  592. /package/{tooltip/group/useTooltipGroup.test.d.ts → toggleswitch/useToggleSwitch.test.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/scrollarea/useScrollArea.ts","../../src/scrollarea/useScrollArea.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useMountEffect, useUnmountEffect } from '@primereact/hooks';\nimport { useEventListener } from '@primereact/hooks/use-event-listener';\nimport { addClass, getHeight, removeClass } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useScrollArea.props';\n\nexport const useScrollArea = withHeadless({\n name: 'useScrollArea',\n defaultProps,\n setup({ props, elementRef }) {\n const contentRef = React.useRef<HTMLDivElement>(null);\n const thumbXRef = React.useRef<HTMLDivElement>(null);\n const thumbYRef = React.useRef<HTMLDivElement>(null);\n const [lastScrollLeft, setLastScrollLeft] = React.useState(0);\n const [lastScrollTop, setLastScrollTop] = React.useState(0);\n const isXBarClicked = React.useRef<boolean>(false);\n const isYBarClicked = React.useRef<boolean>(false);\n const lastPageX = React.useRef<number | null>(null);\n const lastPageY = React.useRef<number | null>(null);\n const scrollXRatio = React.useRef<number | null>(null);\n const scrollYRatio = React.useRef<number | null>(null);\n const frame = React.useRef<number | null>(null);\n const initialized = React.useRef<boolean>(false);\n const timer = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const [orientationState, setOrientationState] = React.useState('vertical');\n\n const state = {\n orientationState\n };\n\n const calculateContainerHeight = () => {\n if (!elementRef.current || !contentRef.current) return;\n\n const containerStyles = getComputedStyle(elementRef.current);\n const thumbXHeight = thumbXRef.current ? parseInt(getComputedStyle(thumbXRef.current).height, 10) : 0;\n const pureContainerHeight = getHeight(elementRef.current) - thumbXHeight;\n\n if (containerStyles.maxHeight !== 'none' && pureContainerHeight === 0) {\n if (contentRef.current.offsetHeight + thumbXHeight > parseInt(containerStyles.maxHeight, 10)) {\n elementRef.current.style.height = containerStyles.maxHeight;\n } else {\n elementRef.current.style.height =\n contentRef.current.offsetHeight + parseFloat(containerStyles.paddingTop) + parseFloat(containerStyles.paddingBottom) + parseFloat(containerStyles.borderTopWidth) + parseFloat(containerStyles.borderBottomWidth) + 'px';\n }\n }\n };\n\n const moveBar = () => {\n if (!contentRef.current || !elementRef.current) return;\n\n // horizontal scroll\n const totalWidth = contentRef.current.scrollWidth;\n const ownWidth = contentRef.current.clientWidth;\n const bottom = (elementRef.current.clientHeight - (thumbXRef.current?.clientHeight || 0)) * -1;\n\n scrollXRatio.current = ownWidth / totalWidth;\n\n // vertical scroll\n const totalHeight = contentRef.current.scrollHeight;\n const ownHeight = contentRef.current.clientHeight;\n const right = (elementRef.current.clientWidth - (thumbYRef.current?.clientWidth || 0)) * -1;\n\n scrollYRatio.current = ownHeight / totalHeight;\n\n const xRatio = scrollXRatio.current;\n const yRatio = scrollYRatio.current;\n\n frame.current = requestAnimationFrame(() => {\n if (thumbXRef.current) {\n if (xRatio >= 1) {\n addClass(thumbXRef.current, 'p-scrollpanel-hidden');\n } else {\n removeClass(thumbXRef.current, 'p-scrollpanel-hidden');\n thumbXRef.current.style.width = Math.max(xRatio * 100, 10) + '%';\n thumbXRef.current.style.setProperty('inset-inline-start', ((contentRef.current?.scrollLeft || 0) / totalWidth) * 100 + '%');\n thumbXRef.current.style.bottom = bottom + 'px';\n }\n }\n\n if (thumbYRef.current) {\n if (yRatio >= 1) {\n addClass(thumbYRef.current, 'p-scrollpanel-hidden');\n } else {\n removeClass(thumbYRef.current, 'p-scrollpanel-hidden');\n\n thumbYRef.current.style.height = Math.max(yRatio * 100, 10) + '%';\n thumbYRef.current.style.top = `calc(${((contentRef.current?.scrollTop || 0) / totalHeight) * 100}% - ${thumbXRef.current?.clientHeight || 0}px)`;\n thumbYRef.current.style.setProperty('inset-inline-end', right + 'px');\n }\n }\n });\n };\n\n const onFocus = (event: React.FocusEvent<HTMLDivElement>) => {\n if (thumbXRef.current && thumbXRef.current.isSameNode(event.target)) {\n setOrientationState('horizontal');\n } else if (thumbYRef.current && thumbYRef.current.isSameNode(event.target)) {\n setOrientationState('vertical');\n }\n };\n\n const onBlur = () => {\n if (orientationState === 'horizontal') {\n setOrientationState('vertical');\n }\n };\n\n const onScroll = (event: React.UIEvent<HTMLDivElement>) => {\n if (lastScrollLeft !== event.currentTarget.scrollLeft) {\n setLastScrollLeft(event.currentTarget.scrollLeft);\n setOrientationState('horizontal');\n } else if (lastScrollTop !== event.currentTarget.scrollTop) {\n setLastScrollTop(event.currentTarget.scrollTop);\n setOrientationState('vertical');\n }\n\n moveBar();\n };\n\n const onDocumentMouseMove = (event: MouseEvent) => {\n if (isXBarClicked.current) {\n onMouseMoveForXBar(event);\n } else if (isYBarClicked.current) {\n onMouseMoveForYBar(event);\n } else {\n onMouseMoveForXBar(event);\n onMouseMoveForYBar(event);\n }\n };\n\n const onYBarMouseDown = (event: React.MouseEvent<HTMLDivElement>) => {\n isYBarClicked.current = true;\n lastPageY.current = event.pageY;\n\n if (thumbYRef.current) {\n addClass(thumbYRef.current, 'p-scrollpanel-grabbed');\n thumbYRef.current.setAttribute('data-p-scrollpanel-grabbed', 'true');\n }\n\n addClass(document.body, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'true');\n\n bindMouseMoveListener();\n unbindMouseUpListener();\n event.preventDefault();\n };\n\n const onXBarMouseDown = (event: React.MouseEvent<HTMLDivElement>) => {\n isXBarClicked.current = true;\n lastPageX.current = event.pageX;\n\n if (thumbXRef.current) {\n addClass(thumbXRef.current, 'p-scrollpanel-grabbed');\n addClass(thumbXRef.current, 'p-scrollpanel-grabbed');\n }\n\n addClass(document.body, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'true');\n\n bindMouseMoveListener();\n bindMouseUpListener();\n event.preventDefault();\n };\n\n const onMouseMoveForXBar = (event: MouseEvent) => {\n if (!lastPageX.current || !scrollXRatio.current || !contentRef.current) return;\n\n const deltaX = event.pageX - lastPageX.current;\n\n lastPageX.current = event.pageX;\n\n frame.current = window.requestAnimationFrame(() => {\n if (contentRef.current && scrollXRatio.current !== null) {\n contentRef.current.scrollLeft += deltaX / scrollXRatio.current;\n }\n });\n };\n\n const onMouseMoveForYBar = (event: MouseEvent) => {\n if (!lastPageY.current || !scrollYRatio.current || !contentRef.current) return;\n\n const deltaY = event.pageY - lastPageY.current;\n\n lastPageY.current = event.pageY;\n\n frame.current = window.requestAnimationFrame(() => {\n if (contentRef.current && scrollYRatio.current !== null) {\n contentRef.current.scrollTop += deltaY / scrollYRatio.current;\n }\n });\n };\n\n const onDocumentMouseUp = () => {\n if (thumbYRef.current) {\n removeClass(thumbYRef.current, 'p-scrollpanel-grabbed');\n thumbYRef.current.setAttribute('data-p-scrollpanel-grabbed', 'false');\n }\n\n if (thumbXRef.current) {\n removeClass(thumbXRef.current, 'p-scrollpanel-grabbed');\n thumbXRef.current.setAttribute('data-p-scrollpanel-grabbed', 'false');\n }\n\n removeClass(document.body, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n\n unbindMouseMoveListener();\n unbindMouseUpListener();\n isXBarClicked.current = false;\n isYBarClicked.current = false;\n };\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (orientationState === 'vertical') {\n switch (event.code) {\n case 'ArrowDown': {\n setTimer('scrollTop', props.step as number);\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp': {\n setTimer('scrollTop', (props.step as number) * -1);\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft':\n\n case 'ArrowRight': {\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n } else if (orientationState === 'horizontal') {\n switch (event.code) {\n case 'ArrowRight': {\n setTimer('scrollLeft', props.step as number);\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft': {\n setTimer('scrollLeft', (props.step as number) * -1);\n event.preventDefault();\n break;\n }\n\n case 'ArrowDown':\n\n case 'ArrowUp': {\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n }\n };\n\n const onKeyUp = () => {\n clearTimer();\n };\n\n const repeat = (bar: 'scrollTop' | 'scrollLeft', step: number) => {\n if (contentRef.current) {\n contentRef.current[bar] += step;\n moveBar();\n }\n };\n\n const setTimer = (bar: 'scrollTop' | 'scrollLeft', step: number) => {\n clearTimer();\n timer.current = setTimeout(() => {\n repeat(bar, step);\n }, 40);\n };\n\n const clearTimer = () => {\n if (timer.current) {\n clearTimeout(timer.current);\n timer.current = null;\n }\n };\n\n const [bindResizeListener, unbindResizeListener] = useEventListener({\n target: 'window',\n type: 'resize',\n listener: () => {\n moveBar();\n }\n });\n\n const [bindMouseMoveListener, unbindMouseMoveListener] = useEventListener({\n target: 'document',\n type: 'mousemove',\n listener: (event: Event) => {\n onDocumentMouseMove(event as MouseEvent);\n }\n });\n\n const [bindMouseUpListener, unbindMouseUpListener] = useEventListener({\n target: 'document',\n type: 'mouseup',\n listener: () => {\n onDocumentMouseUp();\n }\n });\n\n useMountEffect(() => {\n setTimeout(() => {\n moveBar();\n calculateContainerHeight();\n initialized.current = true;\n }, 0);\n\n bindResizeListener();\n });\n\n useUnmountEffect(() => {\n if (initialized.current) {\n unbindResizeListener();\n }\n\n if (frame.current) {\n window.cancelAnimationFrame(frame.current);\n }\n\n clearTimer();\n });\n\n return {\n state,\n contentRef,\n thumbXRef,\n thumbYRef,\n lastScrollLeft,\n lastScrollTop,\n //methods\n onScroll,\n onXBarMouseDown,\n onYBarMouseDown,\n onFocus,\n onBlur,\n onKeyDown,\n onKeyUp\n };\n }\n});\n","import type { useScrollAreaProps } from '@primereact/types/shared/scrollarea';\n\nexport const defaultProps: useScrollAreaProps = {\n step: 5\n};\n"],"mappings":"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","names":["withHeadless","useMountEffect","useUnmountEffect","useEventListener","addClass","getHeight","removeClass","React","defaultProps","useScrollArea","withHeadless","defaultProps","props","elementRef","contentRef","thumbXRef","thumbYRef","lastScrollLeft","setLastScrollLeft","lastScrollTop","setLastScrollTop","isXBarClicked","isYBarClicked","lastPageX","lastPageY","scrollXRatio","scrollYRatio","frame","initialized","timer","orientationState","setOrientationState","state","calculateContainerHeight","containerStyles","thumbXHeight","pureContainerHeight","getHeight","moveBar","_a","_b","totalWidth","ownWidth","bottom","totalHeight","ownHeight","right","xRatio","yRatio","_c","addClass","removeClass","onFocus","event","onBlur","onScroll","onDocumentMouseMove","onMouseMoveForXBar","onMouseMoveForYBar","onYBarMouseDown","bindMouseMoveListener","unbindMouseUpListener","onXBarMouseDown","bindMouseUpListener","deltaX","deltaY","onDocumentMouseUp","unbindMouseMoveListener","onKeyDown","setTimer","onKeyUp","clearTimer","repeat","bar","step","bindResizeListener","unbindResizeListener","useEventListener","useMountEffect","useUnmountEffect"]}
1
+ {"version":3,"sources":["../../src/scrollarea/useScrollArea.ts","../../src/scrollarea/useScrollArea.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './useScrollArea.props';\n\nconst SCROLL_TIMEOUT = 500;\nconst MIN_HANDLE_SIZE = 20;\n\nexport const useScrollArea = withHeadless({\n name: 'useScrollArea',\n defaultProps,\n setup({ props }) {\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const viewportRef = React.useRef<HTMLDivElement | null>(null);\n const scrollbarYRef = React.useRef<HTMLDivElement | null>(null);\n const scrollbarXRef = React.useRef<HTMLDivElement | null>(null);\n const handleYRef = React.useRef<HTMLDivElement | null>(null);\n const handleXRef = React.useRef<HTMLDivElement | null>(null);\n const cornerRef = React.useRef<HTMLDivElement | null>(null);\n\n const [hovering, setHovering] = React.useState(false);\n const [scrollingX, setScrollingX] = React.useState(false);\n const [scrollingY, setScrollingY] = React.useState(false);\n const [touchModality, setTouchModality] = React.useState(false);\n\n const [scrollMeta, setScrollMeta] = React.useState({\n hiddenX: true,\n hiddenY: true,\n cornerHidden: true,\n cornerWidth: 0,\n cornerHeight: 0,\n xBefore: false,\n xAfter: false,\n yBefore: false,\n yAfter: false\n });\n\n const isDraggingRef = React.useRef(false);\n const dragOrientationRef = React.useRef<'vertical' | 'horizontal'>('vertical');\n const dragStartRef = React.useRef({ pointerPos: 0, scrollPos: 0 });\n const prevScrollRef = React.useRef({ top: 0, left: 0 });\n\n const scrollXTimeoutRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const scrollYTimeoutRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const rafRef = React.useRef<number | null>(null);\n\n const computeHandle = React.useCallback(function computeHandle() {\n const vp = viewportRef.current;\n\n if (!vp) return;\n\n const { scrollHeight, scrollWidth, clientHeight, clientWidth, scrollTop, scrollLeft } = vp;\n const yHidden = clientHeight >= scrollHeight;\n const xHidden = clientWidth >= scrollWidth;\n\n const scrollbarY = scrollbarYRef.current;\n const scrollbarX = scrollbarXRef.current;\n\n const cw = !yHidden && !xHidden && scrollbarY ? scrollbarY.offsetWidth : 0;\n const ch = !yHidden && !xHidden && scrollbarX ? scrollbarX.offsetHeight : 0;\n const scrollbarYHeight = scrollbarY && !yHidden ? scrollbarY.offsetHeight : 0;\n const scrollbarXWidth = scrollbarX && !xHidden ? scrollbarX.offsetWidth : 0;\n\n setScrollMeta((prev) => {\n const next = {\n hiddenX: xHidden,\n hiddenY: yHidden,\n cornerHidden: xHidden || yHidden,\n cornerWidth: cw,\n cornerHeight: ch,\n xBefore: !xHidden && scrollLeft > 0,\n xAfter: !xHidden && scrollWidth - clientWidth - scrollLeft > 1,\n yBefore: !yHidden && scrollTop > 0,\n yAfter: !yHidden && scrollHeight - clientHeight - scrollTop > 1\n };\n\n return prev.hiddenX === next.hiddenX &&\n prev.hiddenY === next.hiddenY &&\n prev.cornerHidden === next.cornerHidden &&\n prev.cornerWidth === next.cornerWidth &&\n prev.cornerHeight === next.cornerHeight &&\n prev.xBefore === next.xBefore &&\n prev.xAfter === next.xAfter &&\n prev.yBefore === next.yBefore &&\n prev.yAfter === next.yAfter\n ? prev\n : next;\n });\n\n if (scrollbarY && !yHidden && scrollbarYHeight > 0) {\n const handleRatio = clientHeight / scrollHeight;\n const handleHeight = Math.max(handleRatio * scrollbarYHeight, MIN_HANDLE_SIZE);\n const availableTrack = scrollbarYHeight - handleHeight;\n const maxScrollTop = scrollHeight - clientHeight;\n const scrollRatio = maxScrollTop > 0 ? scrollTop / maxScrollTop : 0;\n const offsetPx = scrollRatio * availableTrack;\n\n scrollbarY.style.setProperty('--px-handle-height', `${handleHeight}px`);\n scrollbarY.style.setProperty('--px-handle-offset', `${offsetPx}px`);\n }\n\n if (scrollbarX && !xHidden && scrollbarXWidth > 0) {\n const handleRatio = clientWidth / scrollWidth;\n const handleWidth = Math.max(handleRatio * scrollbarXWidth, MIN_HANDLE_SIZE);\n const availableTrack = scrollbarXWidth - handleWidth;\n const maxScrollLeft = scrollWidth - clientWidth;\n const scrollRatio = maxScrollLeft > 0 ? scrollLeft / maxScrollLeft : 0;\n const offsetPx = scrollRatio * availableTrack;\n\n scrollbarX.style.setProperty('--px-handle-width', `${handleWidth}px`);\n scrollbarX.style.setProperty('--px-handle-offset', `${offsetPx}px`);\n }\n }, []);\n\n const handleScroll = React.useCallback(\n function handleScroll() {\n if (!rafRef.current) {\n rafRef.current = requestAnimationFrame(() => {\n rafRef.current = null;\n computeHandle();\n });\n }\n\n const vp = viewportRef.current;\n\n if (!vp) return;\n\n const { scrollTop, scrollLeft } = vp;\n const prev = prevScrollRef.current;\n\n if (scrollTop !== prev.top) {\n setScrollingY((s) => s || true);\n\n if (scrollYTimeoutRef.current) clearTimeout(scrollYTimeoutRef.current);\n\n scrollYTimeoutRef.current = setTimeout(() => setScrollingY(false), SCROLL_TIMEOUT);\n }\n\n if (scrollLeft !== prev.left) {\n setScrollingX((s) => s || true);\n\n if (scrollXTimeoutRef.current) clearTimeout(scrollXTimeoutRef.current);\n\n scrollXTimeoutRef.current = setTimeout(() => setScrollingX(false), SCROLL_TIMEOUT);\n }\n\n prev.top = scrollTop;\n prev.left = scrollLeft;\n },\n [computeHandle]\n );\n\n const handleScrollbarWheel = React.useCallback(function handleScrollbarWheel(event: React.WheelEvent<HTMLDivElement>, orientation: 'vertical' | 'horizontal') {\n const vp = viewportRef.current;\n\n if (!vp || event.ctrlKey) return;\n\n if (orientation === 'vertical') {\n vp.scrollTop += event.deltaY;\n } else {\n vp.scrollLeft += event.deltaX || event.deltaY;\n }\n }, []);\n\n const handleHandlePointerDown = React.useCallback(function handleHandlePointerDown(event: React.PointerEvent<HTMLDivElement>, orientation: 'vertical' | 'horizontal') {\n if (event.pointerType === 'mouse' && event.button !== 0) return;\n\n event.preventDefault();\n event.stopPropagation();\n\n const isVertical = orientation === 'vertical';\n const scrollbar = isVertical ? scrollbarYRef.current : scrollbarXRef.current;\n const vp = viewportRef.current;\n\n if (!scrollbar || !vp) return;\n\n scrollbar.setPointerCapture(event.pointerId);\n isDraggingRef.current = true;\n dragOrientationRef.current = orientation;\n dragStartRef.current = {\n pointerPos: isVertical ? event.clientY : event.clientX,\n scrollPos: isVertical ? vp.scrollTop : vp.scrollLeft\n };\n }, []);\n\n const handleScrollbarPointerDown = React.useCallback(function handleScrollbarPointerDown(event: React.PointerEvent<HTMLDivElement>, orientation: 'vertical' | 'horizontal') {\n if (event.pointerType === 'mouse' && event.button !== 0) return;\n\n event.preventDefault();\n\n const isVertical = orientation === 'vertical';\n const scrollbar = isVertical ? scrollbarYRef.current : scrollbarXRef.current;\n const vp = viewportRef.current;\n\n if (!scrollbar || !vp) return;\n\n scrollbar.setPointerCapture(event.pointerId);\n isDraggingRef.current = true;\n dragOrientationRef.current = orientation;\n\n const rect = scrollbar.getBoundingClientRect();\n const handle = isVertical ? handleYRef.current : handleXRef.current;\n const handleSize = handle ? (isVertical ? handle.offsetHeight : handle.offsetWidth) : 0;\n const trackSize = isVertical ? rect.height : rect.width;\n const effectiveTrack = trackSize - handleSize;\n\n if (effectiveTrack > 0) {\n const clickPos = (isVertical ? event.clientY - rect.top : event.clientX - rect.left) - handleSize / 2;\n const ratio = Math.max(0, Math.min(1, clickPos / effectiveTrack));\n const maxScroll = isVertical ? vp.scrollHeight - vp.clientHeight : vp.scrollWidth - vp.clientWidth;\n\n if (isVertical) {\n vp.scrollTop = ratio * maxScroll;\n } else {\n vp.scrollLeft = ratio * maxScroll;\n }\n }\n\n dragStartRef.current = {\n pointerPos: isVertical ? event.clientY : event.clientX,\n scrollPos: isVertical ? vp.scrollTop : vp.scrollLeft\n };\n }, []);\n\n const handleScrollbarPointerMove = React.useCallback(function handleScrollbarPointerMove(event: React.PointerEvent<HTMLDivElement>) {\n if (!isDraggingRef.current) return;\n\n event.preventDefault();\n\n const isVertical = dragOrientationRef.current === 'vertical';\n const vp = viewportRef.current;\n const scrollbar = isVertical ? scrollbarYRef.current : scrollbarXRef.current;\n\n if (!vp || !scrollbar) return;\n\n const rect = scrollbar.getBoundingClientRect();\n const handle = isVertical ? handleYRef.current : handleXRef.current;\n const handleSize = handle ? (isVertical ? handle.offsetHeight : handle.offsetWidth) : 0;\n const trackSize = isVertical ? rect.height : rect.width;\n const effectiveTrack = trackSize - handleSize;\n\n if (effectiveTrack <= 0) return;\n\n const currentPos = isVertical ? event.clientY : event.clientX;\n const delta = currentPos - dragStartRef.current.pointerPos;\n const maxScroll = isVertical ? vp.scrollHeight - vp.clientHeight : vp.scrollWidth - vp.clientWidth;\n const scrollDelta = (delta / effectiveTrack) * maxScroll;\n\n if (isVertical) {\n vp.scrollTop = dragStartRef.current.scrollPos + scrollDelta;\n } else {\n vp.scrollLeft = dragStartRef.current.scrollPos + scrollDelta;\n }\n }, []);\n\n const handleScrollbarPointerUp = React.useCallback(function handleScrollbarPointerUp(event: React.PointerEvent<HTMLDivElement>) {\n event.preventDefault();\n event.currentTarget.releasePointerCapture(event.pointerId);\n isDraggingRef.current = false;\n }, []);\n\n const onRootPointerEnter = React.useCallback(function onRootPointerEnter(event: React.PointerEvent<HTMLDivElement>) {\n if (event.pointerType === 'touch') {\n setTouchModality(true);\n } else {\n setTouchModality(false);\n setHovering(true);\n }\n }, []);\n\n const onRootPointerLeave = React.useCallback(function onRootPointerLeave() {\n setHovering(false);\n }, []);\n\n const onRootPointerDown = React.useCallback(function onRootPointerDown(event: React.PointerEvent<HTMLDivElement>) {\n if (event.pointerType === 'touch') {\n setTouchModality(true);\n }\n }, []);\n\n React.useLayoutEffect(() => {\n const vp = viewportRef.current;\n\n if (!vp) return;\n\n let localRaf: number | null = null;\n\n const observer = new ResizeObserver(() => {\n if (localRaf) return;\n\n localRaf = requestAnimationFrame(() => {\n localRaf = null;\n computeHandle();\n });\n });\n\n observer.observe(vp);\n\n if (vp.firstElementChild) {\n observer.observe(vp.firstElementChild);\n }\n\n computeHandle();\n\n return () => {\n observer.disconnect();\n\n if (localRaf) cancelAnimationFrame(localRaf);\n };\n }, [computeHandle]);\n\n React.useLayoutEffect(() => {\n computeHandle();\n }, [scrollMeta.hiddenX, scrollMeta.hiddenY, computeHandle]);\n\n React.useEffect(() => {\n return () => {\n clearTimeout(scrollXTimeoutRef.current ?? undefined);\n clearTimeout(scrollYTimeoutRef.current ?? undefined);\n\n if (rafRef.current) cancelAnimationFrame(rafRef.current);\n };\n }, []);\n\n const cornerSize = React.useMemo(() => ({ width: scrollMeta.cornerWidth, height: scrollMeta.cornerHeight }), [scrollMeta.cornerWidth, scrollMeta.cornerHeight]);\n\n const hiddenState = React.useMemo(() => ({ x: scrollMeta.hiddenX, y: scrollMeta.hiddenY, corner: scrollMeta.cornerHidden }), [scrollMeta.hiddenX, scrollMeta.hiddenY, scrollMeta.cornerHidden]);\n\n const scrolling = scrollingX || scrollingY;\n const hasOverflowX = !scrollMeta.hiddenX;\n const hasOverflowY = !scrollMeta.hiddenY;\n\n const state = React.useMemo(\n () => ({\n hovering,\n scrollingX,\n scrollingY,\n scrolling,\n touchModality,\n hasOverflowX,\n hasOverflowY,\n scrollXBefore: scrollMeta.xBefore,\n scrollXAfter: scrollMeta.xAfter,\n scrollYBefore: scrollMeta.yBefore,\n scrollYAfter: scrollMeta.yAfter,\n cornerHidden: scrollMeta.cornerHidden\n }),\n [hovering, scrollingX, scrollingY, scrolling, touchModality, hasOverflowX, hasOverflowY, scrollMeta]\n );\n\n const scrollDataAttributes = React.useMemo(\n () => ({\n ...(scrolling && { 'data-scrolling': '' as const }),\n ...(hasOverflowX && { 'data-has-overflow-x': '' as const }),\n ...(hasOverflowY && { 'data-has-overflow-y': '' as const }),\n ...(scrollMeta.xBefore && { 'data-scroll-x-before': '' as const }),\n ...(scrollMeta.xAfter && { 'data-scroll-x-after': '' as const }),\n ...(scrollMeta.yBefore && { 'data-scroll-y-before': '' as const }),\n ...(scrollMeta.yAfter && { 'data-scroll-y-after': '' as const })\n }),\n [scrolling, hasOverflowX, hasOverflowY, scrollMeta.xBefore, scrollMeta.xAfter, scrollMeta.yBefore, scrollMeta.yAfter]\n );\n\n const rootProps = React.useMemo(\n () => ({\n 'data-scope': 'scrollarea' as const,\n 'data-part': 'root' as const,\n ref: rootRef,\n role: 'presentation' as const,\n 'data-variant': props.variant,\n ...(props.mask && { 'data-mask': '' as const }),\n ...scrollDataAttributes,\n onPointerEnter: onRootPointerEnter,\n onPointerLeave: onRootPointerLeave,\n onPointerDown: onRootPointerDown,\n style: {\n position: 'relative' as const,\n '--px-corner-height': `${cornerSize.height}px`,\n '--px-corner-width': `${cornerSize.width}px`\n } as React.CSSProperties\n }),\n [props.variant, props.mask, scrollDataAttributes, onRootPointerEnter, onRootPointerLeave, onRootPointerDown, cornerSize]\n );\n\n const tabIndex = hasOverflowX || hasOverflowY ? props.tabIndex || 0 : undefined;\n\n const viewportProps = React.useMemo(\n () => ({\n 'data-scope': 'scrollarea' as const,\n 'data-part': 'viewport' as const,\n ref: viewportRef,\n tabIndex,\n onScroll: handleScroll,\n ...scrollDataAttributes,\n style: {\n overflow: 'scroll' as const,\n scrollbarWidth: 'none' as const\n } as React.CSSProperties\n }),\n [tabIndex, handleScroll, scrollDataAttributes]\n );\n\n const onScrollbarYPointerDown = React.useCallback((event: React.PointerEvent<HTMLDivElement>) => handleScrollbarPointerDown(event, 'vertical'), [handleScrollbarPointerDown]);\n const onScrollbarXPointerDown = React.useCallback((event: React.PointerEvent<HTMLDivElement>) => handleScrollbarPointerDown(event, 'horizontal'), [handleScrollbarPointerDown]);\n const onScrollbarYWheel = React.useCallback((event: React.WheelEvent<HTMLDivElement>) => handleScrollbarWheel(event, 'vertical'), [handleScrollbarWheel]);\n const onScrollbarXWheel = React.useCallback((event: React.WheelEvent<HTMLDivElement>) => handleScrollbarWheel(event, 'horizontal'), [handleScrollbarWheel]);\n const onHandleYPointerDown = React.useCallback((event: React.PointerEvent<HTMLDivElement>) => handleHandlePointerDown(event, 'vertical'), [handleHandlePointerDown]);\n const onHandleXPointerDown = React.useCallback((event: React.PointerEvent<HTMLDivElement>) => handleHandlePointerDown(event, 'horizontal'), [handleHandlePointerDown]);\n\n const scrollbarBaseStyle: React.CSSProperties = {\n position: 'absolute',\n touchAction: 'none',\n userSelect: 'none',\n WebkitUserSelect: 'none'\n };\n\n const scrollbarYProps = React.useMemo(\n () => ({\n 'data-scope': 'scrollarea' as const,\n 'data-part': 'scrollbar-y' as const,\n 'data-orientation': 'vertical' as const,\n ...(hovering && { 'data-hovering': '' as const }),\n ...(scrollingY && { 'data-scrolling': '' as const }),\n ref: scrollbarYRef,\n onPointerDown: onScrollbarYPointerDown,\n onPointerMove: handleScrollbarPointerMove,\n onPointerUp: handleScrollbarPointerUp,\n onWheel: onScrollbarYWheel,\n style: {\n ...scrollbarBaseStyle,\n top: 0,\n bottom: 'var(--px-corner-height)',\n insetInlineEnd: 0\n } as React.CSSProperties\n }),\n [hovering, scrollingY, onScrollbarYPointerDown, handleScrollbarPointerMove, handleScrollbarPointerUp, onScrollbarYWheel]\n );\n\n const scrollbarXProps = React.useMemo(\n () => ({\n 'data-scope': 'scrollarea' as const,\n 'data-part': 'scrollbar-x' as const,\n 'data-orientation': 'horizontal' as const,\n ...(hovering && { 'data-hovering': '' as const }),\n ...(scrollingX && { 'data-scrolling': '' as const }),\n ref: scrollbarXRef,\n onPointerDown: onScrollbarXPointerDown,\n onPointerMove: handleScrollbarPointerMove,\n onPointerUp: handleScrollbarPointerUp,\n onWheel: onScrollbarXWheel,\n style: {\n ...scrollbarBaseStyle,\n bottom: 0,\n insetInlineStart: 0,\n insetInlineEnd: 'var(--px-corner-width)'\n } as React.CSSProperties\n }),\n [hovering, scrollingX, onScrollbarXPointerDown, handleScrollbarPointerMove, handleScrollbarPointerUp, onScrollbarXWheel]\n );\n\n const handleYProps = React.useMemo(\n () => ({\n 'data-scope': 'scrollarea' as const,\n 'data-part': 'handle-y' as const,\n 'data-orientation': 'vertical' as const,\n ref: handleYRef,\n onPointerDown: onHandleYPointerDown,\n style: {\n height: 'var(--px-handle-height, 0px)',\n transform: 'translate3d(0, var(--px-handle-offset, 0px), 0)'\n } as React.CSSProperties\n }),\n [onHandleYPointerDown]\n );\n\n const handleXProps = React.useMemo(\n () => ({\n 'data-scope': 'scrollarea' as const,\n 'data-part': 'handle-x' as const,\n 'data-orientation': 'horizontal' as const,\n ref: handleXRef,\n onPointerDown: onHandleXPointerDown,\n style: {\n width: 'var(--px-handle-width, 0px)',\n transform: 'translate3d(var(--px-handle-offset, 0px), 0, 0)'\n } as React.CSSProperties\n }),\n [onHandleXPointerDown]\n );\n\n const contentProps = React.useMemo(\n () => ({\n 'data-scope': 'scrollarea' as const,\n 'data-part': 'content' as const,\n style: {\n minWidth: hasOverflowX ? 'fit-content' : undefined,\n minHeight: hasOverflowY ? 'fit-content' : undefined\n } as React.CSSProperties\n }),\n [hasOverflowX, hasOverflowY]\n );\n\n const cornerProps = React.useMemo(\n () => ({\n 'data-scope': 'scrollarea' as const,\n 'data-part': 'corner' as const,\n ref: cornerRef,\n style: {\n position: 'absolute' as const,\n bottom: 0,\n insetInlineEnd: 0,\n width: 'var(--px-corner-width)',\n height: 'var(--px-corner-height)'\n } as React.CSSProperties\n }),\n []\n );\n\n return {\n state,\n cornerSize,\n hiddenState,\n // prop getters\n rootProps,\n viewportProps,\n contentProps,\n scrollbarYProps,\n scrollbarXProps,\n handleYProps,\n handleXProps,\n cornerProps,\n // methods\n computeHandle,\n handleScroll,\n handleScrollbarPointerDown,\n handleScrollbarPointerMove,\n handleScrollbarPointerUp,\n handleScrollbarWheel,\n handleHandlePointerDown,\n onRootPointerEnter,\n onRootPointerLeave,\n onRootPointerDown\n };\n }\n});\n","import type { UseScrollAreaProps } from '@primereact/types/headless/scrollarea';\n\nexport const defaultProps: UseScrollAreaProps = {\n variant: 'auto',\n mask: false,\n tabIndex: 0\n};\n"],"mappings":"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","names":["withHeadless","React","defaultProps","SCROLL_TIMEOUT","MIN_HANDLE_SIZE","useScrollArea","withHeadless","defaultProps","props","rootRef","viewportRef","scrollbarYRef","scrollbarXRef","handleYRef","handleXRef","cornerRef","hovering","setHovering","scrollingX","setScrollingX","scrollingY","setScrollingY","touchModality","setTouchModality","scrollMeta","setScrollMeta","isDraggingRef","dragOrientationRef","dragStartRef","prevScrollRef","scrollXTimeoutRef","scrollYTimeoutRef","rafRef","computeHandle","vp","scrollHeight","scrollWidth","clientHeight","clientWidth","scrollTop","scrollLeft","yHidden","xHidden","scrollbarY","scrollbarX","cw","ch","scrollbarYHeight","scrollbarXWidth","prev","next","handleRatio","handleHeight","availableTrack","maxScrollTop","offsetPx","handleWidth","maxScrollLeft","handleScroll","s","handleScrollbarWheel","event","orientation","handleHandlePointerDown","isVertical","scrollbar","handleScrollbarPointerDown","rect","handle","handleSize","effectiveTrack","clickPos","ratio","maxScroll","handleScrollbarPointerMove","delta","scrollDelta","handleScrollbarPointerUp","onRootPointerEnter","onRootPointerLeave","onRootPointerDown","localRaf","observer","_a","_b","cornerSize","hiddenState","scrolling","hasOverflowX","hasOverflowY","state","scrollDataAttributes","__spreadValues","rootProps","__spreadProps","tabIndex","viewportProps","onScrollbarYPointerDown","onScrollbarXPointerDown","onScrollbarYWheel","onScrollbarXWheel","onHandleYPointerDown","onHandleXPointerDown","scrollbarBaseStyle","scrollbarYProps","scrollbarXProps","handleYProps","handleXProps","contentProps","cornerProps"]}
@@ -1,18 +1,123 @@
1
1
  import * as React from 'react';
2
- export declare const useScrollArea: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/scrollarea").useScrollAreaProps, unknown, {
2
+ export declare const useScrollArea: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/scrollarea").UseScrollAreaProps, unknown, {
3
3
  state: {
4
- orientationState: string;
5
- };
6
- contentRef: React.RefObject<HTMLDivElement | null>;
7
- thumbXRef: React.RefObject<HTMLDivElement | null>;
8
- thumbYRef: React.RefObject<HTMLDivElement | null>;
9
- lastScrollLeft: number;
10
- lastScrollTop: number;
11
- onScroll: (event: React.UIEvent<HTMLDivElement>) => void;
12
- onXBarMouseDown: (event: React.MouseEvent<HTMLDivElement>) => void;
13
- onYBarMouseDown: (event: React.MouseEvent<HTMLDivElement>) => void;
14
- onFocus: (event: React.FocusEvent<HTMLDivElement>) => void;
15
- onBlur: () => void;
16
- onKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;
17
- onKeyUp: () => void;
4
+ hovering: boolean;
5
+ scrollingX: boolean;
6
+ scrollingY: boolean;
7
+ scrolling: boolean;
8
+ touchModality: boolean;
9
+ hasOverflowX: boolean;
10
+ hasOverflowY: boolean;
11
+ scrollXBefore: boolean;
12
+ scrollXAfter: boolean;
13
+ scrollYBefore: boolean;
14
+ scrollYAfter: boolean;
15
+ cornerHidden: boolean;
16
+ };
17
+ cornerSize: {
18
+ width: number;
19
+ height: number;
20
+ };
21
+ hiddenState: {
22
+ x: boolean;
23
+ y: boolean;
24
+ corner: boolean;
25
+ };
26
+ rootProps: {
27
+ onPointerEnter: (event: React.PointerEvent<HTMLDivElement>) => void;
28
+ onPointerLeave: () => void;
29
+ onPointerDown: (event: React.PointerEvent<HTMLDivElement>) => void;
30
+ style: React.CSSProperties;
31
+ 'data-scroll-y-after'?: "" | undefined;
32
+ 'data-scroll-y-before'?: "" | undefined;
33
+ 'data-scroll-x-after'?: "" | undefined;
34
+ 'data-scroll-x-before'?: "" | undefined;
35
+ 'data-has-overflow-y'?: "" | undefined;
36
+ 'data-has-overflow-x'?: "" | undefined;
37
+ 'data-scrolling'?: "" | undefined;
38
+ 'data-mask'?: "" | undefined;
39
+ 'data-scope': "scrollarea";
40
+ 'data-part': "root";
41
+ ref: React.RefObject<HTMLDivElement | null>;
42
+ role: "presentation";
43
+ 'data-variant': "scroll" | "auto" | "always" | "hidden" | "hover" | undefined;
44
+ };
45
+ viewportProps: {
46
+ style: React.CSSProperties;
47
+ 'data-scroll-y-after'?: "" | undefined;
48
+ 'data-scroll-y-before'?: "" | undefined;
49
+ 'data-scroll-x-after'?: "" | undefined;
50
+ 'data-scroll-x-before'?: "" | undefined;
51
+ 'data-has-overflow-y'?: "" | undefined;
52
+ 'data-has-overflow-x'?: "" | undefined;
53
+ 'data-scrolling'?: "" | undefined;
54
+ 'data-scope': "scrollarea";
55
+ 'data-part': "viewport";
56
+ ref: React.RefObject<HTMLDivElement | null>;
57
+ tabIndex: number | undefined;
58
+ onScroll: () => void;
59
+ };
60
+ contentProps: {
61
+ 'data-scope': "scrollarea";
62
+ 'data-part': "content";
63
+ style: React.CSSProperties;
64
+ };
65
+ scrollbarYProps: {
66
+ ref: React.RefObject<HTMLDivElement | null>;
67
+ onPointerDown: (event: React.PointerEvent<HTMLDivElement>) => void;
68
+ onPointerMove: (event: React.PointerEvent<HTMLDivElement>) => void;
69
+ onPointerUp: (event: React.PointerEvent<HTMLDivElement>) => void;
70
+ onWheel: (event: React.WheelEvent<HTMLDivElement>) => void;
71
+ style: React.CSSProperties;
72
+ 'data-scrolling'?: "" | undefined;
73
+ 'data-hovering'?: "" | undefined;
74
+ 'data-scope': "scrollarea";
75
+ 'data-part': "scrollbar-y";
76
+ 'data-orientation': "vertical";
77
+ };
78
+ scrollbarXProps: {
79
+ ref: React.RefObject<HTMLDivElement | null>;
80
+ onPointerDown: (event: React.PointerEvent<HTMLDivElement>) => void;
81
+ onPointerMove: (event: React.PointerEvent<HTMLDivElement>) => void;
82
+ onPointerUp: (event: React.PointerEvent<HTMLDivElement>) => void;
83
+ onWheel: (event: React.WheelEvent<HTMLDivElement>) => void;
84
+ style: React.CSSProperties;
85
+ 'data-scrolling'?: "" | undefined;
86
+ 'data-hovering'?: "" | undefined;
87
+ 'data-scope': "scrollarea";
88
+ 'data-part': "scrollbar-x";
89
+ 'data-orientation': "horizontal";
90
+ };
91
+ handleYProps: {
92
+ 'data-scope': "scrollarea";
93
+ 'data-part': "handle-y";
94
+ 'data-orientation': "vertical";
95
+ ref: React.RefObject<HTMLDivElement | null>;
96
+ onPointerDown: (event: React.PointerEvent<HTMLDivElement>) => void;
97
+ style: React.CSSProperties;
98
+ };
99
+ handleXProps: {
100
+ 'data-scope': "scrollarea";
101
+ 'data-part': "handle-x";
102
+ 'data-orientation': "horizontal";
103
+ ref: React.RefObject<HTMLDivElement | null>;
104
+ onPointerDown: (event: React.PointerEvent<HTMLDivElement>) => void;
105
+ style: React.CSSProperties;
106
+ };
107
+ cornerProps: {
108
+ 'data-scope': "scrollarea";
109
+ 'data-part': "corner";
110
+ ref: React.RefObject<HTMLDivElement | null>;
111
+ style: React.CSSProperties;
112
+ };
113
+ computeHandle: () => void;
114
+ handleScroll: () => void;
115
+ handleScrollbarPointerDown: (event: React.PointerEvent<HTMLDivElement>, orientation: "vertical" | "horizontal") => void;
116
+ handleScrollbarPointerMove: (event: React.PointerEvent<HTMLDivElement>) => void;
117
+ handleScrollbarPointerUp: (event: React.PointerEvent<HTMLDivElement>) => void;
118
+ handleScrollbarWheel: (event: React.WheelEvent<HTMLDivElement>, orientation: "vertical" | "horizontal") => void;
119
+ handleHandlePointerDown: (event: React.PointerEvent<HTMLDivElement>, orientation: "vertical" | "horizontal") => void;
120
+ onRootPointerEnter: (event: React.PointerEvent<HTMLDivElement>) => void;
121
+ onRootPointerLeave: () => void;
122
+ onRootPointerDown: (event: React.PointerEvent<HTMLDivElement>) => void;
18
123
  }>;
@@ -1,2 +1,2 @@
1
- import type { useScrollAreaProps } from '@primereact/types/shared/scrollarea';
2
- export declare const defaultProps: useScrollAreaProps;
1
+ import type { UseScrollAreaProps } from '@primereact/types/headless/scrollarea';
2
+ export declare const defaultProps: UseScrollAreaProps;
@@ -0,0 +1,3 @@
1
+ export * from './useSelect';
2
+ export * from './useSelect.props';
3
+ export type * from '@primereact/types/headless/select';
@@ -0,0 +1,2 @@
1
+ var se=Object.defineProperty,ie=Object.defineProperties;var le=Object.getOwnPropertyDescriptors;var S=Object.getOwnPropertySymbols;var ce=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable;var V=(t,s,l)=>s in t?se(t,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[s]=l,m=(t,s)=>{for(var l in s||(s={}))ce.call(s,l)&&V(t,l,s[l]);if(S)for(var l of S(s))re.call(s,l)&&V(t,l,s[l]);return t},h=(t,s)=>ie(t,le(s));import{withHeadless as ue}from"@primereact/core/headless";import{useListbox as de}from"@primereact/headless/listbox";import{usePopover as pe}from"@primereact/headless/popover";import{useControlledState as fe}from"@primereact/hooks/use-controlled-state";import{useEventListener as I}from"@primereact/hooks/use-event-listener";import{getFirstFocusableElement as me,getOuterWidth as Ee,isNotEmpty as be,focus as H}from"@primeuix/utils";import*as u from"react";var k={open:void 0,defaultOpen:void 0,value:void 0,defaultValue:void 0,options:[],optionKey:void 0,optionLabel:void 0,optionValue:void 0,optionDisabled:void 0,optionGroupLabel:void 0,optionGroupChildren:void 0,disabled:!1,invalid:!1,locale:void 0,metaKeySelection:!1,multiple:!1,autoOptionFocus:!0,selectOnFocus:!1,focusOnHover:!0,closeOnEscape:!1,autoFocus:!1,trapped:!1,onOpenChange:void 0,onValueChange:void 0};var xe=ue({name:"useSelect",defaultProps:k,setup({props:t,id:s,elementRef:l}){var F;let E=u.useRef(null),A=e=>{var a;(a=E.current)==null||a.call(E,e)},M=e=>{var a;(a=t.onOpenChange)==null||a.call(t,{value:!!e.value})},n=de({value:t.value,defaultValue:t.defaultValue,options:t.options,optionKey:t.optionKey,optionLabel:t.optionLabel,optionValue:t.optionValue,optionDisabled:t.optionDisabled,optionGroupLabel:t.optionGroupLabel,optionGroupChildren:t.optionGroupChildren,disabled:t.disabled,locale:t.locale,autoOptionFocus:t.autoOptionFocus,selectOnFocus:t.selectOnFocus,focusOnHover:t.focusOnHover,multiple:t.multiple,metaKeySelection:t.metaKeySelection,onValueChange:A}),o=pe({open:t.open,defaultOpen:(F=t.defaultOpen)!=null?F:!1,closeOnEscape:t.closeOnEscape,autoFocus:t.autoFocus,trapped:t.trapped,onOpenChange:M}),[d,g]=fe({value:t.value,defaultValue:t.defaultValue,onChange:t.onValueChange}),b=u.useRef(!1),[T,y]=u.useState(!1),U={value:d,opened:o.state.open,focused:T,focusedOptionIndex:n.state.focusedOptionIndex,anchorElement:o.state.anchorElement,positionerElement:o.state.positionerElement,popupElement:o.state.popupElement,arrowElement:o.state.arrowElement,rendered:o.state.rendered},O=()=>{o.setOpen(!0)},c=()=>{o.setOpen(!1),n.changeFocusedOptionIndex(new Event("blur"),-1)},w=()=>{o.state.open?c():O()},p=()=>{o.state.anchorElement&&H(o.state.anchorElement)},B=()=>{t.disabled||w()},G=()=>{var e,a;(a=(e=n.listProps).onFocus)==null||a.call(e),y(!0)},q=()=>{var e,a;(a=(e=n.listProps).onBlur)==null||a.call(e),y(!1)},v=e=>{let a=e.value;if(a===null){c(),p();return}let i=n.getOptions().find(r=>{let f=n.getOptionValue(r);return n.isEquals(f,a)});g([a,{originalEvent:e.originalEvent,value:a,option:i}]),c(),p()},L=e=>{e.preventDefault(),e.stopPropagation();let a=t.multiple?[]:null;g([a,{originalEvent:e,value:a,option:null}]),n.updateModel(e,a),o.state.open&&c(),p()},_=e=>{(e.code==="Enter"||e.code==="Space")&&L(e)};E.current=e=>{t.multiple?g([e.value,{originalEvent:e.originalEvent,value:e.value}]):v(e)};let P=e=>{var a,i,r,f;switch(e.code){case"ArrowDown":K(e);break;case"ArrowUp":$(e);break;case"Enter":case"NumpadEnter":case"Space":z(e);break;case"Home":case"End":case"PageUp":case"PageDown":o.state.open&&((i=(a=n.listProps).onKeyDown)==null||i.call(a,e));break;case"Escape":o.state.open&&(c(),p());break;case"Tab":N(e);break;case"ArrowLeft":case"ArrowRight":case"ShiftLeft":case"ShiftRight":break;default:o.state.open&&((f=(r=n.listProps).onKeyDown)==null||f.call(r,e));break}},K=e=>{var a,i;o.state.open?(i=(a=n.listProps).onKeyDown)==null||i.call(a,e):(b.current=!0,O()),e.preventDefault()},$=e=>{var a,i;if(!o.state.open)b.current=!0,O();else if(e.altKey){let r=n.state.focusedOptionIndex;if(r!==-1){let f=n.getOptions()[r];f&&v({originalEvent:e,value:n.getOptionValue(f)})}c()}else(i=(a=n.listProps).onKeyDown)==null||i.call(a,e);e.preventDefault()},z=e=>{if(!o.state.open)K(e);else{let a=n.state.focusedOptionIndex;if(a!==-1){let i=n.getOptions()[a];i&&!n.isOptionDisabled(i)&&n.onOptionSelect(e,i)}}e.preventDefault()},N=e=>{if(o.state.open){let a=me(o.state.positionerElement,":not([data-focus-guard])");a?(H(a),e.preventDefault()):c()}},W=e=>{switch(e.code){case"Escape":c(),p(),e.preventDefault();break;case"Enter":case"NumpadEnter":if(n.state.focusedOptionIndex!==-1){let a=n.getOptions()[n.state.focusedOptionIndex];a&&!n.isOptionDisabled(a)&&n.onOptionSelect(e,a)}e.preventDefault();break;case"ArrowDown":case"ArrowUp":case"Home":case"End":case"PageUp":case"PageDown":P(e);break;default:break}},x=e=>{let a=n.getOptions().find(i=>n.isEquals(n.getOptionValue(i),e));return a?n.getOptionLabel(a):!t.optionValue&&e!=null?n.getOptionLabel(e):null},j=()=>C()?t.multiple&&Array.isArray(d)?d.map(x).filter(Boolean):x(d):null,C=()=>t.multiple?Array.isArray(d)&&d.length>0:be(d),[J]=I({target:()=>document.querySelector(`label[for="${s}"]`),type:"click",listener:()=>{p()}}),[R,D]=I({target:"window",type:"resize",listener:()=>{o.state.open&&c()}});u.useEffect(()=>{J()},[s]),u.useEffect(()=>{o.state.open?R():D()},[o.state.open,R,D]),u.useEffect(()=>{var e;if(o.state.open&&o.state.positionerElement){let a=(e=l==null?void 0:l.current)!=null?e:o.state.anchorElement;a&&(o.state.positionerElement.style.minWidth=Ee(a)+"px"),(b.current||t.autoOptionFocus)&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{let i=n.state.focusedOptionIndex,r=i!==-1?i:n.findFirstFocusedOptionIndex();n.changeFocusedOptionIndex(new Event("focus"),r),b.current=!1})})}},[o.state.open,o.state.positionerElement]);let Q=m(m({id:s,"data-scope":"select","data-part":"root"},t.disabled&&{"data-disabled":""}),t.invalid&&{"data-invalid":""}),X=m({"data-scope":"select","data-part":"indicator","aria-hidden":!0},o.state.open?{"data-open":""}:{"data-closed":""}),Y={"data-scope":"select","data-part":"clear","aria-label":"Clear",tabIndex:t.disabled?-1:0,onClick:L,onKeyDown:_},Z={"data-scope":"select","data-part":"positioner",ref:o.setPositionerRef},ee=m({"data-scope":"select","data-part":"popup",ref:o.setPopupRef},o.state.open&&{"data-open":""}),te={"data-scope":"select","data-part":"arrow",ref:o.setArrowRef},ne=h(m({},n==null?void 0:n.listProps),{id:`${s}_list`,tabIndex:-1,"data-scope":"select","data-part":"list"}),ae={"data-scope":"select","data-part":"filter",role:"searchbox",autoComplete:"off",disabled:t.disabled,"aria-owns":`${s}_list`,"aria-activedescendant":n==null?void 0:n.getFocusedOptionId(),tabIndex:t.disabled?-1:t.tabIndex,onBlur:n==null?void 0:n.filterProps.onBlur,onChange:n==null?void 0:n.filterProps.onChange,onKeyDown:W},oe=h(m({"data-scope":"select","data-part":"trigger",ref:o.setAnchorRef,tabIndex:t.disabled?-1:t.tabIndex,role:"combobox",disabled:t.disabled,"aria-haspopup":"listbox","aria-multiselectable":t.multiple||void 0,"aria-expanded":!!o.state.open,"aria-controls":o.state.open?`${s}_list`:void 0,"aria-activedescendant":o.state.open?n==null?void 0:n.getFocusedOptionId():void 0,"aria-invalid":t.invalid,"aria-disabled":t.disabled},o.state.open&&{"data-positioner-open":""}),{onClick:B,onKeyDown:P,onFocus:G,onBlur:q});return{state:U,listbox:n,rootProps:Q,triggerProps:oe,filterProps:ae,listProps:ne,indicatorProps:X,clearProps:Y,positionerProps:Z,popupProps:ee,arrowProps:te,setRendered:o.setRendered,getSelectedOptionLabel:j,hasValue:C,show:O,hide:c,toggle:w,focus:p}}});export{k as defaultProps,xe as useSelect};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/select/useSelect.ts","../../src/select/useSelect.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useListbox } from '@primereact/headless/listbox';\nimport { usePopover } from '@primereact/headless/popover';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport { useEventListener } from '@primereact/hooks/use-event-listener';\nimport type { UseListboxValueChangeEvent } from '@primereact/types/headless/listbox';\nimport type { UsePopoverOpenChangeEvent } from '@primereact/types/headless/popover';\nimport { getFirstFocusableElement, getOuterWidth, isNotEmpty, focus as primeuix_focus } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useSelect.props';\n\nexport const useSelect = withHeadless({\n name: 'useSelect',\n defaultProps,\n setup({ props, id, elementRef }) {\n const onListboxValueChange = React.useRef<((event: UseListboxValueChangeEvent) => void) | null>(null);\n\n const handleListboxValueChange = (event: UseListboxValueChangeEvent) => {\n onListboxValueChange.current?.(event);\n };\n\n const handleOpenChange = (event: UsePopoverOpenChangeEvent) => {\n props.onOpenChange?.({ value: !!event.value });\n };\n\n const listbox = useListbox({\n value: props.value,\n defaultValue: props.defaultValue,\n options: props.options,\n optionKey: props.optionKey,\n optionLabel: props.optionLabel,\n optionValue: props.optionValue,\n optionDisabled: props.optionDisabled,\n optionGroupLabel: props.optionGroupLabel,\n optionGroupChildren: props.optionGroupChildren,\n disabled: props.disabled,\n locale: props.locale,\n autoOptionFocus: props.autoOptionFocus,\n selectOnFocus: props.selectOnFocus,\n focusOnHover: props.focusOnHover,\n multiple: props.multiple,\n metaKeySelection: props.metaKeySelection,\n onValueChange: handleListboxValueChange\n });\n\n const popover = usePopover({\n open: props.open,\n defaultOpen: props.defaultOpen ?? false,\n closeOnEscape: props.closeOnEscape,\n autoFocus: props.autoFocus,\n trapped: props.trapped,\n onOpenChange: handleOpenChange\n });\n\n const [valueState, setValueState] = useControlledState({\n value: props.value,\n defaultValue: props.defaultValue,\n onChange: props.onValueChange\n });\n\n const focusOnShow = React.useRef<boolean>(false);\n const [focusedState, setFocusedState] = React.useState(false);\n\n const state = {\n value: valueState,\n opened: popover.state.open,\n focused: focusedState,\n focusedOptionIndex: listbox.state.focusedOptionIndex,\n anchorElement: popover.state.anchorElement,\n positionerElement: popover.state.positionerElement,\n popupElement: popover.state.popupElement,\n arrowElement: popover.state.arrowElement,\n rendered: popover.state.rendered\n };\n\n const show = () => {\n popover.setOpen(true);\n };\n\n const hide = () => {\n popover.setOpen(false);\n listbox.changeFocusedOptionIndex(new Event('blur') as unknown as React.KeyboardEvent, -1);\n };\n\n const toggle = () => {\n if (popover.state.open) {\n hide();\n } else {\n show();\n }\n };\n\n const focus = () => {\n if (popover.state.anchorElement) {\n primeuix_focus(popover.state.anchorElement);\n }\n };\n\n const onClick = () => {\n if (!props.disabled) {\n toggle();\n }\n };\n\n const onFocus = () => {\n listbox.listProps.onFocus?.();\n setFocusedState(true);\n };\n\n const onBlur = () => {\n listbox.listProps.onBlur?.();\n setFocusedState(false);\n };\n\n const onOptionSelect = (event: { originalEvent: React.SyntheticEvent; value: unknown }) => {\n const selectedValue = event.value;\n\n if (selectedValue === null) {\n hide();\n focus();\n\n return;\n }\n\n const option = listbox.getOptions().find((opt: unknown) => {\n const optValue = listbox.getOptionValue(opt);\n\n return listbox.isEquals(optValue, selectedValue);\n });\n\n setValueState([\n selectedValue,\n {\n originalEvent: event.originalEvent,\n value: selectedValue,\n option\n }\n ]);\n\n hide();\n focus();\n };\n\n const onClearClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.stopPropagation();\n\n const emptyValue = props.multiple ? [] : null;\n\n setValueState([\n emptyValue,\n {\n originalEvent: event,\n value: emptyValue,\n option: null\n }\n ]);\n\n listbox.updateModel(event, emptyValue);\n\n if (popover.state.open) {\n hide();\n }\n\n focus();\n };\n\n const onClearKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (event.code === 'Enter' || event.code === 'Space') {\n onClearClick(event as unknown as React.MouseEvent<HTMLButtonElement>);\n }\n };\n\n onListboxValueChange.current = (event: UseListboxValueChangeEvent) => {\n if (props.multiple) {\n setValueState([\n event.value,\n {\n originalEvent: event.originalEvent,\n value: event.value\n }\n ]);\n } else {\n onOptionSelect(event);\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n switch (event.code) {\n case 'ArrowDown':\n onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n onArrowUpKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n onEnterKey(event);\n break;\n\n case 'Home':\n case 'End':\n case 'PageUp':\n case 'PageDown':\n if (popover.state.open) {\n listbox.listProps.onKeyDown?.(event);\n }\n\n break;\n\n case 'Escape':\n if (popover.state.open) {\n hide();\n focus();\n }\n\n break;\n\n case 'Tab':\n onTabKey(event);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n\n default:\n if (popover.state.open) {\n listbox.listProps.onKeyDown?.(event);\n }\n\n break;\n }\n };\n\n const onArrowDownKey = (event: React.KeyboardEvent<HTMLElement>) => {\n if (!popover.state.open) {\n focusOnShow.current = true;\n show();\n } else {\n listbox.listProps.onKeyDown?.(event);\n }\n\n event.preventDefault();\n };\n\n const onArrowUpKey = (event: React.KeyboardEvent<HTMLElement>) => {\n if (!popover.state.open) {\n focusOnShow.current = true;\n show();\n } else {\n if (event.altKey) {\n const focusedOptionIndex = listbox.state.focusedOptionIndex;\n\n if (focusedOptionIndex !== -1) {\n const focusedOption = listbox.getOptions()[focusedOptionIndex];\n\n if (focusedOption) {\n onOptionSelect({\n originalEvent: event,\n value: listbox.getOptionValue(focusedOption)\n });\n }\n }\n\n hide();\n } else {\n listbox.listProps.onKeyDown?.(event);\n }\n }\n\n event.preventDefault();\n };\n\n const onEnterKey = (event: React.KeyboardEvent<HTMLElement>) => {\n if (!popover.state.open) {\n onArrowDownKey(event);\n } else {\n const focusedOptionIndex = listbox.state.focusedOptionIndex;\n\n if (focusedOptionIndex !== -1) {\n const focusedOption = listbox.getOptions()[focusedOptionIndex];\n\n if (focusedOption && !listbox.isOptionDisabled(focusedOption)) {\n listbox.onOptionSelect(event, focusedOption);\n }\n }\n }\n\n event.preventDefault();\n };\n\n const onTabKey = (event: React.KeyboardEvent<HTMLElement>) => {\n if (popover.state.open) {\n const firstFocusable = getFirstFocusableElement(popover.state.positionerElement!, ':not([data-focus-guard])');\n\n if (firstFocusable) {\n primeuix_focus(firstFocusable as HTMLElement);\n event.preventDefault();\n } else {\n hide();\n }\n }\n };\n\n const onFilterKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.code) {\n case 'Escape':\n hide();\n focus();\n\n event.preventDefault();\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n if (listbox.state.focusedOptionIndex !== -1) {\n const focusedOption = listbox.getOptions()[listbox.state.focusedOptionIndex];\n\n if (focusedOption && !listbox.isOptionDisabled(focusedOption)) {\n listbox.onOptionSelect(event, focusedOption);\n }\n }\n\n event.preventDefault();\n break;\n\n case 'ArrowDown':\n case 'ArrowUp':\n case 'Home':\n case 'End':\n case 'PageUp':\n case 'PageDown':\n onKeyDown(event);\n break;\n\n default:\n break;\n }\n };\n\n const getValueLabel = (val: unknown) => {\n const option = listbox.getOptions().find((opt: unknown) => listbox.isEquals(listbox.getOptionValue(opt), val));\n\n if (option) {\n return listbox.getOptionLabel(option);\n }\n\n if (!props.optionValue && val != null) {\n return listbox.getOptionLabel(val);\n }\n\n return null;\n };\n\n const getSelectedOptionLabel = () => {\n if (!hasValue()) {\n return null;\n }\n\n if (props.multiple && Array.isArray(valueState)) {\n return valueState.map(getValueLabel).filter(Boolean);\n }\n\n return getValueLabel(valueState);\n };\n\n const hasValue = () => {\n if (props.multiple) {\n return Array.isArray(valueState) && valueState.length > 0;\n }\n\n return isNotEmpty(valueState);\n };\n\n const [bindLabelClick] = useEventListener({\n target: () => document.querySelector(`label[for=\"${id}\"]`) as HTMLElement,\n type: 'click',\n listener: () => {\n focus();\n }\n });\n\n const [bindResizeListener, unbindResizeListener] = useEventListener({\n target: 'window',\n type: 'resize',\n listener: () => {\n if (popover.state.open) {\n hide();\n }\n }\n });\n\n React.useEffect(() => {\n bindLabelClick();\n }, [id]);\n\n React.useEffect(() => {\n if (popover.state.open) {\n bindResizeListener();\n } else {\n unbindResizeListener();\n }\n }, [popover.state.open, bindResizeListener, unbindResizeListener]);\n\n React.useEffect(() => {\n if (popover.state.open && popover.state.positionerElement) {\n const widthSource = elementRef?.current ?? popover.state.anchorElement;\n\n if (widthSource) {\n popover.state.positionerElement.style.minWidth = getOuterWidth(widthSource) + 'px';\n }\n\n if (focusOnShow.current || props.autoOptionFocus) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n const focusedOptionIndex = listbox.state.focusedOptionIndex;\n const indexToFocus = focusedOptionIndex !== -1 ? focusedOptionIndex : listbox.findFirstFocusedOptionIndex();\n\n listbox.changeFocusedOptionIndex(new Event('focus') as unknown as React.KeyboardEvent, indexToFocus);\n focusOnShow.current = false;\n });\n });\n }\n }\n }, [popover.state.open, popover.state.positionerElement]);\n\n const rootProps = {\n id,\n 'data-scope': 'select' as const,\n 'data-part': 'root' as const,\n ...(props.disabled && { 'data-disabled': '' as const }),\n ...(props.invalid && { 'data-invalid': '' as const })\n };\n\n const indicatorProps = {\n 'data-scope': 'select' as const,\n 'data-part': 'indicator' as const,\n 'aria-hidden': true as const,\n ...(popover.state.open ? { 'data-open': '' as const } : { 'data-closed': '' as const })\n };\n\n const clearProps = {\n 'data-scope': 'select' as const,\n 'data-part': 'clear' as const,\n 'aria-label': 'Clear',\n tabIndex: props.disabled ? -1 : 0,\n onClick: onClearClick,\n onKeyDown: onClearKeyDown\n };\n\n const positionerProps = {\n 'data-scope': 'select' as const,\n 'data-part': 'positioner' as const,\n ref: popover.setPositionerRef\n };\n\n const popupProps = {\n 'data-scope': 'select' as const,\n 'data-part': 'popup' as const,\n ref: popover.setPopupRef,\n ...(popover.state.open && { 'data-open': '' as const })\n };\n\n const arrowProps = {\n 'data-scope': 'select',\n 'data-part': 'arrow',\n ref: popover.setArrowRef\n };\n\n const listProps = {\n ...listbox?.listProps,\n id: `${id}_list`,\n tabIndex: -1,\n 'data-scope': 'select' as const,\n 'data-part': 'list' as const\n };\n\n const filterProps = {\n 'data-scope': 'select' as const,\n 'data-part': 'filter' as const,\n role: 'searchbox' as const,\n autoComplete: 'off' as const,\n disabled: props.disabled,\n 'aria-owns': `${id}_list`,\n 'aria-activedescendant': listbox?.getFocusedOptionId(),\n tabIndex: props.disabled ? -1 : props.tabIndex,\n onBlur: listbox?.filterProps.onBlur,\n onChange: listbox?.filterProps.onChange,\n onKeyDown: onFilterKeyDown\n };\n\n const triggerProps = {\n 'data-scope': 'select' as const,\n 'data-part': 'trigger' as const,\n ref: popover.setAnchorRef,\n tabIndex: props.disabled ? -1 : props.tabIndex,\n role: 'combobox' as const,\n disabled: props.disabled,\n 'aria-haspopup': 'listbox' as const,\n 'aria-multiselectable': props.multiple || undefined,\n 'aria-expanded': !!popover.state.open,\n 'aria-controls': popover.state.open ? `${id}_list` : undefined,\n 'aria-activedescendant': popover.state.open ? listbox?.getFocusedOptionId() : undefined,\n 'aria-invalid': props.invalid,\n 'aria-disabled': props.disabled,\n ...(popover.state.open && { 'data-positioner-open': '' as const }),\n onClick,\n onKeyDown,\n onFocus,\n onBlur\n };\n\n return {\n state,\n listbox,\n // prop getters\n rootProps,\n triggerProps,\n filterProps,\n listProps,\n indicatorProps,\n clearProps,\n positionerProps,\n popupProps,\n arrowProps,\n // methods\n setRendered: popover.setRendered,\n getSelectedOptionLabel,\n hasValue,\n show,\n hide,\n toggle,\n focus\n };\n }\n});\n","import type { UseSelectProps } from '@primereact/types/headless/select';\n\nexport const defaultProps: UseSelectProps = {\n open: undefined,\n defaultOpen: undefined,\n value: undefined,\n defaultValue: undefined,\n options: [],\n optionKey: undefined,\n optionLabel: undefined,\n optionValue: undefined,\n optionDisabled: undefined,\n optionGroupLabel: undefined,\n optionGroupChildren: undefined,\n disabled: false,\n invalid: false,\n locale: undefined,\n metaKeySelection: false,\n multiple: false,\n autoOptionFocus: true,\n selectOnFocus: false,\n focusOnHover: true,\n closeOnEscape: false,\n autoFocus: false,\n trapped: false,\n onOpenChange: undefined,\n onValueChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","useListbox","usePopover","useControlledState","useEventListener","getFirstFocusableElement","getOuterWidth","isNotEmpty","primeuix_focus","React","defaultProps","useSelect","withHeadless","defaultProps","props","id","elementRef","_a","onListboxValueChange","handleListboxValueChange","event","handleOpenChange","listbox","useListbox","popover","usePopover","valueState","setValueState","useControlledState","focusOnShow","focusedState","setFocusedState","state","show","hide","toggle","focus","primeuix_focus","onClick","onFocus","_b","onBlur","onOptionSelect","selectedValue","option","opt","optValue","onClearClick","emptyValue","onClearKeyDown","onKeyDown","_c","_d","onArrowDownKey","onArrowUpKey","onEnterKey","onTabKey","focusedOptionIndex","focusedOption","firstFocusable","getFirstFocusableElement","onFilterKeyDown","getValueLabel","val","getSelectedOptionLabel","hasValue","isNotEmpty","bindLabelClick","useEventListener","bindResizeListener","unbindResizeListener","widthSource","getOuterWidth","indexToFocus","rootProps","__spreadValues","indicatorProps","clearProps","positionerProps","popupProps","arrowProps","listProps","__spreadProps","filterProps","triggerProps"]}
@@ -0,0 +1,190 @@
1
+ import * as React from 'react';
2
+ export declare const useSelect: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/select").UseSelectProps, unknown, {
3
+ state: {
4
+ value: unknown;
5
+ opened: boolean | undefined;
6
+ focused: boolean;
7
+ focusedOptionIndex: number;
8
+ anchorElement: HTMLElement | null;
9
+ positionerElement: HTMLDivElement | null;
10
+ popupElement: HTMLElement | null;
11
+ arrowElement: HTMLDivElement | null;
12
+ rendered: boolean;
13
+ };
14
+ listbox: import("@primereact/types/core").HeadlessInstance<import("@primereact/headless/listbox").UseListboxProps<unknown>, unknown, {
15
+ state: {
16
+ value: unknown;
17
+ focused: boolean;
18
+ focusedOptionIndex: number;
19
+ };
20
+ listRef: React.RefObject<HTMLUListElement | null>;
21
+ firstHiddenElementRef: React.RefObject<HTMLElement | null>;
22
+ lastHiddenElementRef: React.RefObject<HTMLElement | null>;
23
+ rootProps: {
24
+ id: string | undefined;
25
+ 'data-scope': string;
26
+ 'data-part': string;
27
+ 'data-disabled': true | undefined;
28
+ 'data-invalid': true | undefined;
29
+ onBlur: (event: React.FocusEvent) => void;
30
+ };
31
+ listProps: {
32
+ id: string;
33
+ role: "listbox";
34
+ ref: React.RefObject<HTMLUListElement | null>;
35
+ tabIndex: number;
36
+ 'aria-activedescendant': string | undefined;
37
+ 'data-scope': string;
38
+ 'data-part': string;
39
+ onFocus: (event?: React.FocusEvent) => void;
40
+ onBlur: () => void;
41
+ onKeyDown: (event: React.KeyboardEvent) => void;
42
+ };
43
+ filterProps: {
44
+ role: "searchbox";
45
+ autoComplete: "off";
46
+ disabled: boolean | undefined;
47
+ tabIndex: number | undefined;
48
+ 'aria-owns': string | undefined;
49
+ 'aria-activedescendant': string | undefined;
50
+ 'data-scope': string;
51
+ 'data-part': string;
52
+ onBlur: () => void;
53
+ onChange: () => void;
54
+ onKeyDown: (event: React.KeyboardEvent) => void;
55
+ };
56
+ firstHiddenProps: {
57
+ role: "presentation";
58
+ ref: React.RefObject<HTMLElement | null>;
59
+ 'aria-hidden': true;
60
+ 'data-focus-guard': "";
61
+ onFocus: () => void;
62
+ };
63
+ lastHiddenProps: {
64
+ role: "presentation";
65
+ ref: React.RefObject<HTMLElement | null>;
66
+ 'aria-hidden': true;
67
+ 'data-focus-guard': "";
68
+ onFocus: (event: React.FocusEvent) => void;
69
+ };
70
+ getOptions: () => unknown[];
71
+ getOptionId: (index: number) => string;
72
+ getOptionLabel: (option: unknown) => any;
73
+ getOptionValue: (option: unknown) => any;
74
+ isOptionDisabled: (option: unknown) => any;
75
+ isOptionGroup: (option: unknown) => boolean;
76
+ getOptionGroupLabel: (optionGroup: unknown) => any;
77
+ getOptionGroupChildren: (optionGroup: unknown) => any;
78
+ getFocusedOptionId: () => string | undefined;
79
+ onOptionSelect: (event: React.MouseEvent | React.KeyboardEvent, option: unknown, index?: number) => void;
80
+ onOptionTouchEnd: () => void;
81
+ onClearClick: (event: React.MouseEvent) => void;
82
+ isOptionMatched: (option: unknown) => any;
83
+ isValidOption: (option: unknown) => boolean;
84
+ isValidSelectedOption: (option: unknown) => boolean;
85
+ isSelected: (option: unknown) => boolean;
86
+ changeFocusedOptionIndex: (event: React.MouseEvent | React.KeyboardEvent, index?: number) => void;
87
+ findSelectedOptionIndex: () => number;
88
+ findFirstFocusedOptionIndex: () => number;
89
+ scrollInView: (index?: number) => void;
90
+ updateModel: (event: React.SyntheticEvent, value: unknown) => void;
91
+ autoUpdateModel: () => void;
92
+ equalityKey: string | undefined;
93
+ hasValue: () => boolean;
94
+ isEquals: (value1: unknown, value2: unknown) => boolean;
95
+ }>;
96
+ rootProps: {
97
+ 'data-invalid'?: "" | undefined;
98
+ 'data-disabled'?: "" | undefined;
99
+ id: string | undefined;
100
+ 'data-scope': "select";
101
+ 'data-part': "root";
102
+ };
103
+ triggerProps: {
104
+ onClick: () => void;
105
+ onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;
106
+ onFocus: () => void;
107
+ onBlur: () => void;
108
+ 'data-positioner-open'?: "" | undefined;
109
+ 'data-scope': "select";
110
+ 'data-part': "trigger";
111
+ ref: (node: HTMLElement | null) => void;
112
+ tabIndex: number | undefined;
113
+ role: "combobox";
114
+ disabled: boolean | undefined;
115
+ 'aria-haspopup': "listbox";
116
+ 'aria-multiselectable': true | undefined;
117
+ 'aria-expanded': boolean;
118
+ 'aria-controls': string | undefined;
119
+ 'aria-activedescendant': string | undefined;
120
+ 'aria-invalid': boolean | undefined;
121
+ 'aria-disabled': boolean | undefined;
122
+ };
123
+ filterProps: {
124
+ 'data-scope': "select";
125
+ 'data-part': "filter";
126
+ role: "searchbox";
127
+ autoComplete: "off";
128
+ disabled: boolean | undefined;
129
+ 'aria-owns': string;
130
+ 'aria-activedescendant': string | undefined;
131
+ tabIndex: number | undefined;
132
+ onBlur: () => void;
133
+ onChange: () => void;
134
+ onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
135
+ };
136
+ listProps: {
137
+ id: string;
138
+ tabIndex: number;
139
+ 'data-scope': "select";
140
+ 'data-part': "list";
141
+ role: "listbox";
142
+ ref: React.RefObject<HTMLUListElement | null>;
143
+ 'aria-activedescendant': string | undefined;
144
+ onFocus: (event?: React.FocusEvent) => void;
145
+ onBlur: () => void;
146
+ onKeyDown: (event: React.KeyboardEvent) => void;
147
+ };
148
+ indicatorProps: {
149
+ 'data-open': "";
150
+ 'data-scope': "select";
151
+ 'data-part': "indicator";
152
+ 'aria-hidden': true;
153
+ } | {
154
+ 'data-closed': "";
155
+ 'data-scope': "select";
156
+ 'data-part': "indicator";
157
+ 'aria-hidden': true;
158
+ };
159
+ clearProps: {
160
+ 'data-scope': "select";
161
+ 'data-part': "clear";
162
+ 'aria-label': string;
163
+ tabIndex: number;
164
+ onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
165
+ onKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>) => void;
166
+ };
167
+ positionerProps: {
168
+ 'data-scope': "select";
169
+ 'data-part': "positioner";
170
+ ref: (node: HTMLDivElement | null) => void;
171
+ };
172
+ popupProps: {
173
+ 'data-open'?: "" | undefined;
174
+ 'data-scope': "select";
175
+ 'data-part': "popup";
176
+ ref: (node: HTMLElement | null) => void;
177
+ };
178
+ arrowProps: {
179
+ 'data-scope': string;
180
+ 'data-part': string;
181
+ ref: (node: HTMLDivElement | null) => void;
182
+ };
183
+ setRendered: React.Dispatch<React.SetStateAction<boolean>>;
184
+ getSelectedOptionLabel: () => any;
185
+ hasValue: () => boolean;
186
+ show: () => void;
187
+ hide: () => void;
188
+ toggle: () => void;
189
+ focus: () => void;
190
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { UseSelectProps } from '@primereact/types/headless/select';
2
+ export declare const defaultProps: UseSelectProps;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ export * from './useSidebar';
2
+ export * from './useSidebar.props';
3
+ export * from './useSidebarLayout';
4
+ export * from './useSidebarLayout.props';
5
+ export * from './useSidebarMenuItem';
6
+ export * from './useSidebarMenuItem.props';
7
+ export type * from '@primereact/types/headless/sidebar';
@@ -0,0 +1,2 @@
1
+ var z=Object.defineProperty,V=Object.defineProperties;var j=Object.getOwnPropertyDescriptors;var k=Object.getOwnPropertySymbols;var q=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var x=(e,a,l)=>a in e?z(e,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[a]=l,s=(e,a)=>{for(var l in a||(a={}))q.call(a,l)&&x(e,l,a[l]);if(k)for(var l of k(a))A.call(a,l)&&x(e,l,a[l]);return e},O=(e,a)=>V(e,j(a));import{withHeadless as B}from"@primereact/core/headless";import{useControlledState as F}from"@primereact/hooks/use-controlled-state";import*as u from"react";var E={layout:void 0,id:void 0,side:"left",variant:"sidebar",collapsible:"icon",overlay:!1,open:void 0,defaultOpen:!0,onOpenChange:void 0,openOnHover:!1,hoverOpenDelay:50,hoverCloseDelay:100,dismissable:!0,hideOnOutsideClick:!0,width:"16rem",iconWidth:"3rem"};var _=B({name:"useSidebar",defaultProps:E,setup({props:e}){var C,R;let[a,l]=F({value:e.open,defaultValue:(C=e.defaultOpen)!=null?C:!0,onChange:e.onOpenChange}),t=a?"expanded":"collapsed",m={open:!!a,displayState:t},d=c=>{e.collapsible!=="none"&&l([!a,{originalEvent:c,value:!a}])},y=c=>{l([!0,{originalEvent:c,value:!0}])},b=c=>{e.collapsible!=="none"&&l([!1,{originalEvent:c,value:!1}])},v=u.useRef(null),h=()=>{v.current&&(clearTimeout(v.current),v.current=null)},S=u.useCallback(c=>{var p;e.openOnHover&&(h(),v.current=setTimeout(()=>y(c),(p=e.hoverOpenDelay)!=null?p:50))},[e.openOnHover,e.hoverOpenDelay]),i=u.useCallback(c=>{var p;e.openOnHover&&(h(),v.current=setTimeout(()=>b(c),(p=e.hoverCloseDelay)!=null?p:100))},[e.openOnHover,e.hoverCloseDelay]);u.useEffect(()=>h,[]);let o=(R=e.layout)==null?void 0:R.setSidebar;u.useEffect(()=>{if(!(!o||!e.id))return()=>o(e.id,null)},[o,e.id]),u.useEffect(()=>{!o||!e.id||o(e.id,{toggle:d,collapse:b,open:!!a,state:a?"expanded":"collapsed",overlay:!!e.overlay,hideOnOutsideClick:e.hideOnOutsideClick!==!1})},[o,e.id,a,e.overlay,e.hideOnOutsideClick]);let n=O(s(s({"data-scope":"sidebar","data-part":"root","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-collapsible-mode":e.collapsible,"data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),e.openOnHover?{onPointerEnter:S,onPointerLeave:i}:void 0),{style:{"--px-sidebar-width":e.width,"--px-sidebar-width-icon":e.iconWidth}}),r=s({"data-scope":"sidebar","data-part":"spacer","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),g=s({"data-scope":"sidebar","data-part":"aside","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),P=s({"data-scope":"sidebar","data-part":"panel","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),T=s({"data-scope":"sidebar","data-part":"content","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),w=s({"data-scope":"sidebar","data-part":"header","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),L=s({"data-scope":"sidebar","data-part":"footer","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),I=s({"data-scope":"sidebar","data-part":"trigger","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side,onClick:d},e.overlay?{"data-overlay":""}:void 0),D=s({"data-scope":"sidebar","data-part":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:d,title:"Toggle Sidebar","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),U=s({"data-scope":"sidebar","data-part":"main","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),W=s({},e.dismissable?{onClick:b}:{});return{state:m,toggle:d,expand:y,collapse:b,rootProps:n,spacerProps:r,asideProps:g,panelProps:P,contentProps:T,headerProps:w,footerProps:L,triggerProps:I,railProps:D,mainProps:U,backdropProps:W,variant:e.variant,collapsible:e.collapsible,side:e.side,overlay:e.overlay,openOnHover:e.openOnHover}}});import{withHeadless as G}from"@primereact/core/headless";import*as f from"react";var M={};var oe=G({name:"useSidebarLayout",defaultProps:M,setup(){let[e,a]=f.useState(()=>new Map),l=f.useCallback((i,o)=>{a(n=>{if(o===null){if(!n.has(i))return n;let P=new Map(n);return P.delete(i),P}let r=n.get(i);if(r&&r.open===o.open&&r.state===o.state&&r.overlay===o.overlay&&r.hideOnOutsideClick===o.hideOnOutsideClick)return n;let g=new Map(n);return g.set(i,o),g})},[]),t=f.useCallback((i,o)=>{var n,r;if(i){(n=e.get(i))==null||n.toggle(o);return}e.size===1&&((r=e.values().next().value)==null||r.toggle(o))},[e]),m=f.useCallback((i,o)=>{if(i){let n=e.get(i);n!=null&&n.open&&n.toggle(o);return}e.forEach(n=>{n.open&&n.toggle(o)})},[e]),d=f.useMemo(()=>{for(let i of e.values())if(i.open)return!0;return!1},[e]),y=f.useMemo(()=>{for(let i of e.values())if(i.open&&i.overlay&&i.hideOnOutsideClick)return!0;return!1},[e]),v=s({},y?{onClick:i=>{let o=i.target;o!=null&&o.closest('[data-scope="sidebar"][data-part="trigger"]')||e.forEach(n=>{n.open&&n.overlay&&n.hideOnOutsideClick&&n.collapse(i)})}}:void 0);return{state:{open:d},setSidebar:l,toggle:t,collapse:m,backdropProps:{onClick:()=>m(),"data-state":d?"open":"closed"},backdropMotionProps:{visible:d,motionProps:{name:"p-overlay-mask",appear:!0}},mainProps:v}}});import{withHeadless as J}from"@primereact/core/headless";import{useCollapsible as K}from"@primereact/headless/collapsible";var H={collapsible:!1,open:void 0,defaultOpen:!0,disabled:!1,onOpenChange:void 0};var ue=J({name:"useSidebarMenuItem",defaultProps:H,setup({props:e}){var b;let a=!!e.collapsible,l=K({open:a?e.open:void 0,defaultOpen:a&&(b=e.defaultOpen)!=null?b:!0,onOpenChange:a?e.onOpenChange:void 0,disabled:e.disabled}),t={isCollapsible:a,open:l.state.open},m=a?l.triggerProps:{},d=a?l.contentProps:{},y=a?O(s({},l.rootProps),{"data-collapsible":!0}):{};return{state:t,toggle:l.toggle,triggerProps:m,contentProps:d,rootProps:y}}});export{M as defaultLayoutProps,H as defaultMenuItemProps,E as defaultProps,_ as useSidebar,oe as useSidebarLayout,ue as useSidebarMenuItem};
2
+ //# sourceMappingURL=index.mjs.map