@principal-ade/panels 1.0.53 → 1.0.54
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/components/ConfigurablePanelLayout.d.ts.map +1 -1
- package/dist/hooks/usePanelBounds.d.ts +67 -0
- package/dist/hooks/usePanelBounds.d.ts.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +89 -7
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/types/index.d.ts +26 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigurablePanelLayout.d.ts","sourceRoot":"","sources":["../../src/components/ConfigurablePanelLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAA4C,MAAM,OAAO,CAAC;AASnF,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAuD,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ConfigurablePanelLayout.d.ts","sourceRoot":"","sources":["../../src/components/ConfigurablePanelLayout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
import { PanelBounds, PanelSlotPosition } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the PanelBoundsProvider component
|
|
5
|
+
*/
|
|
6
|
+
export interface PanelBoundsProviderProps {
|
|
7
|
+
/** The slot position this provider is for */
|
|
8
|
+
slot: PanelSlotPosition;
|
|
9
|
+
/** Child components that will have access to panel bounds */
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Provider component that tracks and provides panel bounds to children
|
|
14
|
+
*
|
|
15
|
+
* This component wraps each panel slot's content in ConfigurablePanelLayout.
|
|
16
|
+
* It uses ResizeObserver and scroll/resize listeners to keep bounds up to date.
|
|
17
|
+
*/
|
|
18
|
+
export declare const PanelBoundsProvider: React.FC<PanelBoundsProviderProps>;
|
|
19
|
+
/**
|
|
20
|
+
* Return type for usePanelBounds hook
|
|
21
|
+
*/
|
|
22
|
+
export interface UsePanelBoundsReturn {
|
|
23
|
+
/** The current slot this panel is in (null if not in a panel) */
|
|
24
|
+
slot: PanelSlotPosition | null;
|
|
25
|
+
/** The bounds of this panel relative to the viewport */
|
|
26
|
+
bounds: PanelBounds;
|
|
27
|
+
/** Whether this hook is being used within a PanelBoundsProvider */
|
|
28
|
+
isInPanel: boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Hook to access the current panel's viewport-relative bounds
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```tsx
|
|
35
|
+
* const MyCanvasPanel: React.FC = () => {
|
|
36
|
+
* const { bounds, isInPanel } = usePanelBounds();
|
|
37
|
+
*
|
|
38
|
+
* // Use bounds.x and bounds.y to offset a viewport-sized canvas
|
|
39
|
+
* const canvasStyle = {
|
|
40
|
+
* position: 'absolute' as const,
|
|
41
|
+
* top: 0,
|
|
42
|
+
* left: 0,
|
|
43
|
+
* width: '100dvw',
|
|
44
|
+
* height: '100dvh',
|
|
45
|
+
* transform: `translate(${-bounds.x}px, ${-bounds.y}px)`,
|
|
46
|
+
* };
|
|
47
|
+
*
|
|
48
|
+
* return <canvas style={canvasStyle} />;
|
|
49
|
+
* };
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare function usePanelBounds(): UsePanelBoundsReturn;
|
|
53
|
+
/**
|
|
54
|
+
* Hook to get just the panel offset (x, y) for convenience
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```tsx
|
|
58
|
+
* const { offsetX, offsetY } = usePanelOffset();
|
|
59
|
+
* // Use to position a viewport-sized element at the viewport origin
|
|
60
|
+
* const style = { transform: `translate(${-offsetX}px, ${-offsetY}px)` };
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function usePanelOffset(): {
|
|
64
|
+
offsetX: number;
|
|
65
|
+
offsetY: number;
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=usePanelBounds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePanelBounds.d.ts","sourceRoot":"","sources":["../../src/hooks/usePanelBounds.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAOZ,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EAElB,MAAM,UAAU,CAAC;AAelB;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,6CAA6C;IAC7C,IAAI,EAAE,iBAAiB,CAAC;IACxB,6DAA6D;IAC7D,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA8DlE,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iEAAiE;IACjE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC/B,wDAAwD;IACxD,MAAM,EAAE,WAAW,CAAC;IACpB,mEAAmE;IACnE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,IAAI,oBAAoB,CAgBrD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAMrE"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,8 +6,9 @@ export { EditableConfigurablePanelLayout, type EditableConfigurablePanelLayoutPr
|
|
|
6
6
|
export { PanelConfigurator, type PanelConfiguratorProps, type PanelDefinition, type PanelLayout, type PanelSlot, type PanelGroup, type TabsConfig, type TilesConfig } from './components/PanelConfigurator';
|
|
7
7
|
export { TabGroup, type TabGroupProps } from './components/TabGroup';
|
|
8
8
|
export { SnapCarousel, type SnapCarouselProps, type SnapCarouselRef } from './components/SnapCarousel';
|
|
9
|
-
export type { PanelOrientation, CollapsibleSide, ThemeMode, AnimationConfig, CollapseButtonConfig, PanelCallbacks, } from './types';
|
|
9
|
+
export type { PanelOrientation, CollapsibleSide, ThemeMode, AnimationConfig, CollapseButtonConfig, PanelCallbacks, PanelSlotPosition, PanelBounds, PanelBoundsContextValue, } from './types';
|
|
10
10
|
export { type Theme } from '@principal-ade/industry-theme';
|
|
11
11
|
export { mapThemeToPanelVars, mapThemeToTabVars } from './utils/themeMapping';
|
|
12
12
|
export { useMediaQuery } from './hooks/useMediaQuery';
|
|
13
|
+
export { PanelBoundsProvider, usePanelBounds, usePanelOffset, type PanelBoundsProviderProps, type UsePanelBoundsReturn, } from './hooks/usePanelBounds';
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,KAAK,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAClH,OAAO,EAAE,sBAAsB,EAAE,KAAK,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAC/G,OAAO,EAAE,uBAAuB,EAAE,KAAK,4BAA4B,EAAE,KAAK,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AACnJ,OAAO,EAAE,iCAAiC,EAAE,KAAK,sCAAsC,EAAE,MAAM,gDAAgD,CAAC;AAChJ,OAAO,EAAE,+BAA+B,EAAE,KAAK,oCAAoC,EAAE,MAAM,8CAA8C,CAAC;AAC1I,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC5M,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAGvG,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,KAAK,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAClH,OAAO,EAAE,sBAAsB,EAAE,KAAK,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAC/G,OAAO,EAAE,uBAAuB,EAAE,KAAK,4BAA4B,EAAE,KAAK,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AACnJ,OAAO,EAAE,iCAAiC,EAAE,KAAK,sCAAsC,EAAE,MAAM,gDAAgD,CAAC;AAChJ,OAAO,EAAE,+BAA+B,EAAE,KAAK,oCAAoC,EAAE,MAAM,8CAA8C,CAAC;AAC1I,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC5M,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAGvG,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,cAAc,EAEd,iBAAiB,EACjB,WAAW,EACX,uBAAuB,GACxB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,GAC1B,MAAM,wBAAwB,CAAC"}
|
package/dist/index.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
-
import React, { useState, useRef, useCallback, useEffect, forwardRef, useImperativeHandle, useMemo, useLayoutEffect,
|
|
2
|
+
import React, { useState, useRef, useCallback, useEffect, createContext, useContext, forwardRef, useImperativeHandle, useMemo, useLayoutEffect, memo, useReducer } from "react";
|
|
3
3
|
import { PanelGroup, Panel, PanelResizeHandle } from "react-resizable-panels";
|
|
4
4
|
import { flushSync, unstable_batchedUpdates, createPortal } from "react-dom";
|
|
5
5
|
import { useTheme } from "@principal-ade/industry-theme";
|
|
@@ -653,6 +653,85 @@ const TabGroup = ({
|
|
|
653
653
|
!hideTabList && (tabPosition === "bottom" || tabPosition === "right") && tabList
|
|
654
654
|
] });
|
|
655
655
|
};
|
|
656
|
+
const DEFAULT_BOUNDS = {
|
|
657
|
+
x: 0,
|
|
658
|
+
y: 0,
|
|
659
|
+
width: 0,
|
|
660
|
+
height: 0
|
|
661
|
+
};
|
|
662
|
+
const PanelBoundsContext = createContext(null);
|
|
663
|
+
const PanelBoundsProvider = ({
|
|
664
|
+
slot,
|
|
665
|
+
children
|
|
666
|
+
}) => {
|
|
667
|
+
const containerRef = useRef(null);
|
|
668
|
+
const [bounds, setBounds] = useState(DEFAULT_BOUNDS);
|
|
669
|
+
const updateBounds = useCallback(() => {
|
|
670
|
+
if (containerRef.current) {
|
|
671
|
+
const rect = containerRef.current.getBoundingClientRect();
|
|
672
|
+
setBounds({
|
|
673
|
+
x: rect.left,
|
|
674
|
+
y: rect.top,
|
|
675
|
+
width: rect.width,
|
|
676
|
+
height: rect.height
|
|
677
|
+
});
|
|
678
|
+
}
|
|
679
|
+
}, []);
|
|
680
|
+
useEffect(() => {
|
|
681
|
+
const container = containerRef.current;
|
|
682
|
+
if (!container) return;
|
|
683
|
+
updateBounds();
|
|
684
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
685
|
+
updateBounds();
|
|
686
|
+
});
|
|
687
|
+
resizeObserver.observe(container);
|
|
688
|
+
window.addEventListener("resize", updateBounds);
|
|
689
|
+
window.addEventListener("scroll", updateBounds, true);
|
|
690
|
+
return () => {
|
|
691
|
+
resizeObserver.disconnect();
|
|
692
|
+
window.removeEventListener("resize", updateBounds);
|
|
693
|
+
window.removeEventListener("scroll", updateBounds, true);
|
|
694
|
+
};
|
|
695
|
+
}, [updateBounds]);
|
|
696
|
+
const contextValue = {
|
|
697
|
+
slot,
|
|
698
|
+
bounds
|
|
699
|
+
};
|
|
700
|
+
return /* @__PURE__ */ jsx(PanelBoundsContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
|
|
701
|
+
"div",
|
|
702
|
+
{
|
|
703
|
+
ref: containerRef,
|
|
704
|
+
className: "panel-bounds-container",
|
|
705
|
+
style: {
|
|
706
|
+
width: "100%",
|
|
707
|
+
height: "100%"
|
|
708
|
+
},
|
|
709
|
+
children
|
|
710
|
+
}
|
|
711
|
+
) });
|
|
712
|
+
};
|
|
713
|
+
function usePanelBounds() {
|
|
714
|
+
const context = useContext(PanelBoundsContext);
|
|
715
|
+
if (!context) {
|
|
716
|
+
return {
|
|
717
|
+
slot: null,
|
|
718
|
+
bounds: DEFAULT_BOUNDS,
|
|
719
|
+
isInPanel: false
|
|
720
|
+
};
|
|
721
|
+
}
|
|
722
|
+
return {
|
|
723
|
+
slot: context.slot,
|
|
724
|
+
bounds: context.bounds,
|
|
725
|
+
isInPanel: true
|
|
726
|
+
};
|
|
727
|
+
}
|
|
728
|
+
function usePanelOffset() {
|
|
729
|
+
const { bounds } = usePanelBounds();
|
|
730
|
+
return {
|
|
731
|
+
offsetX: bounds.x,
|
|
732
|
+
offsetY: bounds.y
|
|
733
|
+
};
|
|
734
|
+
}
|
|
656
735
|
const ConfigurablePanelLayout = ({
|
|
657
736
|
panels,
|
|
658
737
|
layout,
|
|
@@ -1390,7 +1469,7 @@ const ConfigurablePanelLayout = ({
|
|
|
1390
1469
|
opacity: leftCollapsed ? 0 : 1,
|
|
1391
1470
|
transition: leftAnimating ? `opacity ${animationDuration * 0.5}ms ${animationEasing}` : "none"
|
|
1392
1471
|
},
|
|
1393
|
-
children: leftPanel
|
|
1472
|
+
children: /* @__PURE__ */ jsx(PanelBoundsProvider, { slot: "left", children: leftPanel })
|
|
1394
1473
|
}
|
|
1395
1474
|
)
|
|
1396
1475
|
}
|
|
@@ -1435,7 +1514,7 @@ const ConfigurablePanelLayout = ({
|
|
|
1435
1514
|
opacity: middleCollapsed ? 0 : 1,
|
|
1436
1515
|
transition: middleAnimating ? `opacity ${animationDuration * 0.5}ms ${animationEasing}` : "none"
|
|
1437
1516
|
},
|
|
1438
|
-
children: middlePanel
|
|
1517
|
+
children: /* @__PURE__ */ jsx(PanelBoundsProvider, { slot: "middle", children: middlePanel })
|
|
1439
1518
|
}
|
|
1440
1519
|
)
|
|
1441
1520
|
}
|
|
@@ -1480,7 +1559,7 @@ const ConfigurablePanelLayout = ({
|
|
|
1480
1559
|
opacity: rightCollapsed ? 0 : 1,
|
|
1481
1560
|
transition: rightAnimating ? `opacity ${animationDuration * 0.5}ms ${animationEasing}` : "none"
|
|
1482
1561
|
},
|
|
1483
|
-
children: rightPanel
|
|
1562
|
+
children: /* @__PURE__ */ jsx(PanelBoundsProvider, { slot: "right", children: rightPanel })
|
|
1484
1563
|
}
|
|
1485
1564
|
)
|
|
1486
1565
|
}
|
|
@@ -3737,9 +3816,9 @@ function useResizeObserver(_ref) {
|
|
|
3737
3816
|
return void 0;
|
|
3738
3817
|
}
|
|
3739
3818
|
const {
|
|
3740
|
-
ResizeObserver
|
|
3819
|
+
ResizeObserver: ResizeObserver2
|
|
3741
3820
|
} = window;
|
|
3742
|
-
return new
|
|
3821
|
+
return new ResizeObserver2(handleResize);
|
|
3743
3822
|
},
|
|
3744
3823
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3745
3824
|
[disabled]
|
|
@@ -5604,12 +5683,15 @@ export {
|
|
|
5604
5683
|
AnimatedVerticalLayout,
|
|
5605
5684
|
ConfigurablePanelLayout,
|
|
5606
5685
|
EditableConfigurablePanelLayout,
|
|
5686
|
+
PanelBoundsProvider,
|
|
5607
5687
|
PanelConfigurator,
|
|
5608
5688
|
ResponsiveConfigurablePanelLayout,
|
|
5609
5689
|
SnapCarousel,
|
|
5610
5690
|
TabGroup,
|
|
5611
5691
|
mapThemeToPanelVars,
|
|
5612
5692
|
mapThemeToTabVars,
|
|
5613
|
-
useMediaQuery
|
|
5693
|
+
useMediaQuery,
|
|
5694
|
+
usePanelBounds,
|
|
5695
|
+
usePanelOffset
|
|
5614
5696
|
};
|
|
5615
5697
|
//# sourceMappingURL=index.esm.js.map
|