@deque/cauldron-react 3.0.1-canary.ec8e93ab → 4.0.0-canary.26257ad7

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 (94) 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/Breadcrumb/Breadcrumb.d.ts +11 -0
  19. package/lib/components/Breadcrumb/BreadcrumbItem.d.ts +5 -0
  20. package/lib/components/Breadcrumb/BreadcrumbLink.d.ts +6 -0
  21. package/lib/components/Breadcrumb/index.d.ts +3 -0
  22. package/lib/components/Checkbox/index.d.ts +1 -0
  23. package/lib/components/FieldWrap/index.d.ts +7 -0
  24. package/lib/components/Icon/types.d.ts +1 -1
  25. package/lib/components/IssuePanel/index.d.ts +17 -0
  26. package/lib/components/Loader/index.d.ts +2 -1
  27. package/lib/components/LoaderOverlay/axe-loader.d.ts +1 -0
  28. package/lib/components/LoaderOverlay/index.d.ts +5 -1
  29. package/lib/components/Pagination/index.d.ts +20 -0
  30. package/lib/components/Panel/index.d.ts +13 -8
  31. package/lib/components/RadioGroup/index.d.ts +2 -0
  32. package/lib/components/Table/TableHeader.d.ts +6 -1
  33. package/lib/components/Tabs/Tabs.d.ts +3 -1
  34. package/lib/{copy-d2ade017.js → copy.js} +10 -12
  35. package/lib/{download-2790e982.js → download.js} +10 -12
  36. package/lib/exchange.js +24 -0
  37. package/lib/external-link.js +25 -0
  38. package/lib/{eye-a0d28243.js → eye.js} +10 -12
  39. package/lib/{filter-d2057f4c.js → filter.js} +10 -12
  40. package/lib/{flag-fb248a99.js → flag.js} +12 -13
  41. package/lib/gears.js +22 -0
  42. package/lib/{grid-ee446118.js → grid.js} +10 -12
  43. package/lib/{hamburger-menu-0fc0e266.js → hamburger-menu.js} +10 -11
  44. package/lib/highlight.js +24 -0
  45. package/lib/index.d.ts +4 -0
  46. package/lib/index.js +354 -148
  47. package/lib/{info-circle-alt-b1a696c7.js → info-circle-alt.js} +10 -12
  48. package/lib/{info-circle-b43f7a9b.js → info-circle.js} +11 -12
  49. package/lib/{info-square-f193e281.js → info-square.js} +10 -11
  50. package/lib/kabob.js +25 -0
  51. package/lib/{list-8fbd8209.js → list.js} +10 -11
  52. package/lib/{lock-bd0122db.js → lock.js} +12 -13
  53. package/lib/{magnifying-glass-2907fb77.js → magnifying-glass.js} +9 -11
  54. package/lib/{menu-2f2be7c2.js → menu.js} +11 -12
  55. package/lib/{new-releases-ac749bdd.js → new-releases.js} +13 -15
  56. package/lib/{new-6c3ac7d7.js → new.js} +11 -12
  57. package/lib/{no-bb3aa565.js → no.js} +12 -13
  58. package/lib/{pencil-4843058f.js → pencil.js} +11 -13
  59. package/lib/{plus-6589e613.js → plus.js} +11 -12
  60. package/lib/{question-circle-c3c634c4.js → question-circle.js} +11 -13
  61. package/lib/{radio-checked-006112fe.js → radio-checked.js} +11 -12
  62. package/lib/{radio-unchecked-a76e2d66.js → radio-unchecked.js} +11 -12
  63. package/lib/{recycle-0198fb67.js → recycle.js} +11 -12
  64. package/lib/resend.js +24 -0
  65. package/lib/robot.js +26 -0
  66. package/lib/run-again.js +23 -0
  67. package/lib/{save-edf5fc68.js → save.js} +12 -13
  68. package/lib/share.js +25 -0
  69. package/lib/sort-triangle.js +24 -0
  70. package/lib/{sort-49ec1442.js → sort.js} +11 -13
  71. package/lib/{star-a1af8d95.js → star.js} +11 -13
  72. package/lib/sun.js +24 -0
  73. package/lib/{tag-56c32f4f.js → tag.js} +11 -12
  74. package/lib/target.js +28 -0
  75. package/lib/trash.js +24 -0
  76. package/lib/{triangle-51d7723a.js → triangle.js} +14 -16
  77. package/lib/{upload-d71f0e44.js → upload.js} +10 -12
  78. package/package.json +3 -3
  79. package/lib/arrow-circle-7b95a2fd.js +0 -27
  80. package/lib/arrows-alt-b91e24b7.js +0 -26
  81. package/lib/chevron-064d5f96.js +0 -26
  82. package/lib/chevron-double-65975fca.js +0 -26
  83. package/lib/code-e3365341.js +0 -26
  84. package/lib/exchange-1d290efb.js +0 -26
  85. package/lib/external-link-ef122c95.js +0 -26
  86. package/lib/gears-b9ee1585.js +0 -23
  87. package/lib/highlight-81bfb759.js +0 -26
  88. package/lib/kabob-692fdc00.js +0 -26
  89. package/lib/robot-22863b2b.js +0 -29
  90. package/lib/run-again-c9777075.js +0 -25
  91. package/lib/share-70e94257.js +0 -26
  92. package/lib/sun-408aecdc.js +0 -26
  93. package/lib/target-50f179e0.js +0 -35
  94. package/lib/trash-896a3291.js +0 -26
package/lib/index.js CHANGED
@@ -173,10 +173,12 @@ var iconTypes = [
173
173
  'radio-checked',
174
174
  'radio-unchecked',
175
175
  'recycle',
176
+ 'resend',
176
177
  'robot',
177
178
  'run-again',
178
179
  'save',
179
180
  'share',
181
+ 'sort-triangle',
180
182
  'sort',
181
183
  'star',
182
184
  'sun',
@@ -191,75 +193,81 @@ var iconTypes = [
191
193
  ];
192
194
 
193
195
  function __variableDynamicImportRuntime0__(path) {
194
- switch (path) {
195
- case './icons/add-user.svg': return Promise.resolve().then(function () { return require('./add-user-075c63a1.js'); });
196
- case './icons/arrow-circle.svg': return Promise.resolve().then(function () { return require('./arrow-circle-7b95a2fd.js'); });
197
- case './icons/arrow.svg': return Promise.resolve().then(function () { return require('./arrow-97011665.js'); });
198
- case './icons/arrows-alt.svg': return Promise.resolve().then(function () { return require('./arrows-alt-b91e24b7.js'); });
199
- case './icons/bolt.svg': return Promise.resolve().then(function () { return require('./bolt-e44406fd.js'); });
200
- case './icons/caution.svg': return Promise.resolve().then(function () { return require('./caution-e048e1bf.js'); });
201
- case './icons/check-circle.svg': return Promise.resolve().then(function () { return require('./check-circle-8b5069b4.js'); });
202
- case './icons/check-shield.svg': return Promise.resolve().then(function () { return require('./check-shield-8fdb3641.js'); });
203
- case './icons/check-solid.svg': return Promise.resolve().then(function () { return require('./check-solid-a0682f04.js'); });
204
- case './icons/check.svg': return Promise.resolve().then(function () { return require('./check-c2912d5e.js'); });
205
- case './icons/checkbox-checked.svg': return Promise.resolve().then(function () { return require('./checkbox-checked-a262e99c.js'); });
206
- case './icons/checkbox-unchecked.svg': return Promise.resolve().then(function () { return require('./checkbox-unchecked-2ad5b4ae.js'); });
207
- case './icons/chevron-double.svg': return Promise.resolve().then(function () { return require('./chevron-double-65975fca.js'); });
208
- case './icons/chevron.svg': return Promise.resolve().then(function () { return require('./chevron-064d5f96.js'); });
209
- case './icons/close.svg': return Promise.resolve().then(function () { return require('./close-31ce4dcf.js'); });
210
- case './icons/code.svg': return Promise.resolve().then(function () { return require('./code-e3365341.js'); });
211
- case './icons/copy.svg': return Promise.resolve().then(function () { return require('./copy-d2ade017.js'); });
212
- case './icons/download.svg': return Promise.resolve().then(function () { return require('./download-2790e982.js'); });
213
- case './icons/exchange.svg': return Promise.resolve().then(function () { return require('./exchange-1d290efb.js'); });
214
- case './icons/external-link.svg': return Promise.resolve().then(function () { return require('./external-link-ef122c95.js'); });
215
- case './icons/eye.svg': return Promise.resolve().then(function () { return require('./eye-a0d28243.js'); });
216
- case './icons/filter.svg': return Promise.resolve().then(function () { return require('./filter-d2057f4c.js'); });
217
- case './icons/flag.svg': return Promise.resolve().then(function () { return require('./flag-fb248a99.js'); });
218
- case './icons/gears.svg': return Promise.resolve().then(function () { return require('./gears-b9ee1585.js'); });
219
- case './icons/grid.svg': return Promise.resolve().then(function () { return require('./grid-ee446118.js'); });
220
- case './icons/hamburger-menu.svg': return Promise.resolve().then(function () { return require('./hamburger-menu-0fc0e266.js'); });
221
- case './icons/highlight.svg': return Promise.resolve().then(function () { return require('./highlight-81bfb759.js'); });
222
- case './icons/info-circle-alt.svg': return Promise.resolve().then(function () { return require('./info-circle-alt-b1a696c7.js'); });
223
- case './icons/info-circle.svg': return Promise.resolve().then(function () { return require('./info-circle-b43f7a9b.js'); });
224
- case './icons/info-square.svg': return Promise.resolve().then(function () { return require('./info-square-f193e281.js'); });
225
- case './icons/kabob.svg': return Promise.resolve().then(function () { return require('./kabob-692fdc00.js'); });
226
- case './icons/list.svg': return Promise.resolve().then(function () { return require('./list-8fbd8209.js'); });
227
- case './icons/lock.svg': return Promise.resolve().then(function () { return require('./lock-bd0122db.js'); });
228
- case './icons/magnifying-glass.svg': return Promise.resolve().then(function () { return require('./magnifying-glass-2907fb77.js'); });
229
- case './icons/menu.svg': return Promise.resolve().then(function () { return require('./menu-2f2be7c2.js'); });
230
- case './icons/new-releases.svg': return Promise.resolve().then(function () { return require('./new-releases-ac749bdd.js'); });
231
- case './icons/new.svg': return Promise.resolve().then(function () { return require('./new-6c3ac7d7.js'); });
232
- case './icons/no.svg': return Promise.resolve().then(function () { return require('./no-bb3aa565.js'); });
233
- case './icons/pencil.svg': return Promise.resolve().then(function () { return require('./pencil-4843058f.js'); });
234
- case './icons/plus.svg': return Promise.resolve().then(function () { return require('./plus-6589e613.js'); });
235
- case './icons/question-circle.svg': return Promise.resolve().then(function () { return require('./question-circle-c3c634c4.js'); });
236
- case './icons/radio-checked.svg': return Promise.resolve().then(function () { return require('./radio-checked-006112fe.js'); });
237
- case './icons/radio-unchecked.svg': return Promise.resolve().then(function () { return require('./radio-unchecked-a76e2d66.js'); });
238
- case './icons/recycle.svg': return Promise.resolve().then(function () { return require('./recycle-0198fb67.js'); });
239
- case './icons/robot.svg': return Promise.resolve().then(function () { return require('./robot-22863b2b.js'); });
240
- case './icons/run-again.svg': return Promise.resolve().then(function () { return require('./run-again-c9777075.js'); });
241
- case './icons/save.svg': return Promise.resolve().then(function () { return require('./save-edf5fc68.js'); });
242
- case './icons/share.svg': return Promise.resolve().then(function () { return require('./share-70e94257.js'); });
243
- case './icons/sort.svg': return Promise.resolve().then(function () { return require('./sort-49ec1442.js'); });
244
- case './icons/star.svg': return Promise.resolve().then(function () { return require('./star-a1af8d95.js'); });
245
- case './icons/sun.svg': return Promise.resolve().then(function () { return require('./sun-408aecdc.js'); });
246
- case './icons/tag.svg': return Promise.resolve().then(function () { return require('./tag-56c32f4f.js'); });
247
- case './icons/target.svg': return Promise.resolve().then(function () { return require('./target-50f179e0.js'); });
248
- case './icons/trash.svg': return Promise.resolve().then(function () { return require('./trash-896a3291.js'); });
249
- case './icons/triangle.svg': return Promise.resolve().then(function () { return require('./triangle-51d7723a.js'); });
250
- case './icons/upload.svg': return Promise.resolve().then(function () { return require('./upload-d71f0e44.js'); });
251
- default: return Promise.reject(new Error("Unknown variable dynamic import: " + path));
196
+ switch (path) {
197
+ case './icons/add-user.svg': return Promise.resolve().then(function () { return require('./add-user.js'); });
198
+ case './icons/arrow-circle.svg': return Promise.resolve().then(function () { return require('./arrow-circle.js'); });
199
+ case './icons/arrow.svg': return Promise.resolve().then(function () { return require('./arrow.js'); });
200
+ case './icons/arrows-alt.svg': return Promise.resolve().then(function () { return require('./arrows-alt.js'); });
201
+ case './icons/bolt.svg': return Promise.resolve().then(function () { return require('./bolt.js'); });
202
+ case './icons/caution.svg': return Promise.resolve().then(function () { return require('./caution.js'); });
203
+ case './icons/check-circle.svg': return Promise.resolve().then(function () { return require('./check-circle.js'); });
204
+ case './icons/check-shield.svg': return Promise.resolve().then(function () { return require('./check-shield.js'); });
205
+ case './icons/check-solid.svg': return Promise.resolve().then(function () { return require('./check-solid.js'); });
206
+ case './icons/check.svg': return Promise.resolve().then(function () { return require('./check.js'); });
207
+ case './icons/checkbox-checked.svg': return Promise.resolve().then(function () { return require('./checkbox-checked.js'); });
208
+ case './icons/checkbox-unchecked.svg': return Promise.resolve().then(function () { return require('./checkbox-unchecked.js'); });
209
+ case './icons/chevron-double.svg': return Promise.resolve().then(function () { return require('./chevron-double.js'); });
210
+ case './icons/chevron.svg': return Promise.resolve().then(function () { return require('./chevron.js'); });
211
+ case './icons/close.svg': return Promise.resolve().then(function () { return require('./close.js'); });
212
+ case './icons/code.svg': return Promise.resolve().then(function () { return require('./code.js'); });
213
+ case './icons/copy.svg': return Promise.resolve().then(function () { return require('./copy.js'); });
214
+ case './icons/download.svg': return Promise.resolve().then(function () { return require('./download.js'); });
215
+ case './icons/exchange.svg': return Promise.resolve().then(function () { return require('./exchange.js'); });
216
+ case './icons/external-link.svg': return Promise.resolve().then(function () { return require('./external-link.js'); });
217
+ case './icons/eye.svg': return Promise.resolve().then(function () { return require('./eye.js'); });
218
+ case './icons/filter.svg': return Promise.resolve().then(function () { return require('./filter.js'); });
219
+ case './icons/flag.svg': return Promise.resolve().then(function () { return require('./flag.js'); });
220
+ case './icons/gears.svg': return Promise.resolve().then(function () { return require('./gears.js'); });
221
+ case './icons/grid.svg': return Promise.resolve().then(function () { return require('./grid.js'); });
222
+ case './icons/hamburger-menu.svg': return Promise.resolve().then(function () { return require('./hamburger-menu.js'); });
223
+ case './icons/highlight.svg': return Promise.resolve().then(function () { return require('./highlight.js'); });
224
+ case './icons/info-circle-alt.svg': return Promise.resolve().then(function () { return require('./info-circle-alt.js'); });
225
+ case './icons/info-circle.svg': return Promise.resolve().then(function () { return require('./info-circle.js'); });
226
+ case './icons/info-square.svg': return Promise.resolve().then(function () { return require('./info-square.js'); });
227
+ case './icons/kabob.svg': return Promise.resolve().then(function () { return require('./kabob.js'); });
228
+ case './icons/list.svg': return Promise.resolve().then(function () { return require('./list.js'); });
229
+ case './icons/lock.svg': return Promise.resolve().then(function () { return require('./lock.js'); });
230
+ case './icons/magnifying-glass.svg': return Promise.resolve().then(function () { return require('./magnifying-glass.js'); });
231
+ case './icons/menu.svg': return Promise.resolve().then(function () { return require('./menu.js'); });
232
+ case './icons/new-releases.svg': return Promise.resolve().then(function () { return require('./new-releases.js'); });
233
+ case './icons/new.svg': return Promise.resolve().then(function () { return require('./new.js'); });
234
+ case './icons/no.svg': return Promise.resolve().then(function () { return require('./no.js'); });
235
+ case './icons/pencil.svg': return Promise.resolve().then(function () { return require('./pencil.js'); });
236
+ case './icons/plus.svg': return Promise.resolve().then(function () { return require('./plus.js'); });
237
+ case './icons/question-circle.svg': return Promise.resolve().then(function () { return require('./question-circle.js'); });
238
+ case './icons/radio-checked.svg': return Promise.resolve().then(function () { return require('./radio-checked.js'); });
239
+ case './icons/radio-unchecked.svg': return Promise.resolve().then(function () { return require('./radio-unchecked.js'); });
240
+ case './icons/recycle.svg': return Promise.resolve().then(function () { return require('./recycle.js'); });
241
+ case './icons/resend.svg': return Promise.resolve().then(function () { return require('./resend.js'); });
242
+ case './icons/robot.svg': return Promise.resolve().then(function () { return require('./robot.js'); });
243
+ case './icons/run-again.svg': return Promise.resolve().then(function () { return require('./run-again.js'); });
244
+ case './icons/save.svg': return Promise.resolve().then(function () { return require('./save.js'); });
245
+ case './icons/share.svg': return Promise.resolve().then(function () { return require('./share.js'); });
246
+ case './icons/sort-triangle.svg': return Promise.resolve().then(function () { return require('./sort-triangle.js'); });
247
+ case './icons/sort.svg': return Promise.resolve().then(function () { return require('./sort.js'); });
248
+ case './icons/star.svg': return Promise.resolve().then(function () { return require('./star.js'); });
249
+ case './icons/sun.svg': return Promise.resolve().then(function () { return require('./sun.js'); });
250
+ case './icons/tag.svg': return Promise.resolve().then(function () { return require('./tag.js'); });
251
+ case './icons/target.svg': return Promise.resolve().then(function () { return require('./target.js'); });
252
+ case './icons/trash.svg': return Promise.resolve().then(function () { return require('./trash.js'); });
253
+ case './icons/triangle.svg': return Promise.resolve().then(function () { return require('./triangle.js'); });
254
+ case './icons/upload.svg': return Promise.resolve().then(function () { return require('./upload.js'); });
255
+ default: return new Promise(function(resolve, reject) {
256
+ (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(
257
+ reject.bind(null, new Error("Unknown variable dynamic import: " + path))
258
+ );
259
+ })
252
260
  }
253
261
  }
254
262
  var Icon = React.forwardRef(function (_a, ref) {
255
263
  var _b;
256
264
  var label = _a.label, className = _a.className, type = _a.type, other = tslib.__rest(_a, ["label", "className", "type"]);
257
265
  var isMounted = React.useRef(true);
258
- var _c = type.match(/(.*)-(right|left|up|down)$/) || [
266
+ var _c = tslib.__read(type.match(/(.*)-(right|left|up|down)$/) || [
259
267
  '',
260
268
  type
261
- ], name = _c[1], direction = _c[2];
262
- var _d = React.useState(null), IconSVG = _d[0], setIcon = _d[1];
269
+ ], 3), name = _c[1], direction = _c[2];
270
+ var _d = tslib.__read(React.useState(null), 2), IconSVG = _d[0], setIcon = _d[1];
263
271
  React.useEffect(function () {
264
272
  isMounted.current = true;
265
273
  // NOTE: we don't want to pollute test output with
@@ -475,9 +483,9 @@ var TopBar = /** @class */ (function (_super) {
475
483
  args[_i] = arguments[_i];
476
484
  }
477
485
  // @ts-ignore we're just spreading the original args
478
- _this.onKeyDown.apply(_this, args);
486
+ _this.onKeyDown.apply(_this, tslib.__spread(args));
479
487
  if (child.props.onKeyDown) {
480
- (_a = child.props).onKeyDown.apply(_a, args);
488
+ (_a = child.props).onKeyDown.apply(_a, tslib.__spread(args));
481
489
  }
482
490
  },
483
491
  tabIndex: 0,
@@ -513,7 +521,7 @@ var TopBar = /** @class */ (function (_super) {
513
521
  };
514
522
  TopBar.prototype.onKeyDown = function (e) {
515
523
  var key = keyname(e.which);
516
- var menuItems = tslib.__spreadArrays(this.menuItems);
524
+ var menuItems = tslib.__spread(this.menuItems);
517
525
  // account for hidden side bar trigger (hamburger)
518
526
  if (this.state.wide && this.props.hasTrigger) {
519
527
  menuItems.shift();
@@ -665,7 +673,7 @@ var ClickOutsideListener = /** @class */ (function (_super) {
665
673
  return ClickOutsideListener;
666
674
  }(React__default.Component));
667
675
 
668
- var _a = [38, 40, 9, 13, 32, 27], up = _a[0], down = _a[1], tab = _a[2], enter = _a[3], space = _a[4], esc = _a[5];
676
+ var _a = tslib.__read([38, 40, 9, 13, 32, 27], 6), up = _a[0], down = _a[1], tab = _a[2], enter = _a[3], space = _a[4], esc = _a[5];
669
677
  var OptionsMenuList = /** @class */ (function (_super) {
670
678
  tslib.__extends(OptionsMenuList, _super);
671
679
  function OptionsMenuList(props) {
@@ -793,7 +801,7 @@ var OptionsMenuList = /** @class */ (function (_super) {
793
801
  return OptionsMenuList;
794
802
  }(React__default.Component));
795
803
 
796
- var down$1 = [40][0];
804
+ var _a$1 = tslib.__read([40], 1), down$1 = _a$1[0];
797
805
  var OptionsMenu = /** @class */ (function (_super) {
798
806
  tslib.__extends(OptionsMenu, _super);
799
807
  function OptionsMenu(props) {
@@ -995,8 +1003,8 @@ var NavBar = function (_a) {
995
1003
  var children = _a.children, className = _a.className, _b = _a.collapsed, collapsed = _b === void 0 ? false : _b, _c = _a.navTriggerLabel, navTriggerLabel = _c === void 0 ? 'MAIN MENU' : _c, propId = _a.propId;
996
1004
  var navRef = React.useRef(null);
997
1005
  var triggerRef = React.useRef(null);
998
- var _d = React.useState(false), showDropdown = _d[0], setShowDropdown = _d[1];
999
- var menuId = ([propId] || nextId.useId(1, 'navbar'))[0];
1006
+ var _d = tslib.__read(React.useState(false), 2), showDropdown = _d[0], setShowDropdown = _d[1];
1007
+ var _e = tslib.__read([propId] || nextId.useId(1, 'navbar'), 1), menuId = _e[0];
1000
1008
  var showNavItems = !collapsed || (collapsed && showDropdown);
1001
1009
  var handleOutSideEvent = function (e) {
1002
1010
  var _a;
@@ -1132,9 +1140,9 @@ var SideBar = /** @class */ (function (_super) {
1132
1140
  SideBar.prototype.animate = function () {
1133
1141
  var _this = this;
1134
1142
  var show = this.props.show;
1135
- var _a = show
1143
+ var _a = tslib.__read(show
1136
1144
  ? ['SideBar--show', 'SideBar--show SideBar--active']
1137
- : ['SideBar--show', ''], first = _a[0], second = _a[1];
1145
+ : ['SideBar--show', ''], 2), first = _a[0], second = _a[1];
1138
1146
  this.setState({ animateClass: first });
1139
1147
  // css3 animations require transition classes to be added on separate tics
1140
1148
  setTimeout(function () {
@@ -1468,14 +1476,14 @@ var fireCustomEvent = function (show, button) {
1468
1476
  function Tooltip(_a) {
1469
1477
  var _this = this;
1470
1478
  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"]);
1471
- var id = (propId ? [propId] : nextId.useId(1, 'tooltip'))[0];
1479
+ var _g = tslib.__read(propId ? [propId] : nextId.useId(1, 'tooltip'), 1), id = _g[0];
1472
1480
  var hovering = React.useRef(false);
1473
- var _g = React.useState(initialPlacement), placement = _g[0], setPlacement = _g[1];
1474
- var _h = React.useState(!!showProp), showTooltip = _h[0], setShowTooltip = _h[1];
1475
- var _j = React.useState(null), targetElement = _j[0], setTargetElement = _j[1];
1476
- var _k = React.useState(null), tooltipElement = _k[0], setTooltipElement = _k[1];
1477
- var _l = React.useState(null), arrowElement = _l[0], setArrowElement = _l[1];
1478
- var _m = reactPopper.usePopper(targetElement, tooltipElement, {
1481
+ var _h = tslib.__read(React.useState(initialPlacement), 2), placement = _h[0], setPlacement = _h[1];
1482
+ var _j = tslib.__read(React.useState(!!showProp), 2), showTooltip = _j[0], setShowTooltip = _j[1];
1483
+ var _k = tslib.__read(React.useState(null), 2), targetElement = _k[0], setTargetElement = _k[1];
1484
+ var _l = tslib.__read(React.useState(null), 2), tooltipElement = _l[0], setTooltipElement = _l[1];
1485
+ var _m = tslib.__read(React.useState(null), 2), arrowElement = _m[0], setArrowElement = _m[1];
1486
+ var _o = reactPopper.usePopper(targetElement, tooltipElement, {
1479
1487
  placement: initialPlacement,
1480
1488
  modifiers: [
1481
1489
  { name: 'preventOverflow', options: { padding: 8 } },
@@ -1483,7 +1491,7 @@ function Tooltip(_a) {
1483
1491
  { name: 'offset', options: { offset: [0, 8] } },
1484
1492
  { name: 'arrow', options: { padding: 5, element: arrowElement } }
1485
1493
  ]
1486
- }), styles = _m.styles, attributes = _m.attributes, update = _m.update;
1494
+ }), styles = _o.styles, attributes = _o.attributes, update = _o.update;
1487
1495
  var show = function () { return tslib.__awaiter(_this, void 0, void 0, function () {
1488
1496
  return tslib.__generator(this, function (_a) {
1489
1497
  switch (_a.label) {
@@ -1556,9 +1564,9 @@ function Tooltip(_a) {
1556
1564
  return function () {
1557
1565
  targetElement.removeEventListener('keyup', handleEscape);
1558
1566
  };
1559
- }, [show]);
1567
+ }, [showProp]);
1560
1568
  React.useEffect(function () {
1561
- if (typeof show !== undefined) {
1569
+ if (typeof showProp !== undefined) {
1562
1570
  targetElement === null || targetElement === void 0 ? void 0 : targetElement.addEventListener('mouseenter', handleTriggerMouseEnter);
1563
1571
  targetElement === null || targetElement === void 0 ? void 0 : targetElement.addEventListener('mouseleave', handleTriggerMouseLeave);
1564
1572
  targetElement === null || targetElement === void 0 ? void 0 : targetElement.addEventListener('focusin', show);
@@ -1570,7 +1578,7 @@ function Tooltip(_a) {
1570
1578
  targetElement === null || targetElement === void 0 ? void 0 : targetElement.removeEventListener('focusin', show);
1571
1579
  targetElement === null || targetElement === void 0 ? void 0 : targetElement.removeEventListener('focusout', hide);
1572
1580
  };
1573
- }, [targetElement, show]);
1581
+ }, [targetElement, showProp]);
1574
1582
  React.useEffect(function () {
1575
1583
  if (tooltipElement) {
1576
1584
  tooltipElement === null || tooltipElement === void 0 ? void 0 : tooltipElement.addEventListener('mouseenter', handleTipMouseEnter);
@@ -1643,6 +1651,13 @@ var IconButton = React.forwardRef(function (_a, ref) {
1643
1651
  accessibilityProps['aria-disabled'] = disabled;
1644
1652
  }
1645
1653
  }
1654
+ React.useEffect(function () {
1655
+ var _a;
1656
+ if (!disabled) {
1657
+ return;
1658
+ }
1659
+ (_a = internalRef.current) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-label', label);
1660
+ }, [disabled]);
1646
1661
  return (React__default.createElement(React__default.Fragment, null,
1647
1662
  React__default.createElement(Component, tslib.__assign({ className: classNames(className, {
1648
1663
  IconButton: true,
@@ -1729,19 +1744,29 @@ var Pointout = /** @class */ (function (_super) {
1729
1744
  }
1730
1745
  };
1731
1746
  _this.handleOffscreenFocusIn = function (_a) {
1747
+ var e_1, _b;
1732
1748
  var target = _a.target;
1733
- var _b = _this, offscreenRef = _b.offscreenRef, visibleRef = _b.visibleRef, getFocusableElements = _b.getFocusableElements;
1749
+ var _c = _this, offscreenRef = _c.offscreenRef, visibleRef = _c.visibleRef, getFocusableElements = _c.getFocusableElements;
1734
1750
  var offscreenFocusable = getFocusableElements(offscreenRef);
1735
1751
  var visibleFocusable = getFocusableElements(visibleRef);
1736
1752
  var elementIndex = offscreenFocusable.findIndex(function (element) { return element === target; });
1737
1753
  if (elementIndex === -1 || !visibleFocusable[elementIndex]) {
1738
1754
  return;
1739
1755
  }
1740
- // Tag focusable elements
1741
- for (var _i = 0, visibleFocusable_1 = visibleFocusable; _i < visibleFocusable_1.length; _i++) {
1742
- var element = visibleFocusable_1[_i];
1743
- element.setAttribute('data-focusable', 'true');
1744
- element.setAttribute('tabindex', '-1');
1756
+ try {
1757
+ // Tag focusable elements
1758
+ for (var visibleFocusable_1 = tslib.__values(visibleFocusable), visibleFocusable_1_1 = visibleFocusable_1.next(); !visibleFocusable_1_1.done; visibleFocusable_1_1 = visibleFocusable_1.next()) {
1759
+ var element = visibleFocusable_1_1.value;
1760
+ element.setAttribute('data-focusable', 'true');
1761
+ element.setAttribute('tabindex', '-1');
1762
+ }
1763
+ }
1764
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1765
+ finally {
1766
+ try {
1767
+ if (visibleFocusable_1_1 && !visibleFocusable_1_1.done && (_b = visibleFocusable_1["return"])) _b.call(visibleFocusable_1);
1768
+ }
1769
+ finally { if (e_1) throw e_1.error; }
1745
1770
  }
1746
1771
  visibleFocusable[elementIndex].classList.add('Pointout--focus-active');
1747
1772
  };
@@ -1774,7 +1799,7 @@ var Pointout = /** @class */ (function (_super) {
1774
1799
  top -= rect.top - portalNode.scrollTop;
1775
1800
  left -= rect.left - portalNode.scrollLeft;
1776
1801
  }
1777
- var arrowBoxSide = arrowPosition.split('-')[0];
1802
+ var _e = tslib.__read(arrowPosition.split('-'), 1), arrowBoxSide = _e[0];
1778
1803
  var style;
1779
1804
  switch (arrowBoxSide) {
1780
1805
  case 'right':
@@ -2186,8 +2211,7 @@ Link.propTypes = {
2186
2211
  Link.displayName = 'Link';
2187
2212
 
2188
2213
  function Loader(_a) {
2189
- var className = _a.className, label = _a.label, other = tslib.__rest(_a, ["className", "label"]);
2190
- var props = tslib.__assign(tslib.__assign({}, other), { className: classNames('Loader', className) });
2214
+ var className = _a.className, _b = _a.variant, variant = _b === void 0 ? 'small' : _b, label = _a.label, props = tslib.__rest(_a, ["className", "variant", "label"]);
2191
2215
  if (label === null || label === void 0 ? void 0 : label.length) {
2192
2216
  props['role'] = 'alert';
2193
2217
  props.children = React__default.createElement(Offscreen, null, label);
@@ -2195,7 +2219,11 @@ function Loader(_a) {
2195
2219
  else {
2196
2220
  props['aria-hidden'] = true;
2197
2221
  }
2198
- return React__default.createElement("div", tslib.__assign({}, props));
2222
+ return (React__default.createElement("div", tslib.__assign({ className: classNames('Loader', className, variant === 'large'
2223
+ ? 'Loader--large'
2224
+ : variant === 'small'
2225
+ ? 'Loader--small'
2226
+ : '') }, props)));
2199
2227
  }
2200
2228
  Loader.propTypes = {
2201
2229
  className: PropTypes.string
@@ -2223,7 +2251,7 @@ var Select = React__default.forwardRef(function (_a, ref) {
2223
2251
  // eslint-disable-next-line @typescript-eslint/no-empty-function
2224
2252
  var onChangeEvent = onChange !== null && onChange !== void 0 ? onChange : (function () { });
2225
2253
  var isControlled = typeof value !== 'undefined';
2226
- var _c = React.useState(value || defaultValue || ''), currentValue = _c[0], setCurrentValue = _c[1];
2254
+ var _c = tslib.__read(React.useState(value || defaultValue || ''), 2), currentValue = _c[0], setCurrentValue = _c[1];
2227
2255
  var handleChange = function (e) {
2228
2256
  onChangeEvent(e);
2229
2257
  if (isControlled) {
@@ -2280,8 +2308,8 @@ var RadioGroup = function (_a) {
2280
2308
  _b = _a.onChange,
2281
2309
  // eslint-disable-next-line @typescript-eslint/no-empty-function
2282
2310
  onChange = _b === void 0 ? function () { } : _b, className = _a.className, other = tslib.__rest(_a, ["name", "radios", "defaultValue", "value", "onChange", "className"]);
2283
- var _c = React.useState(value || defaultValue || null), currentValue = _c[0], setCurrentValue = _c[1];
2284
- var _d = React.useState(null), focusIndex = _d[0], setFocusIndex = _d[1];
2311
+ var _c = tslib.__read(React.useState(value || defaultValue || null), 2), currentValue = _c[0], setCurrentValue = _c[1];
2312
+ var _d = tslib.__read(React.useState(null), 2), focusIndex = _d[0], setFocusIndex = _d[1];
2285
2313
  var inputs = React.useRef([]);
2286
2314
  var handleChange = function (value) { return setCurrentValue(value); };
2287
2315
  var onRadioFocus = function (index) { return setFocusIndex(index); };
@@ -2302,7 +2330,7 @@ var RadioGroup = function (_a) {
2302
2330
  setCurrentValue(value);
2303
2331
  }, [value]);
2304
2332
  var radioButtons = radios.map(function (radio, index) {
2305
- var label = radio.label, disabled = radio.disabled, radioValue = radio.value, id = radio.id, className = radio.className, other = tslib.__rest(radio, ["label", "disabled", "value", "id", "className"]);
2333
+ var label = radio.label, disabled = radio.disabled, radioValue = radio.value, labelDescription = radio.labelDescription, id = radio.id, className = radio.className, other = tslib.__rest(radio, ["label", "disabled", "value", "labelDescription", "id", "className"]);
2306
2334
  var isChecked = currentValue === radioValue;
2307
2335
  var isFocused = focusIndex === index;
2308
2336
  return (React__default.createElement("div", { className: classNames('Radio is--flex-row', className), key: id },
@@ -2315,14 +2343,17 @@ var RadioGroup = function (_a) {
2315
2343
  var _a;
2316
2344
  handleChange(radioValue);
2317
2345
  onChange(radio, (_a = inputs.current) === null || _a === void 0 ? void 0 : _a[index]);
2318
- }, disabled: disabled, checked: isChecked }, other)),
2346
+ }, disabled: disabled, checked: isChecked, "aria-describedby": labelDescription && id + "Desc" }, other)),
2319
2347
  React__default.createElement("label", { htmlFor: id, className: classNames('Field__label', {
2320
2348
  'Field__label--disabled': disabled
2321
2349
  }) }, label),
2322
2350
  React__default.createElement(Icon, { className: classNames('Radio__overlay', {
2323
2351
  'Radio__overlay--focused': isFocused,
2324
2352
  'Radio__overlay--disabled': disabled
2325
- }), type: isChecked ? 'radio-checked' : 'radio-unchecked', "aria-hidden": "true", onClick: function () { return onRadioClick(index); } })));
2353
+ }), type: isChecked ? 'radio-checked' : 'radio-unchecked', "aria-hidden": "true", onClick: function () { return onRadioClick(index); } }),
2354
+ labelDescription && (React__default.createElement("span", { id: id + "Desc", className: classNames('Field__labelDescription', {
2355
+ 'Field__labelDescription--disabled': disabled
2356
+ }) }, labelDescription))));
2326
2357
  });
2327
2358
  // reset the input refs array
2328
2359
  // refs get clobbered every re-render anyway and this supports "dynamic" radios
@@ -2335,7 +2366,8 @@ RadioGroup.propTypes = {
2335
2366
  radios: PropTypes.arrayOf(PropTypes.shape({
2336
2367
  value: PropTypes.string.isRequired,
2337
2368
  id: PropTypes.string.isRequired,
2338
- label: PropTypes.string.isRequired
2369
+ label: PropTypes.string.isRequired,
2370
+ labelDescription: PropTypes.string
2339
2371
  })).isRequired,
2340
2372
  hasLabel: function (props, propName, componentName) {
2341
2373
  if (!props['aria-label'] && !props['aria-labelledby']) {
@@ -2349,9 +2381,9 @@ RadioGroup.propTypes = {
2349
2381
  RadioGroup.displayName = 'RadioGroup';
2350
2382
 
2351
2383
  var Checkbox = React.forwardRef(function (_a, ref) {
2352
- var id = _a.id, label = _a.label, 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", "error", "checkboxRef", "className", "onChange", 'aria-describedby', "disabled", "checked"]);
2353
- var _d = React.useState(checked), isChecked = _d[0], setIsChecked = _d[1];
2354
- var _e = React.useState(false), focused = _e[0], setFocused = _e[1];
2384
+ 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"]);
2385
+ var _d = tslib.__read(React.useState(checked), 2), isChecked = _d[0], setIsChecked = _d[1];
2386
+ var _e = tslib.__read(React.useState(false), 2), focused = _e[0], setFocused = _e[1];
2355
2387
  var checkRef = React.useRef(null);
2356
2388
  React.useEffect(function () {
2357
2389
  setIsChecked(checked);
@@ -2360,10 +2392,19 @@ var Checkbox = React.forwardRef(function (_a, ref) {
2360
2392
  if (typeof refProp === 'function') {
2361
2393
  refProp(checkRef.current);
2362
2394
  }
2363
- var errorId = React.useMemo(function () { return nextId__default(); }, []);
2364
- var ariaDescribedbyId = error
2365
- ? tokenList(errorId, ariaDescribedby)
2366
- : ariaDescribedby;
2395
+ var _f = React.useMemo(function () {
2396
+ return {
2397
+ labelDescriptionId: nextId__default(),
2398
+ errorId: nextId__default()
2399
+ };
2400
+ }, []), errorId = _f.errorId, labelDescriptionId = _f.labelDescriptionId;
2401
+ var ariaDescribedbyId = ariaDescribedby;
2402
+ if (error) {
2403
+ ariaDescribedbyId = tokenList(errorId, ariaDescribedbyId);
2404
+ }
2405
+ if (labelDescription) {
2406
+ ariaDescribedbyId = tokenList(labelDescriptionId, ariaDescribedbyId);
2407
+ }
2367
2408
  return (React__default.createElement(React__default.Fragment, null,
2368
2409
  React__default.createElement("div", { className: classNames('Checkbox is--flex-row', className) },
2369
2410
  React__default.createElement("input", tslib.__assign({ id: id, ref: typeof refProp === 'function' || !refProp ? checkRef : refProp, type: "checkbox", checked: isChecked, disabled: disabled, onFocus: function () { return setFocused(true); }, onBlur: function () { return setFocused(false); }, "aria-describedby": ariaDescribedbyId, onChange: function (e) {
@@ -2387,8 +2428,9 @@ var Checkbox = React.forwardRef(function (_a, ref) {
2387
2428
  else {
2388
2429
  (_b = checkRef.current) === null || _b === void 0 ? void 0 : _b.click();
2389
2430
  }
2390
- } })),
2391
- error && (React__default.createElement("div", { id: errorId, className: "Error" }, error))));
2431
+ } }),
2432
+ labelDescription && (React__default.createElement("span", { id: labelDescriptionId, className: "Field__labelDescription" }, labelDescription)),
2433
+ error && (React__default.createElement("div", { id: errorId, className: "Error" }, error)))));
2392
2434
  });
2393
2435
  Checkbox.displayName = 'Checkbox';
2394
2436
 
@@ -7935,12 +7977,29 @@ Code.propTypes = {
7935
7977
  className: PropTypes.string
7936
7978
  };
7937
7979
 
7980
+ function AxeLoader() {
7981
+ return (React__default.createElement("svg", { version: "1.1", xmlns: "http://www.w3.org/2000/svg", x: "0", y: "0", viewBox: "0 0 800 800" },
7982
+ 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" }),
7983
+ 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" })));
7984
+ }
7985
+
7938
7986
  var LoaderOverlay = React__default.forwardRef(function (_a, ref) {
7939
- var className = _a.className, other = tslib.__rest(_a, ["className"]);
7940
- return (React__default.createElement("div", tslib.__assign({ className: classNames('Loader__overlay', className), ref: ref }, other)));
7987
+ var className = _a.className, variant = _a.variant, label = _a.label, other = tslib.__rest(_a, ["className", "variant", "label"]);
7988
+ return (React__default.createElement("div", tslib.__assign({ className: classNames('Loader__overlay', className, variant === 'large'
7989
+ ? 'Loader__overlay--large'
7990
+ : variant === 'small'
7991
+ ? 'Loader__overlay--small'
7992
+ : ''), ref: ref }, other),
7993
+ React__default.createElement("div", { className: "Loader__overlay__loader" },
7994
+ React__default.createElement(Loader, { variant: variant }),
7995
+ React__default.createElement(AxeLoader, null)),
7996
+ label ? React__default.createElement("span", { className: "Loader__overlay__label" }, label) : null,
7997
+ other.children));
7941
7998
  });
7942
7999
  LoaderOverlay.propTypes = {
7943
- className: PropTypes.string
8000
+ className: PropTypes.string,
8001
+ variant: PropTypes.oneOf(['large', 'small']),
8002
+ label: PropTypes.string
7944
8003
  };
7945
8004
  LoaderOverlay.displayName = 'LoaderOverlay';
7946
8005
 
@@ -8013,12 +8072,19 @@ TableHead.propTypes = {
8013
8072
  };
8014
8073
 
8015
8074
  var TableHeader = function (_a) {
8016
- var children = _a.children, className = _a.className, other = tslib.__rest(_a, ["children", "className"]);
8017
- return (React__default.createElement("th", tslib.__assign({ className: classNames('TableHeader', className) }, other), children));
8075
+ var children = _a.children, sortDirection = _a.sortDirection, onSort = _a.onSort, className = _a.className, other = tslib.__rest(_a, ["children", "sortDirection", "onSort", "className"]);
8076
+ return (React__default.createElement("th", tslib.__assign({ "aria-sort": sortDirection, className: classNames('TableHeader', className, {
8077
+ 'TableHeader--sort-ascending': sortDirection === 'ascending',
8078
+ 'TableHeader--sort-descending': sortDirection === 'descending'
8079
+ }) }, other), !!onSort && !!sortDirection ? (React__default.createElement("button", { onClick: onSort, className: "TableHeader__sort-button", type: "button" },
8080
+ children,
8081
+ React__default.createElement("span", { "aria-hidden": "true" }, sortDirection === 'none' ? (React__default.createElement(Icon, { type: "sort-triangle" })) : sortDirection === 'ascending' ? (React__default.createElement(Icon, { type: "triangle-up" })) : (React__default.createElement(Icon, { type: "triangle-down" }))))) : (children)));
8018
8082
  };
8019
8083
  TableHeader.displayName = 'TableHeader';
8020
8084
  TableHeader.propTypes = {
8021
8085
  children: PropTypes.node.isRequired,
8086
+ sortDirection: PropTypes.string,
8087
+ onSort: PropTypes.func,
8022
8088
  className: PropTypes.string
8023
8089
  };
8024
8090
 
@@ -8043,9 +8109,28 @@ Tab.propTypes = {
8043
8109
  children: PropTypes.node
8044
8110
  };
8045
8111
 
8112
+ /**
8113
+ * Hook to be used similarly to the React.Component#componentDidMount.
8114
+ * Executes the provided `effect` when `dependencies` change but does not
8115
+ * execute the effect initially (on mount) - only on update.
8116
+ *
8117
+ * @param effect {Function} function to be executed when dependencies update
8118
+ * @param dependencies {Any} any valid dependency argument to React.useEffect
8119
+ */
8120
+ var useDidUpdate = function (effect, dependencies) {
8121
+ var mounted = React__default.useRef(false);
8122
+ React__default.useEffect(function () {
8123
+ if (!mounted.current) {
8124
+ mounted.current = true;
8125
+ return;
8126
+ }
8127
+ effect();
8128
+ }, dependencies);
8129
+ };
8130
+
8046
8131
  var Tabs = function (_a) {
8047
- var children = _a.children, thin = _a.thin, _b = _a.initialActiveIndex, initialActiveIndex = _b === void 0 ? 0 : _b, className = _a.className, onChange = _a.onChange, labelProp = tslib.__rest(_a, ["children", "thin", "initialActiveIndex", "className", "onChange"]);
8048
- var _c = React.useState(initialActiveIndex), activeIndex = _c[0], setActiveIndex = _c[1];
8132
+ 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"]);
8133
+ var _d = tslib.__read(React.useState(initialActiveIndex), 2), activeIndex = _d[0], setActiveIndex = _d[1];
8049
8134
  var tabsRef = React.useRef(null);
8050
8135
  var focusedTabRef = React.useRef(null);
8051
8136
  var tabs = React__default.Children.toArray(children).filter(function (child) { return child.type === Tab; });
@@ -8056,34 +8141,48 @@ var Tabs = function (_a) {
8056
8141
  var handleKeyDown = function (event) {
8057
8142
  var key = event.key;
8058
8143
  var newIndex = activeIndex;
8144
+ var forward;
8145
+ var backward;
8146
+ if (orientation === 'horizontal') {
8147
+ forward = 'ArrowRight';
8148
+ backward = 'ArrowLeft';
8149
+ }
8150
+ else {
8151
+ forward = 'ArrowDown';
8152
+ backward = 'ArrowUp';
8153
+ }
8059
8154
  switch (key) {
8060
- case 'ArrowLeft': {
8155
+ case backward: {
8061
8156
  newIndex = activeIndex - 1;
8062
8157
  // circularity
8063
8158
  if (newIndex === -1) {
8064
8159
  newIndex = tabCount - 1;
8065
8160
  }
8066
8161
  setActiveIndex(newIndex);
8162
+ event.preventDefault();
8067
8163
  break;
8068
8164
  }
8069
- case 'ArrowRight': {
8165
+ case forward: {
8070
8166
  newIndex = activeIndex + 1;
8071
8167
  // circularity
8072
8168
  if (newIndex === tabCount) {
8073
8169
  newIndex = 0;
8074
8170
  }
8075
8171
  setActiveIndex(newIndex);
8172
+ event.preventDefault();
8076
8173
  break;
8077
8174
  }
8078
8175
  case 'Home': {
8079
8176
  newIndex = 0;
8080
8177
  setActiveIndex(newIndex);
8178
+ event.preventDefault();
8081
8179
  break;
8082
8180
  }
8083
8181
  case 'End': {
8084
8182
  event.preventDefault();
8085
8183
  newIndex = tabCount - 1;
8086
8184
  setActiveIndex(newIndex);
8185
+ event.preventDefault();
8087
8186
  break;
8088
8187
  }
8089
8188
  }
@@ -8093,7 +8192,7 @@ var Tabs = function (_a) {
8093
8192
  var _b;
8094
8193
  var _c = child.props, target = _c.target, propId = _c.id, other = tslib.__rest(_c, ["target", "id"]);
8095
8194
  var selected = index === activeIndex;
8096
- var id = (propId ? [propId] : nextId.useId(1, 'tab'))[0];
8195
+ var _d = tslib.__read(propId ? [propId] : nextId.useId(1, 'tab'), 1), id = _d[0];
8097
8196
  React.useEffect(function () {
8098
8197
  var _a;
8099
8198
  (_a = target.current) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-labelledby', id);
@@ -8116,7 +8215,9 @@ var Tabs = function (_a) {
8116
8215
  }
8117
8216
  }, [activeIndex]);
8118
8217
  return (React__default.createElement("div", { className: classNames('Tabs', className, {
8119
- 'Tabs--thin': thin
8218
+ 'Tabs--thin': thin,
8219
+ 'Tabs--vertical': orientation === 'vertical',
8220
+ 'Tabs--horizontal': orientation === 'horizontal'
8120
8221
  }), ref: tabsRef },
8121
8222
  React__default.createElement("ul", tslib.__assign({ role: "tablist", className: "Tablist" }, labelProp, { onKeyDown: handleKeyDown }), tabComponents)));
8122
8223
  };
@@ -8127,12 +8228,13 @@ Tabs.propTypes = {
8127
8228
  'aria-labelledby': PropTypes.string,
8128
8229
  initialActiveIndex: PropTypes.number,
8129
8230
  thin: PropTypes.bool,
8231
+ orientation: PropTypes.string,
8130
8232
  className: PropTypes.string
8131
8233
  };
8132
8234
 
8133
8235
  var TabPanel = React.forwardRef(function (_a, ref) {
8134
8236
  var children = _a.children, propId = _a.id, className = _a.className, other = tslib.__rest(_a, ["children", "id", "className"]);
8135
- var id = (propId ? [propId] : nextId.useId(1, 'tabpanel'))[0];
8237
+ var _b = tslib.__read(propId ? [propId] : nextId.useId(1, 'tabpanel'), 1), id = _b[0];
8136
8238
  return (React__default.createElement("div", tslib.__assign({ role: "tabpanel", className: classNames('TabPanel', className), id: id, ref: ref }, other), children));
8137
8239
  });
8138
8240
  TabPanel.displayName = 'TabPanel';
@@ -8209,15 +8311,37 @@ Stepper.propTypes = {
8209
8311
  };
8210
8312
 
8211
8313
  var Panel = function (_a) {
8212
- var className = _a.className, _b = _a.title, title = _b === void 0 ? '' : _b, actions = _a.actions, children = _a.children;
8213
- return (React__default.createElement("div", { className: classNames('Panel', className) },
8214
- React__default.createElement("div", { className: "Panel__Header" },
8215
- title && React__default.createElement("div", { className: "Panel__Header-title" }, title),
8216
- actions && React__default.createElement("div", { className: "Panel__Header-actions" }, actions)),
8217
- React__default.createElement("div", { className: "Panel__Content" }, children)));
8314
+ var _b;
8315
+ var children = _a.children, collapsed = _a.collapsed, className = _a.className, heading = _a.heading, other = tslib.__rest(_a, ["children", "collapsed", "className", "heading"]);
8316
+ var Heading = "h" + (typeof heading === 'object' && 'level' in heading && !!heading.level
8317
+ ? heading.level
8318
+ : 2);
8319
+ var headingId = typeof heading === 'object' && 'id' in heading ? heading.id : randomId();
8320
+ return (React__default.createElement("section", tslib.__assign({ "aria-labelledby": headingId, className: classNames('Panel', className, (_b = {},
8321
+ _b['Panel--collapsed'] = collapsed,
8322
+ _b)) }, other),
8323
+ React__default.createElement(Heading, { id: headingId, className: "Panel__Heading" }, typeof heading === 'object' && 'text' in heading
8324
+ ? heading.text
8325
+ : heading),
8326
+ children));
8218
8327
  };
8219
8328
  Panel.displayName = 'Panel';
8220
8329
  Panel.propTypes = {
8330
+ children: PropTypes.node.isRequired,
8331
+ heading: PropTypes.oneOfType([PropTypes.object, PropTypes.node]).isRequired,
8332
+ className: PropTypes.string
8333
+ };
8334
+
8335
+ var IssuePanel = function (_a) {
8336
+ var className = _a.className, _b = _a.title, title = _b === void 0 ? '' : _b, actions = _a.actions, children = _a.children;
8337
+ return (React__default.createElement("div", { className: classNames('IssuePanel', className) },
8338
+ React__default.createElement("div", { className: "IssuePanel__Header" },
8339
+ title && React__default.createElement("div", { className: "IssuePanel__Header-title" }, title),
8340
+ actions && React__default.createElement("div", { className: "IssuePanel__Header-actions" }, actions)),
8341
+ React__default.createElement("div", { className: "IssuePanel__Content" }, children)));
8342
+ };
8343
+ IssuePanel.displayName = 'IssuePanel';
8344
+ IssuePanel.propTypes = {
8221
8345
  children: PropTypes.node.isRequired,
8222
8346
  className: PropTypes.string
8223
8347
  };
@@ -8262,31 +8386,97 @@ AddressCityStateZip.propTypes = {
8262
8386
  className: PropTypes.string
8263
8387
  };
8264
8388
 
8265
- /**
8266
- * Hook to be used similarly to the React.Component#componentDidMount.
8267
- * Executes the provided `effect` when `dependencies` change but does not
8268
- * execute the effect initially (on mount) - only on update.
8269
- *
8270
- * @param effect {Function} function to be executed when dependencies update
8271
- * @param dependencies {Any} any valid dependency argument to React.useEffect
8272
- */
8273
- var useDidUpdate = function (effect, dependencies) {
8274
- var mounted = React__default.useRef(false);
8275
- React__default.useEffect(function () {
8276
- if (!mounted.current) {
8277
- mounted.current = true;
8278
- return;
8279
- }
8280
- effect();
8281
- }, dependencies);
8389
+ var Pagination = React__default.forwardRef(function (_a, ref) {
8390
+ 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"]);
8391
+ var itemStart = currentPage * itemsPerPage - itemsPerPage + 1;
8392
+ var itemEnd = Math.min(itemStart + itemsPerPage - 1, totalItems);
8393
+ var isLastPage = itemEnd === totalItems;
8394
+ var isFirstPage = currentPage === 1;
8395
+ return (React__default.createElement("div", tslib.__assign({ ref: ref, className: classNames('Pagination', className) }, other),
8396
+ React__default.createElement("ul", null,
8397
+ React__default.createElement("li", null, isFirstPage ? (React__default.createElement(TooltipTabstop, { hideElementOnHidden: true, association: "aria-labelledby", tooltip: firstPageLabel, placement: tooltipPlacement },
8398
+ React__default.createElement(Icon, { type: "chevron-double-left" }))) : (React__default.createElement(IconButton, { icon: "chevron-double-left", tooltipPlacement: tooltipPlacement, label: firstPageLabel, onClick: onFirstPageClick }))),
8399
+ React__default.createElement("li", null, isFirstPage ? (React__default.createElement(TooltipTabstop, { hideElementOnHidden: true, association: "aria-labelledby", tooltip: previousPageLabel, placement: tooltipPlacement },
8400
+ React__default.createElement(Icon, { type: "chevron-left" }))) : (React__default.createElement(IconButton, { icon: "chevron-left", tooltipPlacement: tooltipPlacement, label: previousPageLabel, onClick: onPreviousPageClick }))),
8401
+ React__default.createElement("li", null,
8402
+ React__default.createElement("span", { role: "log", "aria-atomic": "true" }, statusLabel || (React__default.createElement("span", null,
8403
+ "Showing ",
8404
+ React__default.createElement("strong", null, itemStart),
8405
+ " of",
8406
+ ' ',
8407
+ React__default.createElement("strong", null, itemEnd),
8408
+ " of ",
8409
+ React__default.createElement("strong", null, totalItems))))),
8410
+ React__default.createElement("li", null, isLastPage ? (React__default.createElement(TooltipTabstop, { hideElementOnHidden: true, association: "aria-labelledby", tooltip: nextPageLabel, placement: tooltipPlacement },
8411
+ React__default.createElement(Icon, { type: "chevron-right" }))) : (React__default.createElement(IconButton, { icon: "chevron-right", tooltipPlacement: tooltipPlacement, label: nextPageLabel, onClick: onNextPageClick }))),
8412
+ React__default.createElement("li", null, isLastPage ? (React__default.createElement(TooltipTabstop, { hideElementOnHidden: true, association: "aria-labelledby", tooltip: lastPageLabel, placement: tooltipPlacement },
8413
+ React__default.createElement(Icon, { type: "chevron-double-right" }))) : (React__default.createElement(IconButton, { icon: "chevron-double-right", tooltipPlacement: tooltipPlacement, label: lastPageLabel, onClick: onLastPageClick }))))));
8414
+ });
8415
+ Pagination.displayName = 'Pagination';
8416
+ Pagination.propTypes = {
8417
+ totalItems: PropTypes.number.isRequired,
8418
+ itemsPerPage: PropTypes.number,
8419
+ currentPage: PropTypes.number,
8420
+ statusLabel: PropTypes.element,
8421
+ firstPageLabel: PropTypes.string,
8422
+ previousPageLabel: PropTypes.string,
8423
+ nextPageLabel: PropTypes.string,
8424
+ lastPageLabel: PropTypes.string,
8425
+ onNextPageClick: PropTypes.func,
8426
+ onPreviousPageClick: PropTypes.func,
8427
+ onFirstPageClick: PropTypes.func,
8428
+ onLastPageClick: PropTypes.func,
8429
+ // @ts-expect-error
8430
+ tooltipPlacement: PropTypes.string,
8431
+ className: PropTypes.string
8432
+ };
8433
+
8434
+ var FieldWrap = React__default.forwardRef(function (_a, ref) {
8435
+ var children = _a.children, className = _a.className, _b = _a.as, Component = _b === void 0 ? 'div' : _b, props = tslib.__rest(_a, ["children", "className", "as"]);
8436
+ return (React__default.createElement(Component, tslib.__assign({ ref: ref, className: classNames('Panel', className) }, props), children));
8437
+ });
8438
+ FieldWrap.displayName = 'FieldWrap';
8439
+ FieldWrap.propTypes = {
8440
+ children: PropTypes.node.isRequired,
8441
+ className: PropTypes.string,
8442
+ as: PropTypes.string
8282
8443
  };
8283
8444
 
8445
+ var Breadcrumb = React.forwardRef(function (_a, ref) {
8446
+ var _b = _a.separator, separator = _b === void 0 ? '/' : _b, className = _a.className, children = _a.children, props = tslib.__rest(_a, ["separator", "className", "children"]);
8447
+ var items = React__default.Children.toArray(children);
8448
+ var childrenWithSeparators = [];
8449
+ items.forEach(function (child, index) {
8450
+ if (index !== items.length - 1) {
8451
+ childrenWithSeparators.push(React__default.createElement(React__default.Fragment, null,
8452
+ child,
8453
+ React__default.createElement("span", { className: "Breadcrumb__Separator", "aria-hidden": "true" }, separator)));
8454
+ }
8455
+ else {
8456
+ childrenWithSeparators.push(child);
8457
+ }
8458
+ });
8459
+ return (React__default.createElement("nav", tslib.__assign({ className: classNames('Breadcrumb', className), ref: ref }, props),
8460
+ React__default.createElement("ol", null, childrenWithSeparators.map(function (child, index) { return (React__default.createElement("li", { className: "Breadcrumb__Item", key: "breadcrumb-" + index }, child)); }))));
8461
+ });
8462
+ Breadcrumb.displayName = 'Breadcrumb';
8463
+
8464
+ var BreadcrumbItem = React.forwardRef(function (_a, ref) {
8465
+ var className = _a.className, children = _a.children, props = tslib.__rest(_a, ["className", "children"]);
8466
+ return (React__default.createElement("span", tslib.__assign({ className: classNames('Breadcrumb__Item', className), ref: ref, "aria-current": "location" }, props), children));
8467
+ });
8468
+
8469
+ var BreadcrumbLink = React.forwardRef(function (_a, ref) {
8470
+ var className = _a.className, _b = _a.as, ElementType = _b === void 0 ? 'a' : _b, children = _a.children, props = tslib.__rest(_a, ["className", "as", "children"]);
8471
+ return (React__default.createElement(ElementType, tslib.__assign({ className: classNames('Link', 'Breadcrumb__Link', className), ref: ref }, props), children));
8472
+ });
8473
+
8284
8474
  var LIGHT_THEME_CLASS = 'cauldron--theme-light';
8285
8475
  var DARK_THEME_CLASS = 'cauldron--theme-dark';
8286
8476
  var ThemeContext = React.createContext({});
8287
8477
  var ThemeProvider = function (_a) {
8288
8478
  var children = _a.children, _b = _a.context, context = _b === void 0 ? document.body : _b, _c = _a.initialTheme, initialTheme = _c === void 0 ? 'light' : _c;
8289
- var _d = React.useState(initialTheme), theme = _d[0], setTheme = _d[1];
8479
+ var _d = tslib.__read(React.useState(initialTheme), 2), theme = _d[0], setTheme = _d[1];
8290
8480
  var getThemeFromContext = function () {
8291
8481
  return context.classList.contains(DARK_THEME_CLASS) ? 'dark' : 'light';
8292
8482
  };
@@ -8299,12 +8489,22 @@ var ThemeProvider = function (_a) {
8299
8489
  }, [context, theme]);
8300
8490
  // Use a MutationObserver to track changes to the classes outside of the context of React
8301
8491
  var handleMutation = function (mutationList) {
8302
- for (var _i = 0, mutationList_1 = mutationList; _i < mutationList_1.length; _i++) {
8303
- var mutation = mutationList_1[_i];
8304
- if (mutation.type === 'attributes' &&
8305
- mutation.attributeName === 'class') {
8306
- setTheme(getThemeFromContext());
8492
+ var e_1, _a;
8493
+ try {
8494
+ for (var mutationList_1 = tslib.__values(mutationList), mutationList_1_1 = mutationList_1.next(); !mutationList_1_1.done; mutationList_1_1 = mutationList_1.next()) {
8495
+ var mutation = mutationList_1_1.value;
8496
+ if (mutation.type === 'attributes' &&
8497
+ mutation.attributeName === 'class') {
8498
+ setTheme(getThemeFromContext());
8499
+ }
8500
+ }
8501
+ }
8502
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
8503
+ finally {
8504
+ try {
8505
+ if (mutationList_1_1 && !mutationList_1_1.done && (_a = mutationList_1["return"])) _a.call(mutationList_1);
8307
8506
  }
8507
+ finally { if (e_1) throw e_1.error; }
8308
8508
  }
8309
8509
  };
8310
8510
  React.useEffect(function () {
@@ -8337,6 +8537,9 @@ exports.Alert = Alert;
8337
8537
  exports.AlertActions = AlertActions;
8338
8538
  exports.AlertContent = AlertContent;
8339
8539
  exports.AriaIsolate = AriaIsolate;
8540
+ exports.Breadcrumb = Breadcrumb;
8541
+ exports.BreadcrumbItem = BreadcrumbItem;
8542
+ exports.BreadcrumbLink = BreadcrumbLink;
8340
8543
  exports.Button = Button;
8341
8544
  exports.Card = Card;
8342
8545
  exports.CardContent = CardContent;
@@ -8353,8 +8556,10 @@ exports.Dialog = Dialog;
8353
8556
  exports.DialogContent = DialogContent;
8354
8557
  exports.DialogFooter = DialogFooter;
8355
8558
  exports.ExpandCollapsePanel = ExpandCollapsePanel;
8559
+ exports.FieldWrap = FieldWrap;
8356
8560
  exports.Icon = Icon;
8357
8561
  exports.IconButton = IconButton;
8562
+ exports.IssuePanel = IssuePanel;
8358
8563
  exports.Layout = Layout;
8359
8564
  exports.Line = Line;
8360
8565
  exports.Link = Link;
@@ -8374,6 +8579,7 @@ exports.OptionsMenuItem = OptionsMenuItem;
8374
8579
  exports.OptionsMenuList = OptionsMenuList;
8375
8580
  exports.OptionsMenuTrigger = OptionsMenuTrigger;
8376
8581
  exports.OptionsMenuWrapper = OptionsMenuWrapper;
8582
+ exports.Pagination = Pagination;
8377
8583
  exports.Panel = Panel;
8378
8584
  exports.PanelTrigger = PanelTrigger$1;
8379
8585
  exports.Pointout = Pointout;