@deque/cauldron-react 4.5.0-canary.b2ef84aa → 4.5.0-canary.ca48f72e

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/lib/index.js CHANGED
@@ -174,6 +174,7 @@ var iconTypes = [
174
174
  'question-circle',
175
175
  'radio-checked',
176
176
  'radio-unchecked',
177
+ 'recycle-square',
177
178
  'recycle',
178
179
  'resend',
179
180
  'robot',
@@ -241,6 +242,7 @@ function __variableDynamicImportRuntime0__(path) {
241
242
  case './icons/question-circle.svg': return Promise.resolve().then(function () { return require('./question-circle.js'); });
242
243
  case './icons/radio-checked.svg': return Promise.resolve().then(function () { return require('./radio-checked.js'); });
243
244
  case './icons/radio-unchecked.svg': return Promise.resolve().then(function () { return require('./radio-unchecked.js'); });
245
+ case './icons/recycle-square.svg': return Promise.resolve().then(function () { return require('./recycle-square.js'); });
244
246
  case './icons/recycle.svg': return Promise.resolve().then(function () { return require('./recycle.js'); });
245
247
  case './icons/resend.svg': return Promise.resolve().then(function () { return require('./resend.js'); });
246
248
  case './icons/robot.svg': return Promise.resolve().then(function () { return require('./robot.js'); });
@@ -279,19 +281,19 @@ var Icon = React.forwardRef(function (_a, ref) {
279
281
  if (process.env.NODE_ENV === 'test') {
280
282
  return;
281
283
  }
282
- __variableDynamicImportRuntime0__("./icons/" + name + ".svg")
284
+ __variableDynamicImportRuntime0__("./icons/".concat(name, ".svg"))
283
285
  .then(function (icon) {
284
286
  isMounted.current && setIcon(function () { return icon["default"]; });
285
287
  })["catch"](function () {
286
- console.error("Could not find icon type \"" + type + "\".");
288
+ console.error("Could not find icon type \"".concat(type, "\"."));
287
289
  isMounted.current && setIcon(null);
288
290
  });
289
291
  return function () {
290
292
  isMounted.current = false;
291
293
  };
292
294
  }, [type]);
293
- var data = tslib.__assign(tslib.__assign({}, other), { 'aria-hidden': !label, className: classNames('Icon', "Icon--" + type, className, (_b = {},
294
- _b["Icon__" + direction] = !!direction,
295
+ var data = tslib.__assign(tslib.__assign({}, other), { 'aria-hidden': !label, className: classNames('Icon', "Icon--".concat(type), className, (_b = {},
296
+ _b["Icon__".concat(direction)] = !!direction,
295
297
  _b)) });
296
298
  return (React__default.createElement("div", tslib.__assign({ ref: ref }, data),
297
299
  label && React__default.createElement(Offscreen, null, label),
@@ -364,7 +366,7 @@ var Scrim = /** @class */ (function (_super) {
364
366
  if (destroy) {
365
367
  return null;
366
368
  }
367
- return (React__default.createElement("div", { ref: function (el) { return (_this.el = el); }, className: "Scrim " + animationClass }));
369
+ return (React__default.createElement("div", { ref: function (el) { return (_this.el = el); }, className: "Scrim ".concat(animationClass) }));
368
370
  };
369
371
  Scrim.propTypes = {
370
372
  show: PropTypes.bool.isRequired
@@ -498,9 +500,9 @@ var TopBar = /** @class */ (function (_super) {
498
500
  args[_i] = arguments[_i];
499
501
  }
500
502
  // @ts-ignore we're just spreading the original args
501
- _this.onKeyDown.apply(_this, tslib.__spread(args));
503
+ _this.onKeyDown.apply(_this, tslib.__spreadArray([], tslib.__read(args), false));
502
504
  if (child.props.onKeyDown) {
503
- (_a = child.props).onKeyDown.apply(_a, tslib.__spread(args));
505
+ (_a = child.props).onKeyDown.apply(_a, tslib.__spreadArray([], tslib.__read(args), false));
504
506
  }
505
507
  },
506
508
  tabIndex: 0,
@@ -536,7 +538,7 @@ var TopBar = /** @class */ (function (_super) {
536
538
  };
537
539
  TopBar.prototype.onKeyDown = function (e) {
538
540
  var key = keyname(e.which);
539
- var menuItems = tslib.__spread(this.menuItems);
541
+ var menuItems = tslib.__spreadArray([], tslib.__read(this.menuItems), false);
540
542
  // account for hidden side bar trigger (hamburger)
541
543
  if (this.state.wide && this.props.hasTrigger) {
542
544
  menuItems.shift();
@@ -592,6 +594,7 @@ var TopBarTrigger = function (_a) {
592
594
  };
593
595
  TopBarTrigger.displayName = 'TopBarTrigger';
594
596
  TopBarTrigger.propTypes = {
597
+ // @ts-expect-error
595
598
  children: PropTypes.node.isRequired,
596
599
  className: PropTypes.string
597
600
  };
@@ -787,7 +790,7 @@ var OptionsMenuList = /** @class */ (function (_super) {
787
790
  /* eslint-enable @typescript-eslint/no-unused-vars */
788
791
  var items = React__default.Children.toArray(children).map(function (child, i) {
789
792
  var _a = child.props, className = _a.className, other = tslib.__rest(_a, ["className"]);
790
- return React__default.cloneElement(child, tslib.__assign({ key: "list-item-" + i, className: classNames('OptionsMenu__list-item', className), tabIndex: -1, role: 'menuitem', ref: function (el) { return (_this.itemRefs[i] = el); } }, other));
793
+ return React__default.cloneElement(child, tslib.__assign({ key: "list-item-".concat(i), className: classNames('OptionsMenu__list-item', className), tabIndex: -1, role: 'menuitem', ref: function (el) { return (_this.itemRefs[i] = el); } }, other));
791
794
  });
792
795
  // Key event is being handled in componentDidMount
793
796
  /* eslint-disable jsx-a11y/click-events-have-key-events */
@@ -1167,7 +1170,8 @@ var SideBar = /** @class */ (function (_super) {
1167
1170
  setTimeout(function () {
1168
1171
  var _a, _b;
1169
1172
  _this.setState({ animateClass: second });
1170
- var firstFocusable = show && ((_b = (_a = _this.navList) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.querySelector(focusableSelector));
1173
+ var firstFocusable = show &&
1174
+ ((_b = (_a = _this.navList) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.querySelector(focusableSelector));
1171
1175
  if (firstFocusable) {
1172
1176
  firstFocusable.focus();
1173
1177
  }
@@ -1216,6 +1220,7 @@ SideBarItem.defaultProps = {
1216
1220
  autoClickLink: true
1217
1221
  };
1218
1222
  SideBarItem.propTypes = {
1223
+ // @ts-expect-error
1219
1224
  children: PropTypes.node.isRequired,
1220
1225
  autoClickLink: PropTypes.bool
1221
1226
  };
@@ -1305,7 +1310,7 @@ var Dialog = /** @class */ (function (_super) {
1305
1310
  var close = !forceAction ? (React__default.createElement("button", { className: "Dialog__close", type: "button", onClick: this.close },
1306
1311
  React__default.createElement(Icon, { type: "close", "aria-hidden": "true" }),
1307
1312
  React__default.createElement(Offscreen, null, closeButtonText))) : null;
1308
- var Heading = "h" + (typeof heading === 'object' && 'level' in heading && !!heading.level
1313
+ var Heading = "h".concat(typeof heading === 'object' && 'level' in heading && !!heading.level
1309
1314
  ? heading.level
1310
1315
  : 2);
1311
1316
  var Dialog = (React__default.createElement(FocusTrap, { focusTrapOptions: {
@@ -1464,7 +1469,7 @@ var SkipLink = /** @class */ (function (_super) {
1464
1469
  target: function (props, propName, componentName) {
1465
1470
  var value = props[propName];
1466
1471
  if (!value || typeof value !== 'string' || value[0] !== '#') {
1467
- return new Error("Invalid prop " + propName + " supplied to " + componentName + " (must be string starting with \"#\")");
1472
+ return new Error("Invalid prop ".concat(propName, " supplied to ").concat(componentName, " (must be string starting with \"#\")"));
1468
1473
  }
1469
1474
  },
1470
1475
  skipText: PropTypes.string,
@@ -1609,8 +1614,8 @@ function Tooltip(_a) {
1609
1614
  targetElement === null || targetElement === void 0 ? void 0 : targetElement.setAttribute(association, [id, attrText].filter(Boolean).join(' '));
1610
1615
  }
1611
1616
  }, [targetElement, id]);
1612
- return (showTooltip || hideElementOnHidden) && isBrowser()
1613
- ? reactDom.createPortal(React__default.createElement("div", tslib.__assign({ id: id, className: classNames('Tooltip', "Tooltip--" + placement, className, {
1617
+ return (React__default.createElement(React__default.Fragment, null, (showTooltip || hideElementOnHidden) && isBrowser()
1618
+ ? reactDom.createPortal(React__default.createElement("div", tslib.__assign({ id: id, className: classNames('Tooltip', "Tooltip--".concat(placement), className, {
1614
1619
  TooltipInfo: variant === 'info',
1615
1620
  'Tooltip--hidden': !showTooltip && hideElementOnHidden,
1616
1621
  'Tooltip--big': variant === 'big'
@@ -1618,7 +1623,7 @@ function Tooltip(_a) {
1618
1623
  variant !== 'big' && (React__default.createElement("div", { className: "TooltipArrow", ref: setArrowElement, style: styles.arrow })),
1619
1624
  children), (portal && 'current' in portal ? portal.current : portal) ||
1620
1625
  document.body)
1621
- : null;
1626
+ : null));
1622
1627
  }
1623
1628
  Tooltip.displayName = 'Tooltip';
1624
1629
  Tooltip.propTypes = {
@@ -1681,6 +1686,7 @@ IconButton.propTypes = {
1681
1686
  as: PropTypes.elementType,
1682
1687
  // @ts-expect-error
1683
1688
  icon: PropTypes.string.isRequired,
1689
+ // @ts-expect-error
1684
1690
  label: PropTypes.node.isRequired,
1685
1691
  // @ts-expect-error
1686
1692
  tooltipPlacement: PropTypes.string,
@@ -1695,7 +1701,7 @@ IconButton.displayName = 'IconButton';
1695
1701
  var i = 0;
1696
1702
  var randomId = function () {
1697
1703
  var num = Math.floor(Math.random() * 10000) + 1;
1698
- return "x_" + i++ + "_" + num;
1704
+ return "x_".concat(i++, "_").concat(num);
1699
1705
  };
1700
1706
 
1701
1707
  /*
@@ -1790,16 +1796,15 @@ var Pointout = /** @class */ (function (_super) {
1790
1796
  visibleFocusable[elementIndex].classList.remove('Pointout--focus-active');
1791
1797
  };
1792
1798
  _this.positionRelativeToTarget = function () {
1793
- var _a, _b;
1794
- var _c = _this.props, target = _c.target, portal = _c.portal, arrowPosition = _c.arrowPosition, position = _c.position;
1799
+ var _a = _this.props, target = _a.target, portal = _a.portal, arrowPosition = _a.arrowPosition, position = _a.position;
1795
1800
  if (!target) {
1796
1801
  return;
1797
1802
  }
1798
- var targetNode = ((_a = target) === null || _a === void 0 ? void 0 : _a.current) ||
1803
+ var targetNode = (target === null || target === void 0 ? void 0 : target.current) ||
1799
1804
  target;
1800
- var portalNode = ((_b = portal) === null || _b === void 0 ? void 0 : _b.current) ||
1805
+ var portalNode = (portal === null || portal === void 0 ? void 0 : portal.current) ||
1801
1806
  portal;
1802
- var _d = targetNode.getBoundingClientRect(), top = _d.top, left = _d.left, width = _d.width, height = _d.height;
1807
+ var _b = targetNode.getBoundingClientRect(), top = _b.top, left = _b.left, width = _b.width, height = _b.height;
1803
1808
  if (portalNode && portalNode !== document.body) {
1804
1809
  // If the portal is not placed on document.body
1805
1810
  // position the FTPO relative to the portal
@@ -1807,48 +1812,48 @@ var Pointout = /** @class */ (function (_super) {
1807
1812
  top -= rect.top - portalNode.scrollTop;
1808
1813
  left -= rect.left - portalNode.scrollLeft;
1809
1814
  }
1810
- var _e = tslib.__read(arrowPosition.split('-'), 1), arrowBoxSide = _e[0];
1815
+ var _c = tslib.__read(arrowPosition.split('-'), 1), arrowBoxSide = _c[0];
1811
1816
  var style;
1812
1817
  switch (arrowBoxSide) {
1813
1818
  case 'right':
1814
1819
  style = {
1815
- left: left + "px",
1816
- top: (position === 'center'
1820
+ left: "".concat(left, "px"),
1821
+ top: "".concat(position === 'center'
1817
1822
  ? top + height / 2
1818
1823
  : position === 'start'
1819
1824
  ? top
1820
- : top + height) + "px"
1825
+ : top + height, "px")
1821
1826
  };
1822
1827
  break;
1823
1828
  case 'bottom':
1824
1829
  style = {
1825
- top: top + "px",
1826
- left: (position === 'center'
1830
+ top: "".concat(top, "px"),
1831
+ left: "".concat(position === 'center'
1827
1832
  ? left + width / 2
1828
1833
  : position === 'start'
1829
1834
  ? left
1830
- : left + width) + "px"
1835
+ : left + width, "px")
1831
1836
  };
1832
1837
  break;
1833
1838
  case 'left':
1834
1839
  style = {
1835
- left: left + width + "px",
1836
- top: (position === 'center'
1840
+ left: "".concat(left + width, "px"),
1841
+ top: "".concat(position === 'center'
1837
1842
  ? top + height / 2
1838
1843
  : position === 'start'
1839
1844
  ? top
1840
- : top + height) + "px"
1845
+ : top + height, "px")
1841
1846
  };
1842
1847
  break;
1843
1848
  case 'top':
1844
1849
  default:
1845
1850
  style = {
1846
- top: top + height + "px",
1847
- left: (position === 'center'
1851
+ top: "".concat(top + height, "px"),
1852
+ left: "".concat(position === 'center'
1848
1853
  ? left + width / 2
1849
1854
  : position === 'start'
1850
1855
  ? left
1851
- : left + width) + "px"
1856
+ : left + width, "px")
1852
1857
  };
1853
1858
  break;
1854
1859
  }
@@ -1860,7 +1865,7 @@ var Pointout = /** @class */ (function (_super) {
1860
1865
  }
1861
1866
  Pointout.prototype.getFocusableElements = function (root) {
1862
1867
  return root
1863
- ? Array.from(root.querySelectorAll(focusable + ", [data-focusable]"))
1868
+ ? Array.from(root.querySelectorAll("".concat(focusable, ", [data-focusable]")))
1864
1869
  : [];
1865
1870
  };
1866
1871
  Pointout.prototype.componentDidMount = function () {
@@ -1930,11 +1935,11 @@ var Pointout = /** @class */ (function (_super) {
1930
1935
  'Pointout--no-arrow': noArrow,
1931
1936
  'Pointout--auto': !!target
1932
1937
  },
1933
- _a["Pointout__arrow--" + arrowPosition] = !!arrowPosition && !noArrow,
1934
- _a["Pointout--" + position] = !!target,
1938
+ _a["Pointout__arrow--".concat(arrowPosition)] = !!arrowPosition && !noArrow,
1939
+ _a["Pointout--".concat(position)] = !!target,
1935
1940
  _a)), style: style, role: target ? undefined : 'region', "aria-labelledby": heading ? headingId : undefined, "aria-hidden": !!target && !disableOffscreenPointout, ref: function (el) { return (_this.visibleRef = el); } },
1936
1941
  noArrow ? null : (React__default.createElement("div", { className: classNames('Pointout__arrow', (_b = {},
1937
- _b["Pointout__arrow--" + arrowPosition] = !!arrowPosition && !noArrow,
1942
+ _b["Pointout__arrow--".concat(arrowPosition)] = !!arrowPosition && !noArrow,
1938
1943
  _b)) },
1939
1944
  React__default.createElement("div", { className: "Pointout__arrow-pointer" }))),
1940
1945
  React__default.createElement("div", { className: "Pointout__box" },
@@ -2115,7 +2120,7 @@ var Toast = /** @class */ (function (_super) {
2115
2120
  var scrim = type === 'action-needed' && show ? (React__default.createElement("div", { className: "Scrim--light Scrim--show Scrim--fade-in" })) : null;
2116
2121
  var defaultProps = {
2117
2122
  tabIndex: -1,
2118
- className: "Toast Toast--" + typeMap[type].className + " " + animationClass
2123
+ className: "Toast Toast--".concat(typeMap[type].className, " ").concat(animationClass)
2119
2124
  };
2120
2125
  if (!focus) {
2121
2126
  defaultProps.role = 'alert';
@@ -2301,9 +2306,10 @@ var Select = React__default.forwardRef(function (_a, ref) {
2301
2306
  'Field__select--disabled': disabled,
2302
2307
  'Field--has-error': !!error
2303
2308
  }) },
2304
- React__default.createElement("select", tslib.__assign({ ref: ref, id: selectId, disabled: disabled, required: required, onChange: handleChange }, dynamicProps, rest), (options === null || options === void 0 ? void 0 : options.length) ? options.map(function (option) {
2305
- return (React__default.createElement("option", { className: "Field__option", key: option.key, value: option.value, disabled: option.disabled }, option.label || option.value));
2306
- })
2309
+ React__default.createElement("select", tslib.__assign({ ref: ref, id: selectId, disabled: disabled, required: required, onChange: handleChange }, dynamicProps, rest), (options === null || options === void 0 ? void 0 : options.length)
2310
+ ? options.map(function (option) {
2311
+ return (React__default.createElement("option", { className: "Field__option", key: option.key, value: option.value, disabled: option.disabled }, option.label || option.value));
2312
+ })
2307
2313
  : children),
2308
2314
  React__default.createElement("div", { className: "arrow-down" })),
2309
2315
  error && (React__default.createElement("div", { id: errorId, className: "Error" }, error))));
@@ -2352,7 +2358,7 @@ var RadioGroup = function (_a) {
2352
2358
  var _a;
2353
2359
  handleChange(radioValue);
2354
2360
  onChange(radio, (_a = inputs.current) === null || _a === void 0 ? void 0 : _a[index]);
2355
- }, disabled: disabled, checked: isChecked, "aria-describedby": labelDescription ? id + "Desc" : undefined }, other)),
2361
+ }, disabled: disabled, checked: isChecked, "aria-describedby": labelDescription ? "".concat(id, "Desc") : undefined }, other)),
2356
2362
  React__default.createElement("label", { htmlFor: id, className: classNames('Field__label', {
2357
2363
  'Field__label--disabled': disabled
2358
2364
  }) }, label),
@@ -2360,7 +2366,7 @@ var RadioGroup = function (_a) {
2360
2366
  'Radio__overlay--focused': isFocused,
2361
2367
  'Radio__overlay--disabled': disabled
2362
2368
  }), type: isChecked ? 'radio-checked' : 'radio-unchecked', "aria-hidden": "true", onClick: function () { return onRadioClick(index); } }),
2363
- labelDescription && (React__default.createElement("span", { id: id + "Desc", className: classNames('Field__labelDescription', {
2369
+ labelDescription && (React__default.createElement("span", { id: "".concat(id, "Desc"), className: classNames('Field__labelDescription', {
2364
2370
  'Field__labelDescription--disabled': disabled
2365
2371
  }) }, labelDescription))));
2366
2372
  });
@@ -2380,7 +2386,7 @@ RadioGroup.propTypes = {
2380
2386
  })).isRequired,
2381
2387
  hasLabel: function (props, propName, componentName) {
2382
2388
  if (!props['aria-label'] && !props['aria-labelledby']) {
2383
- return new Error(componentName + " must have an \"aria-label\" or \"aria-labelledby\" prop");
2389
+ return new Error("".concat(componentName, " must have an \"aria-label\" or \"aria-labelledby\" prop"));
2384
2390
  }
2385
2391
  },
2386
2392
  className: PropTypes.string,
@@ -2389,6 +2395,125 @@ RadioGroup.propTypes = {
2389
2395
  };
2390
2396
  RadioGroup.displayName = 'RadioGroup';
2391
2397
 
2398
+ var Card = function (_a) {
2399
+ var className = _a.className, variant = _a.variant, other = tslib.__rest(_a, ["className", "variant"]);
2400
+ return (React__default.createElement("div", tslib.__assign({ className: classNames(className, {
2401
+ 'Card--simple': variant === 'simple',
2402
+ Card: !variant
2403
+ }) }, other)));
2404
+ };
2405
+ Card.displayName = 'Card';
2406
+ Card.propTypes = {
2407
+ className: PropTypes.string,
2408
+ variant: PropTypes.string
2409
+ };
2410
+
2411
+ var CardHeader = function (_a) {
2412
+ var className = _a.className, other = tslib.__rest(_a, ["className"]);
2413
+ return (React__default.createElement("div", tslib.__assign({ className: classNames('Card__header', className) }, other)));
2414
+ };
2415
+ CardHeader.displayName = 'CardHeader';
2416
+ CardHeader.propTypes = {
2417
+ className: PropTypes.string
2418
+ };
2419
+
2420
+ var CardContent = function (_a) {
2421
+ var className = _a.className, other = tslib.__rest(_a, ["className"]);
2422
+ return (React__default.createElement("div", tslib.__assign({ className: classNames('Card__content', className) }, other)));
2423
+ };
2424
+ CardContent.displayName = 'CardContent';
2425
+ CardContent.propTypes = {
2426
+ className: PropTypes.string
2427
+ };
2428
+
2429
+ var CardFooter = function (_a) {
2430
+ var className = _a.className, other = tslib.__rest(_a, ["className"]);
2431
+ return (React__default.createElement("div", tslib.__assign({ className: classNames('Card__footer', className) }, other)));
2432
+ };
2433
+ CardFooter.displayName = 'CardFooter';
2434
+ CardFooter.propTypes = {
2435
+ className: PropTypes.string
2436
+ };
2437
+
2438
+ var RadioCardGroup = function (_a) {
2439
+ var name = _a.name, radios = _a.radios, defaultValue = _a.defaultValue, value = _a.value,
2440
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
2441
+ _b = _a.onChange,
2442
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
2443
+ onChange = _b === void 0 ? function () { } : _b, className = _a.className, other = tslib.__rest(_a, ["name", "radios", "defaultValue", "value", "onChange", "className"]);
2444
+ var _c = tslib.__read(React.useState(value !== null && value !== void 0 ? value : defaultValue), 2), currentValue = _c[0], setCurrentValue = _c[1];
2445
+ var _d = tslib.__read(React.useState(null), 2), focusIndex = _d[0], setFocusIndex = _d[1];
2446
+ var inputs = React.useRef([]);
2447
+ var handleChange = function (value) { return setCurrentValue(value); };
2448
+ var onRadioFocus = function (index) { return setFocusIndex(index); };
2449
+ var onRadioBlur = function () { return setFocusIndex(null); };
2450
+ var onRadioClick = function (index) {
2451
+ var _a;
2452
+ var radio = (_a = inputs.current) === null || _a === void 0 ? void 0 : _a[index];
2453
+ if (!radio) {
2454
+ return;
2455
+ }
2456
+ radio.click();
2457
+ radio.focus();
2458
+ };
2459
+ React.useEffect(function () {
2460
+ if (typeof value === 'undefined') {
2461
+ return;
2462
+ }
2463
+ setCurrentValue(value);
2464
+ }, [value]);
2465
+ var radioButtons = radios.map(function (radio, index) {
2466
+ var label = radio.label, disabled = radio.disabled, radioValue = radio.value, cardImg = radio.cardImg, cardIcon = radio.cardIcon, id = radio.id, className = radio.className, other = tslib.__rest(radio, ["label", "disabled", "value", "cardImg", "cardIcon", "id", "className"]);
2467
+ var isChecked = currentValue === radioValue;
2468
+ var isFocused = focusIndex === index;
2469
+ return (React__default.createElement("div", { className: classNames('RadioCard'), key: index },
2470
+ React__default.createElement(Card, { variant: "simple", className: classNames('RadioCardGroup__Card RadioCard__overlay', {
2471
+ 'RadioCard__overlay--focused': isFocused,
2472
+ 'RadioCard__overlay--checked': isChecked,
2473
+ 'RadioCard__overlay--disabled': disabled
2474
+ }), onClick: function () { return onRadioClick(index); } },
2475
+ React__default.createElement("input", tslib.__assign({ type: "radio", name: name, value: radioValue, id: id, ref: function (input) {
2476
+ if (!input) {
2477
+ return;
2478
+ }
2479
+ inputs.current.push(input);
2480
+ }, onFocus: function () { return onRadioFocus(index); }, onBlur: function () { return onRadioBlur(); }, onChange: function () {
2481
+ var _a;
2482
+ handleChange(radioValue);
2483
+ onChange(radio, (_a = inputs.current) === null || _a === void 0 ? void 0 : _a[index]);
2484
+ }, disabled: disabled, checked: isChecked }, other)),
2485
+ React__default.createElement(CardContent, null,
2486
+ React__default.createElement("div", { className: classNames('RadioCardGroup__Checked') }, isChecked && (React__default.createElement(Icon, { className: classNames('RadioCardGroup__Icon'), type: cardIcon }))),
2487
+ React__default.createElement("div", { className: classNames('RadioCardGroup__Base') },
2488
+ React__default.createElement("div", { className: classNames('RadioCardGroup__Image') }, cardImg),
2489
+ React__default.createElement("label", { htmlFor: id, className: classNames('RadioCardGroup__Label') }, label))))));
2490
+ });
2491
+ // reset the input refs array
2492
+ // refs get clobbered every re-render anyway and this supports "dynamic" radios
2493
+ // (changing the number of radio buttons for example)
2494
+ inputs.current = [];
2495
+ return (React__default.createElement("div", tslib.__assign({ className: classNames('RadioCardGroup'), role: "radiogroup" }, other), radioButtons));
2496
+ };
2497
+ RadioCardGroup.propTypes = {
2498
+ name: PropTypes.string,
2499
+ radios: PropTypes.arrayOf(PropTypes.shape({
2500
+ value: PropTypes.string.isRequired,
2501
+ id: PropTypes.string.isRequired,
2502
+ label: PropTypes.string.isRequired,
2503
+ cardImg: PropTypes.element.isRequired,
2504
+ cardIcon: PropTypes.string.isRequired
2505
+ })).isRequired,
2506
+ hasLabel: function (props, propName, componentName) {
2507
+ if (!props['aria-label'] && !props['aria-labelledby']) {
2508
+ return new Error("".concat(componentName, " must have an \"aria-label\" or \"aria-labelledby\" prop"));
2509
+ }
2510
+ },
2511
+ className: PropTypes.string,
2512
+ defaultValue: PropTypes.string,
2513
+ onChange: PropTypes.func
2514
+ };
2515
+ RadioCardGroup.displayName = 'RadioCardGroup';
2516
+
2392
2517
  var Checkbox = React.forwardRef(function (_a, ref) {
2393
2518
  var id = _a.id, label = _a.label, labelDescription = _a.labelDescription, error = _a.error, checkboxRef = _a.checkboxRef, className = _a.className, onChange = _a.onChange, ariaDescribedby = _a["aria-describedby"], _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.checked, checked = _c === void 0 ? false : _c, other = tslib.__rest(_a, ["id", "label", "labelDescription", "error", "checkboxRef", "className", "onChange", 'aria-describedby', "disabled", "checked"]);
2394
2519
  var _d = tslib.__read(React.useState(checked), 2), isChecked = _d[0], setIsChecked = _d[1];
@@ -2458,46 +2583,6 @@ function TooltipTabstop(_a) {
2458
2583
  }
2459
2584
  TooltipTabstop.displayName = 'TooltipTabstop';
2460
2585
 
2461
- var Card = function (_a) {
2462
- var className = _a.className, variant = _a.variant, other = tslib.__rest(_a, ["className", "variant"]);
2463
- return (React__default.createElement("div", tslib.__assign({ className: classNames(className, {
2464
- 'Card--simple': variant === 'simple',
2465
- Card: !variant
2466
- }) }, other)));
2467
- };
2468
- Card.displayName = 'Card';
2469
- Card.propTypes = {
2470
- className: PropTypes.string,
2471
- variant: PropTypes.string
2472
- };
2473
-
2474
- var CardHeader = function (_a) {
2475
- var className = _a.className, other = tslib.__rest(_a, ["className"]);
2476
- return (React__default.createElement("div", tslib.__assign({ className: classNames('Card__header', className) }, other)));
2477
- };
2478
- CardHeader.displayName = 'CardHeader';
2479
- CardHeader.propTypes = {
2480
- className: PropTypes.string
2481
- };
2482
-
2483
- var CardContent = function (_a) {
2484
- var className = _a.className, other = tslib.__rest(_a, ["className"]);
2485
- return (React__default.createElement("div", tslib.__assign({ className: classNames('Card__content', className) }, other)));
2486
- };
2487
- CardContent.displayName = 'CardContent';
2488
- CardContent.propTypes = {
2489
- className: PropTypes.string
2490
- };
2491
-
2492
- var CardFooter = function (_a) {
2493
- var className = _a.className, other = tslib.__rest(_a, ["className"]);
2494
- return (React__default.createElement("div", tslib.__assign({ className: classNames('Card__footer', className) }, other)));
2495
- };
2496
- CardFooter.displayName = 'CardFooter';
2497
- CardFooter.propTypes = {
2498
- className: PropTypes.string
2499
- };
2500
-
2501
2586
  var TextField = /** @class */ (function (_super) {
2502
2587
  tslib.__extends(TextField, _super);
2503
2588
  function TextField(props) {
@@ -2650,7 +2735,7 @@ var ExpandCollapsePanel = /** @class */ (function (_super) {
2650
2735
  if (!_this.styleTag) {
2651
2736
  _this.styleTag = injectStyleTag();
2652
2737
  }
2653
- setStyle(_this.styleTag, "\n @keyframes expandOpenAnimation {\n 0% { opacity: 0; height: 0; }\n 100% { opacity: 1; height: " + rect.height + "px; }\n }\n\n .cauldron-expand-open {\n will-change: opacity, height;\n overflow: hidden;\n animation: expandOpenAnimation ease-in-out " + animationTiming + "ms forwards;\n }\n ");
2738
+ setStyle(_this.styleTag, "\n @keyframes expandOpenAnimation {\n 0% { opacity: 0; height: 0; }\n 100% { opacity: 1; height: ".concat(rect.height, "px; }\n }\n\n .cauldron-expand-open {\n will-change: opacity, height;\n overflow: hidden;\n animation: expandOpenAnimation ease-in-out ").concat(animationTiming, "ms forwards;\n }\n "));
2654
2739
  _this.setState({ animationClass: 'cauldron-expand-open' }, function () {
2655
2740
  setTimeout(function () {
2656
2741
  _this.setState({ animationClass: '', isAnimating: false });
@@ -2671,7 +2756,7 @@ var ExpandCollapsePanel = /** @class */ (function (_super) {
2671
2756
  var rect = panel === null || panel === void 0 ? void 0 : panel.getBoundingClientRect();
2672
2757
  if (!rect)
2673
2758
  return;
2674
- setStyle(_this.styleTag, "\n @keyframes collapseCloseAnimation {\n 0% { opacity: 1; height: " + rect.height + "px; }\n 100% { opacity: 0; height: 0; }\n }\n\n .cauldron-collapse-close {\n will-change: opacity, height;\n overflow: hidden;\n animation: collapseCloseAnimation ease-in-out " + animationTiming + "ms forwards;\n }\n ");
2759
+ setStyle(_this.styleTag, "\n @keyframes collapseCloseAnimation {\n 0% { opacity: 1; height: ".concat(rect.height, "px; }\n 100% { opacity: 0; height: 0; }\n }\n\n .cauldron-collapse-close {\n will-change: opacity, height;\n overflow: hidden;\n animation: collapseCloseAnimation ease-in-out ").concat(animationTiming, "ms forwards;\n }\n "));
2675
2760
  _this.setState({ animationClass: 'cauldron-collapse-close' }, function () {
2676
2761
  setTimeout(function () {
2677
2762
  _this.setState({ animationClass: '', isAnimating: false });
@@ -2839,27 +2924,6 @@ function _defineProperty(obj, key, value) {
2839
2924
 
2840
2925
  var defineProperty = _defineProperty;
2841
2926
 
2842
- function _objectSpread(target) {
2843
- for (var i = 1; i < arguments.length; i++) {
2844
- var source = arguments[i] != null ? Object(arguments[i]) : {};
2845
- var ownKeys = Object.keys(source);
2846
-
2847
- if (typeof Object.getOwnPropertySymbols === 'function') {
2848
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
2849
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
2850
- }));
2851
- }
2852
-
2853
- ownKeys.forEach(function (key) {
2854
- defineProperty(target, key, source[key]);
2855
- });
2856
- }
2857
-
2858
- return target;
2859
- }
2860
-
2861
- var objectSpread = _objectSpread;
2862
-
2863
2927
  function createCommonjsModule(fn, basedir, module) {
2864
2928
  return module = {
2865
2929
  path: basedir,
@@ -2896,6 +2960,9 @@ function _extends() {
2896
2960
  module.exports = _extends;
2897
2961
  });
2898
2962
 
2963
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2964
+
2965
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2899
2966
  //
2900
2967
  // Super simple, non-algorithmic solution since the
2901
2968
  // number of class names will not be greater than 4
@@ -2941,7 +3008,7 @@ function createStyleObject(classNames) {
2941
3008
  });
2942
3009
  var classNamesCombinations = getClassNameCombinations(nonTokenClassNames);
2943
3010
  return classNamesCombinations.reduce(function (styleObject, className) {
2944
- return objectSpread({}, styleObject, stylesheet[className]);
3011
+ return _objectSpread(_objectSpread({}, styleObject), stylesheet[className]);
2945
3012
  }, elementStyle);
2946
3013
  }
2947
3014
  function createClassNameString(classNames) {
@@ -2980,7 +3047,7 @@ function createElement(_ref) {
2980
3047
  var props;
2981
3048
 
2982
3049
  if (!useInlineStyles) {
2983
- props = objectSpread({}, properties, {
3050
+ props = _objectSpread(_objectSpread({}, properties), {}, {
2984
3051
  className: createClassNameString(properties.className)
2985
3052
  });
2986
3053
  } else {
@@ -2995,14 +3062,14 @@ function createElement(_ref) {
2995
3062
  var className = properties.className && startingClassName.concat(properties.className.filter(function (className) {
2996
3063
  return !allStylesheetSelectors.includes(className);
2997
3064
  }));
2998
- props = objectSpread({}, properties, {
3065
+ props = _objectSpread(_objectSpread({}, properties), {}, {
2999
3066
  className: createClassNameString(className) || undefined,
3000
3067
  style: createStyleObject(properties.className, Object.assign({}, properties.style, style), stylesheet)
3001
3068
  });
3002
3069
  }
3003
3070
 
3004
3071
  var children = childrenCreator(node.children);
3005
- return React__default.createElement(TagName, _extends_1({
3072
+ return /*#__PURE__*/React__default.createElement(TagName, _extends_1({
3006
3073
  key: key
3007
3074
  }, props), children);
3008
3075
  }
@@ -3013,6 +3080,11 @@ var checkForListedLanguage = (function (astGenerator, language) {
3013
3080
  return langs.indexOf(language) !== -1;
3014
3081
  });
3015
3082
 
3083
+ var _excluded = ["language", "children", "style", "customStyle", "codeTagProps", "useInlineStyles", "showLineNumbers", "showInlineLineNumbers", "startingLineNumber", "lineNumberContainerStyle", "lineNumberStyle", "wrapLines", "wrapLongLines", "lineProps", "renderer", "PreTag", "CodeTag", "code", "astGenerator"];
3084
+
3085
+ function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3086
+
3087
+ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3016
3088
  var newLineRegex = /\n/g;
3017
3089
 
3018
3090
  function getNewLines(str) {
@@ -3025,7 +3097,7 @@ function getAllLineNumbers(_ref) {
3025
3097
  style = _ref.style;
3026
3098
  return lines.map(function (_, i) {
3027
3099
  var number = i + startingLineNumber;
3028
- return React__default.createElement("span", {
3100
+ return /*#__PURE__*/React__default.createElement("span", {
3029
3101
  key: "line-".concat(i),
3030
3102
  className: "react-syntax-highlighter-line-number",
3031
3103
  style: typeof style === 'function' ? style(number) : style
@@ -3038,13 +3110,13 @@ function AllLineNumbers(_ref2) {
3038
3110
  codeStyle = _ref2.codeStyle,
3039
3111
  _ref2$containerStyle = _ref2.containerStyle,
3040
3112
  containerStyle = _ref2$containerStyle === void 0 ? {
3041
- float: 'left',
3113
+ "float": 'left',
3042
3114
  paddingRight: '10px'
3043
3115
  } : _ref2$containerStyle,
3044
3116
  _ref2$numberStyle = _ref2.numberStyle,
3045
3117
  numberStyle = _ref2$numberStyle === void 0 ? {} : _ref2$numberStyle,
3046
3118
  startingLineNumber = _ref2.startingLineNumber;
3047
- return React__default.createElement("code", {
3119
+ return /*#__PURE__*/React__default.createElement("code", {
3048
3120
  style: Object.assign({}, codeStyle, containerStyle)
3049
3121
  }, getAllLineNumbers({
3050
3122
  lines: codeString.replace(/\n$/, '').split('\n'),
@@ -3085,7 +3157,7 @@ function assembleLineNumberStyles(lineNumberStyle, lineNumber, largestLineNumber
3085
3157
 
3086
3158
  var customLineNumberStyle = typeof lineNumberStyle === 'function' ? lineNumberStyle(lineNumber) : lineNumberStyle; // combine
3087
3159
 
3088
- var assembledStyle = objectSpread({}, defaultLineNumberStyle, customLineNumberStyle);
3160
+ var assembledStyle = _objectSpread$1(_objectSpread$1({}, defaultLineNumberStyle), customLineNumberStyle);
3089
3161
 
3090
3162
  return assembledStyle;
3091
3163
  }
@@ -3111,7 +3183,7 @@ function createLineElement(_ref3) {
3111
3183
  }
3112
3184
 
3113
3185
  if (wrapLongLines & showLineNumbers) {
3114
- properties.style = objectSpread({}, properties.style, {
3186
+ properties.style = _objectSpread$1(_objectSpread$1({}, properties.style), {}, {
3115
3187
  display: 'flex'
3116
3188
  });
3117
3189
  }
@@ -3138,7 +3210,9 @@ function flattenCodeTree(tree) {
3138
3210
  }));
3139
3211
  } else if (node.children) {
3140
3212
  var classNames = className.concat(node.properties.className);
3141
- newTree = newTree.concat(flattenCodeTree(node.children, classNames));
3213
+ flattenCodeTree(node.children, classNames).forEach(function (i) {
3214
+ return newTree.push(i);
3215
+ });
3142
3216
  }
3143
3217
  }
3144
3218
 
@@ -3207,19 +3281,19 @@ function processLines(codeTree, wrapLines, lineProps, showLineNumbers, showInlin
3207
3281
  newTree.push(_line); // if it's the last line
3208
3282
  } else if (i === splitValue.length - 1) {
3209
3283
  var stringChild = tree[index + 1] && tree[index + 1].children && tree[index + 1].children[0];
3284
+ var lastLineInPreviousSpan = {
3285
+ type: 'text',
3286
+ value: "".concat(text)
3287
+ };
3210
3288
 
3211
3289
  if (stringChild) {
3212
- var lastLineInPreviousSpan = {
3213
- type: 'text',
3214
- value: "".concat(text)
3215
- };
3216
3290
  var newElem = createLineElement({
3217
3291
  children: [lastLineInPreviousSpan],
3218
3292
  className: node.properties.className
3219
3293
  });
3220
3294
  tree.splice(index + 1, 0, newElem);
3221
3295
  } else {
3222
- var _children2 = [newChild];
3296
+ var _children2 = [lastLineInPreviousSpan];
3223
3297
 
3224
3298
  var _line2 = createLine(_children2, lineNumber, node.properties.className);
3225
3299
 
@@ -3325,7 +3399,7 @@ function highlight (defaultAstGenerator, defaultStyle) {
3325
3399
  _ref7$codeTagProps = _ref7.codeTagProps,
3326
3400
  codeTagProps = _ref7$codeTagProps === void 0 ? {
3327
3401
  className: language ? "language-".concat(language) : undefined,
3328
- style: objectSpread({}, style['code[class*="language-"]'], style["code[class*=\"language-".concat(language, "\"]")])
3402
+ style: _objectSpread$1(_objectSpread$1({}, style['code[class*="language-"]']), style["code[class*=\"language-".concat(language, "\"]")])
3329
3403
  } : _ref7$codeTagProps,
3330
3404
  _ref7$useInlineStyles = _ref7.useInlineStyles,
3331
3405
  useInlineStyles = _ref7$useInlineStyles === void 0 ? true : _ref7$useInlineStyles,
@@ -3349,12 +3423,12 @@ function highlight (defaultAstGenerator, defaultStyle) {
3349
3423
  _ref7$CodeTag = _ref7.CodeTag,
3350
3424
  CodeTag = _ref7$CodeTag === void 0 ? 'code' : _ref7$CodeTag,
3351
3425
  _ref7$code = _ref7.code,
3352
- code = _ref7$code === void 0 ? Array.isArray(children) ? children[0] : children : _ref7$code,
3426
+ code = _ref7$code === void 0 ? (Array.isArray(children) ? children[0] : children) || '' : _ref7$code,
3353
3427
  astGenerator = _ref7.astGenerator,
3354
- rest = objectWithoutProperties(_ref7, ["language", "children", "style", "customStyle", "codeTagProps", "useInlineStyles", "showLineNumbers", "showInlineLineNumbers", "startingLineNumber", "lineNumberContainerStyle", "lineNumberStyle", "wrapLines", "wrapLongLines", "lineProps", "renderer", "PreTag", "CodeTag", "code", "astGenerator"]);
3428
+ rest = objectWithoutProperties(_ref7, _excluded);
3355
3429
 
3356
3430
  astGenerator = astGenerator || defaultAstGenerator;
3357
- var allLineNumbers = showLineNumbers ? React__default.createElement(AllLineNumbers, {
3431
+ var allLineNumbers = showLineNumbers ? /*#__PURE__*/React__default.createElement(AllLineNumbers, {
3358
3432
  containerStyle: lineNumberContainerStyle,
3359
3433
  codeStyle: codeTagProps.style || {},
3360
3434
  numberStyle: lineNumberStyle,
@@ -3372,8 +3446,18 @@ function highlight (defaultAstGenerator, defaultStyle) {
3372
3446
  style: Object.assign({}, customStyle)
3373
3447
  });
3374
3448
 
3449
+ if (wrapLongLines) {
3450
+ codeTagProps.style = _objectSpread$1(_objectSpread$1({}, codeTagProps.style), {}, {
3451
+ whiteSpace: 'pre-wrap'
3452
+ });
3453
+ } else {
3454
+ codeTagProps.style = _objectSpread$1(_objectSpread$1({}, codeTagProps.style), {}, {
3455
+ whiteSpace: 'pre'
3456
+ });
3457
+ }
3458
+
3375
3459
  if (!astGenerator) {
3376
- return React__default.createElement(PreTag, preProps, allLineNumbers, React__default.createElement(CodeTag, codeTagProps, code));
3460
+ return /*#__PURE__*/React__default.createElement(PreTag, preProps, allLineNumbers, /*#__PURE__*/React__default.createElement(CodeTag, codeTagProps, code));
3377
3461
  }
3378
3462
  /*
3379
3463
  * Some custom renderers rely on individual row elements so we need to turn wrapLines on
@@ -3401,18 +3485,7 @@ function highlight (defaultAstGenerator, defaultStyle) {
3401
3485
 
3402
3486
  var largestLineNumber = codeTree.value.length + startingLineNumber;
3403
3487
  var rows = processLines(codeTree, wrapLines, lineProps, showLineNumbers, showInlineLineNumbers, startingLineNumber, largestLineNumber, lineNumberStyle, wrapLongLines);
3404
-
3405
- if (wrapLongLines) {
3406
- codeTagProps.style = objectSpread({}, codeTagProps.style, {
3407
- whiteSpace: 'pre-wrap'
3408
- });
3409
- } else {
3410
- codeTagProps.style = objectSpread({}, codeTagProps.style, {
3411
- whiteSpace: 'pre'
3412
- });
3413
- }
3414
-
3415
- return React__default.createElement(PreTag, preProps, React__default.createElement(CodeTag, codeTagProps, !showInlineLineNumbers && allLineNumbers, renderer({
3488
+ return /*#__PURE__*/React__default.createElement(PreTag, preProps, /*#__PURE__*/React__default.createElement(CodeTag, codeTagProps, !showInlineLineNumbers && allLineNumbers, renderer({
3416
3489
  rows: rows,
3417
3490
  stylesheet: style,
3418
3491
  useInlineStyles: useInlineStyles
@@ -7977,15 +8050,19 @@ SyntaxHighlighter.registerLanguage('javascript', javascript_1);
7977
8050
  SyntaxHighlighter.registerLanguage('css', css_1);
7978
8051
  SyntaxHighlighter.registerLanguage('html', xml_1);
7979
8052
  SyntaxHighlighter.registerLanguage('yaml', yaml_1);
8053
+ // HACK: This is a workaround for a bug in react-syntax-highlighter's types.
8054
+ var Highlighter = SyntaxHighlighter;
7980
8055
  var Code = function (_a) {
7981
8056
  var children = _a.children, className = _a.className, tabIndex = _a.tabIndex, props = tslib.__rest(_a, ["children", "className", "tabIndex"]);
7982
- return (React__default.createElement(SyntaxHighlighter, tslib.__assign({}, props, { useInlineStyles: false, className: classNames('Code', className), tabIndex: tabIndex }), children));
8057
+ return (React__default.createElement(React__default.Fragment, null,
8058
+ React__default.createElement(Highlighter, tslib.__assign({}, props, { useInlineStyles: false, className: classNames('Code', className), tabIndex: tabIndex }), children)));
7983
8059
  };
7984
8060
  Code.displayName = 'Code';
7985
8061
  Code.propTypes = {
7986
8062
  children: PropTypes.string.isRequired,
7987
8063
  language: PropTypes.oneOf(['javascript', 'css', 'html', 'yaml']),
7988
- className: PropTypes.string
8064
+ className: PropTypes.string,
8065
+ tabIndex: PropTypes.number
7989
8066
  };
7990
8067
 
7991
8068
  function AxeLoader() {
@@ -8064,6 +8141,7 @@ LoaderOverlay.propTypes = {
8064
8141
  variant: PropTypes.oneOf(['large', 'small']),
8065
8142
  label: PropTypes.string,
8066
8143
  focusOnInitialRender: PropTypes.bool,
8144
+ // @ts-expect-error
8067
8145
  children: PropTypes.node
8068
8146
  };
8069
8147
  LoaderOverlay.displayName = 'LoaderOverlay';
@@ -8183,6 +8261,7 @@ Tab.displayName = 'Tab';
8183
8261
  Tab.propTypes = {
8184
8262
  target: PropTypes.any.isRequired,
8185
8263
  id: PropTypes.string,
8264
+ // @ts-expect-error
8186
8265
  children: PropTypes.node
8187
8266
  };
8188
8267
 
@@ -8277,7 +8356,8 @@ var Tabs = function (_a) {
8277
8356
  React.useEffect(function () {
8278
8357
  var _a, _b;
8279
8358
  index === activeIndex
8280
- ? (_a = target.current) === null || _a === void 0 ? void 0 : _a.classList.remove('TabPanel--hidden') : (_b = target.current) === null || _b === void 0 ? void 0 : _b.classList.add('TabPanel--hidden');
8359
+ ? (_a = target.current) === null || _a === void 0 ? void 0 : _a.classList.remove('TabPanel--hidden')
8360
+ : (_b = target.current) === null || _b === void 0 ? void 0 : _b.classList.add('TabPanel--hidden');
8281
8361
  }, [activeIndex]);
8282
8362
  var config = tslib.__assign((_a = { id: id, className: classNames('Tab', {
8283
8363
  'Tab--active': selected
@@ -8317,6 +8397,7 @@ var TabPanel = React.forwardRef(function (_a, ref) {
8317
8397
  TabPanel.displayName = 'TabPanel';
8318
8398
  TabPanel.propTypes = {
8319
8399
  id: PropTypes.string,
8400
+ // @ts-expect-error
8320
8401
  children: PropTypes.node,
8321
8402
  className: PropTypes.string
8322
8403
  };
@@ -8363,12 +8444,12 @@ var Step = function (props) {
8363
8444
  var liProps;
8364
8445
  var isTooltip = isTooltipProps(other);
8365
8446
  if (isTooltip) {
8366
- (_a = other, (tooltip = _a.tooltip, tooltipText = _a.tooltipText, _a), liProps = tslib.__rest(_a, ["tooltip", "tooltipText"]));
8447
+ (_a = other, (tooltip = _a.tooltip, tooltipText = _a.tooltipText), liProps = tslib.__rest(_a, ["tooltip", "tooltipText"]));
8367
8448
  }
8368
8449
  else {
8369
8450
  liProps = other;
8370
8451
  }
8371
- return (React__default.createElement("li", tslib.__assign({ className: classNames('Stepper__step', "Stepper__step--" + status, className), "aria-current": status === 'current' ? 'step' : 'false' }, liProps),
8452
+ return (React__default.createElement("li", tslib.__assign({ className: classNames('Stepper__step', "Stepper__step--".concat(status), className), "aria-current": status === 'current' ? 'step' : 'false' }, liProps),
8372
8453
  React__default.createElement("div", { className: "Stepper__step-line" }),
8373
8454
  React__default.createElement("div", { className: "Stepper__step-content" }, isTooltip ? (React__default.createElement(TooltipTabstop, { placement: "bottom", tooltip: tooltip,
8374
8455
  // the pseudo content (ex: "1") is conveyed
@@ -8410,7 +8491,7 @@ var Panel = React.forwardRef(function (_a, ref) {
8410
8491
  if (!headingId) {
8411
8492
  return null;
8412
8493
  }
8413
- var HeadingComponent = "h" + (heading &&
8494
+ var HeadingComponent = "h".concat(heading &&
8414
8495
  typeof heading === 'object' &&
8415
8496
  'level' in heading &&
8416
8497
  !!heading.level
@@ -8428,7 +8509,9 @@ var Panel = React.forwardRef(function (_a, ref) {
8428
8509
  });
8429
8510
  Panel.displayName = 'Panel';
8430
8511
  Panel.propTypes = {
8512
+ // @ts-expect-error
8431
8513
  children: PropTypes.node.isRequired,
8514
+ // @ts-expect-error
8432
8515
  heading: PropTypes.oneOfType([PropTypes.object, PropTypes.node]),
8433
8516
  className: PropTypes.string
8434
8517
  };
@@ -8438,7 +8521,7 @@ var IssuePanel = function (_a) {
8438
8521
  return (React__default.createElement("div", { className: classNames('IssuePanel', className) },
8439
8522
  React__default.createElement("div", { className: "IssuePanel__Header" },
8440
8523
  title && React__default.createElement("div", { className: "IssuePanel__Header-title" }, title),
8441
- actions && React__default.createElement("div", { className: "IssuePanel__Header-actions" }, actions)),
8524
+ actions && (React__default.createElement("div", { className: "IssuePanel__Header-actions" }, actions))),
8442
8525
  React__default.createElement("div", { className: "IssuePanel__Content" }, children)));
8443
8526
  };
8444
8527
  IssuePanel.displayName = 'IssuePanel';
@@ -8451,7 +8534,7 @@ var ProgressBar = React.forwardRef(function (_a, ref) {
8451
8534
  var _b = _a.progress, progress = _b === void 0 ? 0 : _b, _c = _a.progressMax, progressMax = _c === void 0 ? 100 : _c, _d = _a.progressMin, progressMin = _d === void 0 ? 0 : _d, props = tslib.__rest(_a, ["progress", "progressMax", "progressMin"]);
8452
8535
  var className = props.className, otherProps = tslib.__rest(props, ["className"]);
8453
8536
  return (React__default.createElement("div", tslib.__assign({ className: classNames('ProgressBar', className), role: "progressbar", "aria-valuemin": progressMin, "aria-valuemax": progressMax, "aria-valuenow": progress, ref: ref }, otherProps),
8454
- React__default.createElement("div", { className: "ProgressBar--fill", style: { width: Math.min((progress / progressMax) * 100, 100) + "%" } })));
8537
+ React__default.createElement("div", { className: "ProgressBar--fill", style: { width: "".concat(Math.min((progress / progressMax) * 100, 100), "%") } })));
8455
8538
  });
8456
8539
  ProgressBar.displayName = 'ProgressBar';
8457
8540
 
@@ -8532,12 +8615,41 @@ Pagination.propTypes = {
8532
8615
  className: PropTypes.string
8533
8616
  };
8534
8617
 
8618
+ var usePagination = function (_a) {
8619
+ var totalItems = _a.totalItems, _b = _a.initialPageSize, initialPageSize = _b === void 0 ? 10 : _b, _c = _a.initialPage, initialPage = _c === void 0 ? 1 : _c;
8620
+ var _d = tslib.__read(React.useState(initialPage), 2), currentPage = _d[0], setCurrentPage = _d[1];
8621
+ var pageStart = currentPage * initialPageSize - initialPageSize + 1;
8622
+ var pageEnd = Math.min(pageStart + initialPageSize - 1, totalItems);
8623
+ var onFirstPageClick = function () { return setCurrentPage(1); };
8624
+ var onPreviousPageClick = function () { return setCurrentPage(currentPage - 1); };
8625
+ var onNextPageClick = function () { return setCurrentPage(currentPage + 1); };
8626
+ var onLastPageClick = function () {
8627
+ return setCurrentPage(Math.ceil(totalItems / initialPageSize));
8628
+ };
8629
+ var pagination = {
8630
+ totalItems: totalItems,
8631
+ currentPage: currentPage,
8632
+ itemsPerPage: initialPageSize,
8633
+ onFirstPageClick: onFirstPageClick,
8634
+ onPreviousPageClick: onPreviousPageClick,
8635
+ onNextPageClick: onNextPageClick,
8636
+ onLastPageClick: onLastPageClick
8637
+ };
8638
+ var pageStatus = {
8639
+ currentPage: currentPage,
8640
+ pageStart: pageStart,
8641
+ pageEnd: pageEnd
8642
+ };
8643
+ return { pagination: pagination, pageStatus: pageStatus };
8644
+ };
8645
+
8535
8646
  var FieldWrap = React__default.forwardRef(function (_a, ref) {
8536
8647
  var children = _a.children, className = _a.className, _b = _a.as, Component = _b === void 0 ? 'div' : _b, props = tslib.__rest(_a, ["children", "className", "as"]);
8537
8648
  return (React__default.createElement(Component, tslib.__assign({ ref: ref, className: classNames('Panel', className) }, props), children));
8538
8649
  });
8539
8650
  FieldWrap.displayName = 'FieldWrap';
8540
8651
  FieldWrap.propTypes = {
8652
+ // @ts-expect-error
8541
8653
  children: PropTypes.node.isRequired,
8542
8654
  className: PropTypes.string,
8543
8655
  as: PropTypes.string
@@ -8558,7 +8670,7 @@ var Breadcrumb = React.forwardRef(function (_a, ref) {
8558
8670
  }
8559
8671
  });
8560
8672
  return (React__default.createElement("nav", tslib.__assign({ className: classNames('Breadcrumb', className), ref: ref }, props),
8561
- React__default.createElement("ol", null, childrenWithSeparators.map(function (child, index) { return (React__default.createElement("li", { className: "Breadcrumb__Item", key: "breadcrumb-" + index }, child)); }))));
8673
+ React__default.createElement("ol", null, childrenWithSeparators.map(function (child, index) { return (React__default.createElement("li", { className: "Breadcrumb__Item", key: "breadcrumb-".concat(index) }, child)); }))));
8562
8674
  });
8563
8675
  Breadcrumb.displayName = 'Breadcrumb';
8564
8676
 
@@ -8589,6 +8701,11 @@ var TwoColumnPanel = React.forwardRef(function (_a, ref) {
8589
8701
  var _f = tslib.__read(React.useState(initialCollapsed), 2), isCollapsed = _f[0], setCollapsed = _f[1];
8590
8702
  var _g = tslib.__read(React.useState(false), 2), isFocusTrap = _g[0], setIsFocusTrap = _g[1];
8591
8703
  var _h = tslib.__read(React.useState(!initialCollapsed), 2), showPanel = _h[0], setShowPanel = _h[1];
8704
+ var toggleButtonRef = React.useRef(null);
8705
+ var closeButtonRef = React.useRef(null);
8706
+ var columnLeftRef = React.useRef(null);
8707
+ var columnRightRef = React.useRef(null);
8708
+ var columnLeft = React__default.Children.toArray(children).find(function (child) { return child.type === ColumnLeft; });
8592
8709
  var togglePanel = function () {
8593
8710
  if (isCollapsed) {
8594
8711
  setShowPanel(true);
@@ -8606,11 +8723,6 @@ var TwoColumnPanel = React.forwardRef(function (_a, ref) {
8606
8723
  }
8607
8724
  });
8608
8725
  };
8609
- var toggleButtonRef = React.useRef(null);
8610
- var closeButtonRef = React.useRef(null);
8611
- var columnLeftRef = React.useRef(null);
8612
- var columnRightRef = React.useRef(null);
8613
- var columnLeft = React__default.Children.toArray(children).find(function (child) { return child.type === ColumnLeft; });
8614
8726
  // The ColumnLeftComponent will end up being a focus trap when < 720px
8615
8727
  // This component also gets unmounted when not visible meaning that any
8616
8728
  // aria relationships cannot be set to items inside the component since
@@ -8625,11 +8737,11 @@ var TwoColumnPanel = React.forwardRef(function (_a, ref) {
8625
8737
  React__default.createElement("button", { type: "button", onClick: togglePanel, ref: closeButtonRef, "aria-label": hideCollapsedPanelLabel },
8626
8738
  React__default.createElement(Icon, { type: "close" })),
8627
8739
  React__default.createElement(Tooltip, { target: closeButtonRef, association: "aria-labelledby", hideElementOnHidden: true }, hideCollapsedPanelLabel)));
8628
- var children_1 = tslib.__spread([
8740
+ var children_1 = tslib.__spreadArray([
8629
8741
  CloseButton
8630
- ], React__default.Children.toArray(columnLeft.props.children));
8742
+ ], tslib.__read(React__default.Children.toArray(columnLeft.props.children)), false);
8631
8743
  ColumnLeftComponent = React.cloneElement(columnLeft, { id: id, ref: ref_1, tabIndex: -1 }, children_1.map(function (child, index) {
8632
- return React.cloneElement(child, { key: "left-" + index });
8744
+ return React.cloneElement(child, { key: "left-".concat(index) });
8633
8745
  }));
8634
8746
  }
8635
8747
  var columnRight = React__default.Children.toArray(children).find(function (child) { return child.type === ColumnRight; });
@@ -8640,11 +8752,11 @@ var TwoColumnPanel = React.forwardRef(function (_a, ref) {
8640
8752
  React__default.createElement("button", { type: "button", onClick: togglePanel, ref: toggleButtonRef, "aria-label": !isCollapsed ? hideCollapsedPanelLabel : showCollapsedPanelLabel, "aria-expanded": !isCollapsed, "aria-controls": columnLeftId },
8641
8753
  React__default.createElement(Icon, { type: !isCollapsed ? 'chevron-double-left' : 'chevron-double-right' })),
8642
8754
  React__default.createElement(Tooltip, { target: toggleButtonRef, association: "aria-labelledby", hideElementOnHidden: true }, !isCollapsed ? hideCollapsedPanelLabel : showCollapsedPanelLabel)));
8643
- var children_2 = tslib.__spread([
8755
+ var children_2 = tslib.__spreadArray([
8644
8756
  ToggleButton
8645
- ], React__default.Children.toArray(columnRight.props.children));
8757
+ ], tslib.__read(React__default.Children.toArray(columnRight.props.children)), false);
8646
8758
  ColumnRightComponent = React.cloneElement(columnRight, { ref: ref_2, tabIndex: -1 }, children_2.map(function (child, index) {
8647
- return React.cloneElement(child, { key: "right-" + index });
8759
+ return React.cloneElement(child, { key: "right-".concat(index) });
8648
8760
  }));
8649
8761
  }
8650
8762
  React.useLayoutEffect(function () {
@@ -8709,15 +8821,16 @@ var TwoColumnPanel = React.forwardRef(function (_a, ref) {
8709
8821
  'TwoColumnPanel--show': !isCollapsed,
8710
8822
  'TwoColumnPanel--hide': isCollapsed
8711
8823
  }) }, props, { ref: ref }),
8712
- React__default.createElement(FocusTrap, { active: !isCollapsed && isFocusTrap, focusTrapOptions: {
8713
- escapeDeactivates: true,
8714
- allowOutsideClick: true,
8715
- fallbackFocus: columnLeftRef.current
8716
- }, containerElements: [columnLeftRef.current] }),
8717
- React__default.createElement(ClickOutsideListener, { onClickOutside: handleClickOutside, target: columnLeftRef.current }),
8718
- isCollapsed ? null : skipLink,
8719
- showPanel ? ColumnLeftComponent : null,
8720
- ColumnRightComponent));
8824
+ React__default.createElement(React__default.Fragment, null,
8825
+ React__default.createElement(FocusTrap, { active: !isCollapsed && isFocusTrap, focusTrapOptions: {
8826
+ escapeDeactivates: true,
8827
+ allowOutsideClick: true,
8828
+ fallbackFocus: columnLeftRef.current
8829
+ }, containerElements: [columnLeftRef.current] }),
8830
+ React__default.createElement(ClickOutsideListener, { onClickOutside: handleClickOutside, target: columnLeftRef.current }),
8831
+ isCollapsed ? null : skipLink,
8832
+ showPanel ? ColumnLeftComponent : null,
8833
+ ColumnRightComponent)));
8721
8834
  });
8722
8835
  TwoColumnPanel.displayName = 'TwoColumnPanel';
8723
8836
 
@@ -8857,6 +8970,7 @@ exports.Panel = Panel;
8857
8970
  exports.PanelTrigger = PanelTrigger$1;
8858
8971
  exports.Pointout = Pointout;
8859
8972
  exports.ProgressBar = ProgressBar;
8973
+ exports.RadioCardGroup = RadioCardGroup;
8860
8974
  exports.RadioGroup = RadioGroup;
8861
8975
  exports.Scrim = Scrim;
8862
8976
  exports.Select = Select;
@@ -8894,4 +9008,5 @@ exports.Workspace = Workspace;
8894
9008
  exports.focusableSelector = focusableSelector;
8895
9009
  exports.iconTypes = iconTypes;
8896
9010
  exports.useDidUpdate = useDidUpdate;
9011
+ exports.usePagination = usePagination;
8897
9012
  exports.useThemeContext = useThemeContext;