@redsift/design-system 8.0.7 → 8.1.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.
package/index.js CHANGED
@@ -4,7 +4,7 @@ export { SSRProvider, useIsSSR } from '@react-aria/ssr';
4
4
  import * as React from 'react';
5
5
  import React__default, { useState, useEffect, forwardRef, useMemo, useContext, useRef, useCallback, useReducer, useLayoutEffect, useId as useId$1 } from 'react';
6
6
  import classNames from 'classnames';
7
- import { mdiClose, mdiAlert, mdiCheckCircle, mdiAlertCircle, mdiInformation, mdiMenu, mdiMenuOpen, mdiChevronDown, mdiChevronRight, mdiChevronUp, mdiCheckboxMarked, mdiMinusBox, mdiCheckboxBlankOutline, mdiPageLast, mdiKeyboardCaps, mdiRadioboxMarked, mdiRadioboxBlank } from '@redsift/icons';
7
+ import { mdiClose as mdiClose$1, mdiAlert, mdiCheckCircle, mdiAlertCircle, mdiInformation, mdiMenu, mdiMenuOpen, mdiChevronDown, mdiChevronRight, mdiChevronUp, mdiCheckboxMarked, mdiMinusBox, mdiCheckboxBlankOutline, mdiPageLast, mdiKeyboardCaps, mdiRadioboxMarked, mdiRadioboxBlank } from '@redsift/icons';
8
8
  import styled, { css, keyframes } from 'styled-components';
9
9
  import { useFocusRing } from '@react-aria/focus';
10
10
  import * as ReactDOM from 'react-dom';
@@ -894,12 +894,15 @@ const baseContainer = css`
894
894
  font-family: var(--redsift-typography-body-font-family);
895
895
  font-size: var(--redsift-typography-body-font-size);
896
896
  font-weight: var(--redsift-typography-body-font-weight);
897
- line-height: var(--redsift-typography-body-line-height);
897
+ line-height: 20px;
898
898
  color: var(--redsift-color-neutral-black);
899
899
 
900
900
  ${baseInternalSpacing}
901
- ${baseFlexbox}
901
+ ${baseSpacing}
902
+ ${baseSizing}
903
+ ${basePositioning}
902
904
  ${baseGrid}
905
+ ${baseFlexbox}
903
906
  `;
904
907
  const focusRing = css`
905
908
  @media (prefers-reduced-motion: no-preference) {
@@ -1047,10 +1050,10 @@ const StyledIcon = styled.span`
1047
1050
  }}
1048
1051
  `;
1049
1052
 
1050
- const _excluded$J = ["aria-hidden", "aria-label", "badge", "className", "color", "icon", "size", "svgProps"];
1051
- const COMPONENT_NAME$L = 'Icon';
1052
- const CLASSNAME$L = 'redsift-icon';
1053
- const DEFAULT_PROPS$L = {
1053
+ const _excluded$N = ["aria-hidden", "aria-label", "badge", "className", "color", "icon", "size", "svgProps"];
1054
+ const COMPONENT_NAME$N = 'Icon';
1055
+ const CLASSNAME$N = 'redsift-icon';
1056
+ const DEFAULT_PROPS$N = {
1054
1057
  size: IconSize.medium
1055
1058
  };
1056
1059
 
@@ -1068,7 +1071,7 @@ const Icon = /*#__PURE__*/forwardRef((props, ref) => {
1068
1071
  size,
1069
1072
  svgProps
1070
1073
  } = props,
1071
- forwardedProps = _objectWithoutProperties(props, _excluded$J);
1074
+ forwardedProps = _objectWithoutProperties(props, _excluded$N);
1072
1075
  return /*#__PURE__*/React__default.createElement(StyledIcon, _extends$1({}, forwardedProps, {
1073
1076
  $color: color,
1074
1077
  $size: size,
@@ -1076,23 +1079,24 @@ const Icon = /*#__PURE__*/forwardRef((props, ref) => {
1076
1079
  "aria-label": ariaLabel,
1077
1080
  className: classNames(Icon.className, className),
1078
1081
  ref: ref
1079
- }), /*#__PURE__*/React__default.createElement("svg", _extends$1({}, svgProps, {
1080
- "aria-hidden": ariaLabel ? ariaHidden ? ariaHidden : undefined : true,
1081
- "aria-label": ariaLabel,
1082
- focusable: "false",
1083
- height: "1em",
1084
- preserveAspectRatio: "xMidYMid meet",
1085
- role: "img",
1086
- viewBox: "0 0 24 24",
1087
- width: "1em"
1088
- }), /*#__PURE__*/React__default.createElement("path", {
1089
- d: icon,
1082
+ }), /*#__PURE__*/React__default.cloneElement(typeof icon === 'string' || Array.isArray(icon) && icon.every(it => typeof it === 'string') ? /*#__PURE__*/React__default.createElement("svg", null, (Array.isArray(icon) ? icon : [icon]).map(path => /*#__PURE__*/React__default.createElement("path", {
1083
+ key: path,
1084
+ d: path,
1090
1085
  fill: "currentColor"
1091
- })), badge ? badge : null);
1086
+ }))) : /*#__PURE__*/React__default.isValidElement(icon) ? icon : /*#__PURE__*/React__default.createElement(React__default.Fragment, null), _objectSpread2({
1087
+ 'aria-hidden': ariaLabel ? ariaHidden ? ariaHidden : undefined : true,
1088
+ 'aria-label': ariaLabel,
1089
+ focusable: 'false',
1090
+ height: '1em',
1091
+ preserveAspectRatio: 'xMidYMid meet',
1092
+ role: 'img',
1093
+ viewBox: '0 0 24 24',
1094
+ width: '1em'
1095
+ }, svgProps)), badge ? badge : null);
1092
1096
  });
1093
- Icon.className = CLASSNAME$L;
1094
- Icon.defaultProps = DEFAULT_PROPS$L;
1095
- Icon.displayName = COMPONENT_NAME$L;
1097
+ Icon.className = CLASSNAME$N;
1098
+ Icon.defaultProps = DEFAULT_PROPS$N;
1099
+ Icon.displayName = COMPONENT_NAME$N;
1096
1100
 
1097
1101
  /**
1098
1102
  * Component variant.
@@ -1365,10 +1369,10 @@ const StyledAppContainer = styled.div`
1365
1369
  }}
1366
1370
  `;
1367
1371
 
1368
- const _excluded$I = ["children", "className", "locale", "productTheme"];
1369
- const COMPONENT_NAME$K = 'AppContainer';
1370
- const CLASSNAME$K = 'redsift-app-container';
1371
- const DEFAULT_PROPS$K = {};
1372
+ const _excluded$M = ["children", "className", "locale", "productTheme"];
1373
+ const COMPONENT_NAME$M = 'AppContainer';
1374
+ const CLASSNAME$M = 'redsift-app-container';
1375
+ const DEFAULT_PROPS$M = {};
1372
1376
 
1373
1377
  /**
1374
1378
  * The AppContainer component.
@@ -1380,7 +1384,7 @@ const AppContainer = /*#__PURE__*/forwardRef((props, ref) => {
1380
1384
  locale,
1381
1385
  productTheme
1382
1386
  } = props,
1383
- forwardedProps = _objectWithoutProperties(props, _excluded$I);
1387
+ forwardedProps = _objectWithoutProperties(props, _excluded$M);
1384
1388
  const {
1385
1389
  hasAppBar,
1386
1390
  hasAppSidePanel,
@@ -1426,9 +1430,9 @@ const AppContainer = /*#__PURE__*/forwardRef((props, ref) => {
1426
1430
  locale: locale
1427
1431
  }, children)));
1428
1432
  });
1429
- AppContainer.className = CLASSNAME$K;
1430
- AppContainer.defaultProps = DEFAULT_PROPS$K;
1431
- AppContainer.displayName = COMPONENT_NAME$K;
1433
+ AppContainer.className = CLASSNAME$M;
1434
+ AppContainer.defaultProps = DEFAULT_PROPS$M;
1435
+ AppContainer.displayName = COMPONENT_NAME$M;
1432
1436
 
1433
1437
  var spinnerDefault = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDAwIDQwMCIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogIDxzdHlsZT4KICAgIC5zcGlubmluZyB7CiAgICAgIGFuaW1hdGlvbjogc3Bpbm5pbmcta2V5ZnJhbWVzIDMwMDBtcyBsaW5lYXIgaW5maW5pdGUgbm9ybWFsIGZvcndhcmRzOwogICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKTsKICAgIH0KICAgIEBrZXlmcmFtZXMgc3Bpbm5pbmcta2V5ZnJhbWVzIHsKICAgICAgMCUgewogICAgICAgIHRyYW5zZm9ybTogIHJvdGF0ZSgwZGVnKTsKICAgICAgfQoKICAgICAgMzMlIHsKICAgICAgICB0cmFuc2Zvcm06ICByb3RhdGUoMTgwZGVnKTsKICAgICAgfQoKICAgICAgNTAlIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOwogICAgICB9CgogICAgICA4MyUgewogICAgICAgIHRyYW5zZm9ybTogIHJvdGF0ZSgzNjBkZWcpOwogICAgICB9CgogICAgICAxMDAlIHsKICAgICAgICB0cmFuc2Zvcm06ICByb3RhdGUoMzYwZGVnKQogICAgICB9CiAgICB9CiAgPC9zdHlsZT4KICA8cGF0aAogICAgbWFzaz0idXJsKCNzcGlubmVyLXUtbWFza3MpIgogICAgZmlsbD0iIzAwNzllMSIKICAgIGQ9Ik0zMTggMTg2LjlWMTA4LjhMMjAwIDU3IDgyIDEwOC44djc4LjFDODIgMjU5IDEzMi4zIDMyNi40IDIwMCAzNDNjNjcuNy0xNi42IDExOC04NCAxMTgtMTU2LjF6TTQwMCAyMDBjMCAxMTAuNS04OS41IDIwMC0yMDAgMjAwUzAgMzEwLjUgMCAyMDAgODkuNSAwIDIwMCAwczIwMCA4OS41IDIwMCAyMDB6IgogIC8+CiAgPG1hc2sgaWQ9InNwaW5uZXItdS1tYXNrcyI+CiAgICA8cGF0aAogICAgICBjbGFzcz0ic3Bpbm5pbmciCiAgICAgIGQ9Ik0wLDIwMEMwLDg5LjU0MzA1LDg5LjU0MzA1LDAsMjAwLDB2NDAwQzg5LjU0MzA1LDQwMCwwLDMxMC40NTY5NSwwLDIwMFoiCiAgICAgIGZpbGw9IiNmZmYiCiAgICAvPgogIDwvbWFzaz4KICA8cGF0aAogICAgbWFzaz0idXJsKCNzcGlubmVyLXUtbWFza3MyKSIKICAgIGZpbGw9IiMwMDc5ZTEiCiAgICBkPSJNODIsMTg2LjkzOXYtNzguMDg5TDIwMCw1N2wxMTgsNTEuODV2NzguMDg5QzMxOCwyNTkuMDAyLDI2Ny42ODYsMzI2LjQwMiwyMDAsMzQzQzEzMi4zMTQsMzI2LjQwMiw4MiwyNTkuMDAyLDgyLDE4Ni45MzlaIgogIC8+CiAgPG1hc2sgaWQ9InNwaW5uZXItdS1tYXNrczIiPgogICAgPHBhdGgKICAgICAgY2xhc3M9InNwaW5uaW5nIgogICAgICBkPSJNNDAwIDIwMEM0MDAgMzEwLjUgMzEwLjUgNDAwIDIwMCA0MDBWMGMxMTAuNSAwIDIwMCA4OS41IDIwMCAyMDB6IgogICAgICBmaWxsPSIjZmZmIgogICAgLz4KICA8L21hc2s+Cjwvc3ZnPg==';
1434
1438
 
@@ -1448,7 +1452,7 @@ var spinnerTools = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My
1448
1452
 
1449
1453
  var spinnerWebsite = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDAwIDQwMCIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogIDxzdHlsZT4KICAgIC5zcGlubmluZyB7CiAgICAgIGFuaW1hdGlvbjogc3Bpbm5pbmcta2V5ZnJhbWVzIDMwMDBtcyBsaW5lYXIgaW5maW5pdGUgbm9ybWFsIGZvcndhcmRzOwogICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKTsKICAgIH0KICAgIEBrZXlmcmFtZXMgc3Bpbm5pbmcta2V5ZnJhbWVzIHsKICAgICAgMCUgewogICAgICAgIHRyYW5zZm9ybTogIHJvdGF0ZSgwZGVnKTsKICAgICAgfQoKICAgICAgMzMlIHsKICAgICAgICB0cmFuc2Zvcm06ICByb3RhdGUoMTgwZGVnKTsKICAgICAgfQoKICAgICAgNTAlIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOwogICAgICB9CgogICAgICA4MyUgewogICAgICAgIHRyYW5zZm9ybTogIHJvdGF0ZSgzNjBkZWcpOwogICAgICB9CgogICAgICAxMDAlIHsKICAgICAgICB0cmFuc2Zvcm06ICByb3RhdGUoMzYwZGVnKQogICAgICB9CiAgICB9CiAgPC9zdHlsZT4KICA8cGF0aAogICAgbWFzaz0idXJsKCNzcGlubmVyLXUtbWFza3MpIgogICAgZmlsbD0iIzAwNzllMSIKICAgIGQ9Ik0zMTggMTg2LjlWMTA4LjhMMjAwIDU3IDgyIDEwOC44djc4LjFDODIgMjU5IDEzMi4zIDMyNi40IDIwMCAzNDNjNjcuNy0xNi42IDExOC04NCAxMTgtMTU2LjF6TTQwMCAyMDBjMCAxMTAuNS04OS41IDIwMC0yMDAgMjAwUzAgMzEwLjUgMCAyMDAgODkuNSAwIDIwMCAwczIwMCA4OS41IDIwMCAyMDB6IgogIC8+CiAgPG1hc2sgaWQ9InNwaW5uZXItdS1tYXNrcyI+CiAgICA8cGF0aAogICAgICBjbGFzcz0ic3Bpbm5pbmciCiAgICAgIGQ9Ik0wLDIwMEMwLDg5LjU0MzA1LDg5LjU0MzA1LDAsMjAwLDB2NDAwQzg5LjU0MzA1LDQwMCwwLDMxMC40NTY5NSwwLDIwMFoiCiAgICAgIGZpbGw9IiNmZmYiCiAgICAvPgogIDwvbWFzaz4KICA8cGF0aAogICAgbWFzaz0idXJsKCNzcGlubmVyLXUtbWFza3MyKSIKICAgIGZpbGw9IiMwMDc5ZTEiCiAgICBkPSJNODIsMTg2LjkzOXYtNzguMDg5TDIwMCw1N2wxMTgsNTEuODV2NzguMDg5QzMxOCwyNTkuMDAyLDI2Ny42ODYsMzI2LjQwMiwyMDAsMzQzQzEzMi4zMTQsMzI2LjQwMiw4MiwyNTkuMDAyLDgyLDE4Ni45MzlaIgogIC8+CiAgPG1hc2sgaWQ9InNwaW5uZXItdS1tYXNrczIiPgogICAgPHBhdGgKICAgICAgY2xhc3M9InNwaW5uaW5nIgogICAgICBkPSJNNDAwIDIwMEM0MDAgMzEwLjUgMzEwLjUgNDAwIDIwMCA0MDBWMGMxMTAuNSAwIDIwMCA4OS41IDIwMCAyMDB6IgogICAgICBmaWxsPSIjZmZmIgogICAgLz4KICA8L21hc2s+Cjwvc3ZnPg==';
1450
1454
 
1451
- const _excluded$H = ["aria-hidden", "aria-label", "className", "color", "size"];
1455
+ const _excluded$L = ["aria-hidden", "aria-label", "className", "color", "size"];
1452
1456
  const colorToFile = {
1453
1457
  default: spinnerDefault,
1454
1458
  hardenize: spinnerHardenize,
@@ -1460,9 +1464,9 @@ const colorToFile = {
1460
1464
  tools: spinnerTools,
1461
1465
  website: spinnerWebsite
1462
1466
  };
1463
- const COMPONENT_NAME$J = 'Spinner';
1464
- const CLASSNAME$J = 'redsift-shield';
1465
- const DEFAULT_PROPS$J = {
1467
+ const COMPONENT_NAME$L = 'Spinner';
1468
+ const CLASSNAME$L = 'redsift-shield';
1469
+ const DEFAULT_PROPS$L = {
1466
1470
  color: ColorPalette.default,
1467
1471
  size: SpinnerSize.medium
1468
1472
  };
@@ -1503,7 +1507,7 @@ const Spinner = /*#__PURE__*/forwardRef((props, ref) => {
1503
1507
  color: propsColor,
1504
1508
  size
1505
1509
  } = props,
1506
- forwardedProps = _objectWithoutProperties(props, _excluded$H);
1510
+ forwardedProps = _objectWithoutProperties(props, _excluded$L);
1507
1511
  const {
1508
1512
  width,
1509
1513
  height
@@ -1525,14 +1529,14 @@ const Spinner = /*#__PURE__*/forwardRef((props, ref) => {
1525
1529
  $size: size
1526
1530
  }));
1527
1531
  });
1528
- Spinner.className = CLASSNAME$J;
1529
- Spinner.defaultProps = DEFAULT_PROPS$J;
1530
- Spinner.displayName = COMPONENT_NAME$J;
1531
-
1532
- const _excluded$G = ["children", "className", "color", "disabled", "fullWidth", "isActive", "isDisabled", "isHovered", "isLoading", "leftIcon", "rightIcon", "variant"];
1533
- const COMPONENT_NAME$I = 'Button';
1534
- const CLASSNAME$I = 'redsift-button';
1535
- const DEFAULT_PROPS$I = {
1532
+ Spinner.className = CLASSNAME$L;
1533
+ Spinner.defaultProps = DEFAULT_PROPS$L;
1534
+ Spinner.displayName = COMPONENT_NAME$L;
1535
+
1536
+ const _excluded$K = ["children", "className", "color", "disabled", "fullWidth", "isActive", "isDisabled", "isHovered", "isLoading", "leftIcon", "rightIcon", "variant"];
1537
+ const COMPONENT_NAME$K = 'Button';
1538
+ const CLASSNAME$K = 'redsift-button';
1539
+ const DEFAULT_PROPS$K = {
1536
1540
  color: ColorPalette.default,
1537
1541
  height: 'fit-content',
1538
1542
  variant: ButtonVariant.primary
@@ -1561,7 +1565,7 @@ const Button = /*#__PURE__*/forwardRef((props, ref) => {
1561
1565
  rightIcon,
1562
1566
  variant
1563
1567
  } = props,
1564
- forwardedProps = _objectWithoutProperties(props, _excluded$G);
1568
+ forwardedProps = _objectWithoutProperties(props, _excluded$K);
1565
1569
  const isDisabled = isLoading || propsIsDisabled || disabled;
1566
1570
  return /*#__PURE__*/React__default.createElement(StyledButton, _extends$1({}, forwardedProps, {
1567
1571
  $color: color,
@@ -1575,22 +1579,22 @@ const Button = /*#__PURE__*/forwardRef((props, ref) => {
1575
1579
  className: classNames(Button.className, className),
1576
1580
  disabled: isDisabled,
1577
1581
  ref: buttonRef
1578
- }), leftIcon ? typeof leftIcon === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
1582
+ }), leftIcon ? /*#__PURE__*/React__default.createElement(Icon, {
1579
1583
  icon: leftIcon,
1580
1584
  "aria-hidden": "true",
1581
1585
  className: "left"
1582
- }) : leftIcon : null, isLoading ? /*#__PURE__*/React__default.createElement(Spinner, {
1586
+ }) : null, isLoading ? /*#__PURE__*/React__default.createElement(Spinner, {
1583
1587
  size: "small",
1584
1588
  color: "no-data"
1585
- }) : null, /*#__PURE__*/React__default.createElement("span", null, children), rightIcon ? typeof rightIcon === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
1589
+ }) : null, /*#__PURE__*/React__default.createElement("span", null, children), rightIcon ? /*#__PURE__*/React__default.createElement(Icon, {
1586
1590
  icon: rightIcon,
1587
1591
  "aria-hidden": "true",
1588
1592
  className: "right"
1589
- }) : rightIcon : null);
1593
+ }) : null);
1590
1594
  });
1591
- Button.className = CLASSNAME$I;
1592
- Button.defaultProps = DEFAULT_PROPS$I;
1593
- Button.displayName = COMPONENT_NAME$I;
1595
+ Button.className = CLASSNAME$K;
1596
+ Button.defaultProps = DEFAULT_PROPS$K;
1597
+ Button.displayName = COMPONENT_NAME$K;
1594
1598
 
1595
1599
  /**
1596
1600
  * Component style.
@@ -1617,10 +1621,10 @@ const StyledIconButton = styled(StyledButton)`
1617
1621
  }}
1618
1622
  `;
1619
1623
 
1620
- const _excluded$F = ["className", "color", "disabled", "icon", "isActive", "isDisabled", "isHovered", "isLoading", "variant"];
1621
- const COMPONENT_NAME$H = 'IconButton';
1622
- const CLASSNAME$H = 'redsift-icon-button';
1623
- const DEFAULT_PROPS$H = {
1624
+ const _excluded$J = ["className", "color", "disabled", "icon", "isActive", "isDisabled", "isHovered", "isLoading", "variant"];
1625
+ const COMPONENT_NAME$J = 'IconButton';
1626
+ const CLASSNAME$J = 'redsift-icon-button';
1627
+ const DEFAULT_PROPS$J = {
1624
1628
  color: ColorPalette.default,
1625
1629
  height: 'fit-content',
1626
1630
  variant: IconButtonVariant.unstyled
@@ -1645,7 +1649,7 @@ const IconButton = /*#__PURE__*/forwardRef((props, ref) => {
1645
1649
  isLoading,
1646
1650
  variant
1647
1651
  } = props,
1648
- forwardedProps = _objectWithoutProperties(props, _excluded$F);
1652
+ forwardedProps = _objectWithoutProperties(props, _excluded$J);
1649
1653
  const isDisabled = props.isLoading || propsIsDisabled || disabled;
1650
1654
  warnIfNoAccessibleLabelFound(props);
1651
1655
  return /*#__PURE__*/React__default.createElement(StyledIconButton, _extends$1({}, forwardedProps, {
@@ -1667,9 +1671,9 @@ const IconButton = /*#__PURE__*/forwardRef((props, ref) => {
1667
1671
  color: isDisabled ? undefined : color
1668
1672
  }));
1669
1673
  });
1670
- IconButton.className = CLASSNAME$H;
1671
- IconButton.defaultProps = DEFAULT_PROPS$H;
1672
- IconButton.displayName = COMPONENT_NAME$H;
1674
+ IconButton.className = CLASSNAME$J;
1675
+ IconButton.defaultProps = DEFAULT_PROPS$J;
1676
+ IconButton.displayName = COMPONENT_NAME$J;
1673
1677
 
1674
1678
  /**
1675
1679
  * Component style.
@@ -1813,10 +1817,10 @@ const StyledHeading = styled.span`
1813
1817
  }}
1814
1818
  `;
1815
1819
 
1816
- const _excluded$E = ["as", "children", "className", "noWrap", "variant"];
1817
- const COMPONENT_NAME$G = 'Heading';
1818
- const CLASSNAME$G = 'redsift-heading';
1819
- const DEFAULT_PROPS$G = {};
1820
+ const _excluded$I = ["as", "children", "className", "noWrap", "variant"];
1821
+ const COMPONENT_NAME$I = 'Heading';
1822
+ const CLASSNAME$I = 'redsift-heading';
1823
+ const DEFAULT_PROPS$I = {};
1820
1824
 
1821
1825
  /**
1822
1826
  * The Heading component.
@@ -1829,7 +1833,7 @@ const Heading = /*#__PURE__*/forwardRef((props, ref) => {
1829
1833
  noWrap,
1830
1834
  variant
1831
1835
  } = props,
1832
- forwardedProps = _objectWithoutProperties(props, _excluded$E);
1836
+ forwardedProps = _objectWithoutProperties(props, _excluded$I);
1833
1837
  return /*#__PURE__*/React__default.createElement(StyledHeading, _extends$1({
1834
1838
  as: as
1835
1839
  }, forwardedProps, {
@@ -1839,9 +1843,9 @@ const Heading = /*#__PURE__*/forwardRef((props, ref) => {
1839
1843
  $variant: variant ? variant : as === 'span' ? 'body' : as
1840
1844
  }), children);
1841
1845
  });
1842
- Heading.className = CLASSNAME$G;
1843
- Heading.defaultProps = DEFAULT_PROPS$G;
1844
- Heading.displayName = COMPONENT_NAME$G;
1846
+ Heading.className = CLASSNAME$I;
1847
+ Heading.defaultProps = DEFAULT_PROPS$I;
1848
+ Heading.displayName = COMPONENT_NAME$I;
1845
1849
 
1846
1850
  /**
1847
1851
  * Component style.
@@ -1859,10 +1863,10 @@ const StyledFlexbox = styled.div`
1859
1863
  ${baseFlexbox}
1860
1864
  `;
1861
1865
 
1862
- const _excluded$D = ["children", "className"];
1863
- const COMPONENT_NAME$F = 'Flexbox';
1864
- const CLASSNAME$F = 'redsift-flex-box';
1865
- const DEFAULT_PROPS$F = {
1866
+ const _excluded$H = ["children", "className"];
1867
+ const COMPONENT_NAME$H = 'Flexbox';
1868
+ const CLASSNAME$H = 'redsift-flex-box';
1869
+ const DEFAULT_PROPS$H = {
1866
1870
  gap: '16px'
1867
1871
  };
1868
1872
 
@@ -1874,20 +1878,20 @@ const Flexbox = /*#__PURE__*/forwardRef((props, ref) => {
1874
1878
  children,
1875
1879
  className
1876
1880
  } = props,
1877
- forwardedProps = _objectWithoutProperties(props, _excluded$D);
1881
+ forwardedProps = _objectWithoutProperties(props, _excluded$H);
1878
1882
  return /*#__PURE__*/React__default.createElement(StyledFlexbox, _extends$1({}, forwardedProps, {
1879
1883
  className: classNames(Flexbox.className, className),
1880
1884
  ref: ref
1881
1885
  }), children);
1882
1886
  });
1883
- Flexbox.className = CLASSNAME$F;
1884
- Flexbox.defaultProps = DEFAULT_PROPS$F;
1885
- Flexbox.displayName = COMPONENT_NAME$F;
1886
-
1887
- const _excluded$C = ["children", "className", "isClosable", "isClosed", "onClose", "title", "variant"];
1888
- const COMPONENT_NAME$E = 'Alert';
1889
- const CLASSNAME$E = 'redsift-alert';
1890
- const DEFAULT_PROPS$E = {
1887
+ Flexbox.className = CLASSNAME$H;
1888
+ Flexbox.defaultProps = DEFAULT_PROPS$H;
1889
+ Flexbox.displayName = COMPONENT_NAME$H;
1890
+
1891
+ const _excluded$G = ["children", "className", "isClosable", "isClosed", "onClose", "title", "variant"];
1892
+ const COMPONENT_NAME$G = 'Alert';
1893
+ const CLASSNAME$G = 'redsift-alert';
1894
+ const DEFAULT_PROPS$G = {
1891
1895
  variant: 'info'
1892
1896
  };
1893
1897
  const getVariant$1 = variant => {
@@ -1929,7 +1933,7 @@ const Alert = /*#__PURE__*/forwardRef((props, ref) => {
1929
1933
  title,
1930
1934
  variant
1931
1935
  } = props,
1932
- forwardedProps = _objectWithoutProperties(props, _excluded$C);
1936
+ forwardedProps = _objectWithoutProperties(props, _excluded$G);
1933
1937
  const stringFormatter = useLocalizedStringFormatter(intlMessages$5);
1934
1938
  const {
1935
1939
  color,
@@ -1970,15 +1974,15 @@ const Alert = /*#__PURE__*/forwardRef((props, ref) => {
1970
1974
  }, title) : null), isClosable ? /*#__PURE__*/React__default.createElement(IconButton, {
1971
1975
  "aria-label": stringFormatter.format('close'),
1972
1976
  className: `${Alert.className}-header__icon-button`,
1973
- icon: mdiClose,
1977
+ icon: mdiClose$1,
1974
1978
  onClick: handleClose
1975
1979
  }) : null), children ? /*#__PURE__*/React__default.createElement("div", {
1976
1980
  className: `${Alert.className}__content`
1977
1981
  }, children) : null);
1978
1982
  });
1979
- Alert.className = CLASSNAME$E;
1980
- Alert.defaultProps = DEFAULT_PROPS$E;
1981
- Alert.displayName = COMPONENT_NAME$E;
1983
+ Alert.className = CLASSNAME$G;
1984
+ Alert.defaultProps = DEFAULT_PROPS$G;
1985
+ Alert.displayName = COMPONENT_NAME$G;
1982
1986
 
1983
1987
  var expand$5 = "Expand left side panel";
1984
1988
  var collapse$5 = "Collapse left side panel";
@@ -2075,10 +2079,10 @@ const StyledAppBar = styled.header`
2075
2079
  }
2076
2080
  `;
2077
2081
 
2078
- const _excluded$B = ["children", "className", "collapseIconButtonProps", "collapseIconButtonRef", "expandIconButtonProps", "expandIconButtonRef", "fallbackTitle", "title"];
2079
- const COMPONENT_NAME$D = 'AppBar';
2080
- const CLASSNAME$D = 'redsift-app-bar';
2081
- const DEFAULT_PROPS$D = {};
2082
+ const _excluded$F = ["children", "className", "collapseIconButtonProps", "collapseIconButtonRef", "expandIconButtonProps", "expandIconButtonRef", "fallbackTitle", "title"];
2083
+ const COMPONENT_NAME$F = 'AppBar';
2084
+ const CLASSNAME$F = 'redsift-app-bar';
2085
+ const DEFAULT_PROPS$F = {};
2082
2086
 
2083
2087
  /**
2084
2088
  * The AppBar component.
@@ -2094,7 +2098,7 @@ const AppBar = /*#__PURE__*/forwardRef((props, ref) => {
2094
2098
  fallbackTitle,
2095
2099
  title: propsTitle
2096
2100
  } = props,
2097
- forwardedProps = _objectWithoutProperties(props, _excluded$B);
2101
+ forwardedProps = _objectWithoutProperties(props, _excluded$F);
2098
2102
  const {
2099
2103
  isLoaded
2100
2104
  } = useIsLoaded();
@@ -2133,9 +2137,9 @@ const AppBar = /*#__PURE__*/forwardRef((props, ref) => {
2133
2137
  className: `${AppBar.className}__right`
2134
2138
  }, children));
2135
2139
  });
2136
- AppBar.className = CLASSNAME$D;
2137
- AppBar.defaultProps = DEFAULT_PROPS$D;
2138
- AppBar.displayName = COMPONENT_NAME$D;
2140
+ AppBar.className = CLASSNAME$F;
2141
+ AppBar.defaultProps = DEFAULT_PROPS$F;
2142
+ AppBar.displayName = COMPONENT_NAME$F;
2139
2143
 
2140
2144
  /**
2141
2145
  * Component style.
@@ -2201,10 +2205,10 @@ const StyledAppContent = styled.main`
2201
2205
  }}
2202
2206
  `;
2203
2207
 
2204
- const _excluded$A = ["children", "className", "productTheme"];
2205
- const COMPONENT_NAME$C = 'AppContent';
2206
- const CLASSNAME$C = 'redsift-app-content';
2207
- const DEFAULT_PROPS$C = {};
2208
+ const _excluded$E = ["children", "className", "productTheme"];
2209
+ const COMPONENT_NAME$E = 'AppContent';
2210
+ const CLASSNAME$E = 'redsift-app-content';
2211
+ const DEFAULT_PROPS$E = {};
2208
2212
 
2209
2213
  /**
2210
2214
  * The AppContent component.
@@ -2215,7 +2219,7 @@ const AppContent = /*#__PURE__*/forwardRef((props, ref) => {
2215
2219
  className,
2216
2220
  productTheme
2217
2221
  } = props,
2218
- forwardedProps = _objectWithoutProperties(props, _excluded$A);
2222
+ forwardedProps = _objectWithoutProperties(props, _excluded$E);
2219
2223
  const {
2220
2224
  isLoaded
2221
2225
  } = useIsLoaded();
@@ -2228,9 +2232,9 @@ const AppContent = /*#__PURE__*/forwardRef((props, ref) => {
2228
2232
  ref: ref
2229
2233
  }), children);
2230
2234
  });
2231
- AppContent.className = CLASSNAME$C;
2232
- AppContent.defaultProps = DEFAULT_PROPS$C;
2233
- AppContent.displayName = COMPONENT_NAME$C;
2235
+ AppContent.className = CLASSNAME$E;
2236
+ AppContent.defaultProps = DEFAULT_PROPS$E;
2237
+ AppContent.displayName = COMPONENT_NAME$E;
2234
2238
 
2235
2239
  /**
2236
2240
  * Component style.
@@ -2324,10 +2328,10 @@ const StyledAppSidePanel = styled.div`
2324
2328
  }
2325
2329
  `;
2326
2330
 
2327
- const _excluded$z = ["children", "className", "featuredElements", "isCollapsed", "logo"];
2328
- const COMPONENT_NAME$B = 'AppSidePanel';
2329
- const CLASSNAME$B = 'redsift-app-side-panel';
2330
- const DEFAULT_PROPS$B = {};
2331
+ const _excluded$D = ["children", "className", "featuredElements", "isCollapsed", "logo"];
2332
+ const COMPONENT_NAME$D = 'AppSidePanel';
2333
+ const CLASSNAME$D = 'redsift-app-side-panel';
2334
+ const DEFAULT_PROPS$D = {};
2331
2335
 
2332
2336
  /**
2333
2337
  * The AppSidePanel component.
@@ -2340,7 +2344,7 @@ const AppSidePanel = /*#__PURE__*/forwardRef((props, ref) => {
2340
2344
  isCollapsed = false,
2341
2345
  logo
2342
2346
  } = props,
2343
- forwardedProps = _objectWithoutProperties(props, _excluded$z);
2347
+ forwardedProps = _objectWithoutProperties(props, _excluded$D);
2344
2348
  const appContainerState = useContext(AppContainerContext);
2345
2349
  return /*#__PURE__*/React__default.createElement(StyledAppSidePanel, _extends$1({}, forwardedProps, {
2346
2350
  $isCollapsed: !!(isCollapsed || appContainerState !== null && appContainerState !== void 0 && appContainerState.isSidePanelCollapsed),
@@ -2355,9 +2359,9 @@ const AppSidePanel = /*#__PURE__*/forwardRef((props, ref) => {
2355
2359
  className: `${AppSidePanel.className}__featured`
2356
2360
  }, featuredElements) : null, children);
2357
2361
  });
2358
- AppSidePanel.className = CLASSNAME$B;
2359
- AppSidePanel.defaultProps = DEFAULT_PROPS$B;
2360
- AppSidePanel.displayName = COMPONENT_NAME$B;
2362
+ AppSidePanel.className = CLASSNAME$D;
2363
+ AppSidePanel.defaultProps = DEFAULT_PROPS$D;
2364
+ AppSidePanel.displayName = COMPONENT_NAME$D;
2361
2365
 
2362
2366
  /**
2363
2367
  * Context props.
@@ -2591,10 +2595,10 @@ const StyledBadge = styled.div`
2591
2595
  }}
2592
2596
  `;
2593
2597
 
2594
- const _excluded$y = ["autoBreak", "children", "className", "color", "isReversed", "variant"];
2595
- const COMPONENT_NAME$A = 'Badge';
2596
- const CLASSNAME$A = 'redsift-badge';
2597
- const DEFAULT_PROPS$A = {
2598
+ const _excluded$C = ["autoBreak", "children", "className", "color", "isReversed", "variant"];
2599
+ const COMPONENT_NAME$C = 'Badge';
2600
+ const CLASSNAME$C = 'redsift-badge';
2601
+ const DEFAULT_PROPS$C = {
2598
2602
  color: ColorPalette.question,
2599
2603
  variant: BadgeVariant.dot
2600
2604
  };
@@ -2611,7 +2615,7 @@ const Badge = /*#__PURE__*/forwardRef((props, ref) => {
2611
2615
  isReversed,
2612
2616
  variant
2613
2617
  } = props,
2614
- forwardedProps = _objectWithoutProperties(props, _excluded$y);
2618
+ forwardedProps = _objectWithoutProperties(props, _excluded$C);
2615
2619
  return /*#__PURE__*/React__default.createElement(StyledBadge, _extends$1({}, forwardedProps, {
2616
2620
  $autoBreak: autoBreak,
2617
2621
  $color: color,
@@ -2621,14 +2625,14 @@ const Badge = /*#__PURE__*/forwardRef((props, ref) => {
2621
2625
  ref: ref
2622
2626
  }), variant === BadgeVariant.standard ? children : null);
2623
2627
  });
2624
- Badge.className = CLASSNAME$A;
2625
- Badge.defaultProps = DEFAULT_PROPS$A;
2626
- Badge.displayName = COMPONENT_NAME$A;
2628
+ Badge.className = CLASSNAME$C;
2629
+ Badge.defaultProps = DEFAULT_PROPS$C;
2630
+ Badge.displayName = COMPONENT_NAME$C;
2627
2631
 
2628
- const _excluded$x = ["as", "badge", "badgeProps", "children", "className", "href", "icon", "iconProps", "iconRef", "isCurrent", "isDisabled", "isSecondLevel", "onClick", "onKeyDown", "tabIndex", "withoutIcons"];
2629
- const COMPONENT_NAME$z = 'SideNavigationMenuItem';
2630
- const CLASSNAME$z = 'redsift-side-navigation-menu-item';
2631
- const DEFAULT_PROPS$z = {};
2632
+ const _excluded$B = ["as", "badge", "badgeProps", "children", "className", "href", "icon", "iconProps", "iconRef", "isCurrent", "isDisabled", "isSecondLevel", "onClick", "onKeyDown", "tabIndex", "withoutIcons"];
2633
+ const COMPONENT_NAME$B = 'SideNavigationMenuItem';
2634
+ const CLASSNAME$B = 'redsift-side-navigation-menu-item';
2635
+ const DEFAULT_PROPS$B = {};
2632
2636
 
2633
2637
  /**
2634
2638
  * The SideNavigationMenuItem component.
@@ -2653,7 +2657,7 @@ const SideNavigationMenuItem = /*#__PURE__*/forwardRef((props, ref) => {
2653
2657
  tabIndex,
2654
2658
  withoutIcons
2655
2659
  } = props,
2656
- forwardedProps = _objectWithoutProperties(props, _excluded$x);
2660
+ forwardedProps = _objectWithoutProperties(props, _excluded$B);
2657
2661
  warnIfNoAccessibleLabelFound(props, [children]);
2658
2662
  const appContainerState = useContext(AppContainerContext);
2659
2663
  useEffect(() => {
@@ -2716,9 +2720,9 @@ const SideNavigationMenuItem = /*#__PURE__*/forwardRef((props, ref) => {
2716
2720
  color: "error"
2717
2721
  }, badgeProps), badge) : null);
2718
2722
  });
2719
- SideNavigationMenuItem.className = CLASSNAME$z;
2720
- SideNavigationMenuItem.defaultProps = DEFAULT_PROPS$z;
2721
- SideNavigationMenuItem.displayName = COMPONENT_NAME$z;
2723
+ SideNavigationMenuItem.className = CLASSNAME$B;
2724
+ SideNavigationMenuItem.defaultProps = DEFAULT_PROPS$B;
2725
+ SideNavigationMenuItem.displayName = COMPONENT_NAME$B;
2722
2726
 
2723
2727
  /**
2724
2728
  * Component style.
@@ -2877,10 +2881,10 @@ const SideNavigationMenuReducer = (state, action) => {
2877
2881
  }
2878
2882
  };
2879
2883
 
2880
- const _excluded$w = ["aria-label", "buttonProps", "buttonRef", "children", "className", "hasBadge", "icon", "iconProps", "iconRef", "isDisabled", "isExpanded", "menuProps", "menuRef", "tabIndex", "withoutIcons"];
2881
- const COMPONENT_NAME$y = 'SideNavigationMenu';
2882
- const CLASSNAME$y = 'redsift-side-navigation-menu';
2883
- const DEFAULT_PROPS$y = {};
2884
+ const _excluded$A = ["aria-label", "buttonProps", "buttonRef", "children", "className", "hasBadge", "icon", "iconProps", "iconRef", "isDisabled", "isExpanded", "menuProps", "menuRef", "tabIndex", "withoutIcons"];
2885
+ const COMPONENT_NAME$A = 'SideNavigationMenu';
2886
+ const CLASSNAME$A = 'redsift-side-navigation-menu';
2887
+ const DEFAULT_PROPS$A = {};
2884
2888
 
2885
2889
  /**
2886
2890
  * The SideNavigationMenu component.
@@ -2903,7 +2907,7 @@ const SideNavigationMenu = /*#__PURE__*/forwardRef((props, ref) => {
2903
2907
  tabIndex,
2904
2908
  withoutIcons
2905
2909
  } = props,
2906
- forwardedProps = _objectWithoutProperties(props, _excluded$w);
2910
+ forwardedProps = _objectWithoutProperties(props, _excluded$A);
2907
2911
  warnIfNoAccessibleLabelFound(props);
2908
2912
  const sideNavigationMenuBarContext = useContext(SideNavigationMenuBarContext);
2909
2913
  const [isFirstChild, setIsFirstChild] = useState(false);
@@ -3172,9 +3176,9 @@ const SideNavigationMenu = /*#__PURE__*/forwardRef((props, ref) => {
3172
3176
  role: "menu"
3173
3177
  }, menuItemListEventHandler), renderedMenuItems)));
3174
3178
  });
3175
- SideNavigationMenu.className = CLASSNAME$y;
3176
- SideNavigationMenu.defaultProps = DEFAULT_PROPS$y;
3177
- SideNavigationMenu.displayName = COMPONENT_NAME$y;
3179
+ SideNavigationMenu.className = CLASSNAME$A;
3180
+ SideNavigationMenu.defaultProps = DEFAULT_PROPS$A;
3181
+ SideNavigationMenu.displayName = COMPONENT_NAME$A;
3178
3182
 
3179
3183
  /**
3180
3184
  * Component style.
@@ -3232,10 +3236,10 @@ const StyledSideNavigationMenuBar = styled.nav`
3232
3236
  }
3233
3237
  `;
3234
3238
 
3235
- const _excluded$v = ["aria-label", "aria-labelledby", "children", "className", "isDisabled", "menubarProps", "menubarRef", "withoutIcons"];
3236
- const COMPONENT_NAME$x = 'SideNavigationMenuBar';
3237
- const CLASSNAME$x = 'redsift-side-navigation-menu-bar';
3238
- const DEFAULT_PROPS$x = {};
3239
+ const _excluded$z = ["aria-label", "aria-labelledby", "children", "className", "isDisabled", "menubarProps", "menubarRef", "withoutIcons"];
3240
+ const COMPONENT_NAME$z = 'SideNavigationMenuBar';
3241
+ const CLASSNAME$z = 'redsift-side-navigation-menu-bar';
3242
+ const DEFAULT_PROPS$z = {};
3239
3243
 
3240
3244
  /**
3241
3245
  * Hook to store the previous index for further use
@@ -3263,7 +3267,7 @@ const SideNavigationMenuBar = /*#__PURE__*/forwardRef((props, ref) => {
3263
3267
  menubarRef = useRef(),
3264
3268
  withoutIcons
3265
3269
  } = props,
3266
- forwardedProps = _objectWithoutProperties(props, _excluded$v);
3270
+ forwardedProps = _objectWithoutProperties(props, _excluded$z);
3267
3271
  warnIfNoAccessibleLabelFound(props);
3268
3272
  const {
3269
3273
  top
@@ -3405,11 +3409,11 @@ const SideNavigationMenuBar = /*#__PURE__*/forwardRef((props, ref) => {
3405
3409
  role: "menubar"
3406
3410
  }), navItems)));
3407
3411
  });
3408
- SideNavigationMenuBar.className = CLASSNAME$x;
3409
- SideNavigationMenuBar.defaultProps = DEFAULT_PROPS$x;
3410
- SideNavigationMenuBar.displayName = COMPONENT_NAME$x;
3412
+ SideNavigationMenuBar.className = CLASSNAME$z;
3413
+ SideNavigationMenuBar.defaultProps = DEFAULT_PROPS$z;
3414
+ SideNavigationMenuBar.displayName = COMPONENT_NAME$z;
3411
3415
 
3412
- const _excluded$u = ["title", "href", "ref"],
3416
+ const _excluded$y = ["title", "href", "ref"],
3413
3417
  _excluded2 = ["title", "children", "ref"],
3414
3418
  _excluded3 = ["title", "href", "ref"];
3415
3419
  const isMenu = item => {
@@ -3428,7 +3432,7 @@ const useSideNavigationMenuBar = _ref => {
3428
3432
  href,
3429
3433
  ref
3430
3434
  } = item,
3431
- rest = _objectWithoutProperties(item, _excluded$u);
3435
+ rest = _objectWithoutProperties(item, _excluded$y);
3432
3436
  menuBarChildren.push( /*#__PURE__*/React__default.createElement(SideNavigationMenuItem, _extends$1({
3433
3437
  key: title,
3434
3438
  isCurrent: isActive ? isActive(href) : undefined
@@ -3531,10 +3535,10 @@ const StyledBreadcrumbItem = styled.a`
3531
3535
  }
3532
3536
  `;
3533
3537
 
3534
- const _excluded$t = ["as", "children", "className", "href", "isCurrent", "isDisabled"];
3535
- const COMPONENT_NAME$w = 'BreadcrumbItem';
3536
- const CLASSNAME$w = 'redsift-breadcrumb-item';
3537
- const DEFAULT_PROPS$w = {};
3538
+ const _excluded$x = ["as", "children", "className", "href", "isCurrent", "isDisabled"];
3539
+ const COMPONENT_NAME$y = 'BreadcrumbItem';
3540
+ const CLASSNAME$y = 'redsift-breadcrumb-item';
3541
+ const DEFAULT_PROPS$y = {};
3538
3542
 
3539
3543
  /**
3540
3544
  * The BreadcrumbItem components is a list of links to the parent pages of the current page in hierarchical order.
@@ -3548,7 +3552,7 @@ const BreadcrumbItem = /*#__PURE__*/forwardRef((props, ref) => {
3548
3552
  isCurrent,
3549
3553
  isDisabled
3550
3554
  } = props,
3551
- forwardedProps = _objectWithoutProperties(props, _excluded$t);
3555
+ forwardedProps = _objectWithoutProperties(props, _excluded$x);
3552
3556
  warnIfNoAccessibleLabelFound(props, [children]);
3553
3557
  return /*#__PURE__*/React__default.createElement(StyledBreadcrumbItem, _extends$1({
3554
3558
  as: as || 'a',
@@ -3564,9 +3568,9 @@ const BreadcrumbItem = /*#__PURE__*/forwardRef((props, ref) => {
3564
3568
  ref: ref
3565
3569
  }), children);
3566
3570
  });
3567
- BreadcrumbItem.className = CLASSNAME$w;
3568
- BreadcrumbItem.defaultProps = DEFAULT_PROPS$w;
3569
- BreadcrumbItem.displayName = COMPONENT_NAME$w;
3571
+ BreadcrumbItem.className = CLASSNAME$y;
3572
+ BreadcrumbItem.defaultProps = DEFAULT_PROPS$y;
3573
+ BreadcrumbItem.displayName = COMPONENT_NAME$y;
3570
3574
 
3571
3575
  /**
3572
3576
  * Component style.
@@ -3600,10 +3604,10 @@ const StyledBreadcrumbs = styled.nav`
3600
3604
  }
3601
3605
  `;
3602
3606
 
3603
- const _excluded$s = ["children", "className", "isDisabled"];
3604
- const COMPONENT_NAME$v = 'Breadcrumbs';
3605
- const CLASSNAME$v = 'redsift-breadcrumbs';
3606
- const DEFAULT_PROPS$v = {};
3607
+ const _excluded$w = ["children", "className", "isDisabled"];
3608
+ const COMPONENT_NAME$x = 'Breadcrumbs';
3609
+ const CLASSNAME$x = 'redsift-breadcrumbs';
3610
+ const DEFAULT_PROPS$x = {};
3607
3611
 
3608
3612
  /**
3609
3613
  * The Breadcrumbs components is a list of links to the parent pages of the current page in hierarchical order.
@@ -3614,7 +3618,7 @@ const BaseBreadcrumbs = /*#__PURE__*/forwardRef((props, ref) => {
3614
3618
  className,
3615
3619
  isDisabled
3616
3620
  } = props,
3617
- forwardedProps = _objectWithoutProperties(props, _excluded$s);
3621
+ forwardedProps = _objectWithoutProperties(props, _excluded$w);
3618
3622
  warnIfNoAccessibleLabelFound(props);
3619
3623
  const childArray = filterComponents([Breadcrumbs.Item])(children);
3620
3624
  const breadcrumbItems = childArray.map((child, index) => {
@@ -3637,17 +3641,17 @@ const BaseBreadcrumbs = /*#__PURE__*/forwardRef((props, ref) => {
3637
3641
  ref: ref
3638
3642
  }), /*#__PURE__*/React__default.createElement("ol", null, breadcrumbItems));
3639
3643
  });
3640
- BaseBreadcrumbs.className = CLASSNAME$v;
3641
- BaseBreadcrumbs.defaultProps = DEFAULT_PROPS$v;
3642
- BaseBreadcrumbs.displayName = COMPONENT_NAME$v;
3644
+ BaseBreadcrumbs.className = CLASSNAME$x;
3645
+ BaseBreadcrumbs.defaultProps = DEFAULT_PROPS$x;
3646
+ BaseBreadcrumbs.displayName = COMPONENT_NAME$x;
3643
3647
  const Breadcrumbs = Object.assign(BaseBreadcrumbs, {
3644
3648
  Item: BreadcrumbItem
3645
3649
  });
3646
3650
 
3647
- const _excluded$r = ["as", "children", "className", "color", "href", "isActive", "isDisabled", "leftIcon", "rightIcon", "target", "variant"];
3648
- const COMPONENT_NAME$u = 'ButtonLink';
3649
- const CLASSNAME$u = 'redsift-button-link';
3650
- const DEFAULT_PROPS$u = {
3651
+ const _excluded$v = ["as", "children", "className", "color", "href", "isActive", "isDisabled", "leftIcon", "rightIcon", "target", "variant"];
3652
+ const COMPONENT_NAME$w = 'ButtonLink';
3653
+ const CLASSNAME$w = 'redsift-button-link';
3654
+ const DEFAULT_PROPS$w = {
3651
3655
  color: ColorPalette.default,
3652
3656
  height: 'fit-content',
3653
3657
  variant: ButtonVariant.primary
@@ -3674,7 +3678,7 @@ const ButtonLink = /*#__PURE__*/forwardRef((props, ref) => {
3674
3678
  target,
3675
3679
  variant
3676
3680
  } = props,
3677
- forwardedProps = _objectWithoutProperties(props, _excluded$r);
3681
+ forwardedProps = _objectWithoutProperties(props, _excluded$v);
3678
3682
  return /*#__PURE__*/React__default.createElement(StyledButton, _extends$1({
3679
3683
  as: as || 'a',
3680
3684
  role: "link",
@@ -3688,19 +3692,19 @@ const ButtonLink = /*#__PURE__*/forwardRef((props, ref) => {
3688
3692
  href: !isDisabled ? href : undefined,
3689
3693
  ref: ref,
3690
3694
  target: target
3691
- }), leftIcon ? typeof leftIcon === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
3695
+ }), leftIcon ? /*#__PURE__*/React__default.createElement(Icon, {
3692
3696
  icon: leftIcon,
3693
3697
  "aria-hidden": "true",
3694
3698
  className: "left"
3695
- }) : leftIcon : null, children, rightIcon ? typeof rightIcon === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
3699
+ }) : null, children, rightIcon ? /*#__PURE__*/React__default.createElement(Icon, {
3696
3700
  icon: rightIcon,
3697
3701
  "aria-hidden": "true",
3698
3702
  className: "right"
3699
- }) : rightIcon : null);
3703
+ }) : null);
3700
3704
  });
3701
- ButtonLink.className = CLASSNAME$u;
3702
- ButtonLink.defaultProps = DEFAULT_PROPS$u;
3703
- ButtonLink.displayName = COMPONENT_NAME$u;
3705
+ ButtonLink.className = CLASSNAME$w;
3706
+ ButtonLink.defaultProps = DEFAULT_PROPS$w;
3707
+ ButtonLink.displayName = COMPONENT_NAME$w;
3704
3708
 
3705
3709
  var collapse$3 = "Collapse";
3706
3710
  var expand$3 = "Expand";
@@ -3890,10 +3894,10 @@ const StyledSkeletonCircle = styled(StyledSkeleton)`
3890
3894
  }}
3891
3895
  `;
3892
3896
 
3893
- const _excluded$q = ["children", "className", "isLoaded"];
3894
- const COMPONENT_NAME$t = 'SkeletonCircle';
3895
- const CLASSNAME$t = 'redsift-skeleton-circle';
3896
- const DEFAULT_PROPS$t = {};
3897
+ const _excluded$u = ["children", "className", "isLoaded"];
3898
+ const COMPONENT_NAME$v = 'SkeletonCircle';
3899
+ const CLASSNAME$v = 'redsift-skeleton-circle';
3900
+ const DEFAULT_PROPS$v = {};
3897
3901
 
3898
3902
  /**
3899
3903
  * The SkeletonCircle component.
@@ -3904,7 +3908,7 @@ const SkeletonCircle = /*#__PURE__*/forwardRef((props, ref) => {
3904
3908
  className,
3905
3909
  isLoaded
3906
3910
  } = props,
3907
- forwardedProps = _objectWithoutProperties(props, _excluded$q);
3911
+ forwardedProps = _objectWithoutProperties(props, _excluded$u);
3908
3912
  if (isLoaded) {
3909
3913
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, children);
3910
3914
  }
@@ -3913,9 +3917,9 @@ const SkeletonCircle = /*#__PURE__*/forwardRef((props, ref) => {
3913
3917
  ref: ref
3914
3918
  }), typeof children === 'string' ? /*#__PURE__*/React__default.createElement("span", null, children) : children);
3915
3919
  });
3916
- SkeletonCircle.className = CLASSNAME$t;
3917
- SkeletonCircle.defaultProps = DEFAULT_PROPS$t;
3918
- SkeletonCircle.displayName = COMPONENT_NAME$t;
3920
+ SkeletonCircle.className = CLASSNAME$v;
3921
+ SkeletonCircle.defaultProps = DEFAULT_PROPS$v;
3922
+ SkeletonCircle.displayName = COMPONENT_NAME$v;
3919
3923
 
3920
3924
  /**
3921
3925
  * Component variant.
@@ -3971,10 +3975,10 @@ const StyledSkeletonText = styled(StyledSkeleton)`
3971
3975
  }}}
3972
3976
  `;
3973
3977
 
3974
- const _excluded$p = ["children", "className", "fontSize", "isLoaded", "lineHeight", "variant"];
3975
- const COMPONENT_NAME$s = 'SkeletonText';
3976
- const CLASSNAME$s = 'redsift-skeleton-text';
3977
- const DEFAULT_PROPS$s = {
3978
+ const _excluded$t = ["children", "className", "fontSize", "isLoaded", "lineHeight", "variant"];
3979
+ const COMPONENT_NAME$u = 'SkeletonText';
3980
+ const CLASSNAME$u = 'redsift-skeleton-text';
3981
+ const DEFAULT_PROPS$u = {
3978
3982
  variant: 'body'
3979
3983
  };
3980
3984
 
@@ -3990,7 +3994,7 @@ const SkeletonText = /*#__PURE__*/forwardRef((props, ref) => {
3990
3994
  lineHeight,
3991
3995
  variant
3992
3996
  } = props,
3993
- forwardedProps = _objectWithoutProperties(props, _excluded$p);
3997
+ forwardedProps = _objectWithoutProperties(props, _excluded$t);
3994
3998
  if (isLoaded) {
3995
3999
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, children);
3996
4000
  }
@@ -4002,14 +4006,14 @@ const SkeletonText = /*#__PURE__*/forwardRef((props, ref) => {
4002
4006
  $variant: variant
4003
4007
  }), typeof children === 'string' ? /*#__PURE__*/React__default.createElement("span", null, children) : children);
4004
4008
  });
4005
- SkeletonText.className = CLASSNAME$s;
4006
- SkeletonText.defaultProps = DEFAULT_PROPS$s;
4007
- SkeletonText.displayName = COMPONENT_NAME$s;
4009
+ SkeletonText.className = CLASSNAME$u;
4010
+ SkeletonText.defaultProps = DEFAULT_PROPS$u;
4011
+ SkeletonText.displayName = COMPONENT_NAME$u;
4008
4012
 
4009
- const _excluded$o = ["children", "className", "isLoaded"];
4010
- const COMPONENT_NAME$r = 'Skeleton';
4011
- const CLASSNAME$r = 'redsift-skeleton';
4012
- const DEFAULT_PROPS$r = {};
4013
+ const _excluded$s = ["children", "className", "isLoaded"];
4014
+ const COMPONENT_NAME$t = 'Skeleton';
4015
+ const CLASSNAME$t = 'redsift-skeleton';
4016
+ const DEFAULT_PROPS$t = {};
4013
4017
 
4014
4018
  /**
4015
4019
  * The Skeleton component.
@@ -4020,7 +4024,7 @@ const BaseSkeleton = /*#__PURE__*/forwardRef((props, ref) => {
4020
4024
  className,
4021
4025
  isLoaded
4022
4026
  } = props,
4023
- forwardedProps = _objectWithoutProperties(props, _excluded$o);
4027
+ forwardedProps = _objectWithoutProperties(props, _excluded$s);
4024
4028
  if (isLoaded) {
4025
4029
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, children);
4026
4030
  }
@@ -4029,18 +4033,18 @@ const BaseSkeleton = /*#__PURE__*/forwardRef((props, ref) => {
4029
4033
  ref: ref
4030
4034
  }), typeof children === 'string' ? /*#__PURE__*/React__default.createElement("span", null, children) : children);
4031
4035
  });
4032
- BaseSkeleton.className = CLASSNAME$r;
4033
- BaseSkeleton.defaultProps = DEFAULT_PROPS$r;
4034
- BaseSkeleton.displayName = COMPONENT_NAME$r;
4036
+ BaseSkeleton.className = CLASSNAME$t;
4037
+ BaseSkeleton.defaultProps = DEFAULT_PROPS$t;
4038
+ BaseSkeleton.displayName = COMPONENT_NAME$t;
4035
4039
  const Skeleton = Object.assign(BaseSkeleton, {
4036
4040
  Circle: SkeletonCircle,
4037
4041
  Text: SkeletonText
4038
4042
  });
4039
4043
 
4040
- const _excluded$n = ["children", "className", "header", "headingProps", "icon", "isLoading", "subheader"];
4041
- const COMPONENT_NAME$q = 'CardHeader';
4042
- const CLASSNAME$q = 'redsift-card-header';
4043
- const DEFAULT_PROPS$q = {};
4044
+ const _excluded$r = ["children", "className", "header", "headingProps", "icon", "isLoading", "subheader"];
4045
+ const COMPONENT_NAME$s = 'CardHeader';
4046
+ const CLASSNAME$s = 'redsift-card-header';
4047
+ const DEFAULT_PROPS$s = {};
4044
4048
 
4045
4049
  /**
4046
4050
  * The CardHeader component.
@@ -4055,7 +4059,7 @@ const CardHeader = /*#__PURE__*/forwardRef((props, ref) => {
4055
4059
  isLoading,
4056
4060
  subheader
4057
4061
  } = props,
4058
- forwardedProps = _objectWithoutProperties(props, _excluded$n);
4062
+ forwardedProps = _objectWithoutProperties(props, _excluded$r);
4059
4063
  return /*#__PURE__*/React__default.createElement(StyledCardHeader, _extends$1({}, forwardedProps, {
4060
4064
  className: classNames(CardHeader.className, className),
4061
4065
  ref: ref
@@ -4079,9 +4083,9 @@ const CardHeader = /*#__PURE__*/forwardRef((props, ref) => {
4079
4083
  "aria-hidden": "true"
4080
4084
  }) : null, header)) : null, children);
4081
4085
  });
4082
- CardHeader.className = CLASSNAME$q;
4083
- CardHeader.defaultProps = DEFAULT_PROPS$q;
4084
- CardHeader.displayName = COMPONENT_NAME$q;
4086
+ CardHeader.className = CLASSNAME$s;
4087
+ CardHeader.defaultProps = DEFAULT_PROPS$s;
4088
+ CardHeader.displayName = COMPONENT_NAME$s;
4085
4089
 
4086
4090
  /**
4087
4091
  * Component style.
@@ -4097,10 +4101,10 @@ const StyledCardBody = styled.div`
4097
4101
  padding: 16px 0px;
4098
4102
  `;
4099
4103
 
4100
- const _excluded$m = ["children", "className"];
4101
- const COMPONENT_NAME$p = 'CardBody';
4102
- const CLASSNAME$p = 'redsift-card-body';
4103
- const DEFAULT_PROPS$p = {};
4104
+ const _excluded$q = ["children", "className"];
4105
+ const COMPONENT_NAME$r = 'CardBody';
4106
+ const CLASSNAME$r = 'redsift-card-body';
4107
+ const DEFAULT_PROPS$r = {};
4104
4108
 
4105
4109
  /**
4106
4110
  * The CardBody component.
@@ -4110,15 +4114,15 @@ const CardBody = /*#__PURE__*/forwardRef((props, ref) => {
4110
4114
  children,
4111
4115
  className
4112
4116
  } = props,
4113
- forwardedProps = _objectWithoutProperties(props, _excluded$m);
4117
+ forwardedProps = _objectWithoutProperties(props, _excluded$q);
4114
4118
  return /*#__PURE__*/React__default.createElement(StyledCardBody, _extends$1({}, forwardedProps, {
4115
4119
  className: classNames(CardBody.className, className),
4116
4120
  ref: ref
4117
4121
  }), children);
4118
4122
  });
4119
- CardBody.className = CLASSNAME$p;
4120
- CardBody.defaultProps = DEFAULT_PROPS$p;
4121
- CardBody.displayName = COMPONENT_NAME$p;
4123
+ CardBody.className = CLASSNAME$r;
4124
+ CardBody.defaultProps = DEFAULT_PROPS$r;
4125
+ CardBody.displayName = COMPONENT_NAME$r;
4122
4126
 
4123
4127
  /**
4124
4128
  * Component style.
@@ -4130,10 +4134,10 @@ const StyledCardActions = styled.div`
4130
4134
  margin-bottom: 8px;
4131
4135
  `;
4132
4136
 
4133
- const _excluded$l = ["children", "className"];
4134
- const COMPONENT_NAME$o = 'CardActions';
4135
- const CLASSNAME$o = 'redsift-card-actions';
4136
- const DEFAULT_PROPS$o = {
4137
+ const _excluded$p = ["children", "className"];
4138
+ const COMPONENT_NAME$q = 'CardActions';
4139
+ const CLASSNAME$q = 'redsift-card-actions';
4140
+ const DEFAULT_PROPS$q = {
4137
4141
  display: 'flex',
4138
4142
  flexDirection: 'row'
4139
4143
  };
@@ -4146,20 +4150,20 @@ const CardActions = /*#__PURE__*/forwardRef((props, ref) => {
4146
4150
  children,
4147
4151
  className
4148
4152
  } = props,
4149
- forwardedProps = _objectWithoutProperties(props, _excluded$l);
4153
+ forwardedProps = _objectWithoutProperties(props, _excluded$p);
4150
4154
  return /*#__PURE__*/React__default.createElement(StyledCardActions, _extends$1({}, forwardedProps, {
4151
4155
  className: classNames(CardActions.className, className),
4152
4156
  ref: ref
4153
4157
  }), children);
4154
4158
  });
4155
- CardActions.className = CLASSNAME$o;
4156
- CardActions.defaultProps = DEFAULT_PROPS$o;
4157
- CardActions.displayName = COMPONENT_NAME$o;
4159
+ CardActions.className = CLASSNAME$q;
4160
+ CardActions.defaultProps = DEFAULT_PROPS$q;
4161
+ CardActions.displayName = COMPONENT_NAME$q;
4158
4162
 
4159
- const _excluded$k = ["children", "className", "defaultCollapsed", "isCollapsed", "isCollapsible", "onCollapse"];
4160
- const COMPONENT_NAME$n = 'Card';
4161
- const CLASSNAME$n = 'redsift-card';
4162
- const DEFAULT_PROPS$n = {};
4163
+ const _excluded$o = ["children", "className", "defaultCollapsed", "isCollapsed", "isCollapsible", "onCollapse"];
4164
+ const COMPONENT_NAME$p = 'Card';
4165
+ const CLASSNAME$p = 'redsift-card';
4166
+ const DEFAULT_PROPS$p = {};
4163
4167
 
4164
4168
  /**
4165
4169
  * The Card component.
@@ -4173,7 +4177,7 @@ const BaseCard = /*#__PURE__*/forwardRef((props, ref) => {
4173
4177
  isCollapsible,
4174
4178
  onCollapse
4175
4179
  } = props,
4176
- forwardedProps = _objectWithoutProperties(props, _excluded$k);
4180
+ forwardedProps = _objectWithoutProperties(props, _excluded$o);
4177
4181
  const stringFormatter = useLocalizedStringFormatter(intlMessages$2);
4178
4182
  const [isCollapsed, setIsCollapsed] = useState(propsIsCollapsed !== null && propsIsCollapsed !== void 0 ? propsIsCollapsed : defaultCollapsed);
4179
4183
  useEffect(() => {
@@ -4204,9 +4208,9 @@ const BaseCard = /*#__PURE__*/forwardRef((props, ref) => {
4204
4208
  className: `${BaseCard.className}__content`
4205
4209
  }, body, actions) : null);
4206
4210
  });
4207
- BaseCard.className = CLASSNAME$n;
4208
- BaseCard.defaultProps = DEFAULT_PROPS$n;
4209
- BaseCard.displayName = COMPONENT_NAME$n;
4211
+ BaseCard.className = CLASSNAME$p;
4212
+ BaseCard.defaultProps = DEFAULT_PROPS$p;
4213
+ BaseCard.displayName = COMPONENT_NAME$p;
4210
4214
  const Card = Object.assign(BaseCard, {
4211
4215
  Header: CardHeader,
4212
4216
  Body: CardBody,
@@ -4309,10 +4313,10 @@ const StyledCheckboxGroup = styled.div`
4309
4313
  }
4310
4314
  `;
4311
4315
 
4312
- const _excluded$j = ["children", "className", "defaultValues", "description", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "onChange", "orientation", "possibleValues", "value"];
4313
- const COMPONENT_NAME$m = 'CheckboxGroup';
4314
- const CLASSNAME$m = 'redsift-checkbox-group';
4315
- const DEFAULT_PROPS$m = {
4316
+ const _excluded$n = ["children", "className", "defaultValues", "description", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "onChange", "orientation", "value"];
4317
+ const COMPONENT_NAME$o = 'CheckboxGroup';
4318
+ const CLASSNAME$o = 'redsift-checkbox-group';
4319
+ const DEFAULT_PROPS$o = {
4316
4320
  color: ColorPalette.default,
4317
4321
  orientation: CheckboxGroupOrientation.vertical
4318
4322
  };
@@ -4334,10 +4338,9 @@ const CheckboxGroup = /*#__PURE__*/forwardRef((props, ref) => {
4334
4338
  label,
4335
4339
  onChange,
4336
4340
  orientation,
4337
- possibleValues,
4338
4341
  value
4339
4342
  } = props,
4340
- forwardedProps = _objectWithoutProperties(props, _excluded$j);
4343
+ forwardedProps = _objectWithoutProperties(props, _excluded$n);
4341
4344
  const [selectedValues, setValue] = useState(value || defaultValues || []);
4342
4345
  useEffect(() => {
4343
4346
  if (value) {
@@ -4348,7 +4351,6 @@ const CheckboxGroup = /*#__PURE__*/forwardRef((props, ref) => {
4348
4351
  value: selectedValues,
4349
4352
  isDisabled: isDisabled || false,
4350
4353
  isReadOnly: isReadOnly || false,
4351
- possibleValues: possibleValues,
4352
4354
  setValue(values) {
4353
4355
  if (isReadOnly || isDisabled) {
4354
4356
  return;
@@ -4391,9 +4393,9 @@ const CheckboxGroup = /*#__PURE__*/forwardRef((props, ref) => {
4391
4393
  className: `${CheckboxGroup.className}-description`
4392
4394
  }, description));
4393
4395
  });
4394
- CheckboxGroup.className = CLASSNAME$m;
4395
- CheckboxGroup.defaultProps = DEFAULT_PROPS$m;
4396
- CheckboxGroup.displayName = COMPONENT_NAME$m;
4396
+ CheckboxGroup.className = CLASSNAME$o;
4397
+ CheckboxGroup.defaultProps = DEFAULT_PROPS$o;
4398
+ CheckboxGroup.displayName = COMPONENT_NAME$o;
4397
4399
 
4398
4400
  /**
4399
4401
  * Component style.
@@ -4501,10 +4503,10 @@ const StyledCheckbox = styled.label`
4501
4503
  }
4502
4504
  `;
4503
4505
 
4504
- const _excluded$i = ["aria-label", "aria-labelledby", "autoFocus", "children", "className", "defaultSelected", "inputProps", "inputRef", "isColored", "isControlled", "isDisabled", "isIndeterminate", "isInvalid", "isReadOnly", "isRequired", "isSelected", "name", "onChange", "value"];
4505
- const COMPONENT_NAME$l = 'Checkbox';
4506
- const CLASSNAME$l = 'redsift-checkbox';
4507
- const DEFAULT_PROPS$l = {
4506
+ const _excluded$m = ["aria-label", "aria-labelledby", "autoFocus", "children", "className", "defaultSelected", "inputProps", "inputRef", "isColored", "isControlled", "isDisabled", "isIndeterminate", "isInvalid", "isReadOnly", "isRequired", "isSelected", "name", "onChange", "value"];
4507
+ const COMPONENT_NAME$n = 'Checkbox';
4508
+ const CLASSNAME$n = 'redsift-checkbox';
4509
+ const DEFAULT_PROPS$n = {
4508
4510
  isColored: true
4509
4511
  };
4510
4512
 
@@ -4537,7 +4539,7 @@ const Checkbox = /*#__PURE__*/forwardRef((props, ref) => {
4537
4539
  onChange,
4538
4540
  value
4539
4541
  } = props,
4540
- forwardedProps = _objectWithoutProperties(props, _excluded$i);
4542
+ forwardedProps = _objectWithoutProperties(props, _excluded$m);
4541
4543
  const {
4542
4544
  isFocusVisible,
4543
4545
  focusProps
@@ -4618,9 +4620,9 @@ const Checkbox = /*#__PURE__*/forwardRef((props, ref) => {
4618
4620
  value: value
4619
4621
  })));
4620
4622
  });
4621
- Checkbox.className = CLASSNAME$l;
4622
- Checkbox.defaultProps = DEFAULT_PROPS$l;
4623
- Checkbox.displayName = COMPONENT_NAME$l;
4623
+ Checkbox.className = CLASSNAME$n;
4624
+ Checkbox.defaultProps = DEFAULT_PROPS$n;
4625
+ Checkbox.displayName = COMPONENT_NAME$n;
4624
4626
 
4625
4627
  const ConditionalWrapper = _ref => {
4626
4628
  let {
@@ -4734,10 +4736,10 @@ const StyledShield = styled.div`
4734
4736
  }}
4735
4737
  `;
4736
4738
 
4737
- const _excluded$h = ["aria-hidden", "aria-label", "className", "svgProps", "isOutlined", "isReversed", "variant"];
4738
- const COMPONENT_NAME$k = 'Shield';
4739
- const CLASSNAME$k = 'redsift-shield';
4740
- const DEFAULT_PROPS$k = {
4739
+ const _excluded$l = ["aria-hidden", "aria-label", "className", "svgProps", "isOutlined", "isReversed", "variant"];
4740
+ const COMPONENT_NAME$m = 'Shield';
4741
+ const CLASSNAME$m = 'redsift-shield';
4742
+ const DEFAULT_PROPS$m = {
4741
4743
  variant: ShieldVariant.success
4742
4744
  };
4743
4745
  const getVariant = variant => {
@@ -4823,7 +4825,7 @@ const Shield = /*#__PURE__*/forwardRef((props, ref) => {
4823
4825
  isReversed,
4824
4826
  variant
4825
4827
  } = props,
4826
- forwardedProps = _objectWithoutProperties(props, _excluded$h);
4828
+ forwardedProps = _objectWithoutProperties(props, _excluded$l);
4827
4829
  const {
4828
4830
  color,
4829
4831
  icon
@@ -4857,9 +4859,9 @@ const Shield = /*#__PURE__*/forwardRef((props, ref) => {
4857
4859
  className: "icon"
4858
4860
  })));
4859
4861
  });
4860
- Shield.className = CLASSNAME$k;
4861
- Shield.defaultProps = DEFAULT_PROPS$k;
4862
- Shield.displayName = COMPONENT_NAME$k;
4862
+ Shield.className = CLASSNAME$m;
4863
+ Shield.defaultProps = DEFAULT_PROPS$m;
4864
+ Shield.displayName = COMPONENT_NAME$m;
4863
4865
 
4864
4866
  var collapse$1 = "Collapse details";
4865
4867
  var expand$1 = "Expand details";
@@ -4911,10 +4913,10 @@ const StyledDetailedCardCollapsibleSectionItems = styled.div`
4911
4913
  }
4912
4914
  `;
4913
4915
 
4914
- const _excluded$g = ["caption", "children", "className", "hideBackground"];
4915
- const COMPONENT_NAME$j = 'DetailedCardCollapsibleSectionItems';
4916
- const CLASSNAME$j = 'redsift-detailed-card-collapsible-section-items';
4917
- const DEFAULT_PROPS$j = {};
4916
+ const _excluded$k = ["caption", "children", "className", "hideBackground"];
4917
+ const COMPONENT_NAME$l = 'DetailedCardCollapsibleSectionItems';
4918
+ const CLASSNAME$l = 'redsift-detailed-card-collapsible-section-items';
4919
+ const DEFAULT_PROPS$l = {};
4918
4920
 
4919
4921
  /**
4920
4922
  * The DetailedCardCollapsibleSectionItems Section component.
@@ -4926,7 +4928,7 @@ const DetailedCardCollapsibleSectionItems = /*#__PURE__*/forwardRef((props, ref)
4926
4928
  className,
4927
4929
  hideBackground
4928
4930
  } = props,
4929
- forwardedProps = _objectWithoutProperties(props, _excluded$g);
4931
+ forwardedProps = _objectWithoutProperties(props, _excluded$k);
4930
4932
  return /*#__PURE__*/React__default.createElement(StyledDetailedCardCollapsibleSectionItems, _extends$1({}, forwardedProps, {
4931
4933
  className: classNames(DetailedCardCollapsibleSectionItems.className, className),
4932
4934
  ref: ref,
@@ -4935,9 +4937,9 @@ const DetailedCardCollapsibleSectionItems = /*#__PURE__*/forwardRef((props, ref)
4935
4937
  className: `${DetailedCardCollapsibleSectionItems.className}__caption`
4936
4938
  }, caption) : null);
4937
4939
  });
4938
- DetailedCardCollapsibleSectionItems.className = CLASSNAME$j;
4939
- DetailedCardCollapsibleSectionItems.defaultProps = DEFAULT_PROPS$j;
4940
- DetailedCardCollapsibleSectionItems.displayName = COMPONENT_NAME$j;
4940
+ DetailedCardCollapsibleSectionItems.className = CLASSNAME$l;
4941
+ DetailedCardCollapsibleSectionItems.defaultProps = DEFAULT_PROPS$l;
4942
+ DetailedCardCollapsibleSectionItems.displayName = COMPONENT_NAME$l;
4941
4943
 
4942
4944
  /**
4943
4945
  * Component style.
@@ -5122,10 +5124,10 @@ const StyledText = styled.span`
5122
5124
  }}
5123
5125
  `;
5124
5126
 
5125
- const _excluded$f = ["as", "children", "className", "color", "fontFamily", "fontSize", "lineHeight", "noWrap", "variant"];
5126
- const COMPONENT_NAME$i = 'Text';
5127
- const CLASSNAME$i = 'redsift-text';
5128
- const DEFAULT_PROPS$i = {
5127
+ const _excluded$j = ["as", "children", "className", "color", "fontFamily", "fontSize", "lineHeight", "noWrap", "variant"];
5128
+ const COMPONENT_NAME$k = 'Text';
5129
+ const CLASSNAME$k = 'redsift-text';
5130
+ const DEFAULT_PROPS$k = {
5129
5131
  fontFamily: FontFamily.raleway
5130
5132
  };
5131
5133
 
@@ -5144,7 +5146,7 @@ const Text = /*#__PURE__*/forwardRef((props, ref) => {
5144
5146
  noWrap,
5145
5147
  variant
5146
5148
  } = props,
5147
- forwardedProps = _objectWithoutProperties(props, _excluded$f);
5149
+ forwardedProps = _objectWithoutProperties(props, _excluded$j);
5148
5150
  return /*#__PURE__*/React__default.createElement(StyledText, _extends$1({
5149
5151
  as: as
5150
5152
  }, forwardedProps, {
@@ -5159,14 +5161,14 @@ const Text = /*#__PURE__*/forwardRef((props, ref) => {
5159
5161
  $variant: variant
5160
5162
  }), children);
5161
5163
  });
5162
- Text.className = CLASSNAME$i;
5163
- Text.defaultProps = DEFAULT_PROPS$i;
5164
- Text.displayName = COMPONENT_NAME$i;
5165
-
5166
- const _excluded$e = ["badge", "color", "children", "className", "header", "isCollapsed", "isCollapsible", "isLoading"];
5167
- const COMPONENT_NAME$h = 'DetailedCardSection';
5168
- const CLASSNAME$h = 'redsift-detailed-card-section';
5169
- const DEFAULT_PROPS$h = {
5164
+ Text.className = CLASSNAME$k;
5165
+ Text.defaultProps = DEFAULT_PROPS$k;
5166
+ Text.displayName = COMPONENT_NAME$k;
5167
+
5168
+ const _excluded$i = ["badge", "color", "children", "className", "header", "isCollapsed", "isCollapsible", "isLoading"];
5169
+ const COMPONENT_NAME$j = 'DetailedCardSection';
5170
+ const CLASSNAME$j = 'redsift-detailed-card-section';
5171
+ const DEFAULT_PROPS$j = {
5170
5172
  isCollapsible: true
5171
5173
  };
5172
5174
  const hasCollapsibleChildren = children => {
@@ -5193,7 +5195,7 @@ const DetailedCardSection = /*#__PURE__*/forwardRef((props, ref) => {
5193
5195
  isCollapsible: propsIsCollapsible,
5194
5196
  isLoading
5195
5197
  } = props,
5196
- forwardedProps = _objectWithoutProperties(props, _excluded$e);
5198
+ forwardedProps = _objectWithoutProperties(props, _excluded$i);
5197
5199
  const stringFormatter = useLocalizedStringFormatter(intlMessages);
5198
5200
  const isCollapsible = propsIsCollapsible && hasCollapsibleChildren(children);
5199
5201
  const [isCollapsed, setIsCollapsed] = useState(Boolean(propsIsCollapsed));
@@ -5236,9 +5238,9 @@ const DetailedCardSection = /*#__PURE__*/forwardRef((props, ref) => {
5236
5238
  }
5237
5239
  }) : null), children);
5238
5240
  });
5239
- DetailedCardSection.className = CLASSNAME$h;
5240
- DetailedCardSection.defaultProps = DEFAULT_PROPS$h;
5241
- DetailedCardSection.displayName = COMPONENT_NAME$h;
5241
+ DetailedCardSection.className = CLASSNAME$j;
5242
+ DetailedCardSection.defaultProps = DEFAULT_PROPS$j;
5243
+ DetailedCardSection.displayName = COMPONENT_NAME$j;
5242
5244
 
5243
5245
  /**
5244
5246
  * Component style.
@@ -5279,10 +5281,10 @@ const StyledDetailedCardHeader = styled.div`
5279
5281
  }
5280
5282
  `;
5281
5283
 
5282
- const _excluded$d = ["children", "className", "header", "headingProps", "isLoading"];
5283
- const COMPONENT_NAME$g = 'DetailedCardHeader';
5284
- const CLASSNAME$g = 'redsift-detailed-card-header';
5285
- const DEFAULT_PROPS$g = {};
5284
+ const _excluded$h = ["children", "className", "header", "headingProps", "isLoading"];
5285
+ const COMPONENT_NAME$i = 'DetailedCardHeader';
5286
+ const CLASSNAME$i = 'redsift-detailed-card-header';
5287
+ const DEFAULT_PROPS$i = {};
5286
5288
 
5287
5289
  /**
5288
5290
  * The DetailedCardHeader component.
@@ -5295,7 +5297,7 @@ const DetailedCardHeader = /*#__PURE__*/forwardRef((props, ref) => {
5295
5297
  headingProps,
5296
5298
  isLoading
5297
5299
  } = props,
5298
- forwardedProps = _objectWithoutProperties(props, _excluded$d);
5300
+ forwardedProps = _objectWithoutProperties(props, _excluded$h);
5299
5301
  return /*#__PURE__*/React__default.createElement(StyledDetailedCardHeader, _extends$1({}, forwardedProps, {
5300
5302
  className: classNames(DetailedCardHeader.className, className),
5301
5303
  ref: ref
@@ -5310,9 +5312,9 @@ const DetailedCardHeader = /*#__PURE__*/forwardRef((props, ref) => {
5310
5312
  variant: "h2"
5311
5313
  }, headingProps), header)) : null, children);
5312
5314
  });
5313
- DetailedCardHeader.className = CLASSNAME$g;
5314
- DetailedCardHeader.defaultProps = DEFAULT_PROPS$g;
5315
- DetailedCardHeader.displayName = COMPONENT_NAME$g;
5315
+ DetailedCardHeader.className = CLASSNAME$i;
5316
+ DetailedCardHeader.defaultProps = DEFAULT_PROPS$i;
5317
+ DetailedCardHeader.displayName = COMPONENT_NAME$i;
5316
5318
 
5317
5319
  /**
5318
5320
  * Component style.
@@ -5356,10 +5358,10 @@ const StyledPill = styled.div`
5356
5358
  }
5357
5359
  `;
5358
5360
 
5359
- const _excluded$c = ["autoBreak", "children", "className", "color"];
5360
- const COMPONENT_NAME$f = 'Pill';
5361
- const CLASSNAME$f = 'redsift-pill';
5362
- const DEFAULT_PROPS$f = {
5361
+ const _excluded$g = ["autoBreak", "children", "className", "color"];
5362
+ const COMPONENT_NAME$h = 'Pill';
5363
+ const CLASSNAME$h = 'redsift-pill';
5364
+ const DEFAULT_PROPS$h = {
5363
5365
  color: DataVizColorPalette.pink,
5364
5366
  height: 'fit-content'
5365
5367
  };
@@ -5374,7 +5376,7 @@ const Pill = /*#__PURE__*/forwardRef((props, ref) => {
5374
5376
  className,
5375
5377
  color
5376
5378
  } = props,
5377
- forwardedProps = _objectWithoutProperties(props, _excluded$c);
5379
+ forwardedProps = _objectWithoutProperties(props, _excluded$g);
5378
5380
  return /*#__PURE__*/React__default.createElement(StyledPill, _extends$1({}, forwardedProps, {
5379
5381
  $autoBreak: autoBreak,
5380
5382
  $color: color,
@@ -5382,9 +5384,9 @@ const Pill = /*#__PURE__*/forwardRef((props, ref) => {
5382
5384
  ref: ref
5383
5385
  }), children);
5384
5386
  });
5385
- Pill.className = CLASSNAME$f;
5386
- Pill.defaultProps = DEFAULT_PROPS$f;
5387
- Pill.displayName = COMPONENT_NAME$f;
5387
+ Pill.className = CLASSNAME$h;
5388
+ Pill.defaultProps = DEFAULT_PROPS$h;
5389
+ Pill.displayName = COMPONENT_NAME$h;
5388
5390
 
5389
5391
  /**
5390
5392
  * Component style.
@@ -5414,10 +5416,10 @@ const StyledDetailedCardSectionItem = styled.div`
5414
5416
  }
5415
5417
  `;
5416
5418
 
5417
- const _excluded$b = ["children", "className", "description", "icon", "iconProps", "isLoading", "pill", "pillProps", "shield"];
5418
- const COMPONENT_NAME$e = 'DetailedCardSectionItem';
5419
- const CLASSNAME$e = 'redsift-detailed-card-section-item';
5420
- const DEFAULT_PROPS$e = {};
5419
+ const _excluded$f = ["children", "className", "description", "icon", "iconProps", "isLoading", "pill", "pillProps", "shield"];
5420
+ const COMPONENT_NAME$g = 'DetailedCardSectionItem';
5421
+ const CLASSNAME$g = 'redsift-detailed-card-section-item';
5422
+ const DEFAULT_PROPS$g = {};
5421
5423
 
5422
5424
  /**
5423
5425
  * The DetailedCardSectionItems component.
@@ -5434,7 +5436,7 @@ const DetailedCardSectionItem = /*#__PURE__*/forwardRef((props, ref) => {
5434
5436
  pillProps,
5435
5437
  shield
5436
5438
  } = props,
5437
- forwardedProps = _objectWithoutProperties(props, _excluded$b);
5439
+ forwardedProps = _objectWithoutProperties(props, _excluded$f);
5438
5440
  return /*#__PURE__*/React__default.createElement(StyledDetailedCardSectionItem, _extends$1({}, forwardedProps, {
5439
5441
  className: classNames(DetailedCardSectionItem.className, className),
5440
5442
  ref: ref
@@ -5462,9 +5464,9 @@ const DetailedCardSectionItem = /*#__PURE__*/forwardRef((props, ref) => {
5462
5464
  className: `${DetailedCardSectionItem.className}-header__pill`
5463
5465
  }, pillProps), pill), typeof description === 'string' ? /*#__PURE__*/React__default.createElement(Text, null, description) : description)) : null), children);
5464
5466
  });
5465
- DetailedCardSectionItem.className = CLASSNAME$e;
5466
- DetailedCardSectionItem.defaultProps = DEFAULT_PROPS$e;
5467
- DetailedCardSectionItem.displayName = COMPONENT_NAME$e;
5467
+ DetailedCardSectionItem.className = CLASSNAME$g;
5468
+ DetailedCardSectionItem.defaultProps = DEFAULT_PROPS$g;
5469
+ DetailedCardSectionItem.displayName = COMPONENT_NAME$g;
5468
5470
 
5469
5471
  /*!
5470
5472
  * tabbable 6.1.2
@@ -8969,9 +8971,9 @@ const StyledTooltipContent = styled.div`
8969
8971
  }}
8970
8972
  `;
8971
8973
 
8972
- const COMPONENT_NAME$d = 'TooltipContent';
8973
- const CLASSNAME$d = 'redsift-tooltip-content';
8974
- const DEFAULT_PROPS$d = {};
8974
+ const COMPONENT_NAME$f = 'TooltipContent';
8975
+ const CLASSNAME$f = 'redsift-tooltip-content';
8976
+ const DEFAULT_PROPS$f = {};
8975
8977
 
8976
8978
  /**
8977
8979
  * The TooltipContent component.
@@ -9032,13 +9034,13 @@ const TooltipContent = /*#__PURE__*/forwardRef((props, ref) => {
9032
9034
  className: `${TooltipContent.className}__inner`
9033
9035
  }, children)));
9034
9036
  });
9035
- TooltipContent.className = CLASSNAME$d;
9036
- TooltipContent.defaultProps = DEFAULT_PROPS$d;
9037
- TooltipContent.displayName = COMPONENT_NAME$d;
9037
+ TooltipContent.className = CLASSNAME$f;
9038
+ TooltipContent.defaultProps = DEFAULT_PROPS$f;
9039
+ TooltipContent.displayName = COMPONENT_NAME$f;
9038
9040
 
9039
- const COMPONENT_NAME$c = 'TooltipTrigger';
9040
- const CLASSNAME$c = 'redsift-tooltip-trigger';
9041
- const DEFAULT_PROPS$c = {};
9041
+ const COMPONENT_NAME$e = 'TooltipTrigger';
9042
+ const CLASSNAME$e = 'redsift-tooltip-trigger';
9043
+ const DEFAULT_PROPS$e = {};
9042
9044
 
9043
9045
  /**
9044
9046
  * The TooltipTrigger component.
@@ -9065,9 +9067,9 @@ const TooltipTrigger = /*#__PURE__*/forwardRef((props, ref) => {
9065
9067
  ref: triggerRef
9066
9068
  }, getReferenceProps(props)), children);
9067
9069
  });
9068
- TooltipTrigger.className = CLASSNAME$c;
9069
- TooltipTrigger.defaultProps = DEFAULT_PROPS$c;
9070
- TooltipTrigger.displayName = COMPONENT_NAME$c;
9070
+ TooltipTrigger.className = CLASSNAME$e;
9071
+ TooltipTrigger.defaultProps = DEFAULT_PROPS$e;
9072
+ TooltipTrigger.displayName = COMPONENT_NAME$e;
9071
9073
 
9072
9074
  function useTooltip(_ref) {
9073
9075
  let {
@@ -9128,9 +9130,9 @@ function useTooltip(_ref) {
9128
9130
  }), [isOpen, handleOpen, interactions, data, arrowRef, tooltipId]);
9129
9131
  }
9130
9132
 
9131
- const COMPONENT_NAME$b = 'Tooltip';
9132
- const CLASSNAME$b = 'redsift-tooltip';
9133
- const DEFAULT_PROPS$b = {
9133
+ const COMPONENT_NAME$d = 'Tooltip';
9134
+ const CLASSNAME$d = 'redsift-tooltip';
9135
+ const DEFAULT_PROPS$d = {
9134
9136
  delay: 500,
9135
9137
  placement: TooltipPlacement.top
9136
9138
  };
@@ -9161,9 +9163,9 @@ const BaseTooltip = props => {
9161
9163
  value: tooltip
9162
9164
  }, trigger, content);
9163
9165
  };
9164
- BaseTooltip.className = CLASSNAME$b;
9165
- BaseTooltip.defaultProps = DEFAULT_PROPS$b;
9166
- BaseTooltip.displayName = COMPONENT_NAME$b;
9166
+ BaseTooltip.className = CLASSNAME$d;
9167
+ BaseTooltip.defaultProps = DEFAULT_PROPS$d;
9168
+ BaseTooltip.displayName = COMPONENT_NAME$d;
9167
9169
  const Tooltip = Object.assign(BaseTooltip, {
9168
9170
  Trigger: TooltipTrigger,
9169
9171
  Content: TooltipContent
@@ -9177,10 +9179,10 @@ const useTooltipContext = () => {
9177
9179
  return context;
9178
9180
  };
9179
9181
 
9180
- const _excluded$a = ["areAllCollapsed", "bannerVariant", "children", "className", "color", "defaultAllCollapsed", "icon", "isCollapsible", "isLoading", "onCollapseAll", "shield"];
9181
- const COMPONENT_NAME$a = 'DetailedCard';
9182
- const CLASSNAME$a = 'redsift-detailed-card';
9183
- const DEFAULT_PROPS$a = {
9182
+ const _excluded$e = ["areAllCollapsed", "bannerVariant", "children", "className", "color", "defaultAllCollapsed", "icon", "isCollapsible", "isLoading", "onCollapseAll", "shield"];
9183
+ const COMPONENT_NAME$c = 'DetailedCard';
9184
+ const CLASSNAME$c = 'redsift-detailed-card';
9185
+ const DEFAULT_PROPS$c = {
9184
9186
  isCollapsible: true,
9185
9187
  width: '400px'
9186
9188
  };
@@ -9220,7 +9222,7 @@ const BaseDetailedCard = /*#__PURE__*/forwardRef((props, ref) => {
9220
9222
  onCollapseAll,
9221
9223
  shield
9222
9224
  } = props,
9223
- forwardedProps = _objectWithoutProperties(props, _excluded$a);
9225
+ forwardedProps = _objectWithoutProperties(props, _excluded$e);
9224
9226
  const stringFormatter = useLocalizedStringFormatter(intlMessages$1);
9225
9227
  const isCollapsible = propsIsCollapsible && hasMultipleCollapsibleChildren(children);
9226
9228
  const [allCollapsed, setAllCollapsed] = useState({
@@ -9306,9 +9308,9 @@ const BaseDetailedCard = /*#__PURE__*/forwardRef((props, ref) => {
9306
9308
  return child;
9307
9309
  }));
9308
9310
  });
9309
- BaseDetailedCard.className = CLASSNAME$a;
9310
- BaseDetailedCard.defaultProps = DEFAULT_PROPS$a;
9311
- BaseDetailedCard.displayName = COMPONENT_NAME$a;
9311
+ BaseDetailedCard.className = CLASSNAME$c;
9312
+ BaseDetailedCard.defaultProps = DEFAULT_PROPS$c;
9313
+ BaseDetailedCard.displayName = COMPONENT_NAME$c;
9312
9314
  const DetailedCard = Object.assign(BaseDetailedCard, {
9313
9315
  Header: DetailedCardHeader,
9314
9316
  Section: DetailedCardSection,
@@ -9316,128 +9318,1114 @@ const DetailedCard = Object.assign(BaseDetailedCard, {
9316
9318
  SectionItem: DetailedCardSectionItem
9317
9319
  });
9318
9320
 
9319
- /**
9320
- * Component style.
9321
- */
9322
- const StyledGrid = styled.div`
9323
- display: ${_ref => {
9324
- let {
9325
- inline
9326
- } = _ref;
9327
- return inline ? 'inline-grid' : 'grid';
9328
- }};
9329
-
9330
- ${baseStyling}
9331
- ${baseInternalSpacing}
9332
- ${baseGrid}
9333
- `;
9334
-
9335
- /**
9336
- * Component style.
9337
- */
9338
- const StyledGridItem = styled.div`
9339
- display: inherit;
9340
-
9341
- ${baseStyling}
9342
- ${baseInternalSpacing}
9343
- `;
9344
-
9345
- const _excluded$9 = ["children", "className"];
9346
- const COMPONENT_NAME$9 = 'GridItem';
9347
- const CLASSNAME$9 = 'redsift-grid-item';
9348
- const DEFAULT_PROPS$9 = {};
9321
+ let EventKey = /*#__PURE__*/function (EventKey) {
9322
+ EventKey["ArrowLeft"] = "ArrowLeft";
9323
+ EventKey["ArrowRight"] = "ArrowRight";
9324
+ EventKey["ArrowUp"] = "ArrowUp";
9325
+ EventKey["ArrowDown"] = "ArrowDown";
9326
+ EventKey["Home"] = "Home";
9327
+ EventKey["End"] = "End";
9328
+ return EventKey;
9329
+ }({});
9330
+ let Navigation = /*#__PURE__*/function (Navigation) {
9331
+ Navigation["PREVIOUS"] = "PREVIOUS";
9332
+ Navigation["NEXT"] = "NEXT";
9333
+ Navigation["VERY_FIRST"] = "VERY_FIRST";
9334
+ Navigation["VERY_LAST"] = "VERY_LAST";
9335
+ Navigation["PREVIOUS_ROW"] = "PREVIOUS_ROW";
9336
+ Navigation["NEXT_ROW"] = "NEXT_ROW";
9337
+ Navigation["FIRST_IN_ROW"] = "FIRST_IN_ROW";
9338
+ Navigation["LAST_IN_ROW"] = "LAST_IN_ROW";
9339
+ return Navigation;
9340
+ }({});
9341
+ let FocusWithinGroupActionType = /*#__PURE__*/function (FocusWithinGroupActionType) {
9342
+ FocusWithinGroupActionType["REGISTER_TAB_STOP"] = "REGISTER_TAB_STOP";
9343
+ FocusWithinGroupActionType["UNREGISTER_TAB_STOP"] = "UNREGISTER_TAB_STOP";
9344
+ FocusWithinGroupActionType["KEY_DOWN_ON_ITEM"] = "KEY_DOWN_ON_ITEM";
9345
+ FocusWithinGroupActionType["CLICK_ON_ITEM"] = "CLICK_ON_ITEM";
9346
+ FocusWithinGroupActionType["KEY_DOWN_ON_LIST"] = "KEY_DOWN_ON_LIST";
9347
+ FocusWithinGroupActionType["FOCUS_ON_LIST"] = "FOCUS_ON_LIST";
9348
+ FocusWithinGroupActionType["BLUR_ON_LIST"] = "BLUR_ON_LIST";
9349
+ FocusWithinGroupActionType["TAB_STOP_UPDATED"] = "TAB_STOP_UPDATED";
9350
+ FocusWithinGroupActionType["OPTIONS_UPDATED"] = "OPTIONS_UPDATED";
9351
+ FocusWithinGroupActionType["FILTER_LIST"] = "FILTER_LIST";
9352
+ FocusWithinGroupActionType["DELAY_ACTION"] = "DELAY_ACTION";
9353
+ return FocusWithinGroupActionType;
9354
+ }({});
9349
9355
 
9350
9356
  /**
9351
- * The GridItem component.
9357
+ * Component props.
9352
9358
  */
9353
- const GridItem = /*#__PURE__*/forwardRef((props, ref) => {
9354
- const {
9355
- children,
9356
- className
9357
- } = props,
9358
- forwardedProps = _objectWithoutProperties(props, _excluded$9);
9359
- return /*#__PURE__*/React__default.createElement(StyledGridItem, _extends$1({}, forwardedProps, {
9360
- className: classNames(GridItem.className, className),
9361
- ref: ref
9362
- }), children);
9363
- });
9364
- GridItem.className = CLASSNAME$9;
9365
- GridItem.defaultProps = DEFAULT_PROPS$9;
9366
- GridItem.displayName = COMPONENT_NAME$9;
9367
9359
 
9368
- const _excluded$8 = ["children", "className"];
9369
- const COMPONENT_NAME$8 = 'Grid';
9370
- const CLASSNAME$8 = 'redsift-grid';
9371
- const DEFAULT_PROPS$8 = {};
9372
-
9373
- /**
9374
- * The Grid component.
9375
- */
9376
- const BaseGrid = /*#__PURE__*/forwardRef((props, ref) => {
9377
- const {
9378
- children,
9379
- className
9380
- } = props,
9381
- forwardedProps = _objectWithoutProperties(props, _excluded$8);
9382
- return /*#__PURE__*/React__default.createElement(StyledGrid, _extends$1({}, forwardedProps, {
9383
- className: classNames(BaseGrid.className, className),
9384
- ref: ref
9385
- }), children);
9386
- });
9387
- BaseGrid.className = CLASSNAME$8;
9388
- BaseGrid.defaultProps = DEFAULT_PROPS$8;
9389
- BaseGrid.displayName = COMPONENT_NAME$8;
9390
- const Grid = Object.assign(BaseGrid, {
9391
- Item: GridItem
9360
+ const FOCUS_WITHING_GROUP_INITIAL_STATE = {
9361
+ selectedId: null,
9362
+ allowFocusing: false,
9363
+ tabStops: [],
9364
+ direction: 'vertical',
9365
+ focusOnClick: false,
9366
+ focusOnInit: true,
9367
+ loopAround: false,
9368
+ rowStartMap: null,
9369
+ focusType: 'roving-tabindex'
9370
+ };
9371
+ const FocusWithinGroupContext = /*#__PURE__*/React__default.createContext({
9372
+ state: FOCUS_WITHING_GROUP_INITIAL_STATE,
9373
+ dispatch: () => {}
9392
9374
  });
9393
9375
 
9394
- /**
9395
- * Component style.
9396
- */
9397
- const StyledLink = styled.a`
9398
- ${baseStyling}
9399
-
9400
- background: none;
9401
- border: none;
9402
- color: inherit;
9403
- cursor: text !important;
9404
- font-family: var(--redsift-typography-link-font-family);
9405
- font-size: var(--redsift-typography-link-font-size);
9406
- font-weight: var(--redsift-typography-link-font-weight);
9407
- line-height: var(--redsift-typography-link-line-height);
9408
- padding: unset;
9409
- text-decoration: none;
9410
-
9411
- ${_ref => {
9412
- let {
9413
- $isDisabled
9414
- } = _ref;
9415
- return !$isDisabled ? css`
9416
- color: var(--redsift-color-success-primary);
9417
- text-decoration: underline;
9418
- text-decoration-color: var(--redsift-color-success-secondary);
9419
- text-underline-offset: 2px;
9376
+ const DOCUMENT_POSITION_FOLLOWING = 4;
9377
+ const FocusWithinGroupReducer = (state, action) => {
9378
+ switch (action.type) {
9379
+ case FocusWithinGroupActionType.REGISTER_TAB_STOP:
9380
+ {
9381
+ const newTabStop = action.payload;
9382
+ if (!newTabStop.domElementRef.current) {
9383
+ return state;
9384
+ }
9420
9385
 
9421
- &:hover,
9422
- &:focus-visible {
9423
- cursor: pointer !important;
9424
- text-decoration-color: var(--redsift-color-success-primary);
9386
+ // Iterate backwards through state.tabStops since it is
9387
+ // most likely that the tab stop will need to be inserted
9388
+ // at the end of that array.
9389
+ let indexToInsertAt = -1;
9390
+ for (let i = state.tabStops.length - 1; i >= 0; --i) {
9391
+ const loopTabStop = state.tabStops[i];
9392
+ if (loopTabStop.id === newTabStop.id) {
9393
+ // console.warn(false, `'${newTabStop.id}' tab stop already registered`);
9394
+ return state;
9425
9395
  }
9426
- ` : '';
9427
- }}
9396
+ // The compareDocumentPosition condition is true
9397
+ // if newTabStop follows loopTabStop:
9398
+ if (indexToInsertAt === -1 && loopTabStop.domElementRef.current && !!(loopTabStop.domElementRef.current.compareDocumentPosition(newTabStop.domElementRef.current) & DOCUMENT_POSITION_FOLLOWING)) {
9399
+ indexToInsertAt = i + 1;
9400
+ break;
9401
+ }
9402
+ }
9428
9403
 
9429
- &:focus-visible {
9430
- outline: 2px solid var(--redsift-color-success-primary);
9404
+ // The indexToInsertAt is -1 when newTabStop should be inserted
9405
+ // at the start of tabStops (the compareDocumentPosition condition
9406
+ // always returns false in that case).
9407
+ if (indexToInsertAt === -1) {
9408
+ indexToInsertAt = 0;
9409
+ }
9410
+ const newTabStops = state.tabStops.slice();
9411
+ newTabStops.splice(indexToInsertAt, 0, newTabStop);
9412
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9413
+ selectedId: state.focusOnInit ? getUpdatedSelectedId(newTabStops, state.selectedId) : null,
9414
+ tabStops: newTabStops,
9415
+ rowStartMap: null
9416
+ });
9417
+ }
9418
+ case FocusWithinGroupActionType.UNREGISTER_TAB_STOP:
9419
+ {
9420
+ const id = action.payload.id;
9421
+ const newTabStops = state.tabStops.filter(tabStop => tabStop.id !== id);
9422
+ if (newTabStops.length === state.tabStops.length) {
9423
+ // console.warn(false, `'${id}' tab stop already unregistered`);
9424
+ return state;
9425
+ }
9426
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9427
+ selectedId: state.focusOnInit ? getUpdatedSelectedId(newTabStops, state.selectedId) : null,
9428
+ tabStops: newTabStops,
9429
+ rowStartMap: null
9430
+ });
9431
+ }
9432
+ case FocusWithinGroupActionType.TAB_STOP_UPDATED:
9433
+ {
9434
+ const {
9435
+ id,
9436
+ rowIndex,
9437
+ isDisabled
9438
+ } = action.payload;
9439
+ const index = state.tabStops.findIndex(tabStop => tabStop.id === id);
9440
+ if (index === -1) {
9441
+ console.warn(false, `'${id}' tab stop not registered`);
9442
+ return state;
9443
+ }
9444
+ const tabStop = state.tabStops[index];
9445
+ if (tabStop.isDisabled === isDisabled && tabStop.rowIndex === rowIndex) {
9446
+ // Nothing to do so short-circuit.
9447
+ return state;
9448
+ }
9449
+ const newTabStop = _objectSpread2(_objectSpread2({}, tabStop), {}, {
9450
+ rowIndex,
9451
+ isDisabled
9452
+ });
9453
+ const newTabStops = state.tabStops.slice();
9454
+ newTabStops.splice(index, 1, newTabStop);
9455
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9456
+ selectedId: state.focusOnInit ? getUpdatedSelectedId(newTabStops, state.selectedId) : null,
9457
+ tabStops: newTabStops,
9458
+ rowStartMap: null
9459
+ });
9460
+ }
9461
+ case FocusWithinGroupActionType.KEY_DOWN_ON_ITEM:
9462
+ {
9463
+ const {
9464
+ id,
9465
+ key,
9466
+ ctrlKey
9467
+ } = action.payload;
9468
+ const index = state.tabStops.findIndex(tabStop => tabStop.id === id);
9469
+ if (index === -1) {
9470
+ console.warn(false, `'${id}' tab stop not registered`);
9471
+ return state;
9472
+ }
9473
+ return moveSelectionFromKey(state, index, key, ctrlKey);
9474
+ }
9475
+ case FocusWithinGroupActionType.CLICK_ON_ITEM:
9476
+ {
9477
+ const id = action.payload.id;
9478
+ const index = state.tabStops.findIndex(tabStop => tabStop.id === id);
9479
+ if (index === -1) {
9480
+ console.warn(false, `'${id}' tab stop not registered`);
9481
+ return state;
9482
+ }
9483
+ const currentTabStop = state.tabStops[index];
9484
+ return currentTabStop.isDisabled ? state : selectTabStop(state, currentTabStop, undefined, state.focusOnClick);
9485
+ }
9486
+ case FocusWithinGroupActionType.FOCUS_ON_LIST:
9487
+ {
9488
+ var _action$payload$id, _state$tabStops$;
9489
+ const id = (_action$payload$id = action.payload.id) !== null && _action$payload$id !== void 0 ? _action$payload$id : (_state$tabStops$ = state.tabStops[0]) === null || _state$tabStops$ === void 0 ? void 0 : _state$tabStops$.id;
9490
+ const index = state.tabStops.findIndex(tabStop => tabStop.id === id);
9491
+ if (index === -1) {
9492
+ return state;
9493
+ }
9494
+ const currentTabStop = state.tabStops[index];
9495
+ return currentTabStop.isDisabled ? _objectSpread2(_objectSpread2({}, state), {}, {
9496
+ delayedAction: undefined
9497
+ }) : selectTabStop(_objectSpread2(_objectSpread2({}, state), {}, {
9498
+ delayedAction: undefined
9499
+ }), currentTabStop, undefined, state.focusOnClick);
9500
+ }
9501
+ case FocusWithinGroupActionType.BLUR_ON_LIST:
9502
+ {
9503
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9504
+ activedescendant: ['', '']
9505
+ });
9506
+ }
9507
+ case FocusWithinGroupActionType.KEY_DOWN_ON_LIST:
9508
+ {
9509
+ const {
9510
+ key,
9511
+ ctrlKey
9512
+ } = action.payload;
9513
+ let index = state.tabStops.findIndex(tabStop => tabStop.id === state.selectedId);
9514
+ if (index === -1) {
9515
+ if (state.focusOnInit) {
9516
+ console.warn(false, `'${state.selectedId}' tab stop not registered`);
9517
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9518
+ delayedAction: undefined
9519
+ });
9520
+ } else {
9521
+ index = 0;
9522
+ }
9523
+ }
9524
+ return moveSelectionFromKey(_objectSpread2(_objectSpread2({}, state), {}, {
9525
+ delayedAction: undefined
9526
+ }), index, key, ctrlKey);
9527
+ }
9528
+ case FocusWithinGroupActionType.OPTIONS_UPDATED:
9529
+ return _objectSpread2(_objectSpread2({}, state), action.payload);
9530
+ case FocusWithinGroupActionType.FILTER_LIST:
9531
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9532
+ selectedId: null,
9533
+ activedescendant: ['', '']
9534
+ }, action.payload);
9535
+ case FocusWithinGroupActionType.DELAY_ACTION:
9536
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9537
+ delayedAction: action.payload
9538
+ });
9539
+ /* istanbul ignore next */
9540
+ default:
9541
+ return state;
9431
9542
  }
9432
- `;
9543
+ };
9544
+ function findIndexOfVeryFirstActiveTabStop(tabStops) {
9545
+ return tabStops.findIndex(tabStop => !tabStop.isDisabled);
9546
+ }
9547
+ function findIndexOfVeryLastActiveTabStop(tabStops) {
9548
+ for (let i = tabStops.length - 1; i >= 0; --i) {
9549
+ const tabStop = tabStops[i];
9550
+ if (!tabStop.isDisabled) {
9551
+ return i;
9552
+ }
9553
+ }
9554
+ return -1;
9555
+ }
9433
9556
 
9434
- const _excluded$7 = ["as", "children", "className", "href", "isDisabled"];
9435
- const COMPONENT_NAME$7 = 'Link';
9436
- const CLASSNAME$7 = 'redsift-link';
9437
- const DEFAULT_PROPS$7 = {};
9557
+ // Determine the updated value for selectedId:
9558
+ function getUpdatedSelectedId(tabStops, currentSelectedId) {
9559
+ if (currentSelectedId === null) {
9560
+ // There is not currently selected tab stop, so find
9561
+ // the first tab stop that is not isDisabled and return
9562
+ // its id, otherwise return null.
9563
+ const index = tabStops.findIndex(tabStop => !tabStop.isDisabled);
9564
+ return index === -1 ? null : tabStops[index].id;
9565
+ }
9566
+ let index = tabStops.findIndex(tabStop => tabStop.id === currentSelectedId);
9567
+ if (index !== -1 && !tabStops[index].isDisabled) {
9568
+ // The current selected id is still valid, so return it.
9569
+ return currentSelectedId;
9570
+ }
9571
+
9572
+ // Finds the first tab stop that is not isDisabled and return
9573
+ // its id, otherwise return null.
9574
+ index = tabStops.findIndex(tabStop => !tabStop.isDisabled);
9575
+ return index === -1 ? null : tabStops[index].id;
9576
+ }
9438
9577
 
9439
- /**
9440
- * The Link is a semantic link that looks like a link.
9578
+ // Translates the user key down event info into a navigation instruction.
9579
+ function getNavigationValue(key, ctrlKey, isGrid, direction, loopAround, isFirst, isLast) {
9580
+ switch (key) {
9581
+ case EventKey.ArrowLeft:
9582
+ if (isGrid || direction === 'horizontal' || direction === 'both') {
9583
+ return !isGrid && loopAround && isFirst ? Navigation.VERY_LAST : Navigation.PREVIOUS;
9584
+ }
9585
+ return null;
9586
+ case EventKey.ArrowRight:
9587
+ if (isGrid || direction === 'horizontal' || direction === 'both') {
9588
+ return !isGrid && loopAround && isLast ? Navigation.VERY_FIRST : Navigation.NEXT;
9589
+ }
9590
+ return null;
9591
+ case EventKey.ArrowUp:
9592
+ if (isGrid) {
9593
+ return Navigation.PREVIOUS_ROW;
9594
+ } else if (direction === 'vertical' || direction === 'both') {
9595
+ return loopAround && isFirst ? Navigation.VERY_LAST : Navigation.PREVIOUS;
9596
+ }
9597
+ return null;
9598
+ case EventKey.ArrowDown:
9599
+ if (isGrid) {
9600
+ return Navigation.NEXT_ROW;
9601
+ } else if (direction === 'vertical' || direction === 'both') {
9602
+ return loopAround && isLast ? Navigation.VERY_FIRST : Navigation.NEXT;
9603
+ }
9604
+ return null;
9605
+ case EventKey.Home:
9606
+ return !isGrid || ctrlKey ? Navigation.VERY_FIRST : Navigation.FIRST_IN_ROW;
9607
+ case EventKey.End:
9608
+ return !isGrid || ctrlKey ? Navigation.VERY_LAST : Navigation.LAST_IN_ROW;
9609
+ /* istanbul ignore next */
9610
+ default:
9611
+ return null;
9612
+ }
9613
+ }
9614
+
9615
+ // Creates the new state for a tab stop when it becomes the selected one.
9616
+ function selectTabStop(state, tabStop, rowStartMap) {
9617
+ let allowFocusing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
9618
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9619
+ allowFocusing,
9620
+ selectedId: tabStop.id,
9621
+ rowStartMap: rowStartMap || state.rowStartMap,
9622
+ activedescendant: state.focusType === 'virtual-focus' ? [tabStop.id, tabStop.value] : undefined
9623
+ });
9624
+ }
9625
+
9626
+ // Creates the row start index lookup map
9627
+ // for the currently registered tab stops.
9628
+ function createRowStartMap(state) {
9629
+ const map = new Map();
9630
+ for (let i = 0; i < state.tabStops.length; ++i) {
9631
+ const {
9632
+ rowIndex
9633
+ } = state.tabStops[i];
9634
+ if (rowIndex !== null && !map.has(rowIndex)) {
9635
+ map.set(rowIndex, i);
9636
+ }
9637
+ }
9638
+ return map;
9639
+ }
9640
+ function moveSelectionFromKey(state, index, key, ctrlKey) {
9641
+ const currentTabStop = state.tabStops[index];
9642
+ if (currentTabStop.isDisabled) {
9643
+ return state;
9644
+ }
9645
+ const isGrid = currentTabStop.rowIndex !== null;
9646
+ const isFirst = index === findIndexOfVeryFirstActiveTabStop(state.tabStops);
9647
+ const isLast = index === findIndexOfVeryLastActiveTabStop(state.tabStops);
9648
+ const navigation = getNavigationValue(key, ctrlKey, isGrid, state.direction, state.loopAround, isFirst, isLast);
9649
+ if (!navigation) {
9650
+ return state;
9651
+ }
9652
+ switch (navigation) {
9653
+ case Navigation.NEXT:
9654
+ {
9655
+ for (let i = index + 1; i < state.tabStops.length; ++i) {
9656
+ const tabStop = state.tabStops[i];
9657
+ if (isGrid && tabStop.rowIndex !== currentTabStop.rowIndex) {
9658
+ break;
9659
+ }
9660
+ if (!tabStop.isDisabled) {
9661
+ return selectTabStop(state, tabStop);
9662
+ }
9663
+ }
9664
+ }
9665
+ break;
9666
+ case Navigation.PREVIOUS:
9667
+ {
9668
+ for (let i = index - 1; i >= 0; --i) {
9669
+ const tabStop = state.tabStops[i];
9670
+ if (isGrid && tabStop.rowIndex !== currentTabStop.rowIndex) {
9671
+ break;
9672
+ }
9673
+ if (!tabStop.isDisabled) {
9674
+ return selectTabStop(state, tabStop);
9675
+ }
9676
+ }
9677
+ }
9678
+ break;
9679
+ case Navigation.VERY_FIRST:
9680
+ {
9681
+ const index = findIndexOfVeryFirstActiveTabStop(state.tabStops);
9682
+ if (index > -1) {
9683
+ return selectTabStop(state, state.tabStops[index]);
9684
+ }
9685
+ }
9686
+ break;
9687
+ case Navigation.VERY_LAST:
9688
+ {
9689
+ const index = findIndexOfVeryLastActiveTabStop(state.tabStops);
9690
+ if (index > -1) {
9691
+ return selectTabStop(state, state.tabStops[index]);
9692
+ }
9693
+ }
9694
+ break;
9695
+ case Navigation.PREVIOUS_ROW:
9696
+ {
9697
+ if (currentTabStop.rowIndex === null || currentTabStop.rowIndex === 0) {
9698
+ return state;
9699
+ }
9700
+ const rowStartMap = state.rowStartMap || createRowStartMap(state);
9701
+ const rowStartIndex = rowStartMap.get(currentTabStop.rowIndex);
9702
+ if (rowStartIndex === undefined) {
9703
+ return state;
9704
+ }
9705
+ const columnOffset = index - rowStartIndex;
9706
+ for (let i = currentTabStop.rowIndex - 1; i >= 0; --i) {
9707
+ const rowStartIndex = rowStartMap.get(i);
9708
+ if (rowStartIndex === undefined) {
9709
+ return state;
9710
+ }
9711
+ const rowTabStop = state.tabStops[rowStartIndex + columnOffset];
9712
+ if (rowTabStop && !rowTabStop.isDisabled) {
9713
+ return selectTabStop(state, rowTabStop, rowStartMap);
9714
+ }
9715
+ }
9716
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9717
+ allowFocusing: true,
9718
+ rowStartMap
9719
+ });
9720
+ }
9721
+ case Navigation.NEXT_ROW:
9722
+ {
9723
+ const maxRowIndex = state.tabStops[state.tabStops.length - 1].rowIndex;
9724
+ if (currentTabStop.rowIndex === null || maxRowIndex === null || currentTabStop.rowIndex === maxRowIndex) {
9725
+ return state;
9726
+ }
9727
+ const rowStartMap = state.rowStartMap || createRowStartMap(state);
9728
+ const rowStartIndex = rowStartMap.get(currentTabStop.rowIndex);
9729
+ if (rowStartIndex === undefined) {
9730
+ return state;
9731
+ }
9732
+ const columnOffset = index - rowStartIndex;
9733
+ for (let i = currentTabStop.rowIndex + 1; i <= maxRowIndex; ++i) {
9734
+ const rowStartIndex = rowStartMap.get(i);
9735
+ if (rowStartIndex === undefined) {
9736
+ return state;
9737
+ }
9738
+ const rowTabStop = state.tabStops[rowStartIndex + columnOffset];
9739
+ if (rowTabStop && !rowTabStop.isDisabled) {
9740
+ return selectTabStop(state, rowTabStop, rowStartMap);
9741
+ }
9742
+ }
9743
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9744
+ allowFocusing: true,
9745
+ rowStartMap
9746
+ });
9747
+ }
9748
+ case Navigation.FIRST_IN_ROW:
9749
+ {
9750
+ if (currentTabStop.rowIndex === null) {
9751
+ return state;
9752
+ }
9753
+ const rowStartMap = state.rowStartMap || createRowStartMap(state);
9754
+ const rowStartIndex = rowStartMap.get(currentTabStop.rowIndex);
9755
+ if (rowStartIndex === undefined) {
9756
+ return state;
9757
+ }
9758
+ for (let i = rowStartIndex; i < state.tabStops.length; ++i) {
9759
+ const tabStop = state.tabStops[i];
9760
+ if (tabStop.rowIndex !== currentTabStop.rowIndex) {
9761
+ break;
9762
+ } else if (!tabStop.isDisabled) {
9763
+ return selectTabStop(state, state.tabStops[i], rowStartMap);
9764
+ }
9765
+ }
9766
+ }
9767
+ break;
9768
+ case Navigation.LAST_IN_ROW:
9769
+ {
9770
+ if (currentTabStop.rowIndex === null) {
9771
+ return state;
9772
+ }
9773
+ const rowStartMap = state.rowStartMap || createRowStartMap(state);
9774
+ const rowEndIndex = rowStartMap.has(currentTabStop.rowIndex + 1) ? (rowStartMap.get(currentTabStop.rowIndex + 1) || 0) - 1 : state.tabStops.length - 1;
9775
+ for (let i = rowEndIndex; i >= 0; --i) {
9776
+ const tabStop = state.tabStops[i];
9777
+ if (tabStop.rowIndex !== currentTabStop.rowIndex) {
9778
+ break;
9779
+ } else if (!tabStop.isDisabled) {
9780
+ return selectTabStop(state, state.tabStops[i], rowStartMap);
9781
+ }
9782
+ }
9783
+ }
9784
+ break;
9785
+ }
9786
+ return state;
9787
+ }
9788
+
9789
+ /**
9790
+ * The FocusWithinGroup component.
9791
+ *
9792
+ * @param {ReactNode} children - The child content, which will
9793
+ * include the DOM elements to rove between using the tab key.
9794
+ * @param {KeyDirection} direction - An optional direction value
9795
+ * that only applies when the roving tabindex is not being
9796
+ * used within a grid. This value specifies the arrow key behaviour.
9797
+ * The default value is 'horizontal'.
9798
+ * When set to 'horizontal' then only the ArrowLeft and ArrowRight
9799
+ * keys move to the previous and next tab stop respectively.
9800
+ * When set to 'vertical' then only the ArrowUp and ArrowDown keys
9801
+ * move to the previous and next tab stop respectively. When set
9802
+ * to 'both' then both the ArrowLeft and ArrowUp keys can be used
9803
+ * to move to the previous tab stop, and both the ArrowRight
9804
+ * and ArrowDown keys can be used to move to the next tab stop.
9805
+ * If you do not pass an explicit value then the 'horizontal'
9806
+ * behaviour applies.
9807
+ * @param {boolean} focusOnClick - An optional flag for indicating
9808
+ * if `focus()` should invoked on an item in the roving tabindex
9809
+ * when it is clicked. The default value for this flag is `false`,
9810
+ * meaning that `focus()` will not be invoked on click.
9811
+ * Browsers are
9812
+ * [inconsistent in their behaviour](https://zellwk.com/blog/inconsistent-button-behavior/)
9813
+ * when a button is clicked so you will see some variation between
9814
+ * the browsers with the default value. Prior to version 3 of this library,
9815
+ * the behaviour was to always invoke `focus()` on click; this behaviour
9816
+ * can be maintained by passing `true`.
9817
+ * @param {boolean} loopAround - An optional flag that,
9818
+ * when set to `true`, will loop the tabindex around when the user
9819
+ * tries to tab to the first or last elements in the roving tabindex,
9820
+ * rather than stopping. The default value is `false` (no looping).
9821
+ * Note that this option does not apply if the roving tabindex
9822
+ * is being used on a grid.
9823
+ */
9824
+ const FocusWithinGroup = props => {
9825
+ const {
9826
+ children,
9827
+ direction,
9828
+ focusOnClick,
9829
+ loopAround,
9830
+ focusType,
9831
+ focusOnInit,
9832
+ activedescendant
9833
+ } = props;
9834
+ const [state, dispatch] = useReducer(FocusWithinGroupReducer, _objectSpread2(_objectSpread2({}, FOCUS_WITHING_GROUP_INITIAL_STATE), {}, {
9835
+ direction,
9836
+ focusOnClick,
9837
+ loopAround,
9838
+ focusType,
9839
+ focusOnInit,
9840
+ activedescendant
9841
+ }));
9842
+
9843
+ // Update the options whenever they change:
9844
+ useEffect(() => {
9845
+ dispatch({
9846
+ type: FocusWithinGroupActionType.OPTIONS_UPDATED,
9847
+ payload: {
9848
+ direction: direction !== null && direction !== void 0 ? direction : FOCUS_WITHING_GROUP_INITIAL_STATE.direction,
9849
+ focusOnClick: focusOnClick !== null && focusOnClick !== void 0 ? focusOnClick : FOCUS_WITHING_GROUP_INITIAL_STATE.focusOnClick,
9850
+ loopAround: loopAround !== null && loopAround !== void 0 ? loopAround : FOCUS_WITHING_GROUP_INITIAL_STATE.loopAround,
9851
+ focusType: focusType !== null && focusType !== void 0 ? focusType : FOCUS_WITHING_GROUP_INITIAL_STATE.focusType,
9852
+ focusOnInit: focusOnInit !== null && focusOnInit !== void 0 ? focusOnInit : FOCUS_WITHING_GROUP_INITIAL_STATE.focusOnInit,
9853
+ activedescendant: activedescendant !== null && activedescendant !== void 0 ? activedescendant : FOCUS_WITHING_GROUP_INITIAL_STATE.activedescendant
9854
+ }
9855
+ });
9856
+ }, [direction, focusOnClick, focusOnInit, loopAround, focusType, activedescendant]);
9857
+ const context = useMemo(() => ({
9858
+ state,
9859
+ dispatch
9860
+ }), [state]);
9861
+ return /*#__PURE__*/React__default.createElement(FocusWithinGroupContext.Provider, {
9862
+ value: context
9863
+ }, children);
9864
+ };
9865
+
9866
+ let counter = 0;
9867
+ function uniqueId() {
9868
+ return `rti_${++counter}`;
9869
+ }
9870
+
9871
+ /**
9872
+ * Includes the given DOM element in the current roving tabindex.
9873
+ * @param {RefObject<Element>} domElementRef The DOM element to include.
9874
+ * This must be the same DOM element for the lifetime of the containing
9875
+ * component.
9876
+ * @param {boolean} isDisabled Whether or not the DOM element is currently
9877
+ * enabled. This value can be updated as appropriate throughout the lifetime
9878
+ * of the containing component.
9879
+ * @param {number?} rowIndex An optional integer value that must be
9880
+ * populated if the roving tabindex is being used in a grid. In that case,
9881
+ * set it to the zero-based index of the row that the given DOM element
9882
+ * is currently part of. You can update this row index as appropriate
9883
+ * throughout the lifetime of the containing component, for example if
9884
+ * the shape of the grid can change dynamically.
9885
+ * @returns A tuple of values to be applied by the containing
9886
+ * component for the roving tabindex to work correctly.
9887
+ * First tuple value: The tabIndex value to apply to the tab stop
9888
+ * element.
9889
+ * Second tuple value: Whether or not focus() should be invoked on the
9890
+ * tab stop element.
9891
+ * Third tuple value: The onKeyDown callback to apply to the tab
9892
+ * stop element. If the key press is relevant to the hook then
9893
+ * event.preventDefault() will be invoked on the event.
9894
+ * Fourth tuple value: The onClick callback to apply to the tab
9895
+ * stop element.
9896
+ */
9897
+ function useFocusOnListItem(props) {
9898
+ var _context$state$active;
9899
+ const {
9900
+ domElementRef,
9901
+ isDisabled,
9902
+ id,
9903
+ value,
9904
+ rowIndex = null
9905
+ } = props;
9906
+ // Create a stable ID for the lifetime of the component:
9907
+ const idRef = useRef(null);
9908
+ function getId() {
9909
+ if (id) {
9910
+ return id;
9911
+ }
9912
+ if (!idRef.current) {
9913
+ idRef.current = uniqueId();
9914
+ }
9915
+ return idRef.current;
9916
+ }
9917
+ const isMounted = useRef(false);
9918
+ const context = useContext(FocusWithinGroupContext);
9919
+
9920
+ // Register the tab stop on mount and unregister it on unmount:
9921
+ useEffect(() => {
9922
+ const id = getId();
9923
+ context.dispatch({
9924
+ type: FocusWithinGroupActionType.REGISTER_TAB_STOP,
9925
+ payload: {
9926
+ id,
9927
+ domElementRef,
9928
+ rowIndex,
9929
+ isDisabled,
9930
+ value: value
9931
+ }
9932
+ });
9933
+ return () => {
9934
+ context.dispatch({
9935
+ type: FocusWithinGroupActionType.UNREGISTER_TAB_STOP,
9936
+ payload: {
9937
+ id
9938
+ }
9939
+ });
9940
+ };
9941
+ }, []);
9942
+
9943
+ // Update the tab stop data if rowIndex or isDisabled change.
9944
+ // The isMounted flag is used to prevent this effect running
9945
+ // on mount, which is benign but redundant (as the
9946
+ // REGISTER_TAB_STOP action would have just been dispatched).
9947
+ useEffect(() => {
9948
+ if (isMounted.current) {
9949
+ context.dispatch({
9950
+ type: FocusWithinGroupActionType.TAB_STOP_UPDATED,
9951
+ payload: {
9952
+ id: getId(),
9953
+ rowIndex,
9954
+ isDisabled
9955
+ }
9956
+ });
9957
+ } else {
9958
+ isMounted.current = true;
9959
+ }
9960
+ }, [rowIndex, isDisabled]);
9961
+
9962
+ // Create a stable callback function for handling key down events:
9963
+ const handleKeyDown = useCallback(event => {
9964
+ const key = EventKey[event.key];
9965
+ if (!key) {
9966
+ return;
9967
+ }
9968
+ context.dispatch({
9969
+ type: FocusWithinGroupActionType.KEY_DOWN_ON_ITEM,
9970
+ payload: {
9971
+ id: getId(),
9972
+ key,
9973
+ ctrlKey: event.ctrlKey
9974
+ }
9975
+ });
9976
+ event.preventDefault();
9977
+ }, []);
9978
+
9979
+ // Create a stable callback function for handling click events:
9980
+ const handleClick = useCallback(() => {
9981
+ context.dispatch({
9982
+ type: FocusWithinGroupActionType.CLICK_ON_ITEM,
9983
+ payload: {
9984
+ id: getId()
9985
+ }
9986
+ });
9987
+ }, []);
9988
+
9989
+ // Determine if the current tab stop is the currently active one:
9990
+ const selected = getId() === context.state.selectedId;
9991
+ const tabIndex = context.state.focusType === 'roving-tabindex' ? selected ? 0 : -1 : undefined;
9992
+ const isFocused = selected && context.state.allowFocusing;
9993
+ useEffect(() => {
9994
+ if (isFocused && domElementRef.current && context.state.focusType === 'roving-tabindex') {
9995
+ var _current;
9996
+ (_current = domElementRef.current) === null || _current === void 0 ? void 0 : _current.focus();
9997
+ }
9998
+ }, [isFocused]);
9999
+ return {
10000
+ tabIndex,
10001
+ isFocused: context.state.focusType === 'roving-tabindex' ? isFocused && document.activeElement === domElementRef.current : selected && ((_context$state$active = context.state.activedescendant) === null || _context$state$active === void 0 ? void 0 : _context$state$active[0]) === getId(),
10002
+ handleKeyDown,
10003
+ handleClick
10004
+ };
10005
+ }
10006
+
10007
+ function useFocusOnList() {
10008
+ const context = useContext(FocusWithinGroupContext);
10009
+ const handleKeyDown = useCallback(event => {
10010
+ const key = EventKey[event.key];
10011
+ if (!key) {
10012
+ return;
10013
+ }
10014
+ context.dispatch({
10015
+ type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,
10016
+ payload: {
10017
+ key,
10018
+ ctrlKey: event.ctrlKey
10019
+ }
10020
+ });
10021
+ event.preventDefault();
10022
+ }, []);
10023
+ const handleFocus = useCallback(() => {
10024
+ context.dispatch({
10025
+ type: FocusWithinGroupActionType.FOCUS_ON_LIST,
10026
+ payload: {
10027
+ id: context.state.selectedId
10028
+ }
10029
+ });
10030
+ }, [context.state.selectedId]);
10031
+ const handleBlur = useCallback(() => {
10032
+ context.dispatch({
10033
+ type: FocusWithinGroupActionType.BLUR_ON_LIST,
10034
+ payload: {}
10035
+ });
10036
+ }, []);
10037
+ return {
10038
+ activedescendant: context.state.activedescendant,
10039
+ handleKeyDown,
10040
+ handleFocus,
10041
+ handleBlur
10042
+ };
10043
+ }
10044
+
10045
+ /**
10046
+ * Component style.
10047
+ */
10048
+ const StyledGrid = styled.div`
10049
+ display: ${_ref => {
10050
+ let {
10051
+ inline
10052
+ } = _ref;
10053
+ return inline ? 'inline-grid' : 'grid';
10054
+ }};
10055
+
10056
+ ${baseStyling}
10057
+ ${baseInternalSpacing}
10058
+ ${baseGrid}
10059
+ `;
10060
+
10061
+ /**
10062
+ * Component style.
10063
+ */
10064
+ const StyledGridItem = styled.div`
10065
+ display: inherit;
10066
+
10067
+ ${baseStyling}
10068
+ ${baseInternalSpacing}
10069
+ `;
10070
+
10071
+ const _excluded$d = ["children", "className"];
10072
+ const COMPONENT_NAME$b = 'GridItem';
10073
+ const CLASSNAME$b = 'redsift-grid-item';
10074
+ const DEFAULT_PROPS$b = {};
10075
+
10076
+ /**
10077
+ * The GridItem component.
10078
+ */
10079
+ const GridItem = /*#__PURE__*/forwardRef((props, ref) => {
10080
+ const {
10081
+ children,
10082
+ className
10083
+ } = props,
10084
+ forwardedProps = _objectWithoutProperties(props, _excluded$d);
10085
+ return /*#__PURE__*/React__default.createElement(StyledGridItem, _extends$1({}, forwardedProps, {
10086
+ className: classNames(GridItem.className, className),
10087
+ ref: ref
10088
+ }), children);
10089
+ });
10090
+ GridItem.className = CLASSNAME$b;
10091
+ GridItem.defaultProps = DEFAULT_PROPS$b;
10092
+ GridItem.displayName = COMPONENT_NAME$b;
10093
+
10094
+ const _excluded$c = ["children", "className"];
10095
+ const COMPONENT_NAME$a = 'Grid';
10096
+ const CLASSNAME$a = 'redsift-grid';
10097
+ const DEFAULT_PROPS$a = {};
10098
+
10099
+ /**
10100
+ * The Grid component.
10101
+ */
10102
+ const BaseGrid = /*#__PURE__*/forwardRef((props, ref) => {
10103
+ const {
10104
+ children,
10105
+ className
10106
+ } = props,
10107
+ forwardedProps = _objectWithoutProperties(props, _excluded$c);
10108
+ return /*#__PURE__*/React__default.createElement(StyledGrid, _extends$1({}, forwardedProps, {
10109
+ className: classNames(BaseGrid.className, className),
10110
+ ref: ref
10111
+ }), children);
10112
+ });
10113
+ BaseGrid.className = CLASSNAME$a;
10114
+ BaseGrid.defaultProps = DEFAULT_PROPS$a;
10115
+ BaseGrid.displayName = COMPONENT_NAME$a;
10116
+ const Grid = Object.assign(BaseGrid, {
10117
+ Item: GridItem
10118
+ });
10119
+
10120
+ /**
10121
+ * Component style.
10122
+ */
10123
+ const StyledItem = styled.div`
10124
+ height: 20px;
10125
+ position: relative;
10126
+ width: calc(100% - 32px);
10127
+ padding: 8px 16px;
10128
+
10129
+ ${baseStyling}
10130
+
10131
+ align-items: center;
10132
+ background: none;
10133
+ border: none;
10134
+ display: inline-flex;
10135
+
10136
+ ${_ref => {
10137
+ let {
10138
+ $isActive,
10139
+ $isSelected,
10140
+ $isDisabled,
10141
+ $isHovered,
10142
+ $isFocused
10143
+ } = _ref;
10144
+ return css`
10145
+ background-color: ${($isActive || $isSelected) && ($isHovered || $isFocused) ? 'var(--redsift-color-default-active-hover)' : $isActive ? 'var(--redsift-color-default-active)' : $isHovered ? 'var(--redsift-color-default-hover)' : $isFocused ? 'var(--redsift-color-default-hover)' : $isSelected && !$isDisabled ? 'var(--redsift-color-default-active)' : $isSelected && $isDisabled ? 'var(--redsift-color-neutral-lightgrey)' : $isDisabled ? 'none' : 'none'};
10146
+ `;
10147
+ }}
10148
+
10149
+ &:hover,
10150
+ &:focus-visible {
10151
+ outline: none;
10152
+
10153
+ ${_ref2 => {
10154
+ let {
10155
+ $isActive,
10156
+ $isSelected,
10157
+ $isDisabled
10158
+ } = _ref2;
10159
+ return css`
10160
+ cursor: ${$isDisabled ? 'default' : 'pointer'};
10161
+ background-color: ${$isActive ? 'var(--redsift-color-default-active-hover)' : $isSelected && !$isDisabled ? 'var(--redsift-color-default-active-hover)' : $isDisabled ? 'none' : 'var(--redsift-color-default-hover)'};
10162
+ `;
10163
+ }};
10164
+ }
10165
+
10166
+ &:active {
10167
+ outline: none;
10168
+
10169
+ ${_ref3 => {
10170
+ let {
10171
+ $isHovered,
10172
+ $isDisabled
10173
+ } = _ref3;
10174
+ return css`
10175
+ background-color: ${$isHovered ? 'var(--redsift-color-default-active-hover)' : $isDisabled ? 'none' : 'var(--redsift-color-default-active)'};
10176
+ `;
10177
+ }};
10178
+ }
10179
+ `;
10180
+
10181
+ const LISTBOX_INITIAL_STATE = {
10182
+ isDisabled: false,
10183
+ isReadOnly: false,
10184
+ selectedValues: [],
10185
+ selectionMode: 'single'
10186
+ };
10187
+ const ListboxContext = /*#__PURE__*/React__default.createContext({
10188
+ state: LISTBOX_INITIAL_STATE,
10189
+ dispatch: () => {}
10190
+ });
10191
+
10192
+ /**
10193
+ * Context props.
10194
+ */
10195
+
10196
+ let ListboxActionType = /*#__PURE__*/function (ListboxActionType) {
10197
+ ListboxActionType["TOGGLE"] = "TOGGLE";
10198
+ ListboxActionType["SET"] = "SET";
10199
+ return ListboxActionType;
10200
+ }({});
10201
+ /**
10202
+ * Component variant.
10203
+ */
10204
+ const ListboxVariant = {
10205
+ standalone: 'standalone',
10206
+ unstyled: 'unstyled'
10207
+ };
10208
+
10209
+ /**
10210
+ * Component props.
10211
+ */
10212
+
10213
+ function useListboxItem(props) {
10214
+ const {
10215
+ domElementRef,
10216
+ value,
10217
+ id,
10218
+ isDisabled,
10219
+ propsIsSelected
10220
+ } = props;
10221
+ const {
10222
+ tabIndex,
10223
+ isFocused,
10224
+ handleKeyDown: handleFocusKeyDown,
10225
+ handleClick: handleFocusClick
10226
+ } = useFocusOnListItem({
10227
+ domElementRef,
10228
+ isDisabled: isDisabled,
10229
+ id,
10230
+ value
10231
+ });
10232
+ const context = useContext(ListboxContext);
10233
+ const handleKeyDown = useCallback(event => {
10234
+ handleFocusKeyDown(event);
10235
+ const code = event.code;
10236
+ if (code === 'Enter' || code === 'Space') {
10237
+ if (context.state.selectionMode === 'multiple') {
10238
+ context.dispatch({
10239
+ type: ListboxActionType.TOGGLE,
10240
+ payload: {
10241
+ value,
10242
+ activedescendant: [id, value]
10243
+ }
10244
+ });
10245
+ } else {
10246
+ context.dispatch({
10247
+ type: ListboxActionType.SET,
10248
+ payload: {
10249
+ values: [value],
10250
+ activedescendant: [id, value]
10251
+ }
10252
+ });
10253
+ }
10254
+ }
10255
+ }, []);
10256
+ const handleClick = useCallback(() => {
10257
+ handleFocusClick();
10258
+ if (context.state.selectionMode === 'multiple') {
10259
+ context.dispatch({
10260
+ type: ListboxActionType.TOGGLE,
10261
+ payload: {
10262
+ value,
10263
+ activedescendant: [id, value]
10264
+ }
10265
+ });
10266
+ } else {
10267
+ context.dispatch({
10268
+ type: ListboxActionType.SET,
10269
+ payload: {
10270
+ values: [value],
10271
+ activedescendant: [id, value]
10272
+ }
10273
+ });
10274
+ }
10275
+ }, []);
10276
+ const isSelected = propsIsSelected !== null && propsIsSelected !== void 0 ? propsIsSelected : context.state.selectedValues.find(selectedValue => selectedValue === value) !== undefined;
10277
+ useEffect(() => {
10278
+ if (isFocused && domElementRef.current) {
10279
+ var _current;
10280
+ (_current = domElementRef.current) === null || _current === void 0 ? void 0 : _current.focus();
10281
+ }
10282
+ }, [isFocused]);
10283
+ return {
10284
+ tabIndex,
10285
+ isFocused,
10286
+ isSelected,
10287
+ isDisabled,
10288
+ handleKeyDown,
10289
+ handleClick
10290
+ };
10291
+ }
10292
+
10293
+ const _excluded$b = ["children", "className", "defaultSelected", "id", "isActive", "isDisabled", "isHovered", "isSelected", "value"];
10294
+ const COMPONENT_NAME$9 = 'Item';
10295
+ const CLASSNAME$9 = 'redsift-item';
10296
+ const DEFAULT_PROPS$9 = {};
10297
+ const RenderedItem = /*#__PURE__*/forwardRef((props, ref) => {
10298
+ const {
10299
+ children,
10300
+ className,
10301
+ defaultSelected,
10302
+ id: propsId,
10303
+ isActive,
10304
+ isDisabled: propsIsDisabled,
10305
+ isHovered,
10306
+ isSelected: propsIsSelected,
10307
+ value
10308
+ } = props,
10309
+ forwardedProps = _objectWithoutProperties(props, _excluded$b);
10310
+ const id = propsId !== null && propsId !== void 0 ? propsId : value;
10311
+ const _ref = useRef();
10312
+ const divRef = ref !== null && ref !== void 0 ? ref : _ref;
10313
+ const {
10314
+ tabIndex,
10315
+ isFocused,
10316
+ isSelected,
10317
+ isDisabled,
10318
+ handleKeyDown,
10319
+ handleClick
10320
+ } = useListboxItem({
10321
+ domElementRef: divRef,
10322
+ value,
10323
+ id,
10324
+ isDisabled: propsIsDisabled,
10325
+ propsIsSelected: propsIsSelected !== null && propsIsSelected !== void 0 ? propsIsSelected : defaultSelected
10326
+ });
10327
+ return /*#__PURE__*/React__default.createElement(StyledItem, _extends$1({
10328
+ role: "option"
10329
+ }, forwardedProps, {
10330
+ id: id,
10331
+ $isActive: isActive,
10332
+ $isDisabled: isDisabled,
10333
+ $isFocused: isFocused,
10334
+ $isHovered: isHovered,
10335
+ $isSelected: isSelected,
10336
+ "aria-selected": isSelected,
10337
+ className: classNames(Item.className, className),
10338
+ onClick: handleClick,
10339
+ ref: divRef,
10340
+ onKeyDown: handleKeyDown,
10341
+ tabIndex: tabIndex
10342
+ }), children !== null && children !== void 0 ? children : value);
10343
+ });
10344
+
10345
+ /**
10346
+ * The Item component.
10347
+ */
10348
+ const Item = /*#__PURE__*/forwardRef((props, ref) => {
10349
+ const {
10350
+ value
10351
+ } = props;
10352
+ const focusContext = useContext(FocusWithinGroupContext);
10353
+ if (!focusContext.state.filter) {
10354
+ return /*#__PURE__*/React__default.createElement(RenderedItem, _extends$1({}, props, {
10355
+ ref: ref
10356
+ }));
10357
+ }
10358
+ const {
10359
+ value: filterValue,
10360
+ type,
10361
+ caseSensitive
10362
+ } = focusContext.state.filter;
10363
+ if (!filterValue) {
10364
+ return /*#__PURE__*/React__default.createElement(RenderedItem, _extends$1({}, props, {
10365
+ ref: ref
10366
+ }));
10367
+ } else if (caseSensitive && (type === 'startsWith' && value.startsWith(filterValue) || type === 'contains' && value.includes(filterValue) || type === 'endsWith' && value.endsWith(filterValue))) {
10368
+ return /*#__PURE__*/React__default.createElement(RenderedItem, _extends$1({}, props, {
10369
+ ref: ref
10370
+ }));
10371
+ } else if (!caseSensitive && (type === 'startsWith' && value.toLowerCase().startsWith(filterValue.toLowerCase()) || type === 'contains' && value.toLowerCase().includes(filterValue.toLowerCase()) || type === 'endsWith' && value.toLowerCase().endsWith(filterValue.toLowerCase()))) {
10372
+ return /*#__PURE__*/React__default.createElement(RenderedItem, _extends$1({}, props, {
10373
+ ref: ref
10374
+ }));
10375
+ }
10376
+ return null;
10377
+ });
10378
+ Item.className = CLASSNAME$9;
10379
+ Item.defaultProps = DEFAULT_PROPS$9;
10380
+ Item.displayName = COMPONENT_NAME$9;
10381
+
10382
+ /**
10383
+ * Component style.
10384
+ */
10385
+ const StyledLink = styled.a`
10386
+ ${baseStyling}
10387
+
10388
+ background: none;
10389
+ border: none;
10390
+ color: inherit;
10391
+ cursor: text !important;
10392
+ font-family: var(--redsift-typography-link-font-family);
10393
+ font-size: var(--redsift-typography-link-font-size);
10394
+ font-weight: var(--redsift-typography-link-font-weight);
10395
+ line-height: var(--redsift-typography-link-line-height);
10396
+ padding: unset;
10397
+ text-decoration: none;
10398
+
10399
+ ${_ref => {
10400
+ let {
10401
+ $isDisabled
10402
+ } = _ref;
10403
+ return !$isDisabled ? css`
10404
+ color: var(--redsift-color-success-primary);
10405
+ text-decoration: underline;
10406
+ text-decoration-color: var(--redsift-color-success-secondary);
10407
+ text-underline-offset: 2px;
10408
+
10409
+ &:hover,
10410
+ &:focus-visible {
10411
+ cursor: pointer !important;
10412
+ text-decoration-color: var(--redsift-color-success-primary);
10413
+ }
10414
+ ` : '';
10415
+ }}
10416
+
10417
+ &:focus-visible {
10418
+ outline: 2px solid var(--redsift-color-success-primary);
10419
+ }
10420
+ `;
10421
+
10422
+ const _excluded$a = ["as", "children", "className", "href", "isDisabled"];
10423
+ const COMPONENT_NAME$8 = 'Link';
10424
+ const CLASSNAME$8 = 'redsift-link';
10425
+ const DEFAULT_PROPS$8 = {};
10426
+
10427
+ /**
10428
+ * The Link is a semantic link that looks like a link.
9441
10429
  * Shoud be used for internal and external navigation only.
9442
10430
  *
9443
10431
  * For a semantic link that looks like a button, please use the ButtonLink component.
@@ -9452,7 +10440,7 @@ const Link = /*#__PURE__*/forwardRef((props, ref) => {
9452
10440
  href,
9453
10441
  isDisabled
9454
10442
  } = props,
9455
- forwardedProps = _objectWithoutProperties(props, _excluded$7);
10443
+ forwardedProps = _objectWithoutProperties(props, _excluded$a);
9456
10444
  return /*#__PURE__*/React__default.createElement(StyledLink, _extends$1({
9457
10445
  as: as,
9458
10446
  "aria-disabled": isDisabled,
@@ -9465,14 +10453,14 @@ const Link = /*#__PURE__*/forwardRef((props, ref) => {
9465
10453
  ref: ref
9466
10454
  }), children);
9467
10455
  });
9468
- Link.className = CLASSNAME$7;
9469
- Link.defaultProps = DEFAULT_PROPS$7;
9470
- Link.displayName = COMPONENT_NAME$7;
10456
+ Link.className = CLASSNAME$8;
10457
+ Link.defaultProps = DEFAULT_PROPS$8;
10458
+ Link.displayName = COMPONENT_NAME$8;
9471
10459
 
9472
- const _excluded$6 = ["children", "className", "disabled", "isDisabled"];
9473
- const COMPONENT_NAME$6 = 'LinkButton';
9474
- const CLASSNAME$6 = 'redsift-link-button';
9475
- const DEFAULT_PROPS$6 = {};
10460
+ const _excluded$9 = ["children", "className", "disabled", "isDisabled"];
10461
+ const COMPONENT_NAME$7 = 'LinkButton';
10462
+ const CLASSNAME$7 = 'redsift-link-button';
10463
+ const DEFAULT_PROPS$7 = {};
9476
10464
 
9477
10465
  /**
9478
10466
  * The LinkButton is a semantic button that looks like a link.
@@ -9489,7 +10477,7 @@ const LinkButton = /*#__PURE__*/forwardRef((props, ref) => {
9489
10477
  disabled,
9490
10478
  isDisabled: propsIsDisabled
9491
10479
  } = props,
9492
- forwardedProps = _objectWithoutProperties(props, _excluded$6);
10480
+ forwardedProps = _objectWithoutProperties(props, _excluded$9);
9493
10481
  const isDisabled = propsIsDisabled || disabled;
9494
10482
  return /*#__PURE__*/React__default.createElement(StyledLink, _extends$1({
9495
10483
  as: "button"
@@ -9503,9 +10491,269 @@ const LinkButton = /*#__PURE__*/forwardRef((props, ref) => {
9503
10491
  ref: buttonRef
9504
10492
  }), children);
9505
10493
  });
9506
- LinkButton.className = CLASSNAME$6;
9507
- LinkButton.defaultProps = DEFAULT_PROPS$6;
9508
- LinkButton.displayName = COMPONENT_NAME$6;
10494
+ LinkButton.className = CLASSNAME$7;
10495
+ LinkButton.defaultProps = DEFAULT_PROPS$7;
10496
+ LinkButton.displayName = COMPONENT_NAME$7;
10497
+
10498
+ const _excluded$8 = ["children", "id", "isDisabled", "context"];
10499
+ const ActiveDescendantListbox = /*#__PURE__*/forwardRef((props, ref) => {
10500
+ var _context$state$active;
10501
+ const {
10502
+ children,
10503
+ id,
10504
+ isDisabled,
10505
+ context
10506
+ } = props,
10507
+ forwardedProps = _objectWithoutProperties(props, _excluded$8);
10508
+ const {
10509
+ activedescendant,
10510
+ handleKeyDown: handleFocusKeyDown,
10511
+ handleFocus,
10512
+ handleBlur
10513
+ } = useFocusOnList();
10514
+ const handleKeyDown = useCallback(event => {
10515
+ handleFocusKeyDown(event);
10516
+ const code = event.code;
10517
+ if (code === 'Enter' || code === 'Space') {
10518
+ if (context.state.selectionMode === 'multiple') {
10519
+ var _activedescendant$;
10520
+ context.dispatch({
10521
+ type: ListboxActionType.TOGGLE,
10522
+ payload: {
10523
+ value: (_activedescendant$ = activedescendant === null || activedescendant === void 0 ? void 0 : activedescendant[1]) !== null && _activedescendant$ !== void 0 ? _activedescendant$ : '',
10524
+ activedescendant
10525
+ }
10526
+ });
10527
+ } else {
10528
+ var _activedescendant$2;
10529
+ context.dispatch({
10530
+ type: ListboxActionType.SET,
10531
+ payload: {
10532
+ values: [(_activedescendant$2 = activedescendant === null || activedescendant === void 0 ? void 0 : activedescendant[1]) !== null && _activedescendant$2 !== void 0 ? _activedescendant$2 : ''],
10533
+ activedescendant
10534
+ }
10535
+ });
10536
+ }
10537
+ }
10538
+ }, [activedescendant]);
10539
+ return /*#__PURE__*/React__default.createElement(Flexbox, _extends$1({
10540
+ flexDirection: "column",
10541
+ gap: "8px"
10542
+ }, forwardedProps, {
10543
+ "aria-disabled": isDisabled,
10544
+ ref: ref,
10545
+ id: id,
10546
+ role: "listbox",
10547
+ "aria-activedescendant": (_context$state$active = context.state.activedescendant) === null || _context$state$active === void 0 ? void 0 : _context$state$active[0],
10548
+ "aria-multiselectable": context.state.selectionMode === 'multiple',
10549
+ tabIndex: 0,
10550
+ style: {
10551
+ outline: 'none'
10552
+ },
10553
+ onFocus: handleFocus,
10554
+ onBlur: handleBlur,
10555
+ onMouseDown: event => event.preventDefault(),
10556
+ onMouseLeave: handleBlur,
10557
+ onKeyDown: handleKeyDown
10558
+ }), /*#__PURE__*/React__default.createElement(ListboxContext.Provider, {
10559
+ value: context
10560
+ }, children));
10561
+ });
10562
+
10563
+ const _excluded$7 = ["children", "id", "isDisabled", "context"];
10564
+ const RovingTabindexListbox = /*#__PURE__*/forwardRef((props, ref) => {
10565
+ const {
10566
+ children,
10567
+ id,
10568
+ isDisabled,
10569
+ context
10570
+ } = props,
10571
+ forwardedProps = _objectWithoutProperties(props, _excluded$7);
10572
+ return /*#__PURE__*/React__default.createElement(Flexbox, _extends$1({
10573
+ flexDirection: "column",
10574
+ gap: "8px"
10575
+ }, forwardedProps, {
10576
+ "aria-disabled": isDisabled,
10577
+ ref: ref,
10578
+ id: id,
10579
+ role: "listbox",
10580
+ "aria-multiselectable": context.state.selectionMode === 'multiple'
10581
+ }), /*#__PURE__*/React__default.createElement(ListboxContext.Provider, {
10582
+ value: context
10583
+ }, children));
10584
+ });
10585
+
10586
+ /**
10587
+ * Component style.
10588
+ */
10589
+ const StyledListbox = styled(Flexbox)`
10590
+ outline: none;
10591
+
10592
+ ${_ref => {
10593
+ let {
10594
+ $variant,
10595
+ $isDisabled,
10596
+ $isInvalid
10597
+ } = _ref;
10598
+ return $variant === ListboxVariant.standalone ? css`
10599
+ span.redsift-listbox-label {
10600
+ font-family: var(--redsift-typography-body-font-family);
10601
+ font-weight: var(--redsift-typography-body-font-weight);
10602
+ font-size: var(--redsift-typography-body-font-size);
10603
+ line-height: var(--redsift-typography-body-line-height);
10604
+
10605
+ color: var(--redsift-color-neutral-black);
10606
+ ${$isDisabled ? `
10607
+ color: var(--redsift-color-neutral-midgrey);
10608
+ ` : ''}
10609
+ ${$isInvalid ? `
10610
+ color: var(--redsift-color-error-primary);
10611
+ ` : ''}
10612
+ }
10613
+
10614
+ .redsift-listbox-list {
10615
+ border: 1px solid var(--redsift-color-neutral-midgrey);
10616
+ padding: 4px;
10617
+ min-width: 200px;
10618
+ }
10619
+ ` : '';
10620
+ }}
10621
+ `;
10622
+
10623
+ const ListboxReducer = (state, action) => {
10624
+ switch (action.type) {
10625
+ case ListboxActionType.TOGGLE:
10626
+ {
10627
+ if (state.isReadOnly || state.isDisabled) {
10628
+ return state;
10629
+ }
10630
+ if (!state.selectedValues.includes(action.payload.value)) {
10631
+ return _objectSpread2(_objectSpread2({}, state), {}, {
10632
+ selectedValues: state.selectedValues.concat(action.payload.value)
10633
+ }, action.payload.activedescendant && {
10634
+ activedescendant: action.payload.activedescendant
10635
+ });
10636
+ }
10637
+ return _objectSpread2(_objectSpread2({}, state), {}, {
10638
+ selectedValues: state.selectedValues.filter(existingValue => existingValue !== action.payload.value)
10639
+ }, action.payload.activedescendant && {
10640
+ activedescendant: action.payload.activedescendant
10641
+ });
10642
+ }
10643
+ case ListboxActionType.SET:
10644
+ {
10645
+ if (state.isReadOnly || state.isDisabled) {
10646
+ return state;
10647
+ }
10648
+ return _objectSpread2(_objectSpread2({}, state), {}, {
10649
+ selectedValues: action.payload.values
10650
+ }, action.payload.activedescendant && {
10651
+ activedescendant: action.payload.activedescendant
10652
+ });
10653
+ }
10654
+ default:
10655
+ return state;
10656
+ }
10657
+ };
10658
+
10659
+ const _excluded$6 = ["children", "className", "defaultValues", "direction", "focusOnClick", "focusType", "id", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "loopAround", "onChange", "selectionMode", "values", "variant"];
10660
+ const COMPONENT_NAME$6 = 'Listbox';
10661
+ const CLASSNAME$6 = 'redsift-listbox';
10662
+ const DEFAULT_PROPS$6 = {
10663
+ focusOnClick: false,
10664
+ focusType: 'roving-tabindex',
10665
+ selectionMode: 'single',
10666
+ variant: ListboxVariant.standalone
10667
+ };
10668
+
10669
+ /**
10670
+ * The Listbox component.
10671
+ * Can be used as controlled or uncontrolled.
10672
+ */
10673
+ const Listbox = /*#__PURE__*/forwardRef((props, ref) => {
10674
+ const {
10675
+ children,
10676
+ className,
10677
+ defaultValues,
10678
+ direction,
10679
+ focusOnClick,
10680
+ focusType,
10681
+ id: propsId,
10682
+ isDisabled,
10683
+ isInvalid,
10684
+ isReadOnly,
10685
+ isRequired,
10686
+ label,
10687
+ loopAround,
10688
+ onChange,
10689
+ selectionMode,
10690
+ values,
10691
+ variant
10692
+ } = props,
10693
+ forwardedProps = _objectWithoutProperties(props, _excluded$6);
10694
+ const id = (propsId !== null && propsId !== void 0 ? propsId : useId$1()).replace(/:/g, '');
10695
+ const _ref = useRef();
10696
+ const divRef = ref !== null && ref !== void 0 ? ref : _ref;
10697
+ const [state, dispatch] = useReducer(ListboxReducer, _objectSpread2(_objectSpread2({}, LISTBOX_INITIAL_STATE), {}, {
10698
+ isDisabled,
10699
+ isReadOnly,
10700
+ selectedValues: values || defaultValues || [],
10701
+ selectionMode
10702
+ }));
10703
+ useEffect(() => {
10704
+ if (values && values.length >= 0) {
10705
+ dispatch({
10706
+ type: ListboxActionType.SET,
10707
+ payload: {
10708
+ values
10709
+ }
10710
+ });
10711
+ }
10712
+ }, [values]);
10713
+ const context = useMemo(() => ({
10714
+ state,
10715
+ dispatch
10716
+ }), [state]);
10717
+ useEffect(() => {
10718
+ onChange === null || onChange === void 0 ? void 0 : onChange(state.selectedValues);
10719
+ }, [state.selectedValues]);
10720
+ return /*#__PURE__*/React__default.createElement(ConditionalWrapper, {
10721
+ wrapper: children => /*#__PURE__*/React__default.createElement(StyledListbox, _extends$1({
10722
+ flexDirection: "column",
10723
+ gap: "8px"
10724
+ }, forwardedProps, {
10725
+ $isDisabled: isDisabled,
10726
+ $isInvalid: isInvalid || isRequired && state.selectedValues.length === 0,
10727
+ $isReadOnly: isReadOnly,
10728
+ className: classNames(Listbox.className, className),
10729
+ ref: divRef,
10730
+ id: id,
10731
+ $variant: variant
10732
+ }), children),
10733
+ condition: variant === ListboxVariant.standalone
10734
+ }, /*#__PURE__*/React__default.createElement(FocusWithinGroup, {
10735
+ direction: direction,
10736
+ focusOnClick: focusOnClick,
10737
+ loopAround: loopAround,
10738
+ focusType: focusType
10739
+ }, label ? /*#__PURE__*/React__default.createElement("span", {
10740
+ id: `${id}-label`,
10741
+ className: `${Listbox.className}-label`
10742
+ }, label, isRequired ? /*#__PURE__*/React__default.createElement("span", {
10743
+ "aria-hidden": "true"
10744
+ }, ' *') : null) : null, focusType === 'roving-tabindex' ? /*#__PURE__*/React__default.createElement(RovingTabindexListbox, _extends$1({}, forwardedProps, {
10745
+ className: `${Listbox.className}-list`,
10746
+ context: context,
10747
+ ref: divRef
10748
+ }), children) : /*#__PURE__*/React__default.createElement(ActiveDescendantListbox, _extends$1({}, forwardedProps, {
10749
+ className: `${Listbox.className}-list`,
10750
+ context: context,
10751
+ ref: divRef
10752
+ }), children)));
10753
+ });
10754
+ Listbox.className = CLASSNAME$6;
10755
+ Listbox.defaultProps = DEFAULT_PROPS$6;
10756
+ Listbox.displayName = COMPONENT_NAME$6;
9509
10757
 
9510
10758
  /**
9511
10759
  * Component style.
@@ -9713,7 +10961,7 @@ const StyledRadioGroup = styled.div`
9713
10961
  }
9714
10962
  `;
9715
10963
 
9716
- const _excluded$4 = ["children", "className", "defaultValue", "description", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "onChange", "orientation", "possibleValues", "value"];
10964
+ const _excluded$4 = ["children", "className", "defaultValue", "description", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "onChange", "orientation", "value"];
9717
10965
  const COMPONENT_NAME$4 = 'RadioGroup';
9718
10966
  const CLASSNAME$4 = 'redsift-radio-group';
9719
10967
  const DEFAULT_PROPS$4 = {
@@ -9738,7 +10986,6 @@ const RadioGroup = /*#__PURE__*/forwardRef((props, ref) => {
9738
10986
  label,
9739
10987
  onChange,
9740
10988
  orientation,
9741
- possibleValues,
9742
10989
  value
9743
10990
  } = props,
9744
10991
  forwardedProps = _objectWithoutProperties(props, _excluded$4);
@@ -9752,7 +10999,6 @@ const RadioGroup = /*#__PURE__*/forwardRef((props, ref) => {
9752
10999
  value: selectedValue,
9753
11000
  isDisabled: isDisabled || false,
9754
11001
  isReadOnly: isReadOnly || false,
9755
- possibleValues: possibleValues,
9756
11002
  setValue(value) {
9757
11003
  if (isReadOnly || isDisabled) {
9758
11004
  return;
@@ -10323,12 +11569,12 @@ const StyledSwitchGroup = styled.div`
10323
11569
  $orientation
10324
11570
  } = _ref;
10325
11571
  return $orientation === SwitchGroupOrientation.vertical ? `
10326
- div.redsift-checkbox-group-boxes {
11572
+ div.redsift-switch-group-switches {
10327
11573
  display: flex;
10328
11574
  flex-direction: column;
10329
11575
  }
10330
11576
  ` : `
10331
- div.redsift-checkbox-group-boxes {
11577
+ div.redsift-switch-group-switches {
10332
11578
  display: flex;
10333
11579
  flex-direction: row;
10334
11580
  flex-wrap: wrap;
@@ -10336,7 +11582,7 @@ const StyledSwitchGroup = styled.div`
10336
11582
  `;
10337
11583
  }}
10338
11584
 
10339
- span.redsift-checkbox-group-label {
11585
+ span.redsift-switch-group-label {
10340
11586
  font-family: var(--redsift-typography-body-font-family);
10341
11587
  font-weight: var(--redsift-typography-body-font-weight);
10342
11588
  font-size: var(--redsift-typography-body-font-size);
@@ -10361,7 +11607,7 @@ const StyledSwitchGroup = styled.div`
10361
11607
  }}
10362
11608
  }
10363
11609
 
10364
- span.redsift-checkbox-group-description {
11610
+ span.redsift-switch-group-description {
10365
11611
  font-family: var(--redsift-typography-helper-font-family);
10366
11612
  font-weight: var(--redsift-typography-helper-font-weight);
10367
11613
  font-size: var(--redsift-typography-helper-font-size);
@@ -10387,9 +11633,9 @@ const StyledSwitchGroup = styled.div`
10387
11633
  }
10388
11634
  `;
10389
11635
 
10390
- const _excluded$1 = ["children", "className", "defaultValues", "description", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "onChange", "orientation", "possibleValues", "value"];
11636
+ const _excluded$1 = ["children", "className", "defaultValues", "description", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "onChange", "orientation", "value"];
10391
11637
  const COMPONENT_NAME$1 = 'SwitchGroup';
10392
- const CLASSNAME$1 = 'redsift-checkbox-group';
11638
+ const CLASSNAME$1 = 'redsift-switch-group';
10393
11639
  const DEFAULT_PROPS$1 = {
10394
11640
  color: ColorPalette.default,
10395
11641
  orientation: SwitchGroupOrientation.vertical
@@ -10412,7 +11658,6 @@ const SwitchGroup = /*#__PURE__*/forwardRef((props, ref) => {
10412
11658
  label,
10413
11659
  onChange,
10414
11660
  orientation,
10415
- possibleValues,
10416
11661
  value
10417
11662
  } = props,
10418
11663
  forwardedProps = _objectWithoutProperties(props, _excluded$1);
@@ -10426,7 +11671,6 @@ const SwitchGroup = /*#__PURE__*/forwardRef((props, ref) => {
10426
11671
  value: selectedValues,
10427
11672
  isDisabled: isDisabled || false,
10428
11673
  isReadOnly: isReadOnly || false,
10429
- possibleValues: possibleValues,
10430
11674
  setValue(values) {
10431
11675
  if (isReadOnly || isDisabled) {
10432
11676
  return;
@@ -10462,7 +11706,7 @@ const SwitchGroup = /*#__PURE__*/forwardRef((props, ref) => {
10462
11706
  }), /*#__PURE__*/React__default.createElement("span", {
10463
11707
  className: `${SwitchGroup.className}-label`
10464
11708
  }, label, isRequired ? ' *' : null), /*#__PURE__*/React__default.createElement("div", {
10465
- className: `${SwitchGroup.className}-boxes`
11709
+ className: `${SwitchGroup.className}-switches`
10466
11710
  }, /*#__PURE__*/React__default.createElement(SwitchGroupContext.Provider, {
10467
11711
  value: state
10468
11712
  }, children)), /*#__PURE__*/React__default.createElement("span", {
@@ -10492,18 +11736,19 @@ const StyledTextField = styled.div`
10492
11736
  height: fit-content;
10493
11737
  position: relative;
10494
11738
  width: fit-content;
11739
+ margin: 0;
11740
+ min-width: 0;
11741
+ padding: 0;
10495
11742
  ${baseStyling}
10496
11743
 
10497
11744
  border: 0;
10498
11745
  display: inline-flex;
10499
11746
  flex-direction: column;
10500
- margin: 0;
10501
- min-width: 0;
10502
- padding: 0;
10503
11747
  vertical-align: top;
10504
11748
 
10505
11749
  ${_ref => {
10506
11750
  let {
11751
+ $hasLeftIcon,
10507
11752
  $hasContent,
10508
11753
  $isFocused,
10509
11754
  $isDisabled,
@@ -10517,36 +11762,27 @@ const StyledTextField = styled.div`
10517
11762
  font-size: var(--redsift-typography-input-text-font-size);
10518
11763
  font-weight: var(--redsift-typography-input-text-font-weight);
10519
11764
  line-height: var(--redsift-typography-input-text-line-height);
10520
- left: 0;
11765
+ left: ${$hasLeftIcon && !$hasContent ? '32px' : '0'};
10521
11766
  overflow: hidden;
10522
11767
  pointer-events: none;
10523
11768
  position: absolute;
10524
11769
  text-overflow: ellipsis;
10525
11770
  top: -8px;
10526
11771
  transform-origin: top left;
10527
- transition: color 200ms cubic-bezier(0, 0, 0.2, 1) 0ms,
10528
- transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms,
11772
+ transition: color 200ms cubic-bezier(0, 0, 0.2, 1) 0ms, transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms,
10529
11773
  max-width 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
10530
11774
  white-space: nowrap;
10531
11775
  z-index: 1;
10532
11776
 
10533
11777
  ${!$hasContent ? css`
10534
11778
  max-width: calc(100% - 24px);
10535
- transform: translate(
10536
- ${$variant === TextFieldVariant.underline ? '0px' : '14px'},
10537
- 16px
10538
- )
10539
- scale(1);
11779
+ transform: translate(${$variant === TextFieldVariant.underline ? '0px' : '14px'}, 16px) scale(1);
10540
11780
  ` : css`
10541
11781
  font-family: var(--redsift-typography-body2-font-family);
10542
11782
  font-size: var(--redsift-typography-body2-font-size);
10543
11783
  font-weight: var(--redsift-typography-body2-font-weight);
10544
11784
  max-width: calc(133% - 32px);
10545
- transform: translate(
10546
- ${$variant === TextFieldVariant.underline ? '0px' : '14px'},
10547
- -1px
10548
- )
10549
- scale(0.75);
11785
+ transform: translate(${$variant === TextFieldVariant.underline ? '0px' : '14px'}, -1px) scale(0.75);
10550
11786
  `}
10551
11787
 
10552
11788
  ${$isDisabled ? css`
@@ -10554,9 +11790,7 @@ const StyledTextField = styled.div`
10554
11790
  ` : $isInvalid ? css`
10555
11791
  color: var(--redsift-color-error-primary);
10556
11792
  ` : $isFocused ? css`
10557
- color: var(
10558
- --redsift-color-${$isColored ? 'default' : 'question'}-primary
10559
- );
11793
+ color: var(--redsift-color-${$isColored ? 'default' : 'question'}-primary);
10560
11794
  ` : css`
10561
11795
  color: var(--redsift-color-neutral-darkgrey);
10562
11796
  `}
@@ -10630,9 +11864,7 @@ const StyledTextField = styled.div`
10630
11864
  ` : $isInvalid ? css`
10631
11865
  border-color: var(--redsift-color-error-primary);
10632
11866
  ` : $isFocused ? css`
10633
- border-color: var(
10634
- --redsift-color-${$isColored ? 'default' : 'question'}-primary
10635
- );
11867
+ border-color: var(--redsift-color-${$isColored ? 'default' : 'question'}-primary);
10636
11868
  ` : css`
10637
11869
  border-color: var(--redsift-color-neutral-midgrey);
10638
11870
  `}
@@ -10665,11 +11897,30 @@ const StyledTextField = styled.div`
10665
11897
  padding-right: 5px;
10666
11898
  visibility: visible;
10667
11899
  }
11900
+
11901
+ .redsift-icon-button {
11902
+ padding: 2px;
11903
+ }
11904
+
11905
+ ${$variant !== TextFieldVariant.underline ? css`
11906
+ .redsift-icon.left {
11907
+ padding-left: 12px;
11908
+ margin-right: -8px;
11909
+ line-height: 28px;
11910
+ }
11911
+
11912
+ .redsift-text-field-input-wrapper__toolbar {
11913
+ padding-right: 8px;
11914
+ }
11915
+ ` : ''}
10668
11916
  `;
10669
11917
  }}
10670
11918
  `;
10671
11919
 
10672
- const _excluded = ["aria-label", "aria-labelledby", "autoFocus", "className", "defaultValue", "inputProps", "inputRef", "isColored", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "name", "onChange", "placeholder", "value", "variant"];
11920
+ // Material Design Icons v7.2.96
11921
+ var mdiClose = "M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z";
11922
+
11923
+ const _excluded = ["aria-label", "aria-labelledby", "autoFocus", "className", "defaultValue", "hasClearButton", "after", "internal", "inputProps", "inputRef", "isColored", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "leftIcon", "name", "onBlur", "onChange", "onClear", "onFocus", "placeholder", "value", "variant"];
10673
11924
  const COMPONENT_NAME = 'TextField';
10674
11925
  const CLASSNAME = 'redsift-text-field';
10675
11926
  const DEFAULT_PROPS = {
@@ -10689,6 +11940,9 @@ const TextField = /*#__PURE__*/forwardRef((props, ref) => {
10689
11940
  autoFocus,
10690
11941
  className,
10691
11942
  defaultValue,
11943
+ hasClearButton,
11944
+ after,
11945
+ internal,
10692
11946
  inputProps,
10693
11947
  inputRef,
10694
11948
  isColored,
@@ -10697,8 +11951,12 @@ const TextField = /*#__PURE__*/forwardRef((props, ref) => {
10697
11951
  isReadOnly,
10698
11952
  isRequired,
10699
11953
  label,
11954
+ leftIcon,
10700
11955
  name,
11956
+ onBlur: onBlurProps,
10701
11957
  onChange,
11958
+ onClear,
11959
+ onFocus: onFocusProps,
10702
11960
  placeholder,
10703
11961
  value: propsValue,
10704
11962
  variant
@@ -10707,7 +11965,10 @@ const TextField = /*#__PURE__*/forwardRef((props, ref) => {
10707
11965
  const {
10708
11966
  isFocusVisible,
10709
11967
  isFocused,
10710
- focusProps
11968
+ focusProps: {
11969
+ onFocus,
11970
+ onBlur
11971
+ }
10711
11972
  } = useFocusRing({
10712
11973
  autoFocus
10713
11974
  });
@@ -10731,8 +11992,24 @@ const TextField = /*#__PURE__*/forwardRef((props, ref) => {
10731
11992
  }
10732
11993
  setValue(event.target.value);
10733
11994
  }, [onChange]);
11995
+ const handleClear = useCallback(() => {
11996
+ if (isDisabled || isReadOnly) {
11997
+ return;
11998
+ }
11999
+ if (onChange) {
12000
+ onChange('');
12001
+ }
12002
+ if (onClear) {
12003
+ onClear();
12004
+ }
12005
+ if (hasClearButton && hasClearButton !== true && hasClearButton.onClick) {
12006
+ hasClearButton.onClick({});
12007
+ }
12008
+ setValue('');
12009
+ }, [onChange]);
10734
12010
  return /*#__PURE__*/React__default.createElement(StyledTextField, _extends$1({}, focusWithinProps, forwardedProps, {
10735
12011
  $hasContent: isFocusWithin || Boolean(value) || Boolean(placeholder),
12012
+ $hasLeftIcon: Boolean(leftIcon),
10736
12013
  $isColored: isColored,
10737
12014
  $isDisabled: isDisabled,
10738
12015
  $isFocusVisible: isFocusVisible,
@@ -10746,7 +12023,18 @@ const TextField = /*#__PURE__*/forwardRef((props, ref) => {
10746
12023
  className: `${TextField.className}__label`
10747
12024
  }, /*#__PURE__*/React__default.createElement("span", null, label)) : null, /*#__PURE__*/React__default.createElement("div", {
10748
12025
  className: `${TextField.className}__input-wrapper`
10749
- }, /*#__PURE__*/React__default.createElement("input", _extends$1({}, inputProps, focusProps, {
12026
+ }, leftIcon ? /*#__PURE__*/React__default.createElement(Icon, _extends$1({}, leftIcon, {
12027
+ "aria-hidden": "true",
12028
+ className: "left"
12029
+ })) : null, /*#__PURE__*/React__default.createElement("input", _extends$1({}, inputProps, {
12030
+ onBlur: event => {
12031
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
12032
+ onBlurProps === null || onBlurProps === void 0 ? void 0 : onBlurProps(event);
12033
+ },
12034
+ onFocus: event => {
12035
+ onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
12036
+ onFocusProps === null || onFocusProps === void 0 ? void 0 : onFocusProps(event);
12037
+ },
10750
12038
  "aria-disabled": isDisabled,
10751
12039
  "aria-invalid": isInvalid || isRequired && !value,
10752
12040
  "aria-label": ariaLabel,
@@ -10762,7 +12050,21 @@ const TextField = /*#__PURE__*/forwardRef((props, ref) => {
10762
12050
  ref: inputRef,
10763
12051
  type: "text",
10764
12052
  value: value
10765
- })), label ? /*#__PURE__*/React__default.createElement("fieldset", {
12053
+ })), hasClearButton || internal || after ? /*#__PURE__*/React__default.createElement(Flexbox, {
12054
+ className: `${TextField.className}-input-wrapper__toolbar`,
12055
+ gap: "8px"
12056
+ }, hasClearButton ? /*#__PURE__*/React__default.createElement(IconButton, _extends$1({
12057
+ "aria-label": "Clear",
12058
+ color: "question",
12059
+ icon: mdiClose
12060
+ }, hasClearButton !== true && hasClearButton, {
12061
+ onClick: handleClear,
12062
+ className: "right clear"
12063
+ })) : null, typeof internal === 'function' ? internal(value, isDisabled, isInvalid || isRequired && !value, isRequired) : internal, (hasClearButton || internal) && after ? /*#__PURE__*/React__default.createElement("span", {
12064
+ style: {
12065
+ borderLeft: '1px solid var(--redsift-color-neutral-midgrey)'
12066
+ }
12067
+ }) : null, typeof after === 'function' ? after(value, isDisabled, isInvalid || isRequired && !value, isRequired) : after) : null, label ? /*#__PURE__*/React__default.createElement("fieldset", {
10766
12068
  "aria-hidden": "true",
10767
12069
  className: `${TextField.className}-input-wrapper__fieldset`
10768
12070
  }, /*#__PURE__*/React__default.createElement("legend", {
@@ -10773,5 +12075,5 @@ TextField.className = CLASSNAME;
10773
12075
  TextField.defaultProps = DEFAULT_PROPS;
10774
12076
  TextField.displayName = COMPONENT_NAME;
10775
12077
 
10776
- export { Alert, AlertVariant, AlignContent, AlignItems, AlignSelf, AppBar, AppContainer, AppContainerContext, AppContent, AppSidePanel, Badge, BadgeVariant, BaseBreadcrumbs, BaseGrid, BaseSkeleton, BreadcrumbItem, Breadcrumbs, Button, ButtonLink, ButtonVariant, Card, CardActions, CardBody, CardHeader, Checkbox, CheckboxGroup, CheckboxGroupOrientation, ColorPalette, ConditionalWrapper, DataVizColorPalette, DetailedCard, DetailedCardCollapsibleSectionItems, DetailedCardHeader, DetailedCardSection, DetailedCardSectionItem, FlexDirection, FlexWrap, Flexbox, FontFamily, Grid, GridItem, Heading, HeadingComponent, HeadingVariant, Icon, IconButton, IconButtonVariant, IconSize, JustifyContent, JustifyItems, JustifySelf, Link, LinkButton, NeutralColorPalette, Number$1 as Number, Pill, ProductColorPalette, Radio, RadioGroup, RadioGroupOrientation, RedsiftAppBarColorBackground, RedsiftAppBarColorExpandIconBackgroundHover, RedsiftAppBarColorExpandIconHover, RedsiftAppBarColorExpandIconResting, RedsiftAppBarColorText, RedsiftColorDefaultActive, RedsiftColorDefaultActiveHover, RedsiftColorDefaultHover, RedsiftColorDefaultPrimary, RedsiftColorDefaultPrimaryActive, RedsiftColorDefaultPrimaryActiveHover, RedsiftColorDefaultSecondary, RedsiftColorErrorActive, RedsiftColorErrorActiveHover, RedsiftColorErrorHover, RedsiftColorErrorPrimary, RedsiftColorErrorPrimaryActive, RedsiftColorErrorPrimaryActiveHover, RedsiftColorErrorSecondary, RedsiftColorHardenizeActive, RedsiftColorHardenizeActiveHover, RedsiftColorHardenizeHover, RedsiftColorHardenizePrimary, RedsiftColorHardenizePrimaryActive, RedsiftColorHardenizePrimaryActiveHover, RedsiftColorHardenizeSecondary, RedsiftColorInfoActive, RedsiftColorInfoActiveHover, RedsiftColorInfoHover, RedsiftColorInfoPrimary, RedsiftColorInfoPrimaryActive, RedsiftColorInfoPrimaryActiveHover, RedsiftColorInfoSecondary, RedsiftColorNeutralBlack, RedsiftColorNeutralDarkgrey, RedsiftColorNeutralLightgrey, RedsiftColorNeutralMidgrey, RedsiftColorNeutralWhite, RedsiftColorNeutralXlightgrey, RedsiftColorNoDataActive, RedsiftColorNoDataActiveHover, RedsiftColorNoDataHover, RedsiftColorNoDataPrimary, RedsiftColorNoDataPrimaryActive, RedsiftColorNoDataPrimaryActiveHover, RedsiftColorNoDataSecondary, RedsiftColorOndmarcActive, RedsiftColorOndmarcActiveHover, RedsiftColorOndmarcHover, RedsiftColorOndmarcPrimary, RedsiftColorOndmarcPrimaryActive, RedsiftColorOndmarcPrimaryActiveHover, RedsiftColorOndmarcSecondary, RedsiftColorOndomainActive, RedsiftColorOndomainActiveHover, RedsiftColorOndomainHover, RedsiftColorOndomainPrimary, RedsiftColorOndomainPrimaryActive, RedsiftColorOndomainPrimaryActiveHover, RedsiftColorOndomainSecondary, RedsiftColorOninboxActive, RedsiftColorOninboxActiveHover, RedsiftColorOninboxHover, RedsiftColorOninboxPrimary, RedsiftColorOninboxPrimaryActive, RedsiftColorOninboxPrimaryActiveHover, RedsiftColorOninboxSecondary, RedsiftColorQuestionActive, RedsiftColorQuestionActiveHover, RedsiftColorQuestionHover, RedsiftColorQuestionPrimary, RedsiftColorQuestionPrimaryActive, RedsiftColorQuestionPrimaryActiveHover, RedsiftColorQuestionSecondary, RedsiftColorSuccessActive, RedsiftColorSuccessActiveHover, RedsiftColorSuccessHover, RedsiftColorSuccessPrimary, RedsiftColorSuccessPrimaryActive, RedsiftColorSuccessPrimaryActiveHover, RedsiftColorSuccessSecondary, RedsiftColorToolsActive, RedsiftColorToolsActiveHover, RedsiftColorToolsHover, RedsiftColorToolsPrimary, RedsiftColorToolsPrimaryActive, RedsiftColorToolsPrimaryActiveHover, RedsiftColorToolsSecondary, RedsiftColorWarningActive, RedsiftColorWarningActiveHover, RedsiftColorWarningHover, RedsiftColorWarningPrimary, RedsiftColorWarningPrimaryActive, RedsiftColorWarningPrimaryActiveHover, RedsiftColorWarningSecondary, RedsiftColorWebsiteActive, RedsiftColorWebsiteActiveHover, RedsiftColorWebsiteHover, RedsiftColorWebsitePrimary, RedsiftColorWebsitePrimaryActive, RedsiftColorWebsitePrimaryActiveHover, RedsiftColorWebsiteSecondary, RedsiftDataVizColorAquaDark, RedsiftDataVizColorAquaDarker, RedsiftDataVizColorAquaDarkerer, RedsiftDataVizColorAquaDefault, RedsiftDataVizColorAquaLight, RedsiftDataVizColorAquaLighter, RedsiftDataVizColorAquaLighterer, RedsiftDataVizColorBlueDark, RedsiftDataVizColorBlueDarker, RedsiftDataVizColorBlueDarkerer, RedsiftDataVizColorBlueDefault, RedsiftDataVizColorBlueLight, RedsiftDataVizColorBlueLighter, RedsiftDataVizColorBlueLighterer, RedsiftDataVizColorBrownDark, RedsiftDataVizColorBrownDarker, RedsiftDataVizColorBrownDarkerer, RedsiftDataVizColorBrownDefault, RedsiftDataVizColorBrownLight, RedsiftDataVizColorBrownLighter, RedsiftDataVizColorBrownLighterer, RedsiftDataVizColorGreenDark, RedsiftDataVizColorGreenDarker, RedsiftDataVizColorGreenDarkerer, RedsiftDataVizColorGreenDefault, RedsiftDataVizColorGreenLight, RedsiftDataVizColorGreenLighter, RedsiftDataVizColorGreenLighterer, RedsiftDataVizColorGreyDark, RedsiftDataVizColorGreyDarker, RedsiftDataVizColorGreyDarkerer, RedsiftDataVizColorGreyDefault, RedsiftDataVizColorGreyLight, RedsiftDataVizColorGreyLighter, RedsiftDataVizColorGreyLighterer, RedsiftDataVizColorOrangeDark, RedsiftDataVizColorOrangeDarker, RedsiftDataVizColorOrangeDarkerer, RedsiftDataVizColorOrangeDefault, RedsiftDataVizColorOrangeLight, RedsiftDataVizColorOrangeLighter, RedsiftDataVizColorOrangeLighterer, RedsiftDataVizColorPinkDark, RedsiftDataVizColorPinkDarker, RedsiftDataVizColorPinkDarkerer, RedsiftDataVizColorPinkDefault, RedsiftDataVizColorPinkLight, RedsiftDataVizColorPinkLighter, RedsiftDataVizColorPinkLighterer, RedsiftDataVizColorPurpleDark, RedsiftDataVizColorPurpleDarker, RedsiftDataVizColorPurpleDarkerer, RedsiftDataVizColorPurpleDefault, RedsiftDataVizColorPurpleLight, RedsiftDataVizColorPurpleLighter, RedsiftDataVizColorPurpleLighterer, RedsiftDataVizColorRedDark, RedsiftDataVizColorRedDarker, RedsiftDataVizColorRedDarkerer, RedsiftDataVizColorRedDefault, RedsiftDataVizColorRedLight, RedsiftDataVizColorRedLighter, RedsiftDataVizColorRedLighterer, RedsiftDataVizColorYellowDark, RedsiftDataVizColorYellowDarker, RedsiftDataVizColorYellowDarkerer, RedsiftDataVizColorYellowDefault, RedsiftDataVizColorYellowLight, RedsiftDataVizColorYellowLighter, RedsiftDataVizColorYellowLighterer, RedsiftLayoutZIndexDialog, RedsiftLayoutZIndexDropdown, RedsiftLayoutZIndexFooter, RedsiftLayoutZIndexHeader, RedsiftLayoutZIndexOverlay, RedsiftLayoutZIndexPopover, RedsiftLayoutZIndexSidePanel, RedsiftLayoutZIndexTooltip, RedsiftSideNavigationColorBackground, RedsiftSideNavigationColorMenuItemActive, RedsiftSideNavigationColorMenuItemBackgroundActive, RedsiftSideNavigationColorMenuItemBackgroundHover, RedsiftSideNavigationColorMenuItemBackgroundSecondary, RedsiftSideNavigationColorMenuItemTextDisabled, RedsiftSideNavigationColorMenuItemTextHover, RedsiftSideNavigationColorMenuItemTextResting, RedsiftSideNavigationColorScrollbarHover, RedsiftSideNavigationColorScrollbarResting, RedsiftTypographyBadgeFontFamily, RedsiftTypographyBadgeFontSize, RedsiftTypographyBadgeFontWeight, RedsiftTypographyBadgeLineHeight, RedsiftTypographyBody2FontFamily, RedsiftTypographyBody2FontSize, RedsiftTypographyBody2FontWeight, RedsiftTypographyBody2LineHeight, RedsiftTypographyBodyFontFamily, RedsiftTypographyBodyFontSize, RedsiftTypographyBodyFontWeight, RedsiftTypographyBodyLineHeight, RedsiftTypographyBodyTextTransform, RedsiftTypographyButtonFontFamily, RedsiftTypographyButtonFontSize, RedsiftTypographyButtonFontWeight, RedsiftTypographyButtonLineHeight, RedsiftTypographyButtonTextTransform, RedsiftTypographyCaptionFontFamily, RedsiftTypographyCaptionFontSize, RedsiftTypographyCaptionFontWeight, RedsiftTypographyCaptionLineHeight, RedsiftTypographyCaptionTextTransform, RedsiftTypographyChipFontFamily, RedsiftTypographyChipFontSize, RedsiftTypographyChipFontWeight, RedsiftTypographyChipLineHeight, RedsiftTypographyDatagridCellFontFamily, RedsiftTypographyDatagridCellFontSize, RedsiftTypographyDatagridCellFontWeight, RedsiftTypographyDatagridCellLineHeight, RedsiftTypographyDatagridHeaderFontFamily, RedsiftTypographyDatagridHeaderFontSize, RedsiftTypographyDatagridHeaderFontWeight, RedsiftTypographyDatagridHeaderLineHeight, RedsiftTypographyFontFamilyElectrolize, RedsiftTypographyFontFamilyRaleway, RedsiftTypographyFontFamilySourceCodePro, RedsiftTypographyFontWeightBold, RedsiftTypographyFontWeightMedium, RedsiftTypographyFontWeightRegular, RedsiftTypographyFontWeightSemiBold, RedsiftTypographyH1FontFamily, RedsiftTypographyH1FontSize, RedsiftTypographyH1FontWeight, RedsiftTypographyH1LineHeight, RedsiftTypographyH1TextTransform, RedsiftTypographyH2FontFamily, RedsiftTypographyH2FontSize, RedsiftTypographyH2FontWeight, RedsiftTypographyH2LineHeight, RedsiftTypographyH2TextTransform, RedsiftTypographyH3FontFamily, RedsiftTypographyH3FontSize, RedsiftTypographyH3FontWeight, RedsiftTypographyH3LineHeight, RedsiftTypographyH3TextTransform, RedsiftTypographyH4FontFamily, RedsiftTypographyH4FontSize, RedsiftTypographyH4FontWeight, RedsiftTypographyH4LineHeight, RedsiftTypographyH4TextTransform, RedsiftTypographyH5FontFamily, RedsiftTypographyH5FontSize, RedsiftTypographyH5FontWeight, RedsiftTypographyH5LineHeight, RedsiftTypographyH5TextTransform, RedsiftTypographyHelperFontFamily, RedsiftTypographyHelperFontSize, RedsiftTypographyHelperFontWeight, RedsiftTypographyHelperLineHeight, RedsiftTypographyInputTextFontFamily, RedsiftTypographyInputTextFontSize, RedsiftTypographyInputTextFontWeight, RedsiftTypographyInputTextLineHeight, RedsiftTypographyLinkFontFamily, RedsiftTypographyLinkFontSize, RedsiftTypographyLinkFontWeight, RedsiftTypographyLinkLineHeight, RedsiftTypographyPillFontFamily, RedsiftTypographyPillFontSize, RedsiftTypographyPillFontWeight, RedsiftTypographyPillLineHeight, RedsiftTypographySubtitleFontFamily, RedsiftTypographySubtitleFontSize, RedsiftTypographySubtitleFontWeight, RedsiftTypographySubtitleLineHeight, RedsiftTypographySubtitleTextTransform, RedsiftTypographyTooltipFontFamily, RedsiftTypographyTooltipFontSize, RedsiftTypographyTooltipFontWeight, RedsiftTypographyTooltipLineHeight, Shield, ShieldVariant, SideNavigationMenu, SideNavigationMenuBar, SideNavigationMenuItem, SideNavigationMenuReducerActionType, Skeleton, SkeletonCircle, SkeletonText, SkeletonTextVariant, Spinner, SpinnerSize, StyledButton, StyledLink, Switch, SwitchGroup, SwitchGroupOrientation, Text, TextComponent, TextField, TextFieldVariant, TextVariant, baseContainer, baseFlexbox, baseGrid, baseInternalSpacing, baseLayout, basePositioning, baseSizing, baseSpacing, baseStyling, filterComponents, focusRing, isComponent, partitionComponents, useAppSidePanel, useBoundingClientRect, useSideNavigationMenuBar, useWindowSize, warnIfNoAccessibleLabelFound };
12078
+ export { ActiveDescendantListbox, Alert, AlertVariant, AlignContent, AlignItems, AlignSelf, AppBar, AppContainer, AppContainerContext, AppContent, AppSidePanel, Badge, BadgeVariant, BaseBreadcrumbs, BaseGrid, BaseSkeleton, BreadcrumbItem, Breadcrumbs, Button, ButtonLink, ButtonVariant, Card, CardActions, CardBody, CardHeader, Checkbox, CheckboxGroup, CheckboxGroupOrientation, ColorPalette, ConditionalWrapper, DataVizColorPalette, DetailedCard, DetailedCardCollapsibleSectionItems, DetailedCardHeader, DetailedCardSection, DetailedCardSectionItem, EventKey, FOCUS_WITHING_GROUP_INITIAL_STATE, FlexDirection, FlexWrap, Flexbox, FocusWithinGroup, FocusWithinGroupActionType, FocusWithinGroupContext, FocusWithinGroupReducer, FontFamily, Grid, GridItem, Heading, HeadingComponent, HeadingVariant, Icon, IconButton, IconButtonVariant, IconSize, Item, JustifyContent, JustifyItems, JustifySelf, LISTBOX_INITIAL_STATE, Link, LinkButton, Listbox, ListboxActionType, ListboxContext, ListboxReducer, ListboxVariant, Navigation, NeutralColorPalette, Number$1 as Number, Pill, ProductColorPalette, Radio, RadioGroup, RadioGroupOrientation, RedsiftAppBarColorBackground, RedsiftAppBarColorExpandIconBackgroundHover, RedsiftAppBarColorExpandIconHover, RedsiftAppBarColorExpandIconResting, RedsiftAppBarColorText, RedsiftColorDefaultActive, RedsiftColorDefaultActiveHover, RedsiftColorDefaultHover, RedsiftColorDefaultPrimary, RedsiftColorDefaultPrimaryActive, RedsiftColorDefaultPrimaryActiveHover, RedsiftColorDefaultSecondary, RedsiftColorErrorActive, RedsiftColorErrorActiveHover, RedsiftColorErrorHover, RedsiftColorErrorPrimary, RedsiftColorErrorPrimaryActive, RedsiftColorErrorPrimaryActiveHover, RedsiftColorErrorSecondary, RedsiftColorHardenizeActive, RedsiftColorHardenizeActiveHover, RedsiftColorHardenizeHover, RedsiftColorHardenizePrimary, RedsiftColorHardenizePrimaryActive, RedsiftColorHardenizePrimaryActiveHover, RedsiftColorHardenizeSecondary, RedsiftColorInfoActive, RedsiftColorInfoActiveHover, RedsiftColorInfoHover, RedsiftColorInfoPrimary, RedsiftColorInfoPrimaryActive, RedsiftColorInfoPrimaryActiveHover, RedsiftColorInfoSecondary, RedsiftColorNeutralBlack, RedsiftColorNeutralDarkgrey, RedsiftColorNeutralLightgrey, RedsiftColorNeutralMidgrey, RedsiftColorNeutralWhite, RedsiftColorNeutralXlightgrey, RedsiftColorNoDataActive, RedsiftColorNoDataActiveHover, RedsiftColorNoDataHover, RedsiftColorNoDataPrimary, RedsiftColorNoDataPrimaryActive, RedsiftColorNoDataPrimaryActiveHover, RedsiftColorNoDataSecondary, RedsiftColorOndmarcActive, RedsiftColorOndmarcActiveHover, RedsiftColorOndmarcHover, RedsiftColorOndmarcPrimary, RedsiftColorOndmarcPrimaryActive, RedsiftColorOndmarcPrimaryActiveHover, RedsiftColorOndmarcSecondary, RedsiftColorOndomainActive, RedsiftColorOndomainActiveHover, RedsiftColorOndomainHover, RedsiftColorOndomainPrimary, RedsiftColorOndomainPrimaryActive, RedsiftColorOndomainPrimaryActiveHover, RedsiftColorOndomainSecondary, RedsiftColorOninboxActive, RedsiftColorOninboxActiveHover, RedsiftColorOninboxHover, RedsiftColorOninboxPrimary, RedsiftColorOninboxPrimaryActive, RedsiftColorOninboxPrimaryActiveHover, RedsiftColorOninboxSecondary, RedsiftColorQuestionActive, RedsiftColorQuestionActiveHover, RedsiftColorQuestionHover, RedsiftColorQuestionPrimary, RedsiftColorQuestionPrimaryActive, RedsiftColorQuestionPrimaryActiveHover, RedsiftColorQuestionSecondary, RedsiftColorSuccessActive, RedsiftColorSuccessActiveHover, RedsiftColorSuccessHover, RedsiftColorSuccessPrimary, RedsiftColorSuccessPrimaryActive, RedsiftColorSuccessPrimaryActiveHover, RedsiftColorSuccessSecondary, RedsiftColorToolsActive, RedsiftColorToolsActiveHover, RedsiftColorToolsHover, RedsiftColorToolsPrimary, RedsiftColorToolsPrimaryActive, RedsiftColorToolsPrimaryActiveHover, RedsiftColorToolsSecondary, RedsiftColorWarningActive, RedsiftColorWarningActiveHover, RedsiftColorWarningHover, RedsiftColorWarningPrimary, RedsiftColorWarningPrimaryActive, RedsiftColorWarningPrimaryActiveHover, RedsiftColorWarningSecondary, RedsiftColorWebsiteActive, RedsiftColorWebsiteActiveHover, RedsiftColorWebsiteHover, RedsiftColorWebsitePrimary, RedsiftColorWebsitePrimaryActive, RedsiftColorWebsitePrimaryActiveHover, RedsiftColorWebsiteSecondary, RedsiftDataVizColorAquaDark, RedsiftDataVizColorAquaDarker, RedsiftDataVizColorAquaDarkerer, RedsiftDataVizColorAquaDefault, RedsiftDataVizColorAquaLight, RedsiftDataVizColorAquaLighter, RedsiftDataVizColorAquaLighterer, RedsiftDataVizColorBlueDark, RedsiftDataVizColorBlueDarker, RedsiftDataVizColorBlueDarkerer, RedsiftDataVizColorBlueDefault, RedsiftDataVizColorBlueLight, RedsiftDataVizColorBlueLighter, RedsiftDataVizColorBlueLighterer, RedsiftDataVizColorBrownDark, RedsiftDataVizColorBrownDarker, RedsiftDataVizColorBrownDarkerer, RedsiftDataVizColorBrownDefault, RedsiftDataVizColorBrownLight, RedsiftDataVizColorBrownLighter, RedsiftDataVizColorBrownLighterer, RedsiftDataVizColorGreenDark, RedsiftDataVizColorGreenDarker, RedsiftDataVizColorGreenDarkerer, RedsiftDataVizColorGreenDefault, RedsiftDataVizColorGreenLight, RedsiftDataVizColorGreenLighter, RedsiftDataVizColorGreenLighterer, RedsiftDataVizColorGreyDark, RedsiftDataVizColorGreyDarker, RedsiftDataVizColorGreyDarkerer, RedsiftDataVizColorGreyDefault, RedsiftDataVizColorGreyLight, RedsiftDataVizColorGreyLighter, RedsiftDataVizColorGreyLighterer, RedsiftDataVizColorOrangeDark, RedsiftDataVizColorOrangeDarker, RedsiftDataVizColorOrangeDarkerer, RedsiftDataVizColorOrangeDefault, RedsiftDataVizColorOrangeLight, RedsiftDataVizColorOrangeLighter, RedsiftDataVizColorOrangeLighterer, RedsiftDataVizColorPinkDark, RedsiftDataVizColorPinkDarker, RedsiftDataVizColorPinkDarkerer, RedsiftDataVizColorPinkDefault, RedsiftDataVizColorPinkLight, RedsiftDataVizColorPinkLighter, RedsiftDataVizColorPinkLighterer, RedsiftDataVizColorPurpleDark, RedsiftDataVizColorPurpleDarker, RedsiftDataVizColorPurpleDarkerer, RedsiftDataVizColorPurpleDefault, RedsiftDataVizColorPurpleLight, RedsiftDataVizColorPurpleLighter, RedsiftDataVizColorPurpleLighterer, RedsiftDataVizColorRedDark, RedsiftDataVizColorRedDarker, RedsiftDataVizColorRedDarkerer, RedsiftDataVizColorRedDefault, RedsiftDataVizColorRedLight, RedsiftDataVizColorRedLighter, RedsiftDataVizColorRedLighterer, RedsiftDataVizColorYellowDark, RedsiftDataVizColorYellowDarker, RedsiftDataVizColorYellowDarkerer, RedsiftDataVizColorYellowDefault, RedsiftDataVizColorYellowLight, RedsiftDataVizColorYellowLighter, RedsiftDataVizColorYellowLighterer, RedsiftLayoutZIndexDialog, RedsiftLayoutZIndexDropdown, RedsiftLayoutZIndexFooter, RedsiftLayoutZIndexHeader, RedsiftLayoutZIndexOverlay, RedsiftLayoutZIndexPopover, RedsiftLayoutZIndexSidePanel, RedsiftLayoutZIndexTooltip, RedsiftSideNavigationColorBackground, RedsiftSideNavigationColorMenuItemActive, RedsiftSideNavigationColorMenuItemBackgroundActive, RedsiftSideNavigationColorMenuItemBackgroundHover, RedsiftSideNavigationColorMenuItemBackgroundSecondary, RedsiftSideNavigationColorMenuItemTextDisabled, RedsiftSideNavigationColorMenuItemTextHover, RedsiftSideNavigationColorMenuItemTextResting, RedsiftSideNavigationColorScrollbarHover, RedsiftSideNavigationColorScrollbarResting, RedsiftTypographyBadgeFontFamily, RedsiftTypographyBadgeFontSize, RedsiftTypographyBadgeFontWeight, RedsiftTypographyBadgeLineHeight, RedsiftTypographyBody2FontFamily, RedsiftTypographyBody2FontSize, RedsiftTypographyBody2FontWeight, RedsiftTypographyBody2LineHeight, RedsiftTypographyBodyFontFamily, RedsiftTypographyBodyFontSize, RedsiftTypographyBodyFontWeight, RedsiftTypographyBodyLineHeight, RedsiftTypographyBodyTextTransform, RedsiftTypographyButtonFontFamily, RedsiftTypographyButtonFontSize, RedsiftTypographyButtonFontWeight, RedsiftTypographyButtonLineHeight, RedsiftTypographyButtonTextTransform, RedsiftTypographyCaptionFontFamily, RedsiftTypographyCaptionFontSize, RedsiftTypographyCaptionFontWeight, RedsiftTypographyCaptionLineHeight, RedsiftTypographyCaptionTextTransform, RedsiftTypographyChipFontFamily, RedsiftTypographyChipFontSize, RedsiftTypographyChipFontWeight, RedsiftTypographyChipLineHeight, RedsiftTypographyDatagridCellFontFamily, RedsiftTypographyDatagridCellFontSize, RedsiftTypographyDatagridCellFontWeight, RedsiftTypographyDatagridCellLineHeight, RedsiftTypographyDatagridHeaderFontFamily, RedsiftTypographyDatagridHeaderFontSize, RedsiftTypographyDatagridHeaderFontWeight, RedsiftTypographyDatagridHeaderLineHeight, RedsiftTypographyFontFamilyElectrolize, RedsiftTypographyFontFamilyRaleway, RedsiftTypographyFontFamilySourceCodePro, RedsiftTypographyFontWeightBold, RedsiftTypographyFontWeightMedium, RedsiftTypographyFontWeightRegular, RedsiftTypographyFontWeightSemiBold, RedsiftTypographyH1FontFamily, RedsiftTypographyH1FontSize, RedsiftTypographyH1FontWeight, RedsiftTypographyH1LineHeight, RedsiftTypographyH1TextTransform, RedsiftTypographyH2FontFamily, RedsiftTypographyH2FontSize, RedsiftTypographyH2FontWeight, RedsiftTypographyH2LineHeight, RedsiftTypographyH2TextTransform, RedsiftTypographyH3FontFamily, RedsiftTypographyH3FontSize, RedsiftTypographyH3FontWeight, RedsiftTypographyH3LineHeight, RedsiftTypographyH3TextTransform, RedsiftTypographyH4FontFamily, RedsiftTypographyH4FontSize, RedsiftTypographyH4FontWeight, RedsiftTypographyH4LineHeight, RedsiftTypographyH4TextTransform, RedsiftTypographyH5FontFamily, RedsiftTypographyH5FontSize, RedsiftTypographyH5FontWeight, RedsiftTypographyH5LineHeight, RedsiftTypographyH5TextTransform, RedsiftTypographyHelperFontFamily, RedsiftTypographyHelperFontSize, RedsiftTypographyHelperFontWeight, RedsiftTypographyHelperLineHeight, RedsiftTypographyInputTextFontFamily, RedsiftTypographyInputTextFontSize, RedsiftTypographyInputTextFontWeight, RedsiftTypographyInputTextLineHeight, RedsiftTypographyLinkFontFamily, RedsiftTypographyLinkFontSize, RedsiftTypographyLinkFontWeight, RedsiftTypographyLinkLineHeight, RedsiftTypographyPillFontFamily, RedsiftTypographyPillFontSize, RedsiftTypographyPillFontWeight, RedsiftTypographyPillLineHeight, RedsiftTypographySubtitleFontFamily, RedsiftTypographySubtitleFontSize, RedsiftTypographySubtitleFontWeight, RedsiftTypographySubtitleLineHeight, RedsiftTypographySubtitleTextTransform, RedsiftTypographyTooltipFontFamily, RedsiftTypographyTooltipFontSize, RedsiftTypographyTooltipFontWeight, RedsiftTypographyTooltipLineHeight, RovingTabindexListbox, Shield, ShieldVariant, SideNavigationMenu, SideNavigationMenuBar, SideNavigationMenuItem, SideNavigationMenuReducerActionType, Skeleton, SkeletonCircle, SkeletonText, SkeletonTextVariant, Spinner, SpinnerSize, StyledButton, StyledLink, Switch, SwitchGroup, SwitchGroupOrientation, Text, TextComponent, TextField, TextFieldVariant, TextVariant, baseContainer, baseFlexbox, baseGrid, baseInternalSpacing, baseLayout, basePositioning, baseSizing, baseSpacing, baseStyling, filterComponents, focusRing, isComponent, partitionComponents, uniqueId, useAppSidePanel, useBoundingClientRect, useFocusOnList, useFocusOnListItem, useSideNavigationMenuBar, useWindowSize, warnIfNoAccessibleLabelFound };
10777
12079
  //# sourceMappingURL=index.js.map