neatkit 0.9.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/Boundary.cjs +1 -1
  2. package/dist/Boundary.js +191 -120
  3. package/dist/{Button-DU4j_IED.cjs → Button-DtrX4X-s.cjs} +1 -1
  4. package/dist/{Button-BV5OUXpc.js → Button-LmEHdRkW.js} +2 -2
  5. package/dist/Button.cjs +1 -1
  6. package/dist/Button.js +1 -1
  7. package/dist/Checkbox.cjs +1 -1
  8. package/dist/Checkbox.js +112 -111
  9. package/dist/Field.cjs +1 -1
  10. package/dist/Field.js +57 -62
  11. package/dist/Icon-CMSHMSDJ.cjs +1 -0
  12. package/dist/{Icon-CxK1wlGk.js → Icon-NT3kRJYz.js} +275 -94
  13. package/dist/Icon.cjs +1 -1
  14. package/dist/Icon.js +1 -1
  15. package/dist/Input.cjs +1 -1
  16. package/dist/Input.js +53 -52
  17. package/dist/Markdown.cjs +1 -1
  18. package/dist/Markdown.js +1 -1
  19. package/dist/Modal.cjs +1 -1
  20. package/dist/Modal.js +58 -57
  21. package/dist/PinInput.cjs +1 -1
  22. package/dist/PinInput.js +89 -88
  23. package/dist/Popover.cjs +1 -1
  24. package/dist/Popover.js +117 -119
  25. package/dist/Progress.cjs +1 -0
  26. package/dist/Progress.js +40 -0
  27. package/dist/Radio.cjs +1 -1
  28. package/dist/Radio.js +48 -47
  29. package/dist/Select.cjs +1 -1
  30. package/dist/Select.js +364 -359
  31. package/dist/Sidebar.cjs +1 -1
  32. package/dist/Sidebar.js +381 -332
  33. package/dist/Spinner-BE0F4y2S.cjs +1 -0
  34. package/dist/Spinner-CmxlDlOk.js +23 -0
  35. package/dist/Spinner.cjs +1 -1
  36. package/dist/Spinner.js +1 -1
  37. package/dist/Switch.cjs +1 -1
  38. package/dist/Switch.js +1 -1
  39. package/dist/{Table-qetwZpTC.cjs → Table-Bjw9lUKS.cjs} +1 -1
  40. package/dist/{Table-CADupJEU.js → Table-GeoE4h-u.js} +2 -2
  41. package/dist/Table.cjs +1 -1
  42. package/dist/Table.js +1 -1
  43. package/dist/TextArea.cjs +1 -1
  44. package/dist/TextArea.js +1 -1
  45. package/dist/Tooltip-CpyROf6x.js +225 -0
  46. package/dist/Tooltip-DDPh_YFO.cjs +1 -0
  47. package/dist/Tooltip.cjs +1 -1
  48. package/dist/Tooltip.js +1 -1
  49. package/dist/aria-Bv-xVREf.js +17 -0
  50. package/dist/aria-DM-xYEHQ.cjs +1 -0
  51. package/dist/components/Boundary/hooks/useDocumentBackground.d.ts +28 -0
  52. package/dist/components/Icon/icons/AppleIcon.d.ts +11 -0
  53. package/dist/components/Icon/icons/BingIcon.d.ts +11 -0
  54. package/dist/components/Icon/icons/FacebookIcon.d.ts +11 -0
  55. package/dist/components/Icon/icons/GoogleIcon.d.ts +11 -0
  56. package/dist/components/Icon/icons/InstagramIcon.d.ts +11 -0
  57. package/dist/components/Icon/icons/MicrosoftIcon.d.ts +11 -0
  58. package/dist/components/Icon/icons/TwitterIcon.d.ts +11 -0
  59. package/dist/components/Icon/utils/registry.d.ts +7 -0
  60. package/dist/components/PinInput/PinInput.d.ts +1 -1
  61. package/dist/components/Portal/hooks/useAnchoredPosition.d.ts +59 -0
  62. package/dist/components/Progress/Progress.d.ts +38 -0
  63. package/dist/components/Progress/index.d.ts +2 -0
  64. package/dist/components/Progress/utils/value.d.ts +25 -0
  65. package/dist/components/Radio/Radio.d.ts +1 -1
  66. package/dist/components/Select/Select.d.ts +6 -74
  67. package/dist/components/Select/components/CustomSelect.d.ts +59 -0
  68. package/dist/components/Select/components/NativeSelect.d.ts +26 -0
  69. package/dist/components/Select/components/SelectListbox.d.ts +50 -0
  70. package/dist/components/Select/hooks/useSelectFormReset.d.ts +27 -0
  71. package/dist/components/Select/hooks/useSelectPosition.d.ts +12 -0
  72. package/dist/components/Select/hooks/useTypeahead.d.ts +14 -0
  73. package/dist/components/Select/utils/options.d.ts +38 -0
  74. package/dist/components/Sidebar/Sidebar.d.ts +30 -24
  75. package/dist/components/Sidebar/components/SidebarFallbackTrigger.d.ts +32 -0
  76. package/dist/components/Sidebar/components/SidebarOverlay.d.ts +3 -4
  77. package/dist/components/Sidebar/components/SidebarPanel.d.ts +3 -3
  78. package/dist/components/Sidebar/components/SidebarTrigger.d.ts +4 -0
  79. package/dist/effects-D98vUn6N.cjs +1 -0
  80. package/dist/effects-DGbA6Q2O.js +18 -0
  81. package/dist/style.css +1 -1
  82. package/dist/useAnchoredPosition-C0VS7hm6.js +105 -0
  83. package/dist/useAnchoredPosition-D7GRFzoX.cjs +1 -0
  84. package/dist/useFloatingPosition-DQgw-w_Z.cjs +1 -0
  85. package/dist/useFloatingPosition-MGoyautY.js +57 -0
  86. package/dist/useFocusTrap-BxPazAL6.js +136 -0
  87. package/dist/useFocusTrap-CrMcAu8s.cjs +1 -0
  88. package/dist/{usePresence-CqegYqy4.js → usePresence-BTRY1_l-.js} +47 -56
  89. package/dist/usePresence-Dm0mls5p.cjs +1 -0
  90. package/dist/utils/aria.d.ts +4 -5
  91. package/dist/utils/trigger.d.ts +46 -0
  92. package/package.json +6 -1
  93. package/dist/Icon-BIBzgznI.cjs +0 -1
  94. package/dist/Spinner-BXgw60UC.cjs +0 -1
  95. package/dist/Spinner-CVYvk6YK.js +0 -25
  96. package/dist/Tooltip-B2d5ss7S.cjs +0 -1
  97. package/dist/Tooltip-BK64rkxV.js +0 -231
  98. package/dist/aria-Bntn6ad_.cjs +0 -1
  99. package/dist/aria-CeA9QfD1.js +0 -15
  100. package/dist/effects-D5CWf-Pl.js +0 -8
  101. package/dist/effects-D85L_7zM.cjs +0 -1
  102. package/dist/floating-position-DIjh2wnP.cjs +0 -1
  103. package/dist/floating-position-DvR6e334.js +0 -50
  104. package/dist/useFloatingPosition-B3ZC-v3v.js +0 -43
  105. package/dist/useFloatingPosition-GzkP9dCc.cjs +0 -1
  106. package/dist/useFocusTrap-BrFZdMqQ.cjs +0 -1
  107. package/dist/useFocusTrap-DhVnlboe.js +0 -136
  108. package/dist/usePresence-B5RYv4e1.cjs +0 -1
package/dist/Select.cjs CHANGED
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),a=require("react"),J=require("./aria-Bntn6ad_.cjs"),$=require("./Icon-BIBzgznI.cjs"),O=require("./usePresence-B5RYv4e1.cjs"),ke=require("./floating-position-DIjh2wnP.cjs"),q=8,B=4,ge=160,Ee=72;function _e(n,t,s){const i=s.bottom-n.bottom-B-q,h=n.top-s.top-B-q,d=i<ge&&h>i,c=Math.max(Ee,d?h:i),m=Math.max(n.width,(t==null?void 0:t.width)??n.width),u=s.left+q,w=Math.min(Math.max(u,n.left),Math.max(u,s.right-q-m)),r=d?Math.max(s.top+q,n.top-B-Math.min((t==null?void 0:t.height)??c,c)):n.bottom+B;return{left:w,maxHeight:c,minWidth:n.width,top:r}}function se(n,t,s){if(n.length===0)return-1;for(let i=1;i<=n.length;i+=1){const h=(t+s*i+n.length)%n.length;if(!n[h].disabled)return h}return-1}function De(n,t,s){for(let i=1;i<=n.length;i+=1){const h=(s+i+n.length)%n.length,d=n[h];if(!d.disabled&&d.label.toLocaleLowerCase().startsWith(t))return h}return-1}function Se(n){const t=new Set;n.forEach(s=>{if(t.has(s.value))throw new Error("Select option values must be unique");t.add(s.value)})}function Re(n,t,s){t.current=n,typeof s=="function"?s(n):s&&(s.current=n)}function je(n){const{"aria-invalid":t,children:s,className:i,defaultValue:h,disabled:d=!1,forwardedReference:c,invalid:m=!1,placeholder:u,style:w,value:r,...k}=n,b=J.resolveAriaInvalid(m,t),x=m||J.hasInvalidState(t);return o.jsxs("span",{className:["nk-select",i].filter(Boolean).join(" "),"data-disabled":d||void 0,"data-invalid":x||void 0,"data-mode":"native",style:w,children:[o.jsxs("select",{...k,ref:c,"aria-invalid":b,className:"nk-select__control",defaultValue:r===void 0?h??(u!==void 0?"":void 0):void 0,disabled:d,value:r,children:[u!==void 0?o.jsx("option",{disabled:!0,value:"",children:u}):null,s]}),o.jsx($.Icon,{className:"nk-select__icon",type:"chevron-down"})]})}function Oe(n,t,s,i){const[h,d]=a.useState(null);return a.useEffect(()=>{if(!n||!t||!i){d(null);return}const c=t.ownerDocument.defaultView;if(!c)return;const m=c;function u(){const k=t==null?void 0:t.getBoundingClientRect(),b=i==null?void 0:i.getBoundingClientRect();if(!k||!b||!i)return;const x=_e(k,s==null?void 0:s.getBoundingClientRect(),ke.getVisibleBounds(b,m.innerWidth,m.innerHeight));d({...x,left:x.left-b.left-i.clientLeft+i.scrollLeft,top:x.top-b.top-i.clientTop+i.scrollTop})}u(),m.addEventListener("scroll",u,!0),m.addEventListener("resize",u);const w=m.ResizeObserver,r=w?new w(u):null;return r==null||r.observe(t),r==null||r.observe(i),s&&(r==null||r.observe(s)),()=>{m.removeEventListener("scroll",u,!0),m.removeEventListener("resize",u),r==null||r.disconnect()}},[n,i,s,t]),h}function Le(n){const{active:t,closeOnEscape:s,closeOnOutsideInteraction:i,highlightedIndex:h,id:d,listboxReference:c,onEscapeDismiss:m,onEscapeKeyDown:u,onHighlight:w,onOutsideDismiss:r,onPointerDownOutside:k,onSelect:b,options:x,ownerDocument:M,position:D,selectedValue:S,state:L,triggerReference:G}=n,v=a.useRef(null),K=O.useBoundary("Select").boundaryElement,R=O.useOverlayLayer(!0,K),U=a.useMemo(()=>[G,v],[G]),X=a.useCallback(f=>{v.current=f,c(f)},[c]);return O.useDismissableLayer({active:t,boundaries:U,boundary:K,dismissOnEscape:s,dismissOnPointerDownOutside:i,layerId:R.id,onEscapeDismiss:m,onEscapeKeyDown:u,onPointerDownOutside:k,onPointerDownOutsideDismiss:r,ownerDocument:M}),o.jsx("div",{"aria-hidden":t?void 0:!0,"aria-labelledby":d,className:"nk-select__listbox","data-state":L,id:`${d}-listbox`,ref:X,role:"listbox",style:D?{left:D.left,maxHeight:D.maxHeight,minWidth:D.minWidth,top:D.top,zIndex:R.zIndex}:{visibility:"hidden",zIndex:R.zIndex},children:x.map((f,H)=>o.jsxs("div",{"aria-disabled":f.disabled||void 0,"aria-selected":f.value===S,className:"nk-select__option","data-highlighted":H===h||void 0,"data-selected":f.value===S||void 0,id:`${d}-option-${H}`,onPointerDown:Z=>{Z.preventDefault(),f.disabled||b(f)},onPointerMove:()=>{f.disabled||w(H)},role:"option",children:[f.icon?o.jsx($.Icon,{type:f.icon}):null,o.jsx("span",{className:"nk-select__option-label",children:f.label}),f.value===S?o.jsx($.Icon,{className:"nk-select__check",type:"checkmark"}):null]},f.value))})}function Pe(n){var oe;const{"aria-invalid":t,className:s,closeOnEscape:i=!0,closeOnOutsideInteraction:h=!0,defaultValue:d="",disabled:c=!1,displayOverride:m,form:u,forwardedReference:w,id:r,invalid:k=!1,name:b,onChange:x,onClick:M,onEscapeKeyDown:D,onKeyDown:S,onOpenChange:L,onPointerDownOutside:G,options:v,placeholder:K,required:R=!1,style:U,value:X,width:f,...H}=n;Se(v);const Z=a.useId(),P=r??Z,g=a.useRef(null),le=a.useRef(null),C=a.useRef(null),F=a.useRef(""),[A,ce]=a.useState(null),[p,re]=a.useState(!1),[E,V]=a.useState(-1),[de,ie]=a.useState(d),N=X!==void 0,j=N?X:de,ue=v.find(e=>e.value===j),fe=k||J.hasInvalidState(t),he=J.resolveAriaInvalid(k,t),ee=O.usePresence(p),W=((oe=g.current)==null?void 0:oe.ownerDocument)??(typeof document>"u"?null:document),me=O.useBoundary("Select").boundaryElement,ve=Oe(ee.present,g.current,A,me),pe=f===void 0?U:{...U,width:f},Q=m??ue,Ie=a.useCallback(e=>{Re(e,g,w)},[w]),I=a.useCallback(e=>{p!==e&&(re(e),L==null||L(e))},[L,p]),z=a.useCallback((e=1)=>{const l=v.findIndex(_=>_.value===j&&!_.disabled),y=e===1?-1:v.length;V(l>=0?l:se(v,y,e)),I(!0)},[v,j,I]),ae=a.useCallback(e=>{var l;c||e.disabled||(N||ie(e.value),I(!1),(l=g.current)==null||l.focus(),x==null||x(e.value))},[c,N,x,I]),xe=a.useCallback(()=>{var e;I(!1),(e=g.current)==null||e.focus()},[I]),ye=a.useCallback(()=>{I(!1)},[I]);function we(e){M==null||M(e),!(e.defaultPrevented||c)&&(p?I(!1):z())}function be(e){if(S==null||S(e),!(e.defaultPrevented||c)){if(e.key==="ArrowDown"||e.key==="ArrowUp"){e.preventDefault();const l=e.key==="ArrowDown"?1:-1;p?V(y=>se(v,y,l)):z(l);return}if(e.key==="Home"||e.key==="End"){if(e.preventDefault(),!p)z(e.key==="Home"?1:-1);else{const l=e.key==="Home"?1:-1,y=l===1?-1:v.length;V(se(v,y,l))}return}if(e.key==="Enter"||e.key===" "){e.preventDefault();const l=v[E];p&&l?ae(l):p||z();return}if(e.key==="Tab"){I(!1);return}if(e.key.length===1&&!e.altKey&&!e.ctrlKey&&!e.metaKey){const l=e.currentTarget.ownerDocument.defaultView;if(!l)return;const y=e.key.toLocaleLowerCase(),_=F.current+y,te=Array.from(_).every(ne=>ne===y);F.current=te?y:_,C.current!==null&&l.clearTimeout(C.current),C.current=l.setTimeout(()=>{F.current="",C.current=null},500);const T=De(v,F.current,E);T>=0&&(e.preventDefault(),p||I(!0),V(T))}}}return a.useEffect(()=>{c&&I(!1)},[c,I]),a.useEffect(()=>{var e;if(p&&E>=0){const l=W==null?void 0:W.getElementById(`${P}-option-${E}`);l&&(A!=null&&A.contains(l))&&((e=l.scrollIntoView)==null||e.call(l,{block:"nearest"}))}},[E,P,A,p]),a.useEffect(()=>{var y;const e=(y=g.current)==null?void 0:y.form;if(!e)return;function l(){const _=le.current,te=N?j:d;if(_){const T=Array.from(_.options),ne=T.find(Y=>Y.value===te)??T[0];T.forEach(Y=>{Y.defaultSelected=Y===ne})}N||ie(d),I(!1)}return e.addEventListener("reset",l),()=>e.removeEventListener("reset",l)},[d,u,N,j,I]),a.useEffect(()=>()=>{var l;const e=(l=g.current)==null?void 0:l.ownerDocument.defaultView;e&&C.current!==null&&e.clearTimeout(C.current)},[]),o.jsxs("span",{className:["nk-select",s].filter(Boolean).join(" "),"data-disabled":c||void 0,"data-invalid":fe||void 0,"data-mode":"custom","data-open":p||void 0,style:pe,children:[o.jsxs("button",{...H,ref:Ie,"aria-activedescendant":p&&E>=0?`${P}-option-${E}`:void 0,"aria-controls":`${P}-listbox`,"aria-expanded":p,"aria-haspopup":"listbox","aria-invalid":he,"aria-required":R||void 0,"aria-autocomplete":"none",className:"nk-select__trigger",disabled:c,form:u,id:P,onClick:we,onKeyDown:be,role:"combobox",type:"button",children:[Q?o.jsxs("span",{className:"nk-select__value",children:[Q.icon?o.jsx($.Icon,{type:Q.icon}):null,o.jsx("span",{className:"nk-select__value-label",children:Q.label})]}):o.jsx("span",{className:"nk-select__placeholder",children:K}),o.jsx($.Icon,{className:"nk-select__icon",type:"chevron-down"})]}),b||R?o.jsxs("select",{ref:le,"aria-hidden":"true",className:"nk-select__form-control",disabled:c,form:u,name:b,onChange:()=>{},onInvalid:e=>{var l;e.preventDefault(),(l=g.current)==null||l.focus()},required:R,tabIndex:-1,value:j,children:[o.jsx("option",{value:""}),v.map(e=>o.jsx("option",{disabled:e.disabled,value:e.value,children:e.label},e.value))]}):null,ee.present&&W?o.jsx(O.Portal,{children:o.jsx(Le,{active:p,closeOnEscape:i,closeOnOutsideInteraction:h,highlightedIndex:E,id:P,listboxReference:ce,onEscapeDismiss:xe,onEscapeKeyDown:D,onHighlight:V,onOutsideDismiss:ye,onPointerDownOutside:G,onSelect:ae,options:v,ownerDocument:W,position:ve,selectedValue:j,state:ee.state==="closing"?"closing":"open",triggerReference:g})}):null]})}const Ce=a.forwardRef(function(t,s){const{options:i}=t;return O.useBoundary("Select"),i!==void 0?o.jsx(Pe,{...t,forwardedReference:s}):o.jsx(je,{...t,forwardedReference:s})});exports.default=Ce;
1
+ "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("react/jsx-runtime"),r=require("react"),J=require("./effects-D98vUn6N.cjs"),z=require("./aria-DM-xYEHQ.cjs"),xe=require("./reference-C2guRuR0.cjs"),H=require("./Icon-CMSHMSDJ.cjs"),U=require("./usePresence-Dm0mls5p.cjs"),Ie=require("./useAnchoredPosition-D7GRFzoX.cjs");function ge(t){const{form:n,onReset:s,resetValue:a,triggerReference:o}=t,l=r.useRef(null);return r.useEffect(()=>{var u;const i=(u=o.current)==null?void 0:u.form;if(!i)return;function h(){const b=l.current;if(b){const y=Array.from(b.options),g=y.find(x=>x.value===a)??y[0];y.forEach(x=>{x.defaultSelected=x===g})}s()}return i.addEventListener("reset",h),()=>i.removeEventListener("reset",h)},[n,s,a,o]),l}const M=8,F=4,ke=160,we=72;function Ee(t,n,s){const a=s.bottom-t.bottom-F-M,o=t.top-s.top-F-M,l=a<ke&&o>a,i=Math.max(we,l?o:a),h=Math.max(t.width,(n==null?void 0:n.width)??t.width),u=s.left+M,b=Math.min(Math.max(u,t.left),Math.max(u,s.right-M-h)),y=l?Math.max(s.top+M,t.top-F-Math.min((n==null?void 0:n.height)??i,i)):t.bottom+F;return{left:b,maxHeight:i,minWidth:t.width,top:y}}function Re(t,n,s,a){const o=r.useCallback(l=>{const{panelBounds:i,triggerBounds:h,visibleBounds:u}=l;return Ee(h,i,u)},[]);return Ie.useAnchoredPosition({active:t,boundary:a,fit:o,panel:s,trigger:n})}const _e=500;function Oe(t){const n=r.useRef(""),s=r.useRef(null),a=r.useRef(null);return r.useEffect(()=>()=>{const o=a.current;o&&s.current!==null&&o.clearTimeout(s.current)},[]),r.useCallback(o=>{var u;const l=(u=t.current)==null?void 0:u.ownerDocument.defaultView;if(!l)return null;a.current=l;const i=n.current+o,h=Array.from(i).every(b=>b===o);return n.current=h?o:i,s.current!==null&&l.clearTimeout(s.current),s.current=l.setTimeout(()=>{n.current="",s.current=null},_e),n.current},[t])}function Q(t,n,s){if(t.length===0)return-1;for(let a=1;a<=t.length;a+=1){const o=(n+s*a+t.length)%t.length;if(!t[o].disabled)return o}return-1}function Se(t,n,s){for(let a=1;a<=t.length;a+=1){const o=(s+a+t.length)%t.length,l=t[o];if(!l.disabled&&l.label.toLocaleLowerCase().startsWith(n))return o}return-1}function De(t){const n=new Set;t.forEach(s=>{if(n.has(s.value))throw new Error("Select option values must be unique");n.add(s.value)})}function je(t){const{active:n,closeOnEscape:s,closeOnOutsideInteraction:a,highlightedIndex:o,id:l,listboxReference:i,onEscapeDismiss:h,onEscapeKeyDown:u,onHighlight:b,onOutsideDismiss:y,onPointerDownOutside:g,onSelect:x,options:k,ownerDocument:P,position:R,selectedValue:_,state:S,triggerReference:q}=t,m=r.useRef(null),V=J.useBoundary("Select").boundaryElement,O=U.useOverlayLayer(!0,V),W=r.useMemo(()=>[q,m],[q]),$=r.useCallback(f=>{m.current=f,i(f)},[i]);return U.useDismissableLayer({active:n,boundaries:W,boundary:V,dismissOnEscape:s,dismissOnPointerDownOutside:a,layerId:O.id,onEscapeDismiss:h,onEscapeKeyDown:u,onPointerDownOutside:g,onPointerDownOutsideDismiss:y,ownerDocument:P}),d.jsx("div",{"aria-hidden":n?void 0:!0,"aria-labelledby":l,className:"nk-select__listbox","data-state":S,id:`${l}-listbox`,ref:$,role:"listbox",style:R?{left:R.left,maxHeight:R.maxHeight,minWidth:R.minWidth,top:R.top,zIndex:O.zIndex}:{visibility:"hidden",zIndex:O.zIndex},children:k.map((f,C)=>d.jsxs("div",{"aria-disabled":f.disabled||void 0,"aria-selected":f.value===_,className:"nk-select__option","data-highlighted":C===o||void 0,"data-selected":f.value===_||void 0,id:`${l}-option-${C}`,onPointerDown:X=>{X.preventDefault(),f.disabled||x(f)},onPointerMove:()=>{f.disabled||b(C)},role:"option",children:[f.icon?d.jsx(H.Icon,{type:f.icon}):null,d.jsx("span",{className:"nk-select__option-label",children:f.label}),f.value===_?d.jsx(H.Icon,{className:"nk-select__check",type:"checkmark"}):null]},f.value))})}function Le(t,n,s){n.current=t,xe.assignElementReference(s,t)}function Pe(t){var ee;const{"aria-invalid":n,className:s,closeOnEscape:a=!0,closeOnOutsideInteraction:o=!0,defaultValue:l="",disabled:i=!1,displayOverride:h,form:u,forwardedReference:b,id:y,invalid:g=!1,name:x,onChange:k,onClick:P,onEscapeKeyDown:R,onKeyDown:_,onOpenChange:S,onPointerDownOutside:q,options:m,placeholder:V,required:O=!1,style:W,value:$,width:f,...C}=t;De(m);const X=r.useId(),D=y??X,I=r.useRef(null),[N,ne]=r.useState(null),[v,se]=r.useState(!1),[w,A]=r.useState(-1),[ae,Z]=r.useState(l),j=$!==void 0,L=j?$:ae,le=m.find(e=>e.value===L),ie=g||z.hasInvalidState(n),re=z.resolveAriaInvalid(g,n),Y=U.usePresence(v),T=((ee=I.current)==null?void 0:ee.ownerDocument)??(typeof document>"u"?null:document),oe=J.useBoundary("Select").boundaryElement,ce=Re(Y.present,I.current,N,oe),de=Oe(I),ue=f===void 0?W:{...W,width:f},G=h??le,fe=r.useCallback(e=>Le(e,I,b),[b]),p=r.useCallback(e=>{v!==e&&(se(e),S==null||S(e))},[S,v]),me=r.useCallback(()=>{j||Z(l),p(!1)},[l,j,p]),he=ge({form:u,onReset:me,resetValue:j?L:l,triggerReference:I}),K=r.useCallback((e=1)=>{const c=m.findIndex(te=>te.value===L&&!te.disabled),E=e===1?-1:m.length;A(c>=0?c:Q(m,E,e)),p(!0)},[m,L,p]),B=r.useCallback(e=>{var c;i||e.disabled||(j||Z(e.value),p(!1),(c=I.current)==null||c.focus(),k==null||k(e.value))},[i,j,k,p]),ve=r.useCallback(()=>{var e;p(!1),(e=I.current)==null||e.focus()},[p]),pe=r.useCallback(()=>{p(!1)},[p]);function be(e){P==null||P(e),!(e.defaultPrevented||i)&&(v?p(!1):K())}function ye(e){if(_==null||_(e),!(e.defaultPrevented||i)){if(e.key==="ArrowDown"||e.key==="ArrowUp"){e.preventDefault();const c=e.key==="ArrowDown"?1:-1;v?A(E=>Q(m,E,c)):K(c);return}if(e.key==="Home"||e.key==="End"){if(e.preventDefault(),!v)K(e.key==="Home"?1:-1);else{const c=e.key==="Home"?1:-1,E=c===1?-1:m.length;A(Q(m,E,c))}return}if(e.key==="Enter"||e.key===" "){e.preventDefault();const c=m[w];v&&c?B(c):v||K();return}if(e.key==="Tab"){p(!1);return}if(e.key.length===1&&!e.altKey&&!e.ctrlKey&&!e.metaKey){const c=de(e.key.toLocaleLowerCase());if(c===null)return;const E=Se(m,c,w);E>=0&&(e.preventDefault(),v||p(!0),A(E))}}}return r.useEffect(()=>{i&&p(!1)},[i,p]),r.useEffect(()=>{var e;if(v&&w>=0){const c=T==null?void 0:T.getElementById(`${D}-option-${w}`);c&&(N!=null&&N.contains(c))&&((e=c.scrollIntoView)==null||e.call(c,{block:"nearest"}))}},[w,D,N,v]),d.jsxs("span",{className:["nk-select",s].filter(Boolean).join(" "),"data-disabled":i||void 0,"data-invalid":ie||void 0,"data-mode":"custom","data-open":v||void 0,style:ue,children:[d.jsxs("button",{...C,ref:fe,"aria-activedescendant":v&&w>=0?`${D}-option-${w}`:void 0,"aria-controls":`${D}-listbox`,"aria-expanded":v,"aria-haspopup":"listbox","aria-invalid":re,"aria-required":O||void 0,"aria-autocomplete":"none",className:"nk-select__trigger",disabled:i,form:u,id:D,onClick:be,onKeyDown:ye,role:"combobox",type:"button",children:[G?d.jsxs("span",{className:"nk-select__value",children:[G.icon?d.jsx(H.Icon,{type:G.icon}):null,d.jsx("span",{className:"nk-select__value-label",children:G.label})]}):d.jsx("span",{className:"nk-select__placeholder",children:V}),d.jsx(H.Icon,{className:"nk-select__icon",type:"chevron-down"})]}),x||O?d.jsxs("select",{ref:he,"aria-hidden":"true",className:"nk-select__form-control",disabled:i,form:u,name:x,onChange:()=>{},onInvalid:e=>{var c;e.preventDefault(),(c=I.current)==null||c.focus()},required:O,tabIndex:-1,value:L,children:[d.jsx("option",{value:""}),m.map(e=>d.jsx("option",{disabled:e.disabled,value:e.value,children:e.label},e.value))]}):null,Y.present&&T?d.jsx(U.Portal,{children:d.jsx(je,{active:v,closeOnEscape:a,closeOnOutsideInteraction:o,highlightedIndex:w,id:D,listboxReference:ne,onEscapeDismiss:ve,onEscapeKeyDown:R,onHighlight:A,onOutsideDismiss:pe,onPointerDownOutside:q,onSelect:B,options:m,ownerDocument:T,position:ce,selectedValue:L,state:Y.state==="closing"?"closing":"open",triggerReference:I})}):null]})}function Ce(t){const{"aria-invalid":n,children:s,className:a,defaultValue:o,disabled:l=!1,forwardedReference:i,invalid:h=!1,placeholder:u,style:b,value:y,...g}=t,x=z.resolveAriaInvalid(h,n),k=h||z.hasInvalidState(n);return d.jsxs("span",{className:["nk-select",a].filter(Boolean).join(" "),"data-disabled":l||void 0,"data-invalid":k||void 0,"data-mode":"native",style:b,children:[d.jsxs("select",{...g,ref:i,"aria-invalid":x,className:"nk-select__control",defaultValue:y===void 0?o??(u!==void 0?"":void 0):void 0,disabled:l,value:y,children:[u!==void 0?d.jsx("option",{disabled:!0,value:"",children:u}):null,s]}),d.jsx(H.Icon,{className:"nk-select__icon",type:"chevron-down"})]})}const Ne=r.forwardRef(function(n,s){const{options:a}=n;return J.useBoundary("Select"),a!==void 0?d.jsx(Pe,{...n,forwardedReference:s}):d.jsx(Ce,{...n,forwardedReference:s})});exports.default=Ne;