@arc-ui/components 11.20.0 → 11.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ProgressStepper/ProgressStepper.cjs.js +1 -3
- package/dist/ProgressStepper/ProgressStepper.esm.js +1 -3
- package/dist/Select/Select.cjs.js +1 -1
- package/dist/Select/Select.esm.js +1 -1
- package/dist/SiteHeaderV2/SiteHeaderV2.cjs.js +1 -1
- package/dist/SiteHeaderV2/SiteHeaderV2.esm.js +1 -1
- package/dist/TextArea/TextArea.cjs.js +7 -7
- package/dist/TextArea/TextArea.esm.js +7 -7
- package/dist/_shared/cjs/ProgressStepper-20a61620.js +100 -0
- package/dist/_shared/cjs/{SiteHeaderV2-301c765c.js → SiteHeaderV2-b41fdb49.js} +32 -23
- package/dist/_shared/esm/ProgressStepper-74d48612.js +94 -0
- package/dist/_shared/esm/{SiteHeaderV2-0096e25b.js → SiteHeaderV2-f06ac085.js} +33 -24
- package/dist/index.es.js +87 -116
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +87 -116
- package/dist/index.js.map +1 -1
- package/dist/styles.css +3 -3
- package/dist/types/components/ProgressStepper/ProgressStepper.d.ts +1 -1
- package/dist/types/components/ProgressStepper/ProgressStepperItem/ProgressStepperItem.d.ts +3 -7
- package/dist/types/components/ProgressStepper/ProgressStepperItem/icons/Complete.d.ts +2 -0
- package/dist/types/components/ProgressStepper/ProgressStepperItem/icons/Current.d.ts +2 -0
- package/dist/types/components/ProgressStepper/ProgressStepperItem/icons/Error.d.ts +2 -0
- package/dist/types/components/ProgressStepper/ProgressStepperItem/icons/Todo.d.ts +2 -0
- package/dist/types/components/ProgressStepper/ProgressStepperItem/icons/Warning.d.ts +2 -0
- package/dist/types/components/SiteHeaderV2/SiteHeaderV2.d.ts +5 -0
- package/package.json +1 -1
- package/dist/_shared/cjs/ProgressStepper-3af8a210.js +0 -141
- package/dist/_shared/esm/ProgressStepper-d4c5b6d9.js +0 -135
|
@@ -2,15 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var ProgressStepper = require('../_shared/cjs/ProgressStepper-
|
|
5
|
+
var ProgressStepper = require('../_shared/cjs/ProgressStepper-20a61620.js');
|
|
6
6
|
require('../_shared/cjs/filter-data-attrs-1c9a530c.js');
|
|
7
7
|
require('react');
|
|
8
8
|
require('../_shared/cjs/index-9947ac13.js');
|
|
9
|
-
require('../_shared/cjs/BtIconAlert.esm-1a0ff9f0.js');
|
|
10
9
|
require('../_shared/cjs/Icon-b46897a3.js');
|
|
11
10
|
require('../_shared/cjs/suffix-modifier-64dcd338.js');
|
|
12
11
|
require('../_shared/cjs/Surface-038db6e1.js');
|
|
13
|
-
require('../_shared/cjs/VerticalSpace-dc53bb70.js');
|
|
14
12
|
require('../_shared/cjs/VisuallyHidden-e2c8b291.js');
|
|
15
13
|
|
|
16
14
|
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
export { P as ProgressStepper } from '../_shared/esm/ProgressStepper-
|
|
1
|
+
export { P as ProgressStepper } from '../_shared/esm/ProgressStepper-74d48612.js';
|
|
2
2
|
import '../_shared/esm/filter-data-attrs-ea8f4ed4.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import '../_shared/esm/index-2e73c2e9.js';
|
|
5
|
-
import '../_shared/esm/BtIconAlert.esm-a4608d47.js';
|
|
6
5
|
import '../_shared/esm/Icon-15799695.js';
|
|
7
6
|
import '../_shared/esm/suffix-modifier-3d548e45.js';
|
|
8
7
|
import '../_shared/esm/Surface-0ca6817d.js';
|
|
9
|
-
import '../_shared/esm/VerticalSpace-43cd9138.js';
|
|
10
8
|
import '../_shared/esm/VisuallyHidden-b9eebf71.js';
|
|
@@ -1201,7 +1201,7 @@ var Select = function (_a) {
|
|
|
1201
1201
|
"arc-Select-trigger--invalid": errorMessage
|
|
1202
1202
|
},
|
|
1203
1203
|
_b["arc-Select-trigger--size".concat(selectSize && selectSize.toUpperCase())] = selectSize && selectSize !== "m",
|
|
1204
|
-
_b)) }, filterDataAttrs.filterDataAttrs(props)),
|
|
1204
|
+
_b)), "aria-describedby": "".concat(id, "-helper") }, filterDataAttrs.filterDataAttrs(props)),
|
|
1205
1205
|
React__default["default"].createElement($cc7e05a45900e73f$export$4c8d1a57a761ef94, { className: "arc-Select-triggerText", placeholder: placeholder, "aria-label": getSelectedValueName(uncontrolledValue) }),
|
|
1206
1206
|
React__default["default"].createElement($cc7e05a45900e73f$export$f04a61298a47a40f, { className: "arc-Select-triggerIcon" },
|
|
1207
1207
|
React__default["default"].createElement(Icon.Icon, { icon: BtIconChevronDown2Px_esm.BtIconChevronDown2Px, size: getIconSize(selectSize) }))),
|
|
@@ -1193,7 +1193,7 @@ var Select = function (_a) {
|
|
|
1193
1193
|
"arc-Select-trigger--invalid": errorMessage
|
|
1194
1194
|
},
|
|
1195
1195
|
_b["arc-Select-trigger--size".concat(selectSize && selectSize.toUpperCase())] = selectSize && selectSize !== "m",
|
|
1196
|
-
_b)) }, filterDataAttrs(props)),
|
|
1196
|
+
_b)), "aria-describedby": "".concat(id, "-helper") }, filterDataAttrs(props)),
|
|
1197
1197
|
React__default.createElement($cc7e05a45900e73f$export$4c8d1a57a761ef94, { className: "arc-Select-triggerText", placeholder: placeholder, "aria-label": getSelectedValueName(uncontrolledValue) }),
|
|
1198
1198
|
React__default.createElement($cc7e05a45900e73f$export$f04a61298a47a40f, { className: "arc-Select-triggerIcon" },
|
|
1199
1199
|
React__default.createElement(Icon, { icon: BtIconChevronDown2Px, size: getIconSize(selectSize) }))),
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var SiteHeaderV2 = require('../_shared/cjs/SiteHeaderV2-
|
|
5
|
+
var SiteHeaderV2 = require('../_shared/cjs/SiteHeaderV2-b41fdb49.js');
|
|
6
6
|
require('../_shared/cjs/filter-data-attrs-1c9a530c.js');
|
|
7
7
|
require('../_shared/cjs/use-media-query-e61881d8.js');
|
|
8
8
|
require('react');
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { S as SiteHeaderV2 } from '../_shared/esm/SiteHeaderV2-
|
|
1
|
+
export { S as SiteHeaderV2 } from '../_shared/esm/SiteHeaderV2-f06ac085.js';
|
|
2
2
|
import '../_shared/esm/filter-data-attrs-ea8f4ed4.js';
|
|
3
3
|
import '../_shared/esm/use-media-query-4c807227.js';
|
|
4
4
|
import 'react';
|
|
@@ -19,16 +19,17 @@ require('../_shared/cjs/Filter-1bde635c.js');
|
|
|
19
19
|
var FormControl = require('../_shared/cjs/FormControl-5f3b6ce4.js');
|
|
20
20
|
require('../_shared/cjs/Group-0429741a.js');
|
|
21
21
|
require('../_shared/cjs/Poster-9b48fd61.js');
|
|
22
|
-
require('../_shared/cjs/ProgressStepper-
|
|
22
|
+
require('../_shared/cjs/ProgressStepper-20a61620.js');
|
|
23
23
|
require('../_shared/cjs/RadioGroup-07bb155e.js');
|
|
24
24
|
require('../_shared/cjs/debounce-123468fb.js');
|
|
25
25
|
require('../_shared/cjs/SiteFooter-65b6360c.js');
|
|
26
26
|
require('../_shared/cjs/SiteHeader.rehydrator-ea49f8d5.js');
|
|
27
|
-
require('../_shared/cjs/SiteHeaderV2-
|
|
27
|
+
require('../_shared/cjs/SiteHeaderV2-b41fdb49.js');
|
|
28
28
|
require('../_shared/cjs/Tabs-24e6f45b.js');
|
|
29
29
|
require('../_shared/cjs/TextInput-5da70ec2.js');
|
|
30
30
|
require('../_shared/cjs/Toast-7a20d1b9.js');
|
|
31
31
|
require('../_shared/cjs/UniversalHeader-b8389447.js');
|
|
32
|
+
var VisuallyHidden = require('../_shared/cjs/VisuallyHidden-e2c8b291.js');
|
|
32
33
|
require('../_shared/cjs/suffix-modifier-64dcd338.js');
|
|
33
34
|
require('../_shared/cjs/BtIconChevronRight2Px.esm-dbf8cbee.js');
|
|
34
35
|
require('../_shared/cjs/Icon-b46897a3.js');
|
|
@@ -39,8 +40,6 @@ require('../_shared/cjs/BtIconTickAlt2Px.esm-57c89acc.js');
|
|
|
39
40
|
require('../_shared/cjs/BtIconAlert.esm-1a0ff9f0.js');
|
|
40
41
|
require('../_shared/cjs/DisclosureMini-d0eeb6bb.js');
|
|
41
42
|
require('../_shared/cjs/BtIconChevronDown2Px.esm-39030ee0.js');
|
|
42
|
-
require('../_shared/cjs/VisuallyHidden-e2c8b291.js');
|
|
43
|
-
require('../_shared/cjs/VerticalSpace-dc53bb70.js');
|
|
44
43
|
require('../_shared/cjs/use-media-query-e61881d8.js');
|
|
45
44
|
require('../_shared/cjs/BrandLogo-aea340c8.js');
|
|
46
45
|
require('../_shared/cjs/Curve-d038052b.js');
|
|
@@ -90,15 +89,16 @@ var TextArea = React.forwardRef(function (_a, ref) {
|
|
|
90
89
|
return (React__default["default"].createElement(FormControl.FormControl, filterDataAttrs.__assign({ errorMessage: errorMessage, helper: helper, htmlFor: id, isDisabled: isDisabled, label: label, hideLabel: hideLabel, labelSize: labelSize, requirementStatus: isRequired ? "required" : "optional", disclosureTitle: disclosureTitle, disclosureText: disclosureText, onClickDisclosure: onClickDisclosure, supplementaryInfo: maxLength &&
|
|
91
90
|
showCharacterCount && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
92
91
|
React__default["default"].createElement(Text.Text, { tone: isDisabled ? "muted" : "default" },
|
|
93
|
-
React__default["default"].createElement("span", { className: "arc-TextArea-characterCount" },
|
|
92
|
+
React__default["default"].createElement("span", { className: "arc-TextArea-characterCount", "aria-live": "polite" },
|
|
94
93
|
characterCount,
|
|
95
94
|
" / ",
|
|
96
|
-
maxLength
|
|
95
|
+
maxLength,
|
|
96
|
+
characterCount === maxLength && (React__default["default"].createElement(VisuallyHidden.VisuallyHidden, null, "Maximum characters reached")))))) }, filterDataAttrs.filterDataAttrs(props)),
|
|
97
97
|
React__default["default"].createElement("textarea", { id: id, className: index.classNames("arc-TextArea", {
|
|
98
98
|
"arc-TextArea--noResize": resize !== "manual",
|
|
99
99
|
"arc-TextArea--onDarkSurface": surface === "dark",
|
|
100
100
|
"arc-TextArea--invalid": errorMessage
|
|
101
|
-
}), defaultValue: typeof value !== "undefined" ? undefined : defaultValue, disabled: isDisabled, value: value, readOnly: isReadOnly, maxLength: maxLength, name: name, onChange: handleOnChange, onBlur: onBlur, ref: getTextAreaRef, style: { width: width } })));
|
|
101
|
+
}), defaultValue: typeof value !== "undefined" ? undefined : defaultValue, disabled: isDisabled, value: value, readOnly: isReadOnly, maxLength: maxLength, name: name, onChange: handleOnChange, onBlur: onBlur, ref: getTextAreaRef, style: { width: width }, "aria-describedby": "".concat(id, "-helper") })));
|
|
102
102
|
});
|
|
103
103
|
|
|
104
104
|
exports.TextArea = TextArea;
|
|
@@ -15,16 +15,17 @@ import '../_shared/esm/Filter-58a42358.js';
|
|
|
15
15
|
import { F as FormControl } from '../_shared/esm/FormControl-cc99cde0.js';
|
|
16
16
|
import '../_shared/esm/Group-73fdb896.js';
|
|
17
17
|
import '../_shared/esm/Poster-4ec2f679.js';
|
|
18
|
-
import '../_shared/esm/ProgressStepper-
|
|
18
|
+
import '../_shared/esm/ProgressStepper-74d48612.js';
|
|
19
19
|
import '../_shared/esm/RadioGroup-362be63f.js';
|
|
20
20
|
import '../_shared/esm/debounce-6fed6b84.js';
|
|
21
21
|
import '../_shared/esm/SiteFooter-38ee1536.js';
|
|
22
22
|
import '../_shared/esm/SiteHeader.rehydrator-65c8cf71.js';
|
|
23
|
-
import '../_shared/esm/SiteHeaderV2-
|
|
23
|
+
import '../_shared/esm/SiteHeaderV2-f06ac085.js';
|
|
24
24
|
import '../_shared/esm/Tabs-a85af483.js';
|
|
25
25
|
import '../_shared/esm/TextInput-1d1c5fd6.js';
|
|
26
26
|
import '../_shared/esm/Toast-7a232e15.js';
|
|
27
27
|
import '../_shared/esm/UniversalHeader-80c7313f.js';
|
|
28
|
+
import { V as VisuallyHidden } from '../_shared/esm/VisuallyHidden-b9eebf71.js';
|
|
28
29
|
import '../_shared/esm/suffix-modifier-3d548e45.js';
|
|
29
30
|
import '../_shared/esm/BtIconChevronRight2Px.esm-75e92636.js';
|
|
30
31
|
import '../_shared/esm/Icon-15799695.js';
|
|
@@ -35,8 +36,6 @@ import '../_shared/esm/BtIconTickAlt2Px.esm-0bc2ded0.js';
|
|
|
35
36
|
import '../_shared/esm/BtIconAlert.esm-a4608d47.js';
|
|
36
37
|
import '../_shared/esm/DisclosureMini-ec17b008.js';
|
|
37
38
|
import '../_shared/esm/BtIconChevronDown2Px.esm-217276c2.js';
|
|
38
|
-
import '../_shared/esm/VisuallyHidden-b9eebf71.js';
|
|
39
|
-
import '../_shared/esm/VerticalSpace-43cd9138.js';
|
|
40
39
|
import '../_shared/esm/use-media-query-4c807227.js';
|
|
41
40
|
import '../_shared/esm/BrandLogo-1af78f76.js';
|
|
42
41
|
import '../_shared/esm/Curve-d8679dde.js';
|
|
@@ -82,15 +81,16 @@ var TextArea = forwardRef(function (_a, ref) {
|
|
|
82
81
|
return (React__default.createElement(FormControl, __assign({ errorMessage: errorMessage, helper: helper, htmlFor: id, isDisabled: isDisabled, label: label, hideLabel: hideLabel, labelSize: labelSize, requirementStatus: isRequired ? "required" : "optional", disclosureTitle: disclosureTitle, disclosureText: disclosureText, onClickDisclosure: onClickDisclosure, supplementaryInfo: maxLength &&
|
|
83
82
|
showCharacterCount && (React__default.createElement(React__default.Fragment, null,
|
|
84
83
|
React__default.createElement(Text, { tone: isDisabled ? "muted" : "default" },
|
|
85
|
-
React__default.createElement("span", { className: "arc-TextArea-characterCount" },
|
|
84
|
+
React__default.createElement("span", { className: "arc-TextArea-characterCount", "aria-live": "polite" },
|
|
86
85
|
characterCount,
|
|
87
86
|
" / ",
|
|
88
|
-
maxLength
|
|
87
|
+
maxLength,
|
|
88
|
+
characterCount === maxLength && (React__default.createElement(VisuallyHidden, null, "Maximum characters reached")))))) }, filterDataAttrs(props)),
|
|
89
89
|
React__default.createElement("textarea", { id: id, className: classNames("arc-TextArea", {
|
|
90
90
|
"arc-TextArea--noResize": resize !== "manual",
|
|
91
91
|
"arc-TextArea--onDarkSurface": surface === "dark",
|
|
92
92
|
"arc-TextArea--invalid": errorMessage
|
|
93
|
-
}), defaultValue: typeof value !== "undefined" ? undefined : defaultValue, disabled: isDisabled, value: value, readOnly: isReadOnly, maxLength: maxLength, name: name, onChange: handleOnChange, onBlur: onBlur, ref: getTextAreaRef, style: { width: width } })));
|
|
93
|
+
}), defaultValue: typeof value !== "undefined" ? undefined : defaultValue, disabled: isDisabled, value: value, readOnly: isReadOnly, maxLength: maxLength, name: name, onChange: handleOnChange, onBlur: onBlur, ref: getTextAreaRef, style: { width: width }, "aria-describedby": "".concat(id, "-helper") })));
|
|
94
94
|
});
|
|
95
95
|
|
|
96
96
|
export { TextArea };
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var filterDataAttrs = require('./filter-data-attrs-1c9a530c.js');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var index = require('./index-9947ac13.js');
|
|
6
|
+
var Icon = require('./Icon-b46897a3.js');
|
|
7
|
+
var Surface = require('./Surface-038db6e1.js');
|
|
8
|
+
var VisuallyHidden = require('./VisuallyHidden-e2c8b291.js');
|
|
9
|
+
|
|
10
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
+
|
|
12
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
|
+
|
|
14
|
+
var Error = function () { return (React__default["default"].createElement("svg", { fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" },
|
|
15
|
+
React__default["default"].createElement("g", { "clip-path": "url(#a)" },
|
|
16
|
+
React__default["default"].createElement("path", { d: "m13.06 12 2.845-2.845a.75.75 0 0 0-1.06-1.06L12 10.94 9.155 8.095a.75.75 0 0 0-1.06 1.06L10.939 12l-2.844 2.845a.75.75 0 1 0 1.06 1.06L12 13.061l2.845 2.844a.75.75 0 0 0 1.06-1.06L13.06 12Z", fill: "currentColor" })),
|
|
17
|
+
React__default["default"].createElement("rect", { x: ".667", y: ".667", width: "22.667", height: "22.667", rx: "11.333", stroke: "currentColor", "stroke-width": "1.333" }),
|
|
18
|
+
React__default["default"].createElement("defs", null,
|
|
19
|
+
React__default["default"].createElement("clipPath", { id: "a" },
|
|
20
|
+
React__default["default"].createElement("rect", { width: "24", height: "24", rx: "12" }))))); };
|
|
21
|
+
|
|
22
|
+
var Warning = function () { return (React__default["default"].createElement("svg", { fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" },
|
|
23
|
+
React__default["default"].createElement("rect", { x: ".667", y: ".667", width: "22.667", height: "22.667", rx: "11.333", stroke: "currentColor", "stroke-width": "1.333" }),
|
|
24
|
+
React__default["default"].createElement("path", { d: "M12 15.747a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm.004-1.487a.375.375 0 0 0 .375-.375l.001-6.757a.375.375 0 1 0-.75 0l-.001 6.757a.375.375 0 0 0 .375.375Z", fill: "currentColor", stroke: "currentColor", "stroke-width": ".3" }))); };
|
|
25
|
+
|
|
26
|
+
var Complete = function () { return (React__default["default"].createElement("svg", { fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" },
|
|
27
|
+
React__default["default"].createElement("g", { "clip-path": "url(#a)" },
|
|
28
|
+
React__default["default"].createElement("path", { d: "m10.125 16.435-3.53-3.53a.75.75 0 0 1 0-1.06.768.768 0 0 1 1.06 0l2.47 2.47 6.22-6.22a.75.75 0 1 1 1.06 1.06l-7.28 7.28Z", fill: "currentColor" })),
|
|
29
|
+
React__default["default"].createElement("rect", { x: ".667", y: ".667", width: "22.667", height: "22.667", rx: "11.333", stroke: "currentColor", "stroke-width": "1.333" }),
|
|
30
|
+
React__default["default"].createElement("defs", null,
|
|
31
|
+
React__default["default"].createElement("clipPath", { id: "a" },
|
|
32
|
+
React__default["default"].createElement("rect", { width: "24", height: "24", rx: "12" }))))); };
|
|
33
|
+
|
|
34
|
+
var Current = function () { return (React__default["default"].createElement("svg", { viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
35
|
+
React__default["default"].createElement("rect", { x: "0.666667", y: "0.666667", width: "22.6667", height: "22.6667", rx: "11.3333", stroke: "url(#paint0_linear_1_1050)", "stroke-width": "1.33333" }),
|
|
36
|
+
React__default["default"].createElement("circle", { cx: "12", cy: "12", r: "7", fill: "currentColor" }),
|
|
37
|
+
React__default["default"].createElement("defs", null,
|
|
38
|
+
React__default["default"].createElement("linearGradient", { id: "paint0_linear_1_1050", x1: "36.6036", y1: "-4.31391e-07", x2: "-12.6036", y2: "24", gradientUnits: "userSpaceOnUse" },
|
|
39
|
+
React__default["default"].createElement("stop", { "stop-color": "#F200F5" }),
|
|
40
|
+
React__default["default"].createElement("stop", { offset: "1", "stop-color": "#1EC8E6" }))))); };
|
|
41
|
+
|
|
42
|
+
var Todo = function () { return (React__default["default"].createElement("svg", { fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" },
|
|
43
|
+
React__default["default"].createElement("rect", { x: ".667", y: ".667", width: "22.667", height: "22.667", rx: "11.333", stroke: "currentColor", "stroke-width": "1.333" }))); };
|
|
44
|
+
|
|
45
|
+
// export current step as an icon
|
|
46
|
+
var ProgressStepperItem = function (_a) {
|
|
47
|
+
var _b;
|
|
48
|
+
var title = _a.title, titleHref = _a.titleHref, subTitle = _a.subTitle, _c = _a.direction, direction = _c === void 0 ? "horizontal" : _c, _d = _a.status, status = _d === void 0 ? "todo" : _d, _e = _a.size, size = _e === void 0 ? "large" : _e, isFluid = _a.isFluid, ariaLabel = _a.ariaLabel, onClick = _a.onClick, previousStep = _a.previousStep, stepContent = _a.stepContent, isStepContentHidden = _a.isStepContentHidden, props = filterDataAttrs.__rest(_a, ["title", "titleHref", "subTitle", "direction", "status", "size", "isFluid", "ariaLabel", "onClick", "previousStep", "stepContent", "isStepContentHidden"]);
|
|
49
|
+
var surface = React.useContext(Surface.Context).surface;
|
|
50
|
+
var statusIcons = {
|
|
51
|
+
todo: Todo,
|
|
52
|
+
completed: Complete,
|
|
53
|
+
current: Current,
|
|
54
|
+
warning: Warning,
|
|
55
|
+
error: Error
|
|
56
|
+
};
|
|
57
|
+
var onClickHandler = function (event) {
|
|
58
|
+
event.preventDefault();
|
|
59
|
+
onClick && onClick();
|
|
60
|
+
};
|
|
61
|
+
var capitaliseFirstLetter = function (word) {
|
|
62
|
+
return word.charAt(0).toUpperCase() + word.slice(1);
|
|
63
|
+
};
|
|
64
|
+
return (React__default["default"].createElement("div", filterDataAttrs.__assign({ className: index.classNames("arc-ProgressStepperItem", "arc-ProgressStepperItem--".concat(status), "arc-ProgressStepperItem--".concat(size), (_b = {
|
|
65
|
+
"arc-ProgressStepperItem--vertical": direction === "vertical",
|
|
66
|
+
"arc-ProgressStepperItem--isFluid": isFluid && direction !== "vertical",
|
|
67
|
+
"arc-ProgressStepperItem--onDarkSurface": surface === "dark",
|
|
68
|
+
"arc-ProgressStepperItem--previousStepCompleted": previousStep === "completed"
|
|
69
|
+
},
|
|
70
|
+
_b["arc-ProgressStepperItem--hasInteractiveStatus"] = status !== "todo",
|
|
71
|
+
_b)) }, filterDataAttrs.filterDataAttrs(props)),
|
|
72
|
+
React__default["default"].createElement("div", { className: "arc-ProgressStepperItem-iconSection" },
|
|
73
|
+
React__default["default"].createElement("div", { className: "arc-ProgressStepperItem-iconWrapper", "data-testid": "arc-ProgressStepperItem-iconWrapper" },
|
|
74
|
+
React__default["default"].createElement(Icon.Icon, { size: size === "small" ? 16 : 24, icon: statusIcons[status] }))),
|
|
75
|
+
React__default["default"].createElement("div", { className: "arc-ProgressStepperItem-textSection" },
|
|
76
|
+
status !== "todo" && (React__default["default"].createElement(VisuallyHidden.VisuallyHidden, null,
|
|
77
|
+
capitaliseFirstLetter(status),
|
|
78
|
+
":")),
|
|
79
|
+
titleHref ? (React__default["default"].createElement("a", { href: titleHref, "aria-label": ariaLabel, className: index.classNames("arc-ProgressStepperItem-title", "arc-ProgressStepperItem-title--link"), onClick: onClickHandler }, title)) : (React__default["default"].createElement("div", { className: "arc-ProgressStepperItem-title" }, title)),
|
|
80
|
+
React__default["default"].createElement("div", { className: "arc-ProgressStepperItem-subTitle" }, subTitle),
|
|
81
|
+
stepContent && !isStepContentHidden && direction === "vertical" && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
82
|
+
React__default["default"].createElement("div", { className: "arc-ProgressStepperItem-nodeItem" }, stepContent))))));
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
/** Use `ProgressStepper` to illustrate the progress of a specific task within a page, by displaying a step-by-step progress through the user journey. This is commonly used in multi-step processes or wizards. */
|
|
86
|
+
var ProgressStepper = function (_a) {
|
|
87
|
+
var children = _a.children, size = _a.size, isFluid = _a.isFluid, direction = _a.direction, isExpandable = _a.isExpandable, props = filterDataAttrs.__rest(_a, ["children", "size", "isFluid", "direction", "isExpandable"]);
|
|
88
|
+
var items = React__default["default"].Children.toArray(children);
|
|
89
|
+
var getStepStatus = function (item) {
|
|
90
|
+
var _a;
|
|
91
|
+
return (_a = item === null || item === void 0 ? void 0 : item.props) === null || _a === void 0 ? void 0 : _a.status;
|
|
92
|
+
};
|
|
93
|
+
return (React__default["default"].createElement("div", filterDataAttrs.__assign({ className: index.classNames("arc-ProgressStepper", {
|
|
94
|
+
"arc-ProgressStepper--vertical": direction === "vertical"
|
|
95
|
+
}) }, filterDataAttrs.filterDataAttrs(props)), items.map(function (item, index) { return (React__default["default"].createElement(React__default["default"].Fragment, { key: "StepperItem-".concat(index) },
|
|
96
|
+
React__default["default"].createElement(ProgressStepperItem, filterDataAttrs.__assign({ title: item.props.title, titleHref: item.props.titleHref, subTitle: item.props.subTitle, status: item.props.status, stepContent: item.props.stepContent, isStepContentHidden: item.props.isStepContentHidden, onClick: item.props.onClick, isFluid: isFluid, direction: direction, isExpandable: isExpandable, size: size, previousStep: getStepStatus(items[index - 1]) }, filterDataAttrs.filterDataAttrs(item.props))))); })));
|
|
97
|
+
};
|
|
98
|
+
ProgressStepper.Item = ProgressStepperItem;
|
|
99
|
+
|
|
100
|
+
exports.ProgressStepper = ProgressStepper;
|
|
@@ -24,8 +24,8 @@ var Item = function (_a) {
|
|
|
24
24
|
return (React__default["default"].createElement("li", filterDataAttrs.__assign({ className: index.classNames((_b = {},
|
|
25
25
|
_b["arc-SiteHeaderV2Item"] = true,
|
|
26
26
|
_b["arc-SiteHeaderV2Item--emphasised"] = true,
|
|
27
|
-
_b)) }, filterDataAttrs.filterDataAttrs(props)),
|
|
28
|
-
React__default["default"].createElement("a", { onClick: handleLinkClick.handleLinkClick({ handler: onClick }), className: "arc-SiteHeaderV2Item-link", href: href },
|
|
27
|
+
_b)) }, filterDataAttrs.filterDataAttrs(props), { role: "none" }),
|
|
28
|
+
React__default["default"].createElement("a", { onClick: handleLinkClick.handleLinkClick({ handler: onClick }), className: "arc-SiteHeaderV2Item-link", href: href, role: "menuitem" },
|
|
29
29
|
children,
|
|
30
30
|
React__default["default"].createElement("span", { className: "arc-SiteHeaderV2Item-linkIcon" },
|
|
31
31
|
React__default["default"].createElement(BtIconChevronRightMid_esm.BtIconChevronRightMid, null)))));
|
|
@@ -33,7 +33,6 @@ var Item = function (_a) {
|
|
|
33
33
|
|
|
34
34
|
var ItemGroup = function (_a) {
|
|
35
35
|
var children = _a.children, href = _a.href, title = _a.title, subtitle = _a.subtitle, onClick = _a.onClick, viewAllTitle = _a.viewAllTitle, props = filterDataAttrs.__rest(_a, ["children", "href", "title", "subtitle", "onClick", "viewAllTitle"]);
|
|
36
|
-
var _b = React.useState(false), hasClientSideJavaScript = _b[0], setHasClientSideJavaScript = _b[1];
|
|
37
36
|
var isMinWidthArcBreakpointL = useMediaQuery.useMediaQuery("(min-width: ".concat(useMediaQuery.ArcBreakpointL, "px)"));
|
|
38
37
|
React.useEffect(function () {
|
|
39
38
|
React__default["default"].Children.map(children, function (item) {
|
|
@@ -42,10 +41,6 @@ var ItemGroup = function (_a) {
|
|
|
42
41
|
}
|
|
43
42
|
});
|
|
44
43
|
}, [children]);
|
|
45
|
-
React.useEffect(function () {
|
|
46
|
-
// useEffect does not run in ReactDomServer renders
|
|
47
|
-
setHasClientSideJavaScript(true);
|
|
48
|
-
}, [setHasClientSideJavaScript]);
|
|
49
44
|
var ElementType = "div";
|
|
50
45
|
if (title) {
|
|
51
46
|
ElementType = "details";
|
|
@@ -53,16 +48,14 @@ var ItemGroup = function (_a) {
|
|
|
53
48
|
return (React__default["default"].createElement("li", { className: "arc-SiteHeaderV2ItemGroup" },
|
|
54
49
|
React__default["default"].createElement(ElementType, filterDataAttrs.__assign({ className: "arc-SiteHeaderV2ItemGroup-details", open: Boolean(title && isMinWidthArcBreakpointL) }, filterDataAttrs.filterDataAttrs(props)),
|
|
55
50
|
title ? (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
56
|
-
React__default["default"].createElement("summary", { className: "arc-SiteHeaderV2ItemGroup-summary"
|
|
51
|
+
React__default["default"].createElement("summary", { className: "arc-SiteHeaderV2ItemGroup-summary" }, href ? (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2ItemGroup-heading" },
|
|
57
52
|
React__default["default"].createElement("a", { onClick: handleLinkClick.handleLinkClick({
|
|
58
53
|
handler: onClick
|
|
59
|
-
}), className: "arc-SiteHeaderV2ItemGroup-title", href: href,
|
|
60
|
-
? 0
|
|
61
|
-
: -1 }, title),
|
|
54
|
+
}), className: "arc-SiteHeaderV2ItemGroup-title", href: href }, title),
|
|
62
55
|
React__default["default"].createElement("span", { className: "arc-SiteHeaderV2ItemGroup-titleIcon" },
|
|
63
56
|
React__default["default"].createElement(BtIconChevronRightMid_esm.BtIconChevronRightMid, null)))) : (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2ItemGroup-title" }, title))),
|
|
64
57
|
React__default["default"].createElement("span", { className: "arc-SiteHeaderV2ItemGroup-subtitle" }, subtitle))) : null,
|
|
65
|
-
React__default["default"].createElement("ul", { className: "arc-SiteHeaderV2ItemGroup-items" },
|
|
58
|
+
React__default["default"].createElement("ul", { className: "arc-SiteHeaderV2ItemGroup-items", role: "menubar" },
|
|
66
59
|
children,
|
|
67
60
|
href && title ? (React__default["default"].createElement("li", { className: "arc-SiteHeaderV2Item arc-SiteHeaderV2Item--viewAll" },
|
|
68
61
|
React__default["default"].createElement("a", { className: "arc-SiteHeaderV2Item-link", onClick: handleLinkClick.handleLinkClick({
|
|
@@ -79,8 +72,8 @@ var Column = function (_a) {
|
|
|
79
72
|
}
|
|
80
73
|
});
|
|
81
74
|
}, [children]);
|
|
82
|
-
return (React__default["default"].createElement("li", filterDataAttrs.__assign({ className: "arc-SiteHeaderV2Column" }, filterDataAttrs.filterDataAttrs(props)),
|
|
83
|
-
React__default["default"].createElement("ul", { className: "arc-SiteHeaderV2Column-items" }, children)));
|
|
75
|
+
return (React__default["default"].createElement("li", filterDataAttrs.__assign({ className: "arc-SiteHeaderV2Column" }, filterDataAttrs.filterDataAttrs(props), { role: "none" }),
|
|
76
|
+
React__default["default"].createElement("ul", { className: "arc-SiteHeaderV2Column-items", role: "none" }, children)));
|
|
84
77
|
};
|
|
85
78
|
|
|
86
79
|
var BackButton = function (_a) {
|
|
@@ -98,11 +91,13 @@ var Panel = function (_a) {
|
|
|
98
91
|
var _b, _c, _d, _e, _f;
|
|
99
92
|
var children = _a.children, navItemRef = _a.navItemRef, isNavItem = _a.isNavItem, open = _a.open, setOpen = _a.setOpen, setOpenPanelOnFirstClick = _a.setOpenPanelOnFirstClick, subNavItemRef = _a.subNavItemRef; _a.navLink; var _h = _a.subNavLink, subNavLink = _h === void 0 ? "" : _h, title = _a.title, subtitle = _a.subtitle, viewAll = _a.viewAll, withSubNav = _a.withSubNav; _a.fade; var isPrimary = _a.isPrimary, props = filterDataAttrs.__rest(_a, ["children", "navItemRef", "isNavItem", "open", "setOpen", "setOpenPanelOnFirstClick", "subNavItemRef", "navLink", "subNavLink", "title", "subtitle", "viewAll", "withSubNav", "fade", "isPrimary"]);
|
|
100
93
|
var isMinWidthArcBreakpointL = useMediaQuery.useMediaQuery("(min-width: ".concat(useMediaQuery.ArcBreakpointL, "px)"));
|
|
94
|
+
var menubarRef = useHeaderV2Context().menubarRef;
|
|
101
95
|
React.useEffect(function () {
|
|
102
96
|
// Where appropriate, close the Panel when clicking outside of it,
|
|
103
97
|
// by listening to clicks on the entire document and acting accordingly.
|
|
104
98
|
var handleClick = function (e) {
|
|
105
99
|
var _a, _b;
|
|
100
|
+
menubarRef === null || menubarRef === void 0 ? void 0 : menubarRef.current.classList.add("noFocus");
|
|
106
101
|
// Don't close the Panel…
|
|
107
102
|
if (
|
|
108
103
|
// The click is inside the current SubNavItem.
|
|
@@ -142,9 +137,11 @@ var Panel = function (_a) {
|
|
|
142
137
|
subNavItemRef,
|
|
143
138
|
subNavLink,
|
|
144
139
|
setOpenPanelOnFirstClick,
|
|
140
|
+
menubarRef,
|
|
145
141
|
]);
|
|
146
142
|
React.useEffect(function () {
|
|
147
143
|
var handleClick = function (e) {
|
|
144
|
+
menubarRef === null || menubarRef === void 0 ? void 0 : menubarRef.current.classList.add("noFocus");
|
|
148
145
|
// Close the Panel…
|
|
149
146
|
if (e.target.classList.contains("arc-SiteHeaderV2NavItem-link--itemHasChildren-closeFirstPanel")) {
|
|
150
147
|
setOpenPanelOnFirstClick(false);
|
|
@@ -160,7 +157,7 @@ var Panel = function (_a) {
|
|
|
160
157
|
return function () {
|
|
161
158
|
document.removeEventListener("click", handleClick);
|
|
162
159
|
};
|
|
163
|
-
}, [navItemRef, setOpenPanelOnFirstClick]);
|
|
160
|
+
}, [navItemRef, setOpenPanelOnFirstClick, menubarRef]);
|
|
164
161
|
React.useEffect(function () {
|
|
165
162
|
var handleKeydown = function (e) {
|
|
166
163
|
// Check the viewport width at time of press
|
|
@@ -173,12 +170,15 @@ var Panel = function (_a) {
|
|
|
173
170
|
}
|
|
174
171
|
return setOpen(false);
|
|
175
172
|
}
|
|
173
|
+
if (e.key === "Tab") {
|
|
174
|
+
menubarRef === null || menubarRef === void 0 ? void 0 : menubarRef.current.classList.remove("noFocus");
|
|
175
|
+
}
|
|
176
176
|
};
|
|
177
177
|
window.addEventListener("keydown", handleKeydown);
|
|
178
178
|
return function () {
|
|
179
179
|
window.removeEventListener("keydown", handleKeydown);
|
|
180
180
|
};
|
|
181
|
-
}, [setOpen, subNavItemRef]);
|
|
181
|
+
}, [setOpen, subNavItemRef, menubarRef]);
|
|
182
182
|
return (React__default["default"].createElement("div", { style: { display: "flex" } },
|
|
183
183
|
React__default["default"].createElement("div", filterDataAttrs.__assign({ className: index.classNames((_b = {},
|
|
184
184
|
_b["arc-SiteHeaderV2Panel"] = true,
|
|
@@ -267,8 +267,9 @@ var NavItem = function (_a) {
|
|
|
267
267
|
handler: onClick
|
|
268
268
|
}), className: "arc-SiteHeaderV2NavItem-link", href: href }, title)) : null) : (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
269
269
|
React__default["default"].createElement("div", { className: "arc-SiteHeaderV2NavItemWithSubNav-buttonContainer" },
|
|
270
|
-
React__default["default"].createElement("button", { "aria-expanded": panelOpen, className: index.classNames((_c = {},
|
|
270
|
+
React__default["default"].createElement("button", { "aria-expanded": panelOpen, role: "menuitem", "aria-haspopup": "true", "aria-label": title, className: index.classNames((_c = {},
|
|
271
271
|
_c["arc-SiteHeaderV2NavItem-link"] = true,
|
|
272
|
+
_c["arc-SiteHeaderV2NavItem-horizontalPanelFocus"] = !isPrimary,
|
|
272
273
|
_c["arc-SiteHeaderV2NavItem-link--itemHasChildren"] = true,
|
|
273
274
|
_c["arc-SiteHeaderV2NavItem-link--itemHasChildren-closeFirstPanel"] = !isPrimary && !opensFirstWithPanel,
|
|
274
275
|
_c["arc-SiteHeaderV2NavItem-link--itemHasChildren-hasFirstPanel"] = opensFirstWithPanel,
|
|
@@ -406,10 +407,11 @@ var NavItemWithSubNav = function (_a) {
|
|
|
406
407
|
? horizontalPanelOpen
|
|
407
408
|
: panelOpen,
|
|
408
409
|
_b["arc-SiteHeaderV2NavItemWithSubNav-active"] = panelOpen || (opensFirstWithPanel && openSecondaryWithSubNav),
|
|
409
|
-
_b)), ref: navItem }, filterDataAttrs.filterDataAttrs(props)),
|
|
410
|
+
_b)), role: "none", ref: navItem }, filterDataAttrs.filterDataAttrs(props)),
|
|
410
411
|
React__default["default"].createElement("div", { className: "arc-SiteHeaderV2NavItemWithSubNav-buttonContainer" },
|
|
411
|
-
React__default["default"].createElement("button", { "aria-expanded": horizontalPanelOpen, className: index.classNames((_c = {},
|
|
412
|
+
React__default["default"].createElement("button", { "aria-expanded": horizontalPanelOpen || panelOpen, role: "menuitem", "aria-label": title, "aria-haspopup": "true", tabIndex: 0, className: index.classNames((_c = {},
|
|
412
413
|
_c["arc-SiteHeaderV2NavItem-link"] = true,
|
|
414
|
+
_c["arc-SiteHeaderV2NavItem-horizontalPanelFocus"] = !isPrimary,
|
|
413
415
|
_c["arc-SiteHeaderV2NavItem-link--itemHasChildren"] = true,
|
|
414
416
|
_c["arc-SiteHeaderV2NavItem-link--itemHasChildren-closeFirstPanel"] = !isPrimary && !opensFirstWithPanel,
|
|
415
417
|
_c["arc-SiteHeaderV2NavItem-link--itemHasChildren-hasFirstPanel"] = opensFirstWithPanel,
|
|
@@ -542,7 +544,7 @@ var VerticalDivider = function () {
|
|
|
542
544
|
return React__default["default"].createElement("li", { className: "arc-SiteHeaderV2VerticalDivider-line" });
|
|
543
545
|
};
|
|
544
546
|
|
|
545
|
-
var defaultContext = { transparent: false };
|
|
547
|
+
var defaultContext = { transparent: false, menubarRef: null };
|
|
546
548
|
var Context = React.createContext(defaultContext);
|
|
547
549
|
var Provider = Context.Provider;
|
|
548
550
|
/**
|
|
@@ -554,6 +556,7 @@ var SiteHeaderV2 = function (_a) {
|
|
|
554
556
|
var _j = React.useState(false), hasClientSideJavaScript = _j[0], setHasClientSideJavaScript = _j[1];
|
|
555
557
|
var _k = React.useState(false), menuOpen = _k[0], setMenuOpen = _k[1];
|
|
556
558
|
var isMinWidthArcBreakpointL = useMediaQuery.useMediaQuery("(min-width: ".concat(useMediaQuery.ArcBreakpointL, "px)"));
|
|
559
|
+
var menubarRef = React.useRef();
|
|
557
560
|
React.useEffect(function () {
|
|
558
561
|
React__default["default"].Children.map(children, function (item) {
|
|
559
562
|
if (item &&
|
|
@@ -587,6 +590,9 @@ var SiteHeaderV2 = function (_a) {
|
|
|
587
590
|
window.removeEventListener("keydown", handleKeydown);
|
|
588
591
|
};
|
|
589
592
|
}, [setMenuOpen]);
|
|
593
|
+
React.useEffect(function () {
|
|
594
|
+
menubarRef === null || menubarRef === void 0 ? void 0 : menubarRef.current.classList.add("noFocus");
|
|
595
|
+
}, []);
|
|
590
596
|
React.useEffect(function () {
|
|
591
597
|
var handleClick = function (e) {
|
|
592
598
|
if (e.target.getAttribute("href")) {
|
|
@@ -602,7 +608,7 @@ var SiteHeaderV2 = function (_a) {
|
|
|
602
608
|
// useEffect does not run in ReactDomServer renders
|
|
603
609
|
setHasClientSideJavaScript(true);
|
|
604
610
|
}, [setHasClientSideJavaScript]);
|
|
605
|
-
return (React__default["default"].createElement(Provider, { value: { transparent: isTransparent } },
|
|
611
|
+
return (React__default["default"].createElement(Provider, { value: { transparent: isTransparent, menubarRef: menubarRef } },
|
|
606
612
|
React__default["default"].createElement("div", filterDataAttrs.__assign({ className: index.classNames((_b = {},
|
|
607
613
|
_b["arc-SiteHeaderV2"] = true,
|
|
608
614
|
_b["arc-SiteHeaderV2--menuOpen"] = menuOpen,
|
|
@@ -619,8 +625,8 @@ var SiteHeaderV2 = function (_a) {
|
|
|
619
625
|
children && (React__default["default"].createElement("nav", { className: "arc-SiteHeaderV2-nav" },
|
|
620
626
|
React__default["default"].createElement("div", { className: "arc-SiteHeaderV2-menuButton" },
|
|
621
627
|
React__default["default"].createElement(MenuButton, { menuOpen: menuOpen, setMenuOpen: setMenuOpen })),
|
|
622
|
-
React__default["default"].createElement("div", { className: "arc-SiteHeaderV2-main" },
|
|
623
|
-
React__default["default"].createElement("ul", { className: "arc-SiteHeaderV2-navItems" }, children),
|
|
628
|
+
React__default["default"].createElement("div", { className: "arc-SiteHeaderV2-main", tabIndex: -1 },
|
|
629
|
+
React__default["default"].createElement("ul", { role: "menubar", "aria-label": "navigation", ref: menubarRef, className: "arc-SiteHeaderV2-navItems" }, children),
|
|
624
630
|
hasLogin && (React__default["default"].createElement(React__default["default"].Fragment, null, loginOnClick ? (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2-mobileButtonContainer" },
|
|
625
631
|
React__default["default"].createElement("button", { className: "arc-SiteHeaderV2-mobileLogin", onClick: loginOnClick },
|
|
626
632
|
loginTitle,
|
|
@@ -635,6 +641,9 @@ var SiteHeaderV2 = function (_a) {
|
|
|
635
641
|
basket ? (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2-basket" }, basket)) : null,
|
|
636
642
|
hasLogin && (React__default["default"].createElement(React__default["default"].Fragment, null, loginOnClick ? (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2-loginLink arc-SiteHeaderV2-loginLink--function", onClick: loginOnClick }, loginTitle)) : (React__default["default"].createElement("a", { className: "arc-SiteHeaderV2-loginLink", href: loginHref }, loginTitle)))))))))));
|
|
637
643
|
};
|
|
644
|
+
function useHeaderV2Context() {
|
|
645
|
+
return React.useContext(Context);
|
|
646
|
+
}
|
|
638
647
|
SiteHeaderV2.Column = Column;
|
|
639
648
|
SiteHeaderV2.Item = Item;
|
|
640
649
|
SiteHeaderV2.ItemGroup = ItemGroup;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { _ as __rest, a as __assign, f as filterDataAttrs } from './filter-data-attrs-ea8f4ed4.js';
|
|
2
|
+
import React__default, { useContext } from 'react';
|
|
3
|
+
import { c as classNames } from './index-2e73c2e9.js';
|
|
4
|
+
import { I as Icon } from './Icon-15799695.js';
|
|
5
|
+
import { C as Context } from './Surface-0ca6817d.js';
|
|
6
|
+
import { V as VisuallyHidden } from './VisuallyHidden-b9eebf71.js';
|
|
7
|
+
|
|
8
|
+
var Error = function () { return (React__default.createElement("svg", { fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" },
|
|
9
|
+
React__default.createElement("g", { "clip-path": "url(#a)" },
|
|
10
|
+
React__default.createElement("path", { d: "m13.06 12 2.845-2.845a.75.75 0 0 0-1.06-1.06L12 10.94 9.155 8.095a.75.75 0 0 0-1.06 1.06L10.939 12l-2.844 2.845a.75.75 0 1 0 1.06 1.06L12 13.061l2.845 2.844a.75.75 0 0 0 1.06-1.06L13.06 12Z", fill: "currentColor" })),
|
|
11
|
+
React__default.createElement("rect", { x: ".667", y: ".667", width: "22.667", height: "22.667", rx: "11.333", stroke: "currentColor", "stroke-width": "1.333" }),
|
|
12
|
+
React__default.createElement("defs", null,
|
|
13
|
+
React__default.createElement("clipPath", { id: "a" },
|
|
14
|
+
React__default.createElement("rect", { width: "24", height: "24", rx: "12" }))))); };
|
|
15
|
+
|
|
16
|
+
var Warning = function () { return (React__default.createElement("svg", { fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" },
|
|
17
|
+
React__default.createElement("rect", { x: ".667", y: ".667", width: "22.667", height: "22.667", rx: "11.333", stroke: "currentColor", "stroke-width": "1.333" }),
|
|
18
|
+
React__default.createElement("path", { d: "M12 15.747a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm.004-1.487a.375.375 0 0 0 .375-.375l.001-6.757a.375.375 0 1 0-.75 0l-.001 6.757a.375.375 0 0 0 .375.375Z", fill: "currentColor", stroke: "currentColor", "stroke-width": ".3" }))); };
|
|
19
|
+
|
|
20
|
+
var Complete = function () { return (React__default.createElement("svg", { fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" },
|
|
21
|
+
React__default.createElement("g", { "clip-path": "url(#a)" },
|
|
22
|
+
React__default.createElement("path", { d: "m10.125 16.435-3.53-3.53a.75.75 0 0 1 0-1.06.768.768 0 0 1 1.06 0l2.47 2.47 6.22-6.22a.75.75 0 1 1 1.06 1.06l-7.28 7.28Z", fill: "currentColor" })),
|
|
23
|
+
React__default.createElement("rect", { x: ".667", y: ".667", width: "22.667", height: "22.667", rx: "11.333", stroke: "currentColor", "stroke-width": "1.333" }),
|
|
24
|
+
React__default.createElement("defs", null,
|
|
25
|
+
React__default.createElement("clipPath", { id: "a" },
|
|
26
|
+
React__default.createElement("rect", { width: "24", height: "24", rx: "12" }))))); };
|
|
27
|
+
|
|
28
|
+
var Current = function () { return (React__default.createElement("svg", { viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
29
|
+
React__default.createElement("rect", { x: "0.666667", y: "0.666667", width: "22.6667", height: "22.6667", rx: "11.3333", stroke: "url(#paint0_linear_1_1050)", "stroke-width": "1.33333" }),
|
|
30
|
+
React__default.createElement("circle", { cx: "12", cy: "12", r: "7", fill: "currentColor" }),
|
|
31
|
+
React__default.createElement("defs", null,
|
|
32
|
+
React__default.createElement("linearGradient", { id: "paint0_linear_1_1050", x1: "36.6036", y1: "-4.31391e-07", x2: "-12.6036", y2: "24", gradientUnits: "userSpaceOnUse" },
|
|
33
|
+
React__default.createElement("stop", { "stop-color": "#F200F5" }),
|
|
34
|
+
React__default.createElement("stop", { offset: "1", "stop-color": "#1EC8E6" }))))); };
|
|
35
|
+
|
|
36
|
+
var Todo = function () { return (React__default.createElement("svg", { fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" },
|
|
37
|
+
React__default.createElement("rect", { x: ".667", y: ".667", width: "22.667", height: "22.667", rx: "11.333", stroke: "currentColor", "stroke-width": "1.333" }))); };
|
|
38
|
+
|
|
39
|
+
// export current step as an icon
|
|
40
|
+
var ProgressStepperItem = function (_a) {
|
|
41
|
+
var _b;
|
|
42
|
+
var title = _a.title, titleHref = _a.titleHref, subTitle = _a.subTitle, _c = _a.direction, direction = _c === void 0 ? "horizontal" : _c, _d = _a.status, status = _d === void 0 ? "todo" : _d, _e = _a.size, size = _e === void 0 ? "large" : _e, isFluid = _a.isFluid, ariaLabel = _a.ariaLabel, onClick = _a.onClick, previousStep = _a.previousStep, stepContent = _a.stepContent, isStepContentHidden = _a.isStepContentHidden, props = __rest(_a, ["title", "titleHref", "subTitle", "direction", "status", "size", "isFluid", "ariaLabel", "onClick", "previousStep", "stepContent", "isStepContentHidden"]);
|
|
43
|
+
var surface = useContext(Context).surface;
|
|
44
|
+
var statusIcons = {
|
|
45
|
+
todo: Todo,
|
|
46
|
+
completed: Complete,
|
|
47
|
+
current: Current,
|
|
48
|
+
warning: Warning,
|
|
49
|
+
error: Error
|
|
50
|
+
};
|
|
51
|
+
var onClickHandler = function (event) {
|
|
52
|
+
event.preventDefault();
|
|
53
|
+
onClick && onClick();
|
|
54
|
+
};
|
|
55
|
+
var capitaliseFirstLetter = function (word) {
|
|
56
|
+
return word.charAt(0).toUpperCase() + word.slice(1);
|
|
57
|
+
};
|
|
58
|
+
return (React__default.createElement("div", __assign({ className: classNames("arc-ProgressStepperItem", "arc-ProgressStepperItem--".concat(status), "arc-ProgressStepperItem--".concat(size), (_b = {
|
|
59
|
+
"arc-ProgressStepperItem--vertical": direction === "vertical",
|
|
60
|
+
"arc-ProgressStepperItem--isFluid": isFluid && direction !== "vertical",
|
|
61
|
+
"arc-ProgressStepperItem--onDarkSurface": surface === "dark",
|
|
62
|
+
"arc-ProgressStepperItem--previousStepCompleted": previousStep === "completed"
|
|
63
|
+
},
|
|
64
|
+
_b["arc-ProgressStepperItem--hasInteractiveStatus"] = status !== "todo",
|
|
65
|
+
_b)) }, filterDataAttrs(props)),
|
|
66
|
+
React__default.createElement("div", { className: "arc-ProgressStepperItem-iconSection" },
|
|
67
|
+
React__default.createElement("div", { className: "arc-ProgressStepperItem-iconWrapper", "data-testid": "arc-ProgressStepperItem-iconWrapper" },
|
|
68
|
+
React__default.createElement(Icon, { size: size === "small" ? 16 : 24, icon: statusIcons[status] }))),
|
|
69
|
+
React__default.createElement("div", { className: "arc-ProgressStepperItem-textSection" },
|
|
70
|
+
status !== "todo" && (React__default.createElement(VisuallyHidden, null,
|
|
71
|
+
capitaliseFirstLetter(status),
|
|
72
|
+
":")),
|
|
73
|
+
titleHref ? (React__default.createElement("a", { href: titleHref, "aria-label": ariaLabel, className: classNames("arc-ProgressStepperItem-title", "arc-ProgressStepperItem-title--link"), onClick: onClickHandler }, title)) : (React__default.createElement("div", { className: "arc-ProgressStepperItem-title" }, title)),
|
|
74
|
+
React__default.createElement("div", { className: "arc-ProgressStepperItem-subTitle" }, subTitle),
|
|
75
|
+
stepContent && !isStepContentHidden && direction === "vertical" && (React__default.createElement(React__default.Fragment, null,
|
|
76
|
+
React__default.createElement("div", { className: "arc-ProgressStepperItem-nodeItem" }, stepContent))))));
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
/** Use `ProgressStepper` to illustrate the progress of a specific task within a page, by displaying a step-by-step progress through the user journey. This is commonly used in multi-step processes or wizards. */
|
|
80
|
+
var ProgressStepper = function (_a) {
|
|
81
|
+
var children = _a.children, size = _a.size, isFluid = _a.isFluid, direction = _a.direction, isExpandable = _a.isExpandable, props = __rest(_a, ["children", "size", "isFluid", "direction", "isExpandable"]);
|
|
82
|
+
var items = React__default.Children.toArray(children);
|
|
83
|
+
var getStepStatus = function (item) {
|
|
84
|
+
var _a;
|
|
85
|
+
return (_a = item === null || item === void 0 ? void 0 : item.props) === null || _a === void 0 ? void 0 : _a.status;
|
|
86
|
+
};
|
|
87
|
+
return (React__default.createElement("div", __assign({ className: classNames("arc-ProgressStepper", {
|
|
88
|
+
"arc-ProgressStepper--vertical": direction === "vertical"
|
|
89
|
+
}) }, filterDataAttrs(props)), items.map(function (item, index) { return (React__default.createElement(React__default.Fragment, { key: "StepperItem-".concat(index) },
|
|
90
|
+
React__default.createElement(ProgressStepperItem, __assign({ title: item.props.title, titleHref: item.props.titleHref, subTitle: item.props.subTitle, status: item.props.status, stepContent: item.props.stepContent, isStepContentHidden: item.props.isStepContentHidden, onClick: item.props.onClick, isFluid: isFluid, direction: direction, isExpandable: isExpandable, size: size, previousStep: getStepStatus(items[index - 1]) }, filterDataAttrs(item.props))))); })));
|
|
91
|
+
};
|
|
92
|
+
ProgressStepper.Item = ProgressStepperItem;
|
|
93
|
+
|
|
94
|
+
export { ProgressStepper as P };
|