@kushagradhawan/kookie-ui 0.1.44 → 0.1.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/components.css CHANGED
@@ -13907,23 +13907,6 @@
13907
13907
  flex: 1;
13908
13908
  height: 100%;
13909
13909
  }
13910
- .rt-SidebarRoot:where([data-type='floating']) {
13911
- border-radius: var(--sidebar-base-border-radius);
13912
- margin: var(--space-2);
13913
- height: calc(100% - var(--space-4));
13914
- overflow: visible;
13915
- position: relative;
13916
- --sidebar-base-border-radius: var(--radius-5);
13917
- }
13918
- .rt-SidebarRoot:where([data-type='floating']) :where(.radix-themes) {
13919
- border-radius: inherit;
13920
- }
13921
- .rt-SidebarRoot:where([data-type='floating']):where(.rt-r-size-1) {
13922
- --sidebar-base-border-radius: var(--radius-5);
13923
- }
13924
- .rt-SidebarRoot:where([data-type='floating']):where(.rt-r-size-2) {
13925
- --sidebar-base-border-radius: var(--radius-6);
13926
- }
13927
13910
  .rt-SidebarContainer {
13928
13911
  --sidebar-base-border-radius: 0;
13929
13912
  display: flex;
@@ -13935,6 +13918,13 @@
13935
13918
  backdrop-filter: var(--backdrop-filter-panel);
13936
13919
  border-radius: inherit;
13937
13920
  flex: 1;
13921
+ box-shadow: inset var(--sidebar-side-border-width) 0 0 0 var(--sidebar-border-color), inset calc(var(--sidebar-side-border-width) * -1) 0 0 0 var(--sidebar-border-color);
13922
+ --sidebar-border-width: 0px;
13923
+ --sidebar-side-border-width: 0px;
13924
+ --sidebar-background-color: transparent;
13925
+ --sidebar-border-color: var(--gray-6);
13926
+ transition: var(--transition-background-blur);
13927
+ background-color: var(--sidebar-background-color);
13938
13928
  }
13939
13929
  .rt-SidebarHeader {
13940
13930
  display: flex;
@@ -14190,108 +14180,49 @@
14190
14180
  border-left: none;
14191
14181
  margin-left: 0;
14192
14182
  }
14193
- .rt-SidebarContainer:where(.rt-variant-outline) {
14194
- background-color: var(--color-panel);
14183
+ :where([data-panel-background='translucent']) .rt-SidebarContainer {
14184
+ --sidebar-border-color: var(--gray-a6);
14195
14185
  -webkit-backdrop-filter: var(--backdrop-filter-panel);
14196
14186
  backdrop-filter: var(--backdrop-filter-panel);
14197
14187
  }
14198
- .rt-SidebarContainer:where(.rt-variant-outline):where([data-panel-background='solid']) {
14199
- --color-panel: var(--color-panel-solid);
14188
+ .rt-SidebarContainer:where([data-panel-background='solid']) {
14200
14189
  -webkit-backdrop-filter: none;
14201
14190
  backdrop-filter: none;
14202
14191
  --backdrop-filter-panel: none;
14203
- --backdrop-filter-components: none;
14204
- }
14205
- .rt-SidebarContainer:where(.rt-variant-outline):where([data-panel-background='translucent']) {
14206
- --color-panel: var(--color-panel-translucent);
14207
- -webkit-backdrop-filter: var(--backdrop-filter-panel);
14208
- backdrop-filter: var(--backdrop-filter-panel);
14209
- --backdrop-filter-panel: blur(var(--backdrop-blur-panel));
14210
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
14211
- }
14212
- :where(.rt-SidebarRoot[data-type='floating']) .rt-SidebarContainer:where(.rt-variant-outline) {
14213
- box-shadow: inset 0 0 0 1px var(--gray-a6);
14214
14192
  }
14215
- :where(.rt-SidebarRoot[data-type='sidebar'][data-side='left']) .rt-SidebarContainer:where(.rt-variant-outline) {
14216
- box-shadow: inset -1px 0 0 0 var(--gray-a6);
14217
- }
14218
- :where(.rt-SidebarRoot[data-type='sidebar'][data-side='right']) .rt-SidebarContainer:where(.rt-variant-outline) {
14219
- box-shadow: inset 1px 0 0 0 var(--gray-a6);
14193
+ .rt-SidebarContainer:where(.rt-variant-outline) {
14194
+ --sidebar-border-width: 1px;
14195
+ --sidebar-side-border-width: 1px;
14196
+ --sidebar-background-color: transparent;
14220
14197
  }
14221
14198
  .rt-SidebarContainer:where(.rt-variant-ghost) {
14222
- background-color: transparent;
14223
- -webkit-backdrop-filter: none;
14224
- backdrop-filter: none;
14225
- border: none;
14199
+ --sidebar-border-width: 0px;
14200
+ --sidebar-side-border-width: 0px;
14201
+ --sidebar-background-color: transparent;
14226
14202
  }
14227
14203
  .rt-SidebarContainer:where(.rt-variant-soft) {
14228
- background-color: var(--gray-2);
14204
+ --sidebar-border-width: 0px;
14205
+ --sidebar-side-border-width: 0px;
14206
+ --sidebar-background-color: var(--gray-2);
14229
14207
  }
14230
14208
  :where([data-panel-background='translucent']) .rt-SidebarContainer:where(.rt-variant-soft) {
14231
- background-color: color-mix(in srgb, var(--gray-a2), var(--gray-2) 60%);
14232
- -webkit-backdrop-filter: var(--backdrop-filter-panel);
14233
- backdrop-filter: var(--backdrop-filter-panel);
14234
- }
14235
- .rt-SidebarContainer:where(.rt-variant-soft):where([data-panel-background='solid']) {
14236
- background-color: var(--gray-2);
14237
- -webkit-backdrop-filter: none;
14238
- backdrop-filter: none;
14239
- --backdrop-filter-components: none;
14240
- }
14241
- .rt-SidebarContainer:where(.rt-variant-soft):where([data-panel-background='translucent']) {
14242
- background-color: color-mix(in srgb, var(--gray-a2), var(--gray-2) 60%);
14243
- -webkit-backdrop-filter: var(--backdrop-filter-panel);
14244
- backdrop-filter: var(--backdrop-filter-panel);
14245
- --backdrop-filter-panel: blur(var(--backdrop-blur-panel));
14246
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
14209
+ --sidebar-background-color: color-mix(in srgb, var(--gray-a2), var(--gray-2) 60%);
14247
14210
  }
14248
14211
  .rt-SidebarContainer:where(.rt-variant-surface) {
14249
- background-color: var(--gray-1);
14212
+ --sidebar-border-width: 1px;
14213
+ --sidebar-side-border-width: 1px;
14214
+ --sidebar-background-color: var(--gray-1);
14250
14215
  }
14251
14216
  :where([data-panel-background='translucent']) .rt-SidebarContainer:where(.rt-variant-surface) {
14252
- background-color: color-mix(in srgb, var(--gray-a1), var(--gray-1) 60%);
14253
- -webkit-backdrop-filter: var(--backdrop-filter-panel);
14254
- backdrop-filter: var(--backdrop-filter-panel);
14255
- }
14256
- .rt-SidebarContainer:where(.rt-variant-surface):where([data-panel-background='solid']) {
14257
- background-color: var(--gray-1);
14258
- -webkit-backdrop-filter: none;
14259
- backdrop-filter: none;
14260
- --backdrop-filter-panel: none;
14261
- --backdrop-filter-components: none;
14262
- }
14263
- .rt-SidebarContainer:where(.rt-variant-surface):where([data-panel-background='translucent']) {
14264
- background-color: color-mix(in srgb, var(--gray-a1), var(--gray-1) 60%);
14265
- -webkit-backdrop-filter: var(--backdrop-filter-panel);
14266
- backdrop-filter: var(--backdrop-filter-panel);
14267
- --backdrop-filter-panel: blur(var(--backdrop-blur-panel));
14268
- --backdrop-filter-components: blur(var(--backdrop-blur-components));
14269
- }
14270
- :where(.rt-SidebarRoot[data-type='floating']) .rt-SidebarContainer:where(.rt-variant-surface) {
14271
- box-shadow: inset 0 0 0 1px var(--gray-6);
14272
- }
14273
- :where([data-panel-background='translucent']) :is(:where(.rt-SidebarRoot[data-type='floating']) .rt-SidebarContainer:where(.rt-variant-surface)) {
14274
- box-shadow: inset 0 0 0 1px var(--gray-a6);
14275
- }
14276
- :where(.rt-SidebarRoot[data-type='sidebar'][data-side='left']) .rt-SidebarContainer:where(.rt-variant-surface) {
14277
- box-shadow: inset -1px 0 0 0 var(--gray-6);
14278
- }
14279
- :where([data-panel-background='translucent']) :is(:where(.rt-SidebarRoot[data-type='sidebar'][data-side='left']) .rt-SidebarContainer:where(.rt-variant-surface)) {
14280
- box-shadow: inset -1px 0 0 0 var(--gray-a6);
14281
- }
14282
- :where(.rt-SidebarRoot[data-type='sidebar'][data-side='right']) .rt-SidebarContainer:where(.rt-variant-surface) {
14283
- box-shadow: inset 1px 0 0 0 var(--gray-6);
14284
- }
14285
- :where([data-panel-background='translucent']) :is(:where(.rt-SidebarRoot[data-type='sidebar'][data-side='right']) .rt-SidebarContainer:where(.rt-variant-surface)) {
14286
- box-shadow: inset 1px 0 0 0 var(--gray-a6);
14217
+ --sidebar-background-color: color-mix(in srgb, var(--gray-a1), var(--gray-1) 60%);
14287
14218
  }
14288
14219
  .rt-SidebarHeader:where(.rt-SidebarHeader--container) {
14289
14220
  display: flex;
14290
14221
  flex-direction: row;
14291
14222
  align-items: center;
14292
14223
  gap: var(--space-2);
14293
- padding: var(--base-menu-content-padding);
14294
- min-height: var(--base-menu-item-height);
14224
+ padding: var(--sidebar-base-padding);
14225
+ min-height: var(--sidebar-item-height);
14295
14226
  }
14296
14227
  .rt-SidebarHeader:where(.rt-SidebarHeader--container) :where(.rt-SidebarMenuButton) {
14297
14228
  flex: 1;
@@ -14301,8 +14232,8 @@
14301
14232
  flex-direction: row;
14302
14233
  align-items: center;
14303
14234
  gap: var(--space-2);
14304
- padding: var(--base-menu-content-padding);
14305
- min-height: var(--base-menu-item-height);
14235
+ padding: var(--sidebar-base-padding);
14236
+ min-height: var(--sidebar-item-height);
14306
14237
  }
14307
14238
  .rt-SidebarFooter:where(.rt-SidebarFooter--container) :where(.rt-SidebarMenuButton) {
14308
14239
  flex: 1;
@@ -14426,9 +14357,11 @@
14426
14357
  }
14427
14358
  .rt-SidebarContainer:where(.rt-r-size-1) {
14428
14359
  --sidebar-base-padding: var(--space-3);
14360
+ --sidebar-item-height: var(--space-5);
14429
14361
  }
14430
14362
  .rt-SidebarContainer:where(.rt-r-size-2) {
14431
14363
  --sidebar-base-padding: var(--space-4);
14364
+ --sidebar-item-height: var(--space-6);
14432
14365
  }
14433
14366
  .rt-SidebarContent:where(.rt-r-size-1) {
14434
14367
  --sidebar-content-padding: var(--base-menu-content-padding);
@@ -14485,9 +14418,11 @@
14485
14418
  @media (min-width: 520px) {
14486
14419
  .rt-SidebarContainer:where(.xs\:rt-r-size-1) {
14487
14420
  --sidebar-base-padding: var(--space-3);
14421
+ --sidebar-item-height: var(--space-5);
14488
14422
  }
14489
14423
  .rt-SidebarContainer:where(.xs\:rt-r-size-2) {
14490
14424
  --sidebar-base-padding: var(--space-4);
14425
+ --sidebar-item-height: var(--space-6);
14491
14426
  }
14492
14427
  .rt-SidebarContent:where(.xs\:rt-r-size-1) {
14493
14428
  --sidebar-content-padding: var(--base-menu-content-padding);
@@ -14545,9 +14480,11 @@
14545
14480
  @media (min-width: 768px) {
14546
14481
  .rt-SidebarContainer:where(.sm\:rt-r-size-1) {
14547
14482
  --sidebar-base-padding: var(--space-3);
14483
+ --sidebar-item-height: var(--space-5);
14548
14484
  }
14549
14485
  .rt-SidebarContainer:where(.sm\:rt-r-size-2) {
14550
14486
  --sidebar-base-padding: var(--space-4);
14487
+ --sidebar-item-height: var(--space-6);
14551
14488
  }
14552
14489
  .rt-SidebarContent:where(.sm\:rt-r-size-1) {
14553
14490
  --sidebar-content-padding: var(--base-menu-content-padding);
@@ -14605,9 +14542,11 @@
14605
14542
  @media (min-width: 1024px) {
14606
14543
  .rt-SidebarContainer:where(.md\:rt-r-size-1) {
14607
14544
  --sidebar-base-padding: var(--space-3);
14545
+ --sidebar-item-height: var(--space-5);
14608
14546
  }
14609
14547
  .rt-SidebarContainer:where(.md\:rt-r-size-2) {
14610
14548
  --sidebar-base-padding: var(--space-4);
14549
+ --sidebar-item-height: var(--space-6);
14611
14550
  }
14612
14551
  .rt-SidebarContent:where(.md\:rt-r-size-1) {
14613
14552
  --sidebar-content-padding: var(--base-menu-content-padding);
@@ -14665,9 +14604,11 @@
14665
14604
  @media (min-width: 1280px) {
14666
14605
  .rt-SidebarContainer:where(.lg\:rt-r-size-1) {
14667
14606
  --sidebar-base-padding: var(--space-3);
14607
+ --sidebar-item-height: var(--space-5);
14668
14608
  }
14669
14609
  .rt-SidebarContainer:where(.lg\:rt-r-size-2) {
14670
14610
  --sidebar-base-padding: var(--space-4);
14611
+ --sidebar-item-height: var(--space-6);
14671
14612
  }
14672
14613
  .rt-SidebarContent:where(.lg\:rt-r-size-1) {
14673
14614
  --sidebar-content-padding: var(--base-menu-content-padding);
@@ -14725,9 +14666,11 @@
14725
14666
  @media (min-width: 1640px) {
14726
14667
  .rt-SidebarContainer:where(.xl\:rt-r-size-1) {
14727
14668
  --sidebar-base-padding: var(--space-3);
14669
+ --sidebar-item-height: var(--space-5);
14728
14670
  }
14729
14671
  .rt-SidebarContainer:where(.xl\:rt-r-size-2) {
14730
14672
  --sidebar-base-padding: var(--space-4);
14673
+ --sidebar-item-height: var(--space-6);
14731
14674
  }
14732
14675
  .rt-SidebarContent:where(.xl\:rt-r-size-1) {
14733
14676
  --sidebar-content-padding: var(--base-menu-content-padding);
@@ -15123,6 +15066,22 @@
15123
15066
  opacity: 0;
15124
15067
  transition: opacity var(--motion-duration-small) var(--motion-ease-standard);
15125
15068
  }
15069
+ .rt-ShellSidebar[data-presentation='stacked'] {
15070
+ position: absolute;
15071
+ inset-block: 0;
15072
+ inset-inline-start: 0;
15073
+ z-index: 31;
15074
+ transform: translateX(-100%);
15075
+ will-change: transform;
15076
+ transition: transform var(--motion-duration-small) var(--motion-ease-standard), box-shadow var(--motion-duration-small) var(--motion-ease-standard);
15077
+ box-shadow: 4px 0 12px -6px rgba(0, 0, 0, 0.2);
15078
+ }
15079
+ .rt-ShellSidebar[data-presentation='stacked'][data-open] {
15080
+ transform: translateX(0);
15081
+ }
15082
+ .rt-ShellSidebar[data-presentation='stacked'][data-peek] {
15083
+ transform: translateX(0);
15084
+ }
15126
15085
  .rt-ShellContent {
15127
15086
  flex: 1;
15128
15087
  min-width: 0;
@@ -133,10 +133,10 @@ interface TriggerProps extends React.ComponentPropsWithoutRef<'button'> {
133
133
  target: PaneTarget;
134
134
  action?: TriggerAction;
135
135
  /**
136
- * If true, peeks the target on hover and clears on leave.
137
- * If set to 'collapsed', only peeks when the target is currently collapsed (recommended).
136
+ * Whether to show peek preview on hover when the target pane is collapsed.
137
+ * Defaults to false.
138
138
  */
139
- peekOnHover?: boolean | 'collapsed';
139
+ peekOnHover?: boolean;
140
140
  }
141
141
  declare const Trigger: React.ForwardRefExoticComponent<TriggerProps & React.RefAttributes<HTMLButtonElement>>;
142
142
  export { Root, Header, Left, Rail, Panel, Sidebar, Content, Inspector, Bottom, Trigger, useShell, useResponsivePresentation, type PaneMode, type SidebarMode, type ResponsivePresentation, type PaneTarget, type TriggerAction, };
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/components/shell.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/components/shell.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var Ce=Object.create;var fe=Object.defineProperty;var Te=Object.getOwnPropertyDescriptor;var we=Object.getOwnPropertyNames;var Be=Object.getPrototypeOf,Le=Object.prototype.hasOwnProperty;var He=(a,l)=>{for(var o in l)fe(a,o,{get:l[o],enumerable:!0})},ge=(a,l,o,u)=>{if(l&&typeof l=="object"||typeof l=="function")for(let R of we(l))!Le.call(a,R)&&R!==o&&fe(a,R,{get:()=>l[R],enumerable:!(u=Te(l,R))||u.enumerable});return a};var Se=(a,l,o)=>(o=a!=null?Ce(Be(a)):{},ge(l||!a||!a.__esModule?fe(o,"default",{value:a,enumerable:!0}):o,a)),Ne=a=>ge(fe({},"__esModule",{value:!0}),a);var De={};He(De,{Bottom:()=>ue,Content:()=>Pe,Header:()=>Me,Inspector:()=>pe,Left:()=>he,Panel:()=>te,Rail:()=>ae,Root:()=>ke,Sidebar:()=>se,Trigger:()=>Ee,useResponsivePresentation:()=>re,useShell:()=>Q});module.exports=Ne(De);var e=Se(require("react")),J=Se(require("classnames")),G=Se(require("./sheet.js")),$e=require("./inset.js"),ce=require("./visually-hidden.js");const ie={xs:"(min-width: 520px)",sm:"(min-width: 768px)",md:"(min-width: 1024px)",lg:"(min-width: 1280px)",xl:"(min-width: 1640px)"},xe=e.createContext(null);function Q(){const a=e.useContext(xe);if(!a)throw new Error("Shell components must be used within <Shell.Root>");return a}const de=e.createContext(null);function Ae(){const a=e.useContext(de);if(!a)throw new Error("Shell.Handle must be used within a resizable pane");return a}const _=e.forwardRef(({className:a,children:l,...o},u)=>{const{containerRef:R,cssVarName:p,minSize:g,maxSize:h,defaultSize:P,orientation:b,edge:C,computeNext:H,onResize:r,onResizeStart:x,onResizeEnd:w,snapPoints:q,snapTolerance:j,collapseThreshold:K,collapsible:I,target:V,requestCollapse:U,requestToggle:k}=Ae(),f=e.useRef(null);e.useEffect(()=>()=>{try{f.current?.()}catch{}f.current=null},[]);const m=b;return e.createElement("div",{...o,ref:u,className:(0,J.default)("rt-ShellResizer",a),"data-orientation":b,"data-edge":C,role:"slider","aria-orientation":m,"aria-valuemin":g,"aria-valuemax":h,"aria-valuenow":P,tabIndex:0,onPointerDown:t=>{if(!R.current)return;t.preventDefault();const y=R.current,n=t.currentTarget,$=t.pointerId;try{f.current?.()}catch{}y.setAttribute("data-resizing","");try{n.setPointerCapture($)}catch{}const S=b==="vertical"?t.clientX:t.clientY,T=parseFloat(getComputedStyle(y).getPropertyValue(p)||`${P}`),v=s=>Math.min(Math.max(s,g),h),B=document.body,c=B.style.cursor,N=B.style.userSelect;B.style.cursor=b==="vertical"?"col-resize":"row-resize",B.style.userSelect="none",x?.(T);const D=s=>{const E=b==="vertical"?s.clientX:s.clientY,z=v(H(E,S,T));y.style.setProperty(p,`${z}px`),n.setAttribute("aria-valuenow",String(z)),r?.(z)},F=()=>{try{n.releasePointerCapture($)}catch{}window.removeEventListener("pointermove",D),window.removeEventListener("pointerup",L),window.removeEventListener("pointercancel",L),window.removeEventListener("keydown",M),n.removeEventListener("lostpointercapture",L),y.removeAttribute("data-resizing"),B.style.cursor=c,B.style.userSelect=N,f.current=null},L=()=>{const s=parseFloat(getComputedStyle(y).getPropertyValue(p)||`${P}`);let E=s;if(q&&q.length){const z=q.reduce((Z,X)=>Math.abs(X-s)<Math.abs(Z-s)?X:Z,q[0]);Math.abs(z-s)<=(j??8)&&(E=z,y.style.setProperty(p,`${E}px`),n.setAttribute("aria-valuenow",String(E)),r?.(E))}I&&typeof K=="number"&&s<=K&&U?.(),w?.(E),F()},M=s=>{s.key==="Escape"&&(y.style.setProperty(p,`${T}px`),n.setAttribute("aria-valuenow",String(T)),w?.(T),F())};window.addEventListener("pointermove",D),window.addEventListener("pointerup",L),window.addEventListener("pointercancel",L),window.addEventListener("keydown",M),n.addEventListener("lostpointercapture",L),f.current=F},onDoubleClick:()=>{I&&k?.()},onKeyDown:t=>{if(!R.current)return;const y=R.current,n=parseFloat(getComputedStyle(y).getPropertyValue(p)||`${P}`),$=v=>Math.min(Math.max(v,g),h),S=t.shiftKey?32:8;let T=0;if(b==="vertical"?t.key==="ArrowRight"?T=S:t.key==="ArrowLeft"&&(T=-S):t.key==="ArrowDown"?T=S:t.key==="ArrowUp"&&(T=-S),t.key==="Home"){t.preventDefault(),x?.(n);const v=$(g);y.style.setProperty(p,`${v}px`),t.currentTarget.setAttribute("aria-valuenow",String(v)),r?.(v),w?.(v);return}if(t.key==="End"){t.preventDefault(),x?.(n);const v=$(h);y.style.setProperty(p,`${v}px`),t.currentTarget.setAttribute("aria-valuenow",String(v)),r?.(v),w?.(v);return}if(T!==0){t.preventDefault(),x?.(n);const v=$(n+(C==="start"&&b==="vertical"?-T:T));y.style.setProperty(p,`${v}px`),t.currentTarget.setAttribute("aria-valuenow",String(v)),r?.(v),w?.(v)}}},l)});_.displayName="Shell.Handle";const me=e.forwardRef((a,l)=>e.createElement(_,{...a,ref:l}));me.displayName="Shell.Panel.Handle";const ye=e.forwardRef((a,l)=>e.createElement(_,{...a,ref:l}));ye.displayName="Shell.Sidebar.Handle";const be=e.forwardRef((a,l)=>e.createElement(_,{...a,ref:l}));be.displayName="Shell.Inspector.Handle";const ve=e.forwardRef((a,l)=>e.createElement(_,{...a,ref:l}));ve.displayName="Shell.Bottom.Handle";function re(a){const{currentBreakpoint:l}=Q();return e.useMemo(()=>{if(typeof a=="string")return a;if(a[l])return a[l];const u=[...Object.keys(ie)].reverse().concat("initial"),R=u.indexOf(l);for(let p=R+1;p<u.length;p++){const g=u[p];if(a[g])return a[g]}return"fixed"},[a,l])}function ze(){const[a,l]=e.useState("initial"),[o,u]=e.useState(!1);return e.useEffect(()=>{if(typeof window>"u")return;const p=Object.entries(ie).map(([h,P])=>[h,window.matchMedia(P)]),g=()=>{const h=p.filter(([,b])=>b.matches).map(([b])=>b),P=h[h.length-1]??"initial";l(P),u(!0)};return g(),p.forEach(([,h])=>h.addEventListener("change",g)),()=>{p.forEach(([,h])=>h.removeEventListener("change",g))}},[]),{bp:a,ready:o}}const ke=e.forwardRef(({className:a,children:l,height:o="full",...u},R)=>{const{bp:p,ready:g}=ze(),[h,P]=e.useState("collapsed"),[b,C]=e.useState("collapsed"),[H,r]=e.useState("expanded"),[x,w]=e.useState("collapsed"),[q,j]=e.useState("collapsed"),[K,I]=e.useState(!1),[V,U]=e.useState(!1),k=e.useRef(i=>i==="collapsed"?"thin":i==="thin"?"expanded":"collapsed"),f=e.useCallback(i=>{k.current=i},[]);e.useEffect(()=>{h==="collapsed"&&C("collapsed")},[h]),e.useEffect(()=>{V&&K&&console.warn("Shell: Sidebar cannot coexist with Rail or Panel. Use either Rail+Panel OR Sidebar.")},[V,K]);const[m,t]=e.useState(void 0),y=e.useCallback(i=>t(i),[]),n=e.useRef(64),$=e.useRef(288),S=e.useCallback(i=>{n.current=i},[]),T=e.useCallback(i=>{$.current=i},[]),v=e.useMemo(()=>{const i=e.Children.toArray(l),W=(Y,le)=>e.isValidElement(Y)&&(Y.type===le||Y.type?.displayName===le.displayName);return i.some(Y=>W(Y,ae)||W(Y,te))},[l]),B=e.useMemo(()=>{const i=e.Children.toArray(l),W=(Y,le)=>e.isValidElement(Y)&&(Y.type===le||Y.type?.displayName===le.displayName);return i.some(Y=>W(Y,se))},[l]),c=e.useCallback(i=>{switch(i){case"left":case"rail":P(W=>W==="expanded"?"collapsed":"expanded");break;case"panel":h==="collapsed"?(P("expanded"),C("expanded")):C(W=>W==="expanded"?"collapsed":"expanded");break;case"sidebar":r(W=>k.current(W));break;case"inspector":w(W=>W==="expanded"?"collapsed":"expanded");break;case"bottom":j(W=>W==="expanded"?"collapsed":"expanded");break}},[h]),N=e.useCallback(i=>{switch(i){case"left":case"rail":P("expanded");break;case"panel":P("expanded"),C("expanded");break;case"sidebar":r("expanded");break;case"inspector":w("expanded");break;case"bottom":j("expanded");break}},[]),D=e.useCallback(i=>{switch(i){case"left":case"rail":P("collapsed");break;case"panel":C("collapsed");break;case"sidebar":r("collapsed");break;case"inspector":w("collapsed");break;case"bottom":j("collapsed");break}},[]),F=e.useMemo(()=>({leftMode:h,setLeftMode:P,panelMode:b,setPanelMode:C,sidebarMode:H,setSidebarMode:r,inspectorMode:x,setInspectorMode:w,bottomMode:q,setBottomMode:j,hasLeft:K,setHasLeft:I,hasSidebar:V,setHasSidebar:U,currentBreakpoint:p,currentBreakpointReady:g,leftResolvedPresentation:m,togglePane:c,expandPane:N,collapsePane:D,setSidebarToggleComputer:f,onLeftPres:y,onRailDefaults:S,onPanelDefaults:T}),[h,b,H,x,q,K,V,p,g,m,c,N,D,f,y,S,T]),L=e.Children.toArray(l),M=(i,W)=>e.isValidElement(i)&&(i.type===W||i.type?.displayName===W.displayName),s=L.filter(i=>M(i,Me)),E=L.filter(i=>M(i,ae)),z=L.filter(i=>M(i,te)),Z=L.filter(i=>M(i,se)),X=L.filter(i=>M(i,Pe)),ne=L.filter(i=>M(i,pe)),Re=L.filter(i=>M(i,ue)),d=e.useMemo(()=>o==="full"?{height:"100vh"}:o==="auto"?{height:"auto"}:typeof o=="string"?{height:o}:typeof o=="number"?{height:`${o}px`}:{},[o]),[O,A]=e.useState(null),oe=e.useCallback(i=>A(i),[]),ee=e.useCallback(()=>A(null),[]);return e.createElement("div",{...u,ref:R,className:(0,J.default)("rt-ShellRoot",a),style:{...d,...u.style}},e.createElement(xe.Provider,{value:{...F,peekTarget:O,setPeekTarget:A,peekPane:oe,clearPeek:ee}},s,e.createElement("div",{className:"rt-ShellBody","data-peek-target":O??void 0,style:O==="rail"||O==="panel"?{"--peek-rail-width":`${n.current}px`}:void 0},v&&!B?(()=>{const i=E[0],W=i?{mode:i.props?.mode,defaultMode:i.props?.defaultMode,onModeChange:i.props?.onModeChange,presentation:i.props?.presentation,collapsible:i.props?.collapsible,onExpand:i.props?.onExpand,onCollapse:i.props?.onCollapse}:{};return e.createElement(he,{...W},E,z)})():Z,X,ne),Re))});ke.displayName="Shell.Root";const Me=e.forwardRef(({className:a,height:l=64,style:o,...u},R)=>e.createElement("header",{...u,ref:R,className:(0,J.default)("rt-ShellHeader",a),style:{...o,"--shell-header-height":`${l}px`}}));Me.displayName="Shell.Header";const he=e.forwardRef(({className:a,presentation:l={initial:"overlay",sm:"fixed"},mode:o,defaultMode:u="collapsed",onModeChange:R,collapsible:p=!0,onExpand:g,onCollapse:h,children:P,style:b,...C},H)=>{const r=Q(),x=re(l),w=x==="overlay",q=x==="stacked",j=e.useRef(null);e.useEffect(()=>{r.onLeftPres?.(x)},[r,x]);const K=e.useCallback(k=>{j.current=k,typeof H=="function"?H(k):H&&(H.current=k)},[H]);e.useEffect(()=>(r.setHasLeft(!0),()=>r.setHasLeft(!1)),[r]);const I=e.useCallback(()=>{if(typeof u=="string")return u;const k=u;if(k&&k[r.currentBreakpoint])return k[r.currentBreakpoint];const m=[...Object.keys(ie)].reverse().concat("initial"),t=m.indexOf(r.currentBreakpoint);for(let y=t+1;y<m.length;y++){const n=m[y];if(k&&k[n])return k[n]}return"collapsed"},[u,r.currentBreakpoint]),V=e.useRef(null);e.useEffect(()=>{if(o!==void 0||!r.currentBreakpointReady||V.current===r.currentBreakpoint)return;V.current=r.currentBreakpoint;const k=I();k!==r.leftMode&&r.setLeftMode(k)},[o,r.currentBreakpoint,r.currentBreakpointReady,I,r.leftMode,r.setLeftMode]),e.useEffect(()=>{o!==void 0&&r.leftMode!==o&&r.setLeftMode(o)},[o,r]),e.useEffect(()=>{o===void 0&&R?.(r.leftMode)},[r.leftMode,o,R]),e.useEffect(()=>{r.leftMode==="expanded"?g?.():h?.()},[r.leftMode,g,h]);const U=r.leftMode==="expanded";if(w){const k=r.leftMode==="expanded",f=e.Children.toArray(P),m=(B,c)=>e.isValidElement(B)&&B.type===c,t=f.find(B=>m(B,ae)),y=f.find(B=>m(B,te)),n=typeof t?.props?.expandedSize=="number"?t.props.expandedSize:64,$=typeof y?.props?.expandedSize=="number"?y.props.expandedSize:288,S=!!t,T=!!y,v=(S?n:0)+(r.panelMode==="expanded"&&T?$:0);return e.createElement(G.Root,{open:k,onOpenChange:B=>r.setLeftMode(B?"expanded":"collapsed")},e.createElement(G.Content,{side:"start",style:{padding:0},width:{initial:`${v}px`}},e.createElement(ce.VisuallyHidden,null,e.createElement(G.Title,null,"Navigation")),e.createElement("div",{className:"rt-ShellLeft"},P)))}if(q){const k=r.leftMode==="expanded",f=e.Children.toArray(P),m=(c,N)=>e.isValidElement(c)&&c.type===N,t=f.find(c=>m(c,ae)),y=f.find(c=>m(c,te)),n=typeof t?.props?.expandedSize=="number"?t.props.expandedSize:64,$=typeof y?.props?.expandedSize=="number"?y.props.expandedSize:288,S=!!t,v=!!y&&(r.panelMode==="expanded"||r.peekTarget==="panel"),B=(S?n:0)+(v?$:0);return e.createElement("div",{...C,ref:K,className:(0,J.default)("rt-ShellLeft",a),"data-mode":r.leftMode,"data-peek":r.peekTarget==="left"||r.peekTarget==="rail"||r.peekTarget==="panel"||void 0,"data-presentation":x,style:{...b},"data-open":k||void 0},P)}return e.createElement("div",{...C,ref:K,className:(0,J.default)("rt-ShellLeft",a),"data-mode":r.leftMode,"data-peek":r.peekTarget==="left"||r.peekTarget==="rail"||r.peekTarget==="panel"||void 0,"data-presentation":x,style:{...b}},P)});he.displayName="Shell.Left";const ae=e.forwardRef(({className:a,presentation:l,mode:o,defaultMode:u,onModeChange:R,expandedSize:p=64,collapsible:g,onExpand:h,onCollapse:P,children:b,style:C,...H},r)=>{const x=Q();e.useEffect(()=>{x.onRailDefaults?.(p)},[x,p]);const w=x.leftMode==="expanded";return e.createElement("div",{...H,ref:r,className:(0,J.default)("rt-ShellRail",a),"data-mode":x.leftMode,"data-peek":x.leftResolvedPresentation!=="overlay"&&x.peekTarget==="rail"||void 0,style:{...C,"--rail-size":`${p}px`}},e.createElement("div",{className:"rt-ShellRailContent","data-visible":w||x.leftResolvedPresentation!=="overlay"&&x.peekTarget==="rail"||void 0},b))});ae.displayName="Shell.Rail";const te=e.forwardRef(({className:a,mode:l,onModeChange:o,expandedSize:u=288,minSize:R,maxSize:p,resizable:g,collapsible:h=!0,onExpand:P,onCollapse:b,onResize:C,onResizeStart:H,onResizeEnd:r,snapPoints:x,snapTolerance:w,collapseThreshold:q,paneId:j,persistence:K,children:I,style:V,...U},k)=>{const f=Q();e.useEffect(()=>{f.onPanelDefaults?.(u)},[f,u]);const m=e.useRef(null),t=e.useCallback(c=>{m.current=c,typeof k=="function"?k(c):k&&(k.current=c)},[k]),y=e.Children.toArray(I),n=y.filter(c=>e.isValidElement(c)&&c.type===me),$=y.filter(c=>!(e.isValidElement(c)&&c.type===me)),S=f.leftResolvedPresentation==="overlay",T=e.useMemo(()=>{if(!j||K)return K;const c=`kookie-ui:shell:panel:${j}`;return{load:()=>{if(typeof window>"u")return;const D=window.localStorage.getItem(c);return D?Number(D):void 0},save:D=>{typeof window>"u"||window.localStorage.setItem(c,String(D))}}},[j,K]);e.useEffect(()=>{let c=!0;return(async()=>{if(!g||!T?.load||S)return;const N=await T.load();c&&typeof N=="number"&&m.current&&(m.current.style.setProperty("--panel-size",`${N}px`),C?.(N))})(),()=>{c=!1}},[g,T,C,S]),e.useEffect(()=>{m.current&&S&&m.current.style.setProperty("--panel-size",`${u}px`)},[S,u]),e.useEffect(()=>{if(m.current&&f.leftResolvedPresentation!=="overlay"&&f.leftMode==="expanded"&&f.panelMode==="expanded"){const c=m.current.parentElement||null;try{c?.style.removeProperty("width")}catch{}}},[f.leftResolvedPresentation,f.leftMode,f.panelMode]);const v=f.leftMode==="expanded"&&f.panelMode==="expanded",B=g&&f.leftResolvedPresentation!=="overlay"&&v?e.createElement(de.Provider,{value:{containerRef:m,cssVarName:"--panel-size",minSize:typeof R=="number"?R:100,maxSize:typeof p=="number"?p:800,defaultSize:u,orientation:"vertical",edge:"end",computeNext:(c,N,D)=>{const F=getComputedStyle(m.current).direction==="rtl",L=c-N;return D+(F?-L:L)},onResize:C,onResizeStart:c=>{const D=m.current?.parentElement;try{D?.style.removeProperty("width")}catch{}H?.(c)},onResizeEnd:c=>{r?.(c),T?.save?.(c)},target:"panel",collapsible:!!h,snapPoints:x,snapTolerance:w??8,collapseThreshold:q,requestCollapse:()=>f.setPanelMode("collapsed"),requestToggle:()=>f.togglePane("panel")}},n.length>0?n.map((c,N)=>e.cloneElement(c,{key:c.key??N})):e.createElement(_,null)):null;return e.createElement("div",{...U,ref:t,className:(0,J.default)("rt-ShellPanel",a),"data-mode":f.panelMode,"data-visible":v||f.leftResolvedPresentation!=="overlay"&&f.peekTarget==="panel"||void 0,"data-peek":f.leftResolvedPresentation!=="overlay"&&f.peekTarget==="panel"||void 0,style:{...V,"--panel-size":`${u}px`}},e.createElement("div",{className:"rt-ShellPanelContent","data-visible":v||void 0},$),B)});te.displayName="Shell.Panel",te.Handle=me;const se=e.forwardRef(({className:a,presentation:l={initial:"overlay",md:"fixed"},mode:o,defaultMode:u="expanded",onModeChange:R,expandedSize:p=288,minSize:g=200,maxSize:h=400,resizable:P=!1,collapsible:b=!0,onExpand:C,onCollapse:H,onResize:r,onResizeStart:x,onResizeEnd:w,snapPoints:q,snapTolerance:j,collapseThreshold:K,paneId:I,persistence:V,children:U,style:k,thinSize:f=64,toggleModes:m,...t},y)=>{const n=Q(),$=re(l),S=$==="overlay",T=$==="stacked",v=e.useRef(null),B=e.useCallback(d=>{v.current=d,typeof y=="function"?y(d):y&&(y.current=d)},[y]),c=e.Children.toArray(U),N=c.filter(d=>e.isValidElement(d)&&d.type===ye),D=c.filter(d=>!(e.isValidElement(d)&&d.type===ye)),F=e.useId();e.useEffect(()=>(n.setHasSidebar(!0),()=>{n.setHasSidebar(!1)}),[n,F]);const L=e.useRef(!1);e.useEffect(()=>{L.current||(L.current=!0,o===void 0&&n.sidebarMode!==u&&n.setSidebarMode(u))},[]),e.useEffect(()=>{o!==void 0&&n.sidebarMode!==o&&n.setSidebarMode(o)},[o,n]),e.useEffect(()=>{o===void 0&&R?.(n.sidebarMode)},[n.sidebarMode,o,R]),e.useEffect(()=>{n.sidebarMode==="expanded"?C?.():H?.()},[n.sidebarMode,C,H]);const M=n.sidebarMode!=="collapsed",s=e.useMemo(()=>{if(!I||V)return V;const d=`kookie-ui:shell:sidebar:${I}`;return{load:()=>{if(typeof window>"u")return;const A=window.localStorage.getItem(d);return A?Number(A):void 0},save:A=>{typeof window>"u"||window.localStorage.setItem(d,String(A))}}},[I,V]);e.useEffect(()=>{let d=!0;return(async()=>{if(!P||!s?.load||S)return;const O=await s.load();d&&typeof O=="number"&&v.current&&(v.current.style.setProperty("--sidebar-size",`${O}px`),r?.(O))})(),()=>{d=!1}},[P,s,r,S]);const E=Q();e.useEffect(()=>{if(!E.setSidebarToggleComputer)return;const d=m&&m.length>0?m:["thin","expanded"],O=A=>A==="collapsed"?d[0]??"expanded":A==="thin"?d.includes("thin")&&d.includes("expanded")?"expanded":"collapsed":d.length===2&&d.includes("thin")&&d.includes("expanded")?"collapsed":d.includes("thin")&&!d.includes("expanded")?"thin":"collapsed";return E.setSidebarToggleComputer(O),()=>{E.setSidebarToggleComputer?.(A=>A==="collapsed"?"thin":A==="thin"?"expanded":"collapsed")}},[E,m]);const z=e.useRef(p),Z=e.useRef("expanded");e.useEffect(()=>{n.sidebarMode!=="collapsed"&&(Z.current=n.sidebarMode,z.current=n.sidebarMode==="thin"?f:p)},[n.sidebarMode,f,p]);const X=e.useCallback(()=>{if(typeof u=="string")return u;const d=u;if(d&&d[n.currentBreakpoint])return d[n.currentBreakpoint];const A=[...Object.keys(ie)].reverse().concat("initial"),oe=A.indexOf(n.currentBreakpoint);for(let ee=oe+1;ee<A.length;ee++){const i=A[ee];if(d&&d[i])return d[i]}return"collapsed"},[u,n.currentBreakpoint]),ne=e.useRef(null);e.useEffect(()=>{if(o!==void 0||!n.currentBreakpointReady||ne.current===n.currentBreakpoint)return;ne.current=n.currentBreakpoint;const d=X();d!==n.sidebarMode&&n.setSidebarMode(d)},[o,n.currentBreakpoint,n.currentBreakpointReady,X,n.sidebarMode,n.setSidebarMode]);const Re=P&&!S&&n.sidebarMode==="expanded"?e.createElement(de.Provider,{value:{containerRef:v,cssVarName:"--sidebar-size",minSize:g,maxSize:h,defaultSize:p,orientation:"vertical",edge:"end",computeNext:(d,O,A)=>{const oe=getComputedStyle(v.current).direction==="rtl",ee=d-O;return A+(oe?-ee:ee)},onResize:r,onResizeStart:x,onResizeEnd:d=>{w?.(d),s?.save?.(d)},target:"sidebar",collapsible:b,snapPoints:q,snapTolerance:j??8,collapseThreshold:K,requestCollapse:()=>n.setSidebarMode("collapsed"),requestToggle:()=>n.togglePane("sidebar")}},N.length>0?N.map((d,O)=>e.cloneElement(d,{key:d.key??O})):e.createElement(_,null)):null;if(S){const d=n.sidebarMode!=="collapsed";return e.createElement(G.Root,{open:d,onOpenChange:O=>n.setSidebarMode(O?"expanded":"collapsed")},e.createElement(G.Content,{side:"start",style:{padding:0},width:{initial:`${d?n.sidebarMode==="thin"?f:p:z.current}px`}},e.createElement(ce.VisuallyHidden,null,e.createElement(G.Title,null,"Sidebar")),U))}return e.createElement("div",{...t,ref:B,className:(0,J.default)("rt-ShellSidebar",a),"data-mode":n.sidebarMode,"data-peek":n.peekTarget==="sidebar"||void 0,"data-presentation":$,style:{...k,"--sidebar-size":`${p}px`,"--sidebar-thin-size":`${f}px`,"--sidebar-min-size":`${g}px`,"--sidebar-max-size":`${h}px`,...n.peekTarget==="sidebar"&&!S?(()=>{const d=m&&m.length>0?m:["thin","expanded"],O=n.sidebarMode;let A="collapsed";return O==="collapsed"?A=d[0]??"expanded":O==="thin"?A=d.includes("expanded")?"expanded":"collapsed":A=d.includes("thin")?"thin":"collapsed",{"--peek-sidebar-width":`${A==="thin"?f:p}px`}})():{}}},e.createElement("div",{className:"rt-ShellSidebarContent","data-visible":M||void 0},D),Re)});se.displayName="Shell.Sidebar",se.Handle=ye;const Pe=e.forwardRef(({className:a,...l},o)=>e.createElement("main",{...l,ref:o,className:(0,J.default)("rt-ShellContent",a)}));Pe.displayName="Shell.Content";const pe=e.forwardRef(({className:a,presentation:l={initial:"overlay",lg:"fixed"},mode:o,defaultMode:u="collapsed",onModeChange:R,expandedSize:p=320,minSize:g=200,maxSize:h=500,resizable:P=!1,collapsible:b=!0,onExpand:C,onCollapse:H,onResize:r,onResizeStart:x,onResizeEnd:w,snapPoints:q,snapTolerance:j,collapseThreshold:K,paneId:I,persistence:V,children:U,style:k,...f},m)=>{const t=Q(),y=re(l),n=y==="overlay",$=y==="stacked",S=e.useRef(null),T=e.useCallback(s=>{S.current=s,typeof m=="function"?m(s):m&&(m.current=s)},[m]),v=e.Children.toArray(U),B=v.filter(s=>e.isValidElement(s)&&s.type===be),c=v.filter(s=>!(e.isValidElement(s)&&s.type===be)),N=e.useCallback(()=>{if(typeof u=="string")return u;const s=u;if(s&&s[t.currentBreakpoint])return s[t.currentBreakpoint];const z=[...Object.keys(ie)].reverse().concat("initial"),Z=z.indexOf(t.currentBreakpoint);for(let X=Z+1;X<z.length;X++){const ne=z[X];if(s&&s[ne])return s[ne]}return"collapsed"},[u,t.currentBreakpoint]),D=e.useRef(null);e.useEffect(()=>{if(o!==void 0||!t.currentBreakpointReady||D.current===t.currentBreakpoint)return;D.current=t.currentBreakpoint;const s=N();s!==t.inspectorMode&&t.setInspectorMode(s)},[o,t.currentBreakpoint,t.currentBreakpointReady,N,t.inspectorMode,t.setInspectorMode]),e.useEffect(()=>{o!==void 0&&t.inspectorMode!==o&&t.setInspectorMode(o)},[o,t]),e.useEffect(()=>{o===void 0&&R?.(t.inspectorMode)},[t.inspectorMode,o,R]),e.useEffect(()=>{t.inspectorMode==="expanded"?C?.():H?.()},[t.inspectorMode,C,H]);const F=t.inspectorMode==="expanded",L=e.useMemo(()=>{if(!I||V)return V;const s=`kookie-ui:shell:inspector:${I}`;return{load:()=>{if(typeof window>"u")return;const z=window.localStorage.getItem(s);return z?Number(z):void 0},save:z=>{typeof window>"u"||window.localStorage.setItem(s,String(z))}}},[I,V]);e.useEffect(()=>{let s=!0;return(async()=>{if(!P||!L?.load||n)return;const E=await L.load();s&&typeof E=="number"&&S.current&&(S.current.style.setProperty("--inspector-size",`${E}px`),r?.(E))})(),()=>{s=!1}},[P,L,r,n]);const M=P&&!n&&F?e.createElement(de.Provider,{value:{containerRef:S,cssVarName:"--inspector-size",minSize:g,maxSize:h,defaultSize:p,orientation:"vertical",edge:"start",computeNext:(s,E,z)=>{const Z=getComputedStyle(S.current).direction==="rtl",X=s-E;return z+(Z?X:-X)},onResize:r,onResizeStart:x,onResizeEnd:s=>{w?.(s),L?.save?.(s)},target:"inspector",collapsible:b,snapPoints:q,snapTolerance:j??8,collapseThreshold:K,requestCollapse:()=>t.setInspectorMode("collapsed"),requestToggle:()=>t.togglePane("inspector")}},B.length>0?B.map((s,E)=>e.cloneElement(s,{key:s.key??E})):e.createElement(_,null)):null;if(n){const s=t.inspectorMode==="expanded";return e.createElement(G.Root,{open:s,onOpenChange:E=>t.setInspectorMode(E?"expanded":"collapsed")},e.createElement(G.Content,{side:"end",style:{padding:0},width:{initial:`${p}px`}},e.createElement(ce.VisuallyHidden,null,e.createElement(G.Title,null,"Inspector")),U))}return e.createElement("div",{...f,ref:T,className:(0,J.default)("rt-ShellInspector",a),"data-mode":t.inspectorMode,"data-peek":t.peekTarget==="inspector"||void 0,"data-presentation":y,"data-open":$&&F||void 0,style:{...k,"--inspector-size":`${p}px`,"--inspector-min-size":`${g}px`,"--inspector-max-size":`${h}px`}},e.createElement("div",{className:"rt-ShellInspectorContent","data-visible":F||void 0},c),M)});pe.displayName="Shell.Inspector",pe.Handle=be;const ue=e.forwardRef(({className:a,presentation:l="fixed",mode:o,defaultMode:u="collapsed",onModeChange:R,expandedSize:p=200,minSize:g=100,maxSize:h=400,resizable:P=!1,collapsible:b=!0,onExpand:C,onCollapse:H,onResize:r,onResizeStart:x,onResizeEnd:w,snapPoints:q,snapTolerance:j,collapseThreshold:K,paneId:I,persistence:V,children:U,style:k,...f},m)=>{const t=Q(),y=re(l),n=y==="overlay",$=y==="stacked",S=e.useRef(null),T=e.useCallback(M=>{S.current=M,typeof m=="function"?m(M):m&&(m.current=M)},[m]),v=e.Children.toArray(U),B=v.filter(M=>e.isValidElement(M)&&M.type===ve),c=v.filter(M=>!(e.isValidElement(M)&&M.type===ve)),N=e.useRef(!1);e.useEffect(()=>{N.current||(N.current=!0,o===void 0&&t.bottomMode!==u&&t.setBottomMode(u))},[]),e.useEffect(()=>{o!==void 0&&t.bottomMode!==o&&t.setBottomMode(o)},[o,t]),e.useEffect(()=>{o===void 0&&R?.(t.bottomMode)},[t.bottomMode,o,R]),e.useEffect(()=>{t.bottomMode==="expanded"?C?.():H?.()},[t.bottomMode,C,H]);const D=t.bottomMode==="expanded",F=e.useMemo(()=>{if(!I||V)return V;const M=`kookie-ui:shell:bottom:${I}`;return{load:()=>{if(typeof window>"u")return;const E=window.localStorage.getItem(M);return E?Number(E):void 0},save:E=>{typeof window>"u"||window.localStorage.setItem(M,String(E))}}},[I,V]);e.useEffect(()=>{let M=!0;return(async()=>{if(!P||!F?.load||n)return;const s=await F.load();M&&typeof s=="number"&&S.current&&(S.current.style.setProperty("--bottom-size",`${s}px`),r?.(s))})(),()=>{M=!1}},[P,F,r,n]);const L=P&&!n&&D?e.createElement(de.Provider,{value:{containerRef:S,cssVarName:"--bottom-size",minSize:g,maxSize:h,defaultSize:p,orientation:"horizontal",edge:"start",computeNext:(M,s,E)=>{const z=M-s;return E-z},onResize:r,onResizeStart:x,onResizeEnd:M=>{w?.(M),F?.save?.(M)},target:"bottom",collapsible:b,snapPoints:q,snapTolerance:j??8,collapseThreshold:K,requestCollapse:()=>t.setBottomMode("collapsed"),requestToggle:()=>t.togglePane("bottom")}},B.length>0?B.map((M,s)=>e.cloneElement(M,{key:M.key??s})):e.createElement(_,null)):null;if(n){const M=t.bottomMode==="expanded";return e.createElement(G.Root,{open:M,onOpenChange:s=>t.setBottomMode(s?"expanded":"collapsed")},e.createElement(G.Content,{side:"bottom",style:{padding:0},height:{initial:`${p}px`}},e.createElement(ce.VisuallyHidden,null,e.createElement(G.Title,null,"Bottom panel")),U))}return e.createElement("div",{...f,ref:T,className:(0,J.default)("rt-ShellBottom",a),"data-mode":t.bottomMode,"data-peek":t.peekTarget==="bottom"||void 0,"data-presentation":y,"data-open":$&&D||void 0,style:{...k,"--bottom-size":`${p}px`,"--bottom-min-size":`${g}px`,"--bottom-max-size":`${h}px`}},e.createElement("div",{className:"rt-ShellBottomContent","data-visible":D||void 0},c),L)});ue.displayName="Shell.Bottom",ue.Handle=ve;const Ee=e.forwardRef(({target:a,action:l="toggle",peekOnHover:o,onClick:u,onMouseEnter:R,onMouseLeave:p,children:g,...h},P)=>{const b=Q(),C=e.useCallback(w=>{switch(u?.(w),l){case"toggle":b.togglePane(a);break;case"expand":b.expandPane(a);break;case"collapse":b.collapsePane(a);break}},[b,a,l,u]),H=(()=>{switch(a){case"left":case"rail":return b.leftMode==="collapsed";case"panel":return b.leftMode==="collapsed"||b.panelMode==="collapsed";case"sidebar":return b.sidebarMode==="collapsed";case"inspector":return b.inspectorMode==="collapsed";case"bottom":return b.bottomMode==="collapsed"}})(),r=e.useCallback(w=>{if(R?.(w),!o)return;(o==="collapsed"?H:!0)&&b.peekPane(a)},[R,o,H,b,a]),x=e.useCallback(w=>{p?.(w),o&&b.peekTarget===a&&b.clearPeek()},[p,o,b,a]);return e.createElement("button",{...h,ref:P,onClick:C,onMouseEnter:r,onMouseLeave:x,"data-shell-trigger":a,"data-shell-action":l},g)});Ee.displayName="Shell.Trigger";
1
+ "use strict";"use client";var Ce=Object.create;var fe=Object.defineProperty;var Te=Object.getOwnPropertyDescriptor;var we=Object.getOwnPropertyNames;var Be=Object.getPrototypeOf,He=Object.prototype.hasOwnProperty;var Le=(a,i)=>{for(var r in i)fe(a,r,{get:i[r],enumerable:!0})},ge=(a,i,r,u)=>{if(i&&typeof i=="object"||typeof i=="function")for(let R of we(i))!He.call(a,R)&&R!==r&&fe(a,R,{get:()=>i[R],enumerable:!(u=Te(i,R))||u.enumerable});return a};var Se=(a,i,r)=>(r=a!=null?Ce(Be(a)):{},ge(i||!a||!a.__esModule?fe(r,"default",{value:a,enumerable:!0}):r,a)),Ne=a=>ge(fe({},"__esModule",{value:!0}),a);var De={};Le(De,{Bottom:()=>ue,Content:()=>Pe,Header:()=>Me,Inspector:()=>pe,Left:()=>he,Panel:()=>te,Rail:()=>ae,Root:()=>ke,Sidebar:()=>se,Trigger:()=>Ee,useResponsivePresentation:()=>re,useShell:()=>Q});module.exports=Ne(De);var e=Se(require("react")),J=Se(require("classnames")),G=Se(require("./sheet.js")),$e=require("./inset.js"),ce=require("./visually-hidden.js");const le={xs:"(min-width: 520px)",sm:"(min-width: 768px)",md:"(min-width: 1024px)",lg:"(min-width: 1280px)",xl:"(min-width: 1640px)"},xe=e.createContext(null);function Q(){const a=e.useContext(xe);if(!a)throw new Error("Shell components must be used within <Shell.Root>");return a}const de=e.createContext(null);function Ae(){const a=e.useContext(de);if(!a)throw new Error("Shell.Handle must be used within a resizable pane");return a}const _=e.forwardRef(({className:a,children:i,...r},u)=>{const{containerRef:R,cssVarName:p,minSize:g,maxSize:h,defaultSize:P,orientation:b,edge:T,computeNext:L,onResize:o,onResizeStart:x,onResizeEnd:w,snapPoints:F,snapTolerance:q,collapseThreshold:K,collapsible:I,target:V,requestCollapse:U,requestToggle:k}=Ae(),f=e.useRef(null);e.useEffect(()=>()=>{try{f.current?.()}catch{}f.current=null},[]);const m=b;return e.createElement("div",{...r,ref:u,className:(0,J.default)("rt-ShellResizer",a),"data-orientation":b,"data-edge":T,role:"slider","aria-orientation":m,"aria-valuemin":g,"aria-valuemax":h,"aria-valuenow":P,tabIndex:0,onPointerDown:t=>{if(!R.current)return;t.preventDefault();const y=R.current,n=t.currentTarget,$=t.pointerId;try{f.current?.()}catch{}y.setAttribute("data-resizing","");try{n.setPointerCapture($)}catch{}const S=b==="vertical"?t.clientX:t.clientY,C=parseFloat(getComputedStyle(y).getPropertyValue(p)||`${P}`),M=s=>Math.min(Math.max(s,g),h),B=document.body,c=B.style.cursor,N=B.style.userSelect;B.style.cursor=b==="vertical"?"col-resize":"row-resize",B.style.userSelect="none",x?.(C);const D=s=>{const E=b==="vertical"?s.clientX:s.clientY,z=M(L(E,S,C));y.style.setProperty(p,`${z}px`),n.setAttribute("aria-valuenow",String(z)),o?.(z)},j=()=>{try{n.releasePointerCapture($)}catch{}window.removeEventListener("pointermove",D),window.removeEventListener("pointerup",H),window.removeEventListener("pointercancel",H),window.removeEventListener("keydown",v),n.removeEventListener("lostpointercapture",H),y.removeAttribute("data-resizing"),B.style.cursor=c,B.style.userSelect=N,f.current=null},H=()=>{const s=parseFloat(getComputedStyle(y).getPropertyValue(p)||`${P}`);let E=s;if(F&&F.length){const z=F.reduce((Z,X)=>Math.abs(X-s)<Math.abs(Z-s)?X:Z,F[0]);Math.abs(z-s)<=(q??8)&&(E=z,y.style.setProperty(p,`${E}px`),n.setAttribute("aria-valuenow",String(E)),o?.(E))}I&&typeof K=="number"&&s<=K&&U?.(),w?.(E),j()},v=s=>{s.key==="Escape"&&(y.style.setProperty(p,`${C}px`),n.setAttribute("aria-valuenow",String(C)),w?.(C),j())};window.addEventListener("pointermove",D),window.addEventListener("pointerup",H),window.addEventListener("pointercancel",H),window.addEventListener("keydown",v),n.addEventListener("lostpointercapture",H),f.current=j},onDoubleClick:()=>{I&&k?.()},onKeyDown:t=>{if(!R.current)return;const y=R.current,n=parseFloat(getComputedStyle(y).getPropertyValue(p)||`${P}`),$=M=>Math.min(Math.max(M,g),h),S=t.shiftKey?32:8;let C=0;if(b==="vertical"?t.key==="ArrowRight"?C=S:t.key==="ArrowLeft"&&(C=-S):t.key==="ArrowDown"?C=S:t.key==="ArrowUp"&&(C=-S),t.key==="Home"){t.preventDefault(),x?.(n);const M=$(g);y.style.setProperty(p,`${M}px`),t.currentTarget.setAttribute("aria-valuenow",String(M)),o?.(M),w?.(M);return}if(t.key==="End"){t.preventDefault(),x?.(n);const M=$(h);y.style.setProperty(p,`${M}px`),t.currentTarget.setAttribute("aria-valuenow",String(M)),o?.(M),w?.(M);return}if(C!==0){t.preventDefault(),x?.(n);const M=$(n+(T==="start"&&b==="vertical"?-C:C));y.style.setProperty(p,`${M}px`),t.currentTarget.setAttribute("aria-valuenow",String(M)),o?.(M),w?.(M)}}},i)});_.displayName="Shell.Handle";const me=e.forwardRef((a,i)=>e.createElement(_,{...a,ref:i}));me.displayName="Shell.Panel.Handle";const ye=e.forwardRef((a,i)=>e.createElement(_,{...a,ref:i}));ye.displayName="Shell.Sidebar.Handle";const be=e.forwardRef((a,i)=>e.createElement(_,{...a,ref:i}));be.displayName="Shell.Inspector.Handle";const ve=e.forwardRef((a,i)=>e.createElement(_,{...a,ref:i}));ve.displayName="Shell.Bottom.Handle";function re(a){const{currentBreakpoint:i}=Q();return e.useMemo(()=>{if(typeof a=="string")return a;if(a[i])return a[i];const u=[...Object.keys(le)].reverse().concat("initial"),R=u.indexOf(i);for(let p=R+1;p<u.length;p++){const g=u[p];if(a[g])return a[g]}return"fixed"},[a,i])}function ze(){const[a,i]=e.useState("initial"),[r,u]=e.useState(!1);return e.useEffect(()=>{if(typeof window>"u")return;const p=Object.entries(le).map(([h,P])=>[h,window.matchMedia(P)]),g=()=>{const h=p.filter(([,b])=>b.matches).map(([b])=>b),P=h[h.length-1]??"initial";i(P),u(!0)};return g(),p.forEach(([,h])=>h.addEventListener("change",g)),()=>{p.forEach(([,h])=>h.removeEventListener("change",g))}},[]),{bp:a,ready:r}}const ke=e.forwardRef(({className:a,children:i,height:r="full",...u},R)=>{const{bp:p,ready:g}=ze(),[h,P]=e.useState("collapsed"),[b,T]=e.useState("collapsed"),[L,o]=e.useState("expanded"),[x,w]=e.useState("collapsed"),[F,q]=e.useState("collapsed"),[K,I]=e.useState(!1),[V,U]=e.useState(!1),k=e.useRef(l=>l==="collapsed"?"thin":l==="thin"?"expanded":"collapsed"),f=e.useCallback(l=>{k.current=l},[]);e.useEffect(()=>{h==="collapsed"&&T("collapsed")},[h]),e.useEffect(()=>{V&&K&&console.warn("Shell: Sidebar cannot coexist with Rail or Panel. Use either Rail+Panel OR Sidebar.")},[V,K]);const[m,t]=e.useState(void 0),y=e.useCallback(l=>t(l),[]),n=e.useRef(64),$=e.useRef(288),S=e.useCallback(l=>{n.current=l},[]),C=e.useCallback(l=>{$.current=l},[]),M=e.useMemo(()=>{const l=e.Children.toArray(i),W=(Y,ie)=>e.isValidElement(Y)&&(Y.type===ie||Y.type?.displayName===ie.displayName);return l.some(Y=>W(Y,ae)||W(Y,te))},[i]),B=e.useMemo(()=>{const l=e.Children.toArray(i),W=(Y,ie)=>e.isValidElement(Y)&&(Y.type===ie||Y.type?.displayName===ie.displayName);return l.some(Y=>W(Y,se))},[i]),c=e.useCallback(l=>{switch(l){case"left":case"rail":P(W=>W==="expanded"?"collapsed":"expanded");break;case"panel":h==="collapsed"?(P("expanded"),T("expanded")):T(W=>W==="expanded"?"collapsed":"expanded");break;case"sidebar":o(W=>k.current(W));break;case"inspector":w(W=>W==="expanded"?"collapsed":"expanded");break;case"bottom":q(W=>W==="expanded"?"collapsed":"expanded");break}},[h]),N=e.useCallback(l=>{switch(l){case"left":case"rail":P("expanded");break;case"panel":P("expanded"),T("expanded");break;case"sidebar":o("expanded");break;case"inspector":w("expanded");break;case"bottom":q("expanded");break}},[]),D=e.useCallback(l=>{switch(l){case"left":case"rail":P("collapsed");break;case"panel":T("collapsed");break;case"sidebar":o("collapsed");break;case"inspector":w("collapsed");break;case"bottom":q("collapsed");break}},[]),j=e.useMemo(()=>({leftMode:h,setLeftMode:P,panelMode:b,setPanelMode:T,sidebarMode:L,setSidebarMode:o,inspectorMode:x,setInspectorMode:w,bottomMode:F,setBottomMode:q,hasLeft:K,setHasLeft:I,hasSidebar:V,setHasSidebar:U,currentBreakpoint:p,currentBreakpointReady:g,leftResolvedPresentation:m,togglePane:c,expandPane:N,collapsePane:D,setSidebarToggleComputer:f,onLeftPres:y,onRailDefaults:S,onPanelDefaults:C}),[h,b,L,x,F,K,V,p,g,m,c,N,D,f,y,S,C]),H=e.Children.toArray(i),v=(l,W)=>e.isValidElement(l)&&(l.type===W||l.type?.displayName===W.displayName),s=H.filter(l=>v(l,Me)),E=H.filter(l=>v(l,ae)),z=H.filter(l=>v(l,te)),Z=H.filter(l=>v(l,se)),X=H.filter(l=>v(l,Pe)),ne=H.filter(l=>v(l,pe)),Re=H.filter(l=>v(l,ue)),d=e.useMemo(()=>r==="full"?{height:"100vh"}:r==="auto"?{height:"auto"}:typeof r=="string"?{height:r}:typeof r=="number"?{height:`${r}px`}:{},[r]),[O,A]=e.useState(null),oe=e.useCallback(l=>A(l),[]),ee=e.useCallback(()=>A(null),[]);return e.createElement("div",{...u,ref:R,className:(0,J.default)("rt-ShellRoot",a),style:{...d,...u.style}},e.createElement(xe.Provider,{value:{...j,peekTarget:O,setPeekTarget:A,peekPane:oe,clearPeek:ee}},s,e.createElement("div",{className:"rt-ShellBody","data-peek-target":O??void 0,style:O==="rail"||O==="panel"?{"--peek-rail-width":`${n.current}px`}:void 0},M&&!B?(()=>{const l=E[0],W=l?{mode:l.props?.mode,defaultMode:l.props?.defaultMode,onModeChange:l.props?.onModeChange,presentation:l.props?.presentation,collapsible:l.props?.collapsible,onExpand:l.props?.onExpand,onCollapse:l.props?.onCollapse}:{};return e.createElement(he,{...W},E,z)})():Z,X,ne),Re))});ke.displayName="Shell.Root";const Me=e.forwardRef(({className:a,height:i=64,style:r,...u},R)=>e.createElement("header",{...u,ref:R,className:(0,J.default)("rt-ShellHeader",a),style:{...r,"--shell-header-height":`${i}px`}}));Me.displayName="Shell.Header";const he=e.forwardRef(({className:a,presentation:i={initial:"overlay",sm:"fixed"},mode:r,defaultMode:u="collapsed",onModeChange:R,collapsible:p=!0,onExpand:g,onCollapse:h,children:P,style:b,...T},L)=>{const o=Q(),x=re(i),w=x==="overlay",F=x==="stacked",q=e.useRef(null);e.useEffect(()=>{o.onLeftPres?.(x)},[o,x]);const K=e.useCallback(k=>{q.current=k,typeof L=="function"?L(k):L&&(L.current=k)},[L]);e.useEffect(()=>(o.setHasLeft(!0),()=>o.setHasLeft(!1)),[o]);const I=e.useCallback(()=>{if(typeof u=="string")return u;const k=u;if(k&&k[o.currentBreakpoint])return k[o.currentBreakpoint];const m=[...Object.keys(le)].reverse().concat("initial"),t=m.indexOf(o.currentBreakpoint);for(let y=t+1;y<m.length;y++){const n=m[y];if(k&&k[n])return k[n]}return"collapsed"},[u,o.currentBreakpoint]),V=e.useRef(null);e.useEffect(()=>{if(r!==void 0||!o.currentBreakpointReady||V.current===o.currentBreakpoint)return;V.current=o.currentBreakpoint;const k=I();k!==o.leftMode&&o.setLeftMode(k)},[r,o.currentBreakpoint,o.currentBreakpointReady,I,o.leftMode,o.setLeftMode]),e.useEffect(()=>{r!==void 0&&o.leftMode!==r&&o.setLeftMode(r)},[r,o]),e.useEffect(()=>{r===void 0&&R?.(o.leftMode)},[o.leftMode,r,R]),e.useEffect(()=>{o.leftMode==="expanded"?g?.():h?.()},[o.leftMode,g,h]);const U=o.leftMode==="expanded";if(w){const k=o.leftMode==="expanded",f=e.Children.toArray(P),m=(B,c)=>e.isValidElement(B)&&B.type===c,t=f.find(B=>m(B,ae)),y=f.find(B=>m(B,te)),n=typeof t?.props?.expandedSize=="number"?t.props.expandedSize:64,$=typeof y?.props?.expandedSize=="number"?y.props.expandedSize:288,S=!!t,C=!!y,M=(S?n:0)+(o.panelMode==="expanded"&&C?$:0);return e.createElement(G.Root,{open:k,onOpenChange:B=>o.setLeftMode(B?"expanded":"collapsed")},e.createElement(G.Content,{side:"start",style:{padding:0},width:{initial:`${M}px`}},e.createElement(ce.VisuallyHidden,null,e.createElement(G.Title,null,"Navigation")),e.createElement("div",{className:"rt-ShellLeft"},P)))}if(F){const k=o.leftMode==="expanded",f=e.Children.toArray(P),m=(c,N)=>e.isValidElement(c)&&c.type===N,t=f.find(c=>m(c,ae)),y=f.find(c=>m(c,te)),n=typeof t?.props?.expandedSize=="number"?t.props.expandedSize:64,$=typeof y?.props?.expandedSize=="number"?y.props.expandedSize:288,S=!!t,M=!!y&&(o.panelMode==="expanded"||o.peekTarget==="panel"),B=(S?n:0)+(M?$:0);return e.createElement("div",{...T,ref:K,className:(0,J.default)("rt-ShellLeft",a),"data-mode":o.leftMode,"data-peek":o.peekTarget==="left"||o.peekTarget==="rail"||o.peekTarget==="panel"||void 0,"data-presentation":x,style:{...b},"data-open":k||void 0},P)}return e.createElement("div",{...T,ref:K,className:(0,J.default)("rt-ShellLeft",a),"data-mode":o.leftMode,"data-peek":o.peekTarget==="left"||o.peekTarget==="rail"||o.peekTarget==="panel"||void 0,"data-presentation":x,style:{...b}},P)});he.displayName="Shell.Left";const ae=e.forwardRef(({className:a,presentation:i,mode:r,defaultMode:u,onModeChange:R,expandedSize:p=64,collapsible:g,onExpand:h,onCollapse:P,children:b,style:T,...L},o)=>{const x=Q();e.useEffect(()=>{x.onRailDefaults?.(p)},[x,p]);const w=x.leftMode==="expanded";return e.createElement("div",{...L,ref:o,className:(0,J.default)("rt-ShellRail",a),"data-mode":x.leftMode,"data-peek":x.leftResolvedPresentation!=="overlay"&&x.peekTarget==="rail"||void 0,style:{...T,"--rail-size":`${p}px`}},e.createElement("div",{className:"rt-ShellRailContent","data-visible":w||x.leftResolvedPresentation!=="overlay"&&x.peekTarget==="rail"||void 0},b))});ae.displayName="Shell.Rail";const te=e.forwardRef(({className:a,mode:i,onModeChange:r,expandedSize:u=288,minSize:R,maxSize:p,resizable:g,collapsible:h=!0,onExpand:P,onCollapse:b,onResize:T,onResizeStart:L,onResizeEnd:o,snapPoints:x,snapTolerance:w,collapseThreshold:F,paneId:q,persistence:K,children:I,style:V,...U},k)=>{const f=Q();e.useEffect(()=>{f.onPanelDefaults?.(u)},[f,u]);const m=e.useRef(null),t=e.useCallback(c=>{m.current=c,typeof k=="function"?k(c):k&&(k.current=c)},[k]),y=e.Children.toArray(I),n=y.filter(c=>e.isValidElement(c)&&c.type===me),$=y.filter(c=>!(e.isValidElement(c)&&c.type===me)),S=f.leftResolvedPresentation==="overlay",C=e.useMemo(()=>{if(!q||K)return K;const c=`kookie-ui:shell:panel:${q}`;return{load:()=>{if(typeof window>"u")return;const D=window.localStorage.getItem(c);return D?Number(D):void 0},save:D=>{typeof window>"u"||window.localStorage.setItem(c,String(D))}}},[q,K]);e.useEffect(()=>{let c=!0;return(async()=>{if(!g||!C?.load||S)return;const N=await C.load();c&&typeof N=="number"&&m.current&&(m.current.style.setProperty("--panel-size",`${N}px`),T?.(N))})(),()=>{c=!1}},[g,C,T,S]),e.useEffect(()=>{m.current&&S&&m.current.style.setProperty("--panel-size",`${u}px`)},[S,u]),e.useEffect(()=>{if(m.current&&f.leftResolvedPresentation!=="overlay"&&f.leftMode==="expanded"&&f.panelMode==="expanded"){const c=m.current.parentElement||null;try{c?.style.removeProperty("width")}catch{}}},[f.leftResolvedPresentation,f.leftMode,f.panelMode]);const M=f.leftMode==="expanded"&&f.panelMode==="expanded",B=g&&f.leftResolvedPresentation!=="overlay"&&M?e.createElement(de.Provider,{value:{containerRef:m,cssVarName:"--panel-size",minSize:typeof R=="number"?R:100,maxSize:typeof p=="number"?p:800,defaultSize:u,orientation:"vertical",edge:"end",computeNext:(c,N,D)=>{const j=getComputedStyle(m.current).direction==="rtl",H=c-N;return D+(j?-H:H)},onResize:T,onResizeStart:c=>{const D=m.current?.parentElement;try{D?.style.removeProperty("width")}catch{}L?.(c)},onResizeEnd:c=>{o?.(c),C?.save?.(c)},target:"panel",collapsible:!!h,snapPoints:x,snapTolerance:w??8,collapseThreshold:F,requestCollapse:()=>f.setPanelMode("collapsed"),requestToggle:()=>f.togglePane("panel")}},n.length>0?n.map((c,N)=>e.cloneElement(c,{key:c.key??N})):e.createElement(_,null)):null;return e.createElement("div",{...U,ref:t,className:(0,J.default)("rt-ShellPanel",a),"data-mode":f.panelMode,"data-visible":M||f.leftResolvedPresentation!=="overlay"&&f.peekTarget==="panel"||void 0,"data-peek":f.leftResolvedPresentation!=="overlay"&&f.peekTarget==="panel"||void 0,style:{...V,"--panel-size":`${u}px`}},e.createElement("div",{className:"rt-ShellPanelContent","data-visible":M||void 0},$),B)});te.displayName="Shell.Panel",te.Handle=me;const se=e.forwardRef(({className:a,presentation:i={initial:"overlay",md:"fixed"},mode:r,defaultMode:u="expanded",onModeChange:R,expandedSize:p=288,minSize:g=200,maxSize:h=400,resizable:P=!1,collapsible:b=!0,onExpand:T,onCollapse:L,onResize:o,onResizeStart:x,onResizeEnd:w,snapPoints:F,snapTolerance:q,collapseThreshold:K,paneId:I,persistence:V,children:U,style:k,thinSize:f=64,toggleModes:m,...t},y)=>{const n=Q(),$=re(i),S=$==="overlay",C=$==="stacked",M=e.useRef(null),B=e.useCallback(d=>{M.current=d,typeof y=="function"?y(d):y&&(y.current=d)},[y]),c=e.Children.toArray(U),N=c.filter(d=>e.isValidElement(d)&&d.type===ye),D=c.filter(d=>!(e.isValidElement(d)&&d.type===ye)),j=e.useId();e.useEffect(()=>(n.setHasSidebar(!0),()=>{n.setHasSidebar(!1)}),[n,j]);const H=e.useRef(!1);e.useEffect(()=>{H.current||(H.current=!0,r===void 0&&n.sidebarMode!==u&&n.setSidebarMode(u))},[]),e.useEffect(()=>{r!==void 0&&n.sidebarMode!==r&&n.setSidebarMode(r)},[r,n]),e.useEffect(()=>{r===void 0&&R?.(n.sidebarMode)},[n.sidebarMode,r,R]),e.useEffect(()=>{n.sidebarMode==="expanded"?T?.():L?.()},[n.sidebarMode,T,L]);const v=n.sidebarMode!=="collapsed",s=e.useMemo(()=>{if(!I||V)return V;const d=`kookie-ui:shell:sidebar:${I}`;return{load:()=>{if(typeof window>"u")return;const A=window.localStorage.getItem(d);return A?Number(A):void 0},save:A=>{typeof window>"u"||window.localStorage.setItem(d,String(A))}}},[I,V]);e.useEffect(()=>{let d=!0;return(async()=>{if(!P||!s?.load||S)return;const O=await s.load();d&&typeof O=="number"&&M.current&&(M.current.style.setProperty("--sidebar-size",`${O}px`),o?.(O))})(),()=>{d=!1}},[P,s,o,S]);const E=Q();e.useEffect(()=>{if(!E.setSidebarToggleComputer)return;const d=m&&m.length>0?m:["thin","expanded"],O=A=>A==="collapsed"?d[0]??"expanded":A==="thin"?d.includes("thin")&&d.includes("expanded")?"expanded":"collapsed":d.length===2&&d.includes("thin")&&d.includes("expanded")?"collapsed":d.includes("thin")&&!d.includes("expanded")?"thin":"collapsed";return E.setSidebarToggleComputer(O),()=>{E.setSidebarToggleComputer?.(A=>A==="collapsed"?"thin":A==="thin"?"expanded":"collapsed")}},[E,m]);const z=e.useRef(p),Z=e.useRef("expanded");e.useEffect(()=>{n.sidebarMode!=="collapsed"&&(Z.current=n.sidebarMode,z.current=n.sidebarMode==="thin"?f:p)},[n.sidebarMode,f,p]);const X=e.useCallback(()=>{if(typeof u=="string")return u;const d=u;if(d&&d[n.currentBreakpoint])return d[n.currentBreakpoint];const A=[...Object.keys(le)].reverse().concat("initial"),oe=A.indexOf(n.currentBreakpoint);for(let ee=oe+1;ee<A.length;ee++){const l=A[ee];if(d&&d[l])return d[l]}return"collapsed"},[u,n.currentBreakpoint]),ne=e.useRef(null);e.useEffect(()=>{if(r!==void 0||!n.currentBreakpointReady||ne.current===n.currentBreakpoint)return;ne.current=n.currentBreakpoint;const d=X();d!==n.sidebarMode&&n.setSidebarMode(d)},[r,n.currentBreakpoint,n.currentBreakpointReady,X,n.sidebarMode,n.setSidebarMode]);const Re=P&&!S&&n.sidebarMode==="expanded"?e.createElement(de.Provider,{value:{containerRef:M,cssVarName:"--sidebar-size",minSize:g,maxSize:h,defaultSize:p,orientation:"vertical",edge:"end",computeNext:(d,O,A)=>{const oe=getComputedStyle(M.current).direction==="rtl",ee=d-O;return A+(oe?-ee:ee)},onResize:o,onResizeStart:x,onResizeEnd:d=>{w?.(d),s?.save?.(d)},target:"sidebar",collapsible:b,snapPoints:F,snapTolerance:q??8,collapseThreshold:K,requestCollapse:()=>n.setSidebarMode("collapsed"),requestToggle:()=>n.togglePane("sidebar")}},N.length>0?N.map((d,O)=>e.cloneElement(d,{key:d.key??O})):e.createElement(_,null)):null;if(S){const d=n.sidebarMode!=="collapsed";return e.createElement(G.Root,{open:d,onOpenChange:O=>n.setSidebarMode(O?"expanded":"collapsed")},e.createElement(G.Content,{side:"start",style:{padding:0},width:{initial:`${d?n.sidebarMode==="thin"?f:p:z.current}px`}},e.createElement(ce.VisuallyHidden,null,e.createElement(G.Title,null,"Sidebar")),U))}return e.createElement("div",{...t,ref:B,className:(0,J.default)("rt-ShellSidebar",a),"data-mode":n.sidebarMode,"data-peek":n.peekTarget==="sidebar"||void 0,"data-presentation":$,"data-open":C&&v||void 0,style:{...k,"--sidebar-size":`${p}px`,"--sidebar-thin-size":`${f}px`,"--sidebar-min-size":`${g}px`,"--sidebar-max-size":`${h}px`,...n.peekTarget==="sidebar"&&!S?(()=>{const d=m&&m.length>0?m:["thin","expanded"],O=n.sidebarMode;let A="collapsed";return O==="collapsed"?A=d[0]??"expanded":O==="thin"?A=d.includes("expanded")?"expanded":"collapsed":A=d.includes("thin")?"thin":"collapsed",{"--peek-sidebar-width":`${A==="thin"?f:p}px`}})():{}}},e.createElement("div",{className:"rt-ShellSidebarContent","data-visible":v||void 0},D),Re)});se.displayName="Shell.Sidebar",se.Handle=ye;const Pe=e.forwardRef(({className:a,...i},r)=>e.createElement("main",{...i,ref:r,className:(0,J.default)("rt-ShellContent",a)}));Pe.displayName="Shell.Content";const pe=e.forwardRef(({className:a,presentation:i={initial:"overlay",lg:"fixed"},mode:r,defaultMode:u="collapsed",onModeChange:R,expandedSize:p=320,minSize:g=200,maxSize:h=500,resizable:P=!1,collapsible:b=!0,onExpand:T,onCollapse:L,onResize:o,onResizeStart:x,onResizeEnd:w,snapPoints:F,snapTolerance:q,collapseThreshold:K,paneId:I,persistence:V,children:U,style:k,...f},m)=>{const t=Q(),y=re(i),n=y==="overlay",$=y==="stacked",S=e.useRef(null),C=e.useCallback(s=>{S.current=s,typeof m=="function"?m(s):m&&(m.current=s)},[m]),M=e.Children.toArray(U),B=M.filter(s=>e.isValidElement(s)&&s.type===be),c=M.filter(s=>!(e.isValidElement(s)&&s.type===be)),N=e.useCallback(()=>{if(typeof u=="string")return u;const s=u;if(s&&s[t.currentBreakpoint])return s[t.currentBreakpoint];const z=[...Object.keys(le)].reverse().concat("initial"),Z=z.indexOf(t.currentBreakpoint);for(let X=Z+1;X<z.length;X++){const ne=z[X];if(s&&s[ne])return s[ne]}return"collapsed"},[u,t.currentBreakpoint]),D=e.useRef(null);e.useEffect(()=>{if(r!==void 0||!t.currentBreakpointReady||D.current===t.currentBreakpoint)return;D.current=t.currentBreakpoint;const s=N();s!==t.inspectorMode&&t.setInspectorMode(s)},[r,t.currentBreakpoint,t.currentBreakpointReady,N,t.inspectorMode,t.setInspectorMode]),e.useEffect(()=>{r!==void 0&&t.inspectorMode!==r&&t.setInspectorMode(r)},[r,t]),e.useEffect(()=>{r===void 0&&R?.(t.inspectorMode)},[t.inspectorMode,r,R]),e.useEffect(()=>{t.inspectorMode==="expanded"?T?.():L?.()},[t.inspectorMode,T,L]);const j=t.inspectorMode==="expanded",H=e.useMemo(()=>{if(!I||V)return V;const s=`kookie-ui:shell:inspector:${I}`;return{load:()=>{if(typeof window>"u")return;const z=window.localStorage.getItem(s);return z?Number(z):void 0},save:z=>{typeof window>"u"||window.localStorage.setItem(s,String(z))}}},[I,V]);e.useEffect(()=>{let s=!0;return(async()=>{if(!P||!H?.load||n)return;const E=await H.load();s&&typeof E=="number"&&S.current&&(S.current.style.setProperty("--inspector-size",`${E}px`),o?.(E))})(),()=>{s=!1}},[P,H,o,n]);const v=P&&!n&&j?e.createElement(de.Provider,{value:{containerRef:S,cssVarName:"--inspector-size",minSize:g,maxSize:h,defaultSize:p,orientation:"vertical",edge:"start",computeNext:(s,E,z)=>{const Z=getComputedStyle(S.current).direction==="rtl",X=s-E;return z+(Z?X:-X)},onResize:o,onResizeStart:x,onResizeEnd:s=>{w?.(s),H?.save?.(s)},target:"inspector",collapsible:b,snapPoints:F,snapTolerance:q??8,collapseThreshold:K,requestCollapse:()=>t.setInspectorMode("collapsed"),requestToggle:()=>t.togglePane("inspector")}},B.length>0?B.map((s,E)=>e.cloneElement(s,{key:s.key??E})):e.createElement(_,null)):null;if(n){const s=t.inspectorMode==="expanded";return e.createElement(G.Root,{open:s,onOpenChange:E=>t.setInspectorMode(E?"expanded":"collapsed")},e.createElement(G.Content,{side:"end",style:{padding:0},width:{initial:`${p}px`}},e.createElement(ce.VisuallyHidden,null,e.createElement(G.Title,null,"Inspector")),U))}return e.createElement("div",{...f,ref:C,className:(0,J.default)("rt-ShellInspector",a),"data-mode":t.inspectorMode,"data-peek":t.peekTarget==="inspector"||void 0,"data-presentation":y,"data-open":$&&j||void 0,style:{...k,"--inspector-size":`${p}px`,"--inspector-min-size":`${g}px`,"--inspector-max-size":`${h}px`}},e.createElement("div",{className:"rt-ShellInspectorContent","data-visible":j||void 0},c),v)});pe.displayName="Shell.Inspector",pe.Handle=be;const ue=e.forwardRef(({className:a,presentation:i="fixed",mode:r,defaultMode:u="collapsed",onModeChange:R,expandedSize:p=200,minSize:g=100,maxSize:h=400,resizable:P=!1,collapsible:b=!0,onExpand:T,onCollapse:L,onResize:o,onResizeStart:x,onResizeEnd:w,snapPoints:F,snapTolerance:q,collapseThreshold:K,paneId:I,persistence:V,children:U,style:k,...f},m)=>{const t=Q(),y=re(i),n=y==="overlay",$=y==="stacked",S=e.useRef(null),C=e.useCallback(v=>{S.current=v,typeof m=="function"?m(v):m&&(m.current=v)},[m]),M=e.Children.toArray(U),B=M.filter(v=>e.isValidElement(v)&&v.type===ve),c=M.filter(v=>!(e.isValidElement(v)&&v.type===ve)),N=e.useRef(!1);e.useEffect(()=>{N.current||(N.current=!0,r===void 0&&t.bottomMode!==u&&t.setBottomMode(u))},[]),e.useEffect(()=>{r!==void 0&&t.bottomMode!==r&&t.setBottomMode(r)},[r,t]),e.useEffect(()=>{r===void 0&&R?.(t.bottomMode)},[t.bottomMode,r,R]),e.useEffect(()=>{t.bottomMode==="expanded"?T?.():L?.()},[t.bottomMode,T,L]);const D=t.bottomMode==="expanded",j=e.useMemo(()=>{if(!I||V)return V;const v=`kookie-ui:shell:bottom:${I}`;return{load:()=>{if(typeof window>"u")return;const E=window.localStorage.getItem(v);return E?Number(E):void 0},save:E=>{typeof window>"u"||window.localStorage.setItem(v,String(E))}}},[I,V]);e.useEffect(()=>{let v=!0;return(async()=>{if(!P||!j?.load||n)return;const s=await j.load();v&&typeof s=="number"&&S.current&&(S.current.style.setProperty("--bottom-size",`${s}px`),o?.(s))})(),()=>{v=!1}},[P,j,o,n]);const H=P&&!n&&D?e.createElement(de.Provider,{value:{containerRef:S,cssVarName:"--bottom-size",minSize:g,maxSize:h,defaultSize:p,orientation:"horizontal",edge:"start",computeNext:(v,s,E)=>{const z=v-s;return E-z},onResize:o,onResizeStart:x,onResizeEnd:v=>{w?.(v),j?.save?.(v)},target:"bottom",collapsible:b,snapPoints:F,snapTolerance:q??8,collapseThreshold:K,requestCollapse:()=>t.setBottomMode("collapsed"),requestToggle:()=>t.togglePane("bottom")}},B.length>0?B.map((v,s)=>e.cloneElement(v,{key:v.key??s})):e.createElement(_,null)):null;if(n){const v=t.bottomMode==="expanded";return e.createElement(G.Root,{open:v,onOpenChange:s=>t.setBottomMode(s?"expanded":"collapsed")},e.createElement(G.Content,{side:"bottom",style:{padding:0},height:{initial:`${p}px`}},e.createElement(ce.VisuallyHidden,null,e.createElement(G.Title,null,"Bottom panel")),U))}return e.createElement("div",{...f,ref:C,className:(0,J.default)("rt-ShellBottom",a),"data-mode":t.bottomMode,"data-peek":t.peekTarget==="bottom"||void 0,"data-presentation":y,"data-open":$&&D||void 0,style:{...k,"--bottom-size":`${p}px`,"--bottom-min-size":`${g}px`,"--bottom-max-size":`${h}px`}},e.createElement("div",{className:"rt-ShellBottomContent","data-visible":D||void 0},c),H)});ue.displayName="Shell.Bottom",ue.Handle=ve;const Ee=e.forwardRef(({target:a,action:i="toggle",peekOnHover:r,onClick:u,onMouseEnter:R,onMouseLeave:p,children:g,...h},P)=>{const b=Q(),T=e.useCallback(w=>{switch(u?.(w),i){case"toggle":b.togglePane(a);break;case"expand":b.expandPane(a);break;case"collapse":b.collapsePane(a);break}},[b,a,i,u]),L=(()=>{switch(a){case"left":case"rail":return b.leftMode==="collapsed";case"panel":return b.leftMode==="collapsed"||b.panelMode==="collapsed";case"sidebar":return b.sidebarMode==="collapsed";case"inspector":return b.inspectorMode==="collapsed";case"bottom":return b.bottomMode==="collapsed"}})(),o=e.useCallback(w=>{R?.(w),!(!r||!L)&&b.peekPane(a)},[R,r,L,b,a]),x=e.useCallback(w=>{p?.(w),r&&b.peekTarget===a&&b.clearPeek()},[p,r,b,a]);return e.createElement("button",{...h,ref:P,onClick:T,onMouseEnter:o,onMouseLeave:x,"data-shell-trigger":a,"data-shell-action":i},g)});Ee.displayName="Shell.Trigger";
2
2
  //# sourceMappingURL=shell.js.map