@digital-ai/dot-components 1.3.6 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/CHANGE_LOG.md +725 -39
  2. package/dot-components.esm.js +469 -262
  3. package/dot-components.umd.js +483 -278
  4. package/lib/components/BaseButtonProps.d.ts +2 -2
  5. package/lib/components/accordion/Accordion.d.ts +11 -4
  6. package/lib/components/auto-complete/AutoComplete.d.ts +3 -3
  7. package/lib/components/avatar/Avatar.d.ts +2 -2
  8. package/lib/components/breadcrumbs/Breadcrumbs.data.d.ts +2 -0
  9. package/lib/components/breadcrumbs/Breadcrumbs.styles.d.ts +2 -0
  10. package/lib/components/breadcrumbs/utils/helpers.d.ts +19 -0
  11. package/lib/components/breadcrumbs/utils/useBreadcrumbsObserver.d.ts +11 -0
  12. package/lib/components/breadcrumbs/utils/useBreadcrumbsResizer.d.ts +16 -0
  13. package/lib/components/button/IconButton.d.ts +2 -2
  14. package/lib/components/button-toggle/ButtonToggle.d.ts +2 -2
  15. package/lib/components/chip/Chip.d.ts +4 -4
  16. package/lib/components/css-grid/CssCell.d.ts +5 -5
  17. package/lib/components/css-grid/CssGrid.d.ts +4 -4
  18. package/lib/components/drawer/Drawer.d.ts +4 -4
  19. package/lib/components/dynamic-form/models.d.ts +8 -8
  20. package/lib/components/index.d.ts +1 -0
  21. package/lib/components/list/List.d.ts +1 -1
  22. package/lib/components/menu/Menu.d.ts +4 -4
  23. package/lib/components/radio/RadioButton.d.ts +2 -2
  24. package/lib/components/sidebar/Sidebar.d.ts +2 -2
  25. package/lib/components/table/Table.d.ts +6 -6
  26. package/lib/components/table/TableCell.d.ts +1 -1
  27. package/lib/components/table/TableDataWithPagination.d.ts +4 -4
  28. package/lib/components/table/TableHeader.d.ts +2 -2
  29. package/lib/testing-utils/resize-observer-mock.d.ts +1 -0
  30. package/package.json +1 -1
@@ -206,7 +206,7 @@
206
206
  var detailClassName = 'dot-accordion-details';
207
207
  var StyledAccordion = styled__default["default"](core.Accordion)(templateObject_2$H || (templateObject_2$H = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
208
208
  var theme = _a.theme;
209
- return styled.css(templateObject_1$L || (templateObject_1$L = __makeTemplateObject(["\n &.", " {\n background: ", ";\n\n .", " {\n align-items: center;\n display: flex;\n\n .MuiAccordionSummary-content {\n width: calc(100% - ", "px);\n }\n\n .MuiTypography-root {\n margin-bottom: 0;\n }\n .dot-icon {\n margin-right: ", "px;\n }\n .MuiTypography-body1 {\n padding: 2px 0;\n }\n }\n }\n "], ["\n &.", " {\n background: ", ";\n\n .", " {\n align-items: center;\n display: flex;\n\n .MuiAccordionSummary-content {\n width: calc(100% - ", "px);\n }\n\n .MuiTypography-root {\n margin-bottom: 0;\n }\n .dot-icon {\n margin-right: ", "px;\n }\n .MuiTypography-body1 {\n padding: 2px 0;\n }\n }\n }\n "])), rootClassName$H, theme.palette.product === 'agility' && theme.palette.layer.n50, summaryClassName, theme.spacing(5), theme.spacing(0.5));
209
+ return styled.css(templateObject_1$L || (templateObject_1$L = __makeTemplateObject(["\n &.", " {\n background: ", ";\n\n .", " {\n align-items: center;\n display: flex;\n\n .MuiAccordionSummary-content {\n width: calc(100% - ", "px);\n }\n\n .MuiTypography-root {\n margin-bottom: 0;\n }\n .MuiTypography-body1 {\n padding: 2px 0;\n }\n }\n }\n "], ["\n &.", " {\n background: ", ";\n\n .", " {\n align-items: center;\n display: flex;\n\n .MuiAccordionSummary-content {\n width: calc(100% - ", "px);\n }\n\n .MuiTypography-root {\n margin-bottom: 0;\n }\n .MuiTypography-body1 {\n padding: 2px 0;\n }\n }\n }\n "])), rootClassName$H, theme.palette.product === 'agility' && theme.palette.layer.n50, summaryClassName, theme.spacing(5));
210
210
  });
211
211
  var templateObject_1$L, templateObject_2$H;
212
212
 
@@ -217,34 +217,52 @@
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 ? false : _c,
222
- _d = _a.disabled,
223
- disabled = _d === void 0 ? false : _d,
224
- _e = _a.hasElevation,
225
- hasElevation = _e === void 0 ? false : _e,
226
- _f = _a.square,
227
- square = _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,
226
+ onChange = _a.onChange,
227
+ _e = _a.square,
228
+ square = _e === void 0 ? false : _e,
228
229
  startIcon = _a.startIcon,
229
230
  summary = _a.summary,
230
- _g = _a.noWrap,
231
- noWrap = _g === void 0 ? true : _g;
231
+ _f = _a.noWrap,
232
+ noWrap = _f === void 0 ? true : _f;
232
233
  var rootClasses = useStylesWithRootClass(rootClassName$H, className);
233
234
 
234
- var _h = React.useState(),
235
- elevation = _h[0],
236
- setElevation = _h[1];
235
+ var _g = React.useState(),
236
+ elevation = _g[0],
237
+ setElevation = _g[1];
237
238
 
239
+ React.useEffect(function () {
240
+ if (defaultExpanded !== undefined) {
241
+ console.warn('The use of `defaultExpanded` is deprecated and will be removed in the next major release, please use `expanded` instead.');
242
+ }
243
+
244
+ if (onChange && expanded === undefined) {
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.');
246
+ }
247
+ }, []);
238
248
  React.useEffect(function () {
239
249
  setElevation(hasElevation ? 1 : 0);
240
250
  }, [hasElevation]);
251
+ var dftExpanded = defaultExpanded;
252
+
253
+ if (dftExpanded === undefined) {
254
+ dftExpanded = expanded === undefined ? false : expanded;
255
+ }
256
+
241
257
  return /*#__PURE__*/React__default["default"].createElement(StyledAccordion, {
242
258
  "aria-label": ariaLabel,
243
259
  className: rootClasses,
244
260
  "data-testid": dataTestId,
245
- defaultExpanded: defaultExpanded,
261
+ defaultExpanded: dftExpanded,
246
262
  disabled: disabled,
247
263
  elevation: elevation,
264
+ expanded: onChange ? expanded : undefined,
265
+ onChange: onChange,
248
266
  square: square
249
267
  }, /*#__PURE__*/React__default["default"].createElement(core.AccordionSummary, {
250
268
  className: summaryClassName,
@@ -252,11 +270,11 @@
252
270
  expandIcon: /*#__PURE__*/React__default["default"].createElement(DotIcon, {
253
271
  iconId: "chevron-down"
254
272
  })
255
- }, startIcon, /*#__PURE__*/React__default["default"].createElement(DotTypography, {
256
- variant: "body1",
257
- noWrap: noWrap
258
- }, /*#__PURE__*/React__default["default"].createElement(DotTooltip, {
273
+ }, startIcon, /*#__PURE__*/React__default["default"].createElement(DotTooltip, {
259
274
  title: noWrap ? summary : ''
275
+ }, /*#__PURE__*/React__default["default"].createElement(DotTypography, {
276
+ noWrap: noWrap,
277
+ variant: "body1"
260
278
  }, summary))), /*#__PURE__*/React__default["default"].createElement(core.AccordionDetails, {
261
279
  className: detailClassName,
262
280
  "data-testid": dataTestId + "-details"
@@ -618,8 +636,8 @@
618
636
  },
619
637
  color: color,
620
638
  "data-testid": dataTestId,
621
- disabled: disabled,
622
639
  disableRipple: disableRipple,
640
+ disabled: disabled,
623
641
  onClick: function onClick(event) {
624
642
  return _onClick && _onClick(event);
625
643
  },
@@ -683,8 +701,8 @@
683
701
  "data-testid": dataTestId,
684
702
  href: href,
685
703
  onClick: onClick,
686
- onMouseEnter: onMouseEnter,
687
704
  onKeyPress: handleKeyPress,
705
+ onMouseEnter: onMouseEnter,
688
706
  rel: rel,
689
707
  tabIndex: tabIndex,
690
708
  target: target,
@@ -1250,6 +1268,51 @@
1250
1268
  return colorOptions[numberFromValue % colorOptions.length];
1251
1269
  };
1252
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
+
1253
1316
  var DotAvatar = function DotAvatar(_a) {
1254
1317
  var alt = _a.alt,
1255
1318
  ariaLabel = _a.ariaLabel,
@@ -1279,52 +1342,33 @@
1279
1342
  return 'default';
1280
1343
  };
1281
1344
 
1282
- var parsedText = function parsedText() {
1283
- var textArray = text.split(' ');
1284
-
1285
- if (textArray.length > 1) {
1286
- var firstInitial = textArray[0].slice(0, 1);
1287
- var secondInitial = textArray[1].slice(0, 1);
1288
- return "" + firstInitial + secondInitial;
1289
- } else {
1290
- return text ? text.slice(0, 1) : '';
1291
- }
1292
- };
1293
-
1294
- var getHeadingFromAvatarSize = function getHeadingFromAvatarSize() {
1295
- return size === 'large' ? 'h1' : 'h3';
1296
- };
1297
-
1298
- var getIconFontSizeFromAvatarSize = function getIconFontSizeFromAvatarSize() {
1299
- return size === 'small' ? size : 'medium';
1300
- };
1301
-
1302
1345
  return /*#__PURE__*/React__default["default"].createElement(DotTooltip, {
1303
1346
  title: tooltip
1304
1347
  }, /*#__PURE__*/React__default["default"].createElement(StyledAvatar, {
1305
1348
  alt: alt,
1306
1349
  "aria-label": ariaLabel,
1307
1350
  className: size,
1308
- color: getAvatarColor(),
1309
- component: _onClick ? 'button' : component,
1310
1351
  classes: {
1311
1352
  root: rootClasses,
1312
1353
  img: 'dot-img'
1313
1354
  },
1355
+ color: getAvatarColor(),
1356
+ component: _onClick ? 'button' : component,
1314
1357
  "data-testid": dataTestId,
1315
1358
  onClick: function onClick(event) {
1316
1359
  return _onClick ? _onClick(event) : null;
1317
1360
  },
1318
1361
  src: type === 'image' ? imageSrc : null,
1319
- variant: variant,
1320
- style: style
1321
- }, type === 'icon' || type === 'image' && !imageSrc ? /*#__PURE__*/React__default["default"].createElement(DotIcon, {
1322
- "data-testid": dataTestId + "-icon",
1323
- iconId: iconId ? iconId : 'user',
1324
- fontSize: getIconFontSizeFromAvatarSize()
1325
- }) : type === 'text' ? /*#__PURE__*/React__default["default"].createElement(DotTypography, {
1326
- variant: size === 'small' ? 'caption' : getHeadingFromAvatarSize()
1327
- }, 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
+ })));
1328
1372
  };
1329
1373
 
1330
1374
  var rootClassName$B = 'dot-drawer';
@@ -1361,16 +1405,16 @@
1361
1405
  width = _e === void 0 ? '256px' : _e;
1362
1406
  var rootClasses = useStylesWithRootClass(rootClassName$B, className);
1363
1407
  return /*#__PURE__*/React__default["default"].createElement(StyledDrawer, {
1364
- "aria-label": ariaLabel,
1365
- "data-testid": dataTestId,
1408
+ ModalProps: ModalProps,
1409
+ PaperProps: PaperProps,
1366
1410
  anchor: anchor,
1411
+ "aria-label": ariaLabel,
1367
1412
  classes: {
1368
1413
  root: rootClasses,
1369
1414
  paper: 'dot-drawer-paper'
1370
1415
  },
1416
+ "data-testid": dataTestId,
1371
1417
  height: height,
1372
- ModalProps: ModalProps,
1373
- PaperProps: PaperProps,
1374
1418
  onClose: function onClose(event) {
1375
1419
  return _onClose && _onClose(event);
1376
1420
  },
@@ -1561,10 +1605,10 @@
1561
1605
  return /*#__PURE__*/React__default["default"].createElement(core.MenuItem, {
1562
1606
  "aria-label": item.ariaLabel,
1563
1607
  className: "dot-li " + (item.classes ? item.classes : ''),
1608
+ key: index,
1564
1609
  onClick: function onClick(event) {
1565
1610
  return handleSelect(event, item.key);
1566
1611
  },
1567
- key: index,
1568
1612
  style: {
1569
1613
  height: calculateItemHeight()
1570
1614
  }
@@ -1584,11 +1628,11 @@
1584
1628
  var theme = _a.theme;
1585
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));
1586
1630
  });
1587
- 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) {
1588
1632
  var theme = _a.theme;
1589
- 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);
1590
1634
  });
1591
- 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;
1592
1636
 
1593
1637
  var CreateUUID = function CreateUUID() {
1594
1638
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
@@ -1648,8 +1692,8 @@
1648
1692
  component: href && !onClick ? 'a' : null,
1649
1693
  href: href,
1650
1694
  key: parentItemIndex + "-" + index,
1651
- target: target,
1652
- onClick: onClick
1695
+ onClick: onClick,
1696
+ target: target
1653
1697
  }, /*#__PURE__*/React__default["default"].createElement("span", {
1654
1698
  className: flyoutSpanClasses
1655
1699
  }, startIconId && startIcon, /*#__PURE__*/React__default["default"].createElement(DotTypography, {
@@ -1660,30 +1704,30 @@
1660
1704
  };
1661
1705
  });
1662
1706
  return /*#__PURE__*/React__default["default"].createElement(DotMenu, {
1663
- ariaLabel: ariaLabel,
1664
1707
  anchorEl: anchorEl,
1708
+ ariaLabel: ariaLabel,
1665
1709
  className: flyoutMenuClassName,
1666
1710
  id: CreateUUID(),
1711
+ key: parentItemIndex,
1667
1712
  menuItemHeight: "auto",
1668
1713
  menuItems: menuItems,
1669
1714
  menuPlacement: menuPlacement,
1670
1715
  onLeave: onMenuLeave,
1671
- open: open,
1672
- key: parentItemIndex
1716
+ open: open
1673
1717
  });
1674
1718
  }
1675
1719
 
1676
1720
  if (type === 'drawer') {
1677
1721
  return /*#__PURE__*/React__default["default"].createElement(DotDrawer, {
1678
- anchor: "left",
1679
- className: nestedDrawerClassName,
1680
- "data-testid": "nested-drawer",
1681
- open: open,
1682
1722
  PaperProps: {
1683
1723
  style: {
1684
1724
  left: nestedDrawerLeftSpacing + "px"
1685
1725
  }
1686
1726
  },
1727
+ anchor: "left",
1728
+ className: nestedDrawerClassName,
1729
+ "data-testid": "nested-drawer",
1730
+ open: open,
1687
1731
  variant: "persistent"
1688
1732
  }, /*#__PURE__*/React__default["default"].createElement(DotList, {
1689
1733
  ariaLabel: ariaLabel,
@@ -1776,8 +1820,8 @@
1776
1820
 
1777
1821
  if (item.divider) {
1778
1822
  return /*#__PURE__*/React__default["default"].createElement(DotListDivider, {
1779
- item: item,
1780
1823
  index: index,
1824
+ item: item,
1781
1825
  key: "divider-" + index
1782
1826
  });
1783
1827
  }
@@ -1790,12 +1834,12 @@
1790
1834
  href: item.href,
1791
1835
  isOpened: listItemIndex === index,
1792
1836
  items: item.items,
1793
- onClick: item.href && !item.onClick ? null : handleListItemClick,
1794
- onMenuLeave: handleMenuLeave,
1795
1837
  key: index,
1796
1838
  menuPlacement: menuPlacement,
1797
1839
  nestedDrawerLeftSpacing: nestedDrawerLeftSpacing,
1798
1840
  nestedListType: nestedListType,
1841
+ onClick: item.href && !item.onClick ? null : handleListItemClick,
1842
+ onMenuLeave: handleMenuLeave,
1799
1843
  primaryText: item.primaryText,
1800
1844
  secondaryText: item.secondaryText,
1801
1845
  selected: item.selected,
@@ -1928,11 +1972,11 @@
1928
1972
  className: "toggle-display",
1929
1973
  iconId: getChevronIcon()
1930
1974
  })) : endIconId && endIcon)), hasChildren && /*#__PURE__*/React__default["default"].createElement(NestedList, {
1931
- ariaLabel: "nested list",
1932
1975
  anchorEl: anchorEl,
1976
+ ariaLabel: "nested list",
1933
1977
  items: items,
1934
- nestedDrawerLeftSpacing: nestedDrawerLeftSpacing,
1935
1978
  menuPlacement: menuPlacement,
1979
+ nestedDrawerLeftSpacing: nestedDrawerLeftSpacing,
1936
1980
  onMenuLeave: handleMenuLeave,
1937
1981
  open: isOpened,
1938
1982
  type: nestedListType
@@ -2210,11 +2254,11 @@
2210
2254
  var StyledMainMenu = styled__default["default"](DotDrawer)(templateObject_2$x || (templateObject_2$x = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function () {
2211
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);
2212
2256
  });
2213
- 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) {
2214
2258
  var theme = _a.theme;
2215
- 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);
2216
2260
  });
2217
- 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;
2218
2262
 
2219
2263
  var DotAppToolbar = function DotAppToolbar(_a) {
2220
2264
  var appName = _a.appName,
@@ -2243,8 +2287,9 @@
2243
2287
  var showMainMenu = mainMenu || mainMenuItems;
2244
2288
  var displayAppLogo = appLogo || appLogoSmall;
2245
2289
  var mainMenuRef = React.useRef(null);
2246
- var rootClasses = useStylesWithRootClass(rootClassName$w, className, dense ? denseClassName : '');
2247
- 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' : '');
2248
2293
  var targetBreakpoint = core.useMediaQuery(function (theme) {
2249
2294
  return theme.breakpoints.up('md');
2250
2295
  });
@@ -2301,8 +2346,8 @@
2301
2346
  return updateMenuOpen(false);
2302
2347
  },
2303
2348
  open: menuOpen,
2304
- width: mainMenuWidth + 'px',
2305
- variant: "persistent"
2349
+ variant: "persistent",
2350
+ width: mainMenuWidth + 'px'
2306
2351
  }, /*#__PURE__*/React__default["default"].createElement("div", {
2307
2352
  ref: mainMenuRef
2308
2353
  }, mainMenuItems ? /*#__PURE__*/React__default["default"].createElement(DotSidebar, {
@@ -2336,10 +2381,10 @@
2336
2381
  className: item.className,
2337
2382
  iconId: item.iconId,
2338
2383
  iconSize: "default",
2384
+ key: index,
2339
2385
  onClick: function onClick(event) {
2340
2386
  return item.onClick && item.onClick(event);
2341
2387
  },
2342
- key: index,
2343
2388
  size: "medium",
2344
2389
  tooltip: item.tooltip
2345
2390
  });
@@ -2411,12 +2456,12 @@
2411
2456
  var warningClassName = 'dot-warning';
2412
2457
  var adornmentIconClassName = 'dot-adornment-icon';
2413
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"])));
2414
- 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) {
2415
2460
  var theme = _a.theme,
2416
2461
  InputProps = _a.InputProps;
2417
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);
2418
2463
  });
2419
- var templateObject_1$w, templateObject_2$u, templateObject_3$5;
2464
+ var templateObject_1$w, templateObject_2$u, templateObject_3$6;
2420
2465
 
2421
2466
  var rootClassName$s = 'dot-button';
2422
2467
  var StyledButton = styled__default["default"](core.Button)(templateObject_2$t || (templateObject_2$t = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
@@ -2495,18 +2540,18 @@
2495
2540
  },
2496
2541
  color: color,
2497
2542
  "data-testid": dataTestId,
2498
- disabled: disabled,
2499
2543
  disableRipple: disableRipple,
2544
+ disabled: disabled,
2500
2545
  endIcon: endIcon,
2501
2546
  fullWidth: fullWidth,
2502
2547
  onClick: function onClick(event) {
2503
2548
  return _onClick && _onClick(event);
2504
2549
  },
2505
2550
  ref: ref,
2506
- variant: variant,
2507
2551
  size: size,
2508
2552
  startIcon: startIcon,
2509
- type: isSubmit ? 'submit' : 'button'
2553
+ type: isSubmit ? 'submit' : 'button',
2554
+ variant: variant
2510
2555
  }, children));
2511
2556
  });
2512
2557
 
@@ -2656,9 +2701,7 @@
2656
2701
 
2657
2702
  /* Add this to short circuit blur event (otherwise button click will not work):
2658
2703
  * https://github.com/mui-org/material-ui/issues/19038 */
2659
- onMouseDown: function onMouseDown(e) {
2660
- e.preventDefault();
2661
- },
2704
+ onBlur: handleBlur,
2662
2705
  onKeyDown: function onKeyDown(event) {
2663
2706
  if (event.key === 'Tab' && textFieldInput) {
2664
2707
  event.preventDefault();
@@ -2666,7 +2709,9 @@
2666
2709
  }
2667
2710
  },
2668
2711
  // We want to close the popper each time focus is shifted from action item
2669
- onBlur: handleBlur
2712
+ onMouseDown: function onMouseDown(e) {
2713
+ e.preventDefault();
2714
+ }
2670
2715
  }, /*#__PURE__*/React__default["default"].createElement(DotButton, {
2671
2716
  "data-testid": "dot-action-item-btn",
2672
2717
  disableRipple: true,
@@ -2682,6 +2727,7 @@
2682
2727
  };
2683
2728
 
2684
2729
  return /*#__PURE__*/React__default["default"].createElement(StyledAutocomplete, {
2730
+ PopperComponent: DotPopper,
2685
2731
  "aria-label": ariaLabel,
2686
2732
  classes: {
2687
2733
  root: rootClasses
@@ -2698,6 +2744,7 @@
2698
2744
  return option.group;
2699
2745
  } : undefined,
2700
2746
  multiple: multiple,
2747
+ onBlur: handleBlur,
2701
2748
  onChange: function onChange(event, val, reason) {
2702
2749
  valuesChanged({
2703
2750
  event: event,
@@ -2706,20 +2753,18 @@
2706
2753
  });
2707
2754
  setIsOpened(false);
2708
2755
  },
2709
- open: isOpened,
2710
- options: sortOptions(),
2711
- PopperComponent: DotPopper,
2712
- // We want to close the popper each time focus is shifted from the autocomplete
2713
- onBlur: handleBlur,
2714
2756
  onClose: function onClose(event) {
2715
2757
  // We want to close popper in each occasion where focus isn't set to action item
2716
2758
  if (!('relatedTarget' in event) || event.relatedTarget !== actionItemRef.current) {
2717
2759
  setIsOpened(false);
2718
2760
  }
2719
2761
  },
2762
+ // We want to close the popper each time focus is shifted from the autocomplete
2720
2763
  onOpen: function onOpen() {
2721
2764
  return setIsOpened(true);
2722
2765
  },
2766
+ open: isOpened,
2767
+ options: sortOptions(),
2723
2768
  renderInput: function renderInput(params) {
2724
2769
  return (
2725
2770
  /*#__PURE__*/
@@ -2743,9 +2788,6 @@
2743
2788
  inputRef: textFieldRef,
2744
2789
  label: label,
2745
2790
  name: label,
2746
- placeholder: showPlaceholder ? placeholder : undefined,
2747
- required: false,
2748
- variant: "outlined",
2749
2791
  onKeyDown: function onKeyDown(event) {
2750
2792
  var _a; // Intercept 'tab' key press while action item element exists
2751
2793
 
@@ -2754,7 +2796,10 @@
2754
2796
  event.preventDefault();
2755
2797
  (_a = actionItemRef === null || actionItemRef === void 0 ? void 0 : actionItemRef.current) === null || _a === void 0 ? void 0 : _a.focus();
2756
2798
  }
2757
- }
2799
+ },
2800
+ placeholder: showPlaceholder ? placeholder : undefined,
2801
+ required: false,
2802
+ variant: "outlined"
2758
2803
  }))
2759
2804
  );
2760
2805
  },
@@ -2828,146 +2873,306 @@
2828
2873
  };
2829
2874
 
2830
2875
  var rootClassName$q = 'dot-breadcrumbs';
2831
- 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) {
2832
2878
  var theme = _a.theme;
2833
- 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]);
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));
2834
2880
  });
2835
- var templateObject_1$t, templateObject_2$r;
2881
+ var StyledBreadcrumbs = styled__default["default"](core.Breadcrumbs)(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
2882
+ var theme = _a.theme;
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]);
2884
+ });
2885
+ var templateObject_1$t, templateObject_2$r, templateObject_3$5, templateObject_4$3;
2836
2886
 
2837
2887
  var compareWidth = function compareWidth(parentEl, childEl) {
2838
2888
  return parentEl.getBoundingClientRect().width < childEl.getBoundingClientRect().width;
2839
2889
  };
2840
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
+
2841
3079
  var DotBreadcrumbs = function DotBreadcrumbs(_a) {
2842
3080
  var className = _a.className,
2843
3081
  dataTestId = _a["data-testid"],
2844
3082
  _b = _a.expansionMenu,
2845
3083
  expansionMenu = _b === void 0 ? false : _b,
2846
3084
  items = _a.items,
2847
- _c = _a.maxItems,
2848
- maxItems = _c === void 0 ? 3 : _c,
3085
+ maxItems = _a.maxItems,
2849
3086
  minWidth = _a.minWidth;
2850
- var rootClasses = useStylesWithRootClass(rootClassName$q, className);
2851
- var breadcrumbRef = React.useRef();
3087
+ var wrapperRootClasses = useStylesWithRootClass(breadcrumbsWrapperClass, className);
2852
3088
  var wrapperRef = React.useRef();
2853
3089
 
2854
- var _d = React.useState(null),
2855
- anchorEl = _d[0],
2856
- setAnchorEl = _d[1];
3090
+ var _c = React.useState(null),
3091
+ anchorEl = _c[0],
3092
+ setAnchorEl = _c[1];
2857
3093
 
2858
- var _e = React.useState(false),
2859
- menuOpen = _e[0],
2860
- setMenuOpen = _e[1];
3094
+ var _d = React.useState(false),
3095
+ menuOpen = _d[0],
3096
+ setMenuOpen = _d[1];
2861
3097
 
2862
- var _f = React.useState(false),
2863
- adjustMaxItems = _f[0],
2864
- 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
+ };
2865
3115
 
2866
3116
  var clickListener = function clickListener(event) {
3117
+ if (event instanceof KeyboardEvent && event.key !== 'Enter') return;
2867
3118
  event.stopPropagation();
2868
3119
  setMenuOpen(function (currentMenuOpen) {
2869
3120
  return !currentMenuOpen;
2870
3121
  });
2871
3122
  };
2872
3123
 
2873
- var getExpandElement = function getExpandElement() {
2874
- var elements = document.getElementsByClassName('MuiBreadcrumbs-ol');
2875
- return elements.length === 1 ? elements[0].getElementsByClassName('MuiButtonBase-root')[0] : null;
2876
- };
2877
-
2878
- var getMenuItems = function getMenuItems() {
2879
- return items.slice(1, items.length - 2).map(function (item, index) {
2880
- var itemChildren = /*#__PURE__*/React__default["default"].createElement(DotLink, {
2881
- ariaLabel: item.ariaLabel,
2882
- className: "breadcrumb",
2883
- color: "inherit",
2884
- href: item.href,
2885
- key: index,
2886
- onClick: item.onClick,
2887
- tabIndex: 0,
2888
- underline: item.underline
2889
- }, item.text);
2890
- return {
2891
- children: itemChildren,
2892
- key: index.toString()
2893
- };
2894
- });
2895
- };
2896
-
2897
- var menuItems = items.length > maxItems ? getMenuItems() : null;
2898
-
2899
3124
  var onMenuLeave = function onMenuLeave(_event) {
2900
3125
  setMenuOpen(false);
2901
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
+
2902
3132
 
2903
3133
  React.useEffect(function () {
2904
- if (expansionMenu) {
2905
- var expandElement_1 = getExpandElement();
2906
-
2907
- if (expandElement_1) {
2908
- setAnchorEl(expandElement_1);
2909
- expandElement_1.addEventListener('click', clickListener);
2910
- return function () {
2911
- expandElement_1.removeEventListener('click', clickListener);
2912
- };
2913
- }
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
+ };
2914
3143
  }
2915
- }, []);
3144
+ }, [expansionMenu, maxVisibleItems, adjustMaxItems, items]);
2916
3145
  React.useEffect(function () {
2917
- 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)) {
2918
3147
  setAdjustMaxItems(compareWidth(wrapperRef.current, breadcrumbRef.current));
2919
3148
  }
2920
- }, [breadcrumbRef === null || breadcrumbRef === void 0 ? void 0 : breadcrumbRef.current, wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current]);
2921
- return /*#__PURE__*/React__default["default"].createElement("div", {
2922
- ref: wrapperRef,
2923
- style: {
2924
- overflow: 'hidden'
2925
- }
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
2926
3154
  }, /*#__PURE__*/React__default["default"].createElement(StyledBreadcrumbs, {
2927
3155
  "aria-label": "breadcrumb",
2928
3156
  classes: {
2929
- root: rootClasses,
3157
+ root: rootClassName$q,
2930
3158
  ol: 'dot-ol',
2931
3159
  li: 'dot-li'
2932
3160
  },
2933
3161
  "data-testid": dataTestId,
2934
- itemsAfterCollapse: adjustMaxItems ? 1 : 2,
2935
- maxItems: adjustMaxItems ? 2 : maxItems,
3162
+ itemsAfterCollapse: itemsAfterCollapse,
3163
+ maxItems: getMaxItems(adjustMaxItems, maxVisibleItems, maxItems),
2936
3164
  ref: breadcrumbRef,
2937
3165
  separator: /*#__PURE__*/React__default["default"].createElement(DotIcon, {
2938
- iconId: "chevron-right",
2939
- className: "separator"
3166
+ className: "separator",
3167
+ iconId: "chevron-right"
2940
3168
  }),
2941
3169
  style: {
2942
3170
  width: minWidth
2943
3171
  }
2944
- }, items.map(function (item, index) {
2945
- var ariaLabel = item.ariaLabel,
2946
- href = item.href,
2947
- onClick = item.onClick,
2948
- text = item.text,
2949
- underline = item.underline;
2950
-
2951
- if (index === items.length - 1) {
2952
- return /*#__PURE__*/React__default["default"].createElement("span", {
2953
- "aria-label": ariaLabel,
2954
- className: "breadcrumb current-page",
2955
- key: index
2956
- }, text);
2957
- } else {
2958
- return /*#__PURE__*/React__default["default"].createElement(DotLink, {
2959
- ariaLabel: ariaLabel,
2960
- className: "breadcrumb",
2961
- color: "inherit",
2962
- href: href,
2963
- key: index,
2964
- onClick: onClick,
2965
- tabIndex: 0,
2966
- underline: underline
2967
- }, text);
2968
- }
2969
- })), /*#__PURE__*/React__default["default"].createElement(DotMenu, {
3172
+ }, mapBreadcrumbItems(items, breadcrumbItemRefs, itemsAfterCollapse)), /*#__PURE__*/React__default["default"].createElement(DotMenu, {
2970
3173
  anchorEl: anchorEl,
3174
+ className: "dot-breadcrumbs-menu",
3175
+ disablePortal: true,
2971
3176
  id: "expand-menu",
2972
3177
  menuItems: menuItems,
2973
3178
  menuPlacement: "bottom-start",
@@ -3016,9 +3221,9 @@
3016
3221
  }, buttonOptions.map(function (option, key) {
3017
3222
  return /*#__PURE__*/React__default["default"].createElement(lab.ToggleButton, {
3018
3223
  "aria-label": option.ariaLabel,
3019
- disabled: option.disabled,
3020
3224
  disableFocusRipple: disableFocusRipple,
3021
3225
  disableRipple: disableRipple,
3226
+ disabled: option.disabled,
3022
3227
  key: key,
3023
3228
  value: option.value
3024
3229
  }, option.iconId && /*#__PURE__*/React__default["default"].createElement(DotIcon, {
@@ -3153,16 +3358,15 @@
3153
3358
 
3154
3359
  return /*#__PURE__*/React__default["default"].createElement(StyledFormControlLabel, {
3155
3360
  className: rootClasses,
3156
- labelPlacement: labelPlacement,
3157
3361
  control: /*#__PURE__*/React__default["default"].createElement(StyledCheckbox, {
3362
+ checked: checked,
3158
3363
  classes: {
3159
3364
  root: rootClassName$m
3160
3365
  },
3161
- checked: checked,
3162
3366
  color: "primary",
3163
3367
  "data-testid": dataTestId,
3164
- disabled: disabled,
3165
3368
  disableRipple: disableRipple,
3369
+ disabled: disabled,
3166
3370
  id: id,
3167
3371
  indeterminate: indeterminate,
3168
3372
  inputProps: {
@@ -3176,7 +3380,8 @@
3176
3380
  size: size,
3177
3381
  value: value
3178
3382
  }),
3179
- label: label
3383
+ label: label,
3384
+ labelPlacement: labelPlacement
3180
3385
  });
3181
3386
  }
3182
3387
 
@@ -3215,10 +3420,10 @@
3215
3420
  var rootClasses = useStylesWithRootClass(rootClassName$l, className);
3216
3421
  return /*#__PURE__*/React__default["default"].createElement(StyledFormGroup, {
3217
3422
  "aria-label": ariaLabel,
3218
- "data-testid": dataTestId,
3219
3423
  classes: {
3220
3424
  root: rootClasses
3221
3425
  },
3426
+ "data-testid": dataTestId,
3222
3427
  role: "group",
3223
3428
  row: row
3224
3429
  }, children);
@@ -3296,15 +3501,15 @@
3296
3501
  disabled = _a.disabled,
3297
3502
  value = _a.value;
3298
3503
  return /*#__PURE__*/React__default["default"].createElement(DotCheckbox, {
3299
- className: checkboxListItemClassName,
3300
3504
  checked: selectedOptions.some(function (option) {
3301
3505
  return option && option.value === value;
3302
3506
  }) || allChecked,
3507
+ className: checkboxListItemClassName,
3303
3508
  disabled: disabled || disableGroup,
3304
- name: name,
3305
3509
  key: value,
3306
3510
  label: label,
3307
3511
  labelPlacement: labelPlacement,
3512
+ name: name,
3308
3513
  onChange: function onChange(event) {
3309
3514
  return handleChange(event, {
3310
3515
  label: label,
@@ -3317,15 +3522,15 @@
3317
3522
  }) : null;
3318
3523
  return /*#__PURE__*/React__default["default"].createElement(StyledCheckboxGroup, {
3319
3524
  "aria-label": ariaLabel,
3320
- "data-testid": dataTestId,
3321
- className: wrapperClassName$1
3525
+ className: wrapperClassName$1,
3526
+ "data-testid": dataTestId
3322
3527
  }, /*#__PURE__*/React__default["default"].createElement(StyledFormControl, {
3323
3528
  classes: {
3324
3529
  root: rootClasses
3325
3530
  },
3531
+ component: "fieldset",
3326
3532
  disabled: disableGroup,
3327
3533
  error: error,
3328
- component: "fieldset",
3329
3534
  required: required
3330
3535
  }, groupLabel && /*#__PURE__*/React__default["default"].createElement(core.FormLabel, {
3331
3536
  component: "legend"
@@ -3338,8 +3543,8 @@
3338
3543
  }, endIcon)), showSelectAll && /*#__PURE__*/React__default["default"].createElement(DotCheckbox, {
3339
3544
  checked: selectedOptions.length === options.length,
3340
3545
  indeterminate: selectedOptions.length > 0 && selectedOptions.length < options.length,
3341
- name: name ? name + "-select-all" : 'dot-select-all',
3342
3546
  label: selectAllLabel,
3547
+ name: name ? name + "-select-all" : 'dot-select-all',
3343
3548
  onChange: handleSelectAll,
3344
3549
  size: size,
3345
3550
  value: "select-all"
@@ -3411,13 +3616,13 @@
3411
3616
 
3412
3617
  return /*#__PURE__*/React__default["default"].createElement(StyledDialog, {
3413
3618
  "aria-label": ariaLabel,
3619
+ "aria-labelledby": "MuiDialogTitle-root",
3414
3620
  classes: {
3415
3621
  root: rootClasses
3416
3622
  },
3417
3623
  "data-testid": dataTestId,
3418
- open: isOpen,
3419
3624
  onClose: handleClickAway,
3420
- "aria-labelledby": "MuiDialogTitle-root"
3625
+ open: isOpen
3421
3626
  }, /*#__PURE__*/React__default["default"].createElement(core.DialogTitle, {
3422
3627
  disableTypography: true
3423
3628
  }, /*#__PURE__*/React__default["default"].createElement(DotTypography, {
@@ -3438,22 +3643,22 @@
3438
3643
  autoFocus: cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.autoFocus,
3439
3644
  className: cancelClasses,
3440
3645
  "data-testid": cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps['data-testid'],
3441
- disabled: cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.disabled,
3442
3646
  disableRipple: cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.disableRipple,
3647
+ disabled: cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.disabled,
3443
3648
  endIcon: cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.endIcon,
3444
- startIcon: cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.startIcon,
3445
3649
  onClick: handleCancel,
3650
+ startIcon: cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.startIcon,
3446
3651
  titleTooltip: cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.tooltip,
3447
3652
  type: "text"
3448
3653
  }, (cancelButtonProps === null || cancelButtonProps === void 0 ? void 0 : cancelButtonProps.label) || 'Cancel'), hasPrimaryAction && /*#__PURE__*/React__default["default"].createElement(DotButton, {
3449
3654
  autoFocus: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.autoFocus,
3450
3655
  className: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.className,
3451
3656
  "data-testid": submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps['data-testid'],
3452
- disabled: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.disabled,
3453
3657
  disableRipple: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.disableRipple,
3658
+ disabled: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.disabled,
3454
3659
  endIcon: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.endIcon,
3455
- startIcon: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.startIcon,
3456
3660
  onClick: handleSubmit,
3661
+ startIcon: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.startIcon,
3457
3662
  titleTooltip: submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.tooltip,
3458
3663
  type: (submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.type) || 'primary'
3459
3664
  }, (submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.label) || 'OK')));
@@ -3661,13 +3866,13 @@
3661
3866
  }))), /*#__PURE__*/React__default["default"].createElement("div", {
3662
3867
  className: "message"
3663
3868
  }, "NOT FOR PRODUCTION")), /*#__PURE__*/React__default["default"].createElement(StyledGridOverlay, {
3664
- rows: "minmax(100vh, 100%)",
3665
- className: gridClassName
3869
+ className: gridClassName,
3870
+ rows: "minmax(100vh, 100%)"
3666
3871
  }, __spreadArray([], Array(columns)).map(function (item, i) {
3667
3872
  return /*#__PURE__*/React__default["default"].createElement(CssCell, {
3668
- start: i + 1,
3669
3873
  className: "" + cellClassName,
3670
3874
  key: i,
3875
+ start: i + 1,
3671
3876
  width: 1
3672
3877
  });
3673
3878
  })));
@@ -3696,10 +3901,10 @@
3696
3901
  className: rootClasses,
3697
3902
  "data-testid": dataTestId
3698
3903
  }, imageSrc && /*#__PURE__*/React__default["default"].createElement("img", {
3699
- className: "empty-state-image",
3700
- title: imageAltText || title,
3701
3904
  alt: imageAltText || title,
3702
- src: imageSrc
3905
+ className: "empty-state-image",
3906
+ src: imageSrc,
3907
+ title: imageAltText || title
3703
3908
  }), /*#__PURE__*/React__default["default"].createElement(DotTypography, {
3704
3909
  variant: "h2"
3705
3910
  }, title), subtitle && /*#__PURE__*/React__default["default"].createElement(DotTypography, {
@@ -4057,7 +4262,16 @@
4057
4262
 
4058
4263
  var defaultInputValue = hasDebounce ? undefined : defaultValue;
4059
4264
  return /*#__PURE__*/React__default["default"].createElement(StyledTextField, {
4060
- 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
+ },
4061
4275
  "aria-label": name,
4062
4276
  autoComplete: "off",
4063
4277
  autoFocus: autoFocus,
@@ -4069,21 +4283,12 @@
4069
4283
  error: error,
4070
4284
  fullWidth: fullWidth,
4071
4285
  helperText: helperText,
4286
+ id: id,
4072
4287
  inputProps: {
4073
4288
  'data-testid': dataTestId,
4074
4289
  className: 'dot-input',
4075
4290
  readOnly: readOnly
4076
4291
  },
4077
- InputProps: {
4078
- startAdornment: startIcon && /*#__PURE__*/React__default["default"].createElement(StyledAdornment, {
4079
- className: adornmentIconClassName + " start",
4080
- position: "start"
4081
- }, startIcon),
4082
- endAdornment: endAdornmentIcon && /*#__PURE__*/React__default["default"].createElement(StyledAdornment, {
4083
- className: adornmentIconClassName + " end",
4084
- position: "end"
4085
- }, endAdornmentIcon)
4086
- },
4087
4292
  inputRef: inputRef,
4088
4293
  label: label,
4089
4294
  multiline: multiline,
@@ -4098,8 +4303,8 @@
4098
4303
  rowsMax: multiline ? rowsMax : null,
4099
4304
  size: size,
4100
4305
  type: type,
4101
- variant: "outlined",
4102
- value: inputTextValue
4306
+ value: inputTextValue,
4307
+ variant: "outlined"
4103
4308
  });
4104
4309
  };
4105
4310
 
@@ -4137,11 +4342,23 @@
4137
4342
  var rootStyles = useStylesWithRootClass(rootSelectClassName, className);
4138
4343
  var hasWarning = !error && warning && warningClassName;
4139
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
+ },
4140
4358
  autoFocus: autoFocus,
4141
4359
  className: rootStyles + " " + hasWarning,
4142
4360
  defaultValue: defaultValue,
4143
4361
  disabled: disabled,
4144
- value: value,
4145
4362
  error: error,
4146
4363
  fullWidth: fullWidth,
4147
4364
  helperText: helperText,
@@ -4151,16 +4368,6 @@
4151
4368
  'data-testid': dataTestId,
4152
4369
  className: 'dot-select'
4153
4370
  },
4154
- InputProps: {
4155
- startAdornment: startIcon && /*#__PURE__*/React__default["default"].createElement(StyledAdornment, {
4156
- className: adornmentIconClassName + " start",
4157
- position: "start"
4158
- }, startIcon),
4159
- endAdornment: endIcon && /*#__PURE__*/React__default["default"].createElement(StyledAdornment, {
4160
- className: adornmentIconClassName + " end",
4161
- position: "end"
4162
- }, endIcon)
4163
- },
4164
4371
  inputRef: inputRef,
4165
4372
  label: label,
4166
4373
  multiline: false,
@@ -4171,10 +4378,8 @@
4171
4378
  onKeyDown: onKeyDown,
4172
4379
  required: required,
4173
4380
  select: true,
4174
- SelectProps: {
4175
- "native": true
4176
- },
4177
4381
  size: size,
4382
+ value: value,
4178
4383
  variant: "outlined"
4179
4384
  }, options.map(function (option) {
4180
4385
  return /*#__PURE__*/React__default["default"].createElement("option", {
@@ -4271,14 +4476,12 @@
4271
4476
 
4272
4477
  return /*#__PURE__*/React__default["default"].createElement(StyledFormControlLabel, {
4273
4478
  className: rootClasses,
4274
- labelPlacement: labelPlacement,
4275
- value: value,
4276
4479
  control: /*#__PURE__*/React__default["default"].createElement(StyledRadioButton, {
4277
4480
  "aria-label": ariaLabel,
4481
+ checked: checked,
4278
4482
  classes: {
4279
4483
  root: rootClassName$c
4280
4484
  },
4281
- checked: checked,
4282
4485
  color: "primary",
4283
4486
  "data-testid": dataTestId,
4284
4487
  disabled: disabled,
@@ -4289,7 +4492,9 @@
4289
4492
  required: required,
4290
4493
  size: size
4291
4494
  }),
4292
- label: label
4495
+ label: label,
4496
+ labelPlacement: labelPlacement,
4497
+ value: value
4293
4498
  });
4294
4499
  }
4295
4500
 
@@ -4338,9 +4543,9 @@
4338
4543
  value = _a.value,
4339
4544
  disabled = _a.disabled;
4340
4545
  return /*#__PURE__*/React__default["default"].createElement(DotRadioButton, {
4341
- key: value,
4342
4546
  checked: selectedValue === value,
4343
4547
  disabled: disabled || disableGroup,
4548
+ key: value,
4344
4549
  label: label,
4345
4550
  labelPlacement: labelPlacement,
4346
4551
  size: size,
@@ -4353,8 +4558,8 @@
4353
4558
  classes: {
4354
4559
  root: rootClasses
4355
4560
  },
4356
- error: error,
4357
4561
  component: "fieldset",
4562
+ error: error,
4358
4563
  required: required
4359
4564
  }, groupLabel && /*#__PURE__*/React__default["default"].createElement(core.FormLabel, {
4360
4565
  component: "legend"
@@ -4408,24 +4613,24 @@
4408
4613
 
4409
4614
  return /*#__PURE__*/React__default["default"].createElement(StyledFormControlLabel, {
4410
4615
  className: rootClassName$n,
4411
- labelPlacement: labelPlacement,
4412
4616
  control: /*#__PURE__*/React__default["default"].createElement(StyledSwitch, {
4617
+ checked: checked,
4413
4618
  classes: {
4414
4619
  root: rootClasses
4415
4620
  },
4416
- checked: checked,
4417
4621
  color: color,
4418
4622
  "data-testid": dataTestId,
4419
4623
  disabled: disabled,
4420
4624
  id: id,
4421
- inputRef: inputRef,
4422
4625
  inputProps: {
4423
4626
  'aria-label': ariaLabel ? ariaLabel : label
4424
4627
  },
4628
+ inputRef: inputRef,
4425
4629
  onChange: handleChange,
4426
4630
  size: size
4427
4631
  }),
4428
- label: label
4632
+ label: label,
4633
+ labelPlacement: labelPlacement
4429
4634
  });
4430
4635
  };
4431
4636
 
@@ -5187,6 +5392,13 @@
5187
5392
  return onKeyPress(event);
5188
5393
  }
5189
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
+ },
5190
5402
  "aria-label": name,
5191
5403
  autoComplete: "off",
5192
5404
  autoFocus: autoFocus,
@@ -5199,13 +5411,6 @@
5199
5411
  className: 'dot-input',
5200
5412
  readOnly: readOnly
5201
5413
  },
5202
- InputProps: {
5203
- endAdornment: /*#__PURE__*/React__default["default"].createElement(core.InputAdornment, {
5204
- position: "end"
5205
- }, /*#__PURE__*/React__default["default"].createElement(DotIcon, {
5206
- iconId: "edit"
5207
- }))
5208
- },
5209
5414
  multiline: false,
5210
5415
  name: name,
5211
5416
  onChange: function onChange(event) {
@@ -5364,8 +5569,8 @@
5364
5569
  },
5365
5570
  "data-testid": dataTestId,
5366
5571
  height: height,
5367
- width: width,
5368
- variant: skeletonVariant
5572
+ variant: skeletonVariant,
5573
+ width: width
5369
5574
  }, children);
5370
5575
  };
5371
5576
 
@@ -5462,14 +5667,14 @@
5462
5667
  return /*#__PURE__*/React__default["default"].createElement(StyledSnackbarContainer, {
5463
5668
  className: rootClassName$5
5464
5669
  }, /*#__PURE__*/React__default["default"].createElement("div", {
5465
- "data-testid": rootClassName$5,
5466
- className: rootClassName$5
5670
+ className: rootClassName$5,
5671
+ "data-testid": rootClassName$5
5467
5672
  }, alerts.slice().reverse().map(function (alert) {
5468
5673
  return /*#__PURE__*/React__default["default"].createElement(DotSnackbar, {
5469
5674
  key: alert.id,
5470
- severity: alert.severity,
5471
5675
  onClose: handleClose(alert.id),
5472
- open: alert.open
5676
+ open: alert.open,
5677
+ severity: alert.severity
5473
5678
  }, alert.message);
5474
5679
  })));
5475
5680
  };
@@ -5592,8 +5797,8 @@
5592
5797
  autoFocus: autoFocus,
5593
5798
  className: "label-button",
5594
5799
  "data-testid": dataTestId,
5595
- disabled: disabled,
5596
5800
  disableRipple: disableRipple,
5801
+ disabled: disabled,
5597
5802
  isSubmit: isSubmit,
5598
5803
  onClick: function onClick(event) {
5599
5804
  return handleClick(event);
@@ -5604,8 +5809,8 @@
5604
5809
  }, children), /*#__PURE__*/React__default["default"].createElement(DotButton, {
5605
5810
  className: "expand-button",
5606
5811
  "data-testid": dataTestId,
5607
- disabled: disabled,
5608
5812
  disableRipple: disableRipple,
5813
+ disabled: disabled,
5609
5814
  onClick: function onClick() {
5610
5815
  return setOpen(!open);
5611
5816
  },
@@ -5624,8 +5829,8 @@
5624
5829
  onLeave: function onLeave() {
5625
5830
  return setOpen(false);
5626
5831
  },
5627
- open: open,
5628
- onSelect: handleClick
5832
+ onSelect: handleClick,
5833
+ open: open
5629
5834
  }));
5630
5835
  };
5631
5836
 
@@ -5693,8 +5898,8 @@
5693
5898
  var getTableCellValue = function getTableCellValue() {
5694
5899
  if (Array.isArray(value)) {
5695
5900
  return /*#__PURE__*/React__default["default"].createElement("div", {
5696
- ref: wrapperRef,
5697
- className: "action-cell-wrapper"
5901
+ className: "action-cell-wrapper",
5902
+ ref: wrapperRef
5698
5903
  }, showMenu ? /*#__PURE__*/React__default["default"].createElement(DotIconButton, {
5699
5904
  className: "dot-table-action-icon",
5700
5905
  iconId: "options",
@@ -5722,8 +5927,8 @@
5722
5927
  };
5723
5928
 
5724
5929
  return /*#__PURE__*/React__default["default"].createElement(core.TableCell, {
5725
- "aria-label": ariaLabel,
5726
5930
  align: align,
5931
+ "aria-label": ariaLabel,
5727
5932
  classes: {
5728
5933
  root: rootClasses
5729
5934
  },
@@ -5835,8 +6040,8 @@
5835
6040
  }
5836
6041
  }, data.map(function (row, index) {
5837
6042
  return /*#__PURE__*/React__default["default"].createElement(DotTableRow, {
5838
- columns: columns,
5839
6043
  className: row.className,
6044
+ columns: columns,
5840
6045
  data: row,
5841
6046
  key: index,
5842
6047
  onActionMenuTrigger: handleActionMenuTrigger,
@@ -5888,9 +6093,9 @@
5888
6093
  key: CreateUUID(),
5889
6094
  order: order,
5890
6095
  orderBy: orderBy,
5891
- truncate: cell.truncate,
5892
- sortable: sortable && cell.sortable,
5893
6096
  sortDirection: orderBy === cell.id ? order : undefined,
6097
+ sortable: sortable && cell.sortable,
6098
+ truncate: cell.truncate,
5894
6099
  uid: CreateUUID(),
5895
6100
  value: cell.label,
5896
6101
  width: cell.width
@@ -5939,10 +6144,10 @@
5939
6144
  return /*#__PURE__*/React__default["default"].createElement(core.TableCell, {
5940
6145
  align: align,
5941
6146
  key: uid,
5942
- title: headerTitle,
5943
6147
  style: {
5944
6148
  width: width ? width : ''
5945
- }
6149
+ },
6150
+ title: headerTitle
5946
6151
  }, value);
5947
6152
  };
5948
6153
 
@@ -6235,8 +6440,8 @@
6235
6440
  var tabElement = /*#__PURE__*/React__default["default"].createElement(core.Tab, {
6236
6441
  "aria-label": tab.ariaLabel,
6237
6442
  "data-testid": tab['data-testid'],
6238
- disabled: tab.disabled,
6239
6443
  disableRipple: true,
6444
+ disabled: tab.disabled,
6240
6445
  key: index,
6241
6446
  label: label,
6242
6447
  value: tab.value