@deque/cauldron-react 3.0.1-canary.4607c120 → 3.0.1-canary.73d44d68

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 (83) 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/FieldWrap/index.d.ts +7 -0
  19. package/lib/components/IssuePanel/index.d.ts +17 -0
  20. package/lib/components/Loader/index.d.ts +3 -3
  21. package/lib/components/LoaderOverlay/axe-loader.d.ts +1 -0
  22. package/lib/components/Pagination/index.d.ts +20 -0
  23. package/lib/components/Panel/index.d.ts +13 -8
  24. package/lib/components/Tabs/Tabs.d.ts +3 -1
  25. package/lib/{copy-d2ade017.js → copy.js} +10 -12
  26. package/lib/{download-2790e982.js → download.js} +10 -12
  27. package/lib/exchange.js +24 -0
  28. package/lib/external-link.js +25 -0
  29. package/lib/{eye-a0d28243.js → eye.js} +10 -12
  30. package/lib/{filter-d2057f4c.js → filter.js} +10 -12
  31. package/lib/{flag-fb248a99.js → flag.js} +12 -13
  32. package/lib/gears.js +22 -0
  33. package/lib/{grid-ee446118.js → grid.js} +10 -12
  34. package/lib/{hamburger-menu-0fc0e266.js → hamburger-menu.js} +10 -11
  35. package/lib/highlight.js +24 -0
  36. package/lib/index.d.ts +3 -0
  37. package/lib/index.js +224 -101
  38. package/lib/{info-circle-alt-b1a696c7.js → info-circle-alt.js} +10 -12
  39. package/lib/{info-circle-b43f7a9b.js → info-circle.js} +11 -12
  40. package/lib/{info-square-f193e281.js → info-square.js} +10 -11
  41. package/lib/kabob.js +25 -0
  42. package/lib/{list-8fbd8209.js → list.js} +10 -11
  43. package/lib/{lock-bd0122db.js → lock.js} +12 -13
  44. package/lib/{magnifying-glass-2907fb77.js → magnifying-glass.js} +9 -11
  45. package/lib/{menu-2f2be7c2.js → menu.js} +11 -12
  46. package/lib/{new-releases-ac749bdd.js → new-releases.js} +13 -15
  47. package/lib/{new-6c3ac7d7.js → new.js} +11 -12
  48. package/lib/{no-bb3aa565.js → no.js} +12 -13
  49. package/lib/{pencil-4843058f.js → pencil.js} +11 -13
  50. package/lib/{plus-6589e613.js → plus.js} +11 -12
  51. package/lib/{question-circle-c3c634c4.js → question-circle.js} +11 -13
  52. package/lib/{radio-checked-006112fe.js → radio-checked.js} +11 -12
  53. package/lib/{radio-unchecked-a76e2d66.js → radio-unchecked.js} +11 -12
  54. package/lib/{recycle-0198fb67.js → recycle.js} +11 -12
  55. package/lib/robot.js +26 -0
  56. package/lib/run-again.js +23 -0
  57. package/lib/{save-edf5fc68.js → save.js} +12 -13
  58. package/lib/share.js +25 -0
  59. package/lib/{sort-49ec1442.js → sort.js} +11 -13
  60. package/lib/{star-a1af8d95.js → star.js} +11 -13
  61. package/lib/sun.js +24 -0
  62. package/lib/{tag-56c32f4f.js → tag.js} +11 -12
  63. package/lib/target.js +28 -0
  64. package/lib/trash.js +24 -0
  65. package/lib/{triangle-51d7723a.js → triangle.js} +14 -16
  66. package/lib/{upload-d71f0e44.js → upload.js} +10 -12
  67. package/package.json +3 -3
  68. package/lib/arrow-circle-7b95a2fd.js +0 -27
  69. package/lib/arrows-alt-b91e24b7.js +0 -26
  70. package/lib/chevron-064d5f96.js +0 -26
  71. package/lib/chevron-double-65975fca.js +0 -26
  72. package/lib/code-e3365341.js +0 -26
  73. package/lib/exchange-1d290efb.js +0 -26
  74. package/lib/external-link-ef122c95.js +0 -26
  75. package/lib/gears-b9ee1585.js +0 -23
  76. package/lib/highlight-81bfb759.js +0 -26
  77. package/lib/kabob-692fdc00.js +0 -26
  78. package/lib/robot-22863b2b.js +0 -29
  79. package/lib/run-again-c9777075.js +0 -25
  80. package/lib/share-70e94257.js +0 -26
  81. package/lib/sun-408aecdc.js +0 -26
  82. package/lib/target-50f179e0.js +0 -35
  83. package/lib/trash-896a3291.js +0 -26
package/lib/index.js CHANGED
@@ -191,64 +191,68 @@ var iconTypes = [
191
191
  ];
192
192
 
193
193
  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));
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
+ })
252
256
  }
253
257
  }
254
258
  var Icon = React.forwardRef(function (_a, ref) {
@@ -1643,6 +1647,13 @@ var IconButton = React.forwardRef(function (_a, ref) {
1643
1647
  accessibilityProps['aria-disabled'] = disabled;
1644
1648
  }
1645
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]);
1646
1657
  return (React__default.createElement(React__default.Fragment, null,
1647
1658
  React__default.createElement(Component, tslib.__assign({ className: classNames(className, {
1648
1659
  IconButton: true,
@@ -2186,22 +2197,21 @@ Link.propTypes = {
2186
2197
  Link.displayName = 'Link';
2187
2198
 
2188
2199
  function Loader(_a) {
2189
- var label = _a.label, className = _a.className, other = tslib.__rest(_a, ["label", "className"]);
2190
- var props = tslib.__assign(tslib.__assign({}, other), { className: classNames('Loader', className), 'aria-hidden': !label });
2191
- if (label) {
2192
- props.role = 'progressbar';
2193
- props['aria-valuetext'] = label;
2194
- props['aria-busy'] = true;
2195
- props['aria-valuemin'] = 0;
2196
- props['aria-valuemax'] = 100;
2197
- // According to the ARIA 1.2 spec (https://www.w3.org/TR/wai-aria-1.2/#progressbar),
2198
- // the aria-valuenow attribute SHOULD be omitted because the "value" of our progress
2199
- // 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);
2200
2204
  }
2201
- return React__default.createElement("div", tslib.__assign({}, props));
2205
+ else {
2206
+ props['aria-hidden'] = true;
2207
+ }
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)));
2202
2213
  }
2203
2214
  Loader.propTypes = {
2204
- label: PropTypes.string,
2205
2215
  className: PropTypes.string
2206
2216
  };
2207
2217
  Loader.displayName = 'Loader';
@@ -7939,9 +7949,24 @@ Code.propTypes = {
7939
7949
  className: PropTypes.string
7940
7950
  };
7941
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
+
7942
7958
  var LoaderOverlay = React__default.forwardRef(function (_a, ref) {
7943
- var className = _a.className, other = tslib.__rest(_a, ["className"]);
7944
- 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));
7945
7970
  });
7946
7971
  LoaderOverlay.propTypes = {
7947
7972
  className: PropTypes.string
@@ -8047,9 +8072,28 @@ Tab.propTypes = {
8047
8072
  children: PropTypes.node
8048
8073
  };
8049
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
+
8050
8094
  var Tabs = function (_a) {
8051
- 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"]);
8052
- 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];
8053
8097
  var tabsRef = React.useRef(null);
8054
8098
  var focusedTabRef = React.useRef(null);
8055
8099
  var tabs = React__default.Children.toArray(children).filter(function (child) { return child.type === Tab; });
@@ -8060,34 +8104,48 @@ var Tabs = function (_a) {
8060
8104
  var handleKeyDown = function (event) {
8061
8105
  var key = event.key;
8062
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
+ }
8063
8117
  switch (key) {
8064
- case 'ArrowLeft': {
8118
+ case backward: {
8065
8119
  newIndex = activeIndex - 1;
8066
8120
  // circularity
8067
8121
  if (newIndex === -1) {
8068
8122
  newIndex = tabCount - 1;
8069
8123
  }
8070
8124
  setActiveIndex(newIndex);
8125
+ event.preventDefault();
8071
8126
  break;
8072
8127
  }
8073
- case 'ArrowRight': {
8128
+ case forward: {
8074
8129
  newIndex = activeIndex + 1;
8075
8130
  // circularity
8076
8131
  if (newIndex === tabCount) {
8077
8132
  newIndex = 0;
8078
8133
  }
8079
8134
  setActiveIndex(newIndex);
8135
+ event.preventDefault();
8080
8136
  break;
8081
8137
  }
8082
8138
  case 'Home': {
8083
8139
  newIndex = 0;
8084
8140
  setActiveIndex(newIndex);
8141
+ event.preventDefault();
8085
8142
  break;
8086
8143
  }
8087
8144
  case 'End': {
8088
8145
  event.preventDefault();
8089
8146
  newIndex = tabCount - 1;
8090
8147
  setActiveIndex(newIndex);
8148
+ event.preventDefault();
8091
8149
  break;
8092
8150
  }
8093
8151
  }
@@ -8120,7 +8178,9 @@ var Tabs = function (_a) {
8120
8178
  }
8121
8179
  }, [activeIndex]);
8122
8180
  return (React__default.createElement("div", { className: classNames('Tabs', className, {
8123
- 'Tabs--thin': thin
8181
+ 'Tabs--thin': thin,
8182
+ 'Tabs--vertical': orientation === 'vertical',
8183
+ 'Tabs--horizontal': orientation === 'horizontal'
8124
8184
  }), ref: tabsRef },
8125
8185
  React__default.createElement("ul", tslib.__assign({ role: "tablist", className: "Tablist" }, labelProp, { onKeyDown: handleKeyDown }), tabComponents)));
8126
8186
  };
@@ -8131,6 +8191,7 @@ Tabs.propTypes = {
8131
8191
  'aria-labelledby': PropTypes.string,
8132
8192
  initialActiveIndex: PropTypes.number,
8133
8193
  thin: PropTypes.bool,
8194
+ orientation: PropTypes.string,
8134
8195
  className: PropTypes.string
8135
8196
  };
8136
8197
 
@@ -8213,15 +8274,37 @@ Stepper.propTypes = {
8213
8274
  };
8214
8275
 
8215
8276
  var Panel = function (_a) {
8216
- var className = _a.className, _b = _a.title, title = _b === void 0 ? '' : _b, actions = _a.actions, children = _a.children;
8217
- return (React__default.createElement("div", { className: classNames('Panel', className) },
8218
- React__default.createElement("div", { className: "Panel__Header" },
8219
- title && React__default.createElement("div", { className: "Panel__Header-title" }, title),
8220
- actions && React__default.createElement("div", { className: "Panel__Header-actions" }, actions)),
8221
- 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));
8222
8290
  };
8223
8291
  Panel.displayName = 'Panel';
8224
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 = {
8225
8308
  children: PropTypes.node.isRequired,
8226
8309
  className: PropTypes.string
8227
8310
  };
@@ -8266,23 +8349,60 @@ AddressCityStateZip.propTypes = {
8266
8349
  className: PropTypes.string
8267
8350
  };
8268
8351
 
8269
- /**
8270
- * Hook to be used similarly to the React.Component#componentDidMount.
8271
- * Executes the provided `effect` when `dependencies` change but does not
8272
- * execute the effect initially (on mount) - only on update.
8273
- *
8274
- * @param effect {Function} function to be executed when dependencies update
8275
- * @param dependencies {Any} any valid dependency argument to React.useEffect
8276
- */
8277
- var useDidUpdate = function (effect, dependencies) {
8278
- var mounted = React__default.useRef(false);
8279
- React__default.useEffect(function () {
8280
- if (!mounted.current) {
8281
- mounted.current = true;
8282
- return;
8283
- }
8284
- effect();
8285
- }, dependencies);
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, { 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, { 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, { 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, { 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
8286
8406
  };
8287
8407
 
8288
8408
  var LIGHT_THEME_CLASS = 'cauldron--theme-light';
@@ -8357,8 +8477,10 @@ exports.Dialog = Dialog;
8357
8477
  exports.DialogContent = DialogContent;
8358
8478
  exports.DialogFooter = DialogFooter;
8359
8479
  exports.ExpandCollapsePanel = ExpandCollapsePanel;
8480
+ exports.FieldWrap = FieldWrap;
8360
8481
  exports.Icon = Icon;
8361
8482
  exports.IconButton = IconButton;
8483
+ exports.IssuePanel = IssuePanel;
8362
8484
  exports.Layout = Layout;
8363
8485
  exports.Line = Line;
8364
8486
  exports.Link = Link;
@@ -8378,6 +8500,7 @@ exports.OptionsMenuItem = OptionsMenuItem;
8378
8500
  exports.OptionsMenuList = OptionsMenuList;
8379
8501
  exports.OptionsMenuTrigger = OptionsMenuTrigger;
8380
8502
  exports.OptionsMenuWrapper = OptionsMenuWrapper;
8503
+ exports.Pagination = Pagination;
8381
8504
  exports.Panel = Panel;
8382
8505
  exports.PanelTrigger = PanelTrigger$1;
8383
8506
  exports.Pointout = Pointout;
@@ -5,22 +5,20 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
5
5
  var React = require('react');
6
6
  var React__default = _interopDefault(React);
7
7
 
8
+ var _path;
9
+
8
10
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
9
11
 
10
- var _ref = /*#__PURE__*/React.createElement("path", {
12
+ const SvgInfoCircleAlt = props => /*#__PURE__*/React.createElement("svg", _extends({
13
+ overflow: "visible",
14
+ preserveAspectRatio: "none",
15
+ viewBox: "0 0 24 24",
16
+ height: 24,
17
+ width: 24
18
+ }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
11
19
  d: "M11 17h2v-6h-2v6zm1-15C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zM11 9h2V7h-2v2z",
12
20
  vectorEffect: "non-scaling-stroke",
13
21
  fill: "currentColor"
14
- });
15
-
16
- function SvgInfoCircleAlt(props) {
17
- return /*#__PURE__*/React.createElement("svg", _extends({
18
- overflow: "visible",
19
- preserveAspectRatio: "none",
20
- viewBox: "0 0 24 24",
21
- width: 18,
22
- height: 18
23
- }, props), _ref);
24
- }
22
+ })));
25
23
 
26
24
  exports.default = SvgInfoCircleAlt;
@@ -5,22 +5,21 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
5
5
  var React = require('react');
6
6
  var React__default = _interopDefault(React);
7
7
 
8
+ var _path;
9
+
8
10
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
9
11
 
10
- var _ref = /*#__PURE__*/React.createElement("path", {
12
+ const SvgInfoCircle = props => /*#__PURE__*/React.createElement("svg", _extends({
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ overflow: "visible",
15
+ preserveAspectRatio: "none",
16
+ viewBox: "0 0 24 24",
17
+ height: 24,
18
+ width: 24
19
+ }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
11
20
  d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z",
12
21
  vectorEffect: "non-scaling-stroke",
13
22
  fill: "currentColor"
14
- });
15
-
16
- function SvgInfoCircle(props) {
17
- return /*#__PURE__*/React.createElement("svg", _extends({
18
- overflow: "visible",
19
- preserveAspectRatio: "none",
20
- viewBox: "0 0 24 24",
21
- width: 19,
22
- height: 19
23
- }, props), _ref);
24
- }
23
+ })));
25
24
 
26
25
  exports.default = SvgInfoCircle;
@@ -5,21 +5,20 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
5
5
  var React = require('react');
6
6
  var React__default = _interopDefault(React);
7
7
 
8
+ var _path;
9
+
8
10
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
9
11
 
10
- var _ref = /*#__PURE__*/React.createElement("path", {
12
+ const SvgInfoSquare = props => /*#__PURE__*/React.createElement("svg", _extends({
13
+ overflow: "visible",
14
+ preserveAspectRatio: "none",
15
+ viewBox: "0 0 24 24",
16
+ height: 24,
17
+ width: 24
18
+ }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
11
19
  d: "M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 9h-2V5h2v6zm0 4h-2v-2h2v2z",
12
20
  vectorEffect: "non-scaling-stroke",
13
21
  fill: "currentColor"
14
- });
15
-
16
- function SvgInfoSquare(props) {
17
- return /*#__PURE__*/React.createElement("svg", _extends({
18
- overflow: "visible",
19
- preserveAspectRatio: "none",
20
- width: 24,
21
- height: 24
22
- }, props), _ref);
23
- }
22
+ })));
24
23
 
25
24
  exports.default = SvgInfoSquare;
package/lib/kabob.js ADDED
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
+
5
+ var React = require('react');
6
+ var React__default = _interopDefault(React);
7
+
8
+ var _path;
9
+
10
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
11
+
12
+ const SvgKabob = props => /*#__PURE__*/React.createElement("svg", _extends({
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ overflow: "visible",
15
+ preserveAspectRatio: "none",
16
+ viewBox: "0 0 24 24",
17
+ height: 24,
18
+ width: 24
19
+ }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
20
+ d: "M13.71 15.62a.99.99 0 0 0-.71-.29h-2c-.55 0-1 .45-1 1v2c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-2c0-.27-.1-.52-.29-.71zm0-5.33A.99.99 0 0 0 13 10h-2c-.55 0-1 .45-1 1v2c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-2c0-.27-.1-.52-.29-.71zm0-5.33a.99.99 0 0 0-.71-.29h-2c-.55 0-1 .45-1 1v2c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-2c-.01-.25-.11-.49-.29-.67v-.04z",
21
+ vectorEffect: "non-scaling-stroke",
22
+ fill: "currentColor"
23
+ })));
24
+
25
+ exports.default = SvgKabob;
@@ -5,9 +5,17 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
5
5
  var React = require('react');
6
6
  var React__default = _interopDefault(React);
7
7
 
8
+ var _g;
9
+
8
10
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
9
11
 
10
- var _ref = /*#__PURE__*/React.createElement("g", {
12
+ const SvgList = props => /*#__PURE__*/React.createElement("svg", _extends({
13
+ overflow: "visible",
14
+ preserveAspectRatio: "none",
15
+ viewBox: "0 0 24 24",
16
+ height: 24,
17
+ width: 24
18
+ }, props), _g || (_g = /*#__PURE__*/React.createElement("g", {
11
19
  fill: "currentColor"
12
20
  }, /*#__PURE__*/React.createElement("rect", {
13
21
  y: 1,
@@ -42,15 +50,6 @@ var _ref = /*#__PURE__*/React.createElement("g", {
42
50
  width: 16,
43
51
  height: 5,
44
52
  rx: 1
45
- }));
46
-
47
- function SvgList(props) {
48
- return /*#__PURE__*/React.createElement("svg", _extends({
49
- overflow: "visible",
50
- preserveAspectRatio: "none",
51
- width: 24,
52
- height: 24
53
- }, props), _ref);
54
- }
53
+ }))));
55
54
 
56
55
  exports.default = SvgList;