@deque/cauldron-react 3.0.0 → 3.0.1-canary.00f53b54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/lib/{add-user-075c63a1.js → add-user.js} +10 -12
  2. package/lib/arrow-circle.js +24 -0
  3. package/lib/{arrow-97011665.js → arrow.js} +13 -16
  4. package/lib/arrows-alt.js +24 -0
  5. package/lib/{bolt-e44406fd.js → bolt.js} +11 -12
  6. package/lib/cauldron.css +8 -8
  7. package/lib/{caution-e048e1bf.js → caution.js} +10 -12
  8. package/lib/{check-circle-8b5069b4.js → check-circle.js} +12 -13
  9. package/lib/{check-shield-8fdb3641.js → check-shield.js} +11 -13
  10. package/lib/{check-solid-a0682f04.js → check-solid.js} +12 -13
  11. package/lib/{check-c2912d5e.js → check.js} +12 -13
  12. package/lib/{checkbox-checked-a262e99c.js → checkbox-checked.js} +12 -13
  13. package/lib/{checkbox-unchecked-2ad5b4ae.js → checkbox-unchecked.js} +11 -12
  14. package/lib/chevron-double.js +24 -0
  15. package/lib/chevron.js +24 -0
  16. package/lib/{close-31ce4dcf.js → close.js} +12 -13
  17. package/lib/code.js +25 -0
  18. package/lib/components/Address/index.d.ts +38 -0
  19. package/lib/components/FieldWrap/index.d.ts +7 -0
  20. package/lib/components/Icon/types.d.ts +1 -1
  21. package/lib/components/IconButton/index.d.ts +10 -3
  22. package/lib/components/IssuePanel/index.d.ts +17 -0
  23. package/lib/components/Loader/index.d.ts +3 -3
  24. package/lib/components/LoaderOverlay/axe-loader.d.ts +1 -0
  25. package/lib/components/Pagination/index.d.ts +20 -0
  26. package/lib/components/Panel/index.d.ts +13 -8
  27. package/lib/components/SideBar/SideBar.d.ts +1 -0
  28. package/lib/components/Stepper/index.d.ts +2 -0
  29. package/lib/components/Table/TableCell.d.ts +2 -2
  30. package/lib/components/Table/TableHeader.d.ts +2 -2
  31. package/lib/components/Tabs/Tabs.d.ts +8 -1
  32. package/lib/components/Tooltip/index.d.ts +1 -1
  33. package/lib/{copy-d2ade017.js → copy.js} +10 -12
  34. package/lib/{download-2790e982.js → download.js} +10 -12
  35. package/lib/exchange.js +24 -0
  36. package/lib/external-link.js +25 -0
  37. package/lib/{eye-a0d28243.js → eye.js} +10 -12
  38. package/lib/{filter-d2057f4c.js → filter.js} +10 -12
  39. package/lib/{flag-fb248a99.js → flag.js} +12 -13
  40. package/lib/gears.js +22 -0
  41. package/lib/{grid-ee446118.js → grid.js} +10 -12
  42. package/lib/{hamburger-menu-0fc0e266.js → hamburger-menu.js} +10 -11
  43. package/lib/highlight.js +24 -0
  44. package/lib/index.d.ts +4 -0
  45. package/lib/index.js +312 -123
  46. package/lib/{info-circle-alt-b1a696c7.js → info-circle-alt.js} +10 -12
  47. package/lib/{info-circle-b43f7a9b.js → info-circle.js} +11 -12
  48. package/lib/{info-square-f193e281.js → info-square.js} +10 -11
  49. package/lib/kabob.js +25 -0
  50. package/lib/{list-8fbd8209.js → list.js} +10 -11
  51. package/lib/{lock-bd0122db.js → lock.js} +12 -13
  52. package/lib/magnifying-glass.js +21 -0
  53. package/lib/{menu-2f2be7c2.js → menu.js} +11 -12
  54. package/lib/{new-releases-ac749bdd.js → new-releases.js} +13 -15
  55. package/lib/{new-6c3ac7d7.js → new.js} +11 -12
  56. package/lib/{no-bb3aa565.js → no.js} +12 -13
  57. package/lib/{pencil-4843058f.js → pencil.js} +11 -13
  58. package/lib/{plus-6589e613.js → plus.js} +11 -12
  59. package/lib/{question-circle-c3c634c4.js → question-circle.js} +11 -13
  60. package/lib/{radio-checked-006112fe.js → radio-checked.js} +11 -12
  61. package/lib/{radio-unchecked-a76e2d66.js → radio-unchecked.js} +11 -12
  62. package/lib/{recycle-0198fb67.js → recycle.js} +11 -12
  63. package/lib/robot.js +26 -0
  64. package/lib/run-again.js +23 -0
  65. package/lib/{save-edf5fc68.js → save.js} +12 -13
  66. package/lib/share.js +25 -0
  67. package/lib/{sort-49ec1442.js → sort.js} +11 -13
  68. package/lib/{star-a1af8d95.js → star.js} +11 -13
  69. package/lib/sun.js +24 -0
  70. package/lib/{tag-56c32f4f.js → tag.js} +11 -12
  71. package/lib/target.js +28 -0
  72. package/lib/trash.js +24 -0
  73. package/lib/{triangle-51d7723a.js → triangle.js} +14 -16
  74. package/lib/types.d.ts +7 -0
  75. package/lib/{upload-d71f0e44.js → upload.js} +10 -12
  76. package/lib/utils/polymorphic-type/index.d.ts +40 -0
  77. package/package.json +4 -4
  78. package/lib/arrow-circle-7b95a2fd.js +0 -27
  79. package/lib/arrows-alt-b91e24b7.js +0 -26
  80. package/lib/chevron-064d5f96.js +0 -26
  81. package/lib/chevron-double-65975fca.js +0 -26
  82. package/lib/code-e3365341.js +0 -26
  83. package/lib/exchange-1d290efb.js +0 -26
  84. package/lib/external-link-ef122c95.js +0 -26
  85. package/lib/gears-b9ee1585.js +0 -23
  86. package/lib/highlight-81bfb759.js +0 -26
  87. package/lib/kabob-692fdc00.js +0 -26
  88. package/lib/robot-22863b2b.js +0 -29
  89. package/lib/run-again-c9777075.js +0 -25
  90. package/lib/share-70e94257.js +0 -26
  91. package/lib/sun-408aecdc.js +0 -26
  92. package/lib/target-50f179e0.js +0 -35
  93. package/lib/trash-896a3291.js +0 -26
package/lib/index.js CHANGED
@@ -162,6 +162,7 @@ var iconTypes = [
162
162
  'kabob',
163
163
  'list',
164
164
  'lock',
165
+ 'magnifying-glass',
165
166
  'menu',
166
167
  'new-releases',
167
168
  'new',
@@ -190,63 +191,68 @@ var iconTypes = [
190
191
  ];
191
192
 
192
193
  function __variableDynamicImportRuntime0__(path) {
193
- switch (path) {
194
- case './icons/add-user.svg': return Promise.resolve().then(function () { return require('./add-user-075c63a1.js'); });
195
- case './icons/arrow-circle.svg': return Promise.resolve().then(function () { return require('./arrow-circle-7b95a2fd.js'); });
196
- case './icons/arrow.svg': return Promise.resolve().then(function () { return require('./arrow-97011665.js'); });
197
- case './icons/arrows-alt.svg': return Promise.resolve().then(function () { return require('./arrows-alt-b91e24b7.js'); });
198
- case './icons/bolt.svg': return Promise.resolve().then(function () { return require('./bolt-e44406fd.js'); });
199
- case './icons/caution.svg': return Promise.resolve().then(function () { return require('./caution-e048e1bf.js'); });
200
- case './icons/check-circle.svg': return Promise.resolve().then(function () { return require('./check-circle-8b5069b4.js'); });
201
- case './icons/check-shield.svg': return Promise.resolve().then(function () { return require('./check-shield-8fdb3641.js'); });
202
- case './icons/check-solid.svg': return Promise.resolve().then(function () { return require('./check-solid-a0682f04.js'); });
203
- case './icons/check.svg': return Promise.resolve().then(function () { return require('./check-c2912d5e.js'); });
204
- case './icons/checkbox-checked.svg': return Promise.resolve().then(function () { return require('./checkbox-checked-a262e99c.js'); });
205
- case './icons/checkbox-unchecked.svg': return Promise.resolve().then(function () { return require('./checkbox-unchecked-2ad5b4ae.js'); });
206
- case './icons/chevron-double.svg': return Promise.resolve().then(function () { return require('./chevron-double-65975fca.js'); });
207
- case './icons/chevron.svg': return Promise.resolve().then(function () { return require('./chevron-064d5f96.js'); });
208
- case './icons/close.svg': return Promise.resolve().then(function () { return require('./close-31ce4dcf.js'); });
209
- case './icons/code.svg': return Promise.resolve().then(function () { return require('./code-e3365341.js'); });
210
- case './icons/copy.svg': return Promise.resolve().then(function () { return require('./copy-d2ade017.js'); });
211
- case './icons/download.svg': return Promise.resolve().then(function () { return require('./download-2790e982.js'); });
212
- case './icons/exchange.svg': return Promise.resolve().then(function () { return require('./exchange-1d290efb.js'); });
213
- case './icons/external-link.svg': return Promise.resolve().then(function () { return require('./external-link-ef122c95.js'); });
214
- case './icons/eye.svg': return Promise.resolve().then(function () { return require('./eye-a0d28243.js'); });
215
- case './icons/filter.svg': return Promise.resolve().then(function () { return require('./filter-d2057f4c.js'); });
216
- case './icons/flag.svg': return Promise.resolve().then(function () { return require('./flag-fb248a99.js'); });
217
- case './icons/gears.svg': return Promise.resolve().then(function () { return require('./gears-b9ee1585.js'); });
218
- case './icons/grid.svg': return Promise.resolve().then(function () { return require('./grid-ee446118.js'); });
219
- case './icons/hamburger-menu.svg': return Promise.resolve().then(function () { return require('./hamburger-menu-0fc0e266.js'); });
220
- case './icons/highlight.svg': return Promise.resolve().then(function () { return require('./highlight-81bfb759.js'); });
221
- case './icons/info-circle-alt.svg': return Promise.resolve().then(function () { return require('./info-circle-alt-b1a696c7.js'); });
222
- case './icons/info-circle.svg': return Promise.resolve().then(function () { return require('./info-circle-b43f7a9b.js'); });
223
- case './icons/info-square.svg': return Promise.resolve().then(function () { return require('./info-square-f193e281.js'); });
224
- case './icons/kabob.svg': return Promise.resolve().then(function () { return require('./kabob-692fdc00.js'); });
225
- case './icons/list.svg': return Promise.resolve().then(function () { return require('./list-8fbd8209.js'); });
226
- case './icons/lock.svg': return Promise.resolve().then(function () { return require('./lock-bd0122db.js'); });
227
- case './icons/menu.svg': return Promise.resolve().then(function () { return require('./menu-2f2be7c2.js'); });
228
- case './icons/new-releases.svg': return Promise.resolve().then(function () { return require('./new-releases-ac749bdd.js'); });
229
- case './icons/new.svg': return Promise.resolve().then(function () { return require('./new-6c3ac7d7.js'); });
230
- case './icons/no.svg': return Promise.resolve().then(function () { return require('./no-bb3aa565.js'); });
231
- case './icons/pencil.svg': return Promise.resolve().then(function () { return require('./pencil-4843058f.js'); });
232
- case './icons/plus.svg': return Promise.resolve().then(function () { return require('./plus-6589e613.js'); });
233
- case './icons/question-circle.svg': return Promise.resolve().then(function () { return require('./question-circle-c3c634c4.js'); });
234
- case './icons/radio-checked.svg': return Promise.resolve().then(function () { return require('./radio-checked-006112fe.js'); });
235
- case './icons/radio-unchecked.svg': return Promise.resolve().then(function () { return require('./radio-unchecked-a76e2d66.js'); });
236
- case './icons/recycle.svg': return Promise.resolve().then(function () { return require('./recycle-0198fb67.js'); });
237
- case './icons/robot.svg': return Promise.resolve().then(function () { return require('./robot-22863b2b.js'); });
238
- case './icons/run-again.svg': return Promise.resolve().then(function () { return require('./run-again-c9777075.js'); });
239
- case './icons/save.svg': return Promise.resolve().then(function () { return require('./save-edf5fc68.js'); });
240
- case './icons/share.svg': return Promise.resolve().then(function () { return require('./share-70e94257.js'); });
241
- case './icons/sort.svg': return Promise.resolve().then(function () { return require('./sort-49ec1442.js'); });
242
- case './icons/star.svg': return Promise.resolve().then(function () { return require('./star-a1af8d95.js'); });
243
- case './icons/sun.svg': return Promise.resolve().then(function () { return require('./sun-408aecdc.js'); });
244
- case './icons/tag.svg': return Promise.resolve().then(function () { return require('./tag-56c32f4f.js'); });
245
- case './icons/target.svg': return Promise.resolve().then(function () { return require('./target-50f179e0.js'); });
246
- case './icons/trash.svg': return Promise.resolve().then(function () { return require('./trash-896a3291.js'); });
247
- case './icons/triangle.svg': return Promise.resolve().then(function () { return require('./triangle-51d7723a.js'); });
248
- case './icons/upload.svg': return Promise.resolve().then(function () { return require('./upload-d71f0e44.js'); });
249
- default: return Promise.reject(new Error("Unknown variable dynamic import: " + path));
194
+ switch (path) {
195
+ case './icons/add-user.svg': return Promise.resolve().then(function () { return require('./add-user.js'); });
196
+ case './icons/arrow-circle.svg': return Promise.resolve().then(function () { return require('./arrow-circle.js'); });
197
+ case './icons/arrow.svg': return Promise.resolve().then(function () { return require('./arrow.js'); });
198
+ case './icons/arrows-alt.svg': return Promise.resolve().then(function () { return require('./arrows-alt.js'); });
199
+ case './icons/bolt.svg': return Promise.resolve().then(function () { return require('./bolt.js'); });
200
+ case './icons/caution.svg': return Promise.resolve().then(function () { return require('./caution.js'); });
201
+ case './icons/check-circle.svg': return Promise.resolve().then(function () { return require('./check-circle.js'); });
202
+ case './icons/check-shield.svg': return Promise.resolve().then(function () { return require('./check-shield.js'); });
203
+ case './icons/check-solid.svg': return Promise.resolve().then(function () { return require('./check-solid.js'); });
204
+ case './icons/check.svg': return Promise.resolve().then(function () { return require('./check.js'); });
205
+ case './icons/checkbox-checked.svg': return Promise.resolve().then(function () { return require('./checkbox-checked.js'); });
206
+ case './icons/checkbox-unchecked.svg': return Promise.resolve().then(function () { return require('./checkbox-unchecked.js'); });
207
+ case './icons/chevron-double.svg': return Promise.resolve().then(function () { return require('./chevron-double.js'); });
208
+ case './icons/chevron.svg': return Promise.resolve().then(function () { return require('./chevron.js'); });
209
+ case './icons/close.svg': return Promise.resolve().then(function () { return require('./close.js'); });
210
+ case './icons/code.svg': return Promise.resolve().then(function () { return require('./code.js'); });
211
+ case './icons/copy.svg': return Promise.resolve().then(function () { return require('./copy.js'); });
212
+ case './icons/download.svg': return Promise.resolve().then(function () { return require('./download.js'); });
213
+ case './icons/exchange.svg': return Promise.resolve().then(function () { return require('./exchange.js'); });
214
+ case './icons/external-link.svg': return Promise.resolve().then(function () { return require('./external-link.js'); });
215
+ case './icons/eye.svg': return Promise.resolve().then(function () { return require('./eye.js'); });
216
+ case './icons/filter.svg': return Promise.resolve().then(function () { return require('./filter.js'); });
217
+ case './icons/flag.svg': return Promise.resolve().then(function () { return require('./flag.js'); });
218
+ case './icons/gears.svg': return Promise.resolve().then(function () { return require('./gears.js'); });
219
+ case './icons/grid.svg': return Promise.resolve().then(function () { return require('./grid.js'); });
220
+ case './icons/hamburger-menu.svg': return Promise.resolve().then(function () { return require('./hamburger-menu.js'); });
221
+ case './icons/highlight.svg': return Promise.resolve().then(function () { return require('./highlight.js'); });
222
+ case './icons/info-circle-alt.svg': return Promise.resolve().then(function () { return require('./info-circle-alt.js'); });
223
+ case './icons/info-circle.svg': return Promise.resolve().then(function () { return require('./info-circle.js'); });
224
+ case './icons/info-square.svg': return Promise.resolve().then(function () { return require('./info-square.js'); });
225
+ case './icons/kabob.svg': return Promise.resolve().then(function () { return require('./kabob.js'); });
226
+ case './icons/list.svg': return Promise.resolve().then(function () { return require('./list.js'); });
227
+ case './icons/lock.svg': return Promise.resolve().then(function () { return require('./lock.js'); });
228
+ case './icons/magnifying-glass.svg': return Promise.resolve().then(function () { return require('./magnifying-glass.js'); });
229
+ case './icons/menu.svg': return Promise.resolve().then(function () { return require('./menu.js'); });
230
+ case './icons/new-releases.svg': return Promise.resolve().then(function () { return require('./new-releases.js'); });
231
+ case './icons/new.svg': return Promise.resolve().then(function () { return require('./new.js'); });
232
+ case './icons/no.svg': return Promise.resolve().then(function () { return require('./no.js'); });
233
+ case './icons/pencil.svg': return Promise.resolve().then(function () { return require('./pencil.js'); });
234
+ case './icons/plus.svg': return Promise.resolve().then(function () { return require('./plus.js'); });
235
+ case './icons/question-circle.svg': return Promise.resolve().then(function () { return require('./question-circle.js'); });
236
+ case './icons/radio-checked.svg': return Promise.resolve().then(function () { return require('./radio-checked.js'); });
237
+ case './icons/radio-unchecked.svg': return Promise.resolve().then(function () { return require('./radio-unchecked.js'); });
238
+ case './icons/recycle.svg': return Promise.resolve().then(function () { return require('./recycle.js'); });
239
+ case './icons/robot.svg': return Promise.resolve().then(function () { return require('./robot.js'); });
240
+ case './icons/run-again.svg': return Promise.resolve().then(function () { return require('./run-again.js'); });
241
+ case './icons/save.svg': return Promise.resolve().then(function () { return require('./save.js'); });
242
+ case './icons/share.svg': return Promise.resolve().then(function () { return require('./share.js'); });
243
+ case './icons/sort.svg': return Promise.resolve().then(function () { return require('./sort.js'); });
244
+ case './icons/star.svg': return Promise.resolve().then(function () { return require('./star.js'); });
245
+ case './icons/sun.svg': return Promise.resolve().then(function () { return require('./sun.js'); });
246
+ case './icons/tag.svg': return Promise.resolve().then(function () { return require('./tag.js'); });
247
+ case './icons/target.svg': return Promise.resolve().then(function () { return require('./target.js'); });
248
+ case './icons/trash.svg': return Promise.resolve().then(function () { return require('./trash.js'); });
249
+ case './icons/triangle.svg': return Promise.resolve().then(function () { return require('./triangle.js'); });
250
+ case './icons/upload.svg': return Promise.resolve().then(function () { return require('./upload.js'); });
251
+ default: return new Promise(function(resolve, reject) {
252
+ (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(
253
+ reject.bind(null, new Error("Unknown variable dynamic import: " + path))
254
+ );
255
+ })
250
256
  }
251
257
  }
252
258
  var Icon = React.forwardRef(function (_a, ref) {
@@ -1148,11 +1154,11 @@ var SideBar = /** @class */ (function (_super) {
1148
1154
  var _a = this.state, animateClass = _a.animateClass, wide = _a.wide;
1149
1155
  // disabling no-unused-vars to prevent onDismiss from being passed through to dom element
1150
1156
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1151
- var _b = this.props, children = _b.children, className = _b.className, show = _b.show, onDismiss = _b.onDismiss, other = tslib.__rest(_b, ["children", "className", "show", "onDismiss"]);
1157
+ var _b = this.props, children = _b.children, className = _b.className, show = _b.show, onDismiss = _b.onDismiss, navProps = _b.navProps, other = tslib.__rest(_b, ["children", "className", "show", "onDismiss", "navProps"]);
1152
1158
  /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */
1153
1159
  return (React__default.createElement(React.Fragment, null,
1154
1160
  React__default.createElement(ClickOutsideListener, { onClickOutside: this.handleClickOutside },
1155
- React__default.createElement("nav", null,
1161
+ React__default.createElement("nav", tslib.__assign({}, navProps),
1156
1162
  React__default.createElement("ul", tslib.__assign({ className: classNames('SideBar', className, animateClass) }, other, { ref: this.navList, onKeyDown: this.onKeyDown }), children))),
1157
1163
  React__default.createElement(Scrim, { show: !wide && show })));
1158
1164
  /* eslint-enable jsx-a11y/no-noninteractive-element-interactions */
@@ -1465,7 +1471,7 @@ var fireCustomEvent = function (show, button) {
1465
1471
  };
1466
1472
  function Tooltip(_a) {
1467
1473
  var _this = this;
1468
- var propId = _a.id, _b = _a.placement, initialPlacement = _b === void 0 ? 'auto' : _b, children = _a.children, portal = _a.portal, target = _a.target, _c = _a.association, association = _c === void 0 ? 'aria-describedby' : _c, _d = _a.variant, variant = _d === void 0 ? 'text' : _d, _e = _a.show, showProp = _e === void 0 ? false : _e, _f = _a.hideElementOnHidden, hideElementOnHidden = _f === void 0 ? false : _f, props = tslib.__rest(_a, ["id", "placement", "children", "portal", "target", "association", "variant", "show", "hideElementOnHidden"]);
1474
+ var propId = _a.id, _b = _a.placement, initialPlacement = _b === void 0 ? 'auto' : _b, children = _a.children, portal = _a.portal, target = _a.target, _c = _a.association, association = _c === void 0 ? 'aria-describedby' : _c, _d = _a.variant, variant = _d === void 0 ? 'text' : _d, _e = _a.show, showProp = _e === void 0 ? false : _e, _f = _a.hideElementOnHidden, hideElementOnHidden = _f === void 0 ? false : _f, className = _a.className, props = tslib.__rest(_a, ["id", "placement", "children", "portal", "target", "association", "variant", "show", "hideElementOnHidden", "className"]);
1469
1475
  var id = (propId ? [propId] : nextId.useId(1, 'tooltip'))[0];
1470
1476
  var hovering = React.useRef(false);
1471
1477
  var _g = React.useState(initialPlacement), placement = _g[0], setPlacement = _g[1];
@@ -1586,7 +1592,7 @@ function Tooltip(_a) {
1586
1592
  }
1587
1593
  }, [targetElement, id]);
1588
1594
  return showTooltip || hideElementOnHidden
1589
- ? reactDom.createPortal(React__default.createElement("div", tslib.__assign({ id: id, className: classNames('Tooltip', "Tooltip--" + placement, {
1595
+ ? reactDom.createPortal(React__default.createElement("div", tslib.__assign({ id: id, className: classNames('Tooltip', "Tooltip--" + placement, className, {
1590
1596
  TooltipInfo: variant === 'info',
1591
1597
  'Tooltip--hidden': !showTooltip && hideElementOnHidden,
1592
1598
  'Tooltip--big': variant === 'big'
@@ -1615,21 +1621,52 @@ var TooltipContent = function (_a) {
1615
1621
  return (React__default.createElement("div", tslib.__assign({ className: classNames('TooltipContent', className) }, other)));
1616
1622
  };
1617
1623
 
1624
+ /**
1625
+ * Unfortunately, eslint does not recognize that this Polymorphic component has a displayName set
1626
+ *
1627
+ * We might be able to remove this if we upgrade eslint and associated plugins
1628
+ * See: https://github.com/dequelabs/cauldron/issues/451
1629
+ */
1630
+ // eslint-disable-next-line react/display-name
1618
1631
  var IconButton = React.forwardRef(function (_a, ref) {
1619
- var icon = _a.icon, label = _a.label, _b = _a.tooltipPlacement, tooltipPlacement = _b === void 0 ? 'auto' : _b, tooltipVariant = _a.tooltipVariant, tooltipPortal = _a.tooltipPortal, className = _a.className, _c = _a.variant, variant = _c === void 0 ? 'secondary' : _c, disabled = _a.disabled, other = tslib.__rest(_a, ["icon", "label", "tooltipPlacement", "tooltipVariant", "tooltipPortal", "className", "variant", "disabled"]);
1620
- var buttonRef = React.useRef();
1621
- React.useImperativeHandle(ref, function () { return buttonRef.current; });
1632
+ var _b = _a.as, Component = _b === void 0 ? 'button' : _b, icon = _a.icon, label = _a.label, _c = _a.tooltipPlacement, tooltipPlacement = _c === void 0 ? 'auto' : _c, tooltipVariant = _a.tooltipVariant, tooltipPortal = _a.tooltipPortal, className = _a.className, _d = _a.variant, variant = _d === void 0 ? 'secondary' : _d, disabled = _a.disabled, _e = _a.tabIndex, tabIndex = _e === void 0 ? 0 : _e, other = tslib.__rest(_a, ["as", "icon", "label", "tooltipPlacement", "tooltipVariant", "tooltipPortal", "className", "variant", "disabled", "tabIndex"]);
1633
+ var internalRef = React.useRef();
1634
+ React.useImperativeHandle(ref, function () { return internalRef.current; });
1635
+ // Configure additional properties based on the type of the Component
1636
+ // for accessibility
1637
+ var accessibilityProps = {};
1638
+ if (Component === 'button') {
1639
+ accessibilityProps.type = 'button';
1640
+ }
1641
+ else {
1642
+ // We don't need to set an anchor's role, since it would be redundant
1643
+ if (Component !== 'a') {
1644
+ accessibilityProps.role = other.href || other.to ? 'link' : 'button';
1645
+ }
1646
+ if (disabled) {
1647
+ accessibilityProps['aria-disabled'] = disabled;
1648
+ }
1649
+ }
1650
+ React.useEffect(function () {
1651
+ var _a;
1652
+ if (!disabled) {
1653
+ return;
1654
+ }
1655
+ (_a = internalRef.current) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-label', label);
1656
+ }, [disabled]);
1622
1657
  return (React__default.createElement(React__default.Fragment, null,
1623
- React__default.createElement("button", tslib.__assign({ type: 'button', className: classNames(className, {
1658
+ React__default.createElement(Component, tslib.__assign({ className: classNames(className, {
1624
1659
  IconButton: true,
1625
1660
  'IconButton--primary': variant === 'primary',
1626
1661
  'IconButton--secondary': variant === 'secondary',
1627
1662
  'IconButton--error': variant === 'error'
1628
- }), ref: buttonRef, disabled: disabled }, other),
1663
+ }), ref: internalRef, disabled: disabled, tabIndex: disabled ? -1 : tabIndex }, accessibilityProps, other),
1629
1664
  React__default.createElement(Icon, { type: icon })),
1630
- !disabled && (React__default.createElement(Tooltip, { target: buttonRef, placement: tooltipPlacement, variant: tooltipVariant, portal: tooltipPortal, association: "aria-labelledby", hideElementOnHidden: true }, label))));
1665
+ !disabled && (React__default.createElement(Tooltip, { target: internalRef, placement: tooltipPlacement, variant: tooltipVariant, portal: tooltipPortal, association: "aria-labelledby", hideElementOnHidden: true }, label))));
1631
1666
  });
1632
1667
  IconButton.propTypes = {
1668
+ // @ts-expect-error
1669
+ as: PropTypes.elementType,
1633
1670
  // @ts-expect-error
1634
1671
  icon: PropTypes.string.isRequired,
1635
1672
  label: PropTypes.string.isRequired,
@@ -2160,22 +2197,21 @@ Link.propTypes = {
2160
2197
  Link.displayName = 'Link';
2161
2198
 
2162
2199
  function Loader(_a) {
2163
- var label = _a.label, className = _a.className, other = tslib.__rest(_a, ["label", "className"]);
2164
- var props = tslib.__assign(tslib.__assign({}, other), { className: classNames('Loader', className), 'aria-hidden': !label });
2165
- if (label) {
2166
- props.role = 'progressbar';
2167
- props['aria-valuetext'] = label;
2168
- props['aria-busy'] = true;
2169
- props['aria-valuemin'] = 0;
2170
- props['aria-valuemax'] = 100;
2171
- // According to the ARIA 1.2 spec (https://www.w3.org/TR/wai-aria-1.2/#progressbar),
2172
- // the aria-valuenow attribute SHOULD be omitted because the "value" of our progress
2173
- // is "indeterminate".
2200
+ var className = _a.className, _b = _a.variant, variant = _b === void 0 ? 'small' : _b, label = _a.label, props = tslib.__rest(_a, ["className", "variant", "label"]);
2201
+ if (label === null || label === void 0 ? void 0 : label.length) {
2202
+ props['role'] = 'alert';
2203
+ props.children = React__default.createElement(Offscreen, null, label);
2204
+ }
2205
+ else {
2206
+ props['aria-hidden'] = true;
2174
2207
  }
2175
- return React__default.createElement("div", tslib.__assign({}, props));
2208
+ return (React__default.createElement("div", tslib.__assign({ className: classNames('Loader', className, variant === 'large'
2209
+ ? 'Loader--large'
2210
+ : variant === 'small'
2211
+ ? 'Loader--small'
2212
+ : '') }, props)));
2176
2213
  }
2177
2214
  Loader.propTypes = {
2178
- label: PropTypes.string,
2179
2215
  className: PropTypes.string
2180
2216
  };
2181
2217
  Loader.displayName = 'Loader';
@@ -2247,7 +2283,7 @@ var Select = React__default.forwardRef(function (_a, ref) {
2247
2283
  })
2248
2284
  : children),
2249
2285
  React__default.createElement("div", { className: "arrow-down" })),
2250
- React__default.createElement("div", { className: "Error", id: errorId }, error)));
2286
+ error && (React__default.createElement("div", { id: errorId, className: "Error" }, error))));
2251
2287
  /* eslint-disable jsx-a11y/no-onchange */
2252
2288
  });
2253
2289
  Select.displayName = 'Select';
@@ -2294,13 +2330,13 @@ var RadioGroup = function (_a) {
2294
2330
  handleChange(radioValue);
2295
2331
  onChange(radio, (_a = inputs.current) === null || _a === void 0 ? void 0 : _a[index]);
2296
2332
  }, disabled: disabled, checked: isChecked }, other)),
2333
+ React__default.createElement("label", { htmlFor: id, className: classNames('Field__label', {
2334
+ 'Field__label--disabled': disabled
2335
+ }) }, label),
2297
2336
  React__default.createElement(Icon, { className: classNames('Radio__overlay', {
2298
2337
  'Radio__overlay--focused': isFocused,
2299
2338
  'Radio__overlay--disabled': disabled
2300
- }), type: isChecked ? 'radio-checked' : 'radio-unchecked', "aria-hidden": "true", onClick: function () { return onRadioClick(index); } }),
2301
- React__default.createElement("label", { htmlFor: id, className: classNames('Field__label', {
2302
- 'Field__label--disabled': disabled
2303
- }) }, label)));
2339
+ }), type: isChecked ? 'radio-checked' : 'radio-unchecked', "aria-hidden": "true", onClick: function () { return onRadioClick(index); } })));
2304
2340
  });
2305
2341
  // reset the input refs array
2306
2342
  // refs get clobbered every re-render anyway and this supports "dynamic" radios
@@ -2350,6 +2386,9 @@ var Checkbox = React.forwardRef(function (_a, ref) {
2350
2386
  onChange(e);
2351
2387
  }
2352
2388
  } }, other)),
2389
+ React__default.createElement("label", { className: classNames('Field__label', {
2390
+ 'Field__label--disabled': disabled
2391
+ }), htmlFor: id }, label),
2353
2392
  React__default.createElement(Icon, { className: classNames('Checkbox__overlay', {
2354
2393
  'Checkbox__overlay--disabled': disabled,
2355
2394
  'Checkbox__overlay--focused': focused,
@@ -2362,11 +2401,8 @@ var Checkbox = React.forwardRef(function (_a, ref) {
2362
2401
  else {
2363
2402
  (_b = checkRef.current) === null || _b === void 0 ? void 0 : _b.click();
2364
2403
  }
2365
- } }),
2366
- React__default.createElement("label", { className: classNames('Field__label', {
2367
- 'Field__label--disabled': disabled
2368
- }), htmlFor: id }, label)),
2369
- React__default.createElement("div", { id: errorId, className: "Error" }, error)));
2404
+ } })),
2405
+ error && (React__default.createElement("div", { id: errorId, className: "Error" }, error))));
2370
2406
  });
2371
2407
  Checkbox.displayName = 'Checkbox';
2372
2408
 
@@ -2473,7 +2509,7 @@ var TextField = /** @class */ (function (_super) {
2473
2509
  _this.input = input;
2474
2510
  setRef(fieldRef, input);
2475
2511
  } }, other, inputProps)),
2476
- React__default.createElement("div", { className: "Error", id: this.errorId }, error)));
2512
+ error && (React__default.createElement("div", { className: "Error", id: this.errorId }, error))));
2477
2513
  };
2478
2514
  TextField.prototype.onChange = function (e) {
2479
2515
  var _a, _b;
@@ -7913,9 +7949,24 @@ Code.propTypes = {
7913
7949
  className: PropTypes.string
7914
7950
  };
7915
7951
 
7952
+ function AxeLoader() {
7953
+ return (React__default.createElement("svg", { version: "1.1", xmlns: "http://www.w3.org/2000/svg", x: "0", y: "0", viewBox: "0 0 800 800" },
7954
+ React__default.createElement("path", { fill: "currentColor", d: "M641.4 555.6c-27.2-12.1-59.1.2-71.2 27.3-.5 1-.8 2.1-1.2 3.2H160l227.6-394.3 170.1 292.8 32.4-18.8L387.5 117 95 623.6h474c4.9 13.1 14.8 24.4 28.6 30.5 7.1 3.2 14.5 4.7 21.8 4.7 20.7 0 40.4-11.9 49.3-32 12.1-27.1-.1-59.1-27.3-71.2zm1.6 59.8c-5.8 13-21.1 18.9-34 13.1-13-5.8-18.9-21.1-13.1-34 4.3-9.6 13.7-15.3 23.6-15.3 3.5 0 7.1.7 10.4 2.2 13.1 5.7 18.9 21 13.1 34z" }),
7955
+ React__default.createElement("path", { fill: "currentColor", d: "M379 549.9h-27.6v-16.7c-7.4 13.5-22.8 20.2-39 20.2-37.1 0-58.9-28.9-58.9-61.6 0-36.5 26.4-61.4 58.9-61.4 21.1 0 34 11.2 39 20.5V434H379v115.9zm-97.8-57.4c0 14.3 10.3 35.2 35.2 35.2 15.4 0 25.5-8 30.8-18.6 2.7-5.1 4-10.5 4.4-16.2.2-5.5-.8-11.2-3.2-16.2-4.9-11-15.6-20.5-32.3-20.5-22.4 0-35 18.1-35 36.1v.2zM436.2 488.9l-39-54.8h33.3l22.6 35.6 22.6-35.6h32.9l-38.8 54.8 43.2 61h-34L453.1 510l-26.2 39.9h-33.5l42.8-61z" })));
7956
+ }
7957
+
7916
7958
  var LoaderOverlay = React__default.forwardRef(function (_a, ref) {
7917
- var className = _a.className, other = tslib.__rest(_a, ["className"]);
7918
- return (React__default.createElement("div", tslib.__assign({ className: classNames('Loader__overlay', className), ref: ref }, other)));
7959
+ var className = _a.className, variant = _a.variant, label = _a.label, other = tslib.__rest(_a, ["className", "variant", "label"]);
7960
+ return (React__default.createElement("div", tslib.__assign({ className: classNames('Loader__overlay', className, variant === 'large'
7961
+ ? 'Loader__overlay--large'
7962
+ : variant === 'small'
7963
+ ? 'Loader__overlay--small'
7964
+ : ''), ref: ref }, other),
7965
+ React__default.createElement("div", { className: "Loader__overlay__loader" },
7966
+ React__default.createElement(Loader, { variant: variant }),
7967
+ React__default.createElement(AxeLoader, null)),
7968
+ label ? React__default.createElement("span", { className: "Loader__overlay__label" }, label) : null,
7969
+ other.children));
7919
7970
  });
7920
7971
  LoaderOverlay.propTypes = {
7921
7972
  className: PropTypes.string
@@ -8021,9 +8072,29 @@ Tab.propTypes = {
8021
8072
  children: PropTypes.node
8022
8073
  };
8023
8074
 
8075
+ /**
8076
+ * Hook to be used similarly to the React.Component#componentDidMount.
8077
+ * Executes the provided `effect` when `dependencies` change but does not
8078
+ * execute the effect initially (on mount) - only on update.
8079
+ *
8080
+ * @param effect {Function} function to be executed when dependencies update
8081
+ * @param dependencies {Any} any valid dependency argument to React.useEffect
8082
+ */
8083
+ var useDidUpdate = function (effect, dependencies) {
8084
+ var mounted = React__default.useRef(false);
8085
+ React__default.useEffect(function () {
8086
+ if (!mounted.current) {
8087
+ mounted.current = true;
8088
+ return;
8089
+ }
8090
+ effect();
8091
+ }, dependencies);
8092
+ };
8093
+
8024
8094
  var Tabs = function (_a) {
8025
- var children = _a.children, thin = _a.thin, _b = _a.initialActiveIndex, initialActiveIndex = _b === void 0 ? 0 : _b, className = _a.className, labelProp = tslib.__rest(_a, ["children", "thin", "initialActiveIndex", "className"]);
8026
- var _c = React.useState(initialActiveIndex), activeIndex = _c[0], setActiveIndex = _c[1];
8095
+ var children = _a.children, thin = _a.thin, _b = _a.orientation, orientation = _b === void 0 ? 'horizontal' : _b, _c = _a.initialActiveIndex, initialActiveIndex = _c === void 0 ? 0 : _c, className = _a.className, onChange = _a.onChange, labelProp = tslib.__rest(_a, ["children", "thin", "orientation", "initialActiveIndex", "className", "onChange"]);
8096
+ var _d = React.useState(initialActiveIndex), activeIndex = _d[0], setActiveIndex = _d[1];
8097
+ var tabsRef = React.useRef(null);
8027
8098
  var focusedTabRef = React.useRef(null);
8028
8099
  var tabs = React__default.Children.toArray(children).filter(function (child) { return child.type === Tab; });
8029
8100
  var tabCount = tabs.length;
@@ -8033,34 +8104,48 @@ var Tabs = function (_a) {
8033
8104
  var handleKeyDown = function (event) {
8034
8105
  var key = event.key;
8035
8106
  var newIndex = activeIndex;
8107
+ var forward;
8108
+ var backward;
8109
+ if (orientation === 'horizontal') {
8110
+ forward = 'ArrowRight';
8111
+ backward = 'ArrowLeft';
8112
+ }
8113
+ else {
8114
+ forward = 'ArrowDown';
8115
+ backward = 'ArrowUp';
8116
+ }
8036
8117
  switch (key) {
8037
- case 'ArrowLeft': {
8118
+ case backward: {
8038
8119
  newIndex = activeIndex - 1;
8039
8120
  // circularity
8040
8121
  if (newIndex === -1) {
8041
8122
  newIndex = tabCount - 1;
8042
8123
  }
8043
8124
  setActiveIndex(newIndex);
8125
+ event.preventDefault();
8044
8126
  break;
8045
8127
  }
8046
- case 'ArrowRight': {
8128
+ case forward: {
8047
8129
  newIndex = activeIndex + 1;
8048
8130
  // circularity
8049
8131
  if (newIndex === tabCount) {
8050
8132
  newIndex = 0;
8051
8133
  }
8052
8134
  setActiveIndex(newIndex);
8135
+ event.preventDefault();
8053
8136
  break;
8054
8137
  }
8055
8138
  case 'Home': {
8056
8139
  newIndex = 0;
8057
8140
  setActiveIndex(newIndex);
8141
+ event.preventDefault();
8058
8142
  break;
8059
8143
  }
8060
8144
  case 'End': {
8061
8145
  event.preventDefault();
8062
8146
  newIndex = tabCount - 1;
8063
8147
  setActiveIndex(newIndex);
8148
+ event.preventDefault();
8064
8149
  break;
8065
8150
  }
8066
8151
  }
@@ -8088,10 +8173,15 @@ var Tabs = function (_a) {
8088
8173
  useDidUpdate(function () {
8089
8174
  var _a;
8090
8175
  (_a = focusedTabRef.current) === null || _a === void 0 ? void 0 : _a.focus();
8176
+ if (typeof onChange === 'function') {
8177
+ onChange({ activeTabIndex: activeIndex, target: focusedTabRef.current });
8178
+ }
8091
8179
  }, [activeIndex]);
8092
8180
  return (React__default.createElement("div", { className: classNames('Tabs', className, {
8093
- 'Tabs--thin': thin
8094
- }) },
8181
+ 'Tabs--thin': thin,
8182
+ 'Tabs--vertical': orientation === 'vertical',
8183
+ 'Tabs--horizontal': orientation === 'horizontal'
8184
+ }), ref: tabsRef },
8095
8185
  React__default.createElement("ul", tslib.__assign({ role: "tablist", className: "Tablist" }, labelProp, { onKeyDown: handleKeyDown }), tabComponents)));
8096
8186
  };
8097
8187
  Tabs.displayName = 'Tabs';
@@ -8101,6 +8191,7 @@ Tabs.propTypes = {
8101
8191
  'aria-labelledby': PropTypes.string,
8102
8192
  initialActiveIndex: PropTypes.number,
8103
8193
  thin: PropTypes.bool,
8194
+ orientation: PropTypes.string,
8104
8195
  className: PropTypes.string
8105
8196
  };
8106
8197
 
@@ -8160,7 +8251,7 @@ var Step = function (props) {
8160
8251
  // list items, therefore it is safe to clobber
8161
8252
  // it with the contents of the tooltip in the
8162
8253
  // tab stop's accessible name.
8163
- association: "aria-labelledby" },
8254
+ association: "aria-labelledby", "aria-label": isTooltip(props) ? props.tooltipText : undefined },
8164
8255
  React__default.createElement("div", { className: "Stepper__step-indicator" }))) : (React__default.createElement(React__default.Fragment, null,
8165
8256
  React__default.createElement("div", { className: "Stepper__step-indicator" }),
8166
8257
  'children' in props && (React__default.createElement("div", { className: "Stepper__step-label" }, props.children)))))));
@@ -8169,6 +8260,7 @@ Step.displayName = 'Step';
8169
8260
  Step.propTypes = {
8170
8261
  children: PropTypes.node,
8171
8262
  tooltip: PropTypes.node,
8263
+ tooltipText: PropTypes.string,
8172
8264
  className: PropTypes.string
8173
8265
  };
8174
8266
  var Stepper = function (_a) {
@@ -8182,15 +8274,37 @@ Stepper.propTypes = {
8182
8274
  };
8183
8275
 
8184
8276
  var Panel = function (_a) {
8185
- var className = _a.className, _b = _a.title, title = _b === void 0 ? '' : _b, actions = _a.actions, children = _a.children;
8186
- return (React__default.createElement("div", { className: classNames('Panel', className) },
8187
- React__default.createElement("div", { className: "Panel__Header" },
8188
- title && React__default.createElement("div", { className: "Panel__Header-title" }, title),
8189
- actions && React__default.createElement("div", { className: "Panel__Header-actions" }, actions)),
8190
- React__default.createElement("div", { className: "Panel__Content" }, children)));
8277
+ var _b;
8278
+ var children = _a.children, collapsed = _a.collapsed, className = _a.className, heading = _a.heading, other = tslib.__rest(_a, ["children", "collapsed", "className", "heading"]);
8279
+ var Heading = "h" + (typeof heading === 'object' && 'level' in heading && !!heading.level
8280
+ ? heading.level
8281
+ : 2);
8282
+ var headingId = typeof heading === 'object' && 'id' in heading ? heading.id : randomId();
8283
+ return (React__default.createElement("section", tslib.__assign({ "aria-labelledby": headingId, className: classNames('Panel', className, (_b = {},
8284
+ _b['Panel--collapsed'] = collapsed,
8285
+ _b)) }, other),
8286
+ React__default.createElement(Heading, { id: headingId, className: "Panel__Heading" }, typeof heading === 'object' && 'text' in heading
8287
+ ? heading.text
8288
+ : heading),
8289
+ children));
8191
8290
  };
8192
8291
  Panel.displayName = 'Panel';
8193
8292
  Panel.propTypes = {
8293
+ children: PropTypes.node.isRequired,
8294
+ heading: PropTypes.oneOfType([PropTypes.object, PropTypes.node]).isRequired,
8295
+ className: PropTypes.string
8296
+ };
8297
+
8298
+ var IssuePanel = function (_a) {
8299
+ var className = _a.className, _b = _a.title, title = _b === void 0 ? '' : _b, actions = _a.actions, children = _a.children;
8300
+ return (React__default.createElement("div", { className: classNames('IssuePanel', className) },
8301
+ React__default.createElement("div", { className: "IssuePanel__Header" },
8302
+ title && React__default.createElement("div", { className: "IssuePanel__Header-title" }, title),
8303
+ actions && React__default.createElement("div", { className: "IssuePanel__Header-actions" }, actions)),
8304
+ React__default.createElement("div", { className: "IssuePanel__Content" }, children)));
8305
+ };
8306
+ IssuePanel.displayName = 'IssuePanel';
8307
+ IssuePanel.propTypes = {
8194
8308
  children: PropTypes.node.isRequired,
8195
8309
  className: PropTypes.string
8196
8310
  };
@@ -8203,23 +8317,92 @@ var ProgressBar = React.forwardRef(function (_a, ref) {
8203
8317
  });
8204
8318
  ProgressBar.displayName = 'ProgressBar';
8205
8319
 
8206
- /**
8207
- * Hook to be used similarly to the React.Component#componentDidMount.
8208
- * Executes the provided `effect` when `dependencies` change but does not
8209
- * execute the effect initially (on mount) - only on update.
8210
- *
8211
- * @param effect {Function} function to be executed when dependencies update
8212
- * @param dependencies {Any} any valid dependency argument to React.useEffect
8213
- */
8214
- var useDidUpdate = function (effect, dependencies) {
8215
- var mounted = React__default.useRef(false);
8216
- React__default.useEffect(function () {
8217
- if (!mounted.current) {
8218
- mounted.current = true;
8219
- return;
8220
- }
8221
- effect();
8222
- }, dependencies);
8320
+ var Address = function (_a) {
8321
+ var children = _a.children, className = _a.className, other = tslib.__rest(_a, ["children", "className"]);
8322
+ return (React__default.createElement("address", tslib.__assign({ className: classNames('Address', className) }, other), children));
8323
+ };
8324
+ Address.displayName = 'Address';
8325
+ Address.propTypes = {
8326
+ children: PropTypes.node.isRequired,
8327
+ className: PropTypes.string
8328
+ };
8329
+ var AddressLine = function (_a) {
8330
+ var children = _a.children, className = _a.className, other = tslib.__rest(_a, ["children", "className"]);
8331
+ return children ? (React__default.createElement("div", tslib.__assign({ className: classNames('Address__line', className) }, other), children)) : null;
8332
+ };
8333
+ AddressLine.displayName = 'AddressLine';
8334
+ AddressLine.propTypes = {
8335
+ children: PropTypes.node,
8336
+ className: PropTypes.string
8337
+ };
8338
+ var AddressCityStateZip = function (_a) {
8339
+ var city = _a.city, state = _a.state, zip = _a.zip, className = _a.className, other = tslib.__rest(_a, ["city", "state", "zip", "className"]);
8340
+ return city || state || zip ? (React__default.createElement("div", tslib.__assign({ className: classNames('Address__city-state-zip', className) }, other), [[city, state].filter(Boolean).join(', '), zip]
8341
+ .filter(Boolean)
8342
+ .join(' '))) : null;
8343
+ };
8344
+ AddressCityStateZip.displayName = 'AddressCityStateZip';
8345
+ AddressCityStateZip.propTypes = {
8346
+ city: PropTypes.node,
8347
+ state: PropTypes.node,
8348
+ zip: PropTypes.node,
8349
+ className: PropTypes.string
8350
+ };
8351
+
8352
+ var Pagination = React__default.forwardRef(function (_a, ref) {
8353
+ var totalItems = _a.totalItems, _b = _a.itemsPerPage, itemsPerPage = _b === void 0 ? 10 : _b, _c = _a.currentPage, currentPage = _c === void 0 ? 1 : _c, statusLabel = _a.statusLabel, _d = _a.firstPageLabel, firstPageLabel = _d === void 0 ? 'First page' : _d, _e = _a.previousPageLabel, previousPageLabel = _e === void 0 ? 'Previous page' : _e, _f = _a.nextPageLabel, nextPageLabel = _f === void 0 ? 'Next page' : _f, _g = _a.lastPageLabel, lastPageLabel = _g === void 0 ? 'Last page' : _g, _h = _a.tooltipPlacement, tooltipPlacement = _h === void 0 ? 'bottom' : _h, onNextPageClick = _a.onNextPageClick, onPreviousPageClick = _a.onPreviousPageClick, onFirstPageClick = _a.onFirstPageClick, onLastPageClick = _a.onLastPageClick, className = _a.className, other = tslib.__rest(_a, ["totalItems", "itemsPerPage", "currentPage", "statusLabel", "firstPageLabel", "previousPageLabel", "nextPageLabel", "lastPageLabel", "tooltipPlacement", "onNextPageClick", "onPreviousPageClick", "onFirstPageClick", "onLastPageClick", "className"]);
8354
+ var itemStart = currentPage * itemsPerPage - itemsPerPage + 1;
8355
+ var itemEnd = Math.min(itemStart + itemsPerPage - 1, totalItems);
8356
+ var isLastPage = itemEnd === totalItems;
8357
+ var isFirstPage = currentPage === 1;
8358
+ return (React__default.createElement("div", tslib.__assign({ ref: ref, className: classNames('Pagination', className) }, other),
8359
+ React__default.createElement("ul", null,
8360
+ React__default.createElement("li", null, isFirstPage ? (React__default.createElement(TooltipTabstop, { hideElementOnHidden: true, tooltip: firstPageLabel, placement: tooltipPlacement },
8361
+ React__default.createElement(Icon, { type: "chevron-double-left" }))) : (React__default.createElement(IconButton, { icon: "chevron-double-left", tooltipPlacement: tooltipPlacement, label: firstPageLabel, onClick: onFirstPageClick }))),
8362
+ React__default.createElement("li", null, isFirstPage ? (React__default.createElement(TooltipTabstop, { hideElementOnHidden: true, tooltip: previousPageLabel, placement: tooltipPlacement },
8363
+ React__default.createElement(Icon, { type: "chevron-left" }))) : (React__default.createElement(IconButton, { icon: "chevron-left", tooltipPlacement: tooltipPlacement, label: previousPageLabel, onClick: onPreviousPageClick }))),
8364
+ React__default.createElement("li", null,
8365
+ React__default.createElement("span", { role: "log", "aria-atomic": "true" }, statusLabel || (React__default.createElement("span", null,
8366
+ "Showing ",
8367
+ React__default.createElement("strong", null, itemStart),
8368
+ " of",
8369
+ ' ',
8370
+ React__default.createElement("strong", null, itemEnd),
8371
+ " of ",
8372
+ React__default.createElement("strong", null, totalItems))))),
8373
+ React__default.createElement("li", null, isLastPage ? (React__default.createElement(TooltipTabstop, { hideElementOnHidden: true, tooltip: nextPageLabel, placement: tooltipPlacement },
8374
+ React__default.createElement(Icon, { type: "chevron-right" }))) : (React__default.createElement(IconButton, { icon: "chevron-right", tooltipPlacement: tooltipPlacement, label: nextPageLabel, onClick: onNextPageClick }))),
8375
+ React__default.createElement("li", null, isLastPage ? (React__default.createElement(TooltipTabstop, { hideElementOnHidden: true, tooltip: lastPageLabel, placement: tooltipPlacement },
8376
+ React__default.createElement(Icon, { type: "chevron-double-right" }))) : (React__default.createElement(IconButton, { icon: "chevron-double-right", tooltipPlacement: tooltipPlacement, label: lastPageLabel, onClick: onLastPageClick }))))));
8377
+ });
8378
+ Pagination.displayName = 'Pagination';
8379
+ Pagination.propTypes = {
8380
+ totalItems: PropTypes.number.isRequired,
8381
+ itemsPerPage: PropTypes.number,
8382
+ currentPage: PropTypes.number,
8383
+ statusLabel: PropTypes.element,
8384
+ firstPageLabel: PropTypes.string,
8385
+ previousPageLabel: PropTypes.string,
8386
+ nextPageLabel: PropTypes.string,
8387
+ lastPageLabel: PropTypes.string,
8388
+ onNextPageClick: PropTypes.func,
8389
+ onPreviousPageClick: PropTypes.func,
8390
+ onFirstPageClick: PropTypes.func,
8391
+ onLastPageClick: PropTypes.func,
8392
+ // @ts-expect-error
8393
+ tooltipPlacement: PropTypes.string,
8394
+ className: PropTypes.string
8395
+ };
8396
+
8397
+ var FieldWrap = React__default.forwardRef(function (_a, ref) {
8398
+ var children = _a.children, className = _a.className, _b = _a.as, Component = _b === void 0 ? 'div' : _b, props = tslib.__rest(_a, ["children", "className", "as"]);
8399
+ return (React__default.createElement(Component, tslib.__assign({ ref: ref, className: classNames('Panel', className) }, props), children));
8400
+ });
8401
+ FieldWrap.displayName = 'FieldWrap';
8402
+ FieldWrap.propTypes = {
8403
+ children: PropTypes.node.isRequired,
8404
+ className: PropTypes.string,
8405
+ as: PropTypes.string
8223
8406
  };
8224
8407
 
8225
8408
  var LIGHT_THEME_CLASS = 'cauldron--theme-light';
@@ -8271,6 +8454,9 @@ ThemeProvider.propTypes = {
8271
8454
  initialTheme: PropTypes.string
8272
8455
  };
8273
8456
 
8457
+ exports.Address = Address;
8458
+ exports.AddressCityStateZip = AddressCityStateZip;
8459
+ exports.AddressLine = AddressLine;
8274
8460
  exports.Alert = Alert;
8275
8461
  exports.AlertActions = AlertActions;
8276
8462
  exports.AlertContent = AlertContent;
@@ -8291,8 +8477,10 @@ exports.Dialog = Dialog;
8291
8477
  exports.DialogContent = DialogContent;
8292
8478
  exports.DialogFooter = DialogFooter;
8293
8479
  exports.ExpandCollapsePanel = ExpandCollapsePanel;
8480
+ exports.FieldWrap = FieldWrap;
8294
8481
  exports.Icon = Icon;
8295
8482
  exports.IconButton = IconButton;
8483
+ exports.IssuePanel = IssuePanel;
8296
8484
  exports.Layout = Layout;
8297
8485
  exports.Line = Line;
8298
8486
  exports.Link = Link;
@@ -8312,6 +8500,7 @@ exports.OptionsMenuItem = OptionsMenuItem;
8312
8500
  exports.OptionsMenuList = OptionsMenuList;
8313
8501
  exports.OptionsMenuTrigger = OptionsMenuTrigger;
8314
8502
  exports.OptionsMenuWrapper = OptionsMenuWrapper;
8503
+ exports.Pagination = Pagination;
8315
8504
  exports.Panel = Panel;
8316
8505
  exports.PanelTrigger = PanelTrigger$1;
8317
8506
  exports.Pointout = Pointout;