@hitachivantara/uikit-react-lab 5.36.0 → 5.36.1
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/Canvas/{CanvasPanel/CanvasPanel.cjs → Panel/Panel.cjs} +5 -18
- package/dist/cjs/Canvas/{CanvasPanel/CanvasPanel.styles.cjs → Panel/Panel.styles.cjs} +13 -8
- package/dist/cjs/Canvas/{CanvasTabs/CanvasTabs.cjs → Tabs/Tabs.cjs} +4 -7
- package/dist/cjs/Canvas/{CanvasTabs/CanvasTabs.styles.cjs → Tabs/Tabs.styles.cjs} +4 -1
- package/dist/cjs/Canvas/{CanvasToolbar/CanvasToolbar.cjs → Toolbar/Toolbar.cjs} +13 -4
- package/dist/cjs/Canvas/{CanvasToolbar/CanvasToolbar.styles.cjs → Toolbar/Toolbar.styles.cjs} +3 -4
- package/dist/cjs/index.cjs +12 -12
- package/dist/esm/Canvas/{CanvasPanel/CanvasPanel.js → Panel/Panel.js} +4 -17
- package/dist/esm/Canvas/Panel/Panel.js.map +1 -0
- package/dist/esm/Canvas/{CanvasPanel/CanvasPanel.styles.js → Panel/Panel.styles.js} +14 -9
- package/dist/esm/Canvas/Panel/Panel.styles.js.map +1 -0
- package/dist/esm/Canvas/{CanvasTabs/CanvasTabs.js → Tabs/Tabs.js} +3 -6
- package/dist/esm/Canvas/Tabs/Tabs.js.map +1 -0
- package/dist/esm/Canvas/{CanvasTabs/CanvasTabs.styles.js → Tabs/Tabs.styles.js} +5 -2
- package/dist/esm/Canvas/Tabs/Tabs.styles.js.map +1 -0
- package/dist/esm/Canvas/{CanvasToolbar/CanvasToolbar.js → Toolbar/Toolbar.js} +12 -3
- package/dist/esm/Canvas/Toolbar/Toolbar.js.map +1 -0
- package/dist/esm/Canvas/{CanvasToolbar/CanvasToolbar.styles.js → Toolbar/Toolbar.styles.js} +3 -4
- package/dist/esm/Canvas/Toolbar/Toolbar.styles.js.map +1 -0
- package/dist/esm/index.js +6 -6
- package/dist/types/index.d.ts +18 -16
- package/package.json +7 -6
- package/dist/esm/Canvas/CanvasPanel/CanvasPanel.js.map +0 -1
- package/dist/esm/Canvas/CanvasPanel/CanvasPanel.styles.js.map +0 -1
- package/dist/esm/Canvas/CanvasTabs/CanvasTabs.js.map +0 -1
- package/dist/esm/Canvas/CanvasTabs/CanvasTabs.styles.js.map +0 -1
- package/dist/esm/Canvas/CanvasToolbar/CanvasToolbar.js.map +0 -1
- package/dist/esm/Canvas/CanvasToolbar/CanvasToolbar.styles.js.map +0 -1
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
4
|
-
const React = require("react");
|
|
5
4
|
const uikitReactCore = require("@hitachivantara/uikit-react-core");
|
|
6
5
|
const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
6
|
+
const Panel_styles = require("./Panel.styles.cjs");
|
|
7
|
+
const Tabs = require("../Tabs/Tabs.cjs");
|
|
9
8
|
const DEFAULT_LABELS = {
|
|
10
9
|
open: "Open",
|
|
11
10
|
close: "Close"
|
|
@@ -23,21 +22,9 @@ const HvCanvasPanel = (props) => {
|
|
|
23
22
|
classes: classesProp,
|
|
24
23
|
...others
|
|
25
24
|
} = uikitReactCore.useDefaultProps("HvCanvasPanel", props);
|
|
26
|
-
const { classes, cx } =
|
|
25
|
+
const { classes, cx } = Panel_styles.useClasses(classesProp);
|
|
27
26
|
const labels = uikitReactCore.useLabels(DEFAULT_LABELS, labelsProp);
|
|
28
|
-
const { rootId, activeTheme } = uikitReactCore.useTheme();
|
|
29
27
|
const [open, setOpen] = uikitReactCore.useControlled(openProp, Boolean(defaultOpened));
|
|
30
|
-
const setPanelWidth = React.useCallback(() => {
|
|
31
|
-
if (rootId) {
|
|
32
|
-
document.getElementById(rootId)?.style.setProperty(
|
|
33
|
-
"--canvas-panel-width",
|
|
34
|
-
!open ? "0px" : `${320 + (activeTheme ? parseInt(activeTheme.space.md, 10) : 24)}px`
|
|
35
|
-
);
|
|
36
|
-
}
|
|
37
|
-
}, [activeTheme, open, rootId]);
|
|
38
|
-
React.useEffect(() => {
|
|
39
|
-
setPanelWidth();
|
|
40
|
-
}, [open, setPanelWidth]);
|
|
41
28
|
const handleTogglePanel = (event) => {
|
|
42
29
|
setOpen((prev) => !prev);
|
|
43
30
|
onToggle?.(event, !open);
|
|
@@ -56,7 +43,7 @@ const HvCanvasPanel = (props) => {
|
|
|
56
43
|
...others,
|
|
57
44
|
children: [
|
|
58
45
|
tabs && /* @__PURE__ */ jsxRuntime.jsx(
|
|
59
|
-
|
|
46
|
+
Tabs.HvCanvasTabs,
|
|
60
47
|
{
|
|
61
48
|
className: classes.tabs,
|
|
62
49
|
tabs,
|
|
@@ -88,5 +75,5 @@ const HvCanvasPanel = (props) => {
|
|
|
88
75
|
)
|
|
89
76
|
] });
|
|
90
77
|
};
|
|
91
|
-
exports.canvasPanelClasses =
|
|
78
|
+
exports.canvasPanelClasses = Panel_styles.staticClasses;
|
|
92
79
|
exports.HvCanvasPanel = HvCanvasPanel;
|
|
@@ -8,16 +8,18 @@ const { staticClasses, useClasses } = uikitReactCore.createClasses("HvCanvasPane
|
|
|
8
8
|
position: "absolute",
|
|
9
9
|
top: 0,
|
|
10
10
|
left: 0,
|
|
11
|
-
boxShadow:
|
|
11
|
+
boxShadow: "4px 0px 8px -4px color-mix(in srgb, #414141 12%, transparent)",
|
|
12
12
|
zIndex: uikitStyles.theme.zIndices.overlay,
|
|
13
13
|
backgroundColor: "transparent",
|
|
14
|
-
transition: "width 0.3s ease",
|
|
14
|
+
transition: "visibility 0.3s ease, width 0.3s ease",
|
|
15
15
|
overflow: "hidden",
|
|
16
16
|
"&$open": {
|
|
17
|
-
width: 320
|
|
17
|
+
width: 320,
|
|
18
|
+
visibility: "visible"
|
|
18
19
|
},
|
|
19
20
|
"&$close": {
|
|
20
|
-
width: 0
|
|
21
|
+
width: 0,
|
|
22
|
+
visibility: "hidden"
|
|
21
23
|
}
|
|
22
24
|
},
|
|
23
25
|
tabs: {},
|
|
@@ -32,12 +34,12 @@ const { staticClasses, useClasses } = uikitReactCore.createClasses("HvCanvasPane
|
|
|
32
34
|
display: "flex",
|
|
33
35
|
justifyContent: "center",
|
|
34
36
|
zIndex: uikitStyles.theme.zIndices.overlay,
|
|
35
|
-
boxShadow:
|
|
37
|
+
boxShadow: "4px 0px 8px -4px color-mix(in srgb, #414141 12%, transparent)",
|
|
36
38
|
backgroundColor: uikitStyles.theme.colors.atmo1,
|
|
37
|
-
borderRadius: `0 ${uikitStyles.theme.radii.round} ${uikitStyles.theme.radii.round} 0
|
|
39
|
+
borderRadius: `0 ${uikitStyles.theme.radii.round} ${uikitStyles.theme.radii.round} 0`,
|
|
38
40
|
position: "absolute",
|
|
39
41
|
transition: "left 0.3s ease",
|
|
40
|
-
top:
|
|
42
|
+
top: "calc(50% - 86px)",
|
|
41
43
|
"&$handleOpen": {
|
|
42
44
|
left: 320
|
|
43
45
|
},
|
|
@@ -46,10 +48,13 @@ const { staticClasses, useClasses } = uikitReactCore.createClasses("HvCanvasPane
|
|
|
46
48
|
},
|
|
47
49
|
"&:hover": {
|
|
48
50
|
cursor: "pointer"
|
|
51
|
+
},
|
|
52
|
+
"&:focus-visible": {
|
|
53
|
+
...uikitReactCore.outlineStyles
|
|
49
54
|
}
|
|
50
55
|
},
|
|
51
56
|
handleButton: {
|
|
52
|
-
top:
|
|
57
|
+
top: "calc(50% - 16px)",
|
|
53
58
|
position: "absolute"
|
|
54
59
|
},
|
|
55
60
|
open: {},
|
|
@@ -6,7 +6,7 @@ const Tab = require("@mui/base/Tab");
|
|
|
6
6
|
const Tabs = require("@mui/base/Tabs");
|
|
7
7
|
const TabsList = require("@mui/base/TabsList");
|
|
8
8
|
const uikitReactCore = require("@hitachivantara/uikit-react-core");
|
|
9
|
-
const
|
|
9
|
+
const Tabs_styles = require("./Tabs.styles.cjs");
|
|
10
10
|
const HvCanvasTabs = (props) => {
|
|
11
11
|
const {
|
|
12
12
|
tabs,
|
|
@@ -15,10 +15,8 @@ const HvCanvasTabs = (props) => {
|
|
|
15
15
|
classes: classesProp,
|
|
16
16
|
...others
|
|
17
17
|
} = uikitReactCore.useDefaultProps("HvCanvasTabs", props);
|
|
18
|
-
const { classes, cx } =
|
|
19
|
-
const [selectedTab, setSelectedTab] = React.useState(
|
|
20
|
-
tabs?.[0]?.id || "none"
|
|
21
|
-
);
|
|
18
|
+
const { classes, cx } = Tabs_styles.useClasses(classesProp);
|
|
19
|
+
const [selectedTab, setSelectedTab] = React.useState(tabs?.[0]?.id || "none");
|
|
22
20
|
const handleTabChange = (event, value) => {
|
|
23
21
|
onChange?.(event, value);
|
|
24
22
|
setSelectedTab(value);
|
|
@@ -38,7 +36,6 @@ const HvCanvasTabs = (props) => {
|
|
|
38
36
|
className: cx(classes.tab, {
|
|
39
37
|
[classes.selected]: tab.id === selectedTab
|
|
40
38
|
}),
|
|
41
|
-
onChange: handleTabChange,
|
|
42
39
|
tabIndex: 0,
|
|
43
40
|
children: tab.content
|
|
44
41
|
},
|
|
@@ -47,5 +44,5 @@ const HvCanvasTabs = (props) => {
|
|
|
47
44
|
}
|
|
48
45
|
);
|
|
49
46
|
};
|
|
50
|
-
exports.canvasTabsClasses =
|
|
47
|
+
exports.canvasTabsClasses = Tabs_styles.staticClasses;
|
|
51
48
|
exports.HvCanvasTabs = HvCanvasTabs;
|
|
@@ -16,7 +16,7 @@ const { staticClasses, useClasses } = uikitReactCore.createClasses("HvCanvasTabs
|
|
|
16
16
|
alignItems: "center",
|
|
17
17
|
justifyContent: "center",
|
|
18
18
|
flex: 1,
|
|
19
|
-
borderRadius:
|
|
19
|
+
borderRadius: "16px 16px 0 0",
|
|
20
20
|
backgroundColor: uikitReactCore.theme.colors.atmo2,
|
|
21
21
|
color: uikitReactCore.theme.colors.secondary_60,
|
|
22
22
|
overflow: "hidden",
|
|
@@ -33,6 +33,9 @@ const { staticClasses, useClasses } = uikitReactCore.createClasses("HvCanvasTabs
|
|
|
33
33
|
"&$selected": {
|
|
34
34
|
backgroundColor: uikitReactCore.theme.colors.atmo1,
|
|
35
35
|
...uikitReactCore.theme.typography.label
|
|
36
|
+
},
|
|
37
|
+
"&:focus-visible": {
|
|
38
|
+
...uikitReactCore.outlineStyles
|
|
36
39
|
}
|
|
37
40
|
},
|
|
38
41
|
selected: {}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
4
4
|
const uikitReactCore = require("@hitachivantara/uikit-react-core");
|
|
5
5
|
const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
|
|
6
|
-
const
|
|
6
|
+
const Toolbar_styles = require("./Toolbar.styles.cjs");
|
|
7
7
|
const DEFAULT_LABELS = {
|
|
8
8
|
back: "Back"
|
|
9
9
|
};
|
|
@@ -14,17 +14,26 @@ const HvCanvasToolbar = (props) => {
|
|
|
14
14
|
labels: labelsProp,
|
|
15
15
|
className,
|
|
16
16
|
children,
|
|
17
|
+
backButtonProps,
|
|
17
18
|
classes: classesProp,
|
|
18
19
|
...others
|
|
19
20
|
} = uikitReactCore.useDefaultProps("HvCanvasToolbar", props);
|
|
20
|
-
const { classes, cx } =
|
|
21
|
+
const { classes, cx } = Toolbar_styles.useClasses(classesProp);
|
|
21
22
|
const labels = uikitReactCore.useLabels(DEFAULT_LABELS, labelsProp);
|
|
22
23
|
const title = typeof titleProp === "string" ? /* @__PURE__ */ jsxRuntime.jsx(uikitReactCore.HvTypography, { variant: "title4", children: titleProp }) : titleProp;
|
|
23
24
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx(classes.root, className), ...others, children: [
|
|
24
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.back, children: backButton ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
25
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.back, children: backButton ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
26
|
+
uikitReactCore.HvIconButton,
|
|
27
|
+
{
|
|
28
|
+
title: labels.back,
|
|
29
|
+
variant: "primaryGhost",
|
|
30
|
+
...backButtonProps,
|
|
31
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.Previous, {})
|
|
32
|
+
}
|
|
33
|
+
) }),
|
|
25
34
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.title, children: title }),
|
|
26
35
|
children && /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.actions, children })
|
|
27
36
|
] });
|
|
28
37
|
};
|
|
29
|
-
exports.canvasToolbarClasses =
|
|
38
|
+
exports.canvasToolbarClasses = Toolbar_styles.staticClasses;
|
|
30
39
|
exports.HvCanvasToolbar = HvCanvasToolbar;
|
package/dist/cjs/Canvas/{CanvasToolbar/CanvasToolbar.styles.cjs → Toolbar/Toolbar.styles.cjs}
RENAMED
|
@@ -4,17 +4,15 @@ const uikitReactCore = require("@hitachivantara/uikit-react-core");
|
|
|
4
4
|
const uikitStyles = require("@hitachivantara/uikit-styles");
|
|
5
5
|
const { staticClasses, useClasses } = uikitReactCore.createClasses("HvCanvasToolbar", {
|
|
6
6
|
root: {
|
|
7
|
-
width:
|
|
7
|
+
width: "100%",
|
|
8
8
|
height: 54,
|
|
9
9
|
display: "flex",
|
|
10
10
|
alignItems: "center",
|
|
11
11
|
borderRadius: uikitStyles.theme.radii.full,
|
|
12
12
|
backgroundColor: uikitStyles.theme.colors.atmo1,
|
|
13
|
-
padding: uikitStyles.theme.spacing(0, "md", 0, 0),
|
|
14
13
|
position: "absolute",
|
|
15
14
|
right: 0,
|
|
16
15
|
top: 0,
|
|
17
|
-
margin: `0 0 0 ${uikitStyles.theme.space.md}`,
|
|
18
16
|
transition: "width 0.3s ease"
|
|
19
17
|
},
|
|
20
18
|
back: {
|
|
@@ -36,7 +34,8 @@ const { staticClasses, useClasses } = uikitReactCore.createClasses("HvCanvasTool
|
|
|
36
34
|
actions: {
|
|
37
35
|
display: "flex",
|
|
38
36
|
flexWrap: "nowrap",
|
|
39
|
-
overflow: "scroll"
|
|
37
|
+
overflow: "scroll",
|
|
38
|
+
paddingRight: uikitStyles.theme.space.md
|
|
40
39
|
}
|
|
41
40
|
});
|
|
42
41
|
exports.staticClasses = staticClasses;
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -4,12 +4,12 @@ const Blade_styles = require("./Blade/Blade.styles.cjs");
|
|
|
4
4
|
const Blade = require("./Blade/Blade.cjs");
|
|
5
5
|
const Blades_styles = require("./Blades/Blades.styles.cjs");
|
|
6
6
|
const Blades = require("./Blades/Blades.cjs");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
7
|
+
const Toolbar_styles = require("./Canvas/Toolbar/Toolbar.styles.cjs");
|
|
8
|
+
const Toolbar = require("./Canvas/Toolbar/Toolbar.cjs");
|
|
9
|
+
const Panel_styles = require("./Canvas/Panel/Panel.styles.cjs");
|
|
10
|
+
const Panel = require("./Canvas/Panel/Panel.cjs");
|
|
11
|
+
const Tabs_styles = require("./Canvas/Tabs/Tabs.styles.cjs");
|
|
12
|
+
const Tabs = require("./Canvas/Tabs/Tabs.cjs");
|
|
13
13
|
const Dashboard_styles = require("./Dashboard/Dashboard.styles.cjs");
|
|
14
14
|
const Dashboard = require("./Dashboard/Dashboard.cjs");
|
|
15
15
|
const Flow_styles = require("./Flow/Flow.styles.cjs");
|
|
@@ -50,12 +50,12 @@ exports.bladeClasses = Blade_styles.staticClasses;
|
|
|
50
50
|
exports.HvBlade = Blade.HvBlade;
|
|
51
51
|
exports.bladesClasses = Blades_styles.staticClasses;
|
|
52
52
|
exports.HvBlades = Blades.HvBlades;
|
|
53
|
-
exports.canvasToolbarClasses =
|
|
54
|
-
exports.HvCanvasToolbar =
|
|
55
|
-
exports.canvasPanelClasses =
|
|
56
|
-
exports.HvCanvasPanel =
|
|
57
|
-
exports.canvasTabsClasses =
|
|
58
|
-
exports.HvCanvasTabs =
|
|
53
|
+
exports.canvasToolbarClasses = Toolbar_styles.staticClasses;
|
|
54
|
+
exports.HvCanvasToolbar = Toolbar.HvCanvasToolbar;
|
|
55
|
+
exports.canvasPanelClasses = Panel_styles.staticClasses;
|
|
56
|
+
exports.HvCanvasPanel = Panel.HvCanvasPanel;
|
|
57
|
+
exports.canvasTabsClasses = Tabs_styles.staticClasses;
|
|
58
|
+
exports.HvCanvasTabs = Tabs.HvCanvasTabs;
|
|
59
59
|
exports.dashboardClasses = Dashboard_styles.staticClasses;
|
|
60
60
|
exports.HvDashboard = Dashboard.HvDashboard;
|
|
61
61
|
exports.flowClasses = Flow_styles.staticClasses;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { useDefaultProps, useLabels, useTheme, useControlled } from "@hitachivantara/uikit-react-core";
|
|
2
|
+
import { useDefaultProps, useLabels, useControlled } from "@hitachivantara/uikit-react-core";
|
|
4
3
|
import { Start, End } from "@hitachivantara/uikit-react-icons";
|
|
5
|
-
import { useClasses } from "./
|
|
6
|
-
import { staticClasses } from "./
|
|
7
|
-
import { HvCanvasTabs } from "../
|
|
4
|
+
import { useClasses } from "./Panel.styles.js";
|
|
5
|
+
import { staticClasses } from "./Panel.styles.js";
|
|
6
|
+
import { HvCanvasTabs } from "../Tabs/Tabs.js";
|
|
8
7
|
const DEFAULT_LABELS = {
|
|
9
8
|
open: "Open",
|
|
10
9
|
close: "Close"
|
|
@@ -24,19 +23,7 @@ const HvCanvasPanel = (props) => {
|
|
|
24
23
|
} = useDefaultProps("HvCanvasPanel", props);
|
|
25
24
|
const { classes, cx } = useClasses(classesProp);
|
|
26
25
|
const labels = useLabels(DEFAULT_LABELS, labelsProp);
|
|
27
|
-
const { rootId, activeTheme } = useTheme();
|
|
28
26
|
const [open, setOpen] = useControlled(openProp, Boolean(defaultOpened));
|
|
29
|
-
const setPanelWidth = useCallback(() => {
|
|
30
|
-
if (rootId) {
|
|
31
|
-
document.getElementById(rootId)?.style.setProperty(
|
|
32
|
-
"--canvas-panel-width",
|
|
33
|
-
!open ? "0px" : `${320 + (activeTheme ? parseInt(activeTheme.space.md, 10) : 24)}px`
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
}, [activeTheme, open, rootId]);
|
|
37
|
-
useEffect(() => {
|
|
38
|
-
setPanelWidth();
|
|
39
|
-
}, [open, setPanelWidth]);
|
|
40
27
|
const handleTogglePanel = (event) => {
|
|
41
28
|
setOpen((prev) => !prev);
|
|
42
29
|
onToggle?.(event, !open);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Panel.js","sources":["../../../../src/Canvas/Panel/Panel.tsx"],"sourcesContent":["import {\n ExtractNames,\n HvBaseProps,\n useControlled,\n useDefaultProps,\n useLabels,\n} from \"@hitachivantara/uikit-react-core\";\nimport { End, Start } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvCanvasTab, HvCanvasTabs, HvCanvasTabsProps } from \"../Tabs\";\nimport { staticClasses, useClasses } from \"./Panel.styles\";\n\nexport { staticClasses as canvasPanelClasses };\n\nexport type HvCanvasPanelClasses = ExtractNames<typeof useClasses>;\n\nconst DEFAULT_LABELS = {\n open: \"Open\",\n close: \"Close\",\n};\n\nexport interface HvCanvasPanelProps extends HvBaseProps<HTMLDivElement> {\n /** Whether the panel is open or not. If this property is defined, the panel must be fully controlled. */\n open?: boolean;\n /** When uncontrolled, defines the initial state of the panel. */\n defaultOpened?: boolean;\n /** The tabs that should be visible on the canvas panel. */\n tabs?: HvCanvasTab[];\n /** The function that will be executed whenever the panel toggles. It will receive the state of the panel. */\n onToggle?: (\n event: React.MouseEvent | React.KeyboardEvent,\n open: boolean,\n ) => void;\n /** The function that will be executed when a tab changes. It will receive the id of the selected tab. */\n onTabChange?: (event: React.SyntheticEvent | null, tabId: string) => void;\n /** An object containing all the labels. */\n labels?: Partial<typeof DEFAULT_LABELS>;\n /* The content that will be rendered within the canvas panel. */\n children?: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCanvasPanelClasses;\n}\n\n/**\n * A panel component to use in a canvas context.\n */\nexport const HvCanvasPanel = (props: HvCanvasPanelProps) => {\n const {\n open: openProp,\n defaultOpened = false,\n tabs,\n onToggle,\n onTabChange,\n labels: labelsProp,\n className,\n children,\n classes: classesProp,\n ...others\n } = useDefaultProps(\"HvCanvasPanel\", props);\n\n const { classes, cx } = useClasses(classesProp);\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const [open, setOpen] = useControlled(openProp, Boolean(defaultOpened));\n\n const handleTogglePanel = (event: React.MouseEvent | React.KeyboardEvent) => {\n setOpen((prev) => !prev);\n onToggle?.(event, !open);\n };\n\n const handleTabChange: HvCanvasTabsProps[\"onChange\"] = (event, tabId) => {\n onTabChange?.(event, tabId);\n };\n\n return (\n <>\n <div\n className={cx(classes.root, className, {\n [classes.open]: open,\n [classes.close]: !open,\n })}\n {...others}\n >\n {tabs && (\n <HvCanvasTabs\n className={classes.tabs}\n tabs={tabs}\n onChange={handleTabChange}\n />\n )}\n <div className={classes.content}>{children}</div>\n </div>\n <div\n className={cx(classes.handle, {\n [classes.handleOpen]: open,\n [classes.handleClose]: !open,\n })}\n onClick={handleTogglePanel}\n role=\"button\"\n tabIndex={0}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n handleTogglePanel(e);\n }\n }}\n aria-label={open ? labels.close : labels.open}\n >\n <div className={classes.handleButton}>\n {open ? <Start color={[\"primary\"]} /> : <End color={[\"primary\"]} />}\n </div>\n </div>\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;AAgBA,MAAM,iBAAiB;AAAA,EACrB,MAAM;AAAA,EACN,OAAO;AACT;AA2Ba,MAAA,gBAAgB,CAAC,UAA8B;AACpD,QAAA;AAAA,IACJ,MAAM;AAAA,IACN,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,GAAG;AAAA,EAAA,IACD,gBAAgB,iBAAiB,KAAK;AAE1C,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AACxC,QAAA,SAAS,UAAU,gBAAgB,UAAU;AAE7C,QAAA,CAAC,MAAM,OAAO,IAAI,cAAc,UAAU,QAAQ,aAAa,CAAC;AAEhE,QAAA,oBAAoB,CAAC,UAAkD;AACnE,YAAA,CAAC,SAAS,CAAC,IAAI;AACZ,eAAA,OAAO,CAAC,IAAI;AAAA,EAAA;AAGnB,QAAA,kBAAiD,CAAC,OAAO,UAAU;AACvE,kBAAc,OAAO,KAAK;AAAA,EAAA;AAG5B,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,GAAG,QAAQ,MAAM,WAAW;AAAA,UACrC,CAAC,QAAQ,IAAI,GAAG;AAAA,UAChB,CAAC,QAAQ,KAAK,GAAG,CAAC;AAAA,QAAA,CACnB;AAAA,QACA,GAAG;AAAA,QAEH,UAAA;AAAA,UACC,QAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW,QAAQ;AAAA,cACnB;AAAA,cACA,UAAU;AAAA,YAAA;AAAA,UACZ;AAAA,UAED,oBAAA,OAAA,EAAI,WAAW,QAAQ,SAAU,UAAS;AAAA,QAAA;AAAA,MAAA;AAAA,IAC7C;AAAA,IACA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,GAAG,QAAQ,QAAQ;AAAA,UAC5B,CAAC,QAAQ,UAAU,GAAG;AAAA,UACtB,CAAC,QAAQ,WAAW,GAAG,CAAC;AAAA,QAAA,CACzB;AAAA,QACD,SAAS;AAAA,QACT,MAAK;AAAA,QACL,UAAU;AAAA,QACV,WAAW,CAAC,MAAM;AAChB,cAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,8BAAkB,CAAC;AAAA,UACrB;AAAA,QACF;AAAA,QACA,cAAY,OAAO,OAAO,QAAQ,OAAO;AAAA,QAEzC,8BAAC,OAAI,EAAA,WAAW,QAAQ,cACrB,UAAA,2BAAQ,OAAM,EAAA,OAAO,CAAC,SAAS,GAAG,IAAM,oBAAA,KAAA,EAAI,OAAO,CAAC,SAAS,EAAG,CAAA,GACnE;AAAA,MAAA;AAAA,IACF;AAAA,EACF,EAAA,CAAA;AAEJ;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createClasses } from "@hitachivantara/uikit-react-core";
|
|
1
|
+
import { createClasses, outlineStyles } from "@hitachivantara/uikit-react-core";
|
|
2
2
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
3
3
|
const { staticClasses, useClasses } = createClasses("HvCanvasPanel", {
|
|
4
4
|
root: {
|
|
@@ -6,16 +6,18 @@ const { staticClasses, useClasses } = createClasses("HvCanvasPanel", {
|
|
|
6
6
|
position: "absolute",
|
|
7
7
|
top: 0,
|
|
8
8
|
left: 0,
|
|
9
|
-
boxShadow:
|
|
9
|
+
boxShadow: "4px 0px 8px -4px color-mix(in srgb, #414141 12%, transparent)",
|
|
10
10
|
zIndex: theme.zIndices.overlay,
|
|
11
11
|
backgroundColor: "transparent",
|
|
12
|
-
transition: "width 0.3s ease",
|
|
12
|
+
transition: "visibility 0.3s ease, width 0.3s ease",
|
|
13
13
|
overflow: "hidden",
|
|
14
14
|
"&$open": {
|
|
15
|
-
width: 320
|
|
15
|
+
width: 320,
|
|
16
|
+
visibility: "visible"
|
|
16
17
|
},
|
|
17
18
|
"&$close": {
|
|
18
|
-
width: 0
|
|
19
|
+
width: 0,
|
|
20
|
+
visibility: "hidden"
|
|
19
21
|
}
|
|
20
22
|
},
|
|
21
23
|
tabs: {},
|
|
@@ -30,12 +32,12 @@ const { staticClasses, useClasses } = createClasses("HvCanvasPanel", {
|
|
|
30
32
|
display: "flex",
|
|
31
33
|
justifyContent: "center",
|
|
32
34
|
zIndex: theme.zIndices.overlay,
|
|
33
|
-
boxShadow:
|
|
35
|
+
boxShadow: "4px 0px 8px -4px color-mix(in srgb, #414141 12%, transparent)",
|
|
34
36
|
backgroundColor: theme.colors.atmo1,
|
|
35
|
-
borderRadius: `0 ${theme.radii.round} ${theme.radii.round} 0
|
|
37
|
+
borderRadius: `0 ${theme.radii.round} ${theme.radii.round} 0`,
|
|
36
38
|
position: "absolute",
|
|
37
39
|
transition: "left 0.3s ease",
|
|
38
|
-
top:
|
|
40
|
+
top: "calc(50% - 86px)",
|
|
39
41
|
"&$handleOpen": {
|
|
40
42
|
left: 320
|
|
41
43
|
},
|
|
@@ -44,10 +46,13 @@ const { staticClasses, useClasses } = createClasses("HvCanvasPanel", {
|
|
|
44
46
|
},
|
|
45
47
|
"&:hover": {
|
|
46
48
|
cursor: "pointer"
|
|
49
|
+
},
|
|
50
|
+
"&:focus-visible": {
|
|
51
|
+
...outlineStyles
|
|
47
52
|
}
|
|
48
53
|
},
|
|
49
54
|
handleButton: {
|
|
50
|
-
top:
|
|
55
|
+
top: "calc(50% - 16px)",
|
|
51
56
|
position: "absolute"
|
|
52
57
|
},
|
|
53
58
|
open: {},
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Panel.styles.js","sources":["../../../../src/Canvas/Panel/Panel.styles.tsx"],"sourcesContent":["import { createClasses, outlineStyles } from \"@hitachivantara/uikit-react-core\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvCanvasPanel\", {\n root: {\n height: \"100%\",\n position: \"absolute\",\n top: 0,\n left: 0,\n boxShadow: \"4px 0px 8px -4px color-mix(in srgb, #414141 12%, transparent)\",\n zIndex: theme.zIndices.overlay,\n backgroundColor: \"transparent\",\n transition: \"visibility 0.3s ease, width 0.3s ease\",\n overflow: \"hidden\",\n \"&$open\": {\n width: 320,\n visibility: \"visible\",\n },\n \"&$close\": {\n width: 0,\n visibility: \"hidden\",\n },\n },\n tabs: {},\n content: {\n backgroundColor: theme.colors.atmo1,\n height: \"100%\",\n padding: theme.space.md,\n },\n handle: {\n height: 172,\n width: 35,\n display: \"flex\",\n justifyContent: \"center\",\n zIndex: theme.zIndices.overlay,\n boxShadow: \"4px 0px 8px -4px color-mix(in srgb, #414141 12%, transparent)\",\n backgroundColor: theme.colors.atmo1,\n borderRadius: `0 ${theme.radii.round} ${theme.radii.round} 0`,\n position: \"absolute\",\n transition: \"left 0.3s ease\",\n top: \"calc(50% - 86px)\",\n \"&$handleOpen\": {\n left: 320,\n },\n \"&$handleClose\": {\n left: 0,\n },\n \"&:hover\": {\n cursor: \"pointer\",\n },\n \"&:focus-visible\": {\n ...outlineStyles,\n },\n },\n handleButton: {\n top: \"calc(50% - 16px)\",\n position: \"absolute\",\n },\n open: {},\n close: {},\n handleOpen: {},\n handleClose: {},\n});\n"],"names":[],"mappings":";;AAGO,MAAM,EAAE,eAAe,eAAe,cAAc,iBAAiB;AAAA,EAC1E,MAAM;AAAA,IACJ,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,KAAK;AAAA,IACL,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ,MAAM,SAAS;AAAA,IACvB,iBAAiB;AAAA,IACjB,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,UAAU;AAAA,MACR,OAAO;AAAA,MACP,YAAY;AAAA,IACd;AAAA,IACA,WAAW;AAAA,MACT,OAAO;AAAA,MACP,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACA,MAAM,CAAC;AAAA,EACP,SAAS;AAAA,IACP,iBAAiB,MAAM,OAAO;AAAA,IAC9B,QAAQ;AAAA,IACR,SAAS,MAAM,MAAM;AAAA,EACvB;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,QAAQ,MAAM,SAAS;AAAA,IACvB,WAAW;AAAA,IACX,iBAAiB,MAAM,OAAO;AAAA,IAC9B,cAAc,KAAK,MAAM,MAAM,KAAK,IAAI,MAAM,MAAM,KAAK;AAAA,IACzD,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,KAAK;AAAA,IACL,gBAAgB;AAAA,MACd,MAAM;AAAA,IACR;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,mBAAmB;AAAA,MACjB,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,KAAK;AAAA,IACL,UAAU;AAAA,EACZ;AAAA,EACA,MAAM,CAAC;AAAA,EACP,OAAO,CAAC;AAAA,EACR,YAAY,CAAC;AAAA,EACb,aAAa,CAAC;AAChB,CAAC;"}
|
|
@@ -4,8 +4,8 @@ import { Tab } from "@mui/base/Tab";
|
|
|
4
4
|
import { Tabs } from "@mui/base/Tabs";
|
|
5
5
|
import { TabsList } from "@mui/base/TabsList";
|
|
6
6
|
import { useDefaultProps } from "@hitachivantara/uikit-react-core";
|
|
7
|
-
import { useClasses } from "./
|
|
8
|
-
import { staticClasses } from "./
|
|
7
|
+
import { useClasses } from "./Tabs.styles.js";
|
|
8
|
+
import { staticClasses } from "./Tabs.styles.js";
|
|
9
9
|
const HvCanvasTabs = (props) => {
|
|
10
10
|
const {
|
|
11
11
|
tabs,
|
|
@@ -15,9 +15,7 @@ const HvCanvasTabs = (props) => {
|
|
|
15
15
|
...others
|
|
16
16
|
} = useDefaultProps("HvCanvasTabs", props);
|
|
17
17
|
const { classes, cx } = useClasses(classesProp);
|
|
18
|
-
const [selectedTab, setSelectedTab] = useState(
|
|
19
|
-
tabs?.[0]?.id || "none"
|
|
20
|
-
);
|
|
18
|
+
const [selectedTab, setSelectedTab] = useState(tabs?.[0]?.id || "none");
|
|
21
19
|
const handleTabChange = (event, value) => {
|
|
22
20
|
onChange?.(event, value);
|
|
23
21
|
setSelectedTab(value);
|
|
@@ -37,7 +35,6 @@ const HvCanvasTabs = (props) => {
|
|
|
37
35
|
className: cx(classes.tab, {
|
|
38
36
|
[classes.selected]: tab.id === selectedTab
|
|
39
37
|
}),
|
|
40
|
-
onChange: handleTabChange,
|
|
41
38
|
tabIndex: 0,
|
|
42
39
|
children: tab.content
|
|
43
40
|
},
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.js","sources":["../../../../src/Canvas/Tabs/Tabs.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { Tab } from \"@mui/base/Tab\";\nimport { Tabs, TabsProps } from \"@mui/base/Tabs\";\nimport { TabsList } from \"@mui/base/TabsList\";\nimport {\n ExtractNames,\n useDefaultProps,\n} from \"@hitachivantara/uikit-react-core\";\n\nimport { staticClasses, useClasses } from \"./Tabs.styles\";\n\nexport { staticClasses as canvasTabsClasses };\n\nexport type HvCanvasTabsClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCanvasTab {\n id: string;\n content: React.ReactNode;\n}\n\nexport interface HvCanvasTabsProps extends Omit<TabsProps, \"onChange\"> {\n /** List of tabs. */\n tabs: HvCanvasTab[];\n /** Event handler triggered when a tab is clicked. */\n onChange?: (event: React.SyntheticEvent | null, tabId: string) => void;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCanvasTabsClasses;\n}\n\n/**\n * A tabs component to use in a canvas context.\n */\nexport const HvCanvasTabs = (props: HvCanvasTabsProps) => {\n const {\n tabs,\n onChange,\n className,\n classes: classesProp,\n ...others\n } = useDefaultProps(\"HvCanvasTabs\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const [selectedTab, setSelectedTab] = useState(tabs?.[0]?.id || \"none\");\n\n const handleTabChange: TabsProps[\"onChange\"] = (event, value) => {\n onChange?.(event, value as string);\n setSelectedTab(value as string);\n };\n\n return (\n <Tabs\n value={selectedTab}\n onChange={handleTabChange}\n className={cx(classes.root, className)}\n selectionFollowsFocus\n {...others}\n >\n <TabsList className={classes.list}>\n {tabs?.map((tab) => (\n <Tab\n key={tab.id}\n value={tab.id}\n className={cx(classes.tab, {\n [classes.selected]: tab.id === selectedTab,\n })}\n tabIndex={0}\n >\n {tab.content}\n </Tab>\n ))}\n </TabsList>\n </Tabs>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAgCa,MAAA,eAAe,CAAC,UAA6B;AAClD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,GAAG;AAAA,EAAA,IACD,gBAAgB,gBAAgB,KAAK;AAEzC,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAExC,QAAA,CAAC,aAAa,cAAc,IAAI,SAAS,OAAO,CAAC,GAAG,MAAM,MAAM;AAEhE,QAAA,kBAAyC,CAAC,OAAO,UAAU;AAC/D,eAAW,OAAO,KAAe;AACjC,mBAAe,KAAe;AAAA,EAAA;AAI9B,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP,UAAU;AAAA,MACV,WAAW,GAAG,QAAQ,MAAM,SAAS;AAAA,MACrC,uBAAqB;AAAA,MACpB,GAAG;AAAA,MAEJ,UAAA,oBAAC,YAAS,WAAW,QAAQ,MAC1B,UAAM,MAAA,IAAI,CAAC,QACV;AAAA,QAAC;AAAA,QAAA;AAAA,UAEC,OAAO,IAAI;AAAA,UACX,WAAW,GAAG,QAAQ,KAAK;AAAA,YACzB,CAAC,QAAQ,QAAQ,GAAG,IAAI,OAAO;AAAA,UAAA,CAChC;AAAA,UACD,UAAU;AAAA,UAET,UAAI,IAAA;AAAA,QAAA;AAAA,QAPA,IAAI;AAAA,MASZ,CAAA,GACH;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createClasses, theme } from "@hitachivantara/uikit-react-core";
|
|
1
|
+
import { createClasses, theme, outlineStyles } from "@hitachivantara/uikit-react-core";
|
|
2
2
|
const { staticClasses, useClasses } = createClasses("HvCanvasTabs", {
|
|
3
3
|
root: {
|
|
4
4
|
height: 48,
|
|
@@ -14,7 +14,7 @@ const { staticClasses, useClasses } = createClasses("HvCanvasTabs", {
|
|
|
14
14
|
alignItems: "center",
|
|
15
15
|
justifyContent: "center",
|
|
16
16
|
flex: 1,
|
|
17
|
-
borderRadius:
|
|
17
|
+
borderRadius: "16px 16px 0 0",
|
|
18
18
|
backgroundColor: theme.colors.atmo2,
|
|
19
19
|
color: theme.colors.secondary_60,
|
|
20
20
|
overflow: "hidden",
|
|
@@ -31,6 +31,9 @@ const { staticClasses, useClasses } = createClasses("HvCanvasTabs", {
|
|
|
31
31
|
"&$selected": {
|
|
32
32
|
backgroundColor: theme.colors.atmo1,
|
|
33
33
|
...theme.typography.label
|
|
34
|
+
},
|
|
35
|
+
"&:focus-visible": {
|
|
36
|
+
...outlineStyles
|
|
34
37
|
}
|
|
35
38
|
},
|
|
36
39
|
selected: {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.styles.js","sources":["../../../../src/Canvas/Tabs/Tabs.styles.tsx"],"sourcesContent":["import {\n createClasses,\n outlineStyles,\n theme,\n} from \"@hitachivantara/uikit-react-core\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvCanvasTabs\", {\n root: {\n height: 48,\n display: \"flex\",\n },\n list: {\n display: \"flex\",\n width: \"100%\",\n },\n tab: {\n height: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flex: 1,\n borderRadius: \"16px 16px 0 0\",\n backgroundColor: theme.colors.atmo2,\n color: theme.colors.secondary_60,\n overflow: \"hidden\",\n width: \"100%\",\n \"& svg .color0\": {\n fill: \"currentcolor\",\n },\n \"&:hover\": {\n cursor: \"pointer\",\n },\n \"&:focus\": {\n backgroundColor: theme.colors.atmo1,\n },\n \"&$selected\": {\n backgroundColor: theme.colors.atmo1,\n ...theme.typography.label,\n },\n \"&:focus-visible\": {\n ...outlineStyles,\n },\n },\n selected: {},\n});\n"],"names":[],"mappings":";AAMO,MAAM,EAAE,eAAe,eAAe,cAAc,gBAAgB;AAAA,EACzE,MAAM;AAAA,IACJ,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,OAAO;AAAA,EACT;AAAA,EACA,KAAK;AAAA,IACH,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,MAAM;AAAA,IACN,cAAc;AAAA,IACd,iBAAiB,MAAM,OAAO;AAAA,IAC9B,OAAO,MAAM,OAAO;AAAA,IACpB,UAAU;AAAA,IACV,OAAO;AAAA,IACP,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA,MACT,iBAAiB,MAAM,OAAO;AAAA,IAChC;AAAA,IACA,cAAc;AAAA,MACZ,iBAAiB,MAAM,OAAO;AAAA,MAC9B,GAAG,MAAM,WAAW;AAAA,IACtB;AAAA,IACA,mBAAmB;AAAA,MACjB,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EACA,UAAU,CAAC;AACb,CAAC;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsxs, jsx } from "@emotion/react/jsx-runtime";
|
|
2
2
|
import { useDefaultProps, useLabels, HvIconButton, HvTypography } from "@hitachivantara/uikit-react-core";
|
|
3
3
|
import { Previous } from "@hitachivantara/uikit-react-icons";
|
|
4
|
-
import { useClasses } from "./
|
|
5
|
-
import { staticClasses } from "./
|
|
4
|
+
import { useClasses } from "./Toolbar.styles.js";
|
|
5
|
+
import { staticClasses } from "./Toolbar.styles.js";
|
|
6
6
|
const DEFAULT_LABELS = {
|
|
7
7
|
back: "Back"
|
|
8
8
|
};
|
|
@@ -13,6 +13,7 @@ const HvCanvasToolbar = (props) => {
|
|
|
13
13
|
labels: labelsProp,
|
|
14
14
|
className,
|
|
15
15
|
children,
|
|
16
|
+
backButtonProps,
|
|
16
17
|
classes: classesProp,
|
|
17
18
|
...others
|
|
18
19
|
} = useDefaultProps("HvCanvasToolbar", props);
|
|
@@ -20,7 +21,15 @@ const HvCanvasToolbar = (props) => {
|
|
|
20
21
|
const labels = useLabels(DEFAULT_LABELS, labelsProp);
|
|
21
22
|
const title = typeof titleProp === "string" ? /* @__PURE__ */ jsx(HvTypography, { variant: "title4", children: titleProp }) : titleProp;
|
|
22
23
|
return /* @__PURE__ */ jsxs("div", { className: cx(classes.root, className), ...others, children: [
|
|
23
|
-
/* @__PURE__ */ jsx("div", { className: classes.back, children: backButton ?? /* @__PURE__ */ jsx(
|
|
24
|
+
/* @__PURE__ */ jsx("div", { className: classes.back, children: backButton ?? /* @__PURE__ */ jsx(
|
|
25
|
+
HvIconButton,
|
|
26
|
+
{
|
|
27
|
+
title: labels.back,
|
|
28
|
+
variant: "primaryGhost",
|
|
29
|
+
...backButtonProps,
|
|
30
|
+
children: /* @__PURE__ */ jsx(Previous, {})
|
|
31
|
+
}
|
|
32
|
+
) }),
|
|
24
33
|
/* @__PURE__ */ jsx("div", { className: classes.title, children: title }),
|
|
25
34
|
children && /* @__PURE__ */ jsx("div", { className: classes.actions, children })
|
|
26
35
|
] });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toolbar.js","sources":["../../../../src/Canvas/Toolbar/Toolbar.tsx"],"sourcesContent":["import {\n ExtractNames,\n HvBaseProps,\n HvIconButton,\n HvIconButtonProps,\n HvTypography,\n useDefaultProps,\n useLabels,\n} from \"@hitachivantara/uikit-react-core\";\nimport { Previous } from \"@hitachivantara/uikit-react-icons\";\n\nimport { staticClasses, useClasses } from \"./Toolbar.styles\";\n\nexport { staticClasses as canvasToolbarClasses };\n\nexport type HvCanvasToolbarClasses = ExtractNames<typeof useClasses>;\n\nconst DEFAULT_LABELS = {\n back: \"Back\",\n};\n\nexport interface HvCanvasToolbarProps\n extends HvBaseProps<HTMLDivElement, \"title\"> {\n /** Text to display in the component. */\n title: React.ReactNode;\n /** Fully customized button or false for when the back button should not be rendered. */\n backButton?: React.ReactNode;\n /** An object containing all the labels. */\n labels?: Partial<typeof DEFAULT_LABELS>;\n /* The content that will be rendered within the toolbar. */\n children?: React.ReactNode;\n /** Props for the default back button. */\n backButtonProps?: Partial<HvIconButtonProps>;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCanvasToolbarClasses;\n}\n\n/**\n * A toolbar component to use in a canvas context.\n */\nexport const HvCanvasToolbar = (props: HvCanvasToolbarProps) => {\n const {\n title: titleProp,\n backButton,\n labels: labelsProp,\n className,\n children,\n backButtonProps,\n classes: classesProp,\n ...others\n } = useDefaultProps(\"HvCanvasToolbar\", props);\n\n const { classes, cx } = useClasses(classesProp);\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const title =\n typeof titleProp === \"string\" ? (\n <HvTypography variant=\"title4\">{titleProp}</HvTypography>\n ) : (\n titleProp\n );\n\n return (\n <div className={cx(classes.root, className)} {...others}>\n <div className={classes.back}>\n {backButton ?? (\n <HvIconButton\n title={labels.back}\n variant=\"primaryGhost\"\n {...backButtonProps}\n >\n <Previous />\n </HvIconButton>\n )}\n </div>\n <div className={classes.title}>{title}</div>\n {children && <div className={classes.actions}>{children}</div>}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;AAiBA,MAAM,iBAAiB;AAAA,EACrB,MAAM;AACR;AAqBa,MAAA,kBAAkB,CAAC,UAAgC;AACxD,QAAA;AAAA,IACJ,OAAO;AAAA,IACP;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,GAAG;AAAA,EAAA,IACD,gBAAgB,mBAAmB,KAAK;AAE5C,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AACxC,QAAA,SAAS,UAAU,gBAAgB,UAAU;AAE7C,QAAA,QACJ,OAAO,cAAc,+BAClB,cAAa,EAAA,SAAQ,UAAU,UAAA,UAAU,CAAA,IAE1C;AAIF,SAAA,qBAAC,SAAI,WAAW,GAAG,QAAQ,MAAM,SAAS,GAAI,GAAG,QAC/C,UAAA;AAAA,IAAA,oBAAC,OAAI,EAAA,WAAW,QAAQ,MACrB,UACC,cAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO,OAAO;AAAA,QACd,SAAQ;AAAA,QACP,GAAG;AAAA,QAEJ,8BAAC,UAAS,EAAA;AAAA,MAAA;AAAA,IAAA,GAGhB;AAAA,IACC,oBAAA,OAAA,EAAI,WAAW,QAAQ,OAAQ,UAAM,OAAA;AAAA,IACrC,YAAa,oBAAA,OAAA,EAAI,WAAW,QAAQ,SAAU,UAAS;AAAA,EAC1D,EAAA,CAAA;AAEJ;"}
|
|
@@ -2,17 +2,15 @@ import { createClasses } from "@hitachivantara/uikit-react-core";
|
|
|
2
2
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
3
3
|
const { staticClasses, useClasses } = createClasses("HvCanvasToolbar", {
|
|
4
4
|
root: {
|
|
5
|
-
width:
|
|
5
|
+
width: "100%",
|
|
6
6
|
height: 54,
|
|
7
7
|
display: "flex",
|
|
8
8
|
alignItems: "center",
|
|
9
9
|
borderRadius: theme.radii.full,
|
|
10
10
|
backgroundColor: theme.colors.atmo1,
|
|
11
|
-
padding: theme.spacing(0, "md", 0, 0),
|
|
12
11
|
position: "absolute",
|
|
13
12
|
right: 0,
|
|
14
13
|
top: 0,
|
|
15
|
-
margin: `0 0 0 ${theme.space.md}`,
|
|
16
14
|
transition: "width 0.3s ease"
|
|
17
15
|
},
|
|
18
16
|
back: {
|
|
@@ -34,7 +32,8 @@ const { staticClasses, useClasses } = createClasses("HvCanvasToolbar", {
|
|
|
34
32
|
actions: {
|
|
35
33
|
display: "flex",
|
|
36
34
|
flexWrap: "nowrap",
|
|
37
|
-
overflow: "scroll"
|
|
35
|
+
overflow: "scroll",
|
|
36
|
+
paddingRight: theme.space.md
|
|
38
37
|
}
|
|
39
38
|
});
|
|
40
39
|
export {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toolbar.styles.js","sources":["../../../../src/Canvas/Toolbar/Toolbar.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-core\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvCanvasToolbar\", {\n root: {\n width: \"100%\",\n height: 54,\n display: \"flex\",\n alignItems: \"center\",\n borderRadius: theme.radii.full,\n backgroundColor: theme.colors.atmo1,\n position: \"absolute\",\n right: 0,\n top: 0,\n transition: \"width 0.3s ease\",\n },\n back: {\n borderRadius: `${theme.radii.full} 0 0 ${theme.radii.full}`,\n minWidth: 68,\n backgroundColor: theme.colors.containerBackgroundHover,\n height: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n title: {\n display: \"flex\",\n alignItems: \"center\",\n padding: theme.spacing(0, \"md\"),\n height: \"100%\",\n flexGrow: 1,\n },\n actions: {\n display: \"flex\",\n flexWrap: \"nowrap\",\n overflow: \"scroll\",\n paddingRight: theme.space.md,\n },\n});\n"],"names":[],"mappings":";;AAGO,MAAM,EAAE,eAAe,eAAe,cAAc,mBAAmB;AAAA,EAC5E,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,cAAc,MAAM,MAAM;AAAA,IAC1B,iBAAiB,MAAM,OAAO;AAAA,IAC9B,UAAU;AAAA,IACV,OAAO;AAAA,IACP,KAAK;AAAA,IACL,YAAY;AAAA,EACd;AAAA,EACA,MAAM;AAAA,IACJ,cAAc,GAAG,MAAM,MAAM,IAAI,QAAQ,MAAM,MAAM,IAAI;AAAA,IACzD,UAAU;AAAA,IACV,iBAAiB,MAAM,OAAO;AAAA,IAC9B,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,EAClB;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,SAAS,MAAM,QAAQ,GAAG,IAAI;AAAA,IAC9B,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,IACT,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc,MAAM,MAAM;AAAA,EAC5B;AACF,CAAC;"}
|
package/dist/esm/index.js
CHANGED
|
@@ -2,12 +2,12 @@ import { staticClasses } from "./Blade/Blade.styles.js";
|
|
|
2
2
|
import { HvBlade } from "./Blade/Blade.js";
|
|
3
3
|
import { staticClasses as staticClasses2 } from "./Blades/Blades.styles.js";
|
|
4
4
|
import { HvBlades } from "./Blades/Blades.js";
|
|
5
|
-
import { staticClasses as staticClasses3 } from "./Canvas/
|
|
6
|
-
import { HvCanvasToolbar } from "./Canvas/
|
|
7
|
-
import { staticClasses as staticClasses4 } from "./Canvas/
|
|
8
|
-
import { HvCanvasPanel } from "./Canvas/
|
|
9
|
-
import { staticClasses as staticClasses5 } from "./Canvas/
|
|
10
|
-
import { HvCanvasTabs } from "./Canvas/
|
|
5
|
+
import { staticClasses as staticClasses3 } from "./Canvas/Toolbar/Toolbar.styles.js";
|
|
6
|
+
import { HvCanvasToolbar } from "./Canvas/Toolbar/Toolbar.js";
|
|
7
|
+
import { staticClasses as staticClasses4 } from "./Canvas/Panel/Panel.styles.js";
|
|
8
|
+
import { HvCanvasPanel } from "./Canvas/Panel/Panel.js";
|
|
9
|
+
import { staticClasses as staticClasses5 } from "./Canvas/Tabs/Tabs.styles.js";
|
|
10
|
+
import { HvCanvasTabs } from "./Canvas/Tabs/Tabs.js";
|
|
11
11
|
import { staticClasses as staticClasses6 } from "./Dashboard/Dashboard.styles.js";
|
|
12
12
|
import { HvDashboard } from "./Dashboard/Dashboard.js";
|
|
13
13
|
import { staticClasses as staticClasses7 } from "./Flow/Flow.styles.js";
|
package/dist/types/index.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ import { HvColorAny } from '@hitachivantara/uikit-styles';
|
|
|
28
28
|
import { HvDialogProps } from '@hitachivantara/uikit-react-core';
|
|
29
29
|
import { HvDrawerProps } from '@hitachivantara/uikit-react-core';
|
|
30
30
|
import { HvEmptyStateProps } from '@hitachivantara/uikit-react-core';
|
|
31
|
-
import {
|
|
31
|
+
import { HvIconButtonProps } from '@hitachivantara/uikit-react-core';
|
|
32
32
|
import { HvSize } from '@hitachivantara/uikit-react-core';
|
|
33
33
|
import { HvSliderProps } from '@hitachivantara/uikit-react-core';
|
|
34
34
|
import { HvTypographyVariants } from '@hitachivantara/uikit-react-core';
|
|
@@ -361,16 +361,16 @@ export declare const HvCanvasPanel: (props: HvCanvasPanelProps) => JSX_2.Element
|
|
|
361
361
|
export declare type HvCanvasPanelClasses = ExtractNames<typeof useClasses_4>;
|
|
362
362
|
|
|
363
363
|
export declare interface HvCanvasPanelProps extends HvBaseProps<HTMLDivElement> {
|
|
364
|
-
/** Whether the panel is open or not. If this property is defined the panel must be fully controlled. */
|
|
364
|
+
/** Whether the panel is open or not. If this property is defined, the panel must be fully controlled. */
|
|
365
365
|
open?: boolean;
|
|
366
366
|
/** When uncontrolled, defines the initial state of the panel. */
|
|
367
367
|
defaultOpened?: boolean;
|
|
368
|
-
/** The tabs that should be visible on the canvas panel */
|
|
368
|
+
/** The tabs that should be visible on the canvas panel. */
|
|
369
369
|
tabs?: HvCanvasTab[];
|
|
370
|
-
/** The function that will be executed whenever the panel toggles. It will receive the state of the
|
|
370
|
+
/** The function that will be executed whenever the panel toggles. It will receive the state of the panel. */
|
|
371
371
|
onToggle?: (event: React.MouseEvent | React.KeyboardEvent, open: boolean) => void;
|
|
372
|
-
/** The function that will be executed when a tab changes.It will receive the id of the selected tab. */
|
|
373
|
-
onTabChange?: (event: React.SyntheticEvent, tabId: string) => void;
|
|
372
|
+
/** The function that will be executed when a tab changes. It will receive the id of the selected tab. */
|
|
373
|
+
onTabChange?: (event: React.SyntheticEvent | null, tabId: string) => void;
|
|
374
374
|
/** An object containing all the labels. */
|
|
375
375
|
labels?: Partial<typeof DEFAULT_LABELS_3>;
|
|
376
376
|
children?: React.ReactNode;
|
|
@@ -378,23 +378,23 @@ export declare interface HvCanvasPanelProps extends HvBaseProps<HTMLDivElement>
|
|
|
378
378
|
classes?: HvCanvasPanelClasses;
|
|
379
379
|
}
|
|
380
380
|
|
|
381
|
-
export declare
|
|
381
|
+
export declare interface HvCanvasTab {
|
|
382
382
|
id: string;
|
|
383
383
|
content: React.ReactNode;
|
|
384
|
-
}
|
|
384
|
+
}
|
|
385
385
|
|
|
386
386
|
/**
|
|
387
|
-
*
|
|
387
|
+
* A tabs component to use in a canvas context.
|
|
388
388
|
*/
|
|
389
389
|
export declare const HvCanvasTabs: (props: HvCanvasTabsProps) => JSX_2.Element;
|
|
390
390
|
|
|
391
391
|
export declare type HvCanvasTabsClasses = ExtractNames<typeof useClasses_5>;
|
|
392
392
|
|
|
393
393
|
export declare interface HvCanvasTabsProps extends Omit<TabsProps, "onChange"> {
|
|
394
|
-
/**
|
|
394
|
+
/** List of tabs. */
|
|
395
395
|
tabs: HvCanvasTab[];
|
|
396
|
-
/** Event handler
|
|
397
|
-
onChange?: (event: React.SyntheticEvent, tabId: string) => void;
|
|
396
|
+
/** Event handler triggered when a tab is clicked. */
|
|
397
|
+
onChange?: (event: React.SyntheticEvent | null, tabId: string) => void;
|
|
398
398
|
/** A Jss Object used to override or extend the styles applied. */
|
|
399
399
|
classes?: HvCanvasTabsClasses;
|
|
400
400
|
}
|
|
@@ -408,12 +408,14 @@ export declare type HvCanvasToolbarClasses = ExtractNames<typeof useClasses_3>;
|
|
|
408
408
|
|
|
409
409
|
export declare interface HvCanvasToolbarProps extends HvBaseProps<HTMLDivElement, "title"> {
|
|
410
410
|
/** Text to display in the component. */
|
|
411
|
-
title:
|
|
412
|
-
/**
|
|
413
|
-
backButton?:
|
|
411
|
+
title: React.ReactNode;
|
|
412
|
+
/** Fully customized button or false for when the back button should not be rendered. */
|
|
413
|
+
backButton?: React.ReactNode;
|
|
414
414
|
/** An object containing all the labels. */
|
|
415
415
|
labels?: Partial<typeof DEFAULT_LABELS_2>;
|
|
416
|
-
children
|
|
416
|
+
children?: React.ReactNode;
|
|
417
|
+
/** Props for the default back button. */
|
|
418
|
+
backButtonProps?: Partial<HvIconButtonProps>;
|
|
417
419
|
/** A Jss Object used to override or extend the styles applied. */
|
|
418
420
|
classes?: HvCanvasToolbarClasses;
|
|
419
421
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hitachivantara/uikit-react-lab",
|
|
3
|
-
"version": "5.36.
|
|
3
|
+
"version": "5.36.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Hitachi Vantara UI Kit Team",
|
|
6
6
|
"description": "Contributed React components for the NEXT UI Kit.",
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
],
|
|
16
16
|
"repository": {
|
|
17
17
|
"type": "git",
|
|
18
|
-
"url": "https://github.com/lumada-design/hv-uikit-react.git"
|
|
18
|
+
"url": "https://github.com/lumada-design/hv-uikit-react.git",
|
|
19
|
+
"directory": "packages/lab"
|
|
19
20
|
},
|
|
20
21
|
"license": "Apache-2.0",
|
|
21
22
|
"bugs": {
|
|
@@ -32,9 +33,9 @@
|
|
|
32
33
|
"@dnd-kit/core": "^6.1.0",
|
|
33
34
|
"@dnd-kit/modifiers": "^6.0.1",
|
|
34
35
|
"@emotion/css": "^11.11.0",
|
|
35
|
-
"@hitachivantara/uikit-react-core": "^5.66.
|
|
36
|
-
"@hitachivantara/uikit-react-icons": "^5.10.
|
|
37
|
-
"@hitachivantara/uikit-styles": "^5.30.
|
|
36
|
+
"@hitachivantara/uikit-react-core": "^5.66.9",
|
|
37
|
+
"@hitachivantara/uikit-react-icons": "^5.10.2",
|
|
38
|
+
"@hitachivantara/uikit-styles": "^5.30.3",
|
|
38
39
|
"@mui/base": "^5.0.0-beta.40",
|
|
39
40
|
"@types/react-grid-layout": "^1.3.5",
|
|
40
41
|
"react-grid-layout": "^1.4.4",
|
|
@@ -50,7 +51,7 @@
|
|
|
50
51
|
"access": "public",
|
|
51
52
|
"directory": "package"
|
|
52
53
|
},
|
|
53
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "1c091835a6f0fda7b57464b7a9cd3f27e018101b",
|
|
54
55
|
"exports": {
|
|
55
56
|
".": {
|
|
56
57
|
"require": "./dist/cjs/index.cjs",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasPanel.js","sources":["../../../../src/Canvas/CanvasPanel/CanvasPanel.tsx"],"sourcesContent":["import { useCallback, useEffect } from \"react\";\nimport {\n ExtractNames,\n HvBaseProps,\n useControlled,\n useDefaultProps,\n useLabels,\n useTheme,\n} from \"@hitachivantara/uikit-react-core\";\nimport { End, Start } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvCanvasTab, HvCanvasTabs } from \"../CanvasTabs\";\nimport { staticClasses, useClasses } from \"./CanvasPanel.styles\";\n\nexport { staticClasses as canvasPanelClasses };\n\nexport type HvCanvasPanelClasses = ExtractNames<typeof useClasses>;\n\nconst DEFAULT_LABELS = {\n open: \"Open\",\n close: \"Close\",\n};\n\nexport interface HvCanvasPanelProps extends HvBaseProps<HTMLDivElement> {\n /** Whether the panel is open or not. If this property is defined the panel must be fully controlled. */\n open?: boolean;\n /** When uncontrolled, defines the initial state of the panel. */\n defaultOpened?: boolean;\n /** The tabs that should be visible on the canvas panel */\n tabs?: HvCanvasTab[];\n /** The function that will be executed whenever the panel toggles. It will receive the state of the accordion. */\n onToggle?: (\n event: React.MouseEvent | React.KeyboardEvent,\n open: boolean,\n ) => void;\n /** The function that will be executed when a tab changes.It will receive the id of the selected tab. */\n onTabChange?: (event: React.SyntheticEvent, tabId: string) => void;\n /** An object containing all the labels. */\n labels?: Partial<typeof DEFAULT_LABELS>;\n /* The content that will be rendered within canvas panel. */\n children?: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCanvasPanelClasses;\n}\n\n/**\n * A panel component to use in a canvas context.\n */\nexport const HvCanvasPanel = (props: HvCanvasPanelProps) => {\n const {\n open: openProp,\n defaultOpened = false,\n tabs,\n onToggle,\n onTabChange,\n labels: labelsProp,\n className,\n children,\n classes: classesProp,\n ...others\n } = useDefaultProps(\"HvCanvasPanel\", props);\n\n const { classes, cx } = useClasses(classesProp);\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n const { rootId, activeTheme } = useTheme();\n\n const [open, setOpen] = useControlled(openProp, Boolean(defaultOpened));\n\n const setPanelWidth = useCallback(() => {\n if (rootId) {\n document\n .getElementById(rootId)\n ?.style.setProperty(\n \"--canvas-panel-width\",\n !open\n ? \"0px\"\n : `${320 + (activeTheme ? parseInt(activeTheme.space.md, 10) : 24)}px`,\n );\n }\n }, [activeTheme, open, rootId]);\n\n useEffect(() => {\n setPanelWidth();\n }, [open, setPanelWidth]);\n\n const handleTogglePanel = (event) => {\n setOpen((prev) => !prev);\n onToggle?.(event, !open);\n };\n\n const handleTabChange = (event, tabId) => {\n onTabChange?.(event, tabId);\n };\n\n return (\n <>\n <div\n className={cx(classes.root, className, {\n [classes.open]: open,\n [classes.close]: !open,\n })}\n {...others}\n >\n {tabs && (\n <HvCanvasTabs\n className={classes.tabs}\n tabs={tabs}\n onChange={handleTabChange}\n />\n )}\n <div className={classes.content}>{children}</div>\n </div>\n <div\n className={cx(classes.handle, {\n [classes.handleOpen]: open,\n [classes.handleClose]: !open,\n })}\n onClick={handleTogglePanel}\n role=\"button\"\n tabIndex={0}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n handleTogglePanel(e);\n }\n }}\n aria-label={open ? labels.close : labels.open}\n >\n <div className={classes.handleButton}>\n {open ? <Start color={[\"primary\"]} /> : <End color={[\"primary\"]} />}\n </div>\n </div>\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;;AAkBA,MAAM,iBAAiB;AAAA,EACrB,MAAM;AAAA,EACN,OAAO;AACT;AA2Ba,MAAA,gBAAgB,CAAC,UAA8B;AACpD,QAAA;AAAA,IACJ,MAAM;AAAA,IACN,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,GAAG;AAAA,EAAA,IACD,gBAAgB,iBAAiB,KAAK;AAE1C,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AACxC,QAAA,SAAS,UAAU,gBAAgB,UAAU;AACnD,QAAM,EAAE,QAAQ,YAAY,IAAI,SAAS;AAEnC,QAAA,CAAC,MAAM,OAAO,IAAI,cAAc,UAAU,QAAQ,aAAa,CAAC;AAEhE,QAAA,gBAAgB,YAAY,MAAM;AACtC,QAAI,QAAQ;AAEP,eAAA,eAAe,MAAM,GACpB,MAAM;AAAA,QACN;AAAA,QACA,CAAC,OACG,QACA,GAAG,OAAO,cAAc,SAAS,YAAY,MAAM,IAAI,EAAE,IAAI,GAAG;AAAA,MAAA;AAAA,IAE1E;AAAA,EACC,GAAA,CAAC,aAAa,MAAM,MAAM,CAAC;AAE9B,YAAU,MAAM;AACA;EAAA,GACb,CAAC,MAAM,aAAa,CAAC;AAElB,QAAA,oBAAoB,CAAC,UAAU;AAC3B,YAAA,CAAC,SAAS,CAAC,IAAI;AACZ,eAAA,OAAO,CAAC,IAAI;AAAA,EAAA;AAGnB,QAAA,kBAAkB,CAAC,OAAO,UAAU;AACxC,kBAAc,OAAO,KAAK;AAAA,EAAA;AAG5B,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,GAAG,QAAQ,MAAM,WAAW;AAAA,UACrC,CAAC,QAAQ,IAAI,GAAG;AAAA,UAChB,CAAC,QAAQ,KAAK,GAAG,CAAC;AAAA,QAAA,CACnB;AAAA,QACA,GAAG;AAAA,QAEH,UAAA;AAAA,UACC,QAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW,QAAQ;AAAA,cACnB;AAAA,cACA,UAAU;AAAA,YAAA;AAAA,UACZ;AAAA,UAED,oBAAA,OAAA,EAAI,WAAW,QAAQ,SAAU,UAAS;AAAA,QAAA;AAAA,MAAA;AAAA,IAC7C;AAAA,IACA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,GAAG,QAAQ,QAAQ;AAAA,UAC5B,CAAC,QAAQ,UAAU,GAAG;AAAA,UACtB,CAAC,QAAQ,WAAW,GAAG,CAAC;AAAA,QAAA,CACzB;AAAA,QACD,SAAS;AAAA,QACT,MAAK;AAAA,QACL,UAAU;AAAA,QACV,WAAW,CAAC,MAAM;AAChB,cAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,8BAAkB,CAAC;AAAA,UACrB;AAAA,QACF;AAAA,QACA,cAAY,OAAO,OAAO,QAAQ,OAAO;AAAA,QAEzC,8BAAC,OAAI,EAAA,WAAW,QAAQ,cACrB,UAAA,2BAAQ,OAAM,EAAA,OAAO,CAAC,SAAS,GAAG,IAAM,oBAAA,KAAA,EAAI,OAAO,CAAC,SAAS,EAAG,CAAA,GACnE;AAAA,MAAA;AAAA,IACF;AAAA,EACF,EAAA,CAAA;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasPanel.styles.js","sources":["../../../../src/Canvas/CanvasPanel/CanvasPanel.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-core\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvCanvasPanel\", {\n root: {\n height: \"100%\",\n position: \"absolute\",\n top: 0,\n left: 0,\n boxShadow: `4px 0px 8px -4px color-mix(in srgb, #414141 12%, transparent)`,\n zIndex: theme.zIndices.overlay,\n backgroundColor: \"transparent\",\n transition: \"width 0.3s ease\",\n overflow: \"hidden\",\n \"&$open\": {\n width: 320,\n },\n \"&$close\": {\n width: 0,\n },\n },\n tabs: {},\n content: {\n backgroundColor: theme.colors.atmo1,\n height: \"100%\",\n padding: theme.space.md,\n },\n handle: {\n height: 172,\n width: 35,\n display: \"flex\",\n justifyContent: \"center\",\n zIndex: theme.zIndices.overlay,\n boxShadow: `4px 0px 8px -4px color-mix(in srgb, #414141 12%, transparent)`,\n backgroundColor: theme.colors.atmo1,\n borderRadius: `0 ${theme.radii.round} ${theme.radii.round} 0 `,\n position: \"absolute\",\n transition: \"left 0.3s ease\",\n top: `calc(50% - 86px)`,\n \"&$handleOpen\": {\n left: 320,\n },\n \"&$handleClose\": {\n left: 0,\n },\n \"&:hover\": {\n cursor: \"pointer\",\n },\n },\n handleButton: {\n top: `calc(50% - 16px)`,\n position: \"absolute\",\n },\n open: {},\n close: {},\n handleOpen: {},\n handleClose: {},\n});\n"],"names":[],"mappings":";;AAGO,MAAM,EAAE,eAAe,eAAe,cAAc,iBAAiB;AAAA,EAC1E,MAAM;AAAA,IACJ,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,KAAK;AAAA,IACL,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ,MAAM,SAAS;AAAA,IACvB,iBAAiB;AAAA,IACjB,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,UAAU;AAAA,MACR,OAAO;AAAA,IACT;AAAA,IACA,WAAW;AAAA,MACT,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,MAAM,CAAC;AAAA,EACP,SAAS;AAAA,IACP,iBAAiB,MAAM,OAAO;AAAA,IAC9B,QAAQ;AAAA,IACR,SAAS,MAAM,MAAM;AAAA,EACvB;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,QAAQ,MAAM,SAAS;AAAA,IACvB,WAAW;AAAA,IACX,iBAAiB,MAAM,OAAO;AAAA,IAC9B,cAAc,KAAK,MAAM,MAAM,KAAK,IAAI,MAAM,MAAM,KAAK;AAAA,IACzD,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,KAAK;AAAA,IACL,gBAAgB;AAAA,MACd,MAAM;AAAA,IACR;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,KAAK;AAAA,IACL,UAAU;AAAA,EACZ;AAAA,EACA,MAAM,CAAC;AAAA,EACP,OAAO,CAAC;AAAA,EACR,YAAY,CAAC;AAAA,EACb,aAAa,CAAC;AAChB,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasTabs.js","sources":["../../../../src/Canvas/CanvasTabs/CanvasTabs.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { Tab } from \"@mui/base/Tab\";\nimport { Tabs, TabsProps } from \"@mui/base/Tabs\";\nimport { TabsList } from \"@mui/base/TabsList\";\nimport {\n ExtractNames,\n useDefaultProps,\n} from \"@hitachivantara/uikit-react-core\";\n\nimport { staticClasses, useClasses } from \"./CanvasTabs.styles\";\n\nexport { staticClasses as canvasTabsClasses };\n\nexport type HvCanvasTabsClasses = ExtractNames<typeof useClasses>;\n\nexport type HvCanvasTab = {\n id: string;\n content: React.ReactNode;\n};\n\nexport interface HvCanvasTabsProps extends Omit<TabsProps, \"onChange\"> {\n /** The list of tabs. */\n tabs: HvCanvasTab[];\n /** Event handler to run when a tab is clicked. */\n onChange?: (event: React.SyntheticEvent, tabId: string) => void;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCanvasTabsClasses;\n}\n\n/**\n *\n */\nexport const HvCanvasTabs = (props: HvCanvasTabsProps) => {\n const {\n tabs,\n onChange,\n className,\n classes: classesProp,\n ...others\n } = useDefaultProps(\"HvCanvasTabs\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const [selectedTab, setSelectedTab] = useState<string>(\n tabs?.[0]?.id || \"none\",\n );\n\n const handleTabChange = (event, value) => {\n onChange?.(event, value);\n setSelectedTab(value);\n };\n\n return (\n <Tabs\n value={selectedTab}\n onChange={handleTabChange}\n className={cx(classes.root, className)}\n selectionFollowsFocus\n {...others}\n >\n <TabsList className={classes.list}>\n {tabs?.map((tab) => (\n <Tab\n key={tab.id}\n value={tab.id}\n className={cx(classes.tab, {\n [classes.selected]: tab.id === selectedTab,\n })}\n onChange={handleTabChange}\n tabIndex={0}\n >\n {tab.content}\n </Tab>\n ))}\n </TabsList>\n </Tabs>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAgCa,MAAA,eAAe,CAAC,UAA6B;AAClD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,GAAG;AAAA,EAAA,IACD,gBAAgB,gBAAgB,KAAK;AAEzC,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAExC,QAAA,CAAC,aAAa,cAAc,IAAI;AAAA,IACpC,OAAO,CAAC,GAAG,MAAM;AAAA,EAAA;AAGb,QAAA,kBAAkB,CAAC,OAAO,UAAU;AACxC,eAAW,OAAO,KAAK;AACvB,mBAAe,KAAK;AAAA,EAAA;AAIpB,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP,UAAU;AAAA,MACV,WAAW,GAAG,QAAQ,MAAM,SAAS;AAAA,MACrC,uBAAqB;AAAA,MACpB,GAAG;AAAA,MAEJ,UAAA,oBAAC,YAAS,WAAW,QAAQ,MAC1B,UAAM,MAAA,IAAI,CAAC,QACV;AAAA,QAAC;AAAA,QAAA;AAAA,UAEC,OAAO,IAAI;AAAA,UACX,WAAW,GAAG,QAAQ,KAAK;AAAA,YACzB,CAAC,QAAQ,QAAQ,GAAG,IAAI,OAAO;AAAA,UAAA,CAChC;AAAA,UACD,UAAU;AAAA,UACV,UAAU;AAAA,UAET,UAAI,IAAA;AAAA,QAAA;AAAA,QARA,IAAI;AAAA,MAUZ,CAAA,GACH;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasTabs.styles.js","sources":["../../../../src/Canvas/CanvasTabs/CanvasTabs.styles.tsx"],"sourcesContent":["import { createClasses, theme } from \"@hitachivantara/uikit-react-core\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvCanvasTabs\", {\n root: {\n height: 48,\n display: \"flex\",\n },\n list: {\n display: \"flex\",\n width: \"100%\",\n },\n tab: {\n height: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flex: 1,\n borderRadius: `16px 16px 0 0 `,\n backgroundColor: theme.colors.atmo2,\n color: theme.colors.secondary_60,\n overflow: \"hidden\",\n width: \"100%\",\n \"& svg .color0\": {\n fill: \"currentcolor\",\n },\n \"&:hover\": {\n cursor: \"pointer\",\n },\n \"&:focus\": {\n backgroundColor: theme.colors.atmo1,\n },\n \"&$selected\": {\n backgroundColor: theme.colors.atmo1,\n ...theme.typography.label,\n },\n },\n selected: {},\n});\n"],"names":[],"mappings":";AAEO,MAAM,EAAE,eAAe,eAAe,cAAc,gBAAgB;AAAA,EACzE,MAAM;AAAA,IACJ,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,OAAO;AAAA,EACT;AAAA,EACA,KAAK;AAAA,IACH,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,MAAM;AAAA,IACN,cAAc;AAAA,IACd,iBAAiB,MAAM,OAAO;AAAA,IAC9B,OAAO,MAAM,OAAO;AAAA,IACpB,UAAU;AAAA,IACV,OAAO;AAAA,IACP,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA,MACT,iBAAiB,MAAM,OAAO;AAAA,IAChC;AAAA,IACA,cAAc;AAAA,MACZ,iBAAiB,MAAM,OAAO;AAAA,MAC9B,GAAG,MAAM,WAAW;AAAA,IACtB;AAAA,EACF;AAAA,EACA,UAAU,CAAC;AACb,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasToolbar.js","sources":["../../../../src/Canvas/CanvasToolbar/CanvasToolbar.tsx"],"sourcesContent":["import {\n ExtractNames,\n HvBaseProps,\n HvGlobalActionsProps,\n HvIconButton,\n HvTypography,\n useDefaultProps,\n useLabels,\n} from \"@hitachivantara/uikit-react-core\";\nimport { Previous } from \"@hitachivantara/uikit-react-icons\";\n\nimport { staticClasses, useClasses } from \"./CanvasToolbar.styles\";\n\nexport { staticClasses as canvasToolbarClasses };\n\nexport type HvCanvasToolbarClasses = ExtractNames<typeof useClasses>;\n\nconst DEFAULT_LABELS = {\n back: \"Back\",\n};\n\nexport interface HvCanvasToolbarProps\n extends HvBaseProps<HTMLDivElement, \"title\"> {\n /** Text to display in the component. */\n title: HvGlobalActionsProps[\"title\"];\n /** User can pass in a fully customized button or false for when the back button should not be rendered. */\n backButton?: HvGlobalActionsProps[\"backButton\"];\n /** An object containing all the labels. */\n labels?: Partial<typeof DEFAULT_LABELS>;\n /* The content that will be rendered within the toolbar. */\n children: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCanvasToolbarClasses;\n}\n\n/**\n * A toolbar component to use in a canvas context.\n */\nexport const HvCanvasToolbar = (props: HvCanvasToolbarProps) => {\n const {\n title: titleProp,\n backButton,\n labels: labelsProp,\n className,\n children,\n classes: classesProp,\n ...others\n } = useDefaultProps(\"HvCanvasToolbar\", props);\n\n const { classes, cx } = useClasses(classesProp);\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const title =\n typeof titleProp === \"string\" ? (\n <HvTypography variant=\"title4\">{titleProp}</HvTypography>\n ) : (\n titleProp\n );\n\n return (\n <div className={cx(classes.root, className)} {...others}>\n <div className={classes.back}>\n {backButton ?? (\n <HvIconButton title={labels.back} variant=\"primaryGhost\">\n <Previous />\n </HvIconButton>\n )}\n </div>\n <div className={classes.title}>{title}</div>\n {children && <div className={classes.actions}>{children}</div>}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;AAiBA,MAAM,iBAAiB;AAAA,EACrB,MAAM;AACR;AAmBa,MAAA,kBAAkB,CAAC,UAAgC;AACxD,QAAA;AAAA,IACJ,OAAO;AAAA,IACP;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,GAAG;AAAA,EAAA,IACD,gBAAgB,mBAAmB,KAAK;AAE5C,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AACxC,QAAA,SAAS,UAAU,gBAAgB,UAAU;AAE7C,QAAA,QACJ,OAAO,cAAc,+BAClB,cAAa,EAAA,SAAQ,UAAU,UAAA,UAAU,CAAA,IAE1C;AAIF,SAAA,qBAAC,SAAI,WAAW,GAAG,QAAQ,MAAM,SAAS,GAAI,GAAG,QAC/C,UAAA;AAAA,IAAA,oBAAC,OAAI,EAAA,WAAW,QAAQ,MACrB,wBACE,oBAAA,cAAA,EAAa,OAAO,OAAO,MAAM,SAAQ,gBACxC,UAAC,oBAAA,UAAA,CAAA,CAAS,EACZ,CAAA,GAEJ;AAAA,IACC,oBAAA,OAAA,EAAI,WAAW,QAAQ,OAAQ,UAAM,OAAA;AAAA,IACrC,YAAa,oBAAA,OAAA,EAAI,WAAW,QAAQ,SAAU,UAAS;AAAA,EAC1D,EAAA,CAAA;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasToolbar.styles.js","sources":["../../../../src/Canvas/CanvasToolbar/CanvasToolbar.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-core\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvCanvasToolbar\", {\n root: {\n width: `calc(100% - var(--canvas-panel-width))`,\n height: 54,\n display: \"flex\",\n alignItems: \"center\",\n borderRadius: theme.radii.full,\n backgroundColor: theme.colors.atmo1,\n padding: theme.spacing(0, \"md\", 0, 0),\n position: \"absolute\",\n right: 0,\n top: 0,\n margin: `0 0 0 ${theme.space.md}`,\n transition: \"width 0.3s ease\",\n },\n back: {\n borderRadius: `${theme.radii.full} 0 0 ${theme.radii.full}`,\n minWidth: 68,\n backgroundColor: theme.colors.containerBackgroundHover,\n height: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n title: {\n display: \"flex\",\n alignItems: \"center\",\n padding: theme.spacing(0, \"md\"),\n height: \"100%\",\n flexGrow: 1,\n },\n actions: {\n display: \"flex\",\n flexWrap: \"nowrap\",\n overflow: \"scroll\",\n },\n});\n"],"names":[],"mappings":";;AAGO,MAAM,EAAE,eAAe,eAAe,cAAc,mBAAmB;AAAA,EAC5E,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,cAAc,MAAM,MAAM;AAAA,IAC1B,iBAAiB,MAAM,OAAO;AAAA,IAC9B,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC;AAAA,IACpC,UAAU;AAAA,IACV,OAAO;AAAA,IACP,KAAK;AAAA,IACL,QAAQ,SAAS,MAAM,MAAM,EAAE;AAAA,IAC/B,YAAY;AAAA,EACd;AAAA,EACA,MAAM;AAAA,IACJ,cAAc,GAAG,MAAM,MAAM,IAAI,QAAQ,MAAM,MAAM,IAAI;AAAA,IACzD,UAAU;AAAA,IACV,iBAAiB,MAAM,OAAO;AAAA,IAC9B,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,EAClB;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,SAAS,MAAM,QAAQ,GAAG,IAAI;AAAA,IAC9B,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,IACT,UAAU;AAAA,IACV,UAAU;AAAA,EACZ;AACF,CAAC;"}
|