@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.
Files changed (230) hide show
  1. package/dist/Calendar/Calendar.cjs.js +21 -0
  2. package/dist/Calendar/Calendar.esm.js +13 -0
  3. package/dist/Calendar/package.json +7 -0
  4. package/dist/Checkbox/Checkbox.cjs.js +3 -2
  5. package/dist/Checkbox/Checkbox.esm.js +3 -2
  6. package/dist/DatePicker/DatePicker.cjs.js +565 -0
  7. package/dist/DatePicker/DatePicker.esm.js +552 -0
  8. package/dist/DatePicker/package.json +7 -0
  9. package/dist/FormControl/FormControl.cjs.js +2 -1
  10. package/dist/FormControl/FormControl.esm.js +2 -1
  11. package/dist/InformationCard/InformationCard.cjs.js +10 -9
  12. package/dist/InformationCard/InformationCard.esm.js +8 -7
  13. package/dist/MediaCard/MediaCard.cjs.js +56 -0
  14. package/dist/MediaCard/MediaCard.esm.js +48 -0
  15. package/dist/MediaCard/package.json +7 -0
  16. package/dist/Modal/Modal.cjs.js +13 -286
  17. package/dist/Modal/Modal.esm.js +6 -279
  18. package/dist/RadioGroup/RadioGroup.cjs.js +3 -2
  19. package/dist/RadioGroup/RadioGroup.esm.js +3 -2
  20. package/dist/Select/Select.cjs.js +31 -2705
  21. package/dist/Select/Select.esm.js +13 -2668
  22. package/dist/SiteFooter/SiteFooter.cjs.js +2 -2
  23. package/dist/SiteFooter/SiteFooter.esm.js +3 -3
  24. package/dist/SiteHeader/SiteHeader.cjs.js +2 -2
  25. package/dist/SiteHeader/SiteHeader.esm.js +2 -2
  26. package/dist/SiteHeaderV2/SiteHeaderV2.cjs.js +23 -0
  27. package/dist/SiteHeaderV2/SiteHeaderV2.esm.js +15 -0
  28. package/dist/SiteHeaderV2/package.json +7 -0
  29. package/dist/Switch/Switch.cjs.js +4 -3
  30. package/dist/Switch/Switch.esm.js +4 -3
  31. package/dist/Tabs/Tabs.cjs.js +5 -5
  32. package/dist/Tabs/Tabs.esm.js +5 -5
  33. package/dist/TextArea/TextArea.cjs.js +20 -20
  34. package/dist/TextArea/TextArea.esm.js +20 -20
  35. package/dist/TextInput/TextInput.cjs.js +3 -2
  36. package/dist/TextInput/TextInput.esm.js +3 -2
  37. package/dist/Toast/Toast.cjs.js +6 -7
  38. package/dist/Toast/Toast.esm.js +6 -7
  39. package/dist/TypographyCard/TypographyCard.cjs.js +13 -70
  40. package/dist/TypographyCard/TypographyCard.esm.js +14 -71
  41. package/dist/_shared/cjs/Calendar-18e255f8.js +4106 -0
  42. package/dist/_shared/cjs/CardFooter-43c32239.js +80 -0
  43. package/dist/_shared/cjs/CardLabel-768abf20.js +54 -0
  44. package/dist/_shared/cjs/{Checkbox-904ad028.js → Checkbox-4d4b432f.js} +1 -1
  45. package/dist/_shared/cjs/{index-3d69ea00.js → Combination-9974f2e2.js} +662 -145
  46. package/dist/_shared/cjs/{FormControl-166e0957.js → FormControl-b26ad353.js} +8 -5
  47. package/dist/_shared/cjs/{RadioGroup-1eddf86f.js → RadioGroup-23c964ae.js} +1 -1
  48. package/dist/_shared/cjs/{SiteFooter-97c27b29.js → SiteFooter-65b6360c.js} +2 -2
  49. package/dist/_shared/cjs/{SiteHeader.rehydrator-af3dddef.js → SiteHeader.rehydrator-df053a52.js} +8 -8
  50. package/dist/_shared/cjs/SiteHeaderV2-8ce6d4fc.js +610 -0
  51. package/dist/_shared/cjs/{Tabs-cc77dabb.js → Tabs-34db6bc1.js} +4 -4
  52. package/dist/_shared/cjs/{TextInput-fd9c756f.js → TextInput-d0370fa8.js} +19 -6
  53. package/dist/_shared/cjs/{Toast-91e96744.js → Toast-392b1d60.js} +292 -34
  54. package/dist/_shared/cjs/{index-84e6a68f.js → index-6eb396a3.js} +1 -1
  55. package/dist/_shared/cjs/{index-6542b467.js → index-74004a9c.js} +1 -1
  56. package/dist/_shared/cjs/index-77ab5c6a.js +2180 -0
  57. package/dist/_shared/cjs/{index-d31f2b65.js → index-9f99d686.js} +1 -1
  58. package/dist/_shared/cjs/{index-1641d0b4.js → index-a31e64a9.js} +1 -1
  59. package/dist/_shared/cjs/{index-49c72a87.js → index-d38f1bd0.js} +1 -1
  60. package/dist/_shared/esm/Calendar-4033fa48.js +4093 -0
  61. package/dist/_shared/esm/CardFooter-dd8d4000.js +74 -0
  62. package/dist/_shared/esm/CardLabel-d6d71407.js +46 -0
  63. package/dist/_shared/esm/{Checkbox-8a5bb9a1.js → Checkbox-720b074d.js} +1 -1
  64. package/dist/_shared/esm/{index-3e2bc99d.js → Combination-e9f7e64e.js} +643 -132
  65. package/dist/_shared/esm/{FormControl-9d4ddfec.js → FormControl-f0b8fe91.js} +8 -5
  66. package/dist/_shared/esm/{RadioGroup-238db88d.js → RadioGroup-37fdb06b.js} +1 -1
  67. package/dist/_shared/esm/{SiteFooter-94316b8b.js → SiteFooter-38ee1536.js} +1 -1
  68. package/dist/_shared/esm/{SiteHeader.rehydrator-1b507253.js → SiteHeader.rehydrator-32bdcd88.js} +2 -2
  69. package/dist/_shared/esm/SiteHeaderV2-f8377627.js +604 -0
  70. package/dist/_shared/esm/{Tabs-8719d952.js → Tabs-df9965dd.js} +4 -4
  71. package/dist/_shared/esm/{TextInput-c1e2a1dd.js → TextInput-abbab56b.js} +19 -6
  72. package/dist/_shared/esm/{Toast-7cb1e544.js → Toast-5d66e13f.js} +264 -7
  73. package/dist/_shared/esm/{index-39019a9b.js → index-044da8d0.js} +1 -1
  74. package/dist/_shared/esm/{index-6b7b075c.js → index-25a5b393.js} +1 -1
  75. package/dist/_shared/esm/{index-246b4f18.js → index-2cfab9f2.js} +1 -1
  76. package/dist/_shared/esm/{index-12f3a407.js → index-7b531fa7.js} +68 -68
  77. package/dist/_shared/esm/index-b84a20c6.js +2155 -0
  78. package/dist/_shared/esm/{index-db47e95a.js → index-ca72c9d5.js} +1 -1
  79. package/dist/_shared/esm/{index-936b5179.js → index-efa9be1a.js} +1 -1
  80. package/dist/_shared/esm/{index.es-c552c0ea.js → use-media-query-4c807227.js} +9 -9
  81. package/dist/index.es.js +1135 -791
  82. package/dist/index.es.js.map +1 -1
  83. package/dist/index.js +1136 -791
  84. package/dist/index.js.map +1 -1
  85. package/dist/styles.css +4 -4
  86. package/dist/types/components/Calendar/Calendar.d.ts +49 -0
  87. package/dist/types/components/Calendar/Calendar.provider.d.ts +21 -0
  88. package/dist/types/components/Calendar/components/CalendarDateSelect/CalendarDateSelect.d.ts +15 -0
  89. package/dist/types/components/Calendar/components/CalendarDateSelect/index.d.ts +1 -0
  90. package/dist/types/components/Calendar/components/CalendarDayGrid/CalendarDayGrid.d.ts +6 -0
  91. package/dist/types/components/Calendar/components/CalendarDayGrid/index.d.ts +1 -0
  92. package/dist/types/components/Calendar/components/CalendarDayNumber/CalendarDayNumber.d.ts +8 -0
  93. package/dist/types/components/Calendar/components/CalendarDayNumber/index.d.ts +1 -0
  94. package/dist/types/components/Calendar/components/CalendarDoubleMonthView/CalendarDoubleMonthView.d.ts +9 -0
  95. package/dist/types/components/Calendar/components/CalendarDoubleMonthView/index.d.ts +1 -0
  96. package/dist/types/components/Calendar/components/CalendarFooter/CalendarFooter.d.ts +6 -0
  97. package/dist/types/components/Calendar/components/CalendarFooter/index.d.ts +1 -0
  98. package/dist/types/components/Calendar/components/CalendarMonthView/CalendarMonthView.d.ts +9 -0
  99. package/dist/types/components/Calendar/components/CalendarMonthView/index.d.ts +1 -0
  100. package/dist/types/components/Calendar/components/CalendarMonthYearView/CalendarMonthYearView.d.ts +11 -0
  101. package/dist/types/components/Calendar/components/CalendarMonthYearView/index.d.ts +1 -0
  102. package/dist/types/components/Calendar/components/CalendarNavButton/CalendarNavButton.d.ts +10 -0
  103. package/dist/types/components/Calendar/components/CalendarNavButton/index.d.ts +1 -0
  104. package/dist/types/components/Calendar/components/CalendarWrapper/CalendarWrapper.d.ts +5 -0
  105. package/dist/types/components/Calendar/components/CalendarWrapper/index.d.ts +1 -0
  106. package/dist/types/components/Calendar/components/index.d.ts +6 -0
  107. package/dist/types/components/Calendar/constants/day-names.d.ts +5 -0
  108. package/dist/types/components/Calendar/constants/index.d.ts +1 -0
  109. package/dist/types/components/Calendar/helpers/contains-date.d.ts +1 -0
  110. package/dist/types/components/Calendar/helpers/contains-date.test.d.ts +1 -0
  111. package/dist/types/components/Calendar/helpers/date-without-time.d.ts +1 -0
  112. package/dist/types/components/Calendar/helpers/date-without-time.test.d.ts +1 -0
  113. package/dist/types/components/Calendar/helpers/get-calendar-type.d.ts +2 -0
  114. package/dist/types/components/Calendar/helpers/get-calendar-type.test.d.ts +1 -0
  115. package/dist/types/components/Calendar/helpers/get-dates-in-month.d.ts +1 -0
  116. package/dist/types/components/Calendar/helpers/get-dates-in-month.test.d.ts +1 -0
  117. package/dist/types/components/Calendar/helpers/get-double-month-display-range.d.ts +1 -0
  118. package/dist/types/components/Calendar/helpers/get-double-month-display-range.test.d.ts +1 -0
  119. package/dist/types/components/Calendar/helpers/get-focus-date.d.ts +5 -0
  120. package/dist/types/components/Calendar/helpers/get-focus-date.test.d.ts +1 -0
  121. package/dist/types/components/Calendar/helpers/get-highlighted-range.d.ts +6 -0
  122. package/dist/types/components/Calendar/helpers/get-highlighted-range.test.d.ts +1 -0
  123. package/dist/types/components/Calendar/helpers/get-keydown-date.d.ts +6 -0
  124. package/dist/types/components/Calendar/helpers/get-keydown-date.test.d.ts +1 -0
  125. package/dist/types/components/Calendar/helpers/index.d.ts +13 -0
  126. package/dist/types/components/Calendar/helpers/is-day.d.ts +2 -0
  127. package/dist/types/components/Calendar/helpers/is-day.test.d.ts +1 -0
  128. package/dist/types/components/Calendar/helpers/is-disabled-date.d.ts +1 -0
  129. package/dist/types/components/Calendar/helpers/is-disabled-date.test.d.ts +1 -0
  130. package/dist/types/components/Calendar/helpers/is-month-after-max-date.d.ts +1 -0
  131. package/dist/types/components/Calendar/helpers/is-month-after-max-date.test.d.ts +1 -0
  132. package/dist/types/components/Calendar/helpers/is-month-before-min-date.d.ts +1 -0
  133. package/dist/types/components/Calendar/helpers/is-month-before-min-date.test.d.ts +1 -0
  134. package/dist/types/components/Calendar/helpers/process-selected-range.d.ts +9 -0
  135. package/dist/types/components/Calendar/helpers/process-selected-range.test.d.ts +1 -0
  136. package/dist/types/components/Calendar/index.d.ts +2 -0
  137. package/dist/types/components/Calendar/state/handlers/calendar-keydown-handler.d.ts +3 -0
  138. package/dist/types/components/Calendar/state/handlers/day-grid-leave-handler.d.ts +3 -0
  139. package/dist/types/components/Calendar/state/handlers/day-number-select-handler.d.ts +3 -0
  140. package/dist/types/components/Calendar/state/handlers/default-handler.d.ts +2 -0
  141. package/dist/types/components/Calendar/state/handlers/dropdown-change-month-handler.d.ts +3 -0
  142. package/dist/types/components/Calendar/state/handlers/dropdown-change-year-handler.d.ts +3 -0
  143. package/dist/types/components/Calendar/state/handlers/highlight-range-handler.d.ts +3 -0
  144. package/dist/types/components/Calendar/state/handlers/index.d.ts +12 -0
  145. package/dist/types/components/Calendar/state/handlers/range-select-handler.d.ts +3 -0
  146. package/dist/types/components/Calendar/state/handlers/show-next-double-month-handler.d.ts +3 -0
  147. package/dist/types/components/Calendar/state/handlers/show-next-month-handler.d.ts +3 -0
  148. package/dist/types/components/Calendar/state/handlers/show-previous-double-month-handler.d.ts +3 -0
  149. package/dist/types/components/Calendar/state/handlers/show-previous-month-handler.d.ts +3 -0
  150. package/dist/types/components/Calendar/state/index.d.ts +2 -0
  151. package/dist/types/components/Calendar/state/reducer.d.ts +3 -0
  152. package/dist/types/components/Calendar/state/reducer.test.d.ts +1 -0
  153. package/dist/types/components/Calendar/state/types/actions.d.ts +81 -0
  154. package/dist/types/components/Calendar/state/types/state-handler.d.ts +3 -0
  155. package/dist/types/components/Calendar/state/types/state.d.ts +5 -0
  156. package/dist/types/components/Calendar/types/calendar-type.d.ts +1 -0
  157. package/dist/types/components/Calendar/types/date-select-value.d.ts +2 -0
  158. package/dist/types/components/Calendar/types/index.d.ts +6 -0
  159. package/dist/types/components/Calendar/types/key-names.d.ts +13 -0
  160. package/dist/types/components/Calendar/types/range-selection.d.ts +10 -0
  161. package/dist/types/components/Calendar/types/selection-type.d.ts +1 -0
  162. package/dist/types/components/Calendar/types/week-days.d.ts +18 -0
  163. package/dist/types/components/DatePicker/DatePicker.d.ts +17 -0
  164. package/dist/types/components/DatePicker/constants/date-format.d.ts +1 -0
  165. package/dist/types/components/DatePicker/constants/index.d.ts +1 -0
  166. package/dist/types/components/DatePicker/helpers/convert-date-string-to-date.d.ts +1 -0
  167. package/dist/types/components/DatePicker/helpers/convert-date-string-to-date.test.d.ts +1 -0
  168. package/dist/types/components/DatePicker/helpers/convert-range-string-to-dates.d.ts +1 -0
  169. package/dist/types/components/DatePicker/helpers/convert-range-string-to-dates.test.d.ts +1 -0
  170. package/dist/types/components/DatePicker/helpers/format-date.d.ts +1 -0
  171. package/dist/types/components/DatePicker/helpers/format-date.test.d.ts +1 -0
  172. package/dist/types/components/DatePicker/helpers/index.d.ts +8 -0
  173. package/dist/types/components/DatePicker/helpers/is-date-valid.d.ts +1 -0
  174. package/dist/types/components/DatePicker/helpers/is-date-valid.test.d.ts +1 -0
  175. package/dist/types/components/DatePicker/helpers/is-disabled-date.d.ts +1 -0
  176. package/dist/types/components/DatePicker/helpers/is-disabled-date.test.d.ts +1 -0
  177. package/dist/types/components/DatePicker/helpers/is-range-valid.d.ts +1 -0
  178. package/dist/types/components/DatePicker/helpers/is-range-valid.test.d.ts +1 -0
  179. package/dist/types/components/DatePicker/helpers/parse-date-string.d.ts +5 -0
  180. package/dist/types/components/DatePicker/helpers/parse-date-string.test.d.ts +1 -0
  181. package/dist/types/components/DatePicker/helpers/parse-range-string.d.ts +14 -0
  182. package/dist/types/components/DatePicker/helpers/parse-range-string.test.d.ts +1 -0
  183. package/dist/types/components/DatePicker/index.d.ts +6 -0
  184. package/dist/types/components/FormControl/FormControl.d.ts +4 -0
  185. package/dist/types/components/RadioGroup/RadioGroup.d.ts +1 -1
  186. package/dist/types/components/SiteHeaderV2/SiteHeaderV2.d.ts +77 -0
  187. package/dist/types/components/SiteHeaderV2/components/BackButton/BackButton.d.ts +5 -0
  188. package/dist/types/components/SiteHeaderV2/components/BackButton/index.d.ts +1 -0
  189. package/dist/types/components/SiteHeaderV2/components/Column/Column.d.ts +8 -0
  190. package/dist/types/components/SiteHeaderV2/components/Column/index.d.ts +1 -0
  191. package/dist/types/components/SiteHeaderV2/components/HorizontalPanel/HorizontalPanel.d.ts +13 -0
  192. package/dist/types/components/SiteHeaderV2/components/HorizontalPanel/index.d.ts +1 -0
  193. package/dist/types/components/SiteHeaderV2/components/Item/Item.d.ts +20 -0
  194. package/dist/types/components/SiteHeaderV2/components/Item/index.d.ts +1 -0
  195. package/dist/types/components/SiteHeaderV2/components/ItemGroup/ItemGroup.d.ts +27 -0
  196. package/dist/types/components/SiteHeaderV2/components/ItemGroup/index.d.ts +1 -0
  197. package/dist/types/components/SiteHeaderV2/components/MenuButton/MenuButton.d.ts +6 -0
  198. package/dist/types/components/SiteHeaderV2/components/MenuButton/index.d.ts +1 -0
  199. package/dist/types/components/SiteHeaderV2/components/NavItem/NavItem.d.ts +40 -0
  200. package/dist/types/components/SiteHeaderV2/components/NavItem/NavItemWithSubNav.d.ts +55 -0
  201. package/dist/types/components/SiteHeaderV2/components/NavItem/index.d.ts +2 -0
  202. package/dist/types/components/SiteHeaderV2/components/NodeItem/NodeItem.d.ts +8 -0
  203. package/dist/types/components/SiteHeaderV2/components/Panel/Panel.d.ts +26 -0
  204. package/dist/types/components/SiteHeaderV2/components/Panel/index.d.ts +1 -0
  205. package/dist/types/components/SiteHeaderV2/components/SubNavItem/SubNavItem.d.ts +45 -0
  206. package/dist/types/components/SiteHeaderV2/components/SubNavItem/index.d.ts +1 -0
  207. package/dist/types/components/SiteHeaderV2/components/VerticalDivider/VerticalDivider.d.ts +1 -0
  208. package/dist/types/components/SiteHeaderV2/components/VerticalDivider/index.d.ts +1 -0
  209. package/dist/types/components/SiteHeaderV2/index.d.ts +1 -0
  210. package/dist/types/components/TextArea/TextArea.d.ts +4 -0
  211. package/dist/types/components/TextInput/TextInput.d.ts +22 -3
  212. package/dist/types/components/index.d.ts +1 -0
  213. package/dist/types/private-components/CardFooter/CardFooter.d.ts +11 -0
  214. package/dist/types/private-components/CardFooter/index.d.ts +1 -0
  215. package/dist/types/private-components/CardHeading/CardHeading.d.ts +19 -0
  216. package/dist/types/private-components/CardHeading/index.d.ts +1 -0
  217. package/dist/types/private-components/CardLabel/CardLabel.d.ts +10 -0
  218. package/dist/types/private-components/CardLabel/index.d.ts +1 -0
  219. package/dist/types/private-components/index.d.ts +4 -0
  220. package/dist/types/styles.d.ts +6 -0
  221. package/package.json +4 -2
  222. package/dist/_shared/cjs/BtIconArrowRight.esm-8e8ac316.js +0 -30
  223. package/dist/_shared/cjs/index-4ecad2dd.js +0 -273
  224. package/dist/_shared/esm/BtIconArrowRight.esm-267916a4.js +0 -24
  225. package/dist/_shared/esm/index-d0307140.js +0 -264
  226. package/dist/types/internal-components/index.d.ts +0 -1
  227. package/dist/_shared/cjs/{index-56a040f4.js → index-dd1d18ea.js} +66 -66
  228. package/dist/_shared/cjs/{index.es-26dd8c5d.js → use-media-query-e61881d8.js} +8 -8
  229. /package/dist/types/{internal-components → private-components}/ConditionalWrapper/ConditionalWrapper.d.ts +0 -0
  230. /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$3 = { surface: "light" };
346
- var Context$3 = React.createContext(defaultContext$3);
347
- var Provider$4 = Context$3.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$4, { value: { surface: surface } },
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$3).surface;
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$3).surface;
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$3).surface;
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$3).surface;
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$3).surface;
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$3).surface;
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$3).surface;
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$3).surface;
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$3).surface;
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$3).surface;
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
- var defaultContext$2 = {
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$2 = React.createContext(defaultContext$2);
1738
- var Provider$3 = Context$2.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$3).surface;
1745
- var _f = useAriaDescribedby({
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 = _f.ariaDescribedby, idError = _f.idError, idHelper = _f.idHelper, idDisclosure = _f.idDisclosure;
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$3, { value: { requirementStatus: requirementStatus } },
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$2).requirementStatus;
1797
- var surface = React.useContext(Context$3).surface;
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$3).surface;
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$3).surface;
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$3).surface;
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$3).surface;
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 InformationCard = function (_a) {
2225
- 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"]);
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("div", __assign({ className: classNames("arc-InformationCard", {
2233
- "arc-InformationCard--interactive": cardUrl
2234
- }) }, filterDataAttrs(props)),
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
- * Use `Markup` to display HTML-formatted text.
2268
- */
2269
- var Markup = function (_a) {
2270
- var children = _a.children, _b = _a.isMeasured, isMeasured = _b === void 0 ? false : _b, props = __rest(_a, ["children", "isMeasured"]);
2271
- var surface = React.useContext(Context$3).surface;
2272
- return (React__default["default"].createElement("div", __assign({ className: classNames({
2273
- "arc-Markup": true,
2274
- "arc-Markup--measured": isMeasured,
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 HeadingElement = "h".concat(headingLevel);
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--interactive": url,
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("span", { className: "arc-MediaCard-label" }, label),
2416
+ React__default["default"].createElement(CardLabel, { text: label }),
2371
2417
  React__default["default"].createElement(VerticalSpace, { size: headingSpacing }))),
2372
- React__default["default"].createElement(HeadingElement, { className: "arc-MediaCard-heading" }, url ? (React__default["default"].createElement("a", { className: "arc-MediaCard-headingLink", href: url, onClick: onClick }, heading)) : (heading)),
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("div", { className: "arc-MediaCard-footer" },
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$1 = 'focusScope.autoFocusOnMount';
33896
- const $d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT$1 = 'focusScope.autoFocusOnUnmount';
33897
- const $d3863c46a17e8a28$var$EVENT_OPTIONS$1 = {
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$1 = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
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$1(lastFocusedElementRef.current, {
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$1(lastFocusedElementRef.current, {
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
- for (const mutation of mutations){
33951
- if (mutation.removedNodes.length > 0) {
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$1.add(focusScope);
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$1, $d3863c46a17e8a28$var$EVENT_OPTIONS$1);
33981
- container1.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT$1, onMountAutoFocus);
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$1($d3863c46a17e8a28$var$removeLinks$1($d3863c46a17e8a28$var$getTabbableCandidates$1(container1)), {
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$1(container1);
34004
+ if (document.activeElement === previouslyFocusedElement) $d3863c46a17e8a28$var$focus(container1);
33988
34005
  }
33989
34006
  }
33990
34007
  return ()=>{
33991
- container1.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT$1, onMountAutoFocus); // We hit a react bug (fixed in v17) with focusing in unmount.
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$1, $d3863c46a17e8a28$var$EVENT_OPTIONS$1);
33996
- container1.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT$1, onUnmountAutoFocus);
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$1(previouslyFocusedElement !== null && previouslyFocusedElement !== void 0 ? previouslyFocusedElement : document.body, {
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$1, onUnmountAutoFocus);
34003
- $d3863c46a17e8a28$var$focusScopesStack$1.remove(focusScope);
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$1(container);
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$1(first, {
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$1(last, {
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$1(candidates, { select: select = false } = {}) {
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$1(candidate, {
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$1(container) {
34067
- const candidates = $d3863c46a17e8a28$var$getTabbableCandidates$1(container);
34068
- const first = $d3863c46a17e8a28$var$findVisible$1(candidates, container);
34069
- const last = $d3863c46a17e8a28$var$findVisible$1(candidates.reverse(), container);
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$1(container) {
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$1(elements, container) {
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$1(element, {
34122
+ if (!$d3863c46a17e8a28$var$isHidden(element, {
34106
34123
  upTo: container
34107
34124
  })) return element;
34108
34125
  }
34109
34126
  }
34110
- function $d3863c46a17e8a28$var$isHidden$1(node, { upTo: upTo }) {
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$1(element) {
34137
+ function $d3863c46a17e8a28$var$isSelectableInput(element) {
34121
34138
  return element instanceof HTMLInputElement && 'select' in element;
34122
34139
  }
34123
- function $d3863c46a17e8a28$var$focus$1(element, { select: select = false } = {}) {
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$1(element) && select) element.select();
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$1 = $d3863c46a17e8a28$var$createFocusScopesStack$1();
34136
- function $d3863c46a17e8a28$var$createFocusScopesStack$1() {
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$1(stack, focusScope);
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$1(stack, focusScope);
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$1(array, item) {
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$1(items) {
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$1, {
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$3).surface;
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$3).surface;
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$3).surface;
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$3).surface;
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$2 = RadioContext.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$3).surface;
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$2, { value: {
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$3).surface;
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$3).surface;
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$1).navItem;
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$1 = { navItem: null, subTitle: null };
40218
- var Context$1 = React.createContext(defaultContext$1);
40219
- var Provider$1 = Context$1.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$1, { value: { navItem: navItem, subTitle: subTitle } },
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$3).surface;
40987
- return (React__default["default"].createElement(FormControl, { errorMessage: errorMessage, htmlFor: id, isDisabled: isDisabled, label: hideLabel ? "" : label, labelSize: labelSize, requirementStatus: "not-applicable" },
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, "aria-label": label, defaultChecked: defaultChecked, name: name, value: value, onBlur: onBlur, onCheckedChange: onCheckedChange, disabled: isDisabled, className: classNames("arc-Switch", {
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$3).surface;
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$3).surface;
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$3).surface;
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$3).surface;
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(React__default["default"].Fragment, null,
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$1, {
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 HeadingElement = "h".concat(headingLevel);
42257
- var icons = {
42258
- arrow: {
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--darkPathway": pathway === "dark",
42269
- "arc-TypographyCard--lightPathway": pathway === "light"
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("span", { className: "arc-TypographyCard-label" }, label))),
42274
- React__default["default"].createElement(HeadingElement, { className: "arc-TypographyCard-heading" },
42275
- React__default["default"].createElement("a", __assign({ className: "arc-TypographyCard-headingLink", href: url, onClick: onClick }, filterDataAttrs(linkData)), heading))),
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$3;
42697
+ exports.SurfaceContext = Context$5;
42353
42698
  exports.Switch = Switch;
42354
42699
  exports.Tabs = Tabs;
42355
42700
  exports.Tag = Tag;