neatkit 0.8.0 → 0.10.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 (113) hide show
  1. package/dist/Boundary.cjs +1 -1
  2. package/dist/Boundary.js +29 -29
  3. package/dist/Button-CVe9T_Zw.cjs +1 -0
  4. package/dist/Button-D6rXvcqq.js +101 -0
  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 +111 -110
  9. package/dist/{Code-JDb4VFl7.cjs → Code-B7s_rN0G.cjs} +1 -1
  10. package/dist/{Code-ClkozPlv.js → Code-Bp2X1k-g.js} +1 -4
  11. package/dist/Code.cjs +1 -1
  12. package/dist/Code.js +1 -1
  13. package/dist/Divider-C7XGlr26.cjs +1 -0
  14. package/dist/{Divider-BE15WVDI.js → Divider-DZgpYpr-.js} +1 -1
  15. package/dist/Divider.cjs +1 -1
  16. package/dist/Divider.js +1 -1
  17. package/dist/Icon-BIBzgznI.cjs +1 -0
  18. package/dist/{Icon-BoEUoOk7.js → Icon-CxK1wlGk.js} +98 -52
  19. package/dist/Icon.cjs +1 -1
  20. package/dist/Icon.js +1 -1
  21. package/dist/Input.cjs +1 -1
  22. package/dist/Input.js +52 -51
  23. package/dist/Markdown.cjs +1 -1
  24. package/dist/Markdown.js +108 -104
  25. package/dist/Modal.cjs +1 -1
  26. package/dist/Modal.js +57 -56
  27. package/dist/PinInput.cjs +1 -1
  28. package/dist/PinInput.js +88 -87
  29. package/dist/Popover.cjs +1 -1
  30. package/dist/Popover.js +147 -141
  31. package/dist/Progress.cjs +1 -0
  32. package/dist/Progress.js +40 -0
  33. package/dist/Radio.cjs +1 -1
  34. package/dist/Radio.js +48 -47
  35. package/dist/Select.cjs +1 -1
  36. package/dist/Select.js +363 -359
  37. package/dist/Sidebar.cjs +1 -1
  38. package/dist/Sidebar.js +326 -311
  39. package/dist/Spinner-BE0F4y2S.cjs +1 -0
  40. package/dist/Spinner-CmxlDlOk.js +23 -0
  41. package/dist/Spinner.cjs +1 -1
  42. package/dist/Spinner.js +1 -1
  43. package/dist/Table-BqWBgMTU.cjs +1 -0
  44. package/dist/Table-DutHfiXR.js +423 -0
  45. package/dist/Table.cjs +1 -1
  46. package/dist/Table.js +1 -1
  47. package/dist/{Tooltip-B4bajPtk.cjs → Tooltip-CCuE-hfp.cjs} +1 -1
  48. package/dist/{Tooltip-BVqdnKK_.js → Tooltip-CeyRKNv4.js} +1 -1
  49. package/dist/Tooltip.cjs +1 -1
  50. package/dist/Tooltip.js +1 -1
  51. package/dist/albert-sans-cb3e34c4.woff2 +0 -0
  52. package/dist/components/Icon/icons/GearIcon.d.ts +11 -0
  53. package/dist/components/Icon/icons/ImageIcon.d.ts +11 -0
  54. package/dist/components/Icon/utils/registry.d.ts +2 -0
  55. package/dist/components/Portal/hooks/useAnchoredPosition.d.ts +59 -0
  56. package/dist/components/Progress/Progress.d.ts +38 -0
  57. package/dist/components/Progress/index.d.ts +2 -0
  58. package/dist/components/Progress/utils/value.d.ts +25 -0
  59. package/dist/components/Select/Select.d.ts +6 -74
  60. package/dist/components/Select/components/CustomSelect.d.ts +59 -0
  61. package/dist/components/Select/components/NativeSelect.d.ts +26 -0
  62. package/dist/components/Select/components/SelectListbox.d.ts +50 -0
  63. package/dist/components/Select/hooks/useSelectFormReset.d.ts +27 -0
  64. package/dist/components/Select/hooks/useSelectPosition.d.ts +12 -0
  65. package/dist/components/Select/hooks/useTypeahead.d.ts +14 -0
  66. package/dist/components/Select/utils/options.d.ts +38 -0
  67. package/dist/components/Sidebar/Sidebar.d.ts +36 -25
  68. package/dist/components/Sidebar/components/SidebarFooter.d.ts +5 -0
  69. package/dist/components/Sidebar/components/SidebarGroup.d.ts +5 -16
  70. package/dist/components/Sidebar/components/SidebarHeader.d.ts +29 -0
  71. package/dist/components/Sidebar/components/SidebarItem.d.ts +3 -0
  72. package/dist/components/Sidebar/components/SidebarOverlay.d.ts +3 -4
  73. package/dist/components/Sidebar/components/SidebarPanel.d.ts +4 -4
  74. package/dist/components/Sidebar/hooks/usePresentation.d.ts +2 -2
  75. package/dist/components/Sidebar/index.d.ts +1 -1
  76. package/dist/components/Sidebar/utils/presentation.d.ts +12 -0
  77. package/dist/components/Sidebar/utils/state.d.ts +2 -2
  78. package/dist/components/Table/Table.d.ts +21 -209
  79. package/dist/components/Table/components/TableAction.d.ts +18 -0
  80. package/dist/components/Table/components/TableActionCell.d.ts +15 -0
  81. package/dist/components/Table/components/TableActionHeaderCell.d.ts +13 -0
  82. package/dist/components/Table/components/TableBody.d.ts +27 -0
  83. package/dist/components/Table/components/TableCell.d.ts +42 -0
  84. package/dist/components/Table/components/TableFoot.d.ts +19 -0
  85. package/dist/components/Table/components/TableHead.d.ts +19 -0
  86. package/dist/components/Table/components/TableHeaderCell.d.ts +23 -0
  87. package/dist/components/Table/components/TableRow.d.ts +67 -0
  88. package/dist/components/Table/hooks/useHorizontalOverflow.d.ts +25 -0
  89. package/dist/components/Table/utils/cell.d.ts +25 -0
  90. package/dist/components/Table/utils/children.d.ts +18 -0
  91. package/dist/components/Table/utils/trigger.d.ts +54 -0
  92. package/dist/style.css +1 -1
  93. package/dist/useAnchoredPosition-C0VS7hm6.js +105 -0
  94. package/dist/useAnchoredPosition-D7GRFzoX.cjs +1 -0
  95. package/dist/useFloatingPosition-Dq8xpr3E.js +27 -0
  96. package/dist/useFloatingPosition-g5kXywoB.cjs +1 -0
  97. package/dist/useFocusTrap-C0IcCdNf.js +136 -0
  98. package/dist/useFocusTrap-gAK_402D.cjs +1 -0
  99. package/package.json +7 -1
  100. package/dist/Button-Chv4O66e.js +0 -99
  101. package/dist/Button-DCKtFvSo.cjs +0 -1
  102. package/dist/Divider-CJYbFcSX.cjs +0 -1
  103. package/dist/Icon-DJ4BigRz.cjs +0 -1
  104. package/dist/Spinner-BXgw60UC.cjs +0 -1
  105. package/dist/Spinner-CVYvk6YK.js +0 -25
  106. package/dist/Table-B30TBckZ.js +0 -402
  107. package/dist/Table-DceR12X9.cjs +0 -1
  108. package/dist/floating-position-5wJ5G5IT.js +0 -48
  109. package/dist/floating-position-Cy9xxdH4.cjs +0 -1
  110. package/dist/useFloatingPosition-BBEUHPqy.cjs +0 -1
  111. package/dist/useFloatingPosition-CMirP2-2.js +0 -43
  112. package/dist/useFocusTrap-BrFZdMqQ.cjs +0 -1
  113. package/dist/useFocusTrap-DhVnlboe.js +0 -136
package/dist/Sidebar.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"),s=require("react"),I=require("./effects-D85L_7zM.cjs"),q=require("./reference-C2guRuR0.cjs"),_=require("./usePresence-B5RYv4e1.cjs"),L=require("./Text-DWYlIcPj.cjs"),H=require("./Button-DCKtFvSo.cjs"),Q=require("./useFocusTrap-BrFZdMqQ.cjs"),V=require("./useScrollLock-Dy8MZaSn.cjs"),W=require("./aria-Bntn6ad_.cjs"),X=require("./Avatar-Belo7qAY.cjs"),Y=require("./Spinner-BXgw60UC.cjs"),Z=require("./Tooltip-B4bajPtk.cjs"),ee=require("./units-PzuiQNnw.cjs"),ne=s.forwardRef(function(r,e){const{children:n,className:u,...c}=r;return o.jsx("div",{...c,ref:e,className:["nk-sidebar__footer",u].filter(Boolean).join(" "),children:n})}),P=new WeakMap;function J(i){const r=P.get(i);if(r)return r;const e={listeners:new Set,owner:null,state:void 0};return P.set(i,e),e}function re(i,r,e){const n=J(i);return n.owner!==null&&n.owner!==r?!1:(n.owner=r,n.state=e,n.listeners.forEach(u=>u()),!0)}function se(i,r){const e=P.get(i);!e||e.owner!==r||(e.owner=null,e.state=void 0,e.listeners.forEach(n=>n()))}function te(i){var r;return i?(r=P.get(i))==null?void 0:r.state:void 0}function ae(i,r){if(!i)return()=>{};const e=J(i);return e.listeners.add(r),()=>{e.listeners.delete(r)}}const ie=()=>{};function F(i){const r=_.useBoundary(i).boundaryElement,e=s.useCallback(u=>ae(r,u),[r]),n=s.useCallback(()=>te(r),[r]);return s.useSyncExternalStore(e,n,ie)}const oe=s.forwardRef(function(r,e){const{"aria-label":n,"aria-labelledby":u,children:c,className:f,label:b,presentation:h="both",...m}=r,g=F("Sidebar.Group"),v=`${s.useId()}-label`,l=(g==null?void 0:g.presentation)==="overlay"?"overlay":"inline",p=b!=null&&typeof b!="boolean"&&(typeof b!="string"||b.trim()!=="");if(h!=="both"&&h!==l)return null;const t=u??(n===void 0&&p?v:void 0),a=!!(n??t);return s.createElement(a?"nav":"div",{...m,ref:e,"aria-label":n,"aria-labelledby":t,className:["nk-sidebar__group",f].filter(Boolean).join(" ")},p?o.jsx(L.Text,{as:"h2",className:"nk-sidebar__group-label",id:v,size:"subtitle",weight:"medium",children:b}):null,o.jsx("ul",{className:"nk-sidebar__list",children:c}))}),le=s.forwardRef(function(r,e){const{active:n=!1,as:u,children:c,className:f,disabled:b=!1,icon:h,onClick:m,type:g,...v}=r,l=F("Sidebar.Item"),p=u??"button",t=p==="button",a=v,d=a.href!==void 0||a.to!==void 0;function k(y){if(b){y.preventDefault();return}m==null||m(y),l!=null&&l.open&&l.presentation==="overlay"&&!y.defaultPrevented&&l.requestOpenChange(!1,"item")}return o.jsx("li",{className:"nk-sidebar__item-container",children:o.jsx(H.Button,{...v,ref:e,"aria-current":n?d?"page":"true":void 0,as:p,className:["nk-sidebar__item",f].filter(Boolean).join(" "),"data-active":n||void 0,disabled:b,fullWidth:!0,href:a.href,icon:h,onClick:k,shape:"rectangle",textAlignment:"left",type:t?g??"button":g,variant:"ghost",children:o.jsx("span",{className:"nk-sidebar__item-label",children:c})})})});function K(i){const{"aria-label":r,"aria-labelledby":e,children:n,className:u,top:c,open:f,panelId:b,panelReference:h,presentation:m,side:g,state:v,style:l,width:p,...t}=i,a=m==="overlay",d=r??(e===void 0?"Sidebar":void 0),k=a&&f,y=p===void 0&&c===void 0?l:{...l,...c===void 0?void 0:{"--nk-sidebar-top-offset":c},...p===void 0?void 0:{"--nk-sidebar-width":p}};return o.jsx("aside",{...t,ref:h,"aria-hidden":a&&!f?!0:void 0,"aria-label":a&&!f?void 0:d,"aria-labelledby":a&&!f?void 0:e,"aria-modal":k?"true":void 0,className:["nk-sidebar",u].filter(Boolean).join(" "),"data-responsive":m==="pending"||void 0,"data-side":g,"data-state":v,"data-variant":a?"overlay":"inline",id:b,role:k?"dialog":void 0,style:y,tabIndex:a?-1:void 0,children:o.jsx("div",{className:"nk-sidebar__body",children:n})})}function ce(i){const{boundaries:r,initialFocusReference:e,lockScroll:n,ownerDocument:u,panelReference:c,presenceState:f,restoreFocus:b,sidebar:h,side:m,...g}=i,{id:v,open:l,requestOpenChange:p}=h,t=s.useContext(_.FocusScopeContext),a=s.useRef(null),[d,k]=s.useState(null),y=_.useBoundary("Sidebar").boundaryElement,E=_.useOverlayLayer(!0,y),O=s.useCallback(x=>{a.current=x,c(x),k(x)},[c]);I.useIsomorphicLayoutEffect(()=>{d&&(d.inert=!l)},[l,d]);const T=s.useCallback(()=>{p(!1,"escape")},[p]),j=s.useCallback(()=>{p(!1,"outside")},[p]);_.useDismissableLayer({boundary:y,active:l,boundaries:r,dismissOnEscape:!0,dismissOnPointerDownOutside:!0,layerId:E.id,onEscapeDismiss:T,onPointerDownOutsideDismiss:j,ownerDocument:u});const N=Q.useFocusTrap({boundary:y,active:l,container:d,initialFocusReference:e??a,layerId:E.id,restoreFocus:b});return V.useScrollLock(n&&l,u,y),o.jsx(_.FocusScopeContext.Provider,{value:l?N:t,children:o.jsx("div",{className:"nk-sidebar__overlay","data-side":m,"data-state":f,role:"presentation",style:{zIndex:E.zIndex},children:o.jsx(K,{...g,open:l,panelId:v,panelReference:O,presentation:"overlay",side:m,state:f})})})}function de(i){const{children:r}=i;if(r.type===s.Fragment)throw new Error("Sidebar.Trigger requires a single non-Fragment child");const e=F("Sidebar.Trigger"),n=r.props,u=q.getElementReference(r),c=e==null?void 0:e.registerTrigger,f=e==null?void 0:e.unregisterTrigger,b=s.useRef(null),h=s.useCallback(a=>{const d=b.current;d&&d!==a&&(f==null||f(d)),b.current=a,a&&(c==null||c(a)),q.assignElementReference(u,a)},[u,c,f]),m=s.useCallback(a=>{var d;(d=n.onClick)==null||d.call(n,a),!(a.defaultPrevented||!e)&&e.requestOpenChange(!e.open,"trigger")},[n,e]);if(!e)return null;const{id:g,open:v,presentation:l,variant:p}=e,t=v&&l==="overlay";return s.cloneElement(r,{"aria-controls":t?W.mergeIdentifiers(n["aria-controls"],g):n["aria-controls"],"aria-expanded":v,"aria-haspopup":n["aria-haspopup"]??"dialog",className:[n.className,"nk-sidebar__trigger"].filter(Boolean).join(" "),"data-sidebar-variant":p,onClick:m,ref:h})}const ue=s.forwardRef(function(r,e){const{actions:n,className:u,description:c,image:f,loading:b=!1,name:h,onClick:m,...g}=r,v=c!=null&&typeof c!="boolean",l=o.jsxs(o.Fragment,{children:[o.jsx(X.Avatar,{alt:h,"aria-hidden":!0,className:"nk-sidebar__user-avatar",image:f}),o.jsxs("span",{className:"nk-sidebar__user-text",children:[o.jsx(L.Text,{as:"span",className:"nk-sidebar__user-name",children:h}),v?o.jsx(L.Text,{as:"span",className:"nk-sidebar__user-description",size:"caption",tone:"muted",children:c}):null]})]});return o.jsx("div",{...g,ref:e,className:["nk-sidebar__user",u].filter(Boolean).join(" "),children:b?o.jsx(Y.Spinner,{className:"nk-sidebar__user-spinner",size:16}):o.jsxs(o.Fragment,{children:[m?o.jsx("button",{className:"nk-sidebar__user-details",onClick:m,type:"button",children:l}):o.jsx("div",{className:"nk-sidebar__user-details",children:l}),n!==void 0&&n.length>0?o.jsx("div",{className:"nk-sidebar__user-actions",children:n.map(p=>{const{"aria-label":t,icon:a,label:d,...k}=p;return o.jsx(Z.Tooltip2,{content:d,children:o.jsx(H.Button,{...k,"aria-label":t??d,className:"nk-sidebar__user-action",icon:a,shape:"rectangle",type:"button",variant:"ghost"})},d)})}):null]})})}),be=()=>()=>{},$=()=>{};function pe(i,r){const e=i==="responsive"?r:void 0,n=s.useSyncExternalStore((e==null?void 0:e.subscribe)??be,(e==null?void 0:e.read)??$,$);return i!=="responsive"?i:n===void 0?"pending":n>=ee.breakpoint("md")?"inline":"overlay"}const fe=s.forwardRef(function(r,e){var G;const{defaultOpen:n=!1,initialFocusReference:u,top:c,lockScroll:f=!0,onOpenChange:b,open:h,restoreFocus:m=!0,side:g="start",variant:v="responsive",width:l,...p}=r,t=_.useBoundary("Sidebar"),a=`${s.useId()}-sidebar`,d=s.useRef(Symbol("nk-sidebar")).current,k=s.useRef(null),y=pe(v,t==null?void 0:t.width),E=h!==void 0,[O,T]=s.useState(n),j=E?h:O,N=s.useRef(b);I.useIsomorphicLayoutEffect(()=>{N.current=b});const x=s.useCallback((S,R)=>{var C;j!==S&&(E||T(S),(C=N.current)==null||C.call(N,S,R))},[E,j]),D=s.useCallback(S=>{k.current=S,q.assignElementReference(e??void 0,S)},[e]),w=s.useMemo(()=>[k],[]),A=s.useCallback(S=>{w.push({current:S})},[w]),M=s.useCallback(S=>{const R=w.findIndex(C=>C.current===S);R>0&&w.splice(R,1)},[w]),B=s.useMemo(()=>({id:a,open:j,presentation:y,registerTrigger:A,requestOpenChange:x,unregisterTrigger:M,variant:v}),[j,a,y,A,x,M,v]);I.useIsomorphicLayoutEffect(()=>{const S=t==null?void 0:t.boundaryElement;if(!S)return;if(re(S,d,B)===!1)throw new Error("A Boundary supports one Sidebar. Neatkit resolves Trigger, Group, and Item interactions against the single Sidebar published to the nearest Boundary, so give each Sidebar a Boundary of its own.")},[t==null?void 0:t.boundaryElement,d,B]),I.useIsomorphicLayoutEffect(()=>{const S=t==null?void 0:t.boundaryElement;if(S)return()=>se(S,d)},[t==null?void 0:t.boundaryElement,d]),s.useEffect(()=>{y==="inline"&&x(!1,"variant")},[y,x]);const U=_.usePresence(j&&y==="overlay"),z=((G=t==null?void 0:t.boundaryElement)==null?void 0:G.ownerDocument)??(typeof document>"u"?null:document);return y!=="overlay"?o.jsx(K,{...p,top:c,open:!1,panelId:a,panelReference:D,presentation:y,side:g,width:l}):!U.present||!z?null:o.jsx(_.Portal,{children:o.jsx(ce,{...p,initialFocusReference:u,lockScroll:f,ownerDocument:z,presenceState:U.state==="closing"?"closing":"open",boundaries:w,panelReference:D,restoreFocus:m,sidebar:B,side:g,width:l})})}),me=Object.assign(fe,{Footer:ne,Group:oe,Item:le,Trigger:de,User:ue});exports.default=me;
1
+ "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),t=require("react"),C=require("./effects-D85L_7zM.cjs"),L=require("./reference-C2guRuR0.cjs"),x=require("./usePresence-B5RYv4e1.cjs"),D=require("./Text-DWYlIcPj.cjs"),J=require("./Button-CVe9T_Zw.cjs"),V=require("./useFocusTrap-gAK_402D.cjs"),W=require("./useScrollLock-Dy8MZaSn.cjs"),X=require("./aria-Bntn6ad_.cjs"),Y=require("./Avatar-Belo7qAY.cjs"),Z=require("./Spinner-BE0F4y2S.cjs"),ee=require("./Tooltip-CCuE-hfp.cjs"),ne=require("./units-PzuiQNnw.cjs"),B=new WeakMap;function K(s){const n=B.get(s);if(n)return n;const e={listeners:new Set,owner:null,state:void 0};return B.set(s,e),e}function re(s,n,e){const r=K(s);return r.owner!==null&&r.owner!==n?!1:(r.owner=n,r.state=e,r.listeners.forEach(p=>p()),!0)}function te(s,n){const e=B.get(s);!e||e.owner!==n||(e.owner=null,e.state=void 0,e.listeners.forEach(r=>r()))}function se(s){var n;return s?(n=B.get(s))==null?void 0:n.state:void 0}function ae(s,n){if(!s)return()=>{};const e=K(s);return e.listeners.add(n),()=>{e.listeners.delete(n)}}const ie=()=>{};function P(s){const n=x.useBoundary(s).boundaryElement,e=t.useCallback(p=>ae(n,p),[n]),r=t.useCallback(()=>se(n),[n]);return t.useSyncExternalStore(e,r,ie)}function O(s,n){return s==="both"||s===(n==="overlay"?"overlay":"inline")}const oe=t.forwardRef(function(n,e){const{children:r,className:p,presentation:c="both",...b}=n,o=P("Sidebar.Footer");return O(c,o==null?void 0:o.presentation)?i.jsx("div",{...b,ref:e,className:["nk-sidebar__footer",p].filter(Boolean).join(" "),children:r}):null}),le=t.forwardRef(function(n,e){const{"aria-label":r,"aria-labelledby":p,children:c,className:b,label:o,presentation:S="both",...v}=n,g=P("Sidebar.Group"),h=`${t.useId()}-label`,f=o!=null&&typeof o!="boolean"&&(typeof o!="string"||o.trim()!=="");if(!O(S,g==null?void 0:g.presentation))return null;const l=p??(r===void 0&&f?h:void 0),a=!!(r??l);return t.createElement(a?"nav":"div",{...v,ref:e,"aria-label":r,"aria-labelledby":l,className:["nk-sidebar__group",b].filter(Boolean).join(" ")},f?i.jsx(D.Text,{as:"h2",className:"nk-sidebar__group-label",id:h,size:"subtitle",weight:"medium",children:o}):null,i.jsx("ul",{className:"nk-sidebar__list",children:c}))}),ce=t.forwardRef(function(n,e){const{children:r,className:p,presentation:c="both",...b}=n,o=P("Sidebar.Header");return O(c,o==null?void 0:o.presentation)?i.jsx("div",{...b,ref:e,className:["nk-sidebar__header",p].filter(Boolean).join(" "),children:r}):null}),ue=t.forwardRef(function(n,e){const{active:r=!1,as:p,children:c,className:b,disabled:o=!1,icon:S,onClick:v,presentation:g="both",type:h,...f}=n,l=P("Sidebar.Item"),a=p??"button",u=a==="button",d=f,k=d.href!==void 0||d.to!==void 0;function m(_){if(o){_.preventDefault();return}v==null||v(_),l!=null&&l.open&&l.presentation==="overlay"&&!_.defaultPrevented&&l.requestOpenChange(!1,"item")}return O(g,l==null?void 0:l.presentation)?i.jsx("li",{className:"nk-sidebar__item-container",children:i.jsx(J.Button,{...f,ref:e,"aria-current":r?k?"page":"true":void 0,as:a,className:["nk-sidebar__item",b].filter(Boolean).join(" "),"data-active":r||void 0,disabled:o,fullWidth:!0,href:d.href,icon:S,onClick:m,shape:"rectangle",textAlignment:"left",type:u?h??"button":h,variant:"ghost",children:i.jsx("span",{className:"nk-sidebar__item-label",children:c})})}):null});function Q(s){const{"aria-label":n,"aria-labelledby":e,children:r,className:p,height:c,open:b,panelId:o,panelReference:S,presentation:v,side:g,state:h,style:f,width:l,...a}=s,u=v==="overlay",d=n??(e===void 0?"Sidebar":void 0),k=u&&b;let m=f;return(l!==void 0||c!==void 0)&&(m={...f},c!==void 0&&(m["--nk-sidebar-height"]=c),l!==void 0&&(m["--nk-sidebar-width"]=l)),i.jsx("aside",{...a,ref:S,"aria-hidden":u&&!b?!0:void 0,"aria-label":u&&!b?void 0:d,"aria-labelledby":u&&!b?void 0:e,"aria-modal":k?"true":void 0,className:["nk-sidebar",p].filter(Boolean).join(" "),"data-responsive":v==="pending"||void 0,"data-side":g,"data-state":h,"data-variant":u?"overlay":"inline",id:o,role:k?"dialog":void 0,style:m,tabIndex:u?-1:void 0,children:i.jsx("div",{className:"nk-sidebar__body",children:r})})}function de(s){const{boundaries:n,initialFocusReference:e,lockScroll:r,ownerDocument:p,panelReference:c,presenceState:b,restoreFocus:o,sidebar:S,side:v,...g}=s,{id:h,open:f,requestOpenChange:l}=S,a=t.useContext(x.FocusScopeContext),u=t.useRef(null),[d,k]=t.useState(null),m=x.useBoundary("Sidebar").boundaryElement,_=x.useOverlayLayer(!0,m),T=t.useCallback(E=>{u.current=E,c(E),k(E)},[c]);C.useIsomorphicLayoutEffect(()=>{d&&(d.inert=!f)},[f,d]);const q=t.useCallback(()=>{l(!1,"escape")},[l]),j=t.useCallback(()=>{l(!1,"outside")},[l]);x.useDismissableLayer({boundary:m,active:f,boundaries:n,dismissOnEscape:!0,dismissOnPointerDownOutside:!0,layerId:_.id,onEscapeDismiss:q,onPointerDownOutsideDismiss:j,ownerDocument:p});const N=V.useFocusTrap({boundary:m,active:f,container:d,initialFocusReference:e??u,layerId:_.id,restoreFocus:o});return W.useScrollLock(r&&f,p,m),i.jsx(x.FocusScopeContext.Provider,{value:f?N:a,children:i.jsx("div",{className:"nk-sidebar__overlay","data-side":v,"data-state":b,role:"presentation",style:{zIndex:_.zIndex},children:i.jsx(Q,{...g,open:f,panelId:h,panelReference:T,presentation:"overlay",side:v,state:b})})})}function be(s){const{children:n}=s;if(n.type===t.Fragment)throw new Error("Sidebar.Trigger requires a single non-Fragment child");const e=P("Sidebar.Trigger"),r=n.props,p=L.getElementReference(n),c=e==null?void 0:e.registerTrigger,b=e==null?void 0:e.unregisterTrigger,o=t.useRef(null),S=t.useCallback(u=>{const d=o.current;d&&d!==u&&(b==null||b(d)),o.current=u,u&&(c==null||c(u)),L.assignElementReference(p,u)},[p,c,b]),v=t.useCallback(u=>{var d;(d=r.onClick)==null||d.call(r,u),!(u.defaultPrevented||!e)&&e.requestOpenChange(!e.open,"trigger")},[r,e]);if(!e)return null;const{id:g,open:h,presentation:f,variant:l}=e,a=h&&f==="overlay";return t.cloneElement(n,{"aria-controls":a?X.mergeIdentifiers(r["aria-controls"],g):r["aria-controls"],"aria-expanded":h,"aria-haspopup":r["aria-haspopup"]??"dialog",className:[r.className,"nk-sidebar__trigger"].filter(Boolean).join(" "),"data-sidebar-variant":l,onClick:v,ref:S})}const fe=t.forwardRef(function(n,e){const{actions:r,className:p,description:c,image:b,loading:o=!1,name:S,onClick:v,...g}=n,h=c!=null&&typeof c!="boolean",f=i.jsxs(i.Fragment,{children:[i.jsx(Y.Avatar,{alt:S,"aria-hidden":!0,className:"nk-sidebar__user-avatar",image:b}),i.jsxs("span",{className:"nk-sidebar__user-text",children:[i.jsx(D.Text,{as:"span",className:"nk-sidebar__user-name",children:S}),h?i.jsx(D.Text,{as:"span",className:"nk-sidebar__user-description",size:"caption",tone:"muted",children:c}):null]})]});return i.jsx("div",{...g,ref:e,className:["nk-sidebar__user",p].filter(Boolean).join(" "),children:o?i.jsx(Z.Spinner,{className:"nk-sidebar__user-spinner",size:16}):i.jsxs(i.Fragment,{children:[v?i.jsx("button",{className:"nk-sidebar__user-details",onClick:v,type:"button",children:f}):i.jsx("div",{className:"nk-sidebar__user-details",children:f}),r!==void 0&&r.length>0?i.jsx("div",{className:"nk-sidebar__user-actions",children:r.map(l=>{const{"aria-label":a,icon:u,label:d,...k}=l;return i.jsx(ee.Tooltip2,{content:d,children:i.jsx(J.Button,{...k,"aria-label":a??d,className:"nk-sidebar__user-action",icon:u,shape:"rectangle",type:"button",variant:"ghost"})},d)})}):null]})})}),pe=()=>()=>{},$=()=>{};function me(s,n){const e=s==="responsive"?n:void 0,r=t.useSyncExternalStore((e==null?void 0:e.subscribe)??pe,(e==null?void 0:e.read)??$,$);return s!=="responsive"?s:r===void 0?"pending":r>=ne.breakpoint("md")?"inline":"overlay"}const ve=t.forwardRef(function(n,e){var H;const{defaultOpen:r=!1,height:p,initialFocusReference:c,lockScroll:b=!0,onOpenChange:o,open:S,restoreFocus:v=!0,side:g="start",variant:h="responsive",width:f,...l}=n,a=x.useBoundary("Sidebar"),u=`${t.useId()}-sidebar`,d=t.useRef(Symbol("nk-sidebar")).current,k=t.useRef(null),m=me(h,a==null?void 0:a.width),_=S!==void 0,[T,q]=t.useState(r),j=_?S:T,N=t.useRef(o);C.useIsomorphicLayoutEffect(()=>{N.current=o});const E=t.useCallback((y,R)=>{var I;j!==y&&(_||q(y),(I=N.current)==null||I.call(N,y,R))},[_,j]),A=t.useCallback(y=>{k.current=y,L.assignElementReference(e,y)},[e]),w=t.useMemo(()=>[k],[]),M=t.useCallback(y=>{w.push({current:y})},[w]),U=t.useCallback(y=>{const R=w.findIndex(I=>I.current===y);R>0&&w.splice(R,1)},[w]),F=t.useMemo(()=>({id:u,open:j,presentation:m,registerTrigger:M,requestOpenChange:E,unregisterTrigger:U,variant:h}),[j,u,m,M,E,U,h]);C.useIsomorphicLayoutEffect(()=>{const y=a==null?void 0:a.boundaryElement;if(!y)return;if(re(y,d,F)===!1)throw new Error("A Boundary supports one Sidebar. Neatkit resolves Trigger, Group, and Item interactions against the single Sidebar published to the nearest Boundary, so give each Sidebar a Boundary of its own.")},[a==null?void 0:a.boundaryElement,d,F]),C.useIsomorphicLayoutEffect(()=>{const y=a==null?void 0:a.boundaryElement;if(y)return()=>te(y,d)},[a==null?void 0:a.boundaryElement,d]),t.useEffect(()=>{m==="inline"&&E(!1,"variant")},[m,E]);const z=x.usePresence(j&&m==="overlay"),G=((H=a==null?void 0:a.boundaryElement)==null?void 0:H.ownerDocument)??(typeof document>"u"?null:document);return m!=="overlay"?i.jsx(Q,{...l,height:p,open:!1,panelId:u,panelReference:A,presentation:m,side:g,width:f}):!z.present||!G?null:i.jsx(x.Portal,{children:i.jsx(de,{...l,boundaries:w,initialFocusReference:c,lockScroll:b,ownerDocument:G,panelReference:A,presenceState:z.state==="closing"?"closing":"open",restoreFocus:v,side:g,sidebar:F,width:f})})}),he=Object.assign(ve,{Footer:oe,Group:le,Header:ce,Item:ue,Trigger:be,User:fe});exports.default=he;