ece-docs-components 1.0.112 → 1.0.113
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/_virtual/index8.js +2 -2
- package/dist/cjs/_virtual/index9.js +2 -2
- package/dist/cjs/components/DrawerPanel.js +89 -0
- package/dist/cjs/components/DrawerPanel.js.map +1 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/node_modules/domutils/lib/index.js +1 -1
- package/dist/cjs/node_modules/style-to-object/cjs/index.js +1 -1
- package/dist/esm/_virtual/index6.js +2 -2
- package/dist/esm/_virtual/index7.js +2 -2
- package/dist/esm/components/DrawerPanel.d.ts +15 -0
- package/dist/esm/components/DrawerPanel.js +87 -0
- package/dist/esm/components/DrawerPanel.js.map +1 -0
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/node_modules/domelementtype/lib/index.js +1 -1
- package/dist/esm/node_modules/html-dom-parser/lib/index.js +1 -1
- package/dist/esm/node_modules/htmlparser2/dist/commonjs/index.js +1 -1
- package/dist/esm/node_modules/react-property/lib/index.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var KeyboardArrowDownRounded = require('@mui/icons-material/KeyboardArrowDownRounded');
|
|
6
|
+
var KeyboardArrowUpRounded = require('@mui/icons-material/KeyboardArrowUpRounded');
|
|
7
|
+
var Box = require('@mui/material/Box');
|
|
8
|
+
var ButtonBase = require('@mui/material/ButtonBase');
|
|
9
|
+
var Drawer = require('@mui/material/Drawer');
|
|
10
|
+
var Typography = require('@mui/material/Typography');
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Renders a persistent, collapsible bottom drawer and reserves enough space in
|
|
14
|
+
* the containing page content to prevent the drawer from obscuring it.
|
|
15
|
+
*/
|
|
16
|
+
const DrawerPanel = ({ children, title, subtitle = undefined, defaultExpanded = false, expandLabel = 'Expand panel', collapseLabel = 'Collapse panel', }) => {
|
|
17
|
+
const [isExpanded, setIsExpanded] = React.useState(defaultExpanded);
|
|
18
|
+
const drawerRootRef = React.useRef(null);
|
|
19
|
+
const drawerPaperRef = React.useRef(null);
|
|
20
|
+
const headingId = React.useId();
|
|
21
|
+
const contentId = React.useId();
|
|
22
|
+
React.useEffect(() => {
|
|
23
|
+
const drawerPaper = drawerPaperRef.current;
|
|
24
|
+
const pageContent = drawerRootRef.current?.closest('[data-page-content]');
|
|
25
|
+
if (!drawerPaper || !pageContent)
|
|
26
|
+
return undefined;
|
|
27
|
+
/** Keeps the page's reserved space in sync with the drawer's rendered height. */
|
|
28
|
+
const updatePagePadding = () => {
|
|
29
|
+
pageContent.style.setProperty('--drawer-panel-height', `${drawerPaper.getBoundingClientRect().height}px`);
|
|
30
|
+
};
|
|
31
|
+
const resizeObserver = new ResizeObserver(updatePagePadding);
|
|
32
|
+
updatePagePadding();
|
|
33
|
+
resizeObserver.observe(drawerPaper);
|
|
34
|
+
return () => {
|
|
35
|
+
resizeObserver.disconnect();
|
|
36
|
+
pageContent.style.removeProperty('--drawer-panel-height');
|
|
37
|
+
};
|
|
38
|
+
}, []);
|
|
39
|
+
return (jsxRuntime.jsx(Drawer, { anchor: "bottom", open: true, variant: "persistent", ref: drawerRootRef, "data-drawer-panel": true, "data-drawer-panel-expanded": isExpanded, sx: { zIndex: 45 }, slotProps: {
|
|
40
|
+
paper: {
|
|
41
|
+
ref: drawerPaperRef,
|
|
42
|
+
role: 'region',
|
|
43
|
+
'aria-labelledby': headingId,
|
|
44
|
+
sx: {
|
|
45
|
+
left: { xs: 0, md: 'var(--sidebar-width, 80px)' },
|
|
46
|
+
right: 'auto',
|
|
47
|
+
width: { xs: '100%', md: 'calc(100% - var(--sidebar-width, 80px))' },
|
|
48
|
+
maxHeight: 'calc(100dvh - 16px)',
|
|
49
|
+
boxSizing: 'border-box',
|
|
50
|
+
borderTop: 1,
|
|
51
|
+
borderColor: 'divider',
|
|
52
|
+
borderRadius: 0,
|
|
53
|
+
backgroundColor: 'background.paper',
|
|
54
|
+
boxShadow: '0 -4px 16px rgba(0, 0, 0, 0.12)',
|
|
55
|
+
overflowX: 'hidden',
|
|
56
|
+
overflowY: 'auto',
|
|
57
|
+
zIndex: 45,
|
|
58
|
+
transition: 'left 0.15s ease-out, width 0.15s ease-out',
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
}, children: jsxRuntime.jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', width: '100%' }, children: [jsxRuntime.jsxs(ButtonBase, { disableRipple: true, "aria-controls": contentId, "aria-expanded": isExpanded, "aria-label": isExpanded ? collapseLabel : expandLabel, onClick: () => setIsExpanded(expanded => !expanded), sx: {
|
|
62
|
+
display: 'flex',
|
|
63
|
+
alignItems: 'center',
|
|
64
|
+
justifyContent: 'flex-start',
|
|
65
|
+
gap: { xs: 1, sm: 1.5 },
|
|
66
|
+
px: { xs: 2, sm: 2.5 },
|
|
67
|
+
py: { xs: 1.5, sm: 1.5 },
|
|
68
|
+
width: '100%',
|
|
69
|
+
textAlign: 'left',
|
|
70
|
+
backgroundColor: theme => theme.palette.custom.statusBarBackgroundColor,
|
|
71
|
+
borderBottom: 1,
|
|
72
|
+
borderColor: 'divider',
|
|
73
|
+
}, children: [jsxRuntime.jsx(Box, { component: "span", sx: { display: 'inline-flex', flexShrink: 0 }, children: isExpanded ? jsxRuntime.jsx(KeyboardArrowDownRounded, {}) : jsxRuntime.jsx(KeyboardArrowUpRounded, {}) }), jsxRuntime.jsxs(Box, { component: "span", display: "flex", alignItems: "center", gap: 2, children: [jsxRuntime.jsx(Typography, { component: "span", id: headingId, role: "heading", "aria-level": 2, variant: "h5", sx: { fontSize: 16 }, children: title }), subtitle && (jsxRuntime.jsx(Typography, { component: "span", variant: "caption", sx: { fontSize: 16 }, children: subtitle }))] })] }), jsxRuntime.jsx(Box, { id: contentId, "aria-hidden": !isExpanded, sx: {
|
|
74
|
+
display: 'grid',
|
|
75
|
+
pl: { xs: 7, sm: 8.5 },
|
|
76
|
+
pr: { xs: 2, sm: 2.5 },
|
|
77
|
+
gridTemplateRows: isExpanded ? '1fr' : '0fr',
|
|
78
|
+
transition: 'grid-template-rows 0.2s ease-out',
|
|
79
|
+
}, children: jsxRuntime.jsx(Box, { sx: { minHeight: 0, overflow: 'hidden' }, children: jsxRuntime.jsx(Box, { sx: {
|
|
80
|
+
my: 2,
|
|
81
|
+
opacity: isExpanded ? 1 : 0,
|
|
82
|
+
visibility: isExpanded ? 'visible' : 'hidden',
|
|
83
|
+
transition: isExpanded ? 'opacity 0.15s ease-out 0.05s' : 'opacity 0.1s ease-out, visibility 0s linear 0.2s',
|
|
84
|
+
width: '100%',
|
|
85
|
+
}, children: children }) }) })] }) }));
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
exports.DrawerPanel = DrawerPanel;
|
|
89
|
+
//# sourceMappingURL=DrawerPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawerPanel.js","sources":["../../../../src/components/DrawerPanel.tsx"],"sourcesContent":["import {useEffect, useId, useRef, useState, type ReactNode} from 'react';\r\n\r\nimport KeyboardArrowDownRounded from '@mui/icons-material/KeyboardArrowDownRounded';\r\nimport KeyboardArrowUpRounded from '@mui/icons-material/KeyboardArrowUpRounded';\r\nimport Box from '@mui/material/Box';\r\nimport ButtonBase from '@mui/material/ButtonBase';\r\nimport Drawer from '@mui/material/Drawer';\r\nimport Typography from '@mui/material/Typography';\r\n\r\ntype DrawerPanelProps = {\r\n children: ReactNode;\r\n title: ReactNode;\r\n subtitle?: ReactNode;\r\n defaultExpanded?: boolean;\r\n expandLabel?: string;\r\n collapseLabel?: string;\r\n};\r\n\r\n/**\r\n * Renders a persistent, collapsible bottom drawer and reserves enough space in\r\n * the containing page content to prevent the drawer from obscuring it.\r\n */\r\nexport const DrawerPanel = ({\r\n children,\r\n title,\r\n subtitle = undefined,\r\n defaultExpanded = false,\r\n expandLabel = 'Expand panel',\r\n collapseLabel = 'Collapse panel',\r\n}: DrawerPanelProps) => {\r\n const [isExpanded, setIsExpanded] = useState(defaultExpanded);\r\n const drawerRootRef = useRef<HTMLDivElement>(null);\r\n const drawerPaperRef = useRef<HTMLDivElement>(null);\r\n const headingId = useId();\r\n const contentId = useId();\r\n\r\n useEffect(() => {\r\n const drawerPaper = drawerPaperRef.current;\r\n const pageContent = drawerRootRef.current?.closest<HTMLElement>('[data-page-content]');\r\n\r\n if (!drawerPaper || !pageContent) return undefined;\r\n\r\n /** Keeps the page's reserved space in sync with the drawer's rendered height. */\r\n const updatePagePadding = () => {\r\n pageContent.style.setProperty('--drawer-panel-height', `${drawerPaper.getBoundingClientRect().height}px`);\r\n };\r\n const resizeObserver = new ResizeObserver(updatePagePadding);\r\n\r\n updatePagePadding();\r\n resizeObserver.observe(drawerPaper);\r\n\r\n return () => {\r\n resizeObserver.disconnect();\r\n pageContent.style.removeProperty('--drawer-panel-height');\r\n };\r\n }, []);\r\n\r\n return (\r\n <Drawer\r\n anchor=\"bottom\"\r\n open\r\n variant=\"persistent\"\r\n ref={drawerRootRef}\r\n data-drawer-panel\r\n data-drawer-panel-expanded={isExpanded}\r\n sx={{zIndex: 45}}\r\n slotProps={{\r\n paper: {\r\n ref: drawerPaperRef,\r\n role: 'region',\r\n 'aria-labelledby': headingId,\r\n sx: {\r\n left: {xs: 0, md: 'var(--sidebar-width, 80px)'},\r\n right: 'auto',\r\n width: {xs: '100%', md: 'calc(100% - var(--sidebar-width, 80px))'},\r\n maxHeight: 'calc(100dvh - 16px)',\r\n boxSizing: 'border-box',\r\n borderTop: 1,\r\n borderColor: 'divider',\r\n borderRadius: 0,\r\n backgroundColor: 'background.paper',\r\n boxShadow: '0 -4px 16px rgba(0, 0, 0, 0.12)',\r\n overflowX: 'hidden',\r\n overflowY: 'auto',\r\n zIndex: 45,\r\n transition: 'left 0.15s ease-out, width 0.15s ease-out',\r\n },\r\n },\r\n }}>\r\n <Box sx={{display: 'flex', flexDirection: 'column', width: '100%'}}>\r\n <ButtonBase\r\n disableRipple\r\n aria-controls={contentId}\r\n aria-expanded={isExpanded}\r\n aria-label={isExpanded ? collapseLabel : expandLabel}\r\n onClick={() => setIsExpanded(expanded => !expanded)}\r\n sx={{\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'flex-start',\r\n gap: {xs: 1, sm: 1.5},\r\n px: {xs: 2, sm: 2.5},\r\n py: {xs: 1.5, sm: 1.5},\r\n width: '100%',\r\n textAlign: 'left',\r\n backgroundColor: theme => theme.palette.custom.statusBarBackgroundColor,\r\n borderBottom: 1,\r\n borderColor: 'divider',\r\n }}>\r\n <Box component=\"span\" sx={{display: 'inline-flex', flexShrink: 0}}>\r\n {isExpanded ? <KeyboardArrowDownRounded /> : <KeyboardArrowUpRounded />}\r\n </Box>\r\n <Box component=\"span\" display=\"flex\" alignItems=\"center\" gap={2}>\r\n <Typography component=\"span\" id={headingId} role=\"heading\" aria-level={2} variant=\"h5\" sx={{fontSize: 16}}>\r\n {title}\r\n </Typography>\r\n {subtitle && (\r\n <Typography component=\"span\" variant=\"caption\" sx={{fontSize: 16}}>\r\n {subtitle}\r\n </Typography>\r\n )}\r\n </Box>\r\n </ButtonBase>\r\n <Box\r\n id={contentId}\r\n aria-hidden={!isExpanded}\r\n sx={{\r\n display: 'grid',\r\n pl: {xs: 7, sm: 8.5},\r\n pr: {xs: 2, sm: 2.5},\r\n gridTemplateRows: isExpanded ? '1fr' : '0fr',\r\n transition: 'grid-template-rows 0.2s ease-out',\r\n }}>\r\n <Box sx={{minHeight: 0, overflow: 'hidden'}}>\r\n <Box\r\n sx={{\r\n my: 2,\r\n opacity: isExpanded ? 1 : 0,\r\n visibility: isExpanded ? 'visible' : 'hidden',\r\n transition: isExpanded ? 'opacity 0.15s ease-out 0.05s' : 'opacity 0.1s ease-out, visibility 0s linear 0.2s',\r\n width: '100%',\r\n }}>\r\n {children}\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Drawer>\r\n );\r\n};\r\n"],"names":["useState","useRef","useId","useEffect","_jsx","_jsxs"],"mappings":"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"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -31,6 +31,7 @@ var RichTextArea = require('./components/RichTextArea.js');
|
|
|
31
31
|
var FileUploadButton = require('./components/FileUploadButton.js');
|
|
32
32
|
var Footer = require('./components/Footer.js');
|
|
33
33
|
var AutocompleteSelect = require('./components/AutocompleteSelect.js');
|
|
34
|
+
var DrawerPanel = require('./components/DrawerPanel.js');
|
|
34
35
|
|
|
35
36
|
|
|
36
37
|
|
|
@@ -68,4 +69,5 @@ exports.RichTextArea = RichTextArea.RichTextArea;
|
|
|
68
69
|
exports.FileUploadButton = FileUploadButton.FileUploadButton;
|
|
69
70
|
exports.Footer = Footer.Footer;
|
|
70
71
|
exports.AutocompleteSelect = AutocompleteSelect.AutocompleteSelect;
|
|
72
|
+
exports.DrawerPanel = DrawerPanel.DrawerPanel;
|
|
71
73
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
type DrawerPanelProps = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
title: ReactNode;
|
|
5
|
+
subtitle?: ReactNode;
|
|
6
|
+
defaultExpanded?: boolean;
|
|
7
|
+
expandLabel?: string;
|
|
8
|
+
collapseLabel?: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Renders a persistent, collapsible bottom drawer and reserves enough space in
|
|
12
|
+
* the containing page content to prevent the drawer from obscuring it.
|
|
13
|
+
*/
|
|
14
|
+
export declare const DrawerPanel: ({ children, title, subtitle, defaultExpanded, expandLabel, collapseLabel, }: DrawerPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useRef, useId, useEffect } from 'react';
|
|
3
|
+
import KeyboardArrowDownRounded from '@mui/icons-material/KeyboardArrowDownRounded';
|
|
4
|
+
import KeyboardArrowUpRounded from '@mui/icons-material/KeyboardArrowUpRounded';
|
|
5
|
+
import Box from '@mui/material/Box';
|
|
6
|
+
import ButtonBase from '@mui/material/ButtonBase';
|
|
7
|
+
import Drawer from '@mui/material/Drawer';
|
|
8
|
+
import Typography from '@mui/material/Typography';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Renders a persistent, collapsible bottom drawer and reserves enough space in
|
|
12
|
+
* the containing page content to prevent the drawer from obscuring it.
|
|
13
|
+
*/
|
|
14
|
+
const DrawerPanel = ({ children, title, subtitle = undefined, defaultExpanded = false, expandLabel = 'Expand panel', collapseLabel = 'Collapse panel', }) => {
|
|
15
|
+
const [isExpanded, setIsExpanded] = useState(defaultExpanded);
|
|
16
|
+
const drawerRootRef = useRef(null);
|
|
17
|
+
const drawerPaperRef = useRef(null);
|
|
18
|
+
const headingId = useId();
|
|
19
|
+
const contentId = useId();
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
const drawerPaper = drawerPaperRef.current;
|
|
22
|
+
const pageContent = drawerRootRef.current?.closest('[data-page-content]');
|
|
23
|
+
if (!drawerPaper || !pageContent)
|
|
24
|
+
return undefined;
|
|
25
|
+
/** Keeps the page's reserved space in sync with the drawer's rendered height. */
|
|
26
|
+
const updatePagePadding = () => {
|
|
27
|
+
pageContent.style.setProperty('--drawer-panel-height', `${drawerPaper.getBoundingClientRect().height}px`);
|
|
28
|
+
};
|
|
29
|
+
const resizeObserver = new ResizeObserver(updatePagePadding);
|
|
30
|
+
updatePagePadding();
|
|
31
|
+
resizeObserver.observe(drawerPaper);
|
|
32
|
+
return () => {
|
|
33
|
+
resizeObserver.disconnect();
|
|
34
|
+
pageContent.style.removeProperty('--drawer-panel-height');
|
|
35
|
+
};
|
|
36
|
+
}, []);
|
|
37
|
+
return (jsx(Drawer, { anchor: "bottom", open: true, variant: "persistent", ref: drawerRootRef, "data-drawer-panel": true, "data-drawer-panel-expanded": isExpanded, sx: { zIndex: 45 }, slotProps: {
|
|
38
|
+
paper: {
|
|
39
|
+
ref: drawerPaperRef,
|
|
40
|
+
role: 'region',
|
|
41
|
+
'aria-labelledby': headingId,
|
|
42
|
+
sx: {
|
|
43
|
+
left: { xs: 0, md: 'var(--sidebar-width, 80px)' },
|
|
44
|
+
right: 'auto',
|
|
45
|
+
width: { xs: '100%', md: 'calc(100% - var(--sidebar-width, 80px))' },
|
|
46
|
+
maxHeight: 'calc(100dvh - 16px)',
|
|
47
|
+
boxSizing: 'border-box',
|
|
48
|
+
borderTop: 1,
|
|
49
|
+
borderColor: 'divider',
|
|
50
|
+
borderRadius: 0,
|
|
51
|
+
backgroundColor: 'background.paper',
|
|
52
|
+
boxShadow: '0 -4px 16px rgba(0, 0, 0, 0.12)',
|
|
53
|
+
overflowX: 'hidden',
|
|
54
|
+
overflowY: 'auto',
|
|
55
|
+
zIndex: 45,
|
|
56
|
+
transition: 'left 0.15s ease-out, width 0.15s ease-out',
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
}, children: jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', width: '100%' }, children: [jsxs(ButtonBase, { disableRipple: true, "aria-controls": contentId, "aria-expanded": isExpanded, "aria-label": isExpanded ? collapseLabel : expandLabel, onClick: () => setIsExpanded(expanded => !expanded), sx: {
|
|
60
|
+
display: 'flex',
|
|
61
|
+
alignItems: 'center',
|
|
62
|
+
justifyContent: 'flex-start',
|
|
63
|
+
gap: { xs: 1, sm: 1.5 },
|
|
64
|
+
px: { xs: 2, sm: 2.5 },
|
|
65
|
+
py: { xs: 1.5, sm: 1.5 },
|
|
66
|
+
width: '100%',
|
|
67
|
+
textAlign: 'left',
|
|
68
|
+
backgroundColor: theme => theme.palette.custom.statusBarBackgroundColor,
|
|
69
|
+
borderBottom: 1,
|
|
70
|
+
borderColor: 'divider',
|
|
71
|
+
}, children: [jsx(Box, { component: "span", sx: { display: 'inline-flex', flexShrink: 0 }, children: isExpanded ? jsx(KeyboardArrowDownRounded, {}) : jsx(KeyboardArrowUpRounded, {}) }), jsxs(Box, { component: "span", display: "flex", alignItems: "center", gap: 2, children: [jsx(Typography, { component: "span", id: headingId, role: "heading", "aria-level": 2, variant: "h5", sx: { fontSize: 16 }, children: title }), subtitle && (jsx(Typography, { component: "span", variant: "caption", sx: { fontSize: 16 }, children: subtitle }))] })] }), jsx(Box, { id: contentId, "aria-hidden": !isExpanded, sx: {
|
|
72
|
+
display: 'grid',
|
|
73
|
+
pl: { xs: 7, sm: 8.5 },
|
|
74
|
+
pr: { xs: 2, sm: 2.5 },
|
|
75
|
+
gridTemplateRows: isExpanded ? '1fr' : '0fr',
|
|
76
|
+
transition: 'grid-template-rows 0.2s ease-out',
|
|
77
|
+
}, children: jsx(Box, { sx: { minHeight: 0, overflow: 'hidden' }, children: jsx(Box, { sx: {
|
|
78
|
+
my: 2,
|
|
79
|
+
opacity: isExpanded ? 1 : 0,
|
|
80
|
+
visibility: isExpanded ? 'visible' : 'hidden',
|
|
81
|
+
transition: isExpanded ? 'opacity 0.15s ease-out 0.05s' : 'opacity 0.1s ease-out, visibility 0s linear 0.2s',
|
|
82
|
+
width: '100%',
|
|
83
|
+
}, children: children }) }) })] }) }));
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export { DrawerPanel };
|
|
87
|
+
//# sourceMappingURL=DrawerPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawerPanel.js","sources":["../../../../src/components/DrawerPanel.tsx"],"sourcesContent":["import {useEffect, useId, useRef, useState, type ReactNode} from 'react';\r\n\r\nimport KeyboardArrowDownRounded from '@mui/icons-material/KeyboardArrowDownRounded';\r\nimport KeyboardArrowUpRounded from '@mui/icons-material/KeyboardArrowUpRounded';\r\nimport Box from '@mui/material/Box';\r\nimport ButtonBase from '@mui/material/ButtonBase';\r\nimport Drawer from '@mui/material/Drawer';\r\nimport Typography from '@mui/material/Typography';\r\n\r\ntype DrawerPanelProps = {\r\n children: ReactNode;\r\n title: ReactNode;\r\n subtitle?: ReactNode;\r\n defaultExpanded?: boolean;\r\n expandLabel?: string;\r\n collapseLabel?: string;\r\n};\r\n\r\n/**\r\n * Renders a persistent, collapsible bottom drawer and reserves enough space in\r\n * the containing page content to prevent the drawer from obscuring it.\r\n */\r\nexport const DrawerPanel = ({\r\n children,\r\n title,\r\n subtitle = undefined,\r\n defaultExpanded = false,\r\n expandLabel = 'Expand panel',\r\n collapseLabel = 'Collapse panel',\r\n}: DrawerPanelProps) => {\r\n const [isExpanded, setIsExpanded] = useState(defaultExpanded);\r\n const drawerRootRef = useRef<HTMLDivElement>(null);\r\n const drawerPaperRef = useRef<HTMLDivElement>(null);\r\n const headingId = useId();\r\n const contentId = useId();\r\n\r\n useEffect(() => {\r\n const drawerPaper = drawerPaperRef.current;\r\n const pageContent = drawerRootRef.current?.closest<HTMLElement>('[data-page-content]');\r\n\r\n if (!drawerPaper || !pageContent) return undefined;\r\n\r\n /** Keeps the page's reserved space in sync with the drawer's rendered height. */\r\n const updatePagePadding = () => {\r\n pageContent.style.setProperty('--drawer-panel-height', `${drawerPaper.getBoundingClientRect().height}px`);\r\n };\r\n const resizeObserver = new ResizeObserver(updatePagePadding);\r\n\r\n updatePagePadding();\r\n resizeObserver.observe(drawerPaper);\r\n\r\n return () => {\r\n resizeObserver.disconnect();\r\n pageContent.style.removeProperty('--drawer-panel-height');\r\n };\r\n }, []);\r\n\r\n return (\r\n <Drawer\r\n anchor=\"bottom\"\r\n open\r\n variant=\"persistent\"\r\n ref={drawerRootRef}\r\n data-drawer-panel\r\n data-drawer-panel-expanded={isExpanded}\r\n sx={{zIndex: 45}}\r\n slotProps={{\r\n paper: {\r\n ref: drawerPaperRef,\r\n role: 'region',\r\n 'aria-labelledby': headingId,\r\n sx: {\r\n left: {xs: 0, md: 'var(--sidebar-width, 80px)'},\r\n right: 'auto',\r\n width: {xs: '100%', md: 'calc(100% - var(--sidebar-width, 80px))'},\r\n maxHeight: 'calc(100dvh - 16px)',\r\n boxSizing: 'border-box',\r\n borderTop: 1,\r\n borderColor: 'divider',\r\n borderRadius: 0,\r\n backgroundColor: 'background.paper',\r\n boxShadow: '0 -4px 16px rgba(0, 0, 0, 0.12)',\r\n overflowX: 'hidden',\r\n overflowY: 'auto',\r\n zIndex: 45,\r\n transition: 'left 0.15s ease-out, width 0.15s ease-out',\r\n },\r\n },\r\n }}>\r\n <Box sx={{display: 'flex', flexDirection: 'column', width: '100%'}}>\r\n <ButtonBase\r\n disableRipple\r\n aria-controls={contentId}\r\n aria-expanded={isExpanded}\r\n aria-label={isExpanded ? collapseLabel : expandLabel}\r\n onClick={() => setIsExpanded(expanded => !expanded)}\r\n sx={{\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'flex-start',\r\n gap: {xs: 1, sm: 1.5},\r\n px: {xs: 2, sm: 2.5},\r\n py: {xs: 1.5, sm: 1.5},\r\n width: '100%',\r\n textAlign: 'left',\r\n backgroundColor: theme => theme.palette.custom.statusBarBackgroundColor,\r\n borderBottom: 1,\r\n borderColor: 'divider',\r\n }}>\r\n <Box component=\"span\" sx={{display: 'inline-flex', flexShrink: 0}}>\r\n {isExpanded ? <KeyboardArrowDownRounded /> : <KeyboardArrowUpRounded />}\r\n </Box>\r\n <Box component=\"span\" display=\"flex\" alignItems=\"center\" gap={2}>\r\n <Typography component=\"span\" id={headingId} role=\"heading\" aria-level={2} variant=\"h5\" sx={{fontSize: 16}}>\r\n {title}\r\n </Typography>\r\n {subtitle && (\r\n <Typography component=\"span\" variant=\"caption\" sx={{fontSize: 16}}>\r\n {subtitle}\r\n </Typography>\r\n )}\r\n </Box>\r\n </ButtonBase>\r\n <Box\r\n id={contentId}\r\n aria-hidden={!isExpanded}\r\n sx={{\r\n display: 'grid',\r\n pl: {xs: 7, sm: 8.5},\r\n pr: {xs: 2, sm: 2.5},\r\n gridTemplateRows: isExpanded ? '1fr' : '0fr',\r\n transition: 'grid-template-rows 0.2s ease-out',\r\n }}>\r\n <Box sx={{minHeight: 0, overflow: 'hidden'}}>\r\n <Box\r\n sx={{\r\n my: 2,\r\n opacity: isExpanded ? 1 : 0,\r\n visibility: isExpanded ? 'visible' : 'hidden',\r\n transition: isExpanded ? 'opacity 0.15s ease-out 0.05s' : 'opacity 0.1s ease-out, visibility 0s linear 0.2s',\r\n width: '100%',\r\n }}>\r\n {children}\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Drawer>\r\n );\r\n};\r\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -30,3 +30,4 @@ export { FileUploadButton } from "./components/FileUploadButton";
|
|
|
30
30
|
export { HeaderSearchResult } from "./components/Header";
|
|
31
31
|
export { Footer } from "./components/Footer";
|
|
32
32
|
export { AutocompleteSelect } from "./components/AutocompleteSelect";
|
|
33
|
+
export { DrawerPanel } from "./components/DrawerPanel";
|
package/dist/esm/index.js
CHANGED
|
@@ -29,4 +29,5 @@ export { RichTextArea } from './components/RichTextArea.js';
|
|
|
29
29
|
export { FileUploadButton } from './components/FileUploadButton.js';
|
|
30
30
|
export { Footer } from './components/Footer.js';
|
|
31
31
|
export { AutocompleteSelect } from './components/AutocompleteSelect.js';
|
|
32
|
+
export { DrawerPanel } from './components/DrawerPanel.js';
|
|
32
33
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as commonjs } from '../../../../_virtual/
|
|
1
|
+
import { __exports as commonjs } from '../../../../_virtual/index6.js';
|
|
2
2
|
import { __require as requireParser } from './Parser.js';
|
|
3
3
|
import { __require as requireLib } from '../../../domhandler/lib/index.js';
|
|
4
4
|
import { __require as requireTokenizer } from './Tokenizer.js';
|