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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (617) hide show
  1. package/LICENSE.md +45 -0
  2. package/README.md +35 -0
  3. package/accordion/index.d.ts +3 -0
  4. package/accordion/index.mjs +1 -2
  5. package/accordion/useAccordion.d.ts +7 -6
  6. package/accordion/useAccordion.props.d.ts +2 -2
  7. package/accordion/useAccordionPanel.d.ts +46 -0
  8. package/accordion/useAccordionPanel.props.d.ts +2 -0
  9. package/animateonscroll/index.d.ts +1 -0
  10. package/animateonscroll/index.mjs +1 -2
  11. package/animateonscroll/useAnimateOnScroll.d.ts +6 -1
  12. package/animateonscroll/useAnimateOnScroll.props.d.ts +2 -2
  13. package/autocomplete/index.d.ts +3 -0
  14. package/autocomplete/index.mjs +1 -0
  15. package/autocomplete/useAutoComplete.d.ts +198 -0
  16. package/autocomplete/useAutoComplete.props.d.ts +2 -0
  17. package/avatar/index.d.ts +1 -0
  18. package/avatar/index.mjs +1 -2
  19. package/avatar/useAvatar.d.ts +5 -1
  20. package/avatar/useAvatar.props.d.ts +2 -2
  21. package/avatargroup/index.d.ts +3 -0
  22. package/avatargroup/index.mjs +1 -0
  23. package/avatargroup/useAvatarGroup.d.ts +6 -0
  24. package/avatargroup/useAvatarGroup.props.d.ts +2 -0
  25. package/badge/index.d.ts +1 -0
  26. package/badge/index.mjs +1 -2
  27. package/badge/useBadge.d.ts +7 -1
  28. package/badge/useBadge.props.d.ts +2 -2
  29. package/breadcrumb/index.d.ts +1 -0
  30. package/breadcrumb/index.mjs +1 -2
  31. package/breadcrumb/useBreadcrumb.d.ts +18 -2
  32. package/breadcrumb/useBreadcrumb.props.d.ts +2 -2
  33. package/button/index.d.ts +1 -0
  34. package/button/index.mjs +1 -2
  35. package/button/useButton.d.ts +6 -1
  36. package/button/useButton.props.d.ts +2 -2
  37. package/card/index.d.ts +1 -0
  38. package/card/index.mjs +1 -2
  39. package/card/useCard.d.ts +6 -1
  40. package/card/useCard.props.d.ts +2 -2
  41. package/carousel/index.d.ts +1 -0
  42. package/carousel/index.mjs +1 -2
  43. package/carousel/useCarousel.d.ts +117 -8
  44. package/carousel/useCarousel.props.d.ts +2 -2
  45. package/checkbox/index.d.ts +1 -0
  46. package/checkbox/index.mjs +1 -2
  47. package/checkbox/useCheckbox.d.ts +44 -3
  48. package/checkbox/useCheckbox.props.d.ts +2 -2
  49. package/checkboxgroup/index.d.ts +3 -0
  50. package/checkboxgroup/index.mjs +1 -0
  51. package/checkboxgroup/useCheckboxGroup.d.ts +11 -0
  52. package/checkboxgroup/useCheckboxGroup.props.d.ts +2 -0
  53. package/chip/index.d.ts +1 -0
  54. package/chip/index.mjs +1 -2
  55. package/chip/useChip.d.ts +9 -3
  56. package/chip/useChip.props.d.ts +2 -2
  57. package/collapsible/index.d.ts +3 -0
  58. package/collapsible/index.mjs +1 -0
  59. package/collapsible/useCollapsible.d.ts +33 -0
  60. package/collapsible/useCollapsible.props.d.ts +2 -0
  61. package/compare/index.d.ts +3 -0
  62. package/compare/index.mjs +1 -0
  63. package/compare/useCompare.d.ts +2 -0
  64. package/compare/useCompare.props.d.ts +2 -0
  65. package/contextmenu/index.d.ts +1 -0
  66. package/contextmenu/index.mjs +1 -2
  67. package/contextmenu/submenu/index.d.ts +2 -0
  68. package/contextmenu/submenu/index.mjs +1 -0
  69. package/contextmenu/submenu/useContextMenuSubmenu.d.ts +121 -0
  70. package/contextmenu/submenu/useContextMenuSubmenu.props.d.ts +2 -0
  71. package/contextmenu/useContextMenu.d.ts +413 -1
  72. package/contextmenu/useContextMenu.props.d.ts +2 -2
  73. package/datatable/features/index.d.ts +28 -0
  74. package/datatable/features/index.mjs +10 -0
  75. package/datatable/features/useDataTableColumnReorder.d.ts +52 -0
  76. package/datatable/features/useDataTableColumnResize.d.ts +20 -0
  77. package/datatable/features/useDataTableEditing.d.ts +69 -0
  78. package/datatable/features/useDataTableExpansion.d.ts +32 -0
  79. package/datatable/features/useDataTableExport.d.ts +43 -0
  80. package/datatable/features/useDataTableFilter.d.ts +95 -0
  81. package/datatable/features/useDataTableGrouping.d.ts +11 -0
  82. package/datatable/features/useDataTableKeyboard.d.ts +23 -0
  83. package/datatable/features/useDataTablePagination.d.ts +32 -0
  84. package/datatable/features/useDataTableRowReorder.d.ts +42 -0
  85. package/datatable/features/useDataTableSelection.d.ts +28 -0
  86. package/datatable/features/useDataTableSort.d.ts +51 -0
  87. package/datatable/features/useDataTableTree.d.ts +31 -0
  88. package/datatable/index.d.ts +7 -0
  89. package/datatable/index.mjs +10 -0
  90. package/datatable/useDataTable.d.ts +237 -0
  91. package/datatable/useDataTable.props.d.ts +2 -0
  92. package/datatable/useDataTableRow.d.ts +30 -0
  93. package/datatable/useDataTableRow.props.d.ts +2 -0
  94. package/datatable/utils/compareValues.d.ts +20 -0
  95. package/datatable/utils/index.d.ts +1 -0
  96. package/datatable/utils/index.mjs +1 -0
  97. package/dataview/index.d.ts +1 -0
  98. package/dataview/index.mjs +1 -2
  99. package/dataview/useDataView.d.ts +25 -1
  100. package/dataview/useDataView.props.d.ts +2 -2
  101. package/datepicker/index.d.ts +1 -0
  102. package/datepicker/index.mjs +1 -2
  103. package/datepicker/useDatePicker.d.ts +2 -114
  104. package/datepicker/useDatePicker.props.d.ts +2 -2
  105. package/dialog/index.d.ts +1 -0
  106. package/dialog/index.mjs +1 -2
  107. package/dialog/useDialog.d.ts +274 -24
  108. package/dialog/useDialog.props.d.ts +2 -2
  109. package/divider/index.d.ts +1 -0
  110. package/divider/index.mjs +1 -2
  111. package/divider/useDivider.d.ts +14 -1
  112. package/divider/useDivider.props.d.ts +2 -2
  113. package/dnd/index.d.ts +11 -0
  114. package/dnd/index.mjs +1 -0
  115. package/dnd/useDnd.d.ts +45 -0
  116. package/dnd/useDnd.props.d.ts +2 -0
  117. package/dnd/useDraggable.d.ts +14 -0
  118. package/dnd/useDraggable.props.d.ts +2 -0
  119. package/dnd/useDroppable.d.ts +11 -0
  120. package/dnd/useDroppable.props.d.ts +2 -0
  121. package/dnd/useSortable.d.ts +11 -0
  122. package/dnd/useSortable.props.d.ts +2 -0
  123. package/dnd/useSortableContainer.d.ts +24 -0
  124. package/dnd/useSortableContainer.props.d.ts +2 -0
  125. package/drawer/index.d.ts +1 -0
  126. package/drawer/index.mjs +1 -2
  127. package/drawer/useDrawer.d.ts +78 -16
  128. package/drawer/useDrawer.props.d.ts +2 -2
  129. package/fieldset/index.d.ts +1 -0
  130. package/fieldset/index.mjs +1 -2
  131. package/fieldset/useFieldset.d.ts +80 -1
  132. package/fieldset/useFieldset.props.d.ts +2 -2
  133. package/fileupload/index.d.ts +1 -0
  134. package/fileupload/index.mjs +1 -2
  135. package/fileupload/useFileUpload.d.ts +76 -4
  136. package/fileupload/useFileUpload.props.d.ts +2 -2
  137. package/floatlabel/index.d.ts +3 -0
  138. package/floatlabel/index.mjs +1 -0
  139. package/floatlabel/useFloatLabel.d.ts +6 -0
  140. package/floatlabel/useFloatLabel.props.d.ts +2 -0
  141. package/fluid/index.d.ts +1 -0
  142. package/fluid/index.mjs +1 -2
  143. package/fluid/useFluid.d.ts +6 -1
  144. package/fluid/useFluid.props.d.ts +2 -2
  145. package/focustrap/index.d.ts +1 -0
  146. package/focustrap/index.mjs +1 -2
  147. package/focustrap/useFocusTrap.d.ts +16 -3
  148. package/focustrap/useFocusTrap.props.d.ts +2 -2
  149. package/gallery/index.d.ts +1 -0
  150. package/gallery/index.mjs +1 -2
  151. package/gallery/item/index.mjs +1 -2
  152. package/gallery/item/useGalleryItem.d.ts +17 -7
  153. package/gallery/item/useGalleryItem.props.d.ts +2 -2
  154. package/gallery/useGallery.d.ts +159 -10
  155. package/gallery/useGallery.props.d.ts +2 -2
  156. package/iconfield/index.d.ts +1 -0
  157. package/iconfield/index.mjs +1 -2
  158. package/iconfield/useIconField.d.ts +6 -1
  159. package/iconfield/useIconField.props.d.ts +2 -2
  160. package/iftalabel/index.d.ts +3 -0
  161. package/iftalabel/index.mjs +1 -0
  162. package/iftalabel/useIftaLabel.d.ts +6 -0
  163. package/iftalabel/useIftaLabel.props.d.ts +2 -0
  164. package/inplace/index.d.ts +1 -0
  165. package/inplace/index.mjs +1 -2
  166. package/inplace/useInplace.d.ts +36 -5
  167. package/inplace/useInplace.props.d.ts +2 -2
  168. package/{colorpicker → inputcolor}/colorManager.d.ts +4 -3
  169. package/inputcolor/index.d.ts +4 -0
  170. package/inputcolor/index.mjs +1 -0
  171. package/inputcolor/useInputColor.d.ts +119 -0
  172. package/inputcolor/useInputColor.props.d.ts +2 -0
  173. package/inputgroup/index.d.ts +1 -0
  174. package/inputgroup/index.mjs +1 -2
  175. package/inputgroup/useInputGroup.d.ts +6 -1
  176. package/inputgroup/useInputGroup.props.d.ts +2 -2
  177. package/inputnumber/index.d.ts +1 -0
  178. package/inputnumber/index.mjs +1 -2
  179. package/inputnumber/useInputNumber.d.ts +55 -17
  180. package/inputnumber/useInputNumber.props.d.ts +2 -2
  181. package/inputotp/index.d.ts +1 -0
  182. package/inputotp/index.mjs +1 -2
  183. package/inputotp/useInputOtp.d.ts +25 -6
  184. package/inputotp/useInputOtp.props.d.ts +2 -2
  185. package/inputpassword/index.d.ts +3 -0
  186. package/inputpassword/index.mjs +1 -0
  187. package/inputpassword/useInputPassword.d.ts +15 -0
  188. package/inputpassword/useInputPassword.props.d.ts +2 -0
  189. package/inputtags/index.d.ts +1 -0
  190. package/inputtags/index.mjs +1 -2
  191. package/inputtags/useInputTags.d.ts +42 -12
  192. package/inputtags/useInputTags.props.d.ts +2 -2
  193. package/inputtext/index.d.ts +1 -0
  194. package/inputtext/index.mjs +1 -2
  195. package/inputtext/useInputText.d.ts +8 -1
  196. package/inputtext/useInputText.props.d.ts +2 -2
  197. package/knob/index.d.ts +1 -0
  198. package/knob/index.mjs +1 -2
  199. package/knob/useKnob.d.ts +51 -10
  200. package/knob/useKnob.props.d.ts +2 -2
  201. package/label/index.d.ts +1 -0
  202. package/label/index.mjs +1 -2
  203. package/label/useLabel.d.ts +6 -1
  204. package/label/useLabel.props.d.ts +2 -2
  205. package/listbox/index.d.ts +3 -0
  206. package/listbox/index.mjs +1 -2
  207. package/listbox/useListbox.d.ts +56 -18
  208. package/listbox/useListbox.props.d.ts +2 -2
  209. package/listbox/useListboxOption.d.ts +21 -0
  210. package/listbox/useListboxOption.props.d.ts +2 -0
  211. package/menu/checkboxitem/index.d.ts +2 -0
  212. package/menu/checkboxitem/index.mjs +1 -0
  213. package/menu/checkboxitem/useMenuCheckboxItem.d.ts +112 -0
  214. package/menu/checkboxitem/useMenuCheckboxItem.props.d.ts +2 -0
  215. package/menu/index.d.ts +1 -0
  216. package/menu/index.mjs +1 -2
  217. package/menu/radioitem/index.d.ts +2 -0
  218. package/menu/radioitem/index.mjs +1 -0
  219. package/menu/radioitem/useMenuRadioItem.d.ts +106 -0
  220. package/menu/radioitem/useMenuRadioItem.props.d.ts +2 -0
  221. package/menu/submenu/index.d.ts +2 -0
  222. package/menu/submenu/index.mjs +1 -0
  223. package/menu/submenu/useMenuSubmenu.d.ts +97 -0
  224. package/menu/submenu/useMenuSubmenu.props.d.ts +2 -0
  225. package/menu/useMenu.d.ts +215 -22
  226. package/menu/useMenu.props.d.ts +2 -2
  227. package/message/index.d.ts +1 -0
  228. package/message/index.mjs +1 -2
  229. package/message/useMessage.d.ts +13 -1
  230. package/message/useMessage.props.d.ts +2 -2
  231. package/metergroup/index.d.ts +1 -0
  232. package/metergroup/index.mjs +1 -2
  233. package/metergroup/useMeterGroup.d.ts +36 -5
  234. package/metergroup/useMeterGroup.props.d.ts +2 -2
  235. package/navigationmenu/index.d.ts +3 -0
  236. package/navigationmenu/index.mjs +1 -0
  237. package/navigationmenu/useNavigationMenu.d.ts +30 -0
  238. package/navigationmenu/useNavigationMenu.props.d.ts +2 -0
  239. package/orderlist/index.d.ts +3 -0
  240. package/orderlist/index.mjs +1 -0
  241. package/orderlist/useOrderList.d.ts +74 -0
  242. package/orderlist/useOrderList.props.d.ts +2 -0
  243. package/organizationchart/index.d.ts +3 -0
  244. package/organizationchart/index.mjs +1 -0
  245. package/organizationchart/useOrganizationChart.d.ts +69 -0
  246. package/organizationchart/useOrganizationChart.props.d.ts +2 -0
  247. package/overlaybadge/index.d.ts +3 -0
  248. package/overlaybadge/index.mjs +1 -0
  249. package/overlaybadge/useOverlayBadge.d.ts +1 -0
  250. package/overlaybadge/useOverlayBadge.props.d.ts +2 -0
  251. package/package.json +14 -15
  252. package/paginator/index.d.ts +1 -0
  253. package/paginator/index.mjs +1 -2
  254. package/paginator/usePaginator.d.ts +47 -1
  255. package/paginator/usePaginator.props.d.ts +2 -2
  256. package/panel/index.d.ts +1 -0
  257. package/panel/index.mjs +1 -2
  258. package/panel/usePanel.d.ts +76 -8
  259. package/panel/usePanel.props.d.ts +2 -2
  260. package/picklist/index.d.ts +3 -0
  261. package/picklist/index.mjs +1 -0
  262. package/picklist/usePickList.d.ts +153 -0
  263. package/picklist/usePickList.props.d.ts +2 -0
  264. package/popover/index.d.ts +1 -0
  265. package/popover/index.mjs +1 -8
  266. package/popover/usePopover.d.ts +65 -12
  267. package/popover/usePopover.props.d.ts +2 -2
  268. package/portal/index.d.ts +1 -0
  269. package/portal/index.mjs +1 -2
  270. package/portal/usePortal.d.ts +4 -2
  271. package/portal/usePortal.props.d.ts +2 -2
  272. package/positioner/index.d.ts +3 -0
  273. package/positioner/index.mjs +1 -0
  274. package/positioner/usePositioner.anchor.d.ts +7 -0
  275. package/positioner/usePositioner.d.ts +11 -0
  276. package/positioner/usePositioner.fallback.d.ts +13 -0
  277. package/positioner/usePositioner.props.d.ts +2 -0
  278. package/positioner/usePositioner.utils.d.ts +21 -0
  279. package/progressbar/index.d.ts +1 -0
  280. package/progressbar/index.mjs +1 -2
  281. package/progressbar/useProgressBar.d.ts +13 -1
  282. package/progressbar/useProgressBar.props.d.ts +2 -2
  283. package/progressspinner/index.d.ts +1 -0
  284. package/progressspinner/index.mjs +1 -2
  285. package/progressspinner/useProgressSpinner.d.ts +50 -1
  286. package/progressspinner/useProgressSpinner.props.d.ts +2 -2
  287. package/radiobutton/index.d.ts +1 -0
  288. package/radiobutton/index.mjs +1 -2
  289. package/radiobutton/useRadioButton.d.ts +41 -3
  290. package/radiobutton/useRadioButton.props.d.ts +2 -2
  291. package/radiobuttongroup/index.d.ts +3 -0
  292. package/radiobuttongroup/index.mjs +1 -0
  293. package/radiobuttongroup/useRadioButtonGroup.d.ts +11 -0
  294. package/radiobuttongroup/useRadioButtonGroup.props.d.ts +2 -0
  295. package/rating/index.d.ts +3 -0
  296. package/rating/index.mjs +1 -2
  297. package/rating/useRating.d.ts +46 -12
  298. package/rating/useRating.props.d.ts +2 -2
  299. package/rating/useRatingOption.d.ts +69 -0
  300. package/rating/useRatingOption.props.d.ts +2 -0
  301. package/scrollarea/index.d.ts +1 -0
  302. package/scrollarea/index.mjs +1 -2
  303. package/scrollarea/useScrollArea.d.ts +120 -15
  304. package/scrollarea/useScrollArea.props.d.ts +2 -2
  305. package/select/index.d.ts +3 -0
  306. package/select/index.mjs +1 -0
  307. package/select/useSelect.d.ts +190 -0
  308. package/select/useSelect.props.d.ts +2 -0
  309. package/sidebar/index.d.ts +7 -0
  310. package/sidebar/index.mjs +1 -0
  311. package/sidebar/useSidebar.d.ts +143 -0
  312. package/sidebar/useSidebar.props.d.ts +2 -0
  313. package/sidebar/useSidebarLayout.d.ts +24 -0
  314. package/sidebar/useSidebarLayout.props.d.ts +2 -0
  315. package/sidebar/useSidebarMenuItem.d.ts +10 -0
  316. package/sidebar/useSidebarMenuItem.props.d.ts +2 -0
  317. package/skeleton/index.d.ts +1 -0
  318. package/skeleton/index.mjs +1 -2
  319. package/skeleton/useSkeleton.d.ts +7 -1
  320. package/skeleton/useSkeleton.props.d.ts +2 -2
  321. package/slider/index.d.ts +1 -0
  322. package/slider/index.mjs +1 -2
  323. package/slider/useSlider.d.ts +81 -48
  324. package/slider/useSlider.props.d.ts +2 -2
  325. package/speeddial/index.d.ts +1 -0
  326. package/speeddial/index.mjs +1 -2
  327. package/speeddial/useSpeedDial.d.ts +89 -32
  328. package/speeddial/useSpeedDial.props.d.ts +2 -2
  329. package/splitter/index.d.ts +1 -0
  330. package/splitter/index.mjs +1 -2
  331. package/splitter/useSplitter.d.ts +57 -14
  332. package/splitter/useSplitter.props.d.ts +2 -2
  333. package/stepper/index.d.ts +1 -0
  334. package/stepper/index.mjs +1 -2
  335. package/stepper/useStepper.d.ts +47 -2
  336. package/stepper/useStepper.props.d.ts +2 -2
  337. package/styleclass/index.d.ts +1 -0
  338. package/styleclass/index.mjs +1 -2
  339. package/styleclass/useStyleClass.d.ts +5 -1
  340. package/styleclass/useStyleClass.props.d.ts +2 -2
  341. package/tabs/index.d.ts +1 -0
  342. package/tabs/index.mjs +1 -2
  343. package/tabs/useTabs.d.ts +42 -3
  344. package/tabs/useTabs.props.d.ts +2 -2
  345. package/tag/index.d.ts +1 -0
  346. package/tag/index.mjs +1 -2
  347. package/tag/useTag.d.ts +6 -1
  348. package/tag/useTag.props.d.ts +2 -2
  349. package/terminal/index.d.ts +1 -0
  350. package/terminal/index.mjs +1 -2
  351. package/terminal/useTerminal.d.ts +23 -2
  352. package/terminal/useTerminal.props.d.ts +2 -2
  353. package/textarea/index.d.ts +1 -0
  354. package/textarea/index.mjs +1 -2
  355. package/textarea/useTextarea.d.ts +9 -2
  356. package/textarea/useTextarea.props.d.ts +2 -2
  357. package/timeline/index.d.ts +1 -0
  358. package/timeline/index.mjs +1 -2
  359. package/timeline/useTimeline.d.ts +41 -1
  360. package/timeline/useTimeline.props.d.ts +2 -2
  361. package/toast/index.d.ts +1 -1
  362. package/toast/index.mjs +1 -2
  363. package/toast/useToast.d.ts +85 -23
  364. package/toast/useToast.props.d.ts +2 -2
  365. package/toaster/ToastManager.d.ts +14 -0
  366. package/toaster/index.d.ts +4 -0
  367. package/toaster/index.mjs +1 -0
  368. package/toaster/useToaster.d.ts +50 -0
  369. package/toaster/useToaster.props.d.ts +2 -0
  370. package/togglebutton/index.d.ts +1 -0
  371. package/togglebutton/index.mjs +1 -2
  372. package/togglebutton/useToggleButton.d.ts +5 -3
  373. package/togglebutton/useToggleButton.props.d.ts +2 -2
  374. package/togglebuttongroup/index.d.ts +3 -0
  375. package/togglebuttongroup/index.mjs +1 -0
  376. package/togglebuttongroup/useToggleButtonGroup.d.ts +17 -0
  377. package/togglebuttongroup/useToggleButtonGroup.props.d.ts +2 -0
  378. package/toggleswitch/index.d.ts +3 -0
  379. package/toggleswitch/index.mjs +1 -0
  380. package/toggleswitch/useToggleSwitch.d.ts +48 -0
  381. package/toggleswitch/useToggleSwitch.props.d.ts +2 -0
  382. package/toolbar/index.d.ts +1 -0
  383. package/toolbar/index.mjs +1 -2
  384. package/toolbar/useToolbar.d.ts +7 -1
  385. package/toolbar/useToolbar.props.d.ts +2 -2
  386. package/tooltip/index.d.ts +1 -0
  387. package/tooltip/index.mjs +1 -2
  388. package/tooltip/useTooltip.d.ts +43 -24
  389. package/tooltip/useTooltip.props.d.ts +2 -2
  390. package/tooltipmanager/index.d.ts +2 -0
  391. package/tooltipmanager/index.mjs +1 -0
  392. package/tooltipmanager/useTooltipManager.d.ts +12 -0
  393. package/tooltipmanager/useTooltipManager.props.d.ts +2 -0
  394. package/tree/TreeDragDropService.d.ts +13 -5
  395. package/tree/index.d.ts +7 -0
  396. package/tree/index.mjs +1 -2
  397. package/tree/useTree.d.ts +97 -17
  398. package/tree/useTree.props.d.ts +2 -2
  399. package/tree/useTreeDragDrop.d.ts +24 -0
  400. package/tree/useTreeFlatten.d.ts +13 -0
  401. package/tree/useTreeKeyboard.d.ts +18 -0
  402. package/tree/useTreeNode.d.ts +45 -0
  403. package/tree/useTreeNode.props.d.ts +2 -0
  404. package/tree/useTreeSelection.d.ts +31 -0
  405. package/utils/itemKey.d.ts +10 -0
  406. package/LICENSE +0 -21
  407. package/accordion/index.mjs.map +0 -1
  408. package/accordion/useAccordion.test.d.ts +0 -0
  409. package/animateonscroll/index.mjs.map +0 -1
  410. package/animateonscroll/useAnimateOnScroll.test.d.ts +0 -0
  411. package/avatar/index.mjs.map +0 -1
  412. package/avatar/useAvatar.test.d.ts +0 -0
  413. package/badge/index.mjs.map +0 -1
  414. package/badge/useBadge.test.d.ts +0 -0
  415. package/breadcrumb/index.mjs.map +0 -1
  416. package/breadcrumb/useBreadcrumb.test.d.ts +0 -0
  417. package/button/index.mjs.map +0 -1
  418. package/button/useButton.test.d.ts +0 -0
  419. package/card/index.mjs.map +0 -1
  420. package/card/useCard.test.d.ts +0 -0
  421. package/carousel/index.mjs.map +0 -1
  422. package/carousel/useCarousel.test.d.ts +0 -0
  423. package/checkbox/index.mjs.map +0 -1
  424. package/checkbox/useCheckbox.test.d.ts +0 -0
  425. package/chip/index.mjs.map +0 -1
  426. package/chip/useChip.test.d.ts +0 -0
  427. package/colorpicker/index.d.ts +0 -3
  428. package/colorpicker/index.mjs +0 -2
  429. package/colorpicker/index.mjs.map +0 -1
  430. package/colorpicker/input/index.d.ts +0 -2
  431. package/colorpicker/input/index.mjs +0 -2
  432. package/colorpicker/input/index.mjs.map +0 -1
  433. package/colorpicker/input/useColorPickerInput.d.ts +0 -11
  434. package/colorpicker/input/useColorPickerInput.props.d.ts +0 -2
  435. package/colorpicker/input/useColorPickerInput.test.d.ts +0 -0
  436. package/colorpicker/slider/index.d.ts +0 -2
  437. package/colorpicker/slider/index.mjs +0 -2
  438. package/colorpicker/slider/index.mjs.map +0 -1
  439. package/colorpicker/slider/useColorPickerSlider.d.ts +0 -13
  440. package/colorpicker/slider/useColorPickerSlider.props.d.ts +0 -2
  441. package/colorpicker/slider/useColorPickerSlider.test.d.ts +0 -0
  442. package/colorpicker/useColorPicker.d.ts +0 -26
  443. package/colorpicker/useColorPicker.props.d.ts +0 -2
  444. package/colorpicker/useColorPicker.test.d.ts +0 -0
  445. package/commandmenu/index.d.ts +0 -2
  446. package/commandmenu/index.mjs +0 -2
  447. package/commandmenu/index.mjs.map +0 -1
  448. package/commandmenu/useCommandMenu.d.ts +0 -11
  449. package/commandmenu/useCommandMenu.props.d.ts +0 -2
  450. package/commandmenu/useCommandMenu.test.d.ts +0 -0
  451. package/confirmdialog/index.d.ts +0 -2
  452. package/confirmdialog/index.mjs +0 -2
  453. package/confirmdialog/index.mjs.map +0 -1
  454. package/confirmdialog/useConfirmDialog.d.ts +0 -1
  455. package/confirmdialog/useConfirmDialog.props.d.ts +0 -2
  456. package/confirmdialog/useConfirmDialog.test.d.ts +0 -0
  457. package/confirmpopup/index.d.ts +0 -2
  458. package/confirmpopup/index.mjs +0 -2
  459. package/confirmpopup/index.mjs.map +0 -1
  460. package/confirmpopup/useConfirmPopup.d.ts +0 -25
  461. package/confirmpopup/useConfirmPopup.props.d.ts +0 -2
  462. package/confirmpopup/useConfirmPopup.test.d.ts +0 -0
  463. package/contextmenu/index.mjs.map +0 -1
  464. package/contextmenu/useContextMenu.test.d.ts +0 -0
  465. package/dataview/index.mjs.map +0 -1
  466. package/dataview/useDataView.test.d.ts +0 -0
  467. package/datepicker/index.mjs.map +0 -1
  468. package/datepicker/useDatePicker.test.d.ts +0 -0
  469. package/dialog/index.mjs.map +0 -1
  470. package/dialog/useDialog.test.d.ts +0 -0
  471. package/divider/index.mjs.map +0 -1
  472. package/divider/useDivider.test.d.ts +0 -0
  473. package/drawer/index.mjs.map +0 -1
  474. package/drawer/useDrawer.test.d.ts +0 -0
  475. package/fieldset/index.mjs.map +0 -1
  476. package/fieldset/useFieldset.test.d.ts +0 -0
  477. package/fileupload/index.mjs.map +0 -1
  478. package/fileupload/useFileUpload.test.d.ts +0 -0
  479. package/fluid/index.mjs.map +0 -1
  480. package/fluid/useFluid.test.d.ts +0 -0
  481. package/focustrap/index.mjs.map +0 -1
  482. package/focustrap/useFocusTrap.test.d.ts +0 -0
  483. package/gallery/index.mjs.map +0 -1
  484. package/gallery/item/index.mjs.map +0 -1
  485. package/gallery/useGallery.test.d.ts +0 -0
  486. package/iconfield/index.mjs.map +0 -1
  487. package/iconfield/useIconField.test.d.ts +0 -0
  488. package/imagecompare/index.d.ts +0 -2
  489. package/imagecompare/index.mjs +0 -2
  490. package/imagecompare/index.mjs.map +0 -1
  491. package/imagecompare/useImageCompare.d.ts +0 -8
  492. package/imagecompare/useImageCompare.props.d.ts +0 -2
  493. package/imagecompare/useImageCompare.test.d.ts +0 -0
  494. package/inplace/index.mjs.map +0 -1
  495. package/inplace/useInplace.test.d.ts +0 -0
  496. package/inputgroup/index.mjs.map +0 -1
  497. package/inputgroup/useInputGroup.test.d.ts +0 -0
  498. package/inputnumber/index.mjs.map +0 -1
  499. package/inputnumber/useInputNumber.test.d.ts +0 -0
  500. package/inputotp/index.mjs.map +0 -1
  501. package/inputotp/useInputOtp.test.d.ts +0 -0
  502. package/inputtags/index.mjs.map +0 -1
  503. package/inputtags/useInputTags.test.d.ts +0 -0
  504. package/inputtext/index.mjs.map +0 -1
  505. package/inputtext/useInputText.test.d.ts +0 -0
  506. package/knob/index.mjs.map +0 -1
  507. package/knob/useKnob.test.d.ts +0 -0
  508. package/label/index.mjs.map +0 -1
  509. package/label/useLabel.test.d.ts +0 -0
  510. package/listbox/index.mjs.map +0 -1
  511. package/listbox/useListbox.test.d.ts +0 -0
  512. package/menu/index.mjs.map +0 -1
  513. package/menu/sub/index.d.ts +0 -2
  514. package/menu/sub/index.mjs +0 -2
  515. package/menu/sub/index.mjs.map +0 -1
  516. package/menu/sub/useMenuSub.d.ts +0 -19
  517. package/menu/sub/useMenuSub.props.d.ts +0 -2
  518. package/menu/useMenu.test.d.ts +0 -0
  519. package/message/index.mjs.map +0 -1
  520. package/message/useMessage.test.d.ts +0 -0
  521. package/metergroup/index.mjs.map +0 -1
  522. package/metergroup/useMeterGroup.test.d.ts +0 -0
  523. package/orgchart/index.d.ts +0 -2
  524. package/orgchart/index.mjs +0 -2
  525. package/orgchart/index.mjs.map +0 -1
  526. package/orgchart/useOrgChart.d.ts +0 -20
  527. package/orgchart/useOrgChart.props.d.ts +0 -2
  528. package/orgchart/useOrgChart.test.d.ts +0 -0
  529. package/overlay/index.d.ts +0 -2
  530. package/overlay/index.mjs +0 -2
  531. package/overlay/index.mjs.map +0 -1
  532. package/overlay/useOverlay.d.ts +0 -16
  533. package/overlay/useOverlay.props.d.ts +0 -2
  534. package/overlay/useOverlay.test.d.ts +0 -0
  535. package/paginator/index.mjs.map +0 -1
  536. package/paginator/usePaginator.test.d.ts +0 -0
  537. package/panel/index.mjs.map +0 -1
  538. package/panel/usePanel.test.d.ts +0 -0
  539. package/password/index.d.ts +0 -2
  540. package/password/index.mjs +0 -2
  541. package/password/index.mjs.map +0 -1
  542. package/password/usePassword.d.ts +0 -35
  543. package/password/usePassword.props.d.ts +0 -2
  544. package/password/usePassword.test.d.ts +0 -0
  545. package/placer/index.d.ts +0 -2
  546. package/placer/index.mjs +0 -2
  547. package/placer/index.mjs.map +0 -1
  548. package/placer/usePlacer.d.ts +0 -12
  549. package/placer/usePlacer.props.d.ts +0 -2
  550. package/placer/usePlacer.test.d.ts +0 -0
  551. package/popover/index.mjs.map +0 -1
  552. package/popover/usePopover.test.d.ts +0 -0
  553. package/portal/index.mjs.map +0 -1
  554. package/portal/usePortal.test.d.ts +0 -0
  555. package/progressbar/index.mjs.map +0 -1
  556. package/progressbar/useProgressBar.test.d.ts +0 -0
  557. package/progressspinner/index.mjs.map +0 -1
  558. package/progressspinner/useProgressSpinner.test.d.ts +0 -0
  559. package/radiobutton/index.mjs.map +0 -1
  560. package/radiobutton/useRadioButton.test.d.ts +0 -0
  561. package/rating/index.mjs.map +0 -1
  562. package/rating/useRating.test.d.ts +0 -0
  563. package/scrollarea/index.mjs.map +0 -1
  564. package/scrollarea/useScrollArea.test.d.ts +0 -0
  565. package/skeleton/index.mjs.map +0 -1
  566. package/skeleton/useSkeleton.test.d.ts +0 -0
  567. package/slider/index.mjs.map +0 -1
  568. package/slider/useSlider.test.d.ts +0 -0
  569. package/speeddial/index.mjs.map +0 -1
  570. package/speeddial/useSpeedDial.test.d.ts +0 -0
  571. package/splitter/index.mjs.map +0 -1
  572. package/splitter/useSplitter.test.d.ts +0 -0
  573. package/stepper/index.mjs.map +0 -1
  574. package/stepper/useStepper.test.d.ts +0 -0
  575. package/styleclass/index.mjs.map +0 -1
  576. package/styleclass/useStyleClass.test.d.ts +0 -0
  577. package/switch/index.d.ts +0 -2
  578. package/switch/index.mjs +0 -2
  579. package/switch/index.mjs.map +0 -1
  580. package/switch/useSwitch.d.ts +0 -7
  581. package/switch/useSwitch.props.d.ts +0 -2
  582. package/switch/useSwitch.test.d.ts +0 -0
  583. package/tabs/index.mjs.map +0 -1
  584. package/tabs/useTabs.test.d.ts +0 -0
  585. package/tag/index.mjs.map +0 -1
  586. package/tag/useTag.test.d.ts +0 -0
  587. package/terminal/index.mjs.map +0 -1
  588. package/terminal/useTerminal.test.d.ts +0 -0
  589. package/textarea/index.mjs.map +0 -1
  590. package/textarea/useTextarea.test.d.ts +0 -0
  591. package/timeline/index.mjs.map +0 -1
  592. package/timeline/useTimeline.test.d.ts +0 -0
  593. package/toast/index.mjs.map +0 -1
  594. package/toast/item/index.css +0 -2
  595. package/toast/item/index.css.map +0 -1
  596. package/toast/item/index.d.ts +0 -2
  597. package/toast/item/index.mjs +0 -2
  598. package/toast/item/index.mjs.map +0 -1
  599. package/toast/item/useToastItem.d.ts +0 -25
  600. package/toast/item/useToastItem.props.d.ts +0 -2
  601. package/toast/item/useToastItem.test.d.ts +0 -0
  602. package/toast/toastStore.d.ts +0 -40
  603. package/toast/useToast.test.d.ts +0 -0
  604. package/togglebutton/index.mjs.map +0 -1
  605. package/togglebutton/useToggle.test.d.ts +0 -0
  606. package/toolbar/index.mjs.map +0 -1
  607. package/toolbar/useToolbar.test.d.ts +0 -0
  608. package/tooltip/group/index.d.ts +0 -2
  609. package/tooltip/group/index.mjs +0 -2
  610. package/tooltip/group/index.mjs.map +0 -1
  611. package/tooltip/group/useTooltipGroup.d.ts +0 -9
  612. package/tooltip/group/useTooltipGroup.props.d.ts +0 -2
  613. package/tooltip/group/useTooltipGroup.test.d.ts +0 -0
  614. package/tooltip/index.mjs.map +0 -1
  615. package/tooltip/useTooltip.test.d.ts +0 -0
  616. package/tree/index.mjs.map +0 -1
  617. package/tree/useTree.test.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/panel/usePanel.ts","../../src/panel/usePanel.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './usePanel.props';\n\nexport const usePanel = withHeadless({\n name: 'usePanel',\n defaultProps,\n setup({ props }) {\n const [collapsedState, setCollapsedState] = React.useState<boolean | undefined>(props.collapsed);\n const collapsed = props.toggleable ? (props.onToggle ? props.collapsed : collapsedState) : false;\n const state = {\n collapsed\n };\n\n // element refs\n const contentRef = React.useRef(null);\n\n // methods\n const toggle = (event: React.SyntheticEvent) => {\n if (!props.toggleable) {\n return;\n }\n\n if (collapsed) expand(event);\n else collapse(event);\n\n props.onToggle?.({\n originalEvent: event,\n value: !collapsed\n });\n };\n\n const expand = (event: React.SyntheticEvent) => {\n if (!props.onToggle) {\n setCollapsedState(false);\n }\n\n props.onExpand?.(event);\n };\n\n const collapse = (event: React.SyntheticEvent) => {\n if (!props.onToggle) {\n setCollapsedState(true);\n }\n\n props.onCollapse?.(event);\n };\n\n const onButtonClick = (event: React.SyntheticEvent) => {\n toggle(event);\n event.preventDefault();\n };\n\n return {\n state,\n // element refs\n contentRef,\n // methods\n toggle,\n expand,\n collapse,\n onButtonClick\n };\n }\n});\n","import type { usePanelProps } from '@primereact/types/shared/panel';\n\nexport const defaultProps: usePanelProps = {\n collapsed: undefined,\n toggleable: undefined,\n // events\n onCollapse: undefined,\n onExpand: undefined,\n onToggle: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,EAA8B,CACvC,UAAW,OACX,WAAY,OAEZ,WAAY,OACZ,SAAU,OACV,SAAU,MACd,EDLO,IAAMC,EAAWC,EAAa,CACjC,KAAM,WACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CACb,GAAM,CAACC,EAAgBC,CAAiB,EAAU,WAA8BF,EAAM,SAAS,EACzFG,EAAYH,EAAM,WAAcA,EAAM,SAAWA,EAAM,UAAYC,EAAkB,GACrFG,EAAQ,CACV,UAAAD,CACJ,EAGME,EAAmB,SAAO,IAAI,EAG9BC,EAAUC,GAAgC,CAlBxD,IAAAC,EAmBiBR,EAAM,aAIPG,EAAWM,EAAOF,CAAK,EACtBG,EAASH,CAAK,GAEnBC,EAAAR,EAAM,WAAN,MAAAQ,EAAA,KAAAR,EAAiB,CACb,cAAeO,EACf,MAAO,CAACJ,CACZ,GACJ,EAEMM,EAAUF,GAAgC,CAhCxD,IAAAC,EAiCiBR,EAAM,UACPE,EAAkB,EAAK,GAG3BM,EAAAR,EAAM,WAAN,MAAAQ,EAAA,KAAAR,EAAiBO,EACrB,EAEMG,EAAYH,GAAgC,CAxC1D,IAAAC,EAyCiBR,EAAM,UACPE,EAAkB,EAAI,GAG1BM,EAAAR,EAAM,aAAN,MAAAQ,EAAA,KAAAR,EAAmBO,EACvB,EAOA,MAAO,CACH,MAAAH,EAEA,WAAAC,EAEA,OAAAC,EACA,OAAAG,EACA,SAAAC,EACA,cAbmBH,GAAgC,CACnDD,EAAOC,CAAK,EACZA,EAAM,eAAe,CACzB,CAWA,CACJ,CACJ,CAAC","names":["withHeadless","React","defaultProps","usePanel","withHeadless","defaultProps","props","collapsedState","setCollapsedState","collapsed","state","contentRef","toggle","event","_a","expand","collapse"]}
File without changes
@@ -1,2 +0,0 @@
1
- export * from './usePassword';
2
- export * from './usePassword.props';
@@ -1,2 +0,0 @@
1
- import{withHeadless as B}from"@primereact/core/headless";import{useControlledState as F}from"@primereact/hooks/use-controlled-state";import{getOuterWidth as Z,isEmpty as P}from"@primeuix/utils";import*as n from"react";var C={value:void 0,defaultValue:void 0,onValueChange:void 0,strengthOptions:[{id:0,value:"Too weak",minDiversity:0,minLength:2},{id:1,value:"Weak",minDiversity:2,minLength:4},{id:2,value:"Medium",minDiversity:3,minLength:8},{id:3,value:"Strong",minDiversity:4,minLength:12}],appendTo:"body"};var N=B({name:"usePassword",defaultProps:C,setup({props:r,elementRef:l}){var w,b;let d=n.useRef(null),E=n.useRef(null),u=n.useRef(null),[a,R]=F({value:r.value,defaultValue:r.defaultValue,onChange:r.onValueChange}),[m,g]=n.useState(!1),[L,h]=n.useState(!0),[S,V]=n.useState(!1),[k,y]=n.useState(!1),p=n.useCallback((e,t)=>{if(!e||!t||t.length===0)return{id:-1,value:"",contains:[],length:0,percentage:0};let s=[];/[a-z]/.test(e)&&s.push("lowercase"),/[A-Z]/.test(e)&&s.push("uppercase"),/[0-9]/.test(e)&&s.push("number"),/[^a-zA-Z0-9]/.test(e)&&s.push("symbol");let i=s.length,o=e.length;for(let c=t.length-1;c>=0;c--){let f=t[c];if(i>=f.minDiversity&&o>=f.minLength){let A=t.length>1?Math.round((c+1)/t.length*100):100;return{id:f.id,value:f.value,contains:s,length:o,percentage:A}}}return{id:t[0].id,value:t[0].value,contains:s,length:o,percentage:0}},[]),v=n.useMemo(()=>{let e=r.strengthOptions||[];return p(a||"",e)},[a,r.strengthOptions,p]),M={value:a,strength:v,overlayVisible:m,levelsCount:(b=(w=r.strengthOptions)==null?void 0:w.length)!=null?b:4,showClearIcon:L,unmasked:S,focused:k,inputType:S?"text":"password"},O=n.useCallback(e=>e(a||"",v),[a,v]),T=()=>{m||g(!0)},x=e=>{let t=e.target.value;h(!P(t)),R([t,{originalEvent:e,value:t}])},D=()=>{y(!0)},H=()=>{y(!1)},I=e=>{g(e)},W=()=>{var e,t,s,i;if((i=(s=(t=(e=u==null?void 0:u.current)==null?void 0:e.containerRef)==null?void 0:t.current)==null?void 0:s.elementRef)!=null&&i.current){let o=u.current.containerRef.current.elementRef.current;l!=null&&l.current&&(o.style.minWidth=Z(l.current)+"px")}},j=e=>{var t,s;R([null,{originalEvent:e,value:null}]),h(!1),m&&g(!1),(s=(t=d.current)==null?void 0:t.elementRef)!=null&&s.current&&(d.current.elementRef.current.value="")},z=()=>{V(e=>!e)};return n.useEffect(()=>{P(a)&&h(!1)},[a]),{state:M,inputRef:d,overlayRef:E,portalRef:u,testRequirement:O,calculatePasswordStrength:p,onInputClick:T,onInputChange:x,onFocus:D,onBlur:H,onOverlayEnter:W,changeVisibleState:I,onClearClick:j,onMaskToggle:z}}});export{C as defaultProps,N as usePassword};
2
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/password/usePassword.ts","../../src/password/usePassword.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport type { PasswordStrengthLevel, PasswordStrengthResult } from '@primereact/types/shared/password';\nimport { getOuterWidth, isEmpty } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './usePassword.props';\n\nexport const usePassword = withHeadless({\n name: 'usePassword',\n defaultProps,\n setup({ props, elementRef }) {\n const inputRef = React.useRef<{ elementRef: React.RefObject<HTMLInputElement> } | null>(null);\n const overlayRef = React.useRef<HTMLDivElement | null>(null);\n const portalRef = React.useRef<{ containerRef: { current: { elementRef: React.RefObject<HTMLDivElement> } } } | null>(null);\n const [valueState, setValueState] = useControlledState({\n value: props.value,\n defaultValue: props.defaultValue,\n onChange: props.onValueChange\n });\n const [overlayVisibleState, setOverlayVisibleState] = React.useState<boolean>(false);\n const [showClearIcon, setShowClearIcon] = React.useState(true);\n const [unmaskedState, setUnmaskedState] = React.useState(false);\n const [focusedState, setFocusedState] = React.useState(false);\n\n const calculatePasswordStrength = React.useCallback((password: string, levels: PasswordStrengthLevel[]): PasswordStrengthResult => {\n if (!password || !levels || levels.length === 0) {\n return {\n id: -1,\n value: '',\n contains: [],\n length: 0,\n percentage: 0\n };\n }\n\n const contains: string[] = [];\n\n if (/[a-z]/.test(password)) {\n contains.push('lowercase');\n }\n\n if (/[A-Z]/.test(password)) {\n contains.push('uppercase');\n }\n\n if (/[0-9]/.test(password)) {\n contains.push('number');\n }\n\n if (/[^a-zA-Z0-9]/.test(password)) {\n contains.push('symbol');\n }\n\n const diversity = contains.length;\n const length = password.length;\n\n for (let i = levels.length - 1; i >= 0; i--) {\n const level = levels[i];\n\n if (diversity >= level.minDiversity && length >= level.minLength) {\n const percentage = levels.length > 1 ? Math.round(((i + 1) / levels.length) * 100) : 100;\n\n return {\n id: level.id,\n value: level.value,\n contains,\n length,\n percentage\n };\n }\n }\n\n return {\n id: levels[0].id,\n value: levels[0].value,\n contains,\n length,\n percentage: 0\n };\n }, []);\n\n const strength = React.useMemo(() => {\n const levels = props.strengthOptions || [];\n\n return calculatePasswordStrength(valueState || '', levels);\n }, [valueState, props.strengthOptions, calculatePasswordStrength]);\n\n const state = {\n value: valueState,\n strength,\n overlayVisible: overlayVisibleState,\n levelsCount: props.strengthOptions?.length ?? 4,\n showClearIcon,\n unmasked: unmaskedState,\n focused: focusedState,\n inputType: (unmaskedState ? 'text' : 'password') as 'text' | 'password'\n };\n\n const testRequirement = React.useCallback(\n (test: (value: string, strength: PasswordStrengthResult | null) => boolean) => {\n return test(valueState || '', strength);\n },\n [valueState, strength]\n );\n\n const onInputClick = () => {\n if (!overlayVisibleState) {\n setOverlayVisibleState(true);\n }\n };\n\n const onInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = event.target.value;\n\n setShowClearIcon(!isEmpty(newValue));\n setValueState([\n newValue,\n {\n originalEvent: event,\n value: newValue\n }\n ]);\n };\n\n const onFocus = () => {\n setFocusedState(true);\n };\n\n const onBlur = () => {\n setFocusedState(false);\n };\n\n const changeVisibleState = (isVisible: boolean) => {\n setOverlayVisibleState(isVisible);\n };\n\n const onOverlayEnter = () => {\n if (portalRef?.current?.containerRef?.current?.elementRef?.current) {\n const element = portalRef.current.containerRef.current.elementRef.current;\n\n if (elementRef?.current) {\n element.style.minWidth = getOuterWidth(elementRef.current) + 'px';\n }\n }\n };\n\n const onClearClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setValueState([\n null,\n {\n originalEvent: event,\n value: null\n }\n ]);\n setShowClearIcon(false);\n\n if (overlayVisibleState) {\n setOverlayVisibleState(false);\n }\n\n // Clear the input value from DOM when using defaultValue (uncontrolled)\n if (inputRef.current?.elementRef?.current) {\n inputRef.current.elementRef.current.value = '';\n }\n };\n\n const onMaskToggle = () => {\n setUnmaskedState((prev) => !prev);\n };\n\n React.useEffect(() => {\n if (isEmpty(valueState)) {\n setShowClearIcon(false);\n }\n }, [valueState]);\n\n return {\n state,\n // refs\n inputRef,\n overlayRef,\n portalRef,\n // methods\n testRequirement,\n calculatePasswordStrength,\n onInputClick,\n onInputChange,\n onFocus,\n onBlur,\n onOverlayEnter,\n changeVisibleState,\n onClearClick,\n onMaskToggle\n };\n }\n});\n","import type { usePasswordProps } from '@primereact/types/shared/password';\n\nexport const defaultProps: usePasswordProps = {\n value: undefined,\n defaultValue: undefined,\n onValueChange: undefined,\n strengthOptions: [\n { id: 0, value: 'Too weak', minDiversity: 0, minLength: 2 },\n { id: 1, value: 'Weak', minDiversity: 2, minLength: 4 },\n { id: 2, value: 'Medium', minDiversity: 3, minLength: 8 },\n { id: 3, value: 'Strong', minDiversity: 4, minLength: 12 }\n ],\n appendTo: 'body'\n};\n"],"mappings":"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","names":["withHeadless","useControlledState","getOuterWidth","isEmpty","React","defaultProps","usePassword","withHeadless","defaultProps","props","elementRef","_a","_b","inputRef","overlayRef","portalRef","valueState","setValueState","useControlledState","overlayVisibleState","setOverlayVisibleState","showClearIcon","setShowClearIcon","unmaskedState","setUnmaskedState","focusedState","setFocusedState","calculatePasswordStrength","password","levels","contains","diversity","length","i","level","percentage","strength","state","testRequirement","test","onInputClick","onInputChange","event","newValue","isEmpty","onFocus","onBlur","changeVisibleState","isVisible","onOverlayEnter","_c","_d","element","getOuterWidth","onClearClick","onMaskToggle","prev"]}
@@ -1,35 +0,0 @@
1
- import type { PasswordStrengthLevel, PasswordStrengthResult } from '@primereact/types/shared/password';
2
- import * as React from 'react';
3
- export declare const usePassword: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/password").usePasswordProps, unknown, {
4
- state: {
5
- value: string | undefined;
6
- strength: PasswordStrengthResult;
7
- overlayVisible: boolean;
8
- levelsCount: number;
9
- showClearIcon: boolean;
10
- unmasked: boolean;
11
- focused: boolean;
12
- inputType: "text" | "password";
13
- };
14
- inputRef: React.RefObject<{
15
- elementRef: React.RefObject<HTMLInputElement>;
16
- } | null>;
17
- overlayRef: React.RefObject<HTMLDivElement | null>;
18
- portalRef: React.RefObject<{
19
- containerRef: {
20
- current: {
21
- elementRef: React.RefObject<HTMLDivElement>;
22
- };
23
- };
24
- } | null>;
25
- testRequirement: (test: (value: string, strength: PasswordStrengthResult | null) => boolean) => boolean;
26
- calculatePasswordStrength: (password: string, levels: PasswordStrengthLevel[]) => PasswordStrengthResult;
27
- onInputClick: () => void;
28
- onInputChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
29
- onFocus: () => void;
30
- onBlur: () => void;
31
- onOverlayEnter: () => void;
32
- changeVisibleState: (isVisible: boolean) => void;
33
- onClearClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
34
- onMaskToggle: () => void;
35
- }>;
@@ -1,2 +0,0 @@
1
- import type { usePasswordProps } from '@primereact/types/shared/password';
2
- export declare const defaultProps: usePasswordProps;
File without changes
package/placer/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from './usePlacer';
2
- export * from './usePlacer.props';
package/placer/index.mjs DELETED
@@ -1,2 +0,0 @@
1
- import{withHeadless as J}from"@primereact/core/headless";import{addStyle as C,getOffset as x,getOuterHeight as T,getOuterWidth as w,getViewport as K}from"@primeuix/utils/dom";import*as A from"react";var k={align:"center",alignOffset:0,side:"top",sideOffset:0};var R=J({name:"usePlacer",defaultProps:k,setup:({props:f})=>{let[P,S]=A.useState(f.side),[$,E]=A.useState(f.align),p=A.useRef(null),d=A.useRef(null),m=A.useRef(null),M={effectiveSide:P,effectiveAlign:$},O=()=>{var n,t;return d!=null&&d.current&&(d==null?void 0:d.current)instanceof HTMLElement?d==null?void 0:d.current:(t=(n=d==null?void 0:d.current)==null?void 0:n.elementRef)==null?void 0:t.current},y=()=>{var n,t;return m!=null&&m.current&&(m==null?void 0:m.current)instanceof HTMLElement?m==null?void 0:m.current:(t=(n=m==null?void 0:m.current)==null?void 0:n.elementRef)==null?void 0:t.current},b=()=>{var n,t;return p!=null&&p.current&&(p==null?void 0:p.current)instanceof HTMLElement?p==null?void 0:p.current:(t=(n=p==null?void 0:p.current)==null?void 0:n.elementRef)==null?void 0:t.current},B=n=>{var h;let t=y(),o=O();if(!t||!o)return;let r=x(o),e=w(t),s=w(o),c=T(t),i=T(b()),l=window.scrollY||document.documentElement.scrollTop,a=window.scrollX||document.documentElement.scrollLeft,u=H(n,Number(r.left),s,e),g=Number(r.top)-c-((h=f.sideOffset)!=null?h:0)-i;t.style.transform=`translate(${u+a}px, ${g-l}px)`},N=n=>{var h;let t=y(),o=O();if(!t||!o)return;let r=x(o),e=w(t),s=w(o),c=T(o),i=T(b()),l=window.scrollY||document.documentElement.scrollTop,a=window.scrollX||document.documentElement.scrollLeft,u=H(n,Number(r.left),s,e),g=Number(r.top)+c+((h=f.sideOffset)!=null?h:0)+i;t.style.transform=`translate(${u+a}px, ${g-l}px)`},W=n=>{var h;let t=y(),o=O();if(!t||!o)return;let r=x(o),e=w(t),s=T(t),c=T(o),i=w(b()),l=window.scrollY||document.documentElement.scrollTop,a=window.scrollX||document.documentElement.scrollLeft,u=L(n,Number(r.top),c,s),g=Number(r.left)-e-((h=f.sideOffset)!=null?h:0)-i;t.style.transform=`translate(${g+a}px, ${u-l}px)`},X=n=>{var h;let t=y(),o=O();if(!t||!o)return;let r=x(o),e=T(t),s=T(o),c=w(o),i=w(b()),l=window.scrollY||document.documentElement.scrollTop,a=window.scrollX||document.documentElement.scrollLeft,u=L(n,Number(r.top),s,e),g=Number(r.left)+c+((h=f.sideOffset)!=null?h:0)+i;t.style.transform=`translate(${g+a}px, ${u-l}px)`},H=(n,t,o,r)=>{var e,s;switch(n){case"start":return t+((e=f.alignOffset)!=null?e:0);case"end":return t+o-r-((s=f.alignOffset)!=null?s:0);default:return t+(o-r)/2}},L=(n,t,o,r)=>{var e,s;switch(n){case"start":return t+((e=f.alignOffset)!=null?e:0);case"end":return t+o-r-((s=f.alignOffset)!=null?s:0);default:return t+(o-r)/2}},Y=()=>{var c,i;let n=y();if(!n)return;C(n,{position:"fixed",left:"0",top:"0",willChange:"transform"});let t=b();t&&C(t,{position:"absolute"});let o=q((c=f.side)!=null?c:"top"),r=j((i=f.align)!=null?i:"center"),{side:e,align:s}=V(o,r);S(e),E(s),n.style.setProperty("--placer-transform-origin",G(e!=null?e:"top",s!=null?s:"center"))},v=(n,t)=>{let o=y();o&&(o==null||o.setAttribute("data-side",n),o==null||o.setAttribute("data-align",t));let r=O();r&&(r==null||r.setAttribute("data-side",n),r==null||r.setAttribute("data-align",t));let e=b();e&&(e==null||e.setAttribute("data-side",n),e==null||e.setAttribute("data-align",t))},V=(n,t)=>{for(let o of n)for(let r of t)if(v(o,r),D(o,r),I(o),!F())return{side:o,align:r};return{side:f.side,align:f.align}},j=n=>{switch(n){case"start":return["start","center","end"];case"end":return["end","center","start"];case"center":return["center","start","end"];default:return["center","start","end"]}},q=n=>{let t=["top","right","bottom","left"],o=z(n),r=t.filter(e=>e!==n&&e!==o);return[n,o,...r]},z=n=>{switch(n){case"top":return"bottom";case"bottom":return"top";case"left":return"right";case"right":return"left";default:return n}},D=(n,t)=>{switch(n){case"top":B(t);break;case"bottom":N(t);break;case"left":W(t);break;case"right":X(t);break}S(n),E(t)},F=()=>{var c,i,l,a;let n=y(),t=b();if(!n)return!1;let o=K(),r=n.getBoundingClientRect(),e=t==null?void 0:t.getBoundingClientRect(),s={top:Math.min(r.top,(c=e==null?void 0:e.top)!=null?c:r.top),left:Math.min(r.left,(i=e==null?void 0:e.left)!=null?i:r.left),right:Math.max(r.right,(l=e==null?void 0:e.right)!=null?l:r.right),bottom:Math.max(r.bottom,(a=e==null?void 0:e.bottom)!=null?a:r.bottom)};return s.left<0||s.top<0||s.right>o.width||s.bottom>o.height},G=(n,t)=>{let o=y(),r=b();if(!o)return"center center";let e=o.getBoundingClientRect(),s=r?r.getBoundingClientRect():null,c=e.width/2,i=e.height/2;if(s){let l=s.height,a=s.width,u=s.left+a/2-e.left,g=s.top+l/2-e.top;switch(n){case"top":c=u,i=e.height+l;break;case"bottom":c=u,i=0;break;case"left":c=e.width+a,i=g;break;case"right":c=e.left-s.left,i=g;break}}else{let l=(a,u)=>{let g=a==="x"?e.width:e.height;switch(u){case"start":return 0;case"end":return g;case"center":return g/2}};switch(n){case"top":i=e.height,c=l("x",t);break;case"bottom":i=0,c=l("x",t);break;case"left":c=e.width,i=l("y",t);break;case"right":c=0,i=l("y",t);break}}return`${c}px ${i}px`},I=n=>{let t=b(),o=y(),r=O();if(!o||!t)return;let e=o.getBoundingClientRect(),s=r.getBoundingClientRect(),c=s.left+s.width/2,i=s.top+s.height/2,l=c-e.left,a=i-e.top,u=8;(n==="top"||n==="bottom")&&((l<u||l>e.width-u)&&(t.style.opacity="0"),t.style.left=`${l}px`,t.style.top=n==="top"?"100%":"auto",t.style.bottom=n==="bottom"?"100%":"auto",t.style.transform="translateX(-50%)"),(n==="left"||n==="right")&&((a<u||a>e.height-u)&&(t.style.opacity="0"),t.style.top=`${a}px`,t.style.left=n==="left"?"100%":"auto",t.style.right=n==="right"?"100%":"auto",t.style.transform="translateY(-50%)")};return{state:M,containerRef:m,anchorRef:d,arrowRef:p,applyPlacement:Y}}});export{k as defaultProps,R as usePlacer};
2
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/placer/usePlacer.ts","../../src/placer/usePlacer.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { AlignType, SideType } from '@primereact/types/shared/placer';\nimport { addStyle, getOffset, getOuterHeight, getOuterWidth, getViewport } from '@primeuix/utils/dom';\nimport * as React from 'react';\nimport { defaultProps } from './usePlacer.props';\n\nexport const usePlacer = withHeadless({\n name: 'usePlacer',\n defaultProps,\n setup: ({ props }) => {\n const [effectiveSide, setEffectiveSide] = React.useState<SideType | null | undefined>(props.side);\n const [effectiveAlign, setEffectiveAlign] = React.useState<AlignType | null | undefined>(props.align);\n const arrowRef = React.useRef<HTMLElement | null | unknown>(null);\n const anchorRef = React.useRef<HTMLElement | null | unknown>(null);\n const containerRef = React.useRef<HTMLElement | null | unknown>(null);\n\n const state = {\n effectiveSide,\n effectiveAlign\n };\n\n const getAnchor = () => {\n if (anchorRef?.current && anchorRef?.current instanceof HTMLElement) {\n return anchorRef?.current;\n }\n\n // @ts-expect-error - Temporary fix for elementRef property access\n return anchorRef?.current?.elementRef?.current;\n };\n\n const getContainer = () => {\n if (containerRef?.current && containerRef?.current instanceof HTMLElement) {\n return containerRef?.current;\n }\n\n // @ts-expect-error - Temporary fix for elementRef property access\n return containerRef?.current?.elementRef?.current;\n };\n\n const getArrow = () => {\n if (arrowRef?.current && arrowRef?.current instanceof HTMLElement) {\n return arrowRef?.current;\n }\n\n // @ts-expect-error - Temporary fix for elementRef property access\n return arrowRef?.current?.elementRef?.current;\n };\n\n const placeTop = (align: AlignType) => {\n const container = getContainer();\n const anchor = getAnchor();\n\n if (!container || !anchor) return;\n\n const anchorOffset = getOffset(anchor);\n const tooltipWidth = getOuterWidth(container);\n const anchorWidth = getOuterWidth(anchor);\n const tooltipHeight = getOuterHeight(container);\n const arrowHeight = getOuterHeight(getArrow());\n\n const scrollTop = window.scrollY || document.documentElement.scrollTop;\n const scrollLeft = window.scrollX || document.documentElement.scrollLeft;\n\n const left = getLeftByAlign(align, Number(anchorOffset.left), anchorWidth, tooltipWidth);\n\n const top = Number(anchorOffset.top) - tooltipHeight - (props.sideOffset ?? 0) - arrowHeight;\n\n container.style.transform = `translate(${left + scrollLeft}px, ${top - scrollTop}px)`;\n };\n\n const placeBottom = (align: AlignType) => {\n const container = getContainer();\n const anchor = getAnchor();\n\n if (!container || !anchor) return;\n\n const anchorOffset = getOffset(anchor);\n const tooltipWidth = getOuterWidth(container);\n const anchorWidth = getOuterWidth(anchor);\n const anchorHeight = getOuterHeight(anchor);\n const arrowHeight = getOuterHeight(getArrow());\n const scrollTop = window.scrollY || document.documentElement.scrollTop;\n const scrollLeft = window.scrollX || document.documentElement.scrollLeft;\n const left = getLeftByAlign(align, Number(anchorOffset.left), anchorWidth, tooltipWidth);\n\n const top = Number(anchorOffset.top) + anchorHeight + (props.sideOffset ?? 0) + arrowHeight;\n\n container.style.transform = `translate(${left + scrollLeft}px, ${top - scrollTop}px)`;\n };\n\n const placeLeft = (align: AlignType) => {\n const container = getContainer();\n const anchor = getAnchor();\n\n if (!container || !anchor) return;\n\n const anchorOffset = getOffset(anchor);\n const tooltipWidth = getOuterWidth(container);\n const tooltipHeight = getOuterHeight(container);\n const anchorHeight = getOuterHeight(anchor);\n const arrowWidth = getOuterWidth(getArrow());\n const scrollTop = window.scrollY || document.documentElement.scrollTop;\n const scrollLeft = window.scrollX || document.documentElement.scrollLeft;\n const top = getTopByAlign(align, Number(anchorOffset.top), anchorHeight, tooltipHeight);\n\n const left = Number(anchorOffset.left) - tooltipWidth - (props.sideOffset ?? 0) - arrowWidth;\n\n container.style.transform = `translate(${left + scrollLeft}px, ${top - scrollTop}px)`;\n };\n\n const placeRight = (align: AlignType) => {\n const container = getContainer();\n const anchor = getAnchor();\n\n if (!container || !anchor) return;\n\n const anchorOffset = getOffset(anchor);\n const tooltipHeight = getOuterHeight(container);\n const anchorHeight = getOuterHeight(anchor);\n const anchorWidth = getOuterWidth(anchor);\n const arrowWidth = getOuterWidth(getArrow());\n\n const scrollTop = window.scrollY || document.documentElement.scrollTop;\n const scrollLeft = window.scrollX || document.documentElement.scrollLeft;\n const top = getTopByAlign(align, Number(anchorOffset.top), anchorHeight, tooltipHeight);\n\n const left = Number(anchorOffset.left) + anchorWidth + (props.sideOffset ?? 0) + arrowWidth;\n\n container.style.transform = `translate(${left + scrollLeft}px, ${top - scrollTop}px)`;\n };\n\n const getLeftByAlign = (align: AlignType, anchorLeft: number, anchorWidth: number, tooltipWidth: number): number => {\n switch (align) {\n case 'start':\n return anchorLeft + (props.alignOffset ?? 0);\n case 'end':\n return anchorLeft + anchorWidth - tooltipWidth - (props.alignOffset ?? 0);\n case 'center':\n default:\n return anchorLeft + (anchorWidth - tooltipWidth) / 2;\n }\n };\n\n const getTopByAlign = (align: AlignType, anchorTop: number, anchorHeight: number, tooltipHeight: number): number => {\n switch (align) {\n case 'start':\n return anchorTop + (props.alignOffset ?? 0);\n case 'end':\n return anchorTop + anchorHeight - tooltipHeight - (props.alignOffset ?? 0);\n case 'center':\n default:\n return anchorTop + (anchorHeight - tooltipHeight) / 2;\n }\n };\n\n const applyPlacement = () => {\n const container = getContainer();\n\n if (!container) return;\n\n addStyle(container, {\n position: 'fixed',\n left: '0',\n top: '0',\n willChange: 'transform'\n });\n\n const arrow = getArrow();\n\n if (arrow) {\n addStyle(arrow, {\n position: 'absolute'\n });\n }\n\n const sideOptions = getSideOptions(props.side ?? 'top');\n const alignOptions = getAlignOptions(props.align ?? 'center');\n\n const { side, align } = tryPlacement(sideOptions, alignOptions);\n\n setEffectiveSide(side);\n setEffectiveAlign(align);\n\n container.style.setProperty('--placer-transform-origin', getTransformOrigin(side ?? 'top', align ?? 'center'));\n };\n\n const updateAttributes = (side: SideType, align: AlignType) => {\n const container = getContainer();\n\n if (container) {\n container?.setAttribute('data-side', side);\n container?.setAttribute('data-align', align);\n }\n\n const anchor = getAnchor();\n\n if (anchor) {\n anchor?.setAttribute('data-side', side);\n anchor?.setAttribute('data-align', align);\n }\n\n const arrow = getArrow();\n\n if (arrow) {\n arrow?.setAttribute('data-side', side);\n arrow?.setAttribute('data-align', align);\n }\n };\n\n const tryPlacement = (sideOptions: SideType[], alignOptions: AlignType[]) => {\n for (const side of sideOptions) {\n for (const align of alignOptions) {\n updateAttributes(side, align);\n placeContainer(side, align);\n updateArrowPosition(side);\n\n if (!isOutOfBounds()) {\n return { side, align };\n }\n }\n }\n\n return { side: props.side, align: props.align };\n };\n\n const getAlignOptions = (align: AlignType): AlignType[] => {\n switch (align) {\n case 'start':\n return ['start', 'center', 'end'];\n case 'end':\n return ['end', 'center', 'start'];\n case 'center':\n return ['center', 'start', 'end'];\n default:\n return ['center', 'start', 'end'];\n }\n };\n\n const getSideOptions = (side: SideType): SideType[] => {\n const allSides: SideType[] = ['top', 'right', 'bottom', 'left'];\n const flipped = flipSide(side);\n const remaining = allSides.filter((s) => s !== side && s !== flipped);\n\n return [side, flipped, ...remaining];\n };\n\n const flipSide = (side: SideType): SideType => {\n switch (side) {\n case 'top':\n return 'bottom';\n case 'bottom':\n return 'top';\n case 'left':\n return 'right';\n case 'right':\n return 'left';\n default:\n return side;\n }\n };\n\n const placeContainer = (side: SideType, align: AlignType) => {\n switch (side) {\n case 'top':\n placeTop(align);\n break;\n case 'bottom':\n placeBottom(align);\n break;\n case 'left':\n placeLeft(align);\n break;\n case 'right':\n placeRight(align);\n break;\n }\n\n setEffectiveSide(side);\n setEffectiveAlign(align);\n };\n\n const isOutOfBounds = () => {\n const container = getContainer();\n const arrow = getArrow();\n\n if (!container) return false;\n\n const viewport = getViewport();\n const containerRect = container.getBoundingClientRect();\n const arrowRect = arrow?.getBoundingClientRect();\n\n const combinedRect = {\n top: Math.min(containerRect.top, arrowRect?.top ?? containerRect.top),\n left: Math.min(containerRect.left, arrowRect?.left ?? containerRect.left),\n right: Math.max(containerRect.right, arrowRect?.right ?? containerRect.right),\n bottom: Math.max(containerRect.bottom, arrowRect?.bottom ?? containerRect.bottom)\n };\n\n return combinedRect.left < 0 || combinedRect.top < 0 || combinedRect.right > viewport.width || combinedRect.bottom > viewport.height;\n };\n\n const getTransformOrigin = (side: SideType, align: AlignType): string => {\n const container = getContainer();\n const arrow = getArrow();\n\n if (!container) return 'center center';\n\n const containerRect = container.getBoundingClientRect();\n const arrowRect = arrow ? (arrow as HTMLElement).getBoundingClientRect() : null;\n\n let originX = containerRect.width / 2;\n let originY = containerRect.height / 2;\n\n if (arrowRect) {\n const arrowHeight = arrowRect.height;\n const arrowWidth = arrowRect.width;\n const arrowCenterX = arrowRect.left + arrowWidth / 2 - containerRect.left;\n const arrowCenterY = arrowRect.top + arrowHeight / 2 - containerRect.top;\n\n switch (side) {\n case 'top':\n originX = arrowCenterX;\n originY = containerRect.height + arrowHeight;\n break;\n case 'bottom':\n originX = arrowCenterX;\n originY = 0;\n break;\n case 'left':\n originX = containerRect.width + arrowWidth;\n originY = arrowCenterY;\n break;\n case 'right':\n originX = containerRect.left - arrowRect.left;\n originY = arrowCenterY;\n break;\n }\n } else {\n const alignTo = (type: 'x' | 'y', align: AlignType) => {\n const dim = type === 'x' ? containerRect.width : containerRect.height;\n\n switch (align) {\n case 'start':\n return 0;\n case 'end':\n return dim;\n case 'center':\n return dim / 2;\n }\n };\n\n switch (side) {\n case 'top':\n originY = containerRect.height;\n originX = alignTo('x', align);\n break;\n case 'bottom':\n originY = 0;\n originX = alignTo('x', align);\n\n break;\n case 'left':\n originX = containerRect.width;\n originY = alignTo('y', align);\n\n break;\n case 'right':\n originX = 0;\n originY = alignTo('y', align);\n\n break;\n }\n }\n\n return `${originX}px ${originY}px`;\n };\n\n const updateArrowPosition = (side: SideType) => {\n const arrow = getArrow();\n const container = getContainer();\n const anchor = getAnchor();\n\n if (!container || !arrow) return;\n\n const tooltipRect = container.getBoundingClientRect();\n const anchorRect = anchor.getBoundingClientRect();\n const anchorCenterX = anchorRect.left + anchorRect.width / 2;\n const anchorCenterY = anchorRect.top + anchorRect.height / 2;\n\n const arrowLeft = anchorCenterX - tooltipRect.left;\n const arrowTop = anchorCenterY - tooltipRect.top;\n const padding = 8;\n\n if (side === 'top' || side === 'bottom') {\n if (arrowLeft < padding || arrowLeft > tooltipRect.width - padding) {\n arrow.style.opacity = '0';\n }\n\n arrow.style.left = `${arrowLeft}px`;\n arrow.style.top = side === 'top' ? '100%' : 'auto';\n arrow.style.bottom = side === 'bottom' ? '100%' : 'auto';\n arrow.style.transform = 'translateX(-50%)';\n }\n\n if (side === 'left' || side === 'right') {\n if (arrowTop < padding || arrowTop > tooltipRect.height - padding) {\n arrow.style.opacity = '0';\n }\n\n arrow.style.top = `${arrowTop}px`;\n arrow.style.left = side === 'left' ? '100%' : 'auto';\n arrow.style.right = side === 'right' ? '100%' : 'auto';\n arrow.style.transform = 'translateY(-50%)';\n }\n };\n\n // effects\n\n return {\n state,\n containerRef,\n anchorRef,\n arrowRef,\n applyPlacement\n };\n }\n});\n","import type { usePlacerProps } from '@primereact/types/shared/placer';\n\nexport const defaultProps: usePlacerProps = {\n align: 'center',\n alignOffset: 0,\n side: 'top',\n sideOffset: 0\n};\n"],"mappings":"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","names":["withHeadless","addStyle","getOffset","getOuterHeight","getOuterWidth","getViewport","React","defaultProps","usePlacer","withHeadless","defaultProps","props","effectiveSide","setEffectiveSide","effectiveAlign","setEffectiveAlign","arrowRef","anchorRef","containerRef","state","getAnchor","_a","_b","getContainer","getArrow","placeTop","align","container","anchor","anchorOffset","getOffset","tooltipWidth","getOuterWidth","anchorWidth","tooltipHeight","getOuterHeight","arrowHeight","scrollTop","scrollLeft","left","getLeftByAlign","top","placeBottom","anchorHeight","placeLeft","arrowWidth","getTopByAlign","placeRight","anchorLeft","anchorTop","applyPlacement","addStyle","arrow","sideOptions","getSideOptions","alignOptions","getAlignOptions","side","tryPlacement","getTransformOrigin","updateAttributes","placeContainer","updateArrowPosition","isOutOfBounds","allSides","flipped","flipSide","remaining","s","_c","_d","viewport","getViewport","containerRect","arrowRect","combinedRect","originX","originY","arrowCenterX","arrowCenterY","alignTo","type","dim","tooltipRect","anchorRect","anchorCenterX","anchorCenterY","arrowLeft","arrowTop","padding"]}
@@ -1,12 +0,0 @@
1
- import { AlignType, SideType } from '@primereact/types/shared/placer';
2
- import * as React from 'react';
3
- export declare const usePlacer: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/placer").usePlacerProps, unknown, {
4
- state: {
5
- effectiveSide: SideType | null | undefined;
6
- effectiveAlign: AlignType | null | undefined;
7
- };
8
- containerRef: React.RefObject<unknown>;
9
- anchorRef: React.RefObject<unknown>;
10
- arrowRef: React.RefObject<unknown>;
11
- applyPlacement: () => void;
12
- }>;
@@ -1,2 +0,0 @@
1
- import type { usePlacerProps } from '@primereact/types/shared/placer';
2
- export declare const defaultProps: usePlacerProps;
File without changes
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/popover/usePopover.ts","../../../primereact/src/overlayeventbus/OverlayEventBus.ts","../../src/popover/usePopover.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { ConnectedOverlayScrollHandler } from '@primereact/core/utils';\nimport { useMountEffect } from '@primereact/hooks/use-mount-effect';\nimport { useUnmountEffect } from '@primereact/hooks/use-unmount-effect';\nimport { $dt } from '@primeuix/styled';\nimport { absolutePosition, addClass, addStyle, focus, getOffset, isClient, isTouchDevice, setAttribute } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { OverlayEventBus } from 'primereact/overlayeventbus';\nimport * as React from 'react';\nimport { defaultProps } from './usePopover.props';\n\nexport const usePopover = withHeadless({\n name: 'usePopover',\n defaultProps,\n setup: ({ props, $attrSelector }) => {\n const { dismissable, baseZIndex = 0, autoZIndex, closeOnEscape, defaultOpen, open, onOpenChange, breakpoints } = props;\n const [visibleState, setVisibleState] = React.useState(false);\n const selfClick = React.useRef(false);\n const overlayEventListeners = React.useRef<((e: unknown) => void) | null>(null);\n const scrollHandler = React.useRef<ConnectedOverlayScrollHandler | null>(null);\n const resizeListener = React.useRef<() => void | null>(null);\n const outsideClickListener = React.useRef<((e: unknown) => void) | null>(null);\n const styleElement = React.useRef<HTMLStyleElement | null>(null);\n const documentKeydownListener = React.useRef<((e: unknown) => void) | null>(null);\n const triggerRef = React.useRef<HTMLElement | null>(null);\n const containerRef = React.useRef<HTMLElement | null>(null);\n\n const state = {\n visible: visibleState\n };\n\n const getTrigger = React.useCallback(() => {\n if (triggerRef?.current && triggerRef?.current instanceof HTMLElement) {\n return triggerRef?.current;\n }\n\n // @ts-expect-error - Temporary fix for elementRef property access\n return triggerRef?.current?.elementRef.current ?? null;\n }, [triggerRef]);\n\n const getContainer = React.useCallback(() => {\n if (containerRef?.current && containerRef?.current instanceof HTMLElement) {\n return containerRef?.current;\n }\n\n // @ts-expect-error - Temporary fix for elementRef property access\n return containerRef?.current?.elementRef.current ?? null;\n }, [containerRef]);\n\n const show = () => {\n if (visibleState) return;\n\n setVisibleState(true);\n onOpenChange?.({\n value: true\n });\n };\n\n const hide = () => {\n if (!visibleState) return;\n\n setVisibleState(false);\n onOpenChange?.({\n value: false\n });\n\n setTimeout(() => {\n const trigger = getTrigger();\n\n if (trigger) {\n focus(trigger);\n }\n }, 10);\n };\n\n const onBeforeEnter = () => {\n const container = getContainer();\n\n if (!container) return;\n\n addStyle(container, { position: 'absolute', top: '0' });\n alignOverlay();\n\n if (dismissable) {\n bindOutsideClickListener();\n }\n\n bindScrollListener();\n bindResizeListener();\n\n if (autoZIndex) {\n // Fix\n ZIndex.set('overlay', container, baseZIndex + 10);\n }\n\n overlayEventListeners.current = (e: unknown) => {\n const event = e as Event;\n\n if (container.contains(event.target as Node)) {\n selfClick.current = true;\n }\n };\n\n OverlayEventBus.on('overlay-click', overlayEventListeners.current);\n\n if (closeOnEscape) {\n bindDocumentKeyDownListener();\n }\n };\n\n const onLeave = () => {\n unbindOutsideClickListener();\n unbindScrollListener();\n unbindResizeListener();\n unbindDocumentKeyDownListener();\n\n if (overlayEventListeners.current) {\n OverlayEventBus.off('overlay-click', overlayEventListeners.current);\n overlayEventListeners.current = null;\n }\n\n hide();\n };\n\n const onAfterLeave = () => {\n const container = getContainer();\n\n if (autoZIndex && container) {\n ZIndex.clear(container);\n }\n };\n\n const alignOverlay = () => {\n const container = getContainer();\n\n const trigger = getTrigger();\n\n if (!trigger || !container) return;\n\n absolutePosition(container, trigger, false);\n\n const containerOffset = getOffset(container);\n const targetOffset = getOffset(trigger);\n let arrowLeft = 0;\n\n if (Number(containerOffset.left) < Number(targetOffset.left)) {\n arrowLeft = Number(targetOffset.left) - Number(containerOffset.left);\n }\n\n container.style.setProperty($dt('popover.arrow.left').name, `${arrowLeft}px`);\n\n if (containerOffset.top < targetOffset.top) {\n addClass(container, 'p-popover-flipped');\n container.setAttribute('data-p-popover-flipped', 'true');\n }\n };\n\n const onContentKeydown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.code === 'Escape' && closeOnEscape) {\n hide();\n }\n };\n\n const bindOutsideClickListener = () => {\n if (!outsideClickListener.current && isClient()) {\n outsideClickListener.current = (event: unknown) => {\n const clickEvent = event as MouseEvent;\n\n const container = getContainer();\n\n if (visibleState && !(clickEvent.target === container || container?.contains(clickEvent.target as Node))) {\n hide();\n }\n\n selfClick.current = false;\n };\n\n document.addEventListener('click', outsideClickListener.current);\n }\n };\n\n const unbindOutsideClickListener = () => {\n if (outsideClickListener.current) {\n document.removeEventListener('click', outsideClickListener.current);\n outsideClickListener.current = null;\n selfClick.current = false;\n }\n };\n\n const bindDocumentKeyDownListener = () => {\n if (!documentKeydownListener.current) {\n documentKeydownListener.current = (event: unknown) => {\n const keyboardEvent = event as KeyboardEvent;\n\n if (keyboardEvent.code === 'Escape' && closeOnEscape) {\n hide();\n }\n };\n\n window.document.addEventListener('keydown', documentKeydownListener.current);\n }\n };\n\n const unbindDocumentKeyDownListener = () => {\n if (documentKeydownListener.current) {\n window.document.removeEventListener('keydown', documentKeydownListener.current);\n documentKeydownListener.current = null;\n }\n };\n\n const bindScrollListener = () => {\n if (!scrollHandler.current) {\n scrollHandler.current = new ConnectedOverlayScrollHandler(getTrigger() ?? null, () => {\n if (visibleState) {\n hide();\n }\n });\n }\n\n scrollHandler.current.bindScrollListener();\n };\n\n const unbindScrollListener = () => {\n if (scrollHandler.current) {\n scrollHandler.current.unbindScrollListener();\n }\n };\n\n const bindResizeListener = () => {\n if (!resizeListener.current) {\n resizeListener.current = () => {\n if (visibleState && !isTouchDevice()) {\n alignOverlay();\n }\n };\n\n window.addEventListener('resize', resizeListener.current);\n }\n };\n\n const unbindResizeListener = () => {\n if (resizeListener.current) {\n window.removeEventListener('resize', resizeListener.current);\n resizeListener.current = null;\n }\n };\n\n const onOverlayClick = (event: Event) => {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: getTrigger()\n });\n };\n\n const createStyle = () => {\n if (!breakpoints || !styleElement.current) {\n styleElement.current = document.createElement('style');\n styleElement.current.type = 'text/css';\n setAttribute(styleElement.current, 'nonce', 'nonce');\n document.head.appendChild(styleElement.current);\n\n let innerHTML = '';\n\n for (const breakpoint in breakpoints) {\n innerHTML += `\n @media screen and (max-width: ${breakpoint}) {\n .p-popover[${$attrSelector}] {\n width: ${breakpoints[breakpoint]} !important;\n }\n }\n `;\n }\n\n styleElement.current.innerHTML = innerHTML;\n }\n };\n\n const destroyStyle = () => {\n if (styleElement.current) {\n document.head.removeChild(styleElement.current);\n styleElement.current = null;\n }\n };\n\n React.useEffect(() => {\n if (open) {\n setTimeout(() => {\n show();\n }, 0);\n } else {\n hide();\n }\n }, [open]);\n\n React.useEffect(() => {\n if (defaultOpen) {\n setTimeout(() => {\n show();\n }, 0);\n } else {\n hide();\n }\n }, [defaultOpen]);\n\n useMountEffect(() => {\n if (breakpoints) {\n createStyle();\n }\n });\n\n useUnmountEffect(() => {\n if (dismissable) {\n unbindOutsideClickListener();\n }\n\n if (scrollHandler.current) {\n scrollHandler.current.destroy();\n scrollHandler.current = null;\n }\n\n destroyStyle();\n unbindResizeListener();\n\n const container = getContainer();\n\n if (container && autoZIndex) {\n ZIndex.clear(container);\n }\n\n if (overlayEventListeners.current) {\n OverlayEventBus.off('overlay-click', overlayEventListeners.current);\n overlayEventListeners.current = null;\n }\n });\n\n return {\n state,\n show,\n hide,\n onBeforeEnter,\n onAfterLeave,\n onOverlayClick,\n onLeave,\n onContentKeydown,\n triggerRef,\n containerRef\n };\n }\n});\n","import { EventBus } from '@primeuix/utils/eventbus';\n\nexport default EventBus();\n","import type { usePopoverProps } from '@primereact/types/shared/popover';\n\nexport const defaultProps: usePopoverProps = {\n dismissable: true,\n appendTo: 'body',\n baseZIndex: 0,\n autoZIndex: true,\n breakpoints: {},\n closeOnEscape: true,\n defaultOpen: undefined,\n open: undefined,\n onOpenChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","ConnectedOverlayScrollHandler","useMountEffect","useUnmountEffect","$dt","absolutePosition","addClass","addStyle","focus","getOffset","isClient","isTouchDevice","setAttribute","ZIndex","EventBus","OverlayEventBus_default","React","defaultProps","usePopover","withHeadless","defaultProps","props","$attrSelector","dismissable","baseZIndex","autoZIndex","closeOnEscape","defaultOpen","open","onOpenChange","breakpoints","visibleState","setVisibleState","selfClick","overlayEventListeners","scrollHandler","resizeListener","outsideClickListener","styleElement","documentKeydownListener","triggerRef","containerRef","state","getTrigger","_a","_b","getContainer","show","hide","trigger","focus","onBeforeEnter","container","addStyle","alignOverlay","bindOutsideClickListener","bindScrollListener","bindResizeListener","ZIndex","e","event","OverlayEventBus_default","bindDocumentKeyDownListener","onLeave","unbindOutsideClickListener","unbindScrollListener","unbindResizeListener","unbindDocumentKeyDownListener","onAfterLeave","absolutePosition","containerOffset","getOffset","targetOffset","arrowLeft","$dt","addClass","onContentKeydown","isClient","clickEvent","ConnectedOverlayScrollHandler","isTouchDevice","onOverlayClick","createStyle","setAttribute","innerHTML","breakpoint","destroyStyle","useMountEffect","useUnmountEffect"]}
File without changes
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/portal/usePortal.ts","../../src/portal/usePortal.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useMountEffect, useUnmountEffect, useUpdateEffect } from '@primereact/hooks';\nimport { isClient } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './usePortal.props';\n\nexport const usePortal = withHeadless({\n name: 'usePortal',\n defaultProps,\n setup({ props }) {\n const [mountedState, setMountedState] = React.useState<boolean | undefined>(props.visible && isClient());\n\n useMountEffect(() => {\n if (isClient() && !mountedState) {\n setMountedState(true);\n\n if (props.onMounted) {\n props.onMounted();\n }\n }\n });\n\n useUpdateEffect(() => {\n if (props.onMounted) {\n props.onMounted();\n }\n }, [mountedState]);\n\n useUnmountEffect(() => {\n if (props.onUnmounted) {\n props.onUnmounted();\n }\n });\n\n return {\n mountedState\n };\n }\n});\n","import type { usePortalProps } from '@primereact/types/shared/portal';\n\nexport const defaultProps: usePortalProps = {\n visible: false,\n onMounted: undefined,\n onUnmounted: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,OAAS,kBAAAC,EAAgB,oBAAAC,EAAkB,mBAAAC,MAAuB,oBAClE,OAAS,YAAAC,MAAgB,kBACzB,UAAYC,MAAW,QCDhB,IAAMC,EAA+B,CACxC,QAAS,GACT,UAAW,OACX,YAAa,MACjB,EDAO,IAAMC,EAAYC,EAAa,CAClC,KAAM,YACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CACb,GAAM,CAACC,EAAcC,CAAe,EAAU,WAA8BF,EAAM,SAAWG,EAAS,CAAC,EAEvG,OAAAC,EAAe,IAAM,CACbD,EAAS,GAAK,CAACF,IACfC,EAAgB,EAAI,EAEhBF,EAAM,WACNA,EAAM,UAAU,EAG5B,CAAC,EAEDK,EAAgB,IAAM,CACdL,EAAM,WACNA,EAAM,UAAU,CAExB,EAAG,CAACC,CAAY,CAAC,EAEjBK,EAAiB,IAAM,CACfN,EAAM,aACNA,EAAM,YAAY,CAE1B,CAAC,EAEM,CACH,aAAAC,CACJ,CACJ,CACJ,CAAC","names":["withHeadless","useMountEffect","useUnmountEffect","useUpdateEffect","isClient","React","defaultProps","usePortal","withHeadless","defaultProps","props","mountedState","setMountedState","isClient","useMountEffect","useUpdateEffect","useUnmountEffect"]}
File without changes
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/progressbar/useProgressBar.ts","../../src/progressbar/useProgressBar.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './useProgressBar.props';\n\nexport const useProgressBar = withHeadless({\n name: 'useProgressBar',\n defaultProps,\n setup({ props }) {\n // methods\n const handleProgressValue = (value: number | undefined): number => {\n const minValue = props.min ?? 0;\n const maxValue = props.max ?? 100;\n\n if (minValue >= maxValue) {\n // eslint-disable-next-line no-console\n console.error('[ProgressBar] min must be less than max.');\n\n return 0;\n }\n\n const clampedValue = Math.min(Math.max(value ?? minValue, minValue), maxValue);\n const newValue = ((clampedValue - minValue) / (maxValue - minValue)) * 100;\n const boundedValue = Math.min(Math.max(newValue, 0), 100);\n\n return boundedValue;\n };\n\n const computedValue = React.useMemo(() => {\n return handleProgressValue(props.value);\n }, [props.value, props.min, props.max]);\n\n const formattedValue = React.useMemo(() => {\n return props.formatter?.(computedValue);\n }, [computedValue, props.formatter]);\n\n const state = {\n computedValue,\n formattedValue\n };\n\n return {\n state\n };\n }\n});\n","import type { useProgressBarProps } from '@primereact/types/shared/progressbar';\n\nexport const defaultProps: useProgressBarProps = {\n value: undefined,\n max: 100,\n min: 0,\n formatter: (value: number) =>\n new Intl.NumberFormat(undefined, {\n minimumFractionDigits: 0,\n maximumFractionDigits: 2\n }).format(value) + '%'\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,EAAoC,CAC7C,MAAO,OACP,IAAK,IACL,IAAK,EACL,UAAYC,GACR,IAAI,KAAK,aAAa,OAAW,CAC7B,sBAAuB,EACvB,sBAAuB,CAC3B,CAAC,EAAE,OAAOA,CAAK,EAAI,GAC3B,EDPO,IAAMC,EAAiBC,EAAa,CACvC,KAAM,iBACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CAEb,IAAMC,EAAuBC,GAAsC,CAT3E,IAAAC,EAAAC,EAUY,IAAMC,GAAWF,EAAAH,EAAM,MAAN,KAAAG,EAAa,EACxBG,GAAWF,EAAAJ,EAAM,MAAN,KAAAI,EAAa,IAE9B,GAAIC,GAAYC,EAEZ,eAAQ,MAAM,0CAA0C,EAEjD,EAIX,IAAMC,GADe,KAAK,IAAI,KAAK,IAAIL,GAAA,KAAAA,EAASG,EAAUA,CAAQ,EAAGC,CAAQ,EAC3CD,IAAaC,EAAWD,GAAa,IAGvE,OAFqB,KAAK,IAAI,KAAK,IAAIE,EAAU,CAAC,EAAG,GAAG,CAG5D,EAEMC,EAAsB,UAAQ,IACzBP,EAAoBD,EAAM,KAAK,EACvC,CAACA,EAAM,MAAOA,EAAM,IAAKA,EAAM,GAAG,CAAC,EAEhCS,EAAuB,UAAQ,IAAM,CA/BnD,IAAAN,EAgCY,OAAOA,EAAAH,EAAM,YAAN,YAAAG,EAAA,KAAAH,EAAkBQ,EAC7B,EAAG,CAACA,EAAeR,EAAM,SAAS,CAAC,EAOnC,MAAO,CACH,MANU,CACV,cAAAQ,EACA,eAAAC,CACJ,CAIA,CACJ,CACJ,CAAC","names":["withHeadless","React","defaultProps","value","useProgressBar","withHeadless","defaultProps","props","handleProgressValue","value","_a","_b","minValue","maxValue","newValue","computedValue","formattedValue"]}
File without changes
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/progressspinner/useProgressSpinner.ts","../../src/progressspinner/useProgressSpinner.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useProgressSpinner.props';\n\nexport const useProgressSpinner = withHeadless({\n name: 'useProgressSpinner',\n defaultProps\n});\n","import type { useProgressSpinnerProps } from '@primereact/types/shared/progressspinner';\n\nexport const defaultProps: useProgressSpinnerProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAwC,CAAC,EDC/C,IAAMC,EAAqBC,EAAa,CAC3C,KAAM,qBACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useProgressSpinner","withHeadless","defaultProps"]}
File without changes
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/radiobutton/useRadioButton.ts","../../src/radiobutton/useRadioButton.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport type { useRadioButtonChangeEvent } from '@primereact/types/shared/radiobutton';\nimport { defaultProps } from './useRadioButton.props';\n\nexport const useRadioButton = withHeadless({\n name: 'useRadioButton',\n defaultProps,\n setup: ({ props }) => {\n const [checkedState, setCheckedState] = useControlledState({\n value: props.checked,\n defaultValue: props.defaultChecked ?? false,\n onChange: props.onCheckedChange\n });\n\n const state = {\n checked: checkedState\n };\n\n // methods\n const onChange = (event: useRadioButtonChangeEvent) => {\n const computedChecked = !checkedState;\n\n setCheckedState([\n computedChecked,\n {\n originalEvent: event,\n checked: computedChecked\n }\n ]);\n };\n\n return {\n state,\n // methods\n onChange\n };\n }\n});\n","import type { useRadioButtonProps } from '@primereact/types/shared/radiobutton';\n\nexport const defaultProps: useRadioButtonProps = {\n checked: undefined,\n defaultChecked: undefined,\n onCheckedChange: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,OAAS,sBAAAC,MAA0B,yCCC5B,IAAMC,EAAoC,CAC7C,QAAS,OACT,eAAgB,OAChB,gBAAiB,MACrB,EDDO,IAAMC,EAAiBC,EAAa,CACvC,KAAM,iBACN,aAAAC,EACA,MAAO,CAAC,CAAE,MAAAC,CAAM,IAAM,CAR1B,IAAAC,EASQ,GAAM,CAACC,EAAcC,CAAe,EAAIC,EAAmB,CACvD,MAAOJ,EAAM,QACb,cAAcC,EAAAD,EAAM,iBAAN,KAAAC,EAAwB,GACtC,SAAUD,EAAM,eACpB,CAAC,EAmBD,MAAO,CACH,MAlBU,CACV,QAASE,CACb,EAkBI,SAfcG,GAAqC,CACnD,IAAMC,EAAkB,CAACJ,EAEzBC,EAAgB,CACZG,EACA,CACI,cAAeD,EACf,QAASC,CACb,CACJ,CAAC,CACL,CAMA,CACJ,CACJ,CAAC","names":["withHeadless","useControlledState","defaultProps","useRadioButton","withHeadless","defaultProps","props","_a","checkedState","setCheckedState","useControlledState","event","computedChecked"]}
File without changes
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/rating/useRating.ts","../../src/rating/useRating.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { focus, getFirstFocusableElement } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useRating.props';\n\nexport const useRating = withHeadless({\n name: 'useRating',\n defaultProps,\n setup: ({ props, elementRef }) => {\n const { readOnly, disabled } = props;\n const [valueState, setValueState] = React.useState(props.allowHalf ? (props.defaultValue ?? props.value) : Math.ceil(props.defaultValue ?? props.value ?? 0));\n const [hoverValueState, setHoverValueState] = React.useState<number | undefined>(undefined);\n const [focusedOptionIndex, setFocusedOptionIndex] = React.useState<number | undefined>(undefined);\n const [isFocusVisibleItem, setIsFocusVisibleItem] = React.useState(false);\n\n const hoverValueRef = React.useRef<number | undefined>(undefined);\n\n const state = {\n value: valueState,\n hoverValue: hoverValueState,\n focusedOptionIndex,\n isFocusVisibleItem\n };\n\n // methods\n\n const onInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n const inputValue = parseFloat(event.target.value);\n const starIndex = Math.ceil(inputValue);\n\n setFocusedOptionIndex(starIndex);\n\n const native = event.nativeEvent as FocusEvent & {\n sourceCapabilities?: {\n firesTouchEvents: boolean;\n };\n };\n\n setIsFocusVisibleItem(native.sourceCapabilities?.firesTouchEvents === false);\n };\n\n const onInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n const relatedTarget = event.relatedTarget as HTMLElement | null;\n\n if (relatedTarget && elementRef.current?.contains(relatedTarget)) {\n return;\n }\n\n setFocusedOptionIndex(undefined);\n };\n\n const onInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setValueState(Number(event.target.value));\n const inputValue = parseFloat(event.target.value);\n const starIndex = Math.ceil(inputValue);\n\n setFocusedOptionIndex(starIndex);\n setIsFocusVisibleItem(true);\n };\n\n const onOptionClick = (event: React.MouseEvent<HTMLDivElement>, value: number | undefined) => {\n if (readOnly || disabled) return;\n\n const effectiveValue = props.allowHalf ? value : Math.ceil(value ?? 0);\n\n if (hoverValueRef.current === effectiveValue) {\n setHoverValueState(undefined);\n }\n\n setValueState((prev) => (prev === effectiveValue ? undefined : effectiveValue));\n setIsFocusVisibleItem(false);\n\n const firstFocusableEl = getFirstFocusableElement(event.currentTarget);\n\n if (firstFocusableEl && firstFocusableEl instanceof HTMLElement) {\n focus(firstFocusableEl);\n }\n };\n\n const onOptionHover = (event: React.PointerEvent<HTMLDivElement>, value: number | undefined) => {\n if (readOnly || disabled) return;\n\n setFocusedOptionIndex(undefined);\n const newValue = value ? (props.allowHalf ? value : Math.ceil(value ?? 0)) : undefined;\n\n setHoverValueState(newValue);\n hoverValueRef.current = newValue;\n };\n\n const getOptionState = (value: number) => {\n const effectiveValue = hoverValueState ?? valueState ?? 0;\n\n const floor = Math.floor(effectiveValue);\n\n let state = 'empty';\n\n if (value <= floor) {\n state = 'filled';\n } else if (value === floor + 1 && !Number.isInteger(effectiveValue)) {\n state = 'half';\n }\n\n return state;\n };\n\n // effects\n\n React.useEffect(() => {\n props?.onValueChange?.({ value: valueState, originalEvent: null });\n }, [valueState]);\n\n React.useEffect(() => {\n setValueState(props.allowHalf ? (props.defaultValue ?? props.value) : Math.ceil(props.defaultValue ?? props.value ?? 0));\n }, [props.value, props.defaultValue, props.allowHalf]);\n\n return {\n state,\n // methods\n onInputFocus,\n onInputBlur,\n onInputChange,\n getOptionState,\n onOptionClick,\n onOptionHover\n };\n }\n});\n","import type { useRatingProps } from '@primereact/types/shared/rating';\n\nexport const defaultProps: useRatingProps = {\n value: undefined,\n defaultValue: undefined,\n stars: 5,\n disabled: false,\n readOnly: false,\n allowHalf: true,\n onValueChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","focus","getFirstFocusableElement","React","defaultProps","useRating","withHeadless","defaultProps","props","elementRef","_a","_b","_c","readOnly","disabled","valueState","setValueState","hoverValueState","setHoverValueState","focusedOptionIndex","setFocusedOptionIndex","isFocusVisibleItem","setIsFocusVisibleItem","hoverValueRef","state","onInputFocus","event","inputValue","starIndex","native","onInputBlur","relatedTarget","onInputChange","onOptionClick","value","effectiveValue","prev","firstFocusableEl","getFirstFocusableElement","focus","onOptionHover","newValue","getOptionState","floor"]}
File without changes
@@ -1 +0,0 @@
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"]}
File without changes
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/skeleton/useSkeleton.ts","../../src/skeleton/useSkeleton.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useSkeleton.props';\n\nexport const useSkeleton = withHeadless({\n name: 'useSkeleton',\n defaultProps\n});\n","import type { useSkeletonProps } from '@primereact/types/shared/skeleton';\n\nexport const defaultProps: useSkeletonProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAiC,CAAC,EDCxC,IAAMC,EAAcC,EAAa,CACpC,KAAM,cACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useSkeleton","withHeadless","defaultProps"]}
File without changes
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/slider/useSlider.ts","../../src/slider/useSlider.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener } from '@primereact/hooks';\nimport { useSliderProps } from '@primereact/types/shared/slider';\nimport { focus, getAttribute, getWindowScrollLeft, getWindowScrollTop, isRTL } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useSlider.props';\n\nexport const useSlider = withHeadless({\n name: 'useSlider',\n defaultProps,\n setup({ props, elementRef }) {\n const [activeValue, setActiveValue] = React.useState<useSliderProps['value']>(props.value ?? props.defaultValue ?? undefined);\n const handleIndex = React.useRef(0);\n const dragging = React.useRef(false);\n const thumbCounter = React.useRef(0);\n const initX = React.useRef(0);\n const initY = React.useRef(0);\n const barWidth = React.useRef<number | null>(null);\n const barHeight = React.useRef<number | null>(null);\n\n React.useEffect(() => {\n if (props.value !== undefined) {\n setActiveValue(props.value);\n }\n }, [props.value]);\n\n const state = {\n value: activeValue\n };\n\n const registerThumb = React.useCallback(() => {\n const index = thumbCounter.current;\n\n thumbCounter.current += 1;\n\n return index;\n }, []);\n\n React.useEffect(() => {\n thumbCounter.current = 0;\n\n return () => {\n thumbCounter.current = 0;\n };\n }, []);\n\n const range = React.useCallback(() => {\n return Array.isArray(state.value) || thumbCounter.current > 1;\n }, [state.value]);\n\n const updateDomData = () => {\n const rect = elementRef.current?.getBoundingClientRect();\n\n initX.current = (rect?.left ?? 0) + getWindowScrollLeft();\n initY.current = (rect?.top ?? 0) + getWindowScrollTop();\n barWidth.current = elementRef.current?.offsetWidth ?? null;\n barHeight.current = elementRef.current?.offsetHeight ?? null;\n };\n\n const handleValue = (event: React.MouseEvent | React.TouchEvent) => {\n let rawValue;\n const touchEvent = event as React.TouchEvent;\n const mouseEvent = event as React.MouseEvent;\n const pageX = touchEvent.touches ? touchEvent.touches[0].pageX : mouseEvent.pageX;\n const pageY = touchEvent.touches ? touchEvent.touches[0].pageY : mouseEvent.pageY;\n\n if (horizontal()) {\n if (!elementRef.current) return;\n\n if (isRTL(elementRef.current)) {\n rawValue = ((initX.current + (barWidth.current as number) - pageX) * 100) / (barWidth.current as number);\n } else {\n rawValue = ((pageX - initX.current) * 100) / (barWidth.current as number);\n }\n } else {\n rawValue = ((initY.current + (barHeight.current as number) - pageY) * 100) / (barHeight.current as number);\n }\n\n let newValue = ((props.max as number) - (props.min as number)) * (rawValue / 100) + (props.min as number);\n\n if (props.step) {\n const oldValue: number = range() ? (Array.isArray(state.value) ? (state.value[handleIndex.current] ?? 0) : 0) : typeof state.value === 'number' ? state.value : 0;\n const diff = newValue - oldValue;\n\n if (diff < 0) newValue = oldValue + Math.ceil(newValue / props.step - oldValue / props.step) * props.step;\n else if (diff > 0) newValue = oldValue + Math.floor(newValue / props.step - oldValue / props.step) * props.step;\n } else {\n newValue = Math.floor(newValue);\n }\n\n updateValue(event, newValue);\n };\n\n const updateValue = (event: React.MouseEvent | React.TouchEvent | React.KeyboardEvent, value: number) => {\n let newValue = Math.round(value * 100) / 100;\n let updatedValue;\n\n if (range()) {\n updatedValue = Array.isArray(state.value) ? [...state.value] : [0, 0];\n\n if (handleIndex.current == 0) {\n if (newValue < (props.min ?? 0)) {\n newValue = props.min as number;\n } else if (newValue >= (props.max ?? 100)) {\n newValue = props.max as number;\n }\n\n updatedValue[0] = newValue;\n } else {\n if (newValue > (props.max ?? 100)) {\n newValue = props.max as number;\n } else if (newValue <= (props.min ?? 0)) {\n newValue = props.min as number;\n }\n\n updatedValue[1] = newValue;\n }\n } else {\n if (newValue < (props.min ?? 0)) {\n newValue = props.min as number;\n } else if (newValue > (props.max ?? 100)) {\n newValue = props.max as number;\n }\n\n updatedValue = newValue;\n }\n\n setActiveValue(updatedValue);\n\n if (props.onValueChange) {\n props.onValueChange({\n originalEvent: event,\n value: updatedValue\n });\n }\n };\n\n const onDragStart = (event: React.MouseEvent<HTMLElement> | React.TouchEvent<HTMLElement>, index: number = 0) => {\n if (props.disabled) {\n return;\n }\n\n elementRef.current?.setAttribute('data-p-sliding', 'true');\n dragging.current = true;\n updateDomData();\n\n if (range() && Array.isArray(state.value) && state.value[0] === props.max) {\n handleIndex.current = 0;\n } else {\n handleIndex.current = index;\n }\n\n focus(event.currentTarget as HTMLElement);\n };\n\n const onDrag = (event: React.MouseEvent | React.TouchEvent) => {\n if (dragging.current) {\n handleValue(event);\n }\n };\n\n const onDragEnd = () => {\n if (dragging.current) {\n dragging.current = false;\n elementRef.current?.removeAttribute('data-p-sliding');\n\n unbindThumbMouseMoveListener();\n unbindThumbMouseUpListener();\n unbindDocumentTouchMoveListener();\n unbindDocumentTouchEndListener();\n }\n };\n\n const onTouchStart = (event: React.TouchEvent<HTMLElement>, index: number) => {\n bindDocumentTouchMoveListener();\n bindDocumentTouchEndListener();\n onDragStart(event, index);\n };\n\n const onMouseDown = (event: React.MouseEvent<HTMLElement>, index: number) => {\n bindThumbMouseMoveListener();\n bindThumbMouseUpListener();\n onDragStart(event, index);\n };\n\n const onKeyDown = (event: React.KeyboardEvent, index: number) => {\n handleIndex.current = index;\n\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n decrementValue(event, index);\n event.preventDefault();\n break;\n\n case 'ArrowUp':\n case 'ArrowRight':\n incrementValue(event, index);\n event.preventDefault();\n break;\n\n case 'PageDown':\n decrementValue(event, index, true);\n event.preventDefault();\n break;\n\n case 'PageUp':\n incrementValue(event, index, true);\n event.preventDefault();\n break;\n\n case 'Home':\n updateValue(event, props.min ?? 0);\n event.preventDefault();\n break;\n\n case 'End':\n updateValue(event, props.max ?? 100);\n event.preventDefault();\n break;\n\n default:\n break;\n }\n };\n\n const onBarClick = (event: React.MouseEvent) => {\n if (props.disabled) {\n return;\n }\n\n if (getAttribute(event.target as Element, 'data-pc-name') !== 'sliderthumb') {\n updateDomData();\n handleValue(event);\n }\n };\n\n const [bindThumbMouseMoveListener, unbindThumbMouseMoveListener] = useEventListener({\n type: 'mousemove',\n listener: (event: Event) => onDrag(event as unknown as React.MouseEvent)\n });\n\n const [bindThumbMouseUpListener, unbindThumbMouseUpListener] = useEventListener({\n type: 'mouseup',\n listener: () => onDragEnd()\n });\n\n const [bindDocumentTouchMoveListener, unbindDocumentTouchMoveListener] = useEventListener({\n type: 'touchmove',\n listener: (event: Event) => onDrag(event as unknown as React.MouseEvent)\n });\n\n const [bindDocumentTouchEndListener, unbindDocumentTouchEndListener] = useEventListener({\n type: 'touchend',\n listener: () => onDragEnd()\n });\n\n const decrementValue = (event: React.KeyboardEvent, index: number, pageKey = false) => {\n let newValue;\n\n if (range()) {\n if (Array.isArray(state.value)) {\n if (props.step) newValue = (state.value[index] ?? 0) - props.step;\n else newValue = (state.value[index] ?? 0) - 1;\n } else {\n newValue = 0;\n }\n } else {\n if (typeof state.value === 'number') {\n if (props.step) newValue = state.value - props.step;\n else if (!props.step && pageKey) newValue = state.value - 10;\n else newValue = state.value - 1;\n } else {\n newValue = 0;\n }\n }\n\n updateValue(event, newValue);\n event.preventDefault();\n };\n\n const incrementValue = (event: React.KeyboardEvent, index: number, pageKey = false) => {\n let newValue;\n\n if (range()) {\n if (Array.isArray(state.value)) {\n if (props.step) newValue = (state.value[index] ?? 0) + props.step;\n else newValue = (state.value[index] ?? 0) + 1;\n } else {\n newValue = 0;\n }\n } else {\n if (props.step) newValue = (typeof state.value === 'number' ? state.value : 0) + props.step;\n else if (!props.step && pageKey) newValue = (typeof state.value === 'number' ? state.value : 0) + 10;\n else newValue = (typeof state.value === 'number' ? state.value : 0) + 1;\n }\n\n updateValue(event, newValue);\n event.preventDefault();\n };\n\n const handlePosition = React.useCallback(() => {\n const value = state.value;\n const min = props.min ?? 0;\n const max = props.max ?? 100;\n\n if (value === undefined || Array.isArray(value)) return 0;\n\n if (value < min) return 0;\n else if (value > max) return 100;\n else return ((value - min) * 100) / (max - min);\n }, [state.value, props.min, props.max]);\n\n const rangeStartPosition = React.useCallback(() => {\n const value = state.value;\n const min = props.min ?? 0;\n const max = props.max ?? 100;\n\n if (Array.isArray(value) && value[0] !== undefined) {\n if (value[0] < min) return 0;\n else return ((value[0] - min) * 100) / (max - min);\n } else return 0;\n }, [state.value, props.min, props.max]);\n\n const rangeEndPosition = React.useCallback(() => {\n const value = state.value;\n const min = props.min ?? 0;\n const max = props.max ?? 100;\n\n if (Array.isArray(value) && value.length === 2 && value[1] !== undefined) {\n if (value[1] > max) return 100;\n else return ((value[1] - min) * 100) / (max - min);\n } else return 100;\n }, [state.value, props.min, props.max]);\n\n const rangeStyle = () => {\n if (range()) {\n const rangeSliderWidth = rangeEndPosition() > rangeStartPosition() ? rangeEndPosition() - rangeStartPosition() : rangeStartPosition() - rangeEndPosition();\n const rangeSliderPosition = rangeEndPosition() > rangeStartPosition() ? rangeStartPosition() : rangeEndPosition();\n\n if (horizontal()) {\n return { insetInlineStart: rangeSliderPosition + '%', width: rangeSliderWidth + '%' };\n } else {\n return { bottom: rangeSliderPosition + '%', height: rangeSliderWidth + '%' };\n }\n } else {\n if (horizontal()) {\n return { width: handlePosition() + '%' };\n } else {\n return { height: handlePosition() + '%' };\n }\n }\n };\n\n const handleThumbStyle = () => {\n if (horizontal()) {\n return { insetInlineStart: handlePosition() + '%' };\n } else {\n return { bottom: handlePosition() + '%' };\n }\n };\n\n const rangeStartHandleStyle = () => {\n if (horizontal()) {\n return { insetInlineStart: rangeStartPosition() + '%' };\n } else {\n return { bottom: rangeStartPosition() + '%' };\n }\n };\n\n const rangeEndHandleStyle = () => {\n if (horizontal()) {\n return { insetInlineStart: rangeEndPosition() + '%' };\n } else {\n return { bottom: rangeEndPosition() + '%' };\n }\n };\n\n const horizontal = React.useCallback(() => {\n return props.orientation === 'horizontal';\n }, []);\n\n return {\n state,\n registerThumb,\n thumbCounter,\n //methods\n range,\n onTouchStart,\n onDrag,\n onDragEnd,\n onMouseDown,\n onKeyDown,\n onBarClick,\n rangeStyle,\n handleThumbStyle,\n rangeStartHandleStyle,\n rangeEndHandleStyle\n };\n }\n});\n","import type { useSliderProps } from '@primereact/types/shared/slider';\n\nexport const defaultProps: useSliderProps = {\n value: undefined,\n defaultValue: undefined,\n orientation: 'horizontal',\n min: 0,\n max: 100,\n step: undefined,\n onValueChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","focus","getAttribute","getWindowScrollLeft","getWindowScrollTop","isRTL","React","defaultProps","useSlider","withHeadless","defaultProps","props","elementRef","_a","_b","activeValue","setActiveValue","handleIndex","dragging","thumbCounter","initX","initY","barWidth","barHeight","state","registerThumb","index","range","updateDomData","_c","_d","_e","_f","_g","rect","getWindowScrollLeft","getWindowScrollTop","handleValue","event","rawValue","touchEvent","mouseEvent","pageX","pageY","horizontal","isRTL","newValue","oldValue","diff","updateValue","value","updatedValue","onDragStart","focus","onDrag","onDragEnd","unbindThumbMouseMoveListener","unbindThumbMouseUpListener","unbindDocumentTouchMoveListener","unbindDocumentTouchEndListener","onTouchStart","bindDocumentTouchMoveListener","bindDocumentTouchEndListener","onMouseDown","bindThumbMouseMoveListener","bindThumbMouseUpListener","onKeyDown","decrementValue","incrementValue","onBarClick","getAttribute","useEventListener","pageKey","handlePosition","min","max","rangeStartPosition","rangeEndPosition","rangeStyle","rangeSliderWidth","rangeSliderPosition","handleThumbStyle","rangeStartHandleStyle","rangeEndHandleStyle"]}
File without changes
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/speeddial/useSpeedDial.ts","../../src/speeddial/useSpeedDial.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener, useMountEffect, useUnmountEffect, useUpdateEffect } from '@primereact/hooks';\nimport { $dt } from '@primeuix/styled';\nimport { find, findSingle, focus, hasClass } from '@primeuix/utils/dom';\nimport * as React from 'react';\nimport { defaultProps } from './useSpeedDial.props';\n\nexport const useSpeedDial = withHeadless({\n name: 'useSpeedDial',\n defaultProps,\n setup: ({ props, elementRef }) => {\n const listRef = React.useRef<HTMLUListElement | null>(null);\n const [visibleState, setVisibleState] = React.useState<boolean>(props.visible ?? props.defaultVisible ?? false);\n const [focusedOptionIndex, setFocusedOptionIndex] = React.useState<string | number>(-1);\n const isItemClicked = React.useRef(false);\n const itemCounter = React.useRef(0);\n const Math_PI = 3.14159265358979;\n\n const state = {\n visible: visibleState,\n focusedOptionIndex\n };\n\n const registerItem = React.useCallback(() => {\n const index = itemCounter.current;\n\n itemCounter.current += 1;\n\n return index;\n }, []);\n\n useMountEffect(() => {\n if (props.type !== 'linear') {\n const button = findSingle(elementRef.current as HTMLDivElement, '[data-pc-name=\"button\"]') as HTMLButtonElement;\n const firstItem = findSingle(listRef.current as HTMLUListElement, '[data-pc-name=\"speeddialitem\"]') as HTMLLIElement;\n\n if (button && firstItem) {\n const wDiff = Math.abs(button.offsetWidth - firstItem.offsetWidth);\n const hDiff = Math.abs(button.offsetHeight - firstItem.offsetHeight);\n\n (listRef.current as HTMLUListElement).style.setProperty($dt('item.diff.x').name, `${wDiff / 2}px`);\n (listRef.current as HTMLUListElement).style.setProperty($dt('item.diff.y').name, `${hDiff / 2}px`);\n }\n }\n });\n\n useUpdateEffect(() => {\n if (visibleState) {\n if (props.hideOnClickOutside) {\n bindDocumentClickListener();\n }\n }\n\n return () => {\n if (props.hideOnClickOutside) {\n unbindDocumentClickListener();\n }\n };\n }, [visibleState]);\n\n useUnmountEffect(() => {\n unbindDocumentClickListener();\n });\n\n const [bindDocumentClickListener, unbindDocumentClickListener] = useEventListener({\n type: 'click',\n listener: (event) => {\n if (visibleState && isOutsideClicked(event as unknown as React.MouseEvent)) {\n hide();\n }\n\n isItemClicked.current = false;\n }\n });\n\n const isOutsideClicked = (event: React.MouseEvent) => {\n return elementRef.current && !(elementRef.current.isSameNode(event.target as Node) || elementRef.current.contains(event.target as Node));\n };\n\n const onBlur = (event: React.FocusEvent) => {\n if (!elementRef.current?.contains(event.relatedTarget as Node)) {\n setFocusedOptionIndex(-1);\n }\n };\n\n const onItemClick = (event: React.MouseEvent | React.KeyboardEvent) => {\n hide();\n\n isItemClicked.current = true;\n event.preventDefault?.();\n };\n\n const onItemKeyDown = (event: React.KeyboardEvent) => {\n if (event.code === 'Enter') {\n onItemClick(event);\n }\n };\n\n const onClick = () => {\n if (visibleState) {\n hide();\n } else {\n show();\n }\n\n isItemClicked.current = true;\n };\n\n const show = () => {\n setVisibleState(true);\n\n props.onVisibleChange?.({\n value: true\n });\n };\n\n const hide = () => {\n setVisibleState(false);\n\n props.onVisibleChange?.({\n value: false\n });\n };\n\n const calculateTransitionDelay = (index: number) => {\n const length = itemCounter.current;\n const visible = visibleState;\n\n return (visible ? index : length - index - 1) * (props.transitionDelay ?? 30);\n };\n\n const calculatePointStyle = (index: number) => {\n const type = props.type;\n\n if (type !== 'linear') {\n const length = itemCounter.current;\n const radius = (props.radius || length * 20) as number;\n\n if (type === 'circle') {\n const step = (2 * Math_PI) / length;\n\n return {\n left: `calc(${radius * Math.cos(step * index)}px + ${$dt('item.diff.x').variable})`,\n top: `calc(${radius * Math.sin(step * index)}px + ${$dt('item.diff.y').variable})`\n };\n } else if (type === 'semi-circle') {\n const direction = props.direction;\n const step = Math_PI / (length - 1);\n const x = `calc(${radius * Math.cos(step * index)}px + ${$dt('item.diff.x').variable})`;\n const y = `calc(${radius * Math.sin(step * index)}px + ${$dt('item.diff.y').variable})`;\n\n if (direction === 'up') {\n return { left: x, bottom: y };\n } else if (direction === 'down') {\n return { left: x, top: y };\n } else if (direction === 'left') {\n return { right: y, top: x };\n } else if (direction === 'right') {\n return { left: y, top: x };\n }\n } else if (type === 'quarter-circle') {\n const direction = props.direction;\n const step = Math_PI / (2 * (length - 1));\n const x = `calc(${radius * Math.cos(step * index)}px + ${$dt('item.diff.x').variable})`;\n const y = `calc(${radius * Math.sin(step * index)}px + ${$dt('item.diff.y').variable})`;\n\n if (direction === 'up-left') {\n return { right: x, bottom: y };\n } else if (direction === 'up-right') {\n return { left: x, bottom: y };\n } else if (direction === 'down-left') {\n return { right: y, top: x };\n } else if (direction === 'down-right') {\n return { left: y, top: x };\n }\n }\n }\n\n return {};\n };\n\n const onTogglerKeydown = (event: React.KeyboardEvent) => {\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n onTogglerArrowDown(event);\n\n break;\n\n case 'ArrowUp':\n case 'ArrowRight':\n onTogglerArrowUp(event);\n\n break;\n\n case 'Escape':\n onEscapeKey();\n\n break;\n\n default:\n break;\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent) => {\n switch (event.code) {\n case 'ArrowDown':\n onArrowDown(event);\n break;\n\n case 'ArrowUp':\n onArrowUp(event);\n break;\n\n case 'ArrowLeft':\n onArrowLeft(event);\n break;\n\n case 'ArrowRight':\n onArrowRight(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n onEnterKey();\n break;\n\n case 'Escape':\n onEscapeKey();\n break;\n\n case 'Home':\n onHomeKey(event);\n break;\n\n case 'End':\n onEndKey(event);\n break;\n\n default:\n break;\n }\n };\n\n const onTogglerArrowUp = (event: React.KeyboardEvent) => {\n show();\n navigatePrevItem(event);\n\n event.preventDefault();\n };\n\n const onTogglerArrowDown = (event: React.KeyboardEvent) => {\n show();\n navigateNextItem(event);\n\n event.preventDefault();\n };\n\n const onEnterKey = () => {\n hide();\n setFocusedOptionIndex(-1);\n\n const buttonEl = findSingle(elementRef.current as HTMLDivElement, 'button') as HTMLButtonElement;\n\n if (buttonEl) {\n focus(buttonEl);\n }\n };\n\n const onEscapeKey = () => {\n hide();\n setFocusedOptionIndex(-1);\n\n const buttonEl = findSingle(elementRef.current as HTMLDivElement, 'button') as HTMLButtonElement;\n\n if (buttonEl) {\n focus(buttonEl);\n }\n };\n\n const onArrowUp = (event: React.KeyboardEvent) => {\n if (props.direction === 'down') {\n navigatePrevItem(event);\n } else {\n navigateNextItem(event);\n }\n };\n\n const onArrowDown = (event: React.KeyboardEvent) => {\n if (props.direction === 'down') {\n navigateNextItem(event);\n } else {\n navigatePrevItem(event);\n }\n };\n\n const onArrowLeft = (event: React.KeyboardEvent) => {\n const leftValidDirections = ['left', 'up-right', 'down-left'];\n const rightValidDirections = ['right', 'up-left', 'down-right'];\n\n if (leftValidDirections.includes(props.direction as string)) {\n navigateNextItem(event);\n } else if (rightValidDirections.includes(props.direction as string)) {\n navigatePrevItem(event);\n } else {\n navigatePrevItem(event);\n }\n };\n\n const onArrowRight = (event: React.KeyboardEvent) => {\n const leftValidDirections = ['left', 'up-right', 'down-left'];\n const rightValidDirections = ['right', 'up-left', 'down-right'];\n\n if (leftValidDirections.includes(props.direction as string)) {\n navigatePrevItem(event);\n } else if (rightValidDirections.includes(props.direction as string)) {\n navigateNextItem(event);\n } else {\n navigateNextItem(event);\n }\n };\n\n const onEndKey = (event: React.KeyboardEvent) => {\n event.preventDefault();\n\n setFocusedOptionIndex(-1);\n navigatePrevItem(event);\n };\n\n const onHomeKey = (event: React.KeyboardEvent) => {\n event.preventDefault();\n\n setFocusedOptionIndex(-1);\n navigateNextItem(event);\n };\n\n const navigateNextItem = (event: React.KeyboardEvent) => {\n const optionIndex = findNextOptionIndex(focusedOptionIndex);\n\n changeFocusedOptionIndex(optionIndex);\n\n event.preventDefault();\n };\n\n const navigatePrevItem = (event: React.KeyboardEvent) => {\n const optionIndex = findPrevOptionIndex(focusedOptionIndex);\n\n changeFocusedOptionIndex(optionIndex);\n\n event.preventDefault();\n };\n\n const changeFocusedOptionIndex = (index: number) => {\n const items = find(elementRef.current as HTMLDivElement, '[data-pc-name=\"speeddialitem\"]');\n const filteredItems = [...items].filter((item) => {\n const element = findSingle(item, 'a');\n\n return element ? !hasClass(element, 'p-disabled') : true;\n });\n\n if (filteredItems[index]) {\n const idAttr = filteredItems[index].getAttribute('id') ?? -1;\n\n setFocusedOptionIndex(idAttr);\n\n const buttonEl = findSingle(filteredItems[index], '[type=\"button\"]') as HTMLButtonElement;\n\n if (buttonEl) {\n focus(buttonEl);\n }\n }\n };\n\n const findPrevOptionIndex = (index: string | number) => {\n const items = find(elementRef.current as HTMLDivElement, '[data-pc-name=\"speeddialitem\"]');\n const filteredItems = [...items].filter((item) => {\n const element = findSingle(item, 'a');\n\n return element ? !hasClass(element, 'p-disabled') : true;\n });\n const newIndex = index === -1 ? filteredItems[filteredItems.length - 1].id : index;\n let matchedOptionIndex = filteredItems.findIndex((link) => link.getAttribute('id') === newIndex);\n\n matchedOptionIndex = index === -1 ? filteredItems.length - 1 : matchedOptionIndex - 1;\n\n return matchedOptionIndex;\n };\n\n const findNextOptionIndex = (index: string | number) => {\n const items = find(elementRef.current as HTMLDivElement, '[data-pc-name=\"speeddialitem\"]');\n const filteredItems = [...items].filter((item) => {\n const element = findSingle(item, 'a');\n\n return element ? !hasClass(element, 'p-disabled') : true;\n });\n\n const newIndex = index === -1 ? filteredItems[0].id : index;\n\n let matchedOptionIndex = filteredItems.findIndex((link) => link.getAttribute('id') === newIndex);\n\n matchedOptionIndex = index === -1 ? 0 : matchedOptionIndex + 1;\n\n return matchedOptionIndex;\n };\n\n const getItemStyle = (index: number) => {\n const transitionDelay = calculateTransitionDelay(index);\n const pointStyle = calculatePointStyle(index);\n\n return {\n transitionDelay: `${transitionDelay}ms`,\n ...pointStyle\n };\n };\n\n return {\n state,\n //refs\n listRef,\n // methods\n registerItem,\n getItemStyle,\n onBlur,\n onKeyDown,\n onClick,\n onTogglerKeydown,\n onItemClick,\n onItemKeyDown\n };\n }\n});\n","import type { useSpeedDialProps } from '@primereact/types/shared/speeddial';\n\nexport const defaultProps: useSpeedDialProps = {\n visible: false,\n defaultVisible: false,\n direction: 'up',\n transitionDelay: 30,\n type: 'linear',\n radius: 0,\n hideOnClickOutside: true,\n onVisibleChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","useMountEffect","useUnmountEffect","useUpdateEffect","$dt","find","findSingle","focus","hasClass","React","defaultProps","useSpeedDial","withHeadless","defaultProps","props","elementRef","_a","_b","listRef","visibleState","setVisibleState","focusedOptionIndex","setFocusedOptionIndex","isItemClicked","itemCounter","Math_PI","state","registerItem","index","useMountEffect","button","findSingle","firstItem","wDiff","hDiff","$dt","useUpdateEffect","bindDocumentClickListener","unbindDocumentClickListener","useUnmountEffect","useEventListener","event","isOutsideClicked","hide","onBlur","onItemClick","onItemKeyDown","onClick","show","calculateTransitionDelay","length","calculatePointStyle","type","radius","step","direction","x","y","onTogglerKeydown","onTogglerArrowDown","onTogglerArrowUp","onEscapeKey","onKeyDown","onArrowDown","onArrowUp","onArrowLeft","onArrowRight","onEnterKey","onHomeKey","onEndKey","navigatePrevItem","navigateNextItem","buttonEl","focus","leftValidDirections","rightValidDirections","optionIndex","findNextOptionIndex","changeFocusedOptionIndex","findPrevOptionIndex","filteredItems","find","item","element","hasClass","idAttr","newIndex","matchedOptionIndex","link","transitionDelay","pointStyle","__spreadValues"]}
File without changes