@arc-ui/components 11.2.0 → 11.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/Button/Button.cjs.d.ts +1 -1
  2. package/dist/Button/Button.cjs.js +1 -1
  3. package/dist/Button/Button.esm.d.ts +1 -1
  4. package/dist/Button/Button.esm.js +1 -1
  5. package/dist/Card/Card.cjs.js +1 -1
  6. package/dist/Card/Card.esm.js +1 -1
  7. package/dist/Checkbox/Checkbox.cjs.js +8 -27
  8. package/dist/Checkbox/Checkbox.esm.js +3 -22
  9. package/dist/FormControl/FormControl.cjs.d.ts +1 -1
  10. package/dist/FormControl/FormControl.cjs.js +1 -1
  11. package/dist/FormControl/FormControl.esm.d.ts +1 -1
  12. package/dist/FormControl/FormControl.esm.js +1 -1
  13. package/dist/ProgressBar/ProgressBar.cjs.d.ts +47 -0
  14. package/dist/ProgressBar/ProgressBar.cjs.js +113 -0
  15. package/dist/ProgressBar/ProgressBar.esm.d.ts +47 -0
  16. package/dist/ProgressBar/ProgressBar.esm.js +105 -0
  17. package/dist/ProgressBar/package.json +7 -0
  18. package/dist/RadioGroup/RadioGroup.cjs.d.ts +2 -2
  19. package/dist/RadioGroup/RadioGroup.cjs.js +2 -2
  20. package/dist/RadioGroup/RadioGroup.esm.d.ts +2 -2
  21. package/dist/RadioGroup/RadioGroup.esm.js +2 -2
  22. package/dist/Select/Select.cjs.d.ts +2 -2
  23. package/dist/Select/Select.cjs.js +75 -74
  24. package/dist/Select/Select.esm.d.ts +2 -2
  25. package/dist/Select/Select.esm.js +3 -2
  26. package/dist/SiteHeader/SiteHeader.cjs.js +1 -1
  27. package/dist/SiteHeader/SiteHeader.esm.js +1 -1
  28. package/dist/Switch/Switch.cjs.d.ts +1 -1
  29. package/dist/Switch/Switch.cjs.js +13 -12
  30. package/dist/Switch/Switch.esm.d.ts +1 -1
  31. package/dist/Switch/Switch.esm.js +4 -3
  32. package/dist/Tag/Tag.cjs.d.ts +33 -0
  33. package/dist/Tag/Tag.cjs.js +73 -0
  34. package/dist/Tag/Tag.esm.d.ts +33 -0
  35. package/dist/Tag/Tag.esm.js +65 -0
  36. package/dist/Tag/package.json +7 -0
  37. package/dist/TextInput/TextInput.cjs.d.ts +2 -2
  38. package/dist/TextInput/TextInput.cjs.js +1 -1
  39. package/dist/TextInput/TextInput.esm.d.ts +2 -2
  40. package/dist/TextInput/TextInput.esm.js +1 -1
  41. package/dist/VerticalSpace/VerticalSpace.cjs.d.ts +1 -1
  42. package/dist/VerticalSpace/VerticalSpace.cjs.js +1 -1
  43. package/dist/VerticalSpace/VerticalSpace.esm.d.ts +1 -1
  44. package/dist/VerticalSpace/VerticalSpace.esm.js +1 -1
  45. package/dist/_shared/cjs/BtIconTickAlt2Px-bdf06f8c.js +29 -0
  46. package/dist/_shared/cjs/{Button-b3a69953.js → Button-1af6868c.js} +1 -4
  47. package/dist/_shared/{esm/FormControl-84c9ace6.d.ts → cjs/FormControl-d4d9c665.d.ts} +4 -0
  48. package/dist/_shared/cjs/{FormControl-e6b7d7c5.js → FormControl-d4d9c665.js} +6 -5
  49. package/dist/_shared/cjs/VerticalSpace-7aed88ab.d.ts +34 -0
  50. package/dist/_shared/cjs/{VerticalSpace-65ad083c.js → VerticalSpace-7aed88ab.js} +6 -2
  51. package/dist/_shared/cjs/index-c81c9401.d.ts +1 -1
  52. package/dist/_shared/cjs/{BtIconTickAlt2Px-b12ecc78.js → index.module-af7c85f2.js} +34 -59
  53. package/dist/_shared/esm/BtIconTickAlt2Px-da97e9ae.js +23 -0
  54. package/dist/_shared/esm/{Button-69439f8f.js → Button-10700df4.js} +1 -4
  55. package/dist/_shared/{cjs/FormControl-e6b7d7c5.d.ts → esm/FormControl-2cb96de7.d.ts} +4 -0
  56. package/dist/_shared/esm/{FormControl-84c9ace6.js → FormControl-2cb96de7.js} +6 -5
  57. package/dist/_shared/esm/VerticalSpace-3579b20e.d.ts +34 -0
  58. package/dist/_shared/esm/{VerticalSpace-6b4f5e50.js → VerticalSpace-3579b20e.js} +6 -2
  59. package/dist/_shared/esm/index-c81c9401.d.ts +1 -1
  60. package/dist/_shared/esm/{BtIconTickAlt2Px-2c4ec3be.js → index.module-599b86dd.js} +2 -22
  61. package/dist/index.es.js +77 -38
  62. package/dist/index.es.js.map +1 -1
  63. package/dist/index.js +77 -37
  64. package/dist/index.js.map +1 -1
  65. package/dist/styles.css +1 -1
  66. package/dist/types/components/FormControl/FormControl.d.ts +4 -0
  67. package/dist/types/components/ProgressBar/ProgressBar.d.ts +46 -0
  68. package/dist/types/components/ProgressBar/constants/progress-bar-icon-map.d.ts +3 -0
  69. package/dist/types/components/ProgressBar/index.d.ts +1 -0
  70. package/dist/types/components/ProgressBar/types/progress-bar-icons.d.ts +1 -0
  71. package/dist/types/components/ProgressBar/types/progress-bar-state.d.ts +1 -0
  72. package/dist/types/components/ProgressBar/utils/get-progress-bar-props.d.ts +1 -0
  73. package/dist/types/components/RadioGroup/RadioGroup.d.ts +1 -1
  74. package/dist/types/components/Select/Select.d.ts +1 -1
  75. package/dist/types/components/Tag/Tag.d.ts +32 -0
  76. package/dist/types/components/Tag/index.d.ts +1 -0
  77. package/dist/types/components/TextInput/TextInput.d.ts +1 -1
  78. package/dist/types/components/VerticalSpace/VerticalSpace.d.ts +17 -1
  79. package/dist/types/components/index.d.ts +1 -0
  80. package/dist/types/styles.d.ts +2 -0
  81. package/package.json +4 -4
  82. package/dist/_shared/cjs/VerticalSpace-65ad083c.d.ts +0 -18
  83. package/dist/_shared/esm/VerticalSpace-6b4f5e50.d.ts +0 -18
  84. /package/dist/_shared/cjs/{Button-b3a69953.d.ts → Button-1af6868c.d.ts} +0 -0
  85. /package/dist/_shared/esm/{Button-69439f8f.d.ts → Button-10700df4.d.ts} +0 -0
@@ -1 +1 @@
1
- export { Button } from "../_shared/cjs/Button-b3a69953";
1
+ export { Button } from "../_shared/cjs/Button-1af6868c";
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Button = require('../_shared/cjs/Button-b3a69953.js');
5
+ var Button = require('../_shared/cjs/Button-1af6868c.js');
6
6
  require('../_shared/cjs/index-78b35bc1.js');
7
7
  require('react');
8
8
  require('../_shared/cjs/BtIconChevronRightMid-5a38d855.js');
@@ -1 +1 @@
1
- export { Button } from "../_shared/esm/Button-69439f8f";
1
+ export { Button } from "../_shared/esm/Button-10700df4";
@@ -1,4 +1,4 @@
1
- export { B as Button } from '../_shared/esm/Button-69439f8f.js';
1
+ export { B as Button } from '../_shared/esm/Button-10700df4.js';
2
2
  import '../_shared/esm/index-229fc864.js';
3
3
  import 'react';
4
4
  import '../_shared/esm/BtIconChevronRightMid-d9b11761.js';
@@ -120,7 +120,7 @@ var CardLink = function (_a) {
120
120
  }), href: href, rel: target === "_blank" ? "noopener noreferrer" : undefined, tabIndex: isButton ? -1 : undefined, target: target }, index.filterDataAttrs(linkData)),
121
121
  React__default["default"].createElement("span", { className: "arc-Card-linkText" }, children),
122
122
  isButton && (React__default["default"].createElement("span", { className: "arc-Card-linkIcon" },
123
- React__default["default"].createElement(Icon.Icon, { testId: "cardIcon", icon: BtIconChevronRightMid.BtIconChevronRightMid_2, size: 16 })))));
123
+ React__default["default"].createElement(Icon.Icon, { testId: "cardIcon", icon: BtIconChevronRightMid.BtIconChevronRightMid_2, size: 24 })))));
124
124
  };
125
125
 
126
126
  exports.Card = Card;
@@ -112,7 +112,7 @@ var CardLink = function (_a) {
112
112
  }), href: href, rel: target === "_blank" ? "noopener noreferrer" : undefined, tabIndex: isButton ? -1 : undefined, target: target }, filterDataAttrs(linkData)),
113
113
  React__default.createElement("span", { className: "arc-Card-linkText" }, children),
114
114
  isButton && (React__default.createElement("span", { className: "arc-Card-linkIcon" },
115
- React__default.createElement(Icon, { testId: "cardIcon", icon: BtIconChevronRightMid_2, size: 16 })))));
115
+ React__default.createElement(Icon, { testId: "cardIcon", icon: BtIconChevronRightMid_2, size: 24 })))));
116
116
  };
117
117
 
118
118
  export { Card };
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var index = require('../_shared/cjs/index-78b35bc1.js');
6
- var React$1 = require('react');
7
- var FormControl = require('../_shared/cjs/FormControl-e6b7d7c5.js');
6
+ var React = require('react');
7
+ var BtIconTickAlt2Px = require('../_shared/cjs/BtIconTickAlt2Px-bdf06f8c.js');
8
+ var FormControl = require('../_shared/cjs/FormControl-d4d9c665.js');
8
9
  var index$1 = require('../_shared/cjs/index-45bfb67b.js');
9
10
  var Surface = require('../_shared/cjs/Surface-d6b8010e.js');
10
11
  require('../_shared/cjs/Text-1d3844be.js');
@@ -13,35 +14,15 @@ require('../_shared/cjs/BtIconChevronRightMid-5a38d855.js');
13
14
 
14
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
16
 
16
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React$1);
17
-
18
- const React = React__default["default"];
19
- const BtIconTickVariant = props =>
20
- /*#__PURE__*/ React.createElement(
21
- "svg",
22
- Object.assign(
23
- {
24
- xmlns: "http://www.w3.org/2000/svg",
25
- viewBox: "0 0 32 32"
26
- },
27
- props
28
- ),
29
- /*#__PURE__*/ React.createElement("defs", null),
30
- /*#__PURE__*/ React.createElement("path", {
31
- d:
32
- "M13.5,21.207,9.14648,16.85352a.5.5,0,0,1,.707-.707L13.5,19.793l8.64648-8.64649a.5.5,0,0,1,.707.707Z",
33
- fill: "currentColor"
34
- })
35
- );
36
- var BtIconTickVariant_2 = BtIconTickVariant;
17
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
37
18
 
38
19
  /**
39
20
  * Use `Checkbox` to allow users to select individual options.
40
21
  */
41
- var Checkbox = React$1.forwardRef(function (_a, ref) {
22
+ var Checkbox = React.forwardRef(function (_a, ref) {
42
23
  var _b = _a.checked, checked = _b === void 0 ? false : _b, errorMessage = _a.errorMessage, helper = _a.helper, id = _a.id, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.isRequired, isRequired = _d === void 0 ? false : _d, label = _a.label, name = _a.name, onBlur = _a.onBlur, onChange = _a.onChange, _e = _a.size, size = _e === void 0 ? "l" : _e, value = _a.value, props = index.__rest(_a, ["checked", "errorMessage", "helper", "id", "isDisabled", "isRequired", "label", "name", "onBlur", "onChange", "size", "value"]);
43
- var requirementStatus = React$1.useContext(FormControl.Context).requirementStatus;
44
- var surface = React$1.useContext(Surface.Context).surface;
24
+ var requirementStatus = React.useContext(FormControl.Context).requirementStatus;
25
+ var surface = React.useContext(Surface.Context).surface;
45
26
  var _f = FormControl.useAriaDescribedby({
46
27
  id: id,
47
28
  errorMessage: errorMessage
@@ -67,7 +48,7 @@ var Checkbox = React$1.forwardRef(function (_a, ref) {
67
48
  React__default["default"].createElement("label", { id: idLabel, htmlFor: id, className: "arc-Checkbox-label" },
68
49
  React__default["default"].createElement("input", index.__assign({ "aria-describedby": ariaDescribedby, "aria-invalid": errorMessage ? "true" : "false", className: "arc-Checkbox-input" }, checkedProps, { disabled: isDisabled, id: id, name: name, onBlur: onBlur, onChange: onChange, ref: ref, required: isRequired, type: "checkbox", value: value }, index.filterDataAttrs(props))),
69
50
  React__default["default"].createElement("span", { className: "arc-Checkbox-box" },
70
- React__default["default"].createElement(BtIconTickVariant_2, null)),
51
+ React__default["default"].createElement(BtIconTickAlt2Px.BtIconTickAlt2Px_2, null)),
71
52
  React__default["default"].createElement("span", null,
72
53
  label,
73
54
  !isRequired && requirementStatus !== "optional" ? (React__default["default"].createElement("span", { className: "arc-Checkbox-labelOptional" }, "(optional)")) : null,
@@ -1,32 +1,13 @@
1
1
  import { _ as __rest, a as __assign, f as filterDataAttrs } from '../_shared/esm/index-229fc864.js';
2
2
  import React__default, { forwardRef, useContext } from 'react';
3
- import { C as Context, u as useAriaDescribedby, B as BtIconAlert_2 } from '../_shared/esm/FormControl-84c9ace6.js';
3
+ import { B as BtIconTickAlt2Px_2 } from '../_shared/esm/BtIconTickAlt2Px-da97e9ae.js';
4
+ import { C as Context, u as useAriaDescribedby, B as BtIconAlert_2 } from '../_shared/esm/FormControl-2cb96de7.js';
4
5
  import { c as classNames } from '../_shared/esm/index-2ae58626.js';
5
6
  import { C as Context$1 } from '../_shared/esm/Surface-bf201530.js';
6
7
  import '../_shared/esm/Text-6b958ad8.js';
7
8
  import '../_shared/esm/suffix-modifier-f5e28822.js';
8
9
  import '../_shared/esm/BtIconChevronRightMid-d9b11761.js';
9
10
 
10
- const React = React__default;
11
- const BtIconTickVariant = props =>
12
- /*#__PURE__*/ React.createElement(
13
- "svg",
14
- Object.assign(
15
- {
16
- xmlns: "http://www.w3.org/2000/svg",
17
- viewBox: "0 0 32 32"
18
- },
19
- props
20
- ),
21
- /*#__PURE__*/ React.createElement("defs", null),
22
- /*#__PURE__*/ React.createElement("path", {
23
- d:
24
- "M13.5,21.207,9.14648,16.85352a.5.5,0,0,1,.707-.707L13.5,19.793l8.64648-8.64649a.5.5,0,0,1,.707.707Z",
25
- fill: "currentColor"
26
- })
27
- );
28
- var BtIconTickVariant_2 = BtIconTickVariant;
29
-
30
11
  /**
31
12
  * Use `Checkbox` to allow users to select individual options.
32
13
  */
@@ -59,7 +40,7 @@ var Checkbox = forwardRef(function (_a, ref) {
59
40
  React__default.createElement("label", { id: idLabel, htmlFor: id, className: "arc-Checkbox-label" },
60
41
  React__default.createElement("input", __assign({ "aria-describedby": ariaDescribedby, "aria-invalid": errorMessage ? "true" : "false", className: "arc-Checkbox-input" }, checkedProps, { disabled: isDisabled, id: id, name: name, onBlur: onBlur, onChange: onChange, ref: ref, required: isRequired, type: "checkbox", value: value }, filterDataAttrs(props))),
61
42
  React__default.createElement("span", { className: "arc-Checkbox-box" },
62
- React__default.createElement(BtIconTickVariant_2, null)),
43
+ React__default.createElement(BtIconTickAlt2Px_2, null)),
63
44
  React__default.createElement("span", null,
64
45
  label,
65
46
  !isRequired && requirementStatus !== "optional" ? (React__default.createElement("span", { className: "arc-Checkbox-labelOptional" }, "(optional)")) : null,
@@ -1 +1 @@
1
- export { FormControl, FormControlContext } from "../_shared/cjs/FormControl-e6b7d7c5";
1
+ export { FormControl, FormControlContext } from "../_shared/cjs/FormControl-d4d9c665";
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var FormControl = require('../_shared/cjs/FormControl-e6b7d7c5.js');
5
+ var FormControl = require('../_shared/cjs/FormControl-d4d9c665.js');
6
6
  require('../_shared/cjs/index-78b35bc1.js');
7
7
  require('../_shared/cjs/index-45bfb67b.js');
8
8
  require('react');
@@ -1 +1 @@
1
- export { FormControl, FormControlContext } from "../_shared/esm/FormControl-84c9ace6";
1
+ export { FormControl, FormControlContext } from "../_shared/esm/FormControl-2cb96de7";
@@ -1,4 +1,4 @@
1
- export { F as FormControl, C as FormControlContext } from '../_shared/esm/FormControl-84c9ace6.js';
1
+ export { F as FormControl, C as FormControlContext } from '../_shared/esm/FormControl-2cb96de7.js';
2
2
  import '../_shared/esm/index-229fc864.js';
3
3
  import '../_shared/esm/index-2ae58626.js';
4
4
  import 'react';
@@ -0,0 +1,47 @@
1
+ import { FC } from "react";
2
+ type ProgressBarState = "loading" | "error" | "success";
3
+ type ProgressBarIcons = "refresh" | "cross" | "tick";
4
+ declare const ProgressBar: FC<ProgressBarProps>;
5
+ interface ProgressBarProps {
6
+ /**
7
+ * Label for screen readers.
8
+ */
9
+ ariaLabel: string;
10
+ /**
11
+ * Headline for the progress bar.
12
+ */
13
+ headline?: string;
14
+ /**
15
+ * Title for the progress bar, (e.g. an uploading file's name).
16
+ */
17
+ title?: string;
18
+ /**
19
+ * Percentage value for the progress bar (negative numbers are rounded to 0, numbers over 100 are rounded to 100).
20
+ */
21
+ value?: number;
22
+ /**
23
+ * Provide an additional informative description for the progress bar, or brand building slot for secondary messaging which can change over time with progress.
24
+ */
25
+ description?: string;
26
+ /**
27
+ * Value to display for the progress bar. This is fully customisable, and can be a percentage (15%) Time remaining (1m 15s remaining), proportion of data uploaded/to upload (100KB out of 256KB).
28
+ */
29
+ displayValue?: string;
30
+ /**
31
+ * State of the progress bar.
32
+ */
33
+ state?: ProgressBarState;
34
+ /**
35
+ * Sets progress bar to infinitely animate. Use if the progress of a given task cannot be known. The value prop will have no effect if this prop is set to true.
36
+ */
37
+ isIndeterminate?: boolean;
38
+ /**
39
+ * Action for the progress bar.
40
+ */
41
+ action?: {
42
+ text: string;
43
+ action: () => void;
44
+ icon?: ProgressBarIcons;
45
+ };
46
+ }
47
+ export { ProgressBar };
@@ -0,0 +1,113 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var index = require('../_shared/cjs/index-78b35bc1.js');
6
+ var index$1 = require('../_shared/cjs/index-45bfb67b.js');
7
+ var React$2 = require('react');
8
+ var Text = require('../_shared/cjs/Text-1d3844be.js');
9
+ var Heading = require('../_shared/cjs/Heading-cc38c3ec.js');
10
+ var VerticalSpace = require('../_shared/cjs/VerticalSpace-7aed88ab.js');
11
+ var Icon = require('../_shared/cjs/Icon-719d13d4.js');
12
+ var Surface = require('../_shared/cjs/Surface-d6b8010e.js');
13
+ var BtIconTickAlt2Px = require('../_shared/cjs/BtIconTickAlt2Px-bdf06f8c.js');
14
+ require('../_shared/cjs/suffix-modifier-edf7851e.js');
15
+
16
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
+
18
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React$2);
19
+
20
+ const React$1 = React__default["default"];
21
+ const BtIconRefresh = props =>
22
+ /*#__PURE__*/ React$1.createElement(
23
+ "svg",
24
+ Object.assign(
25
+ {
26
+ xmlns: "http://www.w3.org/2000/svg",
27
+ viewBox: "0 0 32 32"
28
+ },
29
+ props
30
+ ),
31
+ /*#__PURE__*/ React$1.createElement("defs", null),
32
+ /*#__PURE__*/ React$1.createElement("path", {
33
+ d:
34
+ "M13.41077,21.99951a.5005.5005,0,0,0-.35743.8501l2.04609,2.08716A8.98732,8.98732,0,0,1,13.15332,7.46631a.50028.50028,0,1,0-.31641-.94922A9.98437,9.98437,0,0,0,15.127,25.93823l.00159.02881c.0011.01.02008.00128.03015.002L13.026,28.16846a.50036.50036,0,0,0,.71875.69629l3.28418-3.38819-3.26074-3.32715A.50106.50106,0,0,0,13.41077,21.99951Z",
35
+ fill: "currentColor"
36
+ }),
37
+ /*#__PURE__*/ React$1.createElement("path", {
38
+ d:
39
+ "M16.79028,6.04633,16.79,6.04077c-.0011-.01-.02008-.00128-.03015-.00195l2.13275-2.19946a.50036.50036,0,0,0-.71875-.69629L14.88965,6.53125,18.15039,9.8584a.50106.50106,0,0,0,.35742.1499.5005.5005,0,0,0,.35742-.8501L16.7951,7.04657a8.98484,8.98484,0,0,1,2.05646,17.47589.49982.49982,0,1,0,.31641.94824A9.98244,9.98244,0,0,0,16.79028,6.04633Z",
40
+ fill: "currentColor"
41
+ })
42
+ );
43
+ var BtIconRefresh_2 = BtIconRefresh;
44
+
45
+ const React = React__default["default"];
46
+ const BtIconCrossAlt2Px = props =>
47
+ /*#__PURE__*/ React.createElement(
48
+ "svg",
49
+ Object.assign(
50
+ {
51
+ xmlns: "http://www.w3.org/2000/svg",
52
+ viewBox: "0 0 32 32"
53
+ },
54
+ props
55
+ ),
56
+ /*#__PURE__*/ React.createElement("defs", null),
57
+ /*#__PURE__*/ React.createElement("path", {
58
+ d:
59
+ "M17.41406,16l3.793-3.793A.99989.99989,0,0,0,19.793,10.793L16,14.58594l-3.793-3.793A.99989.99989,0,0,0,10.793,12.207L14.58594,16l-3.793,3.793A.99989.99989,0,1,0,12.207,21.207L16,17.41406l3.793,3.793A.99989.99989,0,0,0,21.207,19.793Z",
60
+ fill: "currentColor"
61
+ })
62
+ );
63
+ var BtIconCrossAlt2Px_2 = BtIconCrossAlt2Px;
64
+
65
+ var PROGRESS_BAR_ICON_MAP = {
66
+ refresh: BtIconRefresh_2,
67
+ tick: BtIconTickAlt2Px.BtIconTickAlt2Px_2,
68
+ cross: BtIconCrossAlt2Px_2
69
+ };
70
+
71
+ var getProgressBarProps = function (isIndeterminate, progressValue, ariaLabel) {
72
+ var commonProps = {
73
+ role: "progressbar",
74
+ "data-testid": "progressbar",
75
+ "aria-label": ariaLabel,
76
+ tabIndex: 0
77
+ };
78
+ var indeterminateProps = index.__assign(index.__assign({}, commonProps), { className: index$1.classNames("arc-ProgressBar-bar", "arc-ProgressBar-bar--indeterminate") });
79
+ var determinateProps = index.__assign(index.__assign({}, commonProps), { className: "arc-ProgressBar-bar", "aria-valuenow": progressValue, style: {
80
+ transform: "translateX(".concat(-100 + progressValue, "%)")
81
+ } });
82
+ return isIndeterminate ? indeterminateProps : determinateProps;
83
+ };
84
+
85
+ var ProgressBar = function (_a) {
86
+ var _b = _a.state, state = _b === void 0 ? "loading" : _b, _c = _a.value, value = _c === void 0 ? 0 : _c, _d = _a.isIndeterminate, isIndeterminate = _d === void 0 ? false : _d, headline = _a.headline, ariaLabel = _a.ariaLabel, action = _a.action, title = _a.title, description = _a.description, displayValue = _a.displayValue;
87
+ var surface = React$2.useContext(Surface.Context).surface;
88
+ var progressValue = Math.min(100, Math.max(0, value));
89
+ return (React__default["default"].createElement("div", { "data-testid": "progress", className: index$1.classNames("arc-ProgressBar", "arc-ProgressBar--".concat(state), {
90
+ "arc-ProgressBar--onDarkSurface": surface === "dark"
91
+ }) },
92
+ React__default["default"].createElement("div", { className: "arc-ProgressBar-titleDisplayValueContainer" },
93
+ React__default["default"].createElement("div", { className: "arc-ProgressBar-titleContainer" },
94
+ headline && React__default["default"].createElement(Heading.Heading, { size: "s" }, headline),
95
+ headline && title && React__default["default"].createElement(VerticalSpace.VerticalSpace, { size: "4" }),
96
+ title && React__default["default"].createElement(Text.Text, null, title)),
97
+ displayValue && (React__default["default"].createElement("div", { "data-testid": "display-value", className: "arc-ProgressBar-displayValueContainer" },
98
+ React__default["default"].createElement(Text.Text, null, displayValue)))),
99
+ React__default["default"].createElement("div", { className: "arc-ProgressBar-container" },
100
+ React__default["default"].createElement("div", { className: "arc-ProgressBar-outerBar" },
101
+ React__default["default"].createElement("div", index.__assign({}, getProgressBarProps(isIndeterminate, progressValue, ariaLabel)))),
102
+ description && (React__default["default"].createElement("div", { className: "arc-ProgressBar-description" },
103
+ React__default["default"].createElement(Text.Text, { tone: state !== "error" ? "supporting" : "default" }, description))),
104
+ action && (React__default["default"].createElement(React__default["default"].Fragment, null,
105
+ React__default["default"].createElement(VerticalSpace.VerticalSpace, { size: "8" }),
106
+ React__default["default"].createElement("button", { className: "arc-ProgressBar-actionButton", onClick: action.action },
107
+ React__default["default"].createElement("div", { className: "arc-ProgressBar-actionContainer" },
108
+ React__default["default"].createElement(Text.Text, null, action.text),
109
+ action.icon && (React__default["default"].createElement("div", { className: "arc-ProgressBar-actionIcon" },
110
+ React__default["default"].createElement(Icon.Icon, { icon: PROGRESS_BAR_ICON_MAP[action.icon], size: 24 }))))))))));
111
+ };
112
+
113
+ exports.ProgressBar = ProgressBar;
@@ -0,0 +1,47 @@
1
+ import { FC } from "react";
2
+ type ProgressBarState = "loading" | "error" | "success";
3
+ type ProgressBarIcons = "refresh" | "cross" | "tick";
4
+ declare const ProgressBar: FC<ProgressBarProps>;
5
+ interface ProgressBarProps {
6
+ /**
7
+ * Label for screen readers.
8
+ */
9
+ ariaLabel: string;
10
+ /**
11
+ * Headline for the progress bar.
12
+ */
13
+ headline?: string;
14
+ /**
15
+ * Title for the progress bar, (e.g. an uploading file's name).
16
+ */
17
+ title?: string;
18
+ /**
19
+ * Percentage value for the progress bar (negative numbers are rounded to 0, numbers over 100 are rounded to 100).
20
+ */
21
+ value?: number;
22
+ /**
23
+ * Provide an additional informative description for the progress bar, or brand building slot for secondary messaging which can change over time with progress.
24
+ */
25
+ description?: string;
26
+ /**
27
+ * Value to display for the progress bar. This is fully customisable, and can be a percentage (15%) Time remaining (1m 15s remaining), proportion of data uploaded/to upload (100KB out of 256KB).
28
+ */
29
+ displayValue?: string;
30
+ /**
31
+ * State of the progress bar.
32
+ */
33
+ state?: ProgressBarState;
34
+ /**
35
+ * Sets progress bar to infinitely animate. Use if the progress of a given task cannot be known. The value prop will have no effect if this prop is set to true.
36
+ */
37
+ isIndeterminate?: boolean;
38
+ /**
39
+ * Action for the progress bar.
40
+ */
41
+ action?: {
42
+ text: string;
43
+ action: () => void;
44
+ icon?: ProgressBarIcons;
45
+ };
46
+ }
47
+ export { ProgressBar };
@@ -0,0 +1,105 @@
1
+ import { a as __assign } from '../_shared/esm/index-229fc864.js';
2
+ import { c as classNames } from '../_shared/esm/index-2ae58626.js';
3
+ import React__default, { useContext } from 'react';
4
+ import { T as Text } from '../_shared/esm/Text-6b958ad8.js';
5
+ import { H as Heading } from '../_shared/esm/Heading-eb1e42db.js';
6
+ import { V as VerticalSpace } from '../_shared/esm/VerticalSpace-3579b20e.js';
7
+ import { I as Icon } from '../_shared/esm/Icon-61f7237a.js';
8
+ import { C as Context } from '../_shared/esm/Surface-bf201530.js';
9
+ import { B as BtIconTickAlt2Px_2 } from '../_shared/esm/BtIconTickAlt2Px-da97e9ae.js';
10
+ import '../_shared/esm/suffix-modifier-f5e28822.js';
11
+
12
+ const React$1 = React__default;
13
+ const BtIconRefresh = props =>
14
+ /*#__PURE__*/ React$1.createElement(
15
+ "svg",
16
+ Object.assign(
17
+ {
18
+ xmlns: "http://www.w3.org/2000/svg",
19
+ viewBox: "0 0 32 32"
20
+ },
21
+ props
22
+ ),
23
+ /*#__PURE__*/ React$1.createElement("defs", null),
24
+ /*#__PURE__*/ React$1.createElement("path", {
25
+ d:
26
+ "M13.41077,21.99951a.5005.5005,0,0,0-.35743.8501l2.04609,2.08716A8.98732,8.98732,0,0,1,13.15332,7.46631a.50028.50028,0,1,0-.31641-.94922A9.98437,9.98437,0,0,0,15.127,25.93823l.00159.02881c.0011.01.02008.00128.03015.002L13.026,28.16846a.50036.50036,0,0,0,.71875.69629l3.28418-3.38819-3.26074-3.32715A.50106.50106,0,0,0,13.41077,21.99951Z",
27
+ fill: "currentColor"
28
+ }),
29
+ /*#__PURE__*/ React$1.createElement("path", {
30
+ d:
31
+ "M16.79028,6.04633,16.79,6.04077c-.0011-.01-.02008-.00128-.03015-.00195l2.13275-2.19946a.50036.50036,0,0,0-.71875-.69629L14.88965,6.53125,18.15039,9.8584a.50106.50106,0,0,0,.35742.1499.5005.5005,0,0,0,.35742-.8501L16.7951,7.04657a8.98484,8.98484,0,0,1,2.05646,17.47589.49982.49982,0,1,0,.31641.94824A9.98244,9.98244,0,0,0,16.79028,6.04633Z",
32
+ fill: "currentColor"
33
+ })
34
+ );
35
+ var BtIconRefresh_2 = BtIconRefresh;
36
+
37
+ const React = React__default;
38
+ const BtIconCrossAlt2Px = props =>
39
+ /*#__PURE__*/ React.createElement(
40
+ "svg",
41
+ Object.assign(
42
+ {
43
+ xmlns: "http://www.w3.org/2000/svg",
44
+ viewBox: "0 0 32 32"
45
+ },
46
+ props
47
+ ),
48
+ /*#__PURE__*/ React.createElement("defs", null),
49
+ /*#__PURE__*/ React.createElement("path", {
50
+ d:
51
+ "M17.41406,16l3.793-3.793A.99989.99989,0,0,0,19.793,10.793L16,14.58594l-3.793-3.793A.99989.99989,0,0,0,10.793,12.207L14.58594,16l-3.793,3.793A.99989.99989,0,1,0,12.207,21.207L16,17.41406l3.793,3.793A.99989.99989,0,0,0,21.207,19.793Z",
52
+ fill: "currentColor"
53
+ })
54
+ );
55
+ var BtIconCrossAlt2Px_2 = BtIconCrossAlt2Px;
56
+
57
+ var PROGRESS_BAR_ICON_MAP = {
58
+ refresh: BtIconRefresh_2,
59
+ tick: BtIconTickAlt2Px_2,
60
+ cross: BtIconCrossAlt2Px_2
61
+ };
62
+
63
+ var getProgressBarProps = function (isIndeterminate, progressValue, ariaLabel) {
64
+ var commonProps = {
65
+ role: "progressbar",
66
+ "data-testid": "progressbar",
67
+ "aria-label": ariaLabel,
68
+ tabIndex: 0
69
+ };
70
+ var indeterminateProps = __assign(__assign({}, commonProps), { className: classNames("arc-ProgressBar-bar", "arc-ProgressBar-bar--indeterminate") });
71
+ var determinateProps = __assign(__assign({}, commonProps), { className: "arc-ProgressBar-bar", "aria-valuenow": progressValue, style: {
72
+ transform: "translateX(".concat(-100 + progressValue, "%)")
73
+ } });
74
+ return isIndeterminate ? indeterminateProps : determinateProps;
75
+ };
76
+
77
+ var ProgressBar = function (_a) {
78
+ var _b = _a.state, state = _b === void 0 ? "loading" : _b, _c = _a.value, value = _c === void 0 ? 0 : _c, _d = _a.isIndeterminate, isIndeterminate = _d === void 0 ? false : _d, headline = _a.headline, ariaLabel = _a.ariaLabel, action = _a.action, title = _a.title, description = _a.description, displayValue = _a.displayValue;
79
+ var surface = useContext(Context).surface;
80
+ var progressValue = Math.min(100, Math.max(0, value));
81
+ return (React__default.createElement("div", { "data-testid": "progress", className: classNames("arc-ProgressBar", "arc-ProgressBar--".concat(state), {
82
+ "arc-ProgressBar--onDarkSurface": surface === "dark"
83
+ }) },
84
+ React__default.createElement("div", { className: "arc-ProgressBar-titleDisplayValueContainer" },
85
+ React__default.createElement("div", { className: "arc-ProgressBar-titleContainer" },
86
+ headline && React__default.createElement(Heading, { size: "s" }, headline),
87
+ headline && title && React__default.createElement(VerticalSpace, { size: "4" }),
88
+ title && React__default.createElement(Text, null, title)),
89
+ displayValue && (React__default.createElement("div", { "data-testid": "display-value", className: "arc-ProgressBar-displayValueContainer" },
90
+ React__default.createElement(Text, null, displayValue)))),
91
+ React__default.createElement("div", { className: "arc-ProgressBar-container" },
92
+ React__default.createElement("div", { className: "arc-ProgressBar-outerBar" },
93
+ React__default.createElement("div", __assign({}, getProgressBarProps(isIndeterminate, progressValue, ariaLabel)))),
94
+ description && (React__default.createElement("div", { className: "arc-ProgressBar-description" },
95
+ React__default.createElement(Text, { tone: state !== "error" ? "supporting" : "default" }, description))),
96
+ action && (React__default.createElement(React__default.Fragment, null,
97
+ React__default.createElement(VerticalSpace, { size: "8" }),
98
+ React__default.createElement("button", { className: "arc-ProgressBar-actionButton", onClick: action.action },
99
+ React__default.createElement("div", { className: "arc-ProgressBar-actionContainer" },
100
+ React__default.createElement(Text, null, action.text),
101
+ action.icon && (React__default.createElement("div", { className: "arc-ProgressBar-actionIcon" },
102
+ React__default.createElement(Icon, { icon: PROGRESS_BAR_ICON_MAP[action.icon], size: 24 }))))))))));
103
+ };
104
+
105
+ export { ProgressBar };
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "@arc-ui/progressbar",
3
+ "types": "./ProgressBar.esm.d.ts",
4
+ "main": "./ProgressBar.cjs.js",
5
+ "module": "./ProgressBar.esm.js",
6
+ "private": true
7
+ }
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import React from "react";
3
3
  import { FC } from "react";
4
- import { FormControlProps } from "../_shared/cjs/FormControl-e6b7d7c5";
4
+ import { FormControlProps } from "../_shared/cjs/FormControl-d4d9c665";
5
5
  /**
6
6
  * Radio Button component.
7
7
  */
@@ -35,7 +35,7 @@ type EventType = React.ChangeEvent<HTMLInputElement>;
35
35
  declare const RadioGroup: FC<RadioGroupProps> & {
36
36
  RadioButton: typeof RadioButton;
37
37
  };
38
- interface RadioGroupProps extends Omit<FormControlProps, "children" | "elementType" | "errorMessage" | "htmlFor" | "labelSize" | "requirementStatus"> {
38
+ interface RadioGroupProps extends Omit<FormControlProps, "children" | "elementType" | "errorMessage" | "htmlFor" | "labelSize" | "requirementStatus" | "disclosureText" | "disclosureTitle" | "onClickDisclosure" | "helperUnderLabel"> {
39
39
  /**
40
40
  * Contents of the RadioGroup. Should only contain `RadioGroup.RadioButton`
41
41
  */
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var index = require('../_shared/cjs/index-78b35bc1.js');
6
6
  var React = require('react');
7
- var FormControl = require('../_shared/cjs/FormControl-e6b7d7c5.js');
7
+ var FormControl = require('../_shared/cjs/FormControl-d4d9c665.js');
8
8
  var index$1 = require('../_shared/cjs/index-45bfb67b.js');
9
9
  var Surface = require('../_shared/cjs/Surface-d6b8010e.js');
10
10
  require('../_shared/cjs/Text-1d3844be.js');
@@ -67,7 +67,7 @@ var RadioGroup = function (_a) {
67
67
  size: size
68
68
  } },
69
69
  React__default["default"].createElement("div", index.__assign({ className: "arc-RadioGroup" }, index.filterDataAttrs(props)),
70
- React__default["default"].createElement(FormControl.FormControl, { elementType: "fieldset", label: label, labelSize: labelSize, helper: helper, id: id, requirementStatus: "not-applicable" }, children))));
70
+ React__default["default"].createElement(FormControl.FormControl, { elementType: "fieldset", label: label, labelSize: labelSize, helper: helper, id: id, requirementStatus: "not-applicable", helperUnderLabel: true }, children))));
71
71
  };
72
72
  RadioButton.displayName = "RadioGroup.RadioButton";
73
73
  RadioGroup.RadioButton = RadioButton;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import React from "react";
3
3
  import { FC } from "react";
4
- import { FormControlProps } from "../_shared/esm/FormControl-84c9ace6";
4
+ import { FormControlProps } from "../_shared/esm/FormControl-2cb96de7";
5
5
  /**
6
6
  * Radio Button component.
7
7
  */
@@ -35,7 +35,7 @@ type EventType = React.ChangeEvent<HTMLInputElement>;
35
35
  declare const RadioGroup: FC<RadioGroupProps> & {
36
36
  RadioButton: typeof RadioButton;
37
37
  };
38
- interface RadioGroupProps extends Omit<FormControlProps, "children" | "elementType" | "errorMessage" | "htmlFor" | "labelSize" | "requirementStatus"> {
38
+ interface RadioGroupProps extends Omit<FormControlProps, "children" | "elementType" | "errorMessage" | "htmlFor" | "labelSize" | "requirementStatus" | "disclosureText" | "disclosureTitle" | "onClickDisclosure" | "helperUnderLabel"> {
39
39
  /**
40
40
  * Contents of the RadioGroup. Should only contain `RadioGroup.RadioButton`
41
41
  */
@@ -1,6 +1,6 @@
1
1
  import { _ as __rest, a as __assign, f as filterDataAttrs } from '../_shared/esm/index-229fc864.js';
2
2
  import React__default, { createContext, useContext, forwardRef, useEffect } from 'react';
3
- import { F as FormControl } from '../_shared/esm/FormControl-84c9ace6.js';
3
+ import { F as FormControl } from '../_shared/esm/FormControl-2cb96de7.js';
4
4
  import { c as classNames } from '../_shared/esm/index-2ae58626.js';
5
5
  import { C as Context } from '../_shared/esm/Surface-bf201530.js';
6
6
  import '../_shared/esm/Text-6b958ad8.js';
@@ -59,7 +59,7 @@ var RadioGroup = function (_a) {
59
59
  size: size
60
60
  } },
61
61
  React__default.createElement("div", __assign({ className: "arc-RadioGroup" }, filterDataAttrs(props)),
62
- React__default.createElement(FormControl, { elementType: "fieldset", label: label, labelSize: labelSize, helper: helper, id: id, requirementStatus: "not-applicable" }, children))));
62
+ React__default.createElement(FormControl, { elementType: "fieldset", label: label, labelSize: labelSize, helper: helper, id: id, requirementStatus: "not-applicable", helperUnderLabel: true }, children))));
63
63
  };
64
64
  RadioButton.displayName = "RadioGroup.RadioButton";
65
65
  RadioGroup.RadioButton = RadioButton;
@@ -1,10 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import React from "react";
3
3
  import { FocusEvent } from "react";
4
- import { FormControlProps } from "../_shared/cjs/FormControl-e6b7d7c5";
4
+ import { FormControlProps } from "../_shared/cjs/FormControl-d4d9c665";
5
5
  /** Use `Select` to choose from a dropdown list of options. */
6
6
  declare const Select: React.FC<SelectProps>;
7
- interface SelectProps extends Omit<FormControlProps, "children" | "elementType" | "htmlFor" | "requirementStatus" | "id"> {
7
+ interface SelectProps extends Omit<FormControlProps, "children" | "elementType" | "htmlFor" | "requirementStatus" | "id" | "helperUnderLabel"> {
8
8
  name: string;
9
9
  label: string;
10
10
  placeholder: string;