@innovaccer/design-system 2.28.0 → 2.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/dist/.lib/tsconfig.type.tsbuildinfo +3 -3
- package/dist/core/utils/navigationHelper.d.ts +6 -0
- package/dist/index.esm.js +47 -8
- package/dist/index.js +38 -8
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.br +0 -0
- package/dist/index.umd.js.gz +0 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,39 @@
|
|
|
1
|
+
## 2.28.1 (2024-02-19)
|
|
2
|
+
|
|
3
|
+
### Highlights
|
|
4
|
+
|
|
5
|
+
- feat(verticalNav): add expanded state in menu items (84635a2e)
|
|
6
|
+
|
|
7
|
+
### Breaking changes
|
|
8
|
+
|
|
9
|
+
NA
|
|
10
|
+
|
|
11
|
+
### Migration guide
|
|
12
|
+
|
|
13
|
+
NA
|
|
14
|
+
|
|
15
|
+
### Deprecations
|
|
16
|
+
|
|
17
|
+
NA
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
|
|
21
|
+
- feat(verticalNav): add expanded state in menu items (84635a2e)
|
|
22
|
+
|
|
23
|
+
### Fixes
|
|
24
|
+
|
|
25
|
+
NA
|
|
26
|
+
|
|
27
|
+
### Improvements
|
|
28
|
+
|
|
29
|
+
- fix(selection-card): update spacing between selection cards and action cards in story (f9580def)
|
|
30
|
+
|
|
31
|
+
### Documentation
|
|
32
|
+
|
|
33
|
+
- docs(docs): update images and spacing documentation between interactive cards (f45c8873)
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
1
37
|
## 2.28.0 (2024-02-09)
|
|
2
38
|
|
|
3
39
|
### Highlights
|
|
@@ -742,8 +742,8 @@
|
|
|
742
742
|
"affectsGlobalScope": false
|
|
743
743
|
},
|
|
744
744
|
"../../core/utils/navigationHelper.tsx": {
|
|
745
|
-
"version": "
|
|
746
|
-
"signature": "
|
|
745
|
+
"version": "714b964d2364d5db4398249ccaa3ddfe3f39fca2b470707529eacdccedb1d577",
|
|
746
|
+
"signature": "2e3da2aacaddd7bb64ecb9e7b7b9da839b3771ce64fb6e2c5c49111bc4c5901d",
|
|
747
747
|
"affectsGlobalScope": false
|
|
748
748
|
},
|
|
749
749
|
"../../core/components/organisms/verticalNav/MenuItem.tsx": {
|
|
@@ -752,7 +752,7 @@
|
|
|
752
752
|
"affectsGlobalScope": false
|
|
753
753
|
},
|
|
754
754
|
"../../core/components/organisms/verticalNav/VerticalNav.tsx": {
|
|
755
|
-
"version": "
|
|
755
|
+
"version": "7311d817228228ec6fa49fdd2af55dee35f57927e71d2a533b99d00a5d0ff52b",
|
|
756
756
|
"signature": "b6a81d40026ba8bd3a2cbf23c794ebad04a3cd7ae697b1a3fcbca6f0cb11ad7f",
|
|
757
757
|
"affectsGlobalScope": false
|
|
758
758
|
},
|
|
@@ -9,6 +9,7 @@ export declare type Menu = {
|
|
|
9
9
|
disabled?: boolean;
|
|
10
10
|
subMenu?: Menu[];
|
|
11
11
|
iconType?: IconType;
|
|
12
|
+
expanded?: boolean;
|
|
12
13
|
};
|
|
13
14
|
export declare type ActiveMenu = ({
|
|
14
15
|
name: string;
|
|
@@ -19,6 +20,11 @@ export declare const getTextAppearance: (isActive: boolean, disabled?: boolean |
|
|
|
19
20
|
export declare const getIconAppearance: (isActive: boolean, disabled?: boolean | undefined) => "default" | "disabled" | "primary_dark";
|
|
20
21
|
export declare const getPillsAppearance: (isActive: boolean) => "secondary" | "primary";
|
|
21
22
|
export declare const getMenu: (menus: Menu[], active: ActiveMenu) => Menu | null;
|
|
23
|
+
export declare const getExpandedMenus: (menus: Menu[], active?: ({
|
|
24
|
+
name: string;
|
|
25
|
+
} & Partial<Menu>) | ({
|
|
26
|
+
link: string;
|
|
27
|
+
} & Partial<Menu>) | undefined) => Record<string, boolean>;
|
|
22
28
|
export declare const isMenuActive: (menus: Menu[], menu: Menu, active?: ({
|
|
23
29
|
name: string;
|
|
24
30
|
} & Partial<Menu>) | ({
|
package/dist/index.esm.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
/**
|
|
3
|
-
* Generated on:
|
|
3
|
+
* Generated on: 1708350879254
|
|
4
4
|
* Package: @innovaccer/design-system
|
|
5
|
-
* Version: v2.28.
|
|
5
|
+
* Version: v2.28.1
|
|
6
6
|
* License: MIT
|
|
7
7
|
* Docs: https://innovaccer.github.io/design-system
|
|
8
8
|
*/
|
|
@@ -14313,6 +14313,31 @@ var getMenu = function getMenu(menus, active) {
|
|
|
14313
14313
|
|
|
14314
14314
|
return null;
|
|
14315
14315
|
};
|
|
14316
|
+
var getExpandedMenus = function getExpandedMenus(menus, active) {
|
|
14317
|
+
var expandedMenus = {};
|
|
14318
|
+
var activeMenu = active ? getMenu(menus, active) : null;
|
|
14319
|
+
|
|
14320
|
+
var _iterator2 = _createForOfIteratorHelper(menus),
|
|
14321
|
+
_step2;
|
|
14322
|
+
|
|
14323
|
+
try {
|
|
14324
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
14325
|
+
var menu = _step2.value;
|
|
14326
|
+
// Determine if the current menu is active or should be expanded by default
|
|
14327
|
+
var isActiveOrExpanded = (activeMenu === null || activeMenu === void 0 ? void 0 : activeMenu.name.split('.')[0]) === menu.name || menu.expanded;
|
|
14328
|
+
|
|
14329
|
+
if (menu.subMenu) {
|
|
14330
|
+
expandedMenus[menu.name] = !!isActiveOrExpanded;
|
|
14331
|
+
}
|
|
14332
|
+
}
|
|
14333
|
+
} catch (err) {
|
|
14334
|
+
_iterator2.e(err);
|
|
14335
|
+
} finally {
|
|
14336
|
+
_iterator2.f();
|
|
14337
|
+
}
|
|
14338
|
+
|
|
14339
|
+
return expandedMenus;
|
|
14340
|
+
};
|
|
14316
14341
|
var isMenuActive = function isMenuActive(menus, menu, active) {
|
|
14317
14342
|
if (active) {
|
|
14318
14343
|
var currActiveMenu = getMenu(menus, active);
|
|
@@ -14466,8 +14491,13 @@ var VerticalNav = function VerticalNav(props) {
|
|
|
14466
14491
|
|
|
14467
14492
|
var _React$useState = React.useState({}),
|
|
14468
14493
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
14469
|
-
|
|
14470
|
-
|
|
14494
|
+
subMenuExpandedState = _React$useState2[0],
|
|
14495
|
+
setSubMenuExpandedState = _React$useState2[1];
|
|
14496
|
+
|
|
14497
|
+
var _React$useState3 = React.useState({}),
|
|
14498
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
14499
|
+
menuState = _React$useState4[0],
|
|
14500
|
+
setMenuState = _React$useState4[1];
|
|
14471
14501
|
|
|
14472
14502
|
var baseProps = extractBaseProps(props);
|
|
14473
14503
|
React.useEffect(function () {
|
|
@@ -14476,6 +14506,10 @@ var VerticalNav = function VerticalNav(props) {
|
|
|
14476
14506
|
if (currMenu) updateMenuState(currMenu, true);
|
|
14477
14507
|
}
|
|
14478
14508
|
}, [props.active]);
|
|
14509
|
+
React.useEffect(function () {
|
|
14510
|
+
var expandedMenus = getExpandedMenus(menus, active);
|
|
14511
|
+
setSubMenuExpandedState(expandedMenus);
|
|
14512
|
+
}, []);
|
|
14479
14513
|
|
|
14480
14514
|
var updateMenuState = function updateMenuState(menu, val) {
|
|
14481
14515
|
var currMenu = getMenu(menus, menu);
|
|
@@ -14507,7 +14541,12 @@ var VerticalNav = function VerticalNav(props) {
|
|
|
14507
14541
|
if (!expanded) {
|
|
14508
14542
|
if (onClick) onClick(menu.subMenu[0]);
|
|
14509
14543
|
} else {
|
|
14510
|
-
|
|
14544
|
+
if (!subMenuExpandedState[menu.name]) {
|
|
14545
|
+
updateMenuState(menu);
|
|
14546
|
+
}
|
|
14547
|
+
|
|
14548
|
+
setMenuState(_objectSpread2(_objectSpread2({}, menuState), {}, _defineProperty$1({}, menu.name, false)));
|
|
14549
|
+
setSubMenuExpandedState(_objectSpread2(_objectSpread2({}, subMenuExpandedState), {}, _defineProperty$1({}, menu.name, !subMenuExpandedState[menu.name])));
|
|
14511
14550
|
}
|
|
14512
14551
|
} else {
|
|
14513
14552
|
if (onClick) onClick(menu);
|
|
@@ -14520,7 +14559,7 @@ var VerticalNav = function VerticalNav(props) {
|
|
|
14520
14559
|
|
|
14521
14560
|
var isActive = !menuState[menu.name] && isMenuActive(menus, menu, active);
|
|
14522
14561
|
var hasSubmenu = menu.subMenu && menu.subMenu.length > 0;
|
|
14523
|
-
var isChildrenVisible = hasSubmenu && menuState[menu.name];
|
|
14562
|
+
var isChildrenVisible = hasSubmenu && (menuState[menu.name] || subMenuExpandedState[menu.name]);
|
|
14524
14563
|
var hasGroup = index === 0 || menus[index - 1].group !== menu.group;
|
|
14525
14564
|
var sectionClass = classnames((_classNames = {}, _defineProperty$1(_classNames, 'VerticalNav-section', true), _defineProperty$1(_classNames, 'VerticalNav-section--border', index !== 0), _classNames));
|
|
14526
14565
|
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
@@ -14557,7 +14596,7 @@ var VerticalNav = function VerticalNav(props) {
|
|
|
14557
14596
|
isChildrenVisible: isChildrenVisible,
|
|
14558
14597
|
onClick: onClickHandler,
|
|
14559
14598
|
customItemRenderer: customItemRenderer
|
|
14560
|
-
}),
|
|
14599
|
+
}), isChildrenVisible && menu.subMenu.map(function (subMenu, id) {
|
|
14561
14600
|
return showTooltip ? /*#__PURE__*/React.createElement(Tooltip, {
|
|
14562
14601
|
tooltip: subMenu.label,
|
|
14563
14602
|
position: "right"
|
|
@@ -23552,6 +23591,6 @@ var TextField = function TextField(props) {
|
|
|
23552
23591
|
};
|
|
23553
23592
|
TextField.displayName = 'TextField';
|
|
23554
23593
|
|
|
23555
|
-
var version = "2.28.
|
|
23594
|
+
var version = "2.28.1";
|
|
23556
23595
|
|
|
23557
23596
|
export { ActionCard, Avatar, AvatarGroup, Backdrop, Badge, Breadcrumbs, Button, Calendar, Caption, Card, CardBody, CardFooter, CardHeader, CardSubdued, ChatMessage, Checkbox, Chip, ChipGroup, ChipInput, ChoiceList, Collapsible, Column, DatePicker, DateRangePicker, Dialog, Divider, Dropdown, Dropzone, EditableChipInput, EditableDropdown, EditableInput, EmptyState, FileList, FileUploader, FileUploaderList, FullscreenModal, Grid, GridCell, Heading, HelpText, HorizontalNav, Icon, InlineMessage, Input, X as InputMask, Label, Legend, Link, LinkButton, List, Listbox, Message, MetaList, MetricInput, Modal, ModalBody, ModalDescription, ModalFooter, ModalHeader, MultiSlider, Navigation, OutsideClick, PageHeader, Pagination, Paragraph, Pills, Placeholder, PlaceholderImage, PlaceholderParagraph, Popover, ProgressBar, ProgressRing, Radio, RangeSlider, Row, SelectionCard, Sidesheet, Slider, Spinner, StatusHint, Stepper, Subheading, Switch, Tab, Table, Tabs, TabsWrapper, Text, TextField, Textarea, TimePicker, Toast, Tooltip, index as Utils, VerificationCodeInput, VerticalNav, version };
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
/**
|
|
3
|
-
* Generated on:
|
|
3
|
+
* Generated on: 1708350879498
|
|
4
4
|
* Package: @innovaccer/design-system
|
|
5
|
-
* Version: v2.28.
|
|
5
|
+
* Version: v2.28.1
|
|
6
6
|
* License: MIT
|
|
7
7
|
* Docs: https://innovaccer.github.io/design-system
|
|
8
8
|
*/
|
|
@@ -8969,6 +8969,21 @@
|
|
|
8969
8969
|
|
|
8970
8970
|
return null;
|
|
8971
8971
|
};
|
|
8972
|
+
var getExpandedMenus = function getExpandedMenus(menus, active) {
|
|
8973
|
+
var expandedMenus = {};
|
|
8974
|
+
var activeMenu = active ? getMenu(menus, active) : null;
|
|
8975
|
+
|
|
8976
|
+
for (var _i = 0, menus_2 = menus; _i < menus_2.length; _i++) {
|
|
8977
|
+
var menu = menus_2[_i];
|
|
8978
|
+
var isActiveOrExpanded = (activeMenu === null || activeMenu === void 0 ? void 0 : activeMenu.name.split('.')[0]) === menu.name || menu.expanded;
|
|
8979
|
+
|
|
8980
|
+
if (menu.subMenu) {
|
|
8981
|
+
expandedMenus[menu.name] = !!isActiveOrExpanded;
|
|
8982
|
+
}
|
|
8983
|
+
}
|
|
8984
|
+
|
|
8985
|
+
return expandedMenus;
|
|
8986
|
+
};
|
|
8972
8987
|
var isMenuActive = function isMenuActive(menus, menu, active) {
|
|
8973
8988
|
if (active) {
|
|
8974
8989
|
var currActiveMenu = getMenu(menus, active);
|
|
@@ -9116,8 +9131,12 @@
|
|
|
9116
9131
|
showTooltip = props.showTooltip;
|
|
9117
9132
|
|
|
9118
9133
|
var _b = React__namespace.useState({}),
|
|
9119
|
-
|
|
9120
|
-
|
|
9134
|
+
subMenuExpandedState = _b[0],
|
|
9135
|
+
setSubMenuExpandedState = _b[1];
|
|
9136
|
+
|
|
9137
|
+
var _c = React__namespace.useState({}),
|
|
9138
|
+
menuState = _c[0],
|
|
9139
|
+
setMenuState = _c[1];
|
|
9121
9140
|
|
|
9122
9141
|
var baseProps = extractBaseProps(props);
|
|
9123
9142
|
React__namespace.useEffect(function () {
|
|
@@ -9126,6 +9145,10 @@
|
|
|
9126
9145
|
if (currMenu) updateMenuState(currMenu, true);
|
|
9127
9146
|
}
|
|
9128
9147
|
}, [props.active]);
|
|
9148
|
+
React__namespace.useEffect(function () {
|
|
9149
|
+
var expandedMenus = getExpandedMenus(menus, active);
|
|
9150
|
+
setSubMenuExpandedState(expandedMenus);
|
|
9151
|
+
}, []);
|
|
9129
9152
|
|
|
9130
9153
|
var updateMenuState = function updateMenuState(menu, val) {
|
|
9131
9154
|
var _a;
|
|
@@ -9155,11 +9178,18 @@
|
|
|
9155
9178
|
};
|
|
9156
9179
|
|
|
9157
9180
|
var onClickHandler = function onClickHandler(menu) {
|
|
9181
|
+
var _a, _b;
|
|
9182
|
+
|
|
9158
9183
|
if (menu.subMenu) {
|
|
9159
9184
|
if (!expanded) {
|
|
9160
9185
|
if (onClick) onClick(menu.subMenu[0]);
|
|
9161
9186
|
} else {
|
|
9162
|
-
|
|
9187
|
+
if (!subMenuExpandedState[menu.name]) {
|
|
9188
|
+
updateMenuState(menu);
|
|
9189
|
+
}
|
|
9190
|
+
|
|
9191
|
+
setMenuState(__assign(__assign({}, menuState), (_a = {}, _a[menu.name] = false, _a)));
|
|
9192
|
+
setSubMenuExpandedState(__assign(__assign({}, subMenuExpandedState), (_b = {}, _b[menu.name] = !subMenuExpandedState[menu.name], _b)));
|
|
9163
9193
|
}
|
|
9164
9194
|
} else {
|
|
9165
9195
|
if (onClick) onClick(menu);
|
|
@@ -9172,7 +9202,7 @@
|
|
|
9172
9202
|
|
|
9173
9203
|
var isActive = !menuState[menu.name] && isMenuActive(menus, menu, active);
|
|
9174
9204
|
var hasSubmenu = menu.subMenu && menu.subMenu.length > 0;
|
|
9175
|
-
var isChildrenVisible = hasSubmenu && menuState[menu.name];
|
|
9205
|
+
var isChildrenVisible = hasSubmenu && (menuState[menu.name] || subMenuExpandedState[menu.name]);
|
|
9176
9206
|
var hasGroup = index === 0 || menus[index - 1].group !== menu.group;
|
|
9177
9207
|
var sectionClass = classNames__default["default"]((_a = {}, _a['VerticalNav-section'] = true, _a['VerticalNav-section--border'] = index !== 0, _a));
|
|
9178
9208
|
return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, {
|
|
@@ -9209,7 +9239,7 @@
|
|
|
9209
9239
|
isChildrenVisible: isChildrenVisible,
|
|
9210
9240
|
onClick: onClickHandler,
|
|
9211
9241
|
customItemRenderer: customItemRenderer
|
|
9212
|
-
}),
|
|
9242
|
+
}), isChildrenVisible && menu.subMenu.map(function (subMenu, id) {
|
|
9213
9243
|
return showTooltip ? /*#__PURE__*/React__namespace.createElement(Tooltip, {
|
|
9214
9244
|
tooltip: subMenu.label,
|
|
9215
9245
|
position: "right"
|
|
@@ -17794,7 +17824,7 @@
|
|
|
17794
17824
|
};
|
|
17795
17825
|
TextField.displayName = 'TextField';
|
|
17796
17826
|
|
|
17797
|
-
var version = "2.28.
|
|
17827
|
+
var version = "2.28.1";
|
|
17798
17828
|
|
|
17799
17829
|
exports.ActionCard = ActionCard;
|
|
17800
17830
|
exports.Avatar = Avatar;
|