@primereact/headless 11.0.0 → 11.2.0

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 (50) hide show
  1. package/README.md +26 -20
  2. package/animateonscroll/index.mjs +1 -1
  3. package/carousel/index.mjs +1 -1
  4. package/contextmenu/index.mjs +1 -1
  5. package/datatable/features/index.mjs +8 -8
  6. package/datatable/index.mjs +8 -8
  7. package/datepicker/index.mjs +1 -1
  8. package/dialog/index.mjs +1 -1
  9. package/dialog/useDialog.d.ts +12 -12
  10. package/divider/useDivider.d.ts +1 -1
  11. package/dnd/index.mjs +1 -1
  12. package/drawer/index.mjs +1 -1
  13. package/drawer/useDrawer.d.ts +3 -3
  14. package/gallery/index.mjs +1 -1
  15. package/gallery/item/index.mjs +1 -1
  16. package/inputcolor/index.mjs +1 -1
  17. package/inputpassword/index.mjs +1 -1
  18. package/listbox/index.mjs +1 -1
  19. package/menu/checkboxitem/index.mjs +1 -1
  20. package/menu/index.mjs +1 -1
  21. package/menu/radioitem/index.mjs +1 -1
  22. package/message/index.mjs +1 -1
  23. package/navigationmenu/index.mjs +1 -1
  24. package/orderlist/index.mjs +1 -1
  25. package/organizationchart/index.mjs +1 -1
  26. package/package.json +8 -4
  27. package/picklist/index.mjs +1 -1
  28. package/popover/index.mjs +1 -1
  29. package/progressbar/index.mjs +1 -1
  30. package/radiobutton/index.mjs +1 -1
  31. package/radiobuttongroup/index.mjs +1 -1
  32. package/scrollarea/index.mjs +1 -1
  33. package/sidebar/index.mjs +1 -1
  34. package/sidebar/useSidebar.d.ts +79 -25
  35. package/speeddial/index.mjs +1 -1
  36. package/styleclass/index.mjs +1 -1
  37. package/tabs/index.mjs +1 -1
  38. package/tabs/useTabs.d.ts +6 -0
  39. package/terminal/index.mjs +1 -1
  40. package/timeline/useTimeline.d.ts +4 -4
  41. package/toast/index.mjs +1 -1
  42. package/toast/useToast.d.ts +1 -1
  43. package/toaster/index.mjs +1 -1
  44. package/togglebutton/index.mjs +1 -1
  45. package/togglebuttongroup/index.mjs +1 -1
  46. package/toggleswitch/index.mjs +1 -1
  47. package/toggleswitch/useToggleSwitch.d.ts +14 -0
  48. package/tooltip/index.mjs +1 -1
  49. package/tree/index.mjs +1 -1
  50. package/tree/useTreeKeyboard.d.ts +1 -1
package/menu/index.mjs CHANGED
@@ -1 +1 @@
1
- import{withHeadless as rt}from"@primereact/core/headless";import{usePopover as ot}from"@primereact/headless/popover";import{focus as B,isPrintableCharacter as st,toElement as A}from"@primeuix/utils";import*as i from"react";var Re={open:void 0,defaultOpen:void 0,composite:!0,appendTo:"body",baseZIndex:0,autoZIndex:!0,tabIndex:0,openDelay:100,closeDelay:0,openOnHover:!1,onOpenChange:void 0,context:void 0,navigationmenu:void 0,navigationmenuMenuId:void 0};var W=(o,O)=>{let N=o.compareDocumentPosition(O);return N&Node.DOCUMENT_POSITION_FOLLOWING?-1:N&Node.DOCUMENT_POSITION_PRECEDING?1:0},ft=rt({name:"useMenu",defaultProps:Re,setup({props:o,id:O}){let N=!!(o.navigationmenu&&o.navigationmenuMenuId),ye=N?o.navigationmenu.isMenuOpen(o.navigationmenuMenuId):o.open,ne=o.onOpenChange,Le=N?t=>{ne?.(t),o.navigationmenu.onMenuOpenChange(o.navigationmenuMenuId,!!t.value)}:ne,Ie=ot({open:ye,defaultOpen:o.defaultOpen,onOpenChange:Le}),u=o.context?.popover??Ie,[Te,re]=i.useState(!1),[d,f]=i.useState(o.composite?[]:""),[w,oe]=i.useState(void 0),se=i.useRef(!1),ae=i.useRef(!0),x=i.useRef(new Map),k=i.useRef(new Map),y=(t,e)=>{let n=t.current.get(e);n!==void 0&&(window.clearTimeout(n),t.current.delete(e))},_=(t,e,n,r)=>{let s=e==="open"?x:k;if(y(e==="open"?k:x,t),y(s,t),n<=0){r();return}let c=window.setTimeout(()=>{s.current.delete(t),r()},n);s.current.set(t,c)};i.useEffect(()=>{let t=x.current,e=k.current;return()=>{t.forEach(n=>window.clearTimeout(n)),e.forEach(n=>window.clearTimeout(n)),t.clear(),e.clear()}},[]);let g=i.useRef(new Map),h=i.useRef(new Map),H=i.useRef(new Map),G=i.useRef(new Map),ce=i.useRef(new Map),v=i.useRef(null),Ae=i.useCallback(t=>{v.current=A(t)},[]),E={open:!!u.state.open,focused:Te,focusedOptionId:d,anchorElement:u.state.anchorElement,positionerElement:u.state.positionerElement,popupElement:u.state.popupElement,arrowElement:u.state.arrowElement},q=i.useCallback(t=>`${O}_item_${t}`,[O]),z=i.useCallback(t=>t?`${O}_list_${t}`:`${O}_list`,[O]),L=i.useCallback(t=>{let e=0,n=t.parentElement;for(;n&&(n.getAttribute("role")==="menu"&&e++,n!==v.current);)n=n.parentElement;if(n!==v.current){let r=t.closest('[role="menu"]');if(r){for(let[s,a]of H.current.entries())if(a.current===r){let c=g.current.get(s);if(c)return L(c)+1}}}return Math.max(0,e-1)},[]),ie=i.useCallback(t=>{let e=t.closest('[role="menu"]');if(!e)return[];let n=[];return g.current.forEach((r,s)=>{r.closest('[role="menu"]')===e&&!r.hasAttribute("data-disabled")&&n.push({id:s,element:r})}),n.sort((r,s)=>W(r.element,s.element)),n},[]),Z=i.useCallback(()=>{if(!v.current)return[];let t=[];return g.current.forEach((e,n)=>{e.closest('[role="menu"]')===v.current&&!e.hasAttribute("data-disabled")&&t.push({id:n,element:e})}),t.sort((e,n)=>W(e.element,n.element)),t},[]),ue=i.useCallback(t=>{let e=H.current.get(t)?.current;if(!e){let r=g.current.get(t);if(!r)return[];let s=r.closest('[data-scope="menu"][data-part="submenu"]')||r.parentElement;if(!s)return[];if(e=s.querySelector('[role="menu"]'),!e)return[]}let n=[];return g.current.forEach((r,s)=>{r.closest('[role="menu"]')===e&&!r.hasAttribute("data-disabled")&&n.push({id:s,element:r})}),n.sort((r,s)=>W(r.element,s.element)),n},[]),J=i.useCallback(t=>{if(!t)return;let e=L(t)+1;t.setAttribute("aria-level",String(e));let n=t.closest('[role="menu"]');if(n){let r=[];g.current.forEach(a=>{a.closest('[role="menu"]')===n&&r.push(a)}),r.sort(W);let s=String(r.length);r.forEach((a,c)=>{a.setAttribute("aria-posinset",String(c+1)),a.setAttribute("aria-setsize",s)})}},[L]),le=i.useRef(J);le.current=J;let de=i.useCallback(t=>(G.current.has(t)||G.current.set(t,e=>{A(e)?(g.current.set(t,A(e)),le.current(A(e))):(g.current.delete(t),G.current.delete(t))}),G.current.get(t)),[]),Q=t=>{t||h.current.forEach(e=>{e.close()}),u.setOpen?.(t)},U=i.useCallback(t=>d?Array.isArray(d)?d.includes(t):d===t:!1,[d]),C=i.useCallback(()=>{let t=[];return g.current.forEach((e,n)=>{if(e.hasAttribute("data-disabled"))return;let s=e,a=!0;for(;s&&s!==v.current;){let c=s.closest('[data-part="list"]');if(!c||c===v.current)break;let b=c.previousElementSibling;if(b&&b.getAttribute("aria-expanded")==="false"){a=!1;break}s=c.parentElement}a&&t.push({id:n,element:e})}),t.sort((e,n)=>W(e.element,n.element)),t},[]),D=i.useCallback(()=>{let t=T();if(!t)return Z();let e=g.current.get(t);return e?ie(e):Z()},[d,ie,Z]),M=t=>{se.current=t},p=t=>{M(!0),o.composite?f(e=>{let n=Array.isArray(e)?e:[];if(n.length===0)return[t];let r=g.current.get(t);if(!r)return[t];let s=L(r),a=n.findIndex(b=>{let l=g.current.get(b);return l&&L(l)===s});return a!==-1?[...n.slice(0,a),t]:[...n.filter(b=>{let l=g.current.get(b);return l&&L(l)<s}),t]}):f(t)},T=()=>o.composite&&Array.isArray(d)?d[d.length-1]||"":typeof d=="string"?d:"",Oe=t=>{let e=o.composite?D():C();if(e.length===0)return;let n=T(),r=n?e.findIndex(a=>a.id===n)+1:0,s=t.toLowerCase();for(let a=r;a<e.length;a++){let c=e[a];if((c.element.textContent?.trim().toLowerCase()||"").startsWith(s)){o.composite?p(c.id):f(c.id);return}}for(let a=0;a<r;a++){let c=e[a];if((c.element.textContent?.trim().toLowerCase()||"").startsWith(s)){o.composite?p(c.id):f(c.id);return}}},fe=()=>{if(!o.composite||!Array.isArray(d))return;let t=d[d.length-1];if(!t)return;let e=h.current.get(t);if(e){let n=g.current.get(t);n&&n.getAttribute("aria-expanded")==="true"&&e.close()}},V=()=>{o.composite?(h.current.forEach(t=>{t.close()}),f([])):f("")},X=t=>{if(!o.composite||!Array.isArray(d))return;let e=g.current.get(t);if(!e)return;let n=L(e);h.current.forEach((r,s)=>{let a=g.current.get(s);if(!a)return;L(a)>=n&&a.getAttribute("aria-expanded")==="true"&&r.close()}),f(r=>(Array.isArray(r)?r:[]).filter(a=>{let c=g.current.get(a);return c&&L(c)<n}))},ke=t=>{t.preventDefault();let e=o.composite?D():C();if(e.length===0)return;let n=T();if(!n){o.composite?p(e[0].id):f(e[0].id);return}let r=e.findIndex(a=>a.id===n),s=r<e.length-1?r+1:0;o.composite?(fe(),p(e[s].id)):f(e[s].id)},Pe=t=>{if(t.preventDefault(),t.altKey){pe();return}let e=o.composite?D():C();if(e.length===0)return;let n=T();if(!n){o.composite?p(e[e.length-1].id):f(e[e.length-1].id);return}let r=e.findIndex(a=>a.id===n),s=r>0?r-1:e.length-1;o.composite?(fe(),p(e[s].id)):f(e[s].id)},we=t=>{if(!o.composite&&!o.navigationmenu)return;t.preventDefault();let e=T(),r=(e?g.current.get(e):null)?.getAttribute("aria-expanded")??null;if(e&&r!==null){if(r==="false"){let c=h.current.get(e);c&&c.open()}let s=0,a=()=>{let c=ue(e);if(c.length>0){o.composite?f(b=>[...Array.isArray(b)?b:[],c[0].id]):f(c[0].id);return}s++<5&&requestAnimationFrame(a)};requestAnimationFrame(a);return}o.navigationmenu&&o.navigationmenuMenuId&&o.navigationmenu.focusSibling(o.navigationmenuMenuId,"next")},He=t=>{if(!(!o.composite&&!o.navigationmenu)){if(t.preventDefault(),o.composite&&Array.isArray(d)&&d.length>1){let e=d[d.length-2];h.current.get(e)?.close(),f(n=>(Array.isArray(n)?n:[]).slice(0,-1));return}if(o.navigationmenu&&o.navigationmenuMenuId&&!o.composite){let e=T(),r=(e?g.current.get(e):null)?.closest('[role="menu"]');if(!!r&&r!==v.current){let a;H.current.forEach((c,b)=>{c.current===r&&(a=b)}),a&&(h.current.get(a)?.close(),f(a));return}}o.navigationmenu&&o.navigationmenuMenuId&&o.navigationmenu.focusSibling(o.navigationmenuMenuId,"previous")}},xe=t=>{t.preventDefault();let e=o.composite?D():C();e.length!==0&&(o.composite?p(e[0].id):f(e[0].id))},Ce=t=>{t.preventDefault();let e=o.composite?D():C();e.length!==0&&(o.composite?p(e[e.length-1].id):f(e[e.length-1].id))},De=t=>{let e=T();if(!e)return;let n=h.current.get(e);if(n){n.toggle(),t.preventDefault();return}if(v.current){if(!g.current.get(e))return;let a=ce.current.get(e);(!a||a(t))&&$(t,!1,!!u.state.open)}t.preventDefault()},Se=()=>{V(),requestAnimationFrame(()=>{u.state.anchorElement&&B(u.state.anchorElement)})},Fe=()=>{M(!1),E.open&&(u.state.anchorElement&&B(u.state.anchorElement),Q(!1))},me=t=>{let e=t.metaKey||t.ctrlKey;switch(t.key){case"ArrowDown":ke(t);break;case"ArrowUp":Pe(t);break;case"ArrowRight":(o.composite||o.navigationmenu)&&we(t);break;case"ArrowLeft":(o.composite||o.navigationmenu)&&He(t);break;case"Home":xe(t);break;case"End":Ce(t);break;case"Enter":case" ":De(t);break;case"Escape":Se();break;case"Tab":Fe();break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!e&&st(t.key)&&Oe(t.key);break}},ge=()=>{if(re(!0),T()===""&&ae.current){let e=o.composite?D():C(),n=[],r=e;for(;r.length>0;){let s=r.find(c=>h.current.get(c.id)?.isOpen?.());if(!s)break;n.push(s.id);let a=ue(s.id);if(a.length===0)break;r=a}if(n.length>0&&r.length>0){let s=r[0].id;o.composite?f([...n,s]):f(s),M(!1);return}if(se.current){M(!1);return}if(e.length>0)if(o.navigationmenu){let s=o.navigationmenu.consumePendingFocus?.()??null;if(s){let a=s==="last"?e[e.length-1]:e[0];f(a.id)}}else o.composite?p(e[0].id):f(e[0].id)}M(!1)},be=()=>{re(!1),o.composite?u.state.open&&V():f("")},pe=()=>{h.current.forEach(t=>{t.close()}),u.setOpen?.(!1),o.composite?f([]):f(""),requestAnimationFrame(()=>{u.state.anchorElement&&B(u.state.anchorElement)})},ve=(t=!0)=>{ae.current=t,requestAnimationFrame(()=>{requestAnimationFrame(()=>{A(v.current)&&B(A(v.current))})})},he=()=>{y(x,"trigger"),y(k,"trigger"),M(!0),u.setOpen?.(!u?.state.open)},Ke=()=>{if(!o.openOnHover)return;let t=o.openDelay??100;_("trigger","open",t,()=>{u.state.open||(M(!0),u.setOpen?.(!0))})},Ne=()=>{if(!o.openOnHover)return;let t=Math.max(o.closeDelay??0,150);_("trigger","close",t,()=>{u.state.open&&u.setOpen?.(!1)});let e=u.state.positionerElement??u.state.popupElement??null;if(e){let n=()=>{y(k,"trigger"),e.removeEventListener("mouseenter",n),e.removeEventListener("pointerenter",n),r!==null&&window.clearTimeout(r)};e.addEventListener("mouseenter",n),e.addEventListener("pointerenter",n);let r=window.setTimeout(()=>{e.removeEventListener("mouseenter",n),e.removeEventListener("pointerenter",n)},t+50)}},$=(t,e=!1,n=!1)=>{if(t.preventDefault(),o.composite&&!n){let r=Array.isArray(d)&&d.length>0?d[0]:null;V(),r&&f([r])}else n&&pe();v.current&&e&&!n&&(v.current.blur(),Q(!1))},_e=i.useCallback(t=>{let{value:e,disabled:n,type:r="item",checked:s,inPortal:a,closeOnSelect:c=!0,onSelect:b}=t,l=q(e),S=U(l),Y=r==="checkbox"?"menuitemcheckbox":r==="radio"?"menuitemradio":"menuitem",m=R=>{if(n)return!1;let F=!1;return b?.({originalEvent:R,value:e,preventDefault:()=>{F=!0},get defaultPrevented(){return F}}),!F&&c};return ce.current.set(l,m),{ref:de(l),id:l,role:Y,tabIndex:-1,"aria-disabled":n||void 0,"aria-checked":r!=="item"?s:void 0,"data-scope":"menu","data-part":"item","data-value":e,...S&&{"data-focused":""},...r!=="item"&&(s?{"data-checked":""}:{"data-unchecked":""}),...n&&{"data-disabled":""},onMouseDown:R=>{if(n)return;if(!m(R)){M(!0),p(l);return}if(o.composite&&!a&&R.detail>0){$(R,!1,a);return}M(!0);let j=g.current.get(l);R.detail===0&&j&&j.click(),a?(o.composite&&R.detail>0||!o.composite)&&$(R,!1,a):setTimeout(()=>{$(R,!0,a)},0)},onMouseMove:()=>{!n&&E.focused&&p(l)},onMouseEnter:o.composite?()=>{!n&&E.focused&&(X(l),p(l))}:void 0}},[d,o.composite,E.focused,E.open,U,L,q]),qe=i.useCallback(t=>{let{value:e,disabled:n,sub:r}=t,s=r?.state.open,a=r?.openDelay??100,c=r?.closeDelay??0,b=r?.openOnHover??!0,l=r?{open:r.open,close:r.close,toggle:r.toggle,isOpen:()=>!!r.state.open}:void 0,S=r?.listRef,Y=r?.subtriggerProps?.ref,m=q(e),R=U(m),F=de(m),j=P=>{F(P),Y?.(P),P?(l&&h.current.set(m,l),S&&H.current.set(m,S)):(h.current.delete(m),H.current.delete(m))};return l&&h.current.set(m,l),S&&H.current.set(m,S),{ref:j,id:m,role:"menuitem",tabIndex:-1,"aria-expanded":s,"aria-disabled":n||void 0,"data-scope":"menu","data-part":"subtrigger","data-value":e,...R&&{"data-focused":""},...n&&{"data-disabled":""},...s&&{"data-open":""},onMouseDown:P=>{P.preventDefault(),y(x,m),y(k,m),!n&&P.detail>0&&(p(m),l?.toggle()),!n&&A(v.current)&&B(A(v.current))},onMouseMove:()=>{M(!0),!n&&E.focused&&p(m)},onMouseEnter:()=>{b&&o.composite&&!n&&E.focused&&(s?p(m):(X(m),p(m),l&&_(m,"open",a,()=>{r?.state.open||l.open()})))},onMouseLeave:P=>{if(b&&(y(x,m),o.composite&&s&&l)){let ee=H.current.get(m)?.current??null,nt=ee?.closest('[data-part="popup"]')??null,I=ee?.closest('[data-part="positioner"]')??null??nt??ee,te=A(P.relatedTarget);if(te&&I&&(I===te||I.contains(te)))return;let Ee=Math.max(c,150);if(_(m,"close",Ee,()=>{l.close()}),I){let K=()=>{y(k,m),I.removeEventListener("mouseenter",K),I.removeEventListener("pointerenter",K),Me!==null&&window.clearTimeout(Me)};I.addEventListener("mouseenter",K),I.addEventListener("pointerenter",K);let Me=window.setTimeout(()=>{I.removeEventListener("mouseenter",K),I.removeEventListener("pointerenter",K)},Ee+50)}}}}},[d,o.composite,E.focused,E.open,U,q]),Ue=i.useCallback(t=>{let{type:e,checked:n,submenuOpen:r,match:s}=t,a=e==="checkbox"?"checkbox":e==="radio"?"radio":r!==void 0?"submenu":null,c=e==="checkbox"||e==="radio"?n??!1:r!==void 0?r:!1;return{matchVisible:s?c===(s==="open"||s==="checked"):!0,[a==="submenu"?c?"data-open":"data-closed":c?"data-checked":"data-unchecked"]:"","data-scope":"menu","data-part":"indicator"}},[]),$e={"data-scope":"menu","data-part":"indicator"},je={"data-scope":"menu","data-part":"indicator"},Be={"data-scope":"menu","data-part":"indicator"},We=i.useCallback((t={})=>{let{value:e,sub:n}=t,r=!!n,s=n?.listProps?.ref,a=z(e),c=T()||void 0;return{...!r&&{ref:Ae},...r&&s&&{ref:s},id:a,role:"menu","aria-activedescendant":r?void 0:c,tabIndex:r?-1:o.tabIndex??0,"data-scope":"menu","data-part":"list",...r&&o.composite&&{"data-composite":""},onKeyDown:me,...r?{}:{onFocus:ge,onBlur:be}}},[d,o.tabIndex,z,E.open]),Ge={...u.triggerProps,"aria-haspopup":"true","aria-expanded":!!u.state.open,"data-scope":"menu","data-part":"trigger",...u.state.open&&{"data-open":""},...u.state.open&&{"data-expanded":""},onClick:he,...o.openOnHover&&{onPointerEnter:Ke,onPointerLeave:Ne}},Ve={...u.arrowProps,...w&&{"data-instant":w}},ze=()=>{o.openOnHover&&y(k,"trigger")},Ze=()=>{if(!o.openOnHover)return;let t=Math.max(o.closeDelay??0,150);_("trigger","close",t,()=>{u.state.open&&u.setOpen?.(!1)})},Je={...u.popupProps,...w&&{"data-instant":""},...w&&{"data-instant-type":w},...o.openOnHover&&{onPointerEnter:ze,onPointerLeave:Ze}},Qe={...u.positionerProps},Xe={role:"none","data-scope":"menu","data-part":"label"},Ye={role:"separator","data-scope":"menu","data-part":"separator"},et={role:"group","data-scope":"menu","data-part":"radiogroup"},tt={id:O,"data-scope":"menu","data-part":"root"};return i.useEffect(()=>{u.state.rendered&&ve()},[u.state.rendered]),i.useEffect(()=>{u.state.open||h.current.forEach(t=>{t.close()})},[u.state.open]),i.useEffect(()=>!o.navigationmenu||!o.navigationmenuMenuId?void 0:o.navigationmenu.registerInstantSignal(o.navigationmenuMenuId,()=>{oe("switch")}),[o.navigationmenu,o.navigationmenuMenuId]),i.useEffect(()=>{if(w===void 0)return;let t=window.setTimeout(()=>oe(void 0),50);return()=>window.clearTimeout(t)},[w,u.state.open]),{state:E,popover:u,rootProps:tt,triggerProps:Ge,arrowProps:Ve,popupProps:Je,positionerProps:Qe,labelProps:Xe,separatorProps:Ye,radioGroupProps:et,getItemProps:_e,getSubTriggerProps:qe,getListProps:We,getIndicatorProps:Ue,checkboxItemIndicatorProps:$e,radioItemIndicatorProps:je,submenuIndicatorProps:Be,updateItemAria:J,isFocused:U,getItemId:q,getListId:z,changeVisibleState:Q,markMouseInteraction:M,changeFocusedOptionId:p,hideSubmenusAfterLevel:X,hideAllSubmenus:V,onListKeyDown:me,onListFocus:ge,onListBlur:be,onOverlayEnter:ve,onTriggerClick:he,onItemClick:$}}});export{Re as defaultProps,ft as useMenu};
1
+ import{withHeadless as vt}from"@primereact/core/headless";import{usePopover as ht}from"@primereact/headless/popover";import{focus as W,isPrintableCharacter as Et,toElement as T}from"@primeuix/utils";import*as c from"react";var Fe={open:void 0,defaultOpen:void 0,composite:!0,appendTo:"body",baseZIndex:0,autoZIndex:!0,tabIndex:0,openDelay:100,closeDelay:0,openOnHover:!1,onOpenChange:void 0,context:void 0,navigationmenu:void 0,navigationmenuMenuId:void 0};var G=(s,A)=>{let q=s.compareDocumentPosition(A);return q&Node.DOCUMENT_POSITION_FOLLOWING?-1:q&Node.DOCUMENT_POSITION_PRECEDING?1:0},At=vt({name:"useMenu",defaultProps:Fe,setup({props:s,id:A}){let q=!!(s.navigationmenu&&s.navigationmenuMenuId),Ke=q?s.navigationmenu.isMenuOpen(s.navigationmenuMenuId):s.open,ae=s.onOpenChange,Ne=q?e=>{ae?.(e),s.navigationmenu.onMenuOpenChange(s.navigationmenuMenuId,!!e.value)}:ae,_e=ht({open:Ke,defaultOpen:s.defaultOpen,onOpenChange:Ne}),u=s.context?.popover??_e,[qe,ce]=c.useState(!1),[m,d]=c.useState(s.composite?[]:""),[w,ie]=c.useState(void 0),ue=c.useRef(!1),le=c.useRef(!0),P=c.useRef(new Map),k=c.useRef(new Map),y=(e,t)=>{let n=e.current.get(t);n!==void 0&&(window.clearTimeout(n),e.current.delete(t))},de=(e,t,n,r)=>{let o=t==="open"?P:k;if(y(t==="open"?k:P,e),y(o,e),n<=0){r();return}let i=window.setTimeout(()=>{o.current.delete(e),r()},n);o.current.set(e,i)},fe=c.useRef(de);fe.current=de;let x=c.useCallback((e,t,n,r)=>fe.current(e,t,n,r),[]);c.useEffect(()=>{let e=P.current,t=k.current;return()=>{e.forEach(n=>window.clearTimeout(n)),t.forEach(n=>window.clearTimeout(n)),e.clear(),t.clear()}},[]);let g=c.useRef(new Map),h=c.useRef(new Map),H=c.useRef(new Map),V=c.useRef(new Map),me=c.useRef(new Map),v=c.useRef(null),ge=c.useCallback(e=>{v.current=T(e)},[]),O={open:!!u.state.open,focused:qe,focusedOptionId:m,anchorElement:u.state.anchorElement,positionerElement:u.state.positionerElement,popupElement:u.state.popupElement,arrowElement:u.state.arrowElement},U=c.useCallback(e=>`${A}_item_${e}`,[A]),J=c.useCallback(e=>e?`${A}_list_${e}`:`${A}_list`,[A]),L=c.useCallback(e=>{let t=0,n=e.parentElement;for(;n&&(n.getAttribute("role")==="menu"&&t++,n!==v.current);)n=n.parentElement;if(n!==v.current){let r=e.closest('[role="menu"]');if(r){for(let[o,a]of H.current.entries())if(a.current===r){let i=g.current.get(o);if(i)return L(i)+1}}}return Math.max(0,t-1)},[]),be=c.useCallback(e=>{let t=e.closest('[role="menu"]');if(!t)return[];let n=[];return g.current.forEach((r,o)=>{r.closest('[role="menu"]')===t&&!r.hasAttribute("data-disabled")&&n.push({id:o,element:r})}),n.sort((r,o)=>G(r.element,o.element)),n},[]),Q=c.useCallback(()=>{if(!v.current)return[];let e=[];return g.current.forEach((t,n)=>{t.closest('[role="menu"]')===v.current&&!t.hasAttribute("data-disabled")&&e.push({id:n,element:t})}),e.sort((t,n)=>G(t.element,n.element)),e},[]),pe=c.useCallback(e=>{let t=H.current.get(e)?.current;if(!t){let r=g.current.get(e);if(!r)return[];let o=r.closest('[data-scope="menu"][data-part="submenu"]')||r.parentElement;if(!o)return[];if(t=o.querySelector('[role="menu"]'),!t)return[]}let n=[];return g.current.forEach((r,o)=>{r.closest('[role="menu"]')===t&&!r.hasAttribute("data-disabled")&&n.push({id:o,element:r})}),n.sort((r,o)=>G(r.element,o.element)),n},[]),X=c.useCallback(e=>{if(!e)return;let t=L(e)+1;e.setAttribute("aria-level",String(t));let n=e.closest('[role="menu"]');if(n){let r=[];g.current.forEach(a=>{a.closest('[role="menu"]')===n&&r.push(a)}),r.sort(G);let o=String(r.length);r.forEach((a,i)=>{a.setAttribute("aria-posinset",String(i+1)),a.setAttribute("aria-setsize",o)})}},[L]),ve=c.useRef(X);ve.current=X;let z=c.useCallback(e=>(V.current.has(e)||V.current.set(e,t=>{T(t)?(g.current.set(e,T(t)),ve.current(T(t))):(g.current.delete(e),V.current.delete(e))}),V.current.get(e)),[]),Y=e=>{e||h.current.forEach(t=>{t.close()}),u.setOpen?.(e)},B=c.useCallback(e=>m?Array.isArray(m)?m.includes(e):m===e:!1,[m]),D=c.useCallback(()=>{let e=[];return g.current.forEach((t,n)=>{if(t.hasAttribute("data-disabled"))return;let o=t,a=!0;for(;o&&o!==v.current;){let i=o.closest('[data-part="list"]');if(!i||i===v.current)break;let p=i.previousElementSibling;if(p&&p.getAttribute("aria-expanded")==="false"){a=!1;break}o=i.parentElement}a&&e.push({id:n,element:t})}),e.sort((t,n)=>G(t.element,n.element)),e},[]),E=c.useCallback(()=>s.composite&&Array.isArray(m)?m[m.length-1]||"":typeof m=="string"?m:"",[s.composite,m]),S=c.useCallback(()=>{let e=E();if(!e)return Q();let t=g.current.get(e);return t?be(t):Q()},[E,be,Q]),R=e=>{ue.current=e},he=e=>{R(!0),s.composite?d(t=>{let n=Array.isArray(t)?t:[];if(n.length===0)return[e];let r=g.current.get(e);if(!r)return[e];let o=L(r),a=n.findIndex(p=>{let l=g.current.get(p);return l&&L(l)===o});return a!==-1?[...n.slice(0,a),e]:[...n.filter(p=>{let l=g.current.get(p);return l&&L(l)<o}),e]}):d(e)},Ee=c.useRef(he);Ee.current=he;let b=c.useCallback(e=>Ee.current(e),[]),Ue=e=>{let t=s.composite?S():D();if(t.length===0)return;let n=E(),r=n?t.findIndex(a=>a.id===n)+1:0,o=e.toLowerCase();for(let a=r;a<t.length;a++){let i=t[a];if((i.element.textContent?.trim().toLowerCase()||"").startsWith(o)){s.composite?b(i.id):d(i.id);return}}for(let a=0;a<r;a++){let i=t[a];if((i.element.textContent?.trim().toLowerCase()||"").startsWith(o)){s.composite?b(i.id):d(i.id);return}}},Re=()=>{if(!s.composite||!Array.isArray(m))return;let e=m[m.length-1];if(!e)return;let t=h.current.get(e);if(t){let n=g.current.get(e);n&&n.getAttribute("aria-expanded")==="true"&&t.close()}},Z=()=>{s.composite?(h.current.forEach(e=>{e.close()}),d([])):d("")},Me=e=>{if(!s.composite||!Array.isArray(m))return;let t=g.current.get(e);if(!t)return;let n=L(t);h.current.forEach((r,o)=>{let a=g.current.get(o);if(!a)return;L(a)>=n&&a.getAttribute("aria-expanded")==="true"&&r.close()}),d(r=>(Array.isArray(r)?r:[]).filter(a=>{let i=g.current.get(a);return i&&L(i)<n}))},ye=c.useRef(Me);ye.current=Me;let $=c.useCallback(e=>ye.current(e),[]),Be=e=>{e.preventDefault();let t=s.composite?S():D();if(t.length===0)return;let n=E();if(!n){s.composite?b(t[0].id):d(t[0].id);return}let r=t.findIndex(a=>a.id===n),o=r<t.length-1?r+1:0;s.composite?(Re(),b(t[o].id)):d(t[o].id)},$e=e=>{if(e.preventDefault(),e.altKey){Ce();return}let t=s.composite?S():D();if(t.length===0)return;let n=E();if(!n){s.composite?b(t[t.length-1].id):d(t[t.length-1].id);return}let r=t.findIndex(a=>a.id===n),o=r>0?r-1:t.length-1;s.composite?(Re(),b(t[o].id)):d(t[o].id)},je=e=>{if(!s.composite&&!s.navigationmenu)return;e.preventDefault();let t=E(),r=(t?g.current.get(t):null)?.getAttribute("aria-expanded")??null;if(t&&r!==null){if(r==="false"){let i=h.current.get(t);i&&i.open()}let o=0,a=()=>{let i=pe(t);if(i.length>0){s.composite?d(p=>[...Array.isArray(p)?p:[],i[0].id]):d(i[0].id);return}o++<5&&requestAnimationFrame(a)};requestAnimationFrame(a);return}s.navigationmenu&&s.navigationmenuMenuId&&s.navigationmenu.focusSibling(s.navigationmenuMenuId,"next")},We=e=>{if(!(!s.composite&&!s.navigationmenu)){if(e.preventDefault(),s.composite&&Array.isArray(m)&&m.length>1){let t=m[m.length-2];h.current.get(t)?.close(),d(n=>(Array.isArray(n)?n:[]).slice(0,-1));return}if(s.navigationmenu&&s.navigationmenuMenuId&&!s.composite){let t=E(),r=(t?g.current.get(t):null)?.closest('[role="menu"]');if(!!r&&r!==v.current){let a;H.current.forEach((i,p)=>{i.current===r&&(a=p)}),a&&(h.current.get(a)?.close(),d(a));return}}s.navigationmenu&&s.navigationmenuMenuId&&s.navigationmenu.focusSibling(s.navigationmenuMenuId,"previous")}},Ge=e=>{e.preventDefault();let t=s.composite?S():D();t.length!==0&&(s.composite?b(t[0].id):d(t[0].id))},Ve=e=>{e.preventDefault();let t=s.composite?S():D();t.length!==0&&(s.composite?b(t[t.length-1].id):d(t[t.length-1].id))},ze=e=>{let t=E();if(!t)return;let n=h.current.get(t);if(n){n.toggle(),e.preventDefault();return}if(v.current){if(!g.current.get(t))return;let a=me.current.get(t);(!a||a(e))&&F(e,!1,!!u.state.open)}e.preventDefault()},Ze=()=>{Z(),requestAnimationFrame(()=>{u.state.anchorElement&&W(u.state.anchorElement)})},Je=()=>{R(!1),O.open&&(u.state.anchorElement&&W(u.state.anchorElement),Y(!1))},Ie=e=>{let t=e.metaKey||e.ctrlKey;switch(e.key){case"ArrowDown":Be(e);break;case"ArrowUp":$e(e);break;case"ArrowRight":(s.composite||s.navigationmenu)&&je(e);break;case"ArrowLeft":(s.composite||s.navigationmenu)&&We(e);break;case"Home":Ge(e);break;case"End":Ve(e);break;case"Enter":case" ":ze(e);break;case"Escape":Ze();break;case"Tab":Je();break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!t&&Et(e.key)&&Ue(e.key);break}},Le=c.useRef(Ie);Le.current=Ie;let ee=c.useCallback(e=>Le.current(e),[]),Te=()=>{if(ce(!0),E()===""&&le.current){let t=s.composite?S():D(),n=[],r=t;for(;r.length>0;){let o=r.find(i=>h.current.get(i.id)?.isOpen?.());if(!o)break;n.push(o.id);let a=pe(o.id);if(a.length===0)break;r=a}if(n.length>0&&r.length>0){let o=r[0].id;s.composite?d([...n,o]):d(o),R(!1);return}if(ue.current){R(!1);return}if(t.length>0)if(s.navigationmenu){let o=s.navigationmenu.consumePendingFocus?.()??null;if(o){let a=o==="last"?t[t.length-1]:t[0];d(a.id)}}else s.composite?b(t[0].id):d(t[0].id)}R(!1)},Ae=c.useRef(Te);Ae.current=Te;let te=c.useCallback(()=>Ae.current(),[]),ke=()=>{ce(!1),s.composite?u.state.open&&Z():d("")},Oe=c.useRef(ke);Oe.current=ke;let ne=c.useCallback(()=>Oe.current(),[]),Ce=()=>{h.current.forEach(e=>{e.close()}),u.setOpen?.(!1),s.composite?d([]):d(""),requestAnimationFrame(()=>{u.state.anchorElement&&W(u.state.anchorElement)})},we=(e=!0)=>{le.current=e,requestAnimationFrame(()=>{requestAnimationFrame(()=>{T(v.current)&&W(T(v.current))})})},He=()=>{y(P,"trigger"),y(k,"trigger"),R(!0),u.setOpen?.(!u?.state.open)},Qe=()=>{if(!s.openOnHover)return;let e=s.openDelay??100;x("trigger","open",e,()=>{u.state.open||(R(!0),u.setOpen?.(!0))})},Xe=()=>{if(!s.openOnHover)return;let e=Math.max(s.closeDelay??0,150);x("trigger","close",e,()=>{u.state.open&&u.setOpen?.(!1)});let t=u.state.positionerElement??u.state.popupElement??null;if(t){let n=()=>{y(k,"trigger"),t.removeEventListener("mouseenter",n),t.removeEventListener("pointerenter",n),r!==null&&window.clearTimeout(r)};t.addEventListener("mouseenter",n),t.addEventListener("pointerenter",n);let r=window.setTimeout(()=>{t.removeEventListener("mouseenter",n),t.removeEventListener("pointerenter",n)},e+50)}},Pe=(e,t=!1,n=!1)=>{if(e.preventDefault(),s.composite&&!n){let r=Array.isArray(m)&&m.length>0?m[0]:null;Z(),r&&d([r])}else n&&Ce();v.current&&t&&!n&&(v.current.blur(),Y(!1))},xe=c.useRef(Pe);xe.current=Pe;let F=c.useCallback((e,t=!1,n=!1)=>xe.current(e,t,n),[]),Ye=c.useCallback(e=>{let{value:t,disabled:n,type:r="item",checked:o,inPortal:a,closeOnSelect:i=!0,onSelect:p}=e,l=U(t),K=B(l),re=r==="checkbox"?"menuitemcheckbox":r==="radio"?"menuitemradio":"menuitem",f=M=>{if(n)return!1;let N=!1;return p?.({originalEvent:M,value:t,preventDefault:()=>{N=!0},get defaultPrevented(){return N}}),!N&&i};return me.current.set(l,f),{ref:z(l),id:l,role:re,tabIndex:-1,"aria-disabled":n||void 0,"aria-checked":r!=="item"?o:void 0,"data-scope":"menu","data-part":"item","data-value":t,...K&&{"data-focused":""},...r!=="item"&&(o?{"data-checked":""}:{"data-unchecked":""}),...n&&{"data-disabled":""},onMouseDown:M=>{if(n)return;if(!f(M)){R(!0),b(l);return}if(s.composite&&!a&&M.detail>0){F(M,!1,a);return}R(!0);let j=g.current.get(l);M.detail===0&&j&&j.click(),a?(s.composite&&M.detail>0||!s.composite)&&F(M,!1,a):setTimeout(()=>{F(M,!0,a)},0)},onMouseMove:()=>{!n&&O.focused&&b(l)},onMouseEnter:s.composite?()=>{!n&&O.focused&&($(l),b(l))}:void 0}},[s.composite,O.focused,B,U,b,z,$,F]),et=c.useCallback(e=>{let{value:t,disabled:n,sub:r}=e,o=r?.state.open,a=r?.openDelay??100,i=r?.closeDelay??0,p=r?.openOnHover??!0,l=r?{open:r.open,close:r.close,toggle:r.toggle,isOpen:()=>!!r.state.open}:void 0,K=r?.listRef,re=r?.subtriggerProps?.ref,f=U(t),M=B(f),N=z(f),j=C=>{N(C),re?.(C),C?(l&&h.current.set(f,l),K&&H.current.set(f,K)):(h.current.delete(f),H.current.delete(f))};return l&&h.current.set(f,l),K&&H.current.set(f,K),{ref:j,id:f,role:"menuitem",tabIndex:-1,"aria-expanded":o,"aria-disabled":n||void 0,"data-scope":"menu","data-part":"subtrigger","data-value":t,...M&&{"data-focused":""},...n&&{"data-disabled":""},...o&&{"data-open":""},onMouseDown:C=>{C.preventDefault(),y(P,f),y(k,f),!n&&C.detail>0&&(b(f),l?.toggle()),!n&&T(v.current)&&W(T(v.current))},onMouseMove:()=>{R(!0),!n&&O.focused&&b(f)},onMouseEnter:()=>{p&&s.composite&&!n&&O.focused&&(o?b(f):($(f),b(f),l&&x(f,"open",a,()=>{r?.state.open||l.open()})))},onMouseLeave:C=>{if(p&&(y(P,f),s.composite&&o&&l)){let se=H.current.get(f)?.current??null,pt=se?.closest('[data-part="popup"]')??null,I=se?.closest('[data-part="positioner"]')??null??pt??se,oe=T(C.relatedTarget);if(oe&&I&&(I===oe||I.contains(oe)))return;let De=Math.max(i,150);if(x(f,"close",De,()=>{l.close()}),I){let _=()=>{y(k,f),I.removeEventListener("mouseenter",_),I.removeEventListener("pointerenter",_),Se!==null&&window.clearTimeout(Se)};I.addEventListener("mouseenter",_),I.addEventListener("pointerenter",_);let Se=window.setTimeout(()=>{I.removeEventListener("mouseenter",_),I.removeEventListener("pointerenter",_)},De+50)}}}}},[s.composite,O.focused,B,U,b,z,$,x]),tt=c.useCallback(e=>{let{type:t,checked:n,submenuOpen:r,match:o}=e,a=t==="checkbox"?"checkbox":t==="radio"?"radio":r!==void 0?"submenu":null,i=t==="checkbox"||t==="radio"?n??!1:r!==void 0?r:!1;return{matchVisible:o?i===(o==="open"||o==="checked"):!0,[a==="submenu"?i?"data-open":"data-closed":i?"data-checked":"data-unchecked"]:"","data-scope":"menu","data-part":"indicator"}},[]),nt={"data-scope":"menu","data-part":"indicator"},rt={"data-scope":"menu","data-part":"indicator"},st={"data-scope":"menu","data-part":"indicator"},ot=c.useCallback((e={})=>{let{value:t,sub:n}=e,r=!!n,o=n?.listProps?.ref,a=J(t),i=E()||void 0;return{...!r&&{ref:ge},...r&&o&&{ref:o},id:a,role:"menu","aria-activedescendant":r?void 0:i,tabIndex:r?-1:s.tabIndex??0,"data-scope":"menu","data-part":"list",...r&&s.composite&&{"data-composite":""},onKeyDown:ee,...r?{}:{onFocus:te,onBlur:ne}}},[s.tabIndex,s.composite,J,E,ge,ee,te,ne]),at={...u.triggerProps,"aria-haspopup":"true","aria-expanded":!!u.state.open,"data-scope":"menu","data-part":"trigger",...u.state.open&&{"data-open":""},...u.state.open&&{"data-expanded":""},onClick:He,...s.openOnHover&&{onPointerEnter:Qe,onPointerLeave:Xe}},ct={...u.arrowProps,...w&&{"data-instant":w}},it=()=>{s.openOnHover&&y(k,"trigger")},ut=()=>{if(!s.openOnHover)return;let e=Math.max(s.closeDelay??0,150);x("trigger","close",e,()=>{u.state.open&&u.setOpen?.(!1)})},lt={...u.popupProps,...w&&{"data-instant":""},...w&&{"data-instant-type":w},...s.openOnHover&&{onPointerEnter:it,onPointerLeave:ut}},dt={...u.positionerProps},ft={role:"none","data-scope":"menu","data-part":"label"},mt={role:"separator","data-scope":"menu","data-part":"separator"},gt={role:"group","data-scope":"menu","data-part":"radiogroup"},bt={id:A,"data-scope":"menu","data-part":"root"};return c.useEffect(()=>{u.state.rendered&&we()},[u.state.rendered]),c.useEffect(()=>{u.state.open||h.current.forEach(e=>{e.close()})},[u.state.open]),c.useEffect(()=>!s.navigationmenu||!s.navigationmenuMenuId?void 0:s.navigationmenu.registerInstantSignal(s.navigationmenuMenuId,()=>{ie("switch")}),[s.navigationmenu,s.navigationmenuMenuId]),c.useEffect(()=>{if(w===void 0)return;let e=window.setTimeout(()=>ie(void 0),50);return()=>window.clearTimeout(e)},[w,u.state.open]),{state:O,popover:u,rootProps:bt,triggerProps:at,arrowProps:ct,popupProps:lt,positionerProps:dt,labelProps:ft,separatorProps:mt,radioGroupProps:gt,getItemProps:Ye,getSubTriggerProps:et,getListProps:ot,getIndicatorProps:tt,checkboxItemIndicatorProps:nt,radioItemIndicatorProps:rt,submenuIndicatorProps:st,updateItemAria:X,isFocused:B,getItemId:U,getListId:J,changeVisibleState:Y,markMouseInteraction:R,changeFocusedOptionId:b,hideSubmenusAfterLevel:$,hideAllSubmenus:Z,onListKeyDown:ee,onListFocus:te,onListBlur:ne,onOverlayEnter:we,onTriggerClick:He,onItemClick:F}}});export{Fe as defaultProps,At as useMenu};
@@ -1 +1 @@
1
- import{withHeadless as s}from"@primereact/core/headless";import{useRadioButton as h}from"@primereact/headless/radiobutton";import{equals as f}from"@primeuix/utils";import*as l from"react";var c={checked:void 0,defaultChecked:void 0,inputId:void 0,name:void 0,value:void 0,disabled:void 0,closeOnSelect:!1,group:null,onSelect:void 0,onCheckedChange:void 0};var I=s({name:"useMenuRadioItem",defaultProps:c,setup({props:e}){let a=e.group??null,o=a?{...e,checked:f(a.value,e.value),name:e.name??a.name,disabled:e.disabled,value:e.value,onCheckedChange:n=>{a.updateChange({...n,value:e.value}),e.onCheckedChange?.({...n,value:e.value})}}:{...e,value:e.value,onCheckedChange:n=>e.onCheckedChange?.({...n,value:e.value})},t=h(o),d=!!t.state.checked,u=!!e.disabled,i=e.closeOnSelect??!1,m=l.useCallback(n=>{u||(d||t.onChange({target:{checked:!0}}),e.onSelect?.(n))},[t,d,u,e.onSelect]);return{...t,state:{...t.state,checked:d},closeOnSelect:i,onSelect:m}}});export{c as defaultProps,I as useMenuRadioItem};
1
+ import{withHeadless as h}from"@primereact/core/headless";import{useRadioButton as r}from"@primereact/headless/radiobutton";import{equals as f}from"@primeuix/utils";import*as c from"react";var o={checked:void 0,defaultChecked:void 0,inputId:void 0,name:void 0,value:void 0,disabled:void 0,closeOnSelect:!1,group:null,onSelect:void 0,onCheckedChange:void 0};var R=h({name:"useMenuRadioItem",defaultProps:o,setup({props:e}){let{onSelect:d}=e,a=e.group??null,i=a?{...e,group:null,checked:f(a.value,e.value),name:e.name??a.name,disabled:e.disabled,value:e.value,onCheckedChange:n=>{a.updateChange({...n,value:e.value}),e.onCheckedChange?.({...n,value:e.value})}}:{...e,group:null,value:e.value,onCheckedChange:n=>e.onCheckedChange?.({...n,value:e.value})},t=r(i),u=!!t.state.checked,l=!!e.disabled,s=e.closeOnSelect??!1,m=c.useCallback(n=>{l||(u||t.onChange({target:{checked:!0}}),d?.(n))},[t,u,l,d]);return{...t,state:{...t.state,checked:u},closeOnSelect:s,onSelect:m}}});export{o as defaultProps,R as useMenuRadioItem};
package/message/index.mjs CHANGED
@@ -1 +1 @@
1
- import{withHeadless as u}from"@primereact/core/headless";import*as t from"react";var a={life:null,onClose:void 0};var d=u({name:"useMessage",defaultProps:a,setup:({props:s})=>{let[o,l]=t.useState(!0),e=t.useRef(null),n={visible:o},r=t.useCallback(()=>{l(!1),e.current&&(clearTimeout(e.current),e.current=null),s.onClose?.()},[s.onClose]);t.useEffect(()=>(e.current&&(clearTimeout(e.current),e.current=null),typeof s.life=="number"&&s.life>0&&o&&(e.current=setTimeout(()=>{r()},s.life)),()=>{e.current&&(clearTimeout(e.current),e.current=null)}),[s.life,o,r]);let c={"data-scope":"message","data-part":"root",...!o&&{style:{display:"none"}}};return{state:n,rootProps:c,closeProps:{"data-scope":"message","data-part":"close",onClick:r},handleClose:r}}});export{a as defaultProps,d as useMessage};
1
+ import{withHeadless as i}from"@primereact/core/headless";import*as t from"react";var n={life:null,onClose:void 0};var y=i({name:"useMessage",defaultProps:n,setup:({props:c})=>{let{life:s,onClose:a}=c,[o,l]=t.useState(!0),e=t.useRef(null),u={visible:o},r=t.useCallback(()=>{l(!1),e.current&&(clearTimeout(e.current),e.current=null),a?.()},[a]);t.useEffect(()=>(e.current&&(clearTimeout(e.current),e.current=null),typeof s=="number"&&s>0&&o&&(e.current=setTimeout(()=>{r()},s)),()=>{e.current&&(clearTimeout(e.current),e.current=null)}),[s,o,r]);let p={"data-scope":"message","data-part":"root",...!o&&{style:{display:"none"}}};return{state:u,rootProps:p,closeProps:{"data-scope":"message","data-part":"close",onClick:r},handleClose:r}}});export{n as defaultProps,y as useMessage};
@@ -1 +1 @@
1
- import{withHeadless as S}from"@primereact/core/headless";import{focus as F,toElement as K}from"@primeuix/utils";import*as r from"react";var E={orientation:"horizontal",loopFocus:!0,modal:!0,disabled:!1};var U=(i,o)=>{let b=i.compareDocumentPosition(o);return b&Node.DOCUMENT_POSITION_FOLLOWING?-1:b&Node.DOCUMENT_POSITION_PRECEDING?1:0},G=S({name:"useNavigationMenu",defaultProps:E,setup({props:i}){let[o,b]=r.useState(null),k=r.useRef(null);k.current=o;let R=r.useRef(new Map),p=r.useRef(new Map),f=r.useRef(null),d=i.orientation??"horizontal",M=i.loopFocus??!0,h=!!i.modal,c=!!i.disabled,v={openMenuId:o,hasOpenMenu:o!==null},O=r.useCallback((e,t)=>(p.current.set(e,t),()=>{p.current.get(e)===t&&p.current.delete(e)}),[]),a=r.useCallback(e=>{let t=k.current,n=typeof e=="function"?e(t):e;t!==null&&n!==null&&t!==n&&(p.current.get(t)?.(),p.current.get(n)?.()),b(n)},[]),w=r.useCallback(e=>{a(e)},[a]),y=r.useCallback(()=>{let e=f.current;return f.current=null,e},[]),T=r.useCallback(e=>{f.current=e},[]),D=r.useCallback(e=>o===e,[o]),x=r.useCallback((e,t)=>{let n=K(t)??null;n?R.current.set(e,n):R.current.delete(e)},[]),C=r.useCallback(()=>{let e=[];return R.current.forEach((t,n)=>{!t.hasAttribute("data-disabled")&&!t.disabled&&e.push({id:n,element:t})}),e.sort((t,n)=>U(t.element,n.element)),e},[]),l=r.useCallback((e,t)=>{let n=C();if(n.length===0)return;let m=n.findIndex(g=>g.id===e),s;switch(t){case"next":s=m+1,s>=n.length&&(s=M?0:n.length-1);break;case"previous":s=m-1,s<0&&(s=M?n.length-1:0);break;case"first":s=0;break;case"last":s=n.length-1;break}let u=n[s];!u||u.id===e||(F(u.element),a(g=>g!==null?u.id:g))},[C,M]),L=r.useCallback((e,t)=>{if(c)return;let n=d==="horizontal",m=n?"ArrowRight":"ArrowDown",s=n?"ArrowLeft":"ArrowUp",u=n?"ArrowDown":"ArrowRight",g=n?"ArrowUp":"ArrowLeft";switch(t.key){case m:t.preventDefault(),l(e,"next");break;case s:t.preventDefault(),l(e,"previous");break;case"Home":t.preventDefault(),l(e,"first");break;case"End":t.preventDefault(),l(e,"last");break;case u:case"Enter":case" ":t.preventDefault(),f.current="first",a(e);break;case g:t.preventDefault(),f.current="last",a(e);break;default:break}},[c,d,l]),N=r.useCallback(e=>{c||a(t=>t!==null&&t!==e?e:t)},[c,a]),P=r.useCallback((e,t)=>{a(t?e:n=>n===e?null:n)},[a]),A={role:"menubar","aria-orientation":d,"data-scope":"navigationmenu","data-part":"root","data-orientation":d,...v.hasOpenMenu&&{"data-has-open-menu":""},...h&&{"data-modal":""},...c&&{"data-disabled":""}},H=r.useCallback((e,t)=>{l(e,t)},[l]);return{state:v,rootProps:A,orientation:d,modal:h,disabled:c,registerTrigger:x,setOpenMenuId:w,isMenuOpen:D,onTriggerKeyDown:L,onTriggerMouseEnter:N,onMenuOpenChange:P,focusSibling:H,setPendingFocus:T,consumePendingFocus:y,registerInstantSignal:O}}});export{E as defaultProps,G as useNavigationMenu};
1
+ import{withHeadless as S}from"@primereact/core/headless";import{focus as F,toElement as K}from"@primeuix/utils";import*as r from"react";var E={orientation:"horizontal",loopFocus:!0,modal:!0,disabled:!1};var U=(i,o)=>{let b=i.compareDocumentPosition(o);return b&Node.DOCUMENT_POSITION_FOLLOWING?-1:b&Node.DOCUMENT_POSITION_PRECEDING?1:0},G=S({name:"useNavigationMenu",defaultProps:E,setup({props:i}){let[o,b]=r.useState(null),k=r.useRef(null);k.current=o;let R=r.useRef(new Map),p=r.useRef(new Map),f=r.useRef(null),d=i.orientation??"horizontal",M=i.loopFocus??!0,h=!!i.modal,c=!!i.disabled,v={openMenuId:o,hasOpenMenu:o!==null},O=r.useCallback((e,t)=>(p.current.set(e,t),()=>{p.current.get(e)===t&&p.current.delete(e)}),[]),s=r.useCallback(e=>{let t=k.current,n=typeof e=="function"?e(t):e;t!==null&&n!==null&&t!==n&&(p.current.get(t)?.(),p.current.get(n)?.()),b(n)},[]),w=r.useCallback(e=>{s(e)},[s]),y=r.useCallback(()=>{let e=f.current;return f.current=null,e},[]),T=r.useCallback(e=>{f.current=e},[]),D=r.useCallback(e=>o===e,[o]),x=r.useCallback((e,t)=>{let n=K(t)??null;n?R.current.set(e,n):R.current.delete(e)},[]),C=r.useCallback(()=>{let e=[];return R.current.forEach((t,n)=>{!t.hasAttribute("data-disabled")&&!t.disabled&&e.push({id:n,element:t})}),e.sort((t,n)=>U(t.element,n.element)),e},[]),l=r.useCallback((e,t)=>{let n=C();if(n.length===0)return;let m=n.findIndex(g=>g.id===e),a;switch(t){case"next":a=m+1,a>=n.length&&(a=M?0:n.length-1);break;case"previous":a=m-1,a<0&&(a=M?n.length-1:0);break;case"first":a=0;break;case"last":a=n.length-1;break}let u=n[a];!u||u.id===e||(F(u.element),s(g=>g!==null?u.id:g))},[C,M,s]),L=r.useCallback((e,t)=>{if(c)return;let n=d==="horizontal",m=n?"ArrowRight":"ArrowDown",a=n?"ArrowLeft":"ArrowUp",u=n?"ArrowDown":"ArrowRight",g=n?"ArrowUp":"ArrowLeft";switch(t.key){case m:t.preventDefault(),l(e,"next");break;case a:t.preventDefault(),l(e,"previous");break;case"Home":t.preventDefault(),l(e,"first");break;case"End":t.preventDefault(),l(e,"last");break;case u:case"Enter":case" ":t.preventDefault(),f.current="first",s(e);break;case g:t.preventDefault(),f.current="last",s(e);break;default:break}},[c,d,l,s]),N=r.useCallback(e=>{c||s(t=>t!==null&&t!==e?e:t)},[c,s]),P=r.useCallback((e,t)=>{s(t?e:n=>n===e?null:n)},[s]),A={role:"menubar","aria-orientation":d,"data-scope":"navigationmenu","data-part":"root","data-orientation":d,...v.hasOpenMenu&&{"data-has-open-menu":""},...h&&{"data-modal":""},...c&&{"data-disabled":""}},H=r.useCallback((e,t)=>{l(e,t)},[l]);return{state:v,rootProps:A,orientation:d,modal:h,disabled:c,registerTrigger:x,setOpenMenuId:w,isMenuOpen:D,onTriggerKeyDown:L,onTriggerMouseEnter:N,onMenuOpenChange:P,focusSibling:H,setPendingFocus:T,consumePendingFocus:y,registerInstantSignal:O}}});export{E as defaultProps,G as useNavigationMenu};
@@ -1 +1 @@
1
- import{arrayMove as de}from"@primereact/core/dnd";import{withHeadless as ue}from"@primereact/core/headless";import*as I from"react";import{withHeadless as le}from"@primereact/core/headless";import*as y from"react";import{flushSync as ce}from"react-dom";var se={dnd:void 0,id:void 0,items:void 0,disabled:!1,placeholder:"empty",onSort:void 0};var $=S=>Array.from(S.querySelectorAll(":scope > [data-sortable-item]")),ie=le({name:"useSortableContainer",defaultProps:se,setup({props:S}){let t=S.dnd,l=S.id,A=S.items??[],m=S.disabled??!1,X=S.placeholder??"clone",T=S.onSort,z=t?`${t.uid}_${l}`:String(l),b=y.useRef(null);y.useEffect(()=>{if(!(!t||l==null))return t.containers.set(l,{listRef:b,items:A}),()=>{t.containers.delete(l)}},[t,l]);let j=y.useRef(A);j.current=A,y.useEffect(()=>{if(t&&l!=null){let r=t.containers.get(l);r&&(r.items=A)}},[t,l,A]);let[M,U]=y.useState(!1),B=y.useRef(0),v=y.useRef(null),_=(r,o,n,i,L,V,N)=>{let Y=V+N,H=$(r);for(let x=0;x<H.length;x++){let P=x<o?x:x+1,k=0;o<n?P>o&&P<=n&&(k=-Y):o>n&&P>=n&&P<o&&(k=Y),H[x].style.transform=k?`translateY(${k}px)`:""}L.style.transform=n!==o?`translateY(${(n-o)*Y}px)`:""},G=r=>{if(r)for(let o of $(r))o.style.transform=""},Q=r=>{let o=$(r);return o.length>1?o[1].getBoundingClientRect().top-o[0].getBoundingClientRect().bottom:4},W=(r,o)=>{let n=r.cloneNode(!0);return n.setAttribute("inert","true"),n.removeAttribute("data-sortable-item"),n.removeAttribute("data-sortable-container"),n.style.position="fixed",n.style.zIndex="9999",n.style.pointerEvents="none",n.style.width=`${o.width}px`,n.style.height=`${o.height}px`,n.style.left=`${o.left}px`,n.style.top=`${o.top}px`,n.style.margin="0",n.style.transform="translate(0px, 0px)",n.style.transition="none",n.style.opacity="0.9",n.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(n),n},Z=()=>{if(t){for(let[r,o]of t.containers)if(!o.listRef.current||!o.listRef.current.isConnected){let n=`${t.uid}_${r}`,i=document.querySelector(`[data-sortable-list="${n}"]`);i&&(o.listRef.current=i)}}},ee=r=>m?{"data-sortable-item":"","data-sortable-container":String(l)}:{"data-sortable-item":"","data-sortable-container":String(l),onPointerDown:o=>{if(o.button!==0||m)return;let n=o.currentTarget,i=n.parentElement;if(i&&(b.current=i,t&&l!=null)){let e=t.containers.get(l);e&&(e.listRef.current=i)}Z();let L=n.getBoundingClientRect(),V=o.clientX,N=o.clientY,Y=!1,H=l,x=t?t.containers.size>1:!1,P=new Map;if(t)for(let[e,p]of t.containers)P.set(e,[...p.items]);else P.set(l,[...j.current]);let k=V,D=N,te=()=>{let e=v.current;if(!e)return;let p=e.originContainerId;if(x&&t)for(let[u,R]of t.containers){if(!R.listRef.current||!R.listRef.current.isConnected){let re=`${t.uid}_${u}`,J=document.querySelector(`[data-sortable-list="${re}"]`);J&&(R.listRef.current=J)}let C=R.listRef.current?.getBoundingClientRect();if(C&&k>=C.left&&k<=C.right&&D>=C.top&&D<=C.bottom){p=u;break}}let f=x&&t?t.containers.get(p)?.listRef.current:b.current;if(!f)return;let E=((x&&t?t.containers.get(e.originContainerId)?.listRef.current:b.current)?.scrollTop??0)-e.startScrollTop,q=D-e.startY,d=e.itemHeight+e.gap,g=e.itemsAtStart.get(p)??[],c;if(p===e.originContainerId)c=e.fromIndex+Math.round((q+E)/d),c=Math.max(0,Math.min(g.length-1,c));else{let u=f.getBoundingClientRect(),R=parseFloat(getComputedStyle(f).paddingTop)||0,C=D-u.top-R;c=Math.round(C/d),c=Math.max(0,Math.min(g.length,c))}let h=p!==e.currentContainerId;if(h||c!==e.projectedIndex){if(h&&t){let u=t.containers.get(e.currentContainerId)?.listRef.current;u&&G(u)}if(e.currentContainerId=p,e.projectedIndex=c,t&&t.setState({currentContainerId:p,projectedIndex:c}),p===e.originContainerId)h&&e.node.parentElement?.insertBefore(e.clone,e.node),e.clone.style.height=`${e.itemHeight}px`,e.clone.style.overflow="",_(f,e.fromIndex,c,e.node,e.clone,e.itemHeight,e.gap);else{let u=$(f),R=u.length>=2?u[1].getBoundingClientRect().top-u[0].getBoundingClientRect().top:e.itemHeight+e.gap;h&&(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",f.style.position="");let C=f.getBoundingClientRect(),re=f.scrollTop,J=parseFloat(getComputedStyle(f).paddingTop)||0,K;if(u.length===0)K=C.top+J;else if(c<u.length)K=u[c].getBoundingClientRect().top;else{let F=u[u.length-1];K=F.getBoundingClientRect().bottom+(R-F.getBoundingClientRect().height)}e.clone.style.top=`${K}px`,e.clone.style.left=`${C.left}px`,e.clone.style.width=`${C.width}px`,e.clone.style.transform="";for(let F=0;F<u.length;F++)u[F].style.transform=F>=c?`translateY(${R}px)`:""}}return f},ne=e=>{let p=Math.sqrt((e.clientX-V)**2+(e.clientY-N)**2);if(!Y&&p<5)return;if(!Y){Y=!0;let E=b.current,q=E?Q(E):4,d;X==="empty"?d=document.createElement(n.tagName):d=n.cloneNode(!0),d.setAttribute("inert","true"),d.setAttribute("data-sortable-placeholder",""),d.removeAttribute("data-sortable-item"),d.removeAttribute("data-sortable-container"),d.style.width=`${L.width}px`,d.style.height=`${L.height}px`,d.style.flexShrink="0",d.style.transition="transform 200ms ease, opacity 150ms ease",d.style.opacity="0",n.parentElement?.insertBefore(d,n),requestAnimationFrame(()=>{d.style.opacity="1"}),b.current?.blur();let g=W(n,L);n.setAttribute("data-dragging",""),n.removeAttribute("data-sortable-item"),n.style.position="absolute",n.style.visibility="hidden",n.style.pointerEvents="none";let c=n.parentElement;if(c)for(let h of $(c))h!==n&&(h.style.pointerEvents="none",h.style.transition="transform 200ms ease");if(t){for(let[h,u]of t.containers)if(h!==H&&u.listRef.current)for(let R of $(u.listRef.current))R.style.pointerEvents="none",R.style.transition="transform 200ms ease"}v.current={startX:V,startY:N,startScrollTop:E?.scrollTop??0,node:n,ghost:g,clone:d,itemHeight:L.height,gap:q,fromIndex:r,projectedIndex:r,originContainerId:H,currentContainerId:H,itemsAtStart:P},U(!0),t&&t.setState({dragging:!0,activeContainerId:H,currentContainerId:H,fromIndex:r,projectedIndex:r})}let f=v.current;if(!f)return;k=e.clientX,D=e.clientY,f.ghost.style.transform=`translate(${e.clientX-f.startX}px, ${e.clientY-f.startY}px)`;let w=te();if(cancelAnimationFrame(B.current),w){let d=()=>{let g=w.getBoundingClientRect(),c=D-g.top,h=g.bottom-D,u=!1;c>0&&c<40?(w.scrollTop-=8,u=!0):h>0&&h<40&&(w.scrollTop+=8,u=!0),u&&(v.current&&(v.current.projectedIndex=-1),te(),B.current=requestAnimationFrame(d))};d()}},oe=()=>{document.removeEventListener("pointermove",ne),document.removeEventListener("pointerup",oe),cancelAnimationFrame(B.current);let e=v.current;if(!e)return;let p=e.currentContainerId!==e.originContainerId,f=!1,w=()=>{if(f)return;f=!0,e.ghost.removeEventListener("transitionend",w),cancelAnimationFrame(B.current),e.ghost.remove(),e.clone.remove();let E=[];if(t&&t.containers.size>1)for(let[,g]of t.containers)g.listRef.current&&E.push(g.listRef.current);else b.current&&E.push(b.current);e.node.style.position="",e.node.removeAttribute("data-dragging"),e.node.setAttribute("data-sortable-item","");for(let g of E)for(let c of $(g))c.style.transition="none",c.style.transform="",c.style.pointerEvents="";ce(()=>{p?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}):T&&T({containerId:e.originContainerId,fromIndex:e.fromIndex,toIndex:e.projectedIndex}))});for(let g of E){g.offsetHeight;for(let c of $(g))c.style.transition="",c.style.visibility="",c.style.pointerEvents=""}v.current=null,U(!1),t&&t.setState({dragging:!1,activeContainerId:null,currentContainerId:null,fromIndex:-1,projectedIndex:-1});let q=p?e.currentContainerId:e.originContainerId,d=x&&t?t.containers.get(q)?.listRef.current:b.current;d&&(d.dataset.dndFocusIndex=String(e.projectedIndex),d.focus(),delete d.dataset.dndFocusIndex)};e.ghost.style.transition="opacity 150ms ease-out",e.ghost.style.opacity="0",e.ghost.addEventListener("transitionend",w,{once:!0}),setTimeout(()=>{v.current===e&&w()},200)};document.addEventListener("pointermove",ne),document.addEventListener("pointerup",oe)}},O={dragging:M},a=y.useMemo(()=>({"data-scope":"dnd","data-part":"sortable-container",...M?{"data-active":""}:void 0,...m?{"data-disabled":""}:void 0}),[M,m]),s=y.useMemo(()=>({"data-sortable-list":z}),[z]);return{state:O,getItemDndProps:ee,listProps:s,rootProps:a}}});var ae={value:void 0,selection:void 0,disabled:!1,draggable:!1,placeholder:"empty",onValueChange:void 0};var xe=ue({name:"useOrderList",defaultProps:ae,setup({id:S,props:t}){let[l,A]=I.useState(t.value??[]);I.useEffect(()=>{t.value!==void 0&&A(t.value)},[t.value]);let m=t.selection??[],X=I.useCallback(a=>m.indexOf(a)!==-1,[m]),T=(a,s)=>{A(a),t.onValueChange?.({originalEvent:s,value:a})},z=I.useRef(T);z.current=T;let b=I.useRef(l);b.current=l;let j=I.useRef(null),M=I.useRef(null);I.useEffect(()=>{let a=M.current;if(!a||!j.current)return;M.current=null;let s=requestAnimationFrame(()=>{let r=j.current?.querySelectorAll('[role="option"]');if(!r?.length)return;let o=m.map(i=>l.indexOf(i)).filter(i=>i!==-1);if(!o.length)return;let n=a==="up"?Math.min(...o):Math.max(...o);r[n]?.scrollIntoView({block:"nearest",inline:"nearest"})});return()=>cancelAnimationFrame(s)},[l]);let U=a=>{let s=new Set;for(let r of m){let o=a.indexOf(r);o!==-1&&s.add(o)}return s},B=a=>{if(m.length===0||!Array.isArray(l))return;let s=[...l],r=U(s),o=[...r].sort((i,L)=>i-L),n=!1;for(let i of o)i>0&&!r.has(i-1)&&([s[i],s[i-1]]=[s[i-1],s[i]],r.delete(i),r.add(i-1),n=!0);n&&(M.current="up",T(s,a))},v=a=>{if(m.length===0||!Array.isArray(l))return;let s=[...l],r=U(s),o=[...r].sort((i,L)=>L-i),n=!1;for(let i of o)i<s.length-1&&!r.has(i+1)&&([s[i],s[i+1]]=[s[i+1],s[i]],r.delete(i),r.add(i+1),n=!0);n&&(M.current="down",T(s,a))},_=a=>{if(m.length===0||!Array.isArray(l))return;let s=[],r=[];for(let o of l)(X(o)?s:r).push(o);M.current="up",T([...s,...r],a)},G=a=>{if(m.length===0||!Array.isArray(l))return;let s=[],r=[];for(let o of l)(X(o)?s:r).push(o);M.current="down",T([...r,...s],a)},{state:Q,getItemDndProps:W,listProps:Z}=ie({id:"orderlist",items:l,disabled:t.disabled||!t.draggable,placeholder:t.placeholder,onSort:({fromIndex:a,toIndex:s})=>{let r=de(b.current,a,s);z.current(r)}}),ee=(a,s)=>({"data-scope":"orderlist","data-part":"option",...X(a)?{"data-selected":""}:{},...W(s)}),O=Array.isArray(m)&&m.length>0;return{state:{value:l,selection:m,dragging:Q.dragging},getOptionProps:ee,listRef:j,moveUp:B,moveDown:v,moveTop:_,moveBottom:G,rootProps:{id:S,"data-scope":"orderlist","data-part":"root"},controlsProps:{"data-scope":"orderlist","data-part":"controls"},listProps:{"data-scope":"orderlist","data-part":"list",...Z},prevProps:{"data-scope":"orderlist","data-part":"prev",type:"button",disabled:t.disabled||!O,"aria-label":"Move Up",onClick:a=>B(a)},nextProps:{"data-scope":"orderlist","data-part":"next",type:"button",disabled:t.disabled||!O,"aria-label":"Move Down",onClick:a=>v(a)},firstProps:{"data-scope":"orderlist","data-part":"first",type:"button",disabled:t.disabled||!O,"aria-label":"Move Top",onClick:a=>_(a)},lastProps:{"data-scope":"orderlist","data-part":"last",type:"button",disabled:t.disabled||!O,"aria-label":"Move Bottom",onClick:a=>G(a)}}}});export{ae as defaultProps,xe as useOrderList};
1
+ import{arrayMove as ce}from"@primereact/core/dnd";import{withHeadless as de}from"@primereact/core/headless";import*as h from"react";import{withHeadless as ae}from"@primereact/core/headless";import*as b from"react";import{flushSync as le}from"react-dom";var re={dnd:void 0,id:void 0,items:void 0,disabled:!1,placeholder:"empty",onSort:void 0};var $=S=>Array.from(S.querySelectorAll(":scope > [data-sortable-item]")),se=ae({name:"useSortableContainer",defaultProps:re,setup({props:S}){let n=S.dnd,a=S.id,A=S.items??[],u=S.disabled??!1,z=S.placeholder??"clone",U=S.onSort,M=n?`${n.uid}_${a}`:String(a),R=b.useRef(null);b.useEffect(()=>{if(!(!n||a==null))return n.containers.set(a,{listRef:R,items:A}),()=>{n.containers.delete(a)}},[n,a]);let V=b.useRef(A);V.current=A,b.useEffect(()=>{if(n&&a!=null){let o=n.containers.get(a);o&&(o.items=A)}},[n,a,A]);let[B,L]=b.useState(!1),Y=b.useRef(0),v=b.useRef(null),_=(o,r,t,m,s,T,N)=>{let D=T+N,H=$(o);for(let x=0;x<H.length;x++){let P=x<r?x:x+1,k=0;r<t?P>r&&P<=t&&(k=-D):r>t&&P>=t&&P<r&&(k=D),H[x].style.transform=k?`translateY(${k}px)`:""}s.style.transform=t!==r?`translateY(${(t-r)*D}px)`:""},G=o=>{if(o)for(let r of $(o))r.style.transform=""},J=o=>{let r=$(o);return r.length>1?r[1].getBoundingClientRect().top-r[0].getBoundingClientRect().bottom:4},K=(o,r)=>{let t=o.cloneNode(!0);return t.setAttribute("inert","true"),t.removeAttribute("data-sortable-item"),t.removeAttribute("data-sortable-container"),t.style.position="fixed",t.style.zIndex="9999",t.style.pointerEvents="none",t.style.width=`${r.width}px`,t.style.height=`${r.height}px`,t.style.left=`${r.left}px`,t.style.top=`${r.top}px`,t.style.margin="0",t.style.transform="translate(0px, 0px)",t.style.transition="none",t.style.opacity="0.9",t.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(t),t},Q=()=>{if(n){for(let[o,r]of n.containers)if(!r.listRef.current||!r.listRef.current.isConnected){let t=`${n.uid}_${o}`,m=document.querySelector(`[data-sortable-list="${t}"]`);m&&(r.listRef.current=m)}}},W=o=>u?{"data-sortable-item":"","data-sortable-container":String(a)}:{"data-sortable-item":"","data-sortable-container":String(a),onPointerDown:r=>{if(r.button!==0||u)return;let t=r.currentTarget,m=t.parentElement;if(m&&(R.current=m,n&&a!=null)){let e=n.containers.get(a);e&&(e.listRef.current=m)}Q();let s=t.getBoundingClientRect(),T=r.clientX,N=r.clientY,D=!1,H=a,x=n?n.containers.size>1:!1,P=new Map;if(n)for(let[e,p]of n.containers)P.set(e,[...p.items]);else P.set(a,[...V.current]);let k=T,F=N,te=()=>{let e=v.current;if(!e)return;let p=e.originContainerId;if(x&&n)for(let[d,I]of n.containers){if(!I.listRef.current||!I.listRef.current.isConnected){let ee=`${n.uid}_${d}`,j=document.querySelector(`[data-sortable-list="${ee}"]`);j&&(I.listRef.current=j)}let C=I.listRef.current?.getBoundingClientRect();if(C&&k>=C.left&&k<=C.right&&F>=C.top&&F<=C.bottom){p=d;break}}let f=x&&n?n.containers.get(p)?.listRef.current:R.current;if(!f)return;let E=((x&&n?n.containers.get(e.originContainerId)?.listRef.current:R.current)?.scrollTop??0)-e.startScrollTop,X=F-e.startY,c=e.itemHeight+e.gap,g=e.itemsAtStart.get(p)??[],l;if(p===e.originContainerId)l=e.fromIndex+Math.round((X+E)/c),l=Math.max(0,Math.min(g.length-1,l));else{let d=f.getBoundingClientRect(),I=parseFloat(getComputedStyle(f).paddingTop)||0,C=F-d.top-I;l=Math.round(C/c),l=Math.max(0,Math.min(g.length,l))}let y=p!==e.currentContainerId;if(y||l!==e.projectedIndex){if(y&&n){let d=n.containers.get(e.currentContainerId)?.listRef.current;d&&G(d)}if(e.currentContainerId=p,e.projectedIndex=l,n&&n.setState({currentContainerId:p,projectedIndex:l}),p===e.originContainerId)y&&e.node.parentElement?.insertBefore(e.clone,e.node),e.clone.style.height=`${e.itemHeight}px`,e.clone.style.overflow="",_(f,e.fromIndex,l,e.node,e.clone,e.itemHeight,e.gap);else{let d=$(f),I=d.length>=2?d[1].getBoundingClientRect().top-d[0].getBoundingClientRect().top:e.itemHeight+e.gap;y&&(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",f.style.position="");let C=f.getBoundingClientRect(),ee=parseFloat(getComputedStyle(f).paddingTop)||0,j;if(d.length===0)j=C.top+ee;else if(l<d.length)j=d[l].getBoundingClientRect().top;else{let O=d[d.length-1];j=O.getBoundingClientRect().bottom+(I-O.getBoundingClientRect().height)}e.clone.style.top=`${j}px`,e.clone.style.left=`${C.left}px`,e.clone.style.width=`${C.width}px`,e.clone.style.transform="";for(let O=0;O<d.length;O++)d[O].style.transform=O>=l?`translateY(${I}px)`:""}}return f},ne=e=>{let p=Math.sqrt((e.clientX-T)**2+(e.clientY-N)**2);if(!D&&p<5)return;if(!D){D=!0;let E=R.current,X=E?J(E):4,c;z==="empty"?c=document.createElement(t.tagName):c=t.cloneNode(!0),c.setAttribute("inert","true"),c.setAttribute("data-sortable-placeholder",""),c.removeAttribute("data-sortable-item"),c.removeAttribute("data-sortable-container"),c.style.width=`${s.width}px`,c.style.height=`${s.height}px`,c.style.flexShrink="0",c.style.transition="transform 200ms ease, opacity 150ms ease",c.style.opacity="0",t.parentElement?.insertBefore(c,t),requestAnimationFrame(()=>{c.style.opacity="1"}),R.current?.blur();let g=K(t,s);t.setAttribute("data-dragging",""),t.removeAttribute("data-sortable-item"),t.style.position="absolute",t.style.visibility="hidden",t.style.pointerEvents="none";let l=t.parentElement;if(l)for(let y of $(l))y!==t&&(y.style.pointerEvents="none",y.style.transition="transform 200ms ease");if(n){for(let[y,d]of n.containers)if(y!==H&&d.listRef.current)for(let I of $(d.listRef.current))I.style.pointerEvents="none",I.style.transition="transform 200ms ease"}v.current={startX:T,startY:N,startScrollTop:E?.scrollTop??0,node:t,ghost:g,clone:c,itemHeight:s.height,gap:X,fromIndex:o,projectedIndex:o,originContainerId:H,currentContainerId:H,itemsAtStart:P},L(!0),n&&n.setState({dragging:!0,activeContainerId:H,currentContainerId:H,fromIndex:o,projectedIndex:o})}let f=v.current;if(!f)return;k=e.clientX,F=e.clientY,f.ghost.style.transform=`translate(${e.clientX-f.startX}px, ${e.clientY-f.startY}px)`;let w=te();if(cancelAnimationFrame(Y.current),w){let c=()=>{let g=w.getBoundingClientRect(),l=F-g.top,y=g.bottom-F,d=!1;l>0&&l<40?(w.scrollTop-=8,d=!0):y>0&&y<40&&(w.scrollTop+=8,d=!0),d&&(v.current&&(v.current.projectedIndex=-1),te(),Y.current=requestAnimationFrame(c))};c()}},oe=()=>{document.removeEventListener("pointermove",ne),document.removeEventListener("pointerup",oe),cancelAnimationFrame(Y.current);let e=v.current;if(!e)return;let p=e.currentContainerId!==e.originContainerId,f=!1,w=()=>{if(f)return;f=!0,e.ghost.removeEventListener("transitionend",w),cancelAnimationFrame(Y.current),e.ghost.remove(),e.clone.remove();let E=[];if(n&&n.containers.size>1)for(let[,g]of n.containers)g.listRef.current&&E.push(g.listRef.current);else R.current&&E.push(R.current);e.node.style.position="",e.node.removeAttribute("data-dragging"),e.node.setAttribute("data-sortable-item","");for(let g of E)for(let l of $(g))l.style.transition="none",l.style.transform="",l.style.pointerEvents="";le(()=>{p?n?.onTransfer?.({from:{containerId:e.originContainerId,index:e.fromIndex},to:{containerId:e.currentContainerId,index:e.projectedIndex}}):e.fromIndex!==e.projectedIndex&&(n?.onSort?n.onSort({containerId:e.originContainerId,fromIndex:e.fromIndex,toIndex:e.projectedIndex}):U&&U({containerId:e.originContainerId,fromIndex:e.fromIndex,toIndex:e.projectedIndex}))});for(let g of E){g.offsetHeight;for(let l of $(g))l.style.transition="",l.style.visibility="",l.style.pointerEvents=""}v.current=null,L(!1),n&&n.setState({dragging:!1,activeContainerId:null,currentContainerId:null,fromIndex:-1,projectedIndex:-1});let X=p?e.currentContainerId:e.originContainerId,c=x&&n?n.containers.get(X)?.listRef.current:R.current;c&&(c.dataset.dndFocusIndex=String(e.projectedIndex),c.focus(),delete c.dataset.dndFocusIndex)};e.ghost.style.transition="opacity 150ms ease-out",e.ghost.style.opacity="0",e.ghost.addEventListener("transitionend",w,{once:!0}),setTimeout(()=>{v.current===e&&w()},200)};document.addEventListener("pointermove",ne),document.addEventListener("pointerup",oe)}},Z={dragging:B},q=b.useMemo(()=>({"data-scope":"dnd","data-part":"sortable-container",...B?{"data-active":""}:void 0,...u?{"data-disabled":""}:void 0}),[B,u]),i=b.useMemo(()=>({"data-sortable-list":M}),[M]);return{state:Z,getItemDndProps:W,listProps:i,rootProps:q}}});var ie={value:void 0,selection:void 0,disabled:!1,draggable:!1,placeholder:"empty",onValueChange:void 0};var ve=de({name:"useOrderList",defaultProps:ie,setup({id:S,props:n}){let[a,A]=h.useState(n.value??[]);h.useEffect(()=>{n.value!==void 0&&A(n.value)},[n.value]);let u=h.useMemo(()=>n.selection??[],[n.selection]),z=h.useCallback(i=>u.indexOf(i)!==-1,[u]),U=h.useRef(u);U.current=u;let M=(i,o)=>{A(i),n.onValueChange?.({originalEvent:o,value:i})},R=h.useRef(M);R.current=M;let V=h.useRef(a);V.current=a;let B=h.useRef(null),L=h.useRef(null);h.useEffect(()=>{let i=L.current;if(!i||!B.current)return;L.current=null;let o=requestAnimationFrame(()=>{let r=B.current?.querySelectorAll('[role="option"]');if(!r?.length)return;let t=U.current.map(s=>a.indexOf(s)).filter(s=>s!==-1);if(!t.length)return;let m=i==="up"?Math.min(...t):Math.max(...t);r[m]?.scrollIntoView({block:"nearest",inline:"nearest"})});return()=>cancelAnimationFrame(o)},[a]);let Y=i=>{let o=new Set;for(let r of u){let t=i.indexOf(r);t!==-1&&o.add(t)}return o},v=i=>{if(u.length===0||!Array.isArray(a))return;let o=[...a],r=Y(o),t=[...r].sort((s,T)=>s-T),m=!1;for(let s of t)s>0&&!r.has(s-1)&&([o[s],o[s-1]]=[o[s-1],o[s]],r.delete(s),r.add(s-1),m=!0);m&&(L.current="up",M(o,i))},_=i=>{if(u.length===0||!Array.isArray(a))return;let o=[...a],r=Y(o),t=[...r].sort((s,T)=>T-s),m=!1;for(let s of t)s<o.length-1&&!r.has(s+1)&&([o[s],o[s+1]]=[o[s+1],o[s]],r.delete(s),r.add(s+1),m=!0);m&&(L.current="down",M(o,i))},G=i=>{if(u.length===0||!Array.isArray(a))return;let o=[],r=[];for(let t of a)(z(t)?o:r).push(t);L.current="up",M([...o,...r],i)},J=i=>{if(u.length===0||!Array.isArray(a))return;let o=[],r=[];for(let t of a)(z(t)?o:r).push(t);L.current="down",M([...r,...o],i)},{state:K,getItemDndProps:Q,listProps:W}=se({id:"orderlist",items:a,disabled:n.disabled||!n.draggable,placeholder:n.placeholder,onSort:({fromIndex:i,toIndex:o})=>{let r=ce(V.current,i,o);R.current(r)}}),Z=(i,o)=>({"data-scope":"orderlist","data-part":"option",...z(i)?{"data-selected":""}:{},...Q(o)}),q=Array.isArray(u)&&u.length>0;return{state:{value:a,selection:u,dragging:K.dragging},getOptionProps:Z,listRef:B,moveUp:v,moveDown:_,moveTop:G,moveBottom:J,rootProps:{id:S,"data-scope":"orderlist","data-part":"root"},controlsProps:{"data-scope":"orderlist","data-part":"controls"},listProps:{"data-scope":"orderlist","data-part":"list",...W},prevProps:{"data-scope":"orderlist","data-part":"prev",type:"button",disabled:n.disabled||!q,"aria-label":"Move Up",onClick:i=>v(i)},nextProps:{"data-scope":"orderlist","data-part":"next",type:"button",disabled:n.disabled||!q,"aria-label":"Move Down",onClick:i=>_(i)},firstProps:{"data-scope":"orderlist","data-part":"first",type:"button",disabled:n.disabled||!q,"aria-label":"Move Top",onClick:i=>G(i)},lastProps:{"data-scope":"orderlist","data-part":"last",type:"button",disabled:n.disabled||!q,"aria-label":"Move Bottom",onClick:i=>J(i)}}}});export{ie as defaultProps,ve as useOrderList};
@@ -1 +1 @@
1
- import{withHeadless as Z}from"@primereact/core/headless";import{useControlledState as w}from"@primereact/hooks/use-controlled-state";import*as a from"react";var D={value:void 0,gap:[40,56],selectionMode:void 0,collapsedKeys:void 0,defaultCollapsedKeys:void 0,onCollapsedChange:void 0,selectionKeys:void 0,defaultSelectionKeys:void 0,onSelectionChange:void 0};function K(t,r){for(let c of t){if(c.key===r)return c;if(c.children){let d=K(c.children,r);if(d)return d}}return null}function L(t){let r=[];for(let c of t.children??[])r.push(c.key,...L(c));return r}function H(t,r){let c=[],d=(v,R)=>{for(let f of v){if(f.key===r)return c.push(...R),!0;if(f.children&&d(f.children,[...R,f.key]))return!0}return!1};return d(t,[]),c}var ne=Z({name:"useOrganizationChart",defaultProps:D,setup({props:t}){let r=a.useRef(t.defaultCollapsedKeys??{}),[c,d]=w({value:t.collapsedKeys,defaultValue:r.current,onChange:t.onCollapsedChange}),v=a.useRef(t.defaultSelectionKeys??{}),[R,f]=w({value:t.selectionKeys,defaultValue:v.current,onChange:t.onSelectionChange}),p=c??{},s=R??{},S=a.useCallback(()=>t.value??[],[t.value]),B=a.useCallback(e=>K(t.value??[],e)??void 0,[t.value]),A=a.useCallback(e=>H(t.value??[],e).length+1,[t.value]),I={collapsedKeys:p,selectionKeys:s},h=a.useCallback(e=>!!(e?.children&&e.children.length>0),[]),g=a.useCallback(()=>t.selectionMode!=null,[t.selectionMode]),C=a.useCallback(e=>e?.key?p[e.key]===!0:!1,[p]),y=a.useCallback(e=>{if(!e?.key)return!1;let n=s[e.key];return t.selectionMode==="checkbox"?n?.checked===!0:n===!0},[s,t.selectionMode]),U=a.useCallback(e=>!e?.key||t.selectionMode!=="checkbox"?!1:s[e.key]?.partialChecked===!0,[s,t.selectionMode]),E=a.useCallback((e,n)=>{if(!e)return;let o={...p};o[e]?delete o[e]:o[e]=!0,d([o,{originalEvent:n??{},value:o}])},[p,d]),m=a.useCallback((e,n)=>{f([e,{originalEvent:n??{},value:e}])},[f]),T=a.useCallback((e,n)=>{let o=S(),i=K(o,e);if(!i)return;let l={};for(let[u,k]of Object.entries(s))l[u]=k;let Q=l[e]?.checked!==!0,W=[e,...L(i)];for(let u of W)Q?l[u]={checked:!0,partialChecked:!1}:delete l[u];let z=H(o,e);for(let u=z.length-1;u>=0;u--){let k=z[u],P=K(o,k);if(!P?.children)continue;let O=P.children.map(b=>b.key),X=O.every(b=>l[b]?.checked),Y=O.some(b=>l[b]?.checked||l[b]?.partialChecked);X?l[k]={checked:!0,partialChecked:!1}:Y?l[k]={checked:!1,partialChecked:!0}:delete l[k]}m(l,n)},[S,s,m]),M=a.useCallback((e,n)=>{if(!e||t.selectionMode==null)return;if(t.selectionMode==="checkbox"){T(e,n);return}let o=s[e]===!0,i;t.selectionMode==="single"?i=o?{}:{[e]:!0}:(i={...s},o?delete i[e]:i[e]=!0),m(i,n)},[t.selectionMode,s,T,m]),N=a.useCallback((e,n)=>{(e.key==="Enter"||e.key===" ")&&(M(n,e),e.preventDefault(),e.stopPropagation())},[M]),x=a.useCallback((e,n)=>{(e.key==="Enter"||e.key===" ")&&(E(n,e),e.preventDefault(),e.stopPropagation())},[E]),V=a.useMemo(()=>{let e=t.gap??40;return Array.isArray(e)?e.length===1?e=[e[0],e[0]]:e.length===0&&(e=[40,40]):e=[e,e],{"--px-gap-x":e[0]+"px","--px-gap-y":e[1]+"px"}},[t.gap]),j={"data-scope":"organizationchart","data-part":"root",role:"tree","aria-multiselectable":t.selectionMode==="multiple"||t.selectionMode==="checkbox"},q=a.useCallback((e,n)=>({"data-scope":"organizationchart","data-part":"tree",role:"treeitem","data-level":n,...C(e)?{"data-collapsed":""}:{},...y(e)?{"data-selected":""}:{},...h(e)?{"data-expandable":""}:{},"aria-level":n,"aria-expanded":h(e)?!C(e):void 0,"aria-selected":g()?y(e):void 0}),[C,y,h,g]),F=a.useCallback((e,n)=>({"data-scope":"organizationchart","data-part":"node",tabIndex:g()?0:-1,...g()?{"data-selectable":""}:{},...h(e)?{"data-collapsible":""}:{},...C(e)?{"data-collapsed":""}:{},...y(e)?{"data-selected":""}:{},onClick:n,onKeyDown:o=>N(o,e?.key)}),[g,h,C,y,N]),G=a.useCallback((e,n)=>({"data-scope":"organizationchart","data-part":"toggle",onClick:n,onKeyDown:o=>x(o,e?.key)}),[x]),J=a.useCallback(()=>({"data-scope":"organizationchart","data-part":"toggle-indicator","aria-hidden":!0}),[]);return{state:I,getNodes:S,findNodeByKey:B,getNodeLevel:A,rootProps:j,getTreeProps:q,getNodeProps:F,getCollapseButtonProps:G,getToggleIndicatorProps:J,subtreeProps:{"data-scope":"organizationchart","data-part":"subtree",role:"group"},orgChartStyle:V,toggleNodeSelect:M,toggleNodeCollapse:E,isExpandable:h,isSelectable:g,isCollapsed:C,isSelected:y,isPartiallySelected:U,handleNodeKeyDown:N,handleCollapseKeyDown:x}}});export{D as defaultProps,ne as useOrganizationChart};
1
+ import{withHeadless as Z}from"@primereact/core/headless";import{useControlledState as w}from"@primereact/hooks/use-controlled-state";import*as a from"react";var D={value:void 0,gap:[40,56],selectionMode:void 0,collapsedKeys:void 0,defaultCollapsedKeys:void 0,onCollapsedChange:void 0,selectionKeys:void 0,defaultSelectionKeys:void 0,onSelectionChange:void 0};function K(t,r){for(let c of t){if(c.key===r)return c;if(c.children){let d=K(c.children,r);if(d)return d}}return null}function L(t){let r=[];for(let c of t.children??[])r.push(c.key,...L(c));return r}function H(t,r){let c=[],d=(v,p)=>{for(let f of v){if(f.key===r)return c.push(...p),!0;if(f.children&&d(f.children,[...p,f.key]))return!0}return!1};return d(t,[]),c}var ne=Z({name:"useOrganizationChart",defaultProps:D,setup({props:t}){let r=a.useRef(t.defaultCollapsedKeys??{}),[c,d]=w({value:t.collapsedKeys,defaultValue:r.current,onChange:t.onCollapsedChange}),v=a.useRef(t.defaultSelectionKeys??{}),[p,f]=w({value:t.selectionKeys,defaultValue:v.current,onChange:t.onSelectionChange}),R=a.useMemo(()=>c??{},[c]),l=a.useMemo(()=>p??{},[p]),S=a.useCallback(()=>t.value??[],[t.value]),B=a.useCallback(e=>K(t.value??[],e)??void 0,[t.value]),A=a.useCallback(e=>H(t.value??[],e).length+1,[t.value]),I={collapsedKeys:R,selectionKeys:l},h=a.useCallback(e=>!!(e?.children&&e.children.length>0),[]),g=a.useCallback(()=>t.selectionMode!=null,[t.selectionMode]),C=a.useCallback(e=>e?.key?R[e.key]===!0:!1,[R]),y=a.useCallback(e=>{if(!e?.key)return!1;let n=l[e.key];return t.selectionMode==="checkbox"?n?.checked===!0:n===!0},[l,t.selectionMode]),U=a.useCallback(e=>!e?.key||t.selectionMode!=="checkbox"?!1:l[e.key]?.partialChecked===!0,[l,t.selectionMode]),E=a.useCallback((e,n)=>{if(!e)return;let o={...R};o[e]?delete o[e]:o[e]=!0,d([o,{originalEvent:n??{},value:o}])},[R,d]),m=a.useCallback((e,n)=>{f([e,{originalEvent:n??{},value:e}])},[f]),T=a.useCallback((e,n)=>{let o=S(),i=K(o,e);if(!i)return;let s={};for(let[u,k]of Object.entries(l))s[u]=k;let Q=s[e]?.checked!==!0,W=[e,...L(i)];for(let u of W)Q?s[u]={checked:!0,partialChecked:!1}:delete s[u];let z=H(o,e);for(let u=z.length-1;u>=0;u--){let k=z[u],P=K(o,k);if(!P?.children)continue;let O=P.children.map(b=>b.key),X=O.every(b=>s[b]?.checked),Y=O.some(b=>s[b]?.checked||s[b]?.partialChecked);X?s[k]={checked:!0,partialChecked:!1}:Y?s[k]={checked:!1,partialChecked:!0}:delete s[k]}m(s,n)},[S,l,m]),M=a.useCallback((e,n)=>{if(!e||t.selectionMode==null)return;if(t.selectionMode==="checkbox"){T(e,n);return}let o=l[e]===!0,i;t.selectionMode==="single"?i=o?{}:{[e]:!0}:(i={...l},o?delete i[e]:i[e]=!0),m(i,n)},[t.selectionMode,l,T,m]),N=a.useCallback((e,n)=>{(e.key==="Enter"||e.key===" ")&&(M(n,e),e.preventDefault(),e.stopPropagation())},[M]),x=a.useCallback((e,n)=>{(e.key==="Enter"||e.key===" ")&&(E(n,e),e.preventDefault(),e.stopPropagation())},[E]),V=a.useMemo(()=>{let e=t.gap??40;return Array.isArray(e)?e.length===1?e=[e[0],e[0]]:e.length===0&&(e=[40,40]):e=[e,e],{"--px-gap-x":e[0]+"px","--px-gap-y":e[1]+"px"}},[t.gap]),j={"data-scope":"organizationchart","data-part":"root",role:"tree","aria-multiselectable":t.selectionMode==="multiple"||t.selectionMode==="checkbox"},q=a.useCallback((e,n)=>({"data-scope":"organizationchart","data-part":"tree",role:"treeitem","data-level":n,...C(e)?{"data-collapsed":""}:{},...y(e)?{"data-selected":""}:{},...h(e)?{"data-expandable":""}:{},"aria-level":n,"aria-expanded":h(e)?!C(e):void 0,"aria-selected":g()?y(e):void 0}),[C,y,h,g]),F=a.useCallback((e,n)=>({"data-scope":"organizationchart","data-part":"node",tabIndex:g()?0:-1,...g()?{"data-selectable":""}:{},...h(e)?{"data-collapsible":""}:{},...C(e)?{"data-collapsed":""}:{},...y(e)?{"data-selected":""}:{},onClick:n,onKeyDown:o=>N(o,e?.key)}),[g,h,C,y,N]),G=a.useCallback((e,n)=>({"data-scope":"organizationchart","data-part":"toggle",onClick:n,onKeyDown:o=>x(o,e?.key)}),[x]),J=a.useCallback(()=>({"data-scope":"organizationchart","data-part":"toggle-indicator","aria-hidden":!0}),[]);return{state:I,getNodes:S,findNodeByKey:B,getNodeLevel:A,rootProps:j,getTreeProps:q,getNodeProps:F,getCollapseButtonProps:G,getToggleIndicatorProps:J,subtreeProps:{"data-scope":"organizationchart","data-part":"subtree",role:"group"},orgChartStyle:V,toggleNodeSelect:M,toggleNodeCollapse:E,isExpandable:h,isSelectable:g,isCollapsed:C,isSelected:y,isPartiallySelected:U,handleNodeKeyDown:N,handleCollapseKeyDown:x}}});export{D as defaultProps,ne as useOrganizationChart};
package/package.json CHANGED
@@ -1,10 +1,15 @@
1
1
  {
2
2
  "name": "@primereact/headless",
3
- "version": "11.0.0",
3
+ "version": "11.2.0",
4
4
  "author": "PrimeTek Informatics",
5
5
  "description": "Headless components for PrimeReact.",
6
6
  "homepage": "https://primereact.dev",
7
7
  "license": "SEE LICENSE IN LICENSE.md",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/primefaces/primereact-nextchapter.git",
11
+ "directory": "packages/@primereact/headless"
12
+ },
8
13
  "bugs": {
9
14
  "url": "https://support.primeui.dev"
10
15
  },
@@ -31,9 +36,8 @@
31
36
  "@primeui/license-manager": "^1.0.0",
32
37
  "@primeuix/styled": "^1.0.0",
33
38
  "@primeuix/utils": "^0.8.0",
34
- "@primereact/core": "11.0.0",
35
- "@primereact/hooks": "11.0.0"
39
+ "@primereact/core": "11.2.0",
40
+ "@primereact/hooks": "11.2.0"
36
41
  },
37
- "repository": {},
38
42
  "type": "module"
39
43
  }
@@ -1 +1 @@
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};
1
+ import{arrayMove as he}from"@primereact/core/dnd";import{withHeadless as be}from"@primereact/core/headless";import*as k from"react";import{withHeadless as ue}from"@primereact/core/headless";import*as N from"react";var ae={onSort:void 0,onTransfer:void 0};var se={dragging:!1,activeContainerId:null,currentContainerId:null,fromIndex:-1,projectedIndex:-1};function fe(x){let t=new Map,i={...se},b=new Set,u=()=>{for(let E of b)E()};return{uid:x,containers:t,getState(){return i},subscribe(E){return b.add(E),()=>{b.delete(E)}},setState(E){i={...i,...E},u()},onSort:void 0,onTransfer:void 0}}var me=()=>()=>{},ce=ue({name:"useDnd",defaultProps:ae,setup({props:x}){let t=N.useId(),i=N.useRef(null);i.current||(i.current=fe(t));let b=i.current;b.onSort=x.onSort,b.onTransfer=x.onTransfer;let u=N.useCallback(B=>b.subscribe(B),[b]),E=N.useCallback(()=>b.getState(),[b]),I={dragging:N.useSyncExternalStore(b?u:me,b?E:()=>se,()=>se).dragging},m={"data-scope":"dnd","data-part":"root",...I.dragging?{"data-dragging":""}:void 0};return{state:I,dnd:b,rootProps:m}}});import{withHeadless as ge}from"@primereact/core/headless";import*as L from"react";import{flushSync as pe}from"react-dom";var le={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=ge({name:"useSortableContainer",defaultProps:le,setup({props:x}){let t=x.dnd,i=x.id,b=x.items??[],u=x.disabled??!1,E=x.placeholder??"clone",R=x.onSort,I=t?`${t.uid}_${i}`:String(i),m=L.useRef(null);L.useEffect(()=>{if(!(!t||i==null))return t.containers.set(i,{listRef:m,items:b}),()=>{t.containers.delete(i)}},[t,i]);let B=L.useRef(b);B.current=b,L.useEffect(()=>{if(t&&i!=null){let S=t.containers.get(i);S&&(S.items=b)}},[t,i,b]);let[j,O]=L.useState(!1),q=L.useRef(0),M=L.useRef(null),J=(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)`:""},K=S=>{if(S)for(let d of z(S))d.style.transform=""},Q=S=>{let d=z(S);return d.length>1?d[1].getBoundingClientRect().top-d[0].getBoundingClientRect().bottom:4},Z=(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},ee=()=>{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)}}},te=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)}ee();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,y]of t.containers)r.set(e,[...y.items]);else r.set(i,[...B.current]);let a=H,h=D,l=()=>{let e=M.current;if(!e)return;let y=e.originContainerId;if(o&&t)for(let[p,P]of t.containers){if(!P.listRef.current||!P.listRef.current.isConnected){let re=`${t.uid}_${p}`,_=document.querySelector(`[data-sortable-list="${re}"]`);_&&(P.listRef.current=_)}let $=P.listRef.current?.getBoundingClientRect();if($&&a>=$.left&&a<=$.right&&h>=$.top&&h<=$.bottom){y=p;break}}let v=o&&t?t.containers.get(y)?.listRef.current:m.current;if(!v)return;let A=((o&&t?t.containers.get(e.originContainerId)?.listRef.current:m.current)?.scrollTop??0)-e.startScrollTop,V=h-e.startY,g=e.itemHeight+e.gap,w=e.itemsAtStart.get(y)??[],f;if(y===e.originContainerId)f=e.fromIndex+Math.round((V+A)/g),f=Math.max(0,Math.min(w.length-1,f));else{let p=v.getBoundingClientRect(),P=parseFloat(getComputedStyle(v).paddingTop)||0,$=h-p.top-P;f=Math.round($/g),f=Math.max(0,Math.min(w.length,f))}let T=y!==e.currentContainerId;if(T||f!==e.projectedIndex){if(T&&t){let p=t.containers.get(e.currentContainerId)?.listRef.current;p&&K(p)}if(e.currentContainerId=y,e.projectedIndex=f,t&&t.setState({currentContainerId:y,projectedIndex:f}),y===e.originContainerId)T&&e.node.parentElement?.insertBefore(e.clone,e.node),e.clone.style.height=`${e.itemHeight}px`,e.clone.style.overflow="",J(v,e.fromIndex,f,e.node,e.clone,e.itemHeight,e.gap);else{let p=z(v),P=p.length>=2?p[1].getBoundingClientRect().top-p[0].getBoundingClientRect().top:e.itemHeight+e.gap;T&&(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",v.style.position="");let $=v.getBoundingClientRect(),re=parseFloat(getComputedStyle(v).paddingTop)||0,_;if(p.length===0)_=$.top+re;else if(f<p.length)_=p[f].getBoundingClientRect().top;else{let G=p[p.length-1];_=G.getBoundingClientRect().bottom+(P-G.getBoundingClientRect().height)}e.clone.style.top=`${_}px`,e.clone.style.left=`${$.left}px`,e.clone.style.width=`${$.width}px`,e.clone.style.transform="";for(let G=0;G<p.length;G++)p[G].style.transform=G>=f?`translateY(${P}px)`:""}}return v},c=e=>{let y=Math.sqrt((e.clientX-H)**2+(e.clientY-D)**2);if(!C&&y<5)return;if(!C){C=!0;let A=m.current,V=A?Q(A):4,g;E==="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=Z(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 T of z(f))T!==s&&(T.style.pointerEvents="none",T.style.transition="transform 200ms ease");if(t){for(let[T,p]of t.containers)if(T!==n&&p.listRef.current)for(let P of z(p.listRef.current))P.style.pointerEvents="none",P.style.transition="transform 200ms ease"}M.current={startX:H,startY:D,startScrollTop:A?.scrollTop??0,node:s,ghost:w,clone:g,itemHeight:X.height,gap:V,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 v=M.current;if(!v)return;a=e.clientX,h=e.clientY,v.ghost.style.transform=`translate(${e.clientX-v.startX}px, ${e.clientY-v.startY}px)`;let U=l();if(cancelAnimationFrame(q.current),U){let g=()=>{let w=U.getBoundingClientRect(),f=h-w.top,T=w.bottom-h,p=!1;f>0&&f<40?(U.scrollTop-=8,p=!0):T>0&&T<40&&(U.scrollTop+=8,p=!0),p&&(M.current&&(M.current.projectedIndex=-1),l(),q.current=requestAnimationFrame(g))};g()}},F=()=>{document.removeEventListener("pointermove",c),document.removeEventListener("pointerup",F),cancelAnimationFrame(q.current);let e=M.current;if(!e)return;let y=e.currentContainerId!==e.originContainerId,v=!1,U=()=>{if(v)return;v=!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="";pe(()=>{y?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=""}M.current=null,O(!1),t&&t.setState({dragging:!1,activeContainerId:null,currentContainerId:null,fromIndex:-1,projectedIndex:-1});let V=y?e.currentContainerId:e.originContainerId,g=o&&t?t.containers.get(V)?.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(()=>{M.current===e&&U()},200)};document.addEventListener("pointermove",c),document.addEventListener("pointerup",F)}},ne={dragging:j},oe=L.useMemo(()=>({"data-scope":"dnd","data-part":"sortable-container",...j?{"data-active":""}:void 0,...u?{"data-disabled":""}:void 0}),[j,u]),W=L.useMemo(()=>({"data-sortable-list":I}),[I]);return{state:ne,getItemDndProps:te,listProps:W,rootProps:oe}}});var de={source:void 0,target:void 0,selection:void 0,disabled:!1,draggable:!1,placeholder:"empty",onValueChange:void 0,onSelectionChange:void 0};var De=be({name:"usePickList",defaultProps:de,setup({id:x,props:t}){let[i,b]=k.useState(t.source??[]),[u,E]=k.useState(t.target??[]);k.useEffect(()=>{t.source!==void 0&&b(t.source)},[t.source]),k.useEffect(()=>{t.target!==void 0&&E(t.target)},[t.target]);let R=k.useMemo(()=>t.selection??[],[t.selection]),I=k.useCallback(n=>R.indexOf(n)!==-1,[R]),m=(n,o,r)=>{b(n),E(o),t.onValueChange?.({originalEvent:r,source:n,target:o})},B=k.useRef(m);B.current=m;let j=k.useRef(i),O=k.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},M=(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))},J=(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))},K=(n,o)=>{if(R.length===0)return;let r=n==="source"?i:u,a=r.filter(c=>I(c)),h=r.filter(c=>!I(c)),l=[...a,...h];n==="source"?m(l,u,o):m(i,l,o)},Q=(n,o)=>{if(R.length===0)return;let r=n==="source"?i:u,a=r.filter(c=>I(c)),l=[...r.filter(c=>!I(c)),...a];n==="source"?m(l,u,o):m(i,l,o)},Z=n=>{if(R.length===0)return;let o=i.filter(l=>I(l));if(o.length===0)return;let r=i.filter(l=>!I(l)),a=[...u,...o],h=R.filter(l=>!o.includes(l));m(r,a,n),t.onSelectionChange?.({originalEvent:n,value:h})},ee=n=>{if(R.length===0)return;let o=u.filter(l=>I(l));if(o.length===0)return;let r=u.filter(l=>!I(l)),a=[...i,...o],h=R.filter(l=>!o.includes(l));m(a,r,n),t.onSelectionChange?.({originalEvent:n,value:h})},te=n=>{let o=[...u,...i];m([],o,n),t.onSelectionChange?.({originalEvent:n,value:[]})},ne=n=>{let o=[...i,...u];m(o,[],n),t.onSelectionChange?.({originalEvent:n,value:[]})},{dnd:oe}=ce({onSort:({containerId:n,fromIndex:o,toIndex:r})=>{let a=n,h=a==="source"?j.current:O.current,l=he(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,y)=>y!==n.index),F=[...h];F.splice(o.index,0,l),r==="source"?B.current(c,F):B.current(F,c)}}),W=ie({dnd:oe,id:"source",items:i,disabled:t.disabled||!t.draggable,placeholder:t.placeholder}),S=ie({dnd:oe,id:"target",items:u,disabled:t.disabled||!t.draggable,placeholder:t.placeholder}),d=W.state.dragging||S.state.dragging,s=(n,o,r)=>{let a=r==="source"?W:S;return{"data-scope":"picklist","data-part":"option",...I(n)?{"data-selected":""}:{},...a.getItemDndProps(o)}},Y=i.filter(n=>I(n)),X=u.filter(n=>I(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:Z,moveToSource:ee,moveAllToTarget:te,moveAllToSource:ne,reorderUp:M,reorderDown:J,reorderTop:K,reorderBottom:Q,rootProps:{id:x,"data-scope":"picklist","data-part":"root"},sourceListProps:{"data-scope":"picklist","data-part":"source-list",...W.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=>Z(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=>te(n)},moveToSourceProps:{"data-scope":"picklist","data-part":"move-to-source",type:"button",disabled:t.disabled||!D,"aria-label":"Move to Source",onClick:n=>ee(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=>ne(n)},sourcePrevProps:C("source","prev","Move Up",M,H),sourceNextProps:C("source","next","Move Down",J,H),sourceFirstProps:C("source","first","Move Top",K,H),sourceLastProps:C("source","last","Move Bottom",Q,H),targetPrevProps:C("target","prev","Move Up",M,D),targetNextProps:C("target","next","Move Down",J,D),targetFirstProps:C("target","first","Move Top",K,D),targetLastProps:C("target","last","Move Bottom",Q,D)}}});export{de as defaultProps,De as usePickList};
package/popover/index.mjs CHANGED
@@ -1 +1 @@
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};
1
+ import{withHeadless as Z}from"@primereact/core/headless";import{OVERLAY_OWNER_ATTR as ee,OVERLAY_OWNER_KEY as te,OverlayEventBus as S,setOverlayOwner as A}from"@primereact/core/utils";import{useFocusTrap as ne}from"@primereact/headless/focustrap";import{useControlledState as re}from"@primereact/hooks/use-controlled-state";import{useEscapeListener as oe}from"@primereact/hooks/use-escape-listener";import{useEventListener as le}from"@primereact/hooks/use-event-listener";import{focus as O,getFirstFocusableElement as ce,toElement as f}from"@primeuix/utils/dom";import*as n from"react";var F={anchor:void 0,defaultOpen:void 0,open:void 0,trapped:!1,autoFocus:!0,closeOnEscape:!0,onOpenChange:void 0,onExitComplete:void 0};var ve=Z({name:"usePopover",defaultProps:F,setup:({props:r,id:x})=>{let{onExitComplete:h}=r,[o,D,M]=re({value:r.open,defaultValue:r.defaultOpen,onChange:r.onOpenChange}),[_,k]=n.useState(!!o),[d,p]=n.useState(r.anchor??null),[V,Y]=n.useState(null),[m,U]=n.useState(null),[W,B]=n.useState(null),I={open:o,rendered:_,trapped:!!r.trapped,anchorElement:d,positionerElement:V,popupElement:m,arrowElement:W},l=n.useRef(null),s=n.useRef(null),a=n.useRef(null),E=n.useRef(null),H=n.useRef(null),R=ne({trapped:!!r.trapped&&!!m,autoFocus:!1}),P=n.useCallback(e=>{let t=f(e)??null;!t||t===l.current||(l.current=t,p(t||s.current))},[]),K=n.useCallback(e=>{let t=f(e)??null;if(t!==s.current){if(s.current=t,!t){l.current&&!l.current.isConnected&&(l.current=null,p(null));return}l.current||(l.current=t,p(t))}},[]),b=n.useCallback(e=>{let t=f(e)??null;t!==a.current&&(a.current=t,Y(t))},[]),g=n.useCallback(e=>{let t=f(e)??null;t!==E.current&&(E.current=t,R.containerRef.current=t,U(t))},[R.containerRef]),w=n.useCallback(e=>{let t=f(e)??null;t!==H.current&&(H.current=t,B(t))},[]),v=n.useRef(!1);function i(e,t){D([e,{originalEvent:t,value:e}])}let C=e=>{if(!e)return!1;if(a.current?.contains(e)||l.current?.contains(e)||s.current?.contains(e))return!0;let t=e.nodeType===1?e:e.parentElement;for(;t;){let c=t.closest(`[${ee}]`)?.[te];if(!c?.isConnected)return!1;if(a.current?.contains(c)||l.current?.contains(c)||s.current?.contains(c))return!0;t=c}return!1},T=e=>{if(v.current)return;let t=e.relatedTarget;!t||C(t)||i(!1,e)},$=e=>{i(!o,e.nativeEvent)},j=e=>{i(!1,e.nativeEvent)},q=n.useCallback(()=>{if(r.autoFocus===!1)return;let e=E.current;if(!e)return;let t=document.activeElement,u=l.current||s.current;if(t&&u?.contains(t)&&u!==t)return;v.current=!0;let c=ce(e);c?O(c,{preventScroll:!0}):O(e,{preventScroll:!0}),v.current=!1},[r.autoFocus]),z=n.useCallback(()=>{h?.()},[h]),L=n.useRef(!1),[y,N]=le({type:"pointerdown",listener:e=>{let t=e.target;if(!t||!document.documentElement.contains(t)||e.button===2)return;let u=L.current;L.current=!1,!u&&o&&a.current&&!C(t)&&i(!1,e)}});n.useEffect(()=>{if(!o)return;let e=t=>{let u=t?.target??null;C(u)&&(L.current=!0)};return S.on("overlay-click",e),()=>{S.off("overlay-click",e)}},[o]),oe({id:x,open:o,closeOnEscape:r.closeOnEscape,onEscape:e=>{i(!1,e),O(l.current||s.current,{preventScroll:!0})}}),n.useEffect(()=>{r.anchor!==void 0&&(l.current=r.anchor,p(r.anchor))},[r.anchor]),n.useEffect(()=>{o&&k(!0)},[o]),n.useEffect(()=>{let e=m;if(e)return A(e,d),()=>{A(e,null)}},[m,d]),n.useEffect(()=>{o?y():N()},[o,y,N]),n.useEffect(()=>{let e=a.current;if(!(!o||!e||r.trapped||M))return e.addEventListener("focusout",T),()=>{e.removeEventListener("focusout",T)}},[o,r.trapped,M,T]);let G={"data-scope":"popover","data-part":"trigger",ref:P,onClick:$,...o?{"data-positioner-open":""}:{}},J={"data-scope":"popover","data-part":"positioner",ref:b},Q={"data-scope":"popover","data-part":"arrow",ref:w},X={"data-scope":"popover","data-part":"popup",ref:g,tabIndex:-1,...o?{"data-open":""}:{}};return{state:I,focusTrap:R,setArrowRef:w,setAnchorRef:P,setAnchorFallbackRef:K,setPopupRef:g,setPositionerRef:b,triggerProps:G,popupProps:X,closeProps:{"data-scope":"popover","data-part":"close",type:"button",onClick:j},positionerProps:J,arrowProps:Q,setOpen:i,setRendered:k,onOpenComplete:q,onCloseComplete:z}}});export{F as defaultProps,ve as usePopover};
@@ -1 +1 @@
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
+ import{withHeadless as f}from"@primereact/core/headless";import*as r from"react";var m={value:void 0,max:100,min:0,formatter:e=>new Intl.NumberFormat(void 0,{minimumFractionDigits:0,maximumFractionDigits:2}).format(e)+"%"};var h=f({name:"useProgressBar",defaultProps:m,setup({props:e}){let{formatter:o}=e,n=r.useCallback(d=>{let a=e.min??0,s=e.max??100;if(a>=s)return console.error("[ProgressBar] min must be less than max."),0;let p=(Math.min(Math.max(d??a,a),s)-a)/(s-a)*100;return Math.min(Math.max(p,0),100)},[e.min,e.max]),t=r.useMemo(()=>n(e.value),[e.value,n]),u=r.useMemo(()=>o?.(t),[t,o]),c={computedValue:t,formattedValue:u},i={"data-scope":"progressbar","data-part":"root"},l={"data-scope":"progressbar","data-part":"track",role:"progressbar","aria-valuemin":e.min??0,"aria-valuenow":t,"aria-valuemax":e.max??100};return{state:c,rootProps:i,trackProps:l}}});export{m as defaultProps,h as useProgressBar};
@@ -1 +1 @@
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
+ import{withHeadless as k}from"@primereact/core/headless";import{useControlledState as m}from"@primereact/hooks/use-controlled-state";var o={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 x=k({name:"useRadioButton",defaultProps:o,setup:({props:e})=>{let{name:u,disabled:d,invalid:t}=e,[a,c]=m({value:e.checked,defaultValue:e.defaultChecked??!1,onChange:e.onCheckedChange}),r={checked:a},n=b=>{let i=!a;c([i,{originalEvent:b,checked:i}])},l={"data-scope":"radiobutton","data-part":"input",id:e.inputId,type:"radio",value:e.value,name:u,checked:a,tabIndex:e.tabIndex,disabled:d,readOnly:e.readOnly,required:e.required,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,"aria-invalid":t||void 0,[a?"data-checked":"data-unchecked"]:"",...d&&{"data-disabled":""},...t&&{"data-invalid":""},onFocus:e.onFocus,onBlur:e.onBlur,onChange:e.readOnly?void 0:n},s={"data-scope":"radiobutton","data-part":"box",[a?"data-checked":"data-unchecked"]:"",...d&&{"data-disabled":""},...t&&{"data-invalid":""}},f={"data-scope":"radiobutton","data-part":"indicator",[a?"data-checked":"data-unchecked"]:"",...d&&{"data-disabled":""},...t&&{"data-invalid":""}},h={"data-scope":"radiobutton","data-part":"root",[a?"data-checked":"data-unchecked"]:"",...d&&{"data-disabled":""},...t&&{"data-invalid":""}};return{state:r,rootProps:h,inputProps:l,boxProps:s,indicatorProps:f,onChange:n}}});export{o as defaultProps,x as useRadioButton};
@@ -1 +1 @@
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};
1
+ import{withHeadless as d}from"@primereact/core/headless";import{useControlledState as l}from"@primereact/hooks/use-controlled-state";import*as u from"react";var r={value:void 0,defaultValue:void 0,onValueChange:void 0};var h=d({name:"useRadioButtonGroup",defaultProps:r,setup:({props:e})=>{let[s,t]=l({value:e.value,defaultValue:e.defaultValue,onChange:e.onValueChange}),n={value:s},p=u.useCallback(o=>{let a=o.checked?o.value:void 0;t?.([a,{originalEvent:o.originalEvent,value:a}])},[t]);return{state:n,rootProps:{"data-scope":"radiobuttongroup","data-part":"root"},updateChange:p}}});export{r as defaultProps,h as useRadioButtonGroup};
@@ -1 +1 @@
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};
1
+ import{withHeadless as Le}from"@primereact/core/headless";import*as e from"react";var fe={variant:"auto",mask:!1,tabIndex:0};var de=500,he=20,pe={position:"absolute",touchAction:"none",userSelect:"none",WebkitUserSelect:"none"},Ye=Le({name:"useScrollArea",defaultProps:fe,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,he),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,he),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),de)),o!==l.left&&(te(a=>a||!0),B.current&&clearTimeout(B.current),B.current=setTimeout(()=>te(!1),de)),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]),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:{...pe,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:{...pe,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{fe as defaultProps,Ye as useScrollArea};
package/sidebar/index.mjs CHANGED
@@ -1 +1 @@
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};
1
+ import{withHeadless as J}from"@primereact/core/headless";import{$t as Q}from"@primereact/core/locale";import{useFocusTrap as X}from"@primereact/headless/focustrap";import{useControlledState as Z}from"@primereact/hooks/use-controlled-state";import{$dt as k}from"@primeuix/styled";import{blockBodyScroll as ee,focus as te,unblockBodyScroll as ae}from"@primeuix/utils";import*as c 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 O="[data-menu-item]",ne=e=>e.hasAttribute("disabled")||e.getAttribute("aria-disabled")==="true",C=e=>e.hasAttribute("data-content-open")||e.hasAttribute("data-content-closed"),S=e=>e.hasAttribute("data-content-open"),oe=(e,a)=>{let n=e;for(;n&&n!==a;){if(n.getAttribute("aria-hidden")==="true")return!1;let{display:t,visibility:r}=getComputedStyle(n);if(t==="none"||r==="hidden")return!1;n=n.parentElement}return!0},M=(e,a)=>{let n=0,t=e.parentElement;for(;t&&a.contains(t);)t.tagName==="UL"&&n++,t=t.parentElement;return n},re=e=>Array.from(e.querySelectorAll(O)).filter(a=>!ne(a)&&oe(a,e)),se=(e,a)=>{te(a,{preventScroll:!0}),le(a,e)},le=(e,a)=>{let n=e.parentElement;for(;n&&n!==a;){let t=getComputedStyle(n);if(/(auto|scroll|overlay)/.test(t.overflowY)&&n.scrollHeight>n.clientHeight){let d=e.getBoundingClientRect(),l=n.getBoundingClientRect();d.top<l.top?n.scrollTop-=l.top-d.top:d.bottom>l.bottom&&(n.scrollTop+=d.bottom-l.bottom);return}n=n.parentElement}},ie=e=>{let a=e.currentTarget,n=e.target;if(!a||!n?.closest)return;let t=n.closest(O);if(!t||!a.contains(t)||t.hasAttribute("aria-haspopup"))return;let r=re(a),d=r.indexOf(t);if(d===-1)return;let l=b=>{!b||b===t||(e.preventDefault(),se(a,b))};switch(e.code){case"ArrowDown":l(r[d+1]);break;case"ArrowUp":l(r[d-1]);break;case"Home":l(r[0]);break;case"End":l(r[r.length-1]);break;case"ArrowRight":{if(!C(t))break;if(!S(t))e.preventDefault(),t.click();else{let b=r[d+1];b&&M(b,a)>M(t,a)&&l(b)}break}case"ArrowLeft":{if(C(t)&&S(t)){e.preventDefault(),t.click();break}let b=M(t,a)-1;for(let v=d-1;b>=1&&v>=0;v--)if(M(r[v],a)===b){l(r[v]);break}break}default:break}},ke=J({name:"useSidebar",defaultProps:R,setup({props:e}){let[a,n]=Z({value:e.open,defaultValue:e.defaultOpen??!0,onChange:e.onOpenChange}),t=a?"expanded":"collapsed",r=!!e.overlay&&!!a,d=c.useRef(null),l=X({trapped:r,autoFocus:!1}),b=c.useCallback(s=>{d.current=s,l.containerRef.current=s},[l.containerRef]),v={open:!!a,displayState:t},g=c.useCallback(s=>{e.collapsible!=="none"&&n([!a,{originalEvent:s,value:!a}])},[e.collapsible,a,n]),h=c.useCallback(s=>{n([!0,{originalEvent:s,value:!0}])},[n]),p=c.useCallback(s=>{e.collapsible!=="none"&&n([!1,{originalEvent:s,value:!1}])},[e.collapsible,n]),o=c.useRef(null),u=()=>{o.current&&(clearTimeout(o.current),o.current=null)},i=c.useCallback(s=>{e.openOnHover&&(u(),o.current=setTimeout(()=>h(s),e.hoverOpenDelay??50))},[e.openOnHover,e.hoverOpenDelay,h]),y=c.useCallback(s=>{e.openOnHover&&(u(),o.current=setTimeout(()=>p(s),e.hoverCloseDelay??100))},[e.openOnHover,e.hoverCloseDelay,p]);c.useEffect(()=>u,[]),c.useEffect(()=>{if(r)return ee({variableName:k("scrollbar.width").name}),()=>ae({variableName:k("scrollbar.width").name})},[r]);let E=s=>{r&&s.code==="Escape"&&e.closeOnEscape!==!1&&p(s),ie(s)},m=e.layout?.setSidebar;c.useEffect(()=>{if(!(!m||!e.id))return()=>m(e.id,null)},[m,e.id]),c.useEffect(()=>{!m||!e.id||m(e.id,{toggle:g,collapse:p,open:!!a,state:a?"expanded":"collapsed",overlay:!!e.overlay,hideOnOutsideClick:e.hideOnOutsideClick!==!1})},[m,e.id,a,e.overlay,e.hideOnOutsideClick,g,p]);let P=Q("aria.toggleSidebar"),L={ref:b,...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":!!a||void 0}:void 0,onKeyDown:E,...e.openOnHover?{onPointerEnter:i,onPointerLeave:y}:void 0,style:{"--px-sidebar-width":e.width,"--px-sidebar-width-icon":e.iconWidth}},w={"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},x={"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},I={"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},D={"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},A={"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},U={"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},B={"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":!!a,...e.id?{"aria-controls":e.id}:void 0,onClick:g,...e.overlay?{"data-overlay":""}:void 0},K={"data-scope":"sidebar","data-part":"rail","aria-label":P,onClick:g,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},N={"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},z={"data-scope":"sidebar","data-part":"backdrop",...e.dismissable?{onClick:p}:{}},F={"data-scope":"sidebar","data-part":"menu"},V={"data-scope":"sidebar","data-part":"menu-item"},W=c.useCallback(s=>({"data-scope":"sidebar","data-part":"menu-button","data-menu-item":"",...s?{"data-active":!0}:{}}),[]),_=c.useCallback(s=>({"data-scope":"sidebar","data-part":"menu-action",...s?{"data-show-on-hover":""}:{}}),[]),$={"data-scope":"sidebar","data-part":"menu-badge"},q={"data-scope":"sidebar","data-part":"menu-sub"},Y={"data-scope":"sidebar","data-part":"menu-sub-item"},j=c.useCallback((s,G)=>({"data-scope":"sidebar","data-part":"menu-sub-button","data-menu-item":"","data-size":G,...s?{"data-active":!0}:{}}),[]);return{state:v,focusTrap:l,isModal:r,toggle:g,expand:h,collapse:p,rootProps:L,spacerProps:w,asideProps:x,panelProps:I,contentProps:D,headerProps:A,footerProps:U,triggerProps:B,railProps:K,mainProps:N,backdropProps:z,menuProps:F,menuItemProps:V,getMenuButtonProps:W,getMenuActionProps:_,menuBadgeProps:$,menuSubProps:q,menuSubItemProps:Y,getMenuSubButtonProps:j,groupProps:{"data-scope":"sidebar","data-part":"group"},groupLabelProps:{"data-scope":"sidebar","data-part":"group-label"},groupContentProps:{"data-scope":"sidebar","data-part":"group-content"},groupActionProps:{"data-scope":"sidebar","data-part":"group-action"},variant:e.variant,collapsible:e.collapsible,side:e.side,overlay:e.overlay,openOnHover:e.openOnHover}}});import{withHeadless as de}from"@primereact/core/headless";import*as f from"react";var H={};var Te=de({name:"useSidebarLayout",defaultProps:H,setup(){let[e,a]=f.useState(()=>new Map),n=f.useCallback((o,u)=>{a(i=>{if(u===null){if(!i.has(o))return i;let m=new Map(i);return m.delete(o),m}let y=i.get(o);if(y&&y.open===u.open&&y.state===u.state&&y.overlay===u.overlay&&y.hideOnOutsideClick===u.hideOnOutsideClick)return i;let E=new Map(i);return E.set(o,u),E})},[]),t=f.useCallback((o,u)=>{if(o){e.get(o)?.toggle(u);return}e.size===1&&e.values().next().value?.toggle(u)},[e]),r=f.useCallback((o,u)=>{if(o){let i=e.get(o);i?.open&&i.toggle(u);return}e.forEach(i=>{i.open&&i.toggle(u)})},[e]),d=f.useMemo(()=>{for(let o of e.values())if(o.open)return!0;return!1},[e]),l=f.useMemo(()=>{for(let o of e.values())if(o.open&&o.overlay&&o.hideOnOutsideClick)return!0;return!1},[e]),b=f.useMemo(()=>{for(let o of e.values())if(o.open&&o.overlay)return!0;return!1},[e]),g={...l?{onClick:o=>{o.target?.closest('[data-scope="sidebar"][data-part="trigger"]')||e.forEach(i=>{i.open&&i.overlay&&i.hideOnOutsideClick&&i.collapse(o)})}}:void 0,...b?{inert:!0,"aria-hidden":!0}:void 0};return{state:{open:d},setSidebar:n,toggle:t,collapse:r,backdropProps:{"data-scope":"sidebar","data-part":"backdrop",onClick:()=>r(),"data-state":d?"open":"closed"},backdropMotionProps:{visible:d},mainProps:g}}});import{withHeadless as ce}from"@primereact/core/headless";import{useCollapsible as ue}from"@primereact/headless/collapsible";var T={collapsible:!1,open:void 0,defaultOpen:!0,disabled:!1,onOpenChange:void 0};var Ae=ce({name:"useSidebarMenuItem",defaultProps:T,setup({props:e}){let a=!!e.collapsible,n=ue({open:a?e.open:void 0,defaultOpen:a?e.defaultOpen??!0:!0,onOpenChange:a?e.onOpenChange:void 0,disabled:e.disabled}),t={isCollapsible:a,open:n.state.open},r=a?n.triggerProps:{},d=a?n.contentProps:{},l=a?{...n.rootProps,"data-collapsible":!0}:{};return{state:t,toggle:n.toggle,triggerProps:r,contentProps:d,rootProps:l}}});export{H as defaultLayoutProps,T as defaultMenuItemProps,R as defaultProps,ke as useSidebar,Te as useSidebarLayout,Ae as useSidebarMenuItem};