@kushagradhawan/kookie-ui 0.1.107 → 0.1.109
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 +80 -51
- package/dist/cjs/components/_internal/shell-bottom.d.ts +2 -0
- package/dist/cjs/components/_internal/shell-bottom.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-bottom.js +1 -1
- package/dist/cjs/components/_internal/shell-bottom.js.map +3 -3
- package/dist/cjs/components/_internal/shell-inspector.d.ts +2 -0
- package/dist/cjs/components/_internal/shell-inspector.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-inspector.js +1 -1
- package/dist/cjs/components/_internal/shell-inspector.js.map +3 -3
- package/dist/cjs/components/_internal/shell-sidebar.d.ts +2 -0
- package/dist/cjs/components/_internal/shell-sidebar.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
- package/dist/cjs/components/_internal/shell-sidebar.js.map +3 -3
- package/dist/cjs/components/shell.context.d.ts +13 -0
- package/dist/cjs/components/shell.context.d.ts.map +1 -1
- package/dist/cjs/components/shell.context.js +1 -1
- package/dist/cjs/components/shell.context.js.map +3 -3
- package/dist/cjs/components/shell.d.ts +14 -6
- 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/_internal/shell-bottom.d.ts +2 -0
- package/dist/esm/components/_internal/shell-bottom.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-bottom.js +1 -1
- package/dist/esm/components/_internal/shell-bottom.js.map +3 -3
- package/dist/esm/components/_internal/shell-inspector.d.ts +2 -0
- package/dist/esm/components/_internal/shell-inspector.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-inspector.js +1 -1
- package/dist/esm/components/_internal/shell-inspector.js.map +3 -3
- package/dist/esm/components/_internal/shell-sidebar.d.ts +2 -0
- package/dist/esm/components/_internal/shell-sidebar.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-sidebar.js +1 -1
- package/dist/esm/components/_internal/shell-sidebar.js.map +3 -3
- package/dist/esm/components/shell.context.d.ts +13 -0
- package/dist/esm/components/shell.context.d.ts.map +1 -1
- package/dist/esm/components/shell.context.js +1 -1
- package/dist/esm/components/shell.context.js.map +3 -3
- package/dist/esm/components/shell.d.ts +14 -6
- 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/_internal/shell-bottom.tsx +15 -1
- package/src/components/_internal/shell-inspector.tsx +15 -1
- package/src/components/_internal/shell-sidebar.tsx +15 -1
- package/src/components/segmented-control.css +37 -37
- package/src/components/sheet.css +12 -0
- package/src/components/shell.context.tsx +14 -0
- package/src/components/shell.css +51 -28
- package/src/components/shell.tsx +150 -81
- package/styles.css +80 -51
|
@@ -3,7 +3,7 @@ import { useResponsivePresentation } from './shell.hooks.js';
|
|
|
3
3
|
import { Sidebar } from './_internal/shell-sidebar.js';
|
|
4
4
|
import { Bottom } from './_internal/shell-bottom.js';
|
|
5
5
|
import { Inspector } from './_internal/shell-inspector.js';
|
|
6
|
-
import type { ResponsivePresentation, PaneMode, SidebarMode, PaneTarget, PaneBaseProps } from './shell.types.js';
|
|
6
|
+
import type { ResponsivePresentation, PaneMode, SidebarMode, Breakpoint, PaneTarget, PaneBaseProps } from './shell.types.js';
|
|
7
7
|
import { useShell } from './shell.context.js';
|
|
8
8
|
declare const Root: PanelComponent;
|
|
9
9
|
interface ShellHeaderProps extends React.ComponentPropsWithoutRef<'header'> {
|
|
@@ -24,17 +24,19 @@ interface LeftProps extends React.ComponentPropsWithoutRef<'div'> {
|
|
|
24
24
|
mode?: never;
|
|
25
25
|
defaultMode?: never;
|
|
26
26
|
onModeChange?: never;
|
|
27
|
+
/** When true, adds margin and triggers gray backdrop on Shell. */
|
|
28
|
+
inset?: boolean;
|
|
27
29
|
}
|
|
28
30
|
type LeftOpenChangeMeta = {
|
|
29
31
|
reason: 'init' | 'toggle' | 'responsive' | 'panel';
|
|
30
32
|
};
|
|
31
33
|
type RailControlledProps = {
|
|
32
|
-
open: boolean
|
|
34
|
+
open: boolean | Partial<Record<Breakpoint, boolean>>;
|
|
33
35
|
onOpenChange?: (open: boolean, meta: LeftOpenChangeMeta) => void;
|
|
34
36
|
defaultOpen?: never;
|
|
35
37
|
};
|
|
36
38
|
type RailUncontrolledProps = {
|
|
37
|
-
defaultOpen?: boolean
|
|
39
|
+
defaultOpen?: boolean | Partial<Record<Breakpoint, boolean>>;
|
|
38
40
|
onOpenChange?: (open: boolean, meta: LeftOpenChangeMeta) => void;
|
|
39
41
|
open?: never;
|
|
40
42
|
};
|
|
@@ -44,20 +46,22 @@ type RailProps = React.ComponentPropsWithoutRef<'div'> & {
|
|
|
44
46
|
collapsible?: boolean;
|
|
45
47
|
onExpand?: () => void;
|
|
46
48
|
onCollapse?: () => void;
|
|
49
|
+
/** When true, adds margin to Rail+Panel and triggers gray backdrop on Shell. */
|
|
50
|
+
inset?: boolean;
|
|
47
51
|
} & (RailControlledProps | RailUncontrolledProps);
|
|
48
52
|
declare const Left: React.ForwardRefExoticComponent<LeftProps & React.RefAttributes<HTMLDivElement>>;
|
|
49
53
|
declare const Rail: React.ForwardRefExoticComponent<RailProps & React.RefAttributes<HTMLDivElement>>;
|
|
50
54
|
type HandleComponent = React.ForwardRefExoticComponent<React.ComponentPropsWithoutRef<'div'> & React.RefAttributes<HTMLDivElement>>;
|
|
51
55
|
type PanelOpenChangeMeta = {
|
|
52
|
-
reason: 'toggle' | 'left' | 'init';
|
|
56
|
+
reason: 'toggle' | 'left' | 'init' | 'responsive';
|
|
53
57
|
};
|
|
54
58
|
type PanelControlledProps = {
|
|
55
|
-
open: boolean
|
|
59
|
+
open: boolean | Partial<Record<Breakpoint, boolean>>;
|
|
56
60
|
onOpenChange?: (open: boolean, meta: PanelOpenChangeMeta) => void;
|
|
57
61
|
defaultOpen?: never;
|
|
58
62
|
};
|
|
59
63
|
type PanelUncontrolledProps = {
|
|
60
|
-
defaultOpen?: boolean
|
|
64
|
+
defaultOpen?: boolean | Partial<Record<Breakpoint, boolean>>;
|
|
61
65
|
onOpenChange?: (open: boolean, meta: PanelOpenChangeMeta) => void;
|
|
62
66
|
open?: never;
|
|
63
67
|
};
|
|
@@ -76,12 +80,16 @@ type PanelPublicProps = Omit<PaneProps, 'presentation' | 'defaultMode'> & (Panel
|
|
|
76
80
|
onSizeChange?: (size: number, meta: PanelSizeChangeMeta) => void;
|
|
77
81
|
sizeUpdate?: 'throttle' | 'debounce';
|
|
78
82
|
sizeUpdateMs?: number;
|
|
83
|
+
/** When true, adds margin to Rail+Panel and triggers gray backdrop on Shell. */
|
|
84
|
+
inset?: boolean;
|
|
79
85
|
};
|
|
80
86
|
type PanelComponent = React.ForwardRefExoticComponent<PanelPublicProps & React.RefAttributes<HTMLDivElement>> & {
|
|
81
87
|
Handle: HandleComponent;
|
|
82
88
|
};
|
|
83
89
|
declare const Panel: PanelComponent;
|
|
84
90
|
interface ShellContentProps extends React.ComponentPropsWithoutRef<'main'> {
|
|
91
|
+
/** When true, adds margin and triggers gray backdrop on Shell. */
|
|
92
|
+
inset?: boolean;
|
|
85
93
|
}
|
|
86
94
|
declare const Content: React.ForwardRefExoticComponent<ShellContentProps & React.RefAttributes<HTMLElement>>;
|
|
87
95
|
type TriggerAction = 'toggle' | 'expand' | 'collapse';
|
|
@@ -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,
|
|
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 Ue=Object.create;var be=Object.defineProperty;var Fe=Object.getOwnPropertyDescriptor;var $e=Object.getOwnPropertyNames;var je=Object.getPrototypeOf,We=Object.prototype.hasOwnProperty;var qe=(n,a)=>{for(var d in a)be(n,d,{get:a[d],enumerable:!0})},ge=(n,a,d,y)=>{if(a&&typeof a=="object"||typeof a=="function")for(let c of $e(a))!We.call(n,c)&&c!==d&&be(n,c,{get:()=>a[c],enumerable:!(y=Fe(a,c))||y.enumerable});return n};var ve=(n,a,d)=>(d=n!=null?Ue(je(n)):{},ge(a||!n||!n.__esModule?be(d,"default",{value:n,enumerable:!0}):d,n)),Ge=n=>ge(be({},"__esModule",{value:!0}),n);var Je={};qe(Je,{Bottom:()=>fe.Bottom,Content:()=>ue,Header:()=>Ee,Inspector:()=>me.Inspector,Left:()=>ce,Panel:()=>K,Rail:()=>Q,Root:()=>xe,Sidebar:()=>oe.Sidebar,Trigger:()=>Re,useResponsivePresentation:()=>le.useResponsivePresentation,useShell:()=>p.useShell});module.exports=Ge(Je);var e=ve(require("react")),G=ve(require("classnames")),Ce=ve(require("./sheet.js")),Te=require("./visually-hidden.js"),le=require("./shell.hooks.js"),Oe=require("./_internal/shell-resize.js"),ae=require("./_internal/shell-handles.js"),re=require("./_internal/shell-prop-helpers.js"),oe=require("./_internal/shell-sidebar.js"),fe=require("./_internal/shell-bottom.js"),me=require("./_internal/shell-inspector.js"),Le=require("./shell.types.js"),ze=require("../helpers/normalize-to-px.js"),p=require("./shell.context.js");function Qe(){const[n,a]=e.useState("initial"),[d,y]=e.useState(!1);return e.useEffect(()=>{if(typeof window>"u")return;const x=Object.entries(Le._BREAKPOINTS).map(([u,r])=>[u,window.matchMedia(r)]),h=()=>{const u=x.filter(([,f])=>f.matches).map(([f])=>f),r=u[u.length-1]??"initial";a(r),y(!0)};h();const P=[];return x.forEach(([,u])=>{const r=u;typeof r.addEventListener=="function"&&typeof r.removeEventListener=="function"?(r.addEventListener("change",h),P.push(()=>r.removeEventListener?.("change",h))):typeof r.addListener=="function"&&typeof r.removeListener=="function"&&(r.addListener(h),P.push(()=>r.removeListener?.(h)))}),()=>{P.forEach(u=>{try{u()}catch{}})}},[]),{bp:n,ready:d}}const he=Symbol("rtShellSlot");function Z(n,a){return n[he]=a,n}function en(n,a){if(!e.isValidElement(n))return!1;const d=n.type;if(d===a)return!0;const y=a?.[he];return!!(d?.[he]&&y&&d[he]===y)}Z(oe.Sidebar,"Shell.Sidebar"),Z(me.Inspector,"Shell.Inspector"),Z(fe.Bottom,"Shell.Bottom");function Ke(n,a){switch(a.type){case"SET_LEFT_MODE":return a.mode==="collapsed"?{...n,leftMode:"collapsed",panelMode:"collapsed"}:{...n,leftMode:a.mode};case"SET_PANEL_MODE":return a.mode==="expanded"&&n.leftMode!=="expanded"?{...n,leftMode:"expanded",panelMode:"expanded"}:{...n,panelMode:a.mode};case"SET_SIDEBAR_MODE":return{...n,sidebarMode:a.mode};case"SET_INSPECTOR_MODE":return{...n,inspectorMode:a.mode};case"SET_BOTTOM_MODE":return{...n,bottomMode:a.mode};case"TOGGLE_PANE":{switch(a.target){case"left":case"rail":return{...n,leftMode:n.leftMode==="expanded"?"collapsed":"expanded",panelMode:n.leftMode==="expanded"?"collapsed":n.panelMode};case"panel":return n.leftMode==="collapsed"?{...n,leftMode:"expanded",panelMode:"expanded"}:{...n,panelMode:n.panelMode==="expanded"?"collapsed":"expanded"};case"sidebar":{const d=n.sidebarMode==="collapsed"?"expanded":n.sidebarMode==="expanded"?"collapsed":"expanded";return{...n,sidebarMode:d}}case"inspector":return{...n,inspectorMode:n.inspectorMode==="expanded"?"collapsed":"expanded"};case"bottom":return{...n,bottomMode:n.bottomMode==="expanded"?"collapsed":"expanded"};default:return n}return n}case"EXPAND_PANE":{switch(a.target){case"left":case"rail":return{...n,leftMode:"expanded"};case"panel":return{...n,leftMode:"expanded",panelMode:"expanded"};case"sidebar":return{...n,sidebarMode:"expanded"};case"inspector":return{...n,inspectorMode:"expanded"};case"bottom":return{...n,bottomMode:"expanded"};default:return n}return n}case"COLLAPSE_PANE":{switch(a.target){case"left":case"rail":return{...n,leftMode:"collapsed",panelMode:"collapsed"};case"panel":return{...n,panelMode:"collapsed"};case"sidebar":return{...n,sidebarMode:"collapsed"};case"inspector":return{...n,inspectorMode:"collapsed"};case"bottom":return{...n,bottomMode:"collapsed"};default:return n}return n}}return n}const xe=e.forwardRef(({className:n,children:a,height:d="full",...y},c)=>{const{bp:x,ready:h}=Qe(),P=e.Children.toArray(a),u=P.some(t=>e.isValidElement(t)&&t.type?.displayName==="Shell.Panel"&&!!t.props?.defaultOpen),r=P.some(t=>e.isValidElement(t)&&t.type?.displayName==="Shell.Rail"&&!!t.props?.defaultOpen),f=P.some(t=>e.isValidElement(t)&&t.type?.displayName==="Shell.Inspector"&&!!t.props?.defaultOpen),z=P.some(t=>e.isValidElement(t)&&t.type?.displayName==="Shell.Inspector"&&typeof t.props?.open<"u"&&!!t.props?.open),B=()=>{const t=P.find(C=>e.isValidElement(C)&&C.type?.displayName==="Shell.Sidebar");if(!t)return"expanded";const i=t.props;if(typeof i?.state<"u"){if(typeof i.state=="string")return i.state;if(typeof i.state=="object")return i.state.initial??Object.values(i.state)[0]??"expanded"}if(typeof i?.defaultState<"u"){if(typeof i.defaultState=="string")return i.defaultState;if(typeof i.defaultState=="object")return i.defaultState.initial??Object.values(i.defaultState)[0]??"expanded"}return"expanded"},I=()=>{const t=P.find(C=>e.isValidElement(C)&&C.type?.displayName==="Shell.Bottom");if(!t)return"collapsed";const i=t.props;if(typeof i?.open<"u"){if(typeof i.open=="boolean")return i.open?"expanded":"collapsed";if(typeof i.open=="object")return i.open.initial??Object.values(i.open)[0]?"expanded":"collapsed"}return typeof i?.defaultOpen<"u"&&i.defaultOpen?"expanded":"collapsed"},[o,m]=e.useReducer(Ke,{leftMode:u||r?"expanded":"collapsed",panelMode:u?"expanded":"collapsed",sidebarMode:B(),inspectorMode:f||z?"expanded":"collapsed",bottomMode:I()}),k=e.useCallback(t=>m({type:"SET_LEFT_MODE",mode:t}),[]),N=e.useCallback(t=>m({type:"SET_PANEL_MODE",mode:t}),[]),L=e.useCallback(t=>m({type:"SET_SIDEBAR_MODE",mode:t}),[]),U=e.useCallback(t=>m({type:"SET_INSPECTOR_MODE",mode:t}),[]),w=e.useCallback(t=>m({type:"SET_BOTTOM_MODE",mode:t}),[]),[D,F]=e.useState(!1),[H,ee]=e.useState(!1),S=e.useRef(t=>t==="collapsed"?"thin":t==="thin"?"expanded":"collapsed"),T=e.useCallback(t=>{S.current=t},[]);e.useEffect(()=>{H&&D&&console.warn("Shell: Sidebar cannot coexist with Rail or Panel. Use either Rail+Panel OR Sidebar.")},[H,D]);const[O,A]=e.useState(void 0),R=e.useCallback(t=>A(t),[]),V=e.useRef(64),s=e.useRef(288),j=e.useCallback(t=>{V.current=t},[]),W=e.useCallback(t=>{s.current=t},[]),X=e.useMemo(()=>{const t=e.Children.toArray(a),i=(C,pe)=>e.isValidElement(C)&&(C.type===pe||C.type?.displayName===pe.displayName);return t.some(C=>i(C,Q)||i(C,K))},[a]),b=e.useMemo(()=>{const t=e.Children.toArray(a),i=(C,pe)=>e.isValidElement(C)&&(C.type===pe||C.type?.displayName===pe.displayName);return t.some(C=>i(C,oe.Sidebar))},[a]),M=e.useCallback(t=>{if(t==="sidebar"){const i=S.current(o.sidebarMode);L(i);return}m({type:"TOGGLE_PANE",target:t})},[o.sidebarMode,L]),ne=e.useCallback(t=>{if(t==="sidebar")return L("expanded");m({type:"EXPAND_PANE",target:t})},[L]),Y=e.useCallback(t=>{if(t==="sidebar")return L("collapsed");m({type:"COLLAPSE_PANE",target:t})},[L]),se=e.useMemo(()=>({leftMode:o.leftMode,setLeftMode:k,panelMode:o.panelMode,setPanelMode:N,sidebarMode:o.sidebarMode,setSidebarMode:L,inspectorMode:o.inspectorMode,setInspectorMode:U,bottomMode:o.bottomMode,setBottomMode:w,hasLeft:D,setHasLeft:F,hasSidebar:H,setHasSidebar:ee,currentBreakpoint:x,currentBreakpointReady:h,leftResolvedPresentation:O,togglePane:M,expandPane:ne,collapsePane:Y,setSidebarToggleComputer:T,onLeftPres:R,onRailDefaults:j,onPanelDefaults:W}),[o.leftMode,k,o.panelMode,N,o.sidebarMode,L,o.inspectorMode,U,o.bottomMode,w,D,H,x,h,O,M,ne,Y,T,R,j,W]),$=e.Children.toArray(a),_=(t,i)=>e.isValidElement(t)&&(t.type===i||t.type?.displayName===i.displayName),de=$.filter(t=>_(t,Ee)),q=$.filter(t=>_(t,Q)),ie=$.filter(t=>_(t,K)),Se=$.filter(t=>_(t,oe.Sidebar)),l=$.filter(t=>_(t,ue)),E=$.filter(t=>_(t,me.Inspector)),v=$.filter(t=>_(t,fe.Bottom)),g=q[0]?.props?.open;e.useEffect(()=>{if(typeof g>"u")return;k(!!g?"expanded":"collapsed")},[g,k]);const Me=e.useMemo(()=>d==="full"?{height:"100vh"}:d==="auto"?{height:"auto"}:typeof d=="string"?{height:d}:typeof d=="number"?{height:`${d}px`}:{},[d]),[J,te]=e.useState(null),ye=e.useCallback(t=>te(t),[]),Pe=e.useCallback(()=>te(null),[]),ke=e.useMemo(()=>({currentBreakpoint:x,currentBreakpointReady:h,leftResolvedPresentation:O}),[x,h,O]),Ne=e.useMemo(()=>({leftMode:o.leftMode,setLeftMode:k}),[o.leftMode,k]),_e=e.useMemo(()=>({panelMode:o.panelMode,setPanelMode:N}),[o.panelMode,N]),De=e.useMemo(()=>({sidebarMode:o.sidebarMode,setSidebarMode:L}),[o.sidebarMode,L]),Ae=e.useMemo(()=>({inspectorMode:o.inspectorMode,setInspectorMode:U}),[o.inspectorMode,U]),Be=e.useMemo(()=>({bottomMode:o.bottomMode,setBottomMode:w}),[o.bottomMode,w]),we=e.useMemo(()=>({hasLeft:D,setHasLeft:F,hasSidebar:H,setHasSidebar:ee}),[D,F,H,ee]),He=e.useMemo(()=>({peekTarget:J,setPeekTarget:te,peekPane:ye,clearPeek:Pe}),[J,te,ye,Pe]),Ve=e.useMemo(()=>({togglePane:M,expandPane:ne,collapsePane:Y,setSidebarToggleComputer:T}),[M,ne,Y,T]),Ie=e.useMemo(()=>({...se,peekTarget:J,setPeekTarget:te,peekPane:ye,clearPeek:Pe}),[se,J,te,ye,Pe]);return e.createElement("div",{...y,ref:c,className:(0,G.default)("rt-ShellRoot",n),style:{...Me,...y.style}},e.createElement(p.ShellProvider,{value:Ie},e.createElement(p.PresentationContext.Provider,{value:ke},e.createElement(p.LeftModeContext.Provider,{value:Ne},e.createElement(p.PanelModeContext.Provider,{value:_e},e.createElement(p.SidebarModeContext.Provider,{value:De},e.createElement(p.InspectorModeContext.Provider,{value:Ae},e.createElement(p.BottomModeContext.Provider,{value:Be},e.createElement(p.CompositionContext.Provider,{value:we},e.createElement(p.PeekContext.Provider,{value:He},e.createElement(p.ActionsContext.Provider,{value:Ve},de,e.createElement("div",{className:"rt-ShellBody","data-peek-target":J??void 0,style:J==="rail"||J==="panel"?{"--peek-rail-width":`${V.current}px`}:void 0},X&&!b?(()=>{const t=q[0],i=t?{onOpenChange:t.props?.onOpenChange,open:t.props?.open,defaultOpen:t.props?.defaultOpen,presentation:t.props?.presentation,collapsible:t.props?.collapsible,onExpand:t.props?.onExpand,onCollapse:t.props?.onCollapse}:{defaultOpen:u?!0:void 0};return e.createElement(ce,{...i},q,ie)})():Se,l,E),v)))))))))))});xe.displayName="Shell.Root";const Ee=e.forwardRef(({className:n,height:a=64,style:d,...y},c)=>e.createElement("header",{...y,ref:c,className:(0,G.default)("rt-ShellHeader",n),style:{...d,"--shell-header-height":`${a}px`}}));Ee.displayName="Shell.Header";const Xe=["open","defaultOpen","onOpenChange","mode","defaultMode","onModeChange"],ce=e.forwardRef((n,a)=>{const{className:d,presentation:y={initial:"fixed",sm:"fixed"},collapsible:c=!0,onExpand:x,onCollapse:h,children:P,style:u,...r}=n,f=r.open,z=r.defaultOpen,B=r.onOpenChange,I=(0,re.omitPaneProps)(r,Xe),o=(0,p.useShell)(),m=(0,le.useResponsivePresentation)(y),k=m==="overlay",N=m==="stacked",L=e.useRef(null);e.useEffect(()=>{o.onLeftPres?.(m)},[o,m]);const U=e.useCallback(S=>{L.current=S,typeof a=="function"?a(S):a&&(a.current=S)},[a]);e.useEffect(()=>(o.setHasLeft(!0),()=>o.setHasLeft(!1)),[o]);const w=e.useRef(null),D=e.useRef(!1),F=e.useMemo(()=>{if(!(typeof f>"u"))return f?"expanded":"collapsed"},[f]),H=e.useMemo(()=>(0,re.mapResponsiveBooleanToPaneMode)(z),[z]);(0,le.useResponsiveInitialState)({controlledValue:F,defaultValue:H,currentValue:o.leftMode,setValue:o.setLeftMode,breakpointReady:o.currentBreakpointReady,onInit:S=>B?.(S==="expanded",{reason:"init"})}),e.useEffect(()=>{typeof f<"u"||(w.current!==null&&w.current!==o.leftMode&&B?.(o.leftMode==="expanded",{reason:"toggle"}),w.current=o.leftMode)},[o,B,f]),e.useEffect(()=>{o.leftMode==="expanded"?x?.():h?.()},[o.leftMode,x,h]);const ee=o.leftMode==="expanded";if(k){const S=o.leftMode==="expanded",T=e.Children.toArray(P),O=(b,M)=>e.isValidElement(b)&&b.type===M,A=T.find(b=>O(b,Q)),R=T.find(b=>O(b,K)),V=typeof A?.props?.expandedSize=="number"?A.props.expandedSize:64,s=typeof R?.props?.expandedSize=="number"?R.props.expandedSize:288,j=!!A,W=!!R,X=(j?V:0)+(o.panelMode==="expanded"&&W?s:0);return e.createElement(Ce.Root,{open:S,onOpenChange:b=>o.setLeftMode(b?"expanded":"collapsed")},e.createElement(Ce.Content,{side:"start",style:{padding:0},width:{initial:`${X}px`}},e.createElement(Te.VisuallyHidden,null,e.createElement(Ce.Title,null,"Navigation")),e.createElement("div",{className:"rt-ShellLeft"},P)))}if(N){const S=o.leftMode==="expanded",T=e.Children.toArray(P),O=(b,M)=>e.isValidElement(b)&&b.type===M,A=T.find(b=>O(b,Q)),R=T.find(b=>O(b,K)),V=typeof A?.props?.expandedSize=="number"?A.props.expandedSize:64,s=typeof R?.props?.expandedSize=="number"?R.props.expandedSize:288,j=!!A,X=!!R&&(o.panelMode==="expanded"||o.peekTarget==="panel");return e.createElement("div",{...I,ref:U,className:(0,G.default)("rt-ShellLeft",d),"data-mode":o.leftMode,"data-peek":o.peekTarget==="left"||o.peekTarget==="rail"||o.peekTarget==="panel"||void 0,"data-presentation":m,style:{...u},"data-open":S||void 0},P)}return e.createElement("div",{...I,ref:U,className:(0,G.default)("rt-ShellLeft",d),"data-mode":o.leftMode,"data-peek":o.peekTarget==="left"||o.peekTarget==="rail"||o.peekTarget==="panel"||void 0,"data-presentation":m,style:{...u}},P)});ce.displayName="Shell.Left",Z(ce,"Shell.Left");const Q=e.forwardRef((n,a)=>{const{className:d,presentation:y,expandedSize:c=64,collapsible:x,onExpand:h,onCollapse:P,children:u,style:r,open:f,defaultOpen:z,onOpenChange:B,...I}=n,o=(0,p.useShell)(),m=e.useRef(null);e.useEffect(()=>{const N=typeof f<"u";if(m.current===null){m.current=N;return}m.current!==N&&(console.warn("Shell.Rail: Switching between controlled and uncontrolled `open` is not supported."),m.current=N)},[f]),e.useEffect(()=>{o.onRailDefaults?.(c)},[o,c]);const k=o.leftMode==="expanded";return e.createElement("div",{...I,ref:a,className:(0,G.default)("rt-ShellRail",d),"data-mode":o.leftMode,"data-peek":o.currentBreakpointReady&&o.leftResolvedPresentation!=="overlay"&&o.peekTarget==="rail"||void 0,style:{...r,"--rail-size":`${c}px`}},e.createElement("div",{className:"rt-ShellRailContent","data-visible":o.currentBreakpointReady&&(k||o.leftResolvedPresentation!=="overlay"&&o.peekTarget==="rail")||void 0},u))});Q.displayName="Shell.Rail",Z(Q,"Shell.Rail");const Ye=["className","children","defaultOpen","open","onOpenChange","size","defaultSize","onSizeChange","sizeUpdate","sizeUpdateMs","style"],K=Z(e.forwardRef((n,a)=>{const{className:d,defaultOpen:y,open:c,onOpenChange:x,size:h,defaultSize:P,expandedSize:u=288,minSize:r,maxSize:f,resizable:z,collapsible:B=!0,onExpand:I,onCollapse:o,onResize:m,onResizeStart:k,onResizeEnd:N,snapPoints:L,snapTolerance:U,collapseThreshold:w,paneId:D,persistence:F,children:H,style:ee,onSizeChange:S,sizeUpdate:T,sizeUpdateMs:O=50}=n,A=(0,re.extractPaneDomProps)(n,Ye),R=e.useRef(null);e.useEffect(()=>()=>{R.current&&(clearTimeout(R.current),R.current=null)},[S,T,O]);const V=e.useMemo(()=>{if(!S)return()=>{};if(T==="debounce")return(E,v)=>{R.current&&clearTimeout(R.current),R.current=setTimeout(()=>{S?.(E,v),R.current=null},O)};if(T==="throttle"){let l=0;return(E,v)=>{const g=Date.now();g-l>=O&&(l=g,S?.(E,v))}}return(l,E)=>S?.(l,E)},[S,T,O]),s=(0,p.useShell)(),j=e.useRef(null),W=e.useRef(null),X=e.useRef(!1);e.useEffect(()=>{typeof c>"u"&&typeof y=="boolean"&&(y?(s.setLeftMode("expanded"),s.setPanelMode("expanded")):s.setPanelMode("collapsed"))},[]),e.useEffect(()=>{typeof c>"u"||(c?(s.leftMode!=="expanded"&&s.setLeftMode("expanded"),s.panelMode!=="expanded"&&s.setPanelMode("expanded")):s.panelMode!=="collapsed"&&s.setPanelMode("collapsed"))},[s,c]);const b=e.useRef(null);e.useEffect(()=>{const l=typeof c<"u";if(b.current===null){b.current=l;return}b.current!==l&&(console.warn("Shell.Panel: Switching between controlled and uncontrolled `open` is not supported."),b.current=l)},[c]),e.useEffect(()=>{X.current||typeof c>"u"&&y&&s.panelMode==="expanded"&&(x?.(!0,{reason:"init"}),X.current=!0)},[]),e.useEffect(()=>{s.onPanelDefaults?.(u)},[s,u]);const M=e.useRef(null),ne=e.useCallback(l=>{M.current=l,typeof a=="function"?a(l):a&&(a.current=l)},[a]),Y=e.Children.toArray(H),se=Y.filter(l=>e.isValidElement(l)&&l.type===ae.PanelHandle),$=Y.filter(l=>!(e.isValidElement(l)&&l.type===ae.PanelHandle)),_=s.leftResolvedPresentation==="overlay",de=e.useCallback(l=>(0,ze.normalizeToPx)(l,"horizontal"),[]),q=e.useMemo(()=>{if(!D||F)return F;const l=`kookie-ui:shell:panel:${D}`;return{load:()=>{if(typeof window>"u")return;const v=window.localStorage.getItem(l);return v?Number(v):void 0},save:v=>{typeof window>"u"||window.localStorage.setItem(l,String(v))}}},[D,F]);e.useEffect(()=>{let l=!0;return(async()=>{if(!z||!q?.load||_)return;const E=await q.load();l&&typeof E=="number"&&M.current&&(M.current.style.setProperty("--panel-size",`${E}px`),m?.(E))})(),()=>{l=!1}},[z,q,m,_]),e.useEffect(()=>{M.current&&_&&M.current.style.setProperty("--panel-size",`${u}px`)},[_,u]),e.useEffect(()=>{if(M.current&&typeof h>"u"&&typeof P<"u"){const l=de(P);if(typeof l=="number"&&Number.isFinite(l)){const g=Math.min((typeof f=="number"?f:void 0)??l,Math.max((typeof r=="number"?r:void 0)??l,l));M.current.style.setProperty("--panel-size",`${g}px`),V(g,{reason:"init"})}}},[]),e.useEffect(()=>{if(!M.current||typeof h>"u")return;const l=de(h);if(typeof l=="number"&&Number.isFinite(l)){const g=Math.min((typeof f=="number"?f:void 0)??l,Math.max((typeof r=="number"?r:void 0)??l,l));M.current.style.setProperty("--panel-size",`${g}px`),V(g,{reason:"controlled"})}},[h,r,f,de,V]),e.useEffect(()=>{if(M.current&&s.leftResolvedPresentation!=="overlay"&&s.leftMode==="expanded"&&s.panelMode==="expanded"){const l=M.current.parentElement||null;try{l?.style.removeProperty("width")}catch{}}},[s.leftResolvedPresentation,s.leftMode,s.panelMode]);const ie=s.leftMode==="expanded"&&s.panelMode==="expanded";e.useEffect(()=>{const l=j.current,E=W.current;if(l!==null&&l!==s.panelMode){const v=s.panelMode==="expanded";let g="toggle";E!==s.leftMode&&s.leftMode==="collapsed"&&!v&&(g="left"),x?.(v,{reason:g})}j.current=s.panelMode,W.current=s.leftMode},[s.panelMode,s.leftMode,x]);const Se=z&&s.leftResolvedPresentation!=="overlay"&&ie?e.createElement(Oe.PaneResizeContext.Provider,{value:{containerRef:M,cssVarName:"--panel-size",minSize:typeof r=="number"?r:100,maxSize:typeof f=="number"?f:800,defaultSize:u,orientation:"vertical",edge:"end",computeNext:(l,E,v)=>{const g=getComputedStyle(M.current).direction==="rtl",Me=l-E;return v+(g?-Me:Me)},onResize:m,onResizeStart:l=>{const v=M.current?.parentElement;try{v?.style.removeProperty("width")}catch{}k?.(l)},onResizeEnd:l=>{N?.(l),V(l,{reason:"resize"}),q?.save?.(l)},target:"panel",collapsible:!!B,snapPoints:L,snapTolerance:U??8,collapseThreshold:w,requestCollapse:()=>s.setPanelMode("collapsed"),requestToggle:()=>s.togglePane("panel")}},se.length>0?se.map((l,E)=>e.cloneElement(l,{key:l.key??E})):e.createElement(ae.PaneHandle,null)):null;return e.createElement("div",{...A,ref:ne,className:(0,G.default)("rt-ShellPanel",d),"data-mode":s.panelMode,"data-visible":s.currentBreakpointReady&&(ie||s.leftResolvedPresentation!=="overlay"&&s.peekTarget==="panel")||void 0,"data-peek":s.currentBreakpointReady&&s.leftResolvedPresentation!=="overlay"&&s.peekTarget==="panel"||void 0,style:{...ee,"--panel-size":`${u}px`}},e.createElement("div",{className:"rt-ShellPanelContent","data-visible":ie||void 0},$),Se)}),"Shell.Panel");K.displayName="Shell.Panel",K.Handle=ae.PanelHandle;const ue=e.forwardRef(({className:n,...a},d)=>e.createElement("main",{...a,ref:d,className:(0,G.default)("rt-ShellContent",n)}));ue.displayName="Shell.Content",Z(ue,"Shell.Content");const Re=e.forwardRef(({target:n,action:a="toggle",peekOnHover:d,onClick:y,onMouseEnter:c,onMouseLeave:x,children:h,...P},u)=>{const r=(0,p.useShell)(),f=e.useCallback(o=>{switch(y?.(o),r.peekTarget===n&&r.clearPeek(),a){case"toggle":r.togglePane(n);break;case"expand":r.expandPane(n);break;case"collapse":r.collapsePane(n);break}},[r,n,a,y]),z=(()=>{switch(n){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"}})(),B=e.useCallback(o=>{c?.(o),!(!d||!z)&&r.peekPane(n)},[c,d,z,r,n]),I=e.useCallback(o=>{x?.(o),d&&r.peekTarget===n&&r.clearPeek()},[x,d,r,n]);return e.createElement("button",{...P,ref:u,onClick:f,onMouseEnter:B,onMouseLeave:I,"data-shell-trigger":n,"data-shell-action":a,"aria-expanded":!z},h)});Re.displayName="Shell.Trigger";
|
|
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,P)=>{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:!(P=Xe(a,c))||P.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 sn={};en(sn,{Bottom:()=>ye.Bottom,Content:()=>Me,Header:()=>ve,Inspector:()=>Pe.Inspector,Left:()=>me,Panel:()=>Q,Rail:()=>G,Root:()=>Oe,Sidebar:()=>pe.Sidebar,Trigger:()=>Le,useResponsivePresentation:()=>te.useResponsivePresentation,useShell:()=>p.useShell});module.exports=nn(sn);var e=ge(require("react")),q=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"),ye=require("./_internal/shell-bottom.js"),Pe=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,P]=e.useState(!1);return e.useEffect(()=>{if(typeof window>"u")return;const h=Object.entries(Ae._BREAKPOINTS).map(([M,l])=>[M,window.matchMedia(l)]),v=()=>{const M=h.filter(([,f])=>f.matches).map(([f])=>f),l=M[M.length-1]??"initial";a(l),P(!0)};v();const S=[];return h.forEach(([,M])=>{const l=M;typeof l.addEventListener=="function"&&typeof l.removeEventListener=="function"?(l.addEventListener("change",v),S.push(()=>l.removeEventListener?.("change",v))):typeof l.addListener=="function"&&typeof l.removeListener=="function"&&(l.addListener(v),S.push(()=>l.removeListener?.(v)))}),()=>{S.forEach(M=>{try{M()}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 P=a?.[Ee];return!!(i?.[Ee]&&P&&i[Ee]===P)}ne(pe.Sidebar,"Shell.Sidebar"),ne(Pe.Inspector,"Shell.Inspector"),ne(ye.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",...P},c)=>{const{bp:h,ready:v}=tn(),S=e.Children.toArray(a),M=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"),f=l?l.props?.defaultOpen:void 0,N=l?f===void 0?!0:typeof f=="boolean"?f:typeof f=="object"?f.initial??Object.values(f)[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(m=>e.isValidElement(m)&&m.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"},k=()=>{const n=S.find(m=>e.isValidElement(m)&&m.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,r]=e.useReducer(on,{leftMode:M||N?"expanded":"collapsed",panelMode:M?"expanded":"collapsed",sidebarMode:E(),inspectorMode:U||D?"expanded":"collapsed",bottomMode:k()}),T=e.useCallback(n=>r({type:"SET_LEFT_MODE",mode:n}),[]),$=e.useCallback(n=>r({type:"SET_PANEL_MODE",mode:n}),[]),z=e.useCallback(n=>r({type:"SET_SIDEBAR_MODE",mode:n}),[]),I=e.useCallback(n=>r({type:"SET_INSPECTOR_MODE",mode:n}),[]),w=e.useCallback(n=>r({type:"SET_BOTTOM_MODE",mode:n}),[]),[B,oe]=e.useState(!1),[O,H]=e.useState(!1),W=e.useRef(n=>n==="collapsed"?"thin":n==="thin"?"expanded":"collapsed"),g=e.useCallback(n=>{W.current=n},[]);e.useEffect(()=>{O&&B&&console.warn("Shell: Sidebar cannot coexist with Rail or Panel. Use either Rail+Panel OR Sidebar.")},[O,B]);const[R,A]=e.useState(void 0),s=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=(m,ee)=>e.isValidElement(m)&&(m.type===ee||m.type?.displayName===ee.displayName);return n.some(m=>d(m,G)||d(m,Q))},[a]),se=e.useMemo(()=>{const n=e.Children.toArray(a),d=(m,ee)=>e.isValidElement(m)&&(m.type===ee||m.type?.displayName===ee.displayName);return n.some(m=>d(m,pe.Sidebar))},[a]),y=e.useCallback(n=>{if(n==="sidebar"){const d=W.current(u.sidebarMode);z(d);return}r({type:"TOGGLE_PANE",target:n})},[u.sidebarMode,z]),b=e.useCallback(n=>{if(n==="sidebar")return z("expanded");r({type:"EXPAND_PANE",target:n})},[z]),re=e.useCallback(n=>{if(n==="sidebar")return z("collapsed");r({type:"COLLAPSE_PANE",target:n})},[z]),ue=e.useMemo(()=>({leftMode:u.leftMode,setLeftMode:T,panelMode:u.panelMode,setPanelMode:$,sidebarMode:u.sidebarMode,setSidebarMode:z,inspectorMode:u.inspectorMode,setInspectorMode:I,bottomMode:u.bottomMode,setBottomMode:w,hasLeft:B,setHasLeft:oe,hasSidebar:O,setHasSidebar:H,currentBreakpoint:h,currentBreakpointReady:v,leftResolvedPresentation:R,togglePane:y,expandPane:b,collapsePane:re,setSidebarToggleComputer:g,onLeftPres:s,onRailDefaults:ae,onPanelDefaults:Y}),[u.leftMode,T,u.panelMode,$,u.sidebarMode,z,u.inspectorMode,I,u.bottomMode,w,B,O,h,v,R,y,b,re,g,s,ae,Y]),V=e.Children.toArray(a),F=(n,d)=>e.isValidElement(n)&&(n.type===d||n.type?.displayName===d.displayName),de=V.filter(n=>F(n,ve)),J=V.filter(n=>F(n,G)),Z=V.filter(n=>F(n,Q)),fe=V.filter(n=>F(n,pe.Sidebar)),Ce=V.filter(n=>F(n,Me)),o=V.filter(n=>F(n,Pe.Inspector)),C=V.filter(n=>F(n,ye.Bottom)),x=J[0]?.props?.open;e.useEffect(()=>{if(typeof x>"u")return;T(!!x?"expanded":"collapsed")},[x,T]);const L=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:v,leftResolvedPresentation:R}),[h,v,R]),He=e.useMemo(()=>({leftMode:u.leftMode,setLeftMode:T}),[u.leftMode,T]),Ve=e.useMemo(()=>({panelMode:u.panelMode,setPanelMode:$}),[u.panelMode,$]),je=e.useMemo(()=>({sidebarMode:u.sidebarMode,setSidebarMode:z}),[u.sidebarMode,z]),Ue=e.useMemo(()=>({inspectorMode:u.inspectorMode,setInspectorMode:I}),[u.inspectorMode,I]),Fe=e.useMemo(()=>({bottomMode:u.bottomMode,setBottomMode:w}),[u.bottomMode,w]),$e=e.useMemo(()=>({hasLeft:B,setHasLeft:oe,hasSidebar:O,setHasSidebar:H}),[B,oe,O,H]),[xe,ke]=e.useState(new Set),ze=e.useCallback(n=>{ke(d=>{if(d.has(n))return d;const m=new Set(d);return m.add(n),m})},[]),Ne=e.useCallback(n=>{ke(d=>{if(!d.has(n))return d;const m=new Set(d);return m.delete(n),m})},[]),Re=xe.size>0,We=e.useMemo(()=>({insetPanes:xe,registerInset:ze,unregisterInset:Ne,hasAnyInset:Re}),[xe,ze,Ne,Re]),qe=e.useMemo(()=>({peekTarget:j,setPeekTarget:ie,peekPane:be,clearPeek:he}),[j,ie,be,he]),Ge=e.useMemo(()=>({togglePane:y,expandPane:b,collapsePane:re,setSidebarToggleComputer:g}),[y,b,re,g]),Qe=e.useMemo(()=>({...ue,peekTarget:j,setPeekTarget:ie,peekPane:be,clearPeek:he}),[ue,j,ie,be,he]);return e.createElement("div",{...P,ref:c,className:(0,q.default)("rt-ShellRoot",t),style:{...L,...P.style}},e.createElement(p.ShellProvider,{value:Qe},e.createElement(p.PresentationContext.Provider,{value:Ie},e.createElement(p.LeftModeContext.Provider,{value:He},e.createElement(p.PanelModeContext.Provider,{value:Ve},e.createElement(p.SidebarModeContext.Provider,{value:je},e.createElement(p.InspectorModeContext.Provider,{value:Ue},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:Ge},e.createElement(p.InsetContext.Provider,{value:We},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&&!se?(()=>{const n=J[0],d=Z[0],m=!!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:m}:{defaultOpen:M?!0:void 0,inset:m};return e.createElement(me,{...ee},J,Z)})():fe,Ce,o),C))))))))))))});Oe.displayName="Shell.Root";const ve=e.forwardRef(({className:t,height:a=64,style:i,...P},c)=>e.createElement("header",{...P,ref:c,className:(0,q.default)("rt-ShellHeader",t),style:{...i,"--shell-header-height":`${a}px`}}));ve.displayName="Shell.Header";const an=["open","defaultOpen","onOpenChange","mode","defaultMode","onModeChange"],me=e.forwardRef((t,a)=>{const{className:i,presentation:P={initial:"fixed",sm:"fixed"},collapsible:c=!0,onExpand:h,onCollapse:v,children:S,style:M,inset:l,...f}=t,{registerInset:N,unregisterInset:U}=(0,p.useInset)();e.useEffect(()=>{if(l)return N("left"),()=>U("left")},[l,N,U]);const D=f.open,E=f.defaultOpen,k=f.onOpenChange,u=(0,K.omitPaneProps)(f,an),r=(0,p.useShell)(),T=(0,te.useResponsivePresentation)(P),$=T==="overlay",z=T==="stacked",I=e.useRef(null);e.useEffect(()=>{r.onLeftPres?.(T)},[r,T]);const w=e.useCallback(g=>{I.current=g,typeof a=="function"?a(g):a&&(a.current=g)},[a]);e.useEffect(()=>(r.setHasLeft(!0),()=>r.setHasLeft(!1)),[r]);const B=e.useRef(null),oe=e.useRef(!1),O=e.useMemo(()=>{if(!(typeof D>"u"))return D?"expanded":"collapsed"},[D]),H=e.useMemo(()=>(0,K.mapResponsiveBooleanToPaneMode)(E),[E]);(0,te.useResponsiveInitialState)({controlledValue:O,defaultValue:H,currentValue:r.leftMode,setValue:r.setLeftMode,breakpointReady:r.currentBreakpointReady,onInit:g=>k?.(g==="expanded",{reason:"init"})}),e.useEffect(()=>{typeof D<"u"||(B.current!==null&&B.current!==r.leftMode&&k?.(r.leftMode==="expanded",{reason:"toggle"}),B.current=r.leftMode)},[r,k,D]),e.useEffect(()=>{r.leftMode==="expanded"?h?.():v?.()},[r.leftMode,h,v]);const W=r.leftMode==="expanded";if($){const g=r.leftMode==="expanded",R=e.Children.toArray(S),A=(y,b)=>e.isValidElement(y)&&y.type===b,s=R.find(y=>A(y,G)),_=R.find(y=>A(y,Q)),X=typeof s?.props?.expandedSize=="number"?s.props.expandedSize:64,ae=typeof _?.props?.expandedSize=="number"?_.props.expandedSize:288,Y=!!s,le=!!_,se=(Y?X:0)+(r.panelMode==="expanded"&&le?ae:0);return e.createElement(Te.Root,{open:g,onOpenChange:y=>r.setLeftMode(y?"expanded":"collapsed")},e.createElement(Te.Content,{side:"start",style:{padding:0},width:{initial:`${se}px`}},e.createElement(De.VisuallyHidden,null,e.createElement(Te.Title,null,"Navigation")),e.createElement("div",{className:"rt-ShellLeft"},S)))}if(z){const g=r.leftMode==="expanded",R=e.Children.toArray(S),A=(y,b)=>e.isValidElement(y)&&y.type===b,s=R.find(y=>A(y,G)),_=R.find(y=>A(y,Q)),X=typeof s?.props?.expandedSize=="number"?s.props.expandedSize:64,ae=typeof _?.props?.expandedSize=="number"?_.props.expandedSize:288,Y=!!s,se=!!_&&(r.panelMode==="expanded"||r.peekTarget==="panel");return e.createElement("div",{...u,ref:w,className:(0,q.default)("rt-ShellLeft",i),"data-mode":r.leftMode,"data-peek":r.peekTarget==="left"||r.peekTarget==="rail"||r.peekTarget==="panel"||void 0,"data-presentation":T,"data-inset":l||void 0,style:{...M},"data-open":g||void 0},S)}return e.createElement("div",{...u,ref:w,className:(0,q.default)("rt-ShellLeft",i),"data-mode":r.leftMode,"data-peek":r.peekTarget==="left"||r.peekTarget==="rail"||r.peekTarget==="panel"||void 0,"data-presentation":T,"data-inset":l||void 0,style:{...M}},S)});me.displayName="Shell.Left",ne(me,"Shell.Left");const G=e.forwardRef((t,a)=>{const{className:i,presentation:P,expandedSize:c=64,collapsible:h,onExpand:v,onCollapse:S,children:M,style:l,open:f,defaultOpen:N,onOpenChange:U,...D}=t,E=(0,p.useShell)(),k=e.useRef(null);e.useEffect(()=>{const r=typeof f<"u";if(k.current===null){k.current=r;return}k.current!==r&&(console.warn("Shell.Rail: Switching between controlled and uncontrolled `open` is not supported."),k.current=r)},[f]),e.useEffect(()=>{E.onRailDefaults?.(c)},[E,c]);const u=E.leftMode==="expanded";return e.createElement("div",{...D,ref:a,className:(0,q.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},M))});G.displayName="Shell.Rail",ne(G,"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:P,open:c,onOpenChange:h,size:v,defaultSize:S,expandedSize:M=288,minSize:l,maxSize:f,resizable:N,collapsible:U=!0,onExpand:D,onCollapse:E,onResize:k,onResizeStart:u,onResizeEnd:r,snapPoints:T,snapTolerance:$,collapseThreshold:z,paneId:I,persistence:w,children:B,style:oe,onSizeChange:O,sizeUpdate:H,sizeUpdateMs:W=50}=t,g=(0,K.extractPaneDomProps)(t,ln),R=e.useRef(null);e.useEffect(()=>()=>{R.current&&(clearTimeout(R.current),R.current=null)},[O,H,W]);const A=e.useMemo(()=>{if(!O)return()=>{};if(H==="debounce")return(C,x)=>{R.current&&clearTimeout(R.current),R.current=setTimeout(()=>{O?.(C,x),R.current=null},W)};if(H==="throttle"){let o=0;return(C,x)=>{const L=Date.now();L-o>=W&&(o=L,O?.(C,x))}}return(o,C)=>O?.(o,C)},[O,H,W]),s=(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)(P),[P]),se=typeof c=="object"&&c!==null;(0,te.useResponsiveInitialState)({controlledValue:Y,defaultValue:le,currentValue:s.panelMode,setValue:o=>{o==="expanded"&&s.leftMode!=="expanded"&&s.setLeftMode("expanded"),s.setPanelMode(o)},breakpointReady:s.currentBreakpointReady,controlledIsResponsive:se,onResponsiveChange:o=>h?.(o==="expanded",{reason:"responsive"}),onInit:o=>{typeof c>"u"&&h?.(o==="expanded",{reason:"init"})}});const y=e.useRef(null);e.useEffect(()=>{const o=typeof c<"u";if(y.current===null){y.current=o;return}y.current!==o&&(console.warn("Shell.Panel: Switching between controlled and uncontrolled `open` is not supported."),y.current=o)},[c]),e.useEffect(()=>{s.onPanelDefaults?.(M)},[s,M]);const b=e.useRef(null),re=e.useCallback(o=>{b.current=o,typeof a=="function"?a(o):a&&(a.current=o)},[a]),ue=e.Children.toArray(B),V=ue.filter(o=>e.isValidElement(o)&&o.type===ce.PanelHandle),F=ue.filter(o=>!(e.isValidElement(o)&&o.type===ce.PanelHandle)),de=s.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(!N||!Z?.load||de)return;const C=await Z.load();o&&typeof C=="number"&&b.current&&(b.current.style.setProperty("--panel-size",`${C}px`),k?.(C))})(),()=>{o=!1}},[N,Z,k,de]),e.useEffect(()=>{b.current&&de&&b.current.style.setProperty("--panel-size",`${M}px`)},[de,M]),e.useEffect(()=>{if(b.current&&typeof v>"u"&&typeof S<"u"){const o=J(S);if(typeof o=="number"&&Number.isFinite(o)){const L=Math.min((typeof f=="number"?f:void 0)??o,Math.max((typeof l=="number"?l:void 0)??o,o));b.current.style.setProperty("--panel-size",`${L}px`),A(L,{reason:"init"})}}},[]),e.useEffect(()=>{if(!b.current||typeof v>"u")return;const o=J(v);if(typeof o=="number"&&Number.isFinite(o)){const L=Math.min((typeof f=="number"?f:void 0)??o,Math.max((typeof l=="number"?l:void 0)??o,o));b.current.style.setProperty("--panel-size",`${L}px`),A(L,{reason:"controlled"})}},[v,l,f,J,A]),e.useEffect(()=>{if(b.current&&s.leftResolvedPresentation!=="overlay"&&s.leftMode==="expanded"&&s.panelMode==="expanded"){const o=b.current.parentElement||null;try{o?.style.removeProperty("width")}catch{}}},[s.leftResolvedPresentation,s.leftMode,s.panelMode]);const fe=s.leftMode==="expanded"&&s.panelMode==="expanded";e.useEffect(()=>{const o=_.current,C=X.current;if(o!==null&&o!==s.panelMode){const x=s.panelMode==="expanded";let L="toggle";C!==s.leftMode&&s.leftMode==="collapsed"&&!x&&(L="left"),h?.(x,{reason:L})}_.current=s.panelMode,X.current=s.leftMode},[s.panelMode,s.leftMode,h]);const Ce=N&&s.leftResolvedPresentation!=="overlay"&&fe?e.createElement(Be.PaneResizeContext.Provider,{value:{containerRef:b,cssVarName:"--panel-size",minSize:typeof l=="number"?l:100,maxSize:typeof f=="number"?f:800,defaultSize:M,orientation:"vertical",edge:"end",computeNext:(o,C,x)=>{const L=getComputedStyle(b.current).direction==="rtl",j=o-C;return x+(L?-j:j)},onResize:k,onResizeStart:o=>{const x=b.current?.parentElement;try{x?.style.removeProperty("width")}catch{}u?.(o)},onResizeEnd:o=>{r?.(o),A(o,{reason:"resize"}),Z?.save?.(o)},target:"panel",collapsible:!!U,snapPoints:T,snapTolerance:$??8,collapseThreshold:z,requestCollapse:()=>s.setPanelMode("collapsed"),requestToggle:()=>s.togglePane("panel")}},V.length>0?V.map((o,C)=>e.cloneElement(o,{key:o.key??C})):e.createElement(ce.PaneHandle,null)):null;return e.createElement("div",{...g,ref:re,className:(0,q.default)("rt-ShellPanel",i),"data-mode":s.panelMode,"data-visible":s.currentBreakpointReady&&(fe||s.leftResolvedPresentation!=="overlay"&&s.peekTarget==="panel")||void 0,"data-peek":s.currentBreakpointReady&&s.leftResolvedPresentation!=="overlay"&&s.peekTarget==="panel"||void 0,style:{...oe,"--panel-size":`${M}px`}},e.createElement("div",{className:"rt-ShellPanelContent","data-visible":fe||void 0},F),Ce)}),"Shell.Panel");Q.displayName="Shell.Panel",Q.Handle=ce.PanelHandle;const Me=e.forwardRef(({className:t,inset:a,...i},P)=>{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:P,className:(0,q.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:P,onMouseEnter:c,onMouseLeave:h,children:v,...S},M)=>{const l=(0,p.useShell)(),f=e.useCallback(E=>{switch(P?.(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,P]),N=(()=>{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||!N)&&l.peekPane(t)},[c,i,N,l,t]),D=e.useCallback(E=>{h?.(E),i&&l.peekTarget===t&&l.clearPeek()},[h,i,l,t]);return e.createElement("button",{...S,ref:M,onClick:f,onMouseEnter:U,onMouseLeave:D,"data-shell-trigger":t,"data-shell-action":a,"aria-expanded":!N},v)});Le.displayName="Shell.Trigger";
|
|
2
2
|
//# sourceMappingURL=shell.js.map
|