@digital-ai/dot-components 1.4.0 → 1.5.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 (29) hide show
  1. package/CHANGE_LOG.md +24 -3
  2. package/dot-components.esm.js +452 -265
  3. package/dot-components.umd.js +466 -281
  4. package/lib/components/BaseButtonProps.d.ts +2 -2
  5. package/lib/components/auto-complete/AutoComplete.d.ts +3 -3
  6. package/lib/components/avatar/Avatar.d.ts +2 -2
  7. package/lib/components/breadcrumbs/Breadcrumbs.data.d.ts +2 -0
  8. package/lib/components/breadcrumbs/Breadcrumbs.styles.d.ts +2 -0
  9. package/lib/components/breadcrumbs/utils/helpers.d.ts +19 -0
  10. package/lib/components/breadcrumbs/utils/useBreadcrumbsObserver.d.ts +11 -0
  11. package/lib/components/breadcrumbs/utils/useBreadcrumbsResizer.d.ts +16 -0
  12. package/lib/components/button/IconButton.d.ts +2 -2
  13. package/lib/components/button-toggle/ButtonToggle.d.ts +2 -2
  14. package/lib/components/chip/Chip.d.ts +4 -4
  15. package/lib/components/css-grid/CssCell.d.ts +5 -5
  16. package/lib/components/css-grid/CssGrid.d.ts +4 -4
  17. package/lib/components/drawer/Drawer.d.ts +4 -4
  18. package/lib/components/dynamic-form/models.d.ts +8 -8
  19. package/lib/components/index.d.ts +1 -0
  20. package/lib/components/list/List.d.ts +1 -1
  21. package/lib/components/menu/Menu.d.ts +4 -4
  22. package/lib/components/radio/RadioButton.d.ts +2 -2
  23. package/lib/components/sidebar/Sidebar.d.ts +2 -2
  24. package/lib/components/table/Table.d.ts +6 -6
  25. package/lib/components/table/TableCell.d.ts +1 -1
  26. package/lib/components/table/TableDataWithPagination.d.ts +4 -4
  27. package/lib/components/table/TableHeader.d.ts +2 -2
  28. package/lib/testing-utils/resize-observer-mock.d.ts +1 -0
  29. package/package.json +1 -1
@@ -217,33 +217,31 @@
217
217
  className = _a.className,
218
218
  _b = _a["data-testid"],
219
219
  dataTestId = _b === void 0 ? 'dot-accordion' : _b,
220
- _c = _a.defaultExpanded,
221
- defaultExpanded = _c === void 0 ? null : _c,
222
- _d = _a.disabled,
223
- disabled = _d === void 0 ? false : _d,
224
- _e = _a.expanded,
225
- expanded = _e === void 0 ? null : _e,
226
- _f = _a.hasElevation,
227
- hasElevation = _f === void 0 ? false : _f,
220
+ defaultExpanded = _a.defaultExpanded,
221
+ _c = _a.disabled,
222
+ disabled = _c === void 0 ? false : _c,
223
+ expanded = _a.expanded,
224
+ _d = _a.hasElevation,
225
+ hasElevation = _d === void 0 ? false : _d,
228
226
  onChange = _a.onChange,
229
- _g = _a.square,
230
- square = _g === void 0 ? false : _g,
227
+ _e = _a.square,
228
+ square = _e === void 0 ? false : _e,
231
229
  startIcon = _a.startIcon,
232
230
  summary = _a.summary,
233
- _h = _a.noWrap,
234
- noWrap = _h === void 0 ? true : _h;
231
+ _f = _a.noWrap,
232
+ noWrap = _f === void 0 ? true : _f;
235
233
  var rootClasses = useStylesWithRootClass(rootClassName$H, className);
236
234
 
237
- var _j = React.useState(),
238
- elevation = _j[0],
239
- setElevation = _j[1];
235
+ var _g = React.useState(),
236
+ elevation = _g[0],
237
+ setElevation = _g[1];
240
238
 
241
239
  React.useEffect(function () {
242
- if (defaultExpanded !== null) {
240
+ if (defaultExpanded !== undefined) {
243
241
  console.warn('The use of `defaultExpanded` is deprecated and will be removed in the next major release, please use `expanded` instead.');
244
242
  }
245
243
 
246
- if (onChange && expanded === null) {
244
+ if (onChange && expanded === undefined) {
247
245
  console.warn('The use of an `onChange` callback makes this a controlled component but no `expanded` state has been provided. In effect, this makes the component disabled.');
248
246
  }
249
247
  }, []);
@@ -252,8 +250,8 @@
252
250
  }, [hasElevation]);
253
251
  var dftExpanded = defaultExpanded;
254
252
 
255
- if (dftExpanded === null) {
256
- dftExpanded = expanded === null ? false : expanded;
253
+ if (dftExpanded === undefined) {
254
+ dftExpanded = expanded === undefined ? false : expanded;
257
255
  }
258
256
 
259
257
  return /*#__PURE__*/React__default["default"].createElement(StyledAccordion, {
@@ -262,8 +260,8 @@
262
260
  "data-testid": dataTestId,
263
261
  defaultExpanded: dftExpanded,
264
262
  disabled: disabled,
265
- expanded: onChange ? expanded : null,
266
263
  elevation: elevation,
264
+ expanded: onChange ? expanded : undefined,
267
265
  onChange: onChange,
268
266
  square: square
269
267
  }, /*#__PURE__*/React__default["default"].createElement(core.AccordionSummary, {
@@ -273,8 +271,8 @@
273
271
  iconId: "chevron-down"
274
272
  })
275
273
  }, startIcon, /*#__PURE__*/React__default["default"].createElement(DotTypography, {
276
- variant: "body1",
277
- noWrap: noWrap
274
+ noWrap: noWrap,
275
+ variant: "body1"
278
276
  }, /*#__PURE__*/React__default["default"].createElement(DotTooltip, {
279
277
  title: noWrap ? summary : ''
280
278
  }, summary))), /*#__PURE__*/React__default["default"].createElement(core.AccordionDetails, {
@@ -638,8 +636,8 @@
638
636
  },
639
637
  color: color,
640
638
  "data-testid": dataTestId,
641
- disabled: disabled,
642
639
  disableRipple: disableRipple,
640
+ disabled: disabled,
643
641
  onClick: function onClick(event) {
644
642
  return _onClick && _onClick(event);
645
643
  },
@@ -703,8 +701,8 @@
703
701
  "data-testid": dataTestId,
704
702
  href: href,
705
703
  onClick: onClick,
706
- onMouseEnter: onMouseEnter,
707
704
  onKeyPress: handleKeyPress,
705
+ onMouseEnter: onMouseEnter,
708
706
  rel: rel,
709
707
  tabIndex: tabIndex,
710
708
  target: target,
@@ -1270,6 +1268,51 @@
1270
1268
  return colorOptions[numberFromValue % colorOptions.length];
1271
1269
  };
1272
1270
 
1271
+ var AvatarContent = function AvatarContent(_a) {
1272
+ var dataTestId = _a["data-testid"],
1273
+ iconId = _a.iconId,
1274
+ imageSrc = _a.imageSrc,
1275
+ size = _a.size,
1276
+ text = _a.text,
1277
+ type = _a.type;
1278
+
1279
+ var parsedText = function parsedText() {
1280
+ var textArray = text.split(' ');
1281
+
1282
+ if (textArray.length > 1) {
1283
+ var firstInitial = textArray[0].slice(0, 1);
1284
+ var secondInitial = textArray[1].slice(0, 1);
1285
+ return "" + firstInitial + secondInitial;
1286
+ } else {
1287
+ return text ? text.slice(0, 1) : '';
1288
+ }
1289
+ };
1290
+
1291
+ var getHeadingFromAvatarSize = function getHeadingFromAvatarSize() {
1292
+ return size === 'large' ? 'h1' : 'h3';
1293
+ };
1294
+
1295
+ var getIconFontSizeFromAvatarSize = function getIconFontSizeFromAvatarSize() {
1296
+ return size === 'small' ? size : 'medium';
1297
+ };
1298
+
1299
+ if (type === 'icon' || type === 'image' && !imageSrc) {
1300
+ return /*#__PURE__*/React__default["default"].createElement(DotIcon, {
1301
+ "data-testid": dataTestId + "-icon",
1302
+ fontSize: getIconFontSizeFromAvatarSize(),
1303
+ iconId: iconId || 'user'
1304
+ });
1305
+ }
1306
+
1307
+ if (type === 'text') {
1308
+ return /*#__PURE__*/React__default["default"].createElement(DotTypography, {
1309
+ variant: size === 'small' ? 'caption' : getHeadingFromAvatarSize()
1310
+ }, parsedText());
1311
+ }
1312
+
1313
+ return null;
1314
+ };
1315
+
1273
1316
  var DotAvatar = function DotAvatar(_a) {
1274
1317
  var alt = _a.alt,
1275
1318
  ariaLabel = _a.ariaLabel,
@@ -1299,52 +1342,33 @@
1299
1342
  return 'default';
1300
1343
  };
1301
1344
 
1302
- var parsedText = function parsedText() {
1303
- var textArray = text.split(' ');
1304
-
1305
- if (textArray.length > 1) {
1306
- var firstInitial = textArray[0].slice(0, 1);
1307
- var secondInitial = textArray[1].slice(0, 1);
1308
- return "" + firstInitial + secondInitial;
1309
- } else {
1310
- return text ? text.slice(0, 1) : '';
1311
- }
1312
- };
1313
-
1314
- var getHeadingFromAvatarSize = function getHeadingFromAvatarSize() {
1315
- return size === 'large' ? 'h1' : 'h3';
1316
- };
1317
-
1318
- var getIconFontSizeFromAvatarSize = function getIconFontSizeFromAvatarSize() {
1319
- return size === 'small' ? size : 'medium';
1320
- };
1321
-
1322
1345
  return /*#__PURE__*/React__default["default"].createElement(DotTooltip, {
1323
1346
  title: tooltip
1324
1347
  }, /*#__PURE__*/React__default["default"].createElement(StyledAvatar, {
1325
1348
  alt: alt,
1326
1349
  "aria-label": ariaLabel,
1327
1350
  className: size,
1328
- color: getAvatarColor(),
1329
- component: _onClick ? 'button' : component,
1330
1351
  classes: {
1331
1352
  root: rootClasses,
1332
1353
  img: 'dot-img'
1333
1354
  },
1355
+ color: getAvatarColor(),
1356
+ component: _onClick ? 'button' : component,
1334
1357
  "data-testid": dataTestId,
1335
1358
  onClick: function onClick(event) {
1336
1359
  return _onClick ? _onClick(event) : null;
1337
1360
  },
1338
1361
  src: type === 'image' ? imageSrc : null,
1339
- variant: variant,
1340
- style: style
1341
- }, type === 'icon' || type === 'image' && !imageSrc ? /*#__PURE__*/React__default["default"].createElement(DotIcon, {
1342
- "data-testid": dataTestId + "-icon",
1343
- iconId: iconId ? iconId : 'user',
1344
- fontSize: getIconFontSizeFromAvatarSize()
1345
- }) : type === 'text' ? /*#__PURE__*/React__default["default"].createElement(DotTypography, {
1346
- variant: size === 'small' ? 'caption' : getHeadingFromAvatarSize()
1347
- }, parsedText()) : null));
1362
+ style: style,
1363
+ variant: variant
1364
+ }, /*#__PURE__*/React__default["default"].createElement(AvatarContent, {
1365
+ "data-testid": dataTestId,
1366
+ iconId: iconId,
1367
+ imageSrc: imageSrc,
1368
+ text: text,
1369
+ type: type,
1370
+ size: size
1371
+ })));
1348
1372
  };
1349
1373
 
1350
1374
  var rootClassName$B = 'dot-drawer';
@@ -1381,16 +1405,16 @@
1381
1405
  width = _e === void 0 ? '256px' : _e;
1382
1406
  var rootClasses = useStylesWithRootClass(rootClassName$B, className);
1383
1407
  return /*#__PURE__*/React__default["default"].createElement(StyledDrawer, {
1384
- "aria-label": ariaLabel,
1385
- "data-testid": dataTestId,
1408
+ ModalProps: ModalProps,
1409
+ PaperProps: PaperProps,
1386
1410
  anchor: anchor,
1411
+ "aria-label": ariaLabel,
1387
1412
  classes: {
1388
1413
  root: rootClasses,
1389
1414
  paper: 'dot-drawer-paper'
1390
1415
  },
1416
+ "data-testid": dataTestId,
1391
1417
  height: height,
1392
- ModalProps: ModalProps,
1393
- PaperProps: PaperProps,
1394
1418
  onClose: function onClose(event) {
1395
1419
  return _onClose && _onClose(event);
1396
1420
  },
@@ -1581,10 +1605,10 @@
1581
1605
  return /*#__PURE__*/React__default["default"].createElement(core.MenuItem, {
1582
1606
  "aria-label": item.ariaLabel,
1583
1607
  className: "dot-li " + (item.classes ? item.classes : ''),
1608
+ key: index,
1584
1609
  onClick: function onClick(event) {
1585
1610
  return handleSelect(event, item.key);
1586
1611
  },
1587
- key: index,
1588
1612
  style: {
1589
1613
  height: calculateItemHeight()
1590
1614
  }
@@ -1604,11 +1628,11 @@
1604
1628
  var theme = _a.theme;
1605
1629
  return styled.css(templateObject_1$B || (templateObject_1$B = __makeTemplateObject(["\n &.", " {\n background: ", ";\n\n &.", " .", " {\n padding-left: ", "px;\n }\n\n .", " .dot-drawer-paper {\n z-index: ", ";\n }\n\n .MuiListSubheader-root {\n padding: 0;\n\n .MuiTypography-root {\n padding: ", "px;\n }\n }\n }\n "], ["\n &.", " {\n background: ", ";\n\n &.", " .", " {\n padding-left: ", "px;\n }\n\n .", " .dot-drawer-paper {\n z-index: ", ";\n }\n\n .MuiListSubheader-root {\n padding: 0;\n\n .MuiTypography-root {\n padding: ", "px;\n }\n }\n }\n "])), rootClassName$y, theme.palette.layer.n0, nestedListClassName, listItemRootClass, theme.spacing(4), nestedDrawerClassName, levelBottom, theme.spacing(1));
1606
1630
  });
1607
- var StyledListItem = styled__default["default"](core.ListItem)(templateObject_4$4 || (templateObject_4$4 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
1631
+ var StyledListItem = styled__default["default"](core.ListItem)(templateObject_4$5 || (templateObject_4$5 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
1608
1632
  var theme = _a.theme;
1609
- return styled.css(templateObject_3$7 || (templateObject_3$7 = __makeTemplateObject(["\n &.", " {\n &.", " {\n padding: 0;\n }\n\n p.MuiTypography-root {\n margin-bottom: 0;\n }\n\n .", " {\n align-items: center;\n display: flex;\n flex-grow: 2;\n }\n\n .", " .MuiIcon-root {\n margin-right: ", "px;\n }\n\n .dot-list-item-end-icon {\n min-width: auto;\n }\n\n .dot-icon i:before {\n color: ", ";\n }\n }\n "], ["\n &.", " {\n &.", " {\n padding: 0;\n }\n\n p.MuiTypography-root {\n margin-bottom: 0;\n }\n\n .", " {\n align-items: center;\n display: flex;\n flex-grow: 2;\n }\n\n .", " .MuiIcon-root {\n margin-right: ", "px;\n }\n\n .dot-list-item-end-icon {\n min-width: auto;\n }\n\n .dot-icon i:before {\n color: ", ";\n }\n }\n "])), listItemRootClass, flyoutListItemClassName, listItemLinkClassName, flyoutItemLinkClassName, theme.spacing(4), theme.palette.text.primary);
1633
+ return styled.css(templateObject_3$8 || (templateObject_3$8 = __makeTemplateObject(["\n &.", " {\n &.", " {\n padding: 0;\n }\n\n p.MuiTypography-root {\n margin-bottom: 0;\n }\n\n .", " {\n align-items: center;\n display: flex;\n flex-grow: 2;\n }\n\n .", " .MuiIcon-root {\n margin-right: ", "px;\n }\n\n .dot-list-item-end-icon {\n min-width: auto;\n }\n\n .dot-icon i:before {\n color: ", ";\n }\n }\n "], ["\n &.", " {\n &.", " {\n padding: 0;\n }\n\n p.MuiTypography-root {\n margin-bottom: 0;\n }\n\n .", " {\n align-items: center;\n display: flex;\n flex-grow: 2;\n }\n\n .", " .MuiIcon-root {\n margin-right: ", "px;\n }\n\n .dot-list-item-end-icon {\n min-width: auto;\n }\n\n .dot-icon i:before {\n color: ", ";\n }\n }\n "])), listItemRootClass, flyoutListItemClassName, listItemLinkClassName, flyoutItemLinkClassName, theme.spacing(4), theme.palette.text.primary);
1610
1634
  });
1611
- var templateObject_1$B, templateObject_2$z, templateObject_3$7, templateObject_4$4;
1635
+ var templateObject_1$B, templateObject_2$z, templateObject_3$8, templateObject_4$5;
1612
1636
 
1613
1637
  var CreateUUID = function CreateUUID() {
1614
1638
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
@@ -1668,8 +1692,8 @@
1668
1692
  component: href && !onClick ? 'a' : null,
1669
1693
  href: href,
1670
1694
  key: parentItemIndex + "-" + index,
1671
- target: target,
1672
- onClick: onClick
1695
+ onClick: onClick,
1696
+ target: target
1673
1697
  }, /*#__PURE__*/React__default["default"].createElement("span", {
1674
1698
  className: flyoutSpanClasses
1675
1699
  }, startIconId && startIcon, /*#__PURE__*/React__default["default"].createElement(DotTypography, {
@@ -1680,30 +1704,30 @@
1680
1704
  };
1681
1705
  });
1682
1706
  return /*#__PURE__*/React__default["default"].createElement(DotMenu, {
1683
- ariaLabel: ariaLabel,
1684
1707
  anchorEl: anchorEl,
1708
+ ariaLabel: ariaLabel,
1685
1709
  className: flyoutMenuClassName,
1686
1710
  id: CreateUUID(),
1711
+ key: parentItemIndex,
1687
1712
  menuItemHeight: "auto",
1688
1713
  menuItems: menuItems,
1689
1714
  menuPlacement: menuPlacement,
1690
1715
  onLeave: onMenuLeave,
1691
- open: open,
1692
- key: parentItemIndex
1716
+ open: open
1693
1717
  });
1694
1718
  }
1695
1719
 
1696
1720
  if (type === 'drawer') {
1697
1721
  return /*#__PURE__*/React__default["default"].createElement(DotDrawer, {
1698
- anchor: "left",
1699
- className: nestedDrawerClassName,
1700
- "data-testid": "nested-drawer",
1701
- open: open,
1702
1722
  PaperProps: {
1703
1723
  style: {
1704
1724
  left: nestedDrawerLeftSpacing + "px"
1705
1725
  }
1706
1726
  },
1727
+ anchor: "left",
1728
+ className: nestedDrawerClassName,
1729
+ "data-testid": "nested-drawer",
1730
+ open: open,
1707
1731
  variant: "persistent"
1708
1732
  }, /*#__PURE__*/React__default["default"].createElement(DotList, {
1709
1733
  ariaLabel: ariaLabel,
@@ -1796,8 +1820,8 @@
1796
1820
 
1797
1821
  if (item.divider) {
1798
1822
  return /*#__PURE__*/React__default["default"].createElement(DotListDivider, {
1799
- item: item,
1800
1823
  index: index,
1824
+ item: item,
1801
1825
  key: "divider-" + index
1802
1826
  });
1803
1827
  }
@@ -1810,12 +1834,12 @@
1810
1834
  href: item.href,
1811
1835
  isOpened: listItemIndex === index,
1812
1836
  items: item.items,
1813
- onClick: item.href && !item.onClick ? null : handleListItemClick,
1814
- onMenuLeave: handleMenuLeave,
1815
1837
  key: index,
1816
1838
  menuPlacement: menuPlacement,
1817
1839
  nestedDrawerLeftSpacing: nestedDrawerLeftSpacing,
1818
1840
  nestedListType: nestedListType,
1841
+ onClick: item.href && !item.onClick ? null : handleListItemClick,
1842
+ onMenuLeave: handleMenuLeave,
1819
1843
  primaryText: item.primaryText,
1820
1844
  secondaryText: item.secondaryText,
1821
1845
  selected: item.selected,
@@ -1948,11 +1972,11 @@
1948
1972
  className: "toggle-display",
1949
1973
  iconId: getChevronIcon()
1950
1974
  })) : endIconId && endIcon)), hasChildren && /*#__PURE__*/React__default["default"].createElement(NestedList, {
1951
- ariaLabel: "nested list",
1952
1975
  anchorEl: anchorEl,
1976
+ ariaLabel: "nested list",
1953
1977
  items: items,
1954
- nestedDrawerLeftSpacing: nestedDrawerLeftSpacing,
1955
1978
  menuPlacement: menuPlacement,
1979
+ nestedDrawerLeftSpacing: nestedDrawerLeftSpacing,
1956
1980
  onMenuLeave: handleMenuLeave,
1957
1981
  open: isOpened,
1958
1982
  type: nestedListType
@@ -2230,11 +2254,11 @@
2230
2254
  var StyledMainMenu = styled__default["default"](DotDrawer)(templateObject_2$x || (templateObject_2$x = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function () {
2231
2255
  return styled.css(templateObject_1$z || (templateObject_1$z = __makeTemplateObject(["\n &.dot-main-menu {\n &.", " .dot-drawer-paper {\n top: 48px;\n\n .dot-sidebar {\n height: calc(100vh - 48px);\n }\n }\n\n .dot-drawer-paper {\n top: 64px;\n padding: 0;\n\n .dot-sidebar {\n height: calc(100vh - 64px);\n }\n }\n }\n "], ["\n &.dot-main-menu {\n &.", " .dot-drawer-paper {\n top: 48px;\n\n .dot-sidebar {\n height: calc(100vh - 48px);\n }\n }\n\n .dot-drawer-paper {\n top: 64px;\n padding: 0;\n\n .dot-sidebar {\n height: calc(100vh - 64px);\n }\n }\n }\n "])), denseClassName);
2232
2256
  });
2233
- var StyledAppToolbar = styled__default["default"].header(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
2257
+ var StyledAppToolbar = styled__default["default"].header(templateObject_4$4 || (templateObject_4$4 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
2234
2258
  var theme = _a.theme;
2235
- return styled.css(templateObject_3$6 || (templateObject_3$6 = __makeTemplateObject(["\n &.", " {\n align-items: center;\n background: ", ";\n border-bottom: 4px solid ", ";\n box-sizing: border-box;\n color: ", ";\n display: flex;\n height: 64px;\n padding: ", ";\n position: fixed;\n width: 100%;\n z-index: ", ";\n top: 0;\n left: 0;\n right: 0;\n\n &.", " {\n height: 48px;\n\n .divider {\n height: 32px;\n }\n }\n\n .divider {\n height: 36px;\n width: 1px;\n background: ", ";\n }\n\n .dot-icon-btn {\n border: ", ";\n color: ", ";\n\n &:hover,\n &:active,\n &:focus {\n background: ", ";\n }\n }\n\n .dot-main-menu-btn {\n padding: ", ";\n text-align: center;\n }\n\n .dot-branding {\n align-items: center;\n display: flex;\n padding: ", ";\n\n .primary-logo,\n .app-logo {\n margin-right: ", "px;\n }\n\n .primary-logo,\n .dot-app-logo {\n display: flex;\n max-width: 200px;\n svg,\n img {\n max-height: 36px;\n max-width: 200px;\n }\n }\n\n a {\n line-height: 0;\n }\n\n .dot-product-name {\n color: ", ";\n font-size: 18px;\n margin: ", ";\n }\n\n .divider {\n margin-left: ", "px;\n }\n }\n\n div.dot-right-side {\n display: flex;\n flex-grow: 2;\n justify-content: flex-end;\n }\n\n .avatar-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n button.dot-avatar:focus-visible {\n box-shadow: 0px 0px 0px 3px ", ",\n 0px 0px 0px 5px ", ";\n }\n }\n }\n "], ["\n &.", " {\n align-items: center;\n background: ", ";\n border-bottom: 4px solid ", ";\n box-sizing: border-box;\n color: ", ";\n display: flex;\n height: 64px;\n padding: ", ";\n position: fixed;\n width: 100%;\n z-index: ", ";\n top: 0;\n left: 0;\n right: 0;\n\n &.", " {\n height: 48px;\n\n .divider {\n height: 32px;\n }\n }\n\n .divider {\n height: 36px;\n width: 1px;\n background: ", ";\n }\n\n .dot-icon-btn {\n border: ", ";\n color: ", ";\n\n &:hover,\n &:active,\n &:focus {\n background: ", ";\n }\n }\n\n .dot-main-menu-btn {\n padding: ", ";\n text-align: center;\n }\n\n .dot-branding {\n align-items: center;\n display: flex;\n padding: ", ";\n\n .primary-logo,\n .app-logo {\n margin-right: ", "px;\n }\n\n .primary-logo,\n .dot-app-logo {\n display: flex;\n max-width: 200px;\n svg,\n img {\n max-height: 36px;\n max-width: 200px;\n }\n }\n\n a {\n line-height: 0;\n }\n\n .dot-product-name {\n color: ", ";\n font-size: 18px;\n margin: ", ";\n }\n\n .divider {\n margin-left: ", "px;\n }\n }\n\n div.dot-right-side {\n display: flex;\n flex-grow: 2;\n justify-content: flex-end;\n }\n\n .avatar-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n button.dot-avatar:focus-visible {\n box-shadow: 0px 0px 0px 3px ", ",\n 0px 0px 0px 5px ", ";\n }\n }\n }\n "])), rootClassName$w, theme.palette.product === 'agility' ? theme.palette.agilityInterface.headerBg : theme.palette.grey[700], theme.palette.grey[100], theme.palette.grey[0], theme.spacing(1.5, 2, 1.5, 0), levelFourth, denseClassName, n400$2, theme.palette.product === 'agility' && 'none', theme.palette.grey[100], theme.palette.product === 'agility' && theme.palette.agilityInterface.topBarIconHoverBg, theme.spacing(0, 1), theme.spacing(0, 2), theme.spacing(1.5), theme.palette.grey[100], theme.spacing(0, 1.5), theme.spacing(2), theme.palette.layer.n900, theme.palette.layer.n0);
2259
+ return styled.css(templateObject_3$7 || (templateObject_3$7 = __makeTemplateObject(["\n &.", " {\n align-items: center;\n background: ", ";\n border-bottom: 4px solid ", ";\n box-sizing: border-box;\n color: ", ";\n display: flex;\n height: 64px;\n padding: ", ";\n position: fixed;\n width: 100%;\n z-index: ", ";\n top: 0;\n left: 0;\n right: 0;\n\n &.", " {\n height: 48px;\n\n .divider {\n height: 32px;\n }\n }\n\n .divider {\n height: 36px;\n width: 1px;\n background: ", ";\n }\n\n .dot-icon-btn {\n border: ", ";\n color: ", ";\n\n &:hover,\n &:active,\n &:focus {\n background: ", ";\n }\n }\n\n .dot-main-menu-btn {\n padding: ", ";\n text-align: center;\n }\n\n .dot-branding {\n align-items: center;\n display: flex;\n padding: ", ";\n\n .primary-logo,\n .app-logo {\n margin-right: ", "px;\n }\n\n .primary-logo,\n .dot-app-logo {\n display: flex;\n max-width: 200px;\n svg,\n img {\n max-height: 36px;\n max-width: 200px;\n }\n }\n\n a {\n line-height: 0;\n }\n\n .dot-product-name {\n color: ", ";\n font-size: 18px;\n margin: ", ";\n }\n\n .divider {\n margin-left: ", "px;\n }\n }\n\n div.dot-right-side {\n display: flex;\n flex-grow: 2;\n justify-content: flex-end;\n }\n\n .avatar-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n button.dot-avatar:focus-visible {\n box-shadow: 0px 0px 0px 3px ", ",\n 0px 0px 0px 5px ", ";\n }\n }\n }\n "], ["\n &.", " {\n align-items: center;\n background: ", ";\n border-bottom: 4px solid ", ";\n box-sizing: border-box;\n color: ", ";\n display: flex;\n height: 64px;\n padding: ", ";\n position: fixed;\n width: 100%;\n z-index: ", ";\n top: 0;\n left: 0;\n right: 0;\n\n &.", " {\n height: 48px;\n\n .divider {\n height: 32px;\n }\n }\n\n .divider {\n height: 36px;\n width: 1px;\n background: ", ";\n }\n\n .dot-icon-btn {\n border: ", ";\n color: ", ";\n\n &:hover,\n &:active,\n &:focus {\n background: ", ";\n }\n }\n\n .dot-main-menu-btn {\n padding: ", ";\n text-align: center;\n }\n\n .dot-branding {\n align-items: center;\n display: flex;\n padding: ", ";\n\n .primary-logo,\n .app-logo {\n margin-right: ", "px;\n }\n\n .primary-logo,\n .dot-app-logo {\n display: flex;\n max-width: 200px;\n svg,\n img {\n max-height: 36px;\n max-width: 200px;\n }\n }\n\n a {\n line-height: 0;\n }\n\n .dot-product-name {\n color: ", ";\n font-size: 18px;\n margin: ", ";\n }\n\n .divider {\n margin-left: ", "px;\n }\n }\n\n div.dot-right-side {\n display: flex;\n flex-grow: 2;\n justify-content: flex-end;\n }\n\n .avatar-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n button.dot-avatar:focus-visible {\n box-shadow: 0px 0px 0px 3px ", ",\n 0px 0px 0px 5px ", ";\n }\n }\n }\n "])), rootClassName$w, theme.palette.product === 'agility' ? theme.palette.agilityInterface.headerBg : theme.palette.grey[700], theme.palette.grey[100], theme.palette.grey[0], theme.spacing(1.5, 2, 1.5, 0), levelFourth, denseClassName, n400$2, theme.palette.product === 'agility' && 'none', theme.palette.grey[100], theme.palette.product === 'agility' && theme.palette.agilityInterface.topBarIconHoverBg, theme.spacing(0, 1), theme.spacing(0, 2), theme.spacing(1.5), theme.palette.grey[100], theme.spacing(0, 1.5), theme.spacing(2), theme.palette.layer.n900, theme.palette.layer.n0);
2236
2260
  });
2237
- var templateObject_1$z, templateObject_2$x, templateObject_3$6, templateObject_4$3;
2261
+ var templateObject_1$z, templateObject_2$x, templateObject_3$7, templateObject_4$4;
2238
2262
 
2239
2263
  var DotAppToolbar = function DotAppToolbar(_a) {
2240
2264
  var appName = _a.appName,
@@ -2263,8 +2287,9 @@
2263
2287
  var showMainMenu = mainMenu || mainMenuItems;
2264
2288
  var displayAppLogo = appLogo || appLogoSmall;
2265
2289
  var mainMenuRef = React.useRef(null);
2266
- var rootClasses = useStylesWithRootClass(rootClassName$w, className, dense ? denseClassName : '');
2267
- var mainMenuClasses = useStylesWithRootClass('dot-main-menu', dense ? denseClassName : '', menuOpen ? 'open' : '');
2290
+ var denseClass = dense ? denseClassName : '';
2291
+ var rootClasses = useStylesWithRootClass(rootClassName$w, className, denseClass);
2292
+ var mainMenuClasses = useStylesWithRootClass('dot-main-menu', denseClass, menuOpen ? 'open' : '');
2268
2293
  var targetBreakpoint = core.useMediaQuery(function (theme) {
2269
2294
  return theme.breakpoints.up('md');
2270
2295
  });
@@ -2321,8 +2346,8 @@
2321
2346
  return updateMenuOpen(false);
2322
2347
  },
2323
2348
  open: menuOpen,
2324
- width: mainMenuWidth + 'px',
2325
- variant: "persistent"
2349
+ variant: "persistent",
2350
+ width: mainMenuWidth + 'px'
2326
2351
  }, /*#__PURE__*/React__default["default"].createElement("div", {
2327
2352
  ref: mainMenuRef
2328
2353
  }, mainMenuItems ? /*#__PURE__*/React__default["default"].createElement(DotSidebar, {
@@ -2356,10 +2381,10 @@
2356
2381
  className: item.className,
2357
2382
  iconId: item.iconId,
2358
2383
  iconSize: "default",
2384
+ key: index,
2359
2385
  onClick: function onClick(event) {
2360
2386
  return item.onClick && item.onClick(event);
2361
2387
  },
2362
- key: index,
2363
2388
  size: "medium",
2364
2389
  tooltip: item.tooltip
2365
2390
  });
@@ -2431,12 +2456,12 @@
2431
2456
  var warningClassName = 'dot-warning';
2432
2457
  var adornmentIconClassName = 'dot-adornment-icon';
2433
2458
  var StyledAdornment = styled__default["default"](core.InputAdornment)(templateObject_1$w || (templateObject_1$w = __makeTemplateObject(["\n .dot-icon {\n font-size: 24px;\n height: 24px;\n padding: 0;\n width: 24px;\n }\n"], ["\n .dot-icon {\n font-size: 24px;\n height: 24px;\n padding: 0;\n width: 24px;\n }\n"])));
2434
- var StyledTextField = styled__default["default"](core.TextField)(templateObject_3$5 || (templateObject_3$5 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
2459
+ var StyledTextField = styled__default["default"](core.TextField)(templateObject_3$6 || (templateObject_3$6 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
2435
2460
  var theme = _a.theme,
2436
2461
  InputProps = _a.InputProps;
2437
2462
  return styled.css(templateObject_2$u || (templateObject_2$u = __makeTemplateObject(["\n &.", " {\n .MuiInputBase-root {\n background: ", "\n }\n .MuiInputBase-input {\n box-sizing: content-box;\n }\n .MuiOutlinedInput-notchedOutline {\n border-color: ", "\n }\n .MuiOutlinedInput-input {\n padding: ", ";\n }\n .MuiOutlinedInput-inputMarginDense {\n padding-top: 10.5px;\n padding-bottom: 10.5px;\n }\n .MuiOutlinedInput-inputMultiline {\n padding: 0;\n }\n }\n &.", ", &.", " {\n .dot-adornment-icon .dot-icon i {\n margin-top: -2px;\n }\n .MuiFormLabel-root.Mui-focused {\n color: ", "\n }\n select.dot-select {\n background: ", ";\n }\n .MuiSelect-select:focus {\n background-color: transparent;\n }\n .Mui-error .", " {\n color: ", ";\n }\n .MuiSelect-icon {\n right: ", ";\n }\n &.", " {\n .MuiOutlinedInput-notchedOutline {\n border-color: ", ";\n }\n .MuiInputLabel-outlined.MuiInputLabel-shrink {\n color: ", ";\n }\n .", " {\n color: ", ";\n }\n }\n .MuiOutlinedInput-adornedStart {\n padding-left: 12px;\n }\n .MuiOutlinedInput-adornedEnd {\n padding-right: 12px;\n }\n .MuiFormHelperText-root {\n font-size: ", "px;\n margin: ", ";\n display: flex;\n align-items: flex-end;\n &:not(.Mui-error) {\n color: ", ";\n }\n }\n .Mui-focused .MuiOutlinedInput-notchedOutline {\n border-color: ", ";\n }\n "], ["\n &.", " {\n .MuiInputBase-root {\n background: ", "\n }\n .MuiInputBase-input {\n box-sizing: content-box;\n }\n .MuiOutlinedInput-notchedOutline {\n border-color: ", "\n }\n .MuiOutlinedInput-input {\n padding: ", ";\n }\n .MuiOutlinedInput-inputMarginDense {\n padding-top: 10.5px;\n padding-bottom: 10.5px;\n }\n .MuiOutlinedInput-inputMultiline {\n padding: 0;\n }\n }\n &.", ", &.", " {\n .dot-adornment-icon .dot-icon i {\n margin-top: -2px;\n }\n .MuiFormLabel-root.Mui-focused {\n color: ", "\n }\n select.dot-select {\n background: ", ";\n }\n .MuiSelect-select:focus {\n background-color: transparent;\n }\n .Mui-error .", " {\n color: ", ";\n }\n .MuiSelect-icon {\n right: ", ";\n }\n &.", " {\n .MuiOutlinedInput-notchedOutline {\n border-color: ", ";\n }\n .MuiInputLabel-outlined.MuiInputLabel-shrink {\n color: ", ";\n }\n .", " {\n color: ", ";\n }\n }\n .MuiOutlinedInput-adornedStart {\n padding-left: 12px;\n }\n .MuiOutlinedInput-adornedEnd {\n padding-right: 12px;\n }\n .MuiFormHelperText-root {\n font-size: ", "px;\n margin: ", ";\n display: flex;\n align-items: flex-end;\n &:not(.Mui-error) {\n color: ", ";\n }\n }\n .Mui-focused .MuiOutlinedInput-notchedOutline {\n border-color: ", ";\n }\n "])), rootClassName$t, theme.palette.product === 'agility' && theme.palette.layer.n0, theme.palette.product === 'agility' && theme.palette.layer.n100, InputProps.startAdornment ? "18px 12px 18px 0px" : "18px 12px", rootSelectClassName, rootClassName$t, theme.palette.product === 'agility' && theme.palette.layer.n700, theme.palette.product === 'agility' && theme.palette.layer.n0, adornmentIconClassName, theme.palette.error[500], InputProps.endAdornment ? "44px" : "12px", warningClassName, theme.palette.warning[500], theme.palette.grey[700], adornmentIconClassName, theme.palette.warning[500], theme.typography.body2.fontSize, theme.spacing(0, 0, 0, 2), theme.palette.grey[700], theme.palette.product === 'agility' && agilityGreen);
2438
2463
  });
2439
- var templateObject_1$w, templateObject_2$u, templateObject_3$5;
2464
+ var templateObject_1$w, templateObject_2$u, templateObject_3$6;
2440
2465
 
2441
2466
  var rootClassName$s = 'dot-button';
2442
2467
  var StyledButton = styled__default["default"](core.Button)(templateObject_2$t || (templateObject_2$t = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
@@ -2515,18 +2540,18 @@
2515
2540
  },
2516
2541
  color: color,
2517
2542
  "data-testid": dataTestId,
2518
- disabled: disabled,
2519
2543
  disableRipple: disableRipple,
2544
+ disabled: disabled,
2520
2545
  endIcon: endIcon,
2521
2546
  fullWidth: fullWidth,
2522
2547
  onClick: function onClick(event) {
2523
2548
  return _onClick && _onClick(event);
2524
2549
  },
2525
2550
  ref: ref,
2526
- variant: variant,
2527
2551
  size: size,
2528
2552
  startIcon: startIcon,
2529
- type: isSubmit ? 'submit' : 'button'
2553
+ type: isSubmit ? 'submit' : 'button',
2554
+ variant: variant
2530
2555
  }, children));
2531
2556
  });
2532
2557
 
@@ -2676,9 +2701,7 @@
2676
2701
 
2677
2702
  /* Add this to short circuit blur event (otherwise button click will not work):
2678
2703
  * https://github.com/mui-org/material-ui/issues/19038 */
2679
- onMouseDown: function onMouseDown(e) {
2680
- e.preventDefault();
2681
- },
2704
+ onBlur: handleBlur,
2682
2705
  onKeyDown: function onKeyDown(event) {
2683
2706
  if (event.key === 'Tab' && textFieldInput) {
2684
2707
  event.preventDefault();
@@ -2686,7 +2709,9 @@
2686
2709
  }
2687
2710
  },
2688
2711
  // We want to close the popper each time focus is shifted from action item
2689
- onBlur: handleBlur
2712
+ onMouseDown: function onMouseDown(e) {
2713
+ e.preventDefault();
2714
+ }
2690
2715
  }, /*#__PURE__*/React__default["default"].createElement(DotButton, {
2691
2716
  "data-testid": "dot-action-item-btn",
2692
2717
  disableRipple: true,
@@ -2702,6 +2727,7 @@
2702
2727
  };
2703
2728
 
2704
2729
  return /*#__PURE__*/React__default["default"].createElement(StyledAutocomplete, {
2730
+ PopperComponent: DotPopper,
2705
2731
  "aria-label": ariaLabel,
2706
2732
  classes: {
2707
2733
  root: rootClasses
@@ -2718,6 +2744,7 @@
2718
2744
  return option.group;
2719
2745
  } : undefined,
2720
2746
  multiple: multiple,
2747
+ onBlur: handleBlur,
2721
2748
  onChange: function onChange(event, val, reason) {
2722
2749
  valuesChanged({
2723
2750
  event: event,
@@ -2726,20 +2753,18 @@
2726
2753
  });
2727
2754
  setIsOpened(false);
2728
2755
  },
2729
- open: isOpened,
2730
- options: sortOptions(),
2731
- PopperComponent: DotPopper,
2732
- // We want to close the popper each time focus is shifted from the autocomplete
2733
- onBlur: handleBlur,
2734
2756
  onClose: function onClose(event) {
2735
2757
  // We want to close popper in each occasion where focus isn't set to action item
2736
2758
  if (!('relatedTarget' in event) || event.relatedTarget !== actionItemRef.current) {
2737
2759
  setIsOpened(false);
2738
2760
  }
2739
2761
  },
2762
+ // We want to close the popper each time focus is shifted from the autocomplete
2740
2763
  onOpen: function onOpen() {
2741
2764
  return setIsOpened(true);
2742
2765
  },
2766
+ open: isOpened,
2767
+ options: sortOptions(),
2743
2768
  renderInput: function renderInput(params) {
2744
2769
  return (
2745
2770
  /*#__PURE__*/
@@ -2763,9 +2788,6 @@
2763
2788
  inputRef: textFieldRef,
2764
2789
  label: label,
2765
2790
  name: label,
2766
- placeholder: showPlaceholder ? placeholder : undefined,
2767
- required: false,
2768
- variant: "outlined",
2769
2791
  onKeyDown: function onKeyDown(event) {
2770
2792
  var _a; // Intercept 'tab' key press while action item element exists
2771
2793
 
@@ -2774,7 +2796,10 @@
2774
2796
  event.preventDefault();
2775
2797
  (_a = actionItemRef === null || actionItemRef === void 0 ? void 0 : actionItemRef.current) === null || _a === void 0 ? void 0 : _a.focus();
2776
2798
  }
2777
- }
2799
+ },
2800
+ placeholder: showPlaceholder ? placeholder : undefined,
2801
+ required: false,
2802
+ variant: "outlined"
2778
2803
  }))
2779
2804
  );
2780
2805
  },
@@ -2848,146 +2873,306 @@
2848
2873
  };
2849
2874
 
2850
2875
  var rootClassName$q = 'dot-breadcrumbs';
2851
- var StyledBreadcrumbs = styled__default["default"](core.Breadcrumbs)(templateObject_2$r || (templateObject_2$r = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
2876
+ var breadcrumbsWrapperClass = 'dot-breadcrumbs-wrapper';
2877
+ var StyledBreadcrumbsWrapper = styled__default["default"].div(templateObject_2$r || (templateObject_2$r = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
2878
+ var theme = _a.theme;
2879
+ return styled.css(templateObject_1$t || (templateObject_1$t = __makeTemplateObject(["\n &.", " {\n overflow: hidden;\n\n .dot-breadcrumbs-menu {\n .MuiMenuItem-root {\n padding: 0;\n }\n\n a.breadcrumb {\n width: 100%;\n padding: ", ";\n }\n }\n }\n "], ["\n &.", " {\n overflow: hidden;\n\n .dot-breadcrumbs-menu {\n .MuiMenuItem-root {\n padding: 0;\n }\n\n a.breadcrumb {\n width: 100%;\n padding: ", ";\n }\n }\n }\n "])), rootClassName$q, theme.spacing(0.5, 2));
2880
+ });
2881
+ var StyledBreadcrumbs = styled__default["default"](core.Breadcrumbs)(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
2852
2882
  var theme = _a.theme;
2853
- return styled.css(templateObject_1$t || (templateObject_1$t = __makeTemplateObject(["\n &.", " {\n margin-bottom: 0;\n\n .MuiBreadcrumbs-ol {\n flex-wrap: nowrap;\n }\n .MuiBreadcrumbs-li,\n .separator {\n color: ", ";\n margin: 0;\n white-space: nowrap;\n }\n .separator {\n font-size: 12px;\n width: 20px;\n height: 20px;\n padding: 0;\n }\n .MuiBreadcrumbs-separator {\n margin: 0;\n }\n .MuiLink-underlineHover {\n cursor: pointer;\n }\n }\n .breadcrumb {\n padding: ", ";\n }\n .current-page {\n color: ", ";\n cursor: default;\n }\n "], ["\n &.", " {\n margin-bottom: 0;\n\n .MuiBreadcrumbs-ol {\n flex-wrap: nowrap;\n }\n .MuiBreadcrumbs-li,\n .separator {\n color: ", ";\n margin: 0;\n white-space: nowrap;\n }\n .separator {\n font-size: 12px;\n width: 20px;\n height: 20px;\n padding: 0;\n }\n .MuiBreadcrumbs-separator {\n margin: 0;\n }\n .MuiLink-underlineHover {\n cursor: pointer;\n }\n }\n .breadcrumb {\n padding: ", ";\n }\n .current-page {\n color: ", ";\n cursor: default;\n }\n "])), rootClassName$q, theme.palette.grey[300], theme.spacing(0.5, 2), theme.palette.grey[700]);
2883
+ return styled.css(templateObject_3$5 || (templateObject_3$5 = __makeTemplateObject(["\n &.", " {\n margin-bottom: 0;\n\n .MuiBreadcrumbs-ol {\n flex-wrap: nowrap;\n }\n .MuiBreadcrumbs-li,\n .separator {\n color: ", ";\n margin: 0;\n white-space: nowrap;\n }\n .separator {\n font-size: 12px;\n width: 20px;\n height: 20px;\n padding: 0;\n }\n .MuiBreadcrumbs-separator {\n margin: 0;\n }\n .MuiLink-underlineHover {\n cursor: pointer;\n }\n\n .MuiBreadcrumbs-li:last-child {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .breadcrumb {\n padding: ", ";\n }\n\n .current-page {\n color: ", ";\n cursor: default;\n }\n }\n "], ["\n &.", " {\n margin-bottom: 0;\n\n .MuiBreadcrumbs-ol {\n flex-wrap: nowrap;\n }\n .MuiBreadcrumbs-li,\n .separator {\n color: ", ";\n margin: 0;\n white-space: nowrap;\n }\n .separator {\n font-size: 12px;\n width: 20px;\n height: 20px;\n padding: 0;\n }\n .MuiBreadcrumbs-separator {\n margin: 0;\n }\n .MuiLink-underlineHover {\n cursor: pointer;\n }\n\n .MuiBreadcrumbs-li:last-child {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .breadcrumb {\n padding: ", ";\n }\n\n .current-page {\n color: ", ";\n cursor: default;\n }\n }\n "])), rootClassName$q, theme.palette.grey[300], theme.spacing(0.5, 2), theme.palette.grey[700]);
2854
2884
  });
2855
- var templateObject_1$t, templateObject_2$r;
2885
+ var templateObject_1$t, templateObject_2$r, templateObject_3$5, templateObject_4$3;
2856
2886
 
2857
2887
  var compareWidth = function compareWidth(parentEl, childEl) {
2858
2888
  return parentEl.getBoundingClientRect().width < childEl.getBoundingClientRect().width;
2859
2889
  };
2860
2890
 
2891
+ var getItemsAfterCollapse = function getItemsAfterCollapse(adjustMaxItems, visibleItemsNumber, maxItems) {
2892
+ // Check if maximum number of items is defined via prop
2893
+ if (maxItems) {
2894
+ return adjustMaxItems ? 1 : 2;
2895
+ }
2896
+
2897
+ if (visibleItemsNumber > 1) return visibleItemsNumber - 1;
2898
+ if (visibleItemsNumber === 1) return visibleItemsNumber;
2899
+ return undefined;
2900
+ };
2901
+ var getMaxItems = function getMaxItems(adjustMaxItems, visibleItemsNumber, maxItems) {
2902
+ // Check if maximum number of items is defined via prop
2903
+ if (maxItems) {
2904
+ return adjustMaxItems ? 2 : maxItems;
2905
+ }
2906
+
2907
+ return visibleItemsNumber > 0 ? visibleItemsNumber : undefined;
2908
+ };
2909
+ var getWidthFromRef = function getWidthFromRef(ref) {
2910
+ var _a;
2911
+
2912
+ return (_a = ref === null || ref === void 0 ? void 0 : ref.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width;
2913
+ };
2914
+ var checkIfFirstItemAfterCollapse = function checkIfFirstItemAfterCollapse(currentIndex, items, itemsAfterCollapse) {
2915
+ return currentIndex === items.length - itemsAfterCollapse;
2916
+ };
2917
+ var getExpandElement = function getExpandElement(breadcrumbElement) {
2918
+ var elements = breadcrumbElement.getElementsByClassName('MuiBreadcrumbs-ol');
2919
+ if (!elements || elements.length !== 1) return null;
2920
+ return elements[0].getElementsByClassName('MuiButtonBase-root')[0];
2921
+ };
2922
+ var getInitialMaxVisibleItems = function getInitialMaxVisibleItems(items, maxItems) {
2923
+ return maxItems || items && Array.isArray(items) && items.length || 0;
2924
+ };
2925
+ var getMenuItems = function getMenuItems(items, itemsAfterCollapse) {
2926
+ if (!items || !items.length || !isFinite(itemsAfterCollapse) || itemsAfterCollapse < 1 || itemsAfterCollapse >= items.length - 1) return [];
2927
+ var sliceEnd = items.length - itemsAfterCollapse;
2928
+ var menuItems = items.slice(1, sliceEnd);
2929
+ if (!menuItems.length) return [];
2930
+ return menuItems.map(function (item, index) {
2931
+ var itemChildren = /*#__PURE__*/React__default["default"].createElement(DotLink, {
2932
+ ariaLabel: item.ariaLabel,
2933
+ className: "breadcrumb",
2934
+ color: "inherit",
2935
+ href: item.href,
2936
+ key: index,
2937
+ onClick: item.onClick,
2938
+ tabIndex: 0,
2939
+ underline: "none"
2940
+ }, item.text);
2941
+ return {
2942
+ children: itemChildren,
2943
+ key: index.toString()
2944
+ };
2945
+ });
2946
+ };
2947
+ var addListenersToMenu = function addListenersToMenu(expandElement, eventListener) {
2948
+ expandElement.addEventListener('click', eventListener);
2949
+ expandElement.addEventListener('keydown', eventListener);
2950
+ };
2951
+ var removeListenersFromMenu = function removeListenersFromMenu(expandElement, eventListener) {
2952
+ expandElement.removeEventListener('click', eventListener);
2953
+ expandElement.removeEventListener('keydown', eventListener);
2954
+ };
2955
+ var mapBreadcrumbItems = function mapBreadcrumbItems(items, refs, itemsAfterCollapse) {
2956
+ var firstItemRef = refs.firstItemRef,
2957
+ lastItemRef = refs.lastItemRef;
2958
+ return items.map(function (item, index) {
2959
+ var ariaLabel = item.ariaLabel,
2960
+ href = item.href,
2961
+ onClick = item.onClick,
2962
+ text = item.text,
2963
+ underline = item.underline;
2964
+
2965
+ if (index === items.length - 1) {
2966
+ return /*#__PURE__*/React__default["default"].createElement("span", {
2967
+ "aria-label": ariaLabel,
2968
+ className: "breadcrumb current-page",
2969
+ key: index,
2970
+ ref: lastItemRef
2971
+ }, text);
2972
+ } else {
2973
+ var isFirstItemAfterCollapse = checkIfFirstItemAfterCollapse(index, items, itemsAfterCollapse);
2974
+ return /*#__PURE__*/React__default["default"].createElement("div", {
2975
+ key: index,
2976
+ ref: isFirstItemAfterCollapse ? firstItemRef : undefined
2977
+ }, /*#__PURE__*/React__default["default"].createElement(DotLink, {
2978
+ ariaLabel: ariaLabel,
2979
+ className: "breadcrumb",
2980
+ color: "inherit",
2981
+ href: href,
2982
+ onClick: onClick,
2983
+ tabIndex: 0,
2984
+ underline: underline
2985
+ }, text));
2986
+ }
2987
+ });
2988
+ };
2989
+
2990
+ var useBreadcrumbsResizer = function useBreadcrumbsResizer(breadcrumbsRightCoord, breadcrumbItemsProps, refs) {
2991
+ var firstItemRef = refs.firstItemRef,
2992
+ lastItemRef = refs.lastItemRef;
2993
+ var items = breadcrumbItemsProps.items,
2994
+ maxItems = breadcrumbItemsProps.maxItems;
2995
+ var initialMaxVisibleItems = {
2996
+ maxVisibleItems: getInitialMaxVisibleItems(items, maxItems),
2997
+ lastRemovedItemWidth: undefined
2998
+ };
2999
+
3000
+ var _a = React.useState(initialMaxVisibleItems),
3001
+ breadcrumbsSettings = _a[0],
3002
+ setBreadcrumbsSettings = _a[1];
3003
+ /* Adjust number of visible items after collapse */
3004
+
3005
+
3006
+ React.useEffect(function () {
3007
+ // Automatic resizing is performed only when 'maxItem' is NOT set
3008
+ if (maxItems !== undefined || !(lastItemRef === null || lastItemRef === void 0 ? void 0 : lastItemRef.current) || !breadcrumbsRightCoord) return; // Get width of breadcrumb's last item
3009
+
3010
+ var lastItemWidth = getWidthFromRef(lastItemRef); // Get width of breadcrumb's first item after collapse
3011
+ // Sometimes first item can also be last item
3012
+
3013
+ var firstItemWidth = getWidthFromRef(firstItemRef) || lastItemWidth; // Get left coordinate of the last item
3014
+
3015
+ var lastItemLeftCoord = lastItemRef.current.getBoundingClientRect().left;
3016
+ var lastRemovedItemWidth = breadcrumbsSettings.lastRemovedItemWidth,
3017
+ maxVisibleItems = breadcrumbsSettings.maxVisibleItems;
3018
+ var availableSpace = breadcrumbsRightCoord - lastItemLeftCoord;
3019
+ var hasHiddenItems = maxVisibleItems < items.length;
3020
+ var isLastRemovedItemSuitable = lastRemovedItemWidth !== undefined ? availableSpace - lastRemovedItemWidth > MIN_AVAILABLE_SPACE : false;
3021
+
3022
+ if (availableSpace < MIN_AVAILABLE_SPACE && maxVisibleItems > 2) {
3023
+ setBreadcrumbsSettings(function (prevValue) {
3024
+ return {
3025
+ maxVisibleItems: prevValue.maxVisibleItems - 1,
3026
+ lastRemovedItemWidth: firstItemWidth + ITEMS_SEPARATOR_SPACE
3027
+ };
3028
+ });
3029
+ } else if (hasHiddenItems && (lastRemovedItemWidth === undefined || isLastRemovedItemSuitable)) {
3030
+ setBreadcrumbsSettings(function (prevValue) {
3031
+ return {
3032
+ maxVisibleItems: prevValue.maxVisibleItems + 1,
3033
+ lastRemovedItemWidth: undefined
3034
+ };
3035
+ });
3036
+ }
3037
+ }, [maxItems, breadcrumbsRightCoord, lastItemRef === null || lastItemRef === void 0 ? void 0 : lastItemRef.current, firstItemRef === null || firstItemRef === void 0 ? void 0 : firstItemRef.current, breadcrumbsSettings]);
3038
+ return [breadcrumbsSettings];
3039
+ };
3040
+
3041
+ var MIN_AVAILABLE_SPACE = 60;
3042
+ var ITEMS_SEPARATOR_SPACE = 20;
3043
+ var useBreadcrumbsObserver = function useBreadcrumbsObserver(items, maxItems) {
3044
+ var breadcrumbRef = React.useRef();
3045
+ var firstItemRef = React.useRef();
3046
+ var lastItemRef = React.useRef();
3047
+
3048
+ var _a = React.useState(null),
3049
+ breadcrumbsRightCoord = _a[0],
3050
+ setBreadcrumbsRightCoord = _a[1];
3051
+
3052
+ var breadcrumbsSettings = useBreadcrumbsResizer(breadcrumbsRightCoord, {
3053
+ items: items,
3054
+ maxItems: maxItems
3055
+ }, {
3056
+ firstItemRef: firstItemRef,
3057
+ lastItemRef: lastItemRef
3058
+ })[0];
3059
+ /* Observe breadcrumbs width change and store it in state */
3060
+
3061
+ React.useEffect(function () {
3062
+ // Automatic resizing is performed only when 'maxItem' is NOT set
3063
+ if (maxItems !== undefined) return;
3064
+ var breadcrumbsObserver = new ResizeObserver(function (entries) {
3065
+ setBreadcrumbsRightCoord(entries[0].target.getBoundingClientRect().right);
3066
+ });
3067
+ breadcrumbsObserver.observe(breadcrumbRef.current);
3068
+ return function () {
3069
+ breadcrumbRef.current && breadcrumbsObserver.unobserve(breadcrumbRef.current);
3070
+ };
3071
+ }, [maxItems, breadcrumbRef, setBreadcrumbsRightCoord]);
3072
+ return [{
3073
+ breadcrumbRef: breadcrumbRef,
3074
+ firstItemRef: firstItemRef,
3075
+ lastItemRef: lastItemRef
3076
+ }, breadcrumbsSettings.maxVisibleItems];
3077
+ };
3078
+
2861
3079
  var DotBreadcrumbs = function DotBreadcrumbs(_a) {
2862
3080
  var className = _a.className,
2863
3081
  dataTestId = _a["data-testid"],
2864
3082
  _b = _a.expansionMenu,
2865
3083
  expansionMenu = _b === void 0 ? false : _b,
2866
3084
  items = _a.items,
2867
- _c = _a.maxItems,
2868
- maxItems = _c === void 0 ? 3 : _c,
3085
+ maxItems = _a.maxItems,
2869
3086
  minWidth = _a.minWidth;
2870
- var rootClasses = useStylesWithRootClass(rootClassName$q, className);
2871
- var breadcrumbRef = React.useRef();
3087
+ var wrapperRootClasses = useStylesWithRootClass(breadcrumbsWrapperClass, className);
2872
3088
  var wrapperRef = React.useRef();
2873
3089
 
2874
- var _d = React.useState(null),
2875
- anchorEl = _d[0],
2876
- setAnchorEl = _d[1];
3090
+ var _c = React.useState(null),
3091
+ anchorEl = _c[0],
3092
+ setAnchorEl = _c[1];
2877
3093
 
2878
- var _e = React.useState(false),
2879
- menuOpen = _e[0],
2880
- setMenuOpen = _e[1];
3094
+ var _d = React.useState(false),
3095
+ menuOpen = _d[0],
3096
+ setMenuOpen = _d[1];
2881
3097
 
2882
- var _f = React.useState(false),
2883
- adjustMaxItems = _f[0],
2884
- setAdjustMaxItems = _f[1];
3098
+ var _e = React.useState(false),
3099
+ adjustMaxItems = _e[0],
3100
+ setAdjustMaxItems = _e[1];
3101
+
3102
+ var _f = useBreadcrumbsObserver(items, maxItems),
3103
+ _g = _f[0],
3104
+ breadcrumbRef = _g.breadcrumbRef,
3105
+ firstItemRef = _g.firstItemRef,
3106
+ lastItemRef = _g.lastItemRef,
3107
+ maxVisibleItems = _f[1];
3108
+
3109
+ var itemsAfterCollapse = getItemsAfterCollapse(adjustMaxItems, maxVisibleItems, maxItems);
3110
+ var menuItems = items.length > maxVisibleItems ? getMenuItems(items, itemsAfterCollapse) : [];
3111
+ var breadcrumbItemRefs = {
3112
+ firstItemRef: firstItemRef,
3113
+ lastItemRef: lastItemRef
3114
+ };
2885
3115
 
2886
3116
  var clickListener = function clickListener(event) {
3117
+ if (event instanceof KeyboardEvent && event.key !== 'Enter') return;
2887
3118
  event.stopPropagation();
2888
3119
  setMenuOpen(function (currentMenuOpen) {
2889
3120
  return !currentMenuOpen;
2890
3121
  });
2891
3122
  };
2892
3123
 
2893
- var getExpandElement = function getExpandElement() {
2894
- var elements = document.getElementsByClassName('MuiBreadcrumbs-ol');
2895
- return elements.length === 1 ? elements[0].getElementsByClassName('MuiButtonBase-root')[0] : null;
2896
- };
2897
-
2898
- var getMenuItems = function getMenuItems() {
2899
- return items.slice(1, items.length - 2).map(function (item, index) {
2900
- var itemChildren = /*#__PURE__*/React__default["default"].createElement(DotLink, {
2901
- ariaLabel: item.ariaLabel,
2902
- className: "breadcrumb",
2903
- color: "inherit",
2904
- href: item.href,
2905
- key: index,
2906
- onClick: item.onClick,
2907
- tabIndex: 0,
2908
- underline: item.underline
2909
- }, item.text);
2910
- return {
2911
- children: itemChildren,
2912
- key: index.toString()
2913
- };
2914
- });
2915
- };
2916
-
2917
- var menuItems = items.length > maxItems ? getMenuItems() : null;
2918
-
2919
3124
  var onMenuLeave = function onMenuLeave(_event) {
2920
3125
  setMenuOpen(false);
2921
3126
  };
3127
+ /* Build and connect expansion menu if 'expansionMenu' is set to true.
3128
+ In order for this to be functioning properly we need to set 'items' in
3129
+ the dependencies list as it will re-trigger hook if items array change.
3130
+ */
3131
+
2922
3132
 
2923
3133
  React.useEffect(function () {
2924
- if (expansionMenu) {
2925
- var expandElement_1 = getExpandElement();
2926
-
2927
- if (expandElement_1) {
2928
- setAnchorEl(expandElement_1);
2929
- expandElement_1.addEventListener('click', clickListener);
2930
- return function () {
2931
- expandElement_1.removeEventListener('click', clickListener);
2932
- };
2933
- }
3134
+ if (!expansionMenu || !breadcrumbRef || !breadcrumbRef.current) return;
3135
+ var expandElement = getExpandElement(breadcrumbRef.current);
3136
+
3137
+ if (expandElement) {
3138
+ setAnchorEl(expandElement);
3139
+ addListenersToMenu(expandElement, clickListener);
3140
+ return function () {
3141
+ return removeListenersFromMenu(expandElement, clickListener);
3142
+ };
2934
3143
  }
2935
- }, []);
3144
+ }, [expansionMenu, maxVisibleItems, adjustMaxItems, items]);
2936
3145
  React.useEffect(function () {
2937
- if ((breadcrumbRef === null || breadcrumbRef === void 0 ? void 0 : breadcrumbRef.current) && (wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current)) {
3146
+ if (maxItems && (breadcrumbRef === null || breadcrumbRef === void 0 ? void 0 : breadcrumbRef.current) && (wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current)) {
2938
3147
  setAdjustMaxItems(compareWidth(wrapperRef.current, breadcrumbRef.current));
2939
3148
  }
2940
- }, [breadcrumbRef === null || breadcrumbRef === void 0 ? void 0 : breadcrumbRef.current, wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current]);
2941
- return /*#__PURE__*/React__default["default"].createElement("div", {
2942
- ref: wrapperRef,
2943
- style: {
2944
- overflow: 'hidden'
2945
- }
3149
+ }, [maxItems, breadcrumbRef === null || breadcrumbRef === void 0 ? void 0 : breadcrumbRef.current, wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current]);
3150
+ return /*#__PURE__*/React__default["default"].createElement(StyledBreadcrumbsWrapper, {
3151
+ className: wrapperRootClasses,
3152
+ "data-testid": dataTestId && dataTestId + "-wrapper",
3153
+ ref: wrapperRef
2946
3154
  }, /*#__PURE__*/React__default["default"].createElement(StyledBreadcrumbs, {
2947
3155
  "aria-label": "breadcrumb",
2948
3156
  classes: {
2949
- root: rootClasses,
3157
+ root: rootClassName$q,
2950
3158
  ol: 'dot-ol',
2951
3159
  li: 'dot-li'
2952
3160
  },
2953
3161
  "data-testid": dataTestId,
2954
- itemsAfterCollapse: adjustMaxItems ? 1 : 2,
2955
- maxItems: adjustMaxItems ? 2 : maxItems,
3162
+ itemsAfterCollapse: itemsAfterCollapse,
3163
+ maxItems: getMaxItems(adjustMaxItems, maxVisibleItems, maxItems),
2956
3164
  ref: breadcrumbRef,
2957
3165
  separator: /*#__PURE__*/React__default["default"].createElement(DotIcon, {
2958
- iconId: "chevron-right",
2959
- className: "separator"
3166
+ className: "separator",
3167
+ iconId: "chevron-right"
2960
3168
  }),
2961
3169
  style: {
2962
3170
  width: minWidth
2963
3171
  }
2964
- }, items.map(function (item, index) {
2965
- var ariaLabel = item.ariaLabel,
2966
- href = item.href,
2967
- onClick = item.onClick,
2968
- text = item.text,
2969
- underline = item.underline;
2970
-
2971
- if (index === items.length - 1) {
2972
- return /*#__PURE__*/React__default["default"].createElement("span", {
2973
- "aria-label": ariaLabel,
2974
- className: "breadcrumb current-page",
2975
- key: index
2976
- }, text);
2977
- } else {
2978
- return /*#__PURE__*/React__default["default"].createElement(DotLink, {
2979
- ariaLabel: ariaLabel,
2980
- className: "breadcrumb",
2981
- color: "inherit",
2982
- href: href,
2983
- key: index,
2984
- onClick: onClick,
2985
- tabIndex: 0,
2986
- underline: underline
2987
- }, text);
2988
- }
2989
- })), /*#__PURE__*/React__default["default"].createElement(DotMenu, {
3172
+ }, mapBreadcrumbItems(items, breadcrumbItemRefs, itemsAfterCollapse)), /*#__PURE__*/React__default["default"].createElement(DotMenu, {
2990
3173
  anchorEl: anchorEl,
3174
+ className: "dot-breadcrumbs-menu",
3175
+ disablePortal: true,
2991
3176
  id: "expand-menu",
2992
3177
  menuItems: menuItems,
2993
3178
  menuPlacement: "bottom-start",
@@ -3036,9 +3221,9 @@
3036
3221
  }, buttonOptions.map(function (option, key) {
3037
3222
  return /*#__PURE__*/React__default["default"].createElement(lab.ToggleButton, {
3038
3223
  "aria-label": option.ariaLabel,
3039
- disabled: option.disabled,
3040
3224
  disableFocusRipple: disableFocusRipple,
3041
3225
  disableRipple: disableRipple,
3226
+ disabled: option.disabled,
3042
3227
  key: key,
3043
3228
  value: option.value
3044
3229
  }, option.iconId && /*#__PURE__*/React__default["default"].createElement(DotIcon, {
@@ -3173,16 +3358,15 @@
3173
3358
 
3174
3359
  return /*#__PURE__*/React__default["default"].createElement(StyledFormControlLabel, {
3175
3360
  className: rootClasses,
3176
- labelPlacement: labelPlacement,
3177
3361
  control: /*#__PURE__*/React__default["default"].createElement(StyledCheckbox, {
3362
+ checked: checked,
3178
3363
  classes: {
3179
3364
  root: rootClassName$m
3180
3365
  },
3181
- checked: checked,
3182
3366
  color: "primary",
3183
3367
  "data-testid": dataTestId,
3184
- disabled: disabled,
3185
3368
  disableRipple: disableRipple,
3369
+ disabled: disabled,
3186
3370
  id: id,
3187
3371
  indeterminate: indeterminate,
3188
3372
  inputProps: {
@@ -3196,7 +3380,8 @@
3196
3380
  size: size,
3197
3381
  value: value
3198
3382
  }),
3199
- label: label
3383
+ label: label,
3384
+ labelPlacement: labelPlacement
3200
3385
  });
3201
3386
  }
3202
3387
 
@@ -3235,10 +3420,10 @@
3235
3420
  var rootClasses = useStylesWithRootClass(rootClassName$l, className);
3236
3421
  return /*#__PURE__*/React__default["default"].createElement(StyledFormGroup, {
3237
3422
  "aria-label": ariaLabel,
3238
- "data-testid": dataTestId,
3239
3423
  classes: {
3240
3424
  root: rootClasses
3241
3425
  },
3426
+ "data-testid": dataTestId,
3242
3427
  role: "group",
3243
3428
  row: row
3244
3429
  }, children);
@@ -3316,15 +3501,15 @@
3316
3501
  disabled = _a.disabled,
3317
3502
  value = _a.value;
3318
3503
  return /*#__PURE__*/React__default["default"].createElement(DotCheckbox, {
3319
- className: checkboxListItemClassName,
3320
3504
  checked: selectedOptions.some(function (option) {
3321
3505
  return option && option.value === value;
3322
3506
  }) || allChecked,
3507
+ className: checkboxListItemClassName,
3323
3508
  disabled: disabled || disableGroup,
3324
- name: name,
3325
3509
  key: value,
3326
3510
  label: label,
3327
3511
  labelPlacement: labelPlacement,
3512
+ name: name,
3328
3513
  onChange: function onChange(event) {
3329
3514
  return handleChange(event, {
3330
3515
  label: label,
@@ -3337,15 +3522,15 @@
3337
3522
  }) : null;
3338
3523
  return /*#__PURE__*/React__default["default"].createElement(StyledCheckboxGroup, {
3339
3524
  "aria-label": ariaLabel,
3340
- "data-testid": dataTestId,
3341
- className: wrapperClassName$1
3525
+ className: wrapperClassName$1,
3526
+ "data-testid": dataTestId
3342
3527
  }, /*#__PURE__*/React__default["default"].createElement(StyledFormControl, {
3343
3528
  classes: {
3344
3529
  root: rootClasses
3345
3530
  },
3531
+ component: "fieldset",
3346
3532
  disabled: disableGroup,
3347
3533
  error: error,
3348
- component: "fieldset",
3349
3534
  required: required
3350
3535
  }, groupLabel && /*#__PURE__*/React__default["default"].createElement(core.FormLabel, {
3351
3536
  component: "legend"
@@ -3358,8 +3543,8 @@
3358
3543
  }, endIcon)), showSelectAll && /*#__PURE__*/React__default["default"].createElement(DotCheckbox, {
3359
3544
  checked: selectedOptions.length === options.length,
3360
3545
  indeterminate: selectedOptions.length > 0 && selectedOptions.length < options.length,
3361
- name: name ? name + "-select-all" : 'dot-select-all',
3362
3546
  label: selectAllLabel,
3547
+ name: name ? name + "-select-all" : 'dot-select-all',
3363
3548
  onChange: handleSelectAll,
3364
3549
  size: size,
3365
3550
  value: "select-all"
@@ -3431,13 +3616,13 @@
3431
3616
 
3432
3617
  return /*#__PURE__*/React__default["default"].createElement(StyledDialog, {
3433
3618
  "aria-label": ariaLabel,
3619
+ "aria-labelledby": "MuiDialogTitle-root",
3434
3620
  classes: {
3435
3621
  root: rootClasses
3436
3622
  },
3437
3623
  "data-testid": dataTestId,
3438
- open: isOpen,
3439
3624
  onClose: handleClickAway,
3440
- "aria-labelledby": "MuiDialogTitle-root"
3625
+ open: isOpen
3441
3626
  }, /*#__PURE__*/React__default["default"].createElement(core.DialogTitle, {
3442
3627
  disableTypography: true
3443
3628
  }, /*#__PURE__*/React__default["default"].createElement(DotTypography, {
@@ -3458,22 +3643,22 @@
3458
3643
  autoFocus: cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.autoFocus,
3459
3644
  className: cancelClasses,
3460
3645
  "data-testid": cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps['data-testid'],
3461
- disabled: cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.disabled,
3462
3646
  disableRipple: cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.disableRipple,
3647
+ disabled: cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.disabled,
3463
3648
  endIcon: cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.endIcon,
3464
- startIcon: cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.startIcon,
3465
3649
  onClick: handleCancel,
3650
+ startIcon: cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.startIcon,
3466
3651
  titleTooltip: cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.tooltip,
3467
3652
  type: "text"
3468
3653
  }, (cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.label) || 'Cancel'), hasPrimaryAction && /*#__PURE__*/React__default["default"].createElement(DotButton, {
3469
3654
  autoFocus: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.autoFocus,
3470
3655
  className: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.className,
3471
3656
  "data-testid": submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps['data-testid'],
3472
- disabled: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.disabled,
3473
3657
  disableRipple: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.disableRipple,
3658
+ disabled: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.disabled,
3474
3659
  endIcon: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.endIcon,
3475
- startIcon: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.startIcon,
3476
3660
  onClick: handleSubmit,
3661
+ startIcon: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.startIcon,
3477
3662
  titleTooltip: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.tooltip,
3478
3663
  type: (submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.type) || 'primary'
3479
3664
  }, (submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.label) || 'OK')));
@@ -3681,13 +3866,13 @@
3681
3866
  }))), /*#__PURE__*/React__default["default"].createElement("div", {
3682
3867
  className: "message"
3683
3868
  }, "NOT FOR PRODUCTION")), /*#__PURE__*/React__default["default"].createElement(StyledGridOverlay, {
3684
- rows: "minmax(100vh, 100%)",
3685
- className: gridClassName
3869
+ className: gridClassName,
3870
+ rows: "minmax(100vh, 100%)"
3686
3871
  }, __spreadArray([], Array(columns)).map(function (item, i) {
3687
3872
  return /*#__PURE__*/React__default["default"].createElement(CssCell, {
3688
- start: i + 1,
3689
3873
  className: "" + cellClassName,
3690
3874
  key: i,
3875
+ start: i + 1,
3691
3876
  width: 1
3692
3877
  });
3693
3878
  })));
@@ -3716,10 +3901,10 @@
3716
3901
  className: rootClasses,
3717
3902
  "data-testid": dataTestId
3718
3903
  }, imageSrc && /*#__PURE__*/React__default["default"].createElement("img", {
3719
- className: "empty-state-image",
3720
- title: imageAltText || title,
3721
3904
  alt: imageAltText || title,
3722
- src: imageSrc
3905
+ className: "empty-state-image",
3906
+ src: imageSrc,
3907
+ title: imageAltText || title
3723
3908
  }), /*#__PURE__*/React__default["default"].createElement(DotTypography, {
3724
3909
  variant: "h2"
3725
3910
  }, title), subtitle && /*#__PURE__*/React__default["default"].createElement(DotTypography, {
@@ -4077,7 +4262,16 @@
4077
4262
 
4078
4263
  var defaultInputValue = hasDebounce ? undefined : defaultValue;
4079
4264
  return /*#__PURE__*/React__default["default"].createElement(StyledTextField, {
4080
- id: id,
4265
+ InputProps: {
4266
+ startAdornment: startIcon && /*#__PURE__*/React__default["default"].createElement(StyledAdornment, {
4267
+ className: adornmentIconClassName + " start",
4268
+ position: "start"
4269
+ }, startIcon),
4270
+ endAdornment: endAdornmentIcon && /*#__PURE__*/React__default["default"].createElement(StyledAdornment, {
4271
+ className: adornmentIconClassName + " end",
4272
+ position: "end"
4273
+ }, endAdornmentIcon)
4274
+ },
4081
4275
  "aria-label": name,
4082
4276
  autoComplete: "off",
4083
4277
  autoFocus: autoFocus,
@@ -4089,21 +4283,12 @@
4089
4283
  error: error,
4090
4284
  fullWidth: fullWidth,
4091
4285
  helperText: helperText,
4286
+ id: id,
4092
4287
  inputProps: {
4093
4288
  'data-testid': dataTestId,
4094
4289
  className: 'dot-input',
4095
4290
  readOnly: readOnly
4096
4291
  },
4097
- InputProps: {
4098
- startAdornment: startIcon && /*#__PURE__*/React__default["default"].createElement(StyledAdornment, {
4099
- className: adornmentIconClassName + " start",
4100
- position: "start"
4101
- }, startIcon),
4102
- endAdornment: endAdornmentIcon && /*#__PURE__*/React__default["default"].createElement(StyledAdornment, {
4103
- className: adornmentIconClassName + " end",
4104
- position: "end"
4105
- }, endAdornmentIcon)
4106
- },
4107
4292
  inputRef: inputRef,
4108
4293
  label: label,
4109
4294
  multiline: multiline,
@@ -4118,8 +4303,8 @@
4118
4303
  rowsMax: multiline ? rowsMax : null,
4119
4304
  size: size,
4120
4305
  type: type,
4121
- variant: "outlined",
4122
- value: inputTextValue
4306
+ value: inputTextValue,
4307
+ variant: "outlined"
4123
4308
  });
4124
4309
  };
4125
4310
 
@@ -4157,11 +4342,23 @@
4157
4342
  var rootStyles = useStylesWithRootClass(rootSelectClassName, className);
4158
4343
  var hasWarning = !error && warning && warningClassName;
4159
4344
  return /*#__PURE__*/React__default["default"].createElement(StyledTextField, {
4345
+ InputProps: {
4346
+ startAdornment: startIcon && /*#__PURE__*/React__default["default"].createElement(StyledAdornment, {
4347
+ className: adornmentIconClassName + " start",
4348
+ position: "start"
4349
+ }, startIcon),
4350
+ endAdornment: endIcon && /*#__PURE__*/React__default["default"].createElement(StyledAdornment, {
4351
+ className: adornmentIconClassName + " end",
4352
+ position: "end"
4353
+ }, endIcon)
4354
+ },
4355
+ SelectProps: {
4356
+ "native": true
4357
+ },
4160
4358
  autoFocus: autoFocus,
4161
4359
  className: rootStyles + " " + hasWarning,
4162
4360
  defaultValue: defaultValue,
4163
4361
  disabled: disabled,
4164
- value: value,
4165
4362
  error: error,
4166
4363
  fullWidth: fullWidth,
4167
4364
  helperText: helperText,
@@ -4171,16 +4368,6 @@
4171
4368
  'data-testid': dataTestId,
4172
4369
  className: 'dot-select'
4173
4370
  },
4174
- InputProps: {
4175
- startAdornment: startIcon && /*#__PURE__*/React__default["default"].createElement(StyledAdornment, {
4176
- className: adornmentIconClassName + " start",
4177
- position: "start"
4178
- }, startIcon),
4179
- endAdornment: endIcon && /*#__PURE__*/React__default["default"].createElement(StyledAdornment, {
4180
- className: adornmentIconClassName + " end",
4181
- position: "end"
4182
- }, endIcon)
4183
- },
4184
4371
  inputRef: inputRef,
4185
4372
  label: label,
4186
4373
  multiline: false,
@@ -4191,10 +4378,8 @@
4191
4378
  onKeyDown: onKeyDown,
4192
4379
  required: required,
4193
4380
  select: true,
4194
- SelectProps: {
4195
- "native": true
4196
- },
4197
4381
  size: size,
4382
+ value: value,
4198
4383
  variant: "outlined"
4199
4384
  }, options.map(function (option) {
4200
4385
  return /*#__PURE__*/React__default["default"].createElement("option", {
@@ -4291,14 +4476,12 @@
4291
4476
 
4292
4477
  return /*#__PURE__*/React__default["default"].createElement(StyledFormControlLabel, {
4293
4478
  className: rootClasses,
4294
- labelPlacement: labelPlacement,
4295
- value: value,
4296
4479
  control: /*#__PURE__*/React__default["default"].createElement(StyledRadioButton, {
4297
4480
  "aria-label": ariaLabel,
4481
+ checked: checked,
4298
4482
  classes: {
4299
4483
  root: rootClassName$c
4300
4484
  },
4301
- checked: checked,
4302
4485
  color: "primary",
4303
4486
  "data-testid": dataTestId,
4304
4487
  disabled: disabled,
@@ -4309,7 +4492,9 @@
4309
4492
  required: required,
4310
4493
  size: size
4311
4494
  }),
4312
- label: label
4495
+ label: label,
4496
+ labelPlacement: labelPlacement,
4497
+ value: value
4313
4498
  });
4314
4499
  }
4315
4500
 
@@ -4358,9 +4543,9 @@
4358
4543
  value = _a.value,
4359
4544
  disabled = _a.disabled;
4360
4545
  return /*#__PURE__*/React__default["default"].createElement(DotRadioButton, {
4361
- key: value,
4362
4546
  checked: selectedValue === value,
4363
4547
  disabled: disabled || disableGroup,
4548
+ key: value,
4364
4549
  label: label,
4365
4550
  labelPlacement: labelPlacement,
4366
4551
  size: size,
@@ -4373,8 +4558,8 @@
4373
4558
  classes: {
4374
4559
  root: rootClasses
4375
4560
  },
4376
- error: error,
4377
4561
  component: "fieldset",
4562
+ error: error,
4378
4563
  required: required
4379
4564
  }, groupLabel && /*#__PURE__*/React__default["default"].createElement(core.FormLabel, {
4380
4565
  component: "legend"
@@ -4428,24 +4613,24 @@
4428
4613
 
4429
4614
  return /*#__PURE__*/React__default["default"].createElement(StyledFormControlLabel, {
4430
4615
  className: rootClassName$n,
4431
- labelPlacement: labelPlacement,
4432
4616
  control: /*#__PURE__*/React__default["default"].createElement(StyledSwitch, {
4617
+ checked: checked,
4433
4618
  classes: {
4434
4619
  root: rootClasses
4435
4620
  },
4436
- checked: checked,
4437
4621
  color: color,
4438
4622
  "data-testid": dataTestId,
4439
4623
  disabled: disabled,
4440
4624
  id: id,
4441
- inputRef: inputRef,
4442
4625
  inputProps: {
4443
4626
  'aria-label': ariaLabel ? ariaLabel : label
4444
4627
  },
4628
+ inputRef: inputRef,
4445
4629
  onChange: handleChange,
4446
4630
  size: size
4447
4631
  }),
4448
- label: label
4632
+ label: label,
4633
+ labelPlacement: labelPlacement
4449
4634
  });
4450
4635
  };
4451
4636
 
@@ -5207,6 +5392,13 @@
5207
5392
  return onKeyPress(event);
5208
5393
  }
5209
5394
  }, /*#__PURE__*/React__default["default"].createElement(core.TextField, {
5395
+ InputProps: {
5396
+ endAdornment: /*#__PURE__*/React__default["default"].createElement(core.InputAdornment, {
5397
+ position: "end"
5398
+ }, /*#__PURE__*/React__default["default"].createElement(DotIcon, {
5399
+ iconId: "edit"
5400
+ }))
5401
+ },
5210
5402
  "aria-label": name,
5211
5403
  autoComplete: "off",
5212
5404
  autoFocus: autoFocus,
@@ -5219,13 +5411,6 @@
5219
5411
  className: 'dot-input',
5220
5412
  readOnly: readOnly
5221
5413
  },
5222
- InputProps: {
5223
- endAdornment: /*#__PURE__*/React__default["default"].createElement(core.InputAdornment, {
5224
- position: "end"
5225
- }, /*#__PURE__*/React__default["default"].createElement(DotIcon, {
5226
- iconId: "edit"
5227
- }))
5228
- },
5229
5414
  multiline: false,
5230
5415
  name: name,
5231
5416
  onChange: function onChange(event) {
@@ -5384,8 +5569,8 @@
5384
5569
  },
5385
5570
  "data-testid": dataTestId,
5386
5571
  height: height,
5387
- width: width,
5388
- variant: skeletonVariant
5572
+ variant: skeletonVariant,
5573
+ width: width
5389
5574
  }, children);
5390
5575
  };
5391
5576
 
@@ -5482,14 +5667,14 @@
5482
5667
  return /*#__PURE__*/React__default["default"].createElement(StyledSnackbarContainer, {
5483
5668
  className: rootClassName$5
5484
5669
  }, /*#__PURE__*/React__default["default"].createElement("div", {
5485
- "data-testid": rootClassName$5,
5486
- className: rootClassName$5
5670
+ className: rootClassName$5,
5671
+ "data-testid": rootClassName$5
5487
5672
  }, alerts.slice().reverse().map(function (alert) {
5488
5673
  return /*#__PURE__*/React__default["default"].createElement(DotSnackbar, {
5489
5674
  key: alert.id,
5490
- severity: alert.severity,
5491
5675
  onClose: handleClose(alert.id),
5492
- open: alert.open
5676
+ open: alert.open,
5677
+ severity: alert.severity
5493
5678
  }, alert.message);
5494
5679
  })));
5495
5680
  };
@@ -5612,8 +5797,8 @@
5612
5797
  autoFocus: autoFocus,
5613
5798
  className: "label-button",
5614
5799
  "data-testid": dataTestId,
5615
- disabled: disabled,
5616
5800
  disableRipple: disableRipple,
5801
+ disabled: disabled,
5617
5802
  isSubmit: isSubmit,
5618
5803
  onClick: function onClick(event) {
5619
5804
  return handleClick(event);
@@ -5624,8 +5809,8 @@
5624
5809
  }, children), /*#__PURE__*/React__default["default"].createElement(DotButton, {
5625
5810
  className: "expand-button",
5626
5811
  "data-testid": dataTestId,
5627
- disabled: disabled,
5628
5812
  disableRipple: disableRipple,
5813
+ disabled: disabled,
5629
5814
  onClick: function onClick() {
5630
5815
  return setOpen(!open);
5631
5816
  },
@@ -5644,8 +5829,8 @@
5644
5829
  onLeave: function onLeave() {
5645
5830
  return setOpen(false);
5646
5831
  },
5647
- open: open,
5648
- onSelect: handleClick
5832
+ onSelect: handleClick,
5833
+ open: open
5649
5834
  }));
5650
5835
  };
5651
5836
 
@@ -5713,8 +5898,8 @@
5713
5898
  var getTableCellValue = function getTableCellValue() {
5714
5899
  if (Array.isArray(value)) {
5715
5900
  return /*#__PURE__*/React__default["default"].createElement("div", {
5716
- ref: wrapperRef,
5717
- className: "action-cell-wrapper"
5901
+ className: "action-cell-wrapper",
5902
+ ref: wrapperRef
5718
5903
  }, showMenu ? /*#__PURE__*/React__default["default"].createElement(DotIconButton, {
5719
5904
  className: "dot-table-action-icon",
5720
5905
  iconId: "options",
@@ -5742,8 +5927,8 @@
5742
5927
  };
5743
5928
 
5744
5929
  return /*#__PURE__*/React__default["default"].createElement(core.TableCell, {
5745
- "aria-label": ariaLabel,
5746
5930
  align: align,
5931
+ "aria-label": ariaLabel,
5747
5932
  classes: {
5748
5933
  root: rootClasses
5749
5934
  },
@@ -5855,8 +6040,8 @@
5855
6040
  }
5856
6041
  }, data.map(function (row, index) {
5857
6042
  return /*#__PURE__*/React__default["default"].createElement(DotTableRow, {
5858
- columns: columns,
5859
6043
  className: row.className,
6044
+ columns: columns,
5860
6045
  data: row,
5861
6046
  key: index,
5862
6047
  onActionMenuTrigger: handleActionMenuTrigger,
@@ -5908,9 +6093,9 @@
5908
6093
  key: CreateUUID(),
5909
6094
  order: order,
5910
6095
  orderBy: orderBy,
5911
- truncate: cell.truncate,
5912
- sortable: sortable && cell.sortable,
5913
6096
  sortDirection: orderBy === cell.id ? order : undefined,
6097
+ sortable: sortable && cell.sortable,
6098
+ truncate: cell.truncate,
5914
6099
  uid: CreateUUID(),
5915
6100
  value: cell.label,
5916
6101
  width: cell.width
@@ -5959,10 +6144,10 @@
5959
6144
  return /*#__PURE__*/React__default["default"].createElement(core.TableCell, {
5960
6145
  align: align,
5961
6146
  key: uid,
5962
- title: headerTitle,
5963
6147
  style: {
5964
6148
  width: width ? width : ''
5965
- }
6149
+ },
6150
+ title: headerTitle
5966
6151
  }, value);
5967
6152
  };
5968
6153
 
@@ -6255,8 +6440,8 @@
6255
6440
  var tabElement = /*#__PURE__*/React__default["default"].createElement(core.Tab, {
6256
6441
  "aria-label": tab.ariaLabel,
6257
6442
  "data-testid": tab['data-testid'],
6258
- disabled: tab.disabled,
6259
6443
  disableRipple: true,
6444
+ disabled: tab.disabled,
6260
6445
  key: index,
6261
6446
  label: label,
6262
6447
  value: tab.value