@kushagradhawan/kookie-ui 0.1.57 → 0.1.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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.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.js +1 -1
- package/dist/cjs/components/_internal/shell-sidebar.js.map +3 -3
- package/dist/cjs/components/chatbar.d.ts.map +1 -1
- package/dist/cjs/components/chatbar.js.map +2 -2
- package/dist/cjs/components/icons.d.ts +1 -1
- package/dist/cjs/components/icons.d.ts.map +1 -1
- package/dist/cjs/components/icons.js.map +2 -2
- package/dist/cjs/components/schemas/shell.schema.d.ts +2 -2
- package/dist/cjs/components/schemas/shell.schema.d.ts.map +1 -1
- package/dist/cjs/components/schemas/shell.schema.js +1 -1
- package/dist/cjs/components/schemas/shell.schema.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/_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.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.js +1 -1
- package/dist/esm/components/_internal/shell-sidebar.js.map +3 -3
- package/dist/esm/components/chatbar.d.ts.map +1 -1
- package/dist/esm/components/chatbar.js.map +2 -2
- package/dist/esm/components/icons.d.ts +1 -1
- package/dist/esm/components/icons.d.ts.map +1 -1
- package/dist/esm/components/icons.js.map +2 -2
- package/dist/esm/components/schemas/shell.schema.d.ts +2 -2
- package/dist/esm/components/schemas/shell.schema.d.ts.map +1 -1
- package/dist/esm/components/schemas/shell.schema.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/_internal/shell-bottom.tsx +14 -13
- package/src/components/_internal/shell-inspector.tsx +13 -11
- package/src/components/_internal/shell-sidebar.tsx +12 -12
- package/src/components/chatbar.tsx +0 -1
- package/src/components/icons.tsx +19 -87
- package/src/components/schemas/shell.schema.ts +10 -33
- package/src/components/shell.tsx +32 -24
package/src/components/shell.tsx
CHANGED
|
@@ -309,18 +309,24 @@ const Root = React.forwardRef<HTMLDivElement, ShellRootProps>(({ className, chil
|
|
|
309
309
|
}
|
|
310
310
|
dispatchPane({ type: 'TOGGLE_PANE', target });
|
|
311
311
|
},
|
|
312
|
-
[paneState.sidebarMode],
|
|
312
|
+
[paneState.sidebarMode, setSidebarMode],
|
|
313
313
|
);
|
|
314
314
|
|
|
315
|
-
const expandPane = React.useCallback(
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
315
|
+
const expandPane = React.useCallback(
|
|
316
|
+
(target: PaneTarget) => {
|
|
317
|
+
if (target === 'sidebar') return setSidebarMode('expanded');
|
|
318
|
+
dispatchPane({ type: 'EXPAND_PANE', target });
|
|
319
|
+
},
|
|
320
|
+
[setSidebarMode],
|
|
321
|
+
);
|
|
319
322
|
|
|
320
|
-
const collapsePane = React.useCallback(
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
323
|
+
const collapsePane = React.useCallback(
|
|
324
|
+
(target: PaneTarget) => {
|
|
325
|
+
if (target === 'sidebar') return setSidebarMode('collapsed');
|
|
326
|
+
dispatchPane({ type: 'COLLAPSE_PANE', target });
|
|
327
|
+
},
|
|
328
|
+
[setSidebarMode],
|
|
329
|
+
);
|
|
324
330
|
|
|
325
331
|
const baseContextValue = React.useMemo(
|
|
326
332
|
() => ({
|
|
@@ -351,10 +357,15 @@ const Root = React.forwardRef<HTMLDivElement, ShellRootProps>(({ className, chil
|
|
|
351
357
|
}),
|
|
352
358
|
[
|
|
353
359
|
paneState.leftMode,
|
|
360
|
+
setLeftMode,
|
|
354
361
|
paneState.panelMode,
|
|
362
|
+
setPanelMode,
|
|
355
363
|
paneState.sidebarMode,
|
|
364
|
+
setSidebarMode,
|
|
356
365
|
paneState.inspectorMode,
|
|
366
|
+
setInspectorMode,
|
|
357
367
|
paneState.bottomMode,
|
|
368
|
+
setBottomMode,
|
|
358
369
|
hasLeft,
|
|
359
370
|
hasSidebar,
|
|
360
371
|
currentBreakpoint,
|
|
@@ -388,7 +399,7 @@ const Root = React.forwardRef<HTMLDivElement, ShellRootProps>(({ className, chil
|
|
|
388
399
|
if (typeof firstRailOpen === 'undefined') return;
|
|
389
400
|
const shouldOpen = Boolean(firstRailOpen);
|
|
390
401
|
setLeftMode(shouldOpen ? 'expanded' : 'collapsed');
|
|
391
|
-
}, [firstRailOpen]);
|
|
402
|
+
}, [firstRailOpen, setLeftMode]);
|
|
392
403
|
|
|
393
404
|
const heightStyle = React.useMemo(() => {
|
|
394
405
|
if (height === 'full') return { height: '100vh' };
|
|
@@ -588,25 +599,27 @@ const Left = React.forwardRef<HTMLDivElement, LeftProps>(
|
|
|
588
599
|
|
|
589
600
|
// Initialize from responsive defaultOpen once when uncontrolled and breakpoint ready
|
|
590
601
|
const didInitFromDefaultOpenRef = React.useRef(false);
|
|
602
|
+
const propsOpen = (props as any).open;
|
|
603
|
+
const propsDefaultOpen = (props as any).defaultOpen;
|
|
591
604
|
React.useEffect(() => {
|
|
592
605
|
if (didInitFromDefaultOpenRef.current) return;
|
|
593
606
|
if (!shell.currentBreakpointReady) return;
|
|
594
|
-
if (typeof
|
|
595
|
-
if (typeof
|
|
607
|
+
if (typeof propsOpen !== 'undefined') return; // controlled
|
|
608
|
+
if (typeof propsDefaultOpen === 'undefined') return;
|
|
596
609
|
didInitFromDefaultOpenRef.current = true;
|
|
597
610
|
const initial = Boolean(resolvedDefaultOpen);
|
|
598
611
|
shell.setLeftMode(initial ? 'expanded' : 'collapsed');
|
|
599
612
|
(props as any).onOpenChange?.(initial, { reason: 'init' });
|
|
600
|
-
}, [shell
|
|
613
|
+
}, [shell, propsOpen, propsDefaultOpen, resolvedDefaultOpen, props]);
|
|
601
614
|
React.useEffect(() => {
|
|
602
615
|
// Controlled Left via Rail.open
|
|
603
|
-
if (typeof
|
|
604
|
-
const shouldOpen = Boolean(
|
|
616
|
+
if (typeof propsOpen !== 'undefined') {
|
|
617
|
+
const shouldOpen = Boolean(propsOpen);
|
|
605
618
|
shell.setLeftMode(shouldOpen ? 'expanded' : 'collapsed');
|
|
606
619
|
return;
|
|
607
620
|
}
|
|
608
621
|
// defaultOpen is applied in Rail; Left no longer follows responsive defaults
|
|
609
|
-
}, [shell,
|
|
622
|
+
}, [shell, propsOpen]);
|
|
610
623
|
|
|
611
624
|
// Sync controlled mode
|
|
612
625
|
// removed mode sync
|
|
@@ -622,7 +635,7 @@ const Left = React.forwardRef<HTMLDivElement, LeftProps>(
|
|
|
622
635
|
(props as any).onOpenChange?.(shell.leftMode === 'expanded', { reason: 'toggle' });
|
|
623
636
|
}
|
|
624
637
|
lastLeftModeRef.current = shell.leftMode;
|
|
625
|
-
}, [shell
|
|
638
|
+
}, [shell, resolvedDefaultOpen, props]);
|
|
626
639
|
|
|
627
640
|
// Emit expand/collapse events
|
|
628
641
|
React.useEffect(() => {
|
|
@@ -739,7 +752,6 @@ const Rail = React.forwardRef<HTMLDivElement, RailProps>(({ className, presentat
|
|
|
739
752
|
const wasControlledRef = React.useRef<boolean | null>(null);
|
|
740
753
|
if (process.env.NODE_ENV !== 'production') {
|
|
741
754
|
if (typeof props.open !== 'undefined' && typeof props.defaultOpen !== 'undefined') {
|
|
742
|
-
// eslint-disable-next-line no-console
|
|
743
755
|
console.error('Shell.Rail: Do not pass both `open` and `defaultOpen`. Choose one.');
|
|
744
756
|
}
|
|
745
757
|
}
|
|
@@ -752,7 +764,6 @@ const Rail = React.forwardRef<HTMLDivElement, RailProps>(({ className, presentat
|
|
|
752
764
|
return;
|
|
753
765
|
}
|
|
754
766
|
if (wasControlledRef.current !== isControlled) {
|
|
755
|
-
// eslint-disable-next-line no-console
|
|
756
767
|
console.warn('Shell.Rail: Switching between controlled and uncontrolled `open` is not supported.');
|
|
757
768
|
wasControlledRef.current = isControlled;
|
|
758
769
|
}
|
|
@@ -891,11 +902,9 @@ const Panel = React.forwardRef<HTMLDivElement, PanelPublicProps>(
|
|
|
891
902
|
// Dev-only runtime guard
|
|
892
903
|
if (process.env.NODE_ENV !== 'production') {
|
|
893
904
|
if (typeof open !== 'undefined' && typeof defaultOpen !== 'undefined') {
|
|
894
|
-
// eslint-disable-next-line no-console
|
|
895
905
|
console.error('Shell.Panel: Do not pass both `open` and `defaultOpen`. Choose one.');
|
|
896
906
|
}
|
|
897
907
|
if (typeof size !== 'undefined' && typeof defaultSize !== 'undefined') {
|
|
898
|
-
// eslint-disable-next-line no-console
|
|
899
908
|
console.error('Shell.Panel: Do not pass both `size` and `defaultSize`. Choose one.');
|
|
900
909
|
}
|
|
901
910
|
}
|
|
@@ -924,14 +933,13 @@ const Panel = React.forwardRef<HTMLDivElement, PanelPublicProps>(
|
|
|
924
933
|
} else {
|
|
925
934
|
if (shell.panelMode !== 'collapsed') shell.setPanelMode('collapsed');
|
|
926
935
|
}
|
|
927
|
-
}, [
|
|
936
|
+
}, [shell, open]);
|
|
928
937
|
|
|
929
938
|
// Dev-only warning if switching controlled/uncontrolled between renders
|
|
930
939
|
React.useEffect(() => {
|
|
931
940
|
const isControlled = typeof open !== 'undefined';
|
|
932
941
|
(Panel as any)._wasControlled = (Panel as any)._wasControlled ?? isControlled;
|
|
933
942
|
if ((Panel as any)._wasControlled !== isControlled) {
|
|
934
|
-
// eslint-disable-next-line no-console
|
|
935
943
|
console.warn('Shell.Panel: Switching between controlled and uncontrolled `open` is not supported.');
|
|
936
944
|
(Panel as any)._wasControlled = isControlled;
|
|
937
945
|
}
|
|
@@ -1057,7 +1065,7 @@ const Panel = React.forwardRef<HTMLDivElement, PanelPublicProps>(
|
|
|
1057
1065
|
localRef.current.style.setProperty('--panel-size', `${clamped}px`);
|
|
1058
1066
|
emitSizeChange(clamped, { reason: 'controlled' });
|
|
1059
1067
|
}
|
|
1060
|
-
}, [size, minSize, maxSize, normalizeToPx]);
|
|
1068
|
+
}, [size, minSize, maxSize, normalizeToPx, emitSizeChange]);
|
|
1061
1069
|
|
|
1062
1070
|
// Ensure Left container width is auto whenever Panel is expanded in fixed presentation
|
|
1063
1071
|
React.useEffect(() => {
|