@hitachivantara/uikit-react-pentaho 0.1.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.
Files changed (36) hide show
  1. package/README.md +11 -0
  2. package/dist/cjs/Canvas/FloatingPanel/FloatingPanel.cjs +162 -0
  3. package/dist/cjs/Canvas/FloatingPanel/FloatingPanel.styles.cjs +73 -0
  4. package/dist/cjs/Canvas/Panel/Panel.cjs +111 -0
  5. package/dist/cjs/Canvas/Panel/Panel.styles.cjs +61 -0
  6. package/dist/cjs/Canvas/Tab/Tab.cjs +20 -0
  7. package/dist/cjs/Canvas/Tab/Tab.styles.cjs +39 -0
  8. package/dist/cjs/Canvas/Tabs/Tabs.cjs +32 -0
  9. package/dist/cjs/Canvas/Tabs/Tabs.styles.cjs +13 -0
  10. package/dist/cjs/Canvas/Toolbar/Toolbar.cjs +42 -0
  11. package/dist/cjs/Canvas/Toolbar/Toolbar.styles.cjs +41 -0
  12. package/dist/cjs/index.cjs +22 -0
  13. package/dist/esm/Canvas/FloatingPanel/FloatingPanel.js +163 -0
  14. package/dist/esm/Canvas/FloatingPanel/FloatingPanel.js.map +1 -0
  15. package/dist/esm/Canvas/FloatingPanel/FloatingPanel.styles.js +73 -0
  16. package/dist/esm/Canvas/FloatingPanel/FloatingPanel.styles.js.map +1 -0
  17. package/dist/esm/Canvas/Panel/Panel.js +112 -0
  18. package/dist/esm/Canvas/Panel/Panel.js.map +1 -0
  19. package/dist/esm/Canvas/Panel/Panel.styles.js +61 -0
  20. package/dist/esm/Canvas/Panel/Panel.styles.js.map +1 -0
  21. package/dist/esm/Canvas/Tab/Tab.js +21 -0
  22. package/dist/esm/Canvas/Tab/Tab.js.map +1 -0
  23. package/dist/esm/Canvas/Tab/Tab.styles.js +39 -0
  24. package/dist/esm/Canvas/Tab/Tab.styles.js.map +1 -0
  25. package/dist/esm/Canvas/Tabs/Tabs.js +33 -0
  26. package/dist/esm/Canvas/Tabs/Tabs.js.map +1 -0
  27. package/dist/esm/Canvas/Tabs/Tabs.styles.js +13 -0
  28. package/dist/esm/Canvas/Tabs/Tabs.styles.js.map +1 -0
  29. package/dist/esm/Canvas/Toolbar/Toolbar.js +43 -0
  30. package/dist/esm/Canvas/Toolbar/Toolbar.js.map +1 -0
  31. package/dist/esm/Canvas/Toolbar/Toolbar.styles.js +41 -0
  32. package/dist/esm/Canvas/Toolbar/Toolbar.styles.js.map +1 -0
  33. package/dist/esm/index.js +22 -0
  34. package/dist/esm/index.js.map +1 -0
  35. package/dist/types/index.d.ts +247 -0
  36. package/package.json +54 -0
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # @hitachivantara/uikit-react-pentaho
2
+
3
+ UI Kit Pentaho+ React components.
4
+
5
+ ## Installation
6
+
7
+ Install the package in your project directory with:
8
+
9
+ ```sh
10
+ npm install @hitachivantara/uikit-react-pentaho
11
+ ```
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
4
+ const react = require("react");
5
+ const reactResizeDetector = require("react-resize-detector");
6
+ const uikitReactCore = require("@hitachivantara/uikit-react-core");
7
+ const FloatingPanel_styles = require("./FloatingPanel.styles.cjs");
8
+ const Tabs = require("../Tabs/Tabs.cjs");
9
+ const Tab = require("../Tab/Tab.cjs");
10
+ const HvCanvasFloatingPanel = react.forwardRef((props, ref) => {
11
+ const {
12
+ id: idProp,
13
+ className,
14
+ children,
15
+ open,
16
+ tabs,
17
+ minimize,
18
+ leftActions,
19
+ rightActions,
20
+ tab: tabProp,
21
+ classes: classesProp,
22
+ onTabChange,
23
+ onAction,
24
+ ...others
25
+ } = uikitReactCore.useDefaultProps("HvCanvasFloatingPanel", props);
26
+ const { classes, cx } = FloatingPanel_styles.useClasses(classesProp);
27
+ const id = uikitReactCore.useUniqueId(idProp);
28
+ const { width: tabWidth = 0, ref: tabRef } = reactResizeDetector.useResizeDetector({
29
+ handleHeight: false
30
+ });
31
+ const { width: panelWidth = 0, ref: panelRef } = reactResizeDetector.useResizeDetector({
32
+ handleHeight: false
33
+ });
34
+ const { width: leftActionWidth = 32, ref: leftActionRef } = reactResizeDetector.useResizeDetector(
35
+ {
36
+ handleHeight: false,
37
+ refreshMode: "debounce",
38
+ refreshOptions: {
39
+ trailing: true
40
+ }
41
+ }
42
+ );
43
+ const { width: rightActionWidth = 32, ref: rightActionRef } = reactResizeDetector.useResizeDetector({
44
+ handleHeight: false,
45
+ refreshMode: "debounce",
46
+ refreshOptions: {
47
+ trailing: true
48
+ }
49
+ });
50
+ const overflowing = react.useMemo(() => {
51
+ const scrollWidth = tabRef.current?.scrollWidth ?? 0;
52
+ return scrollWidth - tabWidth >= 1;
53
+ }, [tabRef, tabWidth]);
54
+ const [selectedTab, setSelectedTab] = uikitReactCore.useControlled(
55
+ tabProp,
56
+ tabs[0].id
57
+ );
58
+ const handleTabChange = (event, tabId) => {
59
+ setSelectedTab(tabId);
60
+ onTabChange?.(event, tabId);
61
+ };
62
+ return /* @__PURE__ */ jsxRuntime.jsxs(
63
+ "div",
64
+ {
65
+ id,
66
+ ref,
67
+ className: cx(
68
+ classes.root,
69
+ {
70
+ [classes.closed]: !open,
71
+ [classes.minimized]: minimize,
72
+ [classes.multipleTabs]: tabs.length > 1,
73
+ [classes.overflowing]: overflowing
74
+ },
75
+ className
76
+ ),
77
+ ...others,
78
+ children: [
79
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes.tabsRoot, children: [
80
+ /* @__PURE__ */ jsxRuntime.jsx(
81
+ Tabs.HvCanvasTabs,
82
+ {
83
+ style: {
84
+ // @ts-ignore
85
+ "--left-actions-width": `${leftActionWidth}px`,
86
+ "--right-actions-width": `${rightActionWidth}px`
87
+ },
88
+ onChange: handleTabChange,
89
+ value: selectedTab,
90
+ children: tabs.map((tab, index) => /* @__PURE__ */ jsxRuntime.jsx(
91
+ Tab.HvCanvasTab,
92
+ {
93
+ ref: index === 0 ? tabRef : void 0,
94
+ id: `${id}-${tab.id}`,
95
+ value: tab.id,
96
+ className: classes.tab,
97
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.tabTitle, children: tab.title })
98
+ },
99
+ tab.id
100
+ ))
101
+ }
102
+ ),
103
+ (leftActions || rightActions) && !overflowing ? tabs.map((tab, index) => {
104
+ const btnsDisabled = selectedTab !== tab.id && !minimize;
105
+ return /* @__PURE__ */ jsxRuntime.jsxs(
106
+ "div",
107
+ {
108
+ style: {
109
+ // @ts-ignore
110
+ "--tab-width": `${tabWidth}px`,
111
+ "--right": `calc((${index} + 1) * var(--tab-width))`,
112
+ "--left": `calc(${index} * var(--tab-width))`
113
+ },
114
+ children: [
115
+ leftActions && /* @__PURE__ */ jsxRuntime.jsx("div", { ref: leftActionRef, className: classes.leftActions, children: /* @__PURE__ */ jsxRuntime.jsx(
116
+ uikitReactCore.HvActionsGeneric,
117
+ {
118
+ maxVisibleActions: 1,
119
+ actions: leftActions,
120
+ disabled: btnsDisabled,
121
+ onAction: (event, action) => onAction?.(event, action, tab.id),
122
+ variant: "secondaryGhost",
123
+ iconOnly: true
124
+ }
125
+ ) }),
126
+ rightActions && /* @__PURE__ */ jsxRuntime.jsx("div", { ref: rightActionRef, className: classes.rightActions, children: /* @__PURE__ */ jsxRuntime.jsx(
127
+ uikitReactCore.HvActionsGeneric,
128
+ {
129
+ maxVisibleActions: 2,
130
+ actions: rightActions,
131
+ disabled: btnsDisabled,
132
+ onAction: (event, action) => onAction?.(event, action, tab.id),
133
+ variant: "secondaryGhost",
134
+ iconOnly: true
135
+ }
136
+ ) })
137
+ ]
138
+ },
139
+ tab.id
140
+ );
141
+ }) : null
142
+ ] }),
143
+ /* @__PURE__ */ jsxRuntime.jsx(
144
+ uikitReactCore.HvPanel,
145
+ {
146
+ ref: panelRef,
147
+ role: "tabpanel",
148
+ "aria-labelledby": `${id}-${selectedTab}`,
149
+ className: classes.content,
150
+ style: {
151
+ // @ts-ignore
152
+ "--right-border-radius": tabWidth * tabs.length >= panelWidth ? "0px" : "16px"
153
+ },
154
+ children
155
+ }
156
+ )
157
+ ]
158
+ }
159
+ );
160
+ });
161
+ exports.floatingPanelClasses = FloatingPanel_styles.staticClasses;
162
+ exports.HvCanvasFloatingPanel = HvCanvasFloatingPanel;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const uikitReactCore = require("@hitachivantara/uikit-react-core");
4
+ const { staticClasses, useClasses } = uikitReactCore.createClasses(
5
+ "HvCanvasFloatingPanel",
6
+ {
7
+ root: {
8
+ position: "absolute",
9
+ display: "flex",
10
+ flexDirection: "column",
11
+ right: 0,
12
+ bottom: 0,
13
+ width: "100%",
14
+ maxHeight: "500px",
15
+ visibility: "visible",
16
+ transition: "visibility 0.3s ease, max-height 0.3s ease, width 0.3s ease"
17
+ },
18
+ closed: {
19
+ maxHeight: 0,
20
+ visibility: "hidden"
21
+ },
22
+ minimized: {
23
+ "& $content": {
24
+ display: "none"
25
+ },
26
+ "& $tab": {
27
+ backgroundColor: uikitReactCore.theme.colors.atmo1,
28
+ ...uikitReactCore.theme.typography.label
29
+ }
30
+ },
31
+ multipleTabs: {
32
+ "& $tab": { maxWidth: "288px" },
33
+ "& $rightActions": {
34
+ right: `calc(100% - var(--right) + ${uikitReactCore.theme.space.xs})`
35
+ }
36
+ },
37
+ overflowing: {
38
+ "& $tabTitle": {
39
+ paddingLeft: uikitReactCore.theme.space.sm,
40
+ paddingRight: uikitReactCore.theme.space.sm
41
+ }
42
+ },
43
+ tab: {
44
+ display: "flex",
45
+ alignItems: "center",
46
+ justifyContent: "flex-start",
47
+ width: "100%"
48
+ },
49
+ tabTitle: {
50
+ display: "flex",
51
+ width: "100%",
52
+ padding: uikitReactCore.theme.space.sm,
53
+ paddingLeft: `calc(var(--left-actions-width) + ${uikitReactCore.theme.space.xs})`,
54
+ paddingRight: `calc(var(--right-actions-width) + ${uikitReactCore.theme.space.xs})`
55
+ },
56
+ tabsRoot: {
57
+ position: "relative"
58
+ },
59
+ leftActions: {
60
+ position: "absolute",
61
+ left: `calc(var(--left) + ${uikitReactCore.theme.space.xs})`,
62
+ top: 8
63
+ },
64
+ rightActions: {
65
+ position: "absolute",
66
+ right: uikitReactCore.theme.space.xs,
67
+ top: 8
68
+ },
69
+ content: { borderTopRightRadius: "var(--right-border-radius)" }
70
+ }
71
+ );
72
+ exports.staticClasses = staticClasses;
73
+ exports.useClasses = useClasses;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
4
+ const react = require("react");
5
+ const uikitReactCore = require("@hitachivantara/uikit-react-core");
6
+ const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
7
+ const Panel_styles = require("./Panel.styles.cjs");
8
+ const Tabs = require("../Tabs/Tabs.cjs");
9
+ const Tab = require("../Tab/Tab.cjs");
10
+ const DEFAULT_LABELS = {
11
+ open: "Open",
12
+ close: "Close"
13
+ };
14
+ const HvCanvasPanel = react.forwardRef(
15
+ (props, ref) => {
16
+ const {
17
+ id: idProp,
18
+ tab: tabProp,
19
+ open: openProp,
20
+ defaultOpen = false,
21
+ tabs,
22
+ onToggle,
23
+ onTabChange,
24
+ labels: labelsProp,
25
+ className,
26
+ children,
27
+ classes: classesProp,
28
+ ...others
29
+ } = uikitReactCore.useDefaultProps("HvCanvasPanel", props);
30
+ const id = uikitReactCore.useUniqueId(idProp);
31
+ const { classes, cx } = Panel_styles.useClasses(classesProp);
32
+ const labels = uikitReactCore.useLabels(DEFAULT_LABELS, labelsProp);
33
+ const [open, setOpen] = uikitReactCore.useControlled(openProp, Boolean(defaultOpen));
34
+ const [selectedTab, setSelectedTab] = uikitReactCore.useControlled(
35
+ tabProp,
36
+ tabs?.[0]?.id ?? "none"
37
+ );
38
+ const handleTogglePanel = (event) => {
39
+ setOpen((prev) => !prev);
40
+ onToggle?.(event, !open);
41
+ };
42
+ const handleTabChange = (event, tabId) => {
43
+ setSelectedTab(tabId);
44
+ onTabChange?.(event, tabId);
45
+ };
46
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
47
+ /* @__PURE__ */ jsxRuntime.jsxs(
48
+ "div",
49
+ {
50
+ ref,
51
+ id,
52
+ className: cx(classes.root, className, {
53
+ [classes.open]: open,
54
+ [classes.close]: !open
55
+ }),
56
+ ...others,
57
+ children: [
58
+ tabs && /* @__PURE__ */ jsxRuntime.jsx(
59
+ Tabs.HvCanvasTabs,
60
+ {
61
+ className: classes.tabs,
62
+ value: selectedTab,
63
+ onChange: handleTabChange,
64
+ children: tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsx(
65
+ Tab.HvCanvasTab,
66
+ {
67
+ id: `${id}-${tab.id}`,
68
+ value: tab.id,
69
+ tabIndex: 0,
70
+ children: tab.content
71
+ },
72
+ tab.id
73
+ ))
74
+ }
75
+ ),
76
+ /* @__PURE__ */ jsxRuntime.jsx(
77
+ uikitReactCore.HvPanel,
78
+ {
79
+ role: tabs ? "tabpanel" : void 0,
80
+ "aria-labelledby": tabs ? `${id}-${selectedTab}` : void 0,
81
+ className: classes.content,
82
+ children
83
+ }
84
+ )
85
+ ]
86
+ }
87
+ ),
88
+ /* @__PURE__ */ jsxRuntime.jsx(
89
+ "div",
90
+ {
91
+ className: cx(classes.handle, {
92
+ [classes.handleOpen]: open,
93
+ [classes.handleClose]: !open
94
+ }),
95
+ onClick: handleTogglePanel,
96
+ role: "button",
97
+ tabIndex: 0,
98
+ onKeyDown: (e) => {
99
+ if (e.key === "Enter" || e.key === " ") {
100
+ handleTogglePanel(e);
101
+ }
102
+ },
103
+ "aria-label": open ? labels.close : labels.open,
104
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.handleButton, children: open ? /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.Start, { color: ["primary"] }) : /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.End, { color: ["primary"] }) })
105
+ }
106
+ )
107
+ ] });
108
+ }
109
+ );
110
+ exports.canvasPanelClasses = Panel_styles.staticClasses;
111
+ exports.HvCanvasPanel = HvCanvasPanel;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const uikitReactCore = require("@hitachivantara/uikit-react-core");
4
+ const { staticClasses, useClasses } = uikitReactCore.createClasses("HvCanvasPanel", {
5
+ root: {
6
+ height: "100%",
7
+ position: "absolute",
8
+ top: 0,
9
+ left: 0,
10
+ boxShadow: "4px 0px 8px -4px color-mix(in srgb, #414141 12%, transparent)",
11
+ backgroundColor: "transparent",
12
+ transition: "visibility 0.3s ease, width 0.3s ease",
13
+ overflow: "hidden",
14
+ "&$open": {
15
+ width: 320,
16
+ visibility: "visible"
17
+ },
18
+ "&$close": {
19
+ width: 0,
20
+ visibility: "hidden"
21
+ }
22
+ },
23
+ tabs: {},
24
+ content: {
25
+ height: "100%"
26
+ },
27
+ handle: {
28
+ height: "172px",
29
+ width: "35px",
30
+ display: "flex",
31
+ justifyContent: "center",
32
+ boxShadow: "4px 0px 8px -4px color-mix(in srgb, #414141 12%, transparent)",
33
+ backgroundColor: uikitReactCore.theme.colors.atmo1,
34
+ borderRadius: "0px 16px 16px 0px",
35
+ position: "absolute",
36
+ transition: "left 0.3s ease",
37
+ top: "calc(50% - 86px)",
38
+ "&$handleOpen": {
39
+ left: 320
40
+ },
41
+ "&$handleClose": {
42
+ left: 0
43
+ },
44
+ "&:hover": {
45
+ cursor: "pointer"
46
+ },
47
+ "&:focus-visible": {
48
+ ...uikitReactCore.outlineStyles
49
+ }
50
+ },
51
+ handleButton: {
52
+ top: "calc(50% - 16px)",
53
+ position: "absolute"
54
+ },
55
+ open: {},
56
+ close: {},
57
+ handleOpen: {},
58
+ handleClose: {}
59
+ });
60
+ exports.staticClasses = staticClasses;
61
+ exports.useClasses = useClasses;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
4
+ const react = require("react");
5
+ const Tab = require("@mui/base/Tab");
6
+ const uikitReactCore = require("@hitachivantara/uikit-react-core");
7
+ const Tab_styles = require("./Tab.styles.cjs");
8
+ const HvCanvasTab = react.forwardRef(
9
+ (props, ref) => {
10
+ const {
11
+ classes: classesProp,
12
+ className,
13
+ ...others
14
+ } = uikitReactCore.useDefaultProps("HvCanvasTab", props);
15
+ const { classes, cx } = Tab_styles.useClasses(classesProp);
16
+ return /* @__PURE__ */ jsxRuntime.jsx(Tab.Tab, { ref, className: cx(classes.root, className), ...others });
17
+ }
18
+ );
19
+ exports.canvasTabClasses = Tab_styles.staticClasses;
20
+ exports.HvCanvasTab = HvCanvasTab;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const Tab = require("@mui/base/Tab");
4
+ const uikitReactCore = require("@hitachivantara/uikit-react-core");
5
+ const { staticClasses, useClasses } = uikitReactCore.createClasses("HvCanvasTab", {
6
+ root: {
7
+ height: "100%",
8
+ display: "flex",
9
+ alignItems: "center",
10
+ justifyContent: "center",
11
+ flex: 1,
12
+ borderRadius: "16px 16px 0 0",
13
+ backgroundColor: uikitReactCore.theme.colors.atmo2,
14
+ color: uikitReactCore.theme.colors.secondary_60,
15
+ overflow: "hidden",
16
+ width: "100%",
17
+ boxShadow: "0px -2px 8px 0px #4141410F",
18
+ paddingInlineEnd: 0,
19
+ paddingInlineStart: 0,
20
+ "& svg .color0": {
21
+ fill: "currentcolor"
22
+ },
23
+ "&:hover": {
24
+ cursor: "pointer"
25
+ },
26
+ "&:focus": {
27
+ backgroundColor: uikitReactCore.theme.colors.atmo1
28
+ },
29
+ [`&.${Tab.tabClasses.selected}`]: {
30
+ backgroundColor: uikitReactCore.theme.colors.atmo1,
31
+ ...uikitReactCore.theme.typography.label
32
+ },
33
+ "&:focus-visible": {
34
+ ...uikitReactCore.outlineStyles
35
+ }
36
+ }
37
+ });
38
+ exports.staticClasses = staticClasses;
39
+ exports.useClasses = useClasses;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
4
+ const react = require("react");
5
+ const Tabs = require("@mui/base/Tabs");
6
+ const TabsList = require("@mui/base/TabsList");
7
+ const uikitReactCore = require("@hitachivantara/uikit-react-core");
8
+ const Tabs_styles = require("./Tabs.styles.cjs");
9
+ const HvCanvasTabs = react.forwardRef(
10
+ (props, ref) => {
11
+ const {
12
+ selectionFollowsFocus = true,
13
+ children,
14
+ className,
15
+ classes: classesProp,
16
+ ...others
17
+ } = uikitReactCore.useDefaultProps("HvCanvasTabs", props);
18
+ const { classes, cx } = Tabs_styles.useClasses(classesProp);
19
+ return /* @__PURE__ */ jsxRuntime.jsx(
20
+ Tabs.Tabs,
21
+ {
22
+ ref,
23
+ className: cx(classes.root, className),
24
+ selectionFollowsFocus,
25
+ ...others,
26
+ children: /* @__PURE__ */ jsxRuntime.jsx(TabsList.TabsList, { className: classes.list, children })
27
+ }
28
+ );
29
+ }
30
+ );
31
+ exports.canvasTabsClasses = Tabs_styles.staticClasses;
32
+ exports.HvCanvasTabs = HvCanvasTabs;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const uikitReactCore = require("@hitachivantara/uikit-react-core");
4
+ const { staticClasses, useClasses } = uikitReactCore.createClasses("HvCanvasTabs", {
5
+ root: {},
6
+ list: {
7
+ display: "flex",
8
+ width: "100%",
9
+ height: 48
10
+ }
11
+ });
12
+ exports.staticClasses = staticClasses;
13
+ exports.useClasses = useClasses;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
4
+ const react = require("react");
5
+ const uikitReactCore = require("@hitachivantara/uikit-react-core");
6
+ const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
7
+ const Toolbar_styles = require("./Toolbar.styles.cjs");
8
+ const DEFAULT_LABELS = {
9
+ back: "Back"
10
+ };
11
+ const HvCanvasToolbar = react.forwardRef(
12
+ (props, ref) => {
13
+ const {
14
+ title: titleProp,
15
+ backButton,
16
+ labels: labelsProp,
17
+ className,
18
+ children,
19
+ backButtonProps,
20
+ classes: classesProp,
21
+ ...others
22
+ } = uikitReactCore.useDefaultProps("HvCanvasToolbar", props);
23
+ const { classes, cx } = Toolbar_styles.useClasses(classesProp);
24
+ const labels = uikitReactCore.useLabels(DEFAULT_LABELS, labelsProp);
25
+ const title = typeof titleProp === "string" ? /* @__PURE__ */ jsxRuntime.jsx(uikitReactCore.HvTypography, { variant: "title4", children: titleProp }) : titleProp;
26
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cx(classes.root, className), ...others, children: [
27
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.back, children: backButton ?? /* @__PURE__ */ jsxRuntime.jsx(
28
+ uikitReactCore.HvIconButton,
29
+ {
30
+ title: labels.back,
31
+ variant: "primaryGhost",
32
+ ...backButtonProps,
33
+ children: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.Previous, {})
34
+ }
35
+ ) }),
36
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.title, children: title }),
37
+ children && /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.actions, children })
38
+ ] });
39
+ }
40
+ );
41
+ exports.canvasToolbarClasses = Toolbar_styles.staticClasses;
42
+ exports.HvCanvasToolbar = HvCanvasToolbar;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const uikitReactCore = require("@hitachivantara/uikit-react-core");
4
+ const { staticClasses, useClasses } = uikitReactCore.createClasses("HvCanvasToolbar", {
5
+ root: {
6
+ width: "100%",
7
+ height: 54,
8
+ display: "flex",
9
+ alignItems: "center",
10
+ borderRadius: uikitReactCore.theme.radii.full,
11
+ backgroundColor: uikitReactCore.theme.colors.atmo1,
12
+ position: "absolute",
13
+ right: 0,
14
+ top: 0,
15
+ transition: "width 0.3s ease"
16
+ },
17
+ back: {
18
+ borderRadius: `${uikitReactCore.theme.radii.full} 0 0 ${uikitReactCore.theme.radii.full}`,
19
+ minWidth: 68,
20
+ backgroundColor: uikitReactCore.theme.colors.containerBackgroundHover,
21
+ height: "100%",
22
+ display: "flex",
23
+ alignItems: "center",
24
+ justifyContent: "center"
25
+ },
26
+ title: {
27
+ display: "flex",
28
+ alignItems: "center",
29
+ padding: uikitReactCore.theme.spacing(0, "md"),
30
+ height: "100%",
31
+ flexGrow: 1
32
+ },
33
+ actions: {
34
+ display: "flex",
35
+ flexWrap: "nowrap",
36
+ overflow: "auto",
37
+ paddingRight: uikitReactCore.theme.space.md
38
+ }
39
+ });
40
+ exports.staticClasses = staticClasses;
41
+ exports.useClasses = useClasses;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const Toolbar_styles = require("./Canvas/Toolbar/Toolbar.styles.cjs");
4
+ const Toolbar = require("./Canvas/Toolbar/Toolbar.cjs");
5
+ const Panel_styles = require("./Canvas/Panel/Panel.styles.cjs");
6
+ const Panel = require("./Canvas/Panel/Panel.cjs");
7
+ const Tabs_styles = require("./Canvas/Tabs/Tabs.styles.cjs");
8
+ const Tabs = require("./Canvas/Tabs/Tabs.cjs");
9
+ const FloatingPanel_styles = require("./Canvas/FloatingPanel/FloatingPanel.styles.cjs");
10
+ const FloatingPanel = require("./Canvas/FloatingPanel/FloatingPanel.cjs");
11
+ const Tab_styles = require("./Canvas/Tab/Tab.styles.cjs");
12
+ const Tab = require("./Canvas/Tab/Tab.cjs");
13
+ exports.canvasToolbarClasses = Toolbar_styles.staticClasses;
14
+ exports.HvCanvasToolbar = Toolbar.HvCanvasToolbar;
15
+ exports.canvasPanelClasses = Panel_styles.staticClasses;
16
+ exports.HvCanvasPanel = Panel.HvCanvasPanel;
17
+ exports.canvasTabsClasses = Tabs_styles.staticClasses;
18
+ exports.HvCanvasTabs = Tabs.HvCanvasTabs;
19
+ exports.floatingPanelClasses = FloatingPanel_styles.staticClasses;
20
+ exports.HvCanvasFloatingPanel = FloatingPanel.HvCanvasFloatingPanel;
21
+ exports.canvasTabClasses = Tab_styles.staticClasses;
22
+ exports.HvCanvasTab = Tab.HvCanvasTab;