@spaced-out/ui-design-system 0.1.66 → 0.1.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cspell/custom-words.txt +2 -0
- package/CHANGELOG.md +26 -0
- package/design-tokens/color/app-color.json +14 -0
- package/design-tokens/size/base-size.json +3 -0
- package/lib/components/Button/Button.js +2 -2
- package/lib/components/Button/Button.js.flow +3 -3
- package/lib/components/CircularLoader/CircularLoader.module.css +18 -14
- package/lib/components/Icon/SemanticIcon.js +1 -0
- package/lib/components/Icon/SemanticIcon.js.flow +6 -1
- package/lib/components/SideMenuLink/SideMenuLink.js +23 -34
- package/lib/components/SideMenuLink/SideMenuLink.js.flow +8 -19
- package/lib/components/Table/Table.docs.js +514 -0
- package/lib/components/Table/Table.docs.js.flow +476 -0
- package/lib/components/Table/TableActionBar.js +37 -3
- package/lib/components/Table/TableActionBar.js.flow +27 -0
- package/lib/components/Table/TableBar.module.css +22 -2
- package/lib/components/Tooltip/Tooltip.js +17 -3
- package/lib/components/Tooltip/Tooltip.js.flow +19 -2
- package/lib/styles/index.css +10 -0
- package/lib/styles/index.js +13 -3
- package/lib/styles/index.js.flow +10 -0
- package/lib/styles/variables/_color.css +8 -0
- package/lib/styles/variables/_color.js +9 -1
- package/lib/styles/variables/_color.js.flow +8 -0
- package/lib/styles/variables/_size.css +2 -0
- package/lib/styles/variables/_size.js +3 -1
- package/lib/styles/variables/_size.js.flow +2 -0
- package/package.json +1 -1
package/.cspell/custom-words.txt
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [0.1.68](https://github.com/spaced-out/ui-design-system/compare/v0.1.67...v0.1.68) (2023-12-04)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* bulk action buttons and table inline edit ([#155](https://github.com/spaced-out/ui-design-system/issues/155)) ([7ae82fc](https://github.com/spaced-out/ui-design-system/commit/7ae82fc6f3fba77f53d7a2269d7a4df675c6d69f))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* circular loader extra space ([#154](https://github.com/spaced-out/ui-design-system/issues/154)) ([a6ce232](https://github.com/spaced-out/ui-design-system/commit/a6ce2326edc4ce7779471f171d70ba2f33203cfc))
|
|
16
|
+
|
|
17
|
+
### [0.1.67](https://github.com/spaced-out/ui-design-system/compare/v0.1.66...v0.1.67) (2023-11-10)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* tooltip now accepts elevation as an enum ([c2c2548](https://github.com/spaced-out/ui-design-system/commit/c2c254895e343cfcfe336b416d5341ac06d07ba6))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* add senseai to side menu link ([#151](https://github.com/spaced-out/ui-design-system/issues/151)) ([fec9cab](https://github.com/spaced-out/ui-design-system/commit/fec9cab34a2be35e89ce4c72968451ae6cac3444))
|
|
28
|
+
* button overflow fix ([#153](https://github.com/spaced-out/ui-design-system/issues/153)) ([932ea91](https://github.com/spaced-out/ui-design-system/commit/932ea91a5d75c3044998efb6bf4f0e27357dd8e9))
|
|
29
|
+
* table column fixes ([4aefc17](https://github.com/spaced-out/ui-design-system/commit/4aefc175d6f24b7fd6eea425f68f38712f478488))
|
|
30
|
+
|
|
5
31
|
### [0.1.66](https://github.com/spaced-out/ui-design-system/compare/v0.1.65...v0.1.66) (2023-11-06)
|
|
6
32
|
|
|
7
33
|
|
|
@@ -105,6 +105,20 @@
|
|
|
105
105
|
"value": "{baseColor.indigo.940.70.value}"
|
|
106
106
|
},
|
|
107
107
|
"button-fill": {
|
|
108
|
+
"tableAction": {
|
|
109
|
+
"enabled": {
|
|
110
|
+
"value": "{baseColor.purple.600.value}"
|
|
111
|
+
},
|
|
112
|
+
"hovered": {
|
|
113
|
+
"value": "{baseColor.purple.700.value}"
|
|
114
|
+
},
|
|
115
|
+
"pressed": {
|
|
116
|
+
"value": "{baseColor.purple.700.value}"
|
|
117
|
+
},
|
|
118
|
+
"border": {
|
|
119
|
+
"value": "{baseColor.purple.400.value}"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
108
122
|
"primary": {
|
|
109
123
|
"enabled": {
|
|
110
124
|
"value": "{baseColor.purple.500.value}"
|
|
@@ -111,7 +111,7 @@ const Button = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
|
|
|
111
111
|
}), /*#__PURE__*/React.createElement("div", {
|
|
112
112
|
className: _ButtonModule.default.buttonRow
|
|
113
113
|
}, !(iconLeftName || iconRightName) ? /*#__PURE__*/React.createElement("div", {
|
|
114
|
-
className: _ButtonModule.default.textContainer
|
|
114
|
+
className: (0, _classify.classify)(_ButtonModule.default.textContainer, classNames?.text)
|
|
115
115
|
}, isLoading && /*#__PURE__*/React.createElement("div", {
|
|
116
116
|
className: _ButtonModule.default.loader
|
|
117
117
|
}, /*#__PURE__*/React.createElement(_CircularLoader.CircularLoader, {
|
|
@@ -147,7 +147,7 @@ const Button = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
|
|
|
147
147
|
[_ButtonModule.default.hidden]: isLoading
|
|
148
148
|
}, classNames?.icon)
|
|
149
149
|
}), /*#__PURE__*/React.createElement("div", {
|
|
150
|
-
className: _ButtonModule.default.textContainer
|
|
150
|
+
className: (0, _classify.classify)(_ButtonModule.default.textContainer, classNames?.text)
|
|
151
151
|
}, isLoading && /*#__PURE__*/React.createElement("div", {
|
|
152
152
|
className: _ButtonModule.default.loader
|
|
153
153
|
}, /*#__PURE__*/React.createElement(_CircularLoader.CircularLoader, {
|
|
@@ -11,7 +11,7 @@ import {Truncate} from '../Truncate';
|
|
|
11
11
|
import css from './Button.module.css';
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
type ClassNames = $ReadOnly<{wrapper?: string, icon?: string}>;
|
|
14
|
+
type ClassNames = $ReadOnly<{wrapper?: string, icon?: string, text?: string}>;
|
|
15
15
|
|
|
16
16
|
export const BUTTON_TYPES = Object.freeze({
|
|
17
17
|
primary: 'primary',
|
|
@@ -162,7 +162,7 @@ export const Button: React$AbstractComponent<ButtonProps, HTMLButtonElement> =
|
|
|
162
162
|
<div className={css.buttonRow}>
|
|
163
163
|
{/* Has no icon, only child */}
|
|
164
164
|
{!(iconLeftName || iconRightName) ? (
|
|
165
|
-
<div className={css.textContainer}>
|
|
165
|
+
<div className={classify(css.textContainer, classNames?.text)}>
|
|
166
166
|
{isLoading && (
|
|
167
167
|
<div className={css.loader}>
|
|
168
168
|
<CircularLoader
|
|
@@ -223,7 +223,7 @@ export const Button: React$AbstractComponent<ButtonProps, HTMLButtonElement> =
|
|
|
223
223
|
)}
|
|
224
224
|
/>
|
|
225
225
|
)}
|
|
226
|
-
<div className={css.textContainer}>
|
|
226
|
+
<div className={classify(css.textContainer, classNames?.text)}>
|
|
227
227
|
{isLoading && (
|
|
228
228
|
<div className={css.loader}>
|
|
229
229
|
<CircularLoader
|
|
@@ -15,27 +15,29 @@
|
|
|
15
15
|
@value spinnerSize: size60;
|
|
16
16
|
@value spinnerThickness: size5;
|
|
17
17
|
|
|
18
|
-
@value
|
|
19
|
-
|
|
20
|
-
@value innerMaskGradient: radial-gradient(farthest-side, colorFillNone calc(99% - spinnerThickness), colorFillPrimary calc(100% - spinnerThickness));
|
|
18
|
+
@value innerMaskGradient: radial-gradient(farthest-side, colorFillNone calc(99% - var(--spinner-thickness)), colorFillPrimary calc(100% - var(--spinner-thickness)));
|
|
21
19
|
|
|
22
20
|
.container {
|
|
23
21
|
display: flex;
|
|
24
22
|
justify-content: flex-start;
|
|
25
23
|
align-items: flex-start;
|
|
24
|
+
--spinner-size: spinnerSize;
|
|
25
|
+
--spinner-thickness: spinnerThickness;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
.mediumContainer {
|
|
29
|
-
|
|
29
|
+
--spinner-size: calc(0.5 * spinnerSize);
|
|
30
|
+
--spinner-thickness: calc(0.5 * spinnerThickness);
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
.smallContainer {
|
|
33
|
-
|
|
34
|
+
--spinner-size: calc(0.36 * spinnerSize);
|
|
35
|
+
--spinner-thickness: calc(0.36 * spinnerThickness);
|
|
34
36
|
}
|
|
35
37
|
|
|
36
38
|
.spinLoader {
|
|
37
|
-
height:
|
|
38
|
-
width:
|
|
39
|
+
height: var(--spinner-size);
|
|
40
|
+
width: var(--spinner-size);
|
|
39
41
|
display: block;
|
|
40
42
|
position: relative;
|
|
41
43
|
animation: spin motionDurationSlowest linear 0s infinite normal;
|
|
@@ -46,9 +48,9 @@
|
|
|
46
48
|
--color: colorFillPrimary;
|
|
47
49
|
display: block;
|
|
48
50
|
position: absolute;
|
|
49
|
-
border-radius: calc(
|
|
50
|
-
height:
|
|
51
|
-
width:
|
|
51
|
+
border-radius: calc(var(--spinner-size) / 2);
|
|
52
|
+
height: var(--spinner-size);
|
|
53
|
+
width: var(--spinner-size);
|
|
52
54
|
top: spaceNone;
|
|
53
55
|
right: spaceNone;
|
|
54
56
|
background: conic-gradient(
|
|
@@ -63,18 +65,20 @@
|
|
|
63
65
|
.ellipse {
|
|
64
66
|
--color: colorFillPrimary;
|
|
65
67
|
position: absolute;
|
|
66
|
-
left: calc(spinnerSize - spinnerThickness);
|
|
67
68
|
right: spaceNone;
|
|
68
69
|
top: spaceNone;
|
|
69
70
|
bottom: spaceNone;
|
|
70
|
-
border-radius: calc(
|
|
71
|
-
height:
|
|
72
|
-
width:
|
|
71
|
+
border-radius: calc(var(--spinner-thickness) / 2);
|
|
72
|
+
height: var(--spinner-thickness);
|
|
73
|
+
width: var(--spinner-thickness);
|
|
73
74
|
margin: auto;
|
|
74
75
|
background: var(--color);
|
|
75
76
|
}
|
|
76
77
|
|
|
77
78
|
@keyframes spin {
|
|
79
|
+
from {
|
|
80
|
+
transform: rotate(0deg);
|
|
81
|
+
}
|
|
78
82
|
to {
|
|
79
83
|
transform: rotate(360deg);
|
|
80
84
|
}
|
|
@@ -23,6 +23,7 @@ const SemanticIcon = _ref => {
|
|
|
23
23
|
return /*#__PURE__*/React.createElement(React.Fragment, null, !!iconProps.name && /*#__PURE__*/React.createElement("div", {
|
|
24
24
|
className: (0, _classify.default)(_SemanticIconModule.default.iconContainer, _SemanticIconModule.default[semantic], classNames?.wrapper)
|
|
25
25
|
}, /*#__PURE__*/React.createElement(_Icon.Icon, _extends({}, iconProps, {
|
|
26
|
+
className: (0, _classify.default)(iconProps.className, classNames?.icon),
|
|
26
27
|
color: _typography.TEXT_COLORS[semantic],
|
|
27
28
|
type: type
|
|
28
29
|
}))));
|
|
@@ -35,7 +35,12 @@ export const SemanticIcon = ({
|
|
|
35
35
|
classNames?.wrapper,
|
|
36
36
|
)}
|
|
37
37
|
>
|
|
38
|
-
<Icon
|
|
38
|
+
<Icon
|
|
39
|
+
{...iconProps}
|
|
40
|
+
className={classify(iconProps.className, classNames?.icon)}
|
|
41
|
+
color={TEXT_COLORS[semantic]}
|
|
42
|
+
type={type}
|
|
43
|
+
/>
|
|
39
44
|
</div>
|
|
40
45
|
)}
|
|
41
46
|
</>
|
|
@@ -17,98 +17,87 @@ const MENU_NAME_LIST = Object.freeze({
|
|
|
17
17
|
dashboard: {
|
|
18
18
|
title: 'Dashboard',
|
|
19
19
|
iconName: 'house',
|
|
20
|
-
iconType: 'duotone'
|
|
21
|
-
iconSwapOpacity: false
|
|
20
|
+
iconType: 'duotone'
|
|
22
21
|
},
|
|
23
22
|
engage: {
|
|
24
23
|
title: 'Engage',
|
|
25
24
|
iconName: 'bullseye-pointer',
|
|
26
|
-
iconType: 'duotone'
|
|
27
|
-
iconSwapOpacity: false
|
|
25
|
+
iconType: 'duotone'
|
|
28
26
|
},
|
|
29
27
|
trm: {
|
|
30
28
|
title: 'TRM',
|
|
31
29
|
iconName: 'screen-users',
|
|
32
|
-
iconType: 'duotone'
|
|
33
|
-
iconSwapOpacity: true
|
|
30
|
+
iconType: 'duotone'
|
|
34
31
|
},
|
|
35
32
|
analytics: {
|
|
36
33
|
title: 'Analytics',
|
|
37
34
|
iconName: 'chart-column',
|
|
38
|
-
iconType: 'duotone'
|
|
39
|
-
iconSwapOpacity: true
|
|
35
|
+
iconType: 'duotone'
|
|
40
36
|
},
|
|
41
37
|
messaging: {
|
|
42
38
|
title: 'Messaging',
|
|
43
39
|
iconName: 'messages',
|
|
44
|
-
iconType: 'duotone'
|
|
45
|
-
iconSwapOpacity: true
|
|
40
|
+
iconType: 'duotone'
|
|
46
41
|
},
|
|
47
42
|
chatbot: {
|
|
48
43
|
title: 'Chatbot',
|
|
49
44
|
iconName: 'message-bot',
|
|
50
|
-
iconType: 'duotone'
|
|
51
|
-
iconSwapOpacity: true
|
|
45
|
+
iconType: 'duotone'
|
|
52
46
|
},
|
|
53
47
|
referrals: {
|
|
54
48
|
title: 'Referrals',
|
|
55
49
|
iconName: 'user-check',
|
|
56
|
-
iconType: 'duotone'
|
|
57
|
-
iconSwapOpacity: true
|
|
50
|
+
iconType: 'duotone'
|
|
58
51
|
},
|
|
59
52
|
records: {
|
|
60
53
|
title: 'Records',
|
|
61
54
|
iconName: 'folder-open',
|
|
62
|
-
iconType: 'duotone'
|
|
63
|
-
iconSwapOpacity: true
|
|
55
|
+
iconType: 'duotone'
|
|
64
56
|
},
|
|
65
57
|
bulkCleanup: {
|
|
66
58
|
title: 'Bulk Cleanup',
|
|
67
59
|
iconName: 'retweet',
|
|
68
|
-
iconType: 'duotone'
|
|
69
|
-
iconSwapOpacity: true
|
|
60
|
+
iconType: 'duotone'
|
|
70
61
|
},
|
|
71
62
|
support: {
|
|
72
63
|
title: 'Support',
|
|
73
64
|
iconName: 'headset',
|
|
74
|
-
iconType: 'duotone'
|
|
75
|
-
iconSwapOpacity: true
|
|
65
|
+
iconType: 'duotone'
|
|
76
66
|
},
|
|
77
67
|
audit: {
|
|
78
68
|
title: 'Audit',
|
|
79
69
|
iconName: 'print-magnifying-glass',
|
|
80
|
-
iconType: 'duotone'
|
|
81
|
-
iconSwapOpacity: true
|
|
70
|
+
iconType: 'duotone'
|
|
82
71
|
},
|
|
83
72
|
timeline: {
|
|
84
73
|
title: 'Timeline',
|
|
85
74
|
iconName: 'timeline',
|
|
86
|
-
iconType: 'duotone'
|
|
87
|
-
iconSwapOpacity: true
|
|
75
|
+
iconType: 'duotone'
|
|
88
76
|
},
|
|
89
77
|
people: {
|
|
90
78
|
title: 'People',
|
|
91
79
|
iconName: 'people-group',
|
|
92
|
-
iconType: 'duotone'
|
|
93
|
-
iconSwapOpacity: true
|
|
80
|
+
iconType: 'duotone'
|
|
94
81
|
},
|
|
95
82
|
contacts: {
|
|
96
83
|
title: 'Contacts',
|
|
97
84
|
iconName: 'address-card',
|
|
98
|
-
iconType: 'duotone'
|
|
99
|
-
iconSwapOpacity: true
|
|
85
|
+
iconType: 'duotone'
|
|
100
86
|
},
|
|
101
87
|
contacts2: {
|
|
102
88
|
title: 'Contacts',
|
|
103
89
|
iconName: 'calendars',
|
|
104
|
-
iconType: 'duotone'
|
|
105
|
-
iconSwapOpacity: true
|
|
90
|
+
iconType: 'duotone'
|
|
106
91
|
},
|
|
107
92
|
contacts3: {
|
|
108
93
|
title: 'Contacts',
|
|
109
94
|
iconName: 'browser',
|
|
110
|
-
iconType: 'duotone'
|
|
111
|
-
|
|
95
|
+
iconType: 'duotone'
|
|
96
|
+
},
|
|
97
|
+
senseai: {
|
|
98
|
+
title: 'AI Copilot',
|
|
99
|
+
iconName: 'sparkles',
|
|
100
|
+
iconType: 'duotone'
|
|
112
101
|
}
|
|
113
102
|
});
|
|
114
103
|
exports.MENU_NAME_LIST = MENU_NAME_LIST;
|
|
@@ -122,8 +111,8 @@ const SideMenuLink = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
122
111
|
onChange
|
|
123
112
|
} = _ref;
|
|
124
113
|
const selected = selectedValue === pageNameKey;
|
|
125
|
-
const onChangeHandler =
|
|
126
|
-
onChange && onChange(pageNameKey);
|
|
114
|
+
const onChangeHandler = e => {
|
|
115
|
+
onChange && onChange(e, pageNameKey);
|
|
127
116
|
};
|
|
128
117
|
return /*#__PURE__*/React.createElement("div", {
|
|
129
118
|
className: (0, _classify.default)(_SideMenuLinkModule.default.linkWrapper, {
|
|
@@ -14,97 +14,86 @@ export const MENU_NAME_LIST = Object.freeze({
|
|
|
14
14
|
title: 'Dashboard',
|
|
15
15
|
iconName: 'house',
|
|
16
16
|
iconType: 'duotone',
|
|
17
|
-
iconSwapOpacity: false,
|
|
18
17
|
},
|
|
19
18
|
engage: {
|
|
20
19
|
title: 'Engage',
|
|
21
20
|
iconName: 'bullseye-pointer',
|
|
22
21
|
iconType: 'duotone',
|
|
23
|
-
iconSwapOpacity: false,
|
|
24
22
|
},
|
|
25
23
|
trm: {
|
|
26
24
|
title: 'TRM',
|
|
27
25
|
iconName: 'screen-users',
|
|
28
26
|
iconType: 'duotone',
|
|
29
|
-
iconSwapOpacity: true,
|
|
30
27
|
},
|
|
31
28
|
analytics: {
|
|
32
29
|
title: 'Analytics',
|
|
33
30
|
iconName: 'chart-column',
|
|
34
31
|
iconType: 'duotone',
|
|
35
|
-
iconSwapOpacity: true,
|
|
36
32
|
},
|
|
37
33
|
messaging: {
|
|
38
34
|
title: 'Messaging',
|
|
39
35
|
iconName: 'messages',
|
|
40
36
|
iconType: 'duotone',
|
|
41
|
-
iconSwapOpacity: true,
|
|
42
37
|
},
|
|
43
38
|
chatbot: {
|
|
44
39
|
title: 'Chatbot',
|
|
45
40
|
iconName: 'message-bot',
|
|
46
41
|
iconType: 'duotone',
|
|
47
|
-
iconSwapOpacity: true,
|
|
48
42
|
},
|
|
49
43
|
referrals: {
|
|
50
44
|
title: 'Referrals',
|
|
51
45
|
iconName: 'user-check',
|
|
52
46
|
iconType: 'duotone',
|
|
53
|
-
iconSwapOpacity: true,
|
|
54
47
|
},
|
|
55
48
|
records: {
|
|
56
49
|
title: 'Records',
|
|
57
50
|
iconName: 'folder-open',
|
|
58
51
|
iconType: 'duotone',
|
|
59
|
-
iconSwapOpacity: true,
|
|
60
52
|
},
|
|
61
53
|
bulkCleanup: {
|
|
62
54
|
title: 'Bulk Cleanup',
|
|
63
55
|
iconName: 'retweet',
|
|
64
56
|
iconType: 'duotone',
|
|
65
|
-
iconSwapOpacity: true,
|
|
66
57
|
},
|
|
67
58
|
support: {
|
|
68
59
|
title: 'Support',
|
|
69
60
|
iconName: 'headset',
|
|
70
61
|
iconType: 'duotone',
|
|
71
|
-
iconSwapOpacity: true,
|
|
72
62
|
},
|
|
73
63
|
audit: {
|
|
74
64
|
title: 'Audit',
|
|
75
65
|
iconName: 'print-magnifying-glass',
|
|
76
66
|
iconType: 'duotone',
|
|
77
|
-
iconSwapOpacity: true,
|
|
78
67
|
},
|
|
79
68
|
timeline: {
|
|
80
69
|
title: 'Timeline',
|
|
81
70
|
iconName: 'timeline',
|
|
82
71
|
iconType: 'duotone',
|
|
83
|
-
iconSwapOpacity: true,
|
|
84
72
|
},
|
|
85
73
|
people: {
|
|
86
74
|
title: 'People',
|
|
87
75
|
iconName: 'people-group',
|
|
88
76
|
iconType: 'duotone',
|
|
89
|
-
iconSwapOpacity: true,
|
|
90
77
|
},
|
|
91
78
|
contacts: {
|
|
92
79
|
title: 'Contacts',
|
|
93
80
|
iconName: 'address-card',
|
|
94
81
|
iconType: 'duotone',
|
|
95
|
-
iconSwapOpacity: true,
|
|
96
82
|
},
|
|
97
83
|
contacts2: {
|
|
98
84
|
title: 'Contacts',
|
|
99
85
|
iconName: 'calendars',
|
|
100
86
|
iconType: 'duotone',
|
|
101
|
-
iconSwapOpacity: true,
|
|
102
87
|
},
|
|
103
88
|
contacts3: {
|
|
104
89
|
title: 'Contacts',
|
|
105
90
|
iconName: 'browser',
|
|
106
91
|
iconType: 'duotone',
|
|
107
|
-
|
|
92
|
+
},
|
|
93
|
+
senseai: {
|
|
94
|
+
title: 'AI Copilot',
|
|
95
|
+
iconName: 'sparkles',
|
|
96
|
+
iconType: 'duotone',
|
|
108
97
|
},
|
|
109
98
|
});
|
|
110
99
|
|
|
@@ -118,7 +107,7 @@ export type SideMenuLinkProps = {
|
|
|
118
107
|
hovered?: boolean,
|
|
119
108
|
selectedValue?: string,
|
|
120
109
|
opened?: boolean,
|
|
121
|
-
onChange?: (newValue: string) => mixed,
|
|
110
|
+
onChange?: (e: SyntheticEvent<HTMLElement>, newValue: string) => mixed,
|
|
122
111
|
};
|
|
123
112
|
|
|
124
113
|
export const SideMenuLink: React$AbstractComponent<
|
|
@@ -137,8 +126,8 @@ export const SideMenuLink: React$AbstractComponent<
|
|
|
137
126
|
ref,
|
|
138
127
|
): React.Node => {
|
|
139
128
|
const selected = selectedValue === pageNameKey;
|
|
140
|
-
const onChangeHandler = () => {
|
|
141
|
-
onChange && onChange(pageNameKey);
|
|
129
|
+
const onChangeHandler = (e: SyntheticEvent<HTMLElement>) => {
|
|
130
|
+
onChange && onChange(e, pageNameKey);
|
|
142
131
|
};
|
|
143
132
|
return (
|
|
144
133
|
<div
|