@womp/kookie-ui 0.15.0 → 0.15.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 (83) hide show
  1. package/dist/cjs/components/_internal/pane-chrome.js +1 -1
  2. package/dist/cjs/components/_internal/pane-chrome.js.map +4 -4
  3. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  4. package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
  5. package/dist/cjs/components/chatbar.js +2 -2
  6. package/dist/cjs/components/chatbar.js.map +4 -4
  7. package/dist/cjs/components/context-menu.js +1 -1
  8. package/dist/cjs/components/context-menu.js.map +4 -4
  9. package/dist/cjs/components/dropdown-menu.js +1 -1
  10. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  11. package/dist/cjs/components/index.js +5 -5
  12. package/dist/cjs/components/index.js.map +4 -4
  13. package/dist/cjs/components/scroll-area.d.ts.map +1 -1
  14. package/dist/cjs/components/scroll-area.js +1 -1
  15. package/dist/cjs/components/scroll-area.js.map +4 -4
  16. package/dist/cjs/components/select.d.ts.map +1 -1
  17. package/dist/cjs/components/select.js +1 -1
  18. package/dist/cjs/components/select.js.map +4 -4
  19. package/dist/cjs/components/shell.js +1 -1
  20. package/dist/cjs/components/shell.js.map +4 -4
  21. package/dist/cjs/components/sidebar.js +1 -1
  22. package/dist/cjs/components/sidebar.js.map +4 -4
  23. package/dist/cjs/components/table.js +1 -1
  24. package/dist/cjs/components/table.js.map +4 -4
  25. package/dist/cjs/components/theme-panel.js +3 -3
  26. package/dist/cjs/components/theme-panel.js.map +4 -4
  27. package/dist/cjs/hooks/use-thumb-sync.d.ts +13 -0
  28. package/dist/cjs/hooks/use-thumb-sync.d.ts.map +1 -0
  29. package/dist/cjs/hooks/use-thumb-sync.js +2 -0
  30. package/dist/cjs/hooks/use-thumb-sync.js.map +7 -0
  31. package/dist/cjs/index.js +6 -6
  32. package/dist/cjs/index.js.map +4 -4
  33. package/dist/esm/{chunk-CYXBQRQK.js → chunk-2MYYU7ST.js} +2 -2
  34. package/dist/esm/{chunk-KA5XDSKH.js → chunk-2NNCZM7P.js} +2 -2
  35. package/dist/esm/chunk-4EBCFKNC.js +2 -0
  36. package/dist/esm/chunk-4EBCFKNC.js.map +7 -0
  37. package/dist/esm/{chunk-4FQLRQKJ.js → chunk-BDOMLGLZ.js} +2 -2
  38. package/dist/esm/{chunk-K7XY7FLD.js → chunk-CMQMCGGC.js} +2 -2
  39. package/dist/esm/chunk-DDFONGSM.js +2 -0
  40. package/dist/esm/chunk-DDFONGSM.js.map +7 -0
  41. package/dist/esm/chunk-HKRQ3E3I.js +2 -0
  42. package/dist/esm/chunk-HKRQ3E3I.js.map +7 -0
  43. package/dist/esm/{chunk-BQE543O5.js → chunk-KLIREDPE.js} +2 -2
  44. package/dist/esm/{chunk-5EAMAW2H.js → chunk-MGXXNEMQ.js} +2 -2
  45. package/dist/esm/{chunk-A6CDNZMT.js → chunk-RVHKSNMJ.js} +2 -2
  46. package/dist/esm/{chunk-SHFBYYEP.js → chunk-SEKZGBK3.js} +2 -2
  47. package/dist/esm/{chunk-TY3DIJFF.js → chunk-YSHEXVBI.js} +2 -2
  48. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  49. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  50. package/dist/esm/components/chatbar.js +1 -1
  51. package/dist/esm/components/context-menu.js +1 -1
  52. package/dist/esm/components/dropdown-menu.js +1 -1
  53. package/dist/esm/components/index.js +1 -1
  54. package/dist/esm/components/scroll-area.d.ts.map +1 -1
  55. package/dist/esm/components/scroll-area.js +1 -1
  56. package/dist/esm/components/select.d.ts.map +1 -1
  57. package/dist/esm/components/select.js +1 -1
  58. package/dist/esm/components/shell.js +1 -1
  59. package/dist/esm/components/sidebar.js +1 -1
  60. package/dist/esm/components/table.js +1 -1
  61. package/dist/esm/components/theme-panel.js +1 -1
  62. package/dist/esm/hooks/use-thumb-sync.d.ts +13 -0
  63. package/dist/esm/hooks/use-thumb-sync.d.ts.map +1 -0
  64. package/dist/esm/hooks/use-thumb-sync.js +2 -0
  65. package/dist/esm/hooks/use-thumb-sync.js.map +7 -0
  66. package/dist/esm/index.js +1 -1
  67. package/package.json +1 -1
  68. package/src/components/scroll-area.tsx +3 -1
  69. package/src/components/select.tsx +3 -0
  70. package/src/hooks/use-thumb-sync.ts +55 -0
  71. package/dist/esm/chunk-C7JXVNMI.js +0 -2
  72. package/dist/esm/chunk-C7JXVNMI.js.map +0 -7
  73. package/dist/esm/chunk-JZD5FHSU.js +0 -2
  74. package/dist/esm/chunk-JZD5FHSU.js.map +0 -7
  75. /package/dist/esm/{chunk-CYXBQRQK.js.map → chunk-2MYYU7ST.js.map} +0 -0
  76. /package/dist/esm/{chunk-KA5XDSKH.js.map → chunk-2NNCZM7P.js.map} +0 -0
  77. /package/dist/esm/{chunk-4FQLRQKJ.js.map → chunk-BDOMLGLZ.js.map} +0 -0
  78. /package/dist/esm/{chunk-K7XY7FLD.js.map → chunk-CMQMCGGC.js.map} +0 -0
  79. /package/dist/esm/{chunk-BQE543O5.js.map → chunk-KLIREDPE.js.map} +0 -0
  80. /package/dist/esm/{chunk-5EAMAW2H.js.map → chunk-MGXXNEMQ.js.map} +0 -0
  81. /package/dist/esm/{chunk-A6CDNZMT.js.map → chunk-RVHKSNMJ.js.map} +0 -0
  82. /package/dist/esm/{chunk-SHFBYYEP.js.map → chunk-SEKZGBK3.js.map} +0 -0
  83. /package/dist/esm/{chunk-TY3DIJFF.js.map → chunk-YSHEXVBI.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var se=Object.create;var v=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var ie=Object.getOwnPropertyNames;var ae=Object.getPrototypeOf,pe=Object.prototype.hasOwnProperty;var le=(r,e)=>{for(var t in e)v(r,t,{get:e[t],enumerable:!0})},j=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ie(e))!pe.call(r,s)&&s!==t&&v(r,s,{get:()=>e[s],enumerable:!(o=ne(e,s))||o.enumerable});return r};var P=(r,e,t)=>(t=r!=null?se(ae(r)):{},j(e||!r||!r.__esModule?v(t,"default",{value:r,enumerable:!0}):t,r)),me=r=>j(v({},"__esModule",{value:!0}),r);var Re={};le(Re,{PaneChromeScope:()=>ve,PaneFooter:()=>Y,PaneHeader:()=>X,Scroll:()=>Z,ShellSizeContext:()=>Q,SidebarVisualContext:()=>z,useSidebarVisual:()=>J});module.exports=me(Re);var l=P(require("react")),x=P(require("classnames"));var m=P(require("react")),N=P(require("classnames")),u=require("radix-ui"),_=require("radix-ui/internal");var $={asChild:{type:"boolean"}};var ce=["none","small","medium","large","full"],H={radius:{type:"enum",values:ce,default:void 0}};var fe=["1","2","3"],ue=["vertical","horizontal","both"],d={...$,size:{type:"enum",className:"rt-r-size",values:fe,default:"1",responsive:!0},...H,scrollbars:{type:"enum",values:ue,default:"both"},fade:{type:"boolean",default:!1}};var R=P(require("react"));function G(r){let[e,t]=R.useState(null);return R.useEffect(()=>{if(!r||!e)return;let o=0,s=()=>{o=0;let p=Math.max(0,e.scrollTop),c=Math.max(0,e.scrollHeight-e.clientHeight-e.scrollTop);e.style.setProperty("--scroll-overflow-start",`${p}px`),e.style.setProperty("--scroll-overflow-end",`${c}px`)},n=()=>{o||(o=requestAnimationFrame(s))};s(),e.addEventListener("scroll",n,{passive:!0});let i=typeof ResizeObserver>"u"?null:new ResizeObserver(n);i?.observe(e);for(let p of Array.from(e.children))i?.observe(p);let a=typeof MutationObserver>"u"?null:new MutationObserver(n);return a?.observe(e,{childList:!0}),()=>{o&&cancelAnimationFrame(o),e.removeEventListener("scroll",n),i?.disconnect(),a?.disconnect(),e.style.removeProperty("--scroll-overflow-start"),e.style.removeProperty("--scroll-overflow-end")}},[r,e]),t}function B(r){let{m:e,mx:t,my:o,mt:s,mr:n,mb:i,ml:a,...p}=r;return{m:e,mx:t,my:o,mt:s,mr:n,mb:i,ml:a,rest:p}}var de=["initial","xs","sm","md","lg","xl"],T=new Set(de);function V(r,e){return Object.prototype.hasOwnProperty.call(r,e)}var ye=new Set(["initial","xs","sm","md","lg","xl"]);function A(r){if(typeof r!="object"||r===null)return!1;for(let e in r)if(ye.has(e))return!0;return!1}function S(r,e,t){return e!==void 0?e.has(t):r.includes(t)}function L({className:r,customProperties:e,...t}){let o=b({allowArbitraryValues:!0,className:r,...t}),s=Pe({customProperties:e,...t});return[o,s]}function b({allowArbitraryValues:r,value:e,className:t,propValues:o,propValueSet:s,parseValue:n=i=>i}){if(e){if(typeof e=="string")return S(o,s,e)?F(t,e,n):r?t:void 0;if(A(e)){let i=e,a=[];for(let p in i){if(!V(i,p)||!T.has(p))continue;let c=i[p];if(c!==void 0){if(S(o,s,c)){let f=F(t,c,n),g=p==="initial"?f:`${p}:${f}`;a.push(g)}else if(r){let f=p==="initial"?t:`${p}:${t}`;a.push(f)}}}return a.length>0?a.join(" "):""}if(r)return t}}function F(r,e,t){let o=r?"-":"",s=t(e),n=s?.startsWith("-"),i=n?"-":"",a=n?s?.substring(1):s;return`${i}${r}${o}${a}`}function Pe({customProperties:r,value:e,propValues:t,propValueSet:o,parseValue:s=n=>n}){if(!e||typeof e=="string"&&S(t,o,e))return;let n;if(typeof e=="string"){let i=s(e);n={};for(let a of r)n[a]=i;return n}if(A(e)){let i=e;for(let a in i){if(!V(i,a)||!T.has(a))continue;let p=i[a];if(p===void 0||S(t,o,p))continue;let c=s(p);n??(n={});for(let f of r){let g=a==="initial"?f:`${f}-${a}`;n[g]=c}}}return n??{}}function D(...r){let e;for(let t of r)t&&(e===void 0&&(e={}),Object.assign(e,t));return e}var y=["0","1","2","3","4","5","6","7","8","9","10","11","12","-1","-2","-3","-4","-5","-6","-7","-8","-9","-10","-11","-12"],U={m:{type:"enum | string",values:y,responsive:!0,className:"rt-r-m",customProperties:["--m"]},mx:{type:"enum | string",values:y,responsive:!0,className:"rt-r-mx",customProperties:["--ml","--mr"]},my:{type:"enum | string",values:y,responsive:!0,className:"rt-r-my",customProperties:["--mt","--mb"]},mt:{type:"enum | string",values:y,responsive:!0,className:"rt-r-mt",customProperties:["--mt"]},mr:{type:"enum | string",values:y,responsive:!0,className:"rt-r-mr",customProperties:["--mr"]},mb:{type:"enum | string",values:y,responsive:!0,className:"rt-r-mb",customProperties:["--mb"]},ml:{type:"enum | string",values:y,responsive:!0,className:"rt-r-ml",customProperties:["--ml"]}};var q=U.m.values,ge=new Set(q),W=[{key:"m",className:"rt-r-m",customProperties:["--margin"]},{key:"mx",className:"rt-r-mx",customProperties:["--margin-left","--margin-right"]},{key:"my",className:"rt-r-my",customProperties:["--margin-top","--margin-bottom"]},{key:"mt",className:"rt-r-mt",customProperties:["--margin-top"]},{key:"mr",className:"rt-r-mr",customProperties:["--margin-right"]},{key:"mb",className:"rt-r-mb",customProperties:["--margin-bottom"]},{key:"ml",className:"rt-r-ml",customProperties:["--margin-left"]}];function K(r){let e,t;for(let o=0;o<W.length;o++){let{key:s,className:n,customProperties:i}=W[o],a=r[s];if(a===void 0)continue;let[p,c]=L({className:n,customProperties:i,propValues:q,propValueSet:ge,value:a});p&&(e??(e=[])).push(p),c&&(t=D(t,c))}return[e!==void 0?e.join(" "):"",t]}var h=P(require("react"));function I(r,e){let{asChild:t,children:o}=r;if(!t)return typeof e=="function"?e(o):e;let s=h.Children.only(o);return h.cloneElement(s,{children:typeof e=="function"?e(s.props.children):e})}var w=m.forwardRef((r,e)=>{let{rest:t,...o}=B(r),[s,n]=K(o),{asChild:i,children:a,className:p,style:c,type:f,scrollHideDelay:g=f!=="scroll"?0:void 0,dir:Se,size:M=d.size.default,radius:O=d.radius.default,scrollbars:C=d.scrollbars.default,fade:k=d.fade.default,...ee}=t,re=G(k),te=(0,_.useComposedRefs)(e,re);return m.createElement(u.ScrollArea.Root,{type:f,scrollHideDelay:g,className:(0,N.default)("rt-ScrollAreaRoot",s,p),"data-fade":k?"":void 0,style:D(n,c),asChild:i},I({asChild:i,children:a},oe=>m.createElement(m.Fragment,null,m.createElement(u.ScrollArea.Viewport,{...ee,ref:te,className:"rt-ScrollAreaViewport"},oe),m.createElement("div",{className:"rt-ScrollAreaViewportFocusRing"}),C!=="vertical"?m.createElement(u.ScrollArea.Scrollbar,{"data-radius":O,orientation:"horizontal",className:(0,N.default)("rt-ScrollAreaScrollbar",b({className:"rt-r-size",value:M,propValues:d.size.values}))},m.createElement(u.ScrollArea.Thumb,{className:"rt-ScrollAreaThumb"})):null,C!=="horizontal"?m.createElement(u.ScrollArea.Scrollbar,{"data-radius":O,orientation:"vertical",className:(0,N.default)("rt-ScrollAreaScrollbar",b({className:"rt-r-size",value:M,propValues:d.size.values}))},m.createElement(u.ScrollArea.Thumb,{className:"rt-ScrollAreaThumb"})):null,C==="both"?m.createElement(u.ScrollArea.Corner,{className:"rt-ScrollAreaCorner"}):null)))});w.displayName="ScrollArea";var z=l.createContext(null);function J(){return l.useContext(z)}var Q=l.createContext("2");function ve({children:r,presentation:e}){let t=l.useContext(Q),o=l.useMemo(()=>({size:t,menuVariant:"soft",presentation:e}),[t,e]);return l.createElement(z.Provider,{value:o},r)}function E(){let r=J(),e=r?.size??"2",t=r?.menuVariant??"soft";return["rt-ShellPaneChrome",`rt-r-size-${e}`,`rt-menu-variant-${t}`]}var X=l.forwardRef(({className:r,...e},t)=>{let o=E();return l.createElement("div",{...e,ref:t,className:(0,x.default)("rt-ShellPaneHeader","rt-SidebarHeader","rt-SidebarHeader--container",...o,r)})});X.displayName="Shell.PaneHeader";var Y=l.forwardRef(({className:r,...e},t)=>{let o=E();return l.createElement("div",{...e,ref:t,className:(0,x.default)("rt-ShellPaneFooter","rt-SidebarFooter","rt-SidebarFooter--container",...o,r)})});Y.displayName="Shell.PaneFooter";var Z=l.forwardRef(({className:r,children:e,...t},o)=>{let s=E();return l.createElement(w,{type:"hover",className:"rt-ShellScroll"},l.createElement("div",{...t,ref:o,className:(0,x.default)("rt-BaseMenuContent","rt-SidebarContent",...s,r)},l.createElement("div",{className:"rt-BaseMenuViewport"},e)))});Z.displayName="Shell.Scroll";
1
+ "use strict";"use client";var le=Object.create;var v=Object.defineProperty;var pe=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var ce=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty;var ue=(r,e)=>{for(var t in e)v(r,t,{get:e[t],enumerable:!0})},$=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of me(e))!fe.call(r,s)&&s!==t&&v(r,s,{get:()=>e[s],enumerable:!(o=pe(e,s))||o.enumerable});return r};var d=(r,e,t)=>(t=r!=null?le(ce(r)):{},$(e||!r||!r.__esModule?v(t,"default",{value:r,enumerable:!0}):t,r)),de=r=>$(v({},"__esModule",{value:!0}),r);var De={};ue(De,{PaneChromeScope:()=>he,PaneFooter:()=>re,PaneHeader:()=>ee,Scroll:()=>te,ShellSizeContext:()=>Z,SidebarVisualContext:()=>M,useSidebarVisual:()=>Y});module.exports=de(De);var p=d(require("react")),T=d(require("classnames"));var f=d(require("react")),N=d(require("classnames")),u=require("radix-ui"),X=require("radix-ui/internal");var j={asChild:{type:"boolean"}};var ye=["none","small","medium","large","full"],F={radius:{type:"enum",values:ye,default:void 0}};var Pe=["1","2","3"],ge=["vertical","horizontal","both"],y={...j,size:{type:"enum",className:"rt-r-size",values:Pe,default:"1",responsive:!0},...F,scrollbars:{type:"enum",values:ge,default:"both"},fade:{type:"boolean",default:!1}};var S=d(require("react"));function L(r){let[e,t]=S.useState(null);return S.useEffect(()=>{if(!r||!e)return;let o=0,s=()=>{o=0;let l=Math.max(0,e.scrollTop),m=Math.max(0,e.scrollHeight-e.clientHeight-e.scrollTop);e.style.setProperty("--scroll-overflow-start",`${l}px`),e.style.setProperty("--scroll-overflow-end",`${m}px`)},i=()=>{o||(o=requestAnimationFrame(s))};s(),e.addEventListener("scroll",i,{passive:!0});let n=typeof ResizeObserver>"u"?null:new ResizeObserver(i);n?.observe(e);for(let l of Array.from(e.children))n?.observe(l);let a=typeof MutationObserver>"u"?null:new MutationObserver(i);return a?.observe(e,{childList:!0}),()=>{o&&cancelAnimationFrame(o),e.removeEventListener("scroll",i),n?.disconnect(),a?.disconnect(),e.style.removeProperty("--scroll-overflow-start"),e.style.removeProperty("--scroll-overflow-end")}},[r,e]),t}var R=d(require("react"));function B(){let[r,e]=R.useState(null);return R.useEffect(()=>{let t=r?.parentElement;if(!r||!t)return;let o=0,s=()=>{o=0;for(let n of t.querySelectorAll(":scope > .rt-ScrollAreaScrollbar > .rt-ScrollAreaThumb")){let a=n.parentElement,l=getComputedStyle(a);if(a.dataset.orientation==="horizontal"){let m=a.clientWidth-parseFloat(l.paddingLeft)-parseFloat(l.paddingRight),c=G(r.scrollLeft,r.scrollWidth-r.offsetWidth,m-n.offsetWidth);n.style.transform=`translate3d(${c}px, 0, 0)`}else{let m=a.clientHeight-parseFloat(l.paddingTop)-parseFloat(l.paddingBottom),c=G(r.scrollTop,r.scrollHeight-r.offsetHeight,m-n.offsetHeight);n.style.transform=`translate3d(0, ${c}px, 0)`}}},i=()=>{o||(o=requestAnimationFrame(s))};return r.addEventListener("scroll",i,{passive:!0}),()=>{o&&cancelAnimationFrame(o),r.removeEventListener("scroll",i)}},[r]),e}function G(r,e,t){return e<=0||t<=0?0:Math.min(Math.max(r,-e),e)/e*t}function W(r){let{m:e,mx:t,my:o,mt:s,mr:i,mb:n,ml:a,...l}=r;return{m:e,mx:t,my:o,mt:s,mr:i,mb:n,ml:a,rest:l}}var ve=["initial","xs","sm","md","lg","xl"],V=new Set(ve);function A(r,e){return Object.prototype.hasOwnProperty.call(r,e)}var Se=new Set(["initial","xs","sm","md","lg","xl"]);function E(r){if(typeof r!="object"||r===null)return!1;for(let e in r)if(Se.has(e))return!0;return!1}function b(r,e,t){return e!==void 0?e.has(t):r.includes(t)}function U({className:r,customProperties:e,...t}){let o=h({allowArbitraryValues:!0,className:r,...t}),s=Re({customProperties:e,...t});return[o,s]}function h({allowArbitraryValues:r,value:e,className:t,propValues:o,propValueSet:s,parseValue:i=n=>n}){if(e){if(typeof e=="string")return b(o,s,e)?q(t,e,i):r?t:void 0;if(E(e)){let n=e,a=[];for(let l in n){if(!A(n,l)||!V.has(l))continue;let m=n[l];if(m!==void 0){if(b(o,s,m)){let c=q(t,m,i),g=l==="initial"?c:`${l}:${c}`;a.push(g)}else if(r){let c=l==="initial"?t:`${l}:${t}`;a.push(c)}}}return a.length>0?a.join(" "):""}if(r)return t}}function q(r,e,t){let o=r?"-":"",s=t(e),i=s?.startsWith("-"),n=i?"-":"",a=i?s?.substring(1):s;return`${n}${r}${o}${a}`}function Re({customProperties:r,value:e,propValues:t,propValueSet:o,parseValue:s=i=>i}){if(!e||typeof e=="string"&&b(t,o,e))return;let i;if(typeof e=="string"){let n=s(e);i={};for(let a of r)i[a]=n;return i}if(E(e)){let n=e;for(let a in n){if(!A(n,a)||!V.has(a))continue;let l=n[a];if(l===void 0||b(t,o,l))continue;let m=s(l);i??(i={});for(let c of r){let g=a==="initial"?c:`${c}-${a}`;i[g]=m}}}return i??{}}function D(...r){let e;for(let t of r)t&&(e===void 0&&(e={}),Object.assign(e,t));return e}var P=["0","1","2","3","4","5","6","7","8","9","10","11","12","-1","-2","-3","-4","-5","-6","-7","-8","-9","-10","-11","-12"],K={m:{type:"enum | string",values:P,responsive:!0,className:"rt-r-m",customProperties:["--m"]},mx:{type:"enum | string",values:P,responsive:!0,className:"rt-r-mx",customProperties:["--ml","--mr"]},my:{type:"enum | string",values:P,responsive:!0,className:"rt-r-my",customProperties:["--mt","--mb"]},mt:{type:"enum | string",values:P,responsive:!0,className:"rt-r-mt",customProperties:["--mt"]},mr:{type:"enum | string",values:P,responsive:!0,className:"rt-r-mr",customProperties:["--mr"]},mb:{type:"enum | string",values:P,responsive:!0,className:"rt-r-mb",customProperties:["--mb"]},ml:{type:"enum | string",values:P,responsive:!0,className:"rt-r-ml",customProperties:["--ml"]}};var _=K.m.values,be=new Set(_),I=[{key:"m",className:"rt-r-m",customProperties:["--margin"]},{key:"mx",className:"rt-r-mx",customProperties:["--margin-left","--margin-right"]},{key:"my",className:"rt-r-my",customProperties:["--margin-top","--margin-bottom"]},{key:"mt",className:"rt-r-mt",customProperties:["--margin-top"]},{key:"mr",className:"rt-r-mr",customProperties:["--margin-right"]},{key:"mb",className:"rt-r-mb",customProperties:["--margin-bottom"]},{key:"ml",className:"rt-r-ml",customProperties:["--margin-left"]}];function J(r){let e,t;for(let o=0;o<I.length;o++){let{key:s,className:i,customProperties:n}=I[o],a=r[s];if(a===void 0)continue;let[l,m]=U({className:i,customProperties:n,propValues:_,propValueSet:be,value:a});l&&(e??(e=[])).push(l),m&&(t=D(t,m))}return[e!==void 0?e.join(" "):"",t]}var x=d(require("react"));function Q(r,e){let{asChild:t,children:o}=r;if(!t)return typeof e=="function"?e(o):e;let s=x.Children.only(o);return x.cloneElement(s,{children:typeof e=="function"?e(s.props.children):e})}var w=f.forwardRef((r,e)=>{let{rest:t,...o}=W(r),[s,i]=J(o),{asChild:n,children:a,className:l,style:m,type:c,scrollHideDelay:g=c!=="scroll"?0:void 0,dir:xe,size:O=y.size.default,radius:k=y.radius.default,scrollbars:C=y.scrollbars.default,fade:H=y.fade.default,...oe}=t,se=L(H),ne=B(),ie=(0,X.useComposedRefs)(e,se,ne);return f.createElement(u.ScrollArea.Root,{type:c,scrollHideDelay:g,className:(0,N.default)("rt-ScrollAreaRoot",s,l),"data-fade":H?"":void 0,style:D(i,m),asChild:n},Q({asChild:n,children:a},ae=>f.createElement(f.Fragment,null,f.createElement(u.ScrollArea.Viewport,{...oe,ref:ie,className:"rt-ScrollAreaViewport"},ae),f.createElement("div",{className:"rt-ScrollAreaViewportFocusRing"}),C!=="vertical"?f.createElement(u.ScrollArea.Scrollbar,{"data-radius":k,orientation:"horizontal",className:(0,N.default)("rt-ScrollAreaScrollbar",h({className:"rt-r-size",value:O,propValues:y.size.values}))},f.createElement(u.ScrollArea.Thumb,{className:"rt-ScrollAreaThumb"})):null,C!=="horizontal"?f.createElement(u.ScrollArea.Scrollbar,{"data-radius":k,orientation:"vertical",className:(0,N.default)("rt-ScrollAreaScrollbar",h({className:"rt-r-size",value:O,propValues:y.size.values}))},f.createElement(u.ScrollArea.Thumb,{className:"rt-ScrollAreaThumb"})):null,C==="both"?f.createElement(u.ScrollArea.Corner,{className:"rt-ScrollAreaCorner"}):null)))});w.displayName="ScrollArea";var M=p.createContext(null);function Y(){return p.useContext(M)}var Z=p.createContext("2");function he({children:r,presentation:e}){let t=p.useContext(Z),o=p.useMemo(()=>({size:t,menuVariant:"soft",presentation:e}),[t,e]);return p.createElement(M.Provider,{value:o},r)}function z(){let r=Y(),e=r?.size??"2",t=r?.menuVariant??"soft";return["rt-ShellPaneChrome",`rt-r-size-${e}`,`rt-menu-variant-${t}`]}var ee=p.forwardRef(({className:r,...e},t)=>{let o=z();return p.createElement("div",{...e,ref:t,className:(0,T.default)("rt-ShellPaneHeader","rt-SidebarHeader","rt-SidebarHeader--container",...o,r)})});ee.displayName="Shell.PaneHeader";var re=p.forwardRef(({className:r,...e},t)=>{let o=z();return p.createElement("div",{...e,ref:t,className:(0,T.default)("rt-ShellPaneFooter","rt-SidebarFooter","rt-SidebarFooter--container",...o,r)})});re.displayName="Shell.PaneFooter";var te=p.forwardRef(({className:r,children:e,...t},o)=>{let s=z();return p.createElement(w,{type:"hover",className:"rt-ShellScroll"},p.createElement("div",{...t,ref:o,className:(0,T.default)("rt-BaseMenuContent","rt-SidebarContent",...s,r)},p.createElement("div",{className:"rt-BaseMenuViewport"},e)))});te.displayName="Shell.Scroll";
2
2
  //# sourceMappingURL=pane-chrome.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/_internal/pane-chrome.tsx", "../../../../src/components/scroll-area.tsx", "../../../../src/props/as-child.prop.ts", "../../../../src/props/radius.prop.ts", "../../../../src/components/scroll-area.props.tsx", "../../../../src/hooks/use-scroll-edges.ts", "../../../../src/helpers/extract-margin-props.ts", "../../../../src/props/prop-def.ts", "../../../../src/helpers/has-own-property.ts", "../../../../src/helpers/is-responsive-object.ts", "../../../../src/helpers/get-responsive-styles.ts", "../../../../src/helpers/merge-styles.ts", "../../../../src/props/margin.props.ts", "../../../../src/helpers/get-margin-styles.ts", "../../../../src/helpers/get-subtree.ts"],
4
- "sourcesContent": ["'use client';\n\n/**\n * A pane's own chrome: a header row, a scrolling region and a footer row.\n *\n * Shell.Sidebar and Shell.Panel render these as `Shell.PaneHeader`, `Shell.Scroll` and\n * `Shell.PaneFooter`. The pane renders anything; with these parts it is the presentation, so\n * Sidebar's menu parts work inside it with no `Sidebar.Root`. The index comes from the nearest\n * Shell (`Shell.Root size`), or from a deprecated `Sidebar.Root` that still wraps them.\n */\n\nimport * as React from 'react';\nimport classNames from 'classnames';\n\nimport { ScrollArea } from '../scroll-area.js';\n\ntype PaneSize = '1' | '2' | '3';\n\ntype SidebarVisualContextValue = {\n size: PaneSize;\n menuVariant: 'solid' | 'soft';\n presentation?: 'thin' | 'expanded';\n color?: string;\n};\n\n/** Size, menu highlight and presentation for the Sidebar parts. Internal: not exported. */\nconst SidebarVisualContext = React.createContext<SidebarVisualContextValue | null>(null);\n\nfunction useSidebarVisual() {\n return React.useContext(SidebarVisualContext);\n}\n\n/** The Shell's index. `Shell.Root size` sets it; panes hand it to their chrome. */\nconst ShellSizeContext = React.createContext<PaneSize>('2');\n\n/**\n * Gives a Shell pane's children the Shell's index, so Sidebar parts size themselves. In a Rail\n * the rows are `thin`: icon tiles with a small label, sub-menus as dropdowns.\n */\nfunction PaneChromeScope({ children, presentation }: { children: React.ReactNode; presentation?: 'thin' }) {\n const size = React.useContext(ShellSizeContext);\n const value = React.useMemo<SidebarVisualContextValue>(() => ({ size, menuVariant: 'soft', presentation }), [size, presentation]);\n return <SidebarVisualContext.Provider value={value}>{children}</SidebarVisualContext.Provider>;\n}\n\nfunction useChromeClasses() {\n const visual = useSidebarVisual();\n const size = visual?.size ?? '2';\n const menuVariant = visual?.menuVariant ?? 'soft';\n return ['rt-ShellPaneChrome', `rt-r-size-${size}`, `rt-menu-variant-${menuVariant}`];\n}\n\ninterface PaneHeaderProps extends React.ComponentPropsWithoutRef<'div'> {}\n\n/** A pane's header row, pinned above its scrolling region. */\nconst PaneHeader = React.forwardRef<HTMLDivElement, PaneHeaderProps>(({ className, ...props }, forwardedRef) => {\n const chrome = useChromeClasses();\n return <div {...props} ref={forwardedRef} className={classNames('rt-ShellPaneHeader', 'rt-SidebarHeader', 'rt-SidebarHeader--container', ...chrome, className)} />;\n});\nPaneHeader.displayName = 'Shell.PaneHeader';\n\ninterface PaneFooterProps extends React.ComponentPropsWithoutRef<'div'> {}\n\n/** A pane's footer row, pinned below its scrolling region. */\nconst PaneFooter = React.forwardRef<HTMLDivElement, PaneFooterProps>(({ className, ...props }, forwardedRef) => {\n const chrome = useChromeClasses();\n return <div {...props} ref={forwardedRef} className={classNames('rt-ShellPaneFooter', 'rt-SidebarFooter', 'rt-SidebarFooter--container', ...chrome, className)} />;\n});\nPaneFooter.displayName = 'Shell.PaneFooter';\n\ninterface ScrollProps extends React.ComponentPropsWithoutRef<'div'> {}\n\n/**\n * The one region of a pane that scrolls; it takes the room the header and footer leave.\n * It is not a landmark: for navigation, pass `role=\"navigation\"` and an `aria-label`.\n */\nconst Scroll = React.forwardRef<HTMLDivElement, ScrollProps>(({ className, children, ...props }, forwardedRef) => {\n const chrome = useChromeClasses();\n return (\n <ScrollArea type=\"hover\" className=\"rt-ShellScroll\">\n <div {...props} ref={forwardedRef} className={classNames('rt-BaseMenuContent', 'rt-SidebarContent', ...chrome, className)}>\n <div className=\"rt-BaseMenuViewport\">{children}</div>\n </div>\n </ScrollArea>\n );\n});\nScroll.displayName = 'Shell.Scroll';\n\nexport { SidebarVisualContext, useSidebarVisual, ShellSizeContext, PaneChromeScope, PaneHeader, PaneFooter, Scroll };\nexport type { SidebarVisualContextValue, PaneSize, PaneHeaderProps, PaneFooterProps, ScrollProps };\n", "import * as React from 'react';\nimport classNames from 'classnames';\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\nimport { useComposedRefs } from 'radix-ui/internal';\n\nimport { scrollAreaPropDefs } from './scroll-area.props.js';\nimport { useScrollEdges } from '../hooks/use-scroll-edges.js';\nimport { extractMarginProps } from '../helpers/extract-margin-props.js';\nimport { getMarginStyles } from '../helpers/get-margin-styles.js';\nimport { getResponsiveClassNames } from '../helpers/get-responsive-styles.js';\nimport { getSubtree } from '../helpers/get-subtree.js';\nimport { mergeStyles } from '../helpers/merge-styles.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype ScrollAreaElement = React.ElementRef<typeof ScrollAreaPrimitive.Viewport>;\ntype ScrollAreaOwnProps = GetPropDefTypes<typeof scrollAreaPropDefs>;\ninterface ScrollAreaProps\n extends ComponentPropsWithout<typeof ScrollAreaPrimitive.Root, RemovedProps>,\n ComponentPropsWithout<typeof ScrollAreaPrimitive.Viewport, RemovedProps | 'dir'>,\n MarginProps,\n ScrollAreaOwnProps {}\nconst ScrollArea = React.forwardRef<ScrollAreaElement, ScrollAreaProps>((props, forwardedRef) => {\n const { rest: marginRest, ...marginProps } = extractMarginProps(props);\n const [marginClassNames, marginCustomProperties] = getMarginStyles(marginProps);\n\n const {\n asChild,\n children,\n className,\n style,\n type,\n scrollHideDelay = type !== 'scroll' ? 0 : undefined,\n dir,\n size = scrollAreaPropDefs.size.default,\n radius = scrollAreaPropDefs.radius.default,\n scrollbars = scrollAreaPropDefs.scrollbars.default,\n fade = scrollAreaPropDefs.fade.default,\n ...viewportProps\n } = marginRest;\n const setEdgesElement = useScrollEdges<HTMLDivElement>(fade);\n const viewportRef = useComposedRefs(forwardedRef, setEdgesElement);\n\n return (\n <ScrollAreaPrimitive.Root\n type={type}\n scrollHideDelay={scrollHideDelay}\n className={classNames('rt-ScrollAreaRoot', marginClassNames, className)}\n data-fade={fade ? '' : undefined}\n style={mergeStyles(marginCustomProperties, style)}\n asChild={asChild}\n >\n {getSubtree({ asChild, children }, (children) => (\n <>\n <ScrollAreaPrimitive.Viewport\n {...viewportProps}\n ref={viewportRef}\n className=\"rt-ScrollAreaViewport\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n\n <div className=\"rt-ScrollAreaViewportFocusRing\" />\n\n {scrollbars !== 'vertical' ? (\n <ScrollAreaPrimitive.Scrollbar\n data-radius={radius}\n orientation=\"horizontal\"\n className={classNames(\n 'rt-ScrollAreaScrollbar',\n getResponsiveClassNames({\n className: 'rt-r-size',\n value: size,\n propValues: scrollAreaPropDefs.size.values,\n }),\n )}\n >\n <ScrollAreaPrimitive.Thumb className=\"rt-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n\n {scrollbars !== 'horizontal' ? (\n <ScrollAreaPrimitive.Scrollbar\n data-radius={radius}\n orientation=\"vertical\"\n className={classNames(\n 'rt-ScrollAreaScrollbar',\n getResponsiveClassNames({\n className: 'rt-r-size',\n value: size,\n propValues: scrollAreaPropDefs.size.values,\n }),\n )}\n >\n <ScrollAreaPrimitive.Thumb className=\"rt-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n\n {scrollbars === 'both' ? (\n <ScrollAreaPrimitive.Corner className=\"rt-ScrollAreaCorner\" />\n ) : null}\n </>\n ))}\n </ScrollAreaPrimitive.Root>\n );\n});\nScrollArea.displayName = 'ScrollArea';\n\nexport { ScrollArea };\nexport type { ScrollAreaProps };\n", "import type { PropDef } from './prop-def.js';\n\nconst asChildPropDef = {\n /**\n * Composes the component into its immediate child instead of rendering its own HTML element.\n * You\u2019ll have to provide a single React Element child.\n */\n asChild: {\n type: 'boolean',\n },\n} satisfies {\n asChild: PropDef<boolean>;\n};\n\nexport { asChildPropDef };\n", "import type { PropDef } from './prop-def.js';\n\nconst radii = ['none', 'small', 'medium', 'large', 'full'] as const;\n\nconst radiusPropDef = {\n radius: {\n type: 'enum',\n values: radii,\n default: undefined,\n },\n} satisfies {\n radius: PropDef<(typeof radii)[number]>;\n};\n\nexport { radiusPropDef, radii };\n", "import { asChildPropDef } from '../props/as-child.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3'] as const;\nconst scrollbarsValues = ['vertical', 'horizontal', 'both'] as const;\n\nconst scrollAreaPropDefs = {\n ...asChildPropDef,\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '1', responsive: true },\n ...radiusPropDef,\n scrollbars: { type: 'enum', values: scrollbarsValues, default: 'both' },\n /**\n * Fades the content toward the top and bottom edges while there is more content past them.\n * An edge with nothing hidden past it does not fade. A floating band over an edge can set\n * `--scroll-fade-start` or `--scroll-fade-end` to its height, so content fades as it passes\n * under the band.\n */\n fade: { type: 'boolean', default: false },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n scrollbars: PropDef<(typeof scrollbarsValues)[number]>;\n fade: PropDef<boolean>;\n};\n\nexport { scrollAreaPropDefs };\n", "import * as React from 'react';\n\n/**\n * Publishes how much content is hidden past each block edge of a scroller, as\n * `--scroll-overflow-start` and `--scroll-overflow-end` (px) on the element.\n * The scroll fade reads them, so an edge fades only while content is hidden\n * there, and the fade ramps in over the first pixels of scrolling.\n *\n * Writes happen at most once per frame, on scroll and when the element or its\n * content resizes. Nothing re-renders.\n */\nexport function useScrollEdges<T extends HTMLElement>(enabled: boolean) {\n const [element, setElement] = React.useState<T | null>(null);\n\n React.useEffect(() => {\n if (!enabled || !element) return;\n let frame = 0;\n const write = () => {\n frame = 0;\n const start = Math.max(0, element.scrollTop);\n const end = Math.max(0, element.scrollHeight - element.clientHeight - element.scrollTop);\n element.style.setProperty('--scroll-overflow-start', `${start}px`);\n element.style.setProperty('--scroll-overflow-end', `${end}px`);\n };\n const schedule = () => {\n if (!frame) frame = requestAnimationFrame(write);\n };\n write();\n element.addEventListener('scroll', schedule, { passive: true });\n const observer = typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(schedule);\n observer?.observe(element);\n for (const child of Array.from(element.children)) observer?.observe(child);\n const mutations = typeof MutationObserver === 'undefined' ? null : new MutationObserver(schedule);\n mutations?.observe(element, { childList: true });\n return () => {\n if (frame) cancelAnimationFrame(frame);\n element.removeEventListener('scroll', schedule);\n observer?.disconnect();\n mutations?.disconnect();\n element.style.removeProperty('--scroll-overflow-start');\n element.style.removeProperty('--scroll-overflow-end');\n };\n }, [enabled, element]);\n\n return setElement;\n}\n", "import type { MarginProps } from '../props/margin.props.js';\n\nexport function extractMarginProps<T extends MarginProps>(props: T) {\n const { m, mx, my, mt, mr, mb, ml, ...rest } = props;\n return { m, mx, my, mt, mr, mb, ml, rest };\n}\n", "import type React from 'react';\n\n// Creates a union type of string literals with strings, but retains intellisense for the literals.\n// Union<string, 'foo' | 'bar'> => string | Omit<string, 'foo' | 'bar'>\ntype Union<S = string, T extends string | number = string> = T | Omit<S, T>;\n\nconst breakpoints = ['initial', 'xs', 'sm', 'md', 'lg', 'xl'] as const;\nconst breakpointSet: Set<string> = new Set(breakpoints);\ntype Breakpoint = (typeof breakpoints)[number];\ntype Responsive<T> = T | Partial<Record<Breakpoint, T>>;\n\ntype BooleanPropDef = {\n type: 'boolean';\n default?: boolean;\n required?: boolean;\n className?: string;\n};\ntype StringPropDef = {\n type: 'string';\n default?: string;\n required?: boolean;\n};\ntype ReactNodePropDef = {\n type: 'ReactNode';\n default?: React.ReactNode;\n required?: boolean;\n};\ntype EnumPropDef<T> = {\n type: 'enum';\n values: readonly T[];\n default?: T;\n required?: boolean;\n};\ntype EnumOrStringPropDef<T> = {\n type: 'enum | string';\n values: readonly T[];\n default?: T | string;\n required?: boolean;\n};\n\ntype NonStylingPropDef = {\n className?: never;\n customProperties?: never;\n parseValue?: never;\n};\n\ntype StylingPropDef = {\n className: string;\n parseValue?: (value: string) => string | undefined;\n};\n\ntype ArbitraryStylingPropDef = {\n className: string;\n customProperties: `--${string}`[];\n parseValue?: (value: string) => string | undefined;\n};\n\ntype RegularPropDef<T> =\n | ReactNodePropDef\n | BooleanPropDef\n | (StringPropDef & ArbitraryStylingPropDef)\n | (StringPropDef & NonStylingPropDef)\n | (EnumPropDef<T> & StylingPropDef)\n | (EnumPropDef<T> & NonStylingPropDef)\n | (EnumOrStringPropDef<T> & ArbitraryStylingPropDef)\n | (EnumOrStringPropDef<T> & NonStylingPropDef);\ntype ResponsivePropDef<T = any> = RegularPropDef<T> & { responsive: true };\ntype PropDef<T = any> = RegularPropDef<T> | ResponsivePropDef<T>;\n\n// prettier-ignore\ntype GetPropDefType<Def> =\n Def extends BooleanPropDef ? (Def extends ResponsivePropDef ? Responsive<boolean> : boolean)\n : Def extends StringPropDef ? (Def extends ResponsivePropDef ? Responsive<string> : string)\n : Def extends ReactNodePropDef ? (Def extends ResponsivePropDef ? Responsive<React.ReactNode> : React.ReactNode)\n : Def extends EnumOrStringPropDef<infer Type> ?\n Def extends ResponsivePropDef<infer Type extends string> ? Responsive<Union<string, Type>> : Type\n : Def extends EnumPropDef<infer Type> ? (Def extends ResponsivePropDef<infer Type> ? Responsive<Type> : Type)\n : never;\n\ntype GetPropDefTypes<P> = {\n [K in keyof P]?: GetPropDefType<P[K]>;\n};\n\nexport { breakpoints, breakpointSet };\nexport type {\n PropDef,\n GetPropDefTypes,\n ResponsivePropDef,\n //\n Breakpoint,\n Responsive,\n Union,\n};\n", "/** A util to check whether the object has a key, while inferring the correct key type */\nfunction hasOwnProperty<K extends string | number | symbol>(\n obj: Record<K, unknown>,\n key: string | number | symbol\n): key is K {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nexport { hasOwnProperty };\n", "import type { Responsive, Breakpoint } from '../props/prop-def.js';\n\n// Use a Set for O(1) lookup instead of array.includes() which is O(n)\nconst breakpointSet = new Set<string>(['initial', 'xs', 'sm', 'md', 'lg', 'xl']);\n\nexport function isResponsiveObject<Value extends string>(\n obj: Responsive<Value | Omit<string, Value>> | undefined\n): obj is Record<Breakpoint, string> {\n if (typeof obj !== 'object' || obj === null) {\n return false;\n }\n // Use for...in to avoid Object.keys() array allocation\n for (const key in obj) {\n if (breakpointSet.has(key)) {\n return true;\n }\n }\n return false;\n}\n", "import { breakpointSet } from '../props/prop-def.js';\nimport { hasOwnProperty } from './has-own-property.js';\nimport { isResponsiveObject } from './is-responsive-object.js';\n\nimport type { Responsive, Union } from '../props/prop-def.js';\n\n/**\n * Membership test against a prop def's enum values. Callers that already hold a\n * compiled prop def pass `propValueSet` for an O(1) lookup; the handful of call\n * sites that build options inline fall back to scanning the array.\n */\nfunction includesValue(propValues: string[] | readonly string[], propValueSet: ReadonlySet<string> | undefined, value: string): boolean {\n return propValueSet !== undefined ? propValueSet.has(value) : propValues.includes(value);\n}\n\ninterface GetResponsiveStylesOptions {\n className: string;\n customProperties: `--${string}`[];\n value: Responsive<Union> | Responsive<string> | undefined;\n propValues: string[] | readonly string[];\n propValueSet?: ReadonlySet<string>;\n parseValue?: (value: string) => string | undefined;\n}\n\nfunction getResponsiveStyles({ className, customProperties, ...args }: GetResponsiveStylesOptions) {\n const responsiveClassNames = getResponsiveClassNames({\n allowArbitraryValues: true,\n className,\n ...args,\n });\n\n const responsiveCustomProperties = getResponsiveCustomProperties({ customProperties, ...args });\n return [responsiveClassNames, responsiveCustomProperties] as const;\n}\n\ninterface GetResponsiveClassNamesOptions {\n allowArbitraryValues?: boolean;\n className: string;\n value: Responsive<Union> | Responsive<string> | undefined;\n propValues: string[] | readonly string[];\n propValueSet?: ReadonlySet<string>;\n parseValue?: (value: string) => string | undefined;\n}\n\nfunction getResponsiveClassNames({ allowArbitraryValues, value, className, propValues, propValueSet, parseValue = (value) => value }: GetResponsiveClassNamesOptions): string | undefined {\n if (!value) {\n return undefined;\n }\n\n if (typeof value === 'string') {\n if (includesValue(propValues, propValueSet, value)) {\n return getBaseClassName(className, value, parseValue);\n }\n return allowArbitraryValues ? className : undefined;\n }\n\n if (isResponsiveObject(value)) {\n const object = value;\n const classNames: string[] = [];\n\n for (const bp in object) {\n // Make sure we are not iterating over keys that aren't breakpoints\n if (!hasOwnProperty(object, bp) || !breakpointSet.has(bp)) {\n continue;\n }\n\n const value = object[bp];\n\n if (value !== undefined) {\n if (includesValue(propValues, propValueSet, value)) {\n const baseClassName = getBaseClassName(className, value, parseValue);\n const bpClassName = bp === 'initial' ? baseClassName : `${bp}:${baseClassName}`;\n classNames.push(bpClassName);\n } else if (allowArbitraryValues) {\n const bpClassName = bp === 'initial' ? className : `${bp}:${className}`;\n classNames.push(bpClassName);\n }\n }\n }\n\n return classNames.length > 0 ? classNames.join(' ') : '';\n }\n\n if (allowArbitraryValues) {\n return className;\n }\n}\n\nfunction getBaseClassName(className: string, value: string, parseValue: (value: string) => string | undefined): string {\n const delimiter = className ? '-' : '';\n const matchedValue = parseValue(value);\n const isNegative = matchedValue?.startsWith('-');\n const minus = isNegative ? '-' : '';\n const absoluteValue = isNegative ? matchedValue?.substring(1) : matchedValue;\n return `${minus}${className}${delimiter}${absoluteValue}`;\n}\n\ninterface GetResponsiveCustomPropertiesOptions {\n customProperties: `--${string}`[];\n value: Responsive<Union> | Responsive<string> | undefined;\n propValues: string[] | readonly string[];\n propValueSet?: ReadonlySet<string>;\n parseValue?: (value: string) => string | undefined;\n}\n\nfunction getResponsiveCustomProperties({ customProperties, value, propValues, propValueSet, parseValue = (value) => value }: GetResponsiveCustomPropertiesOptions) {\n // Don't generate custom properties if the value is not arbitrary\n if (!value || (typeof value === 'string' && includesValue(propValues, propValueSet, value))) {\n return undefined;\n }\n\n let styles: Record<string, string | undefined> | undefined;\n\n if (typeof value === 'string') {\n const parsed = parseValue(value);\n styles = {};\n for (const customProperty of customProperties) {\n styles[customProperty] = parsed;\n }\n return styles;\n }\n\n if (isResponsiveObject(value)) {\n const object = value;\n\n for (const bp in object) {\n // Make sure we are not iterating over keys that aren't breakpoints\n if (!hasOwnProperty(object, bp) || !breakpointSet.has(bp)) {\n continue;\n }\n\n const value = object[bp];\n\n // Don't generate a custom property if the value is not arbitrary\n if (value === undefined || includesValue(propValues, propValueSet, value)) {\n continue;\n }\n\n const parsed = parseValue(value);\n styles ??= {};\n for (const customProperty of customProperties) {\n const bpProperty = bp === 'initial' ? customProperty : `${customProperty}-${bp}`;\n styles[bpProperty] = parsed;\n }\n }\n }\n\n return styles ?? {};\n}\n\nexport { getResponsiveStyles, getResponsiveCustomProperties, getResponsiveClassNames };\n", "type InlineStyle =\n | React.CSSProperties\n | Record<string, string | number | null | undefined>\n | undefined;\n\n// Merges CSS styles like `classNames` merges CSS classes\n// Optimized to avoid object spread in loop - uses Object.assign for in-place mutation\nexport function mergeStyles(...styles: Array<InlineStyle>): InlineStyle {\n let result: Record<string, string | number | null | undefined> | undefined;\n\n for (const style of styles) {\n if (style) {\n if (result === undefined) {\n // First non-empty style - create result object\n result = {};\n }\n Object.assign(result, style);\n }\n }\n\n return result;\n}\n", "import type { PropDef, GetPropDefTypes } from './prop-def.js';\n\n// prettier-ignore\nconst marginValues = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '-1', '-2', '-3', '-4', '-5', '-6', '-7', '-8', '-9', '-10', '-11', '-12'] as const;\n\nconst marginPropDefs = {\n /**\n * Sets the CSS **margin** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * m=\"4\"\n * m=\"100px\"\n * m={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin\n */\n m: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-m',\n customProperties: ['--m'],\n },\n /**\n * Sets the CSS **margin-left** and **margin-right** properties.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mx=\"4\"\n * mx=\"100px\"\n * mx={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right\n */\n mx: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mx',\n customProperties: ['--ml', '--mr'],\n },\n /**\n * Sets the CSS **margin-top** and **margin-bottom** properties.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * my=\"4\"\n * my=\"100px\"\n * my={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom\n */\n my: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-my',\n customProperties: ['--mt', '--mb'],\n },\n /**\n * Sets the CSS **margin-top** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mt=\"4\"\n * mt=\"100px\"\n * mt={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top\n */\n mt: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mt',\n customProperties: ['--mt'],\n },\n /**\n * Sets the CSS **margin-right** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mr=\"4\"\n * mr=\"100px\"\n * mr={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right\n */\n mr: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mr',\n customProperties: ['--mr'],\n },\n /**\n * Sets the CSS **margin-bottom** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mb=\"4\"\n * mb=\"100px\"\n * mb={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom\n */\n mb: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mb',\n customProperties: ['--mb'],\n },\n /**\n * Sets the CSS **margin-left** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * ml=\"4\"\n * ml=\"100px\"\n * ml={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left\n */\n ml: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-ml',\n customProperties: ['--ml'],\n },\n} satisfies {\n m: PropDef<(typeof marginValues)[number]>;\n mx: PropDef<(typeof marginValues)[number]>;\n my: PropDef<(typeof marginValues)[number]>;\n mt: PropDef<(typeof marginValues)[number]>;\n mr: PropDef<(typeof marginValues)[number]>;\n mb: PropDef<(typeof marginValues)[number]>;\n ml: PropDef<(typeof marginValues)[number]>;\n};\n\ntype MarginProps = GetPropDefTypes<typeof marginPropDefs>;\n\nexport { marginPropDefs };\nexport type { MarginProps };\n", "import { getResponsiveStyles } from './get-responsive-styles.js';\nimport { mergeStyles } from './merge-styles.js';\nimport { marginPropDefs } from '../props/margin.props.js';\n\nimport type { MarginProps } from '../props/margin.props.js';\n\nconst marginValues = marginPropDefs.m.values;\nconst marginValueSet: ReadonlySet<string> = new Set(marginValues);\n\n// Static table so the common case \u2014 a component with no margin props at all \u2014\n// is seven property reads and nothing else.\nconst MARGIN_PROPS: ReadonlyArray<{\n key: keyof MarginProps;\n className: string;\n customProperties: `--${string}`[];\n}> = [\n { key: 'm', className: 'rt-r-m', customProperties: ['--margin'] },\n { key: 'mx', className: 'rt-r-mx', customProperties: ['--margin-left', '--margin-right'] },\n { key: 'my', className: 'rt-r-my', customProperties: ['--margin-top', '--margin-bottom'] },\n { key: 'mt', className: 'rt-r-mt', customProperties: ['--margin-top'] },\n { key: 'mr', className: 'rt-r-mr', customProperties: ['--margin-right'] },\n { key: 'mb', className: 'rt-r-mb', customProperties: ['--margin-bottom'] },\n { key: 'ml', className: 'rt-r-ml', customProperties: ['--margin-left'] },\n];\n\nexport function getMarginStyles(props: MarginProps) {\n let classes: string[] | undefined;\n let style: ReturnType<typeof mergeStyles>;\n\n for (let i = 0; i < MARGIN_PROPS.length; i++) {\n const { key, className, customProperties } = MARGIN_PROPS[i];\n const value = props[key];\n if (value === undefined) continue;\n\n const [propClassNames, propCustomProperties] = getResponsiveStyles({\n className,\n customProperties,\n propValues: marginValues,\n propValueSet: marginValueSet,\n value,\n });\n\n if (propClassNames) (classes ??= []).push(propClassNames);\n if (propCustomProperties) style = mergeStyles(style, propCustomProperties);\n }\n\n return [classes !== undefined ? classes.join(' ') : '', style] as const;\n}\n", "import * as React from 'react';\n\n/**\n * This is a helper function that is used when a component supports `asChild`\n * using the `Slot` component but its implementation contains nested DOM elements.\n *\n * Using it ensures if a consumer uses the `asChild` prop, the elements are in\n * correct order in the DOM, adopting the intended consumer `children`.\n */\nexport function getSubtree(\n options: { asChild: boolean | undefined; children: React.ReactNode },\n content: React.ReactNode | ((children: React.ReactNode) => React.ReactNode)\n) {\n const { asChild, children } = options;\n if (!asChild) return typeof content === 'function' ? content(children) : content;\n\n const firstChild = React.Children.only(children) as React.ReactElement;\n return React.cloneElement(firstChild, {\n // @ts-expect-error\n children: typeof content === 'function' ? content(firstChild.props.children) : content,\n });\n}\n"],
5
- "mappings": "mlBAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,qBAAAE,GAAA,eAAAC,EAAA,eAAAC,EAAA,WAAAC,EAAA,qBAAAC,EAAA,yBAAAC,EAAA,qBAAAC,IAAA,eAAAC,GAAAT,IAWA,IAAAU,EAAuB,oBACvBC,EAAuB,yBCZvB,IAAAC,EAAuB,oBACvBC,EAAuB,yBACvBC,EAAkD,oBAClDC,EAAgC,6BCDhC,IAAMC,EAAiB,CAKrB,QAAS,CACP,KAAM,SACR,CACF,ECRA,IAAMC,GAAQ,CAAC,OAAQ,QAAS,SAAU,QAAS,MAAM,EAEnDC,EAAgB,CACpB,OAAQ,CACN,KAAM,OACN,OAAQD,GACR,QAAS,MACX,CACF,ECLA,IAAME,GAAQ,CAAC,IAAK,IAAK,GAAG,EACtBC,GAAmB,CAAC,WAAY,aAAc,MAAM,EAEpDC,EAAqB,CACzB,GAAGC,EACH,KAAM,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQH,GAAO,QAAS,IAAK,WAAY,EAAK,EAC5F,GAAGI,EACH,WAAY,CAAE,KAAM,OAAQ,OAAQH,GAAkB,QAAS,MAAO,EAOtE,KAAM,CAAE,KAAM,UAAW,QAAS,EAAM,CAC1C,ECpBA,IAAAI,EAAuB,oBAWhB,SAASC,EAAsCC,EAAkB,CACtE,GAAM,CAACC,EAASC,CAAU,EAAU,WAAmB,IAAI,EAE3D,OAAM,YAAU,IAAM,CACpB,GAAI,CAACF,GAAW,CAACC,EAAS,OAC1B,IAAIE,EAAQ,EACNC,EAAQ,IAAM,CAClBD,EAAQ,EACR,IAAME,EAAQ,KAAK,IAAI,EAAGJ,EAAQ,SAAS,EACrCK,EAAM,KAAK,IAAI,EAAGL,EAAQ,aAAeA,EAAQ,aAAeA,EAAQ,SAAS,EACvFA,EAAQ,MAAM,YAAY,0BAA2B,GAAGI,CAAK,IAAI,EACjEJ,EAAQ,MAAM,YAAY,wBAAyB,GAAGK,CAAG,IAAI,CAC/D,EACMC,EAAW,IAAM,CAChBJ,IAAOA,EAAQ,sBAAsBC,CAAK,EACjD,EACAA,EAAM,EACNH,EAAQ,iBAAiB,SAAUM,EAAU,CAAE,QAAS,EAAK,CAAC,EAC9D,IAAMC,EAAW,OAAO,eAAmB,IAAc,KAAO,IAAI,eAAeD,CAAQ,EAC3FC,GAAU,QAAQP,CAAO,EACzB,QAAWQ,KAAS,MAAM,KAAKR,EAAQ,QAAQ,EAAGO,GAAU,QAAQC,CAAK,EACzE,IAAMC,EAAY,OAAO,iBAAqB,IAAc,KAAO,IAAI,iBAAiBH,CAAQ,EAChG,OAAAG,GAAW,QAAQT,EAAS,CAAE,UAAW,EAAK,CAAC,EACxC,IAAM,CACPE,GAAO,qBAAqBA,CAAK,EACrCF,EAAQ,oBAAoB,SAAUM,CAAQ,EAC9CC,GAAU,WAAW,EACrBE,GAAW,WAAW,EACtBT,EAAQ,MAAM,eAAe,yBAAyB,EACtDA,EAAQ,MAAM,eAAe,uBAAuB,CACtD,CACF,EAAG,CAACD,EAASC,CAAO,CAAC,EAEdC,CACT,CC3CO,SAASS,EAA0CC,EAAU,CAClE,GAAM,CAAE,EAAAC,EAAG,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAGC,CAAK,EAAIR,EAC/C,MAAO,CAAE,EAAAC,EAAG,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,KAAAC,CAAK,CAC3C,CCCA,IAAMC,GAAc,CAAC,UAAW,KAAM,KAAM,KAAM,KAAM,IAAI,EACtDC,EAA6B,IAAI,IAAID,EAAW,ECNtD,SAASE,EACPC,EACAC,EACU,CACV,OAAO,OAAO,UAAU,eAAe,KAAKD,EAAKC,CAAG,CACtD,CCHA,IAAMC,GAAgB,IAAI,IAAY,CAAC,UAAW,KAAM,KAAM,KAAM,KAAM,IAAI,CAAC,EAExE,SAASC,EACdC,EACmC,CACnC,GAAI,OAAOA,GAAQ,UAAYA,IAAQ,KACrC,MAAO,GAGT,QAAWC,KAAOD,EAChB,GAAIF,GAAc,IAAIG,CAAG,EACvB,MAAO,GAGX,MAAO,EACT,CCPA,SAASC,EAAcC,EAA0CC,EAA+CC,EAAwB,CACtI,OAAOD,IAAiB,OAAYA,EAAa,IAAIC,CAAK,EAAIF,EAAW,SAASE,CAAK,CACzF,CAWA,SAASC,EAAoB,CAAE,UAAAC,EAAW,iBAAAC,EAAkB,GAAGC,CAAK,EAA+B,CACjG,IAAMC,EAAuBC,EAAwB,CACnD,qBAAsB,GACtB,UAAAJ,EACA,GAAGE,CACL,CAAC,EAEKG,EAA6BC,GAA8B,CAAE,iBAAAL,EAAkB,GAAGC,CAAK,CAAC,EAC9F,MAAO,CAACC,EAAsBE,CAA0B,CAC1D,CAWA,SAASD,EAAwB,CAAE,qBAAAG,EAAsB,MAAAT,EAAO,UAAAE,EAAW,WAAAJ,EAAY,aAAAC,EAAc,WAAAW,EAAcV,GAAUA,CAAM,EAAuD,CACxL,GAAKA,EAIL,IAAI,OAAOA,GAAU,SACnB,OAAIH,EAAcC,EAAYC,EAAcC,CAAK,EACxCW,EAAiBT,EAAWF,EAAOU,CAAU,EAE/CD,EAAuBP,EAAY,OAG5C,GAAIU,EAAmBZ,CAAK,EAAG,CAC7B,IAAMa,EAASb,EACTc,EAAuB,CAAC,EAE9B,QAAWC,KAAMF,EAAQ,CAEvB,GAAI,CAACG,EAAeH,EAAQE,CAAE,GAAK,CAACE,EAAc,IAAIF,CAAE,EACtD,SAGF,IAAMf,EAAQa,EAAOE,CAAE,EAEvB,GAAIf,IAAU,QACZ,GAAIH,EAAcC,EAAYC,EAAcC,CAAK,EAAG,CAClD,IAAMkB,EAAgBP,EAAiBT,EAAWF,EAAOU,CAAU,EAC7DS,EAAcJ,IAAO,UAAYG,EAAgB,GAAGH,CAAE,IAAIG,CAAa,GAC7EJ,EAAW,KAAKK,CAAW,CAC7B,SAAWV,EAAsB,CAC/B,IAAMU,EAAcJ,IAAO,UAAYb,EAAY,GAAGa,CAAE,IAAIb,CAAS,GACrEY,EAAW,KAAKK,CAAW,CAC7B,EAEJ,CAEA,OAAOL,EAAW,OAAS,EAAIA,EAAW,KAAK,GAAG,EAAI,EACxD,CAEA,GAAIL,EACF,OAAOP,EAEX,CAEA,SAASS,EAAiBT,EAAmBF,EAAeU,EAA2D,CACrH,IAAMU,EAAYlB,EAAY,IAAM,GAC9BmB,EAAeX,EAAWV,CAAK,EAC/BsB,EAAaD,GAAc,WAAW,GAAG,EACzCE,EAAQD,EAAa,IAAM,GAC3BE,EAAgBF,EAAaD,GAAc,UAAU,CAAC,EAAIA,EAChE,MAAO,GAAGE,CAAK,GAAGrB,CAAS,GAAGkB,CAAS,GAAGI,CAAa,EACzD,CAUA,SAAShB,GAA8B,CAAE,iBAAAL,EAAkB,MAAAH,EAAO,WAAAF,EAAY,aAAAC,EAAc,WAAAW,EAAcV,GAAUA,CAAM,EAAyC,CAEjK,GAAI,CAACA,GAAU,OAAOA,GAAU,UAAYH,EAAcC,EAAYC,EAAcC,CAAK,EACvF,OAGF,IAAIyB,EAEJ,GAAI,OAAOzB,GAAU,SAAU,CAC7B,IAAM0B,EAAShB,EAAWV,CAAK,EAC/ByB,EAAS,CAAC,EACV,QAAWE,KAAkBxB,EAC3BsB,EAAOE,CAAc,EAAID,EAE3B,OAAOD,CACT,CAEA,GAAIb,EAAmBZ,CAAK,EAAG,CAC7B,IAAMa,EAASb,EAEf,QAAWe,KAAMF,EAAQ,CAEvB,GAAI,CAACG,EAAeH,EAAQE,CAAE,GAAK,CAACE,EAAc,IAAIF,CAAE,EACtD,SAGF,IAAMf,EAAQa,EAAOE,CAAE,EAGvB,GAAIf,IAAU,QAAaH,EAAcC,EAAYC,EAAcC,CAAK,EACtE,SAGF,IAAM0B,EAAShB,EAAWV,CAAK,EAC/ByB,MAAW,CAAC,GACZ,QAAWE,KAAkBxB,EAAkB,CAC7C,IAAMyB,EAAab,IAAO,UAAYY,EAAiB,GAAGA,CAAc,IAAIZ,CAAE,GAC9EU,EAAOG,CAAU,EAAIF,CACvB,CACF,CACF,CAEA,OAAOD,GAAU,CAAC,CACpB,CC7IO,SAASI,KAAeC,EAAyC,CACtE,IAAIC,EAEJ,QAAWC,KAASF,EACdE,IACED,IAAW,SAEbA,EAAS,CAAC,GAEZ,OAAO,OAAOA,EAAQC,CAAK,GAI/B,OAAOD,CACT,CClBA,IAAME,EAAe,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,KAAK,EAE7JC,EAAiB,CAarB,EAAG,CACD,KAAM,gBACN,OAAQD,EACR,WAAY,GACZ,UAAW,SACX,iBAAkB,CAAC,KAAK,CAC1B,EAcA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,OAAQ,MAAM,CACnC,EAcA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,OAAQ,MAAM,CACnC,EAaA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,MAAM,CAC3B,EAaA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,MAAM,CAC3B,EAaA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,MAAM,CAC3B,EAaA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,MAAM,CAC3B,CACF,ECvIA,IAAME,EAAeC,EAAe,EAAE,OAChCC,GAAsC,IAAI,IAAIF,CAAY,EAI1DG,EAID,CACH,CAAE,IAAK,IAAK,UAAW,SAAU,iBAAkB,CAAC,UAAU,CAAE,EAChE,CAAE,IAAK,KAAM,UAAW,UAAW,iBAAkB,CAAC,gBAAiB,gBAAgB,CAAE,EACzF,CAAE,IAAK,KAAM,UAAW,UAAW,iBAAkB,CAAC,eAAgB,iBAAiB,CAAE,EACzF,CAAE,IAAK,KAAM,UAAW,UAAW,iBAAkB,CAAC,cAAc,CAAE,EACtE,CAAE,IAAK,KAAM,UAAW,UAAW,iBAAkB,CAAC,gBAAgB,CAAE,EACxE,CAAE,IAAK,KAAM,UAAW,UAAW,iBAAkB,CAAC,iBAAiB,CAAE,EACzE,CAAE,IAAK,KAAM,UAAW,UAAW,iBAAkB,CAAC,eAAe,CAAE,CACzE,EAEO,SAASC,EAAgBC,EAAoB,CAClD,IAAIC,EACAC,EAEJ,QAASC,EAAI,EAAGA,EAAIL,EAAa,OAAQK,IAAK,CAC5C,GAAM,CAAE,IAAAC,EAAK,UAAAC,EAAW,iBAAAC,CAAiB,EAAIR,EAAaK,CAAC,EACrDI,EAAQP,EAAMI,CAAG,EACvB,GAAIG,IAAU,OAAW,SAEzB,GAAM,CAACC,EAAgBC,CAAoB,EAAIC,EAAoB,CACjE,UAAAL,EACA,iBAAAC,EACA,WAAYX,EACZ,aAAcE,GACd,MAAAU,CACF,CAAC,EAEGC,IAAiBP,MAAY,CAAC,IAAG,KAAKO,CAAc,EACpDC,IAAsBP,EAAQS,EAAYT,EAAOO,CAAoB,EAC3E,CAEA,MAAO,CAACR,IAAY,OAAYA,EAAQ,KAAK,GAAG,EAAI,GAAIC,CAAK,CAC/D,CC/CA,IAAAU,EAAuB,oBAShB,SAASC,EACdC,EACAC,EACA,CACA,GAAM,CAAE,QAAAC,EAAS,SAAAC,CAAS,EAAIH,EAC9B,GAAI,CAACE,EAAS,OAAO,OAAOD,GAAY,WAAaA,EAAQE,CAAQ,EAAIF,EAEzE,IAAMG,EAAmB,WAAS,KAAKD,CAAQ,EAC/C,OAAa,eAAaC,EAAY,CAEpC,SAAU,OAAOH,GAAY,WAAaA,EAAQG,EAAW,MAAM,QAAQ,EAAIH,CACjF,CAAC,CACH,CbGA,IAAMI,EAAmB,aAA+C,CAACC,EAAOC,IAAiB,CAC/F,GAAM,CAAE,KAAMC,EAAY,GAAGC,CAAY,EAAIC,EAAmBJ,CAAK,EAC/D,CAACK,EAAkBC,CAAsB,EAAIC,EAAgBJ,CAAW,EAExE,CACJ,QAAAK,EACA,SAAAC,EACA,UAAAC,EACA,MAAAC,EACA,KAAAC,EACA,gBAAAC,EAAkBD,IAAS,SAAW,EAAI,OAC1C,IAAAE,GACA,KAAAC,EAAOC,EAAmB,KAAK,QAC/B,OAAAC,EAASD,EAAmB,OAAO,QACnC,WAAAE,EAAaF,EAAmB,WAAW,QAC3C,KAAAG,EAAOH,EAAmB,KAAK,QAC/B,GAAGI,EACL,EAAIlB,EACEmB,GAAkBC,EAA+BH,CAAI,EACrDI,MAAc,mBAAgBtB,EAAcoB,EAAe,EAEjE,OACE,gBAAC,EAAAG,WAAoB,KAApB,CACC,KAAMZ,EACN,gBAAiBC,EACjB,aAAW,EAAAY,SAAW,oBAAqBpB,EAAkBK,CAAS,EACtE,YAAWS,EAAO,GAAK,OACvB,MAAOO,EAAYpB,EAAwBK,CAAK,EAChD,QAASH,GAERmB,EAAW,CAAE,QAAAnB,EAAS,SAAAC,CAAS,EAAIA,IAClC,gCACE,gBAAC,EAAAe,WAAoB,SAApB,CACE,GAAGJ,GACJ,IAAKG,GACL,UAAU,yBAETd,EACH,EAEA,gBAAC,OAAI,UAAU,iCAAiC,EAE/CS,IAAe,WACd,gBAAC,EAAAM,WAAoB,UAApB,CACC,cAAaP,EACb,YAAY,aACZ,aAAW,EAAAQ,SACT,yBACAG,EAAwB,CACtB,UAAW,YACX,MAAOb,EACP,WAAYC,EAAmB,KAAK,MACtC,CAAC,CACH,GAEA,gBAAC,EAAAQ,WAAoB,MAApB,CAA0B,UAAU,qBAAqB,CAC5D,EACE,KAEHN,IAAe,aACd,gBAAC,EAAAM,WAAoB,UAApB,CACC,cAAaP,EACb,YAAY,WACZ,aAAW,EAAAQ,SACT,yBACAG,EAAwB,CACtB,UAAW,YACX,MAAOb,EACP,WAAYC,EAAmB,KAAK,MACtC,CAAC,CACH,GAEA,gBAAC,EAAAQ,WAAoB,MAApB,CAA0B,UAAU,qBAAqB,CAC5D,EACE,KAEHN,IAAe,OACd,gBAAC,EAAAM,WAAoB,OAApB,CAA2B,UAAU,sBAAsB,EAC1D,IACN,CACD,CACH,CAEJ,CAAC,EACDzB,EAAW,YAAc,aDlFzB,IAAM8B,EAA6B,gBAAgD,IAAI,EAEvF,SAASC,GAAmB,CAC1B,OAAa,aAAWD,CAAoB,CAC9C,CAGA,IAAME,EAAyB,gBAAwB,GAAG,EAM1D,SAASC,GAAgB,CAAE,SAAAC,EAAU,aAAAC,CAAa,EAAyD,CACzG,IAAMC,EAAa,aAAWJ,CAAgB,EACxCK,EAAc,UAAmC,KAAO,CAAE,KAAAD,EAAM,YAAa,OAAQ,aAAAD,CAAa,GAAI,CAACC,EAAMD,CAAY,CAAC,EAChI,OAAO,gBAACL,EAAqB,SAArB,CAA8B,MAAOO,GAAQH,CAAS,CAChE,CAEA,SAASI,GAAmB,CAC1B,IAAMC,EAASR,EAAiB,EAC1BK,EAAOG,GAAQ,MAAQ,IACvBC,EAAcD,GAAQ,aAAe,OAC3C,MAAO,CAAC,qBAAsB,aAAaH,CAAI,GAAI,mBAAmBI,CAAW,EAAE,CACrF,CAKA,IAAMC,EAAmB,aAA4C,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAAiB,CAC9G,IAAMC,EAASP,EAAiB,EAChC,OAAO,gBAAC,OAAK,GAAGK,EAAO,IAAKC,EAAc,aAAW,EAAAE,SAAW,qBAAsB,mBAAoB,8BAA+B,GAAGD,EAAQH,CAAS,EAAG,CAClK,CAAC,EACDD,EAAW,YAAc,mBAKzB,IAAMM,EAAmB,aAA4C,CAAC,CAAE,UAAAL,EAAW,GAAGC,CAAM,EAAGC,IAAiB,CAC9G,IAAMC,EAASP,EAAiB,EAChC,OAAO,gBAAC,OAAK,GAAGK,EAAO,IAAKC,EAAc,aAAW,EAAAE,SAAW,qBAAsB,mBAAoB,8BAA+B,GAAGD,EAAQH,CAAS,EAAG,CAClK,CAAC,EACDK,EAAW,YAAc,mBAQzB,IAAMC,EAAe,aAAwC,CAAC,CAAE,UAAAN,EAAW,SAAAR,EAAU,GAAGS,CAAM,EAAGC,IAAiB,CAChH,IAAMC,EAASP,EAAiB,EAChC,OACE,gBAACW,EAAA,CAAW,KAAK,QAAQ,UAAU,kBACjC,gBAAC,OAAK,GAAGN,EAAO,IAAKC,EAAc,aAAW,EAAAE,SAAW,qBAAsB,oBAAqB,GAAGD,EAAQH,CAAS,GACtH,gBAAC,OAAI,UAAU,uBAAuBR,CAAS,CACjD,CACF,CAEJ,CAAC,EACDc,EAAO,YAAc",
6
- "names": ["pane_chrome_exports", "__export", "PaneChromeScope", "PaneFooter", "PaneHeader", "Scroll", "ShellSizeContext", "SidebarVisualContext", "useSidebarVisual", "__toCommonJS", "React", "import_classnames", "React", "import_classnames", "import_radix_ui", "import_internal", "asChildPropDef", "radii", "radiusPropDef", "sizes", "scrollbarsValues", "scrollAreaPropDefs", "asChildPropDef", "radiusPropDef", "React", "useScrollEdges", "enabled", "element", "setElement", "frame", "write", "start", "end", "schedule", "observer", "child", "mutations", "extractMarginProps", "props", "m", "mx", "my", "mt", "mr", "mb", "ml", "rest", "breakpoints", "breakpointSet", "hasOwnProperty", "obj", "key", "breakpointSet", "isResponsiveObject", "obj", "key", "includesValue", "propValues", "propValueSet", "value", "getResponsiveStyles", "className", "customProperties", "args", "responsiveClassNames", "getResponsiveClassNames", "responsiveCustomProperties", "getResponsiveCustomProperties", "allowArbitraryValues", "parseValue", "getBaseClassName", "isResponsiveObject", "object", "classNames", "bp", "hasOwnProperty", "breakpointSet", "baseClassName", "bpClassName", "delimiter", "matchedValue", "isNegative", "minus", "absoluteValue", "styles", "parsed", "customProperty", "bpProperty", "mergeStyles", "styles", "result", "style", "marginValues", "marginPropDefs", "marginValues", "marginPropDefs", "marginValueSet", "MARGIN_PROPS", "getMarginStyles", "props", "classes", "style", "i", "key", "className", "customProperties", "value", "propClassNames", "propCustomProperties", "getResponsiveStyles", "mergeStyles", "React", "getSubtree", "options", "content", "asChild", "children", "firstChild", "ScrollArea", "props", "forwardedRef", "marginRest", "marginProps", "extractMarginProps", "marginClassNames", "marginCustomProperties", "getMarginStyles", "asChild", "children", "className", "style", "type", "scrollHideDelay", "dir", "size", "scrollAreaPropDefs", "radius", "scrollbars", "fade", "viewportProps", "setEdgesElement", "useScrollEdges", "viewportRef", "ScrollAreaPrimitive", "classNames", "mergeStyles", "getSubtree", "getResponsiveClassNames", "SidebarVisualContext", "useSidebarVisual", "ShellSizeContext", "PaneChromeScope", "children", "presentation", "size", "value", "useChromeClasses", "visual", "menuVariant", "PaneHeader", "className", "props", "forwardedRef", "chrome", "classNames", "PaneFooter", "Scroll", "ScrollArea"]
3
+ "sources": ["../../../../src/components/_internal/pane-chrome.tsx", "../../../../src/components/scroll-area.tsx", "../../../../src/props/as-child.prop.ts", "../../../../src/props/radius.prop.ts", "../../../../src/components/scroll-area.props.tsx", "../../../../src/hooks/use-scroll-edges.ts", "../../../../src/hooks/use-thumb-sync.ts", "../../../../src/helpers/extract-margin-props.ts", "../../../../src/props/prop-def.ts", "../../../../src/helpers/has-own-property.ts", "../../../../src/helpers/is-responsive-object.ts", "../../../../src/helpers/get-responsive-styles.ts", "../../../../src/helpers/merge-styles.ts", "../../../../src/props/margin.props.ts", "../../../../src/helpers/get-margin-styles.ts", "../../../../src/helpers/get-subtree.ts"],
4
+ "sourcesContent": ["'use client';\n\n/**\n * A pane's own chrome: a header row, a scrolling region and a footer row.\n *\n * Shell.Sidebar and Shell.Panel render these as `Shell.PaneHeader`, `Shell.Scroll` and\n * `Shell.PaneFooter`. The pane renders anything; with these parts it is the presentation, so\n * Sidebar's menu parts work inside it with no `Sidebar.Root`. The index comes from the nearest\n * Shell (`Shell.Root size`), or from a deprecated `Sidebar.Root` that still wraps them.\n */\n\nimport * as React from 'react';\nimport classNames from 'classnames';\n\nimport { ScrollArea } from '../scroll-area.js';\n\ntype PaneSize = '1' | '2' | '3';\n\ntype SidebarVisualContextValue = {\n size: PaneSize;\n menuVariant: 'solid' | 'soft';\n presentation?: 'thin' | 'expanded';\n color?: string;\n};\n\n/** Size, menu highlight and presentation for the Sidebar parts. Internal: not exported. */\nconst SidebarVisualContext = React.createContext<SidebarVisualContextValue | null>(null);\n\nfunction useSidebarVisual() {\n return React.useContext(SidebarVisualContext);\n}\n\n/** The Shell's index. `Shell.Root size` sets it; panes hand it to their chrome. */\nconst ShellSizeContext = React.createContext<PaneSize>('2');\n\n/**\n * Gives a Shell pane's children the Shell's index, so Sidebar parts size themselves. In a Rail\n * the rows are `thin`: icon tiles with a small label, sub-menus as dropdowns.\n */\nfunction PaneChromeScope({ children, presentation }: { children: React.ReactNode; presentation?: 'thin' }) {\n const size = React.useContext(ShellSizeContext);\n const value = React.useMemo<SidebarVisualContextValue>(() => ({ size, menuVariant: 'soft', presentation }), [size, presentation]);\n return <SidebarVisualContext.Provider value={value}>{children}</SidebarVisualContext.Provider>;\n}\n\nfunction useChromeClasses() {\n const visual = useSidebarVisual();\n const size = visual?.size ?? '2';\n const menuVariant = visual?.menuVariant ?? 'soft';\n return ['rt-ShellPaneChrome', `rt-r-size-${size}`, `rt-menu-variant-${menuVariant}`];\n}\n\ninterface PaneHeaderProps extends React.ComponentPropsWithoutRef<'div'> {}\n\n/** A pane's header row, pinned above its scrolling region. */\nconst PaneHeader = React.forwardRef<HTMLDivElement, PaneHeaderProps>(({ className, ...props }, forwardedRef) => {\n const chrome = useChromeClasses();\n return <div {...props} ref={forwardedRef} className={classNames('rt-ShellPaneHeader', 'rt-SidebarHeader', 'rt-SidebarHeader--container', ...chrome, className)} />;\n});\nPaneHeader.displayName = 'Shell.PaneHeader';\n\ninterface PaneFooterProps extends React.ComponentPropsWithoutRef<'div'> {}\n\n/** A pane's footer row, pinned below its scrolling region. */\nconst PaneFooter = React.forwardRef<HTMLDivElement, PaneFooterProps>(({ className, ...props }, forwardedRef) => {\n const chrome = useChromeClasses();\n return <div {...props} ref={forwardedRef} className={classNames('rt-ShellPaneFooter', 'rt-SidebarFooter', 'rt-SidebarFooter--container', ...chrome, className)} />;\n});\nPaneFooter.displayName = 'Shell.PaneFooter';\n\ninterface ScrollProps extends React.ComponentPropsWithoutRef<'div'> {}\n\n/**\n * The one region of a pane that scrolls; it takes the room the header and footer leave.\n * It is not a landmark: for navigation, pass `role=\"navigation\"` and an `aria-label`.\n */\nconst Scroll = React.forwardRef<HTMLDivElement, ScrollProps>(({ className, children, ...props }, forwardedRef) => {\n const chrome = useChromeClasses();\n return (\n <ScrollArea type=\"hover\" className=\"rt-ShellScroll\">\n <div {...props} ref={forwardedRef} className={classNames('rt-BaseMenuContent', 'rt-SidebarContent', ...chrome, className)}>\n <div className=\"rt-BaseMenuViewport\">{children}</div>\n </div>\n </ScrollArea>\n );\n});\nScroll.displayName = 'Shell.Scroll';\n\nexport { SidebarVisualContext, useSidebarVisual, ShellSizeContext, PaneChromeScope, PaneHeader, PaneFooter, Scroll };\nexport type { SidebarVisualContextValue, PaneSize, PaneHeaderProps, PaneFooterProps, ScrollProps };\n", "import * as React from 'react';\nimport classNames from 'classnames';\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\nimport { useComposedRefs } from 'radix-ui/internal';\n\nimport { scrollAreaPropDefs } from './scroll-area.props.js';\nimport { useScrollEdges } from '../hooks/use-scroll-edges.js';\nimport { useThumbSync } from '../hooks/use-thumb-sync.js';\nimport { extractMarginProps } from '../helpers/extract-margin-props.js';\nimport { getMarginStyles } from '../helpers/get-margin-styles.js';\nimport { getResponsiveClassNames } from '../helpers/get-responsive-styles.js';\nimport { getSubtree } from '../helpers/get-subtree.js';\nimport { mergeStyles } from '../helpers/merge-styles.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype ScrollAreaElement = React.ElementRef<typeof ScrollAreaPrimitive.Viewport>;\ntype ScrollAreaOwnProps = GetPropDefTypes<typeof scrollAreaPropDefs>;\ninterface ScrollAreaProps\n extends ComponentPropsWithout<typeof ScrollAreaPrimitive.Root, RemovedProps>,\n ComponentPropsWithout<typeof ScrollAreaPrimitive.Viewport, RemovedProps | 'dir'>,\n MarginProps,\n ScrollAreaOwnProps {}\nconst ScrollArea = React.forwardRef<ScrollAreaElement, ScrollAreaProps>((props, forwardedRef) => {\n const { rest: marginRest, ...marginProps } = extractMarginProps(props);\n const [marginClassNames, marginCustomProperties] = getMarginStyles(marginProps);\n\n const {\n asChild,\n children,\n className,\n style,\n type,\n scrollHideDelay = type !== 'scroll' ? 0 : undefined,\n dir,\n size = scrollAreaPropDefs.size.default,\n radius = scrollAreaPropDefs.radius.default,\n scrollbars = scrollAreaPropDefs.scrollbars.default,\n fade = scrollAreaPropDefs.fade.default,\n ...viewportProps\n } = marginRest;\n const setEdgesElement = useScrollEdges<HTMLDivElement>(fade);\n const setThumbViewport = useThumbSync<HTMLDivElement>();\n const viewportRef = useComposedRefs(forwardedRef, setEdgesElement, setThumbViewport);\n\n return (\n <ScrollAreaPrimitive.Root\n type={type}\n scrollHideDelay={scrollHideDelay}\n className={classNames('rt-ScrollAreaRoot', marginClassNames, className)}\n data-fade={fade ? '' : undefined}\n style={mergeStyles(marginCustomProperties, style)}\n asChild={asChild}\n >\n {getSubtree({ asChild, children }, (children) => (\n <>\n <ScrollAreaPrimitive.Viewport\n {...viewportProps}\n ref={viewportRef}\n className=\"rt-ScrollAreaViewport\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n\n <div className=\"rt-ScrollAreaViewportFocusRing\" />\n\n {scrollbars !== 'vertical' ? (\n <ScrollAreaPrimitive.Scrollbar\n data-radius={radius}\n orientation=\"horizontal\"\n className={classNames(\n 'rt-ScrollAreaScrollbar',\n getResponsiveClassNames({\n className: 'rt-r-size',\n value: size,\n propValues: scrollAreaPropDefs.size.values,\n }),\n )}\n >\n <ScrollAreaPrimitive.Thumb className=\"rt-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n\n {scrollbars !== 'horizontal' ? (\n <ScrollAreaPrimitive.Scrollbar\n data-radius={radius}\n orientation=\"vertical\"\n className={classNames(\n 'rt-ScrollAreaScrollbar',\n getResponsiveClassNames({\n className: 'rt-r-size',\n value: size,\n propValues: scrollAreaPropDefs.size.values,\n }),\n )}\n >\n <ScrollAreaPrimitive.Thumb className=\"rt-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n\n {scrollbars === 'both' ? (\n <ScrollAreaPrimitive.Corner className=\"rt-ScrollAreaCorner\" />\n ) : null}\n </>\n ))}\n </ScrollAreaPrimitive.Root>\n );\n});\nScrollArea.displayName = 'ScrollArea';\n\nexport { ScrollArea };\nexport type { ScrollAreaProps };\n", "import type { PropDef } from './prop-def.js';\n\nconst asChildPropDef = {\n /**\n * Composes the component into its immediate child instead of rendering its own HTML element.\n * You\u2019ll have to provide a single React Element child.\n */\n asChild: {\n type: 'boolean',\n },\n} satisfies {\n asChild: PropDef<boolean>;\n};\n\nexport { asChildPropDef };\n", "import type { PropDef } from './prop-def.js';\n\nconst radii = ['none', 'small', 'medium', 'large', 'full'] as const;\n\nconst radiusPropDef = {\n radius: {\n type: 'enum',\n values: radii,\n default: undefined,\n },\n} satisfies {\n radius: PropDef<(typeof radii)[number]>;\n};\n\nexport { radiusPropDef, radii };\n", "import { asChildPropDef } from '../props/as-child.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3'] as const;\nconst scrollbarsValues = ['vertical', 'horizontal', 'both'] as const;\n\nconst scrollAreaPropDefs = {\n ...asChildPropDef,\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '1', responsive: true },\n ...radiusPropDef,\n scrollbars: { type: 'enum', values: scrollbarsValues, default: 'both' },\n /**\n * Fades the content toward the top and bottom edges while there is more content past them.\n * An edge with nothing hidden past it does not fade. A floating band over an edge can set\n * `--scroll-fade-start` or `--scroll-fade-end` to its height, so content fades as it passes\n * under the band.\n */\n fade: { type: 'boolean', default: false },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n scrollbars: PropDef<(typeof scrollbarsValues)[number]>;\n fade: PropDef<boolean>;\n};\n\nexport { scrollAreaPropDefs };\n", "import * as React from 'react';\n\n/**\n * Publishes how much content is hidden past each block edge of a scroller, as\n * `--scroll-overflow-start` and `--scroll-overflow-end` (px) on the element.\n * The scroll fade reads them, so an edge fades only while content is hidden\n * there, and the fade ramps in over the first pixels of scrolling.\n *\n * Writes happen at most once per frame, on scroll and when the element or its\n * content resizes. Nothing re-renders.\n */\nexport function useScrollEdges<T extends HTMLElement>(enabled: boolean) {\n const [element, setElement] = React.useState<T | null>(null);\n\n React.useEffect(() => {\n if (!enabled || !element) return;\n let frame = 0;\n const write = () => {\n frame = 0;\n const start = Math.max(0, element.scrollTop);\n const end = Math.max(0, element.scrollHeight - element.clientHeight - element.scrollTop);\n element.style.setProperty('--scroll-overflow-start', `${start}px`);\n element.style.setProperty('--scroll-overflow-end', `${end}px`);\n };\n const schedule = () => {\n if (!frame) frame = requestAnimationFrame(write);\n };\n write();\n element.addEventListener('scroll', schedule, { passive: true });\n const observer = typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(schedule);\n observer?.observe(element);\n for (const child of Array.from(element.children)) observer?.observe(child);\n const mutations = typeof MutationObserver === 'undefined' ? null : new MutationObserver(schedule);\n mutations?.observe(element, { childList: true });\n return () => {\n if (frame) cancelAnimationFrame(frame);\n element.removeEventListener('scroll', schedule);\n observer?.disconnect();\n mutations?.disconnect();\n element.style.removeProperty('--scroll-overflow-start');\n element.style.removeProperty('--scroll-overflow-end');\n };\n }, [enabled, element]);\n\n return setElement;\n}\n", "import * as React from 'react';\n\n/**\n * Keeps a Radix ScrollArea's thumbs on the scroll position on every scroll.\n *\n * Radix moves a thumb from a requestAnimationFrame loop it starts on the first scroll event of a\n * burst. Next's production minifier compiles that self-calling loop away, so in a production\n * build the thumb moves once, sits while the content scrolls, and jumps when the next burst\n * starts. This writes the transform Radix would, at most once per frame. Nothing re-renders.\n *\n * Pass the hook's setter as a ref on `ScrollArea.Viewport`; the scrollbars are its siblings.\n */\nexport function useThumbSync<T extends HTMLElement>() {\n const [viewport, setViewport] = React.useState<T | null>(null);\n\n React.useEffect(() => {\n const root = viewport?.parentElement;\n if (!viewport || !root) return;\n let frame = 0;\n const write = () => {\n frame = 0;\n for (const thumb of root.querySelectorAll<HTMLElement>(':scope > .rt-ScrollAreaScrollbar > .rt-ScrollAreaThumb')) {\n const scrollbar = thumb.parentElement as HTMLElement;\n const style = getComputedStyle(scrollbar);\n if (scrollbar.dataset.orientation === 'horizontal') {\n const track = scrollbar.clientWidth - parseFloat(style.paddingLeft) - parseFloat(style.paddingRight);\n const offset = thumbOffset(viewport.scrollLeft, viewport.scrollWidth - viewport.offsetWidth, track - thumb.offsetWidth);\n thumb.style.transform = `translate3d(${offset}px, 0, 0)`;\n } else {\n const track = scrollbar.clientHeight - parseFloat(style.paddingTop) - parseFloat(style.paddingBottom);\n const offset = thumbOffset(viewport.scrollTop, viewport.scrollHeight - viewport.offsetHeight, track - thumb.offsetHeight);\n thumb.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n }\n };\n const schedule = () => {\n if (!frame) frame = requestAnimationFrame(write);\n };\n viewport.addEventListener('scroll', schedule, { passive: true });\n return () => {\n if (frame) cancelAnimationFrame(frame);\n viewport.removeEventListener('scroll', schedule);\n };\n }, [viewport]);\n\n return setViewport;\n}\n\n/** Radix's mapping: scroll position over its range, onto the room the thumb has to travel. */\nfunction thumbOffset(position: number, range: number, travel: number) {\n if (range <= 0 || travel <= 0) return 0;\n // Right-to-left scrolls run from -range to 0; the thumb then travels from -travel to 0.\n const clamped = Math.min(Math.max(position, -range), range);\n return (clamped / range) * travel;\n}\n", "import type { MarginProps } from '../props/margin.props.js';\n\nexport function extractMarginProps<T extends MarginProps>(props: T) {\n const { m, mx, my, mt, mr, mb, ml, ...rest } = props;\n return { m, mx, my, mt, mr, mb, ml, rest };\n}\n", "import type React from 'react';\n\n// Creates a union type of string literals with strings, but retains intellisense for the literals.\n// Union<string, 'foo' | 'bar'> => string | Omit<string, 'foo' | 'bar'>\ntype Union<S = string, T extends string | number = string> = T | Omit<S, T>;\n\nconst breakpoints = ['initial', 'xs', 'sm', 'md', 'lg', 'xl'] as const;\nconst breakpointSet: Set<string> = new Set(breakpoints);\ntype Breakpoint = (typeof breakpoints)[number];\ntype Responsive<T> = T | Partial<Record<Breakpoint, T>>;\n\ntype BooleanPropDef = {\n type: 'boolean';\n default?: boolean;\n required?: boolean;\n className?: string;\n};\ntype StringPropDef = {\n type: 'string';\n default?: string;\n required?: boolean;\n};\ntype ReactNodePropDef = {\n type: 'ReactNode';\n default?: React.ReactNode;\n required?: boolean;\n};\ntype EnumPropDef<T> = {\n type: 'enum';\n values: readonly T[];\n default?: T;\n required?: boolean;\n};\ntype EnumOrStringPropDef<T> = {\n type: 'enum | string';\n values: readonly T[];\n default?: T | string;\n required?: boolean;\n};\n\ntype NonStylingPropDef = {\n className?: never;\n customProperties?: never;\n parseValue?: never;\n};\n\ntype StylingPropDef = {\n className: string;\n parseValue?: (value: string) => string | undefined;\n};\n\ntype ArbitraryStylingPropDef = {\n className: string;\n customProperties: `--${string}`[];\n parseValue?: (value: string) => string | undefined;\n};\n\ntype RegularPropDef<T> =\n | ReactNodePropDef\n | BooleanPropDef\n | (StringPropDef & ArbitraryStylingPropDef)\n | (StringPropDef & NonStylingPropDef)\n | (EnumPropDef<T> & StylingPropDef)\n | (EnumPropDef<T> & NonStylingPropDef)\n | (EnumOrStringPropDef<T> & ArbitraryStylingPropDef)\n | (EnumOrStringPropDef<T> & NonStylingPropDef);\ntype ResponsivePropDef<T = any> = RegularPropDef<T> & { responsive: true };\ntype PropDef<T = any> = RegularPropDef<T> | ResponsivePropDef<T>;\n\n// prettier-ignore\ntype GetPropDefType<Def> =\n Def extends BooleanPropDef ? (Def extends ResponsivePropDef ? Responsive<boolean> : boolean)\n : Def extends StringPropDef ? (Def extends ResponsivePropDef ? Responsive<string> : string)\n : Def extends ReactNodePropDef ? (Def extends ResponsivePropDef ? Responsive<React.ReactNode> : React.ReactNode)\n : Def extends EnumOrStringPropDef<infer Type> ?\n Def extends ResponsivePropDef<infer Type extends string> ? Responsive<Union<string, Type>> : Type\n : Def extends EnumPropDef<infer Type> ? (Def extends ResponsivePropDef<infer Type> ? Responsive<Type> : Type)\n : never;\n\ntype GetPropDefTypes<P> = {\n [K in keyof P]?: GetPropDefType<P[K]>;\n};\n\nexport { breakpoints, breakpointSet };\nexport type {\n PropDef,\n GetPropDefTypes,\n ResponsivePropDef,\n //\n Breakpoint,\n Responsive,\n Union,\n};\n", "/** A util to check whether the object has a key, while inferring the correct key type */\nfunction hasOwnProperty<K extends string | number | symbol>(\n obj: Record<K, unknown>,\n key: string | number | symbol\n): key is K {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nexport { hasOwnProperty };\n", "import type { Responsive, Breakpoint } from '../props/prop-def.js';\n\n// Use a Set for O(1) lookup instead of array.includes() which is O(n)\nconst breakpointSet = new Set<string>(['initial', 'xs', 'sm', 'md', 'lg', 'xl']);\n\nexport function isResponsiveObject<Value extends string>(\n obj: Responsive<Value | Omit<string, Value>> | undefined\n): obj is Record<Breakpoint, string> {\n if (typeof obj !== 'object' || obj === null) {\n return false;\n }\n // Use for...in to avoid Object.keys() array allocation\n for (const key in obj) {\n if (breakpointSet.has(key)) {\n return true;\n }\n }\n return false;\n}\n", "import { breakpointSet } from '../props/prop-def.js';\nimport { hasOwnProperty } from './has-own-property.js';\nimport { isResponsiveObject } from './is-responsive-object.js';\n\nimport type { Responsive, Union } from '../props/prop-def.js';\n\n/**\n * Membership test against a prop def's enum values. Callers that already hold a\n * compiled prop def pass `propValueSet` for an O(1) lookup; the handful of call\n * sites that build options inline fall back to scanning the array.\n */\nfunction includesValue(propValues: string[] | readonly string[], propValueSet: ReadonlySet<string> | undefined, value: string): boolean {\n return propValueSet !== undefined ? propValueSet.has(value) : propValues.includes(value);\n}\n\ninterface GetResponsiveStylesOptions {\n className: string;\n customProperties: `--${string}`[];\n value: Responsive<Union> | Responsive<string> | undefined;\n propValues: string[] | readonly string[];\n propValueSet?: ReadonlySet<string>;\n parseValue?: (value: string) => string | undefined;\n}\n\nfunction getResponsiveStyles({ className, customProperties, ...args }: GetResponsiveStylesOptions) {\n const responsiveClassNames = getResponsiveClassNames({\n allowArbitraryValues: true,\n className,\n ...args,\n });\n\n const responsiveCustomProperties = getResponsiveCustomProperties({ customProperties, ...args });\n return [responsiveClassNames, responsiveCustomProperties] as const;\n}\n\ninterface GetResponsiveClassNamesOptions {\n allowArbitraryValues?: boolean;\n className: string;\n value: Responsive<Union> | Responsive<string> | undefined;\n propValues: string[] | readonly string[];\n propValueSet?: ReadonlySet<string>;\n parseValue?: (value: string) => string | undefined;\n}\n\nfunction getResponsiveClassNames({ allowArbitraryValues, value, className, propValues, propValueSet, parseValue = (value) => value }: GetResponsiveClassNamesOptions): string | undefined {\n if (!value) {\n return undefined;\n }\n\n if (typeof value === 'string') {\n if (includesValue(propValues, propValueSet, value)) {\n return getBaseClassName(className, value, parseValue);\n }\n return allowArbitraryValues ? className : undefined;\n }\n\n if (isResponsiveObject(value)) {\n const object = value;\n const classNames: string[] = [];\n\n for (const bp in object) {\n // Make sure we are not iterating over keys that aren't breakpoints\n if (!hasOwnProperty(object, bp) || !breakpointSet.has(bp)) {\n continue;\n }\n\n const value = object[bp];\n\n if (value !== undefined) {\n if (includesValue(propValues, propValueSet, value)) {\n const baseClassName = getBaseClassName(className, value, parseValue);\n const bpClassName = bp === 'initial' ? baseClassName : `${bp}:${baseClassName}`;\n classNames.push(bpClassName);\n } else if (allowArbitraryValues) {\n const bpClassName = bp === 'initial' ? className : `${bp}:${className}`;\n classNames.push(bpClassName);\n }\n }\n }\n\n return classNames.length > 0 ? classNames.join(' ') : '';\n }\n\n if (allowArbitraryValues) {\n return className;\n }\n}\n\nfunction getBaseClassName(className: string, value: string, parseValue: (value: string) => string | undefined): string {\n const delimiter = className ? '-' : '';\n const matchedValue = parseValue(value);\n const isNegative = matchedValue?.startsWith('-');\n const minus = isNegative ? '-' : '';\n const absoluteValue = isNegative ? matchedValue?.substring(1) : matchedValue;\n return `${minus}${className}${delimiter}${absoluteValue}`;\n}\n\ninterface GetResponsiveCustomPropertiesOptions {\n customProperties: `--${string}`[];\n value: Responsive<Union> | Responsive<string> | undefined;\n propValues: string[] | readonly string[];\n propValueSet?: ReadonlySet<string>;\n parseValue?: (value: string) => string | undefined;\n}\n\nfunction getResponsiveCustomProperties({ customProperties, value, propValues, propValueSet, parseValue = (value) => value }: GetResponsiveCustomPropertiesOptions) {\n // Don't generate custom properties if the value is not arbitrary\n if (!value || (typeof value === 'string' && includesValue(propValues, propValueSet, value))) {\n return undefined;\n }\n\n let styles: Record<string, string | undefined> | undefined;\n\n if (typeof value === 'string') {\n const parsed = parseValue(value);\n styles = {};\n for (const customProperty of customProperties) {\n styles[customProperty] = parsed;\n }\n return styles;\n }\n\n if (isResponsiveObject(value)) {\n const object = value;\n\n for (const bp in object) {\n // Make sure we are not iterating over keys that aren't breakpoints\n if (!hasOwnProperty(object, bp) || !breakpointSet.has(bp)) {\n continue;\n }\n\n const value = object[bp];\n\n // Don't generate a custom property if the value is not arbitrary\n if (value === undefined || includesValue(propValues, propValueSet, value)) {\n continue;\n }\n\n const parsed = parseValue(value);\n styles ??= {};\n for (const customProperty of customProperties) {\n const bpProperty = bp === 'initial' ? customProperty : `${customProperty}-${bp}`;\n styles[bpProperty] = parsed;\n }\n }\n }\n\n return styles ?? {};\n}\n\nexport { getResponsiveStyles, getResponsiveCustomProperties, getResponsiveClassNames };\n", "type InlineStyle =\n | React.CSSProperties\n | Record<string, string | number | null | undefined>\n | undefined;\n\n// Merges CSS styles like `classNames` merges CSS classes\n// Optimized to avoid object spread in loop - uses Object.assign for in-place mutation\nexport function mergeStyles(...styles: Array<InlineStyle>): InlineStyle {\n let result: Record<string, string | number | null | undefined> | undefined;\n\n for (const style of styles) {\n if (style) {\n if (result === undefined) {\n // First non-empty style - create result object\n result = {};\n }\n Object.assign(result, style);\n }\n }\n\n return result;\n}\n", "import type { PropDef, GetPropDefTypes } from './prop-def.js';\n\n// prettier-ignore\nconst marginValues = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '-1', '-2', '-3', '-4', '-5', '-6', '-7', '-8', '-9', '-10', '-11', '-12'] as const;\n\nconst marginPropDefs = {\n /**\n * Sets the CSS **margin** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * m=\"4\"\n * m=\"100px\"\n * m={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin\n */\n m: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-m',\n customProperties: ['--m'],\n },\n /**\n * Sets the CSS **margin-left** and **margin-right** properties.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mx=\"4\"\n * mx=\"100px\"\n * mx={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right\n */\n mx: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mx',\n customProperties: ['--ml', '--mr'],\n },\n /**\n * Sets the CSS **margin-top** and **margin-bottom** properties.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * my=\"4\"\n * my=\"100px\"\n * my={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom\n */\n my: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-my',\n customProperties: ['--mt', '--mb'],\n },\n /**\n * Sets the CSS **margin-top** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mt=\"4\"\n * mt=\"100px\"\n * mt={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top\n */\n mt: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mt',\n customProperties: ['--mt'],\n },\n /**\n * Sets the CSS **margin-right** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mr=\"4\"\n * mr=\"100px\"\n * mr={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right\n */\n mr: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mr',\n customProperties: ['--mr'],\n },\n /**\n * Sets the CSS **margin-bottom** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mb=\"4\"\n * mb=\"100px\"\n * mb={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom\n */\n mb: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mb',\n customProperties: ['--mb'],\n },\n /**\n * Sets the CSS **margin-left** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * ml=\"4\"\n * ml=\"100px\"\n * ml={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left\n */\n ml: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-ml',\n customProperties: ['--ml'],\n },\n} satisfies {\n m: PropDef<(typeof marginValues)[number]>;\n mx: PropDef<(typeof marginValues)[number]>;\n my: PropDef<(typeof marginValues)[number]>;\n mt: PropDef<(typeof marginValues)[number]>;\n mr: PropDef<(typeof marginValues)[number]>;\n mb: PropDef<(typeof marginValues)[number]>;\n ml: PropDef<(typeof marginValues)[number]>;\n};\n\ntype MarginProps = GetPropDefTypes<typeof marginPropDefs>;\n\nexport { marginPropDefs };\nexport type { MarginProps };\n", "import { getResponsiveStyles } from './get-responsive-styles.js';\nimport { mergeStyles } from './merge-styles.js';\nimport { marginPropDefs } from '../props/margin.props.js';\n\nimport type { MarginProps } from '../props/margin.props.js';\n\nconst marginValues = marginPropDefs.m.values;\nconst marginValueSet: ReadonlySet<string> = new Set(marginValues);\n\n// Static table so the common case \u2014 a component with no margin props at all \u2014\n// is seven property reads and nothing else.\nconst MARGIN_PROPS: ReadonlyArray<{\n key: keyof MarginProps;\n className: string;\n customProperties: `--${string}`[];\n}> = [\n { key: 'm', className: 'rt-r-m', customProperties: ['--margin'] },\n { key: 'mx', className: 'rt-r-mx', customProperties: ['--margin-left', '--margin-right'] },\n { key: 'my', className: 'rt-r-my', customProperties: ['--margin-top', '--margin-bottom'] },\n { key: 'mt', className: 'rt-r-mt', customProperties: ['--margin-top'] },\n { key: 'mr', className: 'rt-r-mr', customProperties: ['--margin-right'] },\n { key: 'mb', className: 'rt-r-mb', customProperties: ['--margin-bottom'] },\n { key: 'ml', className: 'rt-r-ml', customProperties: ['--margin-left'] },\n];\n\nexport function getMarginStyles(props: MarginProps) {\n let classes: string[] | undefined;\n let style: ReturnType<typeof mergeStyles>;\n\n for (let i = 0; i < MARGIN_PROPS.length; i++) {\n const { key, className, customProperties } = MARGIN_PROPS[i];\n const value = props[key];\n if (value === undefined) continue;\n\n const [propClassNames, propCustomProperties] = getResponsiveStyles({\n className,\n customProperties,\n propValues: marginValues,\n propValueSet: marginValueSet,\n value,\n });\n\n if (propClassNames) (classes ??= []).push(propClassNames);\n if (propCustomProperties) style = mergeStyles(style, propCustomProperties);\n }\n\n return [classes !== undefined ? classes.join(' ') : '', style] as const;\n}\n", "import * as React from 'react';\n\n/**\n * This is a helper function that is used when a component supports `asChild`\n * using the `Slot` component but its implementation contains nested DOM elements.\n *\n * Using it ensures if a consumer uses the `asChild` prop, the elements are in\n * correct order in the DOM, adopting the intended consumer `children`.\n */\nexport function getSubtree(\n options: { asChild: boolean | undefined; children: React.ReactNode },\n content: React.ReactNode | ((children: React.ReactNode) => React.ReactNode)\n) {\n const { asChild, children } = options;\n if (!asChild) return typeof content === 'function' ? content(children) : content;\n\n const firstChild = React.Children.only(children) as React.ReactElement;\n return React.cloneElement(firstChild, {\n // @ts-expect-error\n children: typeof content === 'function' ? content(firstChild.props.children) : content,\n });\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["pane_chrome_exports", "__export", "PaneChromeScope", "PaneFooter", "PaneHeader", "Scroll", "ShellSizeContext", "SidebarVisualContext", "useSidebarVisual", "__toCommonJS", "React", "import_classnames", "React", "import_classnames", "import_radix_ui", "import_internal", "asChildPropDef", "radii", "radiusPropDef", "sizes", "scrollbarsValues", "scrollAreaPropDefs", "asChildPropDef", "radiusPropDef", "React", "useScrollEdges", "enabled", "element", "setElement", "frame", "write", "start", "end", "schedule", "observer", "child", "mutations", "React", "useThumbSync", "viewport", "setViewport", "root", "frame", "write", "thumb", "scrollbar", "style", "track", "offset", "thumbOffset", "schedule", "position", "range", "travel", "extractMarginProps", "props", "m", "mx", "my", "mt", "mr", "mb", "ml", "rest", "breakpoints", "breakpointSet", "hasOwnProperty", "obj", "key", "breakpointSet", "isResponsiveObject", "obj", "key", "includesValue", "propValues", "propValueSet", "value", "getResponsiveStyles", "className", "customProperties", "args", "responsiveClassNames", "getResponsiveClassNames", "responsiveCustomProperties", "getResponsiveCustomProperties", "allowArbitraryValues", "parseValue", "getBaseClassName", "isResponsiveObject", "object", "classNames", "bp", "hasOwnProperty", "breakpointSet", "baseClassName", "bpClassName", "delimiter", "matchedValue", "isNegative", "minus", "absoluteValue", "styles", "parsed", "customProperty", "bpProperty", "mergeStyles", "styles", "result", "style", "marginValues", "marginPropDefs", "marginValues", "marginPropDefs", "marginValueSet", "MARGIN_PROPS", "getMarginStyles", "props", "classes", "style", "i", "key", "className", "customProperties", "value", "propClassNames", "propCustomProperties", "getResponsiveStyles", "mergeStyles", "React", "getSubtree", "options", "content", "asChild", "children", "firstChild", "ScrollArea", "props", "forwardedRef", "marginRest", "marginProps", "extractMarginProps", "marginClassNames", "marginCustomProperties", "getMarginStyles", "asChild", "children", "className", "style", "type", "scrollHideDelay", "dir", "size", "scrollAreaPropDefs", "radius", "scrollbars", "fade", "viewportProps", "setEdgesElement", "useScrollEdges", "setThumbViewport", "useThumbSync", "viewportRef", "ScrollAreaPrimitive", "classNames", "mergeStyles", "getSubtree", "getResponsiveClassNames", "SidebarVisualContext", "useSidebarVisual", "ShellSizeContext", "PaneChromeScope", "children", "presentation", "size", "value", "useChromeClasses", "visual", "menuVariant", "PaneHeader", "className", "props", "forwardedRef", "chrome", "classNames", "PaneFooter", "Scroll", "ScrollArea"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var Ot=Object.create;var be=Object.defineProperty;var Ht=Object.getOwnPropertyDescriptor;var It=Object.getOwnPropertyNames;var $t=Object.getPrototypeOf,jt=Object.prototype.hasOwnProperty;var Ft=(e,t)=>{for(var n in t)be(e,n,{get:t[n],enumerable:!0})},Ye=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of It(t))!jt.call(e,o)&&o!==n&&be(e,o,{get:()=>t[o],enumerable:!(r=Ht(t,o))||r.enumerable});return e};var H=(e,t,n)=>(n=e!=null?Ot($t(e)):{},Ye(t||!e||!e.__esModule?be(n,"default",{value:e,enumerable:!0}):n,e)),Ut=e=>Ye(be({},"__esModule",{value:!0}),e);var vn={};Ft(vn,{Sidebar:()=>qe});module.exports=Ut(vn);var _=H(require("react")),Lt=H(require("classnames")),Mt=require("radix-ui/internal");var ge=H(require("react")),ke=ge.createContext(null);function Je(){let e=ge.useContext(ke);if(!e)throw new Error("Shell.Handle must be used within a resizable pane");return e}var h=H(require("react")),Ze=H(require("classnames"));var re=h.forwardRef(({className:e,children:t,...n},r)=>{let{containerRef:o,controls:s,cssVarName:a,minSize:u,maxSize:c,defaultSize:p,orientation:f,edge:z,growth:x,onResize:w,onResizeStart:I,onResizeEnd:k,snapPoints:E,snapTolerance:S,collapseThreshold:D,collapsible:B,target:U,requestCollapse:ee,requestToggle:$}=Je(),O=h.useRef(null),Q=h.useCallback(l=>{O.current=l,typeof r=="function"?r(l):r&&(r.current=l)},[r]),i=h.useRef(null);h.useEffect(()=>()=>{i.current?.(),i.current=null},[]);let b=h.useCallback(()=>{let l=o.current;if(!l)return p;let g=Number.parseFloat(getComputedStyle(l).getPropertyValue(a));return Number.isFinite(g)?g:p},[o,a,p]),C=h.useCallback(()=>{let l=o.current,g=O.current,P=l?.closest(".rt-ShellRoot")?.getBoundingClientRect();if(!l||!P||!g)return c;let v=l.getBoundingClientRect(),A=g.getBoundingClientRect(),M=x(getComputedStyle(l).direction==="rtl"),R;f==="vertical"?R=M>0?P.right-v.left:v.right-P.left:R=M>0?P.bottom-v.top:v.bottom-P.top;let Y=f==="vertical"?A.width:A.height;return!(P.width>0&&P.height>0)||!Number.isFinite(R)?c:Math.max(u,Math.min(c,Math.round(R-Y)))},[o,x,c,u,f]),T=()=>{O.current?.setAttribute("aria-valuemax",String(C()))};h.useLayoutEffect(()=>{O.current?.setAttribute("aria-valuenow",String(Math.round(b())))},[b]);let N=(l,g)=>{l.style.setProperty(a,`${g}px`),O.current?.setAttribute("aria-valuenow",String(Math.round(g)))},X=U.charAt(0).toUpperCase()+U.slice(1);return h.createElement("div",{ref:Q,className:(0,Ze.default)("rt-ShellResizer",e),"data-orientation":f,"data-edge":z,role:"separator",tabIndex:0,"aria-label":`Resize ${X} pane`,"aria-controls":s,"aria-orientation":f,"aria-valuemin":u,"aria-valuemax":c,...n,onPointerDown:l=>{n.onPointerDown?.(l);let g=o.current;if(!g||l.defaultPrevented||l.button!==0)return;l.preventDefault();let P=l.currentTarget,v=l.pointerId;i.current?.();try{P.setPointerCapture(v)}catch{}let A=getComputedStyle(g),M=Number.parseFloat(A.getPropertyValue(a)),R=Number.isFinite(M)?M:p,Y=f==="vertical"?l.clientX:l.clientY,d=x(A.direction==="rtl"),q=C();P.setAttribute("aria-valuemax",String(q));let G=L=>Math.min(Math.max(L,u),q);g.setAttribute("data-resizing",""),P.setAttribute("data-dragging","");let J=document.body,Te=J.style.cursor,At=J.style.userSelect;J.style.cursor=f==="vertical"?"col-resize":"row-resize",J.style.userSelect="none",I?.(R);let ne=R,Ne=R,K=0,ue=null,We=()=>{if(K=0,ue===null)return;let L=ue;ue=null,w?.(L)},_e=null,Ge=!1,Bt=(L,ie)=>{if(L.type===ie)Ge=!0;else if(Ge)return!1;return!0},Z=L=>{if(!Bt(L,"pointermove")||L===_e)return;_e=L;let ie=f==="vertical"?L.clientX:L.clientY;Ne=R+(ie-Y)*d,ne=G(Ne),N(g,ne),ue=ne,K||(K=requestAnimationFrame(We))},me=()=>{K&&cancelAnimationFrame(K),K=0;try{P.releasePointerCapture(v)}catch{}window.removeEventListener("pointermove",Z),document.removeEventListener("pointermove",Z),window.removeEventListener("mousemove",Z),document.removeEventListener("mousemove",Z),P.removeEventListener("pointermove",Z),window.removeEventListener("pointerup",j),document.removeEventListener("pointerup",j),window.removeEventListener("mouseup",j),document.removeEventListener("mouseup",j),window.removeEventListener("pointercancel",j),document.removeEventListener("pointercancel",j),window.removeEventListener("keydown",Ke),P.removeEventListener("lostpointercapture",j),g.removeAttribute("data-resizing"),P.removeAttribute("data-dragging"),J.style.cursor=Te,J.style.userSelect=At,i.current=null},Ve=!1,j=()=>{if(Ve)return;if(Ve=!0,K&&cancelAnimationFrame(K),We(),B&&typeof D=="number"&&Ne<=D){N(g,R),w?.(R),me(),ee?.(),k?.(R);return}let L=ne;if(E&&E.length){let ie=E.reduce((Qe,Xe)=>Math.abs(Xe-ne)<Math.abs(Qe-ne)?Xe:Qe,E[0]);Math.abs(ie-ne)<=S&&(L=G(ie),N(g,L),w?.(L))}k?.(L),me()},Ke=L=>{L.key==="Escape"&&(K&&cancelAnimationFrame(K),K=0,ue=null,N(g,R),w?.(R),Ve=!0,k?.(R),me())};window.addEventListener("pointermove",Z),document.addEventListener("pointermove",Z),window.addEventListener("mousemove",Z),document.addEventListener("mousemove",Z),P.addEventListener("pointermove",Z),window.addEventListener("pointerup",j),document.addEventListener("pointerup",j),window.addEventListener("mouseup",j),document.addEventListener("mouseup",j),window.addEventListener("pointercancel",j),document.addEventListener("pointercancel",j),window.addEventListener("keydown",Ke),P.addEventListener("lostpointercapture",j),i.current=me},onDoubleClick:l=>{n.onDoubleClick?.(l),!l.defaultPrevented&&B&&$?.()},onFocus:l=>{n.onFocus?.(l),T()},onKeyDown:l=>{n.onKeyDown?.(l);let g=o.current;if(!g||l.defaultPrevented)return;let P=b(),v=C(),A=R=>Math.min(Math.max(R,u),v),M;if(l.key==="Home")M=A(u);else if(l.key==="End")M=A(v);else{let R=f==="vertical"?l.key==="ArrowRight"?1:l.key==="ArrowLeft"?-1:0:l.key==="ArrowDown"?1:l.key==="ArrowUp"?-1:0;if(R===0)return;let Y=l.shiftKey?32:8;M=A(P+R*Y*x(getComputedStyle(g).direction==="rtl"))}l.preventDefault(),I?.(P),N(g,M),w?.(M),k?.(M)}},t)});re.displayName="Shell.Handle";var qt=h.forwardRef((e,t)=>h.createElement(re,{...e,ref:t}));qt.displayName="Shell.Panel.Handle";var ye=h.forwardRef((e,t)=>h.createElement(re,{...e,ref:t}));ye.displayName="Shell.Sidebar.Handle";var Wt=h.forwardRef((e,t)=>h.createElement(re,{...e,ref:t}));Wt.displayName="Shell.Inspector.Handle";var _t=h.forwardRef((e,t)=>h.createElement(re,{...e,ref:t}));_t.displayName="Shell.Bottom.Handle";var y=H(require("react"));var de=H(require("react"));var et={xs:"(min-width: 520px)",sm:"(min-width: 768px)",md:"(min-width: 1024px)",lg:"(min-width: 1280px)",xl:"(min-width: 1640px)"},Pe=["initial","xs","sm","md","lg","xl"];var Gt=Object.entries(et),De=null,ce=new Set,oe=null;function Le(){return De??(De=Gt.map(([e,t])=>[e,window.matchMedia(t)])),De}function ve(){let e="initial";for(let[t,n]of Le())n.matches&&(e=t);return e}function Re(){let e=ve();e!==oe&&(oe=e,ce.forEach(t=>t()))}function tt(e){if(typeof window>"u")return()=>{};if(ce.size===0){oe=ve();for(let[,t]of Le())typeof t.addEventListener=="function"?t.addEventListener("change",Re):t.addListener?.(Re)}return ce.add(e),()=>{if(ce.delete(e),!(ce.size>0)){for(let[,t]of Le())try{typeof t.removeEventListener=="function"?t.removeEventListener("change",Re):t.removeListener?.(Re)}catch{}oe=null}}}function Kt(){return typeof window>"u"?"initial":(oe??(oe=ve()),oe)}function Qt(){return"initial"}function pe(){return typeof window>"u"?"initial":ve()}var Xt=()=>!0,Yt=()=>!1,nt=()=>()=>{},Jt=()=>"initial";function rt(e=!0){let t=de.useSyncExternalStore(e?tt:nt,e?Kt:Jt,Qt),n=de.useSyncExternalStore(e?tt:nt,Xt,Yt);return de.useMemo(()=>({breakpoint:t,ready:n}),[t,n])}var W=H(require("react"));function ot(e){return typeof e=="object"&&e!==null}function fe(e,t){let n={},r=null;for(let o of Pe){if(e!==void 0&&!ot(e)){n[o]=e;continue}let s=ot(e)?e[o]:void 0;s!==void 0&&(r={value:s}),n[o]=r?r.value:t(o)}return n}function le(e){let t=e.initial;return Pe.every(n=>e[n]===t)?t:void 0}function Me(e,t){let n=le(t);if(n!==void 0)return{[`data-${e}`]:n};let r={};for(let o of Pe)r[`data-${e}-${o}`]=t[o];return r}function Ae(e){return typeof e=="object"&&e!==null?JSON.stringify(e):String(e)}var Nn=fe("fixed",()=>"fixed");function Be(e){e.version+=1;for(let t of e.listeners)t()}function Zt(e,t){return e.listeners.add(t),()=>{e.listeners.delete(t)}}var en=W.createContext(null);function st(e){let t=W.useContext(en);if(!t)throw new Error(`${e} must be used within <Shell.Root>`);return t}function at(e,t){let n=W.useCallback(r=>Zt(e,r),[e]);return W.useSyncExternalStore(n,()=>e.peek===t,()=>!1)}var tn=W.createContext(null);function it(e,t){let n=W.useContext(tn);if(!n)throw new Error("Shell panes must be used within <Shell.Root>");let{registerInset:r,unregisterInset:o}=n;W.useLayoutEffect(()=>{if(t)return r(e),()=>o(e)},[e,t,r,o])}var Oe=e=>typeof e=="object"&&e!==null;function rn(e){for(let t of["initial","xs","sm","md","lg","xl"]){let n=e[t];if(n!==void 0)return n}return"closed"}function lt(e){let{name:t,label:n,propNames:r,presentationTable:o,builtIn:s}=e,a=st(`Shell.${n}`),u=y.useId(),c=e.id??`shell-${t}${u}`,p=e.controlled!==void 0,f=Oe(e.controlled);f&&(`${n}${r.controlled}${r.default}`,void 0);let z=f?e.controlled:void 0,x=z??(Oe(e.defaultValue)?e.defaultValue:void 0),w=Ae(x),[I,k]=y.useState(()=>typeof e.defaultValue=="string"?e.defaultValue:"auto"),E=y.useMemo(()=>z?fe(z,()=>rn(z)):fe(x,d=>s(o[d])),[w,f,o,s]),S=I;p&&(S=z?"auto":e.controlled);let D=le(o)===void 0||S==="auto"&&le(E)===void 0,{breakpoint:B,ready:U}=rt(D),ee=d=>{let q=le(d);return q!==void 0?q:U?d[B]:void 0},$=S==="auto"?ee(E):S,O=ee(o),Q=O==="overlay",i=$===void 0?void 0:$!=="closed",b=i===!0&&Q,C=e.defaultValue,T=y.useRef({state:S,value:$,autoTable:E,defaultValue:C,controlled:p,onChange:e.onChange,toggleNext:e.toggleNext});y.useLayoutEffect(()=>{T.current={state:S,value:$,autoTable:E,defaultValue:C,controlled:p,onChange:e.onChange,toggleNext:e.toggleNext}});let N=y.useCallback(()=>{let d=T.current;return d.value!==void 0?d.value:d.state==="auto"?d.autoTable[pe()]:void 0},[]),X=y.useCallback(()=>{let d=T.current;return typeof d.defaultValue=="string"?d.defaultValue:Oe(d.defaultValue)?d.autoTable[pe()]:void 0},[]),l=y.useCallback((d,q)=>{let G=T.current;N()!==d&&(G.onChange?.(d,q),G.controlled||k(d))},[N]),g=y.useCallback(d=>{let q=T.current,G=N()??"closed",J=q.toggleNext?q.toggleNext(G,X()):G==="closed"?"open":"closed";l(J,d)},[l,N,X]),P=y.useRef(null),v=y.useCallback(d=>{P.current=d},[]);y.useLayoutEffect(()=>{let d={name:t,id:c,el:P.current,value:$,presentation:O,presentationTable:o,overlayLive:b,size:e.size,setValue:l,toggle:g};return a.entries.set(t,d),Be(a),()=>{a.entries.get(t)===d&&(a.entries.delete(t),Be(a))}},[a,t,c,$,O,o,b,e.size,l,g]);let A=y.useRef({onExpand:e.onExpand,onCollapse:e.onCollapse});y.useLayoutEffect(()=>{A.current={onExpand:e.onExpand,onCollapse:e.onCollapse}});let M=y.useRef({state:S,shown:i});y.useEffect(()=>{let d=M.current;d.state!==S&&d.shown!==void 0&&i!==void 0&&d.shown!==i&&(i?A.current.onExpand?.():A.current.onCollapse?.()),M.current={state:S,shown:i}},[S,i]),y.useLayoutEffect(()=>{},[]);let R=y.useRef(p);y.useEffect(()=>{},[p,n,r.controlled]);let Y=at(a,t)&&i===!1&&!Q;return{store:a,id:c,state:S,value:$,shown:i,presentation:O,overlaying:Q,overlayLive:b,peeking:Y,ready:U,breakpoint:B,autoTable:E,setValue:l,toggle:g,defaultHereNow:X,setElement:v}}function ut(e,t){let{state:n,value:r,presentation:o,shown:s}=e;return{...t,"data-state":n,...n==="auto"?Me("auto",e.autoTable):{},"data-presentation":o,"data-mode":r===void 0?void 0:r==="closed"?"collapsed":"expanded","data-open":o==="stacked"&&s?"":void 0,"data-peek":e.peeking?"":void 0}}function ct(e,t){let n=Ae(e),r=y.useMemo(()=>fe(e,()=>t),[n,t]),o=y.useMemo(()=>le(r)===void 0?Me("presentation",r):{},[r]);return{table:r,attributes:o}}var m=H(require("react"));function dt(e,t="horizontal"){if(e==null)return;if(typeof e=="number"&&Number.isFinite(e))return e;let n=String(e).trim();if(!n)return;if(n.endsWith("px"))return Number.parseFloat(n);if(n.endsWith("rem")){let o=Number.parseFloat(getComputedStyle(document.documentElement).fontSize||"16")||16;return Number.parseFloat(n)*o}if(n.endsWith("%")){let o=Number.parseFloat(n),s=t==="horizontal"?document.documentElement.clientWidth||window.innerWidth||0:document.documentElement.clientHeight||window.innerHeight||0;return o/100*s}let r=Number.parseFloat(n);return Number.isFinite(r)?r:void 0}var He=(e,t,n)=>Math.max(t??e,Math.min(n??e,e));function pt(e){let{name:t,elementRef:n,cssVarName:r,orientation:o,minSize:s,maxSize:a,resizable:u,size:c,defaultSize:p,paneId:f,persistence:z}=e,x=m.useRef(e);m.useLayoutEffect(()=>{x.current=e});let w=m.useRef(null),I=m.useRef(0);m.useEffect(()=>()=>{w.current&&clearTimeout(w.current)},[]);let k=m.useCallback((i,b)=>{let{onSizeChange:C,sizeUpdate:T,sizeUpdateMs:N}=x.current;if(C){if(T==="debounce"){w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{w.current=null,x.current.onSizeChange?.(i,b)},N);return}if(T==="throttle"){let X=Date.now();if(X-I.current<N)return;I.current=X}C(i,b)}},[]),E=m.useCallback(i=>dt(i,o==="vertical"?"horizontal":"vertical"),[o]),S=m.useRef(!1),D=m.useCallback((i,b)=>{let C=n.current;if(C){C.style.setProperty(r,`${i}px`);for(let T of C.querySelectorAll(":scope > .rt-ShellResizer"))T.setAttribute("aria-valuenow",String(Math.round(i)));b&&(S.current=!0)}},[n,r]);m.useLayoutEffect(()=>{S.current||D(e.expandedSize,!1)},[e.expandedSize,D]),m.useLayoutEffect(()=>{if(c!==void 0||p===void 0)return;let i=E(p);if(typeof i!="number"||!Number.isFinite(i))return;let b=He(i,s,a);D(b,!0),k(b,{reason:"init"})},[]),m.useLayoutEffect(()=>{if(c===void 0||x.current.overlayingNow())return;let i=E(c);if(typeof i!="number"||!Number.isFinite(i))return;let b=He(i,s,a);D(b,!0),k(b,{reason:"controlled"})},[c,s,a,e.overlaying,E,D,k]);let B=m.useMemo(()=>{if(!f||z)return z;let i=`kookie-ui:shell:${t}:${f}`;return{load:()=>{if(!(typeof window>"u"))try{let b=window.localStorage.getItem(i);return b?Number(b):void 0}catch{return}},save:b=>{if(!(typeof window>"u"))try{window.localStorage.setItem(i,String(b))}catch{}}}},[t,f,z]);m.useLayoutEffect(()=>{if(!u||!B?.load||x.current.overlayingNow())return;let i=!0,b=T=>{if(!i||typeof T!="number"||!Number.isFinite(T))return;let N=He(T,s,a);D(N,!0),x.current.onResize?.(N)},C=B.load();return C instanceof Promise?C.then(b).catch(T=>{}):b(C),()=>{i=!1}},[u,B,e.overlaying,D,s,a,t]);let U=m.useCallback(i=>x.current.onResize?.(i),[]),ee=m.useCallback(i=>{S.current=!0,x.current.onResizeStart?.(i)},[]),$=m.useCallback(i=>{x.current.onResizeEnd?.(i),k(i,{reason:"resize"}),B?.save?.(i)},[k,B]),O=m.useCallback(()=>x.current.requestCollapse(),[]),Q=m.useCallback(()=>x.current.requestToggle(),[]);return m.useMemo(()=>({containerRef:n,controls:e.elementId,cssVarName:r,minSize:s,maxSize:a,defaultSize:e.expandedSize,orientation:o,edge:e.edge,growth:e.growth,onResize:U,onResizeStart:ee,onResizeEnd:$,target:t,collapsible:e.collapsible,snapPoints:e.snapPoints,snapTolerance:e.snapTolerance??8,collapseThreshold:e.collapseThreshold,requestCollapse:O,requestToggle:Q}),[n,e.elementId,r,s,a,e.expandedSize,o,e.edge,e.growth,U,ee,$,t,e.collapsible,e.snapPoints,e.snapTolerance,e.collapseThreshold,O,Q])}function ft(e,t){let n=m.Children.toArray(e),r=n.filter(s=>m.isValidElement(s)&&s.type===t),o=n.filter(s=>!(m.isValidElement(s)&&s.type===t));return{handles:r,content:o}}var mt=e=>e==="overlay"?"closed":"open";var bt=e=>e?-1:1;function gt(e){if(!("height"in e)&&!("resizer"in e))return e;let{height:t,resizer:n,...r}=e;return r}var V=H(require("react")),we=H(require("classnames"));var F=H(require("react")),ze=H(require("classnames")),te=require("radix-ui"),Tt=require("radix-ui/internal");var yt={asChild:{type:"boolean"}};var on=["none","small","medium","large","full"],Pt={radius:{type:"enum",values:on,default:void 0}};var sn=["1","2","3"],an=["vertical","horizontal","both"],se={...yt,size:{type:"enum",className:"rt-r-size",values:sn,default:"1",responsive:!0},...Pt,scrollbars:{type:"enum",values:an,default:"both"},fade:{type:"boolean",default:!1}};var Se=H(require("react"));function Rt(e){let[t,n]=Se.useState(null);return Se.useEffect(()=>{if(!e||!t)return;let r=0,o=()=>{r=0;let c=Math.max(0,t.scrollTop),p=Math.max(0,t.scrollHeight-t.clientHeight-t.scrollTop);t.style.setProperty("--scroll-overflow-start",`${c}px`),t.style.setProperty("--scroll-overflow-end",`${p}px`)},s=()=>{r||(r=requestAnimationFrame(o))};o(),t.addEventListener("scroll",s,{passive:!0});let a=typeof ResizeObserver>"u"?null:new ResizeObserver(s);a?.observe(t);for(let c of Array.from(t.children))a?.observe(c);let u=typeof MutationObserver>"u"?null:new MutationObserver(s);return u?.observe(t,{childList:!0}),()=>{r&&cancelAnimationFrame(r),t.removeEventListener("scroll",s),a?.disconnect(),u?.disconnect(),t.style.removeProperty("--scroll-overflow-start"),t.style.removeProperty("--scroll-overflow-end")}},[e,t]),n}function vt(e){let{m:t,mx:n,my:r,mt:o,mr:s,mb:a,ml:u,...c}=e;return{m:t,mx:n,my:r,mt:o,mr:s,mb:a,ml:u,rest:c}}var ln=["initial","xs","sm","md","lg","xl"],Ie=new Set(ln);function $e(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var un=new Set(["initial","xs","sm","md","lg","xl"]);function je(e){if(typeof e!="object"||e===null)return!1;for(let t in e)if(un.has(t))return!0;return!1}function he(e,t,n){return t!==void 0?t.has(n):e.includes(n)}function ht({className:e,customProperties:t,...n}){let r=xe({allowArbitraryValues:!0,className:e,...n}),o=cn({customProperties:t,...n});return[r,o]}function xe({allowArbitraryValues:e,value:t,className:n,propValues:r,propValueSet:o,parseValue:s=a=>a}){if(t){if(typeof t=="string")return he(r,o,t)?St(n,t,s):e?n:void 0;if(je(t)){let a=t,u=[];for(let c in a){if(!$e(a,c)||!Ie.has(c))continue;let p=a[c];if(p!==void 0){if(he(r,o,p)){let f=St(n,p,s),z=c==="initial"?f:`${c}:${f}`;u.push(z)}else if(e){let f=c==="initial"?n:`${c}:${n}`;u.push(f)}}}return u.length>0?u.join(" "):""}if(e)return n}}function St(e,t,n){let r=e?"-":"",o=n(t),s=o?.startsWith("-"),a=s?"-":"",u=s?o?.substring(1):o;return`${a}${e}${r}${u}`}function cn({customProperties:e,value:t,propValues:n,propValueSet:r,parseValue:o=s=>s}){if(!t||typeof t=="string"&&he(n,r,t))return;let s;if(typeof t=="string"){let a=o(t);s={};for(let u of e)s[u]=a;return s}if(je(t)){let a=t;for(let u in a){if(!$e(a,u)||!Ie.has(u))continue;let c=a[u];if(c===void 0||he(n,r,c))continue;let p=o(c);s??(s={});for(let f of e){let z=u==="initial"?f:`${f}-${u}`;s[z]=p}}}return s??{}}function Ee(...e){let t;for(let n of e)n&&(t===void 0&&(t={}),Object.assign(t,n));return t}var ae=["0","1","2","3","4","5","6","7","8","9","10","11","12","-1","-2","-3","-4","-5","-6","-7","-8","-9","-10","-11","-12"],xt={m:{type:"enum | string",values:ae,responsive:!0,className:"rt-r-m",customProperties:["--m"]},mx:{type:"enum | string",values:ae,responsive:!0,className:"rt-r-mx",customProperties:["--ml","--mr"]},my:{type:"enum | string",values:ae,responsive:!0,className:"rt-r-my",customProperties:["--mt","--mb"]},mt:{type:"enum | string",values:ae,responsive:!0,className:"rt-r-mt",customProperties:["--mt"]},mr:{type:"enum | string",values:ae,responsive:!0,className:"rt-r-mr",customProperties:["--mr"]},mb:{type:"enum | string",values:ae,responsive:!0,className:"rt-r-mb",customProperties:["--mb"]},ml:{type:"enum | string",values:ae,responsive:!0,className:"rt-r-ml",customProperties:["--ml"]}};var Ct=xt.m.values,dn=new Set(Ct),Et=[{key:"m",className:"rt-r-m",customProperties:["--margin"]},{key:"mx",className:"rt-r-mx",customProperties:["--margin-left","--margin-right"]},{key:"my",className:"rt-r-my",customProperties:["--margin-top","--margin-bottom"]},{key:"mt",className:"rt-r-mt",customProperties:["--margin-top"]},{key:"mr",className:"rt-r-mr",customProperties:["--margin-right"]},{key:"mb",className:"rt-r-mb",customProperties:["--margin-bottom"]},{key:"ml",className:"rt-r-ml",customProperties:["--margin-left"]}];function zt(e){let t,n;for(let r=0;r<Et.length;r++){let{key:o,className:s,customProperties:a}=Et[r],u=e[o];if(u===void 0)continue;let[c,p]=ht({className:s,customProperties:a,propValues:Ct,propValueSet:dn,value:u});c&&(t??(t=[])).push(c),p&&(n=Ee(n,p))}return[t!==void 0?t.join(" "):"",n]}var Ce=H(require("react"));function wt(e,t){let{asChild:n,children:r}=e;if(!n)return typeof t=="function"?t(r):t;let o=Ce.Children.only(r);return Ce.cloneElement(o,{children:typeof t=="function"?t(o.props.children):t})}var Fe=F.forwardRef((e,t)=>{let{rest:n,...r}=vt(e),[o,s]=zt(r),{asChild:a,children:u,className:c,style:p,type:f,scrollHideDelay:z=f!=="scroll"?0:void 0,dir:x,size:w=se.size.default,radius:I=se.radius.default,scrollbars:k=se.scrollbars.default,fade:E=se.fade.default,...S}=n,D=Rt(E),B=(0,Tt.useComposedRefs)(t,D);return F.createElement(te.ScrollArea.Root,{type:f,scrollHideDelay:z,className:(0,ze.default)("rt-ScrollAreaRoot",o,c),"data-fade":E?"":void 0,style:Ee(s,p),asChild:a},wt({asChild:a,children:u},U=>F.createElement(F.Fragment,null,F.createElement(te.ScrollArea.Viewport,{...S,ref:B,className:"rt-ScrollAreaViewport"},U),F.createElement("div",{className:"rt-ScrollAreaViewportFocusRing"}),k!=="vertical"?F.createElement(te.ScrollArea.Scrollbar,{"data-radius":I,orientation:"horizontal",className:(0,ze.default)("rt-ScrollAreaScrollbar",xe({className:"rt-r-size",value:w,propValues:se.size.values}))},F.createElement(te.ScrollArea.Thumb,{className:"rt-ScrollAreaThumb"})):null,k!=="horizontal"?F.createElement(te.ScrollArea.Scrollbar,{"data-radius":I,orientation:"vertical",className:(0,ze.default)("rt-ScrollAreaScrollbar",xe({className:"rt-r-size",value:w,propValues:se.size.values}))},F.createElement(te.ScrollArea.Thumb,{className:"rt-ScrollAreaThumb"})):null,k==="both"?F.createElement(te.ScrollArea.Corner,{className:"rt-ScrollAreaCorner"}):null)))});Fe.displayName="ScrollArea";var Nt=V.createContext(null);function pn(){return V.useContext(Nt)}var fn=V.createContext("2");function Vt({children:e,presentation:t}){let n=V.useContext(fn),r=V.useMemo(()=>({size:n,menuVariant:"soft",presentation:t}),[n,t]);return V.createElement(Nt.Provider,{value:r},e)}function Ue(){let e=pn(),t=e?.size??"2",n=e?.menuVariant??"soft";return["rt-ShellPaneChrome",`rt-r-size-${t}`,`rt-menu-variant-${n}`]}var mn=V.forwardRef(({className:e,...t},n)=>{let r=Ue();return V.createElement("div",{...t,ref:n,className:(0,we.default)("rt-ShellPaneHeader","rt-SidebarHeader","rt-SidebarHeader--container",...r,e)})});mn.displayName="Shell.PaneHeader";var bn=V.forwardRef(({className:e,...t},n)=>{let r=Ue();return V.createElement("div",{...t,ref:n,className:(0,we.default)("rt-ShellPaneFooter","rt-SidebarFooter","rt-SidebarFooter--container",...r,e)})});bn.displayName="Shell.PaneFooter";var gn=V.forwardRef(({className:e,children:t,...n},r)=>{let o=Ue();return V.createElement(Fe,{type:"hover",className:"rt-ShellScroll"},V.createElement("div",{...n,ref:r,className:(0,we.default)("rt-BaseMenuContent","rt-SidebarContent",...o,e)},V.createElement("div",{className:"rt-BaseMenuViewport"},t)))});gn.displayName="Shell.Scroll";var kt=e=>e==="collapsed"?"closed":"open",yn=e=>e==="closed"?"collapsed":"expanded";function Dt(e){if(e===void 0)return;if(typeof e=="string")return kt(e);let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=kt(r));return t}var Pn={controlled:"state",default:"defaultState"},Rn={initial:"overlay",sm:"fixed"},qe=_.forwardRef((e,t)=>{let{className:n,presentation:r=Rn,expandedSize:o=288,minSize:s=200,maxSize:a=400,resizable:u=!1,collapsible:c=!0,onExpand:p,onCollapse:f,onResize:z,onResizeStart:x,onResizeEnd:w,snapPoints:I,snapTolerance:k,collapseThreshold:E,paneId:S,persistence:D,children:B,style:U,state:ee,defaultState:$,onStateChange:O,size:Q,defaultSize:i,onSizeChange:b,sizeUpdate:C,sizeUpdateMs:T=50,inset:N,id:X,...l}=e,{table:g,attributes:P}=ct(r,"fixed"),v=lt({name:"sidebar",label:"Sidebar",propNames:Pn,id:X,controlled:Dt(ee),defaultValue:Dt($),presentationTable:g,builtIn:mt,onChange:(J,Te)=>O?.(yn(J),{reason:Te}),onExpand:p,onCollapse:f,size:o});it("sidebar",N),_.useEffect(()=>{(I!==void 0||E!==void 0||S!==void 0||D!==void 0)&&void 0},[I,E,S,D]);let A=_.useRef(null),M=(0,Mt.useComposedRefs)(t,v.setElement,A),R=pt({name:"sidebar",elementId:v.id,elementRef:A,cssVarName:"--sidebar-size",orientation:"vertical",edge:"end",growth:bt,expandedSize:o,minSize:s,maxSize:a,resizable:u,collapsible:c,size:Q,defaultSize:i,onSizeChange:b,sizeUpdate:C,sizeUpdateMs:T,onResize:z,onResizeStart:x,onResizeEnd:w,snapPoints:I,snapTolerance:k,collapseThreshold:E,paneId:S,persistence:D,overlaying:v.overlaying,overlayingNow:()=>g[pe()]==="overlay",requestCollapse:()=>v.setValue("closed","toggle"),requestToggle:()=>v.toggle("toggle")}),{handles:Y,content:d}=ft(B,ye),q=u&&v.value!=="closed"&&!v.overlaying?_.createElement(ke.Provider,{value:R},Y.length>0?Y:_.createElement(re,null)):null,G=v.peeking?`var(--sidebar-size, ${o}px)`:void 0;return _.createElement("div",{...gt(l),id:v.id,ref:M,className:(0,Lt.default)("rt-ShellPane","rt-ShellSidebar",n),...ut(v,P),"data-inset":N||void 0,tabIndex:v.overlaying?-1:l.tabIndex,style:{...U,"--sidebar-expanded-size":`${o}px`,"--sidebar-min-size":`${s}px`,"--sidebar-max-size":`${a}px`,...G?{"--peek-sidebar-width":G}:{}}},_.createElement("div",{className:"rt-ShellSidebarContent"},_.createElement(Vt,null,d)),q)});qe.displayName="Shell.Sidebar";qe.Handle=ye;
1
+ "use strict";"use client";var $t=Object.create;var be=Object.defineProperty;var Ft=Object.getOwnPropertyDescriptor;var jt=Object.getOwnPropertyNames;var Wt=Object.getPrototypeOf,qt=Object.prototype.hasOwnProperty;var Ut=(e,t)=>{for(var n in t)be(e,n,{get:t[n],enumerable:!0})},Je=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of jt(t))!qt.call(e,o)&&o!==n&&be(e,o,{get:()=>t[o],enumerable:!(r=Ft(t,o))||r.enumerable});return e};var B=(e,t,n)=>(n=e!=null?$t(Wt(e)):{},Je(t||!e||!e.__esModule?be(n,"default",{value:e,enumerable:!0}):n,e)),_t=e=>Je(be({},"__esModule",{value:!0}),e);var xn={};Ut(xn,{Sidebar:()=>Ue});module.exports=_t(xn);var _=B(require("react")),Bt=B(require("classnames")),Ht=require("radix-ui/internal");var ge=B(require("react")),De=ge.createContext(null);function Ze(){let e=ge.useContext(De);if(!e)throw new Error("Shell.Handle must be used within a resizable pane");return e}var h=B(require("react")),et=B(require("classnames"));var re=h.forwardRef(({className:e,children:t,...n},r)=>{let{containerRef:o,controls:s,cssVarName:a,minSize:u,maxSize:c,defaultSize:d,orientation:p,edge:z,growth:x,onResize:T,onResizeStart:I,onResizeEnd:k,snapPoints:E,snapTolerance:S,collapseThreshold:D,collapsible:H,target:W,requestCollapse:G,requestToggle:$}=Ze(),O=h.useRef(null),X=h.useCallback(l=>{O.current=l,typeof r=="function"?r(l):r&&(r.current=l)},[r]),i=h.useRef(null);h.useEffect(()=>()=>{i.current?.(),i.current=null},[]);let b=h.useCallback(()=>{let l=o.current;if(!l)return d;let g=Number.parseFloat(getComputedStyle(l).getPropertyValue(a));return Number.isFinite(g)?g:d},[o,a,d]),C=h.useCallback(()=>{let l=o.current,g=O.current,P=l?.closest(".rt-ShellRoot")?.getBoundingClientRect();if(!l||!P||!g)return c;let v=l.getBoundingClientRect(),A=g.getBoundingClientRect(),M=x(getComputedStyle(l).direction==="rtl"),R;p==="vertical"?R=M>0?P.right-v.left:v.right-P.left:R=M>0?P.bottom-v.top:v.bottom-P.top;let J=p==="vertical"?A.width:A.height;return!(P.width>0&&P.height>0)||!Number.isFinite(R)?c:Math.max(u,Math.min(c,Math.round(R-J)))},[o,x,c,u,p]),w=()=>{O.current?.setAttribute("aria-valuemax",String(C()))};h.useLayoutEffect(()=>{O.current?.setAttribute("aria-valuenow",String(Math.round(b())))},[b]);let N=(l,g)=>{l.style.setProperty(a,`${g}px`),O.current?.setAttribute("aria-valuenow",String(Math.round(g)))},Y=W.charAt(0).toUpperCase()+W.slice(1);return h.createElement("div",{ref:X,className:(0,et.default)("rt-ShellResizer",e),"data-orientation":p,"data-edge":z,role:"separator",tabIndex:0,"aria-label":`Resize ${Y} pane`,"aria-controls":s,"aria-orientation":p,"aria-valuemin":u,"aria-valuemax":c,...n,onPointerDown:l=>{n.onPointerDown?.(l);let g=o.current;if(!g||l.defaultPrevented||l.button!==0)return;l.preventDefault();let P=l.currentTarget,v=l.pointerId;i.current?.();try{P.setPointerCapture(v)}catch{}let A=getComputedStyle(g),M=Number.parseFloat(A.getPropertyValue(a)),R=Number.isFinite(M)?M:d,J=p==="vertical"?l.clientX:l.clientY,f=x(A.direction==="rtl"),q=C();P.setAttribute("aria-valuemax",String(q));let K=L=>Math.min(Math.max(L,u),q);g.setAttribute("data-resizing",""),P.setAttribute("data-dragging","");let Z=document.body,Ne=Z.style.cursor,Ot=Z.style.userSelect;Z.style.cursor=p==="vertical"?"col-resize":"row-resize",Z.style.userSelect="none",I?.(R);let ne=R,Ve=R,Q=0,ue=null,_e=()=>{if(Q=0,ue===null)return;let L=ue;ue=null,T?.(L)},Ge=null,Ke=!1,It=(L,ie)=>{if(L.type===ie)Ke=!0;else if(Ke)return!1;return!0},ee=L=>{if(!It(L,"pointermove")||L===Ge)return;Ge=L;let ie=p==="vertical"?L.clientX:L.clientY;Ve=R+(ie-J)*f,ne=K(Ve),N(g,ne),ue=ne,Q||(Q=requestAnimationFrame(_e))},me=()=>{Q&&cancelAnimationFrame(Q),Q=0;try{P.releasePointerCapture(v)}catch{}window.removeEventListener("pointermove",ee),document.removeEventListener("pointermove",ee),window.removeEventListener("mousemove",ee),document.removeEventListener("mousemove",ee),P.removeEventListener("pointermove",ee),window.removeEventListener("pointerup",F),document.removeEventListener("pointerup",F),window.removeEventListener("mouseup",F),document.removeEventListener("mouseup",F),window.removeEventListener("pointercancel",F),document.removeEventListener("pointercancel",F),window.removeEventListener("keydown",Qe),P.removeEventListener("lostpointercapture",F),g.removeAttribute("data-resizing"),P.removeAttribute("data-dragging"),Z.style.cursor=Ne,Z.style.userSelect=Ot,i.current=null},ke=!1,F=()=>{if(ke)return;if(ke=!0,Q&&cancelAnimationFrame(Q),_e(),H&&typeof D=="number"&&Ve<=D){N(g,R),T?.(R),me(),G?.(),k?.(R);return}let L=ne;if(E&&E.length){let ie=E.reduce((Xe,Ye)=>Math.abs(Ye-ne)<Math.abs(Xe-ne)?Ye:Xe,E[0]);Math.abs(ie-ne)<=S&&(L=K(ie),N(g,L),T?.(L))}k?.(L),me()},Qe=L=>{L.key==="Escape"&&(Q&&cancelAnimationFrame(Q),Q=0,ue=null,N(g,R),T?.(R),ke=!0,k?.(R),me())};window.addEventListener("pointermove",ee),document.addEventListener("pointermove",ee),window.addEventListener("mousemove",ee),document.addEventListener("mousemove",ee),P.addEventListener("pointermove",ee),window.addEventListener("pointerup",F),document.addEventListener("pointerup",F),window.addEventListener("mouseup",F),document.addEventListener("mouseup",F),window.addEventListener("pointercancel",F),document.addEventListener("pointercancel",F),window.addEventListener("keydown",Qe),P.addEventListener("lostpointercapture",F),i.current=me},onDoubleClick:l=>{n.onDoubleClick?.(l),!l.defaultPrevented&&H&&$?.()},onFocus:l=>{n.onFocus?.(l),w()},onKeyDown:l=>{n.onKeyDown?.(l);let g=o.current;if(!g||l.defaultPrevented)return;let P=b(),v=C(),A=R=>Math.min(Math.max(R,u),v),M;if(l.key==="Home")M=A(u);else if(l.key==="End")M=A(v);else{let R=p==="vertical"?l.key==="ArrowRight"?1:l.key==="ArrowLeft"?-1:0:l.key==="ArrowDown"?1:l.key==="ArrowUp"?-1:0;if(R===0)return;let J=l.shiftKey?32:8;M=A(P+R*J*x(getComputedStyle(g).direction==="rtl"))}l.preventDefault(),I?.(P),N(g,M),T?.(M),k?.(M)}},t)});re.displayName="Shell.Handle";var Gt=h.forwardRef((e,t)=>h.createElement(re,{...e,ref:t}));Gt.displayName="Shell.Panel.Handle";var ye=h.forwardRef((e,t)=>h.createElement(re,{...e,ref:t}));ye.displayName="Shell.Sidebar.Handle";var Kt=h.forwardRef((e,t)=>h.createElement(re,{...e,ref:t}));Kt.displayName="Shell.Inspector.Handle";var Qt=h.forwardRef((e,t)=>h.createElement(re,{...e,ref:t}));Qt.displayName="Shell.Bottom.Handle";var y=B(require("react"));var de=B(require("react"));var tt={xs:"(min-width: 520px)",sm:"(min-width: 768px)",md:"(min-width: 1024px)",lg:"(min-width: 1280px)",xl:"(min-width: 1640px)"},Pe=["initial","xs","sm","md","lg","xl"];var Xt=Object.entries(tt),Le=null,ce=new Set,oe=null;function Me(){return Le??(Le=Xt.map(([e,t])=>[e,window.matchMedia(t)])),Le}function ve(){let e="initial";for(let[t,n]of Me())n.matches&&(e=t);return e}function Re(){let e=ve();e!==oe&&(oe=e,ce.forEach(t=>t()))}function nt(e){if(typeof window>"u")return()=>{};if(ce.size===0){oe=ve();for(let[,t]of Me())typeof t.addEventListener=="function"?t.addEventListener("change",Re):t.addListener?.(Re)}return ce.add(e),()=>{if(ce.delete(e),!(ce.size>0)){for(let[,t]of Me())try{typeof t.removeEventListener=="function"?t.removeEventListener("change",Re):t.removeListener?.(Re)}catch{}oe=null}}}function Yt(){return typeof window>"u"?"initial":(oe??(oe=ve()),oe)}function Jt(){return"initial"}function pe(){return typeof window>"u"?"initial":ve()}var Zt=()=>!0,en=()=>!1,rt=()=>()=>{},tn=()=>"initial";function ot(e=!0){let t=de.useSyncExternalStore(e?nt:rt,e?Yt:tn,Jt),n=de.useSyncExternalStore(e?nt:rt,Zt,en);return de.useMemo(()=>({breakpoint:t,ready:n}),[t,n])}var U=B(require("react"));function st(e){return typeof e=="object"&&e!==null}function fe(e,t){let n={},r=null;for(let o of Pe){if(e!==void 0&&!st(e)){n[o]=e;continue}let s=st(e)?e[o]:void 0;s!==void 0&&(r={value:s}),n[o]=r?r.value:t(o)}return n}function le(e){let t=e.initial;return Pe.every(n=>e[n]===t)?t:void 0}function Ae(e,t){let n=le(t);if(n!==void 0)return{[`data-${e}`]:n};let r={};for(let o of Pe)r[`data-${e}-${o}`]=t[o];return r}function Be(e){return typeof e=="object"&&e!==null?JSON.stringify(e):String(e)}var Dn=fe("fixed",()=>"fixed");function He(e){e.version+=1;for(let t of e.listeners)t()}function nn(e,t){return e.listeners.add(t),()=>{e.listeners.delete(t)}}var rn=U.createContext(null);function at(e){let t=U.useContext(rn);if(!t)throw new Error(`${e} must be used within <Shell.Root>`);return t}function it(e,t){let n=U.useCallback(r=>nn(e,r),[e]);return U.useSyncExternalStore(n,()=>e.peek===t,()=>!1)}var on=U.createContext(null);function lt(e,t){let n=U.useContext(on);if(!n)throw new Error("Shell panes must be used within <Shell.Root>");let{registerInset:r,unregisterInset:o}=n;U.useLayoutEffect(()=>{if(t)return r(e),()=>o(e)},[e,t,r,o])}var Oe=e=>typeof e=="object"&&e!==null;function an(e){for(let t of["initial","xs","sm","md","lg","xl"]){let n=e[t];if(n!==void 0)return n}return"closed"}function ut(e){let{name:t,label:n,propNames:r,presentationTable:o,builtIn:s}=e,a=at(`Shell.${n}`),u=y.useId(),c=e.id??`shell-${t}${u}`,d=e.controlled!==void 0,p=Oe(e.controlled);p&&(`${n}${r.controlled}${r.default}`,void 0);let z=p?e.controlled:void 0,x=z??(Oe(e.defaultValue)?e.defaultValue:void 0),T=Be(x),[I,k]=y.useState(()=>typeof e.defaultValue=="string"?e.defaultValue:"auto"),E=y.useMemo(()=>z?fe(z,()=>an(z)):fe(x,f=>s(o[f])),[T,p,o,s]),S=I;d&&(S=z?"auto":e.controlled);let D=le(o)===void 0||S==="auto"&&le(E)===void 0,{breakpoint:H,ready:W}=ot(D),G=f=>{let q=le(f);return q!==void 0?q:W?f[H]:void 0},$=S==="auto"?G(E):S,O=G(o),X=O==="overlay",i=$===void 0?void 0:$!=="closed",b=i===!0&&X,C=e.defaultValue,w=y.useRef({state:S,value:$,autoTable:E,defaultValue:C,controlled:d,onChange:e.onChange,toggleNext:e.toggleNext});y.useLayoutEffect(()=>{w.current={state:S,value:$,autoTable:E,defaultValue:C,controlled:d,onChange:e.onChange,toggleNext:e.toggleNext}});let N=y.useCallback(()=>{let f=w.current;return f.value!==void 0?f.value:f.state==="auto"?f.autoTable[pe()]:void 0},[]),Y=y.useCallback(()=>{let f=w.current;return typeof f.defaultValue=="string"?f.defaultValue:Oe(f.defaultValue)?f.autoTable[pe()]:void 0},[]),l=y.useCallback((f,q)=>{let K=w.current;N()!==f&&(K.onChange?.(f,q),K.controlled||k(f))},[N]),g=y.useCallback(f=>{let q=w.current,K=N()??"closed",Z=q.toggleNext?q.toggleNext(K,Y()):K==="closed"?"open":"closed";l(Z,f)},[l,N,Y]),P=y.useRef(null),v=y.useCallback(f=>{P.current=f},[]);y.useLayoutEffect(()=>{let f={name:t,id:c,el:P.current,value:$,presentation:O,presentationTable:o,overlayLive:b,size:e.size,setValue:l,toggle:g};return a.entries.set(t,f),He(a),()=>{a.entries.get(t)===f&&(a.entries.delete(t),He(a))}},[a,t,c,$,O,o,b,e.size,l,g]);let A=y.useRef({onExpand:e.onExpand,onCollapse:e.onCollapse});y.useLayoutEffect(()=>{A.current={onExpand:e.onExpand,onCollapse:e.onCollapse}});let M=y.useRef({state:S,shown:i});y.useEffect(()=>{let f=M.current;f.state!==S&&f.shown!==void 0&&i!==void 0&&f.shown!==i&&(i?A.current.onExpand?.():A.current.onCollapse?.()),M.current={state:S,shown:i}},[S,i]),y.useLayoutEffect(()=>{},[]);let R=y.useRef(d);y.useEffect(()=>{},[d,n,r.controlled]);let J=it(a,t)&&i===!1&&!X;return{store:a,id:c,state:S,value:$,shown:i,presentation:O,overlaying:X,overlayLive:b,peeking:J,ready:W,breakpoint:H,autoTable:E,setValue:l,toggle:g,defaultHereNow:Y,setElement:v}}function ct(e,t){let{state:n,value:r,presentation:o,shown:s}=e;return{...t,"data-state":n,...n==="auto"?Ae("auto",e.autoTable):{},"data-presentation":o,"data-mode":r===void 0?void 0:r==="closed"?"collapsed":"expanded","data-open":o==="stacked"&&s?"":void 0,"data-peek":e.peeking?"":void 0}}function dt(e,t){let n=Be(e),r=y.useMemo(()=>fe(e,()=>t),[n,t]),o=y.useMemo(()=>le(r)===void 0?Ae("presentation",r):{},[r]);return{table:r,attributes:o}}var m=B(require("react"));function pt(e,t="horizontal"){if(e==null)return;if(typeof e=="number"&&Number.isFinite(e))return e;let n=String(e).trim();if(!n)return;if(n.endsWith("px"))return Number.parseFloat(n);if(n.endsWith("rem")){let o=Number.parseFloat(getComputedStyle(document.documentElement).fontSize||"16")||16;return Number.parseFloat(n)*o}if(n.endsWith("%")){let o=Number.parseFloat(n),s=t==="horizontal"?document.documentElement.clientWidth||window.innerWidth||0:document.documentElement.clientHeight||window.innerHeight||0;return o/100*s}let r=Number.parseFloat(n);return Number.isFinite(r)?r:void 0}var Ie=(e,t,n)=>Math.max(t??e,Math.min(n??e,e));function ft(e){let{name:t,elementRef:n,cssVarName:r,orientation:o,minSize:s,maxSize:a,resizable:u,size:c,defaultSize:d,paneId:p,persistence:z}=e,x=m.useRef(e);m.useLayoutEffect(()=>{x.current=e});let T=m.useRef(null),I=m.useRef(0);m.useEffect(()=>()=>{T.current&&clearTimeout(T.current)},[]);let k=m.useCallback((i,b)=>{let{onSizeChange:C,sizeUpdate:w,sizeUpdateMs:N}=x.current;if(C){if(w==="debounce"){T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{T.current=null,x.current.onSizeChange?.(i,b)},N);return}if(w==="throttle"){let Y=Date.now();if(Y-I.current<N)return;I.current=Y}C(i,b)}},[]),E=m.useCallback(i=>pt(i,o==="vertical"?"horizontal":"vertical"),[o]),S=m.useRef(!1),D=m.useCallback((i,b)=>{let C=n.current;if(C){C.style.setProperty(r,`${i}px`);for(let w of C.querySelectorAll(":scope > .rt-ShellResizer"))w.setAttribute("aria-valuenow",String(Math.round(i)));b&&(S.current=!0)}},[n,r]);m.useLayoutEffect(()=>{S.current||D(e.expandedSize,!1)},[e.expandedSize,D]),m.useLayoutEffect(()=>{if(c!==void 0||d===void 0)return;let i=E(d);if(typeof i!="number"||!Number.isFinite(i))return;let b=Ie(i,s,a);D(b,!0),k(b,{reason:"init"})},[]),m.useLayoutEffect(()=>{if(c===void 0||x.current.overlayingNow())return;let i=E(c);if(typeof i!="number"||!Number.isFinite(i))return;let b=Ie(i,s,a);D(b,!0),k(b,{reason:"controlled"})},[c,s,a,e.overlaying,E,D,k]);let H=m.useMemo(()=>{if(!p||z)return z;let i=`kookie-ui:shell:${t}:${p}`;return{load:()=>{if(!(typeof window>"u"))try{let b=window.localStorage.getItem(i);return b?Number(b):void 0}catch{return}},save:b=>{if(!(typeof window>"u"))try{window.localStorage.setItem(i,String(b))}catch{}}}},[t,p,z]);m.useLayoutEffect(()=>{if(!u||!H?.load||x.current.overlayingNow())return;let i=!0,b=w=>{if(!i||typeof w!="number"||!Number.isFinite(w))return;let N=Ie(w,s,a);D(N,!0),x.current.onResize?.(N)},C=H.load();return C instanceof Promise?C.then(b).catch(w=>{}):b(C),()=>{i=!1}},[u,H,e.overlaying,D,s,a,t]);let W=m.useCallback(i=>x.current.onResize?.(i),[]),G=m.useCallback(i=>{S.current=!0,x.current.onResizeStart?.(i)},[]),$=m.useCallback(i=>{x.current.onResizeEnd?.(i),k(i,{reason:"resize"}),H?.save?.(i)},[k,H]),O=m.useCallback(()=>x.current.requestCollapse(),[]),X=m.useCallback(()=>x.current.requestToggle(),[]);return m.useMemo(()=>({containerRef:n,controls:e.elementId,cssVarName:r,minSize:s,maxSize:a,defaultSize:e.expandedSize,orientation:o,edge:e.edge,growth:e.growth,onResize:W,onResizeStart:G,onResizeEnd:$,target:t,collapsible:e.collapsible,snapPoints:e.snapPoints,snapTolerance:e.snapTolerance??8,collapseThreshold:e.collapseThreshold,requestCollapse:O,requestToggle:X}),[n,e.elementId,r,s,a,e.expandedSize,o,e.edge,e.growth,W,G,$,t,e.collapsible,e.snapPoints,e.snapTolerance,e.collapseThreshold,O,X])}function mt(e,t){let n=m.Children.toArray(e),r=n.filter(s=>m.isValidElement(s)&&s.type===t),o=n.filter(s=>!(m.isValidElement(s)&&s.type===t));return{handles:r,content:o}}var bt=e=>e==="overlay"?"closed":"open";var gt=e=>e?-1:1;function yt(e){if(!("height"in e)&&!("resizer"in e))return e;let{height:t,resizer:n,...r}=e;return r}var V=B(require("react")),we=B(require("classnames"));var j=B(require("react")),Te=B(require("classnames")),te=require("radix-ui"),kt=require("radix-ui/internal");var Pt={asChild:{type:"boolean"}};var ln=["none","small","medium","large","full"],Rt={radius:{type:"enum",values:ln,default:void 0}};var un=["1","2","3"],cn=["vertical","horizontal","both"],se={...Pt,size:{type:"enum",className:"rt-r-size",values:un,default:"1",responsive:!0},...Rt,scrollbars:{type:"enum",values:cn,default:"both"},fade:{type:"boolean",default:!1}};var Se=B(require("react"));function vt(e){let[t,n]=Se.useState(null);return Se.useEffect(()=>{if(!e||!t)return;let r=0,o=()=>{r=0;let c=Math.max(0,t.scrollTop),d=Math.max(0,t.scrollHeight-t.clientHeight-t.scrollTop);t.style.setProperty("--scroll-overflow-start",`${c}px`),t.style.setProperty("--scroll-overflow-end",`${d}px`)},s=()=>{r||(r=requestAnimationFrame(o))};o(),t.addEventListener("scroll",s,{passive:!0});let a=typeof ResizeObserver>"u"?null:new ResizeObserver(s);a?.observe(t);for(let c of Array.from(t.children))a?.observe(c);let u=typeof MutationObserver>"u"?null:new MutationObserver(s);return u?.observe(t,{childList:!0}),()=>{r&&cancelAnimationFrame(r),t.removeEventListener("scroll",s),a?.disconnect(),u?.disconnect(),t.style.removeProperty("--scroll-overflow-start"),t.style.removeProperty("--scroll-overflow-end")}},[e,t]),n}var he=B(require("react"));function ht(){let[e,t]=he.useState(null);return he.useEffect(()=>{let n=e?.parentElement;if(!e||!n)return;let r=0,o=()=>{r=0;for(let a of n.querySelectorAll(":scope > .rt-ScrollAreaScrollbar > .rt-ScrollAreaThumb")){let u=a.parentElement,c=getComputedStyle(u);if(u.dataset.orientation==="horizontal"){let d=u.clientWidth-parseFloat(c.paddingLeft)-parseFloat(c.paddingRight),p=St(e.scrollLeft,e.scrollWidth-e.offsetWidth,d-a.offsetWidth);a.style.transform=`translate3d(${p}px, 0, 0)`}else{let d=u.clientHeight-parseFloat(c.paddingTop)-parseFloat(c.paddingBottom),p=St(e.scrollTop,e.scrollHeight-e.offsetHeight,d-a.offsetHeight);a.style.transform=`translate3d(0, ${p}px, 0)`}}},s=()=>{r||(r=requestAnimationFrame(o))};return e.addEventListener("scroll",s,{passive:!0}),()=>{r&&cancelAnimationFrame(r),e.removeEventListener("scroll",s)}},[e]),t}function St(e,t,n){return t<=0||n<=0?0:Math.min(Math.max(e,-t),t)/t*n}function xt(e){let{m:t,mx:n,my:r,mt:o,mr:s,mb:a,ml:u,...c}=e;return{m:t,mx:n,my:r,mt:o,mr:s,mb:a,ml:u,rest:c}}var dn=["initial","xs","sm","md","lg","xl"],$e=new Set(dn);function Fe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var pn=new Set(["initial","xs","sm","md","lg","xl"]);function je(e){if(typeof e!="object"||e===null)return!1;for(let t in e)if(pn.has(t))return!0;return!1}function xe(e,t,n){return t!==void 0?t.has(n):e.includes(n)}function Ct({className:e,customProperties:t,...n}){let r=Ee({allowArbitraryValues:!0,className:e,...n}),o=fn({customProperties:t,...n});return[r,o]}function Ee({allowArbitraryValues:e,value:t,className:n,propValues:r,propValueSet:o,parseValue:s=a=>a}){if(t){if(typeof t=="string")return xe(r,o,t)?Et(n,t,s):e?n:void 0;if(je(t)){let a=t,u=[];for(let c in a){if(!Fe(a,c)||!$e.has(c))continue;let d=a[c];if(d!==void 0){if(xe(r,o,d)){let p=Et(n,d,s),z=c==="initial"?p:`${c}:${p}`;u.push(z)}else if(e){let p=c==="initial"?n:`${c}:${n}`;u.push(p)}}}return u.length>0?u.join(" "):""}if(e)return n}}function Et(e,t,n){let r=e?"-":"",o=n(t),s=o?.startsWith("-"),a=s?"-":"",u=s?o?.substring(1):o;return`${a}${e}${r}${u}`}function fn({customProperties:e,value:t,propValues:n,propValueSet:r,parseValue:o=s=>s}){if(!t||typeof t=="string"&&xe(n,r,t))return;let s;if(typeof t=="string"){let a=o(t);s={};for(let u of e)s[u]=a;return s}if(je(t)){let a=t;for(let u in a){if(!Fe(a,u)||!$e.has(u))continue;let c=a[u];if(c===void 0||xe(n,r,c))continue;let d=o(c);s??(s={});for(let p of e){let z=u==="initial"?p:`${p}-${u}`;s[z]=d}}}return s??{}}function Ce(...e){let t;for(let n of e)n&&(t===void 0&&(t={}),Object.assign(t,n));return t}var ae=["0","1","2","3","4","5","6","7","8","9","10","11","12","-1","-2","-3","-4","-5","-6","-7","-8","-9","-10","-11","-12"],zt={m:{type:"enum | string",values:ae,responsive:!0,className:"rt-r-m",customProperties:["--m"]},mx:{type:"enum | string",values:ae,responsive:!0,className:"rt-r-mx",customProperties:["--ml","--mr"]},my:{type:"enum | string",values:ae,responsive:!0,className:"rt-r-my",customProperties:["--mt","--mb"]},mt:{type:"enum | string",values:ae,responsive:!0,className:"rt-r-mt",customProperties:["--mt"]},mr:{type:"enum | string",values:ae,responsive:!0,className:"rt-r-mr",customProperties:["--mr"]},mb:{type:"enum | string",values:ae,responsive:!0,className:"rt-r-mb",customProperties:["--mb"]},ml:{type:"enum | string",values:ae,responsive:!0,className:"rt-r-ml",customProperties:["--ml"]}};var wt=zt.m.values,mn=new Set(wt),Tt=[{key:"m",className:"rt-r-m",customProperties:["--margin"]},{key:"mx",className:"rt-r-mx",customProperties:["--margin-left","--margin-right"]},{key:"my",className:"rt-r-my",customProperties:["--margin-top","--margin-bottom"]},{key:"mt",className:"rt-r-mt",customProperties:["--margin-top"]},{key:"mr",className:"rt-r-mr",customProperties:["--margin-right"]},{key:"mb",className:"rt-r-mb",customProperties:["--margin-bottom"]},{key:"ml",className:"rt-r-ml",customProperties:["--margin-left"]}];function Nt(e){let t,n;for(let r=0;r<Tt.length;r++){let{key:o,className:s,customProperties:a}=Tt[r],u=e[o];if(u===void 0)continue;let[c,d]=Ct({className:s,customProperties:a,propValues:wt,propValueSet:mn,value:u});c&&(t??(t=[])).push(c),d&&(n=Ce(n,d))}return[t!==void 0?t.join(" "):"",n]}var ze=B(require("react"));function Vt(e,t){let{asChild:n,children:r}=e;if(!n)return typeof t=="function"?t(r):t;let o=ze.Children.only(r);return ze.cloneElement(o,{children:typeof t=="function"?t(o.props.children):t})}var We=j.forwardRef((e,t)=>{let{rest:n,...r}=xt(e),[o,s]=Nt(r),{asChild:a,children:u,className:c,style:d,type:p,scrollHideDelay:z=p!=="scroll"?0:void 0,dir:x,size:T=se.size.default,radius:I=se.radius.default,scrollbars:k=se.scrollbars.default,fade:E=se.fade.default,...S}=n,D=vt(E),H=ht(),W=(0,kt.useComposedRefs)(t,D,H);return j.createElement(te.ScrollArea.Root,{type:p,scrollHideDelay:z,className:(0,Te.default)("rt-ScrollAreaRoot",o,c),"data-fade":E?"":void 0,style:Ce(s,d),asChild:a},Vt({asChild:a,children:u},G=>j.createElement(j.Fragment,null,j.createElement(te.ScrollArea.Viewport,{...S,ref:W,className:"rt-ScrollAreaViewport"},G),j.createElement("div",{className:"rt-ScrollAreaViewportFocusRing"}),k!=="vertical"?j.createElement(te.ScrollArea.Scrollbar,{"data-radius":I,orientation:"horizontal",className:(0,Te.default)("rt-ScrollAreaScrollbar",Ee({className:"rt-r-size",value:T,propValues:se.size.values}))},j.createElement(te.ScrollArea.Thumb,{className:"rt-ScrollAreaThumb"})):null,k!=="horizontal"?j.createElement(te.ScrollArea.Scrollbar,{"data-radius":I,orientation:"vertical",className:(0,Te.default)("rt-ScrollAreaScrollbar",Ee({className:"rt-r-size",value:T,propValues:se.size.values}))},j.createElement(te.ScrollArea.Thumb,{className:"rt-ScrollAreaThumb"})):null,k==="both"?j.createElement(te.ScrollArea.Corner,{className:"rt-ScrollAreaCorner"}):null)))});We.displayName="ScrollArea";var Dt=V.createContext(null);function bn(){return V.useContext(Dt)}var gn=V.createContext("2");function Lt({children:e,presentation:t}){let n=V.useContext(gn),r=V.useMemo(()=>({size:n,menuVariant:"soft",presentation:t}),[n,t]);return V.createElement(Dt.Provider,{value:r},e)}function qe(){let e=bn(),t=e?.size??"2",n=e?.menuVariant??"soft";return["rt-ShellPaneChrome",`rt-r-size-${t}`,`rt-menu-variant-${n}`]}var yn=V.forwardRef(({className:e,...t},n)=>{let r=qe();return V.createElement("div",{...t,ref:n,className:(0,we.default)("rt-ShellPaneHeader","rt-SidebarHeader","rt-SidebarHeader--container",...r,e)})});yn.displayName="Shell.PaneHeader";var Pn=V.forwardRef(({className:e,...t},n)=>{let r=qe();return V.createElement("div",{...t,ref:n,className:(0,we.default)("rt-ShellPaneFooter","rt-SidebarFooter","rt-SidebarFooter--container",...r,e)})});Pn.displayName="Shell.PaneFooter";var Rn=V.forwardRef(({className:e,children:t,...n},r)=>{let o=qe();return V.createElement(We,{type:"hover",className:"rt-ShellScroll"},V.createElement("div",{...n,ref:r,className:(0,we.default)("rt-BaseMenuContent","rt-SidebarContent",...o,e)},V.createElement("div",{className:"rt-BaseMenuViewport"},t)))});Rn.displayName="Shell.Scroll";var Mt=e=>e==="collapsed"?"closed":"open",vn=e=>e==="closed"?"collapsed":"expanded";function At(e){if(e===void 0)return;if(typeof e=="string")return Mt(e);let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=Mt(r));return t}var Sn={controlled:"state",default:"defaultState"},hn={initial:"overlay",sm:"fixed"},Ue=_.forwardRef((e,t)=>{let{className:n,presentation:r=hn,expandedSize:o=288,minSize:s=200,maxSize:a=400,resizable:u=!1,collapsible:c=!0,onExpand:d,onCollapse:p,onResize:z,onResizeStart:x,onResizeEnd:T,snapPoints:I,snapTolerance:k,collapseThreshold:E,paneId:S,persistence:D,children:H,style:W,state:G,defaultState:$,onStateChange:O,size:X,defaultSize:i,onSizeChange:b,sizeUpdate:C,sizeUpdateMs:w=50,inset:N,id:Y,...l}=e,{table:g,attributes:P}=dt(r,"fixed"),v=ut({name:"sidebar",label:"Sidebar",propNames:Sn,id:Y,controlled:At(G),defaultValue:At($),presentationTable:g,builtIn:bt,onChange:(Z,Ne)=>O?.(vn(Z),{reason:Ne}),onExpand:d,onCollapse:p,size:o});lt("sidebar",N),_.useEffect(()=>{(I!==void 0||E!==void 0||S!==void 0||D!==void 0)&&void 0},[I,E,S,D]);let A=_.useRef(null),M=(0,Ht.useComposedRefs)(t,v.setElement,A),R=ft({name:"sidebar",elementId:v.id,elementRef:A,cssVarName:"--sidebar-size",orientation:"vertical",edge:"end",growth:gt,expandedSize:o,minSize:s,maxSize:a,resizable:u,collapsible:c,size:X,defaultSize:i,onSizeChange:b,sizeUpdate:C,sizeUpdateMs:w,onResize:z,onResizeStart:x,onResizeEnd:T,snapPoints:I,snapTolerance:k,collapseThreshold:E,paneId:S,persistence:D,overlaying:v.overlaying,overlayingNow:()=>g[pe()]==="overlay",requestCollapse:()=>v.setValue("closed","toggle"),requestToggle:()=>v.toggle("toggle")}),{handles:J,content:f}=mt(H,ye),q=u&&v.value!=="closed"&&!v.overlaying?_.createElement(De.Provider,{value:R},J.length>0?J:_.createElement(re,null)):null,K=v.peeking?`var(--sidebar-size, ${o}px)`:void 0;return _.createElement("div",{...yt(l),id:v.id,ref:M,className:(0,Bt.default)("rt-ShellPane","rt-ShellSidebar",n),...ct(v,P),"data-inset":N||void 0,tabIndex:v.overlaying?-1:l.tabIndex,style:{...W,"--sidebar-expanded-size":`${o}px`,"--sidebar-min-size":`${s}px`,"--sidebar-max-size":`${a}px`,...K?{"--peek-sidebar-width":K}:{}}},_.createElement("div",{className:"rt-ShellSidebarContent"},_.createElement(Lt,null,f)),q)});Ue.displayName="Shell.Sidebar";Ue.Handle=ye;
2
2
  //# sourceMappingURL=shell-sidebar.js.map