@amboss/design-system 4.0.4 → 4.0.6
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/build/cjs/components/DataTable/DataTable.js +1 -1
- package/build/cjs/components/DataTable/TableBody.d.ts +4 -2
- package/build/cjs/components/DataTable/TableBody.js +1 -1
- package/build/cjs/components/DataTable/TableCell.d.ts +4 -3
- package/build/cjs/components/DataTable/TableCell.js +1 -1
- package/build/cjs/components/DataTable/header/SortableCellContent.d.ts +1 -4
- package/build/cjs/components/DataTable/header/TableHeader.d.ts +3 -1
- package/build/cjs/components/DataTable/header/TableHeader.js +1 -1
- package/build/cjs/components/DataTable/internal/DataTableDataRow.d.ts +20 -0
- package/build/cjs/components/DataTable/internal/DataTableDataRow.js +1 -0
- package/build/cjs/components/DataTable/internal/DataTableRowGroup.d.ts +2 -0
- package/build/cjs/components/DataTable/internal/DataTableRowGroup.js +1 -0
- package/build/cjs/components/DataTable/internal/buildInternalColumns.d.ts +9 -0
- package/build/cjs/components/DataTable/internal/buildInternalColumns.js +1 -0
- package/build/cjs/components/DataTable/internal/controlColumns/checkboxColumn.d.ts +2 -0
- package/build/cjs/components/DataTable/internal/controlColumns/checkboxColumn.js +1 -0
- package/build/cjs/components/DataTable/internal/getColumnSticky.d.ts +8 -0
- package/build/cjs/components/DataTable/internal/getColumnSticky.js +1 -0
- package/build/cjs/components/DataTable/internal/getVisibleColumnCount.d.ts +2 -0
- package/build/cjs/components/DataTable/internal/getVisibleColumnCount.js +1 -0
- package/build/cjs/components/DataTable/internal/resolveRowContext.d.ts +17 -0
- package/build/cjs/components/DataTable/internal/resolveRowContext.js +1 -0
- package/build/cjs/components/DataTable/internal/tablePrimitives.d.ts +35 -0
- package/build/cjs/components/DataTable/internal/tablePrimitives.js +1 -0
- package/build/cjs/components/DataTable/internal/types.d.ts +26 -0
- package/build/cjs/components/DataTable/internal/types.js +1 -0
- package/build/cjs/components/Internal/Drawer/Drawer.d.ts +0 -2
- package/build/cjs/components/Internal/Drawer/Drawer.js +8 -8
- package/build/cjs/components/Internal/Drawer/useExitAnimation.d.ts +21 -0
- package/build/cjs/components/Internal/Drawer/useExitAnimation.js +1 -0
- package/build/cjs/components/Internal/LayoutFloat/LayoutFloat.d.ts +14 -0
- package/build/cjs/components/Internal/LayoutFloat/LayoutFloat.js +1 -0
- package/build/cjs/components/Internal/Panel/Panel.d.ts +15 -2
- package/build/cjs/components/Internal/Panel/Panel.js +1 -1
- package/build/cjs/components/Internal/PanelHeader/PanelHeader.d.ts +31 -0
- package/build/cjs/components/Internal/PanelHeader/PanelHeader.js +1 -0
- package/build/cjs/components/Internal/Sandwich/-types.d.ts +10 -12
- package/build/cjs/components/Internal/Sandwich/Sandwich.d.ts +10 -8
- package/build/cjs/components/Internal/Sandwich/Sandwich.js +1 -1
- package/build/cjs/components/Internal/Sandwich/SandwichFooter.d.ts +5 -1
- package/build/cjs/components/Internal/Sandwich/SandwichFooter.js +1 -1
- package/build/cjs/components/Internal/Sandwich/SandwichHeader.d.ts +5 -1
- package/build/cjs/components/Internal/Sandwich/SandwichHeader.js +1 -1
- package/build/cjs/components/Internal/Sandwich/useSandwichContext.d.ts +12 -3
- package/build/cjs/components/Internal/Sandwich/useSandwichContext.js +1 -1
- package/build/cjs/components/Layout/-types.d.ts +112 -43
- package/build/cjs/components/Layout/{Content.d.ts → Content/Content.d.ts} +1 -1
- package/build/cjs/components/Layout/Content/Content.js +1 -0
- package/build/cjs/components/Layout/Layout.d.ts +16 -4
- package/build/cjs/components/Layout/Layout.js +1 -1
- package/build/cjs/components/Layout/LayoutProvider.js +1 -1
- package/build/cjs/components/Layout/LeftPanel/LeftPanel.d.ts +9 -0
- package/build/cjs/components/Layout/LeftPanel/LeftPanel.js +1 -0
- package/build/cjs/components/Layout/LeftPanel/LeftPanelDocked.d.ts +20 -0
- package/build/cjs/components/Layout/LeftPanel/LeftPanelDocked.js +1 -0
- package/build/cjs/components/Layout/LeftPanel/LeftPanelDrawer.d.ts +15 -0
- package/build/cjs/components/Layout/LeftPanel/LeftPanelDrawer.js +1 -0
- package/build/cjs/components/Layout/LeftPanel/LeftPanelFooter.d.ts +7 -0
- package/build/cjs/components/Layout/LeftPanel/LeftPanelFooter.js +1 -0
- package/build/cjs/components/Layout/LeftPanel/LeftPanelHeader.d.ts +7 -0
- package/build/cjs/components/Layout/LeftPanel/LeftPanelHeader.js +1 -0
- package/build/cjs/components/Layout/PanelContainer.d.ts +9 -0
- package/build/cjs/components/Layout/PanelContainer.js +1 -0
- package/build/cjs/components/Layout/PanelSlideBody.d.ts +18 -0
- package/build/cjs/components/Layout/PanelSlideBody.js +1 -0
- package/build/cjs/components/Layout/RightPanel/RightPanel.d.ts +13 -0
- package/build/cjs/components/Layout/RightPanel/RightPanel.js +1 -0
- package/build/cjs/components/Layout/RightPanel/RightPanelFooter.d.ts +7 -0
- package/build/cjs/components/Layout/RightPanel/RightPanelFooter.js +1 -0
- package/build/cjs/components/Layout/RightPanel/RightPanelHeader.d.ts +15 -0
- package/build/cjs/components/Layout/RightPanel/RightPanelHeader.js +1 -0
- package/build/cjs/components/Layout/{Split.d.ts → Split/Split.d.ts} +4 -2
- package/build/cjs/components/Layout/Split/Split.js +1 -0
- package/build/cjs/components/Layout/Split/SplitFooter.d.ts +7 -0
- package/build/cjs/components/Layout/Split/SplitFooter.js +1 -0
- package/build/cjs/components/Layout/Split/SplitHeader.d.ts +7 -0
- package/build/cjs/components/Layout/Split/SplitHeader.js +1 -0
- package/build/cjs/components/Layout/context.d.ts +14 -1
- package/build/cjs/components/Layout/context.js +1 -1
- package/build/cjs/components/Layout/index.d.ts +0 -1
- package/build/cjs/components/Layout/index.js +1 -1
- package/build/cjs/components/Layout/registry.d.ts +38 -1
- package/build/cjs/components/Layout/registry.js +1 -1
- package/build/cjs/components/Layout/useFloatablePortalTargets.d.ts +37 -0
- package/build/cjs/components/Layout/useFloatablePortalTargets.js +1 -0
- package/build/cjs/components/Layout/usePanelDockedSlide.d.ts +28 -0
- package/build/cjs/components/Layout/usePanelDockedSlide.js +1 -0
- package/build/cjs/components/Link/Link.js +1 -1
- package/build/cjs/components/Link/LinkContext.d.ts +19 -0
- package/build/cjs/components/Link/LinkContext.js +1 -0
- package/build/cjs/components/Link/getLinkDecorationStyles.d.ts +20 -0
- package/build/cjs/components/Link/getLinkDecorationStyles.js +1 -0
- package/build/cjs/components/Typography/Text/Text.d.ts +10 -6
- package/build/cjs/components/Typography/Text/Text.js +1 -1
- package/build/cjs/shared/prefersReducedMotion.d.ts +6 -0
- package/build/cjs/shared/prefersReducedMotion.js +1 -0
- package/build/esm/components/DataTable/DataTable.js +1 -1
- package/build/esm/components/DataTable/TableBody.d.ts +4 -2
- package/build/esm/components/DataTable/TableBody.js +1 -1
- package/build/esm/components/DataTable/TableCell.d.ts +4 -3
- package/build/esm/components/DataTable/TableCell.js +1 -1
- package/build/esm/components/DataTable/header/SortableCellContent.d.ts +1 -4
- package/build/esm/components/DataTable/header/TableHeader.d.ts +3 -1
- package/build/esm/components/DataTable/header/TableHeader.js +1 -1
- package/build/esm/components/DataTable/internal/DataTableDataRow.d.ts +20 -0
- package/build/esm/components/DataTable/internal/DataTableDataRow.js +1 -0
- package/build/esm/components/DataTable/internal/DataTableRowGroup.d.ts +2 -0
- package/build/esm/components/DataTable/internal/DataTableRowGroup.js +1 -0
- package/build/esm/components/DataTable/internal/buildInternalColumns.d.ts +9 -0
- package/build/esm/components/DataTable/internal/buildInternalColumns.js +1 -0
- package/build/esm/components/DataTable/internal/controlColumns/checkboxColumn.d.ts +2 -0
- package/build/esm/components/DataTable/internal/controlColumns/checkboxColumn.js +1 -0
- package/build/esm/components/DataTable/internal/getColumnSticky.d.ts +8 -0
- package/build/esm/components/DataTable/internal/getColumnSticky.js +1 -0
- package/build/esm/components/DataTable/internal/getVisibleColumnCount.d.ts +2 -0
- package/build/esm/components/DataTable/internal/getVisibleColumnCount.js +1 -0
- package/build/esm/components/DataTable/internal/resolveRowContext.d.ts +17 -0
- package/build/esm/components/DataTable/internal/resolveRowContext.js +1 -0
- package/build/esm/components/DataTable/internal/tablePrimitives.d.ts +35 -0
- package/build/esm/components/DataTable/internal/tablePrimitives.js +1 -0
- package/build/esm/components/DataTable/internal/types.d.ts +26 -0
- package/build/esm/components/DataTable/internal/types.js +1 -0
- package/build/esm/components/Internal/Drawer/Drawer.d.ts +0 -2
- package/build/esm/components/Internal/Drawer/Drawer.js +8 -8
- package/build/esm/components/Internal/Drawer/useExitAnimation.d.ts +21 -0
- package/build/esm/components/Internal/Drawer/useExitAnimation.js +1 -0
- package/build/esm/components/Internal/LayoutFloat/LayoutFloat.d.ts +14 -0
- package/build/esm/components/Internal/LayoutFloat/LayoutFloat.js +1 -0
- package/build/esm/components/Internal/Panel/Panel.d.ts +15 -2
- package/build/esm/components/Internal/Panel/Panel.js +1 -1
- package/build/esm/components/Internal/PanelHeader/PanelHeader.d.ts +31 -0
- package/build/esm/components/Internal/PanelHeader/PanelHeader.js +1 -0
- package/build/esm/components/Internal/Sandwich/-types.d.ts +10 -12
- package/build/esm/components/Internal/Sandwich/Sandwich.d.ts +10 -8
- package/build/esm/components/Internal/Sandwich/Sandwich.js +1 -1
- package/build/esm/components/Internal/Sandwich/SandwichFooter.d.ts +5 -1
- package/build/esm/components/Internal/Sandwich/SandwichFooter.js +1 -1
- package/build/esm/components/Internal/Sandwich/SandwichHeader.d.ts +5 -1
- package/build/esm/components/Internal/Sandwich/SandwichHeader.js +1 -1
- package/build/esm/components/Internal/Sandwich/useSandwichContext.d.ts +12 -3
- package/build/esm/components/Internal/Sandwich/useSandwichContext.js +1 -1
- package/build/esm/components/Layout/-types.d.ts +112 -43
- package/build/esm/components/Layout/{Content.d.ts → Content/Content.d.ts} +1 -1
- package/build/esm/components/Layout/Content/Content.js +1 -0
- package/build/esm/components/Layout/Layout.d.ts +16 -4
- package/build/esm/components/Layout/Layout.js +1 -1
- package/build/esm/components/Layout/LayoutProvider.js +1 -1
- package/build/esm/components/Layout/LeftPanel/LeftPanel.d.ts +9 -0
- package/build/esm/components/Layout/LeftPanel/LeftPanel.js +1 -0
- package/build/esm/components/Layout/LeftPanel/LeftPanelDocked.d.ts +20 -0
- package/build/esm/components/Layout/LeftPanel/LeftPanelDocked.js +1 -0
- package/build/esm/components/Layout/LeftPanel/LeftPanelDrawer.d.ts +15 -0
- package/build/esm/components/Layout/LeftPanel/LeftPanelDrawer.js +1 -0
- package/build/esm/components/Layout/LeftPanel/LeftPanelFooter.d.ts +7 -0
- package/build/esm/components/Layout/LeftPanel/LeftPanelFooter.js +1 -0
- package/build/esm/components/Layout/LeftPanel/LeftPanelHeader.d.ts +7 -0
- package/build/esm/components/Layout/LeftPanel/LeftPanelHeader.js +1 -0
- package/build/esm/components/Layout/PanelContainer.d.ts +9 -0
- package/build/esm/components/Layout/PanelContainer.js +1 -0
- package/build/esm/components/Layout/PanelSlideBody.d.ts +18 -0
- package/build/esm/components/Layout/PanelSlideBody.js +1 -0
- package/build/esm/components/Layout/RightPanel/RightPanel.d.ts +13 -0
- package/build/esm/components/Layout/RightPanel/RightPanel.js +1 -0
- package/build/esm/components/Layout/RightPanel/RightPanelFooter.d.ts +7 -0
- package/build/esm/components/Layout/RightPanel/RightPanelFooter.js +1 -0
- package/build/esm/components/Layout/RightPanel/RightPanelHeader.d.ts +15 -0
- package/build/esm/components/Layout/RightPanel/RightPanelHeader.js +1 -0
- package/build/esm/components/Layout/{Split.d.ts → Split/Split.d.ts} +4 -2
- package/build/esm/components/Layout/Split/Split.js +1 -0
- package/build/esm/components/Layout/Split/SplitFooter.d.ts +7 -0
- package/build/esm/components/Layout/Split/SplitFooter.js +1 -0
- package/build/esm/components/Layout/Split/SplitHeader.d.ts +7 -0
- package/build/esm/components/Layout/Split/SplitHeader.js +1 -0
- package/build/esm/components/Layout/context.d.ts +14 -1
- package/build/esm/components/Layout/context.js +1 -1
- package/build/esm/components/Layout/index.d.ts +0 -1
- package/build/esm/components/Layout/index.js +1 -1
- package/build/esm/components/Layout/registry.d.ts +38 -1
- package/build/esm/components/Layout/registry.js +1 -1
- package/build/esm/components/Layout/useFloatablePortalTargets.d.ts +37 -0
- package/build/esm/components/Layout/useFloatablePortalTargets.js +1 -0
- package/build/esm/components/Layout/usePanelDockedSlide.d.ts +28 -0
- package/build/esm/components/Layout/usePanelDockedSlide.js +1 -0
- package/build/esm/components/Link/Link.js +1 -1
- package/build/esm/components/Link/LinkContext.d.ts +19 -0
- package/build/esm/components/Link/LinkContext.js +1 -0
- package/build/esm/components/Link/getLinkDecorationStyles.d.ts +20 -0
- package/build/esm/components/Link/getLinkDecorationStyles.js +1 -0
- package/build/esm/components/Typography/Text/Text.d.ts +10 -6
- package/build/esm/components/Typography/Text/Text.js +1 -1
- package/build/esm/shared/prefersReducedMotion.d.ts +6 -0
- package/build/esm/shared/prefersReducedMotion.js +1 -0
- package/build/scss/_layout.scss +8 -3
- package/build/scss/_theming.scss +3 -0
- package/build/scss/_variables.scss +2 -0
- package/package.json +8 -8
- package/build/cjs/components/Internal/Drawer/useDrawerAnimation.d.ts +0 -26
- package/build/cjs/components/Internal/Drawer/useDrawerAnimation.js +0 -1
- package/build/cjs/components/Internal/Sandwich/SandwichBody.d.ts +0 -3
- package/build/cjs/components/Internal/Sandwich/SandwichBody.js +0 -1
- package/build/cjs/components/Layout/Content.js +0 -1
- package/build/cjs/components/Layout/LeftPanel.d.ts +0 -8
- package/build/cjs/components/Layout/LeftPanel.js +0 -1
- package/build/cjs/components/Layout/RightPanel.d.ts +0 -9
- package/build/cjs/components/Layout/RightPanel.js +0 -1
- package/build/cjs/components/Layout/RightPanelContainer.d.ts +0 -3
- package/build/cjs/components/Layout/RightPanelContainer.js +0 -1
- package/build/cjs/components/Layout/Split.js +0 -1
- package/build/cjs/components/Layout/usePortalContainerRefs.d.ts +0 -20
- package/build/cjs/components/Layout/usePortalContainerRefs.js +0 -1
- package/build/esm/components/Internal/Drawer/useDrawerAnimation.d.ts +0 -26
- package/build/esm/components/Internal/Drawer/useDrawerAnimation.js +0 -1
- package/build/esm/components/Internal/Sandwich/SandwichBody.d.ts +0 -3
- package/build/esm/components/Internal/Sandwich/SandwichBody.js +0 -1
- package/build/esm/components/Layout/Content.js +0 -1
- package/build/esm/components/Layout/LeftPanel.d.ts +0 -8
- package/build/esm/components/Layout/LeftPanel.js +0 -1
- package/build/esm/components/Layout/RightPanel.d.ts +0 -9
- package/build/esm/components/Layout/RightPanel.js +0 -1
- package/build/esm/components/Layout/RightPanelContainer.d.ts +0 -3
- package/build/esm/components/Layout/RightPanelContainer.js +0 -1
- package/build/esm/components/Layout/Split.js +0 -1
- package/build/esm/components/Layout/usePortalContainerRefs.d.ts +0 -20
- package/build/esm/components/Layout/usePortalContainerRefs.js +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amboss/design-system",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.6",
|
|
4
4
|
"description": "the design system for AMBOSS products",
|
|
5
5
|
"author": "AMBOSS",
|
|
6
6
|
"license": "ISC",
|
|
@@ -170,12 +170,12 @@
|
|
|
170
170
|
"@auto-it/npm": "^11.1.6",
|
|
171
171
|
"@auto-it/released": "^10.13.2",
|
|
172
172
|
"@emotion/jest": "^11.11.0",
|
|
173
|
-
"@storybook/addon-a11y": "
|
|
174
|
-
"@storybook/addon-docs": "
|
|
175
|
-
"@storybook/addon-links": "
|
|
176
|
-
"@storybook/addon-mcp": "^0.
|
|
177
|
-
"@storybook/addon-vitest": "
|
|
178
|
-
"@storybook/react-vite": "
|
|
173
|
+
"@storybook/addon-a11y": "10.5.2",
|
|
174
|
+
"@storybook/addon-docs": "10.5.2",
|
|
175
|
+
"@storybook/addon-links": "10.5.2",
|
|
176
|
+
"@storybook/addon-mcp": "^0.7.0",
|
|
177
|
+
"@storybook/addon-vitest": "10.5.2",
|
|
178
|
+
"@storybook/react-vite": "10.5.2",
|
|
179
179
|
"@swc/cli": "^0.1.65",
|
|
180
180
|
"@swc/core": "~1.11.31",
|
|
181
181
|
"@swc/plugin-emotion": "^9.0.0",
|
|
@@ -221,7 +221,7 @@
|
|
|
221
221
|
"prettier": "^2.2.1",
|
|
222
222
|
"react": "^18.3.1",
|
|
223
223
|
"react-dom": "^18.3.1",
|
|
224
|
-
"storybook": "
|
|
224
|
+
"storybook": "10.5.2",
|
|
225
225
|
"style-dictionary": "^3.8.0",
|
|
226
226
|
"svg-to-pdfkit": "^0.1.8",
|
|
227
227
|
"svg2vectordrawable": "^2.9.1",
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { type AnimationEventHandler } from "react";
|
|
2
|
-
export type DrawerAnimation = {
|
|
3
|
-
/** Whether the node should render at all (entering, present, or mid-exit). */
|
|
4
|
-
isMounted: boolean;
|
|
5
|
-
/** True while the exit animation is playing; drives enter vs exit keyframes. */
|
|
6
|
-
isLeaving: boolean;
|
|
7
|
-
/** Attach to the animated content node; tears it down once its exit animation ends. */
|
|
8
|
-
onAnimationEnd: AnimationEventHandler<HTMLElement>;
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* Manages the drawer's presence across the enter/exit lifecycle. Styling
|
|
12
|
-
* (keyframes, timing) lives in the component; this hook only decides whether
|
|
13
|
-
* the node is mounted and which direction it is animating.
|
|
14
|
-
*
|
|
15
|
-
* The enter animation is pure CSS that plays on mount, so it needs no state.
|
|
16
|
-
* The exit does: the consumer drives `isVisible`, and when it flips to `false`
|
|
17
|
-
* the node stays mounted (`isLeaving === true`, tracked internally) until the
|
|
18
|
-
* exit animation ends, then `onUnmount` fires. A `useLayoutEffect` flips into
|
|
19
|
-
* the closing state before paint so the node isn't dropped for a frame.
|
|
20
|
-
* Reduced motion tears down immediately, since with no animation there is no
|
|
21
|
-
* `animationend` to wait for.
|
|
22
|
-
*/
|
|
23
|
-
export declare function useDrawerAnimation({ isVisible, onUnmount, }: {
|
|
24
|
-
isVisible: boolean;
|
|
25
|
-
onUnmount?: () => void;
|
|
26
|
-
}): DrawerAnimation;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"useDrawerAnimation",{enumerable:!0,get:function(){return useDrawerAnimation}});const _react=require("react"),_useWindow=require("../../../shared/useWindow");function useDrawerAnimation({isVisible,onUnmount}){let window=(0,_useWindow.useWindow)(),[isClosing,setIsClosing]=(0,_react.useState)(!1),wasVisible=(0,_react.useRef)(isVisible),isLeaving=isClosing&&!isVisible;(0,_react.useLayoutEffect)(()=>{if(isVisible)setIsClosing(!1);else wasVisible.current&&(window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches?onUnmount?.():setIsClosing(!0));wasVisible.current=isVisible},[isVisible,onUnmount,window]);let onAnimationEnd=(0,_react.useCallback)(event=>{event.target===event.currentTarget&&isLeaving&&(setIsClosing(!1),onUnmount?.())},[isLeaving,onUnmount]);return{isMounted:isVisible||isClosing,isLeaving,onAnimationEnd}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"SandwichBody",{enumerable:!0,get:function(){return SandwichBody}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_useSandwichContext=require("./useSandwichContext"),StyledBody=(0,_styled.default)("div",{target:"efd126s0",label:"StyledBody"})({flex:"1 1 auto",minHeight:0,overflowY:"auto",position:"relative"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvU2FuZHdpY2gvU2FuZHdpY2hCb2R5LnRzeCIsInNvdXJjZXMiOlsic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvU2FuZHdpY2gvU2FuZHdpY2hCb2R5LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBTYW5kd2ljaEJvZHlQcm9wcyB9IGZyb20gXCIuLy10eXBlc1wiO1xuaW1wb3J0IHsgdXNlU2FuZHdpY2hDb250ZXh0IH0gZnJvbSBcIi4vdXNlU2FuZHdpY2hDb250ZXh0XCI7XG5cbmNvbnN0IFN0eWxlZEJvZHkgPSBzdHlsZWQuZGl2KHtcbiAgZmxleDogXCIxIDEgYXV0b1wiLFxuICBtaW5IZWlnaHQ6IDAsXG4gIG92ZXJmbG93WTogXCJhdXRvXCIsXG4gIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG59KTtcblxuLy8gYG1pbi1oZWlnaHRgIGxldHMgc2hvcnQgY29udGVudCBmaWxsIHRoZSBhcmVhIHdpdGhvdXRcbi8vIGNsaXBwaW5nIHRhbGxlciBjb250ZW50LiBGbGV4IGNvbHVtbiBzbyBjaGlsZHJlbiBjYW4gZmlsbCBpdCB2aWEgYGZsZXhgLlxuY29uc3QgU3R5bGVkQm9keUNvbnRlbnQgPSBzdHlsZWQuZGl2KHtcbiAgbWluSGVpZ2h0OiBcIjEwMCVcIixcbiAgZGlzcGxheTogXCJmbGV4XCIsXG4gIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG59KTtcblxuLy8gcHggdG9sZXJhbmNlIOKAlCBzdWItcGl4ZWwgcm91bmRpbmcgc2hvdWxkbid0IGxlYXZlIGEgZGl2aWRlciBzdHVjayBvbi5cbmNvbnN0IEVER0VfVEhSRVNIT0xEID0gMTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNhbmR3aWNoQm9keSh7XG4gIGNoaWxkcmVuLFxuICBvblNjcm9sbCxcbiAgc2Nyb2xsUmVmLFxufTogU2FuZHdpY2hCb2R5UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7IHNldEVkZ2VzIH0gPSB1c2VTYW5kd2ljaENvbnRleHQoKTtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGNvbnRlbnRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcblxuICAvLyBLZWVwIHRoZSBpbnRlcm5hbCByZWYgKHVzZWQgZm9yIG1lYXN1cmluZykgd2hpbGUgYWxzbyBmb3J3YXJkaW5nIHRoZSBub2RlIHRvXG4gIC8vIHRoZSBjb25zdW1lcidzIGBzY3JvbGxSZWZgIOKAlCBhIGNhbGxiYWNrIHJlZiBoYW5kbGVzIGJvdGggZm9ybXMuXG4gIGNvbnN0IHNldENvbnRhaW5lclJlZiA9IHVzZUNhbGxiYWNrKFxuICAgIChub2RlOiBIVE1MRGl2RWxlbWVudCB8IG51bGwpID0+IHtcbiAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgIGlmICh0eXBlb2Ygc2Nyb2xsUmVmID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgc2Nyb2xsUmVmKG5vZGUpO1xuICAgICAgfSBlbHNlIGlmIChzY3JvbGxSZWYpIHtcbiAgICAgICAgY29uc3QgbXV0YWJsZVJlZiA9XG4gICAgICAgICAgc2Nyb2xsUmVmIGFzIFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPjtcbiAgICAgICAgbXV0YWJsZVJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzY3JvbGxSZWZdXG4gICk7XG5cbiAgY29uc3QgcmVjYWxjdWxhdGVFZGdlcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBlbCA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgIGlmICghZWwpIHJldHVybjtcbiAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGVsO1xuICAgIHNldEVkZ2VzKHtcbiAgICAgIGF0VG9wOiBzY3JvbGxUb3AgPD0gRURHRV9USFJFU0hPTEQsXG4gICAgICBhdEJvdHRvbTogc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0ID49IHNjcm9sbEhlaWdodCAtIEVER0VfVEhSRVNIT0xELFxuICAgIH0pO1xuICB9LCBbc2V0RWRnZXNdKTtcblxuICBjb25zdCBoYW5kbGVTY3JvbGwgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0LlVJRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICByZWNhbGN1bGF0ZUVkZ2VzKCk7XG4gICAgICBvblNjcm9sbD8uKGV2ZW50KTtcbiAgICB9LFxuICAgIFtyZWNhbGN1bGF0ZUVkZ2VzLCBvblNjcm9sbF1cbiAgKTtcblxuICAvLyBNZWFzdXJlIG9uIG1vdW50IG9ubHkg4oCUIHRoZSBSZXNpemVPYnNlcnZlciArIHNjcm9sbCBoYW5kbGVyIGJlbG93IGNvdmVyIHRoZVxuICAvLyByZXN0LiBEbyBOT1QgZHJvcCB0aGUgZGVwczogYSBkZXAtbGVzcyBlZmZlY3QgcmUtbWVhc3VyZXMgZXZlcnkgcmVuZGVyIGFuZCBjYW5cbiAgLy8gaW5maW5pdGUtbG9vcCB3aGVuIHRoZSBoZWlnaHQgaXMgYnJpZWZseSB1bnN0YWJsZSAoc2V0RWRnZXMg4oaSIHJlZmxvdyDihpIgcmVwZWF0KS5cbiAgdXNlTGF5b3V0RWZmZWN0KHJlY2FsY3VsYXRlRWRnZXMsIFtyZWNhbGN1bGF0ZUVkZ2VzXSk7XG5cbiAgLy8gUmUtbWVhc3VyZSBvbiBzaXplIGNoYW5nZXMgdGhhdCBET04nVCB0cmlnZ2VyIGEgUmVhY3QgcmVuZGVyOiB0aGUgY29udGVudFxuICAvLyBncm93aW5nL3Nocmlua2luZyAoaW1hZ2UgbG9hZCwgYWNjb3JkaW9uIGV4cGFuZCwgdGV4dCByZWZsb3cpIGFuZCB0aGVcbiAgLy8gdmlld3BvcnQgaXRzZWxmIHJlc2l6aW5nLiBPYnNlcnZlIGJvdGggbm9kZXMuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBSZXNpemVPYnNlcnZlciA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiByZWNhbGN1bGF0ZUVkZ2VzKCkpO1xuICAgIGlmIChjb250YWluZXJSZWYuY3VycmVudCkgb2JzZXJ2ZXIub2JzZXJ2ZShjb250YWluZXJSZWYuY3VycmVudCk7XG4gICAgaWYgKGNvbnRlbnRSZWYuY3VycmVudCkgb2JzZXJ2ZXIub2JzZXJ2ZShjb250ZW50UmVmLmN1cnJlbnQpO1xuICAgIHJldHVybiAoKSA9PiBvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gIH0sIFtyZWNhbGN1bGF0ZUVkZ2VzXSk7XG5cbiAgcmV0dXJuIChcbiAgICAvLyB0YWJJbmRleCBtYWtlcyB0aGUgc2Nyb2xsIHJlZ2lvbiBrZXlib2FyZC1hY2Nlc3NpYmxlIChhMTF5OiBzY3JvbGxhYmxlXG4gICAgLy8gcmVnaW9ucyBtdXN0IGJlIGZvY3VzYWJsZSBzbyBrZXlib2FyZCB1c2VycyBjYW4gc2Nyb2xsIHRoZW0pLlxuICAgIDxTdHlsZWRCb2R5IHJlZj17c2V0Q29udGFpbmVyUmVmfSBvblNjcm9sbD17aGFuZGxlU2Nyb2xsfSB0YWJJbmRleD17MH0+XG4gICAgICA8U3R5bGVkQm9keUNvbnRlbnQgcmVmPXtjb250ZW50UmVmfT57Y2hpbGRyZW59PC9TdHlsZWRCb2R5Q29udGVudD5cbiAgICA8L1N0eWxlZEJvZHk+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS21CIn0= */"),StyledBodyContent=(0,_styled.default)("div",{target:"efd126s1",label:"StyledBodyContent"})({minHeight:"100%",display:"flex",flexDirection:"column"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvU2FuZHdpY2gvU2FuZHdpY2hCb2R5LnRzeCIsInNvdXJjZXMiOlsic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvU2FuZHdpY2gvU2FuZHdpY2hCb2R5LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBTYW5kd2ljaEJvZHlQcm9wcyB9IGZyb20gXCIuLy10eXBlc1wiO1xuaW1wb3J0IHsgdXNlU2FuZHdpY2hDb250ZXh0IH0gZnJvbSBcIi4vdXNlU2FuZHdpY2hDb250ZXh0XCI7XG5cbmNvbnN0IFN0eWxlZEJvZHkgPSBzdHlsZWQuZGl2KHtcbiAgZmxleDogXCIxIDEgYXV0b1wiLFxuICBtaW5IZWlnaHQ6IDAsXG4gIG92ZXJmbG93WTogXCJhdXRvXCIsXG4gIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG59KTtcblxuLy8gYG1pbi1oZWlnaHRgIGxldHMgc2hvcnQgY29udGVudCBmaWxsIHRoZSBhcmVhIHdpdGhvdXRcbi8vIGNsaXBwaW5nIHRhbGxlciBjb250ZW50LiBGbGV4IGNvbHVtbiBzbyBjaGlsZHJlbiBjYW4gZmlsbCBpdCB2aWEgYGZsZXhgLlxuY29uc3QgU3R5bGVkQm9keUNvbnRlbnQgPSBzdHlsZWQuZGl2KHtcbiAgbWluSGVpZ2h0OiBcIjEwMCVcIixcbiAgZGlzcGxheTogXCJmbGV4XCIsXG4gIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG59KTtcblxuLy8gcHggdG9sZXJhbmNlIOKAlCBzdWItcGl4ZWwgcm91bmRpbmcgc2hvdWxkbid0IGxlYXZlIGEgZGl2aWRlciBzdHVjayBvbi5cbmNvbnN0IEVER0VfVEhSRVNIT0xEID0gMTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNhbmR3aWNoQm9keSh7XG4gIGNoaWxkcmVuLFxuICBvblNjcm9sbCxcbiAgc2Nyb2xsUmVmLFxufTogU2FuZHdpY2hCb2R5UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7IHNldEVkZ2VzIH0gPSB1c2VTYW5kd2ljaENvbnRleHQoKTtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGNvbnRlbnRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcblxuICAvLyBLZWVwIHRoZSBpbnRlcm5hbCByZWYgKHVzZWQgZm9yIG1lYXN1cmluZykgd2hpbGUgYWxzbyBmb3J3YXJkaW5nIHRoZSBub2RlIHRvXG4gIC8vIHRoZSBjb25zdW1lcidzIGBzY3JvbGxSZWZgIOKAlCBhIGNhbGxiYWNrIHJlZiBoYW5kbGVzIGJvdGggZm9ybXMuXG4gIGNvbnN0IHNldENvbnRhaW5lclJlZiA9IHVzZUNhbGxiYWNrKFxuICAgIChub2RlOiBIVE1MRGl2RWxlbWVudCB8IG51bGwpID0+IHtcbiAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgIGlmICh0eXBlb2Ygc2Nyb2xsUmVmID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgc2Nyb2xsUmVmKG5vZGUpO1xuICAgICAgfSBlbHNlIGlmIChzY3JvbGxSZWYpIHtcbiAgICAgICAgY29uc3QgbXV0YWJsZVJlZiA9XG4gICAgICAgICAgc2Nyb2xsUmVmIGFzIFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPjtcbiAgICAgICAgbXV0YWJsZVJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzY3JvbGxSZWZdXG4gICk7XG5cbiAgY29uc3QgcmVjYWxjdWxhdGVFZGdlcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBlbCA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgIGlmICghZWwpIHJldHVybjtcbiAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGVsO1xuICAgIHNldEVkZ2VzKHtcbiAgICAgIGF0VG9wOiBzY3JvbGxUb3AgPD0gRURHRV9USFJFU0hPTEQsXG4gICAgICBhdEJvdHRvbTogc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0ID49IHNjcm9sbEhlaWdodCAtIEVER0VfVEhSRVNIT0xELFxuICAgIH0pO1xuICB9LCBbc2V0RWRnZXNdKTtcblxuICBjb25zdCBoYW5kbGVTY3JvbGwgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0LlVJRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICByZWNhbGN1bGF0ZUVkZ2VzKCk7XG4gICAgICBvblNjcm9sbD8uKGV2ZW50KTtcbiAgICB9LFxuICAgIFtyZWNhbGN1bGF0ZUVkZ2VzLCBvblNjcm9sbF1cbiAgKTtcblxuICAvLyBNZWFzdXJlIG9uIG1vdW50IG9ubHkg4oCUIHRoZSBSZXNpemVPYnNlcnZlciArIHNjcm9sbCBoYW5kbGVyIGJlbG93IGNvdmVyIHRoZVxuICAvLyByZXN0LiBEbyBOT1QgZHJvcCB0aGUgZGVwczogYSBkZXAtbGVzcyBlZmZlY3QgcmUtbWVhc3VyZXMgZXZlcnkgcmVuZGVyIGFuZCBjYW5cbiAgLy8gaW5maW5pdGUtbG9vcCB3aGVuIHRoZSBoZWlnaHQgaXMgYnJpZWZseSB1bnN0YWJsZSAoc2V0RWRnZXMg4oaSIHJlZmxvdyDihpIgcmVwZWF0KS5cbiAgdXNlTGF5b3V0RWZmZWN0KHJlY2FsY3VsYXRlRWRnZXMsIFtyZWNhbGN1bGF0ZUVkZ2VzXSk7XG5cbiAgLy8gUmUtbWVhc3VyZSBvbiBzaXplIGNoYW5nZXMgdGhhdCBET04nVCB0cmlnZ2VyIGEgUmVhY3QgcmVuZGVyOiB0aGUgY29udGVudFxuICAvLyBncm93aW5nL3Nocmlua2luZyAoaW1hZ2UgbG9hZCwgYWNjb3JkaW9uIGV4cGFuZCwgdGV4dCByZWZsb3cpIGFuZCB0aGVcbiAgLy8gdmlld3BvcnQgaXRzZWxmIHJlc2l6aW5nLiBPYnNlcnZlIGJvdGggbm9kZXMuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBSZXNpemVPYnNlcnZlciA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiByZWNhbGN1bGF0ZUVkZ2VzKCkpO1xuICAgIGlmIChjb250YWluZXJSZWYuY3VycmVudCkgb2JzZXJ2ZXIub2JzZXJ2ZShjb250YWluZXJSZWYuY3VycmVudCk7XG4gICAgaWYgKGNvbnRlbnRSZWYuY3VycmVudCkgb2JzZXJ2ZXIub2JzZXJ2ZShjb250ZW50UmVmLmN1cnJlbnQpO1xuICAgIHJldHVybiAoKSA9PiBvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gIH0sIFtyZWNhbGN1bGF0ZUVkZ2VzXSk7XG5cbiAgcmV0dXJuIChcbiAgICAvLyB0YWJJbmRleCBtYWtlcyB0aGUgc2Nyb2xsIHJlZ2lvbiBrZXlib2FyZC1hY2Nlc3NpYmxlIChhMTF5OiBzY3JvbGxhYmxlXG4gICAgLy8gcmVnaW9ucyBtdXN0IGJlIGZvY3VzYWJsZSBzbyBrZXlib2FyZCB1c2VycyBjYW4gc2Nyb2xsIHRoZW0pLlxuICAgIDxTdHlsZWRCb2R5IHJlZj17c2V0Q29udGFpbmVyUmVmfSBvblNjcm9sbD17aGFuZGxlU2Nyb2xsfSB0YWJJbmRleD17MH0+XG4gICAgICA8U3R5bGVkQm9keUNvbnRlbnQgcmVmPXtjb250ZW50UmVmfT57Y2hpbGRyZW59PC9TdHlsZWRCb2R5Q29udGVudD5cbiAgICA8L1N0eWxlZEJvZHk+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYzBCIn0= */");function SandwichBody({children,onScroll,scrollRef}){let{setEdges}=(0,_useSandwichContext.useSandwichContext)(),containerRef=(0,_react.useRef)(null),contentRef=(0,_react.useRef)(null),setContainerRef=(0,_react.useCallback)(node=>{containerRef.current=node,"function"==typeof scrollRef?scrollRef(node):scrollRef&&(scrollRef.current=node)},[scrollRef]),recalculateEdges=(0,_react.useCallback)(()=>{let el=containerRef.current;if(!el)return;let{scrollTop,scrollHeight,clientHeight}=el;setEdges({atTop:scrollTop<=1,atBottom:scrollTop+clientHeight>=scrollHeight-1})},[setEdges]),handleScroll=(0,_react.useCallback)(event=>{recalculateEdges(),onScroll?.(event)},[recalculateEdges,onScroll]);return(0,_react.useLayoutEffect)(recalculateEdges,[recalculateEdges]),(0,_react.useEffect)(()=>{if("undefined"==typeof ResizeObserver)return;let observer=new ResizeObserver(()=>recalculateEdges());return containerRef.current&&observer.observe(containerRef.current),contentRef.current&&observer.observe(contentRef.current),()=>observer.disconnect()},[recalculateEdges]),_react.default.createElement(StyledBody,{ref:setContainerRef,onScroll:handleScroll,tabIndex:0},_react.default.createElement(StyledBodyContent,{ref:contentRef},children))}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Content",{enumerable:!0,get:function(){return Content}});const _constants=require("./-constants"),_registry=require("./registry"),Content=({children,minSize,maxSize})=>((0,_registry.useDeclarePanel)(_constants.Slot.content,{minSize,maxSize,collapsible:!1}),(0,_registry.useLayoutPortal)(_constants.Slot.content,children));
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
|
-
import type { SidePanelProps } from "./-types";
|
|
3
|
-
/**
|
|
4
|
-
* Left side panel. Declares the `leftPanel` slot and portals its content into
|
|
5
|
-
* the Group's host while visible. Renders in-flow (a resizable column) - the
|
|
6
|
-
* offcanvas overlay / mobile sheet is deferred.
|
|
7
|
-
*/
|
|
8
|
-
export declare const LeftPanel: React.FC<SidePanelProps>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"LeftPanel",{enumerable:!0,get:function(){return LeftPanel}});const _constants=require("./-constants"),_registry=require("./registry"),_useLayout=require("./useLayout"),LeftPanel=({children,defaultSize,minSize,maxSize,collapsible=!0,onVisibleChange})=>{let{isVisible}=(0,_useLayout.useLayout)()[_constants.Slot.leftPanel];return(0,_registry.useDeclarePanel)(_constants.Slot.leftPanel,{defaultSize,minSize,maxSize,collapsible}),(0,_registry.useVisibleChange)(isVisible,onVisibleChange),(0,_registry.useLayoutPortal)(_constants.Slot.leftPanel,isVisible?children:null)};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import type { RightPanelProps } from "./-types";
|
|
3
|
-
/**
|
|
4
|
-
* Right side panel. Declares the `rightPanel` slot and portals its content into
|
|
5
|
-
* the Group's host while visible. Renders in-flow (a resizable column) - the
|
|
6
|
-
* offcanvas overlay / mobile sheet is deferred. Content is wrapped in a slot
|
|
7
|
-
* that tracks the `--ds-layout-subnav-offset` var.
|
|
8
|
-
*/
|
|
9
|
-
export declare const RightPanel: React.FC<RightPanelProps>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"RightPanel",{enumerable:!0,get:function(){return RightPanel}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_constants=require("./-constants"),_registry=require("./registry"),_useLayout=require("./useLayout"),_RightPanelContainer=require("./RightPanelContainer"),StyledRightPanelSlot=(0,_styled.default)("div",{target:"e1u30w3d0",label:"StyledRightPanelSlot"})(({theme})=>({position:"absolute",left:0,right:0,bottom:0,top:`var(${_constants.SUBNAV_OFFSET_VAR}, 0px)`,overflow:"hidden",transition:`top ${theme.variables.animation.navSlide.open.duration} ${theme.variables.animation.navSlide.open.timingFunction}`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTGF5b3V0L1JpZ2h0UGFuZWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9MYXlvdXQvUmlnaHRQYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBTbG90LCBTVUJOQVZfT0ZGU0VUX1ZBUiB9IGZyb20gXCIuLy1jb25zdGFudHNcIjtcbmltcG9ydCB7IHVzZURlY2xhcmVQYW5lbCwgdXNlTGF5b3V0UG9ydGFsLCB1c2VWaXNpYmxlQ2hhbmdlIH0gZnJvbSBcIi4vcmVnaXN0cnlcIjtcbmltcG9ydCB7IHVzZUxheW91dCB9IGZyb20gXCIuL3VzZUxheW91dFwiO1xuaW1wb3J0IHsgUmlnaHRQYW5lbENvbnRhaW5lciB9IGZyb20gXCIuL1JpZ2h0UGFuZWxDb250YWluZXJcIjtcbmltcG9ydCB0eXBlIHsgUmlnaHRQYW5lbFByb3BzIH0gZnJvbSBcIi4vLXR5cGVzXCI7XG5cbi8vIEJ1aWx0LWluIHNsb3Q6IG9mZnNldHMgdGhlIHBhbmVsIGNvbnRlbnQgYnkgdGhlIHN1Ym5hdi1vZmZzZXQgdmFyICgwIHdoZW5cbi8vIHVuc2V0KSwgdHJhbnNpdGlvbmVkIHdpdGggdGhlIHRoZW1lJ3MgYG5hdlNsaWRlYCB0aW1pbmcg4oCUIHNvIHRoZSByaWdodCBwYW5lbFxuLy8gdHJhY2tzIGEgc3RpY2t5IHN1Ym5hdiB3aXRoIG5vIHdpcmluZyBvbiB0aGUgY29uc3VtZXIncyBzaWRlLlxuY29uc3QgU3R5bGVkUmlnaHRQYW5lbFNsb3QgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gIGxlZnQ6IDAsXG4gIHJpZ2h0OiAwLFxuICBib3R0b206IDAsXG4gIHRvcDogYHZhcigke1NVQk5BVl9PRkZTRVRfVkFSfSwgMHB4KWAsXG4gIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICB0cmFuc2l0aW9uOiBgdG9wICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5uYXZTbGlkZS5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubmF2U2xpZGUub3Blbi50aW1pbmdGdW5jdGlvbn1gLFxufSkpO1xuXG4vKipcbiAqIFJpZ2h0IHNpZGUgcGFuZWwuIERlY2xhcmVzIHRoZSBgcmlnaHRQYW5lbGAgc2xvdCBhbmQgcG9ydGFscyBpdHMgY29udGVudCBpbnRvXG4gKiB0aGUgR3JvdXAncyBob3N0IHdoaWxlIHZpc2libGUuIFJlbmRlcnMgaW4tZmxvdyAoYSByZXNpemFibGUgY29sdW1uKSAtIHRoZVxuICogb2ZmY2FudmFzIG92ZXJsYXkgLyBtb2JpbGUgc2hlZXQgaXMgZGVmZXJyZWQuIENvbnRlbnQgaXMgd3JhcHBlZCBpbiBhIHNsb3RcbiAqIHRoYXQgdHJhY2tzIHRoZSBgLS1kcy1sYXlvdXQtc3VibmF2LW9mZnNldGAgdmFyLlxuICovXG5leHBvcnQgY29uc3QgUmlnaHRQYW5lbDogUmVhY3QuRkM8UmlnaHRQYW5lbFByb3BzPiA9ICh7XG4gIGNoaWxkcmVuLFxuICBkZWZhdWx0U2l6ZSA9IDM3OCxcbiAgbWluU2l6ZSA9IDMyOCxcbiAgbWF4U2l6ZSA9IFwiMzAlXCIsXG4gIGNvbGxhcHNpYmxlID0gZmFsc2UsXG4gIG9uVmlzaWJsZUNoYW5nZSxcbiAgdGl0bGUsXG4gIG9uQ2xvc2UsXG4gIHNsb3RQcm9wcyxcbiAgc2Nyb2xsQ29udGFpbmVyUmVmLFxuICBvblNjcm9sbCxcbn0pID0+IHtcbiAgY29uc3QgeyBpc1Zpc2libGUsIGhpZGUgfSA9IHVzZUxheW91dCgpW1Nsb3QucmlnaHRQYW5lbF07XG4gIHVzZURlY2xhcmVQYW5lbChTbG90LnJpZ2h0UGFuZWwsIHtcbiAgICBkZWZhdWx0U2l6ZSxcbiAgICBtaW5TaXplLFxuICAgIG1heFNpemUsXG4gICAgY29sbGFwc2libGUsXG4gIH0pO1xuICB1c2VWaXNpYmxlQ2hhbmdlKGlzVmlzaWJsZSwgb25WaXNpYmxlQ2hhbmdlKTtcbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKTogdm9pZCA9PiB7XG4gICAgaGlkZSgpO1xuICAgIG9uQ2xvc2U/LigpO1xuICB9O1xuICByZXR1cm4gdXNlTGF5b3V0UG9ydGFsKFxuICAgIFNsb3QucmlnaHRQYW5lbCxcbiAgICBpc1Zpc2libGUgPyAoXG4gICAgICA8U3R5bGVkUmlnaHRQYW5lbFNsb3Q+XG4gICAgICAgIDxSaWdodFBhbmVsQ29udGFpbmVyXG4gICAgICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgICAgIG9uQ2xvc2U9e2hhbmRsZUNsb3NlfVxuICAgICAgICAgIHNsb3RQcm9wcz17c2xvdFByb3BzfVxuICAgICAgICAgIHNjcm9sbENvbnRhaW5lclJlZj17c2Nyb2xsQ29udGFpbmVyUmVmfVxuICAgICAgICAgIG9uU2Nyb2xsPXtvblNjcm9sbH1cbiAgICAgICAgPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9SaWdodFBhbmVsQ29udGFpbmVyPlxuICAgICAgPC9TdHlsZWRSaWdodFBhbmVsU2xvdD5cbiAgICApIDogbnVsbFxuICApO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXNkIifQ== */"),RightPanel=({children,defaultSize=378,minSize=328,maxSize="30%",collapsible=!1,onVisibleChange,title,onClose,slotProps,scrollContainerRef,onScroll})=>{let{isVisible,hide}=(0,_useLayout.useLayout)()[_constants.Slot.rightPanel];return(0,_registry.useDeclarePanel)(_constants.Slot.rightPanel,{defaultSize,minSize,maxSize,collapsible}),(0,_registry.useVisibleChange)(isVisible,onVisibleChange),(0,_registry.useLayoutPortal)(_constants.Slot.rightPanel,isVisible?_react.default.createElement(StyledRightPanelSlot,null,_react.default.createElement(_RightPanelContainer.RightPanelContainer,{title:title,onClose:()=>{hide(),onClose?.()},slotProps:slotProps,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children)):null)};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import type { RightPanelContainerProps } from "./-types";
|
|
3
|
-
export declare function RightPanelContainer({ title, children, onClose, slotProps, scrollContainerRef, onScroll, "data-e2e-test-id": dataE2eTestId, }: RightPanelContainerProps): React.ReactElement;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"RightPanelContainer",{enumerable:!0,get:function(){return RightPanelContainer}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_Sandwich=require("../Internal/Sandwich/Sandwich"),_Icon=require("../Icon/Icon"),_Header=require("../Typography/Header/Header"),_Box=require("../Box/Box"),_Inline=require("../Inline/Inline"),_PictogramButton=require("../PictogramButton/PictogramButton"),_Container=require("../Container/Container"),CustomContainer=(0,_styled.default)(_Container.Container,{target:"ethbn2a0",label:"CustomContainer"})(({theme})=>({height:"100%",borderLeft:`1px solid ${theme.values.color.border.secondary.default}`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTGF5b3V0L1JpZ2h0UGFuZWxDb250YWluZXIudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9MYXlvdXQvUmlnaHRQYW5lbENvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBTYW5kd2ljaCB9IGZyb20gXCIuLi9JbnRlcm5hbC9TYW5kd2ljaC9TYW5kd2ljaFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCIuLi9JY29uL0ljb25cIjtcbmltcG9ydCB7IEg1IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvSGVhZGVyL0hlYWRlclwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uL0JveC9Cb3hcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgeyBQaWN0b2dyYW1CdXR0b24gfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB0eXBlIHsgUmlnaHRQYW5lbENvbnRhaW5lclByb3BzIH0gZnJvbSBcIi4vLXR5cGVzXCI7XG5cbmNvbnN0IEN1c3RvbUNvbnRhaW5lciA9IHN0eWxlZChDb250YWluZXIpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGhlaWdodDogXCIxMDAlXCIsXG4gIGJvcmRlckxlZnQ6IGAxcHggc29saWQgJHt0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnNlY29uZGFyeS5kZWZhdWx0fWAsXG59KSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBSaWdodFBhbmVsQ29udGFpbmVyKHtcbiAgdGl0bGUsXG4gIGNoaWxkcmVuLFxuICBvbkNsb3NlLFxuICBzbG90UHJvcHMsXG4gIHNjcm9sbENvbnRhaW5lclJlZixcbiAgb25TY3JvbGwsXG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxufTogUmlnaHRQYW5lbENvbnRhaW5lclByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgeyBpc1Zpc2libGU6IGlzVGl0bGVWaXNpYmxlID0gdHJ1ZSB9ID0gdGl0bGU7XG4gIHJldHVybiAoXG4gICAgPEN1c3RvbUNvbnRhaW5lclxuICAgICAgZWxldmF0aW9uPXswfVxuICAgICAgc3F1YXJlQ29ybmVyc1xuICAgICAgZGF0YS1kcy1pZD1cIlJpZ2h0UGFuZWxDb250YWluZXJcIlxuICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICA+XG4gICAgICA8U2FuZHdpY2ggcm9sZT1cInJlZ2lvblwiIGFyaWEtbGFiZWw9e3RpdGxlLmxhYmVsfT5cbiAgICAgICAgPFNhbmR3aWNoLkhlYWRlciBzaG93U2VwYXJhdG9yPVwiYXV0b1wiPlxuICAgICAgICAgIDxCb3ggc3BhY2U9XCJzXCIgdlNwYWNlPVwieHNcIj5cbiAgICAgICAgICAgIDxJbmxpbmVcbiAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiXG4gICAgICAgICAgICAgIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgbm9XcmFwXG4gICAgICAgICAgICAgIGZ1bGxXaWR0aFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8SW5saW5lIHNwYWNlPVwieHNcIiB2QWxpZ25JdGVtcz1cImNlbnRlclwiIG5vV3JhcD5cbiAgICAgICAgICAgICAgICB7c2xvdFByb3BzLmhlYWRlcj8ubGVmdFNsb3R9XG4gICAgICAgICAgICAgICAge2lzVGl0bGVWaXNpYmxlICYmIChcbiAgICAgICAgICAgICAgICAgIDxJbmxpbmUgc3BhY2U9XCJ4c1wiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCIgbm9XcmFwPlxuICAgICAgICAgICAgICAgICAgICB7dGl0bGUuaWNvbiAmJiA8SWNvbiBzaXplPVwic1wiIHsuLi50aXRsZS5pY29ufSAvPn1cbiAgICAgICAgICAgICAgICAgICAgPEg1Pnt0aXRsZS5sYWJlbH08L0g1PlxuICAgICAgICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgICAgIDxJbmxpbmUgc3BhY2U9XCJ4eHNcIiB2QWxpZ25JdGVtcz1cImNlbnRlclwiIG5vV3JhcD5cbiAgICAgICAgICAgICAgICB7c2xvdFByb3BzLmhlYWRlcj8ucmlnaHRTbG90fVxuICAgICAgICAgICAgICAgIDxQaWN0b2dyYW1CdXR0b25cbiAgICAgICAgICAgICAgICAgIGljb249XCJ4XCJcbiAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtzbG90UHJvcHMuY2xvc2VCdXR0b25bXCJhcmlhLWxhYmVsXCJdfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbG9zZT8uKCl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgPC9TYW5kd2ljaC5IZWFkZXI+XG4gICAgICAgIDxTYW5kd2ljaC5Cb2R5IHNjcm9sbFJlZj17c2Nyb2xsQ29udGFpbmVyUmVmfSBvblNjcm9sbD17b25TY3JvbGx9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TYW5kd2ljaC5Cb2R5PlxuICAgICAgICB7c2xvdFByb3BzLmZvb3RlciAmJiAoXG4gICAgICAgICAgPFNhbmR3aWNoLkZvb3RlciBzaG93U2VwYXJhdG9yPVwibmV2ZXJcIj5cbiAgICAgICAgICAgIHtzbG90UHJvcHMuZm9vdGVyfVxuICAgICAgICAgIDwvU2FuZHdpY2guRm9vdGVyPlxuICAgICAgICApfVxuICAgICAgPC9TYW5kd2ljaD5cbiAgICA8L0N1c3RvbUNvbnRhaW5lcj5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXd0IifQ== */");function RightPanelContainer({title,children,onClose,slotProps,scrollContainerRef,onScroll,"data-e2e-test-id":dataE2eTestId}){let{isVisible:isTitleVisible=!0}=title;return _react.default.createElement(CustomContainer,{elevation:0,squareCorners:!0,"data-ds-id":"RightPanelContainer","data-e2e-test-id":dataE2eTestId},_react.default.createElement(_Sandwich.Sandwich,{role:"region","aria-label":title.label},_react.default.createElement(_Sandwich.Sandwich.Header,{showSeparator:"auto"},_react.default.createElement(_Box.Box,{space:"s",vSpace:"xs"},_react.default.createElement(_Inline.Inline,{alignItems:"spaceBetween",vAlignItems:"center",noWrap:!0,fullWidth:!0},_react.default.createElement(_Inline.Inline,{space:"xs",vAlignItems:"center",noWrap:!0},slotProps.header?.leftSlot,isTitleVisible&&_react.default.createElement(_Inline.Inline,{space:"xs",vAlignItems:"center",noWrap:!0},title.icon&&_react.default.createElement(_Icon.Icon,{size:"s",...title.icon}),_react.default.createElement(_Header.H5,null,title.label))),_react.default.createElement(_Inline.Inline,{space:"xxs",vAlignItems:"center",noWrap:!0},slotProps.header?.rightSlot,_react.default.createElement(_PictogramButton.PictogramButton,{icon:"x",size:"s",variant:"tertiary","aria-label":slotProps.closeButton["aria-label"],onClick:()=>onClose?.()}))))),_react.default.createElement(_Sandwich.Sandwich.Body,{scrollRef:scrollContainerRef,onScroll:onScroll},children),slotProps.footer&&_react.default.createElement(_Sandwich.Sandwich.Footer,{showSeparator:"never"},slotProps.footer)))}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Split",{enumerable:!0,get:function(){return Split}});const _constants=require("./-constants"),_registry=require("./registry"),_useLayout=require("./useLayout"),Split=({children,defaultSize,minSize,maxSize})=>{let{isVisible}=(0,_useLayout.useLayout)()[_constants.Slot.splitview];return(0,_registry.useDeclarePanel)(_constants.Slot.splitview,{defaultSize,minSize,maxSize,collapsible:!0}),(0,_registry.useLayoutPortal)(_constants.Slot.splitview,isVisible?children:null)};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Track portal-container DOM elements by key, with stable per-key ref callbacks.
|
|
3
|
-
* Used by `Layout` to capture each panel's host `<div>` (the `createPortal`
|
|
4
|
-
* container) so markers can portal their content into it.
|
|
5
|
-
*
|
|
6
|
-
* Given a fixed list of keys, returns `[elements, refs]`:
|
|
7
|
-
* - `refs[key]` - a ref callback to attach to an element; captures it into
|
|
8
|
-
* `elements[key]` (and clears it to `null` on unmount).
|
|
9
|
-
* - `elements[key]` - the currently-attached element (undefined until set).
|
|
10
|
-
*
|
|
11
|
-
* The callbacks are **stable** across renders, so React invokes them only on
|
|
12
|
-
* mount/unmount - not detach/attach every render. (An inline `ref={el => …}`
|
|
13
|
-
* that calls setState would get a new identity each render and loop.)
|
|
14
|
-
*
|
|
15
|
-
* Generic over the key type, so it works for any fixed key set.
|
|
16
|
-
*/
|
|
17
|
-
export declare function usePortalContainerRefs<K extends string>(keys: readonly K[]): [
|
|
18
|
-
Partial<Record<K, HTMLElement | null>>,
|
|
19
|
-
Record<K, (el: HTMLElement | null) => void>
|
|
20
|
-
];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"usePortalContainerRefs",{enumerable:!0,get:function(){return usePortalContainerRefs}});const _react=require("react");function usePortalContainerRefs(keys){let[elements,setElements]=(0,_react.useState)({});return[elements,(0,_react.useMemo)(()=>{let map={};return keys.forEach(key=>{map[key]=el=>setElements(prev=>prev[key]===el?prev:{...prev,[key]:el})}),map},[keys])]}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { type AnimationEventHandler } from "react";
|
|
2
|
-
export type DrawerAnimation = {
|
|
3
|
-
/** Whether the node should render at all (entering, present, or mid-exit). */
|
|
4
|
-
isMounted: boolean;
|
|
5
|
-
/** True while the exit animation is playing; drives enter vs exit keyframes. */
|
|
6
|
-
isLeaving: boolean;
|
|
7
|
-
/** Attach to the animated content node; tears it down once its exit animation ends. */
|
|
8
|
-
onAnimationEnd: AnimationEventHandler<HTMLElement>;
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* Manages the drawer's presence across the enter/exit lifecycle. Styling
|
|
12
|
-
* (keyframes, timing) lives in the component; this hook only decides whether
|
|
13
|
-
* the node is mounted and which direction it is animating.
|
|
14
|
-
*
|
|
15
|
-
* The enter animation is pure CSS that plays on mount, so it needs no state.
|
|
16
|
-
* The exit does: the consumer drives `isVisible`, and when it flips to `false`
|
|
17
|
-
* the node stays mounted (`isLeaving === true`, tracked internally) until the
|
|
18
|
-
* exit animation ends, then `onUnmount` fires. A `useLayoutEffect` flips into
|
|
19
|
-
* the closing state before paint so the node isn't dropped for a frame.
|
|
20
|
-
* Reduced motion tears down immediately, since with no animation there is no
|
|
21
|
-
* `animationend` to wait for.
|
|
22
|
-
*/
|
|
23
|
-
export declare function useDrawerAnimation({ isVisible, onUnmount, }: {
|
|
24
|
-
isVisible: boolean;
|
|
25
|
-
onUnmount?: () => void;
|
|
26
|
-
}): DrawerAnimation;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useCallback,useLayoutEffect,useRef,useState}from"react";import{useWindow}from"../../../shared/useWindow";export function useDrawerAnimation({isVisible,onUnmount}){let window=useWindow(),[isClosing,setIsClosing]=useState(!1),wasVisible=useRef(isVisible),isLeaving=isClosing&&!isVisible;useLayoutEffect(()=>{if(isVisible)setIsClosing(!1);else wasVisible.current&&(window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches?onUnmount?.():setIsClosing(!0));wasVisible.current=isVisible},[isVisible,onUnmount,window]);let onAnimationEnd=useCallback(event=>{event.target===event.currentTarget&&isLeaving&&(setIsClosing(!1),onUnmount?.())},[isLeaving,onUnmount]);return{isMounted:isVisible||isClosing,isLeaving,onAnimationEnd}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import React,{useCallback,useEffect,useLayoutEffect,useRef}from"react";import styled from"@emotion/styled";import{useSandwichContext}from"./useSandwichContext";let StyledBody=styled("div",{target:"efd126s0",label:"StyledBody"})({flex:"1 1 auto",minHeight:0,overflowY:"auto",position:"relative"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvU2FuZHdpY2gvU2FuZHdpY2hCb2R5LnRzeCIsInNvdXJjZXMiOlsic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvU2FuZHdpY2gvU2FuZHdpY2hCb2R5LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBTYW5kd2ljaEJvZHlQcm9wcyB9IGZyb20gXCIuLy10eXBlc1wiO1xuaW1wb3J0IHsgdXNlU2FuZHdpY2hDb250ZXh0IH0gZnJvbSBcIi4vdXNlU2FuZHdpY2hDb250ZXh0XCI7XG5cbmNvbnN0IFN0eWxlZEJvZHkgPSBzdHlsZWQuZGl2KHtcbiAgZmxleDogXCIxIDEgYXV0b1wiLFxuICBtaW5IZWlnaHQ6IDAsXG4gIG92ZXJmbG93WTogXCJhdXRvXCIsXG4gIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG59KTtcblxuLy8gYG1pbi1oZWlnaHRgIGxldHMgc2hvcnQgY29udGVudCBmaWxsIHRoZSBhcmVhIHdpdGhvdXRcbi8vIGNsaXBwaW5nIHRhbGxlciBjb250ZW50LiBGbGV4IGNvbHVtbiBzbyBjaGlsZHJlbiBjYW4gZmlsbCBpdCB2aWEgYGZsZXhgLlxuY29uc3QgU3R5bGVkQm9keUNvbnRlbnQgPSBzdHlsZWQuZGl2KHtcbiAgbWluSGVpZ2h0OiBcIjEwMCVcIixcbiAgZGlzcGxheTogXCJmbGV4XCIsXG4gIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG59KTtcblxuLy8gcHggdG9sZXJhbmNlIOKAlCBzdWItcGl4ZWwgcm91bmRpbmcgc2hvdWxkbid0IGxlYXZlIGEgZGl2aWRlciBzdHVjayBvbi5cbmNvbnN0IEVER0VfVEhSRVNIT0xEID0gMTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNhbmR3aWNoQm9keSh7XG4gIGNoaWxkcmVuLFxuICBvblNjcm9sbCxcbiAgc2Nyb2xsUmVmLFxufTogU2FuZHdpY2hCb2R5UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7IHNldEVkZ2VzIH0gPSB1c2VTYW5kd2ljaENvbnRleHQoKTtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGNvbnRlbnRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcblxuICAvLyBLZWVwIHRoZSBpbnRlcm5hbCByZWYgKHVzZWQgZm9yIG1lYXN1cmluZykgd2hpbGUgYWxzbyBmb3J3YXJkaW5nIHRoZSBub2RlIHRvXG4gIC8vIHRoZSBjb25zdW1lcidzIGBzY3JvbGxSZWZgIOKAlCBhIGNhbGxiYWNrIHJlZiBoYW5kbGVzIGJvdGggZm9ybXMuXG4gIGNvbnN0IHNldENvbnRhaW5lclJlZiA9IHVzZUNhbGxiYWNrKFxuICAgIChub2RlOiBIVE1MRGl2RWxlbWVudCB8IG51bGwpID0+IHtcbiAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgIGlmICh0eXBlb2Ygc2Nyb2xsUmVmID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgc2Nyb2xsUmVmKG5vZGUpO1xuICAgICAgfSBlbHNlIGlmIChzY3JvbGxSZWYpIHtcbiAgICAgICAgY29uc3QgbXV0YWJsZVJlZiA9XG4gICAgICAgICAgc2Nyb2xsUmVmIGFzIFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPjtcbiAgICAgICAgbXV0YWJsZVJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzY3JvbGxSZWZdXG4gICk7XG5cbiAgY29uc3QgcmVjYWxjdWxhdGVFZGdlcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBlbCA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgIGlmICghZWwpIHJldHVybjtcbiAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGVsO1xuICAgIHNldEVkZ2VzKHtcbiAgICAgIGF0VG9wOiBzY3JvbGxUb3AgPD0gRURHRV9USFJFU0hPTEQsXG4gICAgICBhdEJvdHRvbTogc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0ID49IHNjcm9sbEhlaWdodCAtIEVER0VfVEhSRVNIT0xELFxuICAgIH0pO1xuICB9LCBbc2V0RWRnZXNdKTtcblxuICBjb25zdCBoYW5kbGVTY3JvbGwgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0LlVJRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICByZWNhbGN1bGF0ZUVkZ2VzKCk7XG4gICAgICBvblNjcm9sbD8uKGV2ZW50KTtcbiAgICB9LFxuICAgIFtyZWNhbGN1bGF0ZUVkZ2VzLCBvblNjcm9sbF1cbiAgKTtcblxuICAvLyBNZWFzdXJlIG9uIG1vdW50IG9ubHkg4oCUIHRoZSBSZXNpemVPYnNlcnZlciArIHNjcm9sbCBoYW5kbGVyIGJlbG93IGNvdmVyIHRoZVxuICAvLyByZXN0LiBEbyBOT1QgZHJvcCB0aGUgZGVwczogYSBkZXAtbGVzcyBlZmZlY3QgcmUtbWVhc3VyZXMgZXZlcnkgcmVuZGVyIGFuZCBjYW5cbiAgLy8gaW5maW5pdGUtbG9vcCB3aGVuIHRoZSBoZWlnaHQgaXMgYnJpZWZseSB1bnN0YWJsZSAoc2V0RWRnZXMg4oaSIHJlZmxvdyDihpIgcmVwZWF0KS5cbiAgdXNlTGF5b3V0RWZmZWN0KHJlY2FsY3VsYXRlRWRnZXMsIFtyZWNhbGN1bGF0ZUVkZ2VzXSk7XG5cbiAgLy8gUmUtbWVhc3VyZSBvbiBzaXplIGNoYW5nZXMgdGhhdCBET04nVCB0cmlnZ2VyIGEgUmVhY3QgcmVuZGVyOiB0aGUgY29udGVudFxuICAvLyBncm93aW5nL3Nocmlua2luZyAoaW1hZ2UgbG9hZCwgYWNjb3JkaW9uIGV4cGFuZCwgdGV4dCByZWZsb3cpIGFuZCB0aGVcbiAgLy8gdmlld3BvcnQgaXRzZWxmIHJlc2l6aW5nLiBPYnNlcnZlIGJvdGggbm9kZXMuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBSZXNpemVPYnNlcnZlciA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiByZWNhbGN1bGF0ZUVkZ2VzKCkpO1xuICAgIGlmIChjb250YWluZXJSZWYuY3VycmVudCkgb2JzZXJ2ZXIub2JzZXJ2ZShjb250YWluZXJSZWYuY3VycmVudCk7XG4gICAgaWYgKGNvbnRlbnRSZWYuY3VycmVudCkgb2JzZXJ2ZXIub2JzZXJ2ZShjb250ZW50UmVmLmN1cnJlbnQpO1xuICAgIHJldHVybiAoKSA9PiBvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gIH0sIFtyZWNhbGN1bGF0ZUVkZ2VzXSk7XG5cbiAgcmV0dXJuIChcbiAgICAvLyB0YWJJbmRleCBtYWtlcyB0aGUgc2Nyb2xsIHJlZ2lvbiBrZXlib2FyZC1hY2Nlc3NpYmxlIChhMTF5OiBzY3JvbGxhYmxlXG4gICAgLy8gcmVnaW9ucyBtdXN0IGJlIGZvY3VzYWJsZSBzbyBrZXlib2FyZCB1c2VycyBjYW4gc2Nyb2xsIHRoZW0pLlxuICAgIDxTdHlsZWRCb2R5IHJlZj17c2V0Q29udGFpbmVyUmVmfSBvblNjcm9sbD17aGFuZGxlU2Nyb2xsfSB0YWJJbmRleD17MH0+XG4gICAgICA8U3R5bGVkQm9keUNvbnRlbnQgcmVmPXtjb250ZW50UmVmfT57Y2hpbGRyZW59PC9TdHlsZWRCb2R5Q29udGVudD5cbiAgICA8L1N0eWxlZEJvZHk+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS21CIn0= */"),StyledBodyContent=styled("div",{target:"efd126s1",label:"StyledBodyContent"})({minHeight:"100%",display:"flex",flexDirection:"column"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvU2FuZHdpY2gvU2FuZHdpY2hCb2R5LnRzeCIsInNvdXJjZXMiOlsic3JjL2NvbXBvbmVudHMvSW50ZXJuYWwvU2FuZHdpY2gvU2FuZHdpY2hCb2R5LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBTYW5kd2ljaEJvZHlQcm9wcyB9IGZyb20gXCIuLy10eXBlc1wiO1xuaW1wb3J0IHsgdXNlU2FuZHdpY2hDb250ZXh0IH0gZnJvbSBcIi4vdXNlU2FuZHdpY2hDb250ZXh0XCI7XG5cbmNvbnN0IFN0eWxlZEJvZHkgPSBzdHlsZWQuZGl2KHtcbiAgZmxleDogXCIxIDEgYXV0b1wiLFxuICBtaW5IZWlnaHQ6IDAsXG4gIG92ZXJmbG93WTogXCJhdXRvXCIsXG4gIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG59KTtcblxuLy8gYG1pbi1oZWlnaHRgIGxldHMgc2hvcnQgY29udGVudCBmaWxsIHRoZSBhcmVhIHdpdGhvdXRcbi8vIGNsaXBwaW5nIHRhbGxlciBjb250ZW50LiBGbGV4IGNvbHVtbiBzbyBjaGlsZHJlbiBjYW4gZmlsbCBpdCB2aWEgYGZsZXhgLlxuY29uc3QgU3R5bGVkQm9keUNvbnRlbnQgPSBzdHlsZWQuZGl2KHtcbiAgbWluSGVpZ2h0OiBcIjEwMCVcIixcbiAgZGlzcGxheTogXCJmbGV4XCIsXG4gIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG59KTtcblxuLy8gcHggdG9sZXJhbmNlIOKAlCBzdWItcGl4ZWwgcm91bmRpbmcgc2hvdWxkbid0IGxlYXZlIGEgZGl2aWRlciBzdHVjayBvbi5cbmNvbnN0IEVER0VfVEhSRVNIT0xEID0gMTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNhbmR3aWNoQm9keSh7XG4gIGNoaWxkcmVuLFxuICBvblNjcm9sbCxcbiAgc2Nyb2xsUmVmLFxufTogU2FuZHdpY2hCb2R5UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7IHNldEVkZ2VzIH0gPSB1c2VTYW5kd2ljaENvbnRleHQoKTtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGNvbnRlbnRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcblxuICAvLyBLZWVwIHRoZSBpbnRlcm5hbCByZWYgKHVzZWQgZm9yIG1lYXN1cmluZykgd2hpbGUgYWxzbyBmb3J3YXJkaW5nIHRoZSBub2RlIHRvXG4gIC8vIHRoZSBjb25zdW1lcidzIGBzY3JvbGxSZWZgIOKAlCBhIGNhbGxiYWNrIHJlZiBoYW5kbGVzIGJvdGggZm9ybXMuXG4gIGNvbnN0IHNldENvbnRhaW5lclJlZiA9IHVzZUNhbGxiYWNrKFxuICAgIChub2RlOiBIVE1MRGl2RWxlbWVudCB8IG51bGwpID0+IHtcbiAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgIGlmICh0eXBlb2Ygc2Nyb2xsUmVmID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgc2Nyb2xsUmVmKG5vZGUpO1xuICAgICAgfSBlbHNlIGlmIChzY3JvbGxSZWYpIHtcbiAgICAgICAgY29uc3QgbXV0YWJsZVJlZiA9XG4gICAgICAgICAgc2Nyb2xsUmVmIGFzIFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPjtcbiAgICAgICAgbXV0YWJsZVJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzY3JvbGxSZWZdXG4gICk7XG5cbiAgY29uc3QgcmVjYWxjdWxhdGVFZGdlcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBlbCA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgIGlmICghZWwpIHJldHVybjtcbiAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGVsO1xuICAgIHNldEVkZ2VzKHtcbiAgICAgIGF0VG9wOiBzY3JvbGxUb3AgPD0gRURHRV9USFJFU0hPTEQsXG4gICAgICBhdEJvdHRvbTogc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0ID49IHNjcm9sbEhlaWdodCAtIEVER0VfVEhSRVNIT0xELFxuICAgIH0pO1xuICB9LCBbc2V0RWRnZXNdKTtcblxuICBjb25zdCBoYW5kbGVTY3JvbGwgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0LlVJRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICByZWNhbGN1bGF0ZUVkZ2VzKCk7XG4gICAgICBvblNjcm9sbD8uKGV2ZW50KTtcbiAgICB9LFxuICAgIFtyZWNhbGN1bGF0ZUVkZ2VzLCBvblNjcm9sbF1cbiAgKTtcblxuICAvLyBNZWFzdXJlIG9uIG1vdW50IG9ubHkg4oCUIHRoZSBSZXNpemVPYnNlcnZlciArIHNjcm9sbCBoYW5kbGVyIGJlbG93IGNvdmVyIHRoZVxuICAvLyByZXN0LiBEbyBOT1QgZHJvcCB0aGUgZGVwczogYSBkZXAtbGVzcyBlZmZlY3QgcmUtbWVhc3VyZXMgZXZlcnkgcmVuZGVyIGFuZCBjYW5cbiAgLy8gaW5maW5pdGUtbG9vcCB3aGVuIHRoZSBoZWlnaHQgaXMgYnJpZWZseSB1bnN0YWJsZSAoc2V0RWRnZXMg4oaSIHJlZmxvdyDihpIgcmVwZWF0KS5cbiAgdXNlTGF5b3V0RWZmZWN0KHJlY2FsY3VsYXRlRWRnZXMsIFtyZWNhbGN1bGF0ZUVkZ2VzXSk7XG5cbiAgLy8gUmUtbWVhc3VyZSBvbiBzaXplIGNoYW5nZXMgdGhhdCBET04nVCB0cmlnZ2VyIGEgUmVhY3QgcmVuZGVyOiB0aGUgY29udGVudFxuICAvLyBncm93aW5nL3Nocmlua2luZyAoaW1hZ2UgbG9hZCwgYWNjb3JkaW9uIGV4cGFuZCwgdGV4dCByZWZsb3cpIGFuZCB0aGVcbiAgLy8gdmlld3BvcnQgaXRzZWxmIHJlc2l6aW5nLiBPYnNlcnZlIGJvdGggbm9kZXMuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBSZXNpemVPYnNlcnZlciA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiByZWNhbGN1bGF0ZUVkZ2VzKCkpO1xuICAgIGlmIChjb250YWluZXJSZWYuY3VycmVudCkgb2JzZXJ2ZXIub2JzZXJ2ZShjb250YWluZXJSZWYuY3VycmVudCk7XG4gICAgaWYgKGNvbnRlbnRSZWYuY3VycmVudCkgb2JzZXJ2ZXIub2JzZXJ2ZShjb250ZW50UmVmLmN1cnJlbnQpO1xuICAgIHJldHVybiAoKSA9PiBvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gIH0sIFtyZWNhbGN1bGF0ZUVkZ2VzXSk7XG5cbiAgcmV0dXJuIChcbiAgICAvLyB0YWJJbmRleCBtYWtlcyB0aGUgc2Nyb2xsIHJlZ2lvbiBrZXlib2FyZC1hY2Nlc3NpYmxlIChhMTF5OiBzY3JvbGxhYmxlXG4gICAgLy8gcmVnaW9ucyBtdXN0IGJlIGZvY3VzYWJsZSBzbyBrZXlib2FyZCB1c2VycyBjYW4gc2Nyb2xsIHRoZW0pLlxuICAgIDxTdHlsZWRCb2R5IHJlZj17c2V0Q29udGFpbmVyUmVmfSBvblNjcm9sbD17aGFuZGxlU2Nyb2xsfSB0YWJJbmRleD17MH0+XG4gICAgICA8U3R5bGVkQm9keUNvbnRlbnQgcmVmPXtjb250ZW50UmVmfT57Y2hpbGRyZW59PC9TdHlsZWRCb2R5Q29udGVudD5cbiAgICA8L1N0eWxlZEJvZHk+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYzBCIn0= */");export function SandwichBody({children,onScroll,scrollRef}){let{setEdges}=useSandwichContext(),containerRef=useRef(null),contentRef=useRef(null),setContainerRef=useCallback(node=>{containerRef.current=node,"function"==typeof scrollRef?scrollRef(node):scrollRef&&(scrollRef.current=node)},[scrollRef]),recalculateEdges=useCallback(()=>{let el=containerRef.current;if(!el)return;let{scrollTop,scrollHeight,clientHeight}=el;setEdges({atTop:scrollTop<=1,atBottom:scrollTop+clientHeight>=scrollHeight-1})},[setEdges]),handleScroll=useCallback(event=>{recalculateEdges(),onScroll?.(event)},[recalculateEdges,onScroll]);return useLayoutEffect(recalculateEdges,[recalculateEdges]),useEffect(()=>{if("undefined"==typeof ResizeObserver)return;let observer=new ResizeObserver(()=>recalculateEdges());return containerRef.current&&observer.observe(containerRef.current),contentRef.current&&observer.observe(contentRef.current),()=>observer.disconnect()},[recalculateEdges]),React.createElement(StyledBody,{ref:setContainerRef,onScroll:handleScroll,tabIndex:0},React.createElement(StyledBodyContent,{ref:contentRef},children))}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Slot}from"./-constants";import{useDeclarePanel,useLayoutPortal}from"./registry";export const Content=({children,minSize,maxSize})=>(useDeclarePanel(Slot.content,{minSize,maxSize,collapsible:!1}),useLayoutPortal(Slot.content,children));
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
|
-
import type { SidePanelProps } from "./-types";
|
|
3
|
-
/**
|
|
4
|
-
* Left side panel. Declares the `leftPanel` slot and portals its content into
|
|
5
|
-
* the Group's host while visible. Renders in-flow (a resizable column) - the
|
|
6
|
-
* offcanvas overlay / mobile sheet is deferred.
|
|
7
|
-
*/
|
|
8
|
-
export declare const LeftPanel: React.FC<SidePanelProps>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Slot}from"./-constants";import{useDeclarePanel,useLayoutPortal,useVisibleChange}from"./registry";import{useLayout}from"./useLayout";export const LeftPanel=({children,defaultSize,minSize,maxSize,collapsible=!0,onVisibleChange})=>{let{isVisible}=useLayout()[Slot.leftPanel];return useDeclarePanel(Slot.leftPanel,{defaultSize,minSize,maxSize,collapsible}),useVisibleChange(isVisible,onVisibleChange),useLayoutPortal(Slot.leftPanel,isVisible?children:null)};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import type { RightPanelProps } from "./-types";
|
|
3
|
-
/**
|
|
4
|
-
* Right side panel. Declares the `rightPanel` slot and portals its content into
|
|
5
|
-
* the Group's host while visible. Renders in-flow (a resizable column) - the
|
|
6
|
-
* offcanvas overlay / mobile sheet is deferred. Content is wrapped in a slot
|
|
7
|
-
* that tracks the `--ds-layout-subnav-offset` var.
|
|
8
|
-
*/
|
|
9
|
-
export declare const RightPanel: React.FC<RightPanelProps>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import React from"react";import styled from"@emotion/styled";import{Slot,SUBNAV_OFFSET_VAR}from"./-constants";import{useDeclarePanel,useLayoutPortal,useVisibleChange}from"./registry";import{useLayout}from"./useLayout";import{RightPanelContainer}from"./RightPanelContainer";let StyledRightPanelSlot=styled("div",{target:"e1u30w3d0",label:"StyledRightPanelSlot"})(({theme})=>({position:"absolute",left:0,right:0,bottom:0,top:`var(${SUBNAV_OFFSET_VAR}, 0px)`,overflow:"hidden",transition:`top ${theme.variables.animation.navSlide.open.duration} ${theme.variables.animation.navSlide.open.timingFunction}`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTGF5b3V0L1JpZ2h0UGFuZWwudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9MYXlvdXQvUmlnaHRQYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBTbG90LCBTVUJOQVZfT0ZGU0VUX1ZBUiB9IGZyb20gXCIuLy1jb25zdGFudHNcIjtcbmltcG9ydCB7IHVzZURlY2xhcmVQYW5lbCwgdXNlTGF5b3V0UG9ydGFsLCB1c2VWaXNpYmxlQ2hhbmdlIH0gZnJvbSBcIi4vcmVnaXN0cnlcIjtcbmltcG9ydCB7IHVzZUxheW91dCB9IGZyb20gXCIuL3VzZUxheW91dFwiO1xuaW1wb3J0IHsgUmlnaHRQYW5lbENvbnRhaW5lciB9IGZyb20gXCIuL1JpZ2h0UGFuZWxDb250YWluZXJcIjtcbmltcG9ydCB0eXBlIHsgUmlnaHRQYW5lbFByb3BzIH0gZnJvbSBcIi4vLXR5cGVzXCI7XG5cbi8vIEJ1aWx0LWluIHNsb3Q6IG9mZnNldHMgdGhlIHBhbmVsIGNvbnRlbnQgYnkgdGhlIHN1Ym5hdi1vZmZzZXQgdmFyICgwIHdoZW5cbi8vIHVuc2V0KSwgdHJhbnNpdGlvbmVkIHdpdGggdGhlIHRoZW1lJ3MgYG5hdlNsaWRlYCB0aW1pbmcg4oCUIHNvIHRoZSByaWdodCBwYW5lbFxuLy8gdHJhY2tzIGEgc3RpY2t5IHN1Ym5hdiB3aXRoIG5vIHdpcmluZyBvbiB0aGUgY29uc3VtZXIncyBzaWRlLlxuY29uc3QgU3R5bGVkUmlnaHRQYW5lbFNsb3QgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gIGxlZnQ6IDAsXG4gIHJpZ2h0OiAwLFxuICBib3R0b206IDAsXG4gIHRvcDogYHZhcigke1NVQk5BVl9PRkZTRVRfVkFSfSwgMHB4KWAsXG4gIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICB0cmFuc2l0aW9uOiBgdG9wICR7dGhlbWUudmFyaWFibGVzLmFuaW1hdGlvbi5uYXZTbGlkZS5vcGVuLmR1cmF0aW9ufSAke3RoZW1lLnZhcmlhYmxlcy5hbmltYXRpb24ubmF2U2xpZGUub3Blbi50aW1pbmdGdW5jdGlvbn1gLFxufSkpO1xuXG4vKipcbiAqIFJpZ2h0IHNpZGUgcGFuZWwuIERlY2xhcmVzIHRoZSBgcmlnaHRQYW5lbGAgc2xvdCBhbmQgcG9ydGFscyBpdHMgY29udGVudCBpbnRvXG4gKiB0aGUgR3JvdXAncyBob3N0IHdoaWxlIHZpc2libGUuIFJlbmRlcnMgaW4tZmxvdyAoYSByZXNpemFibGUgY29sdW1uKSAtIHRoZVxuICogb2ZmY2FudmFzIG92ZXJsYXkgLyBtb2JpbGUgc2hlZXQgaXMgZGVmZXJyZWQuIENvbnRlbnQgaXMgd3JhcHBlZCBpbiBhIHNsb3RcbiAqIHRoYXQgdHJhY2tzIHRoZSBgLS1kcy1sYXlvdXQtc3VibmF2LW9mZnNldGAgdmFyLlxuICovXG5leHBvcnQgY29uc3QgUmlnaHRQYW5lbDogUmVhY3QuRkM8UmlnaHRQYW5lbFByb3BzPiA9ICh7XG4gIGNoaWxkcmVuLFxuICBkZWZhdWx0U2l6ZSA9IDM3OCxcbiAgbWluU2l6ZSA9IDMyOCxcbiAgbWF4U2l6ZSA9IFwiMzAlXCIsXG4gIGNvbGxhcHNpYmxlID0gZmFsc2UsXG4gIG9uVmlzaWJsZUNoYW5nZSxcbiAgdGl0bGUsXG4gIG9uQ2xvc2UsXG4gIHNsb3RQcm9wcyxcbiAgc2Nyb2xsQ29udGFpbmVyUmVmLFxuICBvblNjcm9sbCxcbn0pID0+IHtcbiAgY29uc3QgeyBpc1Zpc2libGUsIGhpZGUgfSA9IHVzZUxheW91dCgpW1Nsb3QucmlnaHRQYW5lbF07XG4gIHVzZURlY2xhcmVQYW5lbChTbG90LnJpZ2h0UGFuZWwsIHtcbiAgICBkZWZhdWx0U2l6ZSxcbiAgICBtaW5TaXplLFxuICAgIG1heFNpemUsXG4gICAgY29sbGFwc2libGUsXG4gIH0pO1xuICB1c2VWaXNpYmxlQ2hhbmdlKGlzVmlzaWJsZSwgb25WaXNpYmxlQ2hhbmdlKTtcbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKTogdm9pZCA9PiB7XG4gICAgaGlkZSgpO1xuICAgIG9uQ2xvc2U/LigpO1xuICB9O1xuICByZXR1cm4gdXNlTGF5b3V0UG9ydGFsKFxuICAgIFNsb3QucmlnaHRQYW5lbCxcbiAgICBpc1Zpc2libGUgPyAoXG4gICAgICA8U3R5bGVkUmlnaHRQYW5lbFNsb3Q+XG4gICAgICAgIDxSaWdodFBhbmVsQ29udGFpbmVyXG4gICAgICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgICAgIG9uQ2xvc2U9e2hhbmRsZUNsb3NlfVxuICAgICAgICAgIHNsb3RQcm9wcz17c2xvdFByb3BzfVxuICAgICAgICAgIHNjcm9sbENvbnRhaW5lclJlZj17c2Nyb2xsQ29udGFpbmVyUmVmfVxuICAgICAgICAgIG9uU2Nyb2xsPXtvblNjcm9sbH1cbiAgICAgICAgPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9SaWdodFBhbmVsQ29udGFpbmVyPlxuICAgICAgPC9TdHlsZWRSaWdodFBhbmVsU2xvdD5cbiAgICApIDogbnVsbFxuICApO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXNkIifQ== */");export const RightPanel=({children,defaultSize=378,minSize=328,maxSize="30%",collapsible=!1,onVisibleChange,title,onClose,slotProps,scrollContainerRef,onScroll})=>{let{isVisible,hide}=useLayout()[Slot.rightPanel];return useDeclarePanel(Slot.rightPanel,{defaultSize,minSize,maxSize,collapsible}),useVisibleChange(isVisible,onVisibleChange),useLayoutPortal(Slot.rightPanel,isVisible?React.createElement(StyledRightPanelSlot,null,React.createElement(RightPanelContainer,{title:title,onClose:()=>{hide(),onClose?.()},slotProps:slotProps,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children)):null)};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import type { RightPanelContainerProps } from "./-types";
|
|
3
|
-
export declare function RightPanelContainer({ title, children, onClose, slotProps, scrollContainerRef, onScroll, "data-e2e-test-id": dataE2eTestId, }: RightPanelContainerProps): React.ReactElement;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import React from"react";import styled from"@emotion/styled";import{Sandwich}from"../Internal/Sandwich/Sandwich";import{Icon}from"../Icon/Icon";import{H5}from"../Typography/Header/Header";import{Box}from"../Box/Box";import{Inline}from"../Inline/Inline";import{PictogramButton}from"../PictogramButton/PictogramButton";import{Container}from"../Container/Container";let CustomContainer=styled(Container,{target:"ethbn2a0",label:"CustomContainer"})(({theme})=>({height:"100%",borderLeft:`1px solid ${theme.values.color.border.secondary.default}`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTGF5b3V0L1JpZ2h0UGFuZWxDb250YWluZXIudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9MYXlvdXQvUmlnaHRQYW5lbENvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBTYW5kd2ljaCB9IGZyb20gXCIuLi9JbnRlcm5hbC9TYW5kd2ljaC9TYW5kd2ljaFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCIuLi9JY29uL0ljb25cIjtcbmltcG9ydCB7IEg1IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvSGVhZGVyL0hlYWRlclwiO1xuaW1wb3J0IHsgQm94IH0gZnJvbSBcIi4uL0JveC9Cb3hcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgeyBQaWN0b2dyYW1CdXR0b24gfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lci9Db250YWluZXJcIjtcbmltcG9ydCB0eXBlIHsgUmlnaHRQYW5lbENvbnRhaW5lclByb3BzIH0gZnJvbSBcIi4vLXR5cGVzXCI7XG5cbmNvbnN0IEN1c3RvbUNvbnRhaW5lciA9IHN0eWxlZChDb250YWluZXIpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGhlaWdodDogXCIxMDAlXCIsXG4gIGJvcmRlckxlZnQ6IGAxcHggc29saWQgJHt0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnNlY29uZGFyeS5kZWZhdWx0fWAsXG59KSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBSaWdodFBhbmVsQ29udGFpbmVyKHtcbiAgdGl0bGUsXG4gIGNoaWxkcmVuLFxuICBvbkNsb3NlLFxuICBzbG90UHJvcHMsXG4gIHNjcm9sbENvbnRhaW5lclJlZixcbiAgb25TY3JvbGwsXG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxufTogUmlnaHRQYW5lbENvbnRhaW5lclByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgeyBpc1Zpc2libGU6IGlzVGl0bGVWaXNpYmxlID0gdHJ1ZSB9ID0gdGl0bGU7XG4gIHJldHVybiAoXG4gICAgPEN1c3RvbUNvbnRhaW5lclxuICAgICAgZWxldmF0aW9uPXswfVxuICAgICAgc3F1YXJlQ29ybmVyc1xuICAgICAgZGF0YS1kcy1pZD1cIlJpZ2h0UGFuZWxDb250YWluZXJcIlxuICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICA+XG4gICAgICA8U2FuZHdpY2ggcm9sZT1cInJlZ2lvblwiIGFyaWEtbGFiZWw9e3RpdGxlLmxhYmVsfT5cbiAgICAgICAgPFNhbmR3aWNoLkhlYWRlciBzaG93U2VwYXJhdG9yPVwiYXV0b1wiPlxuICAgICAgICAgIDxCb3ggc3BhY2U9XCJzXCIgdlNwYWNlPVwieHNcIj5cbiAgICAgICAgICAgIDxJbmxpbmVcbiAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiXG4gICAgICAgICAgICAgIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgbm9XcmFwXG4gICAgICAgICAgICAgIGZ1bGxXaWR0aFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8SW5saW5lIHNwYWNlPVwieHNcIiB2QWxpZ25JdGVtcz1cImNlbnRlclwiIG5vV3JhcD5cbiAgICAgICAgICAgICAgICB7c2xvdFByb3BzLmhlYWRlcj8ubGVmdFNsb3R9XG4gICAgICAgICAgICAgICAge2lzVGl0bGVWaXNpYmxlICYmIChcbiAgICAgICAgICAgICAgICAgIDxJbmxpbmUgc3BhY2U9XCJ4c1wiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCIgbm9XcmFwPlxuICAgICAgICAgICAgICAgICAgICB7dGl0bGUuaWNvbiAmJiA8SWNvbiBzaXplPVwic1wiIHsuLi50aXRsZS5pY29ufSAvPn1cbiAgICAgICAgICAgICAgICAgICAgPEg1Pnt0aXRsZS5sYWJlbH08L0g1PlxuICAgICAgICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgICAgIDxJbmxpbmUgc3BhY2U9XCJ4eHNcIiB2QWxpZ25JdGVtcz1cImNlbnRlclwiIG5vV3JhcD5cbiAgICAgICAgICAgICAgICB7c2xvdFByb3BzLmhlYWRlcj8ucmlnaHRTbG90fVxuICAgICAgICAgICAgICAgIDxQaWN0b2dyYW1CdXR0b25cbiAgICAgICAgICAgICAgICAgIGljb249XCJ4XCJcbiAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtzbG90UHJvcHMuY2xvc2VCdXR0b25bXCJhcmlhLWxhYmVsXCJdfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbG9zZT8uKCl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgPC9TYW5kd2ljaC5IZWFkZXI+XG4gICAgICAgIDxTYW5kd2ljaC5Cb2R5IHNjcm9sbFJlZj17c2Nyb2xsQ29udGFpbmVyUmVmfSBvblNjcm9sbD17b25TY3JvbGx9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TYW5kd2ljaC5Cb2R5PlxuICAgICAgICB7c2xvdFByb3BzLmZvb3RlciAmJiAoXG4gICAgICAgICAgPFNhbmR3aWNoLkZvb3RlciBzaG93U2VwYXJhdG9yPVwibmV2ZXJcIj5cbiAgICAgICAgICAgIHtzbG90UHJvcHMuZm9vdGVyfVxuICAgICAgICAgIDwvU2FuZHdpY2guRm9vdGVyPlxuICAgICAgICApfVxuICAgICAgPC9TYW5kd2ljaD5cbiAgICA8L0N1c3RvbUNvbnRhaW5lcj5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXd0IifQ== */");export function RightPanelContainer({title,children,onClose,slotProps,scrollContainerRef,onScroll,"data-e2e-test-id":dataE2eTestId}){let{isVisible:isTitleVisible=!0}=title;return React.createElement(CustomContainer,{elevation:0,squareCorners:!0,"data-ds-id":"RightPanelContainer","data-e2e-test-id":dataE2eTestId},React.createElement(Sandwich,{role:"region","aria-label":title.label},React.createElement(Sandwich.Header,{showSeparator:"auto"},React.createElement(Box,{space:"s",vSpace:"xs"},React.createElement(Inline,{alignItems:"spaceBetween",vAlignItems:"center",noWrap:!0,fullWidth:!0},React.createElement(Inline,{space:"xs",vAlignItems:"center",noWrap:!0},slotProps.header?.leftSlot,isTitleVisible&&React.createElement(Inline,{space:"xs",vAlignItems:"center",noWrap:!0},title.icon&&React.createElement(Icon,{size:"s",...title.icon}),React.createElement(H5,null,title.label))),React.createElement(Inline,{space:"xxs",vAlignItems:"center",noWrap:!0},slotProps.header?.rightSlot,React.createElement(PictogramButton,{icon:"x",size:"s",variant:"tertiary","aria-label":slotProps.closeButton["aria-label"],onClick:()=>onClose?.()}))))),React.createElement(Sandwich.Body,{scrollRef:scrollContainerRef,onScroll:onScroll},children),slotProps.footer&&React.createElement(Sandwich.Footer,{showSeparator:"never"},slotProps.footer)))}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Slot}from"./-constants";import{useDeclarePanel,useLayoutPortal}from"./registry";import{useLayout}from"./useLayout";export const Split=({children,defaultSize,minSize,maxSize})=>{let{isVisible}=useLayout()[Slot.splitview];return useDeclarePanel(Slot.splitview,{defaultSize,minSize,maxSize,collapsible:!0}),useLayoutPortal(Slot.splitview,isVisible?children:null)};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Track portal-container DOM elements by key, with stable per-key ref callbacks.
|
|
3
|
-
* Used by `Layout` to capture each panel's host `<div>` (the `createPortal`
|
|
4
|
-
* container) so markers can portal their content into it.
|
|
5
|
-
*
|
|
6
|
-
* Given a fixed list of keys, returns `[elements, refs]`:
|
|
7
|
-
* - `refs[key]` - a ref callback to attach to an element; captures it into
|
|
8
|
-
* `elements[key]` (and clears it to `null` on unmount).
|
|
9
|
-
* - `elements[key]` - the currently-attached element (undefined until set).
|
|
10
|
-
*
|
|
11
|
-
* The callbacks are **stable** across renders, so React invokes them only on
|
|
12
|
-
* mount/unmount - not detach/attach every render. (An inline `ref={el => …}`
|
|
13
|
-
* that calls setState would get a new identity each render and loop.)
|
|
14
|
-
*
|
|
15
|
-
* Generic over the key type, so it works for any fixed key set.
|
|
16
|
-
*/
|
|
17
|
-
export declare function usePortalContainerRefs<K extends string>(keys: readonly K[]): [
|
|
18
|
-
Partial<Record<K, HTMLElement | null>>,
|
|
19
|
-
Record<K, (el: HTMLElement | null) => void>
|
|
20
|
-
];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useMemo,useState}from"react";export function usePortalContainerRefs(keys){let[elements,setElements]=useState({});return[elements,useMemo(()=>{let map={};return keys.forEach(key=>{map[key]=el=>setElements(prev=>prev[key]===el?prev:{...prev,[key]:el})}),map},[keys])]}
|