@kushagradhawan/kookie-ui 0.1.128 → 0.1.130
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 +17 -2
- package/dist/cjs/components/avatar.props.d.ts +12 -0
- package/dist/cjs/components/avatar.props.d.ts.map +1 -1
- package/dist/cjs/components/avatar.props.js +1 -1
- package/dist/cjs/components/avatar.props.js.map +3 -3
- package/dist/cjs/components/shell.d.ts.map +1 -1
- package/dist/cjs/components/shell.js +1 -1
- package/dist/cjs/components/shell.js.map +3 -3
- package/dist/esm/components/avatar.props.d.ts +12 -0
- package/dist/esm/components/avatar.props.d.ts.map +1 -1
- package/dist/esm/components/avatar.props.js +1 -1
- package/dist/esm/components/avatar.props.js.map +3 -3
- package/dist/esm/components/shell.d.ts.map +1 -1
- package/dist/esm/components/shell.js +1 -1
- package/dist/esm/components/shell.js.map +3 -3
- package/package.json +1 -1
- package/schemas/base-button.json +1 -1
- package/schemas/button.json +1 -1
- package/schemas/icon-button.json +1 -1
- package/schemas/index.json +6 -6
- package/schemas/toggle-button.json +1 -1
- package/schemas/toggle-icon-button.json +1 -1
- package/src/components/avatar.css +18 -1
- package/src/components/avatar.props.tsx +8 -0
- package/src/components/shell.tsx +14 -2
- package/styles.css +17 -2
package/components.css
CHANGED
|
@@ -2190,10 +2190,25 @@
|
|
|
2190
2190
|
.rt-AvatarImage {
|
|
2191
2191
|
width: 100%;
|
|
2192
2192
|
height: 100%;
|
|
2193
|
-
-o-object-fit: cover;
|
|
2194
|
-
object-fit: cover;
|
|
2193
|
+
-o-object-fit: var(--avatar-object-fit, cover);
|
|
2194
|
+
object-fit: var(--avatar-object-fit, cover);
|
|
2195
2195
|
border-radius: inherit;
|
|
2196
2196
|
}
|
|
2197
|
+
.rt-AvatarRoot:where(.rt-r-fit-cover) {
|
|
2198
|
+
--avatar-object-fit: cover;
|
|
2199
|
+
}
|
|
2200
|
+
.rt-AvatarRoot:where(.rt-r-fit-contain) {
|
|
2201
|
+
--avatar-object-fit: contain;
|
|
2202
|
+
}
|
|
2203
|
+
.rt-AvatarRoot:where(.rt-r-fit-fill) {
|
|
2204
|
+
--avatar-object-fit: fill;
|
|
2205
|
+
}
|
|
2206
|
+
.rt-AvatarRoot:where(.rt-r-fit-scale-down) {
|
|
2207
|
+
--avatar-object-fit: scale-down;
|
|
2208
|
+
}
|
|
2209
|
+
.rt-AvatarRoot:where(.rt-r-fit-none) {
|
|
2210
|
+
--avatar-object-fit: none;
|
|
2211
|
+
}
|
|
2197
2212
|
.rt-AvatarFallback {
|
|
2198
2213
|
font-family: var(--default-font-family);
|
|
2199
2214
|
font-weight: var(--font-weight-medium);
|
|
@@ -34,6 +34,18 @@ declare const avatarPropDefs: {
|
|
|
34
34
|
type: "ReactNode";
|
|
35
35
|
default: undefined;
|
|
36
36
|
};
|
|
37
|
+
/**
|
|
38
|
+
* Controls how the avatar image should be resized to fit its container.
|
|
39
|
+
* Defaults to 'cover' which crops the image to fill the avatar.
|
|
40
|
+
* Use 'contain' to show the full image without cropping.
|
|
41
|
+
*/
|
|
42
|
+
fit: {
|
|
43
|
+
type: "enum";
|
|
44
|
+
className: string;
|
|
45
|
+
values: readonly ["cover", "contain", "fill", "scale-down", "none"];
|
|
46
|
+
default: "cover";
|
|
47
|
+
responsive: true;
|
|
48
|
+
};
|
|
37
49
|
radius: {
|
|
38
50
|
type: "enum";
|
|
39
51
|
values: readonly ["none", "small", "medium", "large", "full"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.props.d.ts","sourceRoot":"","sources":["../../../src/components/avatar.props.tsx"],"names":[],"mappings":"AACA,OAAO,EAAsB,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"avatar.props.d.ts","sourceRoot":"","sources":["../../../src/components/avatar.props.tsx"],"names":[],"mappings":"AACA,OAAO,EAAsB,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAY1E,QAAA,MAAM,cAAc;;;;;;;;;;IASlB;;OAEG;;;;;;IAEH;;;OAGG;;;;;;IAEH;;;OAGG;;;;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;kBAvBK,mBACN;;;;;;;;;;;;;;;;;;CAiCH,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var r=Object.defineProperty;var
|
|
1
|
+
"use strict";var r=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var m=(t,e)=>{for(var o in e)r(t,o,{get:e[o],enumerable:!0})},v=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of c(e))!d.call(t,a)&&a!==o&&r(t,a,{get:()=>e[a],enumerable:!(n=l(e,a))||n.enumerable});return t};var y=t=>v(r({},"__esModule",{value:!0}),t);var k={};m(k,{avatarPropDefs:()=>p});module.exports=y(k);var f=require("../props/as-child.prop.js"),s=require("../props/color.prop.js"),u=require("../props/high-contrast.prop.js"),i=require("../props/radius.prop.js");const D=["1","2","3","4","5","6","7","8","9","10","11","12"],P=["classic","solid","soft","surface","outline"],b=["solid","translucent"],g=["solid","translucent"],N=["cover","contain","fill","scale-down","none"],p={...f.asChildPropDef,size:{type:"enum",className:"rt-r-size",values:D,default:"3",responsive:!0},variant:{type:"enum",className:"rt-variant",values:P,default:"soft"},...s.accentColorPropDef,...u.highContrastPropDef,...i.radiusPropDef,fallback:{type:"ReactNode",required:!0},material:{type:"enum",values:g,default:void 0},panelBackground:{type:"enum",values:b,default:void 0},status:{type:"enum",values:s.accentColors,default:void 0},badge:{type:"ReactNode",default:void 0},fit:{type:"enum",className:"rt-r-fit",values:N,default:"cover",responsive:!0}};
|
|
2
2
|
//# sourceMappingURL=avatar.props.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/avatar.props.tsx"],
|
|
4
|
-
"sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\nimport { accentColorPropDef, accentColors } from '../props/color.prop.js';\nimport { highContrastPropDef } from '../props/high-contrast.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'] as const;\nconst variants = ['classic', 'solid', 'soft', 'surface', 'outline'] as const;\nconst panelBackgrounds = ['solid', 'translucent'] as const;\nconst materials = ['solid', 'translucent'] as const;\n\nconst avatarPropDefs = {\n ...asChildPropDef,\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '3', responsive: true },\n variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'soft' },\n ...accentColorPropDef,\n ...highContrastPropDef,\n ...radiusPropDef,\n fallback: { type: 'ReactNode', required: true },\n material: { type: 'enum', values: materials, default: undefined },\n /**\n * @deprecated Use `material` prop instead. This prop will be removed in a future version.\n */\n panelBackground: { type: 'enum', values: panelBackgrounds, default: undefined },\n /**\n * Status indicator color. Renders a small colored dot at the bottom-right corner.\n * Cannot be used together with `badge`.\n */\n status: { type: 'enum', values: accentColors, default: undefined },\n /**\n * Custom badge content. Renders at the bottom-right corner.\n * Cannot be used together with `status`.\n */\n badge: { type: 'ReactNode', default: undefined },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n fallback: PropDef<React.ReactNode>;\n material: PropDef<(typeof materials)[number] | undefined>;\n panelBackground: PropDef<(typeof panelBackgrounds)[number] | undefined>;\n status: PropDef<(typeof accentColors)[number] | undefined>;\n badge: PropDef<React.ReactNode>;\n};\n\nexport { avatarPropDefs };\n"],
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA+B,qCAC/BC,EAAiD,kCACjDC,EAAoC,0CACpCC,EAA8B,mCAI9B,MAAMC,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAI,EACtEC,EAAW,CAAC,UAAW,QAAS,OAAQ,UAAW,SAAS,EAC5DC,EAAmB,CAAC,QAAS,aAAa,EAC1CC,EAAY,CAAC,QAAS,aAAa,
|
|
6
|
-
"names": ["avatar_props_exports", "__export", "avatarPropDefs", "__toCommonJS", "import_as_child_prop", "import_color_prop", "import_high_contrast_prop", "import_radius_prop", "sizes", "variants", "panelBackgrounds", "materials"]
|
|
4
|
+
"sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\nimport { accentColorPropDef, accentColors } from '../props/color.prop.js';\nimport { highContrastPropDef } from '../props/high-contrast.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'] as const;\nconst variants = ['classic', 'solid', 'soft', 'surface', 'outline'] as const;\nconst panelBackgrounds = ['solid', 'translucent'] as const;\nconst materials = ['solid', 'translucent'] as const;\nconst objectFitValues = ['cover', 'contain', 'fill', 'scale-down', 'none'] as const;\n\nconst avatarPropDefs = {\n ...asChildPropDef,\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '3', responsive: true },\n variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'soft' },\n ...accentColorPropDef,\n ...highContrastPropDef,\n ...radiusPropDef,\n fallback: { type: 'ReactNode', required: true },\n material: { type: 'enum', values: materials, default: undefined },\n /**\n * @deprecated Use `material` prop instead. This prop will be removed in a future version.\n */\n panelBackground: { type: 'enum', values: panelBackgrounds, default: undefined },\n /**\n * Status indicator color. Renders a small colored dot at the bottom-right corner.\n * Cannot be used together with `badge`.\n */\n status: { type: 'enum', values: accentColors, default: undefined },\n /**\n * Custom badge content. Renders at the bottom-right corner.\n * Cannot be used together with `status`.\n */\n badge: { type: 'ReactNode', default: undefined },\n /**\n * Controls how the avatar image should be resized to fit its container.\n * Defaults to 'cover' which crops the image to fill the avatar.\n * Use 'contain' to show the full image without cropping.\n */\n fit: { type: 'enum', className: 'rt-r-fit', values: objectFitValues, default: 'cover', responsive: true },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n fallback: PropDef<React.ReactNode>;\n material: PropDef<(typeof materials)[number] | undefined>;\n panelBackground: PropDef<(typeof panelBackgrounds)[number] | undefined>;\n status: PropDef<(typeof accentColors)[number] | undefined>;\n badge: PropDef<React.ReactNode>;\n fit: PropDef<(typeof objectFitValues)[number]>;\n};\n\nexport { avatarPropDefs };\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA+B,qCAC/BC,EAAiD,kCACjDC,EAAoC,0CACpCC,EAA8B,mCAI9B,MAAMC,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAI,EACtEC,EAAW,CAAC,UAAW,QAAS,OAAQ,UAAW,SAAS,EAC5DC,EAAmB,CAAC,QAAS,aAAa,EAC1CC,EAAY,CAAC,QAAS,aAAa,EACnCC,EAAkB,CAAC,QAAS,UAAW,OAAQ,aAAc,MAAM,EAEnEV,EAAiB,CACrB,GAAG,iBACH,KAAM,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQM,EAAO,QAAS,IAAK,WAAY,EAAK,EAC5F,QAAS,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQC,EAAU,QAAS,MAAO,EACpF,GAAG,qBACH,GAAG,sBACH,GAAG,gBACH,SAAU,CAAE,KAAM,YAAa,SAAU,EAAK,EAC9C,SAAU,CAAE,KAAM,OAAQ,OAAQE,EAAW,QAAS,MAAU,EAIhE,gBAAiB,CAAE,KAAM,OAAQ,OAAQD,EAAkB,QAAS,MAAU,EAK9E,OAAQ,CAAE,KAAM,OAAQ,OAAQ,eAAc,QAAS,MAAU,EAKjE,MAAO,CAAE,KAAM,YAAa,QAAS,MAAU,EAM/C,IAAK,CAAE,KAAM,OAAQ,UAAW,WAAY,OAAQE,EAAiB,QAAS,QAAS,WAAY,EAAK,CAC1G",
|
|
6
|
+
"names": ["avatar_props_exports", "__export", "avatarPropDefs", "__toCommonJS", "import_as_child_prop", "import_color_prop", "import_high_contrast_prop", "import_radius_prop", "sizes", "variants", "panelBackgrounds", "materials", "objectFitValues"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/components/shell.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,yBAAyB,EAA6B,MAAM,kBAAkB,CAAC;AAIxF,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,KAAK,EAAqB,sBAAsB,EAAE,QAAQ,EAAE,WAAW,EAAuB,UAAU,EAAE,UAAU,EAAc,aAAa,EAAyB,MAAM,kBAAkB,CAAC;AAGxM,OAAO,EAEL,QAAQ,EAaT,MAAM,oBAAoB,CAAC;AA4M5B,QAAA,MAAM,IAAI,
|
|
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 Ke=Object.create;var Se=Object.defineProperty;var Xe=Object.getOwnPropertyDescriptor;var Ye=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,Ze=Object.prototype.hasOwnProperty;var en=(t,a)=>{for(var i in a)Se(t,i,{get:a[i],enumerable:!0})},_e=(t,a,i,y)=>{if(a&&typeof a=="object"||typeof a=="function")for(let c of Ye(a))!Ze.call(t,c)&&c!==i&&Se(t,c,{get:()=>a[c],enumerable:!(y=Xe(a,c))||y.enumerable});return t};var ge=(t,a,i)=>(i=t!=null?Ke(Je(t)):{},_e(a||!t||!t.__esModule?Se(i,"default",{value:t,enumerable:!0}):i,t)),nn=t=>_e(Se({},"__esModule",{value:!0}),t);var rn={};en(rn,{Bottom:()=>Pe.Bottom,Content:()=>Me,Header:()=>Ce,Inspector:()=>ye.Inspector,Left:()=>me,Panel:()=>q,Rail:()=>Q,Root:()=>Oe,Sidebar:()=>pe.Sidebar,Trigger:()=>Le,useResponsivePresentation:()=>te.useResponsivePresentation,useShell:()=>p.useShell});module.exports=nn(rn);var e=ge(require("react")),G=ge(require("classnames")),Te=ge(require("./sheet.js")),De=require("./visually-hidden.js"),te=require("./shell.hooks.js"),Be=require("./_internal/shell-resize.js"),ce=require("./_internal/shell-handles.js"),K=require("./_internal/shell-prop-helpers.js"),pe=require("./_internal/shell-sidebar.js"),Pe=require("./_internal/shell-bottom.js"),ye=require("./_internal/shell-inspector.js"),Ae=require("./shell.types.js"),we=require("../helpers/normalize-to-px.js"),p=require("./shell.context.js");function tn(){const[t,a]=e.useState("initial"),[i,y]=e.useState(!1);return e.useEffect(()=>{if(typeof window>"u")return;const h=Object.entries(Ae._BREAKPOINTS).map(([P,l])=>[P,window.matchMedia(l)]),C=P=>{const l=h.filter(([,g])=>g.matches).map(([g])=>g),m=l[l.length-1]??"initial";a(m),y(!0)};C();const S=[];return h.forEach(([,P])=>{const l=P;typeof l.addEventListener=="function"&&typeof l.removeEventListener=="function"?(l.addEventListener("change",C),S.push(()=>l.removeEventListener?.("change",C))):typeof l.addListener=="function"&&typeof l.removeListener=="function"&&(l.addListener(C),S.push(()=>l.removeListener?.(C)))}),()=>{S.forEach(P=>{try{P()}catch{}})}},[]),{bp:t,ready:i}}const Ee=Symbol("rtShellSlot");function ne(t,a){return t[Ee]=a,t}function dn(t,a){if(!e.isValidElement(t))return!1;const i=t.type;if(i===a)return!0;const y=a?.[Ee];return!!(i?.[Ee]&&y&&i[Ee]===y)}ne(pe.Sidebar,"Shell.Sidebar"),ne(ye.Inspector,"Shell.Inspector"),ne(Pe.Bottom,"Shell.Bottom");function on(t,a){switch(a.type){case"SET_LEFT_MODE":return a.mode==="collapsed"?{...t,leftMode:"collapsed",panelMode:"collapsed"}:{...t,leftMode:a.mode};case"SET_PANEL_MODE":return a.mode==="expanded"&&t.leftMode!=="expanded"?{...t,leftMode:"expanded",panelMode:"expanded"}:{...t,panelMode:a.mode};case"SET_SIDEBAR_MODE":return{...t,sidebarMode:a.mode};case"SET_INSPECTOR_MODE":return{...t,inspectorMode:a.mode};case"SET_BOTTOM_MODE":return{...t,bottomMode:a.mode};case"TOGGLE_PANE":{switch(a.target){case"left":case"rail":return{...t,leftMode:t.leftMode==="expanded"?"collapsed":"expanded",panelMode:t.leftMode==="expanded"?"collapsed":t.panelMode};case"panel":return t.leftMode==="collapsed"?{...t,leftMode:"expanded",panelMode:"expanded"}:{...t,panelMode:t.panelMode==="expanded"?"collapsed":"expanded"};case"sidebar":{const i=t.sidebarMode==="collapsed"?"expanded":t.sidebarMode==="expanded"?"collapsed":"expanded";return{...t,sidebarMode:i}}case"inspector":return{...t,inspectorMode:t.inspectorMode==="expanded"?"collapsed":"expanded"};case"bottom":return{...t,bottomMode:t.bottomMode==="expanded"?"collapsed":"expanded"};default:return t}return t}case"EXPAND_PANE":{switch(a.target){case"left":case"rail":return{...t,leftMode:"expanded"};case"panel":return{...t,leftMode:"expanded",panelMode:"expanded"};case"sidebar":return{...t,sidebarMode:"expanded"};case"inspector":return{...t,inspectorMode:"expanded"};case"bottom":return{...t,bottomMode:"expanded"};default:return t}return t}case"COLLAPSE_PANE":{switch(a.target){case"left":case"rail":return{...t,leftMode:"collapsed",panelMode:"collapsed"};case"panel":return{...t,panelMode:"collapsed"};case"sidebar":return{...t,sidebarMode:"collapsed"};case"inspector":return{...t,inspectorMode:"collapsed"};case"bottom":return{...t,bottomMode:"collapsed"};default:return t}return t}}return t}const Oe=e.forwardRef(({className:t,children:a,height:i="full",...y},c)=>{const{bp:h,ready:C}=tn(),S=e.Children.toArray(a),P=S.some(n=>e.isValidElement(n)&&n.type?.displayName==="Shell.Panel"&&!!n.props?.defaultOpen),l=S.find(n=>e.isValidElement(n)&&n.type?.displayName==="Shell.Rail"),m=l?l.props?.defaultOpen:void 0,g=l?m===void 0?!0:typeof m=="boolean"?m:typeof m=="object"?m.initial??Object.values(m)[0]??!0:!0:!1,U=S.some(n=>e.isValidElement(n)&&n.type?.displayName==="Shell.Inspector"&&!!n.props?.defaultOpen),D=S.some(n=>e.isValidElement(n)&&n.type?.displayName==="Shell.Inspector"&&typeof n.props?.open<"u"&&!!n.props?.open),E=()=>{const n=S.find(f=>e.isValidElement(f)&&f.type?.displayName==="Shell.Sidebar");if(!n)return"expanded";const d=n.props;if(typeof d?.state<"u"){if(typeof d.state=="string")return d.state;if(typeof d.state=="object")return d.state.initial??Object.values(d.state)[0]??"expanded"}if(typeof d?.defaultState<"u"){if(typeof d.defaultState=="string")return d.defaultState;if(typeof d.defaultState=="object")return d.defaultState.initial??Object.values(d.defaultState)[0]??"expanded"}return"expanded"},z=()=>{const n=S.find(f=>e.isValidElement(f)&&f.type?.displayName==="Shell.Bottom");if(!n)return"collapsed";const d=n.props;if(typeof d?.open<"u"){if(typeof d.open=="boolean")return d.open?"expanded":"collapsed";if(typeof d.open=="object")return d.open.initial??Object.values(d.open)[0]?"expanded":"collapsed"}return typeof d?.defaultOpen<"u"&&d.defaultOpen?"expanded":"collapsed"},[u,s]=e.useReducer(on,{leftMode:P||g?"expanded":"collapsed",panelMode:P?"expanded":"collapsed",sidebarMode:E(),inspectorMode:U||D?"expanded":"collapsed",bottomMode:z()}),O=e.useCallback(n=>s({type:"SET_LEFT_MODE",mode:n}),[]),F=e.useCallback(n=>s({type:"SET_PANEL_MODE",mode:n}),[]),N=e.useCallback(n=>s({type:"SET_SIDEBAR_MODE",mode:n}),[]),I=e.useCallback(n=>s({type:"SET_INSPECTOR_MODE",mode:n}),[]),w=e.useCallback(n=>s({type:"SET_BOTTOM_MODE",mode:n}),[]),[B,oe]=e.useState(!1),[L,V]=e.useState(!1),$=e.useRef(n=>n==="collapsed"?"thin":n==="thin"?"expanded":"collapsed"),T=e.useCallback(n=>{$.current=n},[]);e.useEffect(()=>{L&&B&&console.warn("Shell: Sidebar cannot coexist with Rail or Panel. Use either Rail+Panel OR Sidebar.")},[L,B]);const[R,A]=e.useState(void 0),r=e.useCallback(n=>A(n),[]),_=e.useRef(64),X=e.useRef(288),ae=e.useCallback(n=>{_.current=n},[]),Y=e.useCallback(n=>{X.current=n},[]),le=e.useMemo(()=>{const n=e.Children.toArray(a),d=(f,ee)=>e.isValidElement(f)&&(f.type===ee||f.type?.displayName===ee.displayName);return n.some(f=>d(f,Q)||d(f,q))},[a]),re=e.useMemo(()=>{const n=e.Children.toArray(a),d=(f,ee)=>e.isValidElement(f)&&(f.type===ee||f.type?.displayName===ee.displayName);return n.some(f=>d(f,pe.Sidebar))},[a]),M=e.useCallback(n=>{if(n==="sidebar"){const d=$.current(u.sidebarMode);N(d);return}s({type:"TOGGLE_PANE",target:n})},[u.sidebarMode,N]),b=e.useCallback(n=>{if(n==="sidebar")return N("expanded");s({type:"EXPAND_PANE",target:n})},[N]),se=e.useCallback(n=>{if(n==="sidebar")return N("collapsed");s({type:"COLLAPSE_PANE",target:n})},[N]),ue=e.useMemo(()=>({leftMode:u.leftMode,setLeftMode:O,panelMode:u.panelMode,setPanelMode:F,sidebarMode:u.sidebarMode,setSidebarMode:N,inspectorMode:u.inspectorMode,setInspectorMode:I,bottomMode:u.bottomMode,setBottomMode:w,hasLeft:B,setHasLeft:oe,hasSidebar:L,setHasSidebar:V,currentBreakpoint:h,currentBreakpointReady:C,leftResolvedPresentation:R,togglePane:M,expandPane:b,collapsePane:se,setSidebarToggleComputer:T,onLeftPres:r,onRailDefaults:ae,onPanelDefaults:Y}),[u.leftMode,O,u.panelMode,F,u.sidebarMode,N,u.inspectorMode,I,u.bottomMode,w,B,L,h,C,R,M,b,se,T,r,ae,Y]),H=e.Children.toArray(a),W=(n,d)=>e.isValidElement(n)&&(n.type===d||n.type?.displayName===d.displayName),de=H.filter(n=>W(n,Ce)),J=H.filter(n=>W(n,Q)),Z=H.filter(n=>W(n,q)),fe=H.filter(n=>W(n,pe.Sidebar)),ve=H.filter(n=>W(n,Me)),o=H.filter(n=>W(n,ye.Inspector)),v=H.filter(n=>W(n,Pe.Bottom)),x=J[0]?.props?.open;e.useEffect(()=>{if(typeof x>"u")return;O(!!x?"expanded":"collapsed")},[x,O]);const k=e.useMemo(()=>i==="full"?{height:"100vh"}:i==="auto"?{height:"auto"}:typeof i=="string"?{height:i}:typeof i=="number"?{height:`${i}px`}:{},[i]),[j,ie]=e.useState(null),be=e.useCallback(n=>ie(n),[]),he=e.useCallback(()=>ie(null),[]),Ie=e.useMemo(()=>({currentBreakpoint:h,currentBreakpointReady:C,leftResolvedPresentation:R}),[h,C,R]),Ve=e.useMemo(()=>({leftMode:u.leftMode,setLeftMode:O}),[u.leftMode,O]),He=e.useMemo(()=>({panelMode:u.panelMode,setPanelMode:F}),[u.panelMode,F]),je=e.useMemo(()=>({sidebarMode:u.sidebarMode,setSidebarMode:N}),[u.sidebarMode,N]),Ue=e.useMemo(()=>({inspectorMode:u.inspectorMode,setInspectorMode:I}),[u.inspectorMode,I]),We=e.useMemo(()=>({bottomMode:u.bottomMode,setBottomMode:w}),[u.bottomMode,w]),Fe=e.useMemo(()=>({hasLeft:B,setHasLeft:oe,hasSidebar:L,setHasSidebar:V}),[B,oe,L,V]),[xe,ke]=e.useState(new Set),ze=e.useCallback(n=>{ke(d=>{if(d.has(n))return d;const f=new Set(d);return f.add(n),f})},[]),Ne=e.useCallback(n=>{ke(d=>{if(!d.has(n))return d;const f=new Set(d);return f.delete(n),f})},[]),Re=xe.size>0,$e=e.useMemo(()=>({insetPanes:xe,registerInset:ze,unregisterInset:Ne,hasAnyInset:Re}),[xe,ze,Ne,Re]),Ge=e.useMemo(()=>({peekTarget:j,setPeekTarget:ie,peekPane:be,clearPeek:he}),[j,ie,be,he]),Qe=e.useMemo(()=>({togglePane:M,expandPane:b,collapsePane:se,setSidebarToggleComputer:T}),[M,b,se,T]),qe=e.useMemo(()=>({...ue,peekTarget:j,setPeekTarget:ie,peekPane:be,clearPeek:he}),[ue,j,ie,be,he]);return e.createElement("div",{...y,ref:c,className:(0,G.default)("rt-ShellRoot",t),style:{...k,...y.style}},e.createElement(p.ShellProvider,{value:qe},e.createElement(p.PresentationContext.Provider,{value:Ie},e.createElement(p.LeftModeContext.Provider,{value:Ve},e.createElement(p.PanelModeContext.Provider,{value:He},e.createElement(p.SidebarModeContext.Provider,{value:je},e.createElement(p.InspectorModeContext.Provider,{value:Ue},e.createElement(p.BottomModeContext.Provider,{value:We},e.createElement(p.CompositionContext.Provider,{value:Fe},e.createElement(p.PeekContext.Provider,{value:Ge},e.createElement(p.ActionsContext.Provider,{value:Qe},e.createElement(p.InsetContext.Provider,{value:$e},de,e.createElement("div",{className:"rt-ShellBody","data-peek-target":j??void 0,"data-has-inset":Re||void 0,style:j==="rail"||j==="panel"?{"--peek-rail-width":`${_.current}px`}:void 0},le&&!re?(()=>{const n=J[0],d=Z[0],f=!!n?.props?.inset||!!d?.props?.inset,ee=n?{onOpenChange:n.props?.onOpenChange,open:n.props?.open,defaultOpen:n.props?.defaultOpen,presentation:n.props?.presentation,collapsible:n.props?.collapsible,onExpand:n.props?.onExpand,onCollapse:n.props?.onCollapse,inset:f}:{defaultOpen:P?!0:void 0,inset:f};return e.createElement(me,{...ee},J,Z)})():fe,ve,o),v))))))))))))});Oe.displayName="Shell.Root";const Ce=e.forwardRef(({className:t,height:a=64,style:i,...y},c)=>e.createElement("header",{...y,ref:c,className:(0,G.default)("rt-ShellHeader",t),style:{...i,"--shell-header-height":`${a}px`}}));Ce.displayName="Shell.Header";const an=["open","defaultOpen","onOpenChange","mode","defaultMode","onModeChange"],me=e.forwardRef((t,a)=>{const{className:i,presentation:y={initial:"fixed",sm:"fixed"},collapsible:c=!0,onExpand:h,onCollapse:C,children:S,style:P,inset:l,...m}=t,{registerInset:g,unregisterInset:U}=(0,p.useInset)();e.useEffect(()=>{if(l)return g("left"),()=>U("left")},[l,g,U]);const D=m.open,E=m.defaultOpen,z=m.onOpenChange,u=(0,K.omitPaneProps)(m,an),s=(0,p.useShell)(),O=(0,te.useResponsivePresentation)(y),F=O==="overlay",N=O==="stacked",I=e.useRef(null);e.useEffect(()=>{s.onLeftPres?.(O)},[s,O]);const w=e.useCallback(T=>{I.current=T,typeof a=="function"?a(T):a&&(a.current=T)},[a]);e.useEffect(()=>(s.setHasLeft(!0),()=>s.setHasLeft(!1)),[s]);const B=e.useRef(null),oe=e.useRef(!1),L=e.useMemo(()=>{if(!(typeof D>"u"))return D?"expanded":"collapsed"},[D]),V=e.useMemo(()=>(0,K.mapResponsiveBooleanToPaneMode)(E),[E]);(0,te.useResponsiveInitialState)({controlledValue:L,defaultValue:V,currentValue:s.leftMode,setValue:s.setLeftMode,breakpointReady:s.currentBreakpointReady,onInit:T=>z?.(T==="expanded",{reason:"init"})}),e.useEffect(()=>{typeof D<"u"||(B.current!==null&&B.current!==s.leftMode&&z?.(s.leftMode==="expanded",{reason:"toggle"}),B.current=s.leftMode)},[s,z,D]),e.useEffect(()=>{s.leftMode==="expanded"?h?.():C?.()},[s.leftMode,h,C]);const $=s.leftMode==="expanded";if(F){const T=s.leftMode==="expanded",R=e.Children.toArray(S),A=(M,b)=>e.isValidElement(M)&&M.type===b,r=R.find(M=>A(M,Q)),_=R.find(M=>A(M,q)),X=typeof r?.props?.expandedSize=="number"?r.props.expandedSize:64,ae=typeof _?.props?.expandedSize=="number"?_.props.expandedSize:288,Y=!!r,le=!!_,re=(Y?X:0)+(s.panelMode==="expanded"&&le?ae:0);return e.createElement(Te.Root,{open:T,onOpenChange:M=>s.setLeftMode(M?"expanded":"collapsed")},e.createElement(Te.Content,{side:"start",style:{padding:0},width:{initial:`${re}px`}},e.createElement(De.VisuallyHidden,null,e.createElement(Te.Title,null,"Navigation")),e.createElement("div",{className:"rt-ShellLeft"},S)))}if(N){const T=s.leftMode==="expanded",R=e.Children.toArray(S),A=(M,b)=>e.isValidElement(M)&&M.type===b,r=R.find(M=>A(M,Q)),_=R.find(M=>A(M,q)),X=typeof r?.props?.expandedSize=="number"?r.props.expandedSize:64,ae=typeof _?.props?.expandedSize=="number"?_.props.expandedSize:288,Y=!!r,re=!!_&&(s.panelMode==="expanded"||s.peekTarget==="panel");return e.createElement("div",{...u,ref:w,className:(0,G.default)("rt-ShellLeft",i),"data-mode":s.leftMode,"data-peek":s.peekTarget==="left"||s.peekTarget==="rail"||s.peekTarget==="panel"||void 0,"data-presentation":O,"data-inset":l||void 0,style:{...P},"data-open":T||void 0},S)}return e.createElement("div",{...u,ref:w,className:(0,G.default)("rt-ShellLeft",i),"data-mode":s.leftMode,"data-peek":s.peekTarget==="left"||s.peekTarget==="rail"||s.peekTarget==="panel"||void 0,"data-presentation":O,"data-inset":l||void 0,style:{...P}},S)});me.displayName="Shell.Left",ne(me,"Shell.Left");const Q=e.forwardRef((t,a)=>{const{className:i,presentation:y,expandedSize:c=64,collapsible:h,onExpand:C,onCollapse:S,children:P,style:l,open:m,defaultOpen:g,onOpenChange:U,...D}=t,E=(0,p.useShell)(),z=e.useRef(null);e.useEffect(()=>{const s=typeof m<"u";if(z.current===null){z.current=s;return}z.current!==s&&(console.warn("Shell.Rail: Switching between controlled and uncontrolled `open` is not supported."),z.current=s)},[m]),e.useEffect(()=>{E.onRailDefaults?.(c)},[E,c]);const u=E.leftMode==="expanded";return e.createElement("div",{...D,ref:a,className:(0,G.default)("rt-ShellRail",i),"data-mode":E.leftMode,"data-peek":E.currentBreakpointReady&&E.leftResolvedPresentation!=="overlay"&&E.peekTarget==="rail"||void 0,style:{...l,"--rail-size":`${c}px`}},e.createElement("div",{className:"rt-ShellRailContent","data-visible":E.currentBreakpointReady&&(u||E.leftResolvedPresentation!=="overlay"&&E.peekTarget==="rail")||void 0},P))});Q.displayName="Shell.Rail",ne(Q,"Shell.Rail");const ln=["className","children","defaultOpen","open","onOpenChange","size","defaultSize","onSizeChange","sizeUpdate","sizeUpdateMs","style"],q=ne(e.forwardRef((t,a)=>{const{className:i,defaultOpen:y,open:c,onOpenChange:h,size:C,defaultSize:S,expandedSize:P=288,minSize:l,maxSize:m,resizable:g,collapsible:U=!0,onExpand:D,onCollapse:E,onResize:z,onResizeStart:u,onResizeEnd:s,snapPoints:O,snapTolerance:F,collapseThreshold:N,paneId:I,persistence:w,children:B,style:oe,onSizeChange:L,sizeUpdate:V,sizeUpdateMs:$=50}=t,T=(0,K.extractPaneDomProps)(t,ln),R=e.useRef(null);e.useEffect(()=>()=>{R.current&&(clearTimeout(R.current),R.current=null)},[L,V,$]);const A=e.useMemo(()=>{if(!L)return()=>{};if(V==="debounce")return(v,x)=>{R.current&&clearTimeout(R.current),R.current=setTimeout(()=>{L?.(v,x),R.current=null},$)};if(V==="throttle"){let o=0;return(v,x)=>{const k=Date.now();k-o>=$&&(o=k,L?.(v,x))}}return(o,v)=>L?.(o,v)},[L,V,$]),r=(0,p.useShell)(),_=e.useRef(null),X=e.useRef(null),ae=e.useRef(!1),Y=e.useMemo(()=>(0,K.mapResponsiveBooleanToPaneMode)(c),[c]),le=e.useMemo(()=>(0,K.mapResponsiveBooleanToPaneMode)(y),[y]),re=typeof c=="object"&&c!==null;(0,te.useResponsiveInitialState)({controlledValue:Y,defaultValue:le,currentValue:r.panelMode,setValue:o=>{o==="expanded"&&r.leftMode!=="expanded"&&r.setLeftMode("expanded"),r.setPanelMode(o)},breakpointReady:r.currentBreakpointReady,controlledIsResponsive:re,onResponsiveChange:o=>h?.(o==="expanded",{reason:"responsive"}),onInit:o=>{typeof c>"u"&&h?.(o==="expanded",{reason:"init"})}});const M=e.useRef(null);e.useEffect(()=>{const o=typeof c<"u";if(M.current===null){M.current=o;return}M.current!==o&&(console.warn("Shell.Panel: Switching between controlled and uncontrolled `open` is not supported."),M.current=o)},[c]),e.useEffect(()=>{r.onPanelDefaults?.(P)},[r,P]);const b=e.useRef(null),se=e.useCallback(o=>{b.current=o,typeof a=="function"?a(o):a&&(a.current=o)},[a]),ue=e.Children.toArray(B),H=ue.filter(o=>e.isValidElement(o)&&o.type===ce.PanelHandle),W=ue.filter(o=>!(e.isValidElement(o)&&o.type===ce.PanelHandle)),de=r.leftResolvedPresentation==="overlay",J=e.useCallback(o=>(0,we.normalizeToPx)(o,"horizontal"),[]),Z=e.useMemo(()=>{if(!I||w)return w;const o=`kookie-ui:shell:panel:${I}`;return{load:()=>{if(typeof window>"u")return;const x=window.localStorage.getItem(o);return x?Number(x):void 0},save:x=>{typeof window>"u"||window.localStorage.setItem(o,String(x))}}},[I,w]);e.useEffect(()=>{let o=!0;return(async()=>{if(!g||!Z?.load||de)return;const v=await Z.load();o&&typeof v=="number"&&b.current&&(b.current.style.setProperty("--panel-size",`${v}px`),z?.(v))})(),()=>{o=!1}},[g,Z,z,de]),e.useEffect(()=>{b.current&&de&&b.current.style.setProperty("--panel-size",`${P}px`)},[de,P]),e.useEffect(()=>{if(b.current&&typeof C>"u"&&typeof S<"u"){const o=J(S);if(typeof o=="number"&&Number.isFinite(o)){const k=Math.min((typeof m=="number"?m:void 0)??o,Math.max((typeof l=="number"?l:void 0)??o,o));b.current.style.setProperty("--panel-size",`${k}px`),A(k,{reason:"init"})}}},[]),e.useEffect(()=>{if(!b.current||typeof C>"u")return;const o=J(C);if(typeof o=="number"&&Number.isFinite(o)){const k=Math.min((typeof m=="number"?m:void 0)??o,Math.max((typeof l=="number"?l:void 0)??o,o));b.current.style.setProperty("--panel-size",`${k}px`),A(k,{reason:"controlled"})}},[C,l,m,J,A]),e.useEffect(()=>{if(b.current&&r.leftResolvedPresentation!=="overlay"&&r.leftMode==="expanded"&&r.panelMode==="expanded"){const o=b.current.parentElement||null;try{o?.style.removeProperty("width")}catch{}}},[r.leftResolvedPresentation,r.leftMode,r.panelMode]);const fe=r.leftMode==="expanded"&&r.panelMode==="expanded";e.useEffect(()=>{const o=_.current,v=X.current;if(o!==null&&o!==r.panelMode){const x=r.panelMode==="expanded";let k="toggle";v!==r.leftMode&&r.leftMode==="collapsed"&&!x&&(k="left"),h?.(x,{reason:k})}_.current=r.panelMode,X.current=r.leftMode},[r.panelMode,r.leftMode,h]);const ve=g&&r.leftResolvedPresentation!=="overlay"&&fe?e.createElement(Be.PaneResizeContext.Provider,{value:{containerRef:b,cssVarName:"--panel-size",minSize:typeof l=="number"?l:100,maxSize:typeof m=="number"?m:800,defaultSize:P,orientation:"vertical",edge:"end",computeNext:(o,v,x)=>{const k=getComputedStyle(b.current).direction==="rtl",j=o-v;return x+(k?-j:j)},onResize:z,onResizeStart:o=>{const x=b.current?.parentElement;try{x?.style.removeProperty("width")}catch{}u?.(o)},onResizeEnd:o=>{s?.(o),A(o,{reason:"resize"}),Z?.save?.(o)},target:"panel",collapsible:!!U,snapPoints:O,snapTolerance:F??8,collapseThreshold:N,requestCollapse:()=>r.setPanelMode("collapsed"),requestToggle:()=>r.togglePane("panel")}},H.length>0?H.map((o,v)=>e.cloneElement(o,{key:o.key??v})):e.createElement(ce.PaneHandle,null)):null;return e.createElement("div",{...T,ref:se,className:(0,G.default)("rt-ShellPanel",i),"data-mode":r.panelMode,"data-visible":r.currentBreakpointReady&&(fe||r.leftResolvedPresentation!=="overlay"&&r.peekTarget==="panel")||void 0,"data-peek":r.currentBreakpointReady&&r.leftResolvedPresentation!=="overlay"&&r.peekTarget==="panel"||void 0,style:{...oe,"--panel-size":`${P}px`}},e.createElement("div",{className:"rt-ShellPanelContent","data-visible":fe||void 0},W),ve)}),"Shell.Panel");q.displayName="Shell.Panel",q.Handle=ce.PanelHandle;const Me=e.forwardRef(({className:t,inset:a,...i},y)=>{const{registerInset:c,unregisterInset:h}=(0,p.useInset)();return e.useEffect(()=>{if(a)return c("content"),()=>h("content")},[a,c,h]),e.createElement("main",{...i,ref:y,className:(0,G.default)("rt-ShellContent",t),"data-inset":a||void 0})});Me.displayName="Shell.Content",ne(Me,"Shell.Content");const Le=e.forwardRef(({target:t,action:a="toggle",peekOnHover:i,onClick:y,onMouseEnter:c,onMouseLeave:h,children:C,...S},P)=>{const l=(0,p.useShell)(),m=e.useCallback(E=>{switch(y?.(E),l.peekTarget===t&&l.clearPeek(),a){case"toggle":l.togglePane(t);break;case"expand":l.expandPane(t);break;case"collapse":l.collapsePane(t);break}},[l,t,a,y]),g=(()=>{switch(t){case"left":case"rail":return l.leftMode==="collapsed";case"panel":return l.leftMode==="collapsed"||l.panelMode==="collapsed";case"sidebar":return l.sidebarMode==="collapsed";case"inspector":return l.inspectorMode==="collapsed";case"bottom":return l.bottomMode==="collapsed"}})(),U=e.useCallback(E=>{c?.(E),!(!i||!g)&&l.peekPane(t)},[c,i,g,l,t]),D=e.useCallback(E=>{h?.(E),i&&l.peekTarget===t&&l.clearPeek()},[h,i,l,t]);return e.createElement("button",{...S,ref:P,onClick:m,onMouseEnter:U,onMouseLeave:D,"data-shell-trigger":t,"data-shell-action":a,"aria-expanded":!g},C)});Le.displayName="Shell.Trigger";
|
|
1
|
+
"use strict";"use client";var Xe=Object.create;var Ee=Object.defineProperty;var Ye=Object.getOwnPropertyDescriptor;var Je=Object.getOwnPropertyNames;var Ze=Object.getPrototypeOf,en=Object.prototype.hasOwnProperty;var nn=(t,a)=>{for(var i in a)Ee(t,i,{get:a[i],enumerable:!0})},De=(t,a,i,M)=>{if(a&&typeof a=="object"||typeof a=="function")for(let c of Je(a))!en.call(t,c)&&c!==i&&Ee(t,c,{get:()=>a[c],enumerable:!(M=Ye(a,c))||M.enumerable});return t};var Te=(t,a,i)=>(i=t!=null?Xe(Ze(t)):{},De(a||!t||!t.__esModule?Ee(i,"default",{value:t,enumerable:!0}):i,t)),tn=t=>De(Ee({},"__esModule",{value:!0}),t);var sn={};nn(sn,{Bottom:()=>Pe.Bottom,Content:()=>Me,Header:()=>ve,Inspector:()=>ye.Inspector,Left:()=>me,Panel:()=>X,Rail:()=>K,Root:()=>Le,Sidebar:()=>ie.Sidebar,Trigger:()=>ke,useResponsivePresentation:()=>ae.useResponsivePresentation,useShell:()=>p.useShell});module.exports=tn(sn);var e=Te(require("react")),q=Te(require("classnames")),Oe=Te(require("./sheet.js")),Be=require("./visually-hidden.js"),ae=require("./shell.hooks.js"),Ae=require("./_internal/shell-resize.js"),pe=require("./_internal/shell-handles.js"),Y=require("./_internal/shell-prop-helpers.js"),ie=require("./_internal/shell-sidebar.js"),Pe=require("./_internal/shell-bottom.js"),ye=require("./_internal/shell-inspector.js"),we=require("./shell.types.js"),Ie=require("../helpers/normalize-to-px.js"),p=require("./shell.context.js");function on(){const[t,a]=e.useState("initial"),[i,M]=e.useState(!1);return e.useEffect(()=>{if(typeof window>"u")return;const h=Object.entries(we._BREAKPOINTS).map(([m,r])=>[m,window.matchMedia(r)]),E=m=>{const r=h.filter(([,R])=>R.matches).map(([R])=>R),f=r[r.length-1]??"initial";a(f),M(!0)};E();const P=[];return h.forEach(([,m])=>{const r=m;typeof r.addEventListener=="function"&&typeof r.removeEventListener=="function"?(r.addEventListener("change",E),P.push(()=>r.removeEventListener?.("change",E))):typeof r.addListener=="function"&&typeof r.removeListener=="function"&&(r.addListener(E),P.push(()=>r.removeListener?.(E)))}),()=>{P.forEach(m=>{try{m()}catch{}})}},[]),{bp:t,ready:i}}const Ce=Symbol("rtShellSlot");function oe(t,a){return t[Ce]=a,t}function pn(t,a){if(!e.isValidElement(t))return!1;const i=t.type;if(i===a)return!0;const M=a?.[Ce];return!!(i?.[Ce]&&M&&i[Ce]===M)}oe(ie.Sidebar,"Shell.Sidebar"),oe(ye.Inspector,"Shell.Inspector"),oe(Pe.Bottom,"Shell.Bottom");function an(t,a){switch(a.type){case"SET_LEFT_MODE":return a.mode==="collapsed"?{...t,leftMode:"collapsed",panelMode:"collapsed"}:{...t,leftMode:a.mode};case"SET_PANEL_MODE":return a.mode==="expanded"&&t.leftMode!=="expanded"?{...t,leftMode:"expanded",panelMode:"expanded"}:{...t,panelMode:a.mode};case"SET_SIDEBAR_MODE":return{...t,sidebarMode:a.mode};case"SET_INSPECTOR_MODE":return{...t,inspectorMode:a.mode};case"SET_BOTTOM_MODE":return{...t,bottomMode:a.mode};case"TOGGLE_PANE":{switch(a.target){case"left":case"rail":return{...t,leftMode:t.leftMode==="expanded"?"collapsed":"expanded",panelMode:t.leftMode==="expanded"?"collapsed":t.panelMode};case"panel":return t.leftMode==="collapsed"?{...t,leftMode:"expanded",panelMode:"expanded"}:{...t,panelMode:t.panelMode==="expanded"?"collapsed":"expanded"};case"sidebar":{const i=t.sidebarMode==="collapsed"?"expanded":t.sidebarMode==="expanded"?"collapsed":"expanded";return{...t,sidebarMode:i}}case"inspector":return{...t,inspectorMode:t.inspectorMode==="expanded"?"collapsed":"expanded"};case"bottom":return{...t,bottomMode:t.bottomMode==="expanded"?"collapsed":"expanded"};default:return t}return t}case"EXPAND_PANE":{switch(a.target){case"left":case"rail":return{...t,leftMode:"expanded"};case"panel":return{...t,leftMode:"expanded",panelMode:"expanded"};case"sidebar":return{...t,sidebarMode:"expanded"};case"inspector":return{...t,inspectorMode:"expanded"};case"bottom":return{...t,bottomMode:"expanded"};default:return t}return t}case"COLLAPSE_PANE":{switch(a.target){case"left":case"rail":return{...t,leftMode:"collapsed",panelMode:"collapsed"};case"panel":return{...t,panelMode:"collapsed"};case"sidebar":return{...t,sidebarMode:"collapsed"};case"inspector":return{...t,inspectorMode:"collapsed"};case"bottom":return{...t,bottomMode:"collapsed"};default:return t}return t}}return t}const Le=e.forwardRef(({className:t,children:a,height:i="full",...M},c)=>{const{bp:h,ready:E}=on(),P=e.Children.toArray(a),m=P.some(n=>e.isValidElement(n)&&n.type?.displayName==="Shell.Panel"&&!!n.props?.defaultOpen),r=P.find(n=>e.isValidElement(n)&&n.type?.displayName==="Shell.Rail"),f=r?r.props?.defaultOpen:void 0,R=r?f===void 0?!0:typeof f=="boolean"?f:typeof f=="object"?f.initial??Object.values(f)[0]??!0:!0:!1,H=P.some(n=>e.isValidElement(n)&&n.type?.displayName==="Shell.Inspector"&&!!n.props?.defaultOpen),D=P.some(n=>e.isValidElement(n)&&n.type?.displayName==="Shell.Inspector"&&typeof n.props?.open<"u"&&!!n.props?.open),y=P.some(n=>{if(!e.isValidElement(n)||n.type?.displayName!=="Shell.Panel")return!1;const s=n.props?.open;return typeof s>"u"?!1:typeof s=="boolean"?s:typeof s=="object"&&s!==null?s.initial??Object.values(s)[0]??!1:!1}),k=()=>{const n=P.find(u=>e.isValidElement(u)&&u.type?.displayName==="Shell.Sidebar");if(!n)return"expanded";const s=n.props;if(typeof s?.state<"u"){if(typeof s.state=="string")return s.state;if(typeof s.state=="object")return s.state.initial??Object.values(s.state)[0]??"expanded"}if(typeof s?.defaultState<"u"){if(typeof s.defaultState=="string")return s.defaultState;if(typeof s.defaultState=="object")return s.defaultState.initial??Object.values(s.defaultState)[0]??"expanded"}return"expanded"},F=()=>{const n=P.find(u=>e.isValidElement(u)&&u.type?.displayName==="Shell.Bottom");if(!n)return"collapsed";const s=n.props;if(typeof s?.open<"u"){if(typeof s.open=="boolean")return s.open?"expanded":"collapsed";if(typeof s.open=="object")return s.open.initial??Object.values(s.open)[0]?"expanded":"collapsed"}return typeof s?.defaultOpen<"u"&&s.defaultOpen?"expanded":"collapsed"},[l,g]=e.useReducer(an,{leftMode:m||y||R?"expanded":"collapsed",panelMode:m||y?"expanded":"collapsed",sidebarMode:k(),inspectorMode:H||D?"expanded":"collapsed",bottomMode:F()}),I=e.useCallback(n=>g({type:"SET_LEFT_MODE",mode:n}),[]),$=e.useCallback(n=>g({type:"SET_PANEL_MODE",mode:n}),[]),O=e.useCallback(n=>g({type:"SET_SIDEBAR_MODE",mode:n}),[]),w=e.useCallback(n=>g({type:"SET_INSPECTOR_MODE",mode:n}),[]),V=e.useCallback(n=>g({type:"SET_BOTTOM_MODE",mode:n}),[]),[j,B]=e.useState(!1),[N,U]=e.useState(!1),z=e.useRef(n=>n==="collapsed"?"thin":n==="thin"?"expanded":"collapsed"),x=e.useCallback(n=>{z.current=n},[]);e.useEffect(()=>{N&&j&&console.warn("Shell: Sidebar cannot coexist with Rail or Panel. Use either Rail+Panel OR Sidebar.")},[N,j]);const[L,d]=e.useState(void 0),_=e.useCallback(n=>d(n),[]),G=e.useRef(64),ce=e.useRef(288),J=e.useCallback(n=>{G.current=n},[]),Z=e.useCallback(n=>{ce.current=n},[]),le=e.useMemo(()=>{const n=e.Children.toArray(a),s=(u,te)=>e.isValidElement(u)&&(u.type===te||u.type?.displayName===te.displayName);return n.some(u=>s(u,K)||s(u,X))},[a]),S=e.useMemo(()=>{const n=e.Children.toArray(a),s=(u,te)=>e.isValidElement(u)&&(u.type===te||u.type?.displayName===te.displayName);return n.some(u=>s(u,ie.Sidebar))},[a]),b=e.useCallback(n=>{if(n==="sidebar"){const s=z.current(l.sidebarMode);O(s);return}g({type:"TOGGLE_PANE",target:n})},[l.sidebarMode,O]),re=e.useCallback(n=>{if(n==="sidebar")return O("expanded");g({type:"EXPAND_PANE",target:n})},[O]),ee=e.useCallback(n=>{if(n==="sidebar")return O("collapsed");g({type:"COLLAPSE_PANE",target:n})},[O]),ue=e.useMemo(()=>({leftMode:l.leftMode,setLeftMode:I,panelMode:l.panelMode,setPanelMode:$,sidebarMode:l.sidebarMode,setSidebarMode:O,inspectorMode:l.inspectorMode,setInspectorMode:w,bottomMode:l.bottomMode,setBottomMode:V,hasLeft:j,setHasLeft:B,hasSidebar:N,setHasSidebar:U,currentBreakpoint:h,currentBreakpointReady:E,leftResolvedPresentation:L,togglePane:b,expandPane:re,collapsePane:ee,setSidebarToggleComputer:x,onLeftPres:_,onRailDefaults:J,onPanelDefaults:Z}),[l.leftMode,I,l.panelMode,$,l.sidebarMode,O,l.inspectorMode,w,l.bottomMode,V,j,N,h,E,L,b,re,ee,x,_,J,Z]),W=e.Children.toArray(a),A=(n,s)=>e.isValidElement(n)&&(n.type===s||n.type?.displayName===s.displayName),fe=W.filter(n=>A(n,ve)),Q=W.filter(n=>A(n,K)),se=W.filter(n=>A(n,X)),xe=W.filter(n=>A(n,ie.Sidebar)),o=W.filter(n=>A(n,Me)),C=W.filter(n=>A(n,ye.Inspector)),v=W.filter(n=>A(n,Pe.Bottom)),T=Q[0]?.props?.open;e.useEffect(()=>{if(typeof T>"u")return;I(!!T?"expanded":"collapsed")},[T,I]);const be=e.useMemo(()=>i==="full"?{height:"100vh"}:i==="auto"?{height:"auto"}:typeof i=="string"?{height:i}:typeof i=="number"?{height:`${i}px`}:{},[i]),[ne,de]=e.useState(null),he=e.useCallback(n=>de(n),[]),Se=e.useCallback(()=>de(null),[]),Ve=e.useMemo(()=>({currentBreakpoint:h,currentBreakpointReady:E,leftResolvedPresentation:L}),[h,E,L]),He=e.useMemo(()=>({leftMode:l.leftMode,setLeftMode:I}),[l.leftMode,I]),je=e.useMemo(()=>({panelMode:l.panelMode,setPanelMode:$}),[l.panelMode,$]),Ue=e.useMemo(()=>({sidebarMode:l.sidebarMode,setSidebarMode:O}),[l.sidebarMode,O]),We=e.useMemo(()=>({inspectorMode:l.inspectorMode,setInspectorMode:w}),[l.inspectorMode,w]),Fe=e.useMemo(()=>({bottomMode:l.bottomMode,setBottomMode:V}),[l.bottomMode,V]),$e=e.useMemo(()=>({hasLeft:j,setHasLeft:B,hasSidebar:N,setHasSidebar:U}),[j,B,N,U]),[Re,ze]=e.useState(new Set),Ne=e.useCallback(n=>{ze(s=>{if(s.has(n))return s;const u=new Set(s);return u.add(n),u})},[]),_e=e.useCallback(n=>{ze(s=>{if(!s.has(n))return s;const u=new Set(s);return u.delete(n),u})},[]),ge=Re.size>0,Ge=e.useMemo(()=>({insetPanes:Re,registerInset:Ne,unregisterInset:_e,hasAnyInset:ge}),[Re,Ne,_e,ge]),Qe=e.useMemo(()=>({peekTarget:ne,setPeekTarget:de,peekPane:he,clearPeek:Se}),[ne,de,he,Se]),qe=e.useMemo(()=>({togglePane:b,expandPane:re,collapsePane:ee,setSidebarToggleComputer:x}),[b,re,ee,x]),Ke=e.useMemo(()=>({...ue,peekTarget:ne,setPeekTarget:de,peekPane:he,clearPeek:Se}),[ue,ne,de,he,Se]);return e.createElement("div",{...M,ref:c,className:(0,q.default)("rt-ShellRoot",t),style:{...be,...M.style}},e.createElement(p.ShellProvider,{value:Ke},e.createElement(p.PresentationContext.Provider,{value:Ve},e.createElement(p.LeftModeContext.Provider,{value:He},e.createElement(p.PanelModeContext.Provider,{value:je},e.createElement(p.SidebarModeContext.Provider,{value:Ue},e.createElement(p.InspectorModeContext.Provider,{value:We},e.createElement(p.BottomModeContext.Provider,{value:Fe},e.createElement(p.CompositionContext.Provider,{value:$e},e.createElement(p.PeekContext.Provider,{value:Qe},e.createElement(p.ActionsContext.Provider,{value:qe},e.createElement(p.InsetContext.Provider,{value:Ge},fe,e.createElement("div",{className:"rt-ShellBody","data-peek-target":ne??void 0,"data-has-inset":ge||void 0,style:ne==="rail"||ne==="panel"?{"--peek-rail-width":`${G.current}px`}:void 0},le&&!S?(()=>{const n=Q[0],s=se[0],u=!!n?.props?.inset||!!s?.props?.inset,te=n?{onOpenChange:n.props?.onOpenChange,open:n.props?.open,defaultOpen:n.props?.defaultOpen,presentation:n.props?.presentation,collapsible:n.props?.collapsible,onExpand:n.props?.onExpand,onCollapse:n.props?.onCollapse,inset:u}:{defaultOpen:m?!0:void 0,inset:u};return e.createElement(me,{...te},Q,se)})():xe,o,C),v))))))))))))});Le.displayName="Shell.Root";const ve=e.forwardRef(({className:t,height:a=64,style:i,...M},c)=>e.createElement("header",{...M,ref:c,className:(0,q.default)("rt-ShellHeader",t),style:{...i,"--shell-header-height":`${a}px`}}));ve.displayName="Shell.Header";const ln=["open","defaultOpen","onOpenChange","mode","defaultMode","onModeChange"],me=e.forwardRef((t,a)=>{const{className:i,presentation:M={initial:"fixed",sm:"fixed"},collapsible:c=!0,onExpand:h,onCollapse:E,children:P,style:m,inset:r,...f}=t,{registerInset:R,unregisterInset:H}=(0,p.useInset)();e.useEffect(()=>{if(r)return R("left"),()=>H("left")},[r,R,H]);const D=f.open,y=f.defaultOpen,k=f.onOpenChange,F=(0,Y.omitPaneProps)(f,ln),l=(0,p.useShell)(),g=(0,ae.useResponsivePresentation)(M),I=g==="overlay",$=g==="stacked",O=e.useRef(null);e.useEffect(()=>{l.onLeftPres?.(g)},[l,g]);const w=e.useCallback(z=>{O.current=z,typeof a=="function"?a(z):a&&(a.current=z)},[a]);e.useEffect(()=>(l.setHasLeft(!0),()=>l.setHasLeft(!1)),[l]);const V=e.useRef(null),j=e.useRef(!1),B=e.useMemo(()=>{if(!(typeof D>"u"))return D?"expanded":"collapsed"},[D]),N=e.useMemo(()=>(0,Y.mapResponsiveBooleanToPaneMode)(y),[y]);(0,ae.useResponsiveInitialState)({controlledValue:B,defaultValue:N,currentValue:l.leftMode,setValue:l.setLeftMode,breakpointReady:l.currentBreakpointReady,onInit:z=>k?.(z==="expanded",{reason:"init"})}),e.useEffect(()=>{typeof D<"u"||(V.current!==null&&V.current!==l.leftMode&&k?.(l.leftMode==="expanded",{reason:"toggle"}),V.current=l.leftMode)},[l,k,D]),e.useEffect(()=>{l.leftMode==="expanded"?h?.():E?.()},[l.leftMode,h,E]);const U=l.leftMode==="expanded";if(I){const z=l.leftMode==="expanded",x=e.Children.toArray(P),L=(S,b)=>e.isValidElement(S)&&S.type===b,d=x.find(S=>L(S,K)),_=x.find(S=>L(S,X)),G=typeof d?.props?.expandedSize=="number"?d.props.expandedSize:64,ce=typeof _?.props?.expandedSize=="number"?_.props.expandedSize:288,J=!!d,Z=!!_,le=(J?G:0)+(l.panelMode==="expanded"&&Z?ce:0);return e.createElement(Oe.Root,{open:z,onOpenChange:S=>l.setLeftMode(S?"expanded":"collapsed")},e.createElement(Oe.Content,{side:"start",style:{padding:0},width:{initial:`${le}px`}},e.createElement(Be.VisuallyHidden,null,e.createElement(Oe.Title,null,"Navigation")),e.createElement("div",{className:"rt-ShellLeft"},P)))}if($){const z=l.leftMode==="expanded",x=e.Children.toArray(P),L=(S,b)=>e.isValidElement(S)&&S.type===b,d=x.find(S=>L(S,K)),_=x.find(S=>L(S,X)),G=typeof d?.props?.expandedSize=="number"?d.props.expandedSize:64,ce=typeof _?.props?.expandedSize=="number"?_.props.expandedSize:288,J=!!d,le=!!_&&(l.panelMode==="expanded"||l.peekTarget==="panel");return e.createElement("div",{...F,ref:w,className:(0,q.default)("rt-ShellLeft",i),"data-mode":l.leftMode,"data-peek":l.peekTarget==="left"||l.peekTarget==="rail"||l.peekTarget==="panel"||void 0,"data-presentation":g,"data-inset":r||void 0,style:{...m},"data-open":z||void 0},P)}return e.createElement("div",{...F,ref:w,className:(0,q.default)("rt-ShellLeft",i),"data-mode":l.leftMode,"data-peek":l.peekTarget==="left"||l.peekTarget==="rail"||l.peekTarget==="panel"||void 0,"data-presentation":g,"data-inset":r||void 0,style:{...m}},P)});me.displayName="Shell.Left",oe(me,"Shell.Left");const K=e.forwardRef((t,a)=>{const{className:i,presentation:M,expandedSize:c=64,collapsible:h,onExpand:E,onCollapse:P,children:m,style:r,open:f,defaultOpen:R,onOpenChange:H,...D}=t,y=(0,p.useShell)(),k=e.useRef(null);e.useEffect(()=>{const l=typeof f<"u";if(k.current===null){k.current=l;return}k.current!==l&&(console.warn("Shell.Rail: Switching between controlled and uncontrolled `open` is not supported."),k.current=l)},[f]),e.useEffect(()=>{y.onRailDefaults?.(c)},[y,c]);const F=y.leftMode==="expanded";return e.createElement("div",{...D,ref:a,className:(0,q.default)("rt-ShellRail",i),"data-mode":y.leftMode,"data-peek":y.currentBreakpointReady&&y.leftResolvedPresentation!=="overlay"&&y.peekTarget==="rail"||void 0,style:{...r,"--rail-size":`${c}px`}},e.createElement("div",{className:"rt-ShellRailContent","data-visible":y.currentBreakpointReady&&(F||y.leftResolvedPresentation!=="overlay"&&y.peekTarget==="rail")||void 0},m))});K.displayName="Shell.Rail",oe(K,"Shell.Rail");const rn=["className","children","defaultOpen","open","onOpenChange","size","defaultSize","onSizeChange","sizeUpdate","sizeUpdateMs","style"],X=oe(e.forwardRef((t,a)=>{const{className:i,defaultOpen:M,open:c,onOpenChange:h,size:E,defaultSize:P,expandedSize:m=288,minSize:r,maxSize:f,resizable:R,collapsible:H=!0,onExpand:D,onCollapse:y,onResize:k,onResizeStart:F,onResizeEnd:l,snapPoints:g,snapTolerance:I,collapseThreshold:$,paneId:O,persistence:w,children:V,style:j,onSizeChange:B,sizeUpdate:N,sizeUpdateMs:U=50}=t,z=(0,Y.extractPaneDomProps)(t,rn),x=e.useRef(null);e.useEffect(()=>()=>{x.current&&(clearTimeout(x.current),x.current=null)},[B,N,U]);const L=e.useMemo(()=>{if(!B)return()=>{};if(N==="debounce")return(C,v)=>{x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{B?.(C,v),x.current=null},U)};if(N==="throttle"){let o=0;return(C,v)=>{const T=Date.now();T-o>=U&&(o=T,B?.(C,v))}}return(o,C)=>B?.(o,C)},[B,N,U]),d=(0,p.useShell)(),_=e.useRef(null),G=e.useRef(null),ce=e.useRef(!1),J=e.useMemo(()=>(0,Y.mapResponsiveBooleanToPaneMode)(c),[c]),Z=e.useMemo(()=>(0,Y.mapResponsiveBooleanToPaneMode)(M),[M]),le=typeof c=="object"&&c!==null;(0,ae.useResponsiveInitialState)({controlledValue:J,defaultValue:Z,currentValue:d.panelMode,setValue:o=>{o==="expanded"&&d.leftMode!=="expanded"&&d.setLeftMode("expanded"),d.setPanelMode(o)},breakpointReady:d.currentBreakpointReady,controlledIsResponsive:le,onResponsiveChange:o=>h?.(o==="expanded",{reason:"responsive"}),onInit:o=>{typeof c>"u"&&h?.(o==="expanded",{reason:"init"})}});const S=e.useRef(null);e.useEffect(()=>{const o=typeof c<"u";if(S.current===null){S.current=o;return}S.current!==o&&(console.warn("Shell.Panel: Switching between controlled and uncontrolled `open` is not supported."),S.current=o)},[c]),e.useEffect(()=>{d.onPanelDefaults?.(m)},[d,m]);const b=e.useRef(null),re=e.useCallback(o=>{b.current=o,typeof a=="function"?a(o):a&&(a.current=o)},[a]),ee=e.Children.toArray(V),ue=ee.filter(o=>e.isValidElement(o)&&o.type===pe.PanelHandle),W=ee.filter(o=>!(e.isValidElement(o)&&o.type===pe.PanelHandle)),A=d.leftResolvedPresentation==="overlay",fe=e.useCallback(o=>(0,Ie.normalizeToPx)(o,"horizontal"),[]),Q=e.useMemo(()=>{if(!O||w)return w;const o=`kookie-ui:shell:panel:${O}`;return{load:()=>{if(typeof window>"u")return;const v=window.localStorage.getItem(o);return v?Number(v):void 0},save:v=>{typeof window>"u"||window.localStorage.setItem(o,String(v))}}},[O,w]);e.useEffect(()=>{let o=!0;return(async()=>{if(!R||!Q?.load||A)return;const C=await Q.load();o&&typeof C=="number"&&b.current&&(b.current.style.setProperty("--panel-size",`${C}px`),k?.(C))})(),()=>{o=!1}},[R,Q,k,A]),e.useEffect(()=>{b.current&&A&&b.current.style.setProperty("--panel-size",`${m}px`)},[A,m]),e.useEffect(()=>{if(b.current&&typeof E>"u"&&typeof P<"u"){const o=fe(P);if(typeof o=="number"&&Number.isFinite(o)){const T=Math.min((typeof f=="number"?f:void 0)??o,Math.max((typeof r=="number"?r:void 0)??o,o));b.current.style.setProperty("--panel-size",`${T}px`),L(T,{reason:"init"})}}},[]),e.useEffect(()=>{if(!b.current||typeof E>"u")return;const o=fe(E);if(typeof o=="number"&&Number.isFinite(o)){const T=Math.min((typeof f=="number"?f:void 0)??o,Math.max((typeof r=="number"?r:void 0)??o,o));b.current.style.setProperty("--panel-size",`${T}px`),L(T,{reason:"controlled"})}},[E,r,f,fe,L]),e.useEffect(()=>{if(b.current&&d.leftResolvedPresentation!=="overlay"&&d.leftMode==="expanded"&&d.panelMode==="expanded"){const o=b.current.parentElement||null;try{o?.style.removeProperty("width")}catch{}}},[d.leftResolvedPresentation,d.leftMode,d.panelMode]);const se=d.leftMode==="expanded"&&d.panelMode==="expanded";e.useEffect(()=>{const o=_.current,C=G.current;if(o!==null&&o!==d.panelMode){const v=d.panelMode==="expanded";let T="toggle";C!==d.leftMode&&d.leftMode==="collapsed"&&!v&&(T="left"),h?.(v,{reason:T})}_.current=d.panelMode,G.current=d.leftMode},[d.panelMode,d.leftMode,h]);const xe=R&&d.leftResolvedPresentation!=="overlay"&&se?e.createElement(Ae.PaneResizeContext.Provider,{value:{containerRef:b,cssVarName:"--panel-size",minSize:typeof r=="number"?r:100,maxSize:typeof f=="number"?f:800,defaultSize:m,orientation:"vertical",edge:"end",computeNext:(o,C,v)=>{const T=getComputedStyle(b.current).direction==="rtl",be=o-C;return v+(T?-be:be)},onResize:k,onResizeStart:o=>{const v=b.current?.parentElement;try{v?.style.removeProperty("width")}catch{}F?.(o)},onResizeEnd:o=>{l?.(o),L(o,{reason:"resize"}),Q?.save?.(o)},target:"panel",collapsible:!!H,snapPoints:g,snapTolerance:I??8,collapseThreshold:$,requestCollapse:()=>d.setPanelMode("collapsed"),requestToggle:()=>d.togglePane("panel")}},ue.length>0?ue.map((o,C)=>e.cloneElement(o,{key:o.key??C})):e.createElement(pe.PaneHandle,null)):null;return e.createElement("div",{...z,ref:re,className:(0,q.default)("rt-ShellPanel",i),"data-mode":d.panelMode,"data-visible":d.currentBreakpointReady&&(se||d.leftResolvedPresentation!=="overlay"&&d.peekTarget==="panel")||void 0,"data-peek":d.currentBreakpointReady&&d.leftResolvedPresentation!=="overlay"&&d.peekTarget==="panel"||void 0,style:{...j,"--panel-size":`${m}px`}},e.createElement("div",{className:"rt-ShellPanelContent","data-visible":se||void 0},W),xe)}),"Shell.Panel");X.displayName="Shell.Panel",X.Handle=pe.PanelHandle;const Me=e.forwardRef(({className:t,inset:a,...i},M)=>{const{registerInset:c,unregisterInset:h}=(0,p.useInset)();return e.useEffect(()=>{if(a)return c("content"),()=>h("content")},[a,c,h]),e.createElement("main",{...i,ref:M,className:(0,q.default)("rt-ShellContent",t),"data-inset":a||void 0})});Me.displayName="Shell.Content",oe(Me,"Shell.Content");const ke=e.forwardRef(({target:t,action:a="toggle",peekOnHover:i,onClick:M,onMouseEnter:c,onMouseLeave:h,children:E,...P},m)=>{const r=(0,p.useShell)(),f=e.useCallback(y=>{switch(M?.(y),r.peekTarget===t&&r.clearPeek(),a){case"toggle":r.togglePane(t);break;case"expand":r.expandPane(t);break;case"collapse":r.collapsePane(t);break}},[r,t,a,M]),R=(()=>{switch(t){case"left":case"rail":return r.leftMode==="collapsed";case"panel":return r.leftMode==="collapsed"||r.panelMode==="collapsed";case"sidebar":return r.sidebarMode==="collapsed";case"inspector":return r.inspectorMode==="collapsed";case"bottom":return r.bottomMode==="collapsed"}})(),H=e.useCallback(y=>{c?.(y),!(!i||!R)&&r.peekPane(t)},[c,i,R,r,t]),D=e.useCallback(y=>{h?.(y),i&&r.peekTarget===t&&r.clearPeek()},[h,i,r,t]);return e.createElement("button",{...P,ref:m,onClick:f,onMouseEnter:H,onMouseLeave:D,"data-shell-trigger":t,"data-shell-action":a,"aria-expanded":!R},E)});ke.displayName="Shell.Trigger";
|
|
2
2
|
//# sourceMappingURL=shell.js.map
|