@vuu-ui/vuu-shell 0.13.16 → 0.13.17
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/cjs/shell-layout-templates/context-panel/ContextPanel.css.js +1 -1
- package/cjs/shell-layout-templates/context-panel/ContextPanel.js +15 -9
- package/cjs/shell-layout-templates/context-panel/ContextPanel.js.map +1 -1
- package/esm/shell-layout-templates/context-panel/ContextPanel.css.js +1 -1
- package/esm/shell-layout-templates/context-panel/ContextPanel.js +16 -10
- package/esm/shell-layout-templates/context-panel/ContextPanel.js.map +1 -1
- package/package.json +13 -13
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var contextPanelCss = ".vuuContextPanel {\n position: relative;\n transition: width 0.3s ease-in-out;\n width: var(--vuu-side-panel-width, 0px) !important;\n z-index: 1;\n}\n\n.vuuContextPanel-expanded {\n --vuu-side-panel-width: var(--vuuContextPanel-width, 300px) !important;\n --vuu-side-panel-shadow: -4px 4px 4px rgba(0, 0, 0, 0.1);\n --vuu-side-panel-padding: var(--vuuContextPanel-padding, 24px);\n}\n\n.vuuContextPanel-overlay {\n width: 0px !important;\n}\n\n.vuuContextPanel-inner {\n background-color: var(--salt-container-primary-background);\n box-shadow: var(--vuu-side-panel-shadow, none);\n display: flex;\n flex-direction: column;\n height: 100%;\n min-width: 0 !important;\n overflow: auto;\n padding
|
|
3
|
+
var contextPanelCss = ".vuuContextPanel {\n position: relative;\n transition: width 0.3s ease-in-out;\n width: var(--vuu-side-panel-width, 0px) !important;\n z-index: 1;\n}\n\n.vuuContextPanel-expanded {\n --vuu-side-panel-width: var(--vuuContextPanel-width, 300px) !important;\n --vuu-side-panel-shadow: -4px 4px 4px rgba(0, 0, 0, 0.1);\n --vuu-side-panel-padding: var(--vuuContextPanel-padding, 24px);\n}\n\n.vuuContextPanel-overlay {\n width: 0px !important;\n}\n\n.vuuView.vuuContextPanel-inner {\n background-color: var(--salt-container-primary-background);\n box-shadow: var(--vuu-side-panel-shadow, none);\n display: flex;\n flex-direction: column;\n height: 100%;\n min-width: 0 !important;\n overflow: auto;\n padding: 24px 8px 24px 24px;\n position: absolute !important;\n right: 0;\n top: 0;\n transition-property: padding-left, padding-right, width;\n transition-duration: 0.3s;\n transition-timing-function: ease-in-out;\n width: var(--vuu-side-panel-width, 0px);\n}\n\n.vuuContextPanel-header {\n align-items: center;\n display: flex;\n flex-wrap: nowrap;\n flex: 0 0 27px !important;\n height: var(--vuuContextPanel-header-height, 48px);\n justify-content: space-between;\n}\n\n.vuuContextPanel-title {\n font-size: 20px;\n font-weight: 700;\n white-space: nowrap;\n}\n\n.vuuContextPanel-content {\n flex: 1 1 auto;\n overflow-y: auto;\n padding-right: 16px;\n width: 100%;\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = contextPanelCss;
|
|
6
6
|
//# sourceMappingURL=ContextPanel.css.js.map
|
|
@@ -26,16 +26,21 @@ const ContextPanel = ({
|
|
|
26
26
|
css: ContextPanel$1,
|
|
27
27
|
window: targetWindow
|
|
28
28
|
});
|
|
29
|
+
const hideContextPanel = vuuUiControls.useHideContextPanel();
|
|
29
30
|
const closeButtonRef = React.useRef(null);
|
|
30
31
|
const dispatchLayoutAction = vuuLayout.useLayoutProviderDispatch();
|
|
31
32
|
const handleClose = React.useCallback(() => {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
33
|
+
if (hideContextPanel) {
|
|
34
|
+
hideContextPanel();
|
|
35
|
+
} else {
|
|
36
|
+
dispatchLayoutAction({
|
|
37
|
+
path: `#${vuuUtils.VuuShellLocation.ContextPanel}`,
|
|
38
|
+
propName: "expanded",
|
|
39
|
+
propValue: false,
|
|
40
|
+
type: "set-prop"
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}, [dispatchLayoutAction, hideContextPanel]);
|
|
39
44
|
const handleKeyDown = React.useCallback(
|
|
40
45
|
(e) => {
|
|
41
46
|
if (e.key === "Escape") {
|
|
@@ -73,14 +78,15 @@ const ContextPanel = ({
|
|
|
73
78
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
74
79
|
vuuUiControls.IconButton,
|
|
75
80
|
{
|
|
81
|
+
appearance: "transparent",
|
|
76
82
|
className: `${classBase}-close`,
|
|
77
83
|
"data-embedded": true,
|
|
78
84
|
icon: "close",
|
|
79
85
|
onClick: handleClose,
|
|
80
86
|
onKeyDown: handleKeyDown,
|
|
81
87
|
ref: closeButtonRef,
|
|
82
|
-
|
|
83
|
-
|
|
88
|
+
sentiment: "neutral",
|
|
89
|
+
size: 16
|
|
84
90
|
}
|
|
85
91
|
)
|
|
86
92
|
] }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextPanel.js","sources":["../../../../../packages/vuu-shell/src/shell-layout-templates/context-panel/ContextPanel.tsx"],"sourcesContent":["import {\n View,\n layoutFromJson,\n useLayoutProviderDispatch,\n} from \"@vuu-ui/vuu-layout\";\nimport {
|
|
1
|
+
{"version":3,"file":"ContextPanel.js","sources":["../../../../../packages/vuu-shell/src/shell-layout-templates/context-panel/ContextPanel.tsx"],"sourcesContent":["import {\n View,\n layoutFromJson,\n useLayoutProviderDispatch,\n} from \"@vuu-ui/vuu-layout\";\nimport {\n IconButton,\n useContextPanel,\n useHideContextPanel,\n} from \"@vuu-ui/vuu-ui-controls\";\nimport { LayoutJSON, VuuShellLocation } from \"@vuu-ui/vuu-utils\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport cx from \"clsx\";\nimport {\n KeyboardEventHandler,\n ReactNode,\n useCallback,\n useLayoutEffect,\n useMemo,\n useRef,\n} from \"react\";\n\nimport contextPanelCss from \"./ContextPanel.css\";\n\nconst classBase = \"vuuContextPanel\";\n\nexport interface ContextPanelProps {\n [key: string]: unknown;\n className?: string;\n content?: LayoutJSON;\n expanded?: boolean;\n id?: string;\n onClose?: () => void;\n overlay?: boolean;\n title?: ReactNode;\n}\n\nexport const ContextPanel = ({\n className: classNameProp,\n expanded = false,\n content: contentProp,\n id,\n onClose,\n overlay = false,\n title,\n}: ContextPanelProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-context-panel\",\n css: contextPanelCss,\n window: targetWindow,\n });\n\n const hideContextPanel = useHideContextPanel();\n const closeButtonRef = useRef<HTMLButtonElement>(null);\n const dispatchLayoutAction = useLayoutProviderDispatch();\n const handleClose = useCallback(() => {\n if (hideContextPanel) {\n hideContextPanel();\n } else {\n dispatchLayoutAction({\n path: `#${VuuShellLocation.ContextPanel}`,\n propName: \"expanded\",\n propValue: false,\n type: \"set-prop\",\n });\n }\n }, [dispatchLayoutAction, hideContextPanel]);\n\n const handleKeyDown = useCallback<KeyboardEventHandler>(\n (e) => {\n if (e.key === \"Escape\") {\n handleClose();\n }\n },\n [handleClose],\n );\n\n const className = cx(classBase, classNameProp, {\n [`${classBase}-expanded`]: expanded,\n [`${classBase}-inline`]: overlay !== true,\n [`${classBase}-overlay`]: overlay,\n });\n\n const content = useMemo(\n () =>\n contentProp && expanded ? layoutFromJson(contentProp, \"context-0\") : null,\n [contentProp, expanded],\n );\n\n useLayoutEffect(() => {\n if (expanded) {\n // Components loaded into the ContextPanel will often assume focus themselves,\n //but if not, default to close button\n closeButtonRef.current?.focus();\n } else {\n onClose?.();\n }\n }, [expanded, onClose]);\n\n return (\n <div\n className={cx(classBase, className, \"vuuScrollable\", {\n [`${classBase}-expanded`]: expanded,\n })}\n id={id}\n >\n <View className={`${classBase}-inner`} header={false} id={id}>\n <div className={`${classBase}-header`}>\n <h2 className={`${classBase}-title`}>{title}</h2>\n <IconButton\n appearance=\"transparent\"\n className={`${classBase}-close`}\n data-embedded\n icon=\"close\"\n onClick={handleClose}\n onKeyDown={handleKeyDown}\n ref={closeButtonRef}\n sentiment=\"neutral\"\n size={16}\n />\n </div>\n <div className={`${classBase}-content`}>{content}</div>\n </View>\n </div>\n );\n};\n"],"names":["useWindow","useComponentCssInjection","contextPanelCss","useHideContextPanel","useRef","useLayoutProviderDispatch","useCallback","VuuShellLocation","useMemo","layoutFromJson","useLayoutEffect","jsx","jsxs","View","IconButton"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var contextPanelCss = ".vuuContextPanel {\n position: relative;\n transition: width 0.3s ease-in-out;\n width: var(--vuu-side-panel-width, 0px) !important;\n z-index: 1;\n}\n\n.vuuContextPanel-expanded {\n --vuu-side-panel-width: var(--vuuContextPanel-width, 300px) !important;\n --vuu-side-panel-shadow: -4px 4px 4px rgba(0, 0, 0, 0.1);\n --vuu-side-panel-padding: var(--vuuContextPanel-padding, 24px);\n}\n\n.vuuContextPanel-overlay {\n width: 0px !important;\n}\n\n.vuuContextPanel-inner {\n background-color: var(--salt-container-primary-background);\n box-shadow: var(--vuu-side-panel-shadow, none);\n display: flex;\n flex-direction: column;\n height: 100%;\n min-width: 0 !important;\n overflow: auto;\n padding
|
|
1
|
+
var contextPanelCss = ".vuuContextPanel {\n position: relative;\n transition: width 0.3s ease-in-out;\n width: var(--vuu-side-panel-width, 0px) !important;\n z-index: 1;\n}\n\n.vuuContextPanel-expanded {\n --vuu-side-panel-width: var(--vuuContextPanel-width, 300px) !important;\n --vuu-side-panel-shadow: -4px 4px 4px rgba(0, 0, 0, 0.1);\n --vuu-side-panel-padding: var(--vuuContextPanel-padding, 24px);\n}\n\n.vuuContextPanel-overlay {\n width: 0px !important;\n}\n\n.vuuView.vuuContextPanel-inner {\n background-color: var(--salt-container-primary-background);\n box-shadow: var(--vuu-side-panel-shadow, none);\n display: flex;\n flex-direction: column;\n height: 100%;\n min-width: 0 !important;\n overflow: auto;\n padding: 24px 8px 24px 24px;\n position: absolute !important;\n right: 0;\n top: 0;\n transition-property: padding-left, padding-right, width;\n transition-duration: 0.3s;\n transition-timing-function: ease-in-out;\n width: var(--vuu-side-panel-width, 0px);\n}\n\n.vuuContextPanel-header {\n align-items: center;\n display: flex;\n flex-wrap: nowrap;\n flex: 0 0 27px !important;\n height: var(--vuuContextPanel-header-height, 48px);\n justify-content: space-between;\n}\n\n.vuuContextPanel-title {\n font-size: 20px;\n font-weight: 700;\n white-space: nowrap;\n}\n\n.vuuContextPanel-content {\n flex: 1 1 auto;\n overflow-y: auto;\n padding-right: 16px;\n width: 100%;\n}\n";
|
|
2
2
|
|
|
3
3
|
export { contextPanelCss as default };
|
|
4
4
|
//# sourceMappingURL=ContextPanel.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { useLayoutProviderDispatch, layoutFromJson, View } from '@vuu-ui/vuu-layout';
|
|
3
|
-
import { IconButton } from '@vuu-ui/vuu-ui-controls';
|
|
3
|
+
import { useHideContextPanel, IconButton } from '@vuu-ui/vuu-ui-controls';
|
|
4
4
|
import { VuuShellLocation } from '@vuu-ui/vuu-utils';
|
|
5
5
|
import { useComponentCssInjection } from '@salt-ds/styles';
|
|
6
6
|
import { useWindow } from '@salt-ds/window';
|
|
@@ -24,16 +24,21 @@ const ContextPanel = ({
|
|
|
24
24
|
css: contextPanelCss,
|
|
25
25
|
window: targetWindow
|
|
26
26
|
});
|
|
27
|
+
const hideContextPanel = useHideContextPanel();
|
|
27
28
|
const closeButtonRef = useRef(null);
|
|
28
29
|
const dispatchLayoutAction = useLayoutProviderDispatch();
|
|
29
30
|
const handleClose = useCallback(() => {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
if (hideContextPanel) {
|
|
32
|
+
hideContextPanel();
|
|
33
|
+
} else {
|
|
34
|
+
dispatchLayoutAction({
|
|
35
|
+
path: `#${VuuShellLocation.ContextPanel}`,
|
|
36
|
+
propName: "expanded",
|
|
37
|
+
propValue: false,
|
|
38
|
+
type: "set-prop"
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}, [dispatchLayoutAction, hideContextPanel]);
|
|
37
42
|
const handleKeyDown = useCallback(
|
|
38
43
|
(e) => {
|
|
39
44
|
if (e.key === "Escape") {
|
|
@@ -71,14 +76,15 @@ const ContextPanel = ({
|
|
|
71
76
|
/* @__PURE__ */ jsx(
|
|
72
77
|
IconButton,
|
|
73
78
|
{
|
|
79
|
+
appearance: "transparent",
|
|
74
80
|
className: `${classBase}-close`,
|
|
75
81
|
"data-embedded": true,
|
|
76
82
|
icon: "close",
|
|
77
83
|
onClick: handleClose,
|
|
78
84
|
onKeyDown: handleKeyDown,
|
|
79
85
|
ref: closeButtonRef,
|
|
80
|
-
|
|
81
|
-
|
|
86
|
+
sentiment: "neutral",
|
|
87
|
+
size: 16
|
|
82
88
|
}
|
|
83
89
|
)
|
|
84
90
|
] }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextPanel.js","sources":["../../../../../packages/vuu-shell/src/shell-layout-templates/context-panel/ContextPanel.tsx"],"sourcesContent":["import {\n View,\n layoutFromJson,\n useLayoutProviderDispatch,\n} from \"@vuu-ui/vuu-layout\";\nimport {
|
|
1
|
+
{"version":3,"file":"ContextPanel.js","sources":["../../../../../packages/vuu-shell/src/shell-layout-templates/context-panel/ContextPanel.tsx"],"sourcesContent":["import {\n View,\n layoutFromJson,\n useLayoutProviderDispatch,\n} from \"@vuu-ui/vuu-layout\";\nimport {\n IconButton,\n useContextPanel,\n useHideContextPanel,\n} from \"@vuu-ui/vuu-ui-controls\";\nimport { LayoutJSON, VuuShellLocation } from \"@vuu-ui/vuu-utils\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport cx from \"clsx\";\nimport {\n KeyboardEventHandler,\n ReactNode,\n useCallback,\n useLayoutEffect,\n useMemo,\n useRef,\n} from \"react\";\n\nimport contextPanelCss from \"./ContextPanel.css\";\n\nconst classBase = \"vuuContextPanel\";\n\nexport interface ContextPanelProps {\n [key: string]: unknown;\n className?: string;\n content?: LayoutJSON;\n expanded?: boolean;\n id?: string;\n onClose?: () => void;\n overlay?: boolean;\n title?: ReactNode;\n}\n\nexport const ContextPanel = ({\n className: classNameProp,\n expanded = false,\n content: contentProp,\n id,\n onClose,\n overlay = false,\n title,\n}: ContextPanelProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-context-panel\",\n css: contextPanelCss,\n window: targetWindow,\n });\n\n const hideContextPanel = useHideContextPanel();\n const closeButtonRef = useRef<HTMLButtonElement>(null);\n const dispatchLayoutAction = useLayoutProviderDispatch();\n const handleClose = useCallback(() => {\n if (hideContextPanel) {\n hideContextPanel();\n } else {\n dispatchLayoutAction({\n path: `#${VuuShellLocation.ContextPanel}`,\n propName: \"expanded\",\n propValue: false,\n type: \"set-prop\",\n });\n }\n }, [dispatchLayoutAction, hideContextPanel]);\n\n const handleKeyDown = useCallback<KeyboardEventHandler>(\n (e) => {\n if (e.key === \"Escape\") {\n handleClose();\n }\n },\n [handleClose],\n );\n\n const className = cx(classBase, classNameProp, {\n [`${classBase}-expanded`]: expanded,\n [`${classBase}-inline`]: overlay !== true,\n [`${classBase}-overlay`]: overlay,\n });\n\n const content = useMemo(\n () =>\n contentProp && expanded ? layoutFromJson(contentProp, \"context-0\") : null,\n [contentProp, expanded],\n );\n\n useLayoutEffect(() => {\n if (expanded) {\n // Components loaded into the ContextPanel will often assume focus themselves,\n //but if not, default to close button\n closeButtonRef.current?.focus();\n } else {\n onClose?.();\n }\n }, [expanded, onClose]);\n\n return (\n <div\n className={cx(classBase, className, \"vuuScrollable\", {\n [`${classBase}-expanded`]: expanded,\n })}\n id={id}\n >\n <View className={`${classBase}-inner`} header={false} id={id}>\n <div className={`${classBase}-header`}>\n <h2 className={`${classBase}-title`}>{title}</h2>\n <IconButton\n appearance=\"transparent\"\n className={`${classBase}-close`}\n data-embedded\n icon=\"close\"\n onClick={handleClose}\n onKeyDown={handleKeyDown}\n ref={closeButtonRef}\n sentiment=\"neutral\"\n size={16}\n />\n </div>\n <div className={`${classBase}-content`}>{content}</div>\n </View>\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.13.
|
|
2
|
+
"version": "0.13.17",
|
|
3
3
|
"description": "VUU UI Shell",
|
|
4
4
|
"author": "heswell",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"devDependencies": {
|
|
7
|
-
"@vuu-ui/vuu-data-types": "0.13.
|
|
8
|
-
"@vuu-ui/vuu-protocol-types": "0.13.
|
|
9
|
-
"@vuu-ui/vuu-table-types": "0.13.
|
|
7
|
+
"@vuu-ui/vuu-data-types": "0.13.17",
|
|
8
|
+
"@vuu-ui/vuu-protocol-types": "0.13.17",
|
|
9
|
+
"@vuu-ui/vuu-table-types": "0.13.17"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@salt-ds/core": "1.43.0",
|
|
13
13
|
"@salt-ds/styles": "0.2.1",
|
|
14
14
|
"@salt-ds/window": "0.1.1",
|
|
15
|
-
"@vuu-ui/vuu-context-menu": "0.13.
|
|
16
|
-
"@vuu-ui/vuu-data-react": "0.13.
|
|
17
|
-
"@vuu-ui/vuu-data-remote": "0.13.
|
|
18
|
-
"@vuu-ui/vuu-icons": "0.13.
|
|
19
|
-
"@vuu-ui/vuu-layout": "0.13.
|
|
20
|
-
"@vuu-ui/vuu-popups": "0.13.
|
|
21
|
-
"@vuu-ui/vuu-table": "0.13.
|
|
22
|
-
"@vuu-ui/vuu-ui-controls": "0.13.
|
|
23
|
-
"@vuu-ui/vuu-utils": "0.13.
|
|
15
|
+
"@vuu-ui/vuu-context-menu": "0.13.17",
|
|
16
|
+
"@vuu-ui/vuu-data-react": "0.13.17",
|
|
17
|
+
"@vuu-ui/vuu-data-remote": "0.13.17",
|
|
18
|
+
"@vuu-ui/vuu-icons": "0.13.17",
|
|
19
|
+
"@vuu-ui/vuu-layout": "0.13.17",
|
|
20
|
+
"@vuu-ui/vuu-popups": "0.13.17",
|
|
21
|
+
"@vuu-ui/vuu-table": "0.13.17",
|
|
22
|
+
"@vuu-ui/vuu-ui-controls": "0.13.17",
|
|
23
|
+
"@vuu-ui/vuu-utils": "0.13.17",
|
|
24
24
|
"html-to-image": "^1.11.11"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|