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.
- package/dist/Boundary.cjs +1 -1
- package/dist/Boundary.js +191 -120
- package/dist/{Button-DU4j_IED.cjs → Button-DtrX4X-s.cjs} +1 -1
- package/dist/{Button-BV5OUXpc.js → Button-LmEHdRkW.js} +2 -2
- package/dist/Button.cjs +1 -1
- package/dist/Button.js +1 -1
- package/dist/Checkbox.cjs +1 -1
- package/dist/Checkbox.js +112 -111
- package/dist/Field.cjs +1 -1
- package/dist/Field.js +57 -62
- package/dist/Icon-CMSHMSDJ.cjs +1 -0
- package/dist/{Icon-CxK1wlGk.js → Icon-NT3kRJYz.js} +275 -94
- package/dist/Icon.cjs +1 -1
- package/dist/Icon.js +1 -1
- package/dist/Input.cjs +1 -1
- package/dist/Input.js +53 -52
- package/dist/Markdown.cjs +1 -1
- package/dist/Markdown.js +1 -1
- package/dist/Modal.cjs +1 -1
- package/dist/Modal.js +58 -57
- package/dist/PinInput.cjs +1 -1
- package/dist/PinInput.js +89 -88
- package/dist/Popover.cjs +1 -1
- package/dist/Popover.js +117 -119
- package/dist/Progress.cjs +1 -0
- package/dist/Progress.js +40 -0
- package/dist/Radio.cjs +1 -1
- package/dist/Radio.js +48 -47
- package/dist/Select.cjs +1 -1
- package/dist/Select.js +364 -359
- package/dist/Sidebar.cjs +1 -1
- package/dist/Sidebar.js +381 -332
- package/dist/Spinner-BE0F4y2S.cjs +1 -0
- package/dist/Spinner-CmxlDlOk.js +23 -0
- package/dist/Spinner.cjs +1 -1
- package/dist/Spinner.js +1 -1
- package/dist/Switch.cjs +1 -1
- package/dist/Switch.js +1 -1
- package/dist/{Table-qetwZpTC.cjs → Table-Bjw9lUKS.cjs} +1 -1
- package/dist/{Table-CADupJEU.js → Table-GeoE4h-u.js} +2 -2
- package/dist/Table.cjs +1 -1
- package/dist/Table.js +1 -1
- package/dist/TextArea.cjs +1 -1
- package/dist/TextArea.js +1 -1
- package/dist/Tooltip-CpyROf6x.js +225 -0
- package/dist/Tooltip-DDPh_YFO.cjs +1 -0
- package/dist/Tooltip.cjs +1 -1
- package/dist/Tooltip.js +1 -1
- package/dist/aria-Bv-xVREf.js +17 -0
- package/dist/aria-DM-xYEHQ.cjs +1 -0
- package/dist/components/Boundary/hooks/useDocumentBackground.d.ts +28 -0
- package/dist/components/Icon/icons/AppleIcon.d.ts +11 -0
- package/dist/components/Icon/icons/BingIcon.d.ts +11 -0
- package/dist/components/Icon/icons/FacebookIcon.d.ts +11 -0
- package/dist/components/Icon/icons/GoogleIcon.d.ts +11 -0
- package/dist/components/Icon/icons/InstagramIcon.d.ts +11 -0
- package/dist/components/Icon/icons/MicrosoftIcon.d.ts +11 -0
- package/dist/components/Icon/icons/TwitterIcon.d.ts +11 -0
- package/dist/components/Icon/utils/registry.d.ts +7 -0
- package/dist/components/PinInput/PinInput.d.ts +1 -1
- package/dist/components/Portal/hooks/useAnchoredPosition.d.ts +59 -0
- package/dist/components/Progress/Progress.d.ts +38 -0
- package/dist/components/Progress/index.d.ts +2 -0
- package/dist/components/Progress/utils/value.d.ts +25 -0
- package/dist/components/Radio/Radio.d.ts +1 -1
- package/dist/components/Select/Select.d.ts +6 -74
- package/dist/components/Select/components/CustomSelect.d.ts +59 -0
- package/dist/components/Select/components/NativeSelect.d.ts +26 -0
- package/dist/components/Select/components/SelectListbox.d.ts +50 -0
- package/dist/components/Select/hooks/useSelectFormReset.d.ts +27 -0
- package/dist/components/Select/hooks/useSelectPosition.d.ts +12 -0
- package/dist/components/Select/hooks/useTypeahead.d.ts +14 -0
- package/dist/components/Select/utils/options.d.ts +38 -0
- package/dist/components/Sidebar/Sidebar.d.ts +30 -24
- package/dist/components/Sidebar/components/SidebarFallbackTrigger.d.ts +32 -0
- package/dist/components/Sidebar/components/SidebarOverlay.d.ts +3 -4
- package/dist/components/Sidebar/components/SidebarPanel.d.ts +3 -3
- package/dist/components/Sidebar/components/SidebarTrigger.d.ts +4 -0
- package/dist/effects-D98vUn6N.cjs +1 -0
- package/dist/effects-DGbA6Q2O.js +18 -0
- package/dist/style.css +1 -1
- package/dist/useAnchoredPosition-C0VS7hm6.js +105 -0
- package/dist/useAnchoredPosition-D7GRFzoX.cjs +1 -0
- package/dist/useFloatingPosition-DQgw-w_Z.cjs +1 -0
- package/dist/useFloatingPosition-MGoyautY.js +57 -0
- package/dist/useFocusTrap-BxPazAL6.js +136 -0
- package/dist/useFocusTrap-CrMcAu8s.cjs +1 -0
- package/dist/{usePresence-CqegYqy4.js → usePresence-BTRY1_l-.js} +47 -56
- package/dist/usePresence-Dm0mls5p.cjs +1 -0
- package/dist/utils/aria.d.ts +4 -5
- package/dist/utils/trigger.d.ts +46 -0
- package/package.json +6 -1
- package/dist/Icon-BIBzgznI.cjs +0 -1
- package/dist/Spinner-BXgw60UC.cjs +0 -1
- package/dist/Spinner-CVYvk6YK.js +0 -25
- package/dist/Tooltip-B2d5ss7S.cjs +0 -1
- package/dist/Tooltip-BK64rkxV.js +0 -231
- package/dist/aria-Bntn6ad_.cjs +0 -1
- package/dist/aria-CeA9QfD1.js +0 -15
- package/dist/effects-D5CWf-Pl.js +0 -8
- package/dist/effects-D85L_7zM.cjs +0 -1
- package/dist/floating-position-DIjh2wnP.cjs +0 -1
- package/dist/floating-position-DvR6e334.js +0 -50
- package/dist/useFloatingPosition-B3ZC-v3v.js +0 -43
- package/dist/useFloatingPosition-GzkP9dCc.cjs +0 -1
- package/dist/useFocusTrap-BrFZdMqQ.cjs +0 -1
- package/dist/useFocusTrap-DhVnlboe.js +0 -136
- package/dist/usePresence-B5RYv4e1.cjs +0 -1
package/dist/Sidebar.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
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-DU4j_IED.cjs"),V=require("./useFocusTrap-BrFZdMqQ.cjs"),W=require("./useScrollLock-Dy8MZaSn.cjs"),X=require("./aria-Bntn6ad_.cjs"),Y=require("./Avatar-Belo7qAY.cjs"),Z=require("./Spinner-BXgw60UC.cjs"),ee=require("./Tooltip-B2d5ss7S.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"),y=`${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?y: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:y,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:y,...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?y??"button":y,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,top:c,open:b,panelId:o,panelReference:S,presentation:v,side:g,state:y,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-top-offset"]=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":y,"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:y,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:y,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:y,presentation:f,variant:l}=e,a=y&&f==="overlay";return t.cloneElement(n,{"aria-controls":a?X.mergeIdentifiers(r["aria-controls"],g):r["aria-controls"],"aria-expanded":y,"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,y=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}),y?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,initialFocusReference:p,top:c,lockScroll:b=!0,onOpenChange:o,open:S,restoreFocus:v=!0,side:g="start",variant:y="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(y,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((h,R)=>{var I;j!==h&&(_||q(h),(I=N.current)==null||I.call(N,h,R))},[_,j]),A=t.useCallback(h=>{k.current=h,L.assignElementReference(e??void 0,h)},[e]),w=t.useMemo(()=>[k],[]),M=t.useCallback(h=>{w.push({current:h})},[w]),U=t.useCallback(h=>{const R=w.findIndex(I=>I.current===h);R>0&&w.splice(R,1)},[w]),F=t.useMemo(()=>({id:u,open:j,presentation:m,registerTrigger:M,requestOpenChange:E,unregisterTrigger:U,variant:y}),[j,u,m,M,E,U,y]);C.useIsomorphicLayoutEffect(()=>{const h=a==null?void 0:a.boundaryElement;if(!h)return;if(re(h,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 h=a==null?void 0:a.boundaryElement;if(h)return()=>te(h,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,top:c,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,initialFocusReference:p,lockScroll:b,ownerDocument:G,presenceState:z.state==="closing"?"closing":"open",boundaries:w,panelReference:A,restoreFocus:v,sidebar:F,side:g,width:f})})}),ye=Object.assign(ve,{Footer:oe,Group:le,Header:ce,Item:ue,Trigger:be,User:fe});exports.default=ye;
|
|
1
|
+
"use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),t=require("react"),w=require("./effects-D98vUn6N.cjs"),U=require("./reference-C2guRuR0.cjs"),P=require("./usePresence-Dm0mls5p.cjs"),G=require("./Button-DtrX4X-s.cjs"),z=require("./Text-DWYlIcPj.cjs"),te=require("./useFocusTrap-CrMcAu8s.cjs"),se=require("./useScrollLock-Dy8MZaSn.cjs"),ae=require("./aria-DM-xYEHQ.cjs"),ie=require("./useFloatingPosition-DQgw-w_Z.cjs"),oe=require("./Avatar-Belo7qAY.cjs"),le=require("./Spinner-BE0F4y2S.cjs"),ce=require("./Tooltip-DDPh_YFO.cjs"),ue=require("./units-PzuiQNnw.cjs");function de(a){const{label:r,onToggle:e,panelId:n,reference:b,side:l,sidebarOpen:u}=a;return i.jsx(G.Button,{ref:b,"aria-controls":n,"aria-expanded":u,"aria-haspopup":"dialog","aria-label":r,className:"nk-sidebar__fallback-trigger","data-side":l,icon:"burger",onClick:e})}const B=new WeakMap;function X(a){const r=B.get(a);if(r)return r;const e={listeners:new Set,owner:null,state:void 0};return B.set(a,e),e}function be(a,r,e){const n=X(a);return n.owner!==null&&n.owner!==r?!1:(n.owner=r,n.state=e,n.listeners.forEach(b=>b()),!0)}function fe(a,r){const e=B.get(a);!e||e.owner!==r||(e.owner=null,e.state=void 0,e.listeners.forEach(n=>n()))}function pe(a){var r;return a?(r=B.get(a))==null?void 0:r.state:void 0}function me(a,r){if(!a)return()=>{};const e=X(a);return e.listeners.add(r),()=>{e.listeners.delete(r)}}const ge=()=>{};function I(a){const r=w.useBoundary(a).boundaryElement,e=t.useCallback(b=>me(r,b),[r]),n=t.useCallback(()=>pe(r),[r]);return t.useSyncExternalStore(e,n,ge)}function F(a,r){return a==="both"||a===(r==="overlay"?"overlay":"inline")}const ve=t.forwardRef(function(r,e){const{children:n,className:b,presentation:l="both",...u}=r,o=I("Sidebar.Footer");return F(l,o==null?void 0:o.presentation)?i.jsx("div",{...u,ref:e,className:["nk-sidebar__footer",b].filter(Boolean).join(" "),children:n}):null}),he=t.forwardRef(function(r,e){const{"aria-label":n,"aria-labelledby":b,children:l,className:u,label:o,presentation:S="both",...v}=r,y=I("Sidebar.Group"),h=`${t.useId()}-label`,p=o!=null&&typeof o!="boolean"&&(typeof o!="string"||o.trim()!=="");if(!F(S,y==null?void 0:y.presentation))return null;const c=b??(n===void 0&&p?h:void 0),s=!!(n??c);return t.createElement(s?"nav":"div",{...v,ref:e,"aria-label":n,"aria-labelledby":c,className:["nk-sidebar__group",u].filter(Boolean).join(" ")},p?i.jsx(z.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:l}))}),ye=t.forwardRef(function(r,e){const{children:n,className:b,presentation:l="both",...u}=r,o=I("Sidebar.Header");return F(l,o==null?void 0:o.presentation)?i.jsx("div",{...u,ref:e,className:["nk-sidebar__header",b].filter(Boolean).join(" "),children:n}):null}),Se=t.forwardRef(function(r,e){const{active:n=!1,as:b,children:l,className:u,disabled:o=!1,icon:S,onClick:v,presentation:y="both",type:h,...p}=r,c=I("Sidebar.Item"),s=b??"button",d=s==="button",m=p,_=m.href!==void 0||m.to!==void 0;function g(E){if(o){E.preventDefault();return}v==null||v(E),c!=null&&c.open&&c.presentation==="overlay"&&!E.defaultPrevented&&c.requestOpenChange(!1,"item")}return F(y,c==null?void 0:c.presentation)?i.jsx("li",{className:"nk-sidebar__item-container",children:i.jsx(G.Button,{...p,ref:e,"aria-current":n?_?"page":"true":void 0,as:s,className:["nk-sidebar__item",u].filter(Boolean).join(" "),"data-active":n||void 0,disabled:o,fullWidth:!0,href:m.href,icon:S,onClick:g,shape:"rectangle",textAlignment:"left",type:d?h??"button":h,variant:"ghost",children:i.jsx("span",{className:"nk-sidebar__item-label",children:l})})}):null});function Z(a){const{"aria-label":r,"aria-labelledby":e,children:n,className:b,height:l,open:u,panelId:o,panelReference:S,presentation:v,side:y,state:h,style:p,width:c,...s}=a,d=v==="overlay",m=r??(e===void 0?"Sidebar":void 0),_=d&&u;let g=p;return(c!==void 0||l!==void 0)&&(g={...p},l!==void 0&&(g["--nk-sidebar-height"]=l),c!==void 0&&(g["--nk-sidebar-width"]=c)),i.jsx("aside",{...s,ref:S,"aria-hidden":d&&!u?!0:void 0,"aria-label":d&&!u?void 0:m,"aria-labelledby":d&&!u?void 0:e,"aria-modal":_?"true":void 0,className:["nk-sidebar",b].filter(Boolean).join(" "),"data-responsive":v==="pending"||void 0,"data-side":y,"data-state":h,"data-variant":d?"overlay":"inline",id:o,role:_?"dialog":void 0,style:g,tabIndex:d?-1:void 0,children:i.jsx("div",{className:"nk-sidebar__body",children:n})})}function ke(a){const{boundaries:r,initialFocusReference:e,lockScroll:n,ownerDocument:b,panelReference:l,presenceState:u,restoreFocus:o,sidebar:S,side:v,...y}=a,{id:h,open:p,requestOpenChange:c}=S,s=t.useContext(P.FocusScopeContext),d=t.useRef(null),[m,_]=t.useState(null),g=w.useBoundary("Sidebar").boundaryElement,E=P.useOverlayLayer(!0,g),L=t.useCallback(R=>{d.current=R,l(R),_(R)},[l]);w.useIsomorphicLayoutEffect(()=>{m&&(m.inert=!p)},[p,m]);const q=t.useCallback(()=>{c(!1,"escape")},[c]),D=t.useCallback(()=>{c(!1,"outside")},[c]);P.useDismissableLayer({boundary:g,active:p,boundaries:r,dismissOnEscape:!0,dismissOnPointerDownOutside:!0,layerId:E.id,onEscapeDismiss:q,onPointerDownOutsideDismiss:D,ownerDocument:b});const T=te.useFocusTrap({boundary:g,active:p,container:m,initialFocusReference:e??d,layerId:E.id,restoreFocus:o});return se.useScrollLock(n&&p,b,g),i.jsx(P.FocusScopeContext.Provider,{value:p?T:s,children:i.jsx("div",{className:"nk-sidebar__overlay","data-side":v,"data-state":u,role:"presentation",style:{zIndex:E.zIndex},children:i.jsx(Z,{...y,open:p,panelId:h,panelReference:L,presentation:"overlay",side:v,state:u})})})}function xe(a){const{children:r}=a;if(r.type===t.Fragment)throw new Error("Sidebar.Trigger requires a single non-Fragment child");const e=I("Sidebar.Trigger"),n=r.props,b=U.getElementReference(r),l=e==null?void 0:e.registerTrigger,u=e==null?void 0:e.unregisterTrigger,o=t.useRef(null),S=t.useCallback(d=>{const m=o.current;m&&m!==d&&(u==null||u(m)),o.current=d,d&&(l==null||l(d)),U.assignElementReference(b,d)},[b,l,u]),v=t.useCallback(d=>{d.defaultPrevented||!e||e.requestOpenChange(!e.open,"trigger")},[e]);if(!e)return null;const{id:y,open:h,presentation:p,variant:c}=e,s=h&&p==="overlay";return t.cloneElement(r,ie.resolveTriggerOverrides(n,{"aria-controls":s?ae.mergeIdentifiers(n["aria-controls"],y):n["aria-controls"],"aria-expanded":h,"aria-haspopup":n["aria-haspopup"]??"dialog",className:"nk-sidebar__trigger","data-sidebar-variant":c,onClick:v,ref:S}))}const _e=t.forwardRef(function(r,e){const{actions:n,className:b,description:l,image:u,loading:o=!1,name:S,onClick:v,...y}=r,h=l!=null&&typeof l!="boolean",p=i.jsxs(i.Fragment,{children:[i.jsx(oe.Avatar,{alt:S,"aria-hidden":!0,className:"nk-sidebar__user-avatar",image:u}),i.jsxs("span",{className:"nk-sidebar__user-text",children:[i.jsx(z.Text,{as:"span",className:"nk-sidebar__user-name",children:S}),h?i.jsx(z.Text,{as:"span",className:"nk-sidebar__user-description",size:"caption",tone:"muted",children:l}):null]})]});return i.jsx("div",{...y,ref:e,className:["nk-sidebar__user",b].filter(Boolean).join(" "),children:o?i.jsx(le.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:p}):i.jsx("div",{className:"nk-sidebar__user-details",children:p}),n!==void 0&&n.length>0?i.jsx("div",{className:"nk-sidebar__user-actions",children:n.map(c=>{const{"aria-label":s,icon:d,label:m,..._}=c;return i.jsx(ce.Tooltip2,{content:m,children:i.jsx(G.Button,{..._,"aria-label":s??m,className:"nk-sidebar__user-action",icon:d,shape:"rectangle",type:"button",variant:"ghost"})},m)})}):null]})})}),Ee=()=>()=>{},Q=()=>{};function je(a,r){const e=a==="responsive"?r:void 0,n=t.useSyncExternalStore((e==null?void 0:e.subscribe)??Ee,(e==null?void 0:e.read)??Q,Q);return a!=="responsive"?a:n===void 0?"pending":n>=ue.breakpoint("md")?"inline":"overlay"}const Ne=32,we=t.forwardRef(function(r,e){var J;const{defaultOpen:n=!1,height:b,initialFocusReference:l,lockScroll:u=!0,onOpenChange:o,open:S,restoreFocus:v=!0,side:y="left",variant:h="responsive",width:p,...c}=r,s=w.useBoundary("Sidebar"),d=`${t.useId()}-sidebar`,m=t.useRef(Symbol("nk-sidebar")).current,_=t.useRef(null),g=je(h,s==null?void 0:s.width),E=S!==void 0,[L,q]=t.useState(n),[D,T]=t.useState(0),[R,ee]=t.useState(!1),H=t.useRef(null),N=E?S:L,O=t.useRef(o);w.useIsomorphicLayoutEffect(()=>{O.current=o});const C=t.useCallback((f,k)=>{var x;N!==f&&(E||q(f),(x=O.current)==null||x.call(O,f,k))},[E,N]),$=t.useCallback(f=>{_.current=f,U.assignElementReference(e,f)},[e]),j=t.useMemo(()=>[_],[]),W=t.useCallback(f=>{j.push({current:f}),T(k=>k+1)},[j]),K=t.useCallback(f=>{const k=j.findIndex(x=>x.current===f);k>0&&j.splice(k,1),T(x=>Math.max(x-1,0))},[j]),re=t.useCallback(f=>{const k=H.current;if(k&&k!==f){const x=j.findIndex(ne=>ne.current===k);x>0&&j.splice(x,1)}H.current=f,f&&j.push({current:f})},[j]),A=t.useMemo(()=>({id:d,open:N,presentation:g,registerTrigger:W,requestOpenChange:C,unregisterTrigger:K,variant:h}),[N,d,g,W,C,K,h]);w.useIsomorphicLayoutEffect(()=>{const f=s==null?void 0:s.boundaryElement;if(!f)return;if(be(f,m,A)===!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.")},[s==null?void 0:s.boundaryElement,m,A]),w.useIsomorphicLayoutEffect(()=>{const f=s==null?void 0:s.boundaryElement;if(f)return()=>fe(f,m)},[s==null?void 0:s.boundaryElement,m]),t.useEffect(()=>{g==="inline"&&C(!1,"variant")},[g,C]),t.useEffect(()=>{var x;const f=(x=s==null?void 0:s.boundaryElement)==null?void 0:x.ownerDocument.defaultView;if(!f)return;const k=f.setTimeout(()=>ee(!0),Ne);return()=>f.clearTimeout(k)},[s==null?void 0:s.boundaryElement]);const M=P.usePresence(N&&g==="overlay"),V=((J=s==null?void 0:s.boundaryElement)==null?void 0:J.ownerDocument)??(typeof document>"u"?null:document);if(g!=="overlay")return i.jsx(Z,{...c,height:b,open:!1,panelId:d,panelReference:$,presentation:g,side:y,width:p});const Y=R&&D===0?i.jsx(P.Portal,{children:i.jsx(de,{label:`Open ${c["aria-label"]??"Sidebar"}`,onToggle:()=>C(!N,"trigger"),panelId:M.present?d:void 0,reference:re,side:y,sidebarOpen:N})}):null;return!M.present||!V?Y:i.jsxs(i.Fragment,{children:[Y,i.jsx(P.Portal,{children:i.jsx(ke,{...c,boundaries:j,initialFocusReference:l,lockScroll:u,ownerDocument:V,panelReference:$,presenceState:M.state==="closing"?"closing":"open",restoreFocus:v,side:y,sidebar:A,width:p})})]})}),Pe=Object.assign(we,{Footer:ve,Group:he,Header:ye,Item:Se,Trigger:xe,User:_e});exports.default=Pe;
|