@primereact/hooks 11.0.0-alpha.8 → 11.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/LICENSE.md +45 -0
  2. package/README.md +34 -0
  3. package/index.d.ts +9 -0
  4. package/index.mjs +1 -1
  5. package/index.mjs.map +1 -1
  6. package/package.json +8 -12
  7. package/use-controlled-state/index.mjs +1 -1
  8. package/use-controlled-state/index.mjs.map +1 -1
  9. package/use-filter/_matchers.d.ts +23 -0
  10. package/use-filter/index.d.ts +94 -0
  11. package/use-filter/index.mjs +2 -0
  12. package/use-filter/index.mjs.map +1 -0
  13. package/use-hot-key/index.d.ts +25 -0
  14. package/use-hot-key/index.mjs +2 -0
  15. package/use-hot-key/index.mjs.map +1 -0
  16. package/use-is-mobile/index.d.ts +18 -0
  17. package/use-is-mobile/index.mjs +2 -0
  18. package/use-is-mobile/index.mjs.map +1 -0
  19. package/use-local-storage/index.d.ts +56 -0
  20. package/use-local-storage/index.mjs +2 -0
  21. package/use-local-storage/index.mjs.map +1 -0
  22. package/use-mask/index.d.ts +96 -67
  23. package/use-mask/index.mjs +1 -1
  24. package/use-mask/index.mjs.map +1 -1
  25. package/use-mounted/index.d.ts +36 -0
  26. package/use-mounted/index.mjs +2 -0
  27. package/use-mounted/index.mjs.map +1 -0
  28. package/use-number-formatter/index.d.ts +194 -0
  29. package/use-number-formatter/index.mjs +2 -0
  30. package/use-number-formatter/index.mjs.map +1 -0
  31. package/use-number-formatter/index.test.d.ts +0 -0
  32. package/use-presence/index.d.ts +1 -2
  33. package/use-presence/index.mjs +1 -1
  34. package/use-presence/index.mjs.map +1 -1
  35. package/use-props/index.d.ts +16 -11
  36. package/use-props/index.mjs +1 -1
  37. package/use-props/index.mjs.map +1 -1
  38. package/use-queue-task/index.d.ts +1 -0
  39. package/use-queue-task/index.mjs +2 -0
  40. package/use-queue-task/index.mjs.map +1 -0
  41. package/use-queue-task/index.test.d.ts +0 -0
  42. package/use-sortable-list/index.d.ts +43 -0
  43. package/use-sortable-list/index.mjs +2 -0
  44. package/use-sortable-list/index.mjs.map +1 -0
  45. package/use-tree-filter/index.d.ts +52 -0
  46. package/use-tree-filter/index.mjs +2 -0
  47. package/use-tree-filter/index.mjs.map +1 -0
  48. package/LICENSE +0 -21
package/LICENSE.md ADDED
@@ -0,0 +1,45 @@
1
+ # PrimeUI License
2
+
3
+ This package is part of **PrimeUI**, a family of commercial UI libraries by PrimeTek Informatics.
4
+
5
+ ## How PrimeUI May Be Used
6
+
7
+ PrimeUI may be used under one of two licenses. You choose the one that applies to you based on eligibility.
8
+
9
+ ### Community License (Free)
10
+
11
+ Free for organizations that meet all of the following criteria:
12
+
13
+ - Less than $1,000,000 USD in annual gross revenue
14
+ - Fewer than 5 developers
15
+ - Fewer than 10 employees
16
+ - Less than $3,000,000 USD in venture capital or outside funding
17
+
18
+ Individuals, students, non-profits, and non-commercial open source projects also qualify.
19
+
20
+ The Community License provides full access to the core libraries and supports up to 4 developers. It requires annual renewal by confirming continued eligibility.
21
+
22
+ ### Commercial License (Paid)
23
+
24
+ For organizations that do not qualify for the Community License.
25
+
26
+ Licensed per developer, perpetual, with one year of updates included. Renewal is optional and extends access to new versions. The Commercial Suite also includes PrimeBlocks, Theme Designer, all PrimeUI Pro components, and Premium Support.
27
+
28
+ ## License Key
29
+
30
+ A valid license key is required to use this software. License verification is performed offline, with no telemetry and no remote connection. A missing, invalid, or expired key may cause the software to display a license notice.
31
+
32
+ ## Full Terms
33
+
34
+ The complete license terms, eligibility details, and renewal information are available at:
35
+
36
+ - Community License: https://primeui.dev/licenses/community
37
+ - Commercial License: https://primeui.dev/licenses/commercial
38
+
39
+ ## Restrictions
40
+
41
+ This software is distributed as a compiled package. You may not reverse-engineer, decompile, or extract its source code, redistribute it as a component library or development tool, or remove its license mechanisms. Redistributing the software so that third parties can develop with it requires a separate OEM License. See the full terms for details.
42
+
43
+ ---
44
+
45
+ © 2026 PrimeTek Informatics. All rights reserved.
package/README.md CHANGED
@@ -1 +1,35 @@
1
1
  # PrimeReact Hooks
2
+
3
+ Low-level React hooks used across PrimeReact components. Available as a standalone package so component authors and application developers can reuse them independently.
4
+
5
+ ## Lifecycle
6
+
7
+ `useMountEffect`, `useUpdateEffect`, `useUnmountEffect` for effects that only run at specific lifecycle points. `useMounted` to track whether a component has mounted yet.
8
+
9
+ ## DOM
10
+
11
+ `useEventListener` for safe attach/detach of DOM listeners. `useScrollTop`, `usePresence`, `useVisibilityChange` for scroll and visibility tracking.
12
+
13
+ ## IDs and selectors
14
+
15
+ `useId` for stable unique IDs across renders. `useAttrSelector` for consistent `data-scope` / `data-part` attribute generation.
16
+
17
+ ## Input utilities
18
+
19
+ `useMask` for input masking (numbers, dates, custom patterns). `useKeyFilter` to restrict which characters an input accepts. `useHotKey` for keyboard shortcut bindings.
20
+
21
+ ## Data
22
+
23
+ `useFilter` and `useTreeFilter` for list and tree filtering logic. `usePrevious` to track the previous value of any reactive variable.
24
+
25
+ ## Storage and media
26
+
27
+ `useLocalStorage` for persisted state. `useMatchMedia` and `useIsMobile` for responsive behavior.
28
+
29
+ ## Other
30
+
31
+ `useControlledState` for controlled/uncontrolled input patterns. `useQueueTask` for deferred task queuing. `useViewTransition` for View Transition API integration.
32
+
33
+ ## License
34
+
35
+ Licensed under the [PrimeUI License](https://primeui.dev/licenses) - Copyright (c) [PrimeTek Informatics](https://www.primetek.com.tr)
package/index.d.ts CHANGED
@@ -1,14 +1,23 @@
1
1
  export * from './use-attr-selector';
2
+ export * from './use-sortable-list';
2
3
  export * from './use-controlled-state';
3
4
  export * from './use-event-listener';
5
+ export * from './use-filter';
6
+ export * from './use-tree-filter';
7
+ export * from './use-hot-key';
4
8
  export * from './use-id';
5
9
  export * from './use-key-filter';
10
+ export * from './use-local-storage';
6
11
  export * from './use-mask';
7
12
  export * from './use-match-media';
13
+ export * from './use-is-mobile';
8
14
  export * from './use-mount-effect';
15
+ export * from './use-mounted';
16
+ export * from './use-number-formatter';
9
17
  export * from './use-presence';
10
18
  export * from './use-previous';
11
19
  export * from './use-props';
20
+ export * from './use-queue-task';
12
21
  export * from './use-scrolltop';
13
22
  export * from './use-unmount-effect';
14
23
  export * from './use-update-effect';
package/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var he=Object.defineProperty;var ee=Object.getOwnPropertySymbols;var Me=Object.prototype.hasOwnProperty,Le=Object.prototype.propertyIsEnumerable;var te=(o,t,i)=>t in o?he(o,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):o[t]=i,ne=(o,t)=>{for(var i in t||(t={}))Me.call(t,i)&&te(o,i,t[i]);if(ee)for(var i of ee(t))Le.call(t,i)&&te(o,i,t[i]);return o};import*as D from"react";function Pe(o=""){let t=D.useId();return D.useMemo(()=>`${o}${t.replaceAll(/:|«|»/g,"")}`.trim().toLowerCase(),[t,o])}import{resolve as xe}from"@primeuix/utils";import*as U from"react";function Se({value:o,defaultValue:t,onChange:i}){let[d,E]=U.useState(t!=null?t:o),p=o!==void 0,R=p?o:d,u=U.useCallback(l=>{let[f,a]=xe(l,R,p);i==null||i(a),p||E(f)},[R,p,i]);return U.useEffect(()=>{p||E(t)},[t,p]),[R,u,p]}import{getTargetElement as re,isNotEmpty as ke}from"@primeuix/utils";import*as x from"react";import*as V from"react";function q(o){let t=V.useRef(null);return V.useEffect(()=>(t.current=o,()=>{t.current=null}),[o]),t.current}function Fe({target:o="document",type:t,listener:i,options:d,when:E=!0}){let p=x.useRef(null),R=x.useRef(null),u=q(i),l=q(d),f=(v={})=>{let{target:H}=v;ke(H)&&(a(),(v.when||E)&&(p.current=re(H))),!R.current&&p.current&&(R.current=L=>i&&i(L),p.current.addEventListener(t,R.current,d))},a=()=>{var v;R.current&&((v=p.current)==null||v.removeEventListener(t,R.current,d),R.current=null)},m=()=>{a(),u=null,l=null},b=x.useCallback(()=>{E?p.current=re(o):(a(),p.current=null)},[o,E]);return x.useEffect(()=>()=>{m()},[]),x.useEffect(()=>{b()},[b]),x.useEffect(()=>{let v=`${u}`!=`${i}`,H=l!==d,L=R.current;L&&(v||H)?(a(),E&&f()):L||m()},[i,d,E]),[f,a]}import*as K from"react";function Ve(o){let t=K.useId(),[i,d]=K.useState(o||`pr_id_${t.replaceAll(/:|«|»/g,"")}`);return K.useEffect(()=>{d(o||`pr_id_${t.replaceAll(/:|«|»/g,"")}`)},[o,t]),i}import{isAndroid as se}from"@primeuix/utils";function je(o){let{pattern:t=/./,validateOnly:i=!1}=o,d={pint:/[\d]/,int:/[\d-]/,pnum:/[\d.]/,money:/[\d.\s,]/,num:/[\d-.]/,hex:/[0-9a-f]/i,email:/[a-z0-9_.-@]/i,alpha:/[a-z_]/i,alphanum:/[a-z0-9_]/},E=()=>typeof t=="string"?d[t]:t,p=a=>{i||!se()||l(a,a.data)},R=a=>{i||se()||a.ctrlKey||a.altKey||a.metaKey||l(a,a.key)},u=a=>{if(i)return;let m=E();[...a.clipboardData.getData("text")].forEach(v=>{if(!m.test(v))return a.preventDefault(),!1})},l=(a,m)=>{if(m==null||!(m.length<=2))return;E().test(m)||a.preventDefault()};return{onBeforeInput:p,onKeyPress:R,onPaste:u,validate:a=>{let m=a.target.value,b=!0,v=E();return m&&!v.test(m)&&(b=!1),b}}}import{useMountEffect as ye}from"@primereact/hooks";import{getUserAgent as J}from"@primeuix/utils";import*as T from"react";function qe(o){let{mask:t,unmask:i,slotChar:d="_",autoClear:E=!0,readOnly:p=!1,onMaskChange:R,target:u}=o,l=T.useRef(0),f=T.useRef([]),a=T.useRef([]),m=T.useRef(null),b=T.useRef(0),v=T.useRef(!1),H=T.useRef(!1),L=T.useRef(null),w=T.useRef(null),ie=T.useRef(0),$=T.useRef(null),O=T.useRef(null),Q=T.useRef(null),ce=e=>{"isComposing"in e&&e.isComposing||(v.current?ve():Z(e))},le=e=>{var I;if(p)return;let n=e.code,s,r,c,g=/iphone/i.test(J());if(O.current=u==null?void 0:u.value,n==="Backspace"||n==="Delete"||g&&n==="Escape"){if(s=h(),!s)return;r=s.begin,c=s.end,c-r===0&&(r=n!=="Delete"?Ee(r):c=P(r-1),c=n==="Delete"?P(c):c),F(r,c),W(r,c-1),y(e.target.value),e.preventDefault()}else n==="Enter"?(u.blur(),y(e.target.value)):n==="Escape"&&(u&&(u.value=(I=L.current)!=null?I:""),h(0,k()),y(e.target.value),e.preventDefault())},fe=e=>{var I;if(p)return;let n=e.code,s=h(),r,c,g;s&&(e.ctrlKey||e.altKey||e.metaKey||e.shiftKey||e.key==="CapsLock"||e.key==="Escape"||e.key==="Tab"||(n&&n!=="Enter"&&(s.end-s.begin!==0&&(F(s.begin,s.end),W(s.begin,s.end-1)),r=P(s.begin-1),r<l.current&&(c=e.key,(I=f.current[r])!=null&&I.test(c)&&(Re(r),a.current[r]=c,C(),g=P(r),/android/i.test(J())?setTimeout(()=>{h(g)},0):h(g))),e.preventDefault()),y(e.target.value)))},pe=()=>{if(!p)if($.current&&clearTimeout($.current),H.current=!0,L.current=u.value,!u.value||u.value===m.current)requestAnimationFrame(()=>{u===document.activeElement&&h(0,0)});else{let e=k();$.current=setTimeout(()=>{u===document.activeElement&&(C(),e===(t==null?void 0:t.replace("?","").length)?h(0,e):h(e))},10)}},me=e=>{if(H.current=!1,k(),y(e.target.value),u.value!==L.current){let n=new Event("change",{bubbles:!0,cancelable:!1});u.dispatchEvent(n)}},de=e=>{Z(e)},h=(e,n)=>{var c,g;let s=0,r=0;return typeof e=="number"?(s=e,r=typeof n=="number"?n:s,u.setSelectionRange(s,r)):u&&(s=(c=u.selectionStart)!=null?c:0,r=(g=u.selectionEnd)!=null?g:0),{begin:s,end:r}},S=e=>e<d.length?d.charAt(e):d.charAt(0),P=e=>{for(;++e<l.current&&!f.current[e];);return e},Ee=e=>{for(;--e>=0&&!f.current[e];);return e},W=(e,n)=>{var c,g;let s,r;if(!(e<0)){for(s=e,r=P(n);s<l.current;s++)if(f.current[s]){if(r<l.current&&((c=f.current[s])!=null&&c.test(a.current[r])))a.current[s]=a.current[r],a.current[r]=S(r);else break;r=P(r)}C(),h(Math.max((g=w.current)!=null?g:0,e))}},Re=e=>{var g;let n,s,r,c;for(n=e,s=S(e);n<l.current;n++)if(f.current[n])if(r=P(n),c=a.current[n],a.current[n]=s,r<l.current&&((g=f.current[r])!=null&&g.test(c)))s=c;else break},ve=()=>{var s;let e=u.value,n=h();if(n)if(O.current&&O.current.length&&O.current.length>e.length){for(k(!0);n.begin>0&&!f.current[n.begin-1];)n.begin--;if(n.begin===0)for(;n.begin<((s=w.current)!=null?s:0)&&!f.current[n.begin];)n.begin++;h(n.begin,n.begin)}else{for(k(!0);n.begin<l.current&&!f.current[n.begin];)n.begin++;h(n.begin,n.begin)}},F=(e,n)=>{let s;for(s=e;s<n&&s<l.current;s++)f.current[s]&&(a.current[s]=S(s))},C=()=>{u&&(u.value=a.current.join(""))},k=(e=!1)=>{var I,z,Y,G;let n=u.value,s=-1,r,c,g;for(r=0,g=0;r<l.current;r++){let X=f.current[r];if(X!==null){for(a.current[r]=S(r);g++<((I=n==null?void 0:n.length)!=null?I:0);)if(c=(z=n==null?void 0:n.charAt(g-1))!=null?z:"",X.test(c)){a.current[r]=c,s=r;break}if(g>((Y=n==null?void 0:n.length)!=null?Y:0)){F(r+1,l.current);break}}else a.current[r]===(n==null?void 0:n.charAt(g))&&g++,r<b.current&&(s=r)}return e?C():s+1<b.current?E||a.current.join("")===m.current?(u.value&&(u.value=""),F(0,l.current)):C():(C(),u&&(u.value=u.value.substring(0,s+1))),b.current?r:(G=w.current)!=null?G:0},Z=e=>{let n=e.type==="paste";if(p||n)return;let s=k(!0);h(s),y(e.target.value)},ge=e=>{let n=[],s=e.split("");for(let r=0;r<s.length;r++){let c=s[r];f.current[r]&&c!==S(r)&&n.push(c)}return n.join("")},y=e=>{if(Q.current===e)return;let n=i?ge(e):e,s=m.current!==n?n:"";Q.current=e,u&&(u.value=s),R&&R({value:s})},be=(e=!0)=>{u&&(u.value==null?(u.value="",e&&y("")):(k(),setTimeout(()=>{u&&(C(),k(),e&&y(u.value))},10)),L.current=u.value)},Te=()=>{f.current=[],b.current=t?t.length:0,l.current=t?t.length:0,w.current=null;let e={9:"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"},n=J();v.current=/chrome/i.test(n)&&/android/i.test(n);let s=t?t.split(""):"";for(let r=0;r<s.length;r++){let c=s[r];c==="?"?(l.current--,b.current=r):e[c]?(f.current.push(new RegExp(e[c])),w.current===null&&(w.current=f.current.length-1),r<b.current&&(ie.current=f.current.length-1)):f.current.push(null)}a.current=[];for(let r=0;r<s.length;r++){let c=s[r];c!=="?"&&(e[c]?a.current.push(S(r)):a.current.push(c))}m.current=a.current.join(""),be(!1)};return ye(()=>{Te()}),{onMaskInput:ce,onMaskKeyDown:le,onMaskKeyPress:fe,onMaskFocus:pe,onMaskBlur:me,onMaskPaste:de}}import*as A from"react";function Qe(o,t=!0){let[i,d]=A.useState(!1),E=A.useRef(null),p=l=>d(l.matches),R=()=>{var l;return(l=E.current)==null?void 0:l.addEventListener("change",p)},u=()=>{var l;return((l=E.current)==null?void 0:l.removeEventListener("change",p))&&(E.current=null)};return A.useEffect(()=>(t&&(E.current=window.matchMedia(o),d(E.current.matches),R()),()=>{u()}),[o,t]),i}import*as B from"react";function Ze(o){let t=B.useRef(!1);B.useEffect(()=>{t.current||(t.current=!0,o==null||o())},[])}import*as M from"react";function Ge(o,t=500){let[i,d]=M.useState(o),[E,p]=M.useState(!1),[R,u]=M.useState(!1),l=M.useRef(null),f=M.useRef(null),a=M.useRef(null);return M.useEffect(()=>{if(f.current&&(f.current(),f.current=null),a.current&&(a.current(),a.current=null),o){d(!0),p(!1);let m=[];m.push(requestAnimationFrame(()=>{m.push(requestAnimationFrame(()=>{m.push(requestAnimationFrame(()=>u(!0)))}))})),a.current=()=>{m.forEach(b=>cancelAnimationFrame(b)),m.length=0}}else if(l.current){p(!0),u(!1);let m=l.current,b=!1,v=()=>{b||(b=!0,d(!1),p(!1),m.removeEventListener("transitionend",v),m.removeEventListener("animationend",v),f.current=null)};m.addEventListener("transitionend",v,{passive:!0}),m.addEventListener("animationend",v,{passive:!0}),f.current=()=>{b||(m.removeEventListener("transitionend",v),m.removeEventListener("animationend",v))}}else u(!1),d(!1),p(!1)},[o,t]),M.useEffect(()=>()=>{f.current&&f.current(),a.current&&a.current()},[]),{present:i,exiting:E,mounted:R,ref:l}}import*as oe from"react";function et(o={},t={}){return oe.useMemo(()=>{let i={props:ne({},t),attrs:{}};return Object.entries(o).forEach(([d,E])=>{d in t?i.props[d]=E:i.attrs[d]=E}),i},[o,t])}import{getWindowScrollTop as Ie}from"@primeuix/utils";import*as _ from"react";function st(o){let{target:t=typeof window!="undefined"?window:null,threshold:i=400,behavior:d="smooth"}=o||{},[E,p]=_.useState(!1),R=()=>{t==null||t.scroll({top:0,behavior:d})};return _.useEffect(()=>{if(!t)return;let u=f=>{f>i?p(!0):p(!1)},l=()=>{let f=t===window?Ie():t.scrollTop;u(f)};return t.addEventListener("scroll",l),()=>{t.removeEventListener("scroll",l)}},[t,i]),{visible:E,scrollToTop:R}}import*as ue from"react";function ut(o){ue.useEffect(()=>()=>{o==null||o()},[])}import*as j from"react";function it(o,t){let i=j.useRef(!1);j.useEffect(()=>{if(!i.current){i.current=!0;return}return o==null?void 0:o()},t)}import*as ae from"react";function lt(){return ae.useCallback(t=>{document.startViewTransition?document.startViewTransition(()=>{t()}):t()},[])}import*as N from"react";function pt(){let[o,t]=N.useState(!0);return N.useEffect(()=>{let i=()=>{t(!document.hidden)};return i(),document.addEventListener("visibilitychange",i),()=>{document.removeEventListener("visibilitychange",i)}},[]),o}export{Pe as useAttrSelector,Se as useControlledState,Fe as useEventListener,Ve as useId,je as useKeyFilter,qe as useMask,Qe as useMatchMedia,Ze as useMountEffect,Ge as usePresence,q as usePrevious,et as useProps,st as useScrollTop,ut as useUnmountEffect,it as useUpdateEffect,lt as useViewTransition,pt as useVisibilityChange};
1
+ var Et=Object.defineProperty,kt=Object.defineProperties;var It=Object.getOwnPropertyDescriptors;var st=Object.getOwnPropertySymbols;var Ct=Object.prototype.hasOwnProperty,Lt=Object.prototype.propertyIsEnumerable;var ut=(e,t,r)=>t in e?Et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,N=(e,t)=>{for(var r in t||(t={}))Ct.call(t,r)&&ut(e,r,t[r]);if(st)for(var r of st(t))Lt.call(t,r)&&ut(e,r,t[r]);return e},G=(e,t)=>kt(e,It(t));import*as De from"react";function qt(e=""){let t=De.useId();return De.useMemo(()=>`${e}${t.replaceAll(/:|«|»/g,"")}`.trim().toLowerCase(),[t,e])}import*as Re from"react";var at={draggedItems:[],draggedIndex:null,sourceListId:null,dragOverListId:null,dragOverIndex:null,isDragging:!1};function Jt({onReorder:e,onTransfer:t,canTransfer:r,getSelectedItems:o}){let a=Re.useRef([]),d=Re.useRef(null),f=Re.useRef(null),k=Re.useRef(null),[x,C]=Re.useState(at),s=Re.useCallback(()=>{a.current=[],d.current=null,f.current=null,k.current=null,C(at)},[]),T=Re.useCallback((v,F)=>t?r?r(v,F):!0:!1,[t,r]),M=Re.useCallback(v=>({onDragOver:F=>{F.preventDefault();let H=d.current;H===v?F.dataTransfer.dropEffect="move":H&&(F.dataTransfer.dropEffect=T(H,v)?"move":"none"),C($=>$.dragOverListId!==v?G(N({},$),{dragOverListId:v,dragOverIndex:null}):$)},onDrop:F=>{F.preventDefault();let H=d.current,$=f.current,z=k.current;H===v?$!==null&&z!==null&&$!==z&&e(v,$,z):H&&a.current.length>0&&T(H,v)&&t(H,v,a.current,z!=null?z:void 0),s()}}),[e,t,T,s]),R=Re.useCallback((v,F,H)=>({draggable:!0,"data-index":F,onDragStart:$=>{let z=o?o(v,H):[H];$.dataTransfer.effectAllowed="move",$.dataTransfer.setData("text/plain",""),a.current=z,d.current=v,f.current=F,k.current=F,requestAnimationFrame(()=>{C({draggedItems:z,draggedIndex:F,sourceListId:v,dragOverListId:null,dragOverIndex:null,isDragging:!0})})},onDragOver:$=>{$.preventDefault(),$.stopPropagation();let z=d.current,U=z===v;U?$.dataTransfer.dropEffect="move":z&&($.dataTransfer.dropEffect=T(z,v)?"move":"none"),!(U&&F===f.current)&&(k.current=F,C(_=>_.dragOverListId!==v||_.dragOverIndex!==F?G(N({},_),{dragOverListId:v,dragOverIndex:F}):_))},onDragEnd:s}),[T,o,s]);return{dragState:x,getListHandlers:M,getItemHandlers:R,reset:s}}import{resolve as wt}from"@primeuix/utils";import*as ve from"react";function Xt({value:e,defaultValue:t,onChange:r}){let a=ve.useRef(e!==void 0).current,[d,f]=ve.useState(()=>a?void 0:t!=null?t:e),k=a?e:d,x=ve.useCallback(C=>{let[s,T]=wt(C,k,a);r==null||r(T),a||f(s)},[k,a,r]);return ve.useEffect(()=>{a||f(t)},[t,a]),[k,x,a]}import{getTargetElement as ot,isNotEmpty as Ft}from"@primeuix/utils";import*as Me from"react";import*as Oe from"react";function _e(e){let t=Oe.useRef(null);return Oe.useEffect(()=>(t.current=e,()=>{t.current=null}),[e]),t.current}function sr({target:e="document",type:t,listener:r,options:o,when:a=!0}){let d=Me.useRef(null),f=Me.useRef(null),k=_e(r),x=_e(o),C=(R={})=>{let{target:v}=R;Ft(v)&&(s(),(R.when||a)&&(d.current=ot(v))),!f.current&&d.current&&(f.current=F=>r&&r(F),d.current.addEventListener(t,f.current,o))},s=()=>{var R;f.current&&((R=d.current)==null||R.removeEventListener(t,f.current,o),f.current=null)},T=()=>{s(),k=null,x=null},M=Me.useCallback(()=>{a?d.current=ot(e):(s(),d.current=null)},[e,a]);return Me.useEffect(()=>()=>{T()},[]),Me.useEffect(()=>{M()},[M]),Me.useEffect(()=>{let R=`${k}`!=`${r}`,v=x!==o,F=f.current;F&&(R||v)?(s(),a&&C()):F||T()},[r,o,a]),[C,s]}import{resolveFieldData as lt}from"@primeuix/utils/object";import*as K from"react";import{equals as St,removeAccents as Dt}from"@primeuix/utils/object";function se(e){return!!e&&typeof e.getTime=="function"}function pe(e,t){return Dt(String(e)).toLocaleLowerCase(t)}var ct={startsWith(e,t,r){return t==null||t===""?!0:e==null?!1:pe(e,r).startsWith(pe(t,r))},contains(e,t,r){return t==null||t===""?!0:e==null?!1:pe(e,r).indexOf(pe(t,r))!==-1},notContains(e,t,r){return t==null||t===""?!0:e==null?!1:pe(e,r).indexOf(pe(t,r))===-1},endsWith(e,t,r){return t==null||t===""?!0:e==null?!1:pe(e,r).endsWith(pe(t,r))},equals(e,t,r){return t==null||t===""?!0:e==null?!1:se(e)&&se(t)?e.getTime()===t.getTime():pe(e,r)===pe(t,r)},notEquals(e,t,r){return t==null||t===""?!1:e==null?!0:se(e)&&se(t)?e.getTime()!==t.getTime():pe(e,r)!==pe(t,r)},in(e,t){if(!Array.isArray(t)||t.length===0)return!0;for(let r of t)if(St(e,r))return!0;return!1},between(e,t){return!Array.isArray(t)||t[0]==null||t[1]==null?!0:e==null?!1:se(e)&&se(t[0])&&se(t[1])?t[0].getTime()<=e.getTime()&&e.getTime()<=t[1].getTime():t[0]<=e&&e<=t[1]},lt(e,t){return t==null?!0:e==null?!1:se(e)&&se(t)?e.getTime()<t.getTime():e<t},lte(e,t){return t==null?!0:e==null?!1:se(e)&&se(t)?e.getTime()<=t.getTime():e<=t},gt(e,t){return t==null?!0:e==null?!1:se(e)&&se(t)?e.getTime()>t.getTime():e>t},gte(e,t){return t==null?!0:e==null?!1:se(e)&&se(t)?e.getTime()>=t.getTime():e>=t},dateIs(e,t){return t==null?!0:e==null?!1:e.toDateString()===t.toDateString()},dateIsNot(e,t){return t==null?!0:e==null?!1:e.toDateString()!==t.toDateString()},dateBefore(e,t){return t==null?!0:e==null?!1:e.getTime()<t.getTime()},dateAfter(e,t){return t==null?!0:e==null?!1:e.getTime()>t.getTime()}},Ot={};function it(){return Ot}function Ne(){return"contains"}function oe(e){return Array.isArray(e.constraints)}function Be(e,t,r,o,a,d){let f=d[o];return f?Array.isArray(t)?r==null||r===""?!0:t.some(k=>f(lt(e,k),r,a)):f(typeof e=="object"?lt(e,t):e,r,a):!0}function Nt(e,t,r,o){var a,d,f;if(oe(t)){let k=(a=t.constraints)!=null?a:[];return k.length===0?!0:((d=t.operator)!=null?d:"and")==="and"?k.every(C=>{var s;return Be(e,t.field,C.value,(s=C.matchMode)!=null?s:Ne(),o,r)}):k.some(C=>{var s;return Be(e,t.field,C.value,(s=C.matchMode)!=null?s:Ne(),o,r)})}return Be(e,t.field,t.value,(f=t.matchMode)!=null?f:Ne(),o,r)}function fr(e){var te,xe;let t=e.field,r=e.matchMode,o=t!==void 0,a=o&&e.value!==void 0,d=K.useMemo(()=>{var y;return o?[{field:t,value:(y=e.value)!=null?y:null,matchMode:r}]:[]},[o,t,r]),f=e.rules!==void 0||a,[k,x]=K.useState((te=e.defaultRules)!=null?te:o?d:[]),C=K.useMemo(()=>[{field:t,value:e.value,matchMode:r}],[t,e.value,r]),s=e.rules!==void 0?e.rules:a?C:k,T=K.useRef(e.onRulesChange),M=K.useRef(e.onValueChange);T.current=e.onRulesChange,M.current=e.onValueChange;let R=K.useCallback(y=>{var l,S;if(f||x(y),(l=T.current)==null||l.call(T,y),o){let h=y[0];h&&!("constraints"in h)&&((S=M.current)==null||S.call(M,h.value))}},[f,o]),v=e.filterLocale,F=(xe=e.filterDelay)!=null?xe:0,H=K.useMemo(()=>{var y;return N(N(N({},ct),it()),(y=e.matchers)!=null?y:{})},[e.matchers]),[$,z]=K.useState(s);K.useEffect(()=>{if(F<=0)return;let y=setTimeout(()=>z(s),F);return()=>clearTimeout(y)},[s,F]);let U=F>0?$:s,_=K.useMemo(()=>U.filter(y=>Ut(y)),[U]),O=K.useCallback(y=>_.every(l=>Nt(y,l,H,v)),[_,H,v]),A=!!e.lazy,E=K.useMemo(()=>A||_.length===0?e.data:e.data.filter(O),[A,e.data,_,O]),V=_.length>0,q=K.useRef(e.onLazyLoad);q.current=e.onLazyLoad;let X=K.useRef(null);K.useEffect(()=>{var l;if(!A)return;let y=JSON.stringify(U);X.current!==y&&(X.current=y,(l=q.current)==null||l.call(q,{rules:U,filterLocale:v}))},[A,U,v]);let he=K.useCallback(y=>R(y),[R]),re=K.useCallback((y,l)=>{let S=s.map((h,w)=>w===y?G(N({},h),{value:l}):h);R(S)},[s,R]),ie=K.useCallback((y,l)=>{let S=s.map((h,w)=>w===y?G(N({},h),{matchMode:l}):h);R(S)},[s,R]),Y=K.useCallback((y,l)=>{let S=s.map((h,w)=>w!==y?h:oe(h)?G(N({},h),{operator:l}):{field:h.field,operator:l,constraints:[{value:h.value,matchMode:h.matchMode}]});R(S)},[s,R]),le=K.useCallback((y,l,S)=>{let h=s.map((w,P)=>{var u;if(P!==y)return w;let me=oe(w)?w.constraints.map((p,L)=>L===l?G(N({},p),{value:S}):p):l===0?[{value:S,matchMode:w.matchMode}]:(u=w.constraints)!=null?u:[];return{field:w.field,operator:oe(w)?w.operator:void 0,constraints:me}});R(h)},[s,R]),de=K.useCallback((y,l,S)=>{let h=s.map((w,P)=>{var u;if(P!==y)return w;let me=oe(w)?w.constraints.map((p,L)=>L===l?G(N({},p),{matchMode:S}):p):l===0?[{value:w.value,matchMode:S}]:(u=w.constraints)!=null?u:[];return{field:w.field,operator:oe(w)?w.operator:void 0,constraints:me}});R(h)},[s,R]),B=K.useCallback(y=>R([...s,y]),[s,R]),W=K.useCallback(y=>{let l=s.filter((S,h)=>h!==y);R(l)},[s,R]),ne=K.useCallback(y=>{let l=s.map((S,h)=>h!==y?S:oe(S)?G(N({},S),{constraints:S.constraints.map(w=>G(N({},w),{value:null}))}):G(N({},S),{value:null}));R(l)},[s,R]),fe=K.useCallback((y,l)=>{let S=s.map((h,w)=>{if(w!==y)return h;let P=oe(h)?h.constraints:[{value:h.value,matchMode:h.matchMode}];return{field:h.field,operator:oe(h)?h.operator:"and",constraints:[...P,{value:null,matchMode:l!=null?l:Ne()}]}});R(S)},[s,R]),J=K.useCallback((y,l)=>{let S=s.map((h,w)=>{if(w!==y||!oe(h))return h;let P=h.constraints.filter((me,u)=>u!==l);return P.length===0?h:G(N({},h),{constraints:P})});R(S)},[s,R]),ee=K.useCallback(()=>{let y=s.map(l=>oe(l)?G(N({},l),{constraints:l.constraints.map(S=>G(N({},S),{value:null}))}):G(N({},l),{value:null}));R(y)},[s,R]),j=K.useCallback(y=>{let l=typeof y=="number"?y:s.findIndex(P=>Array.isArray(P.field)?P.field.join(",")===y:P.field===y);if(l<0||!s[l])return;let S=s[l],h=oe(S),w=P=>{let me=h?S.constraints:[{value:S.value,matchMode:S.matchMode}];if(P<0||P>=me.length)return;let u=me[P];return{value:u.value,matchMode:u.matchMode,setValue:p=>le(l,P,p),setMatchMode:p=>de(l,P,p),remove:()=>J(l,P)}};return{field:S.field,value:h?void 0:S.value,matchMode:h?void 0:S.matchMode,operator:h?S.operator:void 0,constraints:h?S.constraints:void 0,setValue:P=>re(l,P),setMatchMode:P=>ie(l,P),setOperator:P=>Y(l,P),addConstraint:P=>fe(l,P),constraint:w,remove:()=>W(l),clear:()=>ne(l)}},[s,re,ie,Y,le,de,fe,J,W,ne]);return{rules:s,filteredData:E,isFiltered:V,setRules:he,setValue:re,setMatchMode:ie,setOperator:Y,setConstraintValue:le,setConstraintMatchMode:de,addRule:B,removeRule:W,clearRule:ne,addConstraint:fe,removeConstraint:J,clearAll:ee,rule:j,match:O,matchers:H}}function Ut(e){return oe(e)?e.constraints.some(t=>t.value!==null&&t.value!==void 0&&t.value!==""):e.value!==null&&e.value!==void 0&&e.value!==""}import{useControlledState as At}from"@primereact/hooks/use-controlled-state";import{BUILT_IN_MATCHERS as Vt,getGlobalMatchers as Pt,matchRule as Kt,registerMatcher as br,ruleHasValue as Ht,unregisterMatcher as hr}from"@primereact/hooks/use-filter";import{resolveFieldData as dt}from"@primeuix/utils/object";import*as Q from"react";function _t(e,t){let r=e.data!==null&&typeof e.data=="object";if(r&&t in e.data)return e.data[t];if(r){let o=dt(e.data,t);if(o!==void 0)return o}return t in e?e[t]:dt(e,t)}function Bt(e){return!e.children||e.children.length===0}function ft(e,t,r,o){let a=Array.isArray(t.field)?t.field:[t.field],d={};for(let f of a)d[f]=_t(e,f);return Kt(d,G(N({},t),{field:a}),r,o)}function mt(e,t,r,o,a){let d=[];for(let f of e){let k=t.every(C=>ft(f,C,r,o)),x=null;if(f.children&&f.children.length>0){let C=mt(f.children,t,r,o,a);C.length>0&&(x=C)}a?Bt(f)?k&&d.push(f):x&&d.push(G(N({},f),{children:x})):k?d.push(f):x&&d.push(G(N({},f),{children:x}))}return d}function Mr(e){var re,ie,Y,le,de;let t=e.field!==void 0&&e.rules===void 0&&e.defaultRules===void 0,r=(re=e.matchMode)!=null?re:"contains",[o,a]=At({value:e.value,defaultValue:e.defaultValue,onChange:e.onValueChange}),d=Q.useCallback(B=>a(B),[a]),f=e.rules!==void 0,[k,x]=Q.useState((ie=e.defaultRules)!=null?ie:[]),C=Q.useMemo(()=>t?[{field:e.field,value:o,matchMode:r}]:[],[t,e.field,o,r]),s=t?C:f?(Y=e.rules)!=null?Y:[]:k,T=Q.useRef(e.onRulesChange);T.current=e.onRulesChange;let M=Q.useCallback(B=>{var W,ne,fe;t?a((ne=(W=B[0])==null?void 0:W.value)!=null?ne:null):f||x(B),(fe=T.current)==null||fe.call(T,B)},[t,f,a]),R=e.filterLocale,v=(le=e.filterDelay)!=null?le:0,F=(de=e.filterMode)!=null?de:"lenient",H=Q.useMemo(()=>{var B;return N(N(N({},Vt),Pt()),(B=e.matchers)!=null?B:{})},[e.matchers]),[$,z]=Q.useState(s);Q.useEffect(()=>{if(v<=0)return;let B=setTimeout(()=>z(s),v);return()=>clearTimeout(B)},[s,v]);let U=v>0?$:s,_=Q.useMemo(()=>U.filter(Ht),[U]),O=Q.useCallback(B=>_.every(W=>ft(B,W,H,R)),[_,H,R]),A=!!e.lazy,E=Q.useMemo(()=>A||_.length===0?e.nodes:mt(e.nodes,_,H,R,F==="strict"),[A,e.nodes,_,H,R,F]),V=Q.useRef(e.onLazyLoad);V.current=e.onLazyLoad;let q=Q.useRef(null);Q.useEffect(()=>{var W;if(!A)return;let B=JSON.stringify(U)+"|"+F;q.current!==B&&(q.current=B,(W=V.current)==null||W.call(V,{rules:U,filterMode:F,filterLocale:R}))},[A,U,F,R]);let X=Q.useCallback(B=>M(B),[M]),he=Q.useCallback(()=>{let B=s.map(W=>Array.isArray(W.constraints)?G(N({},W),{constraints:W.constraints.map(ne=>G(N({},ne),{value:null}))}):G(N({},W),{value:null}));M(B)},[s,M]);return{rules:s,filteredNodes:E,isFiltered:_.length>0,setRules:X,value:o,setValue:d,clearAll:he,match:O,matchers:H}}import*as Se from"react";function yr(e,t,r={}){let{target:o,event:a="keydown",when:d=!0}=r,f=Se.useRef(t),k=s=>{let T=s.toLowerCase();return T==="space"||T==="spacebar"?" ":T},x=s=>{let T=s.split("+").map(v=>v.trim().toLowerCase()).filter(Boolean),M,R={ctrl:!1,meta:!1,alt:!1,shift:!1};return T.forEach(v=>{switch(v){case"ctrl":case"control":R.ctrl=!0;break;case"meta":case"cmd":case"command":R.meta=!0;break;case"alt":case"option":R.alt=!0;break;case"shift":R.shift=!0;break;default:M=k(v)}}),{key:M,required:R}},C=(s,T)=>{if(!s.key)return!1;let{required:M}=s;return M.ctrl!==T.ctrlKey||M.meta!==T.metaKey||M.alt!==T.altKey||M.shift!==T.shiftKey?!1:k(T.key)===s.key};Se.useEffect(()=>{f.current=t},[t]),Se.useEffect(()=>{if(!d)return;let s=o!=null?o:typeof document!="undefined"?document:null;if(!s)return;let T=(Array.isArray(e)?e:[e]).map(x),M=R=>{var F;let v=R;T.some(H=>C(H,v))&&((F=f.current)==null||F.call(f,v))};return s.addEventListener(a,M),()=>{s.removeEventListener(a,M)}},[a,e,o,d])}import*as ke from"react";function kr(e){let t=ke.useId(),[r,o]=ke.useState(e||`pr_id_${t.replaceAll(/:|«|»/g,"")}`);return ke.useEffect(()=>{o(e||`pr_id_${t.replaceAll(/:|«|»/g,"")}`)},[e,t]),r}import{isAndroid as gt}from"@primeuix/utils";function Lr(e){let{pattern:t=/./,validateOnly:r=!1}=e,o={pint:/[\d]/,int:/[\d-]/,pnum:/[\d.]/,money:/[\d.\s,]/,num:/[\d-.]/,hex:/[0-9a-f]/i,email:/[a-z0-9_.-@]/i,alpha:/[a-z_]/i,alphanum:/[a-z0-9_]/},a=()=>typeof t=="string"?o[t]:t,d=s=>{r||!gt()||x(s,s.data)},f=s=>{r||gt()||s.ctrlKey||s.altKey||s.metaKey||x(s,s.key)},k=s=>{if(r)return;let T=a();[...s.clipboardData.getData("text")].forEach(R=>{if(!T.test(R))return s.preventDefault(),!1})},x=(s,T)=>{if(T==null||!(T.length<=2))return;a().test(T)||s.preventDefault()};return{onBeforeInput:d,onKeyPress:f,onPaste:k,validate:s=>{let T=s.target.value,M=!0,R=a();return T&&!R.test(T)&&(M=!1),M}}}import*as Te from"react";function Fr({key:e,initialValue:t,serializer:r=JSON.stringify,deserializer:o=JSON.parse}){let[a,d]=Te.useState(t),f=Te.useRef(!1);Te.useLayoutEffect(()=>{try{let x=window.localStorage.getItem(e);x!==null&&d(o(x))}catch(x){}f.current=!0},[e,o]),Te.useEffect(()=>{if(f.current)try{window.localStorage.setItem(e,r(a))}catch(x){}},[e,a,r]);let k=Te.useCallback(()=>{try{window.localStorage.removeItem(e)}catch(x){}d(t)},[e,t]);return[a,d,k]}import{getUserAgent as ze}from"@primeuix/utils";import*as b from"react";var zt={9:/[0-9]/,a:/[A-Za-z]/,A:/[A-Z]/,"*":/[A-Za-z0-9]/};function Or(e){let{mask:t,tokens:r,value:o,defaultValue:a,onValueChange:d,onComplete:f,slotChar:k="_",showMaskOnFocus:x=!1,alwaysShowMask:C=!1,autoClear:s=!0,transform:T,readOnly:M=!1}=e,R=b.useRef(d);R.current=d;let v=b.useRef(f);v.current=f;let F=b.useRef(T);F.current=T;let H=o!==void 0,[$,z]=b.useState(a!=null?a:""),U=H?o!=null?o:"":$,_=b.useCallback(n=>{H||z(n)},[H]),O=b.useRef(null),A=b.useRef(0),E=b.useRef([]),V=b.useRef([]),q=b.useRef(""),X=b.useRef(0),he=b.useRef(!1),re=b.useRef(!1),ie=b.useRef(null),Y=b.useRef(null),le=b.useRef(0),de=b.useRef(null),B=b.useRef(null),W=b.useRef(null),ne=b.useRef(!1),fe=b.useRef(null),J=b.useRef({slotChar:k,showMaskOnFocus:x,alwaysShowMask:C,autoClear:s,readOnly:M,mask:t,userTokens:r});J.current={slotChar:k,showMaskOnFocus:x,alwaysShowMask:C,autoClear:s,readOnly:M,mask:t,userTokens:r};let ee=b.useCallback(n=>{let i=J.current.slotChar;return i==null?"":n<i.length?i.charAt(n):i.charAt(0)},[]),j=b.useCallback((n,i)=>{var D,Z;let m=O.current,c=0,g=0;return m?(typeof n=="number"?(c=n,g=typeof i=="number"?i:c,m.setSelectionRange(c,g)):(c=(D=m.selectionStart)!=null?D:0,g=(Z=m.selectionEnd)!=null?Z:0),{begin:c,end:g}):{begin:c,end:g}},[]),te=b.useCallback(n=>{for(;++n<A.current&&!E.current[n];);return n},[]),xe=b.useCallback(n=>{for(;--n>=0&&!E.current[n];);return n},[]),y=b.useRef(!1),l=b.useCallback((n,i)=>{var g;let m=window.HTMLInputElement.prototype,c=(g=Object.getOwnPropertyDescriptor(m,"value"))==null?void 0:g.set;c?c.call(n,i):n.value=i},[]),S=b.useCallback(n=>{y.current=!0;try{n.dispatchEvent(new Event("input",{bubbles:!0}))}finally{y.current=!1}},[]),h=b.useCallback(()=>{let n=O.current;n&&l(n,V.current.join(""))},[l]),w=b.useCallback((n,i)=>{for(let m=n;m<i&&m<A.current;m++)E.current[m]&&(V.current[m]=ee(m))},[ee]),P=b.useCallback((n,i)=>{var c,g;if(n<0)return;let m=te(i);for(let D=n;D<A.current;D++)if(E.current[D]){if(m<A.current&&((c=E.current[D])!=null&&c.test(V.current[m])))V.current[D]=V.current[m],V.current[m]=ee(m);else break;m=te(m)}h(),j(Math.max((g=Y.current)!=null?g:0,n))},[te,ee,h,j]),me=b.useCallback(n=>{var m;let i=ee(n);for(let c=n;c<A.current;c++)if(E.current[c]){let g=te(c),D=V.current[c];if(V.current[c]=i,g<A.current&&((m=E.current[g])!=null&&m.test(D)))i=D;else break}},[ee,te]),u=b.useCallback((n=!1)=>{var be,we,Fe,tt,rt;let i=O.current;if(!i)return(be=Y.current)!=null?be:0;let m=i.value,c=-1,g,D,Z;for(g=0,Z=0;g<A.current;g++){let nt=E.current[g];if(nt!==null){for(V.current[g]=ee(g);Z++<((we=m==null?void 0:m.length)!=null?we:0);)if(D=(Fe=m==null?void 0:m.charAt(Z-1))!=null?Fe:"",nt.test(D)){V.current[g]=D,c=g;break}if(Z>((tt=m==null?void 0:m.length)!=null?tt:0)){w(g+1,A.current);break}}else V.current[g]===(m==null?void 0:m.charAt(Z))&&Z++,g<X.current&&(c=g)}return n?h():c+1<X.current?J.current.autoClear||V.current.join("")===q.current?(i.value&&l(i,""),w(0,A.current)):h():(h(),l(i,i.value.substring(0,c+1))),X.current?g:(rt=Y.current)!=null?rt:0},[ee,w,h,l]),p=b.useCallback(n=>{let i=[],m=n.split("");for(let c=0;c<m.length;c++){let g=m[c];E.current[c]&&g!==ee(c)&&i.push(g)}return i.join("")},[ee]),L=b.useCallback(n=>{var m;let i=n.split("");for(let c=0;c<=le.current&&c<A.current;c++)if(E.current[c]){let g=i[c];if(!g||!((m=E.current[c])!=null&&m.test(g)))return!1}return!0},[]),I=b.useCallback(n=>{var we,Fe;let i=O.current;if(!i)return;let m=i.value,c=m===q.current,g=c?"":m;if(fe.current===g)return;fe.current=g,(n==null?void 0:n.type)!=="input"&&S(i);let D=c?"":p(m),Z=!c&&L(m),be={originalEvent:n,value:g,rawValue:D,isComplete:Z};_(g),(we=R.current)==null||we.call(R,be),Z&&!ne.current&&((Fe=v.current)==null||Fe.call(v,be)),ne.current=Z,W.current=m},[p,L,_,S]),ge=b.useCallback(n=>{if(J.current.readOnly||n.type==="paste")return;let i=u(!0);j(i),I(n)},[u,j,I]),Ee=b.useCallback(n=>{var g;let i=O.current;if(!i)return;let m=i.value,c=j();if(c){if(B.current&&B.current.length&&B.current.length>m.length){for(u(!0);c.begin>0&&!E.current[c.begin-1];)c.begin--;if(c.begin===0)for(;c.begin<((g=Y.current)!=null?g:0)&&!E.current[c.begin];)c.begin++;j(c.begin,c.begin)}else{for(u(!0);c.begin<A.current&&!E.current[c.begin];)c.begin++;j(c.begin,c.begin)}I(n)}},[j,u,I]),ye=b.useCallback(n=>{O.current&&(y.current||"isComposing"in n&&n.isComposing||(he.current?Ee(n):ge(n)))},[Ee,ge]),Le=b.useCallback(n=>{var be;let i=O.current;if(!i||J.current.readOnly)return;let m=n.code,c,g,D,Z=/iphone/i.test(ze());if(B.current=i.value,m==="Backspace"||m==="Delete"||Z&&m==="Escape"){if(c=j(),!c)return;g=c.begin,D=c.end,D-g===0&&(g=m!=="Delete"?xe(g):D=te(g-1),D=m==="Delete"?te(D):D),w(g,D),P(g,D-1),I(n),n.preventDefault()}else m==="Enter"?(i.blur(),I(n)):m==="Escape"&&(l(i,(be=ie.current)!=null?be:""),j(0,u()),I(n),n.preventDefault())},[j,xe,te,w,P,I,l,u]),$e=b.useCallback(n=>{var g;if(!O.current||J.current.readOnly)return;let m=n.code,c=j();if(c&&!(n.ctrlKey||n.altKey||n.metaKey||n.shiftKey||n.key==="CapsLock"||n.key==="Escape"||n.key==="Tab")){if(m&&m!=="Enter"){c.end-c.begin!==0&&(w(c.begin,c.end),P(c.begin,c.end-1));let D=te(c.begin-1);if(D<A.current){let Z=n.key;if(F.current&&(Z=F.current(Z)),(g=E.current[D])!=null&&g.test(Z)){me(D),V.current[D]=Z,h();let be=te(D);/android/i.test(ze())?setTimeout(()=>j(be),0):j(be)}}n.preventDefault()}I(n)}},[j,w,P,te,me,h,I]),je=b.useCallback(n=>{let i=O.current;if(!i||J.current.readOnly)return;de.current&&clearTimeout(de.current),re.current=!0,ie.current=i.value;let m=J.current.showMaskOnFocus||J.current.alwaysShowMask;if(!i.value||i.value===q.current)m&&l(i,q.current),requestAnimationFrame(()=>{var c,g;i===document.activeElement&&j((c=Y.current)!=null?c:0,(g=Y.current)!=null?g:0)});else{let c=u();de.current=setTimeout(()=>{var g;i===document.activeElement&&(h(),c===((g=J.current.mask)==null?void 0:g.replace("?","").length)?j(0,c):j(c))},10)}},[j,u,h,l]),Ge=b.useCallback(n=>{let i=O.current;i&&(re.current=!1,u(),!J.current.alwaysShowMask&&i.value===q.current&&l(i,""),I(n),i.value!==ie.current&&i.dispatchEvent(new Event("change",{bubbles:!0,cancelable:!1})))},[u,I,l]),qe=b.useCallback(n=>{!O.current||J.current.readOnly||setTimeout(()=>{let m=u(!0);j(m),I(n)},0)},[u,j,I]),We=b.useCallback(()=>{E.current=[],X.current=t?t.length:0,A.current=t?t.length:0,Y.current=null,le.current=0;let n=N(N({},zt),r),i=ze();he.current=/chrome/i.test(i)&&/android/i.test(i);let m=t?t.split(""):[];for(let g=0;g<m.length;g++){let D=m[g];D==="?"?(A.current--,X.current=g):n[D]?(E.current.push(n[D]),Y.current===null&&(Y.current=E.current.length-1),g<X.current&&(le.current=E.current.length-1)):E.current.push(null)}V.current=[];for(let g=0;g<m.length;g++){let D=m[g];D!=="?"&&(n[D]?V.current.push(ee(g)):V.current.push(D))}q.current=V.current.join("");let c=O.current;c&&!c.value&&J.current.alwaysShowMask&&l(c,q.current)},[t,r,ee,l]);b.useEffect(()=>{We()},[We]),b.useEffect(()=>{let n=O.current;n&&o!==void 0&&o!==W.current&&(re.current||(l(n,o),u(),W.current=n.value))},[o,l,u]);let Je=b.useRef(ye);Je.current=ye;let Qe=b.useRef(Le);Qe.current=Le;let Ze=b.useRef($e);Ze.current=$e;let Ye=b.useRef(je);Ye.current=je;let Xe=b.useRef(Ge);Xe.current=Ge;let et=b.useRef(qe);et.current=qe;let ae=b.useMemo(()=>({input:n=>Je.current(n),keydown:n=>Qe.current(n),keypress:n=>Ze.current(n),focus:n=>Ye.current(n),blur:n=>Xe.current(n),paste:n=>et.current(n)}),[]),Tt=b.useCallback(n=>{let i=O.current;i&&i!==n&&(i.removeEventListener("input",ae.input),i.removeEventListener("keydown",ae.keydown),i.removeEventListener("keypress",ae.keypress),i.removeEventListener("focus",ae.focus),i.removeEventListener("blur",ae.blur),i.removeEventListener("paste",ae.paste)),O.current=n,n&&n!==i&&(n.addEventListener("input",ae.input),n.addEventListener("keydown",ae.keydown),n.addEventListener("keypress",ae.keypress),n.addEventListener("focus",ae.focus),n.addEventListener("blur",ae.blur),n.addEventListener("paste",ae.paste),o?(l(n,o),u()):a&&!n.value?(l(n,a),u()):J.current.alwaysShowMask&&!n.value&&l(n,q.current))},[ae]),Mt=b.useMemo(()=>U?p(U):"",[U,p]),vt=b.useMemo(()=>U?L(U):!1,[U,L]),xt=b.useCallback(n=>{let i=O.current;i&&(l(i,n!=null?n:""),u(!0),I(null))},[l,u,I]),yt=b.useCallback(()=>{let n=O.current;n&&(l(n,""),w(0,A.current),J.current.alwaysShowMask&&l(n,q.current),W.current=n.value,ne.current=!1,I(null))},[l,w,I]);return{ref:Tt,value:U,rawValue:Mt,isComplete:vt,setValue:xt,reset:yt}}import*as Ie from"react";function Rt(e,t=!0){let[r,o]=Ie.useState(!1),a=Ie.useRef(null),d=x=>o(x.matches),f=()=>{var x;return(x=a.current)==null?void 0:x.addEventListener("change",d)},k=()=>{var x;return((x=a.current)==null?void 0:x.removeEventListener("change",d))&&(a.current=null)};return Ie.useEffect(()=>(t&&(a.current=window.matchMedia(e),o(a.current.matches),f()),()=>{k()}),[e,t]),r}var $t=768;function Pr(e=$t){return Rt(`(max-width: ${e-1}px)`)}import*as Ue from"react";function Hr(e){let t=Ue.useRef(!1);Ue.useEffect(()=>{t.current||(t.current=!0,e==null||e())},[])}import*as Ae from"react";function Br(e={}){let[t,r]=Ae.useState(!1);return Ae.useEffect(()=>{var o;return r(!0),(o=e.onMounted)==null||o.call(e),()=>{var a;(a=e.onUnmounted)==null||a.call(e)}},[]),t}import*as ue from"react";function $r(e={}){let{value:t,locale:r,localeMatcher:o,mode:a="decimal",currency:d,currencyDisplay:f,useGrouping:k=!0,minFractionDigits:x,maxFractionDigits:C,roundingMode:s,prefix:T,suffix:M,min:R,format:v=!0}=e,F=ue.useRef(null),H=ue.useRef(null),$=ue.useRef(null),z=ue.useRef(null),U=ue.useRef(null),_=ue.useRef(null),O=ue.useRef(null),A=ue.useRef(null),E=ue.useRef(null),V=ue.useRef(null),q=ue.useRef(null),X=ue.useRef(null),he=()=>({localeMatcher:o,style:a,currency:d,currencyDisplay:f,useGrouping:k,minimumFractionDigits:x!=null?x:void 0,maximumFractionDigits:C!=null?C:void 0,roundingMode:s}),re=u=>u.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),ie=()=>{var p,L;let u=new Intl.NumberFormat(r,G(N({},he()),{useGrouping:!1}));return new RegExp(`[${u.format(1.1).replace((p=A.current)!=null?p:"","").trim().replace((L=U.current)!=null?L:"","")}]`,"g")},Y=()=>{var p;let u=new Intl.NumberFormat(r,{useGrouping:!0});return H.current=u.format(1e6).trim().replace((p=U.current)!=null?p:"","").charAt(0),new RegExp(`[${H.current}]`,"g")},le=()=>{var p;let u=new Intl.NumberFormat(r,{useGrouping:!1});return new RegExp(`[${u.format(-1).trim().replace((p=U.current)!=null?p:"","")}]`,"g")},de=()=>{var u,p;if(d){let L=new Intl.NumberFormat(r,{style:"currency",currency:d,currencyDisplay:f,minimumFractionDigits:0,maximumFractionDigits:0,roundingMode:s});return new RegExp(`[${L.format(1).replace(/\s/g,"").replace((u=U.current)!=null?u:"","").replace((p=_.current)!=null?p:"","")}]`,"g")}return new RegExp("[]","g")},B=()=>{if(T)q.current=new RegExp(re(T),"g");else{let p=new Intl.NumberFormat(r,{style:a,currency:d,currencyDisplay:f}).format(1).split("1")[0];q.current=new RegExp(re(p),"g")}return q.current},W=()=>{if(M)V.current=new RegExp(re(M),"g");else{let p=new Intl.NumberFormat(r,{style:a,currency:d,currencyDisplay:f,minimumFractionDigits:0,maximumFractionDigits:0,roundingMode:s}).format(1).split("1")[1];V.current=new RegExp(re(p),"g")}return V.current},ne=()=>{F.current=new Intl.NumberFormat(r,he());let u=[...new Intl.NumberFormat(r,{useGrouping:!1}).format(9876543210)].reverse(),p=new Map(u.map((L,I)=>[L,I]));if(U.current=new RegExp(`[${u.join("")}]`,"g"),_.current=Y(),O.current=le(),A.current=de(),E.current=ie(),V.current=W(),q.current=B(),X.current=L=>p.get(L),T)$.current=T;else{let L=new Intl.NumberFormat(r,{style:a,currency:d,currencyDisplay:f});$.current=L.format(1).split("1")[0]}if(M)z.current=M;else{let L=new Intl.NumberFormat(r,{style:a,currency:d,currencyDisplay:f,minimumFractionDigits:0,maximumFractionDigits:0,roundingMode:s});z.current=L.format(1).split("1")[1]}},fe=u=>{if(u!=null){if(typeof u=="string"&&u==="-")return u;if(v){let p=new Intl.NumberFormat(r,he()),L=typeof u=="string"?Number(u):u,I=p.format(L);return T&&(I=T+I),M&&(I=I+M),I}return u.toString()}return""},J=u=>{var L;let p=u.replace(V.current||"","").replace(q.current||"","").trim().replace(/\s/g,"").replace(A.current||"","");if(E.current&&O.current&&U.current){let I=new RegExp(`[${[...new Intl.NumberFormat(r,{useGrouping:!1}).format(9876543210)].reverse().join("")}${new Intl.NumberFormat(r).format(1.1).replace(/[0-9]/g,"")}${new Intl.NumberFormat(r).format(-1).replace(/[0-9]/g,"")}]`,"g");p=((L=p.match(I))==null?void 0:L.join(""))||""}if(_.current&&(p=p.replace(_.current,"")),O.current&&(p=p.replace(O.current,"-")),E.current&&(p=p.replace(E.current,".")),U.current&&X.current&&(p=p.replace(U.current,I=>{let ge=X.current?X.current(I):void 0;return ge!==void 0?ge.toString():""})),p){if(p==="-")return p;let I=+p;return isNaN(I)?null:I}return null},ee=(u,p)=>{let L=u.toString(),I=p.toString(),ge=L.includes(".")?L.split(".")[1].length:0,Ee=I.includes(".")?I.split(".")[1].length:0,ye=Math.max(ge,Ee),Le=Math.pow(10,ye);return Math.round((u+p)*Le)/Le},j=()=>a==="decimal",te=()=>{U.current&&(U.current.lastIndex=0),E.current&&(E.current.lastIndex=0),_.current&&(_.current.lastIndex=0),O.current&&(O.current.lastIndex=0)},xe=u=>u.length===1&&(U.current&&U.current.test(u)||E.current&&E.current.test(u)||_.current&&_.current.test(u)||O.current&&O.current.test(u))?(te(),!0):!1,y=u=>O.current&&O.current.test(u)||u==="-"?(O.current&&(O.current.lastIndex=0),!0):!1,l=u=>r!=null&&r.includes("fr")&&[".",","].includes(u)||E.current&&E.current.test(u)?(E.current&&(E.current.lastIndex=0),!0):!1,S=()=>R==null||R<0,h=u=>{let p=E.current?u.search(E.current):-1;E.current&&(E.current.lastIndex=0);let L=u.replace(q.current||"","").trim().replace(/\s/g,"").replace(A.current||"",""),I=E.current?L.search(E.current):-1;return E.current&&(E.current.lastIndex=0),{decimalCharIndex:p,decimalCharIndexWithoutPrefix:I}},w=u=>{let p=ye=>{ye&&(ye.lastIndex=0)},L=E.current?u.search(E.current):-1;p(E.current);let I=O.current?u.search(O.current):-1;p(O.current);let ge=V.current?u.search(V.current):-1;p(V.current);let Ee=A.current?u.search(A.current):-1;return p(A.current),{decimalCharIndex:L,minusCharIndex:I,suffixCharIndex:ge,currencyCharIndex:Ee}},P=u=>{var p,L,I;if(u){let ge=u.split((p=E.current)!=null?p:"");if(ge.length===2)return ge[1].replace((L=V.current)!=null?L:"","").trim().replace(/\s/g,"").replace((I=A.current)!=null?I:"","").length}return 0},me=(u,p)=>{if(u&&p){let L=E.current,I=L?p.search(L):-1;if(L&&(L.lastIndex=0),z.current)return I!==-1?u.replace(z.current,"").split(L!=null?L:"")[0]+p.replace(z.current,"").slice(I)+z.current:u;if($.current)return I!==-1?u.split(L!=null?L:"")[0]+p.slice(I):u}return u};return ue.useEffect(()=>{ne()},[r,o,a,d,f,k,x,C,s,T,M]),{formattedValue:fe(t),formatValue:fe,parseValue:J,addWithPrecision:ee,isDecimalMode:j,isNumeralChar:xe,isMinusSign:y,isDecimalSign:l,allowMinusSign:S,getDecimalCharIndexes:h,getCharIndexes:w,getDecimalLength:P,concatValues:me,groupChar:H.current,prefixChar:$.current,suffixChar:z.current,resolvedOptions:()=>{var u;return(u=F.current)==null?void 0:u.resolvedOptions()},constructParser:ne}}import*as ce from"react";function qr(e,t=500){let[r,o]=ce.useState(e),[a,d]=ce.useState(!1),[f,k]=ce.useState(!1),x=ce.useRef(null),C=ce.useRef(null),s=ce.useRef(null),T=ce.useCallback(M=>{x.current=M},[]);return ce.useEffect(()=>{if(C.current&&(C.current(),C.current=null),s.current&&(s.current(),s.current=null),e){o(!0),d(!1);let M=[];M.push(requestAnimationFrame(()=>{M.push(requestAnimationFrame(()=>{M.push(requestAnimationFrame(()=>k(!0)))}))})),s.current=()=>{M.forEach(R=>cancelAnimationFrame(R)),M.length=0}}else if(x.current){d(!0),k(!1);let M=x.current,R=!1,v=()=>{R||(R=!0,o(!1),d(!1),M.removeEventListener("transitionend",v),M.removeEventListener("animationend",v),C.current=null)};M.addEventListener("transitionend",v,{passive:!0}),M.addEventListener("animationend",v,{passive:!0}),C.current=()=>{R||(M.removeEventListener("transitionend",v),M.removeEventListener("animationend",v))}}else k(!1),o(!1),d(!1)},[e,t]),ce.useEffect(()=>()=>{C.current&&C.current(),s.current&&s.current()},[]),{present:r,exiting:a,mounted:f,ref:T}}import*as Ve from"react";function pt(e,t){if(e===t)return!0;let r=Object.keys(e),o=Object.keys(t);if(r.length!==o.length)return!1;for(let a=0;a<r.length;a++){let d=r[a];if(e[d]!==t[d])return!1}return!0}function Jr(e={},t={}){let r=Ve.useRef(null);return Ve.useMemo(()=>{let o=N({},e),a={};Object.entries(t).forEach(([k,x])=>{k in e?o[k]=x:a[k]=x});let d=r.current;if(d&&pt(d.props,o)&&pt(d.attrs,a))return d;let f={props:o,attrs:a};return r.current=f,f},[e,t])}import*as Ce from"react";var Yr=()=>{let e=Ce.useRef(new Map),t=Ce.useRef(!1),r=Ce.useCallback(()=>{t.current=!1;let o=e.current;e.current=new Map,o.forEach(a=>a())},[]);return Ce.useCallback((o,a)=>{e.current.set(o,a),t.current||(t.current=!0,queueMicrotask(r))},[r])};import{getWindowScrollTop as jt}from"@primeuix/utils";import*as Pe from"react";function tn(e){let{target:t=typeof window!="undefined"?window:null,threshold:r=400,behavior:o="smooth"}=e||{},[a,d]=Pe.useState(!1),f=()=>{t==null||t.scroll({top:0,behavior:o})};return Pe.useEffect(()=>{if(!t)return;let k=C=>{C>r?d(!0):d(!1)},x=()=>{let C=t===window?jt():t.scrollTop;k(C)};return t.addEventListener("scroll",x),()=>{t.removeEventListener("scroll",x)}},[t,r]),{visible:a,scrollToTop:f}}import*as bt from"react";function nn(e){bt.useEffect(()=>()=>{e==null||e()},[])}import*as Ke from"react";function un(e,t){let r=Ke.useRef(!1);Ke.useEffect(()=>{if(!r.current){r.current=!0;return}return e==null?void 0:e()},t)}import*as ht from"react";function on(){return ht.useCallback(t=>{document.startViewTransition?document.startViewTransition(()=>{t()}):t()},[])}import*as He from"react";function ln(){let[e,t]=He.useState(!0);return He.useEffect(()=>{let r=()=>{t(!document.hidden)};return r(),document.addEventListener("visibilitychange",r),()=>{document.removeEventListener("visibilitychange",r)}},[]),e}export{ct as BUILT_IN_MATCHERS,it as getGlobalMatchers,Nt as matchRule,Ut as ruleHasValue,qt as useAttrSelector,Xt as useControlledState,sr as useEventListener,fr as useFilter,yr as useHotKey,kr as useId,Pr as useIsMobile,Lr as useKeyFilter,Fr as useLocalStorage,Or as useMask,Rt as useMatchMedia,Hr as useMountEffect,Br as useMounted,$r as useNumberFormatter,qr as usePresence,_e as usePrevious,Jr as useProps,Yr as useQueueTask,tn as useScrollTop,Jt as useSortableList,Mr as useTreeFilter,nn as useUnmountEffect,un as useUpdateEffect,on as useViewTransition,ln as useVisibilityChange};
2
2
  //# sourceMappingURL=index.mjs.map