@hitachivantara/uikit-react-pentaho 0.10.20 → 6.0.0-next.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 (34) hide show
  1. package/dist/{esm/Canvas → Canvas}/ToolbarTabs/ToolbarTabEditor.js +1 -1
  2. package/dist/{types/index.d.ts → index.d.ts} +1 -1
  3. package/package.json +13 -13
  4. package/dist/cjs/Canvas/BottomPanel/BottomPanel.cjs +0 -208
  5. package/dist/cjs/Canvas/BottomPanel/BottomPanel.styles.cjs +0 -79
  6. package/dist/cjs/Canvas/CanvasContext.cjs +0 -46
  7. package/dist/cjs/Canvas/PanelTab/PanelTab.cjs +0 -18
  8. package/dist/cjs/Canvas/PanelTab/PanelTab.styles.cjs +0 -36
  9. package/dist/cjs/Canvas/PanelTabs/PanelTabs.cjs +0 -30
  10. package/dist/cjs/Canvas/PanelTabs/PanelTabs.styles.cjs +0 -16
  11. package/dist/cjs/Canvas/SidePanel/SidePanel.cjs +0 -139
  12. package/dist/cjs/Canvas/SidePanel/SidePanel.styles.cjs +0 -59
  13. package/dist/cjs/Canvas/SidePanel/useResizable.cjs +0 -76
  14. package/dist/cjs/Canvas/Toolbar/Toolbar.cjs +0 -59
  15. package/dist/cjs/Canvas/Toolbar/Toolbar.styles.cjs +0 -40
  16. package/dist/cjs/Canvas/ToolbarTabs/ToolbarTabEditor.cjs +0 -154
  17. package/dist/cjs/Canvas/ToolbarTabs/ToolbarTabs.cjs +0 -231
  18. package/dist/cjs/Canvas/ToolbarTabs/ToolbarTabs.styles.cjs +0 -125
  19. package/dist/cjs/index.cjs +0 -30
  20. /package/dist/{esm/Canvas → Canvas}/BottomPanel/BottomPanel.js +0 -0
  21. /package/dist/{esm/Canvas → Canvas}/BottomPanel/BottomPanel.styles.js +0 -0
  22. /package/dist/{esm/Canvas → Canvas}/CanvasContext.js +0 -0
  23. /package/dist/{esm/Canvas → Canvas}/PanelTab/PanelTab.js +0 -0
  24. /package/dist/{esm/Canvas → Canvas}/PanelTab/PanelTab.styles.js +0 -0
  25. /package/dist/{esm/Canvas → Canvas}/PanelTabs/PanelTabs.js +0 -0
  26. /package/dist/{esm/Canvas → Canvas}/PanelTabs/PanelTabs.styles.js +0 -0
  27. /package/dist/{esm/Canvas → Canvas}/SidePanel/SidePanel.js +0 -0
  28. /package/dist/{esm/Canvas → Canvas}/SidePanel/SidePanel.styles.js +0 -0
  29. /package/dist/{esm/Canvas → Canvas}/SidePanel/useResizable.js +0 -0
  30. /package/dist/{esm/Canvas → Canvas}/Toolbar/Toolbar.js +0 -0
  31. /package/dist/{esm/Canvas → Canvas}/Toolbar/Toolbar.styles.js +0 -0
  32. /package/dist/{esm/Canvas → Canvas}/ToolbarTabs/ToolbarTabs.js +0 -0
  33. /package/dist/{esm/Canvas → Canvas}/ToolbarTabs/ToolbarTabs.styles.js +0 -0
  34. /package/dist/{esm/index.js → index.js} +0 -0
@@ -3,7 +3,7 @@ import { useRef, useState } from "react";
3
3
  import { createClasses, theme, useControlled, useEnhancedEffect, HvTypography, isKey } from "@hitachivantara/uikit-react-core";
4
4
  import { Edit } from "@hitachivantara/uikit-react-icons";
5
5
  const { staticClasses, useClasses } = createClasses(
6
- "HvCanvasToolbarTabs-editor",
6
+ "HvCanvasToolbarTabsEditor",
7
7
  {
8
8
  root: {
9
9
  position: "relative",
@@ -267,7 +267,7 @@ declare interface ToolbarTabsTab {
267
267
 
268
268
  export declare const useCanvasContext: () => HvCanvasContextValue | null;
269
269
 
270
- declare const useClasses: (classesProp?: Partial<Record<"content" | "tab" | "root" | "actionsDisabled" | "minimized" | "closed" | "multipleTabs" | "overflowing" | "tabTitle" | "tabsRoot" | "leftActions" | "rightActions", string>>, addStatic?: boolean) => {
270
+ declare const useClasses: (classesProp?: Partial<Record<"content" | "tab" | "root" | "minimized" | "closed" | "actionsDisabled" | "multipleTabs" | "overflowing" | "tabTitle" | "tabsRoot" | "leftActions" | "rightActions", string>>, addStatic?: boolean) => {
271
271
  readonly classes: {
272
272
  root: string;
273
273
  closed: string;
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@hitachivantara/uikit-react-pentaho",
3
- "version": "0.10.20",
3
+ "version": "6.0.0-next.1",
4
+ "type": "module",
4
5
  "private": false,
5
6
  "author": "Hitachi Vantara UI Kit Team",
6
7
  "description": "UI Kit Pentaho React components.",
@@ -24,15 +25,15 @@
24
25
  "peerDependencies": {
25
26
  "@emotion/react": "^11.11.1",
26
27
  "@emotion/styled": "^11.11.0",
27
- "@mui/material": "^5.16.14",
28
- "react": ">=17.0.0",
29
- "react-dom": ">=17.0.0"
28
+ "@mui/material": "^7.0.2",
29
+ "react": ">=18.0.0",
30
+ "react-dom": ">=18.0.0"
30
31
  },
31
32
  "dependencies": {
32
33
  "@emotion/css": "^11.11.0",
33
- "@hitachivantara/uikit-react-core": "^5.109.0",
34
- "@hitachivantara/uikit-react-icons": "^5.16.9",
35
- "@hitachivantara/uikit-react-utils": "^0.2.49",
34
+ "@hitachivantara/uikit-react-core": "^6.0.0-next.3",
35
+ "@hitachivantara/uikit-react-icons": "^6.0.0-next.3",
36
+ "@hitachivantara/uikit-react-utils": "^6.0.0-next.3",
36
37
  "@mui/base": "5.0.0-beta.68",
37
38
  "react-resize-detector": "^8.1.0"
38
39
  },
@@ -43,14 +44,13 @@
43
44
  "access": "public",
44
45
  "directory": "package"
45
46
  },
46
- "gitHead": "6d8da4ec057c2815bbf32ca60f9464d82443ab8f",
47
+ "gitHead": "f404f47dd2c0a9d4033b9acccc87282aa9e42119",
47
48
  "exports": {
48
49
  ".": {
49
- "types": "./dist/types/index.d.ts",
50
- "require": "./dist/cjs/index.cjs",
51
- "import": "./dist/esm/index.js"
50
+ "types": "./dist/index.d.ts",
51
+ "import": "./dist/index.js"
52
52
  }
53
53
  },
54
- "types": "dist/types/index.d.ts",
55
- "module": "dist/esm/index.js"
54
+ "types": "dist/index.d.ts",
55
+ "module": "dist/index.js"
56
56
  }
@@ -1,208 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("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 CanvasContext = require("../CanvasContext.cjs");
8
- const BottomPanel_styles = require("./BottomPanel.styles.cjs");
9
- const PanelTabs = require("../PanelTabs/PanelTabs.cjs");
10
- const PanelTab = require("../PanelTab/PanelTab.cjs");
11
- const HvCanvasBottomPanel = react.forwardRef(function HvCanvasBottomPanel2(props, ref) {
12
- const {
13
- id: idProp,
14
- className,
15
- children,
16
- open,
17
- tabs,
18
- minimize,
19
- leftActions,
20
- rightActions,
21
- overflowActions,
22
- selectedTabId: selectedTabIdProp,
23
- classes: classesProp,
24
- onTabChange,
25
- onAction,
26
- ...others
27
- } = uikitReactCore.useDefaultProps("HvCanvasBottomPanel", props);
28
- const { classes, cx } = BottomPanel_styles.useClasses(classesProp);
29
- const canvasContext = CanvasContext.useCanvasContext();
30
- const sidePanelWidth = canvasContext?.sidePanelWidth ?? 0;
31
- const id = uikitReactCore.useUniqueId(idProp);
32
- const { width: tabWidth = 0, ref: tabRef } = reactResizeDetector.useResizeDetector({
33
- handleHeight: false
34
- });
35
- const { width: panelWidth = 0, ref: panelRef } = reactResizeDetector.useResizeDetector({
36
- handleHeight: false
37
- });
38
- const { width: leftActionWidth = 32, ref: leftActionRef } = reactResizeDetector.useResizeDetector(
39
- {
40
- handleHeight: false,
41
- refreshMode: "debounce",
42
- refreshOptions: {
43
- trailing: true
44
- }
45
- }
46
- );
47
- const { width: rightActionWidth = 32, ref: rightActionRef } = reactResizeDetector.useResizeDetector({
48
- handleHeight: false,
49
- refreshMode: "debounce",
50
- refreshOptions: {
51
- trailing: true
52
- }
53
- });
54
- const overflowing = react.useMemo(() => {
55
- const availableWidth = tabWidth - (leftActions ? leftActionWidth : 0) - (rightActions ? rightActionWidth : 0);
56
- return availableWidth < 60;
57
- }, [leftActionWidth, leftActions, rightActionWidth, rightActions, tabWidth]);
58
- const [selectedTab, setSelectedTab] = uikitReactCore.useControlled(
59
- selectedTabIdProp,
60
- tabs[0].id
61
- );
62
- const handleTabChange = (event, tabId) => {
63
- setSelectedTab(tabId);
64
- onTabChange?.(event, tabId);
65
- };
66
- return /* @__PURE__ */ jsxRuntime.jsxs(
67
- "div",
68
- {
69
- id,
70
- ref,
71
- className: cx(
72
- classes.root,
73
- {
74
- [classes.closed]: !open,
75
- [classes.minimized]: minimize,
76
- [classes.multipleTabs]: tabs.length > 1,
77
- [classes.overflowing]: overflowing
78
- },
79
- className
80
- ),
81
- style: {
82
- width: `calc(100% - ${sidePanelWidth}px - 2 * ${uikitReactCore.theme.space.sm})`,
83
- right: uikitReactCore.theme.space.sm,
84
- transition: canvasContext?.sidePanelDragging ? "height 0.3s ease, opacity 0.3s ease" : "width 0.3s ease"
85
- },
86
- ...others,
87
- children: [
88
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes.tabsRoot, children: [
89
- /* @__PURE__ */ jsxRuntime.jsx(
90
- PanelTabs.HvCanvasPanelTabs,
91
- {
92
- style: {
93
- // @ts-ignore
94
- "--left-actions-width": overflowing || !leftActions ? uikitReactCore.theme.space.sm : `calc(${leftActionWidth}px + ${uikitReactCore.theme.space.xs})`,
95
- "--right-actions-width": !rightActions || overflowing && !overflowActions ? uikitReactCore.theme.space.sm : `calc(${overflowing ? 32 : rightActionWidth}px + ${uikitReactCore.theme.space.xs})`
96
- },
97
- onChange: handleTabChange,
98
- value: selectedTab,
99
- children: tabs.map((tab, index) => /* @__PURE__ */ jsxRuntime.jsx(
100
- PanelTab.HvCanvasPanelTab,
101
- {
102
- ref: index === 0 ? tabRef : void 0,
103
- id: `${id}-${tab.id}`,
104
- value: tab.id,
105
- className: classes.tab,
106
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.tabTitle, children: typeof tab.title === "function" ? tab.title(overflowing) : tab.title })
107
- },
108
- tab.id
109
- ))
110
- }
111
- ),
112
- leftActions || rightActions || overflowActions ? tabs.map((tab, index) => {
113
- const btnsDisabled = selectedTab !== tab.id && !minimize;
114
- return /* @__PURE__ */ jsxRuntime.jsxs(
115
- "div",
116
- {
117
- style: {
118
- // @ts-ignore
119
- "--tab-width": `${tabWidth}px`,
120
- "--right": `calc((${index} + 1) * var(--tab-width))`,
121
- "--left": `calc(${index} * var(--tab-width))`
122
- },
123
- children: [
124
- leftActions && !overflowing && /* @__PURE__ */ jsxRuntime.jsx(
125
- "div",
126
- {
127
- ref: leftActionRef,
128
- className: cx(classes.leftActions, {
129
- [classes.actionsDisabled]: btnsDisabled
130
- }),
131
- children: /* @__PURE__ */ jsxRuntime.jsx(
132
- uikitReactCore.HvActionsGeneric,
133
- {
134
- maxVisibleActions: 1,
135
- actions: leftActions,
136
- disabled: btnsDisabled,
137
- onAction: (event, action) => onAction?.(event, action, tab.id),
138
- variant: "secondaryGhost",
139
- iconOnly: true
140
- }
141
- )
142
- }
143
- ),
144
- rightActions && !overflowing && /* @__PURE__ */ jsxRuntime.jsx(
145
- "div",
146
- {
147
- ref: rightActionRef,
148
- className: cx(classes.rightActions, {
149
- [classes.actionsDisabled]: btnsDisabled
150
- }),
151
- children: /* @__PURE__ */ jsxRuntime.jsx(
152
- uikitReactCore.HvActionsGeneric,
153
- {
154
- maxVisibleActions: 2,
155
- actions: rightActions,
156
- disabled: btnsDisabled,
157
- onAction: (event, action) => onAction?.(event, action, tab.id),
158
- variant: "secondaryGhost",
159
- iconOnly: true
160
- }
161
- )
162
- }
163
- ),
164
- overflowActions && overflowing && /* @__PURE__ */ jsxRuntime.jsx(
165
- "div",
166
- {
167
- className: cx(classes.rightActions, {
168
- [classes.actionsDisabled]: btnsDisabled
169
- }),
170
- children: /* @__PURE__ */ jsxRuntime.jsx(
171
- uikitReactCore.HvActionsGeneric,
172
- {
173
- maxVisibleActions: 0,
174
- actions: overflowActions,
175
- disabled: btnsDisabled,
176
- onAction: (event, action) => onAction?.(event, action, tab.id),
177
- variant: "secondaryGhost",
178
- iconOnly: true
179
- }
180
- )
181
- }
182
- )
183
- ]
184
- },
185
- tab.id
186
- );
187
- }) : null
188
- ] }),
189
- /* @__PURE__ */ jsxRuntime.jsx(
190
- uikitReactCore.HvPanel,
191
- {
192
- ref: panelRef,
193
- role: "tabpanel",
194
- "aria-labelledby": `${id}-${selectedTab}`,
195
- className: classes.content,
196
- style: {
197
- // @ts-ignore
198
- "--right-border-radius": tabWidth * tabs.length >= panelWidth ? "0px" : "16px"
199
- },
200
- children
201
- }
202
- )
203
- ]
204
- }
205
- );
206
- });
207
- exports.canvasBottomPanelClasses = BottomPanel_styles.staticClasses;
208
- exports.HvCanvasBottomPanel = HvCanvasBottomPanel;
@@ -1,79 +0,0 @@
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
- "HvCanvasBottomPanel",
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
- },
17
- closed: {
18
- maxHeight: 0,
19
- visibility: "hidden"
20
- },
21
- minimized: {
22
- "& $content": {
23
- display: "none"
24
- },
25
- "& $tab": {
26
- backgroundColor: uikitReactCore.theme.colors.bgContainer,
27
- ...uikitReactCore.theme.typography.label
28
- }
29
- },
30
- multipleTabs: {
31
- "& $tab": { maxWidth: "288px" },
32
- "& $rightActions": {
33
- right: `calc(100% - var(--right) + ${uikitReactCore.theme.space.xs})`
34
- }
35
- },
36
- overflowing: {},
37
- tab: {
38
- display: "flex",
39
- alignItems: "center",
40
- justifyContent: "flex-start",
41
- width: "100%"
42
- },
43
- tabTitle: {
44
- display: "flex",
45
- width: "100%",
46
- padding: uikitReactCore.theme.space.sm,
47
- paddingLeft: "var(--left-actions-width)",
48
- paddingRight: "var(--right-actions-width)"
49
- },
50
- tabsRoot: {
51
- position: "relative"
52
- },
53
- leftActions: {
54
- position: "absolute",
55
- left: `calc(var(--left) + ${uikitReactCore.theme.space.xs})`,
56
- top: 8
57
- },
58
- rightActions: {
59
- position: "absolute",
60
- right: uikitReactCore.theme.space.xs,
61
- top: 8
62
- },
63
- actionsDisabled: {
64
- pointerEvents: "none",
65
- [`&& .${uikitReactCore.buttonClasses.disabled}`]: {
66
- pointerEvents: "none",
67
- backgroundColor: "transparent",
68
- borderColor: "transparent",
69
- ":hover": {
70
- backgroundColor: "transparent",
71
- borderColor: "transparent"
72
- }
73
- }
74
- },
75
- content: { borderTopRightRadius: "var(--right-border-radius)" }
76
- }
77
- );
78
- exports.staticClasses = staticClasses;
79
- exports.useClasses = useClasses;
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const react = require("react");
5
- const HvCanvasContext = react.createContext(null);
6
- const HvCanvasProvider = ({
7
- children
8
- }) => {
9
- const [sidePanelOpen, setSidePanelOpen] = react.useState(false);
10
- const [width, setWidth] = react.useState(0);
11
- const [sidePanelDragging, setSidePanelDragging] = react.useState(false);
12
- const handleSidePanelWidth = react.useCallback((newWidth) => {
13
- setWidth(newWidth);
14
- }, []);
15
- const handleSidePanelOpen = react.useCallback((open) => {
16
- setSidePanelOpen(open);
17
- }, []);
18
- const handleSidePanelDragging = react.useCallback((dragging) => {
19
- setSidePanelDragging(dragging);
20
- }, []);
21
- const value = react.useMemo(
22
- () => ({
23
- sidePanelOpen,
24
- handleSidePanelOpen,
25
- sidePanelWidth: sidePanelOpen ? width : 0,
26
- handleSidePanelWidth,
27
- sidePanelDragging,
28
- handleSidePanelDragging
29
- }),
30
- [
31
- sidePanelOpen,
32
- handleSidePanelOpen,
33
- width,
34
- handleSidePanelWidth,
35
- sidePanelDragging,
36
- handleSidePanelDragging
37
- ]
38
- );
39
- return /* @__PURE__ */ jsxRuntime.jsx(HvCanvasContext.Provider, { value, children });
40
- };
41
- const useCanvasContext = () => {
42
- return react.useContext(HvCanvasContext);
43
- };
44
- exports.HvCanvasContext = HvCanvasContext;
45
- exports.HvCanvasProvider = HvCanvasProvider;
46
- exports.useCanvasContext = useCanvasContext;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("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 PanelTab_styles = require("./PanelTab.styles.cjs");
8
- const HvCanvasPanelTab = react.forwardRef(function HvCanvasPanelTab2(props, ref) {
9
- const {
10
- classes: classesProp,
11
- className,
12
- ...others
13
- } = uikitReactCore.useDefaultProps("HvCanvasPanelTab", props);
14
- const { classes, cx } = PanelTab_styles.useClasses(classesProp);
15
- return /* @__PURE__ */ jsxRuntime.jsx(Tab.Tab, { ref, className: cx(classes.root, className), ...others });
16
- });
17
- exports.canvasPanelTabClasses = PanelTab_styles.staticClasses;
18
- exports.HvCanvasPanelTab = HvCanvasPanelTab;
@@ -1,36 +0,0 @@
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("HvCanvasPanelTab", {
6
- root: {
7
- height: "100%",
8
- display: "flex",
9
- alignItems: "center",
10
- justifyContent: "center",
11
- flex: 1,
12
- borderRadius: `${uikitReactCore.theme.radii.large} ${uikitReactCore.theme.radii.large} 0 0`,
13
- backgroundColor: uikitReactCore.theme.colors.bgPage,
14
- color: uikitReactCore.theme.colors.textSubtle,
15
- overflow: "hidden",
16
- width: "100%",
17
- boxShadow: "0px -2px 8px 0px #4141410F",
18
- paddingInlineEnd: 0,
19
- paddingInlineStart: 0,
20
- "&:hover": {
21
- cursor: "pointer"
22
- },
23
- "&:focus": {
24
- backgroundColor: uikitReactCore.theme.colors.bgContainer
25
- },
26
- [`&.${Tab.tabClasses.selected}`]: {
27
- backgroundColor: uikitReactCore.theme.colors.bgContainer,
28
- ...uikitReactCore.theme.typography.label
29
- },
30
- "&:focus-visible": {
31
- ...uikitReactCore.outlineStyles
32
- }
33
- }
34
- });
35
- exports.staticClasses = staticClasses;
36
- exports.useClasses = useClasses;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("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 PanelTabs_styles = require("./PanelTabs.styles.cjs");
9
- const HvCanvasPanelTabs = react.forwardRef(function HvCanvasPanelTabs2(props, ref) {
10
- const {
11
- selectionFollowsFocus = true,
12
- children,
13
- className,
14
- classes: classesProp,
15
- ...others
16
- } = uikitReactCore.useDefaultProps("HvCanvasPanelTabs", props);
17
- const { classes, cx } = PanelTabs_styles.useClasses(classesProp);
18
- return /* @__PURE__ */ jsxRuntime.jsx(
19
- Tabs.Tabs,
20
- {
21
- ref,
22
- className: cx(classes.root, className),
23
- selectionFollowsFocus,
24
- ...others,
25
- children: /* @__PURE__ */ jsxRuntime.jsx(TabsList.TabsList, { className: classes.list, children })
26
- }
27
- );
28
- });
29
- exports.canvasPanelTabsClasses = PanelTabs_styles.staticClasses;
30
- exports.HvCanvasPanelTabs = HvCanvasPanelTabs;
@@ -1,16 +0,0 @@
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
- "HvCanvasPanelTabs",
6
- {
7
- root: {},
8
- list: {
9
- display: "flex",
10
- width: "100%",
11
- height: 48
12
- }
13
- }
14
- );
15
- exports.staticClasses = staticClasses;
16
- exports.useClasses = useClasses;
@@ -1,139 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("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 CanvasContext = require("../CanvasContext.cjs");
8
- const SidePanel_styles = require("./SidePanel.styles.cjs");
9
- const useResizable = require("./useResizable.cjs");
10
- const PanelTabs = require("../PanelTabs/PanelTabs.cjs");
11
- const PanelTab = require("../PanelTab/PanelTab.cjs");
12
- const DEFAULT_LABELS = {
13
- open: "Open",
14
- close: "Close"
15
- };
16
- const HvCanvasSidePanel = react.forwardRef(function HvCanvasSidePanel2(props, ref) {
17
- const {
18
- id: idProp,
19
- tab: tabProp,
20
- open: openProp,
21
- defaultOpen = false,
22
- tabs,
23
- onToggle,
24
- onTabChange,
25
- labels: labelsProp,
26
- minWidth = 100,
27
- maxWidth = 500,
28
- initialWidth = 320,
29
- onResize,
30
- className,
31
- children,
32
- classes: classesProp,
33
- ...others
34
- } = uikitReactCore.useDefaultProps("HvCanvasSidePanel", props);
35
- const id = uikitReactCore.useUniqueId(idProp);
36
- const canvasContext = CanvasContext.useCanvasContext();
37
- const handleSidePanelWidth = canvasContext?.handleSidePanelWidth;
38
- const sidePanelOpen = canvasContext?.sidePanelOpen;
39
- const handleSidePanelOpen = canvasContext?.handleSidePanelOpen;
40
- const handleSidePanelDragging = canvasContext?.handleSidePanelDragging;
41
- const { classes, cx } = SidePanel_styles.useClasses(classesProp);
42
- const labels = uikitReactCore.useLabels(DEFAULT_LABELS, labelsProp);
43
- const [open, setOpen] = uikitReactCore.useControlled(openProp, Boolean(defaultOpen));
44
- const [selectedTab, setSelectedTab] = uikitReactCore.useControlled(
45
- tabProp,
46
- tabs?.[0]?.id ?? "none"
47
- );
48
- react.useEffect(() => {
49
- handleSidePanelOpen?.(open);
50
- }, [handleSidePanelOpen, open]);
51
- react.useEffect(() => {
52
- handleSidePanelWidth?.(initialWidth);
53
- }, [handleSidePanelWidth, initialWidth]);
54
- const updateWidth = (width2) => {
55
- handleSidePanelWidth?.(width2);
56
- onResize?.(width2);
57
- };
58
- const { width, isDragging, getContainerProps, getSeparatorProps } = useResizable.useResizable({
59
- ref,
60
- initialWidth,
61
- minWidth,
62
- maxWidth,
63
- onResize: updateWidth
64
- });
65
- react.useEffect(() => {
66
- handleSidePanelDragging?.(isDragging);
67
- }, [handleSidePanelDragging, isDragging]);
68
- const handleTogglePanel = (event) => {
69
- setOpen((prev) => !prev);
70
- handleSidePanelOpen?.(!sidePanelOpen);
71
- onToggle?.(event, !open);
72
- };
73
- const handleTabChange = (event, tabId) => {
74
- setSelectedTab(tabId);
75
- onTabChange?.(event, tabId);
76
- };
77
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
78
- /* @__PURE__ */ jsxRuntime.jsxs(
79
- "div",
80
- {
81
- id,
82
- className: cx(classes.root, className, {
83
- [classes.open]: open,
84
- [classes.close]: !open
85
- }),
86
- ...getContainerProps({ style: { ...!open && { width: 0 } } }),
87
- ...others,
88
- children: [
89
- tabs && /* @__PURE__ */ jsxRuntime.jsx(
90
- PanelTabs.HvCanvasPanelTabs,
91
- {
92
- className: classes.tabs,
93
- value: selectedTab,
94
- onChange: handleTabChange,
95
- children: tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsx(
96
- PanelTab.HvCanvasPanelTab,
97
- {
98
- id: `${id}-${tab.id}`,
99
- value: tab.id,
100
- children: tab.content
101
- },
102
- tab.id
103
- ))
104
- }
105
- ),
106
- /* @__PURE__ */ jsxRuntime.jsx(
107
- uikitReactCore.HvPanel,
108
- {
109
- role: tabs ? "tabpanel" : void 0,
110
- "aria-labelledby": tabs ? `${id}-${selectedTab}` : void 0,
111
- className: classes.content,
112
- children
113
- }
114
- )
115
- ]
116
- }
117
- ),
118
- /* @__PURE__ */ jsxRuntime.jsx("div", { ...getSeparatorProps() }),
119
- /* @__PURE__ */ jsxRuntime.jsx(
120
- uikitReactCore.HvIconButton,
121
- {
122
- variant: "primaryGhost",
123
- title: open ? labels.close : labels.open,
124
- onClick: handleTogglePanel,
125
- className: cx(classes.handle, {
126
- [classes.handleOpen]: open,
127
- [classes.handleClose]: !open
128
- }),
129
- style: {
130
- left: open ? width : 0,
131
- transition: isDragging ? "none" : void 0
132
- },
133
- children: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.End, { rotate: open })
134
- }
135
- )
136
- ] });
137
- });
138
- exports.canvasSidePanelClasses = SidePanel_styles.staticClasses;
139
- exports.HvCanvasSidePanel = HvCanvasSidePanel;