@primereact/headless 11.0.0-rc.1 → 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 (279) hide show
  1. package/accordion/index.mjs +1 -2
  2. package/animateonscroll/index.mjs +1 -2
  3. package/autocomplete/index.mjs +1 -2
  4. package/avatar/index.mjs +1 -2
  5. package/avatargroup/index.mjs +0 -1
  6. package/badge/index.mjs +1 -2
  7. package/breadcrumb/index.mjs +0 -1
  8. package/button/index.mjs +0 -1
  9. package/card/index.mjs +0 -1
  10. package/carousel/index.mjs +1 -2
  11. package/carousel/useCarousel.d.ts +28 -15
  12. package/checkbox/index.mjs +1 -2
  13. package/checkboxgroup/index.mjs +1 -2
  14. package/chip/index.mjs +1 -2
  15. package/collapsible/index.mjs +1 -2
  16. package/compare/index.mjs +1 -2
  17. package/contextmenu/index.mjs +1 -2
  18. package/contextmenu/submenu/index.mjs +0 -1
  19. package/datatable/features/index.mjs +8 -9
  20. package/datatable/features/useDataTableExport.d.ts +1 -1
  21. package/datatable/features/useDataTableKeyboard.d.ts +1 -1
  22. package/datatable/features/useDataTableSelection.d.ts +4 -4
  23. package/datatable/index.mjs +8 -9
  24. package/datatable/useDataTable.d.ts +2 -2
  25. package/datatable/utils/index.mjs +0 -1
  26. package/dataview/index.mjs +1 -2
  27. package/datepicker/index.mjs +1 -2
  28. package/dialog/index.mjs +1 -2
  29. package/dialog/useDialog.d.ts +12 -12
  30. package/divider/index.mjs +0 -1
  31. package/divider/useDivider.d.ts +1 -1
  32. package/dnd/index.mjs +1 -2
  33. package/drawer/index.mjs +1 -2
  34. package/fieldset/index.mjs +1 -2
  35. package/fileupload/index.mjs +1 -2
  36. package/fileupload/useFileUpload.d.ts +3 -0
  37. package/floatlabel/index.mjs +0 -1
  38. package/fluid/index.mjs +0 -1
  39. package/focustrap/index.mjs +1 -2
  40. package/gallery/index.mjs +1 -2
  41. package/gallery/item/index.mjs +1 -2
  42. package/gallery/useGallery.d.ts +17 -9
  43. package/iconfield/index.mjs +0 -1
  44. package/iftalabel/index.mjs +0 -1
  45. package/inplace/index.mjs +1 -2
  46. package/inplace/useInplace.d.ts +18 -6
  47. package/inputcolor/colorManager.d.ts +1 -1
  48. package/inputcolor/index.mjs +1 -2
  49. package/inputgroup/index.mjs +0 -1
  50. package/inputnumber/index.mjs +1 -2
  51. package/inputotp/index.mjs +1 -2
  52. package/inputpassword/index.mjs +1 -2
  53. package/inputtags/index.mjs +1 -2
  54. package/inputtext/index.mjs +1 -2
  55. package/knob/index.mjs +1 -2
  56. package/label/index.mjs +0 -1
  57. package/listbox/index.mjs +1 -2
  58. package/menu/checkboxitem/index.mjs +1 -2
  59. package/menu/index.mjs +1 -2
  60. package/menu/radioitem/index.mjs +1 -2
  61. package/menu/submenu/index.mjs +1 -2
  62. package/message/index.mjs +1 -2
  63. package/metergroup/index.mjs +1 -2
  64. package/navigationmenu/index.mjs +1 -2
  65. package/orderlist/index.mjs +1 -2
  66. package/orderlist/useOrderList.d.ts +1 -0
  67. package/organizationchart/index.mjs +1 -2
  68. package/overlaybadge/index.mjs +0 -1
  69. package/package.json +9 -7
  70. package/paginator/index.mjs +1 -2
  71. package/paginator/usePaginator.d.ts +1 -1
  72. package/panel/index.mjs +1 -2
  73. package/picklist/index.mjs +1 -2
  74. package/popover/index.mjs +1 -2
  75. package/portal/index.mjs +0 -1
  76. package/positioner/index.mjs +1 -2
  77. package/positioner/usePositioner.anchor.d.ts +2 -2
  78. package/positioner/usePositioner.fallback.d.ts +2 -2
  79. package/progressbar/index.mjs +1 -2
  80. package/progressspinner/index.mjs +1 -2
  81. package/radiobutton/index.mjs +1 -2
  82. package/radiobuttongroup/index.mjs +1 -2
  83. package/rating/index.mjs +1 -2
  84. package/scrollarea/index.mjs +1 -2
  85. package/scrollarea/useScrollArea.d.ts +1 -1
  86. package/select/index.mjs +1 -2
  87. package/sidebar/index.mjs +1 -2
  88. package/sidebar/useSidebar.d.ts +30 -4
  89. package/sidebar/useSidebarLayout.d.ts +4 -4
  90. package/sidebar/useSidebarMenuItem.d.ts +0 -1
  91. package/skeleton/index.mjs +0 -1
  92. package/slider/index.mjs +1 -2
  93. package/speeddial/index.mjs +1 -2
  94. package/splitter/index.mjs +1 -2
  95. package/stepper/index.mjs +1 -2
  96. package/styleclass/index.mjs +1 -2
  97. package/tabs/index.mjs +1 -2
  98. package/tag/index.mjs +0 -1
  99. package/terminal/index.mjs +1 -2
  100. package/textarea/index.mjs +1 -2
  101. package/timeline/index.mjs +0 -1
  102. package/toast/index.mjs +1 -2
  103. package/toaster/index.mjs +1 -2
  104. package/togglebutton/index.mjs +1 -2
  105. package/togglebuttongroup/index.mjs +1 -2
  106. package/toggleswitch/index.mjs +1 -2
  107. package/toolbar/index.mjs +0 -1
  108. package/tooltip/index.mjs +1 -2
  109. package/tooltipmanager/index.mjs +1 -2
  110. package/tree/index.mjs +1 -2
  111. package/tree/useTree.d.ts +4 -4
  112. package/tree/useTreeDragDrop.d.ts +2 -2
  113. package/tree/useTreeFlatten.d.ts +1 -1
  114. package/tree/useTreeSelection.d.ts +3 -3
  115. package/accordion/index.mjs.map +0 -1
  116. package/accordion/useAccordion.test.d.ts +0 -0
  117. package/animateonscroll/index.mjs.map +0 -1
  118. package/animateonscroll/useAnimateOnScroll.test.d.ts +0 -0
  119. package/autocomplete/index.mjs.map +0 -1
  120. package/autocomplete/useAutoComplete.test.d.ts +0 -0
  121. package/avatar/index.mjs.map +0 -1
  122. package/avatar/useAvatar.test.d.ts +0 -0
  123. package/avatargroup/index.mjs.map +0 -1
  124. package/badge/index.mjs.map +0 -1
  125. package/badge/useBadge.test.d.ts +0 -0
  126. package/breadcrumb/index.mjs.map +0 -1
  127. package/breadcrumb/useBreadcrumb.test.d.ts +0 -0
  128. package/button/index.mjs.map +0 -1
  129. package/button/useButton.test.d.ts +0 -0
  130. package/card/index.mjs.map +0 -1
  131. package/card/useCard.test.d.ts +0 -0
  132. package/carousel/index.mjs.map +0 -1
  133. package/carousel/useCarousel.test.d.ts +0 -0
  134. package/checkbox/index.mjs.map +0 -1
  135. package/checkbox/useCheckbox.test.d.ts +0 -0
  136. package/checkboxgroup/index.mjs.map +0 -1
  137. package/checkboxgroup/useCheckboxGroup.test.d.ts +0 -0
  138. package/chip/index.mjs.map +0 -1
  139. package/chip/useChip.test.d.ts +0 -0
  140. package/collapsible/index.mjs.map +0 -1
  141. package/collapsible/useCollapsible.test.d.ts +0 -0
  142. package/compare/index.mjs.map +0 -1
  143. package/compare/useCompare.test.d.ts +0 -0
  144. package/contextmenu/index.mjs.map +0 -1
  145. package/contextmenu/submenu/index.mjs.map +0 -1
  146. package/contextmenu/useContextMenu.test.d.ts +0 -0
  147. package/datatable/features/index.mjs.map +0 -1
  148. package/datatable/index.mjs.map +0 -1
  149. package/datatable/utils/index.mjs.map +0 -1
  150. package/dataview/index.mjs.map +0 -1
  151. package/dataview/useDataView.test.d.ts +0 -0
  152. package/datepicker/index.mjs.map +0 -1
  153. package/datepicker/useDatePicker.test.d.ts +0 -0
  154. package/dialog/index.mjs.map +0 -1
  155. package/dialog/useDialog.test.d.ts +0 -0
  156. package/divider/index.mjs.map +0 -1
  157. package/divider/useDivider.test.d.ts +0 -0
  158. package/dnd/index.mjs.map +0 -1
  159. package/drawer/index.mjs.map +0 -1
  160. package/drawer/useDrawer.test.d.ts +0 -0
  161. package/fieldset/index.mjs.map +0 -1
  162. package/fieldset/useFieldset.test.d.ts +0 -0
  163. package/fileupload/index.mjs.map +0 -1
  164. package/fileupload/useFileUpload.test.d.ts +0 -0
  165. package/floatlabel/index.mjs.map +0 -1
  166. package/floatlabel/useFloatLabel.test.d.ts +0 -0
  167. package/fluid/index.mjs.map +0 -1
  168. package/fluid/useFluid.test.d.ts +0 -0
  169. package/focustrap/index.mjs.map +0 -1
  170. package/focustrap/useFocusTrap.test.d.ts +0 -0
  171. package/gallery/index.mjs.map +0 -1
  172. package/gallery/item/index.mjs.map +0 -1
  173. package/gallery/useGallery.test.d.ts +0 -0
  174. package/iconfield/index.mjs.map +0 -1
  175. package/iconfield/useIconField.test.d.ts +0 -0
  176. package/iftalabel/index.mjs.map +0 -1
  177. package/iftalabel/useIftaLabel.test.d.ts +0 -0
  178. package/inplace/index.mjs.map +0 -1
  179. package/inplace/useInplace.test.d.ts +0 -0
  180. package/inputcolor/index.mjs.map +0 -1
  181. package/inputcolor/useInputColor.test.d.ts +0 -0
  182. package/inputgroup/index.mjs.map +0 -1
  183. package/inputgroup/useInputGroup.test.d.ts +0 -0
  184. package/inputnumber/index.mjs.map +0 -1
  185. package/inputnumber/useInputNumber.test.d.ts +0 -0
  186. package/inputotp/index.mjs.map +0 -1
  187. package/inputotp/useInputOtp.test.d.ts +0 -0
  188. package/inputpassword/index.mjs.map +0 -1
  189. package/inputpassword/useInputPassword.test.d.ts +0 -0
  190. package/inputtags/index.mjs.map +0 -1
  191. package/inputtags/useInputTags.test.d.ts +0 -0
  192. package/inputtext/index.mjs.map +0 -1
  193. package/inputtext/useInputText.test.d.ts +0 -0
  194. package/knob/index.mjs.map +0 -1
  195. package/knob/useKnob.test.d.ts +0 -0
  196. package/label/index.mjs.map +0 -1
  197. package/label/useLabel.test.d.ts +0 -0
  198. package/listbox/index.mjs.map +0 -1
  199. package/listbox/useListbox.test.d.ts +0 -0
  200. package/menu/checkboxitem/index.mjs.map +0 -1
  201. package/menu/index.mjs.map +0 -1
  202. package/menu/radioitem/index.mjs.map +0 -1
  203. package/menu/submenu/index.mjs.map +0 -1
  204. package/menu/useMenu.test.d.ts +0 -0
  205. package/message/index.mjs.map +0 -1
  206. package/message/useMessage.test.d.ts +0 -0
  207. package/metergroup/index.mjs.map +0 -1
  208. package/metergroup/useMeterGroup.test.d.ts +0 -0
  209. package/navigationmenu/index.mjs.map +0 -1
  210. package/navigationmenu/useNavigationMenu.test.d.ts +0 -0
  211. package/orderlist/index.mjs.map +0 -1
  212. package/organizationchart/index.mjs.map +0 -1
  213. package/organizationchart/useOrganizationChart.test.d.ts +0 -0
  214. package/overlaybadge/index.mjs.map +0 -1
  215. package/overlaybadge/useOverlayBadge.test.d.ts +0 -0
  216. package/paginator/index.mjs.map +0 -1
  217. package/paginator/usePaginator.test.d.ts +0 -0
  218. package/panel/index.mjs.map +0 -1
  219. package/panel/usePanel.test.d.ts +0 -0
  220. package/picklist/index.mjs.map +0 -1
  221. package/popover/index.mjs.map +0 -1
  222. package/popover/usePopover.test.d.ts +0 -0
  223. package/portal/index.mjs.map +0 -1
  224. package/portal/usePortal.test.d.ts +0 -0
  225. package/positioner/index.mjs.map +0 -1
  226. package/positioner/usePositioner.test.d.ts +0 -0
  227. package/progressbar/index.mjs.map +0 -1
  228. package/progressbar/useProgressBar.test.d.ts +0 -0
  229. package/progressspinner/index.mjs.map +0 -1
  230. package/radiobutton/index.mjs.map +0 -1
  231. package/radiobutton/useRadioButton.test.d.ts +0 -0
  232. package/radiobuttongroup/index.mjs.map +0 -1
  233. package/radiobuttongroup/useRadioButtonGroup.test.d.ts +0 -0
  234. package/rating/index.mjs.map +0 -1
  235. package/scrollarea/index.mjs.map +0 -1
  236. package/scrollarea/useScrollArea.test.d.ts +0 -0
  237. package/select/index.mjs.map +0 -1
  238. package/select/useSelect.test.d.ts +0 -1
  239. package/sidebar/index.mjs.map +0 -1
  240. package/skeleton/index.mjs.map +0 -1
  241. package/skeleton/useSkeleton.test.d.ts +0 -0
  242. package/slider/index.mjs.map +0 -1
  243. package/slider/useSlider.test.d.ts +0 -0
  244. package/speeddial/index.mjs.map +0 -1
  245. package/speeddial/useSpeedDial.test.d.ts +0 -0
  246. package/splitter/index.mjs.map +0 -1
  247. package/splitter/useSplitter.test.d.ts +0 -0
  248. package/stepper/index.mjs.map +0 -1
  249. package/stepper/useStepper.test.d.ts +0 -0
  250. package/styleclass/index.mjs.map +0 -1
  251. package/styleclass/useStyleClass.test.d.ts +0 -0
  252. package/tabs/index.mjs.map +0 -1
  253. package/tabs/useTabs.test.d.ts +0 -0
  254. package/tag/index.mjs.map +0 -1
  255. package/tag/useTag.test.d.ts +0 -0
  256. package/terminal/index.mjs.map +0 -1
  257. package/terminal/useTerminal.test.d.ts +0 -0
  258. package/textarea/index.mjs.map +0 -1
  259. package/textarea/useTextarea.test.d.ts +0 -0
  260. package/timeline/index.mjs.map +0 -1
  261. package/timeline/useTimeline.test.d.ts +0 -0
  262. package/toast/index.mjs.map +0 -1
  263. package/toast/useToast.test.d.ts +0 -0
  264. package/toaster/index.mjs.map +0 -1
  265. package/toaster/useToaster.test.d.ts +0 -0
  266. package/togglebutton/index.mjs.map +0 -1
  267. package/togglebutton/useToggle.test.d.ts +0 -0
  268. package/togglebuttongroup/index.mjs.map +0 -1
  269. package/togglebuttongroup/useToggleButtonGroup.test.d.ts +0 -0
  270. package/toggleswitch/index.mjs.map +0 -1
  271. package/toggleswitch/useToggleSwitch.test.d.ts +0 -0
  272. package/toolbar/index.mjs.map +0 -1
  273. package/toolbar/useToolbar.test.d.ts +0 -0
  274. package/tooltip/index.mjs.map +0 -1
  275. package/tooltip/useTooltip.test.d.ts +0 -0
  276. package/tooltipmanager/index.mjs.map +0 -1
  277. package/tooltipmanager/useTooltipManager.test.d.ts +0 -0
  278. package/tree/index.mjs.map +0 -1
  279. package/tree/useTree.test.d.ts +0 -0
@@ -1,2 +1 @@
1
- var we=Object.defineProperty;var Ie=Object.getOwnPropertySymbols;var ke=Object.prototype.hasOwnProperty,Ee=Object.prototype.propertyIsEnumerable;var ye=(h,e,o)=>e in h?we(h,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):h[e]=o,E=(h,e)=>{for(var o in e||(e={}))ke.call(e,o)&&ye(h,o,e[o]);if(Ie)for(var o of Ie(e))Ee.call(e,o)&&ye(h,o,e[o]);return h};import{arrayMove as De}from"@primereact/core/dnd";import{withHeadless as Ae}from"@primereact/core/headless";import*as H from"react";import{withHeadless as Te}from"@primereact/core/headless";import*as X from"react";var ve={onSort:void 0,onTransfer:void 0};var ge={dragging:!1,activeContainerId:null,currentContainerId:null,fromIndex:-1,projectedIndex:-1};function Le(h){let e=new Map,o=E({},ge),b=new Set,u=()=>{for(let w of b)w()};return{uid:h,containers:e,getState(){return o},subscribe(w){return b.add(w),()=>{b.delete(w)}},setState(w){o=E(E({},o),w),u()},onSort:void 0,onTransfer:void 0}}var Me=()=>()=>{},Re=Te({name:"useDnd",defaultProps:ve,setup({props:h}){let e=X.useId(),o=X.useRef(null);o.current||(o.current=Le(e));let b=o.current;b.onSort=h.onSort,b.onTransfer=h.onTransfer;let u=X.useCallback($=>b.subscribe($),[b]),w=X.useCallback(()=>b.getState(),[b]),v={dragging:X.useSyncExternalStore(b?u:Me,b?w:()=>ge,()=>ge).dragging},g=E({"data-scope":"dnd","data-part":"root"},v.dragging?{"data-dragging":""}:void 0);return{state:v,dnd:b,rootProps:g}}});import{withHeadless as Pe}from"@primereact/core/headless";import*as T from"react";import{flushSync as He}from"react-dom";var Ce={dnd:void 0,id:void 0,items:void 0,disabled:!1,placeholder:"empty",onSort:void 0};var J=h=>Array.from(h.querySelectorAll(":scope > [data-sortable-item]")),pe=Pe({name:"useSortableContainer",defaultProps:Ce,setup({props:h}){var W,de,ue;let e=h.dnd,o=h.id,b=(W=h.items)!=null?W:[],u=(de=h.disabled)!=null?de:!1,w=(ue=h.placeholder)!=null?ue:"clone",C=h.onSort,v=e?`${e.uid}_${o}`:String(o),g=T.useRef(null);T.useEffect(()=>{if(!(!e||o==null))return e.containers.set(o,{listRef:g,items:b}),()=>{e.containers.delete(o)}},[e,o]);let $=T.useRef(b);$.current=b,T.useEffect(()=>{if(e&&o!=null){let S=e.containers.get(o);S&&(S.items=b)}},[e,o,b]);let[Y,z]=T.useState(!1),K=T.useRef(0),L=T.useRef(null),ee=(S,d,i,k,x,q,_)=>{let B=q+_,n=J(S);for(let s=0;s<n.length;s++){let r=s<d?s:s+1,c=0;d<i?r>d&&r<=i&&(c=-B):d>i&&r>=i&&r<d&&(c=B),n[s].style.transform=c?`translateY(${c}px)`:""}x.style.transform=i!==d?`translateY(${(i-d)*B}px)`:""},te=S=>{if(S)for(let d of J(S))d.style.transform=""},ne=S=>{let d=J(S);return d.length>1?d[1].getBoundingClientRect().top-d[0].getBoundingClientRect().bottom:4},se=(S,d)=>{let i=S.cloneNode(!0);return i.setAttribute("inert","true"),i.removeAttribute("data-sortable-item"),i.removeAttribute("data-sortable-container"),i.style.position="fixed",i.style.zIndex="9999",i.style.pointerEvents="none",i.style.width=`${d.width}px`,i.style.height=`${d.height}px`,i.style.left=`${d.left}px`,i.style.top=`${d.top}px`,i.style.margin="0",i.style.transform="translate(0px, 0px)",i.style.transition="none",i.style.opacity="0.9",i.style.boxShadow="0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)",document.body.appendChild(i),i},ie=()=>{if(e){for(let[S,d]of e.containers)if(!d.listRef.current||!d.listRef.current.isConnected){let i=`${e.uid}_${S}`,k=document.querySelector(`[data-sortable-list="${i}"]`);k&&(d.listRef.current=k)}}},ae=S=>u?{"data-sortable-item":"","data-sortable-container":String(o)}:{"data-sortable-item":"","data-sortable-container":String(o),onPointerDown:d=>{if(d.button!==0||u)return;let i=d.currentTarget,k=i.parentElement;if(k&&(g.current=k,e&&o!=null)){let t=e.containers.get(o);t&&(t.listRef.current=k)}ie();let x=i.getBoundingClientRect(),q=d.clientX,_=d.clientY,B=!1,n=o,s=e?e.containers.size>1:!1,r=new Map;if(e)for(let[t,R]of e.containers)r.set(t,[...R.items]);else r.set(o,[...$.current]);let c=q,p=_,f=()=>{var Q,G,D,N,re,he,be;let t=L.current;if(!t)return;let R=t.originContainerId;if(s&&e)for(let[y,O]of e.containers){if(!O.listRef.current||!O.listRef.current.isConnected){let Se=`${e.uid}_${y}`,fe=document.querySelector(`[data-sortable-list="${Se}"]`);fe&&(O.listRef.current=fe)}let A=(Q=O.listRef.current)==null?void 0:Q.getBoundingClientRect();if(A&&c>=A.left&&c<=A.right&&p>=A.top&&p<=A.bottom){R=y;break}}let I=s&&e?(G=e.containers.get(R))==null?void 0:G.listRef.current:g.current;if(!I)return;let M=s&&e?(D=e.containers.get(t.originContainerId))==null?void 0:D.listRef.current:g.current,U=((N=M==null?void 0:M.scrollTop)!=null?N:0)-t.startScrollTop,Z=p-t.startY,j=t.itemHeight+t.gap,P=(re=t.itemsAtStart.get(R))!=null?re:[],m;if(R===t.originContainerId)m=t.fromIndex+Math.round((Z+U)/j),m=Math.max(0,Math.min(P.length-1,m));else{let y=I.getBoundingClientRect(),O=parseFloat(getComputedStyle(I).paddingTop)||0,A=p-y.top-O;m=Math.round(A/j),m=Math.max(0,Math.min(P.length,m))}let l=R!==t.currentContainerId;if(l||m!==t.projectedIndex){if(l&&e){let y=(he=e.containers.get(t.currentContainerId))==null?void 0:he.listRef.current;y&&te(y)}if(t.currentContainerId=R,t.projectedIndex=m,e&&e.setState({currentContainerId:R,projectedIndex:m}),R===t.originContainerId)l&&((be=t.node.parentElement)==null||be.insertBefore(t.clone,t.node)),t.clone.style.height=`${t.itemHeight}px`,t.clone.style.overflow="",ee(I,t.fromIndex,m,t.node,t.clone,t.itemHeight,t.gap);else{let y=J(I),O=y.length>=2?y[1].getBoundingClientRect().top-y[0].getBoundingClientRect().top:t.itemHeight+t.gap;l&&(document.body.appendChild(t.clone),t.clone.style.position="fixed",t.clone.style.height=`${t.itemHeight}px`,t.clone.style.overflow="hidden",t.clone.style.transform="",t.clone.style.margin="0",t.clone.style.zIndex="9998",t.clone.style.pointerEvents="none",t.clone.style.boxSizing="border-box",I.style.position="");let A=I.getBoundingClientRect(),Se=I.scrollTop,fe=parseFloat(getComputedStyle(I).paddingTop)||0,me;if(y.length===0)me=A.top+fe;else if(m<y.length)me=y[m].getBoundingClientRect().top;else{let V=y[y.length-1];me=V.getBoundingClientRect().bottom+(O-V.getBoundingClientRect().height)}t.clone.style.top=`${me}px`,t.clone.style.left=`${A.left}px`,t.clone.style.width=`${A.width}px`,t.clone.style.transform="";for(let V=0;V<y.length;V++)y[V].style.transform=V>=m?`translateY(${O}px)`:""}}return I},a=t=>{var U,Z,j;let R=Math.sqrt((t.clientX-q)**2+(t.clientY-_)**2);if(!B&&R<5)return;if(!B){B=!0;let P=g.current,m=P?ne(P):4,l;w==="empty"?l=document.createElement(i.tagName):l=i.cloneNode(!0),l.setAttribute("inert","true"),l.setAttribute("data-sortable-placeholder",""),l.removeAttribute("data-sortable-item"),l.removeAttribute("data-sortable-container"),l.style.width=`${x.width}px`,l.style.height=`${x.height}px`,l.style.flexShrink="0",l.style.transition="transform 200ms ease, opacity 150ms ease",l.style.opacity="0",(U=i.parentElement)==null||U.insertBefore(l,i),requestAnimationFrame(()=>{l.style.opacity="1"}),(Z=g.current)==null||Z.blur();let Q=se(i,x);i.setAttribute("data-dragging",""),i.removeAttribute("data-sortable-item"),i.style.position="absolute",i.style.visibility="hidden",i.style.pointerEvents="none";let G=i.parentElement;if(G)for(let D of J(G))D!==i&&(D.style.pointerEvents="none",D.style.transition="transform 200ms ease");if(e){for(let[D,N]of e.containers)if(D!==n&&N.listRef.current)for(let re of J(N.listRef.current))re.style.pointerEvents="none",re.style.transition="transform 200ms ease"}L.current={startX:q,startY:_,startScrollTop:(j=P==null?void 0:P.scrollTop)!=null?j:0,node:i,ghost:Q,clone:l,itemHeight:x.height,gap:m,fromIndex:S,projectedIndex:S,originContainerId:n,currentContainerId:n,itemsAtStart:r},z(!0),e&&e.setState({dragging:!0,activeContainerId:n,currentContainerId:n,fromIndex:S,projectedIndex:S})}let I=L.current;if(!I)return;c=t.clientX,p=t.clientY,I.ghost.style.transform=`translate(${t.clientX-I.startX}px, ${t.clientY-I.startY}px)`;let M=f();if(cancelAnimationFrame(K.current),M){let l=()=>{let Q=M.getBoundingClientRect(),G=p-Q.top,D=Q.bottom-p,N=!1;G>0&&G<40?(M.scrollTop-=8,N=!0):D>0&&D<40&&(M.scrollTop+=8,N=!0),N&&(L.current&&(L.current.projectedIndex=-1),f(),K.current=requestAnimationFrame(l))};l()}},F=()=>{document.removeEventListener("pointermove",a),document.removeEventListener("pointerup",F),cancelAnimationFrame(K.current);let t=L.current;if(!t)return;let R=t.currentContainerId!==t.originContainerId,I=!1,M=()=>{var P;if(I)return;I=!0,t.ghost.removeEventListener("transitionend",M),cancelAnimationFrame(K.current),t.ghost.remove(),t.clone.remove();let U=[];if(e&&e.containers.size>1)for(let[,m]of e.containers)m.listRef.current&&U.push(m.listRef.current);else g.current&&U.push(g.current);t.node.style.position="",t.node.removeAttribute("data-dragging"),t.node.setAttribute("data-sortable-item","");for(let m of U)for(let l of J(m))l.style.transition="none",l.style.transform="",l.style.pointerEvents="";He(()=>{var m;R?(m=e==null?void 0:e.onTransfer)==null||m.call(e,{from:{containerId:t.originContainerId,index:t.fromIndex},to:{containerId:t.currentContainerId,index:t.projectedIndex}}):t.fromIndex!==t.projectedIndex&&(e!=null&&e.onSort?e.onSort({containerId:t.originContainerId,fromIndex:t.fromIndex,toIndex:t.projectedIndex}):C&&C({containerId:t.originContainerId,fromIndex:t.fromIndex,toIndex:t.projectedIndex}))});for(let m of U){m.offsetHeight;for(let l of J(m))l.style.transition="",l.style.visibility="",l.style.pointerEvents=""}L.current=null,z(!1),e&&e.setState({dragging:!1,activeContainerId:null,currentContainerId:null,fromIndex:-1,projectedIndex:-1});let Z=R?t.currentContainerId:t.originContainerId,j=s&&e?(P=e.containers.get(Z))==null?void 0:P.listRef.current:g.current;j&&(j.dataset.dndFocusIndex=String(t.projectedIndex),j.focus(),delete j.dataset.dndFocusIndex)};t.ghost.style.transition="opacity 150ms ease-out",t.ghost.style.opacity="0",t.ghost.addEventListener("transitionend",M,{once:!0}),setTimeout(()=>{L.current===t&&M()},200)};document.addEventListener("pointermove",a),document.addEventListener("pointerup",F)}},ce={dragging:Y},le=T.useMemo(()=>E(E({"data-scope":"dnd","data-part":"sortable-container"},Y?{"data-active":""}:void 0),u?{"data-disabled":""}:void 0),[Y,u]),oe=T.useMemo(()=>({"data-sortable-list":v}),[v]);return{state:ce,getItemDndProps:ae,listProps:oe,rootProps:le}}});var xe={source:void 0,target:void 0,selection:void 0,disabled:!1,draggable:!1,placeholder:"empty",onChange:void 0,onSelectionChange:void 0};var Ze=Ae({name:"usePickList",defaultProps:xe,setup({id:h,props:e}){var q,_,B;let[o,b]=H.useState((q=e.source)!=null?q:[]),[u,w]=H.useState((_=e.target)!=null?_:[]);H.useEffect(()=>{e.source!==void 0&&b(e.source)},[e.source]),H.useEffect(()=>{e.target!==void 0&&w(e.target)},[e.target]);let C=(B=e.selection)!=null?B:[],v=H.useCallback(n=>C.indexOf(n)!==-1,[C]),g=(n,s,r)=>{var c;b(n),w(s),(c=e.onChange)==null||c.call(e,{originalEvent:r,source:n,target:s})},$=H.useRef(g);$.current=g;let Y=H.useRef(o),z=H.useRef(u);Y.current=o,z.current=u;let K=n=>{let s=new Set;for(let r of C){let c=n.indexOf(r);c!==-1&&s.add(c)}return s},L=(n,s)=>{if(C.length===0)return;let r=n==="source"?[...o]:[...u],c=K(r),p=[...c].sort((a,F)=>a-F),f=!1;for(let a of p)a>0&&!c.has(a-1)&&([r[a],r[a-1]]=[r[a-1],r[a]],c.delete(a),c.add(a-1),f=!0);f&&(n==="source"?g(r,u,s):g(o,r,s))},ee=(n,s)=>{if(C.length===0)return;let r=n==="source"?[...o]:[...u],c=K(r),p=[...c].sort((a,F)=>F-a),f=!1;for(let a of p)a<r.length-1&&!c.has(a+1)&&([r[a],r[a+1]]=[r[a+1],r[a]],c.delete(a),c.add(a+1),f=!0);f&&(n==="source"?g(r,u,s):g(o,r,s))},te=(n,s)=>{if(C.length===0)return;let r=n==="source"?o:u,c=r.filter(a=>v(a)),p=r.filter(a=>!v(a)),f=[...c,...p];n==="source"?g(f,u,s):g(o,f,s)},ne=(n,s)=>{if(C.length===0)return;let r=n==="source"?o:u,c=r.filter(a=>v(a)),f=[...r.filter(a=>!v(a)),...c];n==="source"?g(f,u,s):g(o,f,s)},se=n=>{var f;if(C.length===0)return;let s=o.filter(a=>v(a));if(s.length===0)return;let r=o.filter(a=>!v(a)),c=[...u,...s],p=C.filter(a=>!s.includes(a));g(r,c,n),(f=e.onSelectionChange)==null||f.call(e,{originalEvent:n,value:p})},ie=n=>{var f;if(C.length===0)return;let s=u.filter(a=>v(a));if(s.length===0)return;let r=u.filter(a=>!v(a)),c=[...o,...s],p=C.filter(a=>!s.includes(a));g(c,r,n),(f=e.onSelectionChange)==null||f.call(e,{originalEvent:n,value:p})},ae=n=>{var r;let s=[...u,...o];g([],s,n),(r=e.onSelectionChange)==null||r.call(e,{originalEvent:n,value:[]})},ce=n=>{var r;let s=[...o,...u];g(s,[],n),(r=e.onSelectionChange)==null||r.call(e,{originalEvent:n,value:[]})},{dnd:le}=Re({onSort:({containerId:n,fromIndex:s,toIndex:r})=>{let c=n,p=c==="source"?Y.current:z.current,f=De(p,s,r);c==="source"?$.current(f,z.current):$.current(Y.current,f)},onTransfer:({from:n,to:s})=>{let r=n.containerId,c=r==="source"?Y.current:z.current,p=s.containerId==="source"?Y.current:z.current,f=c[n.index],a=c.filter((t,R)=>R!==n.index),F=[...p];F.splice(s.index,0,f),r==="source"?$.current(a,F):$.current(F,a)}}),oe=pe({dnd:le,id:"source",items:o,disabled:e.disabled||!e.draggable,placeholder:e.placeholder}),W=pe({dnd:le,id:"target",items:u,disabled:e.disabled||!e.draggable,placeholder:e.placeholder}),de=oe.state.dragging||W.state.dragging,ue=(n,s,r)=>{let c=r==="source"?oe:W;return E(E({"data-scope":"picklist","data-part":"option"},v(n)?{"data-selected":""}:{}),c.getItemDndProps(s))},S=o.filter(n=>v(n)),d=u.filter(n=>v(n)),i=S.length>0,k=d.length>0,x=(n,s,r,c,p)=>({"data-scope":"picklist","data-part":`${n}-${s}`,type:"button",disabled:e.disabled||!p,"aria-label":r,onClick:f=>c(n,f)});return{state:{source:o,target:u,selection:C,dragging:de},getOptionProps:ue,moveToTarget:se,moveToSource:ie,moveAllToTarget:ae,moveAllToSource:ce,reorderUp:L,reorderDown:ee,reorderTop:te,reorderBottom:ne,rootProps:{id:h,"data-scope":"picklist","data-part":"root"},sourceListProps:E({"data-scope":"picklist","data-part":"source-list"},oe.listProps),targetListProps:E({"data-scope":"picklist","data-part":"target-list"},W.listProps),sourceControlsProps:{"data-scope":"picklist","data-part":"source-controls"},targetControlsProps:{"data-scope":"picklist","data-part":"target-controls"},moveToTargetProps:{"data-scope":"picklist","data-part":"move-to-target",type:"button",disabled:e.disabled||!i,"aria-label":"Move to Target",onClick:n=>se(n)},moveAllToTargetProps:{"data-scope":"picklist","data-part":"move-all-to-target",type:"button",disabled:e.disabled||o.length===0,"aria-label":"Move All to Target",onClick:n=>ae(n)},moveToSourceProps:{"data-scope":"picklist","data-part":"move-to-source",type:"button",disabled:e.disabled||!k,"aria-label":"Move to Source",onClick:n=>ie(n)},moveAllToSourceProps:{"data-scope":"picklist","data-part":"move-all-to-source",type:"button",disabled:e.disabled||u.length===0,"aria-label":"Move All to Source",onClick:n=>ce(n)},sourcePrevProps:x("source","prev","Move Up",L,i),sourceNextProps:x("source","next","Move Down",ee,i),sourceFirstProps:x("source","first","Move Top",te,i),sourceLastProps:x("source","last","Move Bottom",ne,i),targetPrevProps:x("target","prev","Move Up",L,k),targetNextProps:x("target","next","Move Down",ee,k),targetFirstProps:x("target","first","Move Top",te,k),targetLastProps:x("target","last","Move Bottom",ne,k)}}});export{xe as defaultProps,Ze as usePickList};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{arrayMove as be}from"@primereact/core/dnd";import{withHeadless as Se}from"@primereact/core/headless";import*as P from"react";import{withHeadless as fe}from"@primereact/core/headless";import*as N from"react";var ce={onSort:void 0,onTransfer:void 0};var se={dragging:!1,activeContainerId:null,currentContainerId:null,fromIndex:-1,projectedIndex:-1};function me(x){let t=new Map,i={...se},b=new Set,u=()=>{for(let k of b)k()};return{uid:x,containers:t,getState(){return i},subscribe(k){return b.add(k),()=>{b.delete(k)}},setState(k){i={...i,...k},u()},onSort:void 0,onTransfer:void 0}}var ge=()=>()=>{},le=fe({name:"useDnd",defaultProps:ce,setup({props:x}){let t=N.useId(),i=N.useRef(null);i.current||(i.current=me(t));let b=i.current;b.onSort=x.onSort,b.onTransfer=x.onTransfer;let u=N.useCallback(B=>b.subscribe(B),[b]),k=N.useCallback(()=>b.getState(),[b]),y={dragging:N.useSyncExternalStore(b?u:ge,b?k:()=>se,()=>se).dragging},m={"data-scope":"dnd","data-part":"root",...y.dragging?{"data-dragging":""}:void 0};return{state:y,dnd:b,rootProps:m}}});import{withHeadless as pe}from"@primereact/core/headless";import*as T from"react";import{flushSync as he}from"react-dom";var de={dnd:void 0,id:void 0,items:void 0,disabled:!1,placeholder:"empty",onSort:void 0};var z=x=>Array.from(x.querySelectorAll(":scope > [data-sortable-item]")),ie=pe({name:"useSortableContainer",defaultProps:de,setup({props:x}){let t=x.dnd,i=x.id,b=x.items??[],u=x.disabled??!1,k=x.placeholder??"clone",R=x.onSort,y=t?`${t.uid}_${i}`:String(i),m=T.useRef(null);T.useEffect(()=>{if(!(!t||i==null))return t.containers.set(i,{listRef:m,items:b}),()=>{t.containers.delete(i)}},[t,i]);let B=T.useRef(b);B.current=b,T.useEffect(()=>{if(t&&i!=null){let S=t.containers.get(i);S&&(S.items=b)}},[t,i,b]);let[j,O]=T.useState(!1),q=T.useRef(0),L=T.useRef(null),V=(S,d,s,Y,X,H,D)=>{let C=H+D,n=z(S);for(let o=0;o<n.length;o++){let r=o<d?o:o+1,a=0;d<s?r>d&&r<=s&&(a=-C):d>s&&r>=s&&r<d&&(a=C),n[o].style.transform=a?`translateY(${a}px)`:""}X.style.transform=s!==d?`translateY(${(s-d)*C}px)`:""},J=S=>{if(S)for(let d of z(S))d.style.transform=""},K=S=>{let d=z(S);return d.length>1?d[1].getBoundingClientRect().top-d[0].getBoundingClientRect().bottom:4},W=(S,d)=>{let s=S.cloneNode(!0);return s.setAttribute("inert","true"),s.removeAttribute("data-sortable-item"),s.removeAttribute("data-sortable-container"),s.style.position="fixed",s.style.zIndex="9999",s.style.pointerEvents="none",s.style.width=`${d.width}px`,s.style.height=`${d.height}px`,s.style.left=`${d.left}px`,s.style.top=`${d.top}px`,s.style.margin="0",s.style.transform="translate(0px, 0px)",s.style.transition="none",s.style.opacity="0.9",s.style.boxShadow="0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)",document.body.appendChild(s),s},Z=()=>{if(t){for(let[S,d]of t.containers)if(!d.listRef.current||!d.listRef.current.isConnected){let s=`${t.uid}_${S}`,Y=document.querySelector(`[data-sortable-list="${s}"]`);Y&&(d.listRef.current=Y)}}},ee=S=>u?{"data-sortable-item":"","data-sortable-container":String(i)}:{"data-sortable-item":"","data-sortable-container":String(i),onPointerDown:d=>{if(d.button!==0||u)return;let s=d.currentTarget,Y=s.parentElement;if(Y&&(m.current=Y,t&&i!=null)){let e=t.containers.get(i);e&&(e.listRef.current=Y)}Z();let X=s.getBoundingClientRect(),H=d.clientX,D=d.clientY,C=!1,n=i,o=t?t.containers.size>1:!1,r=new Map;if(t)for(let[e,v]of t.containers)r.set(e,[...v.items]);else r.set(i,[...B.current]);let a=H,h=D,l=()=>{let e=L.current;if(!e)return;let v=e.originContainerId;if(o&&t)for(let[p,M]of t.containers){if(!M.listRef.current||!M.listRef.current.isConnected){let ae=`${t.uid}_${p}`,oe=document.querySelector(`[data-sortable-list="${ae}"]`);oe&&(M.listRef.current=oe)}let $=M.listRef.current?.getBoundingClientRect();if($&&a>=$.left&&a<=$.right&&h>=$.top&&h<=$.bottom){v=p;break}}let I=o&&t?t.containers.get(v)?.listRef.current:m.current;if(!I)return;let A=((o&&t?t.containers.get(e.originContainerId)?.listRef.current:m.current)?.scrollTop??0)-e.startScrollTop,G=h-e.startY,g=e.itemHeight+e.gap,w=e.itemsAtStart.get(v)??[],f;if(v===e.originContainerId)f=e.fromIndex+Math.round((G+A)/g),f=Math.max(0,Math.min(w.length-1,f));else{let p=I.getBoundingClientRect(),M=parseFloat(getComputedStyle(I).paddingTop)||0,$=h-p.top-M;f=Math.round($/g),f=Math.max(0,Math.min(w.length,f))}let E=v!==e.currentContainerId;if(E||f!==e.projectedIndex){if(E&&t){let p=t.containers.get(e.currentContainerId)?.listRef.current;p&&J(p)}if(e.currentContainerId=v,e.projectedIndex=f,t&&t.setState({currentContainerId:v,projectedIndex:f}),v===e.originContainerId)E&&e.node.parentElement?.insertBefore(e.clone,e.node),e.clone.style.height=`${e.itemHeight}px`,e.clone.style.overflow="",V(I,e.fromIndex,f,e.node,e.clone,e.itemHeight,e.gap);else{let p=z(I),M=p.length>=2?p[1].getBoundingClientRect().top-p[0].getBoundingClientRect().top:e.itemHeight+e.gap;E&&(document.body.appendChild(e.clone),e.clone.style.position="fixed",e.clone.style.height=`${e.itemHeight}px`,e.clone.style.overflow="hidden",e.clone.style.transform="",e.clone.style.margin="0",e.clone.style.zIndex="9998",e.clone.style.pointerEvents="none",e.clone.style.boxSizing="border-box",I.style.position="");let $=I.getBoundingClientRect(),ae=I.scrollTop,oe=parseFloat(getComputedStyle(I).paddingTop)||0,re;if(p.length===0)re=$.top+oe;else if(f<p.length)re=p[f].getBoundingClientRect().top;else{let _=p[p.length-1];re=_.getBoundingClientRect().bottom+(M-_.getBoundingClientRect().height)}e.clone.style.top=`${re}px`,e.clone.style.left=`${$.left}px`,e.clone.style.width=`${$.width}px`,e.clone.style.transform="";for(let _=0;_<p.length;_++)p[_].style.transform=_>=f?`translateY(${M}px)`:""}}return I},c=e=>{let v=Math.sqrt((e.clientX-H)**2+(e.clientY-D)**2);if(!C&&v<5)return;if(!C){C=!0;let A=m.current,G=A?K(A):4,g;k==="empty"?g=document.createElement(s.tagName):g=s.cloneNode(!0),g.setAttribute("inert","true"),g.setAttribute("data-sortable-placeholder",""),g.removeAttribute("data-sortable-item"),g.removeAttribute("data-sortable-container"),g.style.width=`${X.width}px`,g.style.height=`${X.height}px`,g.style.flexShrink="0",g.style.transition="transform 200ms ease, opacity 150ms ease",g.style.opacity="0",s.parentElement?.insertBefore(g,s),requestAnimationFrame(()=>{g.style.opacity="1"}),m.current?.blur();let w=W(s,X);s.setAttribute("data-dragging",""),s.removeAttribute("data-sortable-item"),s.style.position="absolute",s.style.visibility="hidden",s.style.pointerEvents="none";let f=s.parentElement;if(f)for(let E of z(f))E!==s&&(E.style.pointerEvents="none",E.style.transition="transform 200ms ease");if(t){for(let[E,p]of t.containers)if(E!==n&&p.listRef.current)for(let M of z(p.listRef.current))M.style.pointerEvents="none",M.style.transition="transform 200ms ease"}L.current={startX:H,startY:D,startScrollTop:A?.scrollTop??0,node:s,ghost:w,clone:g,itemHeight:X.height,gap:G,fromIndex:S,projectedIndex:S,originContainerId:n,currentContainerId:n,itemsAtStart:r},O(!0),t&&t.setState({dragging:!0,activeContainerId:n,currentContainerId:n,fromIndex:S,projectedIndex:S})}let I=L.current;if(!I)return;a=e.clientX,h=e.clientY,I.ghost.style.transform=`translate(${e.clientX-I.startX}px, ${e.clientY-I.startY}px)`;let U=l();if(cancelAnimationFrame(q.current),U){let g=()=>{let w=U.getBoundingClientRect(),f=h-w.top,E=w.bottom-h,p=!1;f>0&&f<40?(U.scrollTop-=8,p=!0):E>0&&E<40&&(U.scrollTop+=8,p=!0),p&&(L.current&&(L.current.projectedIndex=-1),l(),q.current=requestAnimationFrame(g))};g()}},F=()=>{document.removeEventListener("pointermove",c),document.removeEventListener("pointerup",F),cancelAnimationFrame(q.current);let e=L.current;if(!e)return;let v=e.currentContainerId!==e.originContainerId,I=!1,U=()=>{if(I)return;I=!0,e.ghost.removeEventListener("transitionend",U),cancelAnimationFrame(q.current),e.ghost.remove(),e.clone.remove();let A=[];if(t&&t.containers.size>1)for(let[,w]of t.containers)w.listRef.current&&A.push(w.listRef.current);else m.current&&A.push(m.current);e.node.style.position="",e.node.removeAttribute("data-dragging"),e.node.setAttribute("data-sortable-item","");for(let w of A)for(let f of z(w))f.style.transition="none",f.style.transform="",f.style.pointerEvents="";he(()=>{v?t?.onTransfer?.({from:{containerId:e.originContainerId,index:e.fromIndex},to:{containerId:e.currentContainerId,index:e.projectedIndex}}):e.fromIndex!==e.projectedIndex&&(t?.onSort?t.onSort({containerId:e.originContainerId,fromIndex:e.fromIndex,toIndex:e.projectedIndex}):R&&R({containerId:e.originContainerId,fromIndex:e.fromIndex,toIndex:e.projectedIndex}))});for(let w of A){w.offsetHeight;for(let f of z(w))f.style.transition="",f.style.visibility="",f.style.pointerEvents=""}L.current=null,O(!1),t&&t.setState({dragging:!1,activeContainerId:null,currentContainerId:null,fromIndex:-1,projectedIndex:-1});let G=v?e.currentContainerId:e.originContainerId,g=o&&t?t.containers.get(G)?.listRef.current:m.current;g&&(g.dataset.dndFocusIndex=String(e.projectedIndex),g.focus(),delete g.dataset.dndFocusIndex)};e.ghost.style.transition="opacity 150ms ease-out",e.ghost.style.opacity="0",e.ghost.addEventListener("transitionend",U,{once:!0}),setTimeout(()=>{L.current===e&&U()},200)};document.addEventListener("pointermove",c),document.addEventListener("pointerup",F)}},te={dragging:j},ne=T.useMemo(()=>({"data-scope":"dnd","data-part":"sortable-container",...j?{"data-active":""}:void 0,...u?{"data-disabled":""}:void 0}),[j,u]),Q=T.useMemo(()=>({"data-sortable-list":y}),[y]);return{state:te,getItemDndProps:ee,listProps:Q,rootProps:ne}}});var ue={source:void 0,target:void 0,selection:void 0,disabled:!1,draggable:!1,placeholder:"empty",onValueChange:void 0,onSelectionChange:void 0};var Ae=Se({name:"usePickList",defaultProps:ue,setup({id:x,props:t}){let[i,b]=P.useState(t.source??[]),[u,k]=P.useState(t.target??[]);P.useEffect(()=>{t.source!==void 0&&b(t.source)},[t.source]),P.useEffect(()=>{t.target!==void 0&&k(t.target)},[t.target]);let R=t.selection??[],y=P.useCallback(n=>R.indexOf(n)!==-1,[R]),m=(n,o,r)=>{b(n),k(o),t.onValueChange?.({originalEvent:r,source:n,target:o})},B=P.useRef(m);B.current=m;let j=P.useRef(i),O=P.useRef(u);j.current=i,O.current=u;let q=n=>{let o=new Set;for(let r of R){let a=n.indexOf(r);a!==-1&&o.add(a)}return o},L=(n,o)=>{if(R.length===0)return;let r=n==="source"?[...i]:[...u],a=q(r),h=[...a].sort((c,F)=>c-F),l=!1;for(let c of h)c>0&&!a.has(c-1)&&([r[c],r[c-1]]=[r[c-1],r[c]],a.delete(c),a.add(c-1),l=!0);l&&(n==="source"?m(r,u,o):m(i,r,o))},V=(n,o)=>{if(R.length===0)return;let r=n==="source"?[...i]:[...u],a=q(r),h=[...a].sort((c,F)=>F-c),l=!1;for(let c of h)c<r.length-1&&!a.has(c+1)&&([r[c],r[c+1]]=[r[c+1],r[c]],a.delete(c),a.add(c+1),l=!0);l&&(n==="source"?m(r,u,o):m(i,r,o))},J=(n,o)=>{if(R.length===0)return;let r=n==="source"?i:u,a=r.filter(c=>y(c)),h=r.filter(c=>!y(c)),l=[...a,...h];n==="source"?m(l,u,o):m(i,l,o)},K=(n,o)=>{if(R.length===0)return;let r=n==="source"?i:u,a=r.filter(c=>y(c)),l=[...r.filter(c=>!y(c)),...a];n==="source"?m(l,u,o):m(i,l,o)},W=n=>{if(R.length===0)return;let o=i.filter(l=>y(l));if(o.length===0)return;let r=i.filter(l=>!y(l)),a=[...u,...o],h=R.filter(l=>!o.includes(l));m(r,a,n),t.onSelectionChange?.({originalEvent:n,value:h})},Z=n=>{if(R.length===0)return;let o=u.filter(l=>y(l));if(o.length===0)return;let r=u.filter(l=>!y(l)),a=[...i,...o],h=R.filter(l=>!o.includes(l));m(a,r,n),t.onSelectionChange?.({originalEvent:n,value:h})},ee=n=>{let o=[...u,...i];m([],o,n),t.onSelectionChange?.({originalEvent:n,value:[]})},te=n=>{let o=[...i,...u];m(o,[],n),t.onSelectionChange?.({originalEvent:n,value:[]})},{dnd:ne}=le({onSort:({containerId:n,fromIndex:o,toIndex:r})=>{let a=n,h=a==="source"?j.current:O.current,l=be(h,o,r);a==="source"?B.current(l,O.current):B.current(j.current,l)},onTransfer:({from:n,to:o})=>{let r=n.containerId,a=r==="source"?j.current:O.current,h=o.containerId==="source"?j.current:O.current,l=a[n.index],c=a.filter((e,v)=>v!==n.index),F=[...h];F.splice(o.index,0,l),r==="source"?B.current(c,F):B.current(F,c)}}),Q=ie({dnd:ne,id:"source",items:i,disabled:t.disabled||!t.draggable,placeholder:t.placeholder}),S=ie({dnd:ne,id:"target",items:u,disabled:t.disabled||!t.draggable,placeholder:t.placeholder}),d=Q.state.dragging||S.state.dragging,s=(n,o,r)=>{let a=r==="source"?Q:S;return{"data-scope":"picklist","data-part":"option",...y(n)?{"data-selected":""}:{},...a.getItemDndProps(o)}},Y=i.filter(n=>y(n)),X=u.filter(n=>y(n)),H=Y.length>0,D=X.length>0,C=(n,o,r,a,h)=>({"data-scope":"picklist","data-part":`${n}-${o}`,type:"button",disabled:t.disabled||!h,"aria-label":r,onClick:l=>a(n,l)});return{state:{source:i,target:u,selection:R,dragging:d},getOptionProps:s,moveToTarget:W,moveToSource:Z,moveAllToTarget:ee,moveAllToSource:te,reorderUp:L,reorderDown:V,reorderTop:J,reorderBottom:K,rootProps:{id:x,"data-scope":"picklist","data-part":"root"},sourceListProps:{"data-scope":"picklist","data-part":"source-list",...Q.listProps},targetListProps:{"data-scope":"picklist","data-part":"target-list",...S.listProps},sourceControlsProps:{"data-scope":"picklist","data-part":"source-controls"},targetControlsProps:{"data-scope":"picklist","data-part":"target-controls"},moveToTargetProps:{"data-scope":"picklist","data-part":"move-to-target",type:"button",disabled:t.disabled||!H,"aria-label":"Move to Target",onClick:n=>W(n)},moveAllToTargetProps:{"data-scope":"picklist","data-part":"move-all-to-target",type:"button",disabled:t.disabled||i.length===0,"aria-label":"Move All to Target",onClick:n=>ee(n)},moveToSourceProps:{"data-scope":"picklist","data-part":"move-to-source",type:"button",disabled:t.disabled||!D,"aria-label":"Move to Source",onClick:n=>Z(n)},moveAllToSourceProps:{"data-scope":"picklist","data-part":"move-all-to-source",type:"button",disabled:t.disabled||u.length===0,"aria-label":"Move All to Source",onClick:n=>te(n)},sourcePrevProps:C("source","prev","Move Up",L,H),sourceNextProps:C("source","next","Move Down",V,H),sourceFirstProps:C("source","first","Move Top",J,H),sourceLastProps:C("source","last","Move Bottom",K,H),targetPrevProps:C("target","prev","Move Up",L,D),targetNextProps:C("target","next","Move Down",V,D),targetFirstProps:C("target","first","Move Top",J,D),targetLastProps:C("target","last","Move Bottom",K,D)}}});export{ue as defaultProps,Ae as usePickList};
package/popover/index.mjs CHANGED
@@ -1,2 +1 @@
1
- var ce=Object.defineProperty;var U=Object.getOwnPropertySymbols;var le=Object.prototype.hasOwnProperty,se=Object.prototype.propertyIsEnumerable;var B=(r,c,s)=>c in r?ce(r,c,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[c]=s,L=(r,c)=>{for(var s in c||(c={}))le.call(c,s)&&B(r,s,c[s]);if(U)for(var s of U(c))se.call(c,s)&&B(r,s,c[s]);return r};import{withHeadless as ae}from"@primereact/core/headless";import{OverlayEventBus as K}from"@primereact/core/utils";import{useFocusTrap as ue}from"@primereact/headless/focustrap";import{useControlledState as ie}from"@primereact/hooks/use-controlled-state";import{useEventListener as V}from"@primereact/hooks/use-event-listener";import{focus as T,getFirstFocusableElement as fe,toElement as d}from"@primeuix/utils/dom";import*as o from"react";var I={anchor:void 0,defaultOpen:void 0,open:void 0,trapped:!1,autoFocus:!0,closeOnEscape:!0,onOpenChange:void 0,onExitComplete:void 0};var be=ae({name:"usePopover",defaultProps:I,setup:({props:r})=>{var x;let[c,s,k]=ie({value:r.open,defaultValue:r.defaultOpen,onChange:r.onOpenChange}),[j,b]=o.useState(!!c),[q,m]=o.useState((x=r.anchor)!=null?x:null),[z,G]=o.useState(null),[h,J]=o.useState(null),[Q,W]=o.useState(null),X={open:c,rendered:j,trapped:!!r.trapped,anchorElement:q,positionerElement:z,popupElement:h,arrowElement:Q},l=o.useRef(null),u=o.useRef(null),f=o.useRef(null),E=o.useRef(null),M=o.useRef(null),H=ue({trapped:!!r.trapped&&!!h,autoFocus:!1}),g=o.useCallback(t=>{var n;let e=(n=d(t))!=null?n:null;!e||e===l.current||(l.current=e,m(e||u.current))},[]),Y=o.useCallback(t=>{var n;let e=(n=d(t))!=null?n:null;if(e!==u.current){if(u.current=e,!e){l.current&&!l.current.isConnected&&(l.current=null,m(null));return}l.current||(l.current=e,m(e))}},[]),P=o.useCallback(t=>{var n;let e=(n=d(t))!=null?n:null;e!==f.current&&(f.current=e,G(e))},[]),F=o.useCallback(t=>{var n;let e=(n=d(t))!=null?n:null;e!==E.current&&(E.current=e,H.containerRef.current=e,J(e))},[]),O=o.useCallback(t=>{var n;let e=(n=d(t))!=null?n:null;e!==M.current&&(M.current=e,W(e))},[]),R=o.useRef(!1);function p(t,e){s([t,{originalEvent:e,value:t}])}let v=t=>{var n,a,i;if(R.current)return;let e=t.relatedTarget;!e||(n=f.current)!=null&&n.contains(e)||(a=l.current)!=null&&a.contains(e)||(i=u.current)!=null&&i.contains(e)||p(!1,t)},Z=t=>{p(!c,t.nativeEvent)},_=t=>{p(!1,t.nativeEvent)},$=o.useCallback(()=>{if(r.autoFocus===!1)return;let t=E.current;if(!t)return;let e=document.activeElement,n=l.current||u.current;if(e&&(n!=null&&n.contains(e))&&n!==e)return;R.current=!0;let a=fe(t);a?T(a,{preventScroll:!0}):T(t,{preventScroll:!0}),R.current=!1},[r.autoFocus]),ee=o.useCallback(()=>{var t;(t=r.onExitComplete)==null||t.call(r)},[r.onExitComplete]),C=o.useRef(!1),[S,w]=V({type:"pointerdown",listener:t=>{let e=t.target;if(!e||!document.documentElement.contains(e))return;if(C.current){C.current=!1;return}let n=f.current,a=l.current,i=u.current;c&&n&&!n.contains(e)&&(!a||!a.contains(e))&&(!i||!i.contains(e))&&p(!1,t)}});o.useEffect(()=>{if(!c)return;let t=e=>{var A;let n=(A=e==null?void 0:e.target)!=null?A:null;if(!n)return;let a=f.current,i=l.current,D=u.current;(a&&a.contains(n)||i&&i.contains(n)||D&&D.contains(n))&&(C.current=!0)};return K.on("overlay-click",t),()=>{K.off("overlay-click",t)}},[c]);let[y,N]=V({type:"keydown",listener:t=>{t.key==="Escape"&&(p(!1,t),T(l.current||u.current,{preventScroll:!0}))}});o.useEffect(()=>{r.anchor!==void 0&&(l.current=r.anchor,m(r.anchor))},[r.anchor]),o.useEffect(()=>{c&&b(!0)},[c]),o.useEffect(()=>{c?(S(),r.closeOnEscape&&y()):(w(),N())},[c,r.closeOnEscape,S,w,y,N]),o.useEffect(()=>{let t=f.current;if(!(!c||!t||r.trapped||k))return t.addEventListener("focusout",v),()=>{t.removeEventListener("focusout",v)}},[c,r.trapped,k,v]);let te=L({"data-scope":"popover","data-part":"trigger",ref:g,onClick:Z},c?{"data-positioner-open":""}:{}),ne={"data-scope":"popover","data-part":"positioner",ref:P},re={"data-scope":"popover","data-part":"arrow",ref:O},oe=L({"data-scope":"popover","data-part":"popup",ref:F,tabIndex:-1},c?{"data-open":""}:{});return{state:X,focusTrap:H,setArrowRef:O,setAnchorRef:g,setAnchorFallbackRef:Y,setPopupRef:F,setPositionerRef:P,triggerProps:te,popupProps:oe,closeProps:{"data-scope":"popover","data-part":"close",type:"button",onClick:_},positionerProps:ne,arrowProps:re,setOpen:p,setRendered:b,onOpenComplete:$,onCloseComplete:ee}}});export{I as defaultProps,be as usePopover};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{withHeadless as ee}from"@primereact/core/headless";import{OverlayEventBus as x}from"@primereact/core/utils";import{useFocusTrap as te}from"@primereact/headless/focustrap";import{useControlledState as ne}from"@primereact/hooks/use-controlled-state";import{useEventListener as D}from"@primereact/hooks/use-event-listener";import{focus as C,getFirstFocusableElement as re,toElement as p}from"@primeuix/utils/dom";import*as n from"react";var w={anchor:void 0,defaultOpen:void 0,open:void 0,trapped:!1,autoFocus:!0,closeOnEscape:!0,onOpenChange:void 0,onExitComplete:void 0};var de=ee({name:"usePopover",defaultProps:w,setup:({props:r})=>{let[o,A,L]=ne({value:r.open,defaultValue:r.defaultOpen,onChange:r.onOpenChange}),[U,T]=n.useState(!!o),[B,d]=n.useState(r.anchor??null),[I,K]=n.useState(null),[h,V]=n.useState(null),[j,q]=n.useState(null),z={open:o,rendered:U,trapped:!!r.trapped,anchorElement:B,positionerElement:I,popupElement:h,arrowElement:j},c=n.useRef(null),a=n.useRef(null),u=n.useRef(null),m=n.useRef(null),b=n.useRef(null),k=te({trapped:!!r.trapped&&!!h,autoFocus:!1}),M=n.useCallback(t=>{let e=p(t)??null;!e||e===c.current||(c.current=e,d(e||a.current))},[]),G=n.useCallback(t=>{let e=p(t)??null;if(e!==a.current){if(a.current=e,!e){c.current&&!c.current.isConnected&&(c.current=null,d(null));return}c.current||(c.current=e,d(e))}},[]),H=n.useCallback(t=>{let e=p(t)??null;e!==u.current&&(u.current=e,K(e))},[]),P=n.useCallback(t=>{let e=p(t)??null;e!==m.current&&(m.current=e,k.containerRef.current=e,V(e))},[]),g=n.useCallback(t=>{let e=p(t)??null;e!==b.current&&(b.current=e,q(e))},[]),E=n.useRef(!1);function i(t,e){A([t,{originalEvent:e,value:t}])}let R=t=>{if(E.current)return;let e=t.relatedTarget;!e||u.current?.contains(e)||c.current?.contains(e)||a.current?.contains(e)||i(!1,t)},J=t=>{i(!o,t.nativeEvent)},Q=t=>{i(!1,t.nativeEvent)},W=n.useCallback(()=>{if(r.autoFocus===!1)return;let t=m.current;if(!t)return;let e=document.activeElement,l=c.current||a.current;if(e&&l?.contains(e)&&l!==e)return;E.current=!0;let s=re(t);s?C(s,{preventScroll:!0}):C(t,{preventScroll:!0}),E.current=!1},[r.autoFocus]),X=n.useCallback(()=>{r.onExitComplete?.()},[r.onExitComplete]),v=n.useRef(!1),[F,y]=D({type:"pointerdown",listener:t=>{let e=t.target;if(!e||!document.documentElement.contains(e)||t.button===2)return;if(v.current){v.current=!1;return}let l=u.current,s=c.current,f=a.current;o&&l&&!l.contains(e)&&(!s||!s.contains(e))&&(!f||!f.contains(e))&&i(!1,t)}});n.useEffect(()=>{if(!o)return;let t=e=>{let l=e?.target??null;if(!l)return;let s=u.current,f=c.current,S=a.current;(s&&s.contains(l)||f&&f.contains(l)||S&&S.contains(l))&&(v.current=!0)};return x.on("overlay-click",t),()=>{x.off("overlay-click",t)}},[o]);let[O,N]=D({type:"keydown",listener:t=>{t.key==="Escape"&&(i(!1,t),C(c.current||a.current,{preventScroll:!0}))}});n.useEffect(()=>{r.anchor!==void 0&&(c.current=r.anchor,d(r.anchor))},[r.anchor]),n.useEffect(()=>{o&&T(!0)},[o]),n.useEffect(()=>{o?(F(),r.closeOnEscape&&O()):(y(),N())},[o,r.closeOnEscape,F,y,O,N]),n.useEffect(()=>{let t=u.current;if(!(!o||!t||r.trapped||L))return t.addEventListener("focusout",R),()=>{t.removeEventListener("focusout",R)}},[o,r.trapped,L,R]);let Y={"data-scope":"popover","data-part":"trigger",ref:M,onClick:J,...o?{"data-positioner-open":""}:{}},Z={"data-scope":"popover","data-part":"positioner",ref:H},_={"data-scope":"popover","data-part":"arrow",ref:g},$={"data-scope":"popover","data-part":"popup",ref:P,tabIndex:-1,...o?{"data-open":""}:{}};return{state:z,focusTrap:k,setArrowRef:g,setAnchorRef:M,setAnchorFallbackRef:G,setPopupRef:P,setPositionerRef:H,triggerProps:Y,popupProps:$,closeProps:{"data-scope":"popover","data-part":"close",type:"button",onClick:Q},positionerProps:Z,arrowProps:_,setOpen:i,setRendered:T,onOpenComplete:W,onCloseComplete:X}}});export{w as defaultProps,de as usePopover};
package/portal/index.mjs CHANGED
@@ -1,2 +1 @@
1
1
  import{withHeadless as t}from"@primereact/core/headless";import{useMounted as r}from"@primereact/hooks";var o={onMounted:void 0,onUnmounted:void 0};var a=t({name:"usePortal",defaultProps:o,setup({props:e}){return{state:{mounted:r({onMounted:e.onMounted,onUnmounted:e.onUnmounted})}}}});export{o as defaultProps,a as usePortal};
2
- //# sourceMappingURL=index.mjs.map
@@ -1,2 +1 @@
1
- var bt=Object.defineProperty,wt=Object.defineProperties;var St=Object.getOwnPropertyDescriptors;var ot=Object.getOwnPropertySymbols;var Pt=Object.prototype.hasOwnProperty,Tt=Object.prototype.propertyIsEnumerable;var rt=(e,t,n)=>t in e?bt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,nt=(e,t)=>{for(var n in t||(t={}))Pt.call(t,n)&&rt(e,n,t[n]);if(ot)for(var n of ot(t))Tt.call(t,n)&&rt(e,n,t[n]);return e},it=(e,t)=>wt(e,St(t));import{withHeadless as $t}from"@primereact/core/headless";import{getScrollableParents as Mt}from"@primeuix/utils/dom";import{ZIndex as gt}from"@primeuix/utils/zindex";import*as u from"react";function st(e,t){let n=e.left+e.width/2,i=e.top+e.height/2,m=t.left+t.width/2,l=t.top+t.height/2,f=m-n,s=l-i,g={top:e.top-t.bottom,bottom:t.top-e.bottom,left:e.left-t.right,right:t.left-e.right},S=Object.entries(g).filter(([,v])=>v>=0),F=S.length>0?S.sort((v,X)=>v[1]-X[1])[0][0]:Math.abs(f)>Math.abs(s)?f>0?"right":"left":s>0?"bottom":"top",L=4,w="center";return F==="top"||F==="bottom"?Math.abs(t.left-e.left)<=L?w="start":Math.abs(t.right-e.right)<=L&&(w="end"):Math.abs(t.top-e.top)<=L?w="start":Math.abs(t.bottom-e.bottom)<=L&&(w="end"),{side:F,align:w}}function at(e,t,n,i,m,l,f){let s={left:"",right:"",top:"",bottom:"",marginTop:"",marginRight:"",marginBottom:"",marginLeft:"",positionTryFallbacks:""};s.positionArea=e!=null?e:"";let g={top:"marginBottom",bottom:"marginTop",left:"marginRight",right:"marginLeft"};return n&&(s[g[e]]=`${n}px`),t!=="center"&&(e==="top"||e==="bottom"?t==="start"?s.left=`calc(anchor(start) + ${i}px)`:s.right=`calc(anchor(end) - ${i}px)`:t==="start"?s.top=`calc(anchor(start) + ${i}px)`:s.bottom=`calc(anchor(end) - ${i}px)`),(m||l)&&(s.positionTryFallbacks="flip-block, flip-inline, flip-block flip-inline"),f?s.positionVisibility="anchors-visible":s.positionVisibility="always",s}import{isCssSupported as Ct}from"@primeuix/utils";var U=null;function I(){return U===null&&(U=Ct("anchor-name","--a")),U}function H(e,t,n){return Math.min(Math.max(e,t),n)}function lt(e){if(e){let t=e.getBoundingClientRect();return{x:t.left,y:t.top,width:t.width,height:t.height}}return{x:0,y:0,width:window.innerWidth,height:window.innerHeight}}function ct(e,t){let n=e.offsetWidth||t.width,i=e.offsetHeight||t.height;if(!n||!i)return t;let m=t.width/n||1,l=t.height/i||1,f=t.left-(n*m-n)/2,s=t.top-(i*l-i)/2;return{left:f,top:s,width:n,height:i}}function _(e,t,n,i,m,l,f){let s=l/2;return f?e==="top"?`${t}px calc(${m}px + ${s}px)`:e==="bottom"?`${t}px calc(0px - ${s}px)`:e==="left"?`calc(${i}px + ${s}px) ${n}px`:`calc(0px - ${s}px) ${n}px`:`${t}px ${n}px`}var vt={top:"bottom",bottom:"top",left:"right",right:"left"};function ft(e,t,n,i,m,l,f){let s=0,g=0,S=i==="top"||i==="bottom";return i==="top"?g=e.y-n-l:i==="bottom"?g=e.y+e.height+l:i==="left"?s=e.x-t-l:s=e.x+e.width+l,S?m==="start"?s=e.x+f:m==="end"?s=e.x+e.width-t-f:s=e.x+(e.width-t)/2:m==="start"?g=e.y+f:m==="end"?g=e.y+e.height-n-f:g=e.y+(e.height-n)/2,{x:s,y:g}}function pt(e,t,n,i,m,l){let f=vt[i],s={top:e.y-l.y-m,bottom:l.y+l.height-(e.y+e.height)-m,left:e.x-l.x-m,right:l.x+l.width-(e.x+e.width)-m},g=i==="top"||i==="bottom"?n:t;return s[i]>=g?i:s[f]>=g||s[f]>s[i]?f:i}var At=5;function mt(e,t,n,i,m,l,f=At){return m==="top"||m==="bottom"?e=H(e,l.x+f,l.x+l.width-n-f):t=H(t,l.y+f,l.y+l.height-i-f),{x:e,y:t}}function dt(e,t,n,i,m,l,f){let s=l/2,g=Math.max(8,s),S=f==="top"||f==="bottom",F=e.x+e.width/2,L=e.y+e.height/2,w,v;return S?(w=H(F-t,g,i-g),v=f==="bottom"?0:m):(w=f==="right"?0:i,v=H(L-n,g,m-g)),{arrowX:w,arrowY:v,arrowLeft:w-s,arrowTop:v-s}}function ut(e,t){return e.x+e.width<=t.x||e.y+e.height<=t.y||e.x>=t.x+t.width||e.y>=t.y+t.height}function ht(e,t,n,i,m,l){if(l==="top"||l==="bottom"){if(Math.abs(e-n.x)<=4)return"start";if(Math.abs(e+i-(n.x+n.width))<=4)return"end"}else{if(Math.abs(t-n.y)<=4)return"start";if(Math.abs(t+m-(n.y+n.height))<=4)return"end"}return"center"}var yt={side:"bottom",align:"center",sideOffset:void 0,alignOffset:0,flip:!0,shift:!0,hideWhenDetached:!1,strategy:"fixed",boundary:void 0,anchor:void 0,content:void 0,arrow:void 0,autoZIndex:!0,baseZIndex:0,onPlacementChange:void 0};var Nt=$t({name:"usePositioner",defaultProps:yt,setup({id:e,props:t,$primereact:n}){var tt,et;let[i,m]=u.useState(),[l,f]=u.useState(),s=`--positioner-trigger-${e}`,g=`--positioner-content-${e}`,S=u.useRef(t);S.current=t;let F=u.useRef(i);F.current=i;let L=u.useCallback(()=>{var x;let r=S.current,a=r.arrow;if(!a)return 0;let o=window.getComputedStyle(a),p=(x=F.current)!=null?x:r.side,c=p==="top"||p==="bottom"?parseFloat(o.height||"0")||a.offsetHeight:parseFloat(o.width||"0")||a.offsetWidth,d=parseFloat(o.borderTopWidth||"0");return Math.ceil(c/2+d)},[]),w=u.useCallback(()=>{let r=S.current;return r.sideOffset!=null?r.sideOffset:r.arrow?L():0},[L]),v=u.useRef(t.side),X=u.useRef(t.align);(v.current!==t.side||X.current!==t.align)&&(v.current=t.side,X.current=t.align,m(void 0),f(void 0));let G=u.useCallback(()=>{var d;let r=S.current,a=(d=F.current)!=null?d:r.side,o=l!=null?l:r.align,p=a==="top"||a==="bottom",h={top:"bottom",bottom:"top",left:"right",right:"left"}[a],c;return p?c=o==="start"?"left":o==="end"?"right":"center":c=o==="start"?"top":o==="end"?"bottom":"center",`${c} ${h}`},[l]),J=u.useCallback(()=>{if(!I())return{};let r=S.current;return at(r.side,r.align,w(),r.alignOffset,r.flip,r.shift,r.hideWhenDetached)},[w]),K=u.useCallback(()=>{let r=S.current,a=r.anchor,o=r.content;if(!a||!o)return;let p=a.getBoundingClientRect(),h=o.getBoundingClientRect(),c=ct(o,h),{side:d,align:x}=st(p,h);o.dataset.side!==d&&(o.dataset.side=d),o.dataset.align!==x&&(o.dataset.align=x),r.arrow&&(r.arrow.dataset.side!==d&&(r.arrow.dataset.side=d),r.arrow.dataset.align!==x&&(r.arrow.dataset.align=x)),m(C=>C===d?C:d),f(C=>C===x?C:x);let $=w(),O=window.innerWidth,T=window.innerHeight,j=d==="top"||d==="bottom",b=j?d==="bottom"?T-(p.bottom+$):p.top-$:T,M=j?O:d==="right"?O-(p.right+$):p.left-$;o.style.setProperty("--px-available-height",`${Math.max(0,b)}px`),o.style.setProperty("--px-available-width",`${Math.max(0,M)}px`);let A=p.left+p.width/2,R=p.top+p.height/2,V=r.arrow;if(V){let C=window.getComputedStyle(V),k=parseFloat(C.width||"0")||parseFloat(C.height||"0")||0,q=Math.max(V.offsetWidth,V.offsetHeight,k),B=q/2,P=Math.max(8,B),D=H(A-c.left,P,c.width-P),y=H(R-c.top,P,c.height-P),W=D-B,z=y-B;o.style.setProperty("--px-placer-arrow-x",`${D}px`),o.style.setProperty("--px-placer-arrow-y",`${y}px`),o.style.setProperty("--px-placer-arrow-left",`${W}px`),o.style.setProperty("--px-placer-arrow-top",`${z}px`);let E=_(d,D,y,c.width,c.height,q,!0);o.style.setProperty("--px-transform-origin",E)}else{let C=A-c.left,k=R-c.top;o.style.removeProperty("--px-placer-arrow-x"),o.style.removeProperty("--px-placer-arrow-y"),o.style.removeProperty("--px-placer-arrow-left"),o.style.removeProperty("--px-placer-arrow-top"),o.style.setProperty("--px-transform-origin",`${C}px ${k}px`)}},[w]),Q=u.useCallback(()=>{var D;let r=S.current,a=r.anchor,o=r.content;if(!a||!o)return;let p=lt(r.boundary),h=a.getBoundingClientRect(),c={x:h.left,y:h.top,width:h.width,height:h.height},d=o.offsetWidth,x=o.offsetHeight,$=r.side,O=r.align,T=w(),j=(D=r.alignOffset)!=null?D:0;if(r.hideWhenDetached&&ut(c,p)){o.style.visibility="hidden";return}else o.style.visibility="";let b=$;r.flip&&(b=pt(c,d,x,$,T,p));let{x:M,y:A}=ft(c,d,x,b,O,T,j),R=O;if(r.shift){let y=mt(M,A,d,x,b,p);M=y.x,A=y.y,R=ht(M,A,c,d,x,b)}if(r.strategy==="absolute"){let y=o.offsetParent||document.documentElement,W=y.getBoundingClientRect();M=M-W.left+y.scrollLeft,A=A-W.top+y.scrollTop}let V=window.innerWidth,C=window.innerHeight,k=b==="top"||b==="bottom",q=k?b==="bottom"?C-(c.y+c.height+T):c.y-T:C,B=k?V:b==="right"?V-(c.x+c.width+T):c.x-T;o.style.setProperty("--px-available-height",`${Math.max(0,q)}px`),o.style.setProperty("--px-available-width",`${Math.max(0,B)}px`),o.style.top=`${A}px`,o.style.left=`${M}px`,o.dataset.side!==b&&(o.dataset.side=b),o.dataset.align!==R&&(o.dataset.align=R);let P=r.arrow;if(P&&(P.dataset.side!==b&&(P.dataset.side=b),P.dataset.align!==R&&(P.dataset.align=R)),m(y=>y===b?y:b),f(y=>y===R?y:R),P){let y=window.getComputedStyle(P),W=parseFloat(y.width||"0")||parseFloat(y.height||"0")||0,z=Math.max(P.offsetWidth,P.offsetHeight,W),E=dt(c,M,A,d,x,z,b);o.style.setProperty("--px-placer-arrow-x",`${E.arrowX}px`),o.style.setProperty("--px-placer-arrow-y",`${E.arrowY}px`),o.style.setProperty("--px-placer-arrow-left",`${E.arrowLeft}px`),o.style.setProperty("--px-placer-arrow-top",`${E.arrowTop}px`);let xt=_(b,E.arrowX,E.arrowY,d,x,z,!0);o.style.setProperty("--px-transform-origin",xt)}else{let y=c.x+c.width/2,W=c.y+c.height/2,z=y-M,E=W-A;o.style.removeProperty("--px-placer-arrow-x"),o.style.removeProperty("--px-placer-arrow-y"),o.style.removeProperty("--px-placer-arrow-left"),o.style.removeProperty("--px-placer-arrow-top"),o.style.setProperty("--px-transform-origin",`${z}px ${E}px`)}},[w]),N=u.useCallback(()=>{let r=S.current,a=r.anchor,o=r.content;if(!a||!o)return;let p=a.getBoundingClientRect().width;o.style.setProperty("--px-positioner-anchor-width",`${p}px`),I()?K():Q()},[K,Q]),Y=u.useRef(N);Y.current=N,u.useEffect(()=>{var p;let r=t.anchor,a=t.content;if(!r||!a)return;let o=(p=t.strategy)!=null?p:"fixed";return I()?(Object.assign(a.style,it(nt({position:o,positionAnchor:s,anchorName:g},J()),{"--px-transform-origin":G()})),Object.assign(r.style,{anchorName:s})):Object.assign(a.style,{position:o,top:"0",left:"0",margin:"0"}),()=>{a.style.position="",a.style.top="",a.style.left="",a.style.right="",a.style.bottom="",a.style.margin="",a.style.visibility="",["--px-transform-origin","--px-positioner-anchor-width","--px-available-height","--px-available-width","--px-placer-arrow-x","--px-placer-arrow-y","--px-placer-arrow-left","--px-placer-arrow-top"].forEach(h=>a.style.removeProperty(h)),I()&&(["position-anchor","anchor-name","position-area","position-try-fallbacks","position-visibility"].forEach(h=>a.style.removeProperty(h)),a.style.marginTop="",a.style.marginRight="",a.style.marginBottom="",a.style.marginLeft="",r.style.removeProperty("anchor-name"))}},[t.anchor,t.content,t.strategy,t.side,t.align,t.sideOffset,t.alignOffset,t.flip,t.shift,t.hideWhenDetached]),u.useEffect(()=>{var r,a,o,p;if(t.content)return t.autoZIndex&&gt.set("overlay",t.content,((r=t.baseZIndex)!=null?r:0)+((p=(o=(a=n.config)==null?void 0:a.zIndex)==null?void 0:o.overlay)!=null?p:1e3)),()=>{t.autoZIndex&&t.content&&gt.clear(t.content)}},[t.content,t.autoZIndex,t.baseZIndex,(et=(tt=n.config)==null?void 0:tt.zIndex)==null?void 0:et.overlay]),u.useLayoutEffect(()=>{if(!t.anchor||!t.content)return;let r=0,a=0,o=!1,p=!1,h=()=>{o||p||(o=!0,r=requestAnimationFrame(()=>{o=!1,p||Y.current()}))},c=new ResizeObserver(h);t.anchor instanceof Element&&c.observe(t.anchor),t.content instanceof Element&&c.observe(t.content),window.addEventListener("resize",h,{passive:!0});let d=null;if(I())window.addEventListener("scroll",h,{capture:!0,passive:!0});else{d=Mt(t.anchor);for(let T of d)T.addEventListener("scroll",h,{passive:!0})}let x=I()?5:3,$=0,O=()=>{p||(Y.current(),$+=1,$<x&&(a=requestAnimationFrame(O)))};return a=requestAnimationFrame(O),()=>{if(p=!0,window.removeEventListener("resize",h),I())window.removeEventListener("scroll",h,{capture:!0});else if(d)for(let T of d)T.removeEventListener("scroll",h);c.disconnect(),cancelAnimationFrame(r),cancelAnimationFrame(a)}},[t.anchor,t.content]),u.useEffect(()=>{!t.anchor||!t.content||Y.current()},[t.anchor,t.content,t.arrow,t.side,t.align,t.sideOffset,t.alignOffset,t.flip,t.shift,t.hideWhenDetached,t.boundary,t.strategy]);let Z=u.useRef(t.onPlacementChange);return Z.current=t.onPlacementChange,u.useEffect(()=>{var r;i!==void 0&&l!==void 0&&((r=Z.current)==null||r.call(Z,{side:i,align:l}))},[i,l]),{state:{actualSide:i,actualAlign:l},getTransformOrigin:G,computePosition:J,updatePlacement:N}}});export{yt as defaultProps,Nt as usePositioner};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{withHeadless as xt}from"@primereact/core/headless";import{useDirection as bt}from"@primereact/hooks/use-direction";import{getScrollableParents as wt,isRTL as N}from"@primeuix/utils/dom";import{ZIndex as mt}from"@primeuix/utils/zindex";import*as h from"react";function ot(e,t,a=!1){let n=e.left+e.width/2,p=e.top+e.height/2,s=t.left+t.width/2,l=t.top+t.height/2,u=s-n,f=l-p,S={top:e.top-t.bottom,bottom:t.top-e.bottom,left:e.left-t.right,right:t.left-e.right},y=Object.entries(S).filter(([,O])=>O>=0),T=y.length>0?y.sort((O,k)=>O[1]-k[1])[0][0]:Math.abs(u)>Math.abs(f)?u>0?"right":"left":f>0?"bottom":"top",$=4,w="center";if(T==="top"||T==="bottom"){let O=a?"end":"start",k=a?"start":"end";Math.abs(t.left-e.left)<=$?w=O:Math.abs(t.right-e.right)<=$&&(w=k)}else Math.abs(t.top-e.top)<=$?w="start":Math.abs(t.bottom-e.bottom)<=$&&(w="end");return{side:T,align:w}}function rt(e,t,a,n,p,s,l,u=!1){let f={left:"",right:"",top:"",bottom:"",marginTop:"",marginRight:"",marginBottom:"",marginLeft:"",positionTryFallbacks:""};f.positionArea=e??"";let S={top:"marginBottom",bottom:"marginTop",left:"marginRight",right:"marginLeft"};return a&&(f[S[e]]=`${a}px`),t!=="center"&&(e==="top"||e==="bottom"?(u?t==="start"?"end":"start":t)==="start"?f.left=`calc(anchor(left) + ${n}px)`:f.right=`calc(anchor(right) - ${n}px)`:t==="start"?f.top=`calc(anchor(start) + ${n}px)`:f.bottom=`calc(anchor(end) - ${n}px)`),(p||s)&&(f.positionTryFallbacks="flip-block, flip-inline, flip-block flip-inline"),l?f.positionVisibility="anchors-visible":f.positionVisibility="always",f}import{isCssSupported as ht}from"@primeuix/utils";var _=null;function I(){return _===null&&(_=ht("anchor-name","--a")),_}function V(e,t,a){return Math.min(Math.max(e,t),a)}function nt(e){if(e){let t=e.getBoundingClientRect();return{x:t.left,y:t.top,width:t.width,height:t.height}}return{x:0,y:0,width:window.innerWidth,height:window.innerHeight}}function it(e,t){let a=e.offsetWidth||t.width,n=e.offsetHeight||t.height;if(!a||!n)return t;let p=t.width/a||1,s=t.height/n||1,l=t.left-(a*p-a)/2,u=t.top-(n*s-n)/2;return{left:l,top:u,width:a,height:n}}function G(e,t,a,n,p,s,l){let u=s/2;return l?e==="top"?`${t}px calc(${p}px + ${u}px)`:e==="bottom"?`${t}px calc(0px - ${u}px)`:e==="left"?`calc(${n}px + ${u}px) ${a}px`:`calc(0px - ${u}px) ${a}px`:`${t}px ${a}px`}var gt={top:"bottom",bottom:"top",left:"right",right:"left"};function st(e,t,a,n,p,s,l,u=!1){let f=0,S=0,y=n==="top"||n==="bottom",T=y&&u?p==="start"?"end":p==="end"?"start":"center":p;return n==="top"?S=e.y-a-s:n==="bottom"?S=e.y+e.height+s:n==="left"?f=e.x-t-s:f=e.x+e.width+s,y?T==="start"?f=e.x+l:T==="end"?f=e.x+e.width-t-l:f=e.x+(e.width-t)/2:p==="start"?S=e.y+l:p==="end"?S=e.y+e.height-a-l:S=e.y+(e.height-a)/2,{x:f,y:S}}function at(e,t,a,n,p,s){let l=gt[n],u={top:e.y-s.y-p,bottom:s.y+s.height-(e.y+e.height)-p,left:e.x-s.x-p,right:s.x+s.width-(e.x+e.width)-p},f=n==="top"||n==="bottom"?a:t;return u[n]>=f?n:u[l]>=f||u[l]>u[n]?l:n}var yt=5;function lt(e,t,a,n,p,s,l=yt){return p==="top"||p==="bottom"?e=V(e,s.x+l,s.x+s.width-a-l):t=V(t,s.y+l,s.y+s.height-n-l),{x:e,y:t}}function ct(e,t,a,n,p,s,l){let u=s/2,f=Math.max(8,u),S=l==="top"||l==="bottom",y=e.x+e.width/2,T=e.y+e.height/2,$,w;return S?($=V(y-t,f,n-f),w=l==="bottom"?0:p):($=l==="right"?0:n,w=V(T-a,f,p-f)),{arrowX:$,arrowY:w,arrowLeft:$-u,arrowTop:w-u}}function ft(e,t){return e.x+e.width<=t.x||e.y+e.height<=t.y||e.x>=t.x+t.width||e.y>=t.y+t.height}function pt(e,t,a,n,p,s,l=!1){if(s==="top"||s==="bottom"){let S=l?"end":"start",y=l?"start":"end";if(Math.abs(e-a.x)<=4)return S;if(Math.abs(e+n-(a.x+a.width))<=4)return y}else{if(Math.abs(t-a.y)<=4)return"start";if(Math.abs(t+p-(a.y+a.height))<=4)return"end"}return"center"}var dt={side:"bottom",align:"center",sideOffset:void 0,alignOffset:0,flip:!0,shift:!0,hideWhenDetached:!1,strategy:"fixed",boundary:void 0,anchor:void 0,content:void 0,arrow:void 0,autoZIndex:!0,baseZIndex:0,onPlacementChange:void 0};var Dt=xt({name:"usePositioner",defaultProps:dt,setup({id:e,props:t,$primereact:a}){let[n,p]=h.useState(),[s,l]=h.useState(),u=bt(),f=`--positioner-trigger-${e}`,S=`--positioner-content-${e}`,y=h.useRef(t);y.current=t;let T=h.useRef(n);T.current=n;let $=h.useCallback(()=>{let r=y.current,i=r.arrow;if(!i)return 0;let o=window.getComputedStyle(i),d=T.current??r.side,c=d==="top"||d==="bottom"?parseFloat(o.height||"0")||i.offsetHeight:parseFloat(o.width||"0")||i.offsetWidth,m=parseFloat(o.borderTopWidth||"0");return Math.ceil(c/2+m)},[]),w=h.useCallback(()=>{let r=y.current;return r.sideOffset!=null?r.sideOffset:r.arrow?$():0},[$]),O=h.useRef(t.side),k=h.useRef(t.align);(O.current!==t.side||k.current!==t.align)&&(O.current=t.side,k.current=t.align,p(void 0),l(void 0));let J=h.useCallback(()=>{let r=y.current,i=T.current??r.side,o=s??r.align,d=i==="top"||i==="bottom",x={top:"bottom",bottom:"top",left:"right",right:"left"}[i],c;if(d){let m=N(r.content??r.anchor);c=o==="start"?m?"right":"left":o==="end"?m?"left":"right":"center"}else c=o==="start"?"top":o==="end"?"bottom":"center";return`${c} ${x}`},[s]),K=h.useCallback(()=>{if(!I())return{};let r=y.current,i=N(r.content??r.anchor);return rt(r.side,r.align,w(),r.alignOffset,r.flip,r.shift,r.hideWhenDetached,i)},[w]),Q=h.useCallback(()=>{let r=y.current,i=r.anchor,o=r.content;if(!i||!o)return;let d=i.getBoundingClientRect(),x=o.getBoundingClientRect(),c=it(o,x),{side:m,align:P}=ot(d,x,N(i));o.dataset.side!==m&&(o.dataset.side=m),o.dataset.align!==P&&(o.dataset.align=P),r.arrow&&(r.arrow.dataset.side!==m&&(r.arrow.dataset.side=m),r.arrow.dataset.align!==P&&(r.arrow.dataset.align=P)),p(v=>v===m?v:m),l(v=>v===P?v:P);let M=w(),H=window.innerWidth,C=window.innerHeight,j=m==="top"||m==="bottom",q=j?m==="bottom"?C-(d.bottom+M):d.top-M:C,b=j?H:m==="right"?H-(d.right+M):d.left-M;o.style.setProperty("--px-available-height",`${Math.max(0,q)}px`),o.style.setProperty("--px-available-width",`${Math.max(0,b)}px`);let R=d.left+d.width/2,L=d.top+d.height/2,E=r.arrow;if(E){let v=window.getComputedStyle(E),D=parseFloat(v.width||"0")||parseFloat(v.height||"0")||0,X=Math.max(E.offsetWidth,E.offsetHeight,D),Y=X/2,z=Math.max(8,Y),A=V(R-c.left,z,c.width-z),g=V(L-c.top,z,c.height-z),W=A-Y,B=g-Y;o.style.setProperty("--px-placer-arrow-x",`${A}px`),o.style.setProperty("--px-placer-arrow-y",`${g}px`),o.style.setProperty("--px-placer-arrow-left",`${W}px`),o.style.setProperty("--px-placer-arrow-top",`${B}px`);let F=G(m,A,g,c.width,c.height,X,!0);o.style.setProperty("--px-transform-origin",F)}else{let v=R-c.left,D=L-c.top;o.style.removeProperty("--px-placer-arrow-x"),o.style.removeProperty("--px-placer-arrow-y"),o.style.removeProperty("--px-placer-arrow-left"),o.style.removeProperty("--px-placer-arrow-top"),o.style.setProperty("--px-transform-origin",`${v}px ${D}px`)}},[w]),tt=h.useCallback(()=>{let r=y.current,i=r.anchor,o=r.content;if(!i||!o)return;let d=nt(r.boundary),x=i.getBoundingClientRect(),c={x:x.left,y:x.top,width:x.width,height:x.height},m=o.offsetWidth,P=o.offsetHeight,M=r.side,H=r.align,C=w(),j=r.alignOffset??0,q=N(i);if(r.hideWhenDetached&&ft(c,d)){o.style.visibility="hidden";return}else o.style.visibility="";let b=M;r.flip&&(b=at(c,m,P,M,C,d));let{x:R,y:L}=st(c,m,P,b,H,C,j,q),E=H;if(r.shift){let g=lt(R,L,m,P,b,d);R=g.x,L=g.y,E=pt(R,L,c,m,P,b,q)}if(r.strategy==="absolute"){let g=o.offsetParent||document.documentElement,W=g.getBoundingClientRect();R=R-W.left+g.scrollLeft,L=L-W.top+g.scrollTop}let v=window.innerWidth,D=window.innerHeight,X=b==="top"||b==="bottom",Y=X?b==="bottom"?D-(c.y+c.height+C):c.y-C:D,z=X?v:b==="right"?v-(c.x+c.width+C):c.x-C;o.style.setProperty("--px-available-height",`${Math.max(0,Y)}px`),o.style.setProperty("--px-available-width",`${Math.max(0,z)}px`),o.style.top=`${L}px`,o.style.left=`${R}px`,o.dataset.side!==b&&(o.dataset.side=b),o.dataset.align!==E&&(o.dataset.align=E);let A=r.arrow;if(A&&(A.dataset.side!==b&&(A.dataset.side=b),A.dataset.align!==E&&(A.dataset.align=E)),p(g=>g===b?g:b),l(g=>g===E?g:E),A){let g=window.getComputedStyle(A),W=parseFloat(g.width||"0")||parseFloat(g.height||"0")||0,B=Math.max(A.offsetWidth,A.offsetHeight,W),F=ct(c,R,L,m,P,B,b);o.style.setProperty("--px-placer-arrow-x",`${F.arrowX}px`),o.style.setProperty("--px-placer-arrow-y",`${F.arrowY}px`),o.style.setProperty("--px-placer-arrow-left",`${F.arrowLeft}px`),o.style.setProperty("--px-placer-arrow-top",`${F.arrowTop}px`);let ut=G(b,F.arrowX,F.arrowY,m,P,B,!0);o.style.setProperty("--px-transform-origin",ut)}else{let g=c.x+c.width/2,W=c.y+c.height/2,B=g-R,F=W-L;o.style.removeProperty("--px-placer-arrow-x"),o.style.removeProperty("--px-placer-arrow-y"),o.style.removeProperty("--px-placer-arrow-left"),o.style.removeProperty("--px-placer-arrow-top"),o.style.setProperty("--px-transform-origin",`${B}px ${F}px`)}},[w]),U=h.useCallback(()=>{let r=y.current,i=r.anchor,o=r.content;if(!i||!o)return;let d=i.getBoundingClientRect().width;o.style.setProperty("--px-positioner-anchor-width",`${d}px`),I()?Q():tt()},[Q,tt]),Z=h.useRef(U);Z.current=U,h.useEffect(()=>{let r=t.anchor,i=t.content;if(!r||!i)return;let o=t.strategy??"fixed";return I()?(Object.assign(i.style,{position:o,positionAnchor:f,anchorName:S,...K(),"--px-transform-origin":J()}),Object.assign(r.style,{anchorName:f})):Object.assign(i.style,{position:o,top:"0",left:"0",margin:"0"}),()=>{i.style.position="",i.style.top="",i.style.left="",i.style.right="",i.style.bottom="",i.style.margin="",i.style.visibility="",["--px-transform-origin","--px-positioner-anchor-width","--px-available-height","--px-available-width","--px-placer-arrow-x","--px-placer-arrow-y","--px-placer-arrow-left","--px-placer-arrow-top"].forEach(d=>i.style.removeProperty(d)),I()&&(["position-anchor","anchor-name","position-area","position-try-fallbacks","position-visibility"].forEach(d=>i.style.removeProperty(d)),i.style.marginTop="",i.style.marginRight="",i.style.marginBottom="",i.style.marginLeft="",r.style.removeProperty("anchor-name"))}},[t.anchor,t.content,t.strategy,t.side,t.align,t.sideOffset,t.alignOffset,t.flip,t.shift,t.hideWhenDetached,u]),h.useEffect(()=>{if(t.content)return t.autoZIndex&&mt.set("overlay",t.content,(t.baseZIndex??0)+(a.config?.zIndex?.overlay??1e3)),()=>{t.autoZIndex&&t.content&&mt.clear(t.content)}},[t.content,t.autoZIndex,t.baseZIndex,a.config?.zIndex?.overlay]),h.useLayoutEffect(()=>{if(!t.anchor||!t.content)return;let r=0,i=0,o=!1,d=!1,x=()=>{o||d||(o=!0,r=requestAnimationFrame(()=>{o=!1,d||Z.current()}))},c=new ResizeObserver(x);t.anchor instanceof Element&&c.observe(t.anchor),t.content instanceof Element&&c.observe(t.content),window.addEventListener("resize",x,{passive:!0});let m=null;if(I())window.addEventListener("scroll",x,{capture:!0,passive:!0});else{m=wt(t.anchor);for(let C of m)C.addEventListener("scroll",x,{passive:!0})}let P=I()?5:3,M=0,H=()=>{d||(Z.current(),M+=1,M<P&&(i=requestAnimationFrame(H)))};return i=requestAnimationFrame(H),()=>{if(d=!0,window.removeEventListener("resize",x),I())window.removeEventListener("scroll",x,{capture:!0});else if(m)for(let C of m)C.removeEventListener("scroll",x);c.disconnect(),cancelAnimationFrame(r),cancelAnimationFrame(i)}},[t.anchor,t.content]),h.useEffect(()=>{!t.anchor||!t.content||Z.current()},[t.anchor,t.content,t.arrow,t.side,t.align,t.sideOffset,t.alignOffset,t.flip,t.shift,t.hideWhenDetached,t.boundary,t.strategy,u]);let et=h.useRef(t.onPlacementChange);return et.current=t.onPlacementChange,h.useEffect(()=>{n!==void 0&&s!==void 0&&et.current?.({side:n,align:s})},[n,s]),{state:{actualSide:n,actualAlign:s},getTransformOrigin:J,computePosition:K,updatePlacement:U}}});export{dt as defaultProps,Dt as usePositioner};
@@ -1,7 +1,7 @@
1
1
  import { AlignType, SideType } from '@primereact/types/headless/positioner';
2
- export declare function getPlacementFromRects(triggerRect: DOMRect, contentRect: DOMRect): {
2
+ export declare function getPlacementFromRects(triggerRect: DOMRect, contentRect: DOMRect, isRtl?: boolean): {
3
3
  side: SideType;
4
4
  align: AlignType;
5
5
  };
6
6
  export type CSSPositionStyle = Record<string, string | undefined>;
7
- export declare function computeCSSPosition(side?: SideType, align?: AlignType, sideOffset?: number, alignOffset?: number, flip?: boolean, shift?: boolean, hideWhenDetached?: boolean): CSSPositionStyle;
7
+ export declare function computeCSSPosition(side?: SideType, align?: AlignType, sideOffset?: number, alignOffset?: number, flip?: boolean, shift?: boolean, hideWhenDetached?: boolean, isRtl?: boolean): CSSPositionStyle;
@@ -1,6 +1,6 @@
1
1
  import { AlignType, SideType } from '@primereact/types/headless/positioner';
2
2
  import { ComputedCoords, Rect } from './usePositioner.utils';
3
- export declare function computeCoordsFromPlacement(anchorRect: Rect, contentWidth: number, contentHeight: number, side: SideType, align: AlignType, sideOffset: number, alignOffset: number): ComputedCoords;
3
+ export declare function computeCoordsFromPlacement(anchorRect: Rect, contentWidth: number, contentHeight: number, side: SideType, align: AlignType, sideOffset: number, alignOffset: number, isRtl?: boolean): ComputedCoords;
4
4
  export declare function getFlippedSide(anchorRect: Rect, contentWidth: number, contentHeight: number, side: SideType, sideOffset: number, boundary: Rect): SideType;
5
5
  export declare function shiftCoords(x: number, y: number, contentWidth: number, contentHeight: number, side: SideType, boundary: Rect, padding?: number): ComputedCoords;
6
6
  export declare function computeArrowPosition(anchorRect: Rect, contentX: number, contentY: number, contentWidth: number, contentHeight: number, arrowSize: number, side: SideType): {
@@ -10,4 +10,4 @@ export declare function computeArrowPosition(anchorRect: Rect, contentX: number,
10
10
  arrowTop: number;
11
11
  };
12
12
  export declare function isAnchorDetached(anchorRect: Rect, boundary: Rect): boolean;
13
- export declare function deriveAlignFromCoords(x: number, y: number, anchorRect: Rect, contentWidth: number, contentHeight: number, side: SideType): AlignType;
13
+ export declare function deriveAlignFromCoords(x: number, y: number, anchorRect: Rect, contentWidth: number, contentHeight: number, side: SideType, isRtl?: boolean): AlignType;
@@ -1,2 +1 @@
1
- import{withHeadless as P}from"@primereact/core/headless";import*as o from"react";var i={value:void 0,max:100,min:0,formatter:e=>new Intl.NumberFormat(void 0,{minimumFractionDigits:0,maximumFractionDigits:2}).format(e)+"%"};var w=P({name:"useProgressBar",defaultProps:i,setup({props:e}){var m,n;let d=a=>{var u,c;let r=(u=e.min)!=null?u:0,s=(c=e.max)!=null?c:100;if(r>=s)return console.error("[ProgressBar] min must be less than max."),0;let b=(Math.min(Math.max(a!=null?a:r,r),s)-r)/(s-r)*100;return Math.min(Math.max(b,0),100)},t=o.useMemo(()=>d(e.value),[e.value,e.min,e.max]),l=o.useMemo(()=>{var a;return(a=e.formatter)==null?void 0:a.call(e,t)},[t,e.formatter]),f={computedValue:t,formattedValue:l},x={"data-scope":"progressbar","data-part":"root"},g={"data-scope":"progressbar","data-part":"track",role:"progressbar","aria-valuemin":(m=e.min)!=null?m:0,"aria-valuenow":t,"aria-valuemax":(n=e.max)!=null?n:100};return{state:f,rootProps:x,trackProps:g}}});export{i as defaultProps,w as useProgressBar};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{withHeadless as f}from"@primereact/core/headless";import*as s from"react";var o={value:void 0,max:100,min:0,formatter:e=>new Intl.NumberFormat(void 0,{minimumFractionDigits:0,maximumFractionDigits:2}).format(e)+"%"};var V=f({name:"useProgressBar",defaultProps:o,setup({props:e}){let m=l=>{let a=e.min??0,t=e.max??100;if(a>=t)return console.error("[ProgressBar] min must be less than max."),0;let d=(Math.min(Math.max(l??a,a),t)-a)/(t-a)*100;return Math.min(Math.max(d,0),100)},r=s.useMemo(()=>m(e.value),[e.value,e.min,e.max]),n=s.useMemo(()=>e.formatter?.(r),[r,e.formatter]),u={computedValue:r,formattedValue:n},c={"data-scope":"progressbar","data-part":"root"},i={"data-scope":"progressbar","data-part":"track",role:"progressbar","aria-valuemin":e.min??0,"aria-valuenow":r,"aria-valuemax":e.max??100};return{state:u,rootProps:c,trackProps:i}}});export{o as defaultProps,V as useProgressBar};
@@ -1,2 +1 @@
1
- var B=Object.defineProperty,D=Object.defineProperties;var O=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var R=Object.prototype.hasOwnProperty,T=Object.prototype.propertyIsEnumerable;var P=(e,t,s)=>t in e?B(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,r=(e,t)=>{for(var s in t||(t={}))R.call(t,s)&&P(e,s,t[s]);if(h)for(var s of h(t))T.call(t,s)&&P(e,s,t[s]);return e},v=(e,t)=>D(e,O(t));import{withHeadless as U}from"@primereact/core/headless";var y={value:null,min:0,max:100,strokeWidth:4};var n=100,o=n/2,L=U({name:"useProgressSpinner",defaultProps:y,setup({props:e}){var u,f,g,x;let t=(u=e.min)!=null?u:0,s=(f=e.max)!=null?f:100,c=(g=e.strokeWidth)!=null?g:4,i=(n-c)/2,d=2*Math.PI*i,a=e.value==null,l=a?0:Math.min(Math.max(e.value,t),s),m=a?0:(l-t)/(s-t)*100,p=a?"indeterminate":"determinate",k=`${d}`,S=a?void 0:`${d-m/100*d}`,w={value:(x=e.value)!=null?x:null,percent:m,indeterminate:a},$=r(v(r({"data-scope":"progress","data-part":"root","data-state":p},a?{}:{"data-value":l}),{role:"progressbar","aria-valuemin":t,"aria-valuemax":s,"aria-valuenow":a?void 0:l}),e.disabled?{"data-disabled":""}:{}),b={"data-scope":"progress","data-part":"circle",viewBox:`0 0 ${n} ${n}`},M={"data-scope":"progress","data-part":"circleTrack","data-state":p,cx:o,cy:o,r:i,fill:"none",strokeWidth:c},W=r({"data-scope":"progress","data-part":"circleRange","data-state":p,cx:o,cy:o,r:i,fill:"none",strokeWidth:c},a?{}:{strokeDasharray:k,strokeDashoffset:S,strokeLinecap:"round",style:{transformOrigin:"center",transform:"rotate(-90deg)"}});return{state:w,rootProps:$,circleProps:b,circleTrackProps:M,circleRangeProps:W}}});export{y as defaultProps,L as useProgressSpinner};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{withHeadless as y}from"@primereact/core/headless";var m={value:null,min:0,max:100,strokeWidth:4};var r=100,a=r/2,$=y({name:"useProgressSpinner",defaultProps:m,setup({props:t}){let s=t.min??0,o=t.max??100,n=t.strokeWidth??4,c=(r-n)/2,i=2*Math.PI*c,e=t.value==null,d=e?0:Math.min(Math.max(t.value,s),o),p=e?0:(d-s)/(o-s)*100,l=e?"indeterminate":"determinate",u=`${i}`,f=e?void 0:`${i-p/100*i}`,g={value:t.value??null,percent:p,indeterminate:e},x={"data-scope":"progress","data-part":"root","data-state":l,...e?{}:{"data-value":d},role:"progressbar","aria-valuemin":s,"aria-valuemax":o,"aria-valuenow":e?void 0:d,...t.disabled?{"data-disabled":""}:{}},h={"data-scope":"progress","data-part":"circle",viewBox:`0 0 ${r} ${r}`},P={"data-scope":"progress","data-part":"circleTrack","data-state":l,cx:a,cy:a,r:c,fill:"none",strokeWidth:n},v={"data-scope":"progress","data-part":"circleRange","data-state":l,cx:a,cy:a,r:c,fill:"none",strokeWidth:n,...e?{}:{strokeDasharray:u,strokeDashoffset:f,strokeLinecap:"round",style:{transformOrigin:"center",transform:"rotate(-90deg)"}}};return{state:g,rootProps:x,circleProps:h,circleTrackProps:P,circleRangeProps:v}}});export{m as defaultProps,$ as useProgressSpinner};
@@ -1,2 +1 @@
1
- var v=Object.defineProperty,C=Object.defineProperties;var y=Object.getOwnPropertyDescriptors;var u=Object.getOwnPropertySymbols;var x=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable;var c=(e,d,a)=>d in e?v(e,d,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[d]=a,n=(e,d)=>{for(var a in d||(d={}))x.call(d,a)&&c(e,a,d[a]);if(u)for(var a of u(d))P.call(d,a)&&c(e,a,d[a]);return e},l=(e,d)=>C(e,y(d));import{withHeadless as g}from"@primereact/core/headless";import{useControlledState as B}from"@primereact/hooks/use-controlled-state";var r={checked:void 0,defaultChecked:void 0,inputId:void 0,value:void 0,name:void 0,disabled:void 0,readOnly:void 0,required:void 0,tabIndex:void 0,invalid:void 0,ariaLabelledby:void 0,ariaLabel:void 0,onFocus:void 0,onBlur:void 0,onCheckedChange:void 0};var E=g({name:"useRadioButton",defaultProps:r,setup:({props:e})=>{var i;let[d,a]=B({value:e.checked,defaultValue:(i=e.defaultChecked)!=null?i:!1,onChange:e.onCheckedChange}),s={checked:d},t=m=>{let o=!d;a([o,{originalEvent:m,checked:o}])},b=l(n(n({"data-scope":"radiobutton","data-part":"input",id:e.inputId,type:"radio",value:e.value,name:e.name,checked:d,tabIndex:e.tabIndex,disabled:e.disabled,readOnly:e.readOnly,required:e.required,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,"aria-invalid":e.invalid||void 0,[d?"data-checked":"data-unchecked"]:""},e.disabled&&{"data-disabled":""}),e.invalid&&{"data-invalid":""}),{onFocus:e.onFocus,onBlur:e.onBlur,onChange:e.readOnly?void 0:t}),f=n(n({"data-scope":"radiobutton","data-part":"box",[d?"data-checked":"data-unchecked"]:""},e.disabled&&{"data-disabled":""}),e.invalid&&{"data-invalid":""}),h=n(n({"data-scope":"radiobutton","data-part":"indicator",[d?"data-checked":"data-unchecked"]:""},e.disabled&&{"data-disabled":""}),e.invalid&&{"data-invalid":""}),k=n(n({"data-scope":"radiobutton","data-part":"root",[d?"data-checked":"data-unchecked"]:""},e.disabled&&{"data-disabled":""}),e.invalid&&{"data-invalid":""});return{state:s,rootProps:k,inputProps:b,boxProps:f,indicatorProps:h,onChange:t}}});export{r as defaultProps,E as useRadioButton};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{withHeadless as b}from"@primereact/core/headless";import{useControlledState as f}from"@primereact/hooks/use-controlled-state";var t={checked:void 0,defaultChecked:void 0,inputId:void 0,value:void 0,name:void 0,disabled:void 0,readOnly:void 0,required:void 0,tabIndex:void 0,invalid:void 0,ariaLabelledby:void 0,ariaLabel:void 0,onFocus:void 0,onBlur:void 0,onCheckedChange:void 0};var C=b({name:"useRadioButton",defaultProps:t,setup:({props:e})=>{let[d,i]=f({value:e.checked,defaultValue:e.defaultChecked??!1,onChange:e.onCheckedChange}),o={checked:d},a=s=>{let n=!d;i([n,{originalEvent:s,checked:n}])},u={"data-scope":"radiobutton","data-part":"input",id:e.inputId,type:"radio",value:e.value,name:e.name,checked:d,tabIndex:e.tabIndex,disabled:e.disabled,readOnly:e.readOnly,required:e.required,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,"aria-invalid":e.invalid||void 0,[d?"data-checked":"data-unchecked"]:"",...e.disabled&&{"data-disabled":""},...e.invalid&&{"data-invalid":""},onFocus:e.onFocus,onBlur:e.onBlur,onChange:e.readOnly?void 0:a},c={"data-scope":"radiobutton","data-part":"box",[d?"data-checked":"data-unchecked"]:"",...e.disabled&&{"data-disabled":""},...e.invalid&&{"data-invalid":""}},l={"data-scope":"radiobutton","data-part":"indicator",[d?"data-checked":"data-unchecked"]:"",...e.disabled&&{"data-disabled":""},...e.invalid&&{"data-invalid":""}},r={"data-scope":"radiobutton","data-part":"root",[d?"data-checked":"data-unchecked"]:"",...e.disabled&&{"data-disabled":""},...e.invalid&&{"data-invalid":""}};return{state:o,rootProps:r,inputProps:u,boxProps:c,indicatorProps:l,onChange:a}}});export{t as defaultProps,C as useRadioButton};
@@ -1,2 +1 @@
1
- import{withHeadless as d}from"@primereact/core/headless";import{useControlledState as i}from"@primereact/hooks/use-controlled-state";import*as n from"react";var u={value:void 0,defaultValue:void 0,onValueChange:void 0};var h=d({name:"useRadioButtonGroup",defaultProps:u,setup:({props:o})=>{let[a,e]=i({value:o.value,defaultValue:o.defaultValue,onChange:o.onValueChange}),p={value:a},s=n.useCallback(t=>{let r=t.checked?t.value:void 0;e==null||e([r,{originalEvent:t.originalEvent,value:r}])},[a,e]);return{state:p,rootProps:{"data-scope":"radiobuttongroup","data-part":"root"},updateChange:s}}});export{u as defaultProps,h as useRadioButtonGroup};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{withHeadless as d}from"@primereact/core/headless";import{useControlledState as l}from"@primereact/hooks/use-controlled-state";import*as s from"react";var u={value:void 0,defaultValue:void 0,onValueChange:void 0};var h=d({name:"useRadioButtonGroup",defaultProps:u,setup:({props:e})=>{let[t,a]=l({value:e.value,defaultValue:e.defaultValue,onChange:e.onValueChange}),n={value:t},p=s.useCallback(o=>{let r=o.checked?o.value:void 0;a?.([r,{originalEvent:o.originalEvent,value:r}])},[t,a]);return{state:n,rootProps:{"data-scope":"radiobuttongroup","data-part":"root"},updateChange:p}}});export{u as defaultProps,h as useRadioButtonGroup};
package/rating/index.mjs CHANGED
@@ -1,2 +1 @@
1
- var L=Object.defineProperty,N=Object.defineProperties;var U=Object.getOwnPropertyDescriptors;var z=Object.getOwnPropertySymbols;var D=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable;var F=(a,e,t)=>e in a?L(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,n=(a,e)=>{for(var t in e||(e={}))D.call(e,t)&&F(a,t,e[t]);if(z)for(var t of z(e))W.call(e,t)&&F(a,t,e[t]);return a},b=(a,e)=>N(a,U(e));import{withHeadless as X}from"@primereact/core/headless";import{useControlledState as Y}from"@primereact/hooks";import*as o from"react";var T={value:void 0,defaultValue:void 0,allowHalf:!0,name:void 0,orientation:"horizontal",disabled:void 0,readOnly:void 0,invalid:void 0,onValueChange:void 0};var _=X({name:"useRating",defaultProps:T,setup({props:a}){var O,R,l,M,S;let[e,t]=Y({value:a.value,defaultValue:a.defaultValue,onChange:a.onValueChange}),[d,f]=o.useState(!1),[s,m]=o.useState(0),y=o.useId(),v=(O=a.name)!=null?O:y,h=o.useRef(!1),H=o.useCallback((i,r)=>t([r,{originalEvent:i,value:r}]),[t]),u=o.useCallback(()=>{!a.disabled&&!a.readOnly&&!d&&f(!0)},[a.disabled,a.readOnly,d]),g=o.useCallback(()=>{!a.disabled&&!a.readOnly&&f(!1)},[a.disabled,a.readOnly]),p=o.useCallback((i,r,I)=>{if(a.allowHalf&&r){let C=r.getBoundingClientRect();return(a.orientation==="vertical"?i.clientY<C.top+C.height/2:i.clientX<C.left+C.width/2)?I+.5:I+1}return I+1},[a.allowHalf,a.orientation]),V={value:e!=null?e:0,hovering:d,hoveringValue:s},E=b(n(n(n({"data-scope":"rating","data-part":"root","data-orientation":(R=a.orientation)!=null?R:"horizontal"},a.disabled&&{"data-disabled":""}),a.readOnly&&{"data-readonly":""}),a.invalid&&{"data-invalid":""}),{onPointerEnter:()=>{if(a.disabled||a.readOnly)return;let i=document.activeElement;(i==null?void 0:i.type)==="radio"&&i.name===v&&(h.current=!0,i.blur(),h.current=!1),u()},onPointerMove:()=>{!a.disabled&&!a.readOnly&&!d&&u()},onPointerLeave:()=>{g()},onFocusCapture:i=>{if(a.disabled||a.readOnly)return;let r=i.target;r.type==="radio"&&r.name===v&&(m(parseFloat(r.value)),u())},onBlurCapture:i=>{a.disabled||a.readOnly||h.current||i.currentTarget.contains(i.relatedTarget)||g()}}),k=n(n(n({"data-scope":"rating","data-part":"option","data-orientation":(l=a.orientation)!=null?l:"horizontal"},a.disabled&&{"data-disabled":""}),a.readOnly&&{"data-readonly":""}),a.invalid&&{"data-invalid":""}),P=n(n(n({"data-scope":"rating","data-part":"option-on","data-orientation":(M=a.orientation)!=null?M:"horizontal"},a.disabled&&{"data-disabled":""}),a.readOnly&&{"data-readonly":""}),a.invalid&&{"data-invalid":""}),w=n(n(n({"data-scope":"rating","data-part":"option-off","data-orientation":(S=a.orientation)!=null?S:"horizontal"},a.disabled&&{"data-disabled":""}),a.readOnly&&{"data-readonly":""}),a.invalid&&{"data-invalid":""});return{state:V,inputName:v,rootProps:E,updateValue:H,setHoveringValue:m,resolvePointerValue:p,optionProps:k,onProps:P,offProps:w}}});import{withHeadless as j}from"@primereact/core/headless";import*as c from"react";var B={index:0,context:void 0};var q={position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",borderWidth:0},ne=j({name:"useRatingOption",defaultProps:B,setup({props:a}){var R;let e=a.context,t=a.index,d=c.useRef(null),f=(R=e==null?void 0:e.state.value)!=null?R:0,s=e!=null&&e.state.hovering?e==null?void 0:e.state.hoveringValue:f,m=t>=0&&s>t,y=m&&!!(e!=null&&e.props.allowHalf)&&s===t+.5,v=t>=0&&(s===t+1||!!(e!=null&&e.props.allowHalf)&&s===t+.5),h={highlighted:m,half:y,checked:v,activeValue:s},H=n(n(n({"data-index":t},m&&{"data-highlighted":""}),y&&{"data-half":""}),v&&{"data-checked":""}),u=c.useCallback(l=>{!(e!=null&&e.props.disabled)&&!(e!=null&&e.props.readOnly)&&(e==null||e.setHoveringValue(e.resolvePointerValue(l,d.current,t)))},[e,t]),g=c.useCallback(l=>{!(e!=null&&e.props.disabled)&&!(e!=null&&e.props.readOnly)&&(e==null||e.updateValue(l,e.resolvePointerValue(l,d.current,t)))},[e,t]),p=c.useCallback(l=>{l.preventDefault()},[]),V={onMouseDown:p,onPointerMove:u,onClick:g},E={onMouseDown:p,onPointerMove:u,onClick:g},k=c.useCallback(l=>{!(e!=null&&e.props.disabled)&&!(e!=null&&e.props.readOnly)&&(e==null||e.updateValue(l,parseFloat(l.target.value)))},[e]),P={type:"radio",name:e==null?void 0:e.inputName,onChange:k,disabled:!!(e!=null&&e.props.disabled),"aria-readonly":(e==null?void 0:e.props.readOnly)||void 0,style:q},w=e!=null&&e.props.allowHalf?b(n({},P),{value:t+.5,checked:f===t+.5}):null,O=b(n({},P),{value:t+1,checked:f===t+1});return{state:h,optionRef:d,optionProps:H,onIconProps:V,offIconProps:E,halfInputProps:w,fullInputProps:O,onPointerMove:u,onClick:g,onMouseDown:p}}});export{B as defaultOptionProps,T as defaultProps,_ as useRating,ne as useRatingOption};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{withHeadless as w}from"@primereact/core/headless";import{useControlledState as k}from"@primereact/hooks";import{isRTL as x}from"@primeuix/utils";import*as i from"react";var V={value:void 0,defaultValue:void 0,allowHalf:!0,name:void 0,orientation:"horizontal",disabled:void 0,readOnly:void 0,invalid:void 0,onValueChange:void 0};var N=w({name:"useRating",defaultProps:V,setup({props:e}){let[t,n]=k({value:e.value,defaultValue:e.defaultValue,onChange:e.onValueChange}),[l,c]=i.useState(!1),[r,u]=i.useState(0),R=i.useId(),f=e.name??R,g=i.useRef(!1),b=i.useCallback((o,a)=>n([a,{originalEvent:o,value:a}]),[n]),d=i.useCallback(()=>{!e.disabled&&!e.readOnly&&!l&&c(!0)},[e.disabled,e.readOnly,l]),v=i.useCallback(()=>{!e.disabled&&!e.readOnly&&c(!1)},[e.disabled,e.readOnly]),h=i.useCallback((o,a,H)=>{if(e.allowHalf&&a){let m=a.getBoundingClientRect();return(e.orientation==="vertical"?o.clientY<m.top+m.height/2:x(a)?o.clientX>m.left+m.width/2:o.clientX<m.left+m.width/2)?H+.5:H+1}return H+1},[e.allowHalf,e.orientation]),y={value:t??0,hovering:l,hoveringValue:r},P={"data-scope":"rating","data-part":"root","data-orientation":e.orientation??"horizontal",...e.disabled&&{"data-disabled":""},...e.readOnly&&{"data-readonly":""},...e.invalid&&{"data-invalid":""},onPointerEnter:()=>{if(e.disabled||e.readOnly)return;let o=document.activeElement;o?.type==="radio"&&o.name===f&&(g.current=!0,o.blur(),g.current=!1),d()},onPointerMove:()=>{!e.disabled&&!e.readOnly&&!l&&d()},onPointerLeave:()=>{v()},onFocusCapture:o=>{if(e.disabled||e.readOnly)return;let a=o.target;a.type==="radio"&&a.name===f&&(u(parseFloat(a.value)),d())},onBlurCapture:o=>{e.disabled||e.readOnly||g.current||o.currentTarget.contains(o.relatedTarget)||v()}},O={"data-scope":"rating","data-part":"option","data-orientation":e.orientation??"horizontal",...e.disabled&&{"data-disabled":""},...e.readOnly&&{"data-readonly":""},...e.invalid&&{"data-invalid":""}},p={"data-scope":"rating","data-part":"option-on","data-orientation":e.orientation??"horizontal",...e.disabled&&{"data-disabled":""},...e.readOnly&&{"data-readonly":""},...e.invalid&&{"data-invalid":""}},C={"data-scope":"rating","data-part":"option-off","data-orientation":e.orientation??"horizontal",...e.disabled&&{"data-disabled":""},...e.readOnly&&{"data-readonly":""},...e.invalid&&{"data-invalid":""}};return{state:y,inputName:f,rootProps:P,updateValue:b,setHoveringValue:u,resolvePointerValue:h,optionProps:O,onProps:p,offProps:C}}});import{withHeadless as M}from"@primereact/core/headless";import*as s from"react";var E={index:0,context:void 0};var S={position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",borderWidth:0},Y=M({name:"useRatingOption",defaultProps:E,setup({props:e}){let t=e.context,n=e.index,l=s.useRef(null),c=t?.state.value??0,r=t?.state.hovering?t?.state.hoveringValue:c,u=n>=0&&r>n,R=u&&!!t?.props.allowHalf&&r===n+.5,f=n>=0&&(r===n+1||!!t?.props.allowHalf&&r===n+.5),g={highlighted:u,half:R,checked:f,activeValue:r},b={"data-index":n,...u&&{"data-highlighted":""},...R&&{"data-half":""},...f&&{"data-checked":""}},d=s.useCallback(a=>{!t?.props.disabled&&!t?.props.readOnly&&t?.setHoveringValue(t.resolvePointerValue(a,l.current,n))},[t,n]),v=s.useCallback(a=>{!t?.props.disabled&&!t?.props.readOnly&&t?.updateValue(a,t.resolvePointerValue(a,l.current,n))},[t,n]),h=s.useCallback(a=>{a.preventDefault()},[]),y={onMouseDown:h,onPointerMove:d,onClick:v},P={onMouseDown:h,onPointerMove:d,onClick:v},O=s.useCallback(a=>{!t?.props.disabled&&!t?.props.readOnly&&t?.updateValue(a,parseFloat(a.target.value))},[t]),p={type:"radio",name:t?.inputName,onChange:O,disabled:!!t?.props.disabled,"aria-readonly":t?.props.readOnly||void 0,style:S},C=t?.props.allowHalf?{...p,value:n+.5,checked:c===n+.5}:null,o={...p,value:n+1,checked:c===n+1};return{state:g,optionRef:l,optionProps:b,onIconProps:y,offIconProps:P,halfInputProps:C,fullInputProps:o,onPointerMove:d,onClick:v,onMouseDown:h}}});export{E as defaultOptionProps,V as defaultProps,N as useRating,Y as useRatingOption};
@@ -1,2 +1 @@
1
- var Ye=Object.defineProperty,Xe=Object.defineProperties;var Ae=Object.getOwnPropertyDescriptors;var Re=Object.getOwnPropertySymbols;var Be=Object.prototype.hasOwnProperty,ze=Object.prototype.propertyIsEnumerable;var me=(f,d,l)=>d in f?Ye(f,d,{enumerable:!0,configurable:!0,writable:!0,value:l}):f[d]=l,i=(f,d)=>{for(var l in d||(d={}))Be.call(d,l)&&me(f,l,d[l]);if(Re)for(var l of Re(d))ze.call(d,l)&&me(f,l,d[l]);return f},g=(f,d)=>Xe(f,Ae(d));import{withHeadless as Ie}from"@primereact/core/headless";import*as e from"react";var Pe={variant:"auto",mask:!1,tabIndex:0};var ve=500,be=20,Ve=Ie({name:"useScrollArea",defaultProps:Pe,setup({props:f}){let d=e.useRef(null),l=e.useRef(null),M=e.useRef(null),D=e.useRef(null),_=e.useRef(null),q=e.useRef(null),Se=e.useRef(null),[T,re]=e.useState(!1),[w,ne]=e.useState(!1),[L,ce]=e.useState(!1),[ae,N]=e.useState(!1),[n,xe]=e.useState({hiddenX:!0,hiddenY:!0,cornerHidden:!0,cornerWidth:0,cornerHeight:0,xBefore:!1,xAfter:!1,yBefore:!1,yAfter:!1}),I=e.useRef(!1),K=e.useRef("vertical"),C=e.useRef({pointerPos:0,scrollPos:0}),He=e.useRef({top:0,left:0}),U=e.useRef(null),O=e.useRef(null),k=e.useRef(null),S=e.useCallback(function(){let t=l.current;if(!t)return;let{scrollHeight:c,scrollWidth:o,clientHeight:s,clientWidth:a,scrollTop:p,scrollLeft:b}=t,R=s>=c,m=a>=o,P=M.current,v=D.current,E=!R&&!m&&P?P.offsetWidth:0,y=!R&&!m&&v?v.offsetHeight:0,Q=P&&!R?P.offsetHeight:0,ee=v&&!m?v.offsetWidth:0;if(xe(h=>{let u={hiddenX:m,hiddenY:R,cornerHidden:m||R,cornerWidth:E,cornerHeight:y,xBefore:!m&&b>0,xAfter:!m&&o-a-b>1,yBefore:!R&&p>0,yAfter:!R&&c-s-p>1};return h.hiddenX===u.hiddenX&&h.hiddenY===u.hiddenY&&h.cornerHidden===u.cornerHidden&&h.cornerWidth===u.cornerWidth&&h.cornerHeight===u.cornerHeight&&h.xBefore===u.xBefore&&h.xAfter===u.xAfter&&h.yBefore===u.yBefore&&h.yAfter===u.yAfter?h:u}),P&&!R&&Q>0){let h=s/c,u=Math.max(h*Q,be),te=Q-u,z=c-s,oe=(z>0?p/z:0)*te;P.style.setProperty("--px-handle-height",`${u}px`),P.style.setProperty("--px-handle-offset",`${oe}px`)}if(v&&!m&&ee>0){let h=a/o,u=Math.max(h*ee,be),te=ee-u,z=o-a,oe=(z>0?b/z:0)*te;v.style.setProperty("--px-handle-width",`${u}px`),v.style.setProperty("--px-handle-offset",`${oe}px`)}},[]),Z=e.useCallback(function(){k.current||(k.current=requestAnimationFrame(()=>{k.current=null,S()}));let t=l.current;if(!t)return;let{scrollTop:c,scrollLeft:o}=t,s=He.current;c!==s.top&&(ce(a=>a||!0),O.current&&clearTimeout(O.current),O.current=setTimeout(()=>ce(!1),ve)),o!==s.left&&(ne(a=>a||!0),U.current&&clearTimeout(U.current),U.current=setTimeout(()=>ne(!1),ve)),s.top=c,s.left=o},[S]),W=e.useCallback(function(t,c){let o=l.current;!o||t.ctrlKey||(c==="vertical"?o.scrollTop+=t.deltaY:o.scrollLeft+=t.deltaX||t.deltaY)},[]),Y=e.useCallback(function(t,c){if(t.pointerType==="mouse"&&t.button!==0)return;t.preventDefault(),t.stopPropagation();let o=c==="vertical",s=o?M.current:D.current,a=l.current;!s||!a||(s.setPointerCapture(t.pointerId),I.current=!0,K.current=c,C.current={pointerPos:o?t.clientY:t.clientX,scrollPos:o?a.scrollTop:a.scrollLeft})},[]),X=e.useCallback(function(t,c){if(t.pointerType==="mouse"&&t.button!==0)return;t.preventDefault();let o=c==="vertical",s=o?M.current:D.current,a=l.current;if(!s||!a)return;s.setPointerCapture(t.pointerId),I.current=!0,K.current=c;let p=s.getBoundingClientRect(),b=o?_.current:q.current,R=b?o?b.offsetHeight:b.offsetWidth:0,P=(o?p.height:p.width)-R;if(P>0){let v=(o?t.clientY-p.top:t.clientX-p.left)-R/2,E=Math.max(0,Math.min(1,v/P)),y=o?a.scrollHeight-a.clientHeight:a.scrollWidth-a.clientWidth;o?a.scrollTop=E*y:a.scrollLeft=E*y}C.current={pointerPos:o?t.clientY:t.clientX,scrollPos:o?a.scrollTop:a.scrollLeft}},[]),A=e.useCallback(function(t){if(!I.current)return;t.preventDefault();let c=K.current==="vertical",o=l.current,s=c?M.current:D.current;if(!o||!s)return;let a=s.getBoundingClientRect(),p=c?_.current:q.current,b=p?c?p.offsetHeight:p.offsetWidth:0,m=(c?a.height:a.width)-b;if(m<=0)return;let v=(c?t.clientY:t.clientX)-C.current.pointerPos,E=c?o.scrollHeight-o.clientHeight:o.scrollWidth-o.clientWidth,y=v/m*E;c?o.scrollTop=C.current.scrollPos+y:o.scrollLeft=C.current.scrollPos+y},[]),B=e.useCallback(function(t){t.preventDefault(),t.currentTarget.releasePointerCapture(t.pointerId),I.current=!1},[]),j=e.useCallback(function(t){t.pointerType==="touch"?N(!0):(N(!1),re(!0))},[]),G=e.useCallback(function(){re(!1)},[]),J=e.useCallback(function(t){t.pointerType==="touch"&&N(!0)},[]);e.useLayoutEffect(()=>{let r=l.current;if(!r)return;let t=null,c=new ResizeObserver(()=>{t||(t=requestAnimationFrame(()=>{t=null,S()}))});return c.observe(r),r.firstElementChild&&c.observe(r.firstElementChild),S(),()=>{c.disconnect(),t&&cancelAnimationFrame(t)}},[S]),e.useLayoutEffect(()=>{S()},[n.hiddenX,n.hiddenY,S]),e.useEffect(()=>()=>{var r,t;clearTimeout((r=U.current)!=null?r:void 0),clearTimeout((t=O.current)!=null?t:void 0),k.current&&cancelAnimationFrame(k.current)},[]);let $=e.useMemo(()=>({width:n.cornerWidth,height:n.cornerHeight}),[n.cornerWidth,n.cornerHeight]),ye=e.useMemo(()=>({x:n.hiddenX,y:n.hiddenY,corner:n.cornerHidden}),[n.hiddenX,n.hiddenY,n.cornerHidden]),F=w||L,x=!n.hiddenX,H=!n.hiddenY,ge=e.useMemo(()=>({hovering:T,scrollingX:w,scrollingY:L,scrolling:F,touchModality:ae,hasOverflowX:x,hasOverflowY:H,scrollXBefore:n.xBefore,scrollXAfter:n.xAfter,scrollYBefore:n.yBefore,scrollYAfter:n.yAfter,cornerHidden:n.cornerHidden}),[T,w,L,F,ae,x,H,n]),V=e.useMemo(()=>i(i(i(i(i(i(i({},F&&{"data-scrolling":""}),x&&{"data-has-overflow-x":""}),H&&{"data-has-overflow-y":""}),n.xBefore&&{"data-scroll-x-before":""}),n.xAfter&&{"data-scroll-x-after":""}),n.yBefore&&{"data-scroll-y-before":""}),n.yAfter&&{"data-scroll-y-after":""}),[F,x,H,n.xBefore,n.xAfter,n.yBefore,n.yAfter]),Te=e.useMemo(()=>g(i(i({"data-scope":"scrollarea","data-part":"root",ref:d,role:"presentation","data-variant":f.variant},f.mask&&{"data-mask":""}),V),{onPointerEnter:j,onPointerLeave:G,onPointerDown:J,style:{position:"relative","--px-corner-height":`${$.height}px`,"--px-corner-width":`${$.width}px`}}),[f.variant,f.mask,V,j,G,J,$]),le=x||H?f.tabIndex||0:void 0,Ee=e.useMemo(()=>g(i({"data-scope":"scrollarea","data-part":"viewport",ref:l,tabIndex:le,onScroll:Z},V),{style:{overflow:"scroll",scrollbarWidth:"none"}}),[le,Z,V]),se=e.useCallback(r=>X(r,"vertical"),[X]),ie=e.useCallback(r=>X(r,"horizontal"),[X]),ue=e.useCallback(r=>W(r,"vertical"),[W]),fe=e.useCallback(r=>W(r,"horizontal"),[W]),de=e.useCallback(r=>Y(r,"vertical"),[Y]),he=e.useCallback(r=>Y(r,"horizontal"),[Y]),pe={position:"absolute",touchAction:"none",userSelect:"none",WebkitUserSelect:"none"},Me=e.useMemo(()=>g(i(i({"data-scope":"scrollarea","data-part":"scrollbar-y","data-orientation":"vertical"},T&&{"data-hovering":""}),L&&{"data-scrolling":""}),{ref:M,onPointerDown:se,onPointerMove:A,onPointerUp:B,onWheel:ue,style:g(i({},pe),{top:0,bottom:"var(--px-corner-height)",insetInlineEnd:0})}),[T,L,se,A,B,ue]),De=e.useMemo(()=>g(i(i({"data-scope":"scrollarea","data-part":"scrollbar-x","data-orientation":"horizontal"},T&&{"data-hovering":""}),w&&{"data-scrolling":""}),{ref:D,onPointerDown:ie,onPointerMove:A,onPointerUp:B,onWheel:fe,style:g(i({},pe),{bottom:0,insetInlineStart:0,insetInlineEnd:"var(--px-corner-width)"})}),[T,w,ie,A,B,fe]),we=e.useMemo(()=>({"data-scope":"scrollarea","data-part":"handle-y","data-orientation":"vertical",ref:_,onPointerDown:de,style:{height:"var(--px-handle-height, 0px)",transform:"translate3d(0, var(--px-handle-offset, 0px), 0)"}}),[de]),Le=e.useMemo(()=>({"data-scope":"scrollarea","data-part":"handle-x","data-orientation":"horizontal",ref:q,onPointerDown:he,style:{width:"var(--px-handle-width, 0px)",transform:"translate3d(var(--px-handle-offset, 0px), 0, 0)"}}),[he]),Ce=e.useMemo(()=>({"data-scope":"scrollarea","data-part":"content",style:{minWidth:x?"fit-content":void 0,minHeight:H?"fit-content":void 0}}),[x,H]),ke=e.useMemo(()=>({"data-scope":"scrollarea","data-part":"corner",ref:Se,style:{position:"absolute",bottom:0,insetInlineEnd:0,width:"var(--px-corner-width)",height:"var(--px-corner-height)"}}),[]);return{state:ge,cornerSize:$,hiddenState:ye,rootProps:Te,viewportProps:Ee,contentProps:Ce,scrollbarYProps:Me,scrollbarXProps:De,handleYProps:we,handleXProps:Le,cornerProps:ke,computeHandle:S,handleScroll:Z,handleScrollbarPointerDown:X,handleScrollbarPointerMove:A,handleScrollbarPointerUp:B,handleScrollbarWheel:W,handleHandlePointerDown:Y,onRootPointerEnter:j,onRootPointerLeave:G,onRootPointerDown:J}}});export{Pe as defaultProps,Ve as useScrollArea};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{withHeadless as Le}from"@primereact/core/headless";import*as e from"react";var de={variant:"auto",mask:!1,tabIndex:0};var he=500,pe=20,Ye=Le({name:"useScrollArea",defaultProps:de,setup({props:y}){let Re=e.useRef(null),m=e.useRef(null),g=e.useRef(null),T=e.useRef(null),$=e.useRef(null),F=e.useRef(null),me=e.useRef(null),[x,ee]=e.useState(!1),[E,te]=e.useState(!1),[M,oe]=e.useState(!1),[re,V]=e.useState(!1),[r,Pe]=e.useState({hiddenX:!0,hiddenY:!0,cornerHidden:!0,cornerWidth:0,cornerHeight:0,xBefore:!1,xAfter:!1,yBefore:!1,yAfter:!1}),A=e.useRef(!1),_=e.useRef("vertical"),D=e.useRef({pointerPos:0,scrollPos:0}),ve=e.useRef({top:0,left:0}),B=e.useRef(null),z=e.useRef(null),w=e.useRef(null),P=e.useCallback(function(){let t=m.current;if(!t)return;let{scrollHeight:n,scrollWidth:o,clientHeight:l,clientWidth:a,scrollTop:u,scrollLeft:R}=t,f=l>=n,d=a>=o,h=g.current,p=T.current,H=!f&&!d&&h?h.offsetWidth:0,S=!f&&!d&&p?p.offsetHeight:0,j=h&&!f?h.offsetHeight:0,G=p&&!d?p.offsetWidth:0;if(Pe(i=>{let s={hiddenX:d,hiddenY:f,cornerHidden:d||f,cornerWidth:H,cornerHeight:S,xBefore:!d&&R>0,xAfter:!d&&o-a-R>1,yBefore:!f&&u>0,yAfter:!f&&n-l-u>1};return i.hiddenX===s.hiddenX&&i.hiddenY===s.hiddenY&&i.cornerHidden===s.cornerHidden&&i.cornerWidth===s.cornerWidth&&i.cornerHeight===s.cornerHeight&&i.xBefore===s.xBefore&&i.xAfter===s.xAfter&&i.yBefore===s.yBefore&&i.yAfter===s.yAfter?i:s}),h&&!f&&j>0){let i=l/n,s=Math.max(i*j,pe),J=j-s,X=n-l,Q=(X>0?u/X:0)*J;h.style.setProperty("--px-handle-height",`${s}px`),h.style.setProperty("--px-handle-offset",`${Q}px`)}if(p&&!d&&G>0){let i=a/o,s=Math.max(i*G,pe),J=G-s,X=o-a,Q=(X>0?R/X:0)*J;p.style.setProperty("--px-handle-width",`${s}px`),p.style.setProperty("--px-handle-offset",`${Q}px`)}},[]),q=e.useCallback(function(){w.current||(w.current=requestAnimationFrame(()=>{w.current=null,P()}));let t=m.current;if(!t)return;let{scrollTop:n,scrollLeft:o}=t,l=ve.current;n!==l.top&&(oe(a=>a||!0),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>oe(!1),he)),o!==l.left&&(te(a=>a||!0),B.current&&clearTimeout(B.current),B.current=setTimeout(()=>te(!1),he)),l.top=n,l.left=o},[P]),L=e.useCallback(function(t,n){let o=m.current;!o||t.ctrlKey||(n==="vertical"?o.scrollTop+=t.deltaY:o.scrollLeft+=t.deltaX||t.deltaY)},[]),C=e.useCallback(function(t,n){if(t.pointerType==="mouse"&&t.button!==0)return;t.preventDefault(),t.stopPropagation();let o=n==="vertical",l=o?g.current:T.current,a=m.current;!l||!a||(l.setPointerCapture(t.pointerId),A.current=!0,_.current=n,D.current={pointerPos:o?t.clientY:t.clientX,scrollPos:o?a.scrollTop:a.scrollLeft})},[]),k=e.useCallback(function(t,n){if(t.pointerType==="mouse"&&t.button!==0)return;t.preventDefault();let o=n==="vertical",l=o?g.current:T.current,a=m.current;if(!l||!a)return;l.setPointerCapture(t.pointerId),A.current=!0,_.current=n;let u=l.getBoundingClientRect(),R=o?$.current:F.current,f=R?o?R.offsetHeight:R.offsetWidth:0,h=(o?u.height:u.width)-f;if(h>0){let p=(o?t.clientY-u.top:t.clientX-u.left)-f/2,H=Math.max(0,Math.min(1,p/h)),S=o?a.scrollHeight-a.clientHeight:a.scrollWidth-a.clientWidth;o?a.scrollTop=H*S:a.scrollLeft=H*S}D.current={pointerPos:o?t.clientY:t.clientX,scrollPos:o?a.scrollTop:a.scrollLeft}},[]),W=e.useCallback(function(t){if(!A.current)return;t.preventDefault();let n=_.current==="vertical",o=m.current,l=n?g.current:T.current;if(!o||!l)return;let a=l.getBoundingClientRect(),u=n?$.current:F.current,R=u?n?u.offsetHeight:u.offsetWidth:0,d=(n?a.height:a.width)-R;if(d<=0)return;let p=(n?t.clientY:t.clientX)-D.current.pointerPos,H=n?o.scrollHeight-o.clientHeight:o.scrollWidth-o.clientWidth,S=p/d*H;n?o.scrollTop=D.current.scrollPos+S:o.scrollLeft=D.current.scrollPos+S},[]),Y=e.useCallback(function(t){t.preventDefault(),t.currentTarget.releasePointerCapture(t.pointerId),A.current=!1},[]),N=e.useCallback(function(t){t.pointerType==="touch"?V(!0):(V(!1),ee(!0))},[]),K=e.useCallback(function(){ee(!1)},[]),Z=e.useCallback(function(t){t.pointerType==="touch"&&V(!0)},[]);e.useLayoutEffect(()=>{let c=m.current;if(!c)return;let t=null,n=new ResizeObserver(()=>{t||(t=requestAnimationFrame(()=>{t=null,P()}))});return n.observe(c),c.firstElementChild&&n.observe(c.firstElementChild),P(),()=>{n.disconnect(),t&&cancelAnimationFrame(t)}},[P]),e.useLayoutEffect(()=>{P()},[r.hiddenX,r.hiddenY,P]),e.useEffect(()=>()=>{clearTimeout(B.current??void 0),clearTimeout(z.current??void 0),w.current&&cancelAnimationFrame(w.current)},[]);let I=e.useMemo(()=>({width:r.cornerWidth,height:r.cornerHeight}),[r.cornerWidth,r.cornerHeight]),be=e.useMemo(()=>({x:r.hiddenX,y:r.hiddenY,corner:r.cornerHidden}),[r.hiddenX,r.hiddenY,r.cornerHidden]),U=E||M,v=!r.hiddenX,b=!r.hiddenY,Se=e.useMemo(()=>({hovering:x,scrollingX:E,scrollingY:M,scrolling:U,touchModality:re,hasOverflowX:v,hasOverflowY:b,scrollXBefore:r.xBefore,scrollXAfter:r.xAfter,scrollYBefore:r.yBefore,scrollYAfter:r.yAfter,cornerHidden:r.cornerHidden}),[x,E,M,U,re,v,b,r]),O=e.useMemo(()=>({...U&&{"data-scrolling":""},...v&&{"data-has-overflow-x":""},...b&&{"data-has-overflow-y":""},...r.xBefore&&{"data-scroll-x-before":""},...r.xAfter&&{"data-scroll-x-after":""},...r.yBefore&&{"data-scroll-y-before":""},...r.yAfter&&{"data-scroll-y-after":""}}),[U,v,b,r.xBefore,r.xAfter,r.yBefore,r.yAfter]),xe=e.useMemo(()=>({"data-scope":"scrollarea","data-part":"root",ref:Re,role:"presentation","data-variant":y.variant,...y.mask&&{"data-mask":""},...O,onPointerEnter:N,onPointerLeave:K,onPointerDown:Z,style:{position:"relative","--px-corner-height":`${I.height}px`,"--px-corner-width":`${I.width}px`}}),[y.variant,y.mask,O,N,K,Z,I]),ne=v||b?y.tabIndex||0:void 0,He=e.useMemo(()=>({"data-scope":"scrollarea","data-part":"viewport",ref:m,tabIndex:ne,onScroll:q,...O,style:{overflow:"scroll",scrollbarWidth:"none"}}),[ne,q,O]),ce=e.useCallback(c=>k(c,"vertical"),[k]),ae=e.useCallback(c=>k(c,"horizontal"),[k]),le=e.useCallback(c=>L(c,"vertical"),[L]),se=e.useCallback(c=>L(c,"horizontal"),[L]),ie=e.useCallback(c=>C(c,"vertical"),[C]),ue=e.useCallback(c=>C(c,"horizontal"),[C]),fe={position:"absolute",touchAction:"none",userSelect:"none",WebkitUserSelect:"none"},ye=e.useMemo(()=>({"data-scope":"scrollarea","data-part":"scrollbar-y","data-orientation":"vertical",...x&&{"data-hovering":""},...M&&{"data-scrolling":""},ref:g,onPointerDown:ce,onPointerMove:W,onPointerUp:Y,onWheel:le,style:{...fe,top:0,bottom:"var(--px-corner-height)",insetInlineEnd:0}}),[x,M,ce,W,Y,le]),ge=e.useMemo(()=>({"data-scope":"scrollarea","data-part":"scrollbar-x","data-orientation":"horizontal",...x&&{"data-hovering":""},...E&&{"data-scrolling":""},ref:T,onPointerDown:ae,onPointerMove:W,onPointerUp:Y,onWheel:se,style:{...fe,bottom:0,insetInlineStart:0,insetInlineEnd:"var(--px-corner-width)"}}),[x,E,ae,W,Y,se]),Te=e.useMemo(()=>({"data-scope":"scrollarea","data-part":"handle-y","data-orientation":"vertical",ref:$,onPointerDown:ie,style:{height:"var(--px-handle-height, 0px)",transform:"translate3d(0, var(--px-handle-offset, 0px), 0)"}}),[ie]),Ee=e.useMemo(()=>({"data-scope":"scrollarea","data-part":"handle-x","data-orientation":"horizontal",ref:F,onPointerDown:ue,style:{width:"var(--px-handle-width, 0px)",transform:"translate3d(var(--px-handle-offset, 0px), 0, 0)"}}),[ue]),Me=e.useMemo(()=>({"data-scope":"scrollarea","data-part":"content",style:{minWidth:v?"fit-content":void 0,minHeight:b?"fit-content":void 0}}),[v,b]),De=e.useMemo(()=>({"data-scope":"scrollarea","data-part":"corner",ref:me,style:{position:"absolute",bottom:0,insetInlineEnd:0,width:"var(--px-corner-width)",height:"var(--px-corner-height)"}}),[]);return{state:Se,cornerSize:I,hiddenState:be,rootProps:xe,viewportProps:He,contentProps:Me,scrollbarYProps:ye,scrollbarXProps:ge,handleYProps:Te,handleXProps:Ee,cornerProps:De,computeHandle:P,handleScroll:q,handleScrollbarPointerDown:k,handleScrollbarPointerMove:W,handleScrollbarPointerUp:Y,handleScrollbarWheel:L,handleHandlePointerDown:C,onRootPointerEnter:N,onRootPointerLeave:K,onRootPointerDown:Z}}});export{de as defaultProps,Ye as useScrollArea};
@@ -40,7 +40,7 @@ export declare const useScrollArea: (inProps?: unknown) => import("@primereact/t
40
40
  'data-part': "root";
41
41
  ref: React.RefObject<HTMLDivElement | null>;
42
42
  role: "presentation";
43
- 'data-variant': "scroll" | "auto" | "always" | "hidden" | "hover" | undefined;
43
+ 'data-variant': "hidden" | "auto" | "always" | "scroll" | "hover" | undefined;
44
44
  };
45
45
  viewportProps: {
46
46
  style: React.CSSProperties;
package/select/index.mjs CHANGED
@@ -1,2 +1 @@
1
- var se=Object.defineProperty,ie=Object.defineProperties;var le=Object.getOwnPropertyDescriptors;var S=Object.getOwnPropertySymbols;var ce=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable;var V=(t,s,l)=>s in t?se(t,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[s]=l,m=(t,s)=>{for(var l in s||(s={}))ce.call(s,l)&&V(t,l,s[l]);if(S)for(var l of S(s))re.call(s,l)&&V(t,l,s[l]);return t},h=(t,s)=>ie(t,le(s));import{withHeadless as ue}from"@primereact/core/headless";import{useListbox as de}from"@primereact/headless/listbox";import{usePopover as pe}from"@primereact/headless/popover";import{useControlledState as fe}from"@primereact/hooks/use-controlled-state";import{useEventListener as I}from"@primereact/hooks/use-event-listener";import{getFirstFocusableElement as me,getOuterWidth as Ee,isNotEmpty as be,focus as H}from"@primeuix/utils";import*as u from"react";var k={open:void 0,defaultOpen:void 0,value:void 0,defaultValue:void 0,options:[],optionKey:void 0,optionLabel:void 0,optionValue:void 0,optionDisabled:void 0,optionGroupLabel:void 0,optionGroupChildren:void 0,disabled:!1,invalid:!1,locale:void 0,metaKeySelection:!1,multiple:!1,autoOptionFocus:!0,selectOnFocus:!1,focusOnHover:!0,closeOnEscape:!1,autoFocus:!1,trapped:!1,onOpenChange:void 0,onValueChange:void 0};var xe=ue({name:"useSelect",defaultProps:k,setup({props:t,id:s,elementRef:l}){var F;let E=u.useRef(null),A=e=>{var a;(a=E.current)==null||a.call(E,e)},M=e=>{var a;(a=t.onOpenChange)==null||a.call(t,{value:!!e.value})},n=de({value:t.value,defaultValue:t.defaultValue,options:t.options,optionKey:t.optionKey,optionLabel:t.optionLabel,optionValue:t.optionValue,optionDisabled:t.optionDisabled,optionGroupLabel:t.optionGroupLabel,optionGroupChildren:t.optionGroupChildren,disabled:t.disabled,locale:t.locale,autoOptionFocus:t.autoOptionFocus,selectOnFocus:t.selectOnFocus,focusOnHover:t.focusOnHover,multiple:t.multiple,metaKeySelection:t.metaKeySelection,onValueChange:A}),o=pe({open:t.open,defaultOpen:(F=t.defaultOpen)!=null?F:!1,closeOnEscape:t.closeOnEscape,autoFocus:t.autoFocus,trapped:t.trapped,onOpenChange:M}),[d,g]=fe({value:t.value,defaultValue:t.defaultValue,onChange:t.onValueChange}),b=u.useRef(!1),[T,y]=u.useState(!1),U={value:d,opened:o.state.open,focused:T,focusedOptionIndex:n.state.focusedOptionIndex,anchorElement:o.state.anchorElement,positionerElement:o.state.positionerElement,popupElement:o.state.popupElement,arrowElement:o.state.arrowElement,rendered:o.state.rendered},O=()=>{o.setOpen(!0)},c=()=>{o.setOpen(!1),n.changeFocusedOptionIndex(new Event("blur"),-1)},w=()=>{o.state.open?c():O()},p=()=>{o.state.anchorElement&&H(o.state.anchorElement)},B=()=>{t.disabled||w()},G=()=>{var e,a;(a=(e=n.listProps).onFocus)==null||a.call(e),y(!0)},q=()=>{var e,a;(a=(e=n.listProps).onBlur)==null||a.call(e),y(!1)},v=e=>{let a=e.value;if(a===null){c(),p();return}let i=n.getOptions().find(r=>{let f=n.getOptionValue(r);return n.isEquals(f,a)});g([a,{originalEvent:e.originalEvent,value:a,option:i}]),c(),p()},L=e=>{e.preventDefault(),e.stopPropagation();let a=t.multiple?[]:null;g([a,{originalEvent:e,value:a,option:null}]),n.updateModel(e,a),o.state.open&&c(),p()},_=e=>{(e.code==="Enter"||e.code==="Space")&&L(e)};E.current=e=>{t.multiple?g([e.value,{originalEvent:e.originalEvent,value:e.value}]):v(e)};let P=e=>{var a,i,r,f;switch(e.code){case"ArrowDown":K(e);break;case"ArrowUp":$(e);break;case"Enter":case"NumpadEnter":case"Space":z(e);break;case"Home":case"End":case"PageUp":case"PageDown":o.state.open&&((i=(a=n.listProps).onKeyDown)==null||i.call(a,e));break;case"Escape":o.state.open&&(c(),p());break;case"Tab":N(e);break;case"ArrowLeft":case"ArrowRight":case"ShiftLeft":case"ShiftRight":break;default:o.state.open&&((f=(r=n.listProps).onKeyDown)==null||f.call(r,e));break}},K=e=>{var a,i;o.state.open?(i=(a=n.listProps).onKeyDown)==null||i.call(a,e):(b.current=!0,O()),e.preventDefault()},$=e=>{var a,i;if(!o.state.open)b.current=!0,O();else if(e.altKey){let r=n.state.focusedOptionIndex;if(r!==-1){let f=n.getOptions()[r];f&&v({originalEvent:e,value:n.getOptionValue(f)})}c()}else(i=(a=n.listProps).onKeyDown)==null||i.call(a,e);e.preventDefault()},z=e=>{if(!o.state.open)K(e);else{let a=n.state.focusedOptionIndex;if(a!==-1){let i=n.getOptions()[a];i&&!n.isOptionDisabled(i)&&n.onOptionSelect(e,i)}}e.preventDefault()},N=e=>{if(o.state.open){let a=me(o.state.positionerElement,":not([data-focus-guard])");a?(H(a),e.preventDefault()):c()}},W=e=>{switch(e.code){case"Escape":c(),p(),e.preventDefault();break;case"Enter":case"NumpadEnter":if(n.state.focusedOptionIndex!==-1){let a=n.getOptions()[n.state.focusedOptionIndex];a&&!n.isOptionDisabled(a)&&n.onOptionSelect(e,a)}e.preventDefault();break;case"ArrowDown":case"ArrowUp":case"Home":case"End":case"PageUp":case"PageDown":P(e);break;default:break}},x=e=>{let a=n.getOptions().find(i=>n.isEquals(n.getOptionValue(i),e));return a?n.getOptionLabel(a):!t.optionValue&&e!=null?n.getOptionLabel(e):null},j=()=>C()?t.multiple&&Array.isArray(d)?d.map(x).filter(Boolean):x(d):null,C=()=>t.multiple?Array.isArray(d)&&d.length>0:be(d),[J]=I({target:()=>document.querySelector(`label[for="${s}"]`),type:"click",listener:()=>{p()}}),[R,D]=I({target:"window",type:"resize",listener:()=>{o.state.open&&c()}});u.useEffect(()=>{J()},[s]),u.useEffect(()=>{o.state.open?R():D()},[o.state.open,R,D]),u.useEffect(()=>{var e;if(o.state.open&&o.state.positionerElement){let a=(e=l==null?void 0:l.current)!=null?e:o.state.anchorElement;a&&(o.state.positionerElement.style.minWidth=Ee(a)+"px"),(b.current||t.autoOptionFocus)&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{let i=n.state.focusedOptionIndex,r=i!==-1?i:n.findFirstFocusedOptionIndex();n.changeFocusedOptionIndex(new Event("focus"),r),b.current=!1})})}},[o.state.open,o.state.positionerElement]);let Q=m(m({id:s,"data-scope":"select","data-part":"root"},t.disabled&&{"data-disabled":""}),t.invalid&&{"data-invalid":""}),X=m({"data-scope":"select","data-part":"indicator","aria-hidden":!0},o.state.open?{"data-open":""}:{"data-closed":""}),Y={"data-scope":"select","data-part":"clear","aria-label":"Clear",tabIndex:t.disabled?-1:0,onClick:L,onKeyDown:_},Z={"data-scope":"select","data-part":"positioner",ref:o.setPositionerRef},ee=m({"data-scope":"select","data-part":"popup",ref:o.setPopupRef},o.state.open&&{"data-open":""}),te={"data-scope":"select","data-part":"arrow",ref:o.setArrowRef},ne=h(m({},n==null?void 0:n.listProps),{id:`${s}_list`,tabIndex:-1,"data-scope":"select","data-part":"list"}),ae={"data-scope":"select","data-part":"filter",role:"searchbox",autoComplete:"off",disabled:t.disabled,"aria-owns":`${s}_list`,"aria-activedescendant":n==null?void 0:n.getFocusedOptionId(),tabIndex:t.disabled?-1:t.tabIndex,onBlur:n==null?void 0:n.filterProps.onBlur,onChange:n==null?void 0:n.filterProps.onChange,onKeyDown:W},oe=h(m({"data-scope":"select","data-part":"trigger",ref:o.setAnchorRef,tabIndex:t.disabled?-1:t.tabIndex,role:"combobox",disabled:t.disabled,"aria-haspopup":"listbox","aria-multiselectable":t.multiple||void 0,"aria-expanded":!!o.state.open,"aria-controls":o.state.open?`${s}_list`:void 0,"aria-activedescendant":o.state.open?n==null?void 0:n.getFocusedOptionId():void 0,"aria-invalid":t.invalid,"aria-disabled":t.disabled},o.state.open&&{"data-positioner-open":""}),{onClick:B,onKeyDown:P,onFocus:G,onBlur:q});return{state:U,listbox:n,rootProps:Q,triggerProps:oe,filterProps:ae,listProps:ne,indicatorProps:X,clearProps:Y,positionerProps:Z,popupProps:ee,arrowProps:te,setRendered:o.setRendered,getSelectedOptionLabel:j,hasValue:C,show:O,hide:c,toggle:w,focus:p}}});export{k as defaultProps,xe as useSelect};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{withHeadless as ee}from"@primereact/core/headless";import{useListbox as te}from"@primereact/headless/listbox";import{usePopover as ne}from"@primereact/headless/popover";import{useControlledState as oe}from"@primereact/hooks/use-controlled-state";import{useEventListener as R}from"@primereact/hooks/use-event-listener";import{getFirstFocusableElement as ae,getOuterWidth as se,isNotEmpty as ie,focus as C}from"@primeuix/utils";import*as l from"react";var P={open:void 0,defaultOpen:void 0,value:void 0,defaultValue:void 0,options:[],optionKey:void 0,optionLabel:void 0,optionValue:void 0,optionDisabled:void 0,optionGroupLabel:void 0,optionGroupChildren:void 0,disabled:!1,invalid:!1,locale:void 0,metaKeySelection:!1,multiple:!1,autoOptionFocus:!0,selectOnFocus:!1,focusOnHover:!0,closeOnEscape:!1,autoFocus:!1,trapped:!1,onOpenChange:void 0,onValueChange:void 0};var be=ee({name:"useSelect",defaultProps:P,setup({props:t,id:u,elementRef:K}){let m=l.useRef(null),V=e=>{m.current?.(e)},D=e=>{t.onOpenChange?.({value:!!e.value})},o=te({value:t.value,defaultValue:t.defaultValue,options:t.options,optionKey:t.optionKey,optionLabel:t.optionLabel,optionValue:t.optionValue,optionDisabled:t.optionDisabled,optionGroupLabel:t.optionGroupLabel,optionGroupChildren:t.optionGroupChildren,disabled:t.disabled,locale:t.locale,autoOptionFocus:t.autoOptionFocus,selectOnFocus:t.selectOnFocus,focusOnHover:t.focusOnHover,multiple:t.multiple,metaKeySelection:t.metaKeySelection,onValueChange:V}),n=ne({open:t.open,defaultOpen:t.defaultOpen??!1,closeOnEscape:t.closeOnEscape,autoFocus:t.autoFocus,trapped:t.trapped,onOpenChange:D}),[c,f]=oe({value:t.value,defaultValue:t.defaultValue,onChange:t.onValueChange}),d=l.useRef(!1),[F,b]=l.useState(!1),S={value:c,opened:n.state.open,focused:F,focusedOptionIndex:o.state.focusedOptionIndex,anchorElement:n.state.anchorElement,positionerElement:n.state.positionerElement,popupElement:n.state.popupElement,arrowElement:n.state.arrowElement,rendered:n.state.rendered},p=()=>{n.setOpen(!0)},i=()=>{n.setOpen(!1),o.changeFocusedOptionIndex(new Event("blur"),-1)},E=()=>{n.state.open?i():p()},r=()=>{n.state.anchorElement&&C(n.state.anchorElement)},k=()=>{t.disabled||E()},I=()=>{o.listProps.onFocus?.(),b(!0)},H=()=>{o.listProps.onBlur?.(),b(!1)},g=e=>{let a=e.value;if(a===null){i(),r();return}let s=o.getOptions().find(Y=>{let Z=o.getOptionValue(Y);return o.isEquals(Z,a)});f([a,{originalEvent:e.originalEvent,value:a,option:s}]),i(),r()},O=e=>{e.preventDefault(),e.stopPropagation();let a=t.multiple?[]:null;f([a,{originalEvent:e,value:a,option:null}]),o.updateModel(e,a),n.state.open&&i(),r()},A=e=>{(e.code==="Enter"||e.code==="Space")&&O(e)};m.current=e=>{t.multiple?f([e.value,{originalEvent:e.originalEvent,value:e.value}]):g(e)};let h=e=>{switch(e.code){case"ArrowDown":y(e);break;case"ArrowUp":M(e);break;case"Enter":case"NumpadEnter":case"Space":T(e);break;case"Home":case"End":case"PageUp":case"PageDown":n.state.open&&o.listProps.onKeyDown?.(e);break;case"Escape":n.state.open&&(i(),r());break;case"Tab":U(e);break;case"ArrowLeft":case"ArrowRight":case"ShiftLeft":case"ShiftRight":break;default:n.state.open&&o.listProps.onKeyDown?.(e);break}},y=e=>{n.state.open?o.listProps.onKeyDown?.(e):(d.current=!0,p()),e.preventDefault()},M=e=>{if(!n.state.open)d.current=!0,p();else if(e.altKey){let a=o.state.focusedOptionIndex;if(a!==-1){let s=o.getOptions()[a];s&&g({originalEvent:e,value:o.getOptionValue(s)})}i()}else o.listProps.onKeyDown?.(e);e.preventDefault()},T=e=>{if(!n.state.open)y(e);else{let a=o.state.focusedOptionIndex;if(a!==-1){let s=o.getOptions()[a];s&&!o.isOptionDisabled(s)&&o.onOptionSelect(e,s)}}e.preventDefault()},U=e=>{if(n.state.open){let a=ae(n.state.positionerElement,":not([data-focus-guard])");a?(C(a),e.preventDefault()):i()}},B=e=>{switch(e.code){case"Escape":i(),r(),e.preventDefault();break;case"Enter":case"NumpadEnter":if(o.state.focusedOptionIndex!==-1){let a=o.getOptions()[o.state.focusedOptionIndex];a&&!o.isOptionDisabled(a)&&o.onOptionSelect(e,a)}e.preventDefault();break;case"ArrowDown":case"ArrowUp":case"Home":case"End":case"PageUp":case"PageDown":h(e);break;default:break}},w=e=>{let a=o.getOptions().find(s=>o.isEquals(o.getOptionValue(s),e));return a?o.getOptionLabel(a):!t.optionValue&&e!=null?o.getOptionLabel(e):null},G=()=>v()?t.multiple&&Array.isArray(c)?c.map(w).filter(Boolean):w(c):null,v=()=>t.multiple?Array.isArray(c)&&c.length>0:ie(c),[q]=R({target:()=>document.querySelector(`label[for="${u}"]`),type:"click",listener:()=>{r()}}),[x,L]=R({target:"window",type:"resize",listener:()=>{n.state.open&&i()}});l.useEffect(()=>{q()},[u]),l.useEffect(()=>{n.state.open?x():L()},[n.state.open,x,L]),l.useEffect(()=>{if(n.state.open&&n.state.positionerElement){let e=K?.current??n.state.anchorElement;e&&(n.state.positionerElement.style.minWidth=se(e)+"px"),(d.current||t.autoOptionFocus)&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{let a=o.state.focusedOptionIndex,s=a!==-1?a:o.findFirstFocusedOptionIndex();o.changeFocusedOptionIndex(new Event("focus"),s),d.current=!1})})}},[n.state.open,n.state.positionerElement]);let _={id:u,"data-scope":"select","data-part":"root",...t.disabled&&{"data-disabled":""},...t.invalid&&{"data-invalid":""}},$={"data-scope":"select","data-part":"indicator","aria-hidden":!0,...n.state.open?{"data-open":""}:{"data-closed":""}},z={"data-scope":"select","data-part":"clear","aria-label":"Clear",tabIndex:t.disabled?-1:0,onClick:O,onKeyDown:A},N={"data-scope":"select","data-part":"positioner",ref:n.setPositionerRef},W={"data-scope":"select","data-part":"popup",ref:n.setPopupRef,...n.state.open&&{"data-open":""}},j={"data-scope":"select","data-part":"arrow",ref:n.setArrowRef},J={...o?.listProps,id:`${u}_list`,tabIndex:-1,"data-scope":"select","data-part":"list"},Q={"data-scope":"select","data-part":"filter",role:"searchbox",autoComplete:"off",disabled:t.disabled,"aria-owns":`${u}_list`,"aria-activedescendant":o?.getFocusedOptionId(),tabIndex:t.disabled?-1:t.tabIndex,onBlur:o?.filterProps.onBlur,onChange:o?.filterProps.onChange,onKeyDown:B},X={"data-scope":"select","data-part":"trigger",ref:n.setAnchorRef,tabIndex:t.disabled?-1:t.tabIndex,role:"combobox",disabled:t.disabled,"aria-haspopup":"listbox","aria-multiselectable":t.multiple||void 0,"aria-expanded":!!n.state.open,"aria-controls":n.state.open?`${u}_list`:void 0,"aria-activedescendant":n.state.open?o?.getFocusedOptionId():void 0,"aria-invalid":t.invalid,"aria-disabled":t.disabled,...n.state.open&&{"data-positioner-open":""},onClick:k,onKeyDown:h,onFocus:I,onBlur:H};return{state:S,listbox:o,rootProps:_,triggerProps:X,filterProps:Q,listProps:J,indicatorProps:$,clearProps:z,positionerProps:N,popupProps:W,arrowProps:j,setRendered:n.setRendered,getSelectedOptionLabel:G,hasValue:v,show:p,hide:i,toggle:E,focus:r}}});export{P as defaultProps,be as useSelect};
package/sidebar/index.mjs CHANGED
@@ -1,2 +1 @@
1
- var z=Object.defineProperty,V=Object.defineProperties;var j=Object.getOwnPropertyDescriptors;var k=Object.getOwnPropertySymbols;var q=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var x=(e,a,l)=>a in e?z(e,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[a]=l,s=(e,a)=>{for(var l in a||(a={}))q.call(a,l)&&x(e,l,a[l]);if(k)for(var l of k(a))A.call(a,l)&&x(e,l,a[l]);return e},O=(e,a)=>V(e,j(a));import{withHeadless as B}from"@primereact/core/headless";import{useControlledState as F}from"@primereact/hooks/use-controlled-state";import*as u from"react";var E={layout:void 0,id:void 0,side:"left",variant:"sidebar",collapsible:"icon",overlay:!1,open:void 0,defaultOpen:!0,onOpenChange:void 0,openOnHover:!1,hoverOpenDelay:50,hoverCloseDelay:100,dismissable:!0,hideOnOutsideClick:!0,width:"16rem",iconWidth:"3rem"};var _=B({name:"useSidebar",defaultProps:E,setup({props:e}){var C,R;let[a,l]=F({value:e.open,defaultValue:(C=e.defaultOpen)!=null?C:!0,onChange:e.onOpenChange}),t=a?"expanded":"collapsed",m={open:!!a,displayState:t},d=c=>{e.collapsible!=="none"&&l([!a,{originalEvent:c,value:!a}])},y=c=>{l([!0,{originalEvent:c,value:!0}])},b=c=>{e.collapsible!=="none"&&l([!1,{originalEvent:c,value:!1}])},v=u.useRef(null),h=()=>{v.current&&(clearTimeout(v.current),v.current=null)},S=u.useCallback(c=>{var p;e.openOnHover&&(h(),v.current=setTimeout(()=>y(c),(p=e.hoverOpenDelay)!=null?p:50))},[e.openOnHover,e.hoverOpenDelay]),i=u.useCallback(c=>{var p;e.openOnHover&&(h(),v.current=setTimeout(()=>b(c),(p=e.hoverCloseDelay)!=null?p:100))},[e.openOnHover,e.hoverCloseDelay]);u.useEffect(()=>h,[]);let o=(R=e.layout)==null?void 0:R.setSidebar;u.useEffect(()=>{if(!(!o||!e.id))return()=>o(e.id,null)},[o,e.id]),u.useEffect(()=>{!o||!e.id||o(e.id,{toggle:d,collapse:b,open:!!a,state:a?"expanded":"collapsed",overlay:!!e.overlay,hideOnOutsideClick:e.hideOnOutsideClick!==!1})},[o,e.id,a,e.overlay,e.hideOnOutsideClick]);let n=O(s(s({"data-scope":"sidebar","data-part":"root","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-collapsible-mode":e.collapsible,"data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),e.openOnHover?{onPointerEnter:S,onPointerLeave:i}:void 0),{style:{"--px-sidebar-width":e.width,"--px-sidebar-width-icon":e.iconWidth}}),r=s({"data-scope":"sidebar","data-part":"spacer","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),g=s({"data-scope":"sidebar","data-part":"aside","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),P=s({"data-scope":"sidebar","data-part":"panel","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),T=s({"data-scope":"sidebar","data-part":"content","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),w=s({"data-scope":"sidebar","data-part":"header","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),L=s({"data-scope":"sidebar","data-part":"footer","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),I=s({"data-scope":"sidebar","data-part":"trigger","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side,onClick:d},e.overlay?{"data-overlay":""}:void 0),D=s({"data-scope":"sidebar","data-part":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:d,title:"Toggle Sidebar","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),U=s({"data-scope":"sidebar","data-part":"main","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side},e.overlay?{"data-overlay":""}:void 0),W=s({},e.dismissable?{onClick:b}:{});return{state:m,toggle:d,expand:y,collapse:b,rootProps:n,spacerProps:r,asideProps:g,panelProps:P,contentProps:T,headerProps:w,footerProps:L,triggerProps:I,railProps:D,mainProps:U,backdropProps:W,variant:e.variant,collapsible:e.collapsible,side:e.side,overlay:e.overlay,openOnHover:e.openOnHover}}});import{withHeadless as G}from"@primereact/core/headless";import*as f from"react";var M={};var oe=G({name:"useSidebarLayout",defaultProps:M,setup(){let[e,a]=f.useState(()=>new Map),l=f.useCallback((i,o)=>{a(n=>{if(o===null){if(!n.has(i))return n;let P=new Map(n);return P.delete(i),P}let r=n.get(i);if(r&&r.open===o.open&&r.state===o.state&&r.overlay===o.overlay&&r.hideOnOutsideClick===o.hideOnOutsideClick)return n;let g=new Map(n);return g.set(i,o),g})},[]),t=f.useCallback((i,o)=>{var n,r;if(i){(n=e.get(i))==null||n.toggle(o);return}e.size===1&&((r=e.values().next().value)==null||r.toggle(o))},[e]),m=f.useCallback((i,o)=>{if(i){let n=e.get(i);n!=null&&n.open&&n.toggle(o);return}e.forEach(n=>{n.open&&n.toggle(o)})},[e]),d=f.useMemo(()=>{for(let i of e.values())if(i.open)return!0;return!1},[e]),y=f.useMemo(()=>{for(let i of e.values())if(i.open&&i.overlay&&i.hideOnOutsideClick)return!0;return!1},[e]),v=s({},y?{onClick:i=>{let o=i.target;o!=null&&o.closest('[data-scope="sidebar"][data-part="trigger"]')||e.forEach(n=>{n.open&&n.overlay&&n.hideOnOutsideClick&&n.collapse(i)})}}:void 0);return{state:{open:d},setSidebar:l,toggle:t,collapse:m,backdropProps:{onClick:()=>m(),"data-state":d?"open":"closed"},backdropMotionProps:{visible:d,motionProps:{name:"p-overlay-mask",appear:!0}},mainProps:v}}});import{withHeadless as J}from"@primereact/core/headless";import{useCollapsible as K}from"@primereact/headless/collapsible";var H={collapsible:!1,open:void 0,defaultOpen:!0,disabled:!1,onOpenChange:void 0};var ue=J({name:"useSidebarMenuItem",defaultProps:H,setup({props:e}){var b;let a=!!e.collapsible,l=K({open:a?e.open:void 0,defaultOpen:a&&(b=e.defaultOpen)!=null?b:!0,onOpenChange:a?e.onOpenChange:void 0,disabled:e.disabled}),t={isCollapsible:a,open:l.state.open},m=a?l.triggerProps:{},d=a?l.contentProps:{},y=a?O(s({},l.rootProps),{"data-collapsible":!0}):{};return{state:t,toggle:l.toggle,triggerProps:m,contentProps:d,rootProps:y}}});export{M as defaultLayoutProps,H as defaultMenuItemProps,E as defaultProps,_ as useSidebar,oe as useSidebarLayout,ue as useSidebarMenuItem};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{withHeadless as B}from"@primereact/core/headless";import{$t as F}from"@primereact/core/locale";import{useFocusTrap as N}from"@primereact/headless/focustrap";import{useControlledState as W}from"@primereact/hooks/use-controlled-state";import{$dt as S}from"@primeuix/styled";import{blockBodyScroll as $,unblockBodyScroll as z}from"@primeuix/utils";import*as s from"react";var R={layout:void 0,id:void 0,side:"left",variant:"sidebar",collapsible:"icon",overlay:!1,open:void 0,defaultOpen:!0,onOpenChange:void 0,openOnHover:!1,hoverOpenDelay:50,hoverCloseDelay:100,closeOnEscape:!0,dismissable:!0,hideOnOutsideClick:!0,width:"16rem",iconWidth:"3rem"};var ee=B({name:"useSidebar",defaultProps:R,setup({props:e}){let[n,d]=W({value:e.open,defaultValue:e.defaultOpen??!0,onChange:e.onOpenChange}),t=n?"expanded":"collapsed",r=!!e.overlay&&!!n,f=s.useRef(null),v=N({trapped:r,autoFocus:!1}),h=s.useCallback(i=>{f.current=i,v.containerRef.current=i},[]),O={open:!!n,displayState:t},m=i=>{e.collapsible!=="none"&&d([!n,{originalEvent:i,value:!n}])},g=i=>{d([!0,{originalEvent:i,value:!0}])},y=i=>{e.collapsible!=="none"&&d([!1,{originalEvent:i,value:!1}])},a=s.useRef(null),l=()=>{a.current&&(clearTimeout(a.current),a.current=null)},o=s.useCallback(i=>{e.openOnHover&&(l(),a.current=setTimeout(()=>g(i),e.hoverOpenDelay??50))},[e.openOnHover,e.hoverOpenDelay]),b=s.useCallback(i=>{e.openOnHover&&(l(),a.current=setTimeout(()=>y(i),e.hoverCloseDelay??100))},[e.openOnHover,e.hoverCloseDelay]);s.useEffect(()=>l,[]),s.useEffect(()=>{if(r)return $({variableName:S("scrollbar.width").name}),()=>z({variableName:S("scrollbar.width").name})},[r]);let p=i=>{r&&i.code==="Escape"&&e.closeOnEscape!==!1&&y(i)},u=e.layout?.setSidebar;s.useEffect(()=>{if(!(!u||!e.id))return()=>u(e.id,null)},[u,e.id]),s.useEffect(()=>{!u||!e.id||u(e.id,{toggle:m,collapse:y,open:!!n,state:n?"expanded":"collapsed",overlay:!!e.overlay,hideOnOutsideClick:e.hideOnOutsideClick!==!1})},[u,e.id,n,e.overlay,e.hideOnOutsideClick]);let P=F("aria.toggleSidebar"),E={ref:h,...e.id?{id:e.id}:void 0,"data-scope":"sidebar","data-part":"root","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-collapsible-mode":e.collapsible,"data-variant":e.variant,"data-side":e.side,...e.overlay?{"data-overlay":""}:void 0,...e.overlay?{role:"dialog","aria-modal":!!n||void 0}:void 0,onKeyDown:p,...e.openOnHover?{onPointerEnter:o,onPointerLeave:b}:void 0,style:{"--px-sidebar-width":e.width,"--px-sidebar-width-icon":e.iconWidth}},x={"data-scope":"sidebar","data-part":"spacer","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side,...e.overlay?{"data-overlay":""}:void 0},M={"data-scope":"sidebar","data-part":"aside","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side,...e.overlay?{"data-overlay":""}:void 0},H={"data-scope":"sidebar","data-part":"panel","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side,...e.overlay?{"data-overlay":""}:void 0},w={"data-scope":"sidebar","data-part":"content","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side,...e.overlay?{"data-overlay":""}:void 0},T={"data-scope":"sidebar","data-part":"header","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side,...e.overlay?{"data-overlay":""}:void 0},L={"data-scope":"sidebar","data-part":"footer","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side,...e.overlay?{"data-overlay":""}:void 0},D={"data-scope":"sidebar","data-part":"trigger","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side,"aria-expanded":!!n,...e.id?{"aria-controls":e.id}:void 0,onClick:m,...e.overlay?{"data-overlay":""}:void 0},I={"data-scope":"sidebar","data-part":"rail","aria-label":P,onClick:m,title:P,"data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side,...e.overlay?{"data-overlay":""}:void 0},U={"data-scope":"sidebar","data-part":"main","data-state":t,"data-collapsible":t==="collapsed"?e.collapsible:"","data-variant":e.variant,"data-side":e.side,...e.overlay?{"data-overlay":""}:void 0},K={"data-scope":"sidebar","data-part":"backdrop",...e.dismissable?{onClick:y}:{}};return{state:O,focusTrap:v,isModal:r,toggle:m,expand:g,collapse:y,rootProps:E,spacerProps:x,asideProps:M,panelProps:H,contentProps:w,headerProps:T,footerProps:L,triggerProps:D,railProps:I,mainProps:U,backdropProps:K,variant:e.variant,collapsible:e.collapsible,side:e.side,overlay:e.overlay,openOnHover:e.openOnHover}}});import{withHeadless as V}from"@primereact/core/headless";import*as c from"react";var C={};var le=V({name:"useSidebarLayout",defaultProps:C,setup(){let[e,n]=c.useState(()=>new Map),d=c.useCallback((a,l)=>{n(o=>{if(l===null){if(!o.has(a))return o;let u=new Map(o);return u.delete(a),u}let b=o.get(a);if(b&&b.open===l.open&&b.state===l.state&&b.overlay===l.overlay&&b.hideOnOutsideClick===l.hideOnOutsideClick)return o;let p=new Map(o);return p.set(a,l),p})},[]),t=c.useCallback((a,l)=>{if(a){e.get(a)?.toggle(l);return}e.size===1&&e.values().next().value?.toggle(l)},[e]),r=c.useCallback((a,l)=>{if(a){let o=e.get(a);o?.open&&o.toggle(l);return}e.forEach(o=>{o.open&&o.toggle(l)})},[e]),f=c.useMemo(()=>{for(let a of e.values())if(a.open)return!0;return!1},[e]),v=c.useMemo(()=>{for(let a of e.values())if(a.open&&a.overlay&&a.hideOnOutsideClick)return!0;return!1},[e]),h=c.useMemo(()=>{for(let a of e.values())if(a.open&&a.overlay)return!0;return!1},[e]),m={...v?{onClick:a=>{a.target?.closest('[data-scope="sidebar"][data-part="trigger"]')||e.forEach(o=>{o.open&&o.overlay&&o.hideOnOutsideClick&&o.collapse(a)})}}:void 0,...h?{inert:!0,"aria-hidden":!0}:void 0};return{state:{open:f},setSidebar:d,toggle:t,collapse:r,backdropProps:{"data-scope":"sidebar","data-part":"backdrop",onClick:()=>r(),"data-state":f?"open":"closed"},backdropMotionProps:{visible:f},mainProps:m}}});import{withHeadless as j}from"@primereact/core/headless";import{useCollapsible as q}from"@primereact/headless/collapsible";var k={collapsible:!1,open:void 0,defaultOpen:!0,disabled:!1,onOpenChange:void 0};var ue=j({name:"useSidebarMenuItem",defaultProps:k,setup({props:e}){let n=!!e.collapsible,d=q({open:n?e.open:void 0,defaultOpen:n?e.defaultOpen??!0:!0,onOpenChange:n?e.onOpenChange:void 0,disabled:e.disabled}),t={isCollapsible:n,open:d.state.open},r=n?d.triggerProps:{},f=n?d.contentProps:{},v=n?{...d.rootProps,"data-collapsible":!0}:{};return{state:t,toggle:d.toggle,triggerProps:r,contentProps:f,rootProps:v}}});export{C as defaultLayoutProps,k as defaultMenuItemProps,R as defaultProps,ee as useSidebar,le as useSidebarLayout,ue as useSidebarMenuItem};