@hitachivantara/uikit-react-pentaho 0.2.0 → 0.3.0

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 (35) hide show
  1. package/dist/cjs/Canvas/BottomPanel/BottomPanel.cjs +66 -27
  2. package/dist/cjs/Canvas/BottomPanel/BottomPanel.styles.cjs +15 -8
  3. package/dist/cjs/Canvas/SidePanel/SidePanel.cjs +5 -11
  4. package/dist/cjs/Canvas/SidePanel/SidePanel.styles.cjs +0 -10
  5. package/dist/cjs/Card/Card.cjs +18 -0
  6. package/dist/cjs/Card/Card.styles.cjs +16 -0
  7. package/dist/cjs/Card/CardMedia/CardMedia.cjs +33 -0
  8. package/dist/cjs/Card/CardMedia/CardMedia.styles.cjs +12 -0
  9. package/dist/cjs/Card/CardSection/CardSection.cjs +19 -0
  10. package/dist/cjs/Card/CardSection/CardSection.styles.cjs +10 -0
  11. package/dist/cjs/index.cjs +12 -0
  12. package/dist/esm/Canvas/BottomPanel/BottomPanel.js +67 -28
  13. package/dist/esm/Canvas/BottomPanel/BottomPanel.js.map +1 -1
  14. package/dist/esm/Canvas/BottomPanel/BottomPanel.styles.js +16 -9
  15. package/dist/esm/Canvas/BottomPanel/BottomPanel.styles.js.map +1 -1
  16. package/dist/esm/Canvas/SidePanel/SidePanel.js +7 -13
  17. package/dist/esm/Canvas/SidePanel/SidePanel.js.map +1 -1
  18. package/dist/esm/Canvas/SidePanel/SidePanel.styles.js +1 -11
  19. package/dist/esm/Canvas/SidePanel/SidePanel.styles.js.map +1 -1
  20. package/dist/esm/Card/Card.js +19 -0
  21. package/dist/esm/Card/Card.js.map +1 -0
  22. package/dist/esm/Card/Card.styles.js +16 -0
  23. package/dist/esm/Card/Card.styles.js.map +1 -0
  24. package/dist/esm/Card/CardMedia/CardMedia.js +34 -0
  25. package/dist/esm/Card/CardMedia/CardMedia.js.map +1 -0
  26. package/dist/esm/Card/CardMedia/CardMedia.styles.js +12 -0
  27. package/dist/esm/Card/CardMedia/CardMedia.styles.js.map +1 -0
  28. package/dist/esm/Card/CardSection/CardSection.js +20 -0
  29. package/dist/esm/Card/CardSection/CardSection.js.map +1 -0
  30. package/dist/esm/Card/CardSection/CardSection.styles.js +10 -0
  31. package/dist/esm/Card/CardSection/CardSection.styles.js.map +1 -0
  32. package/dist/esm/index.js +13 -1
  33. package/dist/esm/index.js.map +1 -1
  34. package/dist/types/index.d.ts +125 -9
  35. package/package.json +2 -2
@@ -17,7 +17,8 @@ const HvCanvasBottomPanel = react.forwardRef((props, ref) => {
17
17
  minimize,
18
18
  leftActions,
19
19
  rightActions,
20
- tab: tabProp,
20
+ overflowActions,
21
+ selectedTabId: selectedTabIdProp,
21
22
  classes: classesProp,
22
23
  onTabChange,
23
24
  onAction,
@@ -48,11 +49,11 @@ const HvCanvasBottomPanel = react.forwardRef((props, ref) => {
48
49
  }
49
50
  });
50
51
  const overflowing = react.useMemo(() => {
51
- const scrollWidth = tabRef.current?.scrollWidth ?? 0;
52
- return scrollWidth - tabWidth >= 1;
53
- }, [tabRef, tabWidth]);
52
+ const availableWidth = tabWidth - (leftActions ? leftActionWidth : 0) - (rightActions ? rightActionWidth : 0);
53
+ return availableWidth < 60;
54
+ }, [leftActionWidth, leftActions, rightActionWidth, rightActions, tabWidth]);
54
55
  const [selectedTab, setSelectedTab] = uikitReactCore.useControlled(
55
- tabProp,
56
+ selectedTabIdProp,
56
57
  tabs[0].id
57
58
  );
58
59
  const handleTabChange = (event, tabId) => {
@@ -82,8 +83,8 @@ const HvCanvasBottomPanel = react.forwardRef((props, ref) => {
82
83
  {
83
84
  style: {
84
85
  // @ts-ignore
85
- "--left-actions-width": `${leftActionWidth}px`,
86
- "--right-actions-width": `${rightActionWidth}px`
86
+ "--left-actions-width": overflowing || !leftActions ? uikitReactCore.theme.space.sm : `calc(${leftActionWidth}px + ${uikitReactCore.theme.space.xs})`,
87
+ "--right-actions-width": !rightActions || overflowing && !overflowActions ? uikitReactCore.theme.space.sm : `calc(${overflowing ? 32 : rightActionWidth}px + ${uikitReactCore.theme.space.xs})`
87
88
  },
88
89
  onChange: handleTabChange,
89
90
  value: selectedTab,
@@ -94,13 +95,14 @@ const HvCanvasBottomPanel = react.forwardRef((props, ref) => {
94
95
  id: `${id}-${tab.id}`,
95
96
  value: tab.id,
96
97
  className: classes.tab,
97
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.tabTitle, children: tab.title })
98
+ tabIndex: 0,
99
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.tabTitle, children: typeof tab.title === "function" ? tab.title(overflowing) : tab.title })
98
100
  },
99
101
  tab.id
100
102
  ))
101
103
  }
102
104
  ),
103
- (leftActions || rightActions) && !overflowing ? tabs.map((tab, index) => {
105
+ leftActions || rightActions || overflowActions ? tabs.map((tab, index) => {
104
106
  const btnsDisabled = selectedTab !== tab.id && !minimize;
105
107
  return /* @__PURE__ */ jsxRuntime.jsxs(
106
108
  "div",
@@ -112,28 +114,65 @@ const HvCanvasBottomPanel = react.forwardRef((props, ref) => {
112
114
  "--left": `calc(${index} * var(--tab-width))`
113
115
  },
114
116
  children: [
115
- leftActions && /* @__PURE__ */ jsxRuntime.jsx("div", { ref: leftActionRef, className: classes.leftActions, children: /* @__PURE__ */ jsxRuntime.jsx(
116
- uikitReactCore.HvActionsGeneric,
117
+ leftActions && !overflowing && /* @__PURE__ */ jsxRuntime.jsx(
118
+ "div",
117
119
  {
118
- maxVisibleActions: 1,
119
- actions: leftActions,
120
- disabled: btnsDisabled,
121
- onAction: (event, action) => onAction?.(event, action, tab.id),
122
- variant: "secondaryGhost",
123
- iconOnly: true
120
+ ref: leftActionRef,
121
+ className: cx(classes.leftActions, {
122
+ [classes.actionsDisabled]: btnsDisabled
123
+ }),
124
+ children: /* @__PURE__ */ jsxRuntime.jsx(
125
+ uikitReactCore.HvActionsGeneric,
126
+ {
127
+ maxVisibleActions: 1,
128
+ actions: leftActions,
129
+ disabled: btnsDisabled,
130
+ onAction: (event, action) => onAction?.(event, action, tab.id),
131
+ variant: "secondaryGhost",
132
+ iconOnly: true
133
+ }
134
+ )
124
135
  }
125
- ) }),
126
- rightActions && /* @__PURE__ */ jsxRuntime.jsx("div", { ref: rightActionRef, className: classes.rightActions, children: /* @__PURE__ */ jsxRuntime.jsx(
127
- uikitReactCore.HvActionsGeneric,
136
+ ),
137
+ rightActions && !overflowing && /* @__PURE__ */ jsxRuntime.jsx(
138
+ "div",
128
139
  {
129
- maxVisibleActions: 2,
130
- actions: rightActions,
131
- disabled: btnsDisabled,
132
- onAction: (event, action) => onAction?.(event, action, tab.id),
133
- variant: "secondaryGhost",
134
- iconOnly: true
140
+ ref: rightActionRef,
141
+ className: cx(classes.rightActions, {
142
+ [classes.actionsDisabled]: btnsDisabled
143
+ }),
144
+ children: /* @__PURE__ */ jsxRuntime.jsx(
145
+ uikitReactCore.HvActionsGeneric,
146
+ {
147
+ maxVisibleActions: 2,
148
+ actions: rightActions,
149
+ disabled: btnsDisabled,
150
+ onAction: (event, action) => onAction?.(event, action, tab.id),
151
+ variant: "secondaryGhost",
152
+ iconOnly: true
153
+ }
154
+ )
135
155
  }
136
- ) })
156
+ ),
157
+ overflowActions && overflowing && /* @__PURE__ */ jsxRuntime.jsx(
158
+ "div",
159
+ {
160
+ className: cx(classes.rightActions, {
161
+ [classes.actionsDisabled]: btnsDisabled
162
+ }),
163
+ children: /* @__PURE__ */ jsxRuntime.jsx(
164
+ uikitReactCore.HvActionsGeneric,
165
+ {
166
+ maxVisibleActions: 0,
167
+ actions: overflowActions,
168
+ disabled: btnsDisabled,
169
+ onAction: (event, action) => onAction?.(event, action, tab.id),
170
+ variant: "secondaryGhost",
171
+ iconOnly: true
172
+ }
173
+ )
174
+ }
175
+ )
137
176
  ]
138
177
  },
139
178
  tab.id
@@ -34,12 +34,7 @@ const { staticClasses, useClasses } = uikitReactCore.createClasses(
34
34
  right: `calc(100% - var(--right) + ${uikitReactCore.theme.space.xs})`
35
35
  }
36
36
  },
37
- overflowing: {
38
- "& $tabTitle": {
39
- paddingLeft: uikitReactCore.theme.space.sm,
40
- paddingRight: uikitReactCore.theme.space.sm
41
- }
42
- },
37
+ overflowing: {},
43
38
  tab: {
44
39
  display: "flex",
45
40
  alignItems: "center",
@@ -50,8 +45,8 @@ const { staticClasses, useClasses } = uikitReactCore.createClasses(
50
45
  display: "flex",
51
46
  width: "100%",
52
47
  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})`
48
+ paddingLeft: "var(--left-actions-width)",
49
+ paddingRight: "var(--right-actions-width)"
55
50
  },
56
51
  tabsRoot: {
57
52
  position: "relative"
@@ -66,6 +61,18 @@ const { staticClasses, useClasses } = uikitReactCore.createClasses(
66
61
  right: uikitReactCore.theme.space.xs,
67
62
  top: 8
68
63
  },
64
+ actionsDisabled: {
65
+ pointerEvents: "none",
66
+ [`&& .${uikitReactCore.buttonClasses.disabled}`]: {
67
+ pointerEvents: "none",
68
+ backgroundColor: "transparent",
69
+ borderColor: "transparent",
70
+ ":hover": {
71
+ backgroundColor: "transparent",
72
+ borderColor: "transparent"
73
+ }
74
+ }
75
+ },
69
76
  content: { borderTopRightRadius: "var(--right-border-radius)" }
70
77
  }
71
78
  );
@@ -85,22 +85,16 @@ const HvCanvasSidePanel = react.forwardRef((props, ref) => {
85
85
  }
86
86
  ),
87
87
  /* @__PURE__ */ jsxRuntime.jsx(
88
- "div",
88
+ uikitReactCore.HvIconButton,
89
89
  {
90
+ variant: "primaryGhost",
91
+ title: open ? labels.close : labels.open,
92
+ onClick: handleTogglePanel,
90
93
  className: cx(classes.handle, {
91
94
  [classes.handleOpen]: open,
92
95
  [classes.handleClose]: !open
93
96
  }),
94
- onClick: handleTogglePanel,
95
- role: "button",
96
- tabIndex: 0,
97
- onKeyDown: (e) => {
98
- if (e.key === "Enter" || e.key === " ") {
99
- handleTogglePanel(e);
100
- }
101
- },
102
- "aria-label": open ? labels.close : labels.open,
103
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.handleButton, children: open ? /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.Start, { color: ["primary"] }) : /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.End, { color: ["primary"] }) })
97
+ children: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.End, { style: { rotate: open ? "180deg" : void 0 } })
104
98
  }
105
99
  )
106
100
  ] });
@@ -42,18 +42,8 @@ const { staticClasses, useClasses } = uikitReactCore.createClasses(
42
42
  },
43
43
  "&$handleClose": {
44
44
  left: 0
45
- },
46
- "&:hover": {
47
- cursor: "pointer"
48
- },
49
- "&:focus-visible": {
50
- ...uikitReactCore.outlineStyles
51
45
  }
52
46
  },
53
- handleButton: {
54
- top: "calc(50% - 16px)",
55
- position: "absolute"
56
- },
57
47
  open: {},
58
48
  close: {},
59
49
  handleOpen: {},
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const uikitReactCore = require("@hitachivantara/uikit-react-core");
5
+ const Card_styles = require("./Card.styles.cjs");
6
+ const HvCard = uikitReactCore.fixedForwardRef(function HvCard2(props, ref) {
7
+ const {
8
+ classes: classesProp,
9
+ className,
10
+ component: Component = "div",
11
+ children,
12
+ ...others
13
+ } = uikitReactCore.useDefaultProps("HvCard", props);
14
+ const { classes, cx } = Card_styles.useClasses(classesProp);
15
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ref, className: cx(classes.root, className), ...others, children });
16
+ });
17
+ exports.cardClasses = Card_styles.staticClasses;
18
+ exports.HvCard = HvCard;
@@ -0,0 +1,16 @@
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("HvCard", {
5
+ root: {
6
+ position: "relative",
7
+ display: "block",
8
+ overflow: "hidden",
9
+ backgroundColor: uikitReactCore.theme.colors.atmo1,
10
+ borderRadius: uikitReactCore.theme.space.sm,
11
+ border: `1px solid ${uikitReactCore.theme.colors.atmo3}`,
12
+ boxShadow: "0 4px 6px 0 rgba(65,65,65,0.06)"
13
+ }
14
+ });
15
+ exports.staticClasses = staticClasses;
16
+ exports.useClasses = useClasses;
@@ -0,0 +1,33 @@
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 CardMedia_styles = require("./CardMedia.styles.cjs");
7
+ const HvCardMedia = react.forwardRef(
8
+ (props, ref) => {
9
+ const {
10
+ src,
11
+ alt = "",
12
+ height = 160,
13
+ className,
14
+ classes: classesProp,
15
+ children,
16
+ ...others
17
+ } = uikitReactCore.useDefaultProps("HvCardMedia", props);
18
+ const { classes, cx } = CardMedia_styles.useClasses(classesProp);
19
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cx(classes.root, className), children: /* @__PURE__ */ jsxRuntime.jsx(
20
+ "img",
21
+ {
22
+ ref,
23
+ height,
24
+ className: classes.image,
25
+ src,
26
+ alt,
27
+ ...others
28
+ }
29
+ ) });
30
+ }
31
+ );
32
+ exports.cardMediaClasses = CardMedia_styles.staticClasses;
33
+ exports.HvCardMedia = HvCardMedia;
@@ -0,0 +1,12 @@
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("HvCardMedia", {
5
+ root: {},
6
+ image: {
7
+ objectFit: "cover",
8
+ width: "100%"
9
+ }
10
+ });
11
+ exports.staticClasses = staticClasses;
12
+ exports.useClasses = useClasses;
@@ -0,0 +1,19 @@
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 CardSection_styles = require("./CardSection.styles.cjs");
7
+ const HvCardSection = react.forwardRef(
8
+ (props, ref) => {
9
+ const {
10
+ className,
11
+ classes: classesProp,
12
+ children
13
+ } = uikitReactCore.useDefaultProps("HvCardSection", props);
14
+ const { classes, cx } = CardSection_styles.useClasses(classesProp);
15
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cx(classes.root, className), children });
16
+ }
17
+ );
18
+ exports.cardSectionClasses = CardSection_styles.staticClasses;
19
+ exports.HvCardSection = HvCardSection;
@@ -0,0 +1,10 @@
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("HvCardSection", {
5
+ root: {
6
+ padding: uikitReactCore.theme.space.sm
7
+ }
8
+ });
9
+ exports.staticClasses = staticClasses;
10
+ exports.useClasses = useClasses;
@@ -10,6 +10,12 @@ const SidePanel_styles = require("./Canvas/SidePanel/SidePanel.styles.cjs");
10
10
  const SidePanel = require("./Canvas/SidePanel/SidePanel.cjs");
11
11
  const Toolbar_styles = require("./Canvas/Toolbar/Toolbar.styles.cjs");
12
12
  const Toolbar = require("./Canvas/Toolbar/Toolbar.cjs");
13
+ const Card_styles = require("./Card/Card.styles.cjs");
14
+ const Card = require("./Card/Card.cjs");
15
+ const CardMedia_styles = require("./Card/CardMedia/CardMedia.styles.cjs");
16
+ const CardMedia = require("./Card/CardMedia/CardMedia.cjs");
17
+ const CardSection_styles = require("./Card/CardSection/CardSection.styles.cjs");
18
+ const CardSection = require("./Card/CardSection/CardSection.cjs");
13
19
  exports.canvasBottomPanelClasses = BottomPanel_styles.staticClasses;
14
20
  exports.HvCanvasBottomPanel = BottomPanel.HvCanvasBottomPanel;
15
21
  exports.canvasPanelTabClasses = PanelTab_styles.staticClasses;
@@ -20,3 +26,9 @@ exports.canvasSidePanelClasses = SidePanel_styles.staticClasses;
20
26
  exports.HvCanvasSidePanel = SidePanel.HvCanvasSidePanel;
21
27
  exports.canvasToolbarClasses = Toolbar_styles.staticClasses;
22
28
  exports.HvCanvasToolbar = Toolbar.HvCanvasToolbar;
29
+ exports.cardClasses = Card_styles.staticClasses;
30
+ exports.HvCard = Card.HvCard;
31
+ exports.cardMediaClasses = CardMedia_styles.staticClasses;
32
+ exports.HvCardMedia = CardMedia.HvCardMedia;
33
+ exports.cardSectionClasses = CardSection_styles.staticClasses;
34
+ exports.HvCardSection = CardSection.HvCardSection;
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { forwardRef, useMemo } from "react";
3
3
  import { useResizeDetector } from "react-resize-detector";
4
- import { useDefaultProps, useUniqueId, useControlled, HvActionsGeneric, HvPanel } from "@hitachivantara/uikit-react-core";
4
+ import { useDefaultProps, useUniqueId, useControlled, theme, HvActionsGeneric, HvPanel } from "@hitachivantara/uikit-react-core";
5
5
  import { useClasses } from "./BottomPanel.styles.js";
6
6
  import { staticClasses } from "./BottomPanel.styles.js";
7
7
  import { HvCanvasPanelTabs } from "../PanelTabs/PanelTabs.js";
@@ -16,7 +16,8 @@ const HvCanvasBottomPanel = forwardRef((props, ref) => {
16
16
  minimize,
17
17
  leftActions,
18
18
  rightActions,
19
- tab: tabProp,
19
+ overflowActions,
20
+ selectedTabId: selectedTabIdProp,
20
21
  classes: classesProp,
21
22
  onTabChange,
22
23
  onAction,
@@ -47,11 +48,11 @@ const HvCanvasBottomPanel = forwardRef((props, ref) => {
47
48
  }
48
49
  });
49
50
  const overflowing = useMemo(() => {
50
- const scrollWidth = tabRef.current?.scrollWidth ?? 0;
51
- return scrollWidth - tabWidth >= 1;
52
- }, [tabRef, tabWidth]);
51
+ const availableWidth = tabWidth - (leftActions ? leftActionWidth : 0) - (rightActions ? rightActionWidth : 0);
52
+ return availableWidth < 60;
53
+ }, [leftActionWidth, leftActions, rightActionWidth, rightActions, tabWidth]);
53
54
  const [selectedTab, setSelectedTab] = useControlled(
54
- tabProp,
55
+ selectedTabIdProp,
55
56
  tabs[0].id
56
57
  );
57
58
  const handleTabChange = (event, tabId) => {
@@ -81,8 +82,8 @@ const HvCanvasBottomPanel = forwardRef((props, ref) => {
81
82
  {
82
83
  style: {
83
84
  // @ts-ignore
84
- "--left-actions-width": `${leftActionWidth}px`,
85
- "--right-actions-width": `${rightActionWidth}px`
85
+ "--left-actions-width": overflowing || !leftActions ? theme.space.sm : `calc(${leftActionWidth}px + ${theme.space.xs})`,
86
+ "--right-actions-width": !rightActions || overflowing && !overflowActions ? theme.space.sm : `calc(${overflowing ? 32 : rightActionWidth}px + ${theme.space.xs})`
86
87
  },
87
88
  onChange: handleTabChange,
88
89
  value: selectedTab,
@@ -93,13 +94,14 @@ const HvCanvasBottomPanel = forwardRef((props, ref) => {
93
94
  id: `${id}-${tab.id}`,
94
95
  value: tab.id,
95
96
  className: classes.tab,
96
- children: /* @__PURE__ */ jsx("div", { className: classes.tabTitle, children: tab.title })
97
+ tabIndex: 0,
98
+ children: /* @__PURE__ */ jsx("div", { className: classes.tabTitle, children: typeof tab.title === "function" ? tab.title(overflowing) : tab.title })
97
99
  },
98
100
  tab.id
99
101
  ))
100
102
  }
101
103
  ),
102
- (leftActions || rightActions) && !overflowing ? tabs.map((tab, index) => {
104
+ leftActions || rightActions || overflowActions ? tabs.map((tab, index) => {
103
105
  const btnsDisabled = selectedTab !== tab.id && !minimize;
104
106
  return /* @__PURE__ */ jsxs(
105
107
  "div",
@@ -111,28 +113,65 @@ const HvCanvasBottomPanel = forwardRef((props, ref) => {
111
113
  "--left": `calc(${index} * var(--tab-width))`
112
114
  },
113
115
  children: [
114
- leftActions && /* @__PURE__ */ jsx("div", { ref: leftActionRef, className: classes.leftActions, children: /* @__PURE__ */ jsx(
115
- HvActionsGeneric,
116
+ leftActions && !overflowing && /* @__PURE__ */ jsx(
117
+ "div",
116
118
  {
117
- maxVisibleActions: 1,
118
- actions: leftActions,
119
- disabled: btnsDisabled,
120
- onAction: (event, action) => onAction?.(event, action, tab.id),
121
- variant: "secondaryGhost",
122
- iconOnly: true
119
+ ref: leftActionRef,
120
+ className: cx(classes.leftActions, {
121
+ [classes.actionsDisabled]: btnsDisabled
122
+ }),
123
+ children: /* @__PURE__ */ jsx(
124
+ HvActionsGeneric,
125
+ {
126
+ maxVisibleActions: 1,
127
+ actions: leftActions,
128
+ disabled: btnsDisabled,
129
+ onAction: (event, action) => onAction?.(event, action, tab.id),
130
+ variant: "secondaryGhost",
131
+ iconOnly: true
132
+ }
133
+ )
123
134
  }
124
- ) }),
125
- rightActions && /* @__PURE__ */ jsx("div", { ref: rightActionRef, className: classes.rightActions, children: /* @__PURE__ */ jsx(
126
- HvActionsGeneric,
135
+ ),
136
+ rightActions && !overflowing && /* @__PURE__ */ jsx(
137
+ "div",
127
138
  {
128
- maxVisibleActions: 2,
129
- actions: rightActions,
130
- disabled: btnsDisabled,
131
- onAction: (event, action) => onAction?.(event, action, tab.id),
132
- variant: "secondaryGhost",
133
- iconOnly: true
139
+ ref: rightActionRef,
140
+ className: cx(classes.rightActions, {
141
+ [classes.actionsDisabled]: btnsDisabled
142
+ }),
143
+ children: /* @__PURE__ */ jsx(
144
+ HvActionsGeneric,
145
+ {
146
+ maxVisibleActions: 2,
147
+ actions: rightActions,
148
+ disabled: btnsDisabled,
149
+ onAction: (event, action) => onAction?.(event, action, tab.id),
150
+ variant: "secondaryGhost",
151
+ iconOnly: true
152
+ }
153
+ )
134
154
  }
135
- ) })
155
+ ),
156
+ overflowActions && overflowing && /* @__PURE__ */ jsx(
157
+ "div",
158
+ {
159
+ className: cx(classes.rightActions, {
160
+ [classes.actionsDisabled]: btnsDisabled
161
+ }),
162
+ children: /* @__PURE__ */ jsx(
163
+ HvActionsGeneric,
164
+ {
165
+ maxVisibleActions: 0,
166
+ actions: overflowActions,
167
+ disabled: btnsDisabled,
168
+ onAction: (event, action) => onAction?.(event, action, tab.id),
169
+ variant: "secondaryGhost",
170
+ iconOnly: true
171
+ }
172
+ )
173
+ }
174
+ )
136
175
  ]
137
176
  },
138
177
  tab.id
@@ -1 +1 @@
1
- {"version":3,"file":"BottomPanel.js","sources":["../../../../src/Canvas/BottomPanel/BottomPanel.tsx"],"sourcesContent":["import { forwardRef, useMemo } from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\nimport {\n ExtractNames,\n HvActionGeneric,\n HvActionsGeneric,\n HvActionsGenericProps,\n HvBaseProps,\n HvPanel,\n useControlled,\n useDefaultProps,\n useUniqueId,\n} from \"@hitachivantara/uikit-react-core\";\n\nimport { HvCanvasPanelTab } from \"../PanelTab\";\nimport { HvCanvasPanelTabs, HvCanvasPanelTabsProps } from \"../PanelTabs\";\nimport { staticClasses, useClasses } from \"./BottomPanel.styles\";\n\nexport { staticClasses as canvasBottomPanelClasses };\n\nexport type HvCanvasBottomPanelClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCanvasBottomPanelProps extends HvBaseProps {\n /** Open state of the bottom panel. */\n open?: boolean;\n /** Minimize state of the bottom panel tabs'. */\n minimize?: boolean;\n /** List of tabs visible on the panel. */\n tabs: {\n id: string | number;\n title: React.ReactNode;\n }[];\n /** Id of the selected tab if it needs to be controlled. */\n tab?: string | number;\n /** Callback triggered when a tab changes/is clicked. */\n onTabChange?: (\n event: React.SyntheticEvent | null,\n tabId: string | number | null,\n ) => void;\n /** Actions to be rendered in the left side of a tab. If more than one action is provided, a dropdown menu will be used. */\n leftActions?: HvActionsGenericProps[\"actions\"];\n /** Actions to be rendered in the right side of a tab.If more than two actions are provided, a dropdown menu will be used to add the remaining actions. */\n rightActions?: HvActionsGenericProps[\"actions\"];\n /** Callback triggered when a right or left action is clicked. */\n onAction?: (\n event: React.SyntheticEvent,\n action: HvActionGeneric,\n tabId: string | number,\n ) => void;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCanvasBottomPanelClasses;\n}\n\n/**\n * A bottom panel component to use in a canvas context.\n */\nexport const HvCanvasBottomPanel = forwardRef<\n HTMLDivElement,\n HvCanvasBottomPanelProps\n>((props, ref) => {\n const {\n id: idProp,\n className,\n children,\n open,\n tabs,\n minimize,\n leftActions,\n rightActions,\n tab: tabProp,\n classes: classesProp,\n onTabChange,\n onAction,\n ...others\n } = useDefaultProps(\"HvCanvasBottomPanel\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const id = useUniqueId(idProp);\n\n // Tab resize detector: to position tab actions and set the panel top right border radius\n const { width: tabWidth = 0, ref: tabRef } = useResizeDetector({\n handleHeight: false,\n });\n // Tab panel resize detector: to set the panel top right border radius\n const { width: panelWidth = 0, ref: panelRef } = useResizeDetector({\n handleHeight: false,\n });\n\n // Left actions resize detector: to position tab title according with actions\n const { width: leftActionWidth = 32, ref: leftActionRef } = useResizeDetector(\n {\n handleHeight: false,\n refreshMode: \"debounce\",\n refreshOptions: {\n trailing: true,\n },\n },\n );\n // Right actions resize detector: to position tab title according with actions\n const { width: rightActionWidth = 32, ref: rightActionRef } =\n useResizeDetector({\n handleHeight: false,\n refreshMode: \"debounce\",\n refreshOptions: {\n trailing: true,\n },\n });\n\n const overflowing = useMemo(() => {\n const scrollWidth = tabRef.current?.scrollWidth ?? 0;\n return scrollWidth - tabWidth >= 1;\n }, [tabRef, tabWidth]);\n\n const [selectedTab, setSelectedTab] = useControlled<string | number | null>(\n tabProp,\n tabs[0].id,\n );\n\n const handleTabChange: HvCanvasPanelTabsProps[\"onChange\"] = (\n event,\n tabId,\n ) => {\n setSelectedTab(tabId);\n onTabChange?.(event, tabId);\n };\n\n return (\n <div\n id={id}\n ref={ref}\n className={cx(\n classes.root,\n {\n [classes.closed]: !open,\n [classes.minimized]: minimize,\n [classes.multipleTabs]: tabs.length > 1,\n [classes.overflowing]: overflowing,\n },\n className,\n )}\n {...others}\n >\n <div className={classes.tabsRoot}>\n <HvCanvasPanelTabs\n style={{\n // @ts-ignore\n \"--left-actions-width\": `${leftActionWidth}px`,\n \"--right-actions-width\": `${rightActionWidth}px`,\n }}\n onChange={handleTabChange}\n value={selectedTab}\n >\n {tabs.map((tab, index) => (\n <HvCanvasPanelTab\n ref={index === 0 ? tabRef : undefined}\n key={tab.id}\n id={`${id}-${tab.id}`}\n value={tab.id}\n className={classes.tab}\n >\n <div className={classes.tabTitle}>{tab.title}</div>\n </HvCanvasPanelTab>\n ))}\n </HvCanvasPanelTabs>\n {/* For accessibility purposes, these buttons cannot be children of a tablist so they are rendered as HvCanvasPanelTabs sibling. */}\n {(leftActions || rightActions) && !overflowing\n ? tabs.map((tab, index) => {\n const btnsDisabled = selectedTab !== tab.id && !minimize;\n return (\n <div\n key={tab.id}\n style={{\n // @ts-ignore\n \"--tab-width\": `${tabWidth}px`,\n \"--right\": `calc((${index} + 1) * var(--tab-width))`,\n \"--left\": `calc(${index} * var(--tab-width))`,\n }}\n >\n {leftActions && (\n <div ref={leftActionRef} className={classes.leftActions}>\n <HvActionsGeneric\n maxVisibleActions={1}\n actions={leftActions}\n disabled={btnsDisabled}\n onAction={(event, action) =>\n onAction?.(event, action, tab.id)\n }\n variant=\"secondaryGhost\"\n iconOnly\n />\n </div>\n )}\n {rightActions && (\n <div ref={rightActionRef} className={classes.rightActions}>\n <HvActionsGeneric\n maxVisibleActions={2}\n actions={rightActions}\n disabled={btnsDisabled}\n onAction={(event, action) =>\n onAction?.(event, action, tab.id)\n }\n variant=\"secondaryGhost\"\n iconOnly\n />\n </div>\n )}\n </div>\n );\n })\n : null}\n </div>\n <HvPanel\n ref={panelRef}\n role=\"tabpanel\"\n aria-labelledby={`${id}-${selectedTab}`}\n className={classes.content}\n style={{\n // @ts-ignore\n \"--right-border-radius\":\n tabWidth * tabs.length >= panelWidth ? \"0px\" : \"16px\",\n }}\n >\n {children}\n </HvPanel>\n </div>\n );\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BottomPanel.js","sources":["../../../../src/Canvas/BottomPanel/BottomPanel.tsx"],"sourcesContent":["import { forwardRef, useMemo } from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\nimport {\n ExtractNames,\n HvActionGeneric,\n HvActionsGeneric,\n HvActionsGenericProps,\n HvBaseProps,\n HvPanel,\n theme,\n useControlled,\n useDefaultProps,\n useUniqueId,\n} from \"@hitachivantara/uikit-react-core\";\n\nimport { HvCanvasPanelTab } from \"../PanelTab\";\nimport { HvCanvasPanelTabs, HvCanvasPanelTabsProps } from \"../PanelTabs\";\nimport { staticClasses, useClasses } from \"./BottomPanel.styles\";\n\nexport { staticClasses as canvasBottomPanelClasses };\n\nexport type HvCanvasBottomPanelClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCanvasBottomPanelProps extends HvBaseProps {\n /** Open state of the bottom panel. */\n open?: boolean;\n /** Minimize state of the bottom panel tabs'. */\n minimize?: boolean;\n /** List of tabs visible on the panel. */\n tabs: {\n id: string | number;\n title: React.ReactNode | ((overflowing: boolean) => React.ReactNode);\n }[];\n /** Id of the selected tab if it needs to be controlled. */\n selectedTabId?: string | number;\n /** Callback triggered when a tab changes/is clicked. */\n onTabChange?: (\n event: React.SyntheticEvent | null,\n tabId: string | number | null,\n ) => void;\n /**\n * Actions to be rendered in the left side of a tab.\n * If more than one action is provided, a dropdown menu will be used.\n * These actions are not shown when the tab content is overflowing.\n */\n leftActions?: HvActionsGenericProps[\"actions\"];\n /**\n * Actions to be rendered in the right side of a tab.\n * If more than two actions are provided, a dropdown menu will be used to display the remaining actions.\n * These actions are not shown when the tab content is overflowing.\n */\n rightActions?: HvActionsGenericProps[\"actions\"];\n /**\n * Actions to be rendered in the right side of a tab when the tab content is overflowing.\n * These actions will replace both `leftActions` and `rightActions`.\n */\n overflowActions?: HvActionsGenericProps[\"actions\"];\n /** Callback triggered when an action is clicked. */\n onAction?: (\n event: React.SyntheticEvent,\n action: HvActionGeneric,\n tabId: string | number,\n ) => void;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCanvasBottomPanelClasses;\n}\n\n/**\n * A bottom panel component to use in a canvas context.\n */\nexport const HvCanvasBottomPanel = forwardRef<\n HTMLDivElement,\n HvCanvasBottomPanelProps\n>((props, ref) => {\n const {\n id: idProp,\n className,\n children,\n open,\n tabs,\n minimize,\n leftActions,\n rightActions,\n overflowActions,\n selectedTabId: selectedTabIdProp,\n classes: classesProp,\n onTabChange,\n onAction,\n ...others\n } = useDefaultProps(\"HvCanvasBottomPanel\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const id = useUniqueId(idProp);\n\n // Tab resize detector: to position tab actions and set the panel top right border radius\n const { width: tabWidth = 0, ref: tabRef } = useResizeDetector({\n handleHeight: false,\n });\n // Tab panel resize detector: to set the panel top right border radius\n const { width: panelWidth = 0, ref: panelRef } = useResizeDetector({\n handleHeight: false,\n });\n\n // Left actions resize detector: to position tab title according with actions\n const { width: leftActionWidth = 32, ref: leftActionRef } = useResizeDetector(\n {\n handleHeight: false,\n refreshMode: \"debounce\",\n refreshOptions: {\n trailing: true,\n },\n },\n );\n // Right actions resize detector: to position tab title according with actions\n const { width: rightActionWidth = 32, ref: rightActionRef } =\n useResizeDetector({\n handleHeight: false,\n refreshMode: \"debounce\",\n refreshOptions: {\n trailing: true,\n },\n });\n\n const overflowing = useMemo(() => {\n const availableWidth =\n tabWidth -\n (leftActions ? leftActionWidth : 0) -\n (rightActions ? rightActionWidth : 0);\n\n return availableWidth < 60;\n }, [leftActionWidth, leftActions, rightActionWidth, rightActions, tabWidth]);\n\n const [selectedTab, setSelectedTab] = useControlled<string | number | null>(\n selectedTabIdProp,\n tabs[0].id,\n );\n\n const handleTabChange: HvCanvasPanelTabsProps[\"onChange\"] = (\n event,\n tabId,\n ) => {\n setSelectedTab(tabId);\n onTabChange?.(event, tabId);\n };\n\n return (\n <div\n id={id}\n ref={ref}\n className={cx(\n classes.root,\n {\n [classes.closed]: !open,\n [classes.minimized]: minimize,\n [classes.multipleTabs]: tabs.length > 1,\n [classes.overflowing]: overflowing,\n },\n className,\n )}\n {...others}\n >\n <div className={classes.tabsRoot}>\n <HvCanvasPanelTabs\n style={{\n // @ts-ignore\n \"--left-actions-width\":\n overflowing || !leftActions\n ? theme.space.sm\n : `calc(${leftActionWidth}px + ${theme.space.xs})`,\n \"--right-actions-width\":\n !rightActions || (overflowing && !overflowActions)\n ? theme.space.sm\n : `calc(${overflowing ? 32 : rightActionWidth}px + ${theme.space.xs})`,\n }}\n onChange={handleTabChange}\n value={selectedTab}\n >\n {tabs.map((tab, index) => (\n <HvCanvasPanelTab\n ref={index === 0 ? tabRef : undefined}\n key={tab.id}\n id={`${id}-${tab.id}`}\n value={tab.id}\n className={classes.tab}\n tabIndex={0}\n >\n <div className={classes.tabTitle}>\n {typeof tab.title === \"function\"\n ? tab.title(overflowing)\n : tab.title}\n </div>\n </HvCanvasPanelTab>\n ))}\n </HvCanvasPanelTabs>\n {/* For accessibility purposes, these buttons cannot be children of a tablist so they are rendered as HvCanvasTabs sibling. */}\n {leftActions || rightActions || overflowActions\n ? tabs.map((tab, index) => {\n const btnsDisabled = selectedTab !== tab.id && !minimize;\n return (\n <div\n key={tab.id}\n style={{\n // @ts-ignore\n \"--tab-width\": `${tabWidth}px`,\n \"--right\": `calc((${index} + 1) * var(--tab-width))`,\n \"--left\": `calc(${index} * var(--tab-width))`,\n }}\n >\n {leftActions && !overflowing && (\n <div\n ref={leftActionRef}\n className={cx(classes.leftActions, {\n [classes.actionsDisabled]: btnsDisabled,\n })}\n >\n <HvActionsGeneric\n maxVisibleActions={1}\n actions={leftActions}\n disabled={btnsDisabled}\n onAction={(event, action) =>\n onAction?.(event, action, tab.id)\n }\n variant=\"secondaryGhost\"\n iconOnly\n />\n </div>\n )}\n {rightActions && !overflowing && (\n <div\n ref={rightActionRef}\n className={cx(classes.rightActions, {\n [classes.actionsDisabled]: btnsDisabled,\n })}\n >\n <HvActionsGeneric\n maxVisibleActions={2}\n actions={rightActions}\n disabled={btnsDisabled}\n onAction={(event, action) =>\n onAction?.(event, action, tab.id)\n }\n variant=\"secondaryGhost\"\n iconOnly\n />\n </div>\n )}\n {overflowActions && overflowing && (\n <div\n className={cx(classes.rightActions, {\n [classes.actionsDisabled]: btnsDisabled,\n })}\n >\n <HvActionsGeneric\n maxVisibleActions={0}\n actions={overflowActions}\n disabled={btnsDisabled}\n onAction={(event, action) =>\n onAction?.(event, action, tab.id)\n }\n variant=\"secondaryGhost\"\n iconOnly\n />\n </div>\n )}\n </div>\n );\n })\n : null}\n </div>\n <HvPanel\n ref={panelRef}\n role=\"tabpanel\"\n aria-labelledby={`${id}-${selectedTab}`}\n className={classes.content}\n style={{\n // @ts-ignore\n \"--right-border-radius\":\n tabWidth * tabs.length >= panelWidth ? \"0px\" : \"16px\",\n }}\n >\n {children}\n </HvPanel>\n </div>\n );\n});\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { createClasses, theme } from "@hitachivantara/uikit-react-core";
1
+ import { createClasses, theme, buttonClasses } from "@hitachivantara/uikit-react-core";
2
2
  const { staticClasses, useClasses } = createClasses(
3
3
  "HvCanvasBottomPanel",
4
4
  {
@@ -32,12 +32,7 @@ const { staticClasses, useClasses } = createClasses(
32
32
  right: `calc(100% - var(--right) + ${theme.space.xs})`
33
33
  }
34
34
  },
35
- overflowing: {
36
- "& $tabTitle": {
37
- paddingLeft: theme.space.sm,
38
- paddingRight: theme.space.sm
39
- }
40
- },
35
+ overflowing: {},
41
36
  tab: {
42
37
  display: "flex",
43
38
  alignItems: "center",
@@ -48,8 +43,8 @@ const { staticClasses, useClasses } = createClasses(
48
43
  display: "flex",
49
44
  width: "100%",
50
45
  padding: theme.space.sm,
51
- paddingLeft: `calc(var(--left-actions-width) + ${theme.space.xs})`,
52
- paddingRight: `calc(var(--right-actions-width) + ${theme.space.xs})`
46
+ paddingLeft: "var(--left-actions-width)",
47
+ paddingRight: "var(--right-actions-width)"
53
48
  },
54
49
  tabsRoot: {
55
50
  position: "relative"
@@ -64,6 +59,18 @@ const { staticClasses, useClasses } = createClasses(
64
59
  right: theme.space.xs,
65
60
  top: 8
66
61
  },
62
+ actionsDisabled: {
63
+ pointerEvents: "none",
64
+ [`&& .${buttonClasses.disabled}`]: {
65
+ pointerEvents: "none",
66
+ backgroundColor: "transparent",
67
+ borderColor: "transparent",
68
+ ":hover": {
69
+ backgroundColor: "transparent",
70
+ borderColor: "transparent"
71
+ }
72
+ }
73
+ },
67
74
  content: { borderTopRightRadius: "var(--right-border-radius)" }
68
75
  }
69
76
  );
@@ -1 +1 @@
1
- {"version":3,"file":"BottomPanel.styles.js","sources":["../../../../src/Canvas/BottomPanel/BottomPanel.styles.tsx"],"sourcesContent":["import { createClasses, theme } from \"@hitachivantara/uikit-react-core\";\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvCanvasBottomPanel\",\n {\n root: {\n position: \"absolute\",\n display: \"flex\",\n flexDirection: \"column\",\n right: 0,\n bottom: 0,\n width: \"100%\",\n maxHeight: \"500px\",\n visibility: \"visible\",\n transition: \"visibility 0.3s ease, max-height 0.3s ease, width 0.3s ease\",\n },\n closed: {\n maxHeight: 0,\n visibility: \"hidden\",\n },\n minimized: {\n \"& $content\": {\n display: \"none\",\n },\n \"& $tab\": {\n backgroundColor: theme.colors.atmo1,\n ...theme.typography.label,\n },\n },\n multipleTabs: {\n \"& $tab\": { maxWidth: \"288px\" },\n \"& $rightActions\": {\n right: `calc(100% - var(--right) + ${theme.space.xs})`,\n },\n },\n overflowing: {\n \"& $tabTitle\": {\n paddingLeft: theme.space.sm,\n paddingRight: theme.space.sm,\n },\n },\n tab: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n tabTitle: {\n display: \"flex\",\n width: \"100%\",\n padding: theme.space.sm,\n paddingLeft: `calc(var(--left-actions-width) + ${theme.space.xs})`,\n paddingRight: `calc(var(--right-actions-width) + ${theme.space.xs})`,\n },\n tabsRoot: {\n position: \"relative\",\n },\n leftActions: {\n position: \"absolute\",\n left: `calc(var(--left) + ${theme.space.xs})`,\n top: 8,\n },\n rightActions: {\n position: \"absolute\",\n right: theme.space.xs,\n top: 8,\n },\n content: { borderTopRightRadius: \"var(--right-border-radius)\" },\n },\n);\n"],"names":[],"mappings":";AAEa,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM;AAAA,MACJ,UAAU;AAAA,MACV,SAAS;AAAA,MACT,eAAe;AAAA,MACf,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,YAAY;AAAA,IACd;AAAA,IACA,QAAQ;AAAA,MACN,WAAW;AAAA,MACX,YAAY;AAAA,IACd;AAAA,IACA,WAAW;AAAA,MACT,cAAc;AAAA,QACZ,SAAS;AAAA,MACX;AAAA,MACA,UAAU;AAAA,QACR,iBAAiB,MAAM,OAAO;AAAA,QAC9B,GAAG,MAAM,WAAW;AAAA,MACtB;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ,UAAU,EAAE,UAAU,QAAQ;AAAA,MAC9B,mBAAmB;AAAA,QACjB,OAAO,8BAA8B,MAAM,MAAM,EAAE;AAAA,MACrD;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX,eAAe;AAAA,QACb,aAAa,MAAM,MAAM;AAAA,QACzB,cAAc,MAAM,MAAM;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,KAAK;AAAA,MACH,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,OAAO;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,MACP,SAAS,MAAM,MAAM;AAAA,MACrB,aAAa,oCAAoC,MAAM,MAAM,EAAE;AAAA,MAC/D,cAAc,qCAAqC,MAAM,MAAM,EAAE;AAAA,IACnE;AAAA,IACA,UAAU;AAAA,MACR,UAAU;AAAA,IACZ;AAAA,IACA,aAAa;AAAA,MACX,UAAU;AAAA,MACV,MAAM,sBAAsB,MAAM,MAAM,EAAE;AAAA,MAC1C,KAAK;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACZ,UAAU;AAAA,MACV,OAAO,MAAM,MAAM;AAAA,MACnB,KAAK;AAAA,IACP;AAAA,IACA,SAAS,EAAE,sBAAsB,6BAA6B;AAAA,EAChE;AACF;"}
1
+ {"version":3,"file":"BottomPanel.styles.js","sources":["../../../../src/Canvas/BottomPanel/BottomPanel.styles.tsx"],"sourcesContent":["import {\n buttonClasses,\n createClasses,\n theme,\n} from \"@hitachivantara/uikit-react-core\";\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvCanvasBottomPanel\",\n {\n root: {\n position: \"absolute\",\n display: \"flex\",\n flexDirection: \"column\",\n right: 0,\n bottom: 0,\n width: \"100%\",\n maxHeight: \"500px\",\n visibility: \"visible\",\n transition: \"visibility 0.3s ease, max-height 0.3s ease, width 0.3s ease\",\n },\n closed: {\n maxHeight: 0,\n visibility: \"hidden\",\n },\n minimized: {\n \"& $content\": {\n display: \"none\",\n },\n \"& $tab\": {\n backgroundColor: theme.colors.atmo1,\n ...theme.typography.label,\n },\n },\n multipleTabs: {\n \"& $tab\": { maxWidth: \"288px\" },\n \"& $rightActions\": {\n right: `calc(100% - var(--right) + ${theme.space.xs})`,\n },\n },\n overflowing: {},\n tab: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n tabTitle: {\n display: \"flex\",\n width: \"100%\",\n padding: theme.space.sm,\n paddingLeft: \"var(--left-actions-width)\",\n paddingRight: \"var(--right-actions-width)\",\n },\n tabsRoot: {\n position: \"relative\",\n },\n leftActions: {\n position: \"absolute\",\n left: `calc(var(--left) + ${theme.space.xs})`,\n top: 8,\n },\n rightActions: {\n position: \"absolute\",\n right: theme.space.xs,\n top: 8,\n },\n actionsDisabled: {\n pointerEvents: \"none\",\n [`&& .${buttonClasses.disabled}`]: {\n pointerEvents: \"none\",\n backgroundColor: \"transparent\",\n borderColor: \"transparent\",\n \":hover\": {\n backgroundColor: \"transparent\",\n borderColor: \"transparent\",\n },\n },\n },\n content: { borderTopRightRadius: \"var(--right-border-radius)\" },\n },\n);\n"],"names":[],"mappings":";AAMa,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM;AAAA,MACJ,UAAU;AAAA,MACV,SAAS;AAAA,MACT,eAAe;AAAA,MACf,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,YAAY;AAAA,IACd;AAAA,IACA,QAAQ;AAAA,MACN,WAAW;AAAA,MACX,YAAY;AAAA,IACd;AAAA,IACA,WAAW;AAAA,MACT,cAAc;AAAA,QACZ,SAAS;AAAA,MACX;AAAA,MACA,UAAU;AAAA,QACR,iBAAiB,MAAM,OAAO;AAAA,QAC9B,GAAG,MAAM,WAAW;AAAA,MACtB;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ,UAAU,EAAE,UAAU,QAAQ;AAAA,MAC9B,mBAAmB;AAAA,QACjB,OAAO,8BAA8B,MAAM,MAAM,EAAE;AAAA,MACrD;AAAA,IACF;AAAA,IACA,aAAa,CAAC;AAAA,IACd,KAAK;AAAA,MACH,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,OAAO;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,MACP,SAAS,MAAM,MAAM;AAAA,MACrB,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,UAAU;AAAA,MACR,UAAU;AAAA,IACZ;AAAA,IACA,aAAa;AAAA,MACX,UAAU;AAAA,MACV,MAAM,sBAAsB,MAAM,MAAM,EAAE;AAAA,MAC1C,KAAK;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACZ,UAAU;AAAA,MACV,OAAO,MAAM,MAAM;AAAA,MACnB,KAAK;AAAA,IACP;AAAA,IACA,iBAAiB;AAAA,MACf,eAAe;AAAA,MACf,CAAC,OAAO,cAAc,QAAQ,EAAE,GAAG;AAAA,QACjC,eAAe;AAAA,QACf,iBAAiB;AAAA,QACjB,aAAa;AAAA,QACb,UAAU;AAAA,UACR,iBAAiB;AAAA,UACjB,aAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAAA,IACA,SAAS,EAAE,sBAAsB,6BAA6B;AAAA,EAChE;AACF;"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { useDefaultProps, useUniqueId, useLabels, useControlled, HvPanel } from "@hitachivantara/uikit-react-core";
4
- import { Start, End } from "@hitachivantara/uikit-react-icons";
3
+ import { useDefaultProps, useUniqueId, useLabels, useControlled, HvPanel, HvIconButton } from "@hitachivantara/uikit-react-core";
4
+ import { End } from "@hitachivantara/uikit-react-icons";
5
5
  import { useClasses } from "./SidePanel.styles.js";
6
6
  import { staticClasses } from "./SidePanel.styles.js";
7
7
  import { HvCanvasPanelTabs } from "../PanelTabs/PanelTabs.js";
@@ -84,22 +84,16 @@ const HvCanvasSidePanel = forwardRef((props, ref) => {
84
84
  }
85
85
  ),
86
86
  /* @__PURE__ */ jsx(
87
- "div",
87
+ HvIconButton,
88
88
  {
89
+ variant: "primaryGhost",
90
+ title: open ? labels.close : labels.open,
91
+ onClick: handleTogglePanel,
89
92
  className: cx(classes.handle, {
90
93
  [classes.handleOpen]: open,
91
94
  [classes.handleClose]: !open
92
95
  }),
93
- onClick: handleTogglePanel,
94
- role: "button",
95
- tabIndex: 0,
96
- onKeyDown: (e) => {
97
- if (e.key === "Enter" || e.key === " ") {
98
- handleTogglePanel(e);
99
- }
100
- },
101
- "aria-label": open ? labels.close : labels.open,
102
- children: /* @__PURE__ */ jsx("div", { className: classes.handleButton, children: open ? /* @__PURE__ */ jsx(Start, { color: ["primary"] }) : /* @__PURE__ */ jsx(End, { color: ["primary"] }) })
96
+ children: /* @__PURE__ */ jsx(End, { style: { rotate: open ? "180deg" : void 0 } })
103
97
  }
104
98
  )
105
99
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"SidePanel.js","sources":["../../../../src/Canvas/SidePanel/SidePanel.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n ExtractNames,\n HvBaseProps,\n HvPanel,\n useControlled,\n useDefaultProps,\n useLabels,\n useUniqueId,\n} from \"@hitachivantara/uikit-react-core\";\nimport { End, Start } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvCanvasPanelTab } from \"../PanelTab\";\nimport { HvCanvasPanelTabs, HvCanvasPanelTabsProps } from \"../PanelTabs\";\nimport { staticClasses, useClasses } from \"./SidePanel.styles\";\n\nexport { staticClasses as canvasSidePanelClasses };\n\nexport type HvCanvasSidePanelClasses = ExtractNames<typeof useClasses>;\n\nconst DEFAULT_LABELS = {\n open: \"Open\",\n close: \"Close\",\n};\n\nexport interface HvCanvasSidePanelProps\n extends HvBaseProps<HTMLDivElement, \"onToggle\"> {\n /** When controlled, defines id the panel is open or not. */\n open?: boolean;\n /** When uncontrolled, defines the initial state of the panel. */\n defaultOpen?: boolean;\n /** List of tabs visible on the panel. */\n tabs?: {\n id: string | number;\n content: React.ReactNode;\n }[];\n /** Id of the selected tab if it needs to be controlled. */\n tab?: string | number;\n /** Callback triggered whenever the panel toggles. */\n onToggle?: (\n event: React.MouseEvent | React.KeyboardEvent,\n open: boolean,\n ) => void;\n /** Callback triggered when a tab changes/is clicked. */\n onTabChange?: (\n event: React.SyntheticEvent | null,\n tabId: string | number | null,\n ) => 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?: HvCanvasSidePanelClasses;\n}\n\n/**\n * A side panel component to use in a canvas context.\n */\nexport const HvCanvasSidePanel = forwardRef<\n HTMLDivElement,\n HvCanvasSidePanelProps\n>((props, ref) => {\n const {\n id: idProp,\n tab: tabProp,\n open: openProp,\n defaultOpen = false,\n tabs,\n onToggle,\n onTabChange,\n labels: labelsProp,\n className,\n children,\n classes: classesProp,\n ...others\n } = useDefaultProps(\"HvCanvasSidePanel\", props);\n\n const id = useUniqueId(idProp);\n\n const { classes, cx } = useClasses(classesProp);\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const [open, setOpen] = useControlled(openProp, Boolean(defaultOpen));\n const [selectedTab, setSelectedTab] = useControlled<string | number | null>(\n tabProp,\n tabs?.[0]?.id ?? \"none\",\n );\n\n const handleTogglePanel = (event: React.MouseEvent | React.KeyboardEvent) => {\n setOpen((prev) => !prev);\n onToggle?.(event, !open);\n };\n\n const handleTabChange: HvCanvasPanelTabsProps[\"onChange\"] = (\n event,\n tabId,\n ) => {\n setSelectedTab(tabId);\n onTabChange?.(event, tabId);\n };\n\n return (\n <>\n <div\n ref={ref}\n id={id}\n className={cx(classes.root, className, {\n [classes.open]: open,\n [classes.close]: !open,\n })}\n {...others}\n >\n {tabs && (\n <HvCanvasPanelTabs\n className={classes.tabs}\n value={selectedTab}\n onChange={handleTabChange}\n >\n {tabs.map((tab) => (\n <HvCanvasPanelTab\n key={tab.id}\n id={`${id}-${tab.id}`}\n value={tab.id}\n tabIndex={0}\n >\n {tab.content}\n </HvCanvasPanelTab>\n ))}\n </HvCanvasPanelTabs>\n )}\n <HvPanel\n role={tabs ? \"tabpanel\" : undefined}\n aria-labelledby={tabs ? `${id}-${selectedTab}` : undefined}\n className={classes.content}\n >\n {children}\n </HvPanel>\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":";;;;;;;;AAoBA,MAAM,iBAAiB;AAAA,EACrB,MAAM;AAAA,EACN,OAAO;AACT;AAoCO,MAAM,oBAAoB,WAG/B,CAAC,OAAO,QAAQ;AACV,QAAA;AAAA,IACJ,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,MAAM;AAAA,IACN,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,GAAG;AAAA,EAAA,IACD,gBAAgB,qBAAqB,KAAK;AAExC,QAAA,KAAK,YAAY,MAAM;AAE7B,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAExC,QAAA,SAAS,UAAU,gBAAgB,UAAU;AAE7C,QAAA,CAAC,MAAM,OAAO,IAAI,cAAc,UAAU,QAAQ,WAAW,CAAC;AAC9D,QAAA,CAAC,aAAa,cAAc,IAAI;AAAA,IACpC;AAAA,IACA,OAAO,CAAC,GAAG,MAAM;AAAA,EAAA;AAGb,QAAA,oBAAoB,CAAC,UAAkD;AACnE,YAAA,CAAC,SAAS,CAAC,IAAI;AACZ,eAAA,OAAO,CAAC,IAAI;AAAA,EAAA;AAGnB,QAAA,kBAAsD,CAC1D,OACA,UACG;AACH,mBAAe,KAAK;AACpB,kBAAc,OAAO,KAAK;AAAA,EAAA;AAG5B,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,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,OAAO;AAAA,cACP,UAAU;AAAA,cAET,UAAA,KAAK,IAAI,CAAC,QACT;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEC,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE;AAAA,kBACnB,OAAO,IAAI;AAAA,kBACX,UAAU;AAAA,kBAET,UAAI,IAAA;AAAA,gBAAA;AAAA,gBALA,IAAI;AAAA,cAAA,CAOZ;AAAA,YAAA;AAAA,UACH;AAAA,UAEF;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAM,OAAO,aAAa;AAAA,cAC1B,mBAAiB,OAAO,GAAG,EAAE,IAAI,WAAW,KAAK;AAAA,cACjD,WAAW,QAAQ;AAAA,cAElB;AAAA,YAAA;AAAA,UACH;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;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,CAAC;"}
1
+ {"version":3,"file":"SidePanel.js","sources":["../../../../src/Canvas/SidePanel/SidePanel.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n ExtractNames,\n HvBaseProps,\n HvIconButton,\n HvPanel,\n useControlled,\n useDefaultProps,\n useLabels,\n useUniqueId,\n} from \"@hitachivantara/uikit-react-core\";\nimport { End } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvCanvasPanelTab } from \"../PanelTab\";\nimport { HvCanvasPanelTabs, HvCanvasPanelTabsProps } from \"../PanelTabs\";\nimport { staticClasses, useClasses } from \"./SidePanel.styles\";\n\nexport { staticClasses as canvasSidePanelClasses };\n\nexport type HvCanvasSidePanelClasses = ExtractNames<typeof useClasses>;\n\nconst DEFAULT_LABELS = {\n open: \"Open\",\n close: \"Close\",\n};\n\nexport interface HvCanvasSidePanelProps\n extends HvBaseProps<HTMLDivElement, \"onToggle\"> {\n /** When controlled, defines id the panel is open or not. */\n open?: boolean;\n /** When uncontrolled, defines the initial state of the panel. */\n defaultOpen?: boolean;\n /** List of tabs visible on the panel. */\n tabs?: {\n id: string | number;\n content: React.ReactNode;\n }[];\n /** Id of the selected tab if it needs to be controlled. */\n tab?: string | number;\n /** Callback triggered whenever the panel toggles. */\n onToggle?: (\n event: React.MouseEvent | React.KeyboardEvent,\n open: boolean,\n ) => void;\n /** Callback triggered when a tab changes/is clicked. */\n onTabChange?: (\n event: React.SyntheticEvent | null,\n tabId: string | number | null,\n ) => 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?: HvCanvasSidePanelClasses;\n}\n\n/**\n * A side panel component to use in a canvas context.\n */\nexport const HvCanvasSidePanel = forwardRef<\n HTMLDivElement,\n HvCanvasSidePanelProps\n>((props, ref) => {\n const {\n id: idProp,\n tab: tabProp,\n open: openProp,\n defaultOpen = false,\n tabs,\n onToggle,\n onTabChange,\n labels: labelsProp,\n className,\n children,\n classes: classesProp,\n ...others\n } = useDefaultProps(\"HvCanvasSidePanel\", props);\n\n const id = useUniqueId(idProp);\n\n const { classes, cx } = useClasses(classesProp);\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const [open, setOpen] = useControlled(openProp, Boolean(defaultOpen));\n const [selectedTab, setSelectedTab] = useControlled<string | number | null>(\n tabProp,\n tabs?.[0]?.id ?? \"none\",\n );\n\n const handleTogglePanel = (event: React.MouseEvent | React.KeyboardEvent) => {\n setOpen((prev) => !prev);\n onToggle?.(event, !open);\n };\n\n const handleTabChange: HvCanvasPanelTabsProps[\"onChange\"] = (\n event,\n tabId,\n ) => {\n setSelectedTab(tabId);\n onTabChange?.(event, tabId);\n };\n\n return (\n <>\n <div\n ref={ref}\n id={id}\n className={cx(classes.root, className, {\n [classes.open]: open,\n [classes.close]: !open,\n })}\n {...others}\n >\n {tabs && (\n <HvCanvasPanelTabs\n className={classes.tabs}\n value={selectedTab}\n onChange={handleTabChange}\n >\n {tabs.map((tab) => (\n <HvCanvasPanelTab\n key={tab.id}\n id={`${id}-${tab.id}`}\n value={tab.id}\n tabIndex={0}\n >\n {tab.content}\n </HvCanvasPanelTab>\n ))}\n </HvCanvasPanelTabs>\n )}\n <HvPanel\n role={tabs ? \"tabpanel\" : undefined}\n aria-labelledby={tabs ? `${id}-${selectedTab}` : undefined}\n className={classes.content}\n >\n {children}\n </HvPanel>\n </div>\n <HvIconButton\n variant=\"primaryGhost\"\n title={open ? labels.close : labels.open}\n onClick={handleTogglePanel}\n className={cx(classes.handle, {\n [classes.handleOpen]: open,\n [classes.handleClose]: !open,\n })}\n >\n <End style={{ rotate: open ? \"180deg\" : undefined }} />\n </HvIconButton>\n </>\n );\n});\n"],"names":[],"mappings":";;;;;;;;AAqBA,MAAM,iBAAiB;AAAA,EACrB,MAAM;AAAA,EACN,OAAO;AACT;AAoCO,MAAM,oBAAoB,WAG/B,CAAC,OAAO,QAAQ;AACV,QAAA;AAAA,IACJ,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,MAAM;AAAA,IACN,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,GAAG;AAAA,EAAA,IACD,gBAAgB,qBAAqB,KAAK;AAExC,QAAA,KAAK,YAAY,MAAM;AAE7B,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAExC,QAAA,SAAS,UAAU,gBAAgB,UAAU;AAE7C,QAAA,CAAC,MAAM,OAAO,IAAI,cAAc,UAAU,QAAQ,WAAW,CAAC;AAC9D,QAAA,CAAC,aAAa,cAAc,IAAI;AAAA,IACpC;AAAA,IACA,OAAO,CAAC,GAAG,MAAM;AAAA,EAAA;AAGb,QAAA,oBAAoB,CAAC,UAAkD;AACnE,YAAA,CAAC,SAAS,CAAC,IAAI;AACZ,eAAA,OAAO,CAAC,IAAI;AAAA,EAAA;AAGnB,QAAA,kBAAsD,CAC1D,OACA,UACG;AACH,mBAAe,KAAK;AACpB,kBAAc,OAAO,KAAK;AAAA,EAAA;AAG5B,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,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,OAAO;AAAA,cACP,UAAU;AAAA,cAET,UAAA,KAAK,IAAI,CAAC,QACT;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEC,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE;AAAA,kBACnB,OAAO,IAAI;AAAA,kBACX,UAAU;AAAA,kBAET,UAAI,IAAA;AAAA,gBAAA;AAAA,gBALA,IAAI;AAAA,cAAA,CAOZ;AAAA,YAAA;AAAA,UACH;AAAA,UAEF;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAM,OAAO,aAAa;AAAA,cAC1B,mBAAiB,OAAO,GAAG,EAAE,IAAI,WAAW,KAAK;AAAA,cACjD,WAAW,QAAQ;AAAA,cAElB;AAAA,YAAA;AAAA,UACH;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,IACA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,OAAO,OAAO,OAAO,QAAQ,OAAO;AAAA,QACpC,SAAS;AAAA,QACT,WAAW,GAAG,QAAQ,QAAQ;AAAA,UAC5B,CAAC,QAAQ,UAAU,GAAG;AAAA,UACtB,CAAC,QAAQ,WAAW,GAAG,CAAC;AAAA,QAAA,CACzB;AAAA,QAED,UAAA,oBAAC,OAAI,OAAO,EAAE,QAAQ,OAAO,WAAW,UAAa;AAAA,MAAA;AAAA,IACvD;AAAA,EACF,EAAA,CAAA;AAEJ,CAAC;"}
@@ -1,4 +1,4 @@
1
- import { createClasses, theme, outlineStyles } from "@hitachivantara/uikit-react-core";
1
+ import { createClasses, theme } from "@hitachivantara/uikit-react-core";
2
2
  const { staticClasses, useClasses } = createClasses(
3
3
  "HvCanvasSidePanel",
4
4
  {
@@ -40,18 +40,8 @@ const { staticClasses, useClasses } = createClasses(
40
40
  },
41
41
  "&$handleClose": {
42
42
  left: 0
43
- },
44
- "&:hover": {
45
- cursor: "pointer"
46
- },
47
- "&:focus-visible": {
48
- ...outlineStyles
49
43
  }
50
44
  },
51
- handleButton: {
52
- top: "calc(50% - 16px)",
53
- position: "absolute"
54
- },
55
45
  open: {},
56
46
  close: {},
57
47
  handleOpen: {},
@@ -1 +1 @@
1
- {"version":3,"file":"SidePanel.styles.js","sources":["../../../../src/Canvas/SidePanel/SidePanel.styles.tsx"],"sourcesContent":["import {\n createClasses,\n outlineStyles,\n theme,\n} from \"@hitachivantara/uikit-react-core\";\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvCanvasSidePanel\",\n {\n root: {\n height: \"100%\",\n position: \"absolute\",\n top: 0,\n left: 0,\n boxShadow:\n \"4px 0px 8px -4px color-mix(in srgb, #414141 12%, transparent)\",\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 height: \"100%\",\n },\n handle: {\n height: \"172px\",\n width: \"35px\",\n display: \"flex\",\n justifyContent: \"center\",\n boxShadow:\n \"4px 0px 8px -4px color-mix(in srgb, #414141 12%, transparent)\",\n backgroundColor: theme.colors.atmo1,\n borderRadius: \"0px 16px 16px 0px\",\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);\n"],"names":[],"mappings":";AAMa,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,WACE;AAAA,MACF,iBAAiB;AAAA,MACjB,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,UAAU;AAAA,QACR,OAAO;AAAA,QACP,YAAY;AAAA,MACd;AAAA,MACA,WAAW;AAAA,QACT,OAAO;AAAA,QACP,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,MAAM,CAAC;AAAA,IACP,SAAS;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,IACA,QAAQ;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,WACE;AAAA,MACF,iBAAiB,MAAM,OAAO;AAAA,MAC9B,cAAc;AAAA,MACd,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,KAAK;AAAA,MACL,gBAAgB;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,iBAAiB;AAAA,QACf,MAAM;AAAA,MACR;AAAA,MACA,WAAW;AAAA,QACT,QAAQ;AAAA,MACV;AAAA,MACA,mBAAmB;AAAA,QACjB,GAAG;AAAA,MACL;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,MAAM,CAAC;AAAA,IACP,OAAO,CAAC;AAAA,IACR,YAAY,CAAC;AAAA,IACb,aAAa,CAAC;AAAA,EAChB;AACF;"}
1
+ {"version":3,"file":"SidePanel.styles.js","sources":["../../../../src/Canvas/SidePanel/SidePanel.styles.tsx"],"sourcesContent":["import { createClasses, theme } from \"@hitachivantara/uikit-react-core\";\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvCanvasSidePanel\",\n {\n root: {\n height: \"100%\",\n position: \"absolute\",\n top: 0,\n left: 0,\n boxShadow:\n \"4px 0px 8px -4px color-mix(in srgb, #414141 12%, transparent)\",\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 height: \"100%\",\n },\n handle: {\n height: \"172px\",\n width: \"35px\",\n display: \"flex\",\n justifyContent: \"center\",\n boxShadow:\n \"4px 0px 8px -4px color-mix(in srgb, #414141 12%, transparent)\",\n backgroundColor: theme.colors.atmo1,\n borderRadius: \"0px 16px 16px 0px\",\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 },\n open: {},\n close: {},\n handleOpen: {},\n handleClose: {},\n },\n);\n"],"names":[],"mappings":";AAEa,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,WACE;AAAA,MACF,iBAAiB;AAAA,MACjB,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,UAAU;AAAA,QACR,OAAO;AAAA,QACP,YAAY;AAAA,MACd;AAAA,MACA,WAAW;AAAA,QACT,OAAO;AAAA,QACP,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,MAAM,CAAC;AAAA,IACP,SAAS;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,IACA,QAAQ;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,WACE;AAAA,MACF,iBAAiB,MAAM,OAAO;AAAA,MAC9B,cAAc;AAAA,MACd,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,KAAK;AAAA,MACL,gBAAgB;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,iBAAiB;AAAA,QACf,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,MAAM,CAAC;AAAA,IACP,OAAO,CAAC;AAAA,IACR,YAAY,CAAC;AAAA,IACb,aAAa,CAAC;AAAA,EAChB;AACF;"}
@@ -0,0 +1,19 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { fixedForwardRef, useDefaultProps } from "@hitachivantara/uikit-react-core";
3
+ import { useClasses } from "./Card.styles.js";
4
+ import { staticClasses } from "./Card.styles.js";
5
+ const HvCard = fixedForwardRef(function HvCard2(props, ref) {
6
+ const {
7
+ classes: classesProp,
8
+ className,
9
+ component: Component = "div",
10
+ children,
11
+ ...others
12
+ } = useDefaultProps("HvCard", props);
13
+ const { classes, cx } = useClasses(classesProp);
14
+ return /* @__PURE__ */ jsx(Component, { ref, className: cx(classes.root, className), ...others, children });
15
+ });
16
+ export {
17
+ HvCard,
18
+ staticClasses as cardClasses
19
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.js","sources":["../../../src/Card/Card.tsx"],"sourcesContent":["import {\n ExtractNames,\n fixedForwardRef,\n PolymorphicComponentRef,\n PolymorphicRef,\n useDefaultProps,\n} from \"@hitachivantara/uikit-react-core\";\n\nimport { staticClasses, useClasses } from \"./Card.styles\";\n\nexport { staticClasses as cardClasses };\n\nexport type HvCardClasses = ExtractNames<typeof useClasses>;\n\nexport type HvCardProps<C extends React.ElementType = \"div\"> =\n PolymorphicComponentRef<\n C,\n {\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCardClasses;\n }\n >;\n\n/**\n * The Pentaho Card component.\n */\nexport const HvCard = fixedForwardRef(function HvCard<\n C extends React.ElementType = \"div\",\n>(props: HvCardProps<C>, ref: PolymorphicRef<C>) {\n const {\n classes: classesProp,\n className,\n component: Component = \"div\",\n children,\n ...others\n } = useDefaultProps(\"HvCard\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n return (\n <Component ref={ref} className={cx(classes.root, className)} {...others}>\n {children}\n </Component>\n );\n});\n"],"names":["HvCard"],"mappings":";;;;AA0BO,MAAM,SAAS,gBAAgB,SAASA,QAE7C,OAAuB,KAAwB;AACzC,QAAA;AAAA,IACJ,SAAS;AAAA,IACT;AAAA,IACA,WAAW,YAAY;AAAA,IACvB;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,UAAU,KAAK;AAEnC,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAG5C,SAAA,oBAAC,WAAU,EAAA,KAAU,WAAW,GAAG,QAAQ,MAAM,SAAS,GAAI,GAAG,QAC9D,SACH,CAAA;AAEJ,CAAC;"}
@@ -0,0 +1,16 @@
1
+ import { createClasses, theme } from "@hitachivantara/uikit-react-core";
2
+ const { staticClasses, useClasses } = createClasses("HvCard", {
3
+ root: {
4
+ position: "relative",
5
+ display: "block",
6
+ overflow: "hidden",
7
+ backgroundColor: theme.colors.atmo1,
8
+ borderRadius: theme.space.sm,
9
+ border: `1px solid ${theme.colors.atmo3}`,
10
+ boxShadow: "0 4px 6px 0 rgba(65,65,65,0.06)"
11
+ }
12
+ });
13
+ export {
14
+ staticClasses,
15
+ useClasses
16
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.styles.js","sources":["../../../src/Card/Card.styles.tsx"],"sourcesContent":["import { createClasses, theme } from \"@hitachivantara/uikit-react-core\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvCard\", {\n root: {\n position: \"relative\",\n display: \"block\",\n overflow: \"hidden\",\n backgroundColor: theme.colors.atmo1,\n borderRadius: theme.space.sm,\n border: `1px solid ${theme.colors.atmo3}`,\n boxShadow: \"0 4px 6px 0 rgba(65,65,65,0.06)\",\n },\n});\n"],"names":[],"mappings":";AAEO,MAAM,EAAE,eAAe,eAAe,cAAc,UAAU;AAAA,EACnE,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,SAAS;AAAA,IACT,UAAU;AAAA,IACV,iBAAiB,MAAM,OAAO;AAAA,IAC9B,cAAc,MAAM,MAAM;AAAA,IAC1B,QAAQ,aAAa,MAAM,OAAO,KAAK;AAAA,IACvC,WAAW;AAAA,EACb;AACF,CAAC;"}
@@ -0,0 +1,34 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { useDefaultProps } from "@hitachivantara/uikit-react-core";
4
+ import { useClasses } from "./CardMedia.styles.js";
5
+ import { staticClasses } from "./CardMedia.styles.js";
6
+ const HvCardMedia = forwardRef(
7
+ (props, ref) => {
8
+ const {
9
+ src,
10
+ alt = "",
11
+ height = 160,
12
+ className,
13
+ classes: classesProp,
14
+ children,
15
+ ...others
16
+ } = useDefaultProps("HvCardMedia", props);
17
+ const { classes, cx } = useClasses(classesProp);
18
+ return /* @__PURE__ */ jsx("div", { className: cx(classes.root, className), children: /* @__PURE__ */ jsx(
19
+ "img",
20
+ {
21
+ ref,
22
+ height,
23
+ className: classes.image,
24
+ src,
25
+ alt,
26
+ ...others
27
+ }
28
+ ) });
29
+ }
30
+ );
31
+ export {
32
+ HvCardMedia,
33
+ staticClasses as cardMediaClasses
34
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardMedia.js","sources":["../../../../src/Card/CardMedia/CardMedia.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n ExtractNames,\n HvBaseProps,\n useDefaultProps,\n} from \"@hitachivantara/uikit-react-core\";\n\nimport { staticClasses, useClasses } from \"./CardMedia.styles\";\n\nexport { staticClasses as cardMediaClasses };\n\nexport type HvCardMediaClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCardMediaProps extends HvBaseProps<HTMLImageElement> {\n /** The source for the image to use in the card. */\n src: string;\n /** The height of the image container. */\n height?: number;\n /** A text alternative to the image. */\n alt?: string;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCardMediaClasses;\n}\n\n/**\n * A subcomponent to be used within the `HvCard` component. This component is used to display an image within the card.\n */\nexport const HvCardMedia = forwardRef<HTMLImageElement, HvCardMediaProps>(\n (props, ref) => {\n const {\n src,\n alt = \"\",\n height = 160,\n className,\n classes: classesProp,\n children,\n ...others\n } = useDefaultProps(\"HvCardMedia\", props);\n const { classes, cx } = useClasses(classesProp);\n\n return (\n <div className={cx(classes.root, className)}>\n <img\n ref={ref}\n height={height}\n className={classes.image}\n src={src}\n alt={alt}\n {...others}\n />\n </div>\n );\n },\n);\n"],"names":[],"mappings":";;;;;AA2BO,MAAM,cAAc;AAAA,EACzB,CAAC,OAAO,QAAQ;AACR,UAAA;AAAA,MACJ;AAAA,MACA,MAAM;AAAA,MACN,SAAS;AAAA,MACT;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA,GAAG;AAAA,IAAA,IACD,gBAAgB,eAAe,KAAK;AACxC,UAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAE9C,+BACG,OAAI,EAAA,WAAW,GAAG,QAAQ,MAAM,SAAS,GACxC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,WAAW,QAAQ;AAAA,QACnB;AAAA,QACA;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IAER,EAAA,CAAA;AAAA,EAEJ;AACF;"}
@@ -0,0 +1,12 @@
1
+ import { createClasses } from "@hitachivantara/uikit-react-core";
2
+ const { staticClasses, useClasses } = createClasses("HvCardMedia", {
3
+ root: {},
4
+ image: {
5
+ objectFit: "cover",
6
+ width: "100%"
7
+ }
8
+ });
9
+ export {
10
+ staticClasses,
11
+ useClasses
12
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardMedia.styles.js","sources":["../../../../src/Card/CardMedia/CardMedia.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-core\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvCardMedia\", {\n root: {},\n image: {\n objectFit: \"cover\",\n width: \"100%\",\n },\n});\n"],"names":[],"mappings":";AAEO,MAAM,EAAE,eAAe,eAAe,cAAc,eAAe;AAAA,EACxE,MAAM,CAAC;AAAA,EACP,OAAO;AAAA,IACL,WAAW;AAAA,IACX,OAAO;AAAA,EACT;AACF,CAAC;"}
@@ -0,0 +1,20 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { useDefaultProps } from "@hitachivantara/uikit-react-core";
4
+ import { useClasses } from "./CardSection.styles.js";
5
+ import { staticClasses } from "./CardSection.styles.js";
6
+ const HvCardSection = forwardRef(
7
+ (props, ref) => {
8
+ const {
9
+ className,
10
+ classes: classesProp,
11
+ children
12
+ } = useDefaultProps("HvCardSection", props);
13
+ const { classes, cx } = useClasses(classesProp);
14
+ return /* @__PURE__ */ jsx("div", { ref, className: cx(classes.root, className), children });
15
+ }
16
+ );
17
+ export {
18
+ HvCardSection,
19
+ staticClasses as cardSectionClasses
20
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardSection.js","sources":["../../../../src/Card/CardSection/CardSection.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n ExtractNames,\n HvBaseProps,\n useDefaultProps,\n} from \"@hitachivantara/uikit-react-core\";\n\nimport { staticClasses, useClasses } from \"./CardSection.styles\";\n\nexport { staticClasses as cardSectionClasses };\n\nexport type HvCardSectionClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCardSectionProps extends HvBaseProps {\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCardSectionClasses;\n}\n\n/**\n * A subcomponent to be used within the `HvCard` component. This component is used to display content on the card.\n */\nexport const HvCardSection = forwardRef<HTMLDivElement, HvCardSectionProps>(\n (props, ref) => {\n const {\n className,\n classes: classesProp,\n children,\n } = useDefaultProps(\"HvCardSection\", props);\n const { classes, cx } = useClasses(classesProp);\n\n return (\n <div ref={ref} className={cx(classes.root, className)}>\n {children}\n </div>\n );\n },\n);\n"],"names":[],"mappings":";;;;;AAqBO,MAAM,gBAAgB;AAAA,EAC3B,CAAC,OAAO,QAAQ;AACR,UAAA;AAAA,MACJ;AAAA,MACA,SAAS;AAAA,MACT;AAAA,IAAA,IACE,gBAAgB,iBAAiB,KAAK;AAC1C,UAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAG5C,WAAA,oBAAC,SAAI,KAAU,WAAW,GAAG,QAAQ,MAAM,SAAS,GACjD,SACH,CAAA;AAAA,EAEJ;AACF;"}
@@ -0,0 +1,10 @@
1
+ import { createClasses, theme } from "@hitachivantara/uikit-react-core";
2
+ const { staticClasses, useClasses } = createClasses("HvCardSection", {
3
+ root: {
4
+ padding: theme.space.sm
5
+ }
6
+ });
7
+ export {
8
+ staticClasses,
9
+ useClasses
10
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardSection.styles.js","sources":["../../../../src/Card/CardSection/CardSection.styles.tsx"],"sourcesContent":["import { createClasses, theme } from \"@hitachivantara/uikit-react-core\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvCardSection\", {\n root: {\n padding: theme.space.sm,\n },\n});\n"],"names":[],"mappings":";AAEO,MAAM,EAAE,eAAe,eAAe,cAAc,iBAAiB;AAAA,EAC1E,MAAM;AAAA,IACJ,SAAS,MAAM,MAAM;AAAA,EACvB;AACF,CAAC;"}
package/dist/esm/index.js CHANGED
@@ -8,15 +8,27 @@ import { staticClasses as staticClasses4 } from "./Canvas/SidePanel/SidePanel.st
8
8
  import { HvCanvasSidePanel } from "./Canvas/SidePanel/SidePanel.js";
9
9
  import { staticClasses as staticClasses5 } from "./Canvas/Toolbar/Toolbar.styles.js";
10
10
  import { HvCanvasToolbar } from "./Canvas/Toolbar/Toolbar.js";
11
+ import { staticClasses as staticClasses6 } from "./Card/Card.styles.js";
12
+ import { HvCard } from "./Card/Card.js";
13
+ import { staticClasses as staticClasses7 } from "./Card/CardMedia/CardMedia.styles.js";
14
+ import { HvCardMedia } from "./Card/CardMedia/CardMedia.js";
15
+ import { staticClasses as staticClasses8 } from "./Card/CardSection/CardSection.styles.js";
16
+ import { HvCardSection } from "./Card/CardSection/CardSection.js";
11
17
  export {
12
18
  HvCanvasBottomPanel,
13
19
  HvCanvasPanelTab,
14
20
  HvCanvasPanelTabs,
15
21
  HvCanvasSidePanel,
16
22
  HvCanvasToolbar,
23
+ HvCard,
24
+ HvCardMedia,
25
+ HvCardSection,
17
26
  staticClasses as canvasBottomPanelClasses,
18
27
  staticClasses2 as canvasPanelTabClasses,
19
28
  staticClasses3 as canvasPanelTabsClasses,
20
29
  staticClasses4 as canvasSidePanelClasses,
21
- staticClasses5 as canvasToolbarClasses
30
+ staticClasses5 as canvasToolbarClasses,
31
+ staticClasses6 as cardClasses,
32
+ staticClasses7 as cardMediaClasses,
33
+ staticClasses8 as cardSectionClasses
22
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -1,3 +1,4 @@
1
+ import { ComponentProps } from 'react';
1
2
  import { CSSInterpolation } from '@emotion/serialize';
2
3
  import { ExtractNames } from '@hitachivantara/uikit-react-core';
3
4
  import { ForwardRefExoticComponent } from 'react';
@@ -5,6 +6,10 @@ import { HvActionGeneric } from '@hitachivantara/uikit-react-core';
5
6
  import { HvActionsGenericProps } from '@hitachivantara/uikit-react-core';
6
7
  import { HvBaseProps } from '@hitachivantara/uikit-react-core';
7
8
  import { HvIconButtonProps } from '@hitachivantara/uikit-react-core';
9
+ import { PolymorphicComponentRef } from '@hitachivantara/uikit-react-core';
10
+ import { PolymorphicRef } from '@hitachivantara/uikit-react-core';
11
+ import { PropsWithoutRef } from 'react';
12
+ import { ReactNode } from 'react';
8
13
  import { RefAttributes } from 'react';
9
14
  import { TabProps } from '@mui/base/Tab';
10
15
  import { TabsProps } from '@mui/base/Tabs';
@@ -14,6 +19,7 @@ export declare const canvasBottomPanelClasses: {
14
19
  root: "HvCanvasBottomPanel-root";
15
20
  tab: "HvCanvasBottomPanel-tab";
16
21
  closed: "HvCanvasBottomPanel-closed";
22
+ actionsDisabled: "HvCanvasBottomPanel-actionsDisabled";
17
23
  minimized: "HvCanvasBottomPanel-minimized";
18
24
  multipleTabs: "HvCanvasBottomPanel-multipleTabs";
19
25
  overflowing: "HvCanvasBottomPanel-overflowing";
@@ -39,7 +45,6 @@ export declare const canvasSidePanelClasses: {
39
45
  close: "HvCanvasSidePanel-close";
40
46
  handle: "HvCanvasSidePanel-handle";
41
47
  tabs: "HvCanvasSidePanel-tabs";
42
- handleButton: "HvCanvasSidePanel-handleButton";
43
48
  handleOpen: "HvCanvasSidePanel-handleOpen";
44
49
  handleClose: "HvCanvasSidePanel-handleClose";
45
50
  };
@@ -51,6 +56,19 @@ export declare const canvasToolbarClasses: {
51
56
  back: "HvCanvasToolbar-back";
52
57
  };
53
58
 
59
+ export declare const cardClasses: {
60
+ root: "HvCard-root";
61
+ };
62
+
63
+ export declare const cardMediaClasses: {
64
+ root: "HvCardMedia-root";
65
+ image: "HvCardMedia-image";
66
+ };
67
+
68
+ export declare const cardSectionClasses: {
69
+ root: "HvCardSection-root";
70
+ };
71
+
54
72
  declare const DEFAULT_LABELS: {
55
73
  open: string;
56
74
  close: string;
@@ -75,17 +93,30 @@ export declare interface HvCanvasBottomPanelProps extends HvBaseProps {
75
93
  /** List of tabs visible on the panel. */
76
94
  tabs: {
77
95
  id: string | number;
78
- title: React.ReactNode;
96
+ title: React.ReactNode | ((overflowing: boolean) => React.ReactNode);
79
97
  }[];
80
98
  /** Id of the selected tab if it needs to be controlled. */
81
- tab?: string | number;
99
+ selectedTabId?: string | number;
82
100
  /** Callback triggered when a tab changes/is clicked. */
83
101
  onTabChange?: (event: React.SyntheticEvent | null, tabId: string | number | null) => void;
84
- /** Actions to be rendered in the left side of a tab. If more than one action is provided, a dropdown menu will be used. */
102
+ /**
103
+ * Actions to be rendered in the left side of a tab.
104
+ * If more than one action is provided, a dropdown menu will be used.
105
+ * These actions are not shown when the tab content is overflowing.
106
+ */
85
107
  leftActions?: HvActionsGenericProps["actions"];
86
- /** Actions to be rendered in the right side of a tab.If more than two actions are provided, a dropdown menu will be used to add the remaining actions. */
108
+ /**
109
+ * Actions to be rendered in the right side of a tab.
110
+ * If more than two actions are provided, a dropdown menu will be used to display the remaining actions.
111
+ * These actions are not shown when the tab content is overflowing.
112
+ */
87
113
  rightActions?: HvActionsGenericProps["actions"];
88
- /** Callback triggered when a right or left action is clicked. */
114
+ /**
115
+ * Actions to be rendered in the right side of a tab when the tab content is overflowing.
116
+ * These actions will replace both `leftActions` and `rightActions`.
117
+ */
118
+ overflowActions?: HvActionsGenericProps["actions"];
119
+ /** Callback triggered when an action is clicked. */
89
120
  onAction?: (event: React.SyntheticEvent, action: HvActionGeneric, tabId: string | number) => void;
90
121
  /** A Jss Object used to override or extend the styles applied. */
91
122
  classes?: HvCanvasBottomPanelClasses;
@@ -167,12 +198,64 @@ export declare interface HvCanvasToolbarProps extends HvBaseProps<HTMLDivElement
167
198
  classes?: HvCanvasToolbarClasses;
168
199
  }
169
200
 
170
- declare const useClasses: (classesProp?: Partial<Record<"content" | "root" | "tab" | "closed" | "minimized" | "multipleTabs" | "overflowing" | "tabTitle" | "tabsRoot" | "leftActions" | "rightActions", string>>, addStatic?: boolean) => {
201
+ /**
202
+ * The Pentaho Card component.
203
+ */
204
+ export declare const HvCard: <C extends React.ElementType = "div">(props: {
205
+ /** A Jss Object used to override or extend the styles applied. */
206
+ classes?: HvCardClasses;
207
+ } & {
208
+ component?: C | undefined;
209
+ } & {
210
+ children?: ReactNode | undefined;
211
+ } & (Omit<PropsWithoutRef<ComponentProps<C>>, "classes" | "component"> extends infer T ? T extends Omit<PropsWithoutRef<ComponentProps<C>>, "classes" | "component"> ? T extends any ? T : never : never : never) & {
212
+ ref?: PolymorphicRef<C> | undefined;
213
+ } & RefAttributes<unknown>) => React.ReactNode;
214
+
215
+ export declare type HvCardClasses = ExtractNames<typeof useClasses_6>;
216
+
217
+ /**
218
+ * A subcomponent to be used within the `HvCard` component. This component is used to display an image within the card.
219
+ */
220
+ export declare const HvCardMedia: ForwardRefExoticComponent<HvCardMediaProps & RefAttributes<HTMLImageElement>>;
221
+
222
+ export declare type HvCardMediaClasses = ExtractNames<typeof useClasses_7>;
223
+
224
+ export declare interface HvCardMediaProps extends HvBaseProps<HTMLImageElement> {
225
+ /** The source for the image to use in the card. */
226
+ src: string;
227
+ /** The height of the image container. */
228
+ height?: number;
229
+ /** A text alternative to the image. */
230
+ alt?: string;
231
+ /** A Jss Object used to override or extend the styles applied. */
232
+ classes?: HvCardMediaClasses;
233
+ }
234
+
235
+ export declare type HvCardProps<C extends React.ElementType = "div"> = PolymorphicComponentRef<C, {
236
+ /** A Jss Object used to override or extend the styles applied. */
237
+ classes?: HvCardClasses;
238
+ }>;
239
+
240
+ /**
241
+ * A subcomponent to be used within the `HvCard` component. This component is used to display content on the card.
242
+ */
243
+ export declare const HvCardSection: ForwardRefExoticComponent<HvCardSectionProps & RefAttributes<HTMLDivElement>>;
244
+
245
+ export declare type HvCardSectionClasses = ExtractNames<typeof useClasses_8>;
246
+
247
+ export declare interface HvCardSectionProps extends HvBaseProps {
248
+ /** A Jss Object used to override or extend the styles applied. */
249
+ classes?: HvCardSectionClasses;
250
+ }
251
+
252
+ declare const useClasses: (classesProp?: Partial<Record<"content" | "root" | "tab" | "closed" | "actionsDisabled" | "minimized" | "multipleTabs" | "overflowing" | "tabTitle" | "tabsRoot" | "leftActions" | "rightActions", string>>, addStatic?: boolean) => {
171
253
  classes: {
172
254
  content: string;
173
255
  root: string;
174
256
  tab: string;
175
257
  closed: string;
258
+ actionsDisabled: string;
176
259
  minimized: string;
177
260
  multipleTabs: string;
178
261
  overflowing: string;
@@ -211,7 +294,7 @@ declare const useClasses_3: (classesProp?: Partial<Record<"root" | "list", strin
211
294
  cx: (...args: any) => string;
212
295
  };
213
296
 
214
- declare const useClasses_4: (classesProp?: Partial<Record<"content" | "root" | "open" | "close" | "handle" | "tabs" | "handleButton" | "handleOpen" | "handleClose", string>>, addStatic?: boolean) => {
297
+ declare const useClasses_4: (classesProp?: Partial<Record<"content" | "root" | "open" | "close" | "handle" | "tabs" | "handleOpen" | "handleClose", string>>, addStatic?: boolean) => {
215
298
  classes: {
216
299
  content: string;
217
300
  root: string;
@@ -219,7 +302,6 @@ declare const useClasses_4: (classesProp?: Partial<Record<"content" | "root" | "
219
302
  close: string;
220
303
  handle: string;
221
304
  tabs: string;
222
- handleButton: string;
223
305
  handleOpen: string;
224
306
  handleClose: string;
225
307
  };
@@ -244,4 +326,38 @@ declare const useClasses_5: (classesProp?: Partial<Record<"root" | "title" | "ac
244
326
  cx: (...args: any) => string;
245
327
  };
246
328
 
329
+ declare const useClasses_6: (classesProp?: Partial<Record<"root", string>>, addStatic?: boolean) => {
330
+ classes: {
331
+ root: string;
332
+ };
333
+ css: {
334
+ (template: TemplateStringsArray, ...args: CSSInterpolation[]): string;
335
+ (...args: CSSInterpolation[]): string;
336
+ };
337
+ cx: (...args: any) => string;
338
+ };
339
+
340
+ declare const useClasses_7: (classesProp?: Partial<Record<"root" | "image", string>>, addStatic?: boolean) => {
341
+ classes: {
342
+ root: string;
343
+ image: string;
344
+ };
345
+ css: {
346
+ (template: TemplateStringsArray, ...args: CSSInterpolation[]): string;
347
+ (...args: CSSInterpolation[]): string;
348
+ };
349
+ cx: (...args: any) => string;
350
+ };
351
+
352
+ declare const useClasses_8: (classesProp?: Partial<Record<"root", string>>, addStatic?: boolean) => {
353
+ classes: {
354
+ root: string;
355
+ };
356
+ css: {
357
+ (template: TemplateStringsArray, ...args: CSSInterpolation[]): string;
358
+ (...args: CSSInterpolation[]): string;
359
+ };
360
+ cx: (...args: any) => string;
361
+ };
362
+
247
363
  export { }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hitachivantara/uikit-react-pentaho",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "private": false,
5
5
  "author": "Hitachi Vantara UI Kit Team",
6
6
  "description": "UI Kit Pentaho+ React components.",
@@ -42,7 +42,7 @@
42
42
  "access": "public",
43
43
  "directory": "package"
44
44
  },
45
- "gitHead": "143286b6fdeed50a3265683bebb09dba16ab0395",
45
+ "gitHead": "92d73ff42ea365f4fe8fe19107c592e870da41bd",
46
46
  "exports": {
47
47
  ".": {
48
48
  "require": "./dist/cjs/index.cjs",