@primereact/headless 11.1.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.
- package/animateonscroll/index.mjs +1 -1
- package/carousel/index.mjs +1 -1
- package/contextmenu/index.mjs +1 -1
- package/datatable/features/index.mjs +8 -8
- package/datatable/index.mjs +8 -8
- package/datepicker/index.mjs +1 -1
- package/dialog/index.mjs +1 -1
- package/dnd/index.mjs +1 -1
- package/drawer/index.mjs +1 -1
- package/gallery/index.mjs +1 -1
- package/gallery/item/index.mjs +1 -1
- package/inputcolor/index.mjs +1 -1
- package/inputpassword/index.mjs +1 -1
- package/listbox/index.mjs +1 -1
- package/menu/checkboxitem/index.mjs +1 -1
- package/menu/index.mjs +1 -1
- package/menu/radioitem/index.mjs +1 -1
- package/message/index.mjs +1 -1
- package/navigationmenu/index.mjs +1 -1
- package/orderlist/index.mjs +1 -1
- package/organizationchart/index.mjs +1 -1
- package/package.json +8 -4
- package/picklist/index.mjs +1 -1
- package/popover/index.mjs +1 -1
- package/progressbar/index.mjs +1 -1
- package/radiobutton/index.mjs +1 -1
- package/radiobuttongroup/index.mjs +1 -1
- package/scrollarea/index.mjs +1 -1
- package/sidebar/index.mjs +1 -1
- package/sidebar/useSidebar.d.ts +24 -24
- package/speeddial/index.mjs +1 -1
- package/styleclass/index.mjs +1 -1
- package/tabs/index.mjs +1 -1
- package/tabs/useTabs.d.ts +6 -0
- package/terminal/index.mjs +1 -1
- package/toast/index.mjs +1 -1
- package/toaster/index.mjs +1 -1
- package/togglebutton/index.mjs +1 -1
- package/togglebuttongroup/index.mjs +1 -1
- package/toggleswitch/index.mjs +1 -1
- package/toggleswitch/useToggleSwitch.d.ts +14 -0
- package/tooltip/index.mjs +1 -1
- package/tree/index.mjs +1 -1
- package/tree/useTreeKeyboard.d.ts +1 -1
package/orderlist/index.mjs
CHANGED
|
@@ -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,
|
|
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.
|
|
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.
|
|
35
|
-
"@primereact/hooks": "11.
|
|
39
|
+
"@primereact/core": "11.2.0",
|
|
40
|
+
"@primereact/hooks": "11.2.0"
|
|
36
41
|
},
|
|
37
|
-
"repository": {},
|
|
38
42
|
"type": "module"
|
|
39
43
|
}
|
package/picklist/index.mjs
CHANGED
|
@@ -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
|
|
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};
|
package/progressbar/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{withHeadless as f}from"@primereact/core/headless";import*as
|
|
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};
|
package/radiobutton/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{withHeadless as
|
|
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
|
|
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};
|
package/scrollarea/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{withHeadless as Le}from"@primereact/core/headless";import*as e from"react";var
|
|
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 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
|
|
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};
|
package/sidebar/useSidebar.d.ts
CHANGED
|
@@ -37,9 +37,9 @@ export declare const useSidebar: (inProps?: unknown) => import("@primereact/type
|
|
|
37
37
|
'data-part': string;
|
|
38
38
|
'data-state': string;
|
|
39
39
|
'data-collapsible': string | undefined;
|
|
40
|
-
'data-collapsible-mode': "
|
|
41
|
-
'data-variant': "
|
|
42
|
-
'data-side': "
|
|
40
|
+
'data-collapsible-mode': import("@primereact/types/headless/sidebar").SidebarCollapsible | undefined;
|
|
41
|
+
'data-variant': import("@primereact/types/headless/sidebar").SidebarVariant | undefined;
|
|
42
|
+
'data-side': import("@primereact/types/headless/sidebar").SidebarSide | undefined;
|
|
43
43
|
id?: string | undefined;
|
|
44
44
|
ref: (node: HTMLElement | null) => void;
|
|
45
45
|
};
|
|
@@ -49,8 +49,8 @@ export declare const useSidebar: (inProps?: unknown) => import("@primereact/type
|
|
|
49
49
|
'data-part': string;
|
|
50
50
|
'data-state': string;
|
|
51
51
|
'data-collapsible': string | undefined;
|
|
52
|
-
'data-variant': "
|
|
53
|
-
'data-side': "
|
|
52
|
+
'data-variant': import("@primereact/types/headless/sidebar").SidebarVariant | undefined;
|
|
53
|
+
'data-side': import("@primereact/types/headless/sidebar").SidebarSide | undefined;
|
|
54
54
|
};
|
|
55
55
|
asideProps: {
|
|
56
56
|
'data-overlay'?: "" | undefined;
|
|
@@ -58,8 +58,8 @@ export declare const useSidebar: (inProps?: unknown) => import("@primereact/type
|
|
|
58
58
|
'data-part': string;
|
|
59
59
|
'data-state': string;
|
|
60
60
|
'data-collapsible': string | undefined;
|
|
61
|
-
'data-variant': "
|
|
62
|
-
'data-side': "
|
|
61
|
+
'data-variant': import("@primereact/types/headless/sidebar").SidebarVariant | undefined;
|
|
62
|
+
'data-side': import("@primereact/types/headless/sidebar").SidebarSide | undefined;
|
|
63
63
|
};
|
|
64
64
|
panelProps: {
|
|
65
65
|
'data-overlay'?: "" | undefined;
|
|
@@ -67,8 +67,8 @@ export declare const useSidebar: (inProps?: unknown) => import("@primereact/type
|
|
|
67
67
|
'data-part': string;
|
|
68
68
|
'data-state': string;
|
|
69
69
|
'data-collapsible': string | undefined;
|
|
70
|
-
'data-variant': "
|
|
71
|
-
'data-side': "
|
|
70
|
+
'data-variant': import("@primereact/types/headless/sidebar").SidebarVariant | undefined;
|
|
71
|
+
'data-side': import("@primereact/types/headless/sidebar").SidebarSide | undefined;
|
|
72
72
|
};
|
|
73
73
|
contentProps: {
|
|
74
74
|
'data-overlay'?: "" | undefined;
|
|
@@ -76,8 +76,8 @@ export declare const useSidebar: (inProps?: unknown) => import("@primereact/type
|
|
|
76
76
|
'data-part': string;
|
|
77
77
|
'data-state': string;
|
|
78
78
|
'data-collapsible': string | undefined;
|
|
79
|
-
'data-variant': "
|
|
80
|
-
'data-side': "
|
|
79
|
+
'data-variant': import("@primereact/types/headless/sidebar").SidebarVariant | undefined;
|
|
80
|
+
'data-side': import("@primereact/types/headless/sidebar").SidebarSide | undefined;
|
|
81
81
|
};
|
|
82
82
|
headerProps: {
|
|
83
83
|
'data-overlay'?: "" | undefined;
|
|
@@ -85,8 +85,8 @@ export declare const useSidebar: (inProps?: unknown) => import("@primereact/type
|
|
|
85
85
|
'data-part': string;
|
|
86
86
|
'data-state': string;
|
|
87
87
|
'data-collapsible': string | undefined;
|
|
88
|
-
'data-variant': "
|
|
89
|
-
'data-side': "
|
|
88
|
+
'data-variant': import("@primereact/types/headless/sidebar").SidebarVariant | undefined;
|
|
89
|
+
'data-side': import("@primereact/types/headless/sidebar").SidebarSide | undefined;
|
|
90
90
|
};
|
|
91
91
|
footerProps: {
|
|
92
92
|
'data-overlay'?: "" | undefined;
|
|
@@ -94,8 +94,8 @@ export declare const useSidebar: (inProps?: unknown) => import("@primereact/type
|
|
|
94
94
|
'data-part': string;
|
|
95
95
|
'data-state': string;
|
|
96
96
|
'data-collapsible': string | undefined;
|
|
97
|
-
'data-variant': "
|
|
98
|
-
'data-side': "
|
|
97
|
+
'data-variant': import("@primereact/types/headless/sidebar").SidebarVariant | undefined;
|
|
98
|
+
'data-side': import("@primereact/types/headless/sidebar").SidebarSide | undefined;
|
|
99
99
|
};
|
|
100
100
|
triggerProps: {
|
|
101
101
|
'data-overlay'?: "" | undefined;
|
|
@@ -105,8 +105,8 @@ export declare const useSidebar: (inProps?: unknown) => import("@primereact/type
|
|
|
105
105
|
'data-part': string;
|
|
106
106
|
'data-state': string;
|
|
107
107
|
'data-collapsible': string | undefined;
|
|
108
|
-
'data-variant': "
|
|
109
|
-
'data-side': "
|
|
108
|
+
'data-variant': import("@primereact/types/headless/sidebar").SidebarVariant | undefined;
|
|
109
|
+
'data-side': import("@primereact/types/headless/sidebar").SidebarSide | undefined;
|
|
110
110
|
'aria-expanded': boolean;
|
|
111
111
|
};
|
|
112
112
|
railProps: {
|
|
@@ -118,8 +118,8 @@ export declare const useSidebar: (inProps?: unknown) => import("@primereact/type
|
|
|
118
118
|
title: string;
|
|
119
119
|
'data-state': string;
|
|
120
120
|
'data-collapsible': string | undefined;
|
|
121
|
-
'data-variant': "
|
|
122
|
-
'data-side': "
|
|
121
|
+
'data-variant': import("@primereact/types/headless/sidebar").SidebarVariant | undefined;
|
|
122
|
+
'data-side': import("@primereact/types/headless/sidebar").SidebarSide | undefined;
|
|
123
123
|
};
|
|
124
124
|
mainProps: {
|
|
125
125
|
'data-overlay'?: "" | undefined;
|
|
@@ -127,8 +127,8 @@ export declare const useSidebar: (inProps?: unknown) => import("@primereact/type
|
|
|
127
127
|
'data-part': string;
|
|
128
128
|
'data-state': string;
|
|
129
129
|
'data-collapsible': string | undefined;
|
|
130
|
-
'data-variant': "
|
|
131
|
-
'data-side': "
|
|
130
|
+
'data-variant': import("@primereact/types/headless/sidebar").SidebarVariant | undefined;
|
|
131
|
+
'data-side': import("@primereact/types/headless/sidebar").SidebarSide | undefined;
|
|
132
132
|
};
|
|
133
133
|
backdropProps: {
|
|
134
134
|
onClick?: ((event?: React.SyntheticEvent) => void) | undefined;
|
|
@@ -189,9 +189,9 @@ export declare const useSidebar: (inProps?: unknown) => import("@primereact/type
|
|
|
189
189
|
'data-scope': string;
|
|
190
190
|
'data-part': string;
|
|
191
191
|
};
|
|
192
|
-
variant: "
|
|
193
|
-
collapsible: "
|
|
194
|
-
side: "
|
|
192
|
+
variant: import("@primereact/types/headless/sidebar").SidebarVariant | undefined;
|
|
193
|
+
collapsible: import("@primereact/types/headless/sidebar").SidebarCollapsible | undefined;
|
|
194
|
+
side: import("@primereact/types/headless/sidebar").SidebarSide | undefined;
|
|
195
195
|
overlay: boolean | undefined;
|
|
196
196
|
openOnHover: boolean | undefined;
|
|
197
197
|
}>;
|
package/speeddial/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{withHeadless as ae}from"@primereact/core/headless";import{useEventListener as re,useUnmountEffect as ie,useUpdateEffect as ce}from"@primereact/hooks";import{useControlledState as le}from"@primereact/hooks/use-controlled-state";import{$dt as b}from"@primeuix/styled";import{find as de,findSingle as h,focus as
|
|
1
|
+
import{withHeadless as ae}from"@primereact/core/headless";import{useEventListener as re,useUnmountEffect as ie,useUpdateEffect as ce}from"@primereact/hooks";import{useControlledState as le}from"@primereact/hooks/use-controlled-state";import{$dt as b}from"@primeuix/styled";import{find as de,findSingle as h,focus as V}from"@primeuix/utils/dom";import*as l from"react";var B={visible:void 0,defaultVisible:void 0,direction:"up",transitionDelay:30,type:"linear",radius:0,hideOnClickOutside:!0,onVisibleChange:void 0};var De=ae({name:"useSpeedDial",defaultProps:B,setup:({props:n,id:p,elementRef:S})=>{let[i,x]=le({value:n.visible,defaultValue:n.defaultVisible??!1,onChange:n.onVisibleChange}),[y,w]=l.useState(-1),d=l.useRef(null),f=l.useRef(null),R=l.useRef(!1),F=l.useCallback(e=>{d.current=e,S.current=e??void 0},[S]),N={visible:i,focusedOptionIndex:y},_=l.useCallback(e=>{f.current=e},[]),D=()=>de(d.current,'[data-scope="speeddial"][data-part="item"]'),L=()=>D().length,j=()=>{let e=h(d.current,'[data-scope="speeddial"][data-part="trigger"]');e&&V(e)},E=()=>x([!0,{value:!0}]),m=()=>x([!1,{value:!1}]),q=l.useCallback(()=>{if(n.type!=="linear"){let e=h(d.current,'[data-scope="speeddial"][data-part="trigger"]'),t=h(f.current,'[data-scope="speeddial"][data-part="item"]');if(e&&t){let a=Math.abs(e.offsetWidth-t.offsetWidth),c=Math.abs(e.offsetHeight-t.offsetHeight);f.current.style.setProperty(b("item.diff.x").name,`${a/2}px`),f.current.style.setProperty(b("item.diff.y").name,`${c/2}px`)}}},[n.type]),[W,M]=re({type:"click",listener:e=>{let t=e.target,a=d.current&&!d.current.contains(t);i&&a&&m(),R.current=!1}});ce(()=>(i&&(requestAnimationFrame(q),n.hideOnClickOutside&&W()),()=>{n.hideOnClickOutside&&M()}),[i]),ie(()=>{M()});let Y=e=>{let t=L();return(i?e:t-e-1)*(n.transitionDelay??30)},X=e=>{let{type:t,direction:a,radius:c}=n;if(t==="linear")return{};let u=L(),g=c||u*20,ee=b("item.diff.x").variable,te=b("item.diff.y").variable,O=s=>`calc(${s}px + ${ee})`,U=s=>`calc(${s}px + ${te})`;if(t==="circle"){let s=2*Math.PI/u;return{left:O(g*Math.cos(s*e)),top:U(g*Math.sin(s*e))}}let ne=t==="semi-circle"?u-1:2*(u-1),A=Math.PI/ne,se=O(g*Math.cos(A*e)),oe=U(g*Math.sin(A*e)),K={"semi-circle":{up:(s,o)=>({left:s,bottom:o}),down:(s,o)=>({left:s,top:o}),left:(s,o)=>({right:o,top:s}),right:(s,o)=>({left:o,top:s})},"quarter-circle":{"up-left":(s,o)=>({right:s,bottom:o}),"up-right":(s,o)=>({left:s,bottom:o}),"down-left":(s,o)=>({right:o,top:s}),"down-right":(s,o)=>({left:o,top:s})}}[t]?.[a];return K?K(se,oe):{}},k=e=>({transitionDelay:`${Y(e)}ms`,...X(e)}),z=(e,t=y)=>{let a=D(),c=e==="next",u=c?0:a.length-1;return t===-1?u:t+(c?1:-1)},G=e=>{let t=D();if(t[e]){w(e??-1);let a=h(t[e],'[data-part="action"]');a&&V(a)}},r=(e,t,a)=>{let c=z(t,a);G(c),e.preventDefault()},v=()=>{m(),w(-1),j()},I=()=>{i?m():E(),R.current=!0},P=e=>{switch(e.code){case"ArrowDown":case"ArrowLeft":E(),r(e,"next");break;case"ArrowUp":case"ArrowRight":E(),r(e,"prev");break;case"Escape":v();break}},H=e=>{let t=n.direction,a=["left","up-right","down-left"],c=["right","up-left","down-right"];switch(e.code){case"ArrowDown":t==="down"?r(e,"next"):r(e,"prev");break;case"ArrowUp":t==="down"?r(e,"prev"):r(e,"next");break;case"ArrowLeft":a.includes(t)||t==="down"?r(e,"next"):r(e,"prev");break;case"ArrowRight":c.includes(t)||t==="up"?r(e,"next"):r(e,"prev");break;case"Enter":case"NumpadEnter":case"Space":case"Escape":v();break;case"Home":r(e,"next",-1);break;case"End":r(e,"prev",-1);break}},T=e=>{d.current?.contains(e.relatedTarget)||w(-1)},C=e=>{m(),R.current=!0,e.preventDefault?.()},$=e=>{e.code==="Enter"&&C(e)},J={ref:F,id:p,"data-scope":"speeddial","data-part":"root",...i?{"data-open":""}:{"data-closed":""},style:{alignItems:n.direction==="up"||n.direction==="down"?"center":void 0,justifyContent:n.direction==="left"||n.direction==="right"?"center":void 0,flexDirection:n.direction==="up"?"column-reverse":n.direction==="down"?"column":n.direction==="left"?"row-reverse":n.direction==="right"?"row":void 0}},Q={"data-scope":"speeddial","data-part":"trigger",type:"button","aria-expanded":i,"aria-haspopup":"true","aria-controls":`${p}_list`,...i?{"data-open":""}:{"data-closed":""},onClick:I,onKeyDown:P},Z={ref:_,"data-scope":"speeddial","data-part":"list",...i?{"data-open":""}:{"data-closed":""},id:`${p}_list`,role:"menu",tabIndex:-1,onBlur:T,onKeyDown:H,style:{flexDirection:n.direction==="up"?"column-reverse":n.direction==="down"?"column":n.direction==="left"?"row-reverse":n.direction==="right"?"row":void 0}};return{state:N,listRef:f,rootProps:J,triggerProps:Q,listProps:Z,getItemProps:e=>({id:`${p}_${e}`,"data-scope":"speeddial","data-part":"item",role:"none",style:k(e),...y===e?{"data-active":""}:{}}),actionProps:{"data-scope":"speeddial","data-part":"action",type:"button",tabIndex:-1,role:"menuitem",onClick:C,onKeyDown:$},getItemStyle:k,onBlur:T,onKeyDown:H,onTriggerClick:I,onTriggerKeyDown:P,onItemClick:C,onItemKeyDown:$}}});export{B as defaultProps,De as useSpeedDial};
|
package/styleclass/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{withHeadless as
|
|
1
|
+
import{withHeadless as S}from"@primereact/core/headless";import{useEventListener as o}from"@primereact/hooks/use-event-listener";import{useMountEffect as P}from"@primereact/hooks/use-mount-effect";import{useUnmountEffect as U}from"@primereact/hooks/use-unmount-effect";import{useUpdateEffect as D}from"@primereact/hooks/use-update-effect";import{addClass as a,getTargetElement as w,hasClass as V,isElement as W,isVisible as C,removeClass as i,setAttribute as j,toElement as q}from"@primeuix/utils";import*as n from"react";var O={nodeRef:void 0,selector:void 0,enterFromClassName:void 0,enterActiveClassName:void 0,enterToClassName:void 0,leaveFromClassName:void 0,leaveActiveClassName:void 0,leaveToClassName:void 0,hiddenClassName:void 0,hideOnOutsideClick:!1,toggleClassName:void 0,hideOnResize:!1,resizeSelector:void 0};var _=S({name:"useStyleClass",defaultProps:O,setup({props:e,elementRef:s}){let l=n.useRef(!1),t=n.useRef(null),c=n.useRef(null),[g,A]=o({type:"animationend",listener(){i(t.current,e.enterActiveClassName??""),e.enterToClassName&&a(t.current,e.enterToClassName),A(),t.current&&e.enterActiveClassName?.includes("slidedown")&&(t.current.style.maxHeight=""),l.current=!1}}),[E,F]=o({type:"animationend",listener(){i(t.current,e.leaveActiveClassName??""),e.leaveToClassName&&a(t.current,e.leaveToClassName),F(),l.current=!1}}),[b,d]=o({type:"click",listener(r){!C(t.current)||getComputedStyle(t.current).getPropertyValue("position")==="static"?d():x(r)&&u()},when:e.hideOnOutsideClick}),[h,N]=o({type:"resize",listener(){C(t.current)?u():N()},when:e.hideOnResize}),[R,v]=o({type:"click",listener(){t.current=H(),e.toggleClassName?V(t.current,e.toggleClassName)?i(t.current,e.toggleClassName):a(t.current,e.toggleClassName):C(t.current)?u():k()}}),y=n.useCallback(()=>{c.current&&(c.current.disconnect(),c.current=null)},[]),f=n.useCallback(()=>{N(),y()},[N,y]),u=n.useCallback(()=>{e.leaveActiveClassName?l.current||(l.current=!0,a(t.current,e.leaveActiveClassName),e.leaveFromClassName&&i(t.current,e.leaveFromClassName),E({target:t.current})):(e.leaveFromClassName&&i(t.current,e.leaveFromClassName),e.leaveToClassName&&a(t.current,e.leaveToClassName)),e.hideOnOutsideClick&&d(),e.hideOnResize&&f()},[E,e,d,f]),L=n.useCallback(r=>{if(!c.current&&r){let m=!0;c.current=new ResizeObserver(()=>{if(m){m=!1;return}C(t.current)&&u()}),c.current.observe(r)}},[u]),T=n.useCallback(()=>{let r=w(e.resizeSelector??"window");W(r)?L(r):h({target:"window"})},[e.resizeSelector,L,h]),k=n.useCallback(()=>{t.current&&(e.enterActiveClassName?l.current||(l.current=!0,e.enterActiveClassName.includes("slidedown")&&(t.current.style.height="0px",i(t.current,(e.hiddenClassName||e.enterFromClassName)??""),t.current.style.maxHeight=t.current.scrollHeight+"px",a(t.current,e.hiddenClassName||e.enterActiveClassName),t.current.style.height=""),a(t.current,e.enterActiveClassName),e.enterFromClassName&&i(t.current,e.enterFromClassName),g({target:t.current})):(e.enterFromClassName&&i(t.current,e.enterFromClassName),e.enterToClassName&&a(t.current,e.enterToClassName)),e.hideOnOutsideClick&&b({target:s.current?.ownerDocument}),e.hideOnResize&&T())},[b,g,s,e,T]),H=n.useCallback(()=>t.current||w(e.selector,s.current),[s,e.selector]),z=n.useCallback(()=>{Promise.resolve().then(()=>{e.nodeRef?.current&&(s.current=q(e.nodeRef)),j(s.current,"data-pd-styleclass",!0),R({target:s.current})})},[R,s,e.nodeRef]),M=n.useCallback(()=>{v(),d(),f(),t.current=null},[v,d,f]),x=r=>{let m=r?.target;return!s.current?.isSameNode(m)&&!s.current?.contains(m)&&!t.current?.contains(m)};return P(()=>{z()}),D(()=>(z(),()=>{v()})),U(()=>{M()}),{rootProps:{"data-scope":"styleclass","data-part":"root"},targetRef:t,enter:k,leave:u}}});export{O as defaultProps,_ as useStyleClass};
|