@arc-ui/components 11.16.0 → 11.17.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.
- package/dist/Calendar/Calendar.cjs.js +21 -0
- package/dist/Calendar/Calendar.esm.js +13 -0
- package/dist/Calendar/package.json +7 -0
- package/dist/Checkbox/Checkbox.cjs.js +3 -2
- package/dist/Checkbox/Checkbox.esm.js +3 -2
- package/dist/DatePicker/DatePicker.cjs.js +565 -0
- package/dist/DatePicker/DatePicker.esm.js +552 -0
- package/dist/DatePicker/package.json +7 -0
- package/dist/FormControl/FormControl.cjs.js +2 -1
- package/dist/FormControl/FormControl.esm.js +2 -1
- package/dist/InformationCard/InformationCard.cjs.js +10 -9
- package/dist/InformationCard/InformationCard.esm.js +8 -7
- package/dist/MediaCard/MediaCard.cjs.js +56 -0
- package/dist/MediaCard/MediaCard.esm.js +48 -0
- package/dist/MediaCard/package.json +7 -0
- package/dist/Modal/Modal.cjs.js +13 -286
- package/dist/Modal/Modal.esm.js +6 -279
- package/dist/RadioGroup/RadioGroup.cjs.js +3 -2
- package/dist/RadioGroup/RadioGroup.esm.js +3 -2
- package/dist/Select/Select.cjs.js +31 -2705
- package/dist/Select/Select.esm.js +13 -2668
- package/dist/SiteFooter/SiteFooter.cjs.js +2 -2
- package/dist/SiteFooter/SiteFooter.esm.js +3 -3
- package/dist/SiteHeader/SiteHeader.cjs.js +2 -2
- package/dist/SiteHeader/SiteHeader.esm.js +2 -2
- package/dist/SiteHeaderV2/SiteHeaderV2.cjs.js +23 -0
- package/dist/SiteHeaderV2/SiteHeaderV2.esm.js +15 -0
- package/dist/SiteHeaderV2/package.json +7 -0
- package/dist/Switch/Switch.cjs.js +4 -3
- package/dist/Switch/Switch.esm.js +4 -3
- package/dist/Tabs/Tabs.cjs.js +5 -5
- package/dist/Tabs/Tabs.esm.js +5 -5
- package/dist/TextArea/TextArea.cjs.js +20 -20
- package/dist/TextArea/TextArea.esm.js +20 -20
- package/dist/TextInput/TextInput.cjs.js +3 -2
- package/dist/TextInput/TextInput.esm.js +3 -2
- package/dist/Toast/Toast.cjs.js +6 -7
- package/dist/Toast/Toast.esm.js +6 -7
- package/dist/TypographyCard/TypographyCard.cjs.js +13 -70
- package/dist/TypographyCard/TypographyCard.esm.js +14 -71
- package/dist/_shared/cjs/Calendar-18e255f8.js +4106 -0
- package/dist/_shared/cjs/CardFooter-43c32239.js +80 -0
- package/dist/_shared/cjs/CardLabel-768abf20.js +54 -0
- package/dist/_shared/cjs/{Checkbox-904ad028.js → Checkbox-4d4b432f.js} +1 -1
- package/dist/_shared/cjs/{index-3d69ea00.js → Combination-9974f2e2.js} +662 -145
- package/dist/_shared/cjs/{FormControl-166e0957.js → FormControl-b26ad353.js} +8 -5
- package/dist/_shared/cjs/{RadioGroup-1eddf86f.js → RadioGroup-23c964ae.js} +1 -1
- package/dist/_shared/cjs/{SiteFooter-97c27b29.js → SiteFooter-65b6360c.js} +2 -2
- package/dist/_shared/cjs/{SiteHeader.rehydrator-af3dddef.js → SiteHeader.rehydrator-df053a52.js} +8 -8
- package/dist/_shared/cjs/SiteHeaderV2-8ce6d4fc.js +610 -0
- package/dist/_shared/cjs/{Tabs-cc77dabb.js → Tabs-34db6bc1.js} +4 -4
- package/dist/_shared/cjs/{TextInput-fd9c756f.js → TextInput-d0370fa8.js} +19 -6
- package/dist/_shared/cjs/{Toast-91e96744.js → Toast-392b1d60.js} +292 -34
- package/dist/_shared/cjs/{index-84e6a68f.js → index-6eb396a3.js} +1 -1
- package/dist/_shared/cjs/{index-6542b467.js → index-74004a9c.js} +1 -1
- package/dist/_shared/cjs/index-77ab5c6a.js +2180 -0
- package/dist/_shared/cjs/{index-d31f2b65.js → index-9f99d686.js} +1 -1
- package/dist/_shared/cjs/{index-1641d0b4.js → index-a31e64a9.js} +1 -1
- package/dist/_shared/cjs/{index-49c72a87.js → index-d38f1bd0.js} +1 -1
- package/dist/_shared/esm/Calendar-4033fa48.js +4093 -0
- package/dist/_shared/esm/CardFooter-dd8d4000.js +74 -0
- package/dist/_shared/esm/CardLabel-d6d71407.js +46 -0
- package/dist/_shared/esm/{Checkbox-8a5bb9a1.js → Checkbox-720b074d.js} +1 -1
- package/dist/_shared/esm/{index-3e2bc99d.js → Combination-e9f7e64e.js} +643 -132
- package/dist/_shared/esm/{FormControl-9d4ddfec.js → FormControl-f0b8fe91.js} +8 -5
- package/dist/_shared/esm/{RadioGroup-238db88d.js → RadioGroup-37fdb06b.js} +1 -1
- package/dist/_shared/esm/{SiteFooter-94316b8b.js → SiteFooter-38ee1536.js} +1 -1
- package/dist/_shared/esm/{SiteHeader.rehydrator-1b507253.js → SiteHeader.rehydrator-32bdcd88.js} +2 -2
- package/dist/_shared/esm/SiteHeaderV2-f8377627.js +604 -0
- package/dist/_shared/esm/{Tabs-8719d952.js → Tabs-df9965dd.js} +4 -4
- package/dist/_shared/esm/{TextInput-c1e2a1dd.js → TextInput-abbab56b.js} +19 -6
- package/dist/_shared/esm/{Toast-7cb1e544.js → Toast-5d66e13f.js} +264 -7
- package/dist/_shared/esm/{index-39019a9b.js → index-044da8d0.js} +1 -1
- package/dist/_shared/esm/{index-6b7b075c.js → index-25a5b393.js} +1 -1
- package/dist/_shared/esm/{index-246b4f18.js → index-2cfab9f2.js} +1 -1
- package/dist/_shared/esm/{index-12f3a407.js → index-7b531fa7.js} +68 -68
- package/dist/_shared/esm/index-b84a20c6.js +2155 -0
- package/dist/_shared/esm/{index-db47e95a.js → index-ca72c9d5.js} +1 -1
- package/dist/_shared/esm/{index-936b5179.js → index-efa9be1a.js} +1 -1
- package/dist/_shared/esm/{index.es-c552c0ea.js → use-media-query-4c807227.js} +9 -9
- package/dist/index.es.js +1135 -791
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +1136 -791
- package/dist/index.js.map +1 -1
- package/dist/styles.css +4 -4
- package/dist/types/components/Calendar/Calendar.d.ts +49 -0
- package/dist/types/components/Calendar/Calendar.provider.d.ts +21 -0
- package/dist/types/components/Calendar/components/CalendarDateSelect/CalendarDateSelect.d.ts +15 -0
- package/dist/types/components/Calendar/components/CalendarDateSelect/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/CalendarDayGrid/CalendarDayGrid.d.ts +6 -0
- package/dist/types/components/Calendar/components/CalendarDayGrid/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/CalendarDayNumber/CalendarDayNumber.d.ts +8 -0
- package/dist/types/components/Calendar/components/CalendarDayNumber/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/CalendarDoubleMonthView/CalendarDoubleMonthView.d.ts +9 -0
- package/dist/types/components/Calendar/components/CalendarDoubleMonthView/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/CalendarFooter/CalendarFooter.d.ts +6 -0
- package/dist/types/components/Calendar/components/CalendarFooter/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/CalendarMonthView/CalendarMonthView.d.ts +9 -0
- package/dist/types/components/Calendar/components/CalendarMonthView/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/CalendarMonthYearView/CalendarMonthYearView.d.ts +11 -0
- package/dist/types/components/Calendar/components/CalendarMonthYearView/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/CalendarNavButton/CalendarNavButton.d.ts +10 -0
- package/dist/types/components/Calendar/components/CalendarNavButton/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/CalendarWrapper/CalendarWrapper.d.ts +5 -0
- package/dist/types/components/Calendar/components/CalendarWrapper/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/index.d.ts +6 -0
- package/dist/types/components/Calendar/constants/day-names.d.ts +5 -0
- package/dist/types/components/Calendar/constants/index.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/contains-date.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/contains-date.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/date-without-time.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/date-without-time.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/get-calendar-type.d.ts +2 -0
- package/dist/types/components/Calendar/helpers/get-calendar-type.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/get-dates-in-month.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/get-dates-in-month.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/get-double-month-display-range.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/get-double-month-display-range.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/get-focus-date.d.ts +5 -0
- package/dist/types/components/Calendar/helpers/get-focus-date.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/get-highlighted-range.d.ts +6 -0
- package/dist/types/components/Calendar/helpers/get-highlighted-range.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/get-keydown-date.d.ts +6 -0
- package/dist/types/components/Calendar/helpers/get-keydown-date.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/index.d.ts +13 -0
- package/dist/types/components/Calendar/helpers/is-day.d.ts +2 -0
- package/dist/types/components/Calendar/helpers/is-day.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/is-disabled-date.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/is-disabled-date.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/is-month-after-max-date.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/is-month-after-max-date.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/is-month-before-min-date.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/is-month-before-min-date.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/process-selected-range.d.ts +9 -0
- package/dist/types/components/Calendar/helpers/process-selected-range.test.d.ts +1 -0
- package/dist/types/components/Calendar/index.d.ts +2 -0
- package/dist/types/components/Calendar/state/handlers/calendar-keydown-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/day-grid-leave-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/day-number-select-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/default-handler.d.ts +2 -0
- package/dist/types/components/Calendar/state/handlers/dropdown-change-month-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/dropdown-change-year-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/highlight-range-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/index.d.ts +12 -0
- package/dist/types/components/Calendar/state/handlers/range-select-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/show-next-double-month-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/show-next-month-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/show-previous-double-month-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/show-previous-month-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/index.d.ts +2 -0
- package/dist/types/components/Calendar/state/reducer.d.ts +3 -0
- package/dist/types/components/Calendar/state/reducer.test.d.ts +1 -0
- package/dist/types/components/Calendar/state/types/actions.d.ts +81 -0
- package/dist/types/components/Calendar/state/types/state-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/types/state.d.ts +5 -0
- package/dist/types/components/Calendar/types/calendar-type.d.ts +1 -0
- package/dist/types/components/Calendar/types/date-select-value.d.ts +2 -0
- package/dist/types/components/Calendar/types/index.d.ts +6 -0
- package/dist/types/components/Calendar/types/key-names.d.ts +13 -0
- package/dist/types/components/Calendar/types/range-selection.d.ts +10 -0
- package/dist/types/components/Calendar/types/selection-type.d.ts +1 -0
- package/dist/types/components/Calendar/types/week-days.d.ts +18 -0
- package/dist/types/components/DatePicker/DatePicker.d.ts +17 -0
- package/dist/types/components/DatePicker/constants/date-format.d.ts +1 -0
- package/dist/types/components/DatePicker/constants/index.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/convert-date-string-to-date.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/convert-date-string-to-date.test.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/convert-range-string-to-dates.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/convert-range-string-to-dates.test.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/format-date.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/format-date.test.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/index.d.ts +8 -0
- package/dist/types/components/DatePicker/helpers/is-date-valid.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/is-date-valid.test.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/is-disabled-date.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/is-disabled-date.test.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/is-range-valid.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/is-range-valid.test.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/parse-date-string.d.ts +5 -0
- package/dist/types/components/DatePicker/helpers/parse-date-string.test.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/parse-range-string.d.ts +14 -0
- package/dist/types/components/DatePicker/helpers/parse-range-string.test.d.ts +1 -0
- package/dist/types/components/DatePicker/index.d.ts +6 -0
- package/dist/types/components/FormControl/FormControl.d.ts +4 -0
- package/dist/types/components/RadioGroup/RadioGroup.d.ts +1 -1
- package/dist/types/components/SiteHeaderV2/SiteHeaderV2.d.ts +77 -0
- package/dist/types/components/SiteHeaderV2/components/BackButton/BackButton.d.ts +5 -0
- package/dist/types/components/SiteHeaderV2/components/BackButton/index.d.ts +1 -0
- package/dist/types/components/SiteHeaderV2/components/Column/Column.d.ts +8 -0
- package/dist/types/components/SiteHeaderV2/components/Column/index.d.ts +1 -0
- package/dist/types/components/SiteHeaderV2/components/HorizontalPanel/HorizontalPanel.d.ts +13 -0
- package/dist/types/components/SiteHeaderV2/components/HorizontalPanel/index.d.ts +1 -0
- package/dist/types/components/SiteHeaderV2/components/Item/Item.d.ts +20 -0
- package/dist/types/components/SiteHeaderV2/components/Item/index.d.ts +1 -0
- package/dist/types/components/SiteHeaderV2/components/ItemGroup/ItemGroup.d.ts +27 -0
- package/dist/types/components/SiteHeaderV2/components/ItemGroup/index.d.ts +1 -0
- package/dist/types/components/SiteHeaderV2/components/MenuButton/MenuButton.d.ts +6 -0
- package/dist/types/components/SiteHeaderV2/components/MenuButton/index.d.ts +1 -0
- package/dist/types/components/SiteHeaderV2/components/NavItem/NavItem.d.ts +40 -0
- package/dist/types/components/SiteHeaderV2/components/NavItem/NavItemWithSubNav.d.ts +55 -0
- package/dist/types/components/SiteHeaderV2/components/NavItem/index.d.ts +2 -0
- package/dist/types/components/SiteHeaderV2/components/NodeItem/NodeItem.d.ts +8 -0
- package/dist/types/components/SiteHeaderV2/components/Panel/Panel.d.ts +26 -0
- package/dist/types/components/SiteHeaderV2/components/Panel/index.d.ts +1 -0
- package/dist/types/components/SiteHeaderV2/components/SubNavItem/SubNavItem.d.ts +45 -0
- package/dist/types/components/SiteHeaderV2/components/SubNavItem/index.d.ts +1 -0
- package/dist/types/components/SiteHeaderV2/components/VerticalDivider/VerticalDivider.d.ts +1 -0
- package/dist/types/components/SiteHeaderV2/components/VerticalDivider/index.d.ts +1 -0
- package/dist/types/components/SiteHeaderV2/index.d.ts +1 -0
- package/dist/types/components/TextArea/TextArea.d.ts +4 -0
- package/dist/types/components/TextInput/TextInput.d.ts +22 -3
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/private-components/CardFooter/CardFooter.d.ts +11 -0
- package/dist/types/private-components/CardFooter/index.d.ts +1 -0
- package/dist/types/private-components/CardHeading/CardHeading.d.ts +19 -0
- package/dist/types/private-components/CardHeading/index.d.ts +1 -0
- package/dist/types/private-components/CardLabel/CardLabel.d.ts +10 -0
- package/dist/types/private-components/CardLabel/index.d.ts +1 -0
- package/dist/types/private-components/index.d.ts +4 -0
- package/dist/types/styles.d.ts +6 -0
- package/package.json +4 -2
- package/dist/_shared/cjs/BtIconArrowRight.esm-8e8ac316.js +0 -30
- package/dist/_shared/cjs/index-4ecad2dd.js +0 -273
- package/dist/_shared/esm/BtIconArrowRight.esm-267916a4.js +0 -24
- package/dist/_shared/esm/index-d0307140.js +0 -264
- package/dist/types/internal-components/index.d.ts +0 -1
- package/dist/_shared/cjs/{index-56a040f4.js → index-dd1d18ea.js} +66 -66
- package/dist/_shared/cjs/{index.es-26dd8c5d.js → use-media-query-e61881d8.js} +8 -8
- /package/dist/types/{internal-components → private-components}/ConditionalWrapper/ConditionalWrapper.d.ts +0 -0
- /package/dist/types/{internal-components → private-components}/ConditionalWrapper/index.d.ts +0 -0
package/dist/index.js
CHANGED
|
@@ -342,9 +342,9 @@ var AlignItem = function (_a) {
|
|
|
342
342
|
return React__default["default"].createElement("div", { className: "arc-Align-item" }, children);
|
|
343
343
|
};
|
|
344
344
|
|
|
345
|
-
var defaultContext$
|
|
346
|
-
var Context$
|
|
347
|
-
var Provider$
|
|
345
|
+
var defaultContext$5 = { surface: "light" };
|
|
346
|
+
var Context$5 = React.createContext(defaultContext$5);
|
|
347
|
+
var Provider$6 = Context$5.Provider;
|
|
348
348
|
/**
|
|
349
349
|
* Use `Surface` to compose content using the Arc system.
|
|
350
350
|
*/
|
|
@@ -359,7 +359,7 @@ var Surface = function (_a) {
|
|
|
359
359
|
background === "darker") {
|
|
360
360
|
surface = "dark";
|
|
361
361
|
}
|
|
362
|
-
return (React__default["default"].createElement(Provider$
|
|
362
|
+
return (React__default["default"].createElement(Provider$6, { value: { surface: surface } },
|
|
363
363
|
React__default["default"].createElement("div", __assign({ "data-testid": "arc-surface", className: classNames((_b = {
|
|
364
364
|
"arc-Surface": true
|
|
365
365
|
},
|
|
@@ -408,7 +408,7 @@ const ArcIconArc = (props) =>
|
|
|
408
408
|
var Icon = function (_a) {
|
|
409
409
|
var _b;
|
|
410
410
|
var testId = _a.testId, _c = _a.color, color = _c === void 0 ? "auto" : _c, _d = _a.icon, icon = _d === void 0 ? ArcIconArc : _d, _e = _a.isInline, isInline = _e === void 0 ? false : _e, label = _a.label, size = _a.size, props = __rest(_a, ["testId", "color", "icon", "isInline", "label", "size"]);
|
|
411
|
-
var surface = React.useContext(Context$
|
|
411
|
+
var surface = React.useContext(Context$5).surface;
|
|
412
412
|
var Icon = icon;
|
|
413
413
|
return (React__default["default"].createElement("span", __assign({ "data-testid": testId, "aria-label": label, className: classNames((_b = {},
|
|
414
414
|
_b["arc-Icon"] = true,
|
|
@@ -428,7 +428,7 @@ var Icon = function (_a) {
|
|
|
428
428
|
var Heading = function (_a) {
|
|
429
429
|
var _b;
|
|
430
430
|
var _c = _a.align, align = _c === void 0 ? "left" : _c, _d = _a.casing, casing = _d === void 0 ? "auto" : _d, children = _a.children, _e = _a.color, color = _e === void 0 ? "auto" : _e, level = _a.level, size = _a.size, id = _a.id, props = __rest(_a, ["align", "casing", "children", "color", "level", "size", "id"]);
|
|
431
|
-
var surface = React.useContext(Context$
|
|
431
|
+
var surface = React.useContext(Context$5).surface;
|
|
432
432
|
var Element = "span";
|
|
433
433
|
if (level) {
|
|
434
434
|
Element = "h".concat(level);
|
|
@@ -455,7 +455,7 @@ Heading.Proposition = HeadingProposition;
|
|
|
455
455
|
var Text = function (_a) {
|
|
456
456
|
var _b;
|
|
457
457
|
var _c = _a.align, align = _c === void 0 ? "left" : _c, children = _a.children, id = _a.id, _d = _a.isInline, isInline = _d === void 0 ? false : _d, _e = _a.isMeasured, isMeasured = _e === void 0 ? false : _e, _f = _a.size, size = _f === void 0 ? "m" : _f, _g = _a.tone, tone = _g === void 0 ? "default" : _g, props = __rest(_a, ["align", "children", "id", "isInline", "isMeasured", "size", "tone"]);
|
|
458
|
-
var surface = React.useContext(Context$
|
|
458
|
+
var surface = React.useContext(Context$5).surface;
|
|
459
459
|
return (React__default["default"].createElement("span", __assign({ id: id, className: classNames((_b = {
|
|
460
460
|
"arc-Text": true
|
|
461
461
|
},
|
|
@@ -583,7 +583,7 @@ const BtIconTick = (props) =>
|
|
|
583
583
|
var Alert = function (_a) {
|
|
584
584
|
var _b;
|
|
585
585
|
var heading = _a.heading, description = _a.description, link = _a.link, linkText = _a.linkText, linkAriaLabel = _a.linkAriaLabel, type = _a.type, _c = _a.status, status = _c === void 0 ? "general" : _c, isDismissable = _a.isDismissable, headingLevel = _a.headingLevel, onDismiss = _a.onDismiss, onLinkClick = _a.onLinkClick, icon = _a.icon, props = __rest(_a, ["heading", "description", "link", "linkText", "linkAriaLabel", "type", "status", "isDismissable", "headingLevel", "onDismiss", "onLinkClick", "icon"]);
|
|
586
|
-
var surface = React.useContext(Context$
|
|
586
|
+
var surface = React.useContext(Context$5).surface;
|
|
587
587
|
var _d = React.useState(false), isDismissed = _d[0], setIsDismissed = _d[1];
|
|
588
588
|
var onDismissHandler = function () {
|
|
589
589
|
setIsDismissed(true);
|
|
@@ -625,7 +625,7 @@ var Alert = function (_a) {
|
|
|
625
625
|
var Badge = function (_a) {
|
|
626
626
|
var _b, _c;
|
|
627
627
|
var children = _a.children, _d = _a.state, state = _d === void 0 ? "default" : _d, _e = _a.size, size = _e === void 0 ? "default" : _e, _f = _a.fill, fill = _f === void 0 ? "solid" : _f, ariaLabel = _a.ariaLabel, ariaRole = _a.ariaRole, props = __rest(_a, ["children", "state", "size", "fill", "ariaLabel", "ariaRole"]);
|
|
628
|
-
var surface = React.useContext(Context$
|
|
628
|
+
var surface = React.useContext(Context$5).surface;
|
|
629
629
|
return (React__default["default"].createElement("div", __assign({ className: classNames((_b = {
|
|
630
630
|
"arc-Badge": true,
|
|
631
631
|
"arc-Badge--onDarkSurface": surface === "dark",
|
|
@@ -676,7 +676,7 @@ var Box = function (_a) {
|
|
|
676
676
|
var BrandLogo = function (_a) {
|
|
677
677
|
var _b;
|
|
678
678
|
var _c = _a.color, color = _c === void 0 ? "auto" : _c, label = _a.label, _d = _a.size, size = _d === void 0 ? 34 : _d, subBrand = _a.subBrand, props = __rest(_a, ["color", "label", "size", "subBrand"]);
|
|
679
|
-
var surface = React.useContext(Context$
|
|
679
|
+
var surface = React.useContext(Context$5).surface;
|
|
680
680
|
return (React__default["default"].createElement("div", __assign({ className: classNames((_b = {
|
|
681
681
|
"arc-BrandLogo": true,
|
|
682
682
|
"arc-BrandLogo--colorBrand": color === "brand",
|
|
@@ -1406,7 +1406,7 @@ const BtIconChevronRightMid = (props) =>
|
|
|
1406
1406
|
var Button = React.forwardRef(function (_a, ref) {
|
|
1407
1407
|
var _b;
|
|
1408
1408
|
var ariaLabel = _a.ariaLabel, _c = _a.fill, fill = _c === void 0 ? "solid" : _c, href = _a.href, icon = _a.icon, _d = _a.iconPosition, iconPosition = _d === void 0 ? "afterText" : _d, id = _a.id, _e = _a.isDisabled, isDisabled = _e === void 0 ? false : _e, _f = _a.isDisplayBlock, isDisplayBlock = _f === void 0 ? false : _f, _g = _a.isFullWidth, isFullWidth = _g === void 0 ? false : _g, label = _a.label, onClick = _a.onClick, rel = _a.rel, _h = _a.size, size = _h === void 0 ? "m" : _h, supportingText = _a.supportingText, target = _a.target, type = _a.type, form = _a.form, props = __rest(_a, ["ariaLabel", "fill", "href", "icon", "iconPosition", "id", "isDisabled", "isDisplayBlock", "isFullWidth", "label", "onClick", "rel", "size", "supportingText", "target", "type", "form"]);
|
|
1409
|
-
var surface = React.useContext(Context$
|
|
1409
|
+
var surface = React.useContext(Context$5).surface;
|
|
1410
1410
|
var buttonClasses = classNames((_b = {
|
|
1411
1411
|
"arc-Button": true,
|
|
1412
1412
|
"arc-Button--displayBlock": isDisplayBlock
|
|
@@ -1598,7 +1598,7 @@ var useNumericInput = function (props) {
|
|
|
1598
1598
|
var Card = function (_a) {
|
|
1599
1599
|
var _b;
|
|
1600
1600
|
var actionId = _a.actionId, _c = _a.actionLabel, actionLabel = _c === void 0 ? "Read more" : _c, children = _a.children, _d = _a.fill, fill = _d === void 0 ? "solid" : _d, href = _a.href, imageAlt = _a.imageAlt, imageHeight = _a.imageHeight, imageLoading = _a.imageLoading, imageSrc = _a.imageSrc, imageSrcSet = _a.imageSrcSet, linkData = _a.linkData, minHeight = _a.minHeight, onClick = _a.onClick, target = _a.target, title = _a.title, _e = _a.titleSize, titleSize = _e === void 0 ? "s" : _e, props = __rest(_a, ["actionId", "actionLabel", "children", "fill", "href", "imageAlt", "imageHeight", "imageLoading", "imageSrc", "imageSrcSet", "linkData", "minHeight", "onClick", "target", "title", "titleSize"]);
|
|
1601
|
-
var surface = React.useContext(Context$
|
|
1601
|
+
var surface = React.useContext(Context$5).surface;
|
|
1602
1602
|
var interactionMode = useInteractionMode().interactionMode;
|
|
1603
1603
|
var Wrapper = function (_a) {
|
|
1604
1604
|
var children = _a.children;
|
|
@@ -1655,7 +1655,7 @@ Card.Image = CardImage;
|
|
|
1655
1655
|
*/
|
|
1656
1656
|
var CardLink = function (_a) {
|
|
1657
1657
|
var actionId = _a.actionId, isButton = _a.isButton, children = _a.children, fill = _a.fill, href = _a.href, _b = _a.linkData, linkData = _b === void 0 ? {} : _b, onClick = _a.onClick, stretch = _a.stretch, target = _a.target;
|
|
1658
|
-
var surface = React.useContext(Context$
|
|
1658
|
+
var surface = React.useContext(Context$5).surface;
|
|
1659
1659
|
return (React__default["default"].createElement("a", __assign({ onClick: handleLinkClick({ handler: onClick }), "aria-describedby": actionId, className: classNames({
|
|
1660
1660
|
"arc-Card-link": true,
|
|
1661
1661
|
"arc-Card-link--button": isButton,
|
|
@@ -1707,7 +1707,7 @@ const BtIconChevronDown2Px = (props) =>
|
|
|
1707
1707
|
*/
|
|
1708
1708
|
var DisclosureMini = function (_a) {
|
|
1709
1709
|
var children = _a.children, summary = _a.summary, onClick = _a.onClick, id = _a.id, _b = _a.isOpen, isOpen = _b === void 0 ? false : _b, _c = _a.iconPosition, iconPosition = _c === void 0 ? "left" : _c, _d = _a.size, size = _d === void 0 ? "l" : _d, props = __rest(_a, ["children", "summary", "onClick", "id", "isOpen", "iconPosition", "size"]);
|
|
1710
|
-
var surface = React.useContext(Context$
|
|
1710
|
+
var surface = React.useContext(Context$5).surface;
|
|
1711
1711
|
var _e = React.useState(false), disclousreState = _e[0], setDisclosureState = _e[1];
|
|
1712
1712
|
var handleOnClick = function () {
|
|
1713
1713
|
onClick && onClick();
|
|
@@ -1731,23 +1731,31 @@ var DisclosureMini = function (_a) {
|
|
|
1731
1731
|
React__default["default"].createElement("span", { id: id }, children)))));
|
|
1732
1732
|
};
|
|
1733
1733
|
|
|
1734
|
-
|
|
1734
|
+
/**
|
|
1735
|
+
* Provides text for screen readers that is visually hidden.
|
|
1736
|
+
*/
|
|
1737
|
+
var VisuallyHidden = function (_a) {
|
|
1738
|
+
var children = _a.children;
|
|
1739
|
+
return (React__default["default"].createElement("span", { "data-testid": "visually-hidden", className: "arc-VisuallyHidden" }, children));
|
|
1740
|
+
};
|
|
1741
|
+
|
|
1742
|
+
var defaultContext$4 = {
|
|
1735
1743
|
requirementStatus: null
|
|
1736
1744
|
};
|
|
1737
|
-
var Context$
|
|
1738
|
-
var Provider$
|
|
1745
|
+
var Context$4 = React.createContext(defaultContext$4);
|
|
1746
|
+
var Provider$5 = Context$4.Provider;
|
|
1739
1747
|
/**
|
|
1740
1748
|
* Use `FormControl` to provide inputs with labels, helper text and error messages
|
|
1741
1749
|
*/
|
|
1742
1750
|
var FormControl = function (_a) {
|
|
1743
|
-
var children = _a.children, _b = _a.elementType, ElementType = _b === void 0 ? "div" : _b, errorMessage = _a.errorMessage, helper = _a.helper, htmlFor = _a.htmlFor, supplementaryInfo = _a.supplementaryInfo, id = _a.id, label = _a.label, _c = _a.labelSize, labelSize = _c === void 0 ? "l" : _c, _d = _a.requirementStatus, requirementStatus = _d === void 0 ? "optional" : _d, _e = _a.helperUnderLabel, helperUnderLabel = _e === void 0 ? false : _e, isDisabled = _a.isDisabled, disclosureTitle = _a.disclosureTitle, disclosureText = _a.disclosureText, onClickDisclosure = _a.onClickDisclosure, props = __rest(_a, ["children", "elementType", "errorMessage", "helper", "htmlFor", "supplementaryInfo", "id", "label", "labelSize", "requirementStatus", "helperUnderLabel", "isDisabled", "disclosureTitle", "disclosureText", "onClickDisclosure"]);
|
|
1744
|
-
var surface = React.useContext(Context$
|
|
1745
|
-
var
|
|
1751
|
+
var children = _a.children, _b = _a.elementType, ElementType = _b === void 0 ? "div" : _b, errorMessage = _a.errorMessage, helper = _a.helper, htmlFor = _a.htmlFor, supplementaryInfo = _a.supplementaryInfo, id = _a.id, label = _a.label, _c = _a.labelSize, labelSize = _c === void 0 ? "l" : _c, _d = _a.requirementStatus, requirementStatus = _d === void 0 ? "optional" : _d, _e = _a.helperUnderLabel, helperUnderLabel = _e === void 0 ? false : _e, isDisabled = _a.isDisabled, _f = _a.hideLabel, hideLabel = _f === void 0 ? false : _f, disclosureTitle = _a.disclosureTitle, disclosureText = _a.disclosureText, onClickDisclosure = _a.onClickDisclosure, props = __rest(_a, ["children", "elementType", "errorMessage", "helper", "htmlFor", "supplementaryInfo", "id", "label", "labelSize", "requirementStatus", "helperUnderLabel", "isDisabled", "hideLabel", "disclosureTitle", "disclosureText", "onClickDisclosure"]);
|
|
1752
|
+
var surface = React.useContext(Context$5).surface;
|
|
1753
|
+
var _g = useAriaDescribedby({
|
|
1746
1754
|
disclosureText: disclosureText,
|
|
1747
1755
|
errorMessage: errorMessage,
|
|
1748
1756
|
helper: helper,
|
|
1749
1757
|
id: htmlFor || id
|
|
1750
|
-
}), ariaDescribedby =
|
|
1758
|
+
}), ariaDescribedby = _g.ariaDescribedby, idError = _g.idError, idHelper = _g.idHelper, idDisclosure = _g.idDisclosure;
|
|
1751
1759
|
var LabelType = ElementType === "div" ? "label" : "legend";
|
|
1752
1760
|
var elementProps = {};
|
|
1753
1761
|
var labelProps = {};
|
|
@@ -1765,16 +1773,18 @@ var FormControl = function (_a) {
|
|
|
1765
1773
|
}
|
|
1766
1774
|
var hasInfo = !helperUnderLabel &&
|
|
1767
1775
|
Boolean(errorMessage || disclosureTitle || helper || supplementaryInfo);
|
|
1768
|
-
return (React__default["default"].createElement(Provider$
|
|
1776
|
+
return (React__default["default"].createElement(Provider$5, { value: { requirementStatus: requirementStatus } },
|
|
1769
1777
|
React__default["default"].createElement(ElementType, __assign({ className: classNames({
|
|
1770
1778
|
"arc-FormControl": true,
|
|
1771
1779
|
"arc-FormControl--isDisabled": isDisabled,
|
|
1772
1780
|
"arc-FormControl--smallLabel": labelSize === "s",
|
|
1773
1781
|
"arc-FormControl--onDarkSurface": surface === "dark"
|
|
1774
1782
|
}), id: id }, elementProps, filterDataAttrs(props)),
|
|
1775
|
-
React__default["default"].createElement(LabelType, __assign({ className: "arc-FormControl-label" }, labelProps),
|
|
1783
|
+
React__default["default"].createElement(LabelType, __assign({ className: "arc-FormControl-label" }, labelProps), hideLabel === true ? (React__default["default"].createElement(VisuallyHidden, null,
|
|
1784
|
+
label,
|
|
1785
|
+
requirementStatus === "optional" && (React__default["default"].createElement("span", { className: "arc-FormControl-labelOptional" }, "(optional)")))) : (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
1776
1786
|
label,
|
|
1777
|
-
requirementStatus === "optional" && (React__default["default"].createElement("span", { className: "arc-FormControl-labelOptional" }, "(optional)"))),
|
|
1787
|
+
requirementStatus === "optional" && (React__default["default"].createElement("span", { className: "arc-FormControl-labelOptional" }, "(optional)"))))),
|
|
1778
1788
|
helperUnderLabel && (React__default["default"].createElement(React__default["default"].Fragment, null, helper && (React__default["default"].createElement("div", { className: "arc-FormControl-helper arc-FormControl-helper--underLabel", id: idHelper }, helper)))),
|
|
1779
1789
|
children,
|
|
1780
1790
|
React__default["default"].createElement("div", { className: classNames("arc-FormControl-info", {
|
|
@@ -1793,8 +1803,8 @@ var FormControl = function (_a) {
|
|
|
1793
1803
|
*/
|
|
1794
1804
|
var Checkbox = React.forwardRef(function (_a, ref) {
|
|
1795
1805
|
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, _f = _a.checkboxAlignment, checkboxAlignment = _f === void 0 ? "center" : _f, props = __rest(_a, ["checked", "errorMessage", "helper", "id", "isDisabled", "isRequired", "label", "name", "onBlur", "onChange", "size", "value", "checkboxAlignment"]);
|
|
1796
|
-
var requirementStatus = React.useContext(Context$
|
|
1797
|
-
var surface = React.useContext(Context$
|
|
1806
|
+
var requirementStatus = React.useContext(Context$4).requirementStatus;
|
|
1807
|
+
var surface = React.useContext(Context$5).surface;
|
|
1798
1808
|
var _g = useAriaDescribedby({
|
|
1799
1809
|
id: id,
|
|
1800
1810
|
errorMessage: errorMessage
|
|
@@ -1936,7 +1946,7 @@ var Curve = function (_a) {
|
|
|
1936
1946
|
*/
|
|
1937
1947
|
var Disclosure = function (_a) {
|
|
1938
1948
|
var children = _a.children, headingLevel = _a.headingLevel, _b = _a.indentDetails, indentDetails = _b === void 0 ? false : _b, _c = _a.isOpen, isOpen = _c === void 0 ? false : _c, summary = _a.summary, props = __rest(_a, ["children", "headingLevel", "indentDetails", "isOpen", "summary"]);
|
|
1939
|
-
var surface = React.useContext(Context$
|
|
1949
|
+
var surface = React.useContext(Context$5).surface;
|
|
1940
1950
|
return (React__default["default"].createElement("details", __assign({ className: classNames({
|
|
1941
1951
|
"arc-Disclosure": true,
|
|
1942
1952
|
"arc-Disclosure--indentDetails": indentDetails,
|
|
@@ -1965,7 +1975,7 @@ var Elevation = function (_a) {
|
|
|
1965
1975
|
|
|
1966
1976
|
var FilterControl = function (_a) {
|
|
1967
1977
|
var children = _a.children, onClick = _a.onClick, _b = _a.isSelected, isSelected = _b === void 0 ? false : _b;
|
|
1968
|
-
var surface = React.useContext(Context$
|
|
1978
|
+
var surface = React.useContext(Context$5).surface;
|
|
1969
1979
|
var _c = React.useState(isSelected), selected = _c[0], setSelected = _c[1];
|
|
1970
1980
|
var onClickHandler = function () {
|
|
1971
1981
|
onClick && onClick();
|
|
@@ -2074,7 +2084,7 @@ Filter.Item = FilterItem;
|
|
|
2074
2084
|
var Group = function (_a) {
|
|
2075
2085
|
var _b;
|
|
2076
2086
|
var children = _a.children, _c = _a.grow, grow = _c === void 0 ? false : _c, _d = _a.growEqual, growEqual = _d === void 0 ? false : _d, _e = _a.gutterBorder, gutterBorder = _e === void 0 ? false : _e, _f = _a.noWrap, noWrap = _f === void 0 ? false : _f, props = __rest(_a, ["children", "grow", "growEqual", "gutterBorder", "noWrap"]);
|
|
2077
|
-
var surface = React.useContext(Context$
|
|
2087
|
+
var surface = React.useContext(Context$5).surface;
|
|
2078
2088
|
React.useEffect(function () {
|
|
2079
2089
|
React__default["default"].Children.map(children, function (item) {
|
|
2080
2090
|
if (item && item.type !== Group.Item) {
|
|
@@ -2175,7 +2185,7 @@ const BtIconCrossFill = (props) =>
|
|
|
2175
2185
|
*/
|
|
2176
2186
|
var Tag = function (_a) {
|
|
2177
2187
|
var children = _a.children, isRemovable = _a.isRemovable, link = _a.link, icon = _a.icon, onClick = _a.onClick, onRemove = _a.onRemove, props = __rest(_a, ["children", "isRemovable", "link", "icon", "onClick", "onRemove"]);
|
|
2178
|
-
var surface = React.useContext(Context$
|
|
2188
|
+
var surface = React.useContext(Context$5).surface;
|
|
2179
2189
|
var _b = React.useState(false), isRemoved = _b[0], setIsRemoved = _b[1];
|
|
2180
2190
|
var onRemoveHandler = function () {
|
|
2181
2191
|
setIsRemoved(function (p) { return !p; });
|
|
@@ -2221,59 +2231,23 @@ var VerticalSpace = function (_a) {
|
|
|
2221
2231
|
_b)) }, filterDataAttrs(props))));
|
|
2222
2232
|
};
|
|
2223
2233
|
|
|
2224
|
-
var
|
|
2225
|
-
var
|
|
2226
|
-
var isMinWidthArcBreakpointS = useMediaQuery("(min-width: ".concat(ArcBreakpointS, "px)"));
|
|
2227
|
-
var isMinWidthArcBreakpointM = useMediaQuery("(min-width: ".concat(ArcBreakpointM, "px)"));
|
|
2228
|
-
var headingSpacing = isMinWidthArcBreakpointS ? "16" : "8";
|
|
2229
|
-
var assetSpacing = isMinWidthArcBreakpointM ? "24" : "20";
|
|
2230
|
-
var containerSpacing = isMinWidthArcBreakpointS ? "32" : "24";
|
|
2234
|
+
var CardHeading = function (_a) {
|
|
2235
|
+
var onClick = _a.onClick, onMouseEnter = _a.onMouseEnter, onMouseLeave = _a.onMouseLeave, onBlur = _a.onBlur, onFocus = _a.onFocus, href = _a.href, heading = _a.heading, _b = _a.size, size = _b === void 0 ? "s" : _b, _c = _a.isDarkPathway, isDarkPathway = _c === void 0 ? false : _c, _d = _a.linkData, linkData = _d === void 0 ? {} : _d, _e = _a.headingLevel, headingLevel = _e === void 0 ? "2" : _e;
|
|
2231
2236
|
var HeadingElement = "h".concat(headingLevel);
|
|
2232
|
-
return (React__default["default"].createElement(
|
|
2233
|
-
"arc-
|
|
2234
|
-
}) }, filterDataAttrs(
|
|
2235
|
-
React__default["default"].createElement(Surface, { growVertically: true, padding: containerSpacing, background: "white" },
|
|
2236
|
-
React__default["default"].createElement("div", null,
|
|
2237
|
-
image && (React__default["default"].createElement("div", { className: "arc-InformationCard-img" },
|
|
2238
|
-
React__default["default"].createElement(Image, __assign({}, image)),
|
|
2239
|
-
React__default["default"].createElement(VerticalSpace, { size: assetSpacing }))),
|
|
2240
|
-
icon && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2241
|
-
React__default["default"].createElement(Icon, { testId: "information-card-icon", icon: icon, size: 96 }),
|
|
2242
|
-
React__default["default"].createElement(VerticalSpace, { size: assetSpacing }))),
|
|
2243
|
-
label && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2244
|
-
React__default["default"].createElement("span", { className: "arc-InformationCard-label" }, label),
|
|
2245
|
-
React__default["default"].createElement(VerticalSpace, { size: headingSpacing }))),
|
|
2246
|
-
React__default["default"].createElement(HeadingElement, { className: "arc-InformationCard-heading" }, cardUrl ? (React__default["default"].createElement("a", { className: "arc-InformationCard-headingLink", href: cardUrl, onClick: onClick }, heading)) : (heading))),
|
|
2247
|
-
React__default["default"].createElement("div", { className: "arc-InformationCard-contentContainer" },
|
|
2248
|
-
text && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2249
|
-
React__default["default"].createElement(VerticalSpace, { size: headingSpacing }),
|
|
2250
|
-
React__default["default"].createElement(Text, null, text),
|
|
2251
|
-
(button || tags || footerLogo) && React__default["default"].createElement(VerticalSpace, { size: "24" }))),
|
|
2252
|
-
tags && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2253
|
-
React__default["default"].createElement("div", { className: "arc-InformationCard-tagContainer" }, tags.map(function (_a, i) {
|
|
2254
|
-
var text = _a.text, tagProps = __rest(_a, ["text"]);
|
|
2255
|
-
return (React__default["default"].createElement("div", { className: "arc-InformationCard-tag", key: "information-card-tag-".concat(i) },
|
|
2256
|
-
React__default["default"].createElement(Tag, __assign({}, tagProps), text)));
|
|
2257
|
-
})),
|
|
2258
|
-
(button || footerLogo) && React__default["default"].createElement(VerticalSpace, { size: "24" })))),
|
|
2259
|
-
React__default["default"].createElement("div", { className: "arc-InformationCard-footer" },
|
|
2260
|
-
button && !cardUrl && (React__default["default"].createElement("div", { className: "arc-InformationCard-footerButtonContainer" },
|
|
2261
|
-
React__default["default"].createElement(Button, __assign({}, button, { iconPosition: "beforeText", fill: "flat", icon: BtIconArrowRight })))),
|
|
2262
|
-
footerLogo && (React__default["default"].createElement("div", { className: "arc-InformationCard-footerLogoContainer" },
|
|
2263
|
-
React__default["default"].createElement(Image, __assign({}, footerLogo))))))));
|
|
2237
|
+
return (React__default["default"].createElement(HeadingElement, { className: classNames("arc-CardHeading", "arc-CardHeading--".concat(size), {
|
|
2238
|
+
"arc-CardHeading--darkPathway": isDarkPathway
|
|
2239
|
+
}) }, href ? (React__default["default"].createElement("a", __assign({ className: "arc-CardHeading-link", href: href, onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, onFocus: onFocus, onBlur: onBlur }, filterDataAttrs(linkData)), heading)) : (heading)));
|
|
2264
2240
|
};
|
|
2265
2241
|
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
|
|
2271
|
-
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
"arc-Markup--onDarkSurface": surface === "dark"
|
|
2276
|
-
}) }, filterDataAttrs(props)), children));
|
|
2242
|
+
var CardLabel = function (_a) {
|
|
2243
|
+
var _b;
|
|
2244
|
+
var text = _a.text, _c = _a.color, color = _c === void 0 ? "muted" : _c, _d = _a.isBold, isBold = _d === void 0 ? true : _d, _e = _a.isDarkPathway, isDarkPathway = _e === void 0 ? false : _e;
|
|
2245
|
+
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2246
|
+
React__default["default"].createElement("span", { className: classNames("arc-CardLabel", (_b = {},
|
|
2247
|
+
_b[suffixModifier("arc-CardLabel--color", color)] = !isDarkPathway,
|
|
2248
|
+
_b["arc-CardLabel--bold"] = isBold,
|
|
2249
|
+
_b["arc-CardLabel--darkPathway"] = isDarkPathway,
|
|
2250
|
+
_b)) }, text)));
|
|
2277
2251
|
};
|
|
2278
2252
|
|
|
2279
2253
|
const BtIconPlay = (props) =>
|
|
@@ -2335,31 +2309,103 @@ const BtIconPlayFill = (props) =>
|
|
|
2335
2309
|
}),
|
|
2336
2310
|
);
|
|
2337
2311
|
|
|
2312
|
+
var CardFooter = function (_a) {
|
|
2313
|
+
var metaText = _a.metaText, _b = _a.buttonIcon, buttonIcon = _b === void 0 ? "arrow" : _b, _c = _a.isDarkPathway, isDarkPathway = _c === void 0 ? false : _c, _d = _a.showButton, showButton = _d === void 0 ? true : _d, _e = _a.showFilledIcon, showFilledIcon = _e === void 0 ? false : _e;
|
|
2314
|
+
var icons = {
|
|
2315
|
+
arrow: {
|
|
2316
|
+
regular: BtIconArrowRight,
|
|
2317
|
+
filled: BtIconArrowRightFill
|
|
2318
|
+
},
|
|
2319
|
+
play: {
|
|
2320
|
+
regular: BtIconPlay,
|
|
2321
|
+
filled: BtIconPlayFill
|
|
2322
|
+
}
|
|
2323
|
+
};
|
|
2324
|
+
return (React__default["default"].createElement("div", { className: classNames("arc-CardFooter", {
|
|
2325
|
+
"arc-CardFooter--darkPathway": isDarkPathway,
|
|
2326
|
+
"arc-CardFooter--showFilledIcon": showFilledIcon
|
|
2327
|
+
}) },
|
|
2328
|
+
React__default["default"].createElement("div", { className: "arc-CardFooter-metaTextContainer" }, metaText && (React__default["default"].createElement("span", { className: "arc-CardFooter-metaText" }, metaText))),
|
|
2329
|
+
showButton && (React__default["default"].createElement("div", null,
|
|
2330
|
+
React__default["default"].createElement("div", { className: "arc-CardFooter-button" },
|
|
2331
|
+
React__default["default"].createElement("div", { className: classNames("arc-CardFooter-buttonIcon", "arc-CardFooter-buttonIcon--regular") },
|
|
2332
|
+
React__default["default"].createElement(Icon, { icon: icons[buttonIcon].regular, size: 40 })),
|
|
2333
|
+
React__default["default"].createElement("div", { className: "arc-CardFooter-buttonIcon arc-CardFooter-buttonIcon--filled" },
|
|
2334
|
+
React__default["default"].createElement(Icon, { icon: icons[buttonIcon].filled, size: 40 })))))));
|
|
2335
|
+
};
|
|
2336
|
+
|
|
2338
2337
|
var ConditionalWrapper = function (_a) {
|
|
2339
2338
|
var condition = _a.condition, wrapper = _a.wrapper, children = _a.children;
|
|
2340
2339
|
return (React__default["default"].createElement(React__default["default"].Fragment, null, condition ? wrapper(children) : children));
|
|
2341
2340
|
};
|
|
2342
2341
|
|
|
2342
|
+
var InformationCard = function (_a) {
|
|
2343
|
+
var cardUrl = _a.cardUrl, onClick = _a.onClick, heading = _a.heading, text = _a.text, label = _a.label, footerLogo = _a.footerLogo, button = _a.button, image = _a.image, tags = _a.tags, icon = _a.icon, _b = _a.headingLevel, headingLevel = _b === void 0 ? "2" : _b, props = __rest(_a, ["cardUrl", "onClick", "heading", "text", "label", "footerLogo", "button", "image", "tags", "icon", "headingLevel"]);
|
|
2344
|
+
var isMinWidthArcBreakpointS = useMediaQuery("(min-width: ".concat(ArcBreakpointS, "px)"));
|
|
2345
|
+
var isMinWidthArcBreakpointM = useMediaQuery("(min-width: ".concat(ArcBreakpointM, "px)"));
|
|
2346
|
+
var _c = React.useState(false), showHoverState = _c[0], setShowHoverState = _c[1];
|
|
2347
|
+
var headingSpacing = isMinWidthArcBreakpointS ? "16" : "8";
|
|
2348
|
+
var assetSpacing = isMinWidthArcBreakpointM ? "24" : "20";
|
|
2349
|
+
var containerSpacing = isMinWidthArcBreakpointS ? "32" : "24";
|
|
2350
|
+
var handleShowHoverState = function (show) { return function () { return setShowHoverState(show); }; };
|
|
2351
|
+
return (React__default["default"].createElement("div", __assign({ className: classNames("arc-InformationCard", {
|
|
2352
|
+
"arc-InformationCard--outlined": cardUrl && showHoverState
|
|
2353
|
+
}) }, filterDataAttrs(props)),
|
|
2354
|
+
React__default["default"].createElement(Surface, { growVertically: true, padding: containerSpacing, background: "white" },
|
|
2355
|
+
React__default["default"].createElement("div", null,
|
|
2356
|
+
image && (React__default["default"].createElement("div", { className: "arc-InformationCard-img" },
|
|
2357
|
+
React__default["default"].createElement(Image, __assign({}, image)),
|
|
2358
|
+
React__default["default"].createElement(VerticalSpace, { size: assetSpacing }))),
|
|
2359
|
+
icon && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2360
|
+
React__default["default"].createElement(Icon, { testId: "information-card-icon", icon: icon, size: 96 }),
|
|
2361
|
+
React__default["default"].createElement(VerticalSpace, { size: assetSpacing }))),
|
|
2362
|
+
label && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2363
|
+
React__default["default"].createElement(CardLabel, { color: "supporting", text: label }),
|
|
2364
|
+
React__default["default"].createElement(VerticalSpace, { size: headingSpacing }))),
|
|
2365
|
+
React__default["default"].createElement(CardHeading, { heading: heading, headingLevel: headingLevel, href: cardUrl, onClick: onClick, onMouseEnter: handleShowHoverState(true), onMouseLeave: handleShowHoverState(false), onFocus: handleShowHoverState(true), onBlur: handleShowHoverState(false) })),
|
|
2366
|
+
React__default["default"].createElement("div", { className: "arc-InformationCard-contentContainer" },
|
|
2367
|
+
text && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2368
|
+
React__default["default"].createElement(VerticalSpace, { size: headingSpacing }),
|
|
2369
|
+
React__default["default"].createElement(Text, null, text),
|
|
2370
|
+
(button || tags || footerLogo) && React__default["default"].createElement(VerticalSpace, { size: "24" }))),
|
|
2371
|
+
tags && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2372
|
+
React__default["default"].createElement("div", { className: "arc-InformationCard-tagContainer" }, tags.map(function (_a, i) {
|
|
2373
|
+
var text = _a.text, tagProps = __rest(_a, ["text"]);
|
|
2374
|
+
return (React__default["default"].createElement("div", { className: "arc-InformationCard-tag", key: "information-card-tag-".concat(i) },
|
|
2375
|
+
React__default["default"].createElement(Tag, __assign({}, tagProps), text)));
|
|
2376
|
+
})),
|
|
2377
|
+
(button || footerLogo) && React__default["default"].createElement(VerticalSpace, { size: "24" })))),
|
|
2378
|
+
React__default["default"].createElement("div", { className: "arc-InformationCard-footer" },
|
|
2379
|
+
button && !cardUrl && (React__default["default"].createElement("div", { className: "arc-InformationCard-footerButtonContainer" },
|
|
2380
|
+
React__default["default"].createElement(Button, __assign({}, button, { iconPosition: "beforeText", fill: "flat", icon: BtIconArrowRight })))),
|
|
2381
|
+
footerLogo && (React__default["default"].createElement("div", { className: "arc-InformationCard-footerLogoContainer" },
|
|
2382
|
+
React__default["default"].createElement(Image, __assign({}, footerLogo))))))));
|
|
2383
|
+
};
|
|
2384
|
+
|
|
2385
|
+
/**
|
|
2386
|
+
* Use `Markup` to display HTML-formatted text.
|
|
2387
|
+
*/
|
|
2388
|
+
var Markup = function (_a) {
|
|
2389
|
+
var children = _a.children, _b = _a.isMeasured, isMeasured = _b === void 0 ? false : _b, props = __rest(_a, ["children", "isMeasured"]);
|
|
2390
|
+
var surface = React.useContext(Context$5).surface;
|
|
2391
|
+
return (React__default["default"].createElement("div", __assign({ className: classNames({
|
|
2392
|
+
"arc-Markup": true,
|
|
2393
|
+
"arc-Markup--measured": isMeasured,
|
|
2394
|
+
"arc-Markup--onDarkSurface": surface === "dark"
|
|
2395
|
+
}) }, filterDataAttrs(props)), children));
|
|
2396
|
+
};
|
|
2397
|
+
|
|
2343
2398
|
/**
|
|
2344
2399
|
* Use `MediaCard` to contain content and an image about a single subject.
|
|
2345
2400
|
*/
|
|
2346
2401
|
var MediaCard = function (_a) {
|
|
2347
2402
|
var img = _a.img, url = _a.url, onClick = _a.onClick, heading = _a.heading, label = _a.label, text = _a.text, metaText = _a.metaText, _b = _a.buttonIcon, buttonIcon = _b === void 0 ? "arrow" : _b, _c = _a.isContained, isContained = _c === void 0 ? true : _c, _d = _a.headingLevel, headingLevel = _d === void 0 ? "2" : _d, props = __rest(_a, ["img", "url", "onClick", "heading", "label", "text", "metaText", "buttonIcon", "isContained", "headingLevel"]);
|
|
2403
|
+
var _e = React.useState(false), showHoverState = _e[0], setShowHoverState = _e[1];
|
|
2348
2404
|
var isMinWidthArcBreakpointS = useMediaQuery("(min-width: ".concat(ArcBreakpointS, "px)"));
|
|
2349
2405
|
var headingSpacing = isMinWidthArcBreakpointS ? "16" : "8";
|
|
2350
|
-
var
|
|
2351
|
-
var icons = {
|
|
2352
|
-
arrow: {
|
|
2353
|
-
regular: BtIconArrowRight,
|
|
2354
|
-
hover: BtIconArrowRightFill
|
|
2355
|
-
},
|
|
2356
|
-
play: {
|
|
2357
|
-
regular: BtIconPlay,
|
|
2358
|
-
hover: BtIconPlayFill
|
|
2359
|
-
}
|
|
2360
|
-
};
|
|
2406
|
+
var handleShowHoverState = function (show) { return function () { return setShowHoverState(show); }; };
|
|
2361
2407
|
return (React__default["default"].createElement("div", __assign({ className: classNames("arc-MediaCard", {
|
|
2362
|
-
"arc-MediaCard--
|
|
2408
|
+
"arc-MediaCard--outlined": url && isContained && showHoverState,
|
|
2363
2409
|
"arc-MediaCard--contained": isContained
|
|
2364
2410
|
}) }, filterDataAttrs(props)),
|
|
2365
2411
|
React__default["default"].createElement(ConditionalWrapper, { condition: isContained, wrapper: function (children) { return (React__default["default"].createElement(Surface, { growVertically: true, background: "white" }, children)); } },
|
|
@@ -2367,21 +2413,14 @@ var MediaCard = function (_a) {
|
|
|
2367
2413
|
React__default["default"].createElement(Image, __assign({}, img))),
|
|
2368
2414
|
React__default["default"].createElement("div", { className: "arc-MediaCard-content" },
|
|
2369
2415
|
label && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2370
|
-
React__default["default"].createElement(
|
|
2416
|
+
React__default["default"].createElement(CardLabel, { text: label }),
|
|
2371
2417
|
React__default["default"].createElement(VerticalSpace, { size: headingSpacing }))),
|
|
2372
|
-
React__default["default"].createElement(
|
|
2418
|
+
React__default["default"].createElement(CardHeading, { heading: heading, headingLevel: headingLevel, href: url, onClick: onClick, onMouseEnter: handleShowHoverState(true), onMouseLeave: handleShowHoverState(false), onFocus: handleShowHoverState(true), onBlur: handleShowHoverState(false) }),
|
|
2373
2419
|
React__default["default"].createElement("div", { className: "arc-MediaCard-textContainer" }, text && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2374
2420
|
React__default["default"].createElement(VerticalSpace, { size: headingSpacing }),
|
|
2375
2421
|
React__default["default"].createElement(Text, null, text),
|
|
2376
2422
|
(url || metaText) && React__default["default"].createElement(VerticalSpace, { size: "24" })))),
|
|
2377
|
-
React__default["default"].createElement(
|
|
2378
|
-
React__default["default"].createElement("div", { className: "arc-MediaCard-metaTextContainer" }, metaText && (React__default["default"].createElement("span", { className: "arc-MediaCard-metaText" }, metaText))),
|
|
2379
|
-
url && (React__default["default"].createElement("div", null,
|
|
2380
|
-
React__default["default"].createElement("div", { className: "arc-MediaCard-footerButton" },
|
|
2381
|
-
React__default["default"].createElement("div", { className: classNames("arc-MediaCard-footerButtonIcon", "arc-MediaCard-footerButtonIcon--regular") },
|
|
2382
|
-
React__default["default"].createElement(Icon, { icon: icons[buttonIcon].regular, size: 40 })),
|
|
2383
|
-
React__default["default"].createElement("div", { className: "arc-MediaCard-footerButtonIcon arc-MediaCard-footerButtonIcon--hover" },
|
|
2384
|
-
React__default["default"].createElement(Icon, { icon: icons[buttonIcon].hover, size: 40 }))))))))));
|
|
2423
|
+
React__default["default"].createElement(CardFooter, { showFilledIcon: showHoverState, buttonIcon: buttonIcon, metaText: metaText, showButton: Boolean(url) })))));
|
|
2385
2424
|
};
|
|
2386
2425
|
|
|
2387
2426
|
function _extends() {
|
|
@@ -33754,25 +33793,6 @@ const $5cb92bef7577960e$export$177fb62ff3ec1f22$1 = /*#__PURE__*/ React.forwardR
|
|
|
33754
33793
|
onPointerDownCapture: $e42e1063c40fb3ef$export$b9ecd428b558ff10$1(props.onPointerDownCapture, pointerDownOutside.onPointerDownCapture)
|
|
33755
33794
|
}));
|
|
33756
33795
|
});
|
|
33757
|
-
const $5cb92bef7577960e$export$4d5eb2109db14228 = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
|
|
33758
|
-
const context = React.useContext($5cb92bef7577960e$var$DismissableLayerContext$1);
|
|
33759
|
-
const ref = React.useRef(null);
|
|
33760
|
-
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05$1(forwardedRef, ref);
|
|
33761
|
-
React.useEffect(()=>{
|
|
33762
|
-
const node = ref.current;
|
|
33763
|
-
if (node) {
|
|
33764
|
-
context.branches.add(node);
|
|
33765
|
-
return ()=>{
|
|
33766
|
-
context.branches.delete(node);
|
|
33767
|
-
};
|
|
33768
|
-
}
|
|
33769
|
-
}, [
|
|
33770
|
-
context.branches
|
|
33771
|
-
]);
|
|
33772
|
-
return /*#__PURE__*/ React.createElement($8927f6f2acc4f386$export$250ffa63cdc0d034$1.div, _extends({}, props, {
|
|
33773
|
-
ref: composedRefs
|
|
33774
|
-
}));
|
|
33775
|
-
});
|
|
33776
33796
|
/* -----------------------------------------------------------------------------------------------*/ /**
|
|
33777
33797
|
* Listens for `pointerdown` outside a react subtree. We use `pointerdown` rather than `pointerup`
|
|
33778
33798
|
* to mimic layer dismissing behaviour present in OS.
|
|
@@ -33810,7 +33830,9 @@ const $5cb92bef7577960e$export$4d5eb2109db14228 = /*#__PURE__*/ React.forwardRef
|
|
|
33810
33830
|
once: true
|
|
33811
33831
|
});
|
|
33812
33832
|
} else handleAndDispatchPointerDownOutsideEvent();
|
|
33813
|
-
}
|
|
33833
|
+
} else // We need to remove the event listener in case the outside click has been canceled.
|
|
33834
|
+
// See: https://github.com/radix-ui/primitives/issues/2171
|
|
33835
|
+
ownerDocument.removeEventListener('click', handleClickRef.current);
|
|
33814
33836
|
isPointerInsideReactTreeRef.current = false;
|
|
33815
33837
|
};
|
|
33816
33838
|
/**
|
|
@@ -33889,16 +33911,14 @@ function $5cb92bef7577960e$var$handleAndDispatchCustomEvent$1(name, handler, det
|
|
|
33889
33911
|
if (discrete) $8927f6f2acc4f386$export$6d1a0317bde7de7f(target, event);
|
|
33890
33912
|
else target.dispatchEvent(event);
|
|
33891
33913
|
}
|
|
33892
|
-
const $5cb92bef7577960e$export$be92b6f5f03c0fe9 = $5cb92bef7577960e$export$177fb62ff3ec1f22$1;
|
|
33893
|
-
const $5cb92bef7577960e$export$aecb2ddcb55c95be = $5cb92bef7577960e$export$4d5eb2109db14228;
|
|
33894
33914
|
|
|
33895
|
-
const $d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT
|
|
33896
|
-
const $d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT
|
|
33897
|
-
const $d3863c46a17e8a28$var$EVENT_OPTIONS
|
|
33915
|
+
const $d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT = 'focusScope.autoFocusOnMount';
|
|
33916
|
+
const $d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT = 'focusScope.autoFocusOnUnmount';
|
|
33917
|
+
const $d3863c46a17e8a28$var$EVENT_OPTIONS = {
|
|
33898
33918
|
bubbles: false,
|
|
33899
33919
|
cancelable: true
|
|
33900
33920
|
};
|
|
33901
|
-
const $d3863c46a17e8a28$export$20e40289641fbbb6
|
|
33921
|
+
const $d3863c46a17e8a28$export$20e40289641fbbb6 = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
|
|
33902
33922
|
const { loop: loop = false , trapped: trapped = false , onMountAutoFocus: onMountAutoFocusProp , onUnmountAutoFocus: onUnmountAutoFocusProp , ...scopeProps } = props;
|
|
33903
33923
|
const [container1, setContainer] = React.useState(null);
|
|
33904
33924
|
const onMountAutoFocus = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a$1(onMountAutoFocusProp);
|
|
@@ -33921,7 +33941,7 @@ const $d3863c46a17e8a28$export$20e40289641fbbb6$1 = /*#__PURE__*/ React.forwardR
|
|
|
33921
33941
|
if (focusScope.paused || !container1) return;
|
|
33922
33942
|
const target = event.target;
|
|
33923
33943
|
if (container1.contains(target)) lastFocusedElementRef.current = target;
|
|
33924
|
-
else $d3863c46a17e8a28$var$focus
|
|
33944
|
+
else $d3863c46a17e8a28$var$focus(lastFocusedElementRef.current, {
|
|
33925
33945
|
select: true
|
|
33926
33946
|
});
|
|
33927
33947
|
}
|
|
@@ -33939,7 +33959,7 @@ const $d3863c46a17e8a28$export$20e40289641fbbb6$1 = /*#__PURE__*/ React.forwardR
|
|
|
33939
33959
|
// throws the CPU to 100%, so we avoid doing anything for this reason here too.
|
|
33940
33960
|
if (relatedTarget === null) return; // If the focus has moved to an actual legitimate element (`relatedTarget !== null`)
|
|
33941
33961
|
// that is outside the container, we move focus to the last valid focused element inside.
|
|
33942
|
-
if (!container1.contains(relatedTarget)) $d3863c46a17e8a28$var$focus
|
|
33962
|
+
if (!container1.contains(relatedTarget)) $d3863c46a17e8a28$var$focus(lastFocusedElementRef.current, {
|
|
33943
33963
|
select: true
|
|
33944
33964
|
});
|
|
33945
33965
|
} // When the focused element gets removed from the DOM, browsers move focus
|
|
@@ -33947,11 +33967,8 @@ const $d3863c46a17e8a28$export$20e40289641fbbb6$1 = /*#__PURE__*/ React.forwardR
|
|
|
33947
33967
|
// to keep focus trapped correctly.
|
|
33948
33968
|
function handleMutations(mutations) {
|
|
33949
33969
|
const focusedElement = document.activeElement;
|
|
33950
|
-
|
|
33951
|
-
|
|
33952
|
-
if (!(container1 !== null && container1 !== void 0 && container1.contains(focusedElement))) $d3863c46a17e8a28$var$focus$1(container1);
|
|
33953
|
-
}
|
|
33954
|
-
}
|
|
33970
|
+
if (focusedElement !== document.body) return;
|
|
33971
|
+
for (const mutation of mutations)if (mutation.removedNodes.length > 0) $d3863c46a17e8a28$var$focus(container1);
|
|
33955
33972
|
}
|
|
33956
33973
|
document.addEventListener('focusin', handleFocusIn);
|
|
33957
33974
|
document.addEventListener('focusout', handleFocusOut);
|
|
@@ -33973,34 +33990,34 @@ const $d3863c46a17e8a28$export$20e40289641fbbb6$1 = /*#__PURE__*/ React.forwardR
|
|
|
33973
33990
|
]);
|
|
33974
33991
|
React.useEffect(()=>{
|
|
33975
33992
|
if (container1) {
|
|
33976
|
-
$d3863c46a17e8a28$var$focusScopesStack
|
|
33993
|
+
$d3863c46a17e8a28$var$focusScopesStack.add(focusScope);
|
|
33977
33994
|
const previouslyFocusedElement = document.activeElement;
|
|
33978
33995
|
const hasFocusedCandidate = container1.contains(previouslyFocusedElement);
|
|
33979
33996
|
if (!hasFocusedCandidate) {
|
|
33980
|
-
const mountEvent = new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT
|
|
33981
|
-
container1.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT
|
|
33997
|
+
const mountEvent = new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, $d3863c46a17e8a28$var$EVENT_OPTIONS);
|
|
33998
|
+
container1.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, onMountAutoFocus);
|
|
33982
33999
|
container1.dispatchEvent(mountEvent);
|
|
33983
34000
|
if (!mountEvent.defaultPrevented) {
|
|
33984
|
-
$d3863c46a17e8a28$var$focusFirst
|
|
34001
|
+
$d3863c46a17e8a28$var$focusFirst($d3863c46a17e8a28$var$removeLinks($d3863c46a17e8a28$var$getTabbableCandidates(container1)), {
|
|
33985
34002
|
select: true
|
|
33986
34003
|
});
|
|
33987
|
-
if (document.activeElement === previouslyFocusedElement) $d3863c46a17e8a28$var$focus
|
|
34004
|
+
if (document.activeElement === previouslyFocusedElement) $d3863c46a17e8a28$var$focus(container1);
|
|
33988
34005
|
}
|
|
33989
34006
|
}
|
|
33990
34007
|
return ()=>{
|
|
33991
|
-
container1.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT
|
|
34008
|
+
container1.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, onMountAutoFocus); // We hit a react bug (fixed in v17) with focusing in unmount.
|
|
33992
34009
|
// We need to delay the focus a little to get around it for now.
|
|
33993
34010
|
// See: https://github.com/facebook/react/issues/17894
|
|
33994
34011
|
setTimeout(()=>{
|
|
33995
|
-
const unmountEvent = new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT
|
|
33996
|
-
container1.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT
|
|
34012
|
+
const unmountEvent = new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, $d3863c46a17e8a28$var$EVENT_OPTIONS);
|
|
34013
|
+
container1.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);
|
|
33997
34014
|
container1.dispatchEvent(unmountEvent);
|
|
33998
|
-
if (!unmountEvent.defaultPrevented) $d3863c46a17e8a28$var$focus
|
|
34015
|
+
if (!unmountEvent.defaultPrevented) $d3863c46a17e8a28$var$focus(previouslyFocusedElement !== null && previouslyFocusedElement !== void 0 ? previouslyFocusedElement : document.body, {
|
|
33999
34016
|
select: true
|
|
34000
34017
|
});
|
|
34001
34018
|
// we need to remove the listener after we `dispatchEvent`
|
|
34002
|
-
container1.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT
|
|
34003
|
-
$d3863c46a17e8a28$var$focusScopesStack
|
|
34019
|
+
container1.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);
|
|
34020
|
+
$d3863c46a17e8a28$var$focusScopesStack.remove(focusScope);
|
|
34004
34021
|
}, 0);
|
|
34005
34022
|
};
|
|
34006
34023
|
}
|
|
@@ -34017,19 +34034,19 @@ const $d3863c46a17e8a28$export$20e40289641fbbb6$1 = /*#__PURE__*/ React.forwardR
|
|
|
34017
34034
|
const focusedElement = document.activeElement;
|
|
34018
34035
|
if (isTabKey && focusedElement) {
|
|
34019
34036
|
const container = event.currentTarget;
|
|
34020
|
-
const [first, last] = $d3863c46a17e8a28$var$getTabbableEdges
|
|
34037
|
+
const [first, last] = $d3863c46a17e8a28$var$getTabbableEdges(container);
|
|
34021
34038
|
const hasTabbableElementsInside = first && last; // we can only wrap focus if we have tabbable edges
|
|
34022
34039
|
if (!hasTabbableElementsInside) {
|
|
34023
34040
|
if (focusedElement === container) event.preventDefault();
|
|
34024
34041
|
} else {
|
|
34025
34042
|
if (!event.shiftKey && focusedElement === last) {
|
|
34026
34043
|
event.preventDefault();
|
|
34027
|
-
if (loop) $d3863c46a17e8a28$var$focus
|
|
34044
|
+
if (loop) $d3863c46a17e8a28$var$focus(first, {
|
|
34028
34045
|
select: true
|
|
34029
34046
|
});
|
|
34030
34047
|
} else if (event.shiftKey && focusedElement === first) {
|
|
34031
34048
|
event.preventDefault();
|
|
34032
|
-
if (loop) $d3863c46a17e8a28$var$focus
|
|
34049
|
+
if (loop) $d3863c46a17e8a28$var$focus(last, {
|
|
34033
34050
|
select: true
|
|
34034
34051
|
});
|
|
34035
34052
|
}
|
|
@@ -34052,10 +34069,10 @@ const $d3863c46a17e8a28$export$20e40289641fbbb6$1 = /*#__PURE__*/ React.forwardR
|
|
|
34052
34069
|
* -----------------------------------------------------------------------------------------------*/ /**
|
|
34053
34070
|
* Attempts focusing the first element in a list of candidates.
|
|
34054
34071
|
* Stops when focus has actually moved.
|
|
34055
|
-
*/ function $d3863c46a17e8a28$var$focusFirst
|
|
34072
|
+
*/ function $d3863c46a17e8a28$var$focusFirst(candidates, { select: select = false } = {}) {
|
|
34056
34073
|
const previouslyFocusedElement = document.activeElement;
|
|
34057
34074
|
for (const candidate of candidates){
|
|
34058
|
-
$d3863c46a17e8a28$var$focus
|
|
34075
|
+
$d3863c46a17e8a28$var$focus(candidate, {
|
|
34059
34076
|
select: select
|
|
34060
34077
|
});
|
|
34061
34078
|
if (document.activeElement !== previouslyFocusedElement) return;
|
|
@@ -34063,10 +34080,10 @@ const $d3863c46a17e8a28$export$20e40289641fbbb6$1 = /*#__PURE__*/ React.forwardR
|
|
|
34063
34080
|
}
|
|
34064
34081
|
/**
|
|
34065
34082
|
* Returns the first and last tabbable elements inside a container.
|
|
34066
|
-
*/ function $d3863c46a17e8a28$var$getTabbableEdges
|
|
34067
|
-
const candidates = $d3863c46a17e8a28$var$getTabbableCandidates
|
|
34068
|
-
const first = $d3863c46a17e8a28$var$findVisible
|
|
34069
|
-
const last = $d3863c46a17e8a28$var$findVisible
|
|
34083
|
+
*/ function $d3863c46a17e8a28$var$getTabbableEdges(container) {
|
|
34084
|
+
const candidates = $d3863c46a17e8a28$var$getTabbableCandidates(container);
|
|
34085
|
+
const first = $d3863c46a17e8a28$var$findVisible(candidates, container);
|
|
34086
|
+
const last = $d3863c46a17e8a28$var$findVisible(candidates.reverse(), container);
|
|
34070
34087
|
return [
|
|
34071
34088
|
first,
|
|
34072
34089
|
last
|
|
@@ -34081,7 +34098,7 @@ const $d3863c46a17e8a28$export$20e40289641fbbb6$1 = /*#__PURE__*/ React.forwardR
|
|
|
34081
34098
|
*
|
|
34082
34099
|
* See: https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker
|
|
34083
34100
|
* Credit: https://github.com/discord/focus-layers/blob/master/src/util/wrapFocus.tsx#L1
|
|
34084
|
-
*/ function $d3863c46a17e8a28$var$getTabbableCandidates
|
|
34101
|
+
*/ function $d3863c46a17e8a28$var$getTabbableCandidates(container) {
|
|
34085
34102
|
const nodes = [];
|
|
34086
34103
|
const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {
|
|
34087
34104
|
acceptNode: (node)=>{
|
|
@@ -34099,15 +34116,15 @@ const $d3863c46a17e8a28$export$20e40289641fbbb6$1 = /*#__PURE__*/ React.forwardR
|
|
|
34099
34116
|
/**
|
|
34100
34117
|
* Returns the first visible element in a list.
|
|
34101
34118
|
* NOTE: Only checks visibility up to the `container`.
|
|
34102
|
-
*/ function $d3863c46a17e8a28$var$findVisible
|
|
34119
|
+
*/ function $d3863c46a17e8a28$var$findVisible(elements, container) {
|
|
34103
34120
|
for (const element of elements){
|
|
34104
34121
|
// we stop checking if it's hidden at the `container` level (excluding)
|
|
34105
|
-
if (!$d3863c46a17e8a28$var$isHidden
|
|
34122
|
+
if (!$d3863c46a17e8a28$var$isHidden(element, {
|
|
34106
34123
|
upTo: container
|
|
34107
34124
|
})) return element;
|
|
34108
34125
|
}
|
|
34109
34126
|
}
|
|
34110
|
-
function $d3863c46a17e8a28$var$isHidden
|
|
34127
|
+
function $d3863c46a17e8a28$var$isHidden(node, { upTo: upTo }) {
|
|
34111
34128
|
if (getComputedStyle(node).visibility === 'hidden') return true;
|
|
34112
34129
|
while(node){
|
|
34113
34130
|
// we stop at `upTo` (excluding it)
|
|
@@ -34117,23 +34134,23 @@ function $d3863c46a17e8a28$var$isHidden$1(node, { upTo: upTo }) {
|
|
|
34117
34134
|
}
|
|
34118
34135
|
return false;
|
|
34119
34136
|
}
|
|
34120
|
-
function $d3863c46a17e8a28$var$isSelectableInput
|
|
34137
|
+
function $d3863c46a17e8a28$var$isSelectableInput(element) {
|
|
34121
34138
|
return element instanceof HTMLInputElement && 'select' in element;
|
|
34122
34139
|
}
|
|
34123
|
-
function $d3863c46a17e8a28$var$focus
|
|
34140
|
+
function $d3863c46a17e8a28$var$focus(element, { select: select = false } = {}) {
|
|
34124
34141
|
// only focus if that element is focusable
|
|
34125
34142
|
if (element && element.focus) {
|
|
34126
34143
|
const previouslyFocusedElement = document.activeElement; // NOTE: we prevent scrolling on focus, to minimize jarring transitions for users
|
|
34127
34144
|
element.focus({
|
|
34128
34145
|
preventScroll: true
|
|
34129
34146
|
}); // only select if its not the same element, it supports selection and we need to select
|
|
34130
|
-
if (element !== previouslyFocusedElement && $d3863c46a17e8a28$var$isSelectableInput
|
|
34147
|
+
if (element !== previouslyFocusedElement && $d3863c46a17e8a28$var$isSelectableInput(element) && select) element.select();
|
|
34131
34148
|
}
|
|
34132
34149
|
}
|
|
34133
34150
|
/* -------------------------------------------------------------------------------------------------
|
|
34134
34151
|
* FocusScope stack
|
|
34135
|
-
* -----------------------------------------------------------------------------------------------*/ const $d3863c46a17e8a28$var$focusScopesStack
|
|
34136
|
-
function $d3863c46a17e8a28$var$createFocusScopesStack
|
|
34152
|
+
* -----------------------------------------------------------------------------------------------*/ const $d3863c46a17e8a28$var$focusScopesStack = $d3863c46a17e8a28$var$createFocusScopesStack();
|
|
34153
|
+
function $d3863c46a17e8a28$var$createFocusScopesStack() {
|
|
34137
34154
|
/** A stack of focus scopes, with the active one at the top */ let stack = [];
|
|
34138
34155
|
return {
|
|
34139
34156
|
add (focusScope) {
|
|
@@ -34141,17 +34158,17 @@ function $d3863c46a17e8a28$var$createFocusScopesStack$1() {
|
|
|
34141
34158
|
const activeFocusScope = stack[0];
|
|
34142
34159
|
if (focusScope !== activeFocusScope) activeFocusScope === null || activeFocusScope === void 0 || activeFocusScope.pause();
|
|
34143
34160
|
// remove in case it already exists (because we'll re-add it at the top of the stack)
|
|
34144
|
-
stack = $d3863c46a17e8a28$var$arrayRemove
|
|
34161
|
+
stack = $d3863c46a17e8a28$var$arrayRemove(stack, focusScope);
|
|
34145
34162
|
stack.unshift(focusScope);
|
|
34146
34163
|
},
|
|
34147
34164
|
remove (focusScope) {
|
|
34148
34165
|
var _stack$;
|
|
34149
|
-
stack = $d3863c46a17e8a28$var$arrayRemove
|
|
34166
|
+
stack = $d3863c46a17e8a28$var$arrayRemove(stack, focusScope);
|
|
34150
34167
|
(_stack$ = stack[0]) === null || _stack$ === void 0 || _stack$.resume();
|
|
34151
34168
|
}
|
|
34152
34169
|
};
|
|
34153
34170
|
}
|
|
34154
|
-
function $d3863c46a17e8a28$var$arrayRemove
|
|
34171
|
+
function $d3863c46a17e8a28$var$arrayRemove(array, item) {
|
|
34155
34172
|
const updatedArray = [
|
|
34156
34173
|
...array
|
|
34157
34174
|
];
|
|
@@ -34159,7 +34176,7 @@ function $d3863c46a17e8a28$var$arrayRemove$1(array, item) {
|
|
|
34159
34176
|
if (index !== -1) updatedArray.splice(index, 1);
|
|
34160
34177
|
return updatedArray;
|
|
34161
34178
|
}
|
|
34162
|
-
function $d3863c46a17e8a28$var$removeLinks
|
|
34179
|
+
function $d3863c46a17e8a28$var$removeLinks(items) {
|
|
34163
34180
|
return items.filter((item)=>item.tagName !== 'A'
|
|
34164
34181
|
);
|
|
34165
34182
|
}
|
|
@@ -35257,7 +35274,7 @@ const $5d3850c4d0b4e6c7$export$b6d9565de1e068cf = /*#__PURE__*/ React.forwardRef
|
|
|
35257
35274
|
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05$1(forwardedRef, contentRef); // Make sure the whole tree has focus guards as our `Dialog` will be
|
|
35258
35275
|
// the last element in the DOM (beacuse of the `Portal`)
|
|
35259
35276
|
$3db38b7d1fb3fe6a$export$b7ece24a22aeda8c();
|
|
35260
|
-
return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement($d3863c46a17e8a28$export$20e40289641fbbb6
|
|
35277
|
+
return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement($d3863c46a17e8a28$export$20e40289641fbbb6, {
|
|
35261
35278
|
asChild: true,
|
|
35262
35279
|
loop: true,
|
|
35263
35280
|
trapped: trapFocus,
|
|
@@ -35395,7 +35412,7 @@ var usePagination = function (pageCount, selectedPage) {
|
|
|
35395
35412
|
*/
|
|
35396
35413
|
var Pagination = function (_a) {
|
|
35397
35414
|
var pageCount = _a.pageCount, onPageChange = _a.onPageChange, _b = _a.defaultSelectedPage, defaultSelectedPage = _b === void 0 ? 1 : _b, props = __rest(_a, ["pageCount", "onPageChange", "defaultSelectedPage"]);
|
|
35398
|
-
var surface = React.useContext(Context$
|
|
35415
|
+
var surface = React.useContext(Context$5).surface;
|
|
35399
35416
|
var _c = React.useState(defaultSelectedPage), selectedPage = _c[0], setSelectedPage = _c[1];
|
|
35400
35417
|
var pageRange = usePagination(pageCount, selectedPage);
|
|
35401
35418
|
var handlePagechange = function (pageToSelect) { return function () {
|
|
@@ -35428,7 +35445,7 @@ var Pagination = function (_a) {
|
|
|
35428
35445
|
*/
|
|
35429
35446
|
var PaginationSimple = function (_a) {
|
|
35430
35447
|
var hidePrev = _a.hidePrev, hideNext = _a.hideNext, onPrevPage = _a.onPrevPage, onNextPage = _a.onNextPage, isFluid = _a.isFluid, props = __rest(_a, ["hidePrev", "hideNext", "onPrevPage", "onNextPage", "isFluid"]);
|
|
35431
|
-
var surface = React.useContext(Context$
|
|
35448
|
+
var surface = React.useContext(Context$5).surface;
|
|
35432
35449
|
return (React__default["default"].createElement("nav", __assign({ className: classNames("arc-PaginationSimple", {
|
|
35433
35450
|
"arc-PaginationSimple--onDarkSurface": surface === "dark",
|
|
35434
35451
|
"arc-PaginationSimple--fluid": isFluid,
|
|
@@ -35530,7 +35547,7 @@ var getProgressBarProps = function (isIndeterminate, progressValue, ariaLabel) {
|
|
|
35530
35547
|
|
|
35531
35548
|
var ProgressBar = function (_a) {
|
|
35532
35549
|
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, props = __rest(_a, ["state", "value", "isIndeterminate", "headline", "ariaLabel", "action", "title", "description", "displayValue"]);
|
|
35533
|
-
var surface = React.useContext(Context$
|
|
35550
|
+
var surface = React.useContext(Context$5).surface;
|
|
35534
35551
|
var progressValue = Math.min(100, Math.max(0, value));
|
|
35535
35552
|
return (React__default["default"].createElement("div", __assign({ "data-testid": "progress", className: classNames("arc-ProgressBar", "arc-ProgressBar--".concat(state), {
|
|
35536
35553
|
"arc-ProgressBar--onDarkSurface": surface === "dark"
|
|
@@ -35609,18 +35626,10 @@ const BtIconCircle = (props) =>
|
|
|
35609
35626
|
}),
|
|
35610
35627
|
);
|
|
35611
35628
|
|
|
35612
|
-
/**
|
|
35613
|
-
* Provides text for screen readers that is visually hidden.
|
|
35614
|
-
*/
|
|
35615
|
-
var VisuallyHidden = function (_a) {
|
|
35616
|
-
var children = _a.children;
|
|
35617
|
-
return (React__default["default"].createElement("span", { "data-testid": "visually-hidden", className: "arc-VisuallyHidden" }, children));
|
|
35618
|
-
};
|
|
35619
|
-
|
|
35620
35629
|
var ProgressStepperItem = function (_a) {
|
|
35621
35630
|
var _b, _c, _d;
|
|
35622
35631
|
var title = _a.title, titleHref = _a.titleHref, subTitle = _a.subTitle, _e = _a.direction, direction = _e === void 0 ? "horizontal" : _e, _f = _a.status, status = _f === void 0 ? "todo" : _f, _g = _a.size, size = _g === void 0 ? "large" : _g, _h = _a.position, position = _h === void 0 ? "middle" : _h, isFluid = _a.isFluid, ariaLabel = _a.ariaLabel, onClick = _a.onClick, previousStep = _a.previousStep, isExpandable = _a.isExpandable, stepContent = _a.stepContent, isStepContentHidden = _a.isStepContentHidden, props = __rest(_a, ["title", "titleHref", "subTitle", "direction", "status", "size", "position", "isFluid", "ariaLabel", "onClick", "previousStep", "isExpandable", "stepContent", "isStepContentHidden"]);
|
|
35623
|
-
var surface = React.useContext(Context$
|
|
35632
|
+
var surface = React.useContext(Context$5).surface;
|
|
35624
35633
|
var statusIcons = {
|
|
35625
35634
|
completed: BtIconTickVariant,
|
|
35626
35635
|
current: BtIconCircle,
|
|
@@ -35690,7 +35699,7 @@ var ProgressStepper = function (_a) {
|
|
|
35690
35699
|
ProgressStepper.Item = ProgressStepperItem;
|
|
35691
35700
|
|
|
35692
35701
|
var RadioContext = React.createContext({});
|
|
35693
|
-
var Provider$
|
|
35702
|
+
var Provider$4 = RadioContext.Provider;
|
|
35694
35703
|
var useRadioContext = function () {
|
|
35695
35704
|
var context = React.useContext(RadioContext);
|
|
35696
35705
|
return context;
|
|
@@ -35702,7 +35711,7 @@ var useRadioContext = function () {
|
|
|
35702
35711
|
var RadioButton = React.forwardRef(function (_a, ref) {
|
|
35703
35712
|
var helper = _a.helper, id = _a.id, isDisabled = _a.isDisabled, label = _a.label, value = _a.value, props = __rest(_a, ["helper", "id", "isDisabled", "label", "value"]);
|
|
35704
35713
|
var _b = useRadioContext(), blurEvent = _b.blurEvent, changeEvent = _b.changeEvent, groupDisabled = _b.groupDisabled, checkedValue = _b.checkedValue, labelSize = _b.labelSize, name = _b.name, size = _b.size;
|
|
35705
|
-
var surface = React.useContext(Context$
|
|
35714
|
+
var surface = React.useContext(Context$5).surface;
|
|
35706
35715
|
var idLabel = "".concat(id, "-label");
|
|
35707
35716
|
var checked = checkedValue === value ? true : false;
|
|
35708
35717
|
return (React__default["default"].createElement("div", __assign({ className: classNames({
|
|
@@ -35731,7 +35740,7 @@ var RadioGroup = function (_a) {
|
|
|
35731
35740
|
}
|
|
35732
35741
|
});
|
|
35733
35742
|
}, [children]);
|
|
35734
|
-
return (React__default["default"].createElement(Provider$
|
|
35743
|
+
return (React__default["default"].createElement(Provider$4, { value: {
|
|
35735
35744
|
blurEvent: onBlur,
|
|
35736
35745
|
changeEvent: onChange,
|
|
35737
35746
|
groupDisabled: isDisabled,
|
|
@@ -35749,7 +35758,7 @@ RadioGroup.RadioButton = RadioButton;
|
|
|
35749
35758
|
* Use `Rule` to display a horizontal rule.
|
|
35750
35759
|
*/
|
|
35751
35760
|
var Rule = function (props) {
|
|
35752
|
-
var surface = React.useContext(Context$
|
|
35761
|
+
var surface = React.useContext(Context$5).surface;
|
|
35753
35762
|
return (React__default["default"].createElement("hr", __assign({ className: classNames({
|
|
35754
35763
|
"arc-Rule": true,
|
|
35755
35764
|
"arc-Rule--onDarkSurface": surface === "dark"
|
|
@@ -35913,505 +35922,6 @@ const $f631663db3294ace$var$DirectionContext = /*#__PURE__*/ React.createContext
|
|
|
35913
35922
|
return localDir || globalDir || 'ltr';
|
|
35914
35923
|
}
|
|
35915
35924
|
|
|
35916
|
-
const $5cb92bef7577960e$var$CONTEXT_UPDATE = 'dismissableLayer.update';
|
|
35917
|
-
const $5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE = 'dismissableLayer.pointerDownOutside';
|
|
35918
|
-
const $5cb92bef7577960e$var$FOCUS_OUTSIDE = 'dismissableLayer.focusOutside';
|
|
35919
|
-
let $5cb92bef7577960e$var$originalBodyPointerEvents;
|
|
35920
|
-
const $5cb92bef7577960e$var$DismissableLayerContext = /*#__PURE__*/ React.createContext({
|
|
35921
|
-
layers: new Set(),
|
|
35922
|
-
layersWithOutsidePointerEventsDisabled: new Set(),
|
|
35923
|
-
branches: new Set()
|
|
35924
|
-
});
|
|
35925
|
-
const $5cb92bef7577960e$export$177fb62ff3ec1f22 = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
|
|
35926
|
-
var _node$ownerDocument;
|
|
35927
|
-
const { disableOutsidePointerEvents: disableOutsidePointerEvents = false , onEscapeKeyDown: onEscapeKeyDown , onPointerDownOutside: onPointerDownOutside , onFocusOutside: onFocusOutside , onInteractOutside: onInteractOutside , onDismiss: onDismiss , ...layerProps } = props;
|
|
35928
|
-
const context = React.useContext($5cb92bef7577960e$var$DismissableLayerContext);
|
|
35929
|
-
const [node1, setNode] = React.useState(null);
|
|
35930
|
-
const ownerDocument = (_node$ownerDocument = node1 === null || node1 === void 0 ? void 0 : node1.ownerDocument) !== null && _node$ownerDocument !== void 0 ? _node$ownerDocument : globalThis === null || globalThis === void 0 ? void 0 : globalThis.document;
|
|
35931
|
-
const [, force] = React.useState({});
|
|
35932
|
-
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05$1(forwardedRef, (node)=>setNode(node)
|
|
35933
|
-
);
|
|
35934
|
-
const layers = Array.from(context.layers);
|
|
35935
|
-
const [highestLayerWithOutsidePointerEventsDisabled] = [
|
|
35936
|
-
...context.layersWithOutsidePointerEventsDisabled
|
|
35937
|
-
].slice(-1); // prettier-ignore
|
|
35938
|
-
const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled); // prettier-ignore
|
|
35939
|
-
const index = node1 ? layers.indexOf(node1) : -1;
|
|
35940
|
-
const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;
|
|
35941
|
-
const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;
|
|
35942
|
-
const pointerDownOutside = $5cb92bef7577960e$var$usePointerDownOutside((event)=>{
|
|
35943
|
-
const target = event.target;
|
|
35944
|
-
const isPointerDownOnBranch = [
|
|
35945
|
-
...context.branches
|
|
35946
|
-
].some((branch)=>branch.contains(target)
|
|
35947
|
-
);
|
|
35948
|
-
if (!isPointerEventsEnabled || isPointerDownOnBranch) return;
|
|
35949
|
-
onPointerDownOutside === null || onPointerDownOutside === void 0 || onPointerDownOutside(event);
|
|
35950
|
-
onInteractOutside === null || onInteractOutside === void 0 || onInteractOutside(event);
|
|
35951
|
-
if (!event.defaultPrevented) onDismiss === null || onDismiss === void 0 || onDismiss();
|
|
35952
|
-
}, ownerDocument);
|
|
35953
|
-
const focusOutside = $5cb92bef7577960e$var$useFocusOutside((event)=>{
|
|
35954
|
-
const target = event.target;
|
|
35955
|
-
const isFocusInBranch = [
|
|
35956
|
-
...context.branches
|
|
35957
|
-
].some((branch)=>branch.contains(target)
|
|
35958
|
-
);
|
|
35959
|
-
if (isFocusInBranch) return;
|
|
35960
|
-
onFocusOutside === null || onFocusOutside === void 0 || onFocusOutside(event);
|
|
35961
|
-
onInteractOutside === null || onInteractOutside === void 0 || onInteractOutside(event);
|
|
35962
|
-
if (!event.defaultPrevented) onDismiss === null || onDismiss === void 0 || onDismiss();
|
|
35963
|
-
}, ownerDocument);
|
|
35964
|
-
$addc16e1bbe58fd0$export$3a72a57244d6e765((event)=>{
|
|
35965
|
-
const isHighestLayer = index === context.layers.size - 1;
|
|
35966
|
-
if (!isHighestLayer) return;
|
|
35967
|
-
onEscapeKeyDown === null || onEscapeKeyDown === void 0 || onEscapeKeyDown(event);
|
|
35968
|
-
if (!event.defaultPrevented && onDismiss) {
|
|
35969
|
-
event.preventDefault();
|
|
35970
|
-
onDismiss();
|
|
35971
|
-
}
|
|
35972
|
-
}, ownerDocument);
|
|
35973
|
-
React.useEffect(()=>{
|
|
35974
|
-
if (!node1) return;
|
|
35975
|
-
if (disableOutsidePointerEvents) {
|
|
35976
|
-
if (context.layersWithOutsidePointerEventsDisabled.size === 0) {
|
|
35977
|
-
$5cb92bef7577960e$var$originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;
|
|
35978
|
-
ownerDocument.body.style.pointerEvents = 'none';
|
|
35979
|
-
}
|
|
35980
|
-
context.layersWithOutsidePointerEventsDisabled.add(node1);
|
|
35981
|
-
}
|
|
35982
|
-
context.layers.add(node1);
|
|
35983
|
-
$5cb92bef7577960e$var$dispatchUpdate();
|
|
35984
|
-
return ()=>{
|
|
35985
|
-
if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) ownerDocument.body.style.pointerEvents = $5cb92bef7577960e$var$originalBodyPointerEvents;
|
|
35986
|
-
};
|
|
35987
|
-
}, [
|
|
35988
|
-
node1,
|
|
35989
|
-
ownerDocument,
|
|
35990
|
-
disableOutsidePointerEvents,
|
|
35991
|
-
context
|
|
35992
|
-
]);
|
|
35993
|
-
/**
|
|
35994
|
-
* We purposefully prevent combining this effect with the `disableOutsidePointerEvents` effect
|
|
35995
|
-
* because a change to `disableOutsidePointerEvents` would remove this layer from the stack
|
|
35996
|
-
* and add it to the end again so the layering order wouldn't be _creation order_.
|
|
35997
|
-
* We only want them to be removed from context stacks when unmounted.
|
|
35998
|
-
*/ React.useEffect(()=>{
|
|
35999
|
-
return ()=>{
|
|
36000
|
-
if (!node1) return;
|
|
36001
|
-
context.layers.delete(node1);
|
|
36002
|
-
context.layersWithOutsidePointerEventsDisabled.delete(node1);
|
|
36003
|
-
$5cb92bef7577960e$var$dispatchUpdate();
|
|
36004
|
-
};
|
|
36005
|
-
}, [
|
|
36006
|
-
node1,
|
|
36007
|
-
context
|
|
36008
|
-
]);
|
|
36009
|
-
React.useEffect(()=>{
|
|
36010
|
-
const handleUpdate = ()=>force({})
|
|
36011
|
-
;
|
|
36012
|
-
document.addEventListener($5cb92bef7577960e$var$CONTEXT_UPDATE, handleUpdate);
|
|
36013
|
-
return ()=>document.removeEventListener($5cb92bef7577960e$var$CONTEXT_UPDATE, handleUpdate)
|
|
36014
|
-
;
|
|
36015
|
-
}, []);
|
|
36016
|
-
return /*#__PURE__*/ React.createElement($8927f6f2acc4f386$export$250ffa63cdc0d034$1.div, _extends({}, layerProps, {
|
|
36017
|
-
ref: composedRefs,
|
|
36018
|
-
style: {
|
|
36019
|
-
pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? 'auto' : 'none' : undefined,
|
|
36020
|
-
...props.style
|
|
36021
|
-
},
|
|
36022
|
-
onFocusCapture: $e42e1063c40fb3ef$export$b9ecd428b558ff10$1(props.onFocusCapture, focusOutside.onFocusCapture),
|
|
36023
|
-
onBlurCapture: $e42e1063c40fb3ef$export$b9ecd428b558ff10$1(props.onBlurCapture, focusOutside.onBlurCapture),
|
|
36024
|
-
onPointerDownCapture: $e42e1063c40fb3ef$export$b9ecd428b558ff10$1(props.onPointerDownCapture, pointerDownOutside.onPointerDownCapture)
|
|
36025
|
-
}));
|
|
36026
|
-
});
|
|
36027
|
-
/* -----------------------------------------------------------------------------------------------*/ /**
|
|
36028
|
-
* Listens for `pointerdown` outside a react subtree. We use `pointerdown` rather than `pointerup`
|
|
36029
|
-
* to mimic layer dismissing behaviour present in OS.
|
|
36030
|
-
* Returns props to pass to the node we want to check for outside events.
|
|
36031
|
-
*/ function $5cb92bef7577960e$var$usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) {
|
|
36032
|
-
const handlePointerDownOutside = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a$1(onPointerDownOutside);
|
|
36033
|
-
const isPointerInsideReactTreeRef = React.useRef(false);
|
|
36034
|
-
const handleClickRef = React.useRef(()=>{});
|
|
36035
|
-
React.useEffect(()=>{
|
|
36036
|
-
const handlePointerDown = (event)=>{
|
|
36037
|
-
if (event.target && !isPointerInsideReactTreeRef.current) {
|
|
36038
|
-
const eventDetail = {
|
|
36039
|
-
originalEvent: event
|
|
36040
|
-
};
|
|
36041
|
-
function handleAndDispatchPointerDownOutsideEvent() {
|
|
36042
|
-
$5cb92bef7577960e$var$handleAndDispatchCustomEvent($5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE, handlePointerDownOutside, eventDetail, {
|
|
36043
|
-
discrete: true
|
|
36044
|
-
});
|
|
36045
|
-
}
|
|
36046
|
-
/**
|
|
36047
|
-
* On touch devices, we need to wait for a click event because browsers implement
|
|
36048
|
-
* a ~350ms delay between the time the user stops touching the display and when the
|
|
36049
|
-
* browser executres events. We need to ensure we don't reactivate pointer-events within
|
|
36050
|
-
* this timeframe otherwise the browser may execute events that should have been prevented.
|
|
36051
|
-
*
|
|
36052
|
-
* Additionally, this also lets us deal automatically with cancellations when a click event
|
|
36053
|
-
* isn't raised because the page was considered scrolled/drag-scrolled, long-pressed, etc.
|
|
36054
|
-
*
|
|
36055
|
-
* This is why we also continuously remove the previous listener, because we cannot be
|
|
36056
|
-
* certain that it was raised, and therefore cleaned-up.
|
|
36057
|
-
*/ if (event.pointerType === 'touch') {
|
|
36058
|
-
ownerDocument.removeEventListener('click', handleClickRef.current);
|
|
36059
|
-
handleClickRef.current = handleAndDispatchPointerDownOutsideEvent;
|
|
36060
|
-
ownerDocument.addEventListener('click', handleClickRef.current, {
|
|
36061
|
-
once: true
|
|
36062
|
-
});
|
|
36063
|
-
} else handleAndDispatchPointerDownOutsideEvent();
|
|
36064
|
-
} else // We need to remove the event listener in case the outside click has been canceled.
|
|
36065
|
-
// See: https://github.com/radix-ui/primitives/issues/2171
|
|
36066
|
-
ownerDocument.removeEventListener('click', handleClickRef.current);
|
|
36067
|
-
isPointerInsideReactTreeRef.current = false;
|
|
36068
|
-
};
|
|
36069
|
-
/**
|
|
36070
|
-
* if this hook executes in a component that mounts via a `pointerdown` event, the event
|
|
36071
|
-
* would bubble up to the document and trigger a `pointerDownOutside` event. We avoid
|
|
36072
|
-
* this by delaying the event listener registration on the document.
|
|
36073
|
-
* This is not React specific, but rather how the DOM works, ie:
|
|
36074
|
-
* ```
|
|
36075
|
-
* button.addEventListener('pointerdown', () => {
|
|
36076
|
-
* console.log('I will log');
|
|
36077
|
-
* document.addEventListener('pointerdown', () => {
|
|
36078
|
-
* console.log('I will also log');
|
|
36079
|
-
* })
|
|
36080
|
-
* });
|
|
36081
|
-
*/ const timerId = window.setTimeout(()=>{
|
|
36082
|
-
ownerDocument.addEventListener('pointerdown', handlePointerDown);
|
|
36083
|
-
}, 0);
|
|
36084
|
-
return ()=>{
|
|
36085
|
-
window.clearTimeout(timerId);
|
|
36086
|
-
ownerDocument.removeEventListener('pointerdown', handlePointerDown);
|
|
36087
|
-
ownerDocument.removeEventListener('click', handleClickRef.current);
|
|
36088
|
-
};
|
|
36089
|
-
}, [
|
|
36090
|
-
ownerDocument,
|
|
36091
|
-
handlePointerDownOutside
|
|
36092
|
-
]);
|
|
36093
|
-
return {
|
|
36094
|
-
// ensures we check React component tree (not just DOM tree)
|
|
36095
|
-
onPointerDownCapture: ()=>isPointerInsideReactTreeRef.current = true
|
|
36096
|
-
};
|
|
36097
|
-
}
|
|
36098
|
-
/**
|
|
36099
|
-
* Listens for when focus happens outside a react subtree.
|
|
36100
|
-
* Returns props to pass to the root (node) of the subtree we want to check.
|
|
36101
|
-
*/ function $5cb92bef7577960e$var$useFocusOutside(onFocusOutside, ownerDocument = globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) {
|
|
36102
|
-
const handleFocusOutside = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a$1(onFocusOutside);
|
|
36103
|
-
const isFocusInsideReactTreeRef = React.useRef(false);
|
|
36104
|
-
React.useEffect(()=>{
|
|
36105
|
-
const handleFocus = (event)=>{
|
|
36106
|
-
if (event.target && !isFocusInsideReactTreeRef.current) {
|
|
36107
|
-
const eventDetail = {
|
|
36108
|
-
originalEvent: event
|
|
36109
|
-
};
|
|
36110
|
-
$5cb92bef7577960e$var$handleAndDispatchCustomEvent($5cb92bef7577960e$var$FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {
|
|
36111
|
-
discrete: false
|
|
36112
|
-
});
|
|
36113
|
-
}
|
|
36114
|
-
};
|
|
36115
|
-
ownerDocument.addEventListener('focusin', handleFocus);
|
|
36116
|
-
return ()=>ownerDocument.removeEventListener('focusin', handleFocus)
|
|
36117
|
-
;
|
|
36118
|
-
}, [
|
|
36119
|
-
ownerDocument,
|
|
36120
|
-
handleFocusOutside
|
|
36121
|
-
]);
|
|
36122
|
-
return {
|
|
36123
|
-
onFocusCapture: ()=>isFocusInsideReactTreeRef.current = true
|
|
36124
|
-
,
|
|
36125
|
-
onBlurCapture: ()=>isFocusInsideReactTreeRef.current = false
|
|
36126
|
-
};
|
|
36127
|
-
}
|
|
36128
|
-
function $5cb92bef7577960e$var$dispatchUpdate() {
|
|
36129
|
-
const event = new CustomEvent($5cb92bef7577960e$var$CONTEXT_UPDATE);
|
|
36130
|
-
document.dispatchEvent(event);
|
|
36131
|
-
}
|
|
36132
|
-
function $5cb92bef7577960e$var$handleAndDispatchCustomEvent(name, handler, detail, { discrete: discrete }) {
|
|
36133
|
-
const target = detail.originalEvent.target;
|
|
36134
|
-
const event = new CustomEvent(name, {
|
|
36135
|
-
bubbles: false,
|
|
36136
|
-
cancelable: true,
|
|
36137
|
-
detail: detail
|
|
36138
|
-
});
|
|
36139
|
-
if (handler) target.addEventListener(name, handler, {
|
|
36140
|
-
once: true
|
|
36141
|
-
});
|
|
36142
|
-
if (discrete) $8927f6f2acc4f386$export$6d1a0317bde7de7f(target, event);
|
|
36143
|
-
else target.dispatchEvent(event);
|
|
36144
|
-
}
|
|
36145
|
-
|
|
36146
|
-
const $d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT = 'focusScope.autoFocusOnMount';
|
|
36147
|
-
const $d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT = 'focusScope.autoFocusOnUnmount';
|
|
36148
|
-
const $d3863c46a17e8a28$var$EVENT_OPTIONS = {
|
|
36149
|
-
bubbles: false,
|
|
36150
|
-
cancelable: true
|
|
36151
|
-
};
|
|
36152
|
-
const $d3863c46a17e8a28$export$20e40289641fbbb6 = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
|
|
36153
|
-
const { loop: loop = false , trapped: trapped = false , onMountAutoFocus: onMountAutoFocusProp , onUnmountAutoFocus: onUnmountAutoFocusProp , ...scopeProps } = props;
|
|
36154
|
-
const [container1, setContainer] = React.useState(null);
|
|
36155
|
-
const onMountAutoFocus = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a$1(onMountAutoFocusProp);
|
|
36156
|
-
const onUnmountAutoFocus = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a$1(onUnmountAutoFocusProp);
|
|
36157
|
-
const lastFocusedElementRef = React.useRef(null);
|
|
36158
|
-
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05$1(forwardedRef, (node)=>setContainer(node)
|
|
36159
|
-
);
|
|
36160
|
-
const focusScope = React.useRef({
|
|
36161
|
-
paused: false,
|
|
36162
|
-
pause () {
|
|
36163
|
-
this.paused = true;
|
|
36164
|
-
},
|
|
36165
|
-
resume () {
|
|
36166
|
-
this.paused = false;
|
|
36167
|
-
}
|
|
36168
|
-
}).current; // Takes care of trapping focus if focus is moved outside programmatically for example
|
|
36169
|
-
React.useEffect(()=>{
|
|
36170
|
-
if (trapped) {
|
|
36171
|
-
function handleFocusIn(event) {
|
|
36172
|
-
if (focusScope.paused || !container1) return;
|
|
36173
|
-
const target = event.target;
|
|
36174
|
-
if (container1.contains(target)) lastFocusedElementRef.current = target;
|
|
36175
|
-
else $d3863c46a17e8a28$var$focus(lastFocusedElementRef.current, {
|
|
36176
|
-
select: true
|
|
36177
|
-
});
|
|
36178
|
-
}
|
|
36179
|
-
function handleFocusOut(event) {
|
|
36180
|
-
if (focusScope.paused || !container1) return;
|
|
36181
|
-
const relatedTarget = event.relatedTarget; // A `focusout` event with a `null` `relatedTarget` will happen in at least two cases:
|
|
36182
|
-
//
|
|
36183
|
-
// 1. When the user switches app/tabs/windows/the browser itself loses focus.
|
|
36184
|
-
// 2. In Google Chrome, when the focused element is removed from the DOM.
|
|
36185
|
-
//
|
|
36186
|
-
// We let the browser do its thing here because:
|
|
36187
|
-
//
|
|
36188
|
-
// 1. The browser already keeps a memory of what's focused for when the page gets refocused.
|
|
36189
|
-
// 2. In Google Chrome, if we try to focus the deleted focused element (as per below), it
|
|
36190
|
-
// throws the CPU to 100%, so we avoid doing anything for this reason here too.
|
|
36191
|
-
if (relatedTarget === null) return; // If the focus has moved to an actual legitimate element (`relatedTarget !== null`)
|
|
36192
|
-
// that is outside the container, we move focus to the last valid focused element inside.
|
|
36193
|
-
if (!container1.contains(relatedTarget)) $d3863c46a17e8a28$var$focus(lastFocusedElementRef.current, {
|
|
36194
|
-
select: true
|
|
36195
|
-
});
|
|
36196
|
-
} // When the focused element gets removed from the DOM, browsers move focus
|
|
36197
|
-
// back to the document.body. In this case, we move focus to the container
|
|
36198
|
-
// to keep focus trapped correctly.
|
|
36199
|
-
function handleMutations(mutations) {
|
|
36200
|
-
const focusedElement = document.activeElement;
|
|
36201
|
-
if (focusedElement !== document.body) return;
|
|
36202
|
-
for (const mutation of mutations)if (mutation.removedNodes.length > 0) $d3863c46a17e8a28$var$focus(container1);
|
|
36203
|
-
}
|
|
36204
|
-
document.addEventListener('focusin', handleFocusIn);
|
|
36205
|
-
document.addEventListener('focusout', handleFocusOut);
|
|
36206
|
-
const mutationObserver = new MutationObserver(handleMutations);
|
|
36207
|
-
if (container1) mutationObserver.observe(container1, {
|
|
36208
|
-
childList: true,
|
|
36209
|
-
subtree: true
|
|
36210
|
-
});
|
|
36211
|
-
return ()=>{
|
|
36212
|
-
document.removeEventListener('focusin', handleFocusIn);
|
|
36213
|
-
document.removeEventListener('focusout', handleFocusOut);
|
|
36214
|
-
mutationObserver.disconnect();
|
|
36215
|
-
};
|
|
36216
|
-
}
|
|
36217
|
-
}, [
|
|
36218
|
-
trapped,
|
|
36219
|
-
container1,
|
|
36220
|
-
focusScope.paused
|
|
36221
|
-
]);
|
|
36222
|
-
React.useEffect(()=>{
|
|
36223
|
-
if (container1) {
|
|
36224
|
-
$d3863c46a17e8a28$var$focusScopesStack.add(focusScope);
|
|
36225
|
-
const previouslyFocusedElement = document.activeElement;
|
|
36226
|
-
const hasFocusedCandidate = container1.contains(previouslyFocusedElement);
|
|
36227
|
-
if (!hasFocusedCandidate) {
|
|
36228
|
-
const mountEvent = new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, $d3863c46a17e8a28$var$EVENT_OPTIONS);
|
|
36229
|
-
container1.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, onMountAutoFocus);
|
|
36230
|
-
container1.dispatchEvent(mountEvent);
|
|
36231
|
-
if (!mountEvent.defaultPrevented) {
|
|
36232
|
-
$d3863c46a17e8a28$var$focusFirst($d3863c46a17e8a28$var$removeLinks($d3863c46a17e8a28$var$getTabbableCandidates(container1)), {
|
|
36233
|
-
select: true
|
|
36234
|
-
});
|
|
36235
|
-
if (document.activeElement === previouslyFocusedElement) $d3863c46a17e8a28$var$focus(container1);
|
|
36236
|
-
}
|
|
36237
|
-
}
|
|
36238
|
-
return ()=>{
|
|
36239
|
-
container1.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, onMountAutoFocus); // We hit a react bug (fixed in v17) with focusing in unmount.
|
|
36240
|
-
// We need to delay the focus a little to get around it for now.
|
|
36241
|
-
// See: https://github.com/facebook/react/issues/17894
|
|
36242
|
-
setTimeout(()=>{
|
|
36243
|
-
const unmountEvent = new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, $d3863c46a17e8a28$var$EVENT_OPTIONS);
|
|
36244
|
-
container1.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);
|
|
36245
|
-
container1.dispatchEvent(unmountEvent);
|
|
36246
|
-
if (!unmountEvent.defaultPrevented) $d3863c46a17e8a28$var$focus(previouslyFocusedElement !== null && previouslyFocusedElement !== void 0 ? previouslyFocusedElement : document.body, {
|
|
36247
|
-
select: true
|
|
36248
|
-
});
|
|
36249
|
-
// we need to remove the listener after we `dispatchEvent`
|
|
36250
|
-
container1.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);
|
|
36251
|
-
$d3863c46a17e8a28$var$focusScopesStack.remove(focusScope);
|
|
36252
|
-
}, 0);
|
|
36253
|
-
};
|
|
36254
|
-
}
|
|
36255
|
-
}, [
|
|
36256
|
-
container1,
|
|
36257
|
-
onMountAutoFocus,
|
|
36258
|
-
onUnmountAutoFocus,
|
|
36259
|
-
focusScope
|
|
36260
|
-
]); // Takes care of looping focus (when tabbing whilst at the edges)
|
|
36261
|
-
const handleKeyDown = React.useCallback((event)=>{
|
|
36262
|
-
if (!loop && !trapped) return;
|
|
36263
|
-
if (focusScope.paused) return;
|
|
36264
|
-
const isTabKey = event.key === 'Tab' && !event.altKey && !event.ctrlKey && !event.metaKey;
|
|
36265
|
-
const focusedElement = document.activeElement;
|
|
36266
|
-
if (isTabKey && focusedElement) {
|
|
36267
|
-
const container = event.currentTarget;
|
|
36268
|
-
const [first, last] = $d3863c46a17e8a28$var$getTabbableEdges(container);
|
|
36269
|
-
const hasTabbableElementsInside = first && last; // we can only wrap focus if we have tabbable edges
|
|
36270
|
-
if (!hasTabbableElementsInside) {
|
|
36271
|
-
if (focusedElement === container) event.preventDefault();
|
|
36272
|
-
} else {
|
|
36273
|
-
if (!event.shiftKey && focusedElement === last) {
|
|
36274
|
-
event.preventDefault();
|
|
36275
|
-
if (loop) $d3863c46a17e8a28$var$focus(first, {
|
|
36276
|
-
select: true
|
|
36277
|
-
});
|
|
36278
|
-
} else if (event.shiftKey && focusedElement === first) {
|
|
36279
|
-
event.preventDefault();
|
|
36280
|
-
if (loop) $d3863c46a17e8a28$var$focus(last, {
|
|
36281
|
-
select: true
|
|
36282
|
-
});
|
|
36283
|
-
}
|
|
36284
|
-
}
|
|
36285
|
-
}
|
|
36286
|
-
}, [
|
|
36287
|
-
loop,
|
|
36288
|
-
trapped,
|
|
36289
|
-
focusScope.paused
|
|
36290
|
-
]);
|
|
36291
|
-
return /*#__PURE__*/ React.createElement($8927f6f2acc4f386$export$250ffa63cdc0d034$1.div, _extends({
|
|
36292
|
-
tabIndex: -1
|
|
36293
|
-
}, scopeProps, {
|
|
36294
|
-
ref: composedRefs,
|
|
36295
|
-
onKeyDown: handleKeyDown
|
|
36296
|
-
}));
|
|
36297
|
-
});
|
|
36298
|
-
/* -------------------------------------------------------------------------------------------------
|
|
36299
|
-
* Utils
|
|
36300
|
-
* -----------------------------------------------------------------------------------------------*/ /**
|
|
36301
|
-
* Attempts focusing the first element in a list of candidates.
|
|
36302
|
-
* Stops when focus has actually moved.
|
|
36303
|
-
*/ function $d3863c46a17e8a28$var$focusFirst(candidates, { select: select = false } = {}) {
|
|
36304
|
-
const previouslyFocusedElement = document.activeElement;
|
|
36305
|
-
for (const candidate of candidates){
|
|
36306
|
-
$d3863c46a17e8a28$var$focus(candidate, {
|
|
36307
|
-
select: select
|
|
36308
|
-
});
|
|
36309
|
-
if (document.activeElement !== previouslyFocusedElement) return;
|
|
36310
|
-
}
|
|
36311
|
-
}
|
|
36312
|
-
/**
|
|
36313
|
-
* Returns the first and last tabbable elements inside a container.
|
|
36314
|
-
*/ function $d3863c46a17e8a28$var$getTabbableEdges(container) {
|
|
36315
|
-
const candidates = $d3863c46a17e8a28$var$getTabbableCandidates(container);
|
|
36316
|
-
const first = $d3863c46a17e8a28$var$findVisible(candidates, container);
|
|
36317
|
-
const last = $d3863c46a17e8a28$var$findVisible(candidates.reverse(), container);
|
|
36318
|
-
return [
|
|
36319
|
-
first,
|
|
36320
|
-
last
|
|
36321
|
-
];
|
|
36322
|
-
}
|
|
36323
|
-
/**
|
|
36324
|
-
* Returns a list of potential tabbable candidates.
|
|
36325
|
-
*
|
|
36326
|
-
* NOTE: This is only a close approximation. For example it doesn't take into account cases like when
|
|
36327
|
-
* elements are not visible. This cannot be worked out easily by just reading a property, but rather
|
|
36328
|
-
* necessitate runtime knowledge (computed styles, etc). We deal with these cases separately.
|
|
36329
|
-
*
|
|
36330
|
-
* See: https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker
|
|
36331
|
-
* Credit: https://github.com/discord/focus-layers/blob/master/src/util/wrapFocus.tsx#L1
|
|
36332
|
-
*/ function $d3863c46a17e8a28$var$getTabbableCandidates(container) {
|
|
36333
|
-
const nodes = [];
|
|
36334
|
-
const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {
|
|
36335
|
-
acceptNode: (node)=>{
|
|
36336
|
-
const isHiddenInput = node.tagName === 'INPUT' && node.type === 'hidden';
|
|
36337
|
-
if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP; // `.tabIndex` is not the same as the `tabindex` attribute. It works on the
|
|
36338
|
-
// runtime's understanding of tabbability, so this automatically accounts
|
|
36339
|
-
// for any kind of element that could be tabbed to.
|
|
36340
|
-
return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
|
|
36341
|
-
}
|
|
36342
|
-
});
|
|
36343
|
-
while(walker.nextNode())nodes.push(walker.currentNode); // we do not take into account the order of nodes with positive `tabIndex` as it
|
|
36344
|
-
// hinders accessibility to have tab order different from visual order.
|
|
36345
|
-
return nodes;
|
|
36346
|
-
}
|
|
36347
|
-
/**
|
|
36348
|
-
* Returns the first visible element in a list.
|
|
36349
|
-
* NOTE: Only checks visibility up to the `container`.
|
|
36350
|
-
*/ function $d3863c46a17e8a28$var$findVisible(elements, container) {
|
|
36351
|
-
for (const element of elements){
|
|
36352
|
-
// we stop checking if it's hidden at the `container` level (excluding)
|
|
36353
|
-
if (!$d3863c46a17e8a28$var$isHidden(element, {
|
|
36354
|
-
upTo: container
|
|
36355
|
-
})) return element;
|
|
36356
|
-
}
|
|
36357
|
-
}
|
|
36358
|
-
function $d3863c46a17e8a28$var$isHidden(node, { upTo: upTo }) {
|
|
36359
|
-
if (getComputedStyle(node).visibility === 'hidden') return true;
|
|
36360
|
-
while(node){
|
|
36361
|
-
// we stop at `upTo` (excluding it)
|
|
36362
|
-
if (upTo !== undefined && node === upTo) return false;
|
|
36363
|
-
if (getComputedStyle(node).display === 'none') return true;
|
|
36364
|
-
node = node.parentElement;
|
|
36365
|
-
}
|
|
36366
|
-
return false;
|
|
36367
|
-
}
|
|
36368
|
-
function $d3863c46a17e8a28$var$isSelectableInput(element) {
|
|
36369
|
-
return element instanceof HTMLInputElement && 'select' in element;
|
|
36370
|
-
}
|
|
36371
|
-
function $d3863c46a17e8a28$var$focus(element, { select: select = false } = {}) {
|
|
36372
|
-
// only focus if that element is focusable
|
|
36373
|
-
if (element && element.focus) {
|
|
36374
|
-
const previouslyFocusedElement = document.activeElement; // NOTE: we prevent scrolling on focus, to minimize jarring transitions for users
|
|
36375
|
-
element.focus({
|
|
36376
|
-
preventScroll: true
|
|
36377
|
-
}); // only select if its not the same element, it supports selection and we need to select
|
|
36378
|
-
if (element !== previouslyFocusedElement && $d3863c46a17e8a28$var$isSelectableInput(element) && select) element.select();
|
|
36379
|
-
}
|
|
36380
|
-
}
|
|
36381
|
-
/* -------------------------------------------------------------------------------------------------
|
|
36382
|
-
* FocusScope stack
|
|
36383
|
-
* -----------------------------------------------------------------------------------------------*/ const $d3863c46a17e8a28$var$focusScopesStack = $d3863c46a17e8a28$var$createFocusScopesStack();
|
|
36384
|
-
function $d3863c46a17e8a28$var$createFocusScopesStack() {
|
|
36385
|
-
/** A stack of focus scopes, with the active one at the top */ let stack = [];
|
|
36386
|
-
return {
|
|
36387
|
-
add (focusScope) {
|
|
36388
|
-
// pause the currently active focus scope (at the top of the stack)
|
|
36389
|
-
const activeFocusScope = stack[0];
|
|
36390
|
-
if (focusScope !== activeFocusScope) activeFocusScope === null || activeFocusScope === void 0 || activeFocusScope.pause();
|
|
36391
|
-
// remove in case it already exists (because we'll re-add it at the top of the stack)
|
|
36392
|
-
stack = $d3863c46a17e8a28$var$arrayRemove(stack, focusScope);
|
|
36393
|
-
stack.unshift(focusScope);
|
|
36394
|
-
},
|
|
36395
|
-
remove (focusScope) {
|
|
36396
|
-
var _stack$;
|
|
36397
|
-
stack = $d3863c46a17e8a28$var$arrayRemove(stack, focusScope);
|
|
36398
|
-
(_stack$ = stack[0]) === null || _stack$ === void 0 || _stack$.resume();
|
|
36399
|
-
}
|
|
36400
|
-
};
|
|
36401
|
-
}
|
|
36402
|
-
function $d3863c46a17e8a28$var$arrayRemove(array, item) {
|
|
36403
|
-
const updatedArray = [
|
|
36404
|
-
...array
|
|
36405
|
-
];
|
|
36406
|
-
const index = updatedArray.indexOf(item);
|
|
36407
|
-
if (index !== -1) updatedArray.splice(index, 1);
|
|
36408
|
-
return updatedArray;
|
|
36409
|
-
}
|
|
36410
|
-
function $d3863c46a17e8a28$var$removeLinks(items) {
|
|
36411
|
-
return items.filter((item)=>item.tagName !== 'A'
|
|
36412
|
-
);
|
|
36413
|
-
}
|
|
36414
|
-
|
|
36415
35925
|
const sides = ['top', 'right', 'bottom', 'left'];
|
|
36416
35926
|
const min = Math.min;
|
|
36417
35927
|
const max = Math.max;
|
|
@@ -38560,14 +38070,6 @@ const $cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9 = $cf1ac5d9fe0e8206$export$badac
|
|
|
38560
38070
|
const $cf1ac5d9fe0e8206$export$b688253958b8dfe7 = $cf1ac5d9fe0e8206$export$ecd4e1ccab6ed6d;
|
|
38561
38071
|
const $cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2 = $cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc;
|
|
38562
38072
|
|
|
38563
|
-
const $f1701beae083dbae$export$602eac185826482c = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
|
|
38564
|
-
var _globalThis$document;
|
|
38565
|
-
const { container: container = globalThis === null || globalThis === void 0 ? void 0 : (_globalThis$document = globalThis.document) === null || _globalThis$document === void 0 ? void 0 : _globalThis$document.body , ...portalProps } = props;
|
|
38566
|
-
return container ? /*#__PURE__*/ $7SXl2$reactdom.createPortal(/*#__PURE__*/ React.createElement($8927f6f2acc4f386$export$250ffa63cdc0d034$1.div, _extends({}, portalProps, {
|
|
38567
|
-
ref: forwardedRef
|
|
38568
|
-
})), container) : null;
|
|
38569
|
-
});
|
|
38570
|
-
|
|
38571
38073
|
function $010c2913dbd2fe3d$export$5cae361ad82dce8b$1(value) {
|
|
38572
38074
|
const ref = React.useRef({
|
|
38573
38075
|
value: value,
|
|
@@ -38811,7 +38313,7 @@ const $cc7e05a45900e73f$export$99b400cabb58c515 = /*#__PURE__*/ React.forwardRef
|
|
|
38811
38313
|
}), children || '▼');
|
|
38812
38314
|
});
|
|
38813
38315
|
const $cc7e05a45900e73f$export$b2af6c9944296213 = (props)=>{
|
|
38814
|
-
return /*#__PURE__*/ React.createElement($f1701beae083dbae$export$602eac185826482c, _extends({
|
|
38316
|
+
return /*#__PURE__*/ React.createElement($f1701beae083dbae$export$602eac185826482c$1, _extends({
|
|
38815
38317
|
asChild: true
|
|
38816
38318
|
}, props));
|
|
38817
38319
|
};
|
|
@@ -39030,7 +38532,7 @@ const $cc7e05a45900e73f$var$SelectContentImpl = /*#__PURE__*/ React.forwardRef((
|
|
|
39030
38532
|
});
|
|
39031
38533
|
event.preventDefault();
|
|
39032
38534
|
})
|
|
39033
|
-
}, /*#__PURE__*/ React.createElement($5cb92bef7577960e$export$177fb62ff3ec1f22, {
|
|
38535
|
+
}, /*#__PURE__*/ React.createElement($5cb92bef7577960e$export$177fb62ff3ec1f22$1, {
|
|
39034
38536
|
asChild: true,
|
|
39035
38537
|
disableOutsidePointerEvents: true,
|
|
39036
38538
|
onEscapeKeyDown: onEscapeKeyDown,
|
|
@@ -39720,10 +39222,10 @@ const BtIconChevronUp2Px = (props) =>
|
|
|
39720
39222
|
/** Use `Select` to choose from a dropdown list of options. */
|
|
39721
39223
|
var Select = function (_a) {
|
|
39722
39224
|
var _b;
|
|
39723
|
-
var isRequired = _a.isRequired, isDisabled = _a.isDisabled, placeholder = _a.placeholder, label = _a.label, _c = _a.ariaLabel, ariaLabel = _c === void 0 ? label : _c, options = _a.options, onOpenChange = _a.onOpenChange, isDefaultOpen = _a.isDefaultOpen, defaultValue = _a.defaultValue, errorMessage = _a.errorMessage, labelSize = _a.labelSize, helper = _a.helper, name = _a.name, width = _a.width, isFluid = _a.isFluid, onBlur = _a.onBlur, onChange = _a.onChange, disclosureTitle = _a.disclosureTitle, disclosureText = _a.disclosureText, onClickDisclosure = _a.onClickDisclosure, _d = _a.selectSize, selectSize = _d === void 0 ? "m" : _d, props = __rest(_a, ["isRequired", "isDisabled", "placeholder", "label", "ariaLabel", "options", "onOpenChange", "isDefaultOpen", "defaultValue", "errorMessage", "labelSize", "helper", "name", "width", "isFluid", "onBlur", "onChange", "disclosureTitle", "disclosureText", "onClickDisclosure", "selectSize"]);
|
|
39225
|
+
var isRequired = _a.isRequired, isDisabled = _a.isDisabled, placeholder = _a.placeholder, label = _a.label, _c = _a.ariaLabel, ariaLabel = _c === void 0 ? label : _c, options = _a.options, onOpenChange = _a.onOpenChange, isDefaultOpen = _a.isDefaultOpen, defaultValue = _a.defaultValue, errorMessage = _a.errorMessage, labelSize = _a.labelSize, helper = _a.helper, hideLabel = _a.hideLabel, name = _a.name, width = _a.width, isFluid = _a.isFluid, onBlur = _a.onBlur, onChange = _a.onChange, disclosureTitle = _a.disclosureTitle, disclosureText = _a.disclosureText, onClickDisclosure = _a.onClickDisclosure, _d = _a.selectSize, selectSize = _d === void 0 ? "m" : _d, props = __rest(_a, ["isRequired", "isDisabled", "placeholder", "label", "ariaLabel", "options", "onOpenChange", "isDefaultOpen", "defaultValue", "errorMessage", "labelSize", "helper", "hideLabel", "name", "width", "isFluid", "onBlur", "onChange", "disclosureTitle", "disclosureText", "onClickDisclosure", "selectSize"]);
|
|
39724
39226
|
var id = React.useId();
|
|
39725
39227
|
var arcRootElement = React.useContext(ArcRootElementContext);
|
|
39726
|
-
var surface = React.useContext(Context$
|
|
39228
|
+
var surface = React.useContext(Context$5).surface;
|
|
39727
39229
|
var _e = React.useState(defaultValue), selectedValue = _e[0], setSelectedValue = _e[1];
|
|
39728
39230
|
var onValueChange = function (value) {
|
|
39729
39231
|
onChange && onChange(value);
|
|
@@ -39743,7 +39245,7 @@ var Select = function (_a) {
|
|
|
39743
39245
|
return 20;
|
|
39744
39246
|
}
|
|
39745
39247
|
};
|
|
39746
|
-
return (React__default["default"].createElement(FormControl, { errorMessage: errorMessage, helper: helper, htmlFor: id, label: label, labelSize: labelSize, requirementStatus: isRequired ? "required" : "optional", isDisabled: isDisabled, disclosureText: disclosureText, disclosureTitle: disclosureTitle, onClickDisclosure: onClickDisclosure },
|
|
39248
|
+
return (React__default["default"].createElement(FormControl, { errorMessage: errorMessage, helper: helper, htmlFor: id, label: label, hideLabel: hideLabel, labelSize: labelSize, requirementStatus: isRequired ? "required" : "optional", isDisabled: isDisabled, disclosureText: disclosureText, disclosureTitle: disclosureTitle, onClickDisclosure: onClickDisclosure },
|
|
39747
39249
|
React__default["default"].createElement($cc7e05a45900e73f$export$be92b6f5f03c0fe9, { name: name, required: isRequired, disabled: isDisabled, defaultOpen: isDefaultOpen, value: selectedValue, onOpenChange: onOpenChange, onValueChange: function (value) { return onValueChange(value); } },
|
|
39748
39250
|
React__default["default"].createElement("div", { className: "arc-Select-wrapper" },
|
|
39749
39251
|
React__default["default"].createElement($cc7e05a45900e73f$export$41fb9f06171c75f4, __assign({ id: id, name: name, onBlur: onBlur, "aria-label": ariaLabel, style: { width: width }, className: classNames("arc-Select-trigger", (_b = {
|
|
@@ -39850,7 +39352,7 @@ var SiteFooter_rehydrator = (function (el, rehydrateChildren) { return __awaiter
|
|
|
39850
39352
|
});
|
|
39851
39353
|
}); });
|
|
39852
39354
|
|
|
39853
|
-
var Item = function (_a) {
|
|
39355
|
+
var Item$1 = function (_a) {
|
|
39854
39356
|
var _b;
|
|
39855
39357
|
var children = _a.children, href = _a.href, isEmphasised = _a.isEmphasised, onClick = _a.onClick, props = __rest(_a, ["children", "href", "isEmphasised", "onClick"]);
|
|
39856
39358
|
return (React__default["default"].createElement("li", __assign({ className: classNames((_b = {},
|
|
@@ -39863,13 +39365,13 @@ var Item = function (_a) {
|
|
|
39863
39365
|
children)));
|
|
39864
39366
|
};
|
|
39865
39367
|
|
|
39866
|
-
var ItemGroup = function (_a) {
|
|
39368
|
+
var ItemGroup$1 = function (_a) {
|
|
39867
39369
|
var children = _a.children, href = _a.href, title = _a.title, onClick = _a.onClick, viewAllTitle = _a.viewAllTitle, props = __rest(_a, ["children", "href", "title", "onClick", "viewAllTitle"]);
|
|
39868
39370
|
var _b = React.useState(false), hasClientSideJavaScript = _b[0], setHasClientSideJavaScript = _b[1];
|
|
39869
39371
|
var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));
|
|
39870
39372
|
React.useEffect(function () {
|
|
39871
39373
|
React__default["default"].Children.map(children, function (item) {
|
|
39872
|
-
if (item && item.type !== Item && item.type !== React.Fragment) {
|
|
39374
|
+
if (item && item.type !== Item$1 && item.type !== React.Fragment) {
|
|
39873
39375
|
throw new Error("Illegal child passed to <SiteHeader.ItemGroup />. Ensure to only use <SiteHeader.Item />.");
|
|
39874
39376
|
}
|
|
39875
39377
|
});
|
|
@@ -39923,16 +39425,16 @@ var ItemGroupRehydrator = (function (el, hydrate) { return __awaiter(void 0, voi
|
|
|
39923
39425
|
title: title,
|
|
39924
39426
|
viewAllTitle: viewAllTitle
|
|
39925
39427
|
};
|
|
39926
|
-
return [2 /*return*/, React__default["default"].createElement(ItemGroup, __assign({}, props), children)];
|
|
39428
|
+
return [2 /*return*/, React__default["default"].createElement(ItemGroup$1, __assign({}, props), children)];
|
|
39927
39429
|
}
|
|
39928
39430
|
});
|
|
39929
39431
|
}); });
|
|
39930
39432
|
|
|
39931
|
-
var Column = function (_a) {
|
|
39433
|
+
var Column$1 = function (_a) {
|
|
39932
39434
|
var children = _a.children, props = __rest(_a, ["children"]);
|
|
39933
39435
|
React.useEffect(function () {
|
|
39934
39436
|
React__default["default"].Children.map(children, function (item) {
|
|
39935
|
-
if (item && item.type !== ItemGroup) {
|
|
39437
|
+
if (item && item.type !== ItemGroup$1) {
|
|
39936
39438
|
throw new Error("Illegal child passed to <SiteHeader.Column />. Ensure to only use <SiteHeader.ItemGroup />.");
|
|
39937
39439
|
}
|
|
39938
39440
|
});
|
|
@@ -39941,7 +39443,7 @@ var Column = function (_a) {
|
|
|
39941
39443
|
React__default["default"].createElement("ul", { className: "arc-SiteHeaderColumn-items" }, children)));
|
|
39942
39444
|
};
|
|
39943
39445
|
|
|
39944
|
-
var BackButton = function (_a) {
|
|
39446
|
+
var BackButton$1 = function (_a) {
|
|
39945
39447
|
var setOpen = _a.setOpen;
|
|
39946
39448
|
return (React__default["default"].createElement("button", { className: "arc-SiteHeaderBackButton", onClick: function () {
|
|
39947
39449
|
setOpen(false);
|
|
@@ -39951,10 +39453,10 @@ var BackButton = function (_a) {
|
|
|
39951
39453
|
React__default["default"].createElement("span", { className: "arc-SiteHeaderBackButton-text" }, "Back")));
|
|
39952
39454
|
};
|
|
39953
39455
|
|
|
39954
|
-
var Panel = function (_a) {
|
|
39456
|
+
var Panel$1 = function (_a) {
|
|
39955
39457
|
var _b;
|
|
39956
39458
|
var children = _a.children, navItemRef = _a.navItemRef, open = _a.open, promo = _a.promo, setOpen = _a.setOpen, subNavItemRef = _a.subNavItemRef, _c = _a.subNavLink, subNavLink = _c === void 0 ? "" : _c, title = _a.title, viewAll = _a.viewAll, withSubNav = _a.withSubNav, props = __rest(_a, ["children", "navItemRef", "open", "promo", "setOpen", "subNavItemRef", "subNavLink", "title", "viewAll", "withSubNav"]);
|
|
39957
|
-
var transparent = React.useContext(Context).transparent;
|
|
39459
|
+
var transparent = React.useContext(Context$2).transparent;
|
|
39958
39460
|
React.useEffect(function () {
|
|
39959
39461
|
// Where appropriate, close the Panel when clicking outside of it,
|
|
39960
39462
|
// by listening to clicks on the entire document and acting accordingly.
|
|
@@ -40016,7 +39518,7 @@ var Panel = function (_a) {
|
|
|
40016
39518
|
_b["arc-SiteHeaderPanel--withSubNav"] = withSubNav,
|
|
40017
39519
|
_b)) }, filterDataAttrs(props)),
|
|
40018
39520
|
React__default["default"].createElement(Surface, { background: "white", growVertically: true },
|
|
40019
|
-
React__default["default"].createElement(BackButton, { setOpen: setOpen }),
|
|
39521
|
+
React__default["default"].createElement(BackButton$1, { setOpen: setOpen }),
|
|
40020
39522
|
React__default["default"].createElement("div", { className: "arc-SiteHeaderPanel-inner" },
|
|
40021
39523
|
React__default["default"].createElement("div", { className: "arc-SiteHeaderPanel-main" },
|
|
40022
39524
|
React__default["default"].createElement("div", { className: "arc-SiteHeaderPanel-mainInner" },
|
|
@@ -40026,16 +39528,16 @@ var Panel = function (_a) {
|
|
|
40026
39528
|
viewAll),
|
|
40027
39529
|
promo && React__default["default"].createElement("div", { className: "arc-SiteHeaderPanel-promo" }, promo)))));
|
|
40028
39530
|
};
|
|
40029
|
-
var ViewAll = function (_a) {
|
|
39531
|
+
var ViewAll$1 = function (_a) {
|
|
40030
39532
|
var href = _a.href, title = _a.title, onClick = _a.onClick;
|
|
40031
39533
|
return (React__default["default"].createElement("a", { onClick: handleLinkClick({ handler: onClick }), className: "arc-SiteHeaderPanel-viewAll", href: href },
|
|
40032
39534
|
title,
|
|
40033
39535
|
React__default["default"].createElement("span", { className: "arc-SiteHeaderPanel-viewAllIcon" },
|
|
40034
39536
|
React__default["default"].createElement(BtIconChevronRight2Px, null))));
|
|
40035
39537
|
};
|
|
40036
|
-
Panel.ViewAll = ViewAll;
|
|
39538
|
+
Panel$1.ViewAll = ViewAll$1;
|
|
40037
39539
|
|
|
40038
|
-
var NavItem = function (_a) {
|
|
39540
|
+
var NavItem$1 = function (_a) {
|
|
40039
39541
|
var _b, _c;
|
|
40040
39542
|
var children = _a.children, href = _a.href, isCurrent = _a.isCurrent, onClick = _a.onClick, promo = _a.promo, title = _a.title, viewAllTitle = _a.viewAllTitle, props = __rest(_a, ["children", "href", "isCurrent", "onClick", "promo", "title", "viewAllTitle"]);
|
|
40041
39543
|
var navItem = React.useRef();
|
|
@@ -40044,8 +39546,8 @@ var NavItem = function (_a) {
|
|
|
40044
39546
|
React.useEffect(function () {
|
|
40045
39547
|
React__default["default"].Children.map(children, function (item) {
|
|
40046
39548
|
if (item &&
|
|
40047
|
-
item.type !== ItemGroup &&
|
|
40048
|
-
item.type !== Column &&
|
|
39549
|
+
item.type !== ItemGroup$1 &&
|
|
39550
|
+
item.type !== Column$1 &&
|
|
40049
39551
|
item.type !== React.Fragment) {
|
|
40050
39552
|
throw new Error("Illegal child passed to <SiteHeader.NavItem />. Ensure to only use <SiteHeader.ItemGroup /> or <SiteHeader.Column />.");
|
|
40051
39553
|
}
|
|
@@ -40066,7 +39568,7 @@ var NavItem = function (_a) {
|
|
|
40066
39568
|
} },
|
|
40067
39569
|
React__default["default"].createElement("span", null, title),
|
|
40068
39570
|
React__default["default"].createElement("span", { className: "arc-SiteHeaderNavItem-linkIcon" }, isMinWidthArcBreakpointL ? (React__default["default"].createElement(BtIconChevronDown2Px, null)) : (React__default["default"].createElement(BtIconChevronRight2Px, null)))),
|
|
40069
|
-
React__default["default"].createElement(Panel, { navItemRef: navItem, open: panelOpen, promo: promo, setOpen: setPanelOpen, viewAll: href ? (React__default["default"].createElement(Panel.ViewAll, { href: href, onClick: onClick, title: viewAllTitle || "View all ".concat(title.toLowerCase()) })) : undefined }, children)))));
|
|
39571
|
+
React__default["default"].createElement(Panel$1, { navItemRef: navItem, open: panelOpen, promo: promo, setOpen: setPanelOpen, viewAll: href ? (React__default["default"].createElement(Panel$1.ViewAll, { href: href, onClick: onClick, title: viewAllTitle || "View all ".concat(title.toLowerCase()) })) : undefined }, children)))));
|
|
40070
39572
|
};
|
|
40071
39573
|
|
|
40072
39574
|
var NavItemRehydrator = (function (el, hydrate) { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -40106,23 +39608,23 @@ var NavItemRehydrator = (function (el, hydrate) { return __awaiter(void 0, void
|
|
|
40106
39608
|
title: title,
|
|
40107
39609
|
viewAllTitle: (viewAll === null || viewAll === void 0 ? void 0 : viewAll.textContent) || undefined
|
|
40108
39610
|
};
|
|
40109
|
-
return [2 /*return*/, React__default["default"].createElement(NavItem, __assign({}, props), children)];
|
|
39611
|
+
return [2 /*return*/, React__default["default"].createElement(NavItem$1, __assign({}, props), children)];
|
|
40110
39612
|
}
|
|
40111
39613
|
});
|
|
40112
39614
|
}); });
|
|
40113
39615
|
|
|
40114
|
-
var SubNavItem = function (_a) {
|
|
39616
|
+
var SubNavItem$1 = function (_a) {
|
|
40115
39617
|
var _b, _c;
|
|
40116
39618
|
var children = _a.children, _d = _a.isDefaultItem, isDefaultItem = _d === void 0 ? false : _d, href = _a.href, onClick = _a.onClick, offsetXL = _a.offsetXL, promo = _a.promo, subTitle = _a.subTitle, title = _a.title, viewAllTitle = _a.viewAllTitle, props = __rest(_a, ["children", "isDefaultItem", "href", "onClick", "offsetXL", "promo", "subTitle", "title", "viewAllTitle"]);
|
|
40117
|
-
var navItem = React.useContext(Context$
|
|
39619
|
+
var navItem = React.useContext(Context$3).navItem;
|
|
40118
39620
|
var subNavItem = React.useRef();
|
|
40119
39621
|
var _e = React.useState(false), panelOpen = _e[0], setPanelOpen = _e[1];
|
|
40120
39622
|
var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));
|
|
40121
39623
|
React.useEffect(function () {
|
|
40122
39624
|
React__default["default"].Children.map(children, function (item) {
|
|
40123
39625
|
if (item &&
|
|
40124
|
-
item.type !== ItemGroup &&
|
|
40125
|
-
item.type !== Column &&
|
|
39626
|
+
item.type !== ItemGroup$1 &&
|
|
39627
|
+
item.type !== Column$1 &&
|
|
40126
39628
|
item.type !== React.Fragment) {
|
|
40127
39629
|
throw new Error("Illegal child passed to <SiteHeader.SubNavItem />. Ensure to only use <SiteHeader.ItemGroup /> or <SiteHeader.Column />.");
|
|
40128
39630
|
}
|
|
@@ -40153,9 +39655,9 @@ var SubNavItem = function (_a) {
|
|
|
40153
39655
|
linkTitle,
|
|
40154
39656
|
children && (React__default["default"].createElement("span", { className: "arc-SiteHeaderSubNavItem-linkIcon" },
|
|
40155
39657
|
React__default["default"].createElement(BtIconChevronRight2Px, null)))),
|
|
40156
|
-
React__default["default"].createElement(Panel, { navItemRef: navItem, open: panelOpen, setOpen: setPanelOpen, subNavItemRef: subNavItem, subNavLink: "arc-SiteHeaderSubNavItem-link", promo: promo, title: React__default["default"].createElement("span", null,
|
|
39658
|
+
React__default["default"].createElement(Panel$1, { navItemRef: navItem, open: panelOpen, setOpen: setPanelOpen, subNavItemRef: subNavItem, subNavLink: "arc-SiteHeaderSubNavItem-link", promo: promo, title: React__default["default"].createElement("span", null,
|
|
40157
39659
|
title,
|
|
40158
|
-
subTitle && (React__default["default"].createElement(Text, { size: "xs", tone: "supporting" }, subTitle))), viewAll: href ? (React__default["default"].createElement(Panel.ViewAll, { href: href, onClick: onClick, title: viewAllTitle || "View all ".concat(title.toLowerCase()) })) : undefined }, children)))));
|
|
39660
|
+
subTitle && (React__default["default"].createElement(Text, { size: "xs", tone: "supporting" }, subTitle))), viewAll: href ? (React__default["default"].createElement(Panel$1.ViewAll, { href: href, onClick: onClick, title: viewAllTitle || "View all ".concat(title.toLowerCase()) })) : undefined }, children)))));
|
|
40159
39661
|
};
|
|
40160
39662
|
|
|
40161
39663
|
var SubNavItemRehydrator = (function (el, hydrate) { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -40209,15 +39711,15 @@ var SubNavItemRehydrator = (function (el, hydrate) { return __awaiter(void 0, vo
|
|
|
40209
39711
|
title: title,
|
|
40210
39712
|
viewAllTitle: (viewAll === null || viewAll === void 0 ? void 0 : viewAll.textContent) || undefined
|
|
40211
39713
|
};
|
|
40212
|
-
return [2 /*return*/, React__default["default"].createElement(SubNavItem, __assign({}, props), children)];
|
|
39714
|
+
return [2 /*return*/, React__default["default"].createElement(SubNavItem$1, __assign({}, props), children)];
|
|
40213
39715
|
}
|
|
40214
39716
|
});
|
|
40215
39717
|
}); });
|
|
40216
39718
|
|
|
40217
|
-
var defaultContext$
|
|
40218
|
-
var Context$
|
|
40219
|
-
var Provider$
|
|
40220
|
-
var NavItemWithSubNav = function (_a) {
|
|
39719
|
+
var defaultContext$3 = { navItem: null, subTitle: null };
|
|
39720
|
+
var Context$3 = React.createContext(defaultContext$3);
|
|
39721
|
+
var Provider$3 = Context$3.Provider;
|
|
39722
|
+
var NavItemWithSubNav$1 = function (_a) {
|
|
40221
39723
|
var _b, _c;
|
|
40222
39724
|
var href = _a.href, slot1 = _a.slot1, slot2 = _a.slot2, slot3 = _a.slot3, _d = _a.subTitle, subTitle = _d === void 0 ? null : _d, title = _a.title, onViewAllClick = _a.onViewAllClick, viewAllTitle = _a.viewAllTitle, props = __rest(_a, ["href", "slot1", "slot2", "slot3", "subTitle", "title", "onViewAllClick", "viewAllTitle"]);
|
|
40223
39725
|
var navItem = React.useRef();
|
|
@@ -40226,7 +39728,7 @@ var NavItemWithSubNav = function (_a) {
|
|
|
40226
39728
|
var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));
|
|
40227
39729
|
React.useEffect(function () {
|
|
40228
39730
|
React__default["default"].Children.map(slot1, function (item) {
|
|
40229
|
-
if (item && item.type !== SubNavItem && item.type !== React.Fragment) {
|
|
39731
|
+
if (item && item.type !== SubNavItem$1 && item.type !== React.Fragment) {
|
|
40230
39732
|
throw new Error("Illegal child passed to <SiteHeader.NavItemWithSubNav /> `slot1` prop. Ensure to only use <SiteHeader.SubNavItem />.");
|
|
40231
39733
|
}
|
|
40232
39734
|
if (item.props.isDefaultItem) {
|
|
@@ -40234,7 +39736,7 @@ var NavItemWithSubNav = function (_a) {
|
|
|
40234
39736
|
}
|
|
40235
39737
|
});
|
|
40236
39738
|
React__default["default"].Children.map(slot2, function (item) {
|
|
40237
|
-
if (item && item.type !== SubNavItem && item.type !== React.Fragment) {
|
|
39739
|
+
if (item && item.type !== SubNavItem$1 && item.type !== React.Fragment) {
|
|
40238
39740
|
throw new Error("Illegal child passed to <SiteHeader.NavItemWithSubNav /> `slot2` prop. Ensure to only use <SiteHeader.SubNavItem />.");
|
|
40239
39741
|
}
|
|
40240
39742
|
if (item.props.isDefaultItem) {
|
|
@@ -40242,7 +39744,7 @@ var NavItemWithSubNav = function (_a) {
|
|
|
40242
39744
|
}
|
|
40243
39745
|
});
|
|
40244
39746
|
React__default["default"].Children.map(slot3, function (item) {
|
|
40245
|
-
if (item && item.type !== SubNavItem && item.type !== React.Fragment) {
|
|
39747
|
+
if (item && item.type !== SubNavItem$1 && item.type !== React.Fragment) {
|
|
40246
39748
|
throw new Error("Illegal child passed to <SiteHeader.NavItemWithSubNav /> `slot3` prop. Ensure to only use <SiteHeader.SubNavItem />.");
|
|
40247
39749
|
}
|
|
40248
39750
|
if (item.props.isDefaultItem) {
|
|
@@ -40250,7 +39752,7 @@ var NavItemWithSubNav = function (_a) {
|
|
|
40250
39752
|
}
|
|
40251
39753
|
});
|
|
40252
39754
|
}, [slot1, slot2, slot3]);
|
|
40253
|
-
return (React__default["default"].createElement(Provider$
|
|
39755
|
+
return (React__default["default"].createElement(Provider$3, { value: { navItem: navItem, subTitle: subTitle } },
|
|
40254
39756
|
React__default["default"].createElement("li", __assign({ className: classNames((_b = {},
|
|
40255
39757
|
_b["arc-SiteHeaderNavItemWithSubNav"] = true,
|
|
40256
39758
|
_b["arc-SiteHeaderNavItem--linkSelected"] = panelOpen,
|
|
@@ -40264,7 +39766,7 @@ var NavItemWithSubNav = function (_a) {
|
|
|
40264
39766
|
} },
|
|
40265
39767
|
title,
|
|
40266
39768
|
React__default["default"].createElement("span", { className: "arc-SiteHeaderNavItem-linkIcon" }, isMinWidthArcBreakpointL ? (React__default["default"].createElement(BtIconChevronDown2Px, null)) : (React__default["default"].createElement(BtIconChevronRight2Px, null)))),
|
|
40267
|
-
React__default["default"].createElement(Panel, { navItemRef: navItem, open: panelOpen, setOpen: setPanelOpen, title: subTitle, viewAll: href ? (React__default["default"].createElement(Panel.ViewAll, { href: href, onClick: onViewAllClick, title: viewAllTitle || "View all ".concat(title.toLowerCase()) })) : undefined, withSubNav: true },
|
|
39769
|
+
React__default["default"].createElement(Panel$1, { navItemRef: navItem, open: panelOpen, setOpen: setPanelOpen, title: subTitle, viewAll: href ? (React__default["default"].createElement(Panel$1.ViewAll, { href: href, onClick: onViewAllClick, title: viewAllTitle || "View all ".concat(title.toLowerCase()) })) : undefined, withSubNav: true },
|
|
40268
39770
|
defaultItem
|
|
40269
39771
|
? React__default["default"].cloneElement(slot1, { isDefaultItem: defaultItem })
|
|
40270
39772
|
: slot1,
|
|
@@ -40322,17 +39824,17 @@ var NavItemWithSubNavRehydrator = (function (el, hydrate) { return __awaiter(voi
|
|
|
40322
39824
|
title: title,
|
|
40323
39825
|
viewAllTitle: (viewAll === null || viewAll === void 0 ? void 0 : viewAll.textContent) || undefined
|
|
40324
39826
|
};
|
|
40325
|
-
return [2 /*return*/, React__default["default"].createElement(NavItemWithSubNav, __assign({}, props))];
|
|
39827
|
+
return [2 /*return*/, React__default["default"].createElement(NavItemWithSubNav$1, __assign({}, props))];
|
|
40326
39828
|
}
|
|
40327
39829
|
});
|
|
40328
39830
|
}); });
|
|
40329
39831
|
|
|
40330
|
-
var NodeItem = function (_a) {
|
|
39832
|
+
var NodeItem$1 = function (_a) {
|
|
40331
39833
|
var children = _a.children, props = __rest(_a, ["children"]);
|
|
40332
39834
|
return (React__default["default"].createElement(React__default["default"].Fragment, __assign({}, filterDataAttrs(props)), children));
|
|
40333
39835
|
};
|
|
40334
39836
|
|
|
40335
|
-
var MenuButton = function (_a) {
|
|
39837
|
+
var MenuButton$1 = function (_a) {
|
|
40336
39838
|
var _b;
|
|
40337
39839
|
var menuOpen = _a.menuOpen, setMenuOpen = _a.setMenuOpen;
|
|
40338
39840
|
return (React__default["default"].createElement("button", { "aria-expanded": menuOpen, className: classNames((_b = {},
|
|
@@ -40346,9 +39848,9 @@ var MenuButton = function (_a) {
|
|
|
40346
39848
|
React__default["default"].createElement("span", { className: "arc-MenuButton-text" }, "Menu"))));
|
|
40347
39849
|
};
|
|
40348
39850
|
|
|
40349
|
-
var defaultContext = { transparent: false };
|
|
40350
|
-
var Context = React.createContext(defaultContext);
|
|
40351
|
-
var Provider = Context.Provider;
|
|
39851
|
+
var defaultContext$2 = { transparent: false };
|
|
39852
|
+
var Context$2 = React.createContext(defaultContext$2);
|
|
39853
|
+
var Provider$2 = Context$2.Provider;
|
|
40352
39854
|
/**
|
|
40353
39855
|
* Use `SiteHeader` to display brand logo and navigation at the top of a page.
|
|
40354
39856
|
*/
|
|
@@ -40361,9 +39863,9 @@ var SiteHeader = function (_a) {
|
|
|
40361
39863
|
React.useEffect(function () {
|
|
40362
39864
|
React__default["default"].Children.map(children, function (item) {
|
|
40363
39865
|
if (item &&
|
|
40364
|
-
item.type !== NodeItem &&
|
|
40365
|
-
item.type !== NavItem &&
|
|
40366
|
-
item.type !== NavItemWithSubNav &&
|
|
39866
|
+
item.type !== NodeItem$1 &&
|
|
39867
|
+
item.type !== NavItem$1 &&
|
|
39868
|
+
item.type !== NavItemWithSubNav$1 &&
|
|
40367
39869
|
item.type !== React.Fragment) {
|
|
40368
39870
|
throw new Error("Illegal child passed to <SiteHeader />. Ensure to only use <SiteHeader.NavItem /> or <SiteHeader.NavItemWithSubNav />");
|
|
40369
39871
|
}
|
|
@@ -40406,7 +39908,7 @@ var SiteHeader = function (_a) {
|
|
|
40406
39908
|
// useEffect does not run in ReactDomServer renders
|
|
40407
39909
|
setHasClientSideJavaScript(true);
|
|
40408
39910
|
}, [setHasClientSideJavaScript]);
|
|
40409
|
-
return (React__default["default"].createElement(Provider, { value: { transparent: isTransparent } },
|
|
39911
|
+
return (React__default["default"].createElement(Provider$2, { value: { transparent: isTransparent } },
|
|
40410
39912
|
React__default["default"].createElement("div", __assign({ className: classNames((_b = {},
|
|
40411
39913
|
_b["arc-SiteHeader"] = true,
|
|
40412
39914
|
_b["arc-SiteHeader--menuOpen"] = menuOpen,
|
|
@@ -40419,10 +39921,10 @@ var SiteHeader = function (_a) {
|
|
|
40419
39921
|
React__default["default"].createElement("a", { className: "arc-SiteHeader-brand", onClick: handleLinkClick({
|
|
40420
39922
|
handler: logoOnClick
|
|
40421
39923
|
}), href: logoHref },
|
|
40422
|
-
React__default["default"].createElement(BrandLogo, { label: logoLabel, subBrand: subBrand })),
|
|
39924
|
+
React__default["default"].createElement(BrandLogo, { label: logoLabel, subBrand: subBrand, size: 40 })),
|
|
40423
39925
|
children && (React__default["default"].createElement("nav", { className: "arc-SiteHeader-nav" },
|
|
40424
39926
|
React__default["default"].createElement("div", { className: "arc-SiteHeader-menuButton" },
|
|
40425
|
-
React__default["default"].createElement(MenuButton, { menuOpen: menuOpen, setMenuOpen: setMenuOpen })),
|
|
39927
|
+
React__default["default"].createElement(MenuButton$1, { menuOpen: menuOpen, setMenuOpen: setMenuOpen })),
|
|
40426
39928
|
React__default["default"].createElement("div", { className: "arc-SiteHeader-main" },
|
|
40427
39929
|
React__default["default"].createElement("ul", { className: "arc-SiteHeader-navItems" }, children),
|
|
40428
39930
|
hasLogin && (React__default["default"].createElement(React__default["default"].Fragment, null, loginOnClick ? (React__default["default"].createElement("div", { className: "arc-SiteHeader-loginButton" },
|
|
@@ -40433,13 +39935,13 @@ var SiteHeader = function (_a) {
|
|
|
40433
39935
|
basket ? (React__default["default"].createElement("div", { className: "arc-SiteHeader-basket" }, basket)) : null,
|
|
40434
39936
|
hasLogin && (React__default["default"].createElement(React__default["default"].Fragment, null, loginOnClick ? (React__default["default"].createElement("div", { className: "arc-SiteHeader-loginLink arc-SiteHeader-loginLink--function", onClick: loginOnClick }, loginTitle)) : (React__default["default"].createElement("a", { className: "arc-SiteHeader-loginLink", href: loginHref }, loginTitle)))))))))));
|
|
40435
39937
|
};
|
|
40436
|
-
SiteHeader.Column = Column;
|
|
40437
|
-
SiteHeader.Item = Item;
|
|
40438
|
-
SiteHeader.ItemGroup = ItemGroup;
|
|
40439
|
-
SiteHeader.NavItem = NavItem;
|
|
40440
|
-
SiteHeader.NodeItem = NodeItem;
|
|
40441
|
-
SiteHeader.NavItemWithSubNav = NavItemWithSubNav;
|
|
40442
|
-
SiteHeader.SubNavItem = SubNavItem;
|
|
39938
|
+
SiteHeader.Column = Column$1;
|
|
39939
|
+
SiteHeader.Item = Item$1;
|
|
39940
|
+
SiteHeader.ItemGroup = ItemGroup$1;
|
|
39941
|
+
SiteHeader.NavItem = NavItem$1;
|
|
39942
|
+
SiteHeader.NodeItem = NodeItem$1;
|
|
39943
|
+
SiteHeader.NavItemWithSubNav = NavItemWithSubNav$1;
|
|
39944
|
+
SiteHeader.SubNavItem = SubNavItem$1;
|
|
40443
39945
|
|
|
40444
39946
|
var SiteHeaderRehydrator = function (el, hydrate) { return __awaiter(void 0, void 0, void 0, function () {
|
|
40445
39947
|
var children, basket, search, brand, login, logoHref, logoLabel, props;
|
|
@@ -40494,6 +39996,595 @@ SiteHeaderRehydrator.NavItemRehydrator = NavItemRehydrator;
|
|
|
40494
39996
|
SiteHeaderRehydrator.NavItemWithSubNavRehydrator = NavItemWithSubNavRehydrator;
|
|
40495
39997
|
SiteHeaderRehydrator.SubNavItemRehydrator = SubNavItemRehydrator;
|
|
40496
39998
|
|
|
39999
|
+
var Item = function (_a) {
|
|
40000
|
+
var _b;
|
|
40001
|
+
var children = _a.children, href = _a.href; _a.isEmphasised; var onClick = _a.onClick, props = __rest(_a, ["children", "href", "isEmphasised", "onClick"]);
|
|
40002
|
+
return (React__default["default"].createElement("li", __assign({ className: classNames((_b = {},
|
|
40003
|
+
_b["arc-SiteHeaderV2Item"] = true,
|
|
40004
|
+
_b["arc-SiteHeaderV2Item--emphasised"] = true,
|
|
40005
|
+
_b)) }, filterDataAttrs(props)),
|
|
40006
|
+
React__default["default"].createElement("a", { onClick: handleLinkClick({ handler: onClick }), className: "arc-SiteHeaderV2Item-link", href: href },
|
|
40007
|
+
React__default["default"].createElement("span", { className: "arc-SiteHeaderV2Item-linkIcon" },
|
|
40008
|
+
React__default["default"].createElement(BtIconChevronRightMid, null)),
|
|
40009
|
+
children)));
|
|
40010
|
+
};
|
|
40011
|
+
|
|
40012
|
+
var ItemGroup = function (_a) {
|
|
40013
|
+
var children = _a.children, href = _a.href, title = _a.title, subtitle = _a.subtitle, onClick = _a.onClick, viewAllTitle = _a.viewAllTitle, props = __rest(_a, ["children", "href", "title", "subtitle", "onClick", "viewAllTitle"]);
|
|
40014
|
+
var _b = React.useState(false), hasClientSideJavaScript = _b[0], setHasClientSideJavaScript = _b[1];
|
|
40015
|
+
var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));
|
|
40016
|
+
React.useEffect(function () {
|
|
40017
|
+
React__default["default"].Children.map(children, function (item) {
|
|
40018
|
+
if (item && item.type !== Item && item.type !== React.Fragment) {
|
|
40019
|
+
throw new Error("Illegal child passed to <SiteHeaderV2.ItemGroup />. Ensure to only use <SiteHeaderV2.Item />.");
|
|
40020
|
+
}
|
|
40021
|
+
});
|
|
40022
|
+
}, [children]);
|
|
40023
|
+
React.useEffect(function () {
|
|
40024
|
+
// useEffect does not run in ReactDomServer renders
|
|
40025
|
+
setHasClientSideJavaScript(true);
|
|
40026
|
+
}, [setHasClientSideJavaScript]);
|
|
40027
|
+
var ElementType = "div";
|
|
40028
|
+
if (title) {
|
|
40029
|
+
ElementType = "details";
|
|
40030
|
+
}
|
|
40031
|
+
return (React__default["default"].createElement("li", { className: "arc-SiteHeaderV2ItemGroup" },
|
|
40032
|
+
React__default["default"].createElement(ElementType, __assign({ className: "arc-SiteHeaderV2ItemGroup-details", open: Boolean(title && isMinWidthArcBreakpointL) }, filterDataAttrs(props)),
|
|
40033
|
+
title ? (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
40034
|
+
React__default["default"].createElement("summary", { className: "arc-SiteHeaderV2ItemGroup-summary", tabIndex: isMinWidthArcBreakpointL ? -1 : 0 }, href ? (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2ItemGroup-heading" },
|
|
40035
|
+
React__default["default"].createElement("a", { onClick: handleLinkClick({
|
|
40036
|
+
handler: onClick
|
|
40037
|
+
}), className: "arc-SiteHeaderV2ItemGroup-title", href: href, tabIndex: !hasClientSideJavaScript || isMinWidthArcBreakpointL
|
|
40038
|
+
? 0
|
|
40039
|
+
: -1 }, title),
|
|
40040
|
+
React__default["default"].createElement("span", { className: "arc-SiteHeaderV2ItemGroup-titleIcon" },
|
|
40041
|
+
React__default["default"].createElement(BtIconChevronRightMid, { size: 16 })))) : (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2ItemGroup-title" }, title))),
|
|
40042
|
+
React__default["default"].createElement("span", { className: "arc-SiteHeaderV2ItemGroup-subtitle" }, subtitle))) : null,
|
|
40043
|
+
React__default["default"].createElement("ul", { className: "arc-SiteHeaderV2ItemGroup-items" },
|
|
40044
|
+
children,
|
|
40045
|
+
href && title ? (React__default["default"].createElement("li", { className: "arc-SiteHeaderV2Item arc-SiteHeaderV2Item--viewAll" },
|
|
40046
|
+
React__default["default"].createElement("a", { className: "arc-SiteHeaderV2Item-link", onClick: handleLinkClick({
|
|
40047
|
+
handler: onClick
|
|
40048
|
+
}), href: href }, viewAllTitle || "View all ".concat(title.toLowerCase())))) : null))));
|
|
40049
|
+
};
|
|
40050
|
+
|
|
40051
|
+
var Column = function (_a) {
|
|
40052
|
+
var children = _a.children, props = __rest(_a, ["children"]);
|
|
40053
|
+
React.useEffect(function () {
|
|
40054
|
+
React__default["default"].Children.map(children, function (item) {
|
|
40055
|
+
if (item && item.type !== ItemGroup) {
|
|
40056
|
+
throw new Error("Illegal child passed to <SiteHeaderV2.Column />. Ensure to only use <SiteHeaderV2.ItemGroup />.");
|
|
40057
|
+
}
|
|
40058
|
+
});
|
|
40059
|
+
}, [children]);
|
|
40060
|
+
return (React__default["default"].createElement("li", __assign({ className: "arc-SiteHeaderV2Column" }, filterDataAttrs(props)),
|
|
40061
|
+
React__default["default"].createElement("ul", { className: "arc-SiteHeaderV2Column-items" }, children)));
|
|
40062
|
+
};
|
|
40063
|
+
|
|
40064
|
+
var BackButton = function (_a) {
|
|
40065
|
+
var setOpen = _a.setOpen;
|
|
40066
|
+
return (React__default["default"].createElement("button", { className: "arc-SiteHeaderV2BackButton", onClick: function () {
|
|
40067
|
+
setOpen(false);
|
|
40068
|
+
} },
|
|
40069
|
+
React__default["default"].createElement("span", { className: "arc-SiteHeaderV2BackButton-icon" },
|
|
40070
|
+
React__default["default"].createElement(BtIconChevronLeft2Px, null)),
|
|
40071
|
+
React__default["default"].createElement("span", { className: "arc-SiteHeaderV2BackButton-text" }, "Back")));
|
|
40072
|
+
};
|
|
40073
|
+
|
|
40074
|
+
var Panel = function (_a) {
|
|
40075
|
+
var _b, _c, _d, _e, _f;
|
|
40076
|
+
var children = _a.children, navItemRef = _a.navItemRef, isNavItem = _a.isNavItem, open = _a.open, setOpen = _a.setOpen, subNavItemRef = _a.subNavItemRef, _g = _a.subNavLink, subNavLink = _g === void 0 ? "" : _g, title = _a.title, subtitle = _a.subtitle, viewAll = _a.viewAll, withSubNav = _a.withSubNav, fade = _a.fade, isPrimary = _a.isPrimary, props = __rest(_a, ["children", "navItemRef", "isNavItem", "open", "setOpen", "subNavItemRef", "subNavLink", "title", "subtitle", "viewAll", "withSubNav", "fade", "isPrimary"]);
|
|
40077
|
+
var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));
|
|
40078
|
+
React.useEffect(function () {
|
|
40079
|
+
// Where appropriate, close the Panel when clicking outside of it,
|
|
40080
|
+
// by listening to clicks on the entire document and acting accordingly.
|
|
40081
|
+
var handleClick = function (e) {
|
|
40082
|
+
var _a, _b;
|
|
40083
|
+
// Don't close the Panel…
|
|
40084
|
+
if (
|
|
40085
|
+
// The click is inside the current SubNavItem.
|
|
40086
|
+
((_a = subNavItemRef === null || subNavItemRef === void 0 ? void 0 : subNavItemRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) ||
|
|
40087
|
+
// The click is inside the current NavItem
|
|
40088
|
+
// and the Panel is not inside a SubNavItem.
|
|
40089
|
+
// and the target is not a link
|
|
40090
|
+
(((_b = navItemRef === null || navItemRef === void 0 ? void 0 : navItemRef.current) === null || _b === void 0 ? void 0 : _b.contains(e.target)) &&
|
|
40091
|
+
!subNavItemRef &&
|
|
40092
|
+
!e.target.getAttribute("href")) ||
|
|
40093
|
+
// The Panel is inside a SubNavItem
|
|
40094
|
+
// and the click is not on a SubNavItem-link.
|
|
40095
|
+
// This ensures that one SubNavItem Panel per NavItem always remains open.
|
|
40096
|
+
(subNavItemRef &&
|
|
40097
|
+
!e.target.classList.contains(subNavLink) &&
|
|
40098
|
+
!e.target.classList.contains("".concat(subNavLink, "Title")) &&
|
|
40099
|
+
!e.target.classList.contains("".concat(subNavLink, "SubTitle"))) ||
|
|
40100
|
+
// Panel is inside a SubNavItem
|
|
40101
|
+
// and the click is not inside the Panel's NavItem parent.
|
|
40102
|
+
// This prevents SubNavItem Panels in sibling NavItems from being closed.
|
|
40103
|
+
(subNavItemRef && !(navItemRef === null || navItemRef === void 0 ? void 0 : navItemRef.current.contains(e.target)))) {
|
|
40104
|
+
return;
|
|
40105
|
+
}
|
|
40106
|
+
// Close the panel.
|
|
40107
|
+
setOpen(false);
|
|
40108
|
+
};
|
|
40109
|
+
document.addEventListener("click", handleClick);
|
|
40110
|
+
return function () {
|
|
40111
|
+
document.removeEventListener("click", handleClick);
|
|
40112
|
+
};
|
|
40113
|
+
}, [navItemRef, setOpen, subNavItemRef, subNavLink]);
|
|
40114
|
+
React.useEffect(function () {
|
|
40115
|
+
var handleKeydown = function (e) {
|
|
40116
|
+
// Check the viewport width at time of press
|
|
40117
|
+
var isMinWidthArcBreakpointL = window.matchMedia("(min-width: ".concat(ArcBreakpointL, "px)")).matches;
|
|
40118
|
+
if (e.key === "Escape" || e.keyCode === 27) {
|
|
40119
|
+
if (isMinWidthArcBreakpointL && subNavItemRef) {
|
|
40120
|
+
// Don't close Panels inside SubNavItems when viewport width is above
|
|
40121
|
+
// the "desktop" breakpoint.
|
|
40122
|
+
return false;
|
|
40123
|
+
}
|
|
40124
|
+
return setOpen(false);
|
|
40125
|
+
}
|
|
40126
|
+
};
|
|
40127
|
+
window.addEventListener("keydown", handleKeydown);
|
|
40128
|
+
return function () {
|
|
40129
|
+
window.removeEventListener("keydown", handleKeydown);
|
|
40130
|
+
};
|
|
40131
|
+
}, [setOpen, subNavItemRef]);
|
|
40132
|
+
return (React__default["default"].createElement("div", { style: { display: "flex" } },
|
|
40133
|
+
React__default["default"].createElement("div", __assign({ className: classNames((_b = {},
|
|
40134
|
+
_b["arc-SiteHeaderV2Panel"] = true,
|
|
40135
|
+
_b["arc-SiteHeaderV2Panel--open"] = open,
|
|
40136
|
+
_b["arc-SiteHeaderV2Panel--withSubNav"] = withSubNav,
|
|
40137
|
+
_b)) }, filterDataAttrs(props)),
|
|
40138
|
+
React__default["default"].createElement(Surface, { background: "white" },
|
|
40139
|
+
React__default["default"].createElement(BackButton, { setOpen: setOpen }),
|
|
40140
|
+
React__default["default"].createElement("div", { className: classNames((_c = {},
|
|
40141
|
+
_c["arc-SiteHeaderV2Panel-inner"] = !isNavItem && withSubNav,
|
|
40142
|
+
_c["arc-SiteHeaderV2Panel-innerWithoutSubNav"] = !isNavItem && !withSubNav,
|
|
40143
|
+
_c["arc-SiteHeaderV2NavItemWithSubNav-fadeIn"] = !isNavItem && !withSubNav,
|
|
40144
|
+
_c["arc-SiteHeaderV2Panel-innerNavItems"] = isNavItem,
|
|
40145
|
+
_c)) },
|
|
40146
|
+
React__default["default"].createElement("div", { className: classNames((_d = {},
|
|
40147
|
+
_d["arc-SiteHeaderV2Panel-main"] = !isNavItem && !withSubNav,
|
|
40148
|
+
_d)) },
|
|
40149
|
+
React__default["default"].createElement("div", { className: classNames((_e = {},
|
|
40150
|
+
_e["arc-SiteHeaderV2Panel-mainInnerWithoutSubNav"] = !isNavItem && !withSubNav,
|
|
40151
|
+
_e["arc-SiteHeaderV2Panel-mainInner"] = !isNavItem,
|
|
40152
|
+
_e["arc-SiteHeaderV2Panel-mainInnerNavItems"] = isNavItem,
|
|
40153
|
+
_e)) },
|
|
40154
|
+
withSubNav && (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2Panel-subNavArea" })),
|
|
40155
|
+
!isMinWidthArcBreakpointL && title && (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2Panel-mobileTitleBlock" },
|
|
40156
|
+
React__default["default"].createElement("div", { className: "arc-SiteHeaderV2Panel-mobileTitle" },
|
|
40157
|
+
title && (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2Panel-title" }, title)),
|
|
40158
|
+
React__default["default"].createElement("div", { className: "arc-SiteHeaderV2Panel-subTitle" }, subtitle)))),
|
|
40159
|
+
React__default["default"].createElement("ul", { className: classNames((_f = {},
|
|
40160
|
+
_f["arc-SiteHeaderV2Panel-items"] = !isNavItem,
|
|
40161
|
+
_f["arc-SiteHeaderV2Panel-itemsNavItems"] = isNavItem,
|
|
40162
|
+
_f["arc-SiteHeaderV2NavItemWithSubNav-fadeIn"] = isNavItem && fade && !isPrimary,
|
|
40163
|
+
_f)) }, children),
|
|
40164
|
+
!withSubNav && viewAll)),
|
|
40165
|
+
withSubNav && viewAll)))));
|
|
40166
|
+
};
|
|
40167
|
+
var ViewAll = function (_a) {
|
|
40168
|
+
var href = _a.href, title = _a.title, onClick = _a.onClick, fill = _a.fill;
|
|
40169
|
+
var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));
|
|
40170
|
+
if (fill === "outlined") {
|
|
40171
|
+
return isMinWidthArcBreakpointL ? (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2Panel-viewAllOutlined" },
|
|
40172
|
+
React__default["default"].createElement(Button, { fill: fill, label: title !== null && title !== void 0 ? title : "", href: href, onClick: onClick }),
|
|
40173
|
+
" ")) : (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2Panel-mobileViewAll arc-SiteHeaderV2Panel-mobileViewAllOutlined" },
|
|
40174
|
+
React__default["default"].createElement("a", { className: "arc-SiteHeaderV2Item-link", onClick: handleLinkClick({
|
|
40175
|
+
handler: onClick
|
|
40176
|
+
}), href: href }, title)));
|
|
40177
|
+
}
|
|
40178
|
+
else {
|
|
40179
|
+
return isMinWidthArcBreakpointL ? (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2Panel-viewAll" },
|
|
40180
|
+
" ",
|
|
40181
|
+
React__default["default"].createElement(Button, { fill: fill, label: title !== null && title !== void 0 ? title : "", isFullWidth: true, href: href, onClick: onClick }),
|
|
40182
|
+
" ")) : (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2Panel-mobileViewAll" },
|
|
40183
|
+
React__default["default"].createElement("a", { className: "arc-SiteHeaderV2Item-link", onClick: handleLinkClick({
|
|
40184
|
+
handler: onClick
|
|
40185
|
+
}), href: href }, title)));
|
|
40186
|
+
}
|
|
40187
|
+
};
|
|
40188
|
+
Panel.ViewAll = ViewAll;
|
|
40189
|
+
|
|
40190
|
+
var NavItem = function (_a) {
|
|
40191
|
+
var _b, _c, _d, _e, _f;
|
|
40192
|
+
var children = _a.children, href = _a.href, isCurrent = _a.isCurrent, onClick = _a.onClick, title = _a.title; _a.viewAllTitle; var isPrimary = _a.isPrimary, subTitle = _a.subTitle, props = __rest(_a, ["children", "href", "isCurrent", "onClick", "title", "viewAllTitle", "isPrimary", "subTitle"]);
|
|
40193
|
+
var navItem = React.useRef();
|
|
40194
|
+
var _g = React.useState(false), panelOpen = _g[0], setPanelOpen = _g[1];
|
|
40195
|
+
var _h = React.useState(false), animation = _h[0], setAnimation = _h[1];
|
|
40196
|
+
var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));
|
|
40197
|
+
React.useEffect(function () {
|
|
40198
|
+
React__default["default"].Children.map(children, function (item) {
|
|
40199
|
+
if (item &&
|
|
40200
|
+
item.type !== ItemGroup &&
|
|
40201
|
+
item.type !== Column &&
|
|
40202
|
+
item.type !== React.Fragment) {
|
|
40203
|
+
throw new Error("Illegal child passed to <SiteHeaderV2.NavItem />. Ensure to only use <SiteHeaderV2.ItemGroup /> or <SiteHeaderV2.Column />.");
|
|
40204
|
+
}
|
|
40205
|
+
});
|
|
40206
|
+
}, [children]);
|
|
40207
|
+
return (React__default["default"].createElement("li", __assign({ className: classNames((_b = {},
|
|
40208
|
+
_b["arc-SiteHeaderV2NavItem-primary"] = isPrimary,
|
|
40209
|
+
_b["arc-SiteHeaderV2NavItemWithSubNav-Secondary"] = !isPrimary,
|
|
40210
|
+
_b["arc-SiteHeaderV2NavItem"] = !subTitle && !isPrimary,
|
|
40211
|
+
_b["arc-SiteHeaderV2NavItem--linkSelected"] = (children && panelOpen) || (!children && href && isCurrent),
|
|
40212
|
+
_b["arc-SiteHeaderV2NavItemWithSubNav-active"] = !isPrimary && panelOpen,
|
|
40213
|
+
_b)), ref: navItem }, filterDataAttrs(props)), !children ? (href ? (React__default["default"].createElement("a", { onClick: handleLinkClick({
|
|
40214
|
+
handler: onClick
|
|
40215
|
+
}), className: "arc-SiteHeaderV2NavItem-link", href: href }, title)) : null) : (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
40216
|
+
React__default["default"].createElement("div", { className: "arc-SiteHeaderV2NavItemWithSubNav-buttonContainer" },
|
|
40217
|
+
React__default["default"].createElement("button", { "aria-expanded": panelOpen, className: classNames((_c = {},
|
|
40218
|
+
_c["arc-SiteHeaderV2NavItem-link"] = true,
|
|
40219
|
+
_c["arc-SiteHeaderV2NavItem-link--itemHasChildren"] = true,
|
|
40220
|
+
_c["arc-SiteHeaderV2NavItem-horizontalPanelLink"] = !isPrimary && !isMinWidthArcBreakpointL,
|
|
40221
|
+
_c)), onClick: function (e) {
|
|
40222
|
+
e.preventDefault();
|
|
40223
|
+
setPanelOpen(!panelOpen);
|
|
40224
|
+
setAnimation(true);
|
|
40225
|
+
}, onAnimationEnd: function () { return setAnimation(false); } },
|
|
40226
|
+
React__default["default"].createElement("div", { className: classNames((_d = {},
|
|
40227
|
+
_d["arc-SiteHeaderV2NavItem-title"] = !subTitle,
|
|
40228
|
+
_d)) }, title),
|
|
40229
|
+
React__default["default"].createElement("span", { className: "arc-SiteHeaderV2-mobileChevron" },
|
|
40230
|
+
React__default["default"].createElement(BtIconChevronRight2Px, null)),
|
|
40231
|
+
subTitle && !isPrimary && isMinWidthArcBreakpointL ? (React__default["default"].createElement("div", { className: classNames((_e = {},
|
|
40232
|
+
_e["arc-SiteHeaderV2NavItemWithSubNav-text"] = !isPrimary,
|
|
40233
|
+
_e)) }, subTitle)) : null,
|
|
40234
|
+
React__default["default"].createElement("div", { className: classNames((_f = {},
|
|
40235
|
+
_f["arc-SiteHeaderV2NavItemWithSubNav-buttonUnderline"] = panelOpen,
|
|
40236
|
+
_f["arc-SiteHeaderV2NavItemWithSubNav-primaryButtonUnderline"] = isPrimary && panelOpen,
|
|
40237
|
+
_f["arc-SiteHeaderV2NavItemWithSubNav-buttonUnderlineActive"] = !isPrimary && panelOpen,
|
|
40238
|
+
_f)) }))),
|
|
40239
|
+
React__default["default"].createElement(Panel, { navItemRef: navItem, isNavItem: true, isPrimary: isPrimary, open: panelOpen, setOpen: setPanelOpen, fade: animation, viewAll: href ? (React__default["default"].createElement(Panel.ViewAll, { href: href, onClick: onClick, title: "See all solutions", fill: "solid" })) : undefined }, children)))));
|
|
40240
|
+
};
|
|
40241
|
+
|
|
40242
|
+
var HorizontalPanel = function (_a) {
|
|
40243
|
+
var _b, _c, _d;
|
|
40244
|
+
var children = _a.children, navItemRef = _a.navItemRef, open = _a.open, setOpen = _a.setOpen, subNavItemRef = _a.subNavItemRef, _e = _a.subNavLink, subNavLink = _e === void 0 ? "" : _e, title = _a.title, withSubNav = _a.withSubNav; _a.animation; var props = __rest(_a, ["children", "navItemRef", "open", "setOpen", "subNavItemRef", "subNavLink", "title", "withSubNav", "animation"]);
|
|
40245
|
+
React.useEffect(function () {
|
|
40246
|
+
// Where appropriate, close the Panel when clicking outside of it,
|
|
40247
|
+
// by listening to clicks on the entire document and acting accordingly.
|
|
40248
|
+
var handleClick = function (e) {
|
|
40249
|
+
var _a, _b;
|
|
40250
|
+
// Don't close the Panel…
|
|
40251
|
+
if (
|
|
40252
|
+
// The click is inside the current SubNavItem.
|
|
40253
|
+
((_a = subNavItemRef === null || subNavItemRef === void 0 ? void 0 : subNavItemRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) ||
|
|
40254
|
+
// The click is inside the current NavItem
|
|
40255
|
+
// and the Panel is not inside a SubNavItem.
|
|
40256
|
+
// and the target is not a link
|
|
40257
|
+
(((_b = navItemRef === null || navItemRef === void 0 ? void 0 : navItemRef.current) === null || _b === void 0 ? void 0 : _b.contains(e.target)) &&
|
|
40258
|
+
!subNavItemRef &&
|
|
40259
|
+
!e.target.getAttribute("href")) ||
|
|
40260
|
+
// The Panel is inside a SubNavItem
|
|
40261
|
+
// and the click is not on a SubNavItem-link.
|
|
40262
|
+
// This ensures that one SubNavItem Panel per NavItem always remains open.
|
|
40263
|
+
(subNavItemRef &&
|
|
40264
|
+
!e.target.classList.contains(subNavLink) &&
|
|
40265
|
+
!e.target.classList.contains("".concat(subNavLink, "Title")) &&
|
|
40266
|
+
!e.target.classList.contains("".concat(subNavLink, "SubTitle"))) ||
|
|
40267
|
+
// Panel is inside a SubNavItem
|
|
40268
|
+
// and the click is not inside the Panel's NavItem parent.
|
|
40269
|
+
// This prevents SubNavItem Panels in sibling NavItems from being closed.
|
|
40270
|
+
(subNavItemRef && !(navItemRef === null || navItemRef === void 0 ? void 0 : navItemRef.current.contains(e.target)))) {
|
|
40271
|
+
return;
|
|
40272
|
+
}
|
|
40273
|
+
// Close the panel.
|
|
40274
|
+
setOpen(false);
|
|
40275
|
+
};
|
|
40276
|
+
document.addEventListener("click", handleClick);
|
|
40277
|
+
return function () {
|
|
40278
|
+
document.removeEventListener("click", handleClick);
|
|
40279
|
+
};
|
|
40280
|
+
}, [navItemRef, setOpen, subNavItemRef, subNavLink]);
|
|
40281
|
+
React.useEffect(function () {
|
|
40282
|
+
var handleKeydown = function (e) {
|
|
40283
|
+
// Check the viewport width at time of press
|
|
40284
|
+
var isMinWidthArcBreakpointL = window.matchMedia("(min-width: ".concat(ArcBreakpointL, "px)")).matches;
|
|
40285
|
+
if (e.key === "Escape" || e.keyCode === 27) {
|
|
40286
|
+
if (isMinWidthArcBreakpointL && subNavItemRef) {
|
|
40287
|
+
// Don't close Panels inside SubNavItems when viewport width is above
|
|
40288
|
+
// the "desktop" breakpoint.
|
|
40289
|
+
return false;
|
|
40290
|
+
}
|
|
40291
|
+
return setOpen(false);
|
|
40292
|
+
}
|
|
40293
|
+
};
|
|
40294
|
+
window.addEventListener("keydown", handleKeydown);
|
|
40295
|
+
return function () {
|
|
40296
|
+
window.removeEventListener("keydown", handleKeydown);
|
|
40297
|
+
};
|
|
40298
|
+
}, [setOpen, subNavItemRef]);
|
|
40299
|
+
return (React__default["default"].createElement("div", __assign({ className: classNames((_b = {},
|
|
40300
|
+
_b["arc-SiteHeaderV2HorizontalPanel"] = true,
|
|
40301
|
+
_b["arc-SiteHeaderV2HorizontalPanel--open"] = open,
|
|
40302
|
+
_b["arc-SiteHeaderV2HorizontalPanel--withSubNav"] = withSubNav,
|
|
40303
|
+
_b)) }, filterDataAttrs(props)),
|
|
40304
|
+
React__default["default"].createElement(Surface, { background: "light" },
|
|
40305
|
+
React__default["default"].createElement("div", { className: classNames((_c = {},
|
|
40306
|
+
_c["arc-SiteHeaderV2HorizontalPanel-container"] = true,
|
|
40307
|
+
_c)) },
|
|
40308
|
+
React__default["default"].createElement(BackButton, { setOpen: setOpen }),
|
|
40309
|
+
title && (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2Panel-selectedTitle" }, title)),
|
|
40310
|
+
React__default["default"].createElement("ul", { className: classNames((_d = {},
|
|
40311
|
+
_d["arc-SiteHeaderV2HorizontalPanel-items"] = true,
|
|
40312
|
+
_d)) }, children)))));
|
|
40313
|
+
};
|
|
40314
|
+
|
|
40315
|
+
var defaultContext$1 = { navItem: null, subTitle: null };
|
|
40316
|
+
var Context$1 = React.createContext(defaultContext$1);
|
|
40317
|
+
var Provider$1 = Context$1.Provider;
|
|
40318
|
+
var NavItemWithSubNav = function (_a) {
|
|
40319
|
+
var _b, _c, _d, _e, _f;
|
|
40320
|
+
var href = _a.href, slot1 = _a.slot1, slot2 = _a.slot2, slot3 = _a.slot3, slot4 = _a.slot4, slot5 = _a.slot5, slot6 = _a.slot6, _g = _a.subTitle, subTitle = _g === void 0 ? null : _g, title = _a.title, onViewAllClick = _a.onViewAllClick, isPrimary = _a.isPrimary, viewAllTitle = _a.viewAllTitle, props = __rest(_a, ["href", "slot1", "slot2", "slot3", "slot4", "slot5", "slot6", "subTitle", "title", "onViewAllClick", "isPrimary", "viewAllTitle"]);
|
|
40321
|
+
var navItem = React.useRef();
|
|
40322
|
+
var _h = React.useState(true), defaultItem = _h[0], setDefaultItem = _h[1];
|
|
40323
|
+
var _j = React.useState(false), panelOpen = _j[0], setPanelOpen = _j[1];
|
|
40324
|
+
var _k = React.useState(false), horizontalPanelOpen = _k[0], setHorizontalPanelOpen = _k[1];
|
|
40325
|
+
var _l = React.useState(false), animation = _l[0], setAnimation = _l[1];
|
|
40326
|
+
var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));
|
|
40327
|
+
React.useEffect(function () {
|
|
40328
|
+
React__default["default"].Children.map(slot1, function (item) {
|
|
40329
|
+
if (item.props.isDefaultItem) {
|
|
40330
|
+
setDefaultItem(false);
|
|
40331
|
+
}
|
|
40332
|
+
});
|
|
40333
|
+
React__default["default"].Children.map(slot2, function (item) {
|
|
40334
|
+
if (item.props.isDefaultItem) {
|
|
40335
|
+
setDefaultItem(false);
|
|
40336
|
+
}
|
|
40337
|
+
});
|
|
40338
|
+
React__default["default"].Children.map(slot3, function (item) {
|
|
40339
|
+
if (item.props.isDefaultItem) {
|
|
40340
|
+
setDefaultItem(false);
|
|
40341
|
+
}
|
|
40342
|
+
});
|
|
40343
|
+
React__default["default"].Children.map(slot4, function (item) {
|
|
40344
|
+
if (item.props.isDefaultItem) {
|
|
40345
|
+
setDefaultItem(false);
|
|
40346
|
+
}
|
|
40347
|
+
});
|
|
40348
|
+
React__default["default"].Children.map(slot5, function (item) {
|
|
40349
|
+
if (item.props.isDefaultItem) {
|
|
40350
|
+
setDefaultItem(false);
|
|
40351
|
+
}
|
|
40352
|
+
});
|
|
40353
|
+
}, [slot1, slot2, slot3, slot4, slot5]);
|
|
40354
|
+
return (React__default["default"].createElement(Provider$1, { value: { navItem: navItem, subTitle: subTitle } },
|
|
40355
|
+
React__default["default"].createElement("li", __assign({ className: classNames((_b = {},
|
|
40356
|
+
_b["arc-SiteHeaderV2NavItemWithSubNav"] = true,
|
|
40357
|
+
_b["arc-SiteHeaderV2NavItemWithSubNav-Secondary"] = !isPrimary,
|
|
40358
|
+
_b["arc-SiteHeaderV2NavItem-primary"] = isPrimary,
|
|
40359
|
+
_b["arc-SiteHeaderV2NavItem--linkSelected"] = isPrimary
|
|
40360
|
+
? horizontalPanelOpen
|
|
40361
|
+
: panelOpen,
|
|
40362
|
+
_b["arc-SiteHeaderV2NavItemWithSubNav-active"] = panelOpen,
|
|
40363
|
+
_b)), ref: navItem }, filterDataAttrs(props)),
|
|
40364
|
+
React__default["default"].createElement("div", { className: "arc-SiteHeaderV2NavItemWithSubNav-buttonContainer" },
|
|
40365
|
+
React__default["default"].createElement("button", { "aria-expanded": horizontalPanelOpen, className: classNames((_c = {},
|
|
40366
|
+
_c["arc-SiteHeaderV2NavItem-link"] = true,
|
|
40367
|
+
_c["arc-SiteHeaderV2NavItem-link--itemHasChildren"] = true,
|
|
40368
|
+
_c["arc-SiteHeaderV2NavItem-horizontalPanelLink"] = !isPrimary && !isMinWidthArcBreakpointL,
|
|
40369
|
+
_c)), onClick: function (e) {
|
|
40370
|
+
e.preventDefault();
|
|
40371
|
+
isPrimary
|
|
40372
|
+
? setHorizontalPanelOpen(!horizontalPanelOpen)
|
|
40373
|
+
: setPanelOpen(!horizontalPanelOpen);
|
|
40374
|
+
setAnimation(true);
|
|
40375
|
+
}, onAnimationEnd: function () { return setAnimation(false); } },
|
|
40376
|
+
React__default["default"].createElement("div", { className: classNames((_d = {},
|
|
40377
|
+
_d["arc-SiteHeaderV2NavItem-title"] = isPrimary,
|
|
40378
|
+
_d)) }, title),
|
|
40379
|
+
React__default["default"].createElement("span", { className: "arc-SiteHeaderV2-mobileChevron" },
|
|
40380
|
+
React__default["default"].createElement(BtIconChevronRight2Px, null)),
|
|
40381
|
+
subTitle && !isPrimary && isMinWidthArcBreakpointL ? (React__default["default"].createElement("div", { className: classNames((_e = {},
|
|
40382
|
+
_e["arc-SiteHeaderV2NavItemWithSubNav-text"] = !isPrimary,
|
|
40383
|
+
_e)) }, subTitle)) : null,
|
|
40384
|
+
React__default["default"].createElement("div", { className: classNames((_f = {},
|
|
40385
|
+
_f["arc-SiteHeaderV2NavItemWithSubNav-buttonUnderline"] = isPrimary
|
|
40386
|
+
? horizontalPanelOpen
|
|
40387
|
+
: panelOpen,
|
|
40388
|
+
_f["arc-SiteHeaderV2NavItemWithSubNav-primaryButtonUnderline"] = isPrimary && horizontalPanelOpen,
|
|
40389
|
+
_f["arc-SiteHeaderV2NavItemWithSubNav-buttonUnderlineActive "] = !isPrimary && panelOpen,
|
|
40390
|
+
_f)) }))),
|
|
40391
|
+
isPrimary && (React__default["default"].createElement(HorizontalPanel, { animation: animation, navItemRef: navItem, open: horizontalPanelOpen, setOpen: setHorizontalPanelOpen, title: !isMinWidthArcBreakpointL && title },
|
|
40392
|
+
slot1,
|
|
40393
|
+
slot2,
|
|
40394
|
+
slot3,
|
|
40395
|
+
slot4,
|
|
40396
|
+
slot5)),
|
|
40397
|
+
React__default["default"].createElement(Panel, { navItemRef: navItem, open: panelOpen, fade: animation, setOpen: setPanelOpen, title: !isMinWidthArcBreakpointL && title, subtitle: subTitle, viewAll: href ? (React__default["default"].createElement(Panel.ViewAll, { href: href, onClick: onViewAllClick, title: viewAllTitle, fill: "solid" })) : undefined, withSubNav: true, isNavItem: false },
|
|
40398
|
+
defaultItem
|
|
40399
|
+
? React__default["default"].cloneElement(slot1, { isDefaultItem: defaultItem })
|
|
40400
|
+
: slot1,
|
|
40401
|
+
slot2,
|
|
40402
|
+
slot3,
|
|
40403
|
+
slot4,
|
|
40404
|
+
slot5,
|
|
40405
|
+
slot6))));
|
|
40406
|
+
};
|
|
40407
|
+
|
|
40408
|
+
var NodeItem = function (_a) {
|
|
40409
|
+
var children = _a.children, props = __rest(_a, ["children"]);
|
|
40410
|
+
return (React__default["default"].createElement(React__default["default"].Fragment, __assign({}, filterDataAttrs(props)), children));
|
|
40411
|
+
};
|
|
40412
|
+
|
|
40413
|
+
var MenuButton = function (_a) {
|
|
40414
|
+
var _b;
|
|
40415
|
+
var menuOpen = _a.menuOpen, setMenuOpen = _a.setMenuOpen;
|
|
40416
|
+
return (React__default["default"].createElement("button", { "aria-expanded": menuOpen, className: classNames((_b = {},
|
|
40417
|
+
_b["arc-MenuButton"] = true,
|
|
40418
|
+
_b["arc-MenuButton--menuOpen"] = menuOpen,
|
|
40419
|
+
_b)), onClick: function () {
|
|
40420
|
+
setMenuOpen(!menuOpen);
|
|
40421
|
+
}, type: "button" },
|
|
40422
|
+
React__default["default"].createElement("span", { className: "arc-MenuButton-box" },
|
|
40423
|
+
React__default["default"].createElement("span", { className: "arc-MenuButton-inner" }),
|
|
40424
|
+
React__default["default"].createElement("span", { className: "arc-MenuButton-text" }, "Menu"))));
|
|
40425
|
+
};
|
|
40426
|
+
|
|
40427
|
+
var SubNavItem = function (_a) {
|
|
40428
|
+
var _b, _c;
|
|
40429
|
+
var children = _a.children, _d = _a.isDefaultItem, isDefaultItem = _d === void 0 ? false : _d, href = _a.href, onClick = _a.onClick, offsetXL = _a.offsetXL, subTitle = _a.subTitle, title = _a.title, viewAllTitle = _a.viewAllTitle, icon = _a.icon, props = __rest(_a, ["children", "isDefaultItem", "href", "onClick", "offsetXL", "subTitle", "title", "viewAllTitle", "icon"]);
|
|
40430
|
+
var navItem = React.useContext(Context$1).navItem;
|
|
40431
|
+
var subNavItem = React.useRef();
|
|
40432
|
+
var _e = React.useState(false), panelOpen = _e[0], setPanelOpen = _e[1];
|
|
40433
|
+
var _f = React.useState(false), fade = _f[0], setFade = _f[1];
|
|
40434
|
+
var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));
|
|
40435
|
+
React.useEffect(function () {
|
|
40436
|
+
React__default["default"].Children.map(children, function (item) {
|
|
40437
|
+
if (item &&
|
|
40438
|
+
item.type !== ItemGroup &&
|
|
40439
|
+
item.type !== Column &&
|
|
40440
|
+
item.type !== React.Fragment) {
|
|
40441
|
+
throw new Error("Illegal child passed to <SiteHeaderV2.SubNavItem />. Ensure to only use <SiteHeaderV2.ItemGroup /> or <SiteHeaderV2.Column />.");
|
|
40442
|
+
}
|
|
40443
|
+
});
|
|
40444
|
+
}, [children]);
|
|
40445
|
+
React.useEffect(function () {
|
|
40446
|
+
if (isDefaultItem && isMinWidthArcBreakpointL) {
|
|
40447
|
+
setPanelOpen(true);
|
|
40448
|
+
}
|
|
40449
|
+
else {
|
|
40450
|
+
setPanelOpen(false);
|
|
40451
|
+
}
|
|
40452
|
+
}, [isDefaultItem, isMinWidthArcBreakpointL]);
|
|
40453
|
+
var linkTitle = (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
40454
|
+
React__default["default"].createElement("span", { className: "arc-SiteHeaderV2SubNavItem-linkTitle" }, title),
|
|
40455
|
+
children && panelOpen && (React__default["default"].createElement("span", { className: "arc-SiteHeaderV2SubNavItem-linkIcon" },
|
|
40456
|
+
React__default["default"].createElement(BtIconChevronRight2Px, null))),
|
|
40457
|
+
children && !isMinWidthArcBreakpointL && (React__default["default"].createElement("span", { className: "arc-SiteHeaderV2SubNavItem-linkIcon" },
|
|
40458
|
+
React__default["default"].createElement(BtIconChevronRight2Px, null))),
|
|
40459
|
+
subTitle ? (React__default["default"].createElement("span", { className: "arc-SiteHeaderV2SubNavItem-linkSubTitle" }, subTitle)) : null));
|
|
40460
|
+
return (React__default["default"].createElement("li", __assign({ className: classNames((_b = {},
|
|
40461
|
+
_b["arc-SiteHeaderV2SubNavItem"] = true,
|
|
40462
|
+
_b["arc-SiteHeaderV2SubNavItem--linkSelected"] = children && panelOpen,
|
|
40463
|
+
_b["arc-SiteHeaderV2SubNavItem--linkNotSelected"] = children && !panelOpen,
|
|
40464
|
+
_b[suffixModifier("arc-SiteHeaderV2SubNavItem--offsetXL", offsetXL || "")] = offsetXL,
|
|
40465
|
+
_b)), ref: subNavItem }, filterDataAttrs(props), { "data-default-item": isDefaultItem || null }), !children ? (href ? (React__default["default"].createElement("a", { className: "arc-SiteHeaderV2SubNavItem-link", onClick: handleLinkClick({ handler: onClick }), href: href }, linkTitle)) : null) : (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
40466
|
+
React__default["default"].createElement("button", { "aria-expanded": panelOpen, className: classNames((_c = {},
|
|
40467
|
+
_c["arc-SiteHeaderV2SubNavItem-link"] = true,
|
|
40468
|
+
_c["arc-SiteHeaderV2SubNavItem-link--itemHasChildren"] = children,
|
|
40469
|
+
_c)), onClick: function (e) {
|
|
40470
|
+
e.preventDefault();
|
|
40471
|
+
setPanelOpen(true);
|
|
40472
|
+
setFade(true);
|
|
40473
|
+
}, onAnimationEnd: function () { return setFade(false); } },
|
|
40474
|
+
React__default["default"].createElement("div", { className: "arc-SiteHeaderV2SubNavItem-icon" },
|
|
40475
|
+
icon && (React__default["default"].createElement("span", { className: "arc-SiteHeaderV2SubNavItem-panelIcon" }, isMinWidthArcBreakpointL && React__default["default"].createElement(Icon, { icon: icon, size: 48 }))),
|
|
40476
|
+
React__default["default"].createElement("span", { "data-cy": "linkTitle", className: "arc-SiteHeaderV2SubNavItem-title" }, linkTitle))),
|
|
40477
|
+
React__default["default"].createElement(Panel, { navItemRef: navItem, open: panelOpen, setOpen: setPanelOpen, subNavItemRef: subNavItem, subNavLink: "arc-SiteHeaderV2SubNavItem-link", title: React__default["default"].createElement("span", null,
|
|
40478
|
+
title,
|
|
40479
|
+
subTitle && (React__default["default"].createElement(Text, { size: "xs", tone: "supporting" }, subTitle))), viewAll: href ? (React__default["default"].createElement(Panel.ViewAll, { href: href, onClick: onClick, title: viewAllTitle || "See all ".concat(title), fill: "outlined" })) : undefined, isNavItem: false, fade: fade }, children)))));
|
|
40480
|
+
};
|
|
40481
|
+
|
|
40482
|
+
var VerticalDivider = function () {
|
|
40483
|
+
return React__default["default"].createElement("li", { className: "arc-SiteHeaderV2VerticalDivider-line" });
|
|
40484
|
+
};
|
|
40485
|
+
|
|
40486
|
+
var defaultContext = { transparent: false };
|
|
40487
|
+
var Context = React.createContext(defaultContext);
|
|
40488
|
+
var Provider = Context.Provider;
|
|
40489
|
+
/**
|
|
40490
|
+
* Use `SiteHeaderV2` to display brand logo and navigation at the top of a page.
|
|
40491
|
+
*/
|
|
40492
|
+
var SiteHeaderV2 = function (_a) {
|
|
40493
|
+
var _b;
|
|
40494
|
+
var children = _a.children, basket = _a.basket, _c = _a.hasLogin, hasLogin = _c === void 0 ? true : _c, _d = _a.isTransparent, isTransparent = _d === void 0 ? false : _d, _e = _a.loginHref, loginHref = _e === void 0 ? "/login" : _e, logoOnClick = _a.logoOnClick, loginOnClick = _a.loginOnClick, _f = _a.loginTitle, loginTitle = _f === void 0 ? "Log in / Register" : _f, _g = _a.logoHref, logoHref = _g === void 0 ? "/" : _g, _h = _a.logoLabel, logoLabel = _h === void 0 ? "Home" : _h, search = _a.search, subBrand = _a.subBrand, props = __rest(_a, ["children", "basket", "hasLogin", "isTransparent", "loginHref", "logoOnClick", "loginOnClick", "loginTitle", "logoHref", "logoLabel", "search", "subBrand"]);
|
|
40495
|
+
var _j = React.useState(false), hasClientSideJavaScript = _j[0], setHasClientSideJavaScript = _j[1];
|
|
40496
|
+
var _k = React.useState(false), menuOpen = _k[0], setMenuOpen = _k[1];
|
|
40497
|
+
var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));
|
|
40498
|
+
React.useEffect(function () {
|
|
40499
|
+
React__default["default"].Children.map(children, function (item) {
|
|
40500
|
+
if (item &&
|
|
40501
|
+
item.type !== NodeItem &&
|
|
40502
|
+
item.type !== NavItem &&
|
|
40503
|
+
item.type !== NavItemWithSubNav &&
|
|
40504
|
+
item.type !== React.Fragment) {
|
|
40505
|
+
throw new Error("Illegal child passed to <SiteHeaderV2 />. Ensure to only use <SiteHeaderV2.NavItem /> or <SiteHeaderV2.NavItemWithSubNav />");
|
|
40506
|
+
}
|
|
40507
|
+
});
|
|
40508
|
+
}, [children]);
|
|
40509
|
+
React.useEffect(function () {
|
|
40510
|
+
if (!isMinWidthArcBreakpointL && menuOpen) {
|
|
40511
|
+
document.body.classList.add("arc-body--overflowHidden");
|
|
40512
|
+
}
|
|
40513
|
+
else {
|
|
40514
|
+
document.body.classList.remove("arc-body--overflowHidden");
|
|
40515
|
+
}
|
|
40516
|
+
return function () {
|
|
40517
|
+
document.body.classList.remove("arc-body--overflowHidden");
|
|
40518
|
+
};
|
|
40519
|
+
}, [isMinWidthArcBreakpointL, menuOpen]);
|
|
40520
|
+
React.useEffect(function () {
|
|
40521
|
+
var handleKeydown = function (e) {
|
|
40522
|
+
if (e.key === "Escape" || e.keyCode === 27) {
|
|
40523
|
+
setMenuOpen(false);
|
|
40524
|
+
}
|
|
40525
|
+
};
|
|
40526
|
+
window.addEventListener("keydown", handleKeydown);
|
|
40527
|
+
return function () {
|
|
40528
|
+
window.removeEventListener("keydown", handleKeydown);
|
|
40529
|
+
};
|
|
40530
|
+
}, [setMenuOpen]);
|
|
40531
|
+
React.useEffect(function () {
|
|
40532
|
+
var handleClick = function (e) {
|
|
40533
|
+
if (e.target.getAttribute("href")) {
|
|
40534
|
+
setMenuOpen(false);
|
|
40535
|
+
}
|
|
40536
|
+
};
|
|
40537
|
+
document.addEventListener("click", handleClick);
|
|
40538
|
+
return function () {
|
|
40539
|
+
document.removeEventListener("click", handleClick);
|
|
40540
|
+
};
|
|
40541
|
+
}, [setMenuOpen]);
|
|
40542
|
+
React.useEffect(function () {
|
|
40543
|
+
// useEffect does not run in ReactDomServer renders
|
|
40544
|
+
setHasClientSideJavaScript(true);
|
|
40545
|
+
}, [setHasClientSideJavaScript]);
|
|
40546
|
+
return (React__default["default"].createElement(Provider, { value: { transparent: isTransparent } },
|
|
40547
|
+
React__default["default"].createElement("div", __assign({ className: classNames((_b = {},
|
|
40548
|
+
_b["arc-SiteHeaderV2"] = true,
|
|
40549
|
+
_b["arc-SiteHeaderV2--menuOpen"] = menuOpen,
|
|
40550
|
+
_b["arc-no-js"] = !hasClientSideJavaScript,
|
|
40551
|
+
_b)) }, filterDataAttrs(props), { "data-transparent": isTransparent || null }),
|
|
40552
|
+
React__default["default"].createElement(Surface, { background: !isTransparent || (menuOpen && !isMinWidthArcBreakpointL)
|
|
40553
|
+
? "brand-flat"
|
|
40554
|
+
: undefined },
|
|
40555
|
+
React__default["default"].createElement("div", { className: "arc-SiteHeaderV2-inner" },
|
|
40556
|
+
React__default["default"].createElement("a", { className: "arc-SiteHeaderV2-brand", onClick: handleLinkClick({
|
|
40557
|
+
handler: logoOnClick
|
|
40558
|
+
}), href: logoHref },
|
|
40559
|
+
React__default["default"].createElement(BrandLogo, { label: logoLabel, subBrand: subBrand, size: 40 })),
|
|
40560
|
+
children && (React__default["default"].createElement("nav", { className: "arc-SiteHeaderV2-nav" },
|
|
40561
|
+
React__default["default"].createElement("div", { className: "arc-SiteHeaderV2-menuButton" },
|
|
40562
|
+
React__default["default"].createElement(MenuButton, { menuOpen: menuOpen, setMenuOpen: setMenuOpen })),
|
|
40563
|
+
React__default["default"].createElement("div", { className: "arc-SiteHeaderV2-main" },
|
|
40564
|
+
React__default["default"].createElement("ul", { className: "arc-SiteHeaderV2-navItems" }, children),
|
|
40565
|
+
hasLogin && (React__default["default"].createElement(React__default["default"].Fragment, null, loginOnClick ? (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2-mobileButtonContainer" },
|
|
40566
|
+
React__default["default"].createElement("button", { className: "arc-SiteHeaderV2-mobileLogin", onClick: loginOnClick },
|
|
40567
|
+
loginTitle,
|
|
40568
|
+
React__default["default"].createElement("span", { className: "arc-SiteHeaderV2-mobileChevron" },
|
|
40569
|
+
React__default["default"].createElement(BtIconChevronRight2Px, null))))) : (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2-mobileButtonContainer" },
|
|
40570
|
+
React__default["default"].createElement("a", { className: "arc-SiteHeaderV2-mobileLogin", href: loginHref },
|
|
40571
|
+
loginTitle,
|
|
40572
|
+
React__default["default"].createElement("span", { className: "arc-SiteHeaderV2-mobileChevron" },
|
|
40573
|
+
React__default["default"].createElement(BtIconChevronRight2Px, null)))))))))),
|
|
40574
|
+
(basket || hasLogin || search) && (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2-secondary" },
|
|
40575
|
+
search ? (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2-search" }, search)) : null,
|
|
40576
|
+
basket ? (React__default["default"].createElement("div", { className: "arc-SiteHeaderV2-basket" }, basket)) : null,
|
|
40577
|
+
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)))))))))));
|
|
40578
|
+
};
|
|
40579
|
+
SiteHeaderV2.Column = Column;
|
|
40580
|
+
SiteHeaderV2.Item = Item;
|
|
40581
|
+
SiteHeaderV2.ItemGroup = ItemGroup;
|
|
40582
|
+
SiteHeaderV2.NavItem = NavItem;
|
|
40583
|
+
SiteHeaderV2.NodeItem = NodeItem;
|
|
40584
|
+
SiteHeaderV2.NavItemWithSubNav = NavItemWithSubNav;
|
|
40585
|
+
SiteHeaderV2.SubNavItem = SubNavItem;
|
|
40586
|
+
SiteHeaderV2.VerticalDivider = VerticalDivider;
|
|
40587
|
+
|
|
40497
40588
|
function $e42e1063c40fb3ef$export$b9ecd428b558ff10(originalEventHandler, ourEventHandler, { checkForDefaultPrevented: checkForDefaultPrevented = true } = {}) {
|
|
40498
40589
|
return function handleEvent(event) {
|
|
40499
40590
|
originalEventHandler === null || originalEventHandler === void 0 || originalEventHandler(event);
|
|
@@ -40983,11 +41074,11 @@ const $6be4966fd9bbc698$export$6521433ed15a34db = $6be4966fd9bbc698$export$4d07b
|
|
|
40983
41074
|
/** Use `Switch` to toggle between checked and not checked. */
|
|
40984
41075
|
var Switch = function (_a) {
|
|
40985
41076
|
var defaultChecked = _a.defaultChecked, onCheckedChange = _a.onCheckedChange, label = _a.label, name = _a.name, onBlur = _a.onBlur, value = _a.value, _b = _a.isDisabled, isDisabled = _b === void 0 ? false : _b, errorMessage = _a.errorMessage, id = _a.id, _c = _a.labelSize, labelSize = _c === void 0 ? "s" : _c, statusText = _a.statusText, _d = _a.hideLabel, hideLabel = _d === void 0 ? false : _d, props = __rest(_a, ["defaultChecked", "onCheckedChange", "label", "name", "onBlur", "value", "isDisabled", "errorMessage", "id", "labelSize", "statusText", "hideLabel"]);
|
|
40986
|
-
var surface = React.useContext(Context$
|
|
40987
|
-
return (React__default["default"].createElement(FormControl, { errorMessage: errorMessage, htmlFor: id, isDisabled: isDisabled, label: hideLabel
|
|
41077
|
+
var surface = React.useContext(Context$5).surface;
|
|
41078
|
+
return (React__default["default"].createElement(FormControl, { errorMessage: errorMessage, htmlFor: id, isDisabled: isDisabled, label: label, hideLabel: hideLabel, labelSize: labelSize, requirementStatus: "not-applicable" },
|
|
40988
41079
|
!hideLabel && React__default["default"].createElement(VerticalSpace, { size: "8" }),
|
|
40989
41080
|
React__default["default"].createElement("div", { className: "arc-Switch-container" },
|
|
40990
|
-
React__default["default"].createElement($6be4966fd9bbc698$export$be92b6f5f03c0fe9, __assign({ id: id,
|
|
41081
|
+
React__default["default"].createElement($6be4966fd9bbc698$export$be92b6f5f03c0fe9, __assign({ id: id, defaultChecked: defaultChecked, name: name, value: value, onBlur: onBlur, onCheckedChange: onCheckedChange, disabled: isDisabled, className: classNames("arc-Switch", {
|
|
40991
41082
|
"arc-Switch--large": labelSize === "l",
|
|
40992
41083
|
"arc-Switch--isDisabled": isDisabled,
|
|
40993
41084
|
"arc-Switch--onDarkSurface": surface === "dark"
|
|
@@ -41376,7 +41467,7 @@ const $69cb30bb0017df05$export$7c6e2c02157bb7d2 = $69cb30bb0017df05$export$bd905
|
|
|
41376
41467
|
|
|
41377
41468
|
var Tab = function (_a) {
|
|
41378
41469
|
var label = _a.label, value = _a.value, icon = _a.icon, iconActive = _a.iconActive, props = __rest(_a, ["label", "value", "icon", "iconActive"]);
|
|
41379
|
-
var surface = React.useContext(Context$
|
|
41470
|
+
var surface = React.useContext(Context$5).surface;
|
|
41380
41471
|
return (React__default["default"].createElement($69cb30bb0017df05$export$41fb9f06171c75f4, __assign({ className: classNames("arc-Tab-trigger", {
|
|
41381
41472
|
"arc-Tab-trigger--onDarkSurface": surface === "dark",
|
|
41382
41473
|
"arc-Tab-trigger--hasIcon": icon || iconActive
|
|
@@ -41412,7 +41503,7 @@ const BtIconArrowLeftFill = (props) =>
|
|
|
41412
41503
|
|
|
41413
41504
|
var TabsList = function (_a) {
|
|
41414
41505
|
var children = _a.children, type = _a.type, isJustified = _a.isJustified, ariaLabel = _a.ariaLabel, props = __rest(_a, ["children", "type", "isJustified", "ariaLabel"]);
|
|
41415
|
-
var surface = React.useContext(Context$
|
|
41506
|
+
var surface = React.useContext(Context$5).surface;
|
|
41416
41507
|
var tabsRef = React.useRef(null);
|
|
41417
41508
|
var _b = React.useState(false), rightOverflow = _b[0], setRightOverflow = _b[1];
|
|
41418
41509
|
var _c = React.useState(false), leftOverflow = _c[0], setLeftOverflow = _c[1];
|
|
@@ -41470,8 +41561,8 @@ Tabs.Content = TabContent;
|
|
|
41470
41561
|
|
|
41471
41562
|
/** Use `TextArea` to allow custom user text entry via keyboard, for long-form and multi-line descriptions */
|
|
41472
41563
|
var TextArea = React.forwardRef(function (_a, ref) {
|
|
41473
|
-
var _b = _a.defaultValue, defaultValue = _b === void 0 ? "" : _b, errorMessage = _a.errorMessage, helper = _a.helper, id = _a.id, _c = _a.resize, resize = _c === void 0 ? "manual" : _c, _d = _a.isDisabled, isDisabled = _d === void 0 ? false : _d, _e = _a.isReadOnly, isReadOnly = _e === void 0 ? false : _e, _f = _a.isRequired, isRequired = _f === void 0 ? false : _f, _g = _a.showCharacterCount, showCharacterCount = _g === void 0 ? true : _g, label = _a.label, _h = _a.labelSize, labelSize = _h === void 0 ? "l" : _h, maxLength = _a.maxLength, name = _a.name, onBlur = _a.onBlur, onChange = _a.onChange, onClickDisclosure = _a.onClickDisclosure, value = _a.value, disclosureTitle = _a.disclosureTitle, disclosureText = _a.disclosureText, props = __rest(_a, ["defaultValue", "errorMessage", "helper", "id", "resize", "isDisabled", "isReadOnly", "isRequired", "showCharacterCount", "label", "labelSize", "maxLength", "name", "onBlur", "onChange", "onClickDisclosure", "value", "disclosureTitle", "disclosureText"]);
|
|
41474
|
-
var surface = React.useContext(Context$
|
|
41564
|
+
var _b = _a.defaultValue, defaultValue = _b === void 0 ? "" : _b, errorMessage = _a.errorMessage, helper = _a.helper, hideLabel = _a.hideLabel, id = _a.id, _c = _a.resize, resize = _c === void 0 ? "manual" : _c, _d = _a.isDisabled, isDisabled = _d === void 0 ? false : _d, _e = _a.isReadOnly, isReadOnly = _e === void 0 ? false : _e, _f = _a.isRequired, isRequired = _f === void 0 ? false : _f, _g = _a.showCharacterCount, showCharacterCount = _g === void 0 ? true : _g, label = _a.label, _h = _a.labelSize, labelSize = _h === void 0 ? "l" : _h, maxLength = _a.maxLength, name = _a.name, onBlur = _a.onBlur, onChange = _a.onChange, onClickDisclosure = _a.onClickDisclosure, value = _a.value, disclosureTitle = _a.disclosureTitle, disclosureText = _a.disclosureText, width = _a.width, props = __rest(_a, ["defaultValue", "errorMessage", "helper", "hideLabel", "id", "resize", "isDisabled", "isReadOnly", "isRequired", "showCharacterCount", "label", "labelSize", "maxLength", "name", "onBlur", "onChange", "onClickDisclosure", "value", "disclosureTitle", "disclosureText", "width"]);
|
|
41565
|
+
var surface = React.useContext(Context$5).surface;
|
|
41475
41566
|
var ourRef = React.useRef(null);
|
|
41476
41567
|
var _j = React.useState((value && value.length) || (defaultValue && defaultValue.length) || 0), characterCount = _j[0], setCharacterCount = _j[1];
|
|
41477
41568
|
var setSmartHeight = function (el) {
|
|
@@ -41493,7 +41584,7 @@ var TextArea = React.forwardRef(function (_a, ref) {
|
|
|
41493
41584
|
onChange && onChange(e);
|
|
41494
41585
|
setCharacterCount(e.target.value.length);
|
|
41495
41586
|
};
|
|
41496
|
-
return (React__default["default"].createElement(FormControl, __assign({ errorMessage: errorMessage, helper: helper, htmlFor: id, isDisabled: isDisabled, label: label, labelSize: labelSize, requirementStatus: isRequired ? "required" : "optional", disclosureTitle: disclosureTitle, disclosureText: disclosureText, onClickDisclosure: onClickDisclosure, supplementaryInfo: maxLength &&
|
|
41587
|
+
return (React__default["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 &&
|
|
41497
41588
|
showCharacterCount && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
41498
41589
|
React__default["default"].createElement(Text, { tone: isDisabled ? "muted" : "default" },
|
|
41499
41590
|
React__default["default"].createElement("span", { className: "arc-TextArea-characterCount" },
|
|
@@ -41504,7 +41595,7 @@ var TextArea = React.forwardRef(function (_a, ref) {
|
|
|
41504
41595
|
"arc-TextArea--noResize": resize !== "manual",
|
|
41505
41596
|
"arc-TextArea--onDarkSurface": surface === "dark",
|
|
41506
41597
|
"arc-TextArea--invalid": errorMessage
|
|
41507
|
-
}), defaultValue: typeof value !== "undefined" ? undefined : defaultValue, disabled: isDisabled, value: value, readOnly: isReadOnly, maxLength: maxLength, name: name, onChange: handleOnChange, onBlur: onBlur, ref: getTextAreaRef })));
|
|
41598
|
+
}), 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 } })));
|
|
41508
41599
|
});
|
|
41509
41600
|
|
|
41510
41601
|
/**
|
|
@@ -41512,8 +41603,8 @@ var TextArea = React.forwardRef(function (_a, ref) {
|
|
|
41512
41603
|
*/
|
|
41513
41604
|
var TextInput = React.forwardRef(function (_a, ref) {
|
|
41514
41605
|
var _b;
|
|
41515
|
-
var _c = _a.defaultValue, defaultValue = _c === void 0 ? "" : _c, errorMessage = _a.errorMessage, helper = _a.helper, id = _a.id, inputMode = _a.inputMode, _d = _a.isDisabled, isDisabled = _d === void 0 ? false : _d, _e = _a.isReadOnly, isReadOnly = _e === void 0 ? false : _e, _f = _a.isRequired, isRequired = _f === void 0 ? false : _f, label = _a.label, _g = _a.labelSize, labelSize = _g === void 0 ? "l" : _g, maxLength = _a.maxLength, minLength = _a.minLength, name = _a.name, onBlur = _a.onBlur, onChange = _a.onChange, onClickDisclosure = _a.onClickDisclosure, pattern = _a.pattern, _h = _a.type, type = _h === void 0 ? "text" : _h, _j = _a.showPassword, showPassword = _j === void 0 ? false : _j, value = _a.value, disclosureTitle = _a.disclosureTitle, disclosureText = _a.disclosureText, _k = _a.inputSize, inputSize = _k === void 0 ? "m" : _k, prefix = _a.prefix, suffix = _a.suffix, _l = _a.inputAlignment, inputAlignment = _l === void 0 ? "left" : _l, props = __rest(_a, ["defaultValue", "errorMessage", "helper", "id", "inputMode", "isDisabled", "isReadOnly", "isRequired", "label", "labelSize", "maxLength", "minLength", "name", "onBlur", "onChange", "onClickDisclosure", "pattern", "type", "showPassword", "value", "disclosureTitle", "disclosureText", "inputSize", "prefix", "suffix", "inputAlignment"]);
|
|
41516
|
-
var surface = React.useContext(Context$
|
|
41606
|
+
var _c = _a.defaultValue, defaultValue = _c === void 0 ? "" : _c, errorMessage = _a.errorMessage, helper = _a.helper, hideLabel = _a.hideLabel, id = _a.id, inputMode = _a.inputMode, _d = _a.isDisabled, isDisabled = _d === void 0 ? false : _d, _e = _a.isReadOnly, isReadOnly = _e === void 0 ? false : _e, _f = _a.isRequired, isRequired = _f === void 0 ? false : _f, label = _a.label, _g = _a.labelSize, labelSize = _g === void 0 ? "l" : _g, maxLength = _a.maxLength, minLength = _a.minLength, name = _a.name, onBlur = _a.onBlur, onChange = _a.onChange, placeholder = _a.placeholder, onClickDisclosure = _a.onClickDisclosure, pattern = _a.pattern, _h = _a.type, type = _h === void 0 ? "text" : _h, _j = _a.showPassword, showPassword = _j === void 0 ? false : _j, value = _a.value, disclosureTitle = _a.disclosureTitle, disclosureText = _a.disclosureText, _k = _a.inputSize, inputSize = _k === void 0 ? "m" : _k, iconButton = _a.iconButton, prefix = _a.prefix, suffix = _a.suffix, _l = _a.inputAlignment, inputAlignment = _l === void 0 ? "left" : _l, width = _a.width, props = __rest(_a, ["defaultValue", "errorMessage", "helper", "hideLabel", "id", "inputMode", "isDisabled", "isReadOnly", "isRequired", "label", "labelSize", "maxLength", "minLength", "name", "onBlur", "onChange", "placeholder", "onClickDisclosure", "pattern", "type", "showPassword", "value", "disclosureTitle", "disclosureText", "inputSize", "iconButton", "prefix", "suffix", "inputAlignment", "width"]);
|
|
41607
|
+
var surface = React.useContext(Context$5).surface;
|
|
41517
41608
|
var _m = React.useState(false), showPasswordToggle = _m[0], setShowPasswordToggle = _m[1];
|
|
41518
41609
|
var inferredInputProps = useNumericInput({
|
|
41519
41610
|
inputMode: inputMode,
|
|
@@ -41527,8 +41618,14 @@ var TextInput = React.forwardRef(function (_a, ref) {
|
|
|
41527
41618
|
helper: helper,
|
|
41528
41619
|
disclosureText: disclosureText
|
|
41529
41620
|
}).ariaDescribedby;
|
|
41621
|
+
var buttonIconSize = {
|
|
41622
|
+
s: 24,
|
|
41623
|
+
m: 32,
|
|
41624
|
+
l: 40
|
|
41625
|
+
};
|
|
41530
41626
|
return (React__default["default"].createElement("div", __assign({ className: classNames((_b = {
|
|
41531
41627
|
"arc-TextInput": true,
|
|
41628
|
+
"arc-TextInput--withAdditionalControl": showPassword || iconButton,
|
|
41532
41629
|
"arc-TextInput--alignRight": inputAlignment === "right",
|
|
41533
41630
|
"arc-TextInput--withPasswordToggle": showPassword,
|
|
41534
41631
|
"arc-TextInput--isDisabled": isDisabled,
|
|
@@ -41539,12 +41636,18 @@ var TextInput = React.forwardRef(function (_a, ref) {
|
|
|
41539
41636
|
},
|
|
41540
41637
|
_b["arc-TextInput--size".concat(inputSize && inputSize.toUpperCase())] = inputSize && inputSize !== "m",
|
|
41541
41638
|
_b)) }, filterDataAttrs(props)),
|
|
41542
|
-
React__default["default"].createElement(FormControl, { errorMessage: errorMessage, helper: helper, htmlFor: id, isDisabled: isDisabled, label: label, labelSize: labelSize, requirementStatus: isRequired ? "required" : "optional", disclosureTitle: disclosureTitle, disclosureText: disclosureText, onClickDisclosure: onClickDisclosure },
|
|
41543
|
-
React__default["default"].createElement("div", { className: "arc-TextInput-inputWrapper" },
|
|
41639
|
+
React__default["default"].createElement(FormControl, { errorMessage: errorMessage, helper: helper, htmlFor: id, isDisabled: isDisabled, label: label, hideLabel: hideLabel, labelSize: labelSize, requirementStatus: isRequired ? "required" : "optional", disclosureTitle: disclosureTitle, disclosureText: disclosureText, onClickDisclosure: onClickDisclosure },
|
|
41640
|
+
React__default["default"].createElement("div", { className: "arc-TextInput-inputWrapper", style: { width: width } },
|
|
41544
41641
|
prefix && (React__default["default"].createElement("span", { className: "arc-TextInput-prefix", "aria-hidden": true }, prefix)),
|
|
41545
|
-
React__default["default"].createElement("input", __assign({ "aria-describedby": ariaDescribedby, "aria-invalid": errorMessage ? "true" : "false", className: "arc-TextInput-input", defaultValue: typeof value !== "undefined" ? undefined : defaultValue, disabled: isDisabled, id: id, maxLength: maxLength, minLength: minLength, name: name, onChange: onChange, onBlur: onBlur, readOnly: isReadOnly, ref: ref, required: isRequired, value: typeof value !== "undefined" ? value : undefined }, inferredInputProps)),
|
|
41642
|
+
React__default["default"].createElement("input", __assign({ placeholder: placeholder, "aria-describedby": ariaDescribedby, "aria-invalid": errorMessage ? "true" : "false", className: "arc-TextInput-input", defaultValue: typeof value !== "undefined" ? undefined : defaultValue, disabled: isDisabled, id: id, maxLength: maxLength, minLength: minLength, name: name, onChange: onChange, onBlur: onBlur, readOnly: isReadOnly, ref: ref, required: isRequired, value: typeof value !== "undefined" ? value : undefined }, inferredInputProps)),
|
|
41643
|
+
iconButton && !showPassword && (React__default["default"].createElement("div", { className: "arc-TextInput-additionalControl" },
|
|
41644
|
+
React__default["default"].createElement("button", { ref: iconButton.ref, className: "arc-TextInput-iconButton", disabled: isReadOnly || isDisabled, "aria-label": iconButton.label, onFocus: iconButton.onFocus, onClick: function (e) {
|
|
41645
|
+
e.preventDefault();
|
|
41646
|
+
iconButton.onClick();
|
|
41647
|
+
} },
|
|
41648
|
+
React__default["default"].createElement(Icon, { icon: iconButton.icon, size: buttonIconSize[inputSize] })))),
|
|
41546
41649
|
suffix && !showPassword ? (React__default["default"].createElement("span", { className: "arc-TextInput-suffix", "aria-hidden": true }, suffix)) : null,
|
|
41547
|
-
showPassword && (React__default["default"].createElement(
|
|
41650
|
+
showPassword && (React__default["default"].createElement("div", { className: "arc-TextInput-additionalControl" },
|
|
41548
41651
|
React__default["default"].createElement("button", { className: "arc-TextInput-passwordToggle", onClick: function () { return setShowPasswordToggle(function (p) { return !p; }); }, type: "button" }, showPasswordToggle ? "Hide" : "Show"),
|
|
41549
41652
|
React__default["default"].createElement(VisuallyHidden, null,
|
|
41550
41653
|
React__default["default"].createElement("div", { "aria-live": "polite" },
|
|
@@ -41553,6 +41656,263 @@ var TextInput = React.forwardRef(function (_a, ref) {
|
|
|
41553
41656
|
: "Your password is hidden")))))))));
|
|
41554
41657
|
});
|
|
41555
41658
|
|
|
41659
|
+
const $5cb92bef7577960e$var$CONTEXT_UPDATE = 'dismissableLayer.update';
|
|
41660
|
+
const $5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE = 'dismissableLayer.pointerDownOutside';
|
|
41661
|
+
const $5cb92bef7577960e$var$FOCUS_OUTSIDE = 'dismissableLayer.focusOutside';
|
|
41662
|
+
let $5cb92bef7577960e$var$originalBodyPointerEvents;
|
|
41663
|
+
const $5cb92bef7577960e$var$DismissableLayerContext = /*#__PURE__*/ React.createContext({
|
|
41664
|
+
layers: new Set(),
|
|
41665
|
+
layersWithOutsidePointerEventsDisabled: new Set(),
|
|
41666
|
+
branches: new Set()
|
|
41667
|
+
});
|
|
41668
|
+
const $5cb92bef7577960e$export$177fb62ff3ec1f22 = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
|
|
41669
|
+
var _node$ownerDocument;
|
|
41670
|
+
const { disableOutsidePointerEvents: disableOutsidePointerEvents = false , onEscapeKeyDown: onEscapeKeyDown , onPointerDownOutside: onPointerDownOutside , onFocusOutside: onFocusOutside , onInteractOutside: onInteractOutside , onDismiss: onDismiss , ...layerProps } = props;
|
|
41671
|
+
const context = React.useContext($5cb92bef7577960e$var$DismissableLayerContext);
|
|
41672
|
+
const [node1, setNode] = React.useState(null);
|
|
41673
|
+
const ownerDocument = (_node$ownerDocument = node1 === null || node1 === void 0 ? void 0 : node1.ownerDocument) !== null && _node$ownerDocument !== void 0 ? _node$ownerDocument : globalThis === null || globalThis === void 0 ? void 0 : globalThis.document;
|
|
41674
|
+
const [, force] = React.useState({});
|
|
41675
|
+
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05$1(forwardedRef, (node)=>setNode(node)
|
|
41676
|
+
);
|
|
41677
|
+
const layers = Array.from(context.layers);
|
|
41678
|
+
const [highestLayerWithOutsidePointerEventsDisabled] = [
|
|
41679
|
+
...context.layersWithOutsidePointerEventsDisabled
|
|
41680
|
+
].slice(-1); // prettier-ignore
|
|
41681
|
+
const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled); // prettier-ignore
|
|
41682
|
+
const index = node1 ? layers.indexOf(node1) : -1;
|
|
41683
|
+
const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;
|
|
41684
|
+
const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;
|
|
41685
|
+
const pointerDownOutside = $5cb92bef7577960e$var$usePointerDownOutside((event)=>{
|
|
41686
|
+
const target = event.target;
|
|
41687
|
+
const isPointerDownOnBranch = [
|
|
41688
|
+
...context.branches
|
|
41689
|
+
].some((branch)=>branch.contains(target)
|
|
41690
|
+
);
|
|
41691
|
+
if (!isPointerEventsEnabled || isPointerDownOnBranch) return;
|
|
41692
|
+
onPointerDownOutside === null || onPointerDownOutside === void 0 || onPointerDownOutside(event);
|
|
41693
|
+
onInteractOutside === null || onInteractOutside === void 0 || onInteractOutside(event);
|
|
41694
|
+
if (!event.defaultPrevented) onDismiss === null || onDismiss === void 0 || onDismiss();
|
|
41695
|
+
}, ownerDocument);
|
|
41696
|
+
const focusOutside = $5cb92bef7577960e$var$useFocusOutside((event)=>{
|
|
41697
|
+
const target = event.target;
|
|
41698
|
+
const isFocusInBranch = [
|
|
41699
|
+
...context.branches
|
|
41700
|
+
].some((branch)=>branch.contains(target)
|
|
41701
|
+
);
|
|
41702
|
+
if (isFocusInBranch) return;
|
|
41703
|
+
onFocusOutside === null || onFocusOutside === void 0 || onFocusOutside(event);
|
|
41704
|
+
onInteractOutside === null || onInteractOutside === void 0 || onInteractOutside(event);
|
|
41705
|
+
if (!event.defaultPrevented) onDismiss === null || onDismiss === void 0 || onDismiss();
|
|
41706
|
+
}, ownerDocument);
|
|
41707
|
+
$addc16e1bbe58fd0$export$3a72a57244d6e765((event)=>{
|
|
41708
|
+
const isHighestLayer = index === context.layers.size - 1;
|
|
41709
|
+
if (!isHighestLayer) return;
|
|
41710
|
+
onEscapeKeyDown === null || onEscapeKeyDown === void 0 || onEscapeKeyDown(event);
|
|
41711
|
+
if (!event.defaultPrevented && onDismiss) {
|
|
41712
|
+
event.preventDefault();
|
|
41713
|
+
onDismiss();
|
|
41714
|
+
}
|
|
41715
|
+
}, ownerDocument);
|
|
41716
|
+
React.useEffect(()=>{
|
|
41717
|
+
if (!node1) return;
|
|
41718
|
+
if (disableOutsidePointerEvents) {
|
|
41719
|
+
if (context.layersWithOutsidePointerEventsDisabled.size === 0) {
|
|
41720
|
+
$5cb92bef7577960e$var$originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;
|
|
41721
|
+
ownerDocument.body.style.pointerEvents = 'none';
|
|
41722
|
+
}
|
|
41723
|
+
context.layersWithOutsidePointerEventsDisabled.add(node1);
|
|
41724
|
+
}
|
|
41725
|
+
context.layers.add(node1);
|
|
41726
|
+
$5cb92bef7577960e$var$dispatchUpdate();
|
|
41727
|
+
return ()=>{
|
|
41728
|
+
if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) ownerDocument.body.style.pointerEvents = $5cb92bef7577960e$var$originalBodyPointerEvents;
|
|
41729
|
+
};
|
|
41730
|
+
}, [
|
|
41731
|
+
node1,
|
|
41732
|
+
ownerDocument,
|
|
41733
|
+
disableOutsidePointerEvents,
|
|
41734
|
+
context
|
|
41735
|
+
]);
|
|
41736
|
+
/**
|
|
41737
|
+
* We purposefully prevent combining this effect with the `disableOutsidePointerEvents` effect
|
|
41738
|
+
* because a change to `disableOutsidePointerEvents` would remove this layer from the stack
|
|
41739
|
+
* and add it to the end again so the layering order wouldn't be _creation order_.
|
|
41740
|
+
* We only want them to be removed from context stacks when unmounted.
|
|
41741
|
+
*/ React.useEffect(()=>{
|
|
41742
|
+
return ()=>{
|
|
41743
|
+
if (!node1) return;
|
|
41744
|
+
context.layers.delete(node1);
|
|
41745
|
+
context.layersWithOutsidePointerEventsDisabled.delete(node1);
|
|
41746
|
+
$5cb92bef7577960e$var$dispatchUpdate();
|
|
41747
|
+
};
|
|
41748
|
+
}, [
|
|
41749
|
+
node1,
|
|
41750
|
+
context
|
|
41751
|
+
]);
|
|
41752
|
+
React.useEffect(()=>{
|
|
41753
|
+
const handleUpdate = ()=>force({})
|
|
41754
|
+
;
|
|
41755
|
+
document.addEventListener($5cb92bef7577960e$var$CONTEXT_UPDATE, handleUpdate);
|
|
41756
|
+
return ()=>document.removeEventListener($5cb92bef7577960e$var$CONTEXT_UPDATE, handleUpdate)
|
|
41757
|
+
;
|
|
41758
|
+
}, []);
|
|
41759
|
+
return /*#__PURE__*/ React.createElement($8927f6f2acc4f386$export$250ffa63cdc0d034$1.div, _extends({}, layerProps, {
|
|
41760
|
+
ref: composedRefs,
|
|
41761
|
+
style: {
|
|
41762
|
+
pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? 'auto' : 'none' : undefined,
|
|
41763
|
+
...props.style
|
|
41764
|
+
},
|
|
41765
|
+
onFocusCapture: $e42e1063c40fb3ef$export$b9ecd428b558ff10$1(props.onFocusCapture, focusOutside.onFocusCapture),
|
|
41766
|
+
onBlurCapture: $e42e1063c40fb3ef$export$b9ecd428b558ff10$1(props.onBlurCapture, focusOutside.onBlurCapture),
|
|
41767
|
+
onPointerDownCapture: $e42e1063c40fb3ef$export$b9ecd428b558ff10$1(props.onPointerDownCapture, pointerDownOutside.onPointerDownCapture)
|
|
41768
|
+
}));
|
|
41769
|
+
});
|
|
41770
|
+
const $5cb92bef7577960e$export$4d5eb2109db14228 = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
|
|
41771
|
+
const context = React.useContext($5cb92bef7577960e$var$DismissableLayerContext);
|
|
41772
|
+
const ref = React.useRef(null);
|
|
41773
|
+
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05$1(forwardedRef, ref);
|
|
41774
|
+
React.useEffect(()=>{
|
|
41775
|
+
const node = ref.current;
|
|
41776
|
+
if (node) {
|
|
41777
|
+
context.branches.add(node);
|
|
41778
|
+
return ()=>{
|
|
41779
|
+
context.branches.delete(node);
|
|
41780
|
+
};
|
|
41781
|
+
}
|
|
41782
|
+
}, [
|
|
41783
|
+
context.branches
|
|
41784
|
+
]);
|
|
41785
|
+
return /*#__PURE__*/ React.createElement($8927f6f2acc4f386$export$250ffa63cdc0d034$1.div, _extends({}, props, {
|
|
41786
|
+
ref: composedRefs
|
|
41787
|
+
}));
|
|
41788
|
+
});
|
|
41789
|
+
/* -----------------------------------------------------------------------------------------------*/ /**
|
|
41790
|
+
* Listens for `pointerdown` outside a react subtree. We use `pointerdown` rather than `pointerup`
|
|
41791
|
+
* to mimic layer dismissing behaviour present in OS.
|
|
41792
|
+
* Returns props to pass to the node we want to check for outside events.
|
|
41793
|
+
*/ function $5cb92bef7577960e$var$usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) {
|
|
41794
|
+
const handlePointerDownOutside = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a$1(onPointerDownOutside);
|
|
41795
|
+
const isPointerInsideReactTreeRef = React.useRef(false);
|
|
41796
|
+
const handleClickRef = React.useRef(()=>{});
|
|
41797
|
+
React.useEffect(()=>{
|
|
41798
|
+
const handlePointerDown = (event)=>{
|
|
41799
|
+
if (event.target && !isPointerInsideReactTreeRef.current) {
|
|
41800
|
+
const eventDetail = {
|
|
41801
|
+
originalEvent: event
|
|
41802
|
+
};
|
|
41803
|
+
function handleAndDispatchPointerDownOutsideEvent() {
|
|
41804
|
+
$5cb92bef7577960e$var$handleAndDispatchCustomEvent($5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE, handlePointerDownOutside, eventDetail, {
|
|
41805
|
+
discrete: true
|
|
41806
|
+
});
|
|
41807
|
+
}
|
|
41808
|
+
/**
|
|
41809
|
+
* On touch devices, we need to wait for a click event because browsers implement
|
|
41810
|
+
* a ~350ms delay between the time the user stops touching the display and when the
|
|
41811
|
+
* browser executres events. We need to ensure we don't reactivate pointer-events within
|
|
41812
|
+
* this timeframe otherwise the browser may execute events that should have been prevented.
|
|
41813
|
+
*
|
|
41814
|
+
* Additionally, this also lets us deal automatically with cancellations when a click event
|
|
41815
|
+
* isn't raised because the page was considered scrolled/drag-scrolled, long-pressed, etc.
|
|
41816
|
+
*
|
|
41817
|
+
* This is why we also continuously remove the previous listener, because we cannot be
|
|
41818
|
+
* certain that it was raised, and therefore cleaned-up.
|
|
41819
|
+
*/ if (event.pointerType === 'touch') {
|
|
41820
|
+
ownerDocument.removeEventListener('click', handleClickRef.current);
|
|
41821
|
+
handleClickRef.current = handleAndDispatchPointerDownOutsideEvent;
|
|
41822
|
+
ownerDocument.addEventListener('click', handleClickRef.current, {
|
|
41823
|
+
once: true
|
|
41824
|
+
});
|
|
41825
|
+
} else handleAndDispatchPointerDownOutsideEvent();
|
|
41826
|
+
}
|
|
41827
|
+
isPointerInsideReactTreeRef.current = false;
|
|
41828
|
+
};
|
|
41829
|
+
/**
|
|
41830
|
+
* if this hook executes in a component that mounts via a `pointerdown` event, the event
|
|
41831
|
+
* would bubble up to the document and trigger a `pointerDownOutside` event. We avoid
|
|
41832
|
+
* this by delaying the event listener registration on the document.
|
|
41833
|
+
* This is not React specific, but rather how the DOM works, ie:
|
|
41834
|
+
* ```
|
|
41835
|
+
* button.addEventListener('pointerdown', () => {
|
|
41836
|
+
* console.log('I will log');
|
|
41837
|
+
* document.addEventListener('pointerdown', () => {
|
|
41838
|
+
* console.log('I will also log');
|
|
41839
|
+
* })
|
|
41840
|
+
* });
|
|
41841
|
+
*/ const timerId = window.setTimeout(()=>{
|
|
41842
|
+
ownerDocument.addEventListener('pointerdown', handlePointerDown);
|
|
41843
|
+
}, 0);
|
|
41844
|
+
return ()=>{
|
|
41845
|
+
window.clearTimeout(timerId);
|
|
41846
|
+
ownerDocument.removeEventListener('pointerdown', handlePointerDown);
|
|
41847
|
+
ownerDocument.removeEventListener('click', handleClickRef.current);
|
|
41848
|
+
};
|
|
41849
|
+
}, [
|
|
41850
|
+
ownerDocument,
|
|
41851
|
+
handlePointerDownOutside
|
|
41852
|
+
]);
|
|
41853
|
+
return {
|
|
41854
|
+
// ensures we check React component tree (not just DOM tree)
|
|
41855
|
+
onPointerDownCapture: ()=>isPointerInsideReactTreeRef.current = true
|
|
41856
|
+
};
|
|
41857
|
+
}
|
|
41858
|
+
/**
|
|
41859
|
+
* Listens for when focus happens outside a react subtree.
|
|
41860
|
+
* Returns props to pass to the root (node) of the subtree we want to check.
|
|
41861
|
+
*/ function $5cb92bef7577960e$var$useFocusOutside(onFocusOutside, ownerDocument = globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) {
|
|
41862
|
+
const handleFocusOutside = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a$1(onFocusOutside);
|
|
41863
|
+
const isFocusInsideReactTreeRef = React.useRef(false);
|
|
41864
|
+
React.useEffect(()=>{
|
|
41865
|
+
const handleFocus = (event)=>{
|
|
41866
|
+
if (event.target && !isFocusInsideReactTreeRef.current) {
|
|
41867
|
+
const eventDetail = {
|
|
41868
|
+
originalEvent: event
|
|
41869
|
+
};
|
|
41870
|
+
$5cb92bef7577960e$var$handleAndDispatchCustomEvent($5cb92bef7577960e$var$FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {
|
|
41871
|
+
discrete: false
|
|
41872
|
+
});
|
|
41873
|
+
}
|
|
41874
|
+
};
|
|
41875
|
+
ownerDocument.addEventListener('focusin', handleFocus);
|
|
41876
|
+
return ()=>ownerDocument.removeEventListener('focusin', handleFocus)
|
|
41877
|
+
;
|
|
41878
|
+
}, [
|
|
41879
|
+
ownerDocument,
|
|
41880
|
+
handleFocusOutside
|
|
41881
|
+
]);
|
|
41882
|
+
return {
|
|
41883
|
+
onFocusCapture: ()=>isFocusInsideReactTreeRef.current = true
|
|
41884
|
+
,
|
|
41885
|
+
onBlurCapture: ()=>isFocusInsideReactTreeRef.current = false
|
|
41886
|
+
};
|
|
41887
|
+
}
|
|
41888
|
+
function $5cb92bef7577960e$var$dispatchUpdate() {
|
|
41889
|
+
const event = new CustomEvent($5cb92bef7577960e$var$CONTEXT_UPDATE);
|
|
41890
|
+
document.dispatchEvent(event);
|
|
41891
|
+
}
|
|
41892
|
+
function $5cb92bef7577960e$var$handleAndDispatchCustomEvent(name, handler, detail, { discrete: discrete }) {
|
|
41893
|
+
const target = detail.originalEvent.target;
|
|
41894
|
+
const event = new CustomEvent(name, {
|
|
41895
|
+
bubbles: false,
|
|
41896
|
+
cancelable: true,
|
|
41897
|
+
detail: detail
|
|
41898
|
+
});
|
|
41899
|
+
if (handler) target.addEventListener(name, handler, {
|
|
41900
|
+
once: true
|
|
41901
|
+
});
|
|
41902
|
+
if (discrete) $8927f6f2acc4f386$export$6d1a0317bde7de7f(target, event);
|
|
41903
|
+
else target.dispatchEvent(event);
|
|
41904
|
+
}
|
|
41905
|
+
const $5cb92bef7577960e$export$be92b6f5f03c0fe9 = $5cb92bef7577960e$export$177fb62ff3ec1f22;
|
|
41906
|
+
const $5cb92bef7577960e$export$aecb2ddcb55c95be = $5cb92bef7577960e$export$4d5eb2109db14228;
|
|
41907
|
+
|
|
41908
|
+
const $f1701beae083dbae$export$602eac185826482c = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
|
|
41909
|
+
var _globalThis$document;
|
|
41910
|
+
const { container: container = globalThis === null || globalThis === void 0 ? void 0 : (_globalThis$document = globalThis.document) === null || _globalThis$document === void 0 ? void 0 : _globalThis$document.body , ...portalProps } = props;
|
|
41911
|
+
return container ? /*#__PURE__*/ $7SXl2$reactdom.createPortal(/*#__PURE__*/ React.createElement($8927f6f2acc4f386$export$250ffa63cdc0d034$1.div, _extends({}, portalProps, {
|
|
41912
|
+
ref: forwardedRef
|
|
41913
|
+
})), container) : null;
|
|
41914
|
+
});
|
|
41915
|
+
|
|
41556
41916
|
/* -------------------------------------------------------------------------------------------------
|
|
41557
41917
|
* ToastProvider
|
|
41558
41918
|
* -----------------------------------------------------------------------------------------------*/ const $054eb8030ebde76e$var$PROVIDER_NAME = 'ToastProvider';
|
|
@@ -42060,7 +42420,7 @@ $054eb8030ebde76e$var$ToastImpl.propTypes = {
|
|
|
42060
42420
|
return ()=>window.clearTimeout(timer)
|
|
42061
42421
|
;
|
|
42062
42422
|
}, []);
|
|
42063
|
-
return isAnnounced ? null : /*#__PURE__*/ React.createElement($f1701beae083dbae$export$602eac185826482c
|
|
42423
|
+
return isAnnounced ? null : /*#__PURE__*/ React.createElement($f1701beae083dbae$export$602eac185826482c, {
|
|
42064
42424
|
asChild: true
|
|
42065
42425
|
}, /*#__PURE__*/ React.createElement($ea1ef594cf570d83$export$439d29a4e110a164, announceProps, renderAnnounceText && /*#__PURE__*/ React.createElement(React.Fragment, null, context.label, " ", children)));
|
|
42066
42426
|
};
|
|
@@ -42249,37 +42609,21 @@ var Truncate = function (_a) {
|
|
|
42249
42609
|
return (React__default["default"].createElement("div", __assign({ className: "arc-Truncate", style: { maxWidth: "".concat(maxWidth, "%") }, title: title }, filterDataAttrs(props)), children));
|
|
42250
42610
|
};
|
|
42251
42611
|
|
|
42252
|
-
// move arrow to right all the time when no meta text
|
|
42253
|
-
// 1 typography card + 2 media cards
|
|
42254
42612
|
var TypographyCard = function (_a) {
|
|
42255
42613
|
var url = _a.url, onClick = _a.onClick, heading = _a.heading, metaText = _a.metaText, label = _a.label, _b = _a.linkData, linkData = _b === void 0 ? {} : _b, _c = _a.pathway, pathway = _c === void 0 ? "light" : _c, _d = _a.buttonIcon, buttonIcon = _d === void 0 ? "arrow" : _d, _e = _a.headingLevel, headingLevel = _e === void 0 ? "2" : _e, props = __rest(_a, ["url", "onClick", "heading", "metaText", "label", "linkData", "pathway", "buttonIcon", "headingLevel"]);
|
|
42256
|
-
var
|
|
42257
|
-
var
|
|
42258
|
-
|
|
42259
|
-
regular: BtIconArrowRight,
|
|
42260
|
-
hover: BtIconArrowRightFill
|
|
42261
|
-
},
|
|
42262
|
-
play: {
|
|
42263
|
-
regular: BtIconPlay,
|
|
42264
|
-
hover: BtIconPlayFill
|
|
42265
|
-
}
|
|
42266
|
-
};
|
|
42614
|
+
var _f = React.useState(false), showHoverState = _f[0], setShowHoverState = _f[1];
|
|
42615
|
+
var handleShowHoverState = function (show) { return function () { return setShowHoverState(show); }; };
|
|
42616
|
+
var isDarkPathway = pathway === "dark";
|
|
42267
42617
|
return (React__default["default"].createElement("div", __assign({ className: classNames("arc-TypographyCard", {
|
|
42268
|
-
"arc-TypographyCard--
|
|
42269
|
-
"arc-TypographyCard--
|
|
42618
|
+
"arc-TypographyCard--outlined": showHoverState,
|
|
42619
|
+
"arc-TypographyCard--darkPathway": isDarkPathway,
|
|
42620
|
+
"arc-TypographyCard--lightPathway": !isDarkPathway
|
|
42270
42621
|
}) }, filterDataAttrs(props)),
|
|
42271
42622
|
React__default["default"].createElement("div", { className: "arc-TypographyCard-contentContainer" },
|
|
42272
42623
|
label && (React__default["default"].createElement("div", { className: "arc-TypographyCard-labelContainer" },
|
|
42273
|
-
React__default["default"].createElement(
|
|
42274
|
-
React__default["default"].createElement(
|
|
42275
|
-
|
|
42276
|
-
React__default["default"].createElement("div", { className: "arc-TypographyCard-footer" },
|
|
42277
|
-
React__default["default"].createElement("div", { className: "arc-TypographyCard-metaTextContainer" }, metaText && (React__default["default"].createElement("span", { className: "arc-TypographyCard-metaText" }, metaText))),
|
|
42278
|
-
React__default["default"].createElement("div", { className: "arc-TypographyCard-footerButton" },
|
|
42279
|
-
React__default["default"].createElement("div", { className: classNames("arc-TypographyCard-footerButtonIcon", "arc-TypographyCard-footerButtonIcon--regular") },
|
|
42280
|
-
React__default["default"].createElement(Icon, { icon: icons[buttonIcon].regular, size: 40 })),
|
|
42281
|
-
React__default["default"].createElement("div", { className: "arc-TypographyCard-footerButtonIcon arc-TypographyCard-footerButtonIcon--hover" },
|
|
42282
|
-
React__default["default"].createElement(Icon, { icon: icons[buttonIcon].hover, size: 40 }))))));
|
|
42624
|
+
React__default["default"].createElement(CardLabel, { isDarkPathway: isDarkPathway, isBold: false, text: label }))),
|
|
42625
|
+
React__default["default"].createElement(CardHeading, { size: "m", linkData: linkData, heading: heading, headingLevel: headingLevel, href: url, onClick: onClick, isDarkPathway: isDarkPathway, onMouseEnter: handleShowHoverState(true), onMouseLeave: handleShowHoverState(false), onFocus: handleShowHoverState(true), onBlur: handleShowHoverState(false) })),
|
|
42626
|
+
React__default["default"].createElement(CardFooter, { showButton: true, isDarkPathway: isDarkPathway, showFilledIcon: showHoverState, buttonIcon: buttonIcon, metaText: metaText })));
|
|
42283
42627
|
};
|
|
42284
42628
|
|
|
42285
42629
|
/**
|
|
@@ -42348,8 +42692,9 @@ exports.SiteFooter = SiteFooter;
|
|
|
42348
42692
|
exports.SiteFooterRehydrator = SiteFooter_rehydrator;
|
|
42349
42693
|
exports.SiteHeader = SiteHeader;
|
|
42350
42694
|
exports.SiteHeaderRehydrator = SiteHeaderRehydrator;
|
|
42695
|
+
exports.SiteHeaderV2 = SiteHeaderV2;
|
|
42351
42696
|
exports.Surface = Surface;
|
|
42352
|
-
exports.SurfaceContext = Context$
|
|
42697
|
+
exports.SurfaceContext = Context$5;
|
|
42353
42698
|
exports.Switch = Switch;
|
|
42354
42699
|
exports.Tabs = Tabs;
|
|
42355
42700
|
exports.Tag = Tag;
|