@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
@@ -1,7 +1,7 @@
1
1
  import { _ as __rest, a as __assign, f as filterDataAttrs } from '../_shared/esm/filter-data-attrs-ea8f4ed4.js';
2
- import React__default from 'react';
3
- import { u as useMediaQuery, A as ArcBreakpointS, a as ArcBreakpointM } from '../_shared/esm/index.es-c552c0ea.js';
4
- import { B as BtIconArrowRight } from '../_shared/esm/BtIconArrowRight.esm-267916a4.js';
2
+ import React__default, { useState } from 'react';
3
+ import { u as useMediaQuery, a as ArcBreakpointS, A as ArcBreakpointM } from '../_shared/esm/use-media-query-4c807227.js';
4
+ import { C as CardLabel, a as CardHeading, B as BtIconArrowRight } from '../_shared/esm/CardLabel-d6d71407.js';
5
5
  import { I as Icon } from '../_shared/esm/Icon-abd0d990.js';
6
6
  import { T as Tag } from '../_shared/esm/Tag-92c088a9.js';
7
7
  import { I as Image } from '../_shared/esm/Image-12fbd327.js';
@@ -18,12 +18,13 @@ var InformationCard = function (_a) {
18
18
  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"]);
19
19
  var isMinWidthArcBreakpointS = useMediaQuery("(min-width: ".concat(ArcBreakpointS, "px)"));
20
20
  var isMinWidthArcBreakpointM = useMediaQuery("(min-width: ".concat(ArcBreakpointM, "px)"));
21
+ var _c = useState(false), showHoverState = _c[0], setShowHoverState = _c[1];
21
22
  var headingSpacing = isMinWidthArcBreakpointS ? "16" : "8";
22
23
  var assetSpacing = isMinWidthArcBreakpointM ? "24" : "20";
23
24
  var containerSpacing = isMinWidthArcBreakpointS ? "32" : "24";
24
- var HeadingElement = "h".concat(headingLevel);
25
+ var handleShowHoverState = function (show) { return function () { return setShowHoverState(show); }; };
25
26
  return (React__default.createElement("div", __assign({ className: classNames("arc-InformationCard", {
26
- "arc-InformationCard--interactive": cardUrl
27
+ "arc-InformationCard--outlined": cardUrl && showHoverState
27
28
  }) }, filterDataAttrs(props)),
28
29
  React__default.createElement(Surface, { growVertically: true, padding: containerSpacing, background: "white" },
29
30
  React__default.createElement("div", null,
@@ -34,9 +35,9 @@ var InformationCard = function (_a) {
34
35
  React__default.createElement(Icon, { testId: "information-card-icon", icon: icon, size: 96 }),
35
36
  React__default.createElement(VerticalSpace, { size: assetSpacing }))),
36
37
  label && (React__default.createElement(React__default.Fragment, null,
37
- React__default.createElement("span", { className: "arc-InformationCard-label" }, label),
38
+ React__default.createElement(CardLabel, { color: "supporting", text: label }),
38
39
  React__default.createElement(VerticalSpace, { size: headingSpacing }))),
39
- React__default.createElement(HeadingElement, { className: "arc-InformationCard-heading" }, cardUrl ? (React__default.createElement("a", { className: "arc-InformationCard-headingLink", href: cardUrl, onClick: onClick }, heading)) : (heading))),
40
+ React__default.createElement(CardHeading, { heading: heading, headingLevel: headingLevel, href: cardUrl, onClick: onClick, onMouseEnter: handleShowHoverState(true), onMouseLeave: handleShowHoverState(false), onFocus: handleShowHoverState(true), onBlur: handleShowHoverState(false) })),
40
41
  React__default.createElement("div", { className: "arc-InformationCard-contentContainer" },
41
42
  text && (React__default.createElement(React__default.Fragment, null,
42
43
  React__default.createElement(VerticalSpace, { size: headingSpacing }),
@@ -0,0 +1,56 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var filterDataAttrs = require('../_shared/cjs/filter-data-attrs-1c9a530c.js');
6
+ var React = require('react');
7
+ var index = require('../_shared/cjs/index-9947ac13.js');
8
+ var useMediaQuery = require('../_shared/cjs/use-media-query-e61881d8.js');
9
+ var CardLabel = require('../_shared/cjs/CardLabel-768abf20.js');
10
+ var CardFooter = require('../_shared/cjs/CardFooter-43c32239.js');
11
+ var Image = require('../_shared/cjs/Image-e873b8fc.js');
12
+ var Surface = require('../_shared/cjs/Surface-038db6e1.js');
13
+ var Text = require('../_shared/cjs/Text-606ca3a2.js');
14
+ var VerticalSpace = require('../_shared/cjs/VerticalSpace-dc53bb70.js');
15
+ require('../_shared/cjs/suffix-modifier-64dcd338.js');
16
+ require('../_shared/cjs/BtIconArrowRightFill.esm-435cf4bd.js');
17
+ require('../_shared/cjs/Icon-a9801f05.js');
18
+
19
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
+
21
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
+
23
+ var ConditionalWrapper = function (_a) {
24
+ var condition = _a.condition, wrapper = _a.wrapper, children = _a.children;
25
+ return (React__default["default"].createElement(React__default["default"].Fragment, null, condition ? wrapper(children) : children));
26
+ };
27
+
28
+ /**
29
+ * Use `MediaCard` to contain content and an image about a single subject.
30
+ */
31
+ var MediaCard = function (_a) {
32
+ 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 = filterDataAttrs.__rest(_a, ["img", "url", "onClick", "heading", "label", "text", "metaText", "buttonIcon", "isContained", "headingLevel"]);
33
+ var _e = React.useState(false), showHoverState = _e[0], setShowHoverState = _e[1];
34
+ var isMinWidthArcBreakpointS = useMediaQuery.useMediaQuery("(min-width: ".concat(useMediaQuery.ArcBreakpointS, "px)"));
35
+ var headingSpacing = isMinWidthArcBreakpointS ? "16" : "8";
36
+ var handleShowHoverState = function (show) { return function () { return setShowHoverState(show); }; };
37
+ return (React__default["default"].createElement("div", filterDataAttrs.__assign({ className: index.classNames("arc-MediaCard", {
38
+ "arc-MediaCard--outlined": url && isContained && showHoverState,
39
+ "arc-MediaCard--contained": isContained
40
+ }) }, filterDataAttrs.filterDataAttrs(props)),
41
+ React__default["default"].createElement(ConditionalWrapper, { condition: isContained, wrapper: function (children) { return (React__default["default"].createElement(Surface.Surface, { growVertically: true, background: "white" }, children)); } },
42
+ React__default["default"].createElement("div", { className: "arc-MediaCard-imgContainer" },
43
+ React__default["default"].createElement(Image.Image, filterDataAttrs.__assign({}, img))),
44
+ React__default["default"].createElement("div", { className: "arc-MediaCard-content" },
45
+ label && (React__default["default"].createElement(React__default["default"].Fragment, null,
46
+ React__default["default"].createElement(CardLabel.CardLabel, { text: label }),
47
+ React__default["default"].createElement(VerticalSpace.VerticalSpace, { size: headingSpacing }))),
48
+ React__default["default"].createElement(CardLabel.CardHeading, { heading: heading, headingLevel: headingLevel, href: url, onClick: onClick, onMouseEnter: handleShowHoverState(true), onMouseLeave: handleShowHoverState(false), onFocus: handleShowHoverState(true), onBlur: handleShowHoverState(false) }),
49
+ React__default["default"].createElement("div", { className: "arc-MediaCard-textContainer" }, text && (React__default["default"].createElement(React__default["default"].Fragment, null,
50
+ React__default["default"].createElement(VerticalSpace.VerticalSpace, { size: headingSpacing }),
51
+ React__default["default"].createElement(Text.Text, null, text),
52
+ (url || metaText) && React__default["default"].createElement(VerticalSpace.VerticalSpace, { size: "24" })))),
53
+ React__default["default"].createElement(CardFooter.CardFooter, { showFilledIcon: showHoverState, buttonIcon: buttonIcon, metaText: metaText, showButton: Boolean(url) })))));
54
+ };
55
+
56
+ exports.MediaCard = MediaCard;
@@ -0,0 +1,48 @@
1
+ import { _ as __rest, a as __assign, f as filterDataAttrs } from '../_shared/esm/filter-data-attrs-ea8f4ed4.js';
2
+ import React__default, { useState } from 'react';
3
+ import { c as classNames } from '../_shared/esm/index-2e73c2e9.js';
4
+ import { u as useMediaQuery, a as ArcBreakpointS } from '../_shared/esm/use-media-query-4c807227.js';
5
+ import { C as CardLabel, a as CardHeading } from '../_shared/esm/CardLabel-d6d71407.js';
6
+ import { C as CardFooter } from '../_shared/esm/CardFooter-dd8d4000.js';
7
+ import { I as Image } from '../_shared/esm/Image-12fbd327.js';
8
+ import { S as Surface } from '../_shared/esm/Surface-0ca6817d.js';
9
+ import { T as Text } from '../_shared/esm/Text-14f586ac.js';
10
+ import { V as VerticalSpace } from '../_shared/esm/VerticalSpace-43cd9138.js';
11
+ import '../_shared/esm/suffix-modifier-3d548e45.js';
12
+ import '../_shared/esm/BtIconArrowRightFill.esm-99019d1a.js';
13
+ import '../_shared/esm/Icon-abd0d990.js';
14
+
15
+ var ConditionalWrapper = function (_a) {
16
+ var condition = _a.condition, wrapper = _a.wrapper, children = _a.children;
17
+ return (React__default.createElement(React__default.Fragment, null, condition ? wrapper(children) : children));
18
+ };
19
+
20
+ /**
21
+ * Use `MediaCard` to contain content and an image about a single subject.
22
+ */
23
+ var MediaCard = function (_a) {
24
+ 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"]);
25
+ var _e = useState(false), showHoverState = _e[0], setShowHoverState = _e[1];
26
+ var isMinWidthArcBreakpointS = useMediaQuery("(min-width: ".concat(ArcBreakpointS, "px)"));
27
+ var headingSpacing = isMinWidthArcBreakpointS ? "16" : "8";
28
+ var handleShowHoverState = function (show) { return function () { return setShowHoverState(show); }; };
29
+ return (React__default.createElement("div", __assign({ className: classNames("arc-MediaCard", {
30
+ "arc-MediaCard--outlined": url && isContained && showHoverState,
31
+ "arc-MediaCard--contained": isContained
32
+ }) }, filterDataAttrs(props)),
33
+ React__default.createElement(ConditionalWrapper, { condition: isContained, wrapper: function (children) { return (React__default.createElement(Surface, { growVertically: true, background: "white" }, children)); } },
34
+ React__default.createElement("div", { className: "arc-MediaCard-imgContainer" },
35
+ React__default.createElement(Image, __assign({}, img))),
36
+ React__default.createElement("div", { className: "arc-MediaCard-content" },
37
+ label && (React__default.createElement(React__default.Fragment, null,
38
+ React__default.createElement(CardLabel, { text: label }),
39
+ React__default.createElement(VerticalSpace, { size: headingSpacing }))),
40
+ React__default.createElement(CardHeading, { heading: heading, headingLevel: headingLevel, href: url, onClick: onClick, onMouseEnter: handleShowHoverState(true), onMouseLeave: handleShowHoverState(false), onFocus: handleShowHoverState(true), onBlur: handleShowHoverState(false) }),
41
+ React__default.createElement("div", { className: "arc-MediaCard-textContainer" }, text && (React__default.createElement(React__default.Fragment, null,
42
+ React__default.createElement(VerticalSpace, { size: headingSpacing }),
43
+ React__default.createElement(Text, null, text),
44
+ (url || metaText) && React__default.createElement(VerticalSpace, { size: "24" })))),
45
+ React__default.createElement(CardFooter, { showFilledIcon: showHoverState, buttonIcon: buttonIcon, metaText: metaText, showButton: Boolean(url) })))));
46
+ };
47
+
48
+ export { MediaCard };
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "@arc-ui/mediacard",
3
+ "types": "../types/components/MediaCard/index.d.ts",
4
+ "main": "./MediaCard.cjs.js",
5
+ "module": "./MediaCard.esm.js",
6
+ "private": true
7
+ }
@@ -4,14 +4,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var filterDataAttrs = require('../_shared/cjs/filter-data-attrs-1c9a530c.js');
6
6
  var React = require('react');
7
- var index$5 = require('../_shared/cjs/index-9947ac13.js');
7
+ var index$3 = require('../_shared/cjs/index-9947ac13.js');
8
8
  var BtIconCrossAlt2Px_esm = require('../_shared/cjs/BtIconCrossAlt2Px.esm-1452b14b.js');
9
9
  var _extends = require('../_shared/cjs/extends-8c5e4b48.js');
10
- var index = require('../_shared/cjs/index-56a040f4.js');
11
- var index$1 = require('../_shared/cjs/index-84e6a68f.js');
12
- var index$3 = require('../_shared/cjs/index-4ecad2dd.js');
13
- var index$2 = require('../_shared/cjs/index-49c72a87.js');
14
- var index$4 = require('../_shared/cjs/index-3d69ea00.js');
10
+ var index = require('../_shared/cjs/index-dd1d18ea.js');
11
+ var index$1 = require('../_shared/cjs/index-6eb396a3.js');
12
+ var Combination = require('../_shared/cjs/Combination-9974f2e2.js');
13
+ var index$2 = require('../_shared/cjs/index-d38f1bd0.js');
15
14
  var Icon = require('../_shared/cjs/Icon-a9801f05.js');
16
15
  var Base = require('../_shared/cjs/Base-f5a86eed.js');
17
16
  var Heading = require('../_shared/cjs/Heading-27cba320.js');
@@ -19,7 +18,7 @@ var Button = require('../_shared/cjs/Button-4fed080a.js');
19
18
  var Text = require('../_shared/cjs/Text-606ca3a2.js');
20
19
  var VerticalSpace = require('../_shared/cjs/VerticalSpace-dc53bb70.js');
21
20
  require('react-dom');
22
- require('../_shared/cjs/index-6542b467.js');
21
+ require('../_shared/cjs/index-74004a9c.js');
23
22
  require('../_shared/cjs/suffix-modifier-64dcd338.js');
24
23
  require('../_shared/cjs/Surface-038db6e1.js');
25
24
  require('../_shared/cjs/BtIconChevronLeftMid.esm-0aaa6770.js');
@@ -29,278 +28,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
29
28
 
30
29
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
31
30
 
32
- const $d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT = 'focusScope.autoFocusOnMount';
33
- const $d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT = 'focusScope.autoFocusOnUnmount';
34
- const $d3863c46a17e8a28$var$EVENT_OPTIONS = {
35
- bubbles: false,
36
- cancelable: true
37
- };
38
- const $d3863c46a17e8a28$export$20e40289641fbbb6 = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
39
- const { loop: loop = false , trapped: trapped = false , onMountAutoFocus: onMountAutoFocusProp , onUnmountAutoFocus: onUnmountAutoFocusProp , ...scopeProps } = props;
40
- const [container1, setContainer] = React.useState(null);
41
- const onMountAutoFocus = index.$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(onMountAutoFocusProp);
42
- const onUnmountAutoFocus = index.$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(onUnmountAutoFocusProp);
43
- const lastFocusedElementRef = React.useRef(null);
44
- const composedRefs = index.$6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, (node)=>setContainer(node)
45
- );
46
- const focusScope = React.useRef({
47
- paused: false,
48
- pause () {
49
- this.paused = true;
50
- },
51
- resume () {
52
- this.paused = false;
53
- }
54
- }).current; // Takes care of trapping focus if focus is moved outside programmatically for example
55
- React.useEffect(()=>{
56
- if (trapped) {
57
- function handleFocusIn(event) {
58
- if (focusScope.paused || !container1) return;
59
- const target = event.target;
60
- if (container1.contains(target)) lastFocusedElementRef.current = target;
61
- else $d3863c46a17e8a28$var$focus(lastFocusedElementRef.current, {
62
- select: true
63
- });
64
- }
65
- function handleFocusOut(event) {
66
- if (focusScope.paused || !container1) return;
67
- const relatedTarget = event.relatedTarget; // A `focusout` event with a `null` `relatedTarget` will happen in at least two cases:
68
- //
69
- // 1. When the user switches app/tabs/windows/the browser itself loses focus.
70
- // 2. In Google Chrome, when the focused element is removed from the DOM.
71
- //
72
- // We let the browser do its thing here because:
73
- //
74
- // 1. The browser already keeps a memory of what's focused for when the page gets refocused.
75
- // 2. In Google Chrome, if we try to focus the deleted focused element (as per below), it
76
- // throws the CPU to 100%, so we avoid doing anything for this reason here too.
77
- if (relatedTarget === null) return; // If the focus has moved to an actual legitimate element (`relatedTarget !== null`)
78
- // that is outside the container, we move focus to the last valid focused element inside.
79
- if (!container1.contains(relatedTarget)) $d3863c46a17e8a28$var$focus(lastFocusedElementRef.current, {
80
- select: true
81
- });
82
- } // When the focused element gets removed from the DOM, browsers move focus
83
- // back to the document.body. In this case, we move focus to the container
84
- // to keep focus trapped correctly.
85
- function handleMutations(mutations) {
86
- const focusedElement = document.activeElement;
87
- for (const mutation of mutations){
88
- if (mutation.removedNodes.length > 0) {
89
- if (!(container1 !== null && container1 !== void 0 && container1.contains(focusedElement))) $d3863c46a17e8a28$var$focus(container1);
90
- }
91
- }
92
- }
93
- document.addEventListener('focusin', handleFocusIn);
94
- document.addEventListener('focusout', handleFocusOut);
95
- const mutationObserver = new MutationObserver(handleMutations);
96
- if (container1) mutationObserver.observe(container1, {
97
- childList: true,
98
- subtree: true
99
- });
100
- return ()=>{
101
- document.removeEventListener('focusin', handleFocusIn);
102
- document.removeEventListener('focusout', handleFocusOut);
103
- mutationObserver.disconnect();
104
- };
105
- }
106
- }, [
107
- trapped,
108
- container1,
109
- focusScope.paused
110
- ]);
111
- React.useEffect(()=>{
112
- if (container1) {
113
- $d3863c46a17e8a28$var$focusScopesStack.add(focusScope);
114
- const previouslyFocusedElement = document.activeElement;
115
- const hasFocusedCandidate = container1.contains(previouslyFocusedElement);
116
- if (!hasFocusedCandidate) {
117
- const mountEvent = new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, $d3863c46a17e8a28$var$EVENT_OPTIONS);
118
- container1.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, onMountAutoFocus);
119
- container1.dispatchEvent(mountEvent);
120
- if (!mountEvent.defaultPrevented) {
121
- $d3863c46a17e8a28$var$focusFirst($d3863c46a17e8a28$var$removeLinks($d3863c46a17e8a28$var$getTabbableCandidates(container1)), {
122
- select: true
123
- });
124
- if (document.activeElement === previouslyFocusedElement) $d3863c46a17e8a28$var$focus(container1);
125
- }
126
- }
127
- return ()=>{
128
- container1.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, onMountAutoFocus); // We hit a react bug (fixed in v17) with focusing in unmount.
129
- // We need to delay the focus a little to get around it for now.
130
- // See: https://github.com/facebook/react/issues/17894
131
- setTimeout(()=>{
132
- const unmountEvent = new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, $d3863c46a17e8a28$var$EVENT_OPTIONS);
133
- container1.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);
134
- container1.dispatchEvent(unmountEvent);
135
- if (!unmountEvent.defaultPrevented) $d3863c46a17e8a28$var$focus(previouslyFocusedElement !== null && previouslyFocusedElement !== void 0 ? previouslyFocusedElement : document.body, {
136
- select: true
137
- });
138
- // we need to remove the listener after we `dispatchEvent`
139
- container1.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);
140
- $d3863c46a17e8a28$var$focusScopesStack.remove(focusScope);
141
- }, 0);
142
- };
143
- }
144
- }, [
145
- container1,
146
- onMountAutoFocus,
147
- onUnmountAutoFocus,
148
- focusScope
149
- ]); // Takes care of looping focus (when tabbing whilst at the edges)
150
- const handleKeyDown = React.useCallback((event)=>{
151
- if (!loop && !trapped) return;
152
- if (focusScope.paused) return;
153
- const isTabKey = event.key === 'Tab' && !event.altKey && !event.ctrlKey && !event.metaKey;
154
- const focusedElement = document.activeElement;
155
- if (isTabKey && focusedElement) {
156
- const container = event.currentTarget;
157
- const [first, last] = $d3863c46a17e8a28$var$getTabbableEdges(container);
158
- const hasTabbableElementsInside = first && last; // we can only wrap focus if we have tabbable edges
159
- if (!hasTabbableElementsInside) {
160
- if (focusedElement === container) event.preventDefault();
161
- } else {
162
- if (!event.shiftKey && focusedElement === last) {
163
- event.preventDefault();
164
- if (loop) $d3863c46a17e8a28$var$focus(first, {
165
- select: true
166
- });
167
- } else if (event.shiftKey && focusedElement === first) {
168
- event.preventDefault();
169
- if (loop) $d3863c46a17e8a28$var$focus(last, {
170
- select: true
171
- });
172
- }
173
- }
174
- }
175
- }, [
176
- loop,
177
- trapped,
178
- focusScope.paused
179
- ]);
180
- return /*#__PURE__*/ React.createElement(index.$8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends._extends({
181
- tabIndex: -1
182
- }, scopeProps, {
183
- ref: composedRefs,
184
- onKeyDown: handleKeyDown
185
- }));
186
- });
187
- /* -------------------------------------------------------------------------------------------------
188
- * Utils
189
- * -----------------------------------------------------------------------------------------------*/ /**
190
- * Attempts focusing the first element in a list of candidates.
191
- * Stops when focus has actually moved.
192
- */ function $d3863c46a17e8a28$var$focusFirst(candidates, { select: select = false } = {}) {
193
- const previouslyFocusedElement = document.activeElement;
194
- for (const candidate of candidates){
195
- $d3863c46a17e8a28$var$focus(candidate, {
196
- select: select
197
- });
198
- if (document.activeElement !== previouslyFocusedElement) return;
199
- }
200
- }
201
- /**
202
- * Returns the first and last tabbable elements inside a container.
203
- */ function $d3863c46a17e8a28$var$getTabbableEdges(container) {
204
- const candidates = $d3863c46a17e8a28$var$getTabbableCandidates(container);
205
- const first = $d3863c46a17e8a28$var$findVisible(candidates, container);
206
- const last = $d3863c46a17e8a28$var$findVisible(candidates.reverse(), container);
207
- return [
208
- first,
209
- last
210
- ];
211
- }
212
- /**
213
- * Returns a list of potential tabbable candidates.
214
- *
215
- * NOTE: This is only a close approximation. For example it doesn't take into account cases like when
216
- * elements are not visible. This cannot be worked out easily by just reading a property, but rather
217
- * necessitate runtime knowledge (computed styles, etc). We deal with these cases separately.
218
- *
219
- * See: https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker
220
- * Credit: https://github.com/discord/focus-layers/blob/master/src/util/wrapFocus.tsx#L1
221
- */ function $d3863c46a17e8a28$var$getTabbableCandidates(container) {
222
- const nodes = [];
223
- const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {
224
- acceptNode: (node)=>{
225
- const isHiddenInput = node.tagName === 'INPUT' && node.type === 'hidden';
226
- if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP; // `.tabIndex` is not the same as the `tabindex` attribute. It works on the
227
- // runtime's understanding of tabbability, so this automatically accounts
228
- // for any kind of element that could be tabbed to.
229
- return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
230
- }
231
- });
232
- while(walker.nextNode())nodes.push(walker.currentNode); // we do not take into account the order of nodes with positive `tabIndex` as it
233
- // hinders accessibility to have tab order different from visual order.
234
- return nodes;
235
- }
236
- /**
237
- * Returns the first visible element in a list.
238
- * NOTE: Only checks visibility up to the `container`.
239
- */ function $d3863c46a17e8a28$var$findVisible(elements, container) {
240
- for (const element of elements){
241
- // we stop checking if it's hidden at the `container` level (excluding)
242
- if (!$d3863c46a17e8a28$var$isHidden(element, {
243
- upTo: container
244
- })) return element;
245
- }
246
- }
247
- function $d3863c46a17e8a28$var$isHidden(node, { upTo: upTo }) {
248
- if (getComputedStyle(node).visibility === 'hidden') return true;
249
- while(node){
250
- // we stop at `upTo` (excluding it)
251
- if (upTo !== undefined && node === upTo) return false;
252
- if (getComputedStyle(node).display === 'none') return true;
253
- node = node.parentElement;
254
- }
255
- return false;
256
- }
257
- function $d3863c46a17e8a28$var$isSelectableInput(element) {
258
- return element instanceof HTMLInputElement && 'select' in element;
259
- }
260
- function $d3863c46a17e8a28$var$focus(element, { select: select = false } = {}) {
261
- // only focus if that element is focusable
262
- if (element && element.focus) {
263
- const previouslyFocusedElement = document.activeElement; // NOTE: we prevent scrolling on focus, to minimize jarring transitions for users
264
- element.focus({
265
- preventScroll: true
266
- }); // only select if its not the same element, it supports selection and we need to select
267
- if (element !== previouslyFocusedElement && $d3863c46a17e8a28$var$isSelectableInput(element) && select) element.select();
268
- }
269
- }
270
- /* -------------------------------------------------------------------------------------------------
271
- * FocusScope stack
272
- * -----------------------------------------------------------------------------------------------*/ const $d3863c46a17e8a28$var$focusScopesStack = $d3863c46a17e8a28$var$createFocusScopesStack();
273
- function $d3863c46a17e8a28$var$createFocusScopesStack() {
274
- /** A stack of focus scopes, with the active one at the top */ let stack = [];
275
- return {
276
- add (focusScope) {
277
- // pause the currently active focus scope (at the top of the stack)
278
- const activeFocusScope = stack[0];
279
- if (focusScope !== activeFocusScope) activeFocusScope === null || activeFocusScope === void 0 || activeFocusScope.pause();
280
- // remove in case it already exists (because we'll re-add it at the top of the stack)
281
- stack = $d3863c46a17e8a28$var$arrayRemove(stack, focusScope);
282
- stack.unshift(focusScope);
283
- },
284
- remove (focusScope) {
285
- var _stack$;
286
- stack = $d3863c46a17e8a28$var$arrayRemove(stack, focusScope);
287
- (_stack$ = stack[0]) === null || _stack$ === void 0 || _stack$.resume();
288
- }
289
- };
290
- }
291
- function $d3863c46a17e8a28$var$arrayRemove(array, item) {
292
- const updatedArray = [
293
- ...array
294
- ];
295
- const index = updatedArray.indexOf(item);
296
- if (index !== -1) updatedArray.splice(index, 1);
297
- return updatedArray;
298
- }
299
- function $d3863c46a17e8a28$var$removeLinks(items) {
300
- return items.filter((item)=>item.tagName !== 'A'
301
- );
302
- }
303
-
304
31
  /* -------------------------------------------------------------------------------------------------
305
32
  * Dialog
306
33
  * -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DIALOG_NAME = 'Dialog';
@@ -346,7 +73,7 @@ const $5d3850c4d0b4e6c7$export$dad7c95542bacce0 = (props)=>{
346
73
  forceMount: forceMount
347
74
  }, React.Children.map(children, (child)=>/*#__PURE__*/ React.createElement(index$2.$921a889cee6df7e8$export$99c2b779aa4e8b8b, {
348
75
  present: forceMount || context.open
349
- }, /*#__PURE__*/ React.createElement(index$3.$f1701beae083dbae$export$602eac185826482c, {
76
+ }, /*#__PURE__*/ React.createElement(Combination.$f1701beae083dbae$export$602eac185826482c, {
350
77
  asChild: true,
351
78
  container: container
352
79
  }, child))
@@ -370,7 +97,7 @@ const $5d3850c4d0b4e6c7$var$DialogOverlayImpl = /*#__PURE__*/ React.forwardRef((
370
97
  const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$OVERLAY_NAME, __scopeDialog);
371
98
  return(/*#__PURE__*/ // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
372
99
  // ie. when `Overlay` and `Content` are siblings
373
- React.createElement(index$4.$01b9c$RemoveScroll, {
100
+ React.createElement(Combination.$01b9c$RemoveScroll, {
374
101
  as: index.$5e63c961fc1ce211$export$8c6ed5c666ac1360,
375
102
  allowPinchZoom: true,
376
103
  shards: [
@@ -408,7 +135,7 @@ const $5d3850c4d0b4e6c7$export$b6d9565de1e068cf = /*#__PURE__*/ React.forwardRef
408
135
  const composedRefs = index.$6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, context.contentRef, contentRef); // aria-hide everything except the content (better supported equivalent to setting aria-modal)
409
136
  React.useEffect(()=>{
410
137
  const content = contentRef.current;
411
- if (content) return index$4.hideOthers(content);
138
+ if (content) return Combination.hideOthers(content);
412
139
  }, []);
413
140
  return /*#__PURE__*/ React.createElement($5d3850c4d0b4e6c7$var$DialogContentImpl, _extends._extends({}, props, {
414
141
  ref: composedRefs // we make sure focus isn't trapped once `DialogContent` has been closed
@@ -476,14 +203,14 @@ const $5d3850c4d0b4e6c7$export$b6d9565de1e068cf = /*#__PURE__*/ React.forwardRef
476
203
  const contentRef = React.useRef(null);
477
204
  const composedRefs = index.$6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, contentRef); // Make sure the whole tree has focus guards as our `Dialog` will be
478
205
  // the last element in the DOM (beacuse of the `Portal`)
479
- index$4.$3db38b7d1fb3fe6a$export$b7ece24a22aeda8c();
480
- return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement($d3863c46a17e8a28$export$20e40289641fbbb6, {
206
+ Combination.$3db38b7d1fb3fe6a$export$b7ece24a22aeda8c();
207
+ return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(Combination.$d3863c46a17e8a28$export$20e40289641fbbb6, {
481
208
  asChild: true,
482
209
  loop: true,
483
210
  trapped: trapFocus,
484
211
  onMountAutoFocus: onOpenAutoFocus,
485
212
  onUnmountAutoFocus: onCloseAutoFocus
486
- }, /*#__PURE__*/ React.createElement(index$3.$5cb92bef7577960e$export$177fb62ff3ec1f22, _extends._extends({
213
+ }, /*#__PURE__*/ React.createElement(Combination.$5cb92bef7577960e$export$177fb62ff3ec1f22, _extends._extends({
487
214
  role: "dialog",
488
215
  id: context.contentId,
489
216
  "aria-describedby": context.descriptionId,
@@ -553,7 +280,7 @@ var Modal = function (_a) {
553
280
  return (React__default["default"].createElement($5d3850c4d0b4e6c7$export$be92b6f5f03c0fe9, { open: isOpen },
554
281
  React__default["default"].createElement($5d3850c4d0b4e6c7$export$602eac185826482c, { container: arcRootElement || undefined },
555
282
  React__default["default"].createElement($5d3850c4d0b4e6c7$export$c6fdb837b070b4ff, { className: "arc-Modal-overlay" },
556
- React__default["default"].createElement($5d3850c4d0b4e6c7$export$7c6e2c02157bb7d2, filterDataAttrs.__assign({}, ariaProps, { role: role, onOpenAutoFocus: setTriggerElement, onCloseAutoFocus: focusTriggerElement, onEscapeKeyDown: closeModal, onInteractOutside: closeModal, className: index$5.classNames("arc-Modal-dialog", "arc-Modal-dialog--".concat(size), {
283
+ React__default["default"].createElement($5d3850c4d0b4e6c7$export$7c6e2c02157bb7d2, filterDataAttrs.__assign({}, ariaProps, { role: role, onOpenAutoFocus: setTriggerElement, onCloseAutoFocus: focusTriggerElement, onEscapeKeyDown: closeModal, onInteractOutside: closeModal, className: index$3.classNames("arc-Modal-dialog", "arc-Modal-dialog--".concat(size), {
557
284
  "arc-Modal-dialog--maxHeightWindow": isContentScrollable
558
285
  }) }, filterDataAttrs.filterDataAttrs(props)),
559
286
  React__default["default"].createElement("div", { className: "arc-Modal-section" },