@procore/core-react 12.44.0 → 12.46.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 (289) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/AnchorNavigation/AnchorNavigation.js +12 -8
  3. package/dist/AnchorNavigation/AnchorNavigation.js.map +1 -1
  4. package/dist/AnchorNavigation/AnchorNavigation.styles.js +5 -5
  5. package/dist/AnchorNavigation/AnchorNavigation.styles.js.map +1 -1
  6. package/dist/AnchorNavigation/AnchorNavigation.types.d.ts +1 -0
  7. package/dist/AnchorNavigation/AnchorNavigation.types.js.map +1 -1
  8. package/dist/Avatar/Avatar.styles.js +5 -5
  9. package/dist/AvatarStack/AvatarStack.js +3 -1
  10. package/dist/AvatarStack/AvatarStack.js.map +1 -1
  11. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  12. package/dist/Badge/Badge.styles.js +2 -2
  13. package/dist/BadgePill/BadgePill.styles.js +4 -4
  14. package/dist/Banner/Banner.styles.js +10 -10
  15. package/dist/Box/Box.styles.js +1 -1
  16. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  17. package/dist/Button/Button.styles.js +5 -5
  18. package/dist/Button/Button.types.d.ts +5 -0
  19. package/dist/Button/Button.types.js.map +1 -1
  20. package/dist/Calendar/Calendar.styles.js +9 -9
  21. package/dist/Card/Card.styles.js +1 -1
  22. package/dist/Checkbox/Checkbox.styles.js +6 -6
  23. package/dist/ContactItem/ContactItem.styles.js +5 -5
  24. package/dist/Content/Content.styles.js +2 -2
  25. package/dist/DateInput/DateInput.styles.js +6 -6
  26. package/dist/DetailPage/DetailPage.styles.js +7 -7
  27. package/dist/Dropdown/Dropdown.js +5 -2
  28. package/dist/Dropdown/Dropdown.js.map +1 -1
  29. package/dist/Dropdown/Dropdown.styles.js +3 -3
  30. package/dist/Dropdown/Dropdown.types.d.ts +1 -1
  31. package/dist/Dropdown/Dropdown.types.js.map +1 -1
  32. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  33. package/dist/Dropzone/Dropzone.js +1 -1
  34. package/dist/Dropzone/Dropzone.styles.js +9 -9
  35. package/dist/EmptyState/EmptyState.d.ts +3 -5
  36. package/dist/EmptyState/EmptyState.js.map +1 -1
  37. package/dist/EmptyState/EmptyState.styles.d.ts +2 -2
  38. package/dist/EmptyState/EmptyState.styles.js +10 -10
  39. package/dist/EmptyState/EmptyState.styles.js.map +1 -1
  40. package/dist/EmptyState/EmptyState.types.d.ts +11 -0
  41. package/dist/EmptyState/EmptyState.types.js.map +1 -1
  42. package/dist/Field/Field.styles.js +3 -3
  43. package/dist/FileList/FileList.styles.js +3 -3
  44. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  45. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  46. package/dist/FileSelect/FileSelect.styles.js +2 -2
  47. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  48. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  49. package/dist/FileSelect/GridSource/GridSource.js +1 -0
  50. package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
  51. package/dist/FileSelect/GridSource/GridSource.styles.d.ts +2 -4
  52. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  53. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  54. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  55. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  56. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  57. package/dist/FileToken/FileToken.styles.js +6 -6
  58. package/dist/FilterToken/FilterToken.styles.js +5 -5
  59. package/dist/FlexList/FlexList.styles.js +1 -1
  60. package/dist/Form/Form.js +11 -4
  61. package/dist/Form/Form.js.map +1 -1
  62. package/dist/Form/Form.styles.d.ts +518 -8
  63. package/dist/Form/Form.styles.js +15 -15
  64. package/dist/Form/Form.styles.js.map +1 -1
  65. package/dist/Form/Form.types.d.ts +2 -3
  66. package/dist/Form/Form.types.js.map +1 -1
  67. package/dist/Form/StyledFormikForm.styles.js +2 -2
  68. package/dist/Form/stories/util.js +3 -14
  69. package/dist/Form/stories/util.js.map +1 -1
  70. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  71. package/dist/Grid/Grid.styles.js +2 -2
  72. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  73. package/dist/Input/Input.styles.js +1 -1
  74. package/dist/Link/Link.styles.js +1 -1
  75. package/dist/ListPage/ListPage.styles.js +8 -8
  76. package/dist/Loader/Loader.styles.js +2 -2
  77. package/dist/MenuImperative/MenuImperative.js +6 -4
  78. package/dist/MenuImperative/MenuImperative.js.map +1 -1
  79. package/dist/MenuImperative/MenuImperative.styles.js +13 -13
  80. package/dist/MenuImperative/MenuImperative.styles.js.map +1 -1
  81. package/dist/MenuImperative/MenuImperative.types.d.ts +2 -4
  82. package/dist/MenuImperative/MenuImperative.types.js.map +1 -1
  83. package/dist/Modal/Modal.styles.js +13 -13
  84. package/dist/MultiSelect/MultiSelect.js +0 -2
  85. package/dist/MultiSelect/MultiSelect.js.map +1 -1
  86. package/dist/MultiSelect/MultiSelect.styles.js +8 -8
  87. package/dist/NextMenu/NextMenu.styles.js +3 -3
  88. package/dist/Notation/Notation.js +1 -1
  89. package/dist/NumberInput/NumberInput.styles.js +7 -7
  90. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  91. package/dist/OverlayTrigger/OverlayTrigger.js +6 -0
  92. package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
  93. package/dist/PageLayout/PageLayout.styles.js +16 -16
  94. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  95. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  96. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  97. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  98. package/dist/Pagination/Pagination.styles.js +5 -5
  99. package/dist/Panel/Panel.styles.js +11 -11
  100. package/dist/Pill/Pill.styles.js +3 -3
  101. package/dist/PillSelect/PillSelect.js +0 -1
  102. package/dist/PillSelect/PillSelect.js.map +1 -1
  103. package/dist/PillSelect/PillSelect.styles.js +4 -4
  104. package/dist/Popover/Popover.styles.js +2 -2
  105. package/dist/Portal/Portal.styles.js +1 -1
  106. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  107. package/dist/RadioButton/RadioButton.styles.js +3 -3
  108. package/dist/Required/Required.styles.js +3 -3
  109. package/dist/Search/Search.styles.js +5 -5
  110. package/dist/Section/Section.styles.js +7 -7
  111. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  112. package/dist/Select/Select.js +2 -1
  113. package/dist/Select/Select.js.map +1 -1
  114. package/dist/Select/Select.styles.js +8 -8
  115. package/dist/Semantic/Semantic.styles.js +9 -9
  116. package/dist/Slider/Slider.js +4 -1
  117. package/dist/Slider/Slider.js.map +1 -1
  118. package/dist/Slider/Slider.styles.d.ts +5 -1
  119. package/dist/Slider/Slider.styles.js +16 -11
  120. package/dist/Slider/Slider.styles.js.map +1 -1
  121. package/dist/Spinner/Spinner.styles.js +7 -7
  122. package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
  123. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  124. package/dist/SuperSelect/SuperSelect.styles.js +39 -39
  125. package/dist/Switch/Switch.styles.js +4 -4
  126. package/dist/Table/OverdueContext.d.ts +4 -0
  127. package/dist/Table/OverdueContext.js +10 -0
  128. package/dist/Table/OverdueContext.js.map +1 -0
  129. package/dist/Table/OverdueContext.types.d.ts +6 -0
  130. package/dist/Table/OverdueContext.types.js +2 -0
  131. package/dist/Table/OverdueContext.types.js.map +1 -0
  132. package/dist/Table/Table.js +76 -23
  133. package/dist/Table/Table.js.map +1 -1
  134. package/dist/Table/Table.styles.d.ts +19 -9
  135. package/dist/Table/Table.styles.js +67 -56
  136. package/dist/Table/Table.styles.js.map +1 -1
  137. package/dist/Table/Table.types.d.ts +7 -0
  138. package/dist/Table/Table.types.js.map +1 -1
  139. package/dist/TableShelf/TableShelf.styles.js +5 -5
  140. package/dist/Tabs/Tabs.js +41 -28
  141. package/dist/Tabs/Tabs.js.map +1 -1
  142. package/dist/Tabs/Tabs.styles.d.ts +6 -0
  143. package/dist/Tabs/Tabs.styles.js +29 -20
  144. package/dist/Tabs/Tabs.styles.js.map +1 -1
  145. package/dist/Tabs/Tabs.types.d.ts +8 -0
  146. package/dist/Tabs/Tabs.types.js.map +1 -1
  147. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  148. package/dist/TextArea/TextArea.styles.js +1 -1
  149. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  150. package/dist/Thumbnail/Thumbnail.js +4 -0
  151. package/dist/Thumbnail/Thumbnail.js.map +1 -1
  152. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  153. package/dist/Thumbnail/Thumbnail.types.d.ts +12 -0
  154. package/dist/Thumbnail/Thumbnail.types.js.map +1 -1
  155. package/dist/Thumbnail/ThumbnailCaption.d.ts +1 -1
  156. package/dist/Thumbnail/ThumbnailCaption.js +15 -7
  157. package/dist/Thumbnail/ThumbnailCaption.js.map +1 -1
  158. package/dist/ThumbnailGrid/ThumbnailGrid.d.ts +1 -1
  159. package/dist/ThumbnailGrid/ThumbnailGrid.js +14 -4
  160. package/dist/ThumbnailGrid/ThumbnailGrid.js.map +1 -1
  161. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  162. package/dist/ThumbnailGrid/ThumbnailGrid.types.d.ts +34 -6
  163. package/dist/ThumbnailGrid/ThumbnailGrid.types.js.map +1 -1
  164. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  165. package/dist/Tile/Tile.styles.js +8 -8
  166. package/dist/Title/Title.styles.js +7 -7
  167. package/dist/Toast/Toast.styles.js +3 -3
  168. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  169. package/dist/Token/Token.js +20 -4
  170. package/dist/Token/Token.js.map +1 -1
  171. package/dist/Token/Token.styles.d.ts +2 -0
  172. package/dist/Token/Token.styles.js +14 -5
  173. package/dist/Token/Token.styles.js.map +1 -1
  174. package/dist/Token/Token.types.d.ts +3 -1
  175. package/dist/Token/Token.types.js.map +1 -1
  176. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  177. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  178. package/dist/Tooltip/Tooltip.js +23 -18
  179. package/dist/Tooltip/Tooltip.js.map +1 -1
  180. package/dist/Tooltip/Tooltip.styles.js +3 -3
  181. package/dist/Tree/Tree.js +1 -1
  182. package/dist/Tree/Tree.styles.js +10 -10
  183. package/dist/Typeahead/Typeahead.styles.js +3 -3
  184. package/dist/Typography/Typography.styles.js +1 -1
  185. package/dist/Typography/Typography.table.story.js +2 -2
  186. package/dist/_hooks/I18n.d.ts +782 -30
  187. package/dist/_locales/de-DE.json +22 -2
  188. package/dist/_locales/en-AU.json +22 -2
  189. package/dist/_locales/en-CA.json +22 -2
  190. package/dist/_locales/en-GB.json +22 -2
  191. package/dist/_locales/en.json +4 -1
  192. package/dist/_locales/es-ES.json +23 -3
  193. package/dist/_locales/es.json +22 -2
  194. package/dist/_locales/fr-CA.json +23 -3
  195. package/dist/_locales/fr-FR.json +28 -8
  196. package/dist/_locales/is-IS.json +22 -2
  197. package/dist/_locales/it-IT.json +23 -3
  198. package/dist/_locales/ja-JP.json +23 -3
  199. package/dist/_locales/nb-NO.json +412 -1
  200. package/dist/_locales/pl-PL.json +22 -2
  201. package/dist/_locales/pseudo.json +4 -1
  202. package/dist/_locales/pt-BR.json +22 -2
  203. package/dist/_locales/pt-PT.json +27 -7
  204. package/dist/_locales/th-TH.json +22 -2
  205. package/dist/_locales/zh-SG.json +22 -2
  206. package/dist/_locales/zh-TW.json +25 -5
  207. package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
  208. package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
  209. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +4 -4
  210. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  211. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +25 -25
  212. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  213. package/dist/_typedoc/Banner/Banner.types.json +15 -15
  214. package/dist/_typedoc/Box/Box.types.json +68 -68
  215. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  216. package/dist/_typedoc/Button/Button.types.json +24 -13
  217. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  218. package/dist/_typedoc/Card/Card.types.json +6 -6
  219. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
  220. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  221. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  222. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  223. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  224. package/dist/_typedoc/Dropdown/Dropdown.types.json +50 -38
  225. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +31 -31
  226. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  227. package/dist/_typedoc/EmptyState/EmptyState.types.json +39 -16
  228. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  229. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  230. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  231. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  232. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  233. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  234. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  235. package/dist/_typedoc/Form/Form.types.json +824 -824
  236. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  237. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  238. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +54 -54
  239. package/dist/_typedoc/Input/Input.types.json +2 -2
  240. package/dist/_typedoc/Link/Link.types.json +1 -1
  241. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  242. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  243. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +90 -88
  244. package/dist/_typedoc/Modal/Modal.types.json +48 -48
  245. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +33 -33
  246. package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
  247. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  248. package/dist/_typedoc/NumberInput/NumberInput.types.json +48 -48
  249. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +33 -33
  250. package/dist/_typedoc/PageLayout/PageLayout.types.json +28 -28
  251. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  252. package/dist/_typedoc/Panel/Panel.types.json +38 -27
  253. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  254. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  255. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  256. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  257. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  258. package/dist/_typedoc/Required/Required.types.json +5 -5
  259. package/dist/_typedoc/Search/Search.types.json +18 -18
  260. package/dist/_typedoc/Section/Section.types.json +15 -15
  261. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  262. package/dist/_typedoc/Select/Select.types.json +67 -67
  263. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  264. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  265. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  266. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
  267. package/dist/_typedoc/Table/Table.types.json +122 -102
  268. package/dist/_typedoc/Tabs/Tabs.types.json +23 -22
  269. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  270. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  271. package/dist/_typedoc/TextEditor/TextEditor.types.json +11 -11
  272. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  273. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  274. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +43 -43
  275. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
  276. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  277. package/dist/_typedoc/Title/Title.types.json +1 -1
  278. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  279. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  280. package/dist/_typedoc/Token/Token.types.json +11 -11
  281. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  282. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +8 -8
  283. package/dist/_typedoc/Tooltip/Tooltip.types.json +15 -15
  284. package/dist/_typedoc/Tree/Tree.types.json +88 -88
  285. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  286. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  287. package/dist/_typedoc/_utils/types.json +3 -3
  288. package/dist/_typedoc/deprecations.json +1 -1
  289. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # Change Log
2
2
 
3
+ ## 12.46.0
4
+
5
+ ### Minor Changes
6
+
7
+ - ae28df6: - Introduce `as` prop for `EmptyState.Title` to support customizing empty state title
8
+ - aaf9541: Improve `ThumbnailGrid` accessibility by requiring a `label` prop and applying default root semantics (`role="group"` with `aria-label` or `aria-labelledby` based on `title`).
9
+
10
+ Update `FileSelect.GridSource` and ThumbnailGrid stories/tests to pass `label`, and add dedicated core-docs pages for `ThumbnailGrid` with accessibility guidance and cross-links from FileSelect/Thumbnail docs.
11
+
12
+ ### Patch Changes
13
+
14
+ - e3601e1: Add icon to `Table.BodyRow` overdue variant so overdue state is not conveyed by color alone
15
+ - 9a06acb: Add icon to error token state so it is not identified by color alone
16
+
17
+ ## 12.45.0
18
+
19
+ ### Minor Changes
20
+
21
+ - 6571236: Improve accessibility for `Search` in `MenuImperative` by changing the role from `"searchbox"` to `"combobox"` and adding `aria-haspopup="listbox"` and `aria-expanded`
22
+ - c2c1280: Update searchable `Dropdown` trigger accessibility semantics by removing dialog-specific ARIA attributes while preserving `aria-expanded` state and focus behavior.
23
+ - 1a44488: `Dropdown` and `Select` with a footer now contains focus and allows TAB nav inside the overlay. TAB no longer closes when a footer is present.
24
+ - 19abc32: `Table`: sortable column headers now use a `<button>` for the sort action, so the control has the correct role and keyboard behavior for assistive technologies.
25
+ - ae74dbb: The `Tabs` More overflow list renders semantic list markup. The more overflow button is conditionally rendered. Global Navigation update, Tabs role='navigation' adds semantic list markup, expects links as Tabs.Tab children. _Note:_ Most cases role=navigation is the wrong answer, do not mix Tab UX: Tab-links-with-panels, Tab-buttons-with-panels, and Tab-navigation-links.
26
+
27
+ ### Patch Changes
28
+
29
+ - 678be29: Added `gray50` border for `Slider` track to meet contrast requirements.
30
+ - da03165: Page `AnchorNavigation`: add `href` fragment links for each section so anchors expose a proper link role; `preventDefault` on click preserves provider scroll and focus behavior.
31
+ - c20fc61: Removed `tabIndex={-1}` to make the `Token` remove button keyboard accessible in `MultiSelect`
32
+ - e6751b8: `Form` `read` view label node renders span not label tag. Resolves invalid a11y. Read view tests should getByText
33
+ - de00318: `Thumbnail`: fix screen reader reading order for checkbox role by hiding visible content from the accessibility tree
34
+ - 339da74: `AvatarStack` add `role="group"` with `aria-label`
35
+ - 23c02da: Fix `Select` with overflowing label requiring two clicks to open
36
+
3
37
  ## 12.44.0
4
38
 
5
39
  ### Minor Changes
@@ -2,22 +2,25 @@ import React from 'react';
2
2
  import { useI18nContext } from '../_hooks/I18n';
3
3
  import { StyledAnchor, StyledAnchorNavigation, StyledAnchorNavigationLandmark, StyledAnchorSection } from './AnchorNavigation.styles';
4
4
  var Anchor = function Anchor(_ref) {
5
- var label = _ref.label,
5
+ var id = _ref.id,
6
+ label = _ref.label,
6
7
  selected = _ref.selected,
7
8
  onClick = _ref.onClick;
8
- var handleKeyDown = function handleKeyDown(event) {
9
- if (event.key === 'Enter' || event.key === ' ') {
10
- onClick();
9
+ var href = "#".concat(encodeURIComponent(id));
10
+ var handleClick = function handleClick(event) {
11
+ if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) {
12
+ return;
11
13
  }
14
+ event.preventDefault();
15
+ onClick();
12
16
  };
13
17
  return /*#__PURE__*/React.createElement(StyledAnchorSection, {
14
- $selected: selected,
15
- onClick: onClick,
16
- onKeyDown: handleKeyDown
18
+ $selected: selected
17
19
  }, /*#__PURE__*/React.createElement(StyledAnchor, {
20
+ href: href,
18
21
  "aria-current": selected ? 'page' : undefined,
19
22
  $selected: selected,
20
- tabIndex: 0
23
+ onClick: handleClick
21
24
  }, label));
22
25
  };
23
26
  export var AnchorNavigation = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
@@ -36,6 +39,7 @@ export var AnchorNavigation = /*#__PURE__*/React.forwardRef(function (_ref2, ref
36
39
  label = _ref3.label;
37
40
  return /*#__PURE__*/React.createElement(Anchor, {
38
41
  key: id,
42
+ id: id,
39
43
  onClick: function onClick() {
40
44
  return onSelect(id);
41
45
  },
@@ -1 +1 @@
1
- {"version":3,"file":"AnchorNavigation.js","names":["React","useI18nContext","StyledAnchor","StyledAnchorNavigation","StyledAnchorNavigationLandmark","StyledAnchorSection","Anchor","_ref","label","selected","onClick","handleKeyDown","event","key","createElement","$selected","onKeyDown","undefined","tabIndex","AnchorNavigation","forwardRef","_ref2","ref","sections","onSelect","ariaLabelProp","i18n","navigationAriaLabel","t","map","_ref3","id"],"sources":["../../src/AnchorNavigation/AnchorNavigation.tsx"],"sourcesContent":["import React from 'react'\nimport { useI18nContext } from '../_hooks/I18n'\nimport {\n StyledAnchor,\n StyledAnchorNavigation,\n StyledAnchorNavigationLandmark,\n StyledAnchorSection,\n} from './AnchorNavigation.styles'\nimport type {\n AnchorNavigationProps,\n AnchorProps,\n} from './AnchorNavigation.types'\n\nconst Anchor = ({ label, selected, onClick }: AnchorProps) => {\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n onClick()\n }\n }\n return (\n <StyledAnchorSection\n $selected={selected}\n onClick={onClick}\n onKeyDown={handleKeyDown}\n >\n <StyledAnchor\n aria-current={selected ? 'page' : undefined}\n $selected={selected}\n tabIndex={0}\n >\n {label}\n </StyledAnchor>\n </StyledAnchorSection>\n )\n}\n\nexport const AnchorNavigation = React.forwardRef<\n HTMLUListElement,\n AnchorNavigationProps\n>(({ sections, selected, onSelect, 'aria-label': ariaLabelProp }, ref) => {\n const i18n = useI18nContext()\n const navigationAriaLabel =\n ariaLabelProp ?? i18n.t('core.anchorNavigation.landmarkLabel')\n\n return (\n <StyledAnchorNavigationLandmark aria-label={navigationAriaLabel}>\n <StyledAnchorNavigation ref={ref}>\n {sections.map(({ id, label }) => {\n return (\n <Anchor\n key={id}\n onClick={() => onSelect(id)}\n selected={selected === id}\n label={label}\n />\n )\n })}\n </StyledAnchorNavigation>\n </StyledAnchorNavigationLandmark>\n )\n})\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,QAAQ,gBAAgB;AAC/C,SACEC,YAAY,EACZC,sBAAsB,EACtBC,8BAA8B,EAC9BC,mBAAmB,QACd,2BAA2B;AAMlC,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAkD;EAAA,IAA5CC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAEC,OAAO,GAAAH,IAAA,CAAPG,OAAO;EACxC,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAA0B,EAAK;IACpD,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACC,GAAG,KAAK,GAAG,EAAE;MAC9CH,OAAO,CAAC,CAAC;IACX;EACF,CAAC;EACD,oBACEV,KAAA,CAAAc,aAAA,CAACT,mBAAmB;IAClBU,SAAS,EAAEN,QAAS;IACpBC,OAAO,EAAEA,OAAQ;IACjBM,SAAS,EAAEL;EAAc,gBAEzBX,KAAA,CAAAc,aAAA,CAACZ,YAAY;IACX,gBAAcO,QAAQ,GAAG,MAAM,GAAGQ,SAAU;IAC5CF,SAAS,EAAEN,QAAS;IACpBS,QAAQ,EAAE;EAAE,GAEXV,KACW,CACK,CAAC;AAE1B,CAAC;AAED,OAAO,IAAMW,gBAAgB,gBAAGnB,KAAK,CAACoB,UAAU,CAG9C,UAAAC,KAAA,EAAgEC,GAAG,EAAK;EAAA,IAArEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IAAEd,QAAQ,GAAAY,KAAA,CAARZ,QAAQ;IAAEe,QAAQ,GAAAH,KAAA,CAARG,QAAQ;IAAgBC,aAAa,GAAAJ,KAAA,CAA3B,YAAY;EAC7C,IAAMK,IAAI,GAAGzB,cAAc,CAAC,CAAC;EAC7B,IAAM0B,mBAAmB,GACvBF,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAIC,IAAI,CAACE,CAAC,CAAC,qCAAqC,CAAC;EAEhE,oBACE5B,KAAA,CAAAc,aAAA,CAACV,8BAA8B;IAAC,cAAYuB;EAAoB,gBAC9D3B,KAAA,CAAAc,aAAA,CAACX,sBAAsB;IAACmB,GAAG,EAAEA;EAAI,GAC9BC,QAAQ,CAACM,GAAG,CAAC,UAAAC,KAAA,EAAmB;IAAA,IAAhBC,EAAE,GAAAD,KAAA,CAAFC,EAAE;MAAEvB,KAAK,GAAAsB,KAAA,CAALtB,KAAK;IACxB,oBACER,KAAA,CAAAc,aAAA,CAACR,MAAM;MACLO,GAAG,EAAEkB,EAAG;MACRrB,OAAO,EAAE,SAATA,OAAOA,CAAA;QAAA,OAAQc,QAAQ,CAACO,EAAE,CAAC;MAAA,CAAC;MAC5BtB,QAAQ,EAAEA,QAAQ,KAAKsB,EAAG;MAC1BvB,KAAK,EAAEA;IAAM,CACd,CAAC;EAEN,CAAC,CACqB,CACM,CAAC;AAErC,CAAC,CAAC"}
1
+ {"version":3,"file":"AnchorNavigation.js","names":["React","useI18nContext","StyledAnchor","StyledAnchorNavigation","StyledAnchorNavigationLandmark","StyledAnchorSection","Anchor","_ref","id","label","selected","onClick","href","concat","encodeURIComponent","handleClick","event","button","metaKey","ctrlKey","shiftKey","altKey","preventDefault","createElement","$selected","undefined","AnchorNavigation","forwardRef","_ref2","ref","sections","onSelect","ariaLabelProp","i18n","navigationAriaLabel","t","map","_ref3","key"],"sources":["../../src/AnchorNavigation/AnchorNavigation.tsx"],"sourcesContent":["import React from 'react'\nimport { useI18nContext } from '../_hooks/I18n'\nimport {\n StyledAnchor,\n StyledAnchorNavigation,\n StyledAnchorNavigationLandmark,\n StyledAnchorSection,\n} from './AnchorNavigation.styles'\nimport type {\n AnchorNavigationProps,\n AnchorProps,\n} from './AnchorNavigation.types'\n\nconst Anchor = ({ id, label, selected, onClick }: AnchorProps) => {\n const href = `#${encodeURIComponent(id)}`\n\n const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (\n event.button !== 0 ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey\n ) {\n return\n }\n event.preventDefault()\n onClick()\n }\n\n return (\n <StyledAnchorSection $selected={selected}>\n <StyledAnchor\n href={href}\n aria-current={selected ? 'page' : undefined}\n $selected={selected}\n onClick={handleClick}\n >\n {label}\n </StyledAnchor>\n </StyledAnchorSection>\n )\n}\n\nexport const AnchorNavigation = React.forwardRef<\n HTMLUListElement,\n AnchorNavigationProps\n>(({ sections, selected, onSelect, 'aria-label': ariaLabelProp }, ref) => {\n const i18n = useI18nContext()\n const navigationAriaLabel =\n ariaLabelProp ?? i18n.t('core.anchorNavigation.landmarkLabel')\n\n return (\n <StyledAnchorNavigationLandmark aria-label={navigationAriaLabel}>\n <StyledAnchorNavigation ref={ref}>\n {sections.map(({ id, label }) => {\n return (\n <Anchor\n key={id}\n id={id}\n onClick={() => onSelect(id)}\n selected={selected === id}\n label={label}\n />\n )\n })}\n </StyledAnchorNavigation>\n </StyledAnchorNavigationLandmark>\n )\n})\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,QAAQ,gBAAgB;AAC/C,SACEC,YAAY,EACZC,sBAAsB,EACtBC,8BAA8B,EAC9BC,mBAAmB,QACd,2BAA2B;AAMlC,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAsD;EAAA,IAAhDC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAEC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;EAC5C,IAAMC,IAAI,OAAAC,MAAA,CAAOC,kBAAkB,CAACN,EAAE,CAAC,CAAE;EAEzC,IAAMO,WAAW,GAAG,SAAdA,WAAWA,CAAIC,KAA0C,EAAK;IAClE,IACEA,KAAK,CAACC,MAAM,KAAK,CAAC,IAClBD,KAAK,CAACE,OAAO,IACbF,KAAK,CAACG,OAAO,IACbH,KAAK,CAACI,QAAQ,IACdJ,KAAK,CAACK,MAAM,EACZ;MACA;IACF;IACAL,KAAK,CAACM,cAAc,CAAC,CAAC;IACtBX,OAAO,CAAC,CAAC;EACX,CAAC;EAED,oBACEX,KAAA,CAAAuB,aAAA,CAAClB,mBAAmB;IAACmB,SAAS,EAAEd;EAAS,gBACvCV,KAAA,CAAAuB,aAAA,CAACrB,YAAY;IACXU,IAAI,EAAEA,IAAK;IACX,gBAAcF,QAAQ,GAAG,MAAM,GAAGe,SAAU;IAC5CD,SAAS,EAAEd,QAAS;IACpBC,OAAO,EAAEI;EAAY,GAEpBN,KACW,CACK,CAAC;AAE1B,CAAC;AAED,OAAO,IAAMiB,gBAAgB,gBAAG1B,KAAK,CAAC2B,UAAU,CAG9C,UAAAC,KAAA,EAAgEC,GAAG,EAAK;EAAA,IAArEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IAAEpB,QAAQ,GAAAkB,KAAA,CAARlB,QAAQ;IAAEqB,QAAQ,GAAAH,KAAA,CAARG,QAAQ;IAAgBC,aAAa,GAAAJ,KAAA,CAA3B,YAAY;EAC7C,IAAMK,IAAI,GAAGhC,cAAc,CAAC,CAAC;EAC7B,IAAMiC,mBAAmB,GACvBF,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAIC,IAAI,CAACE,CAAC,CAAC,qCAAqC,CAAC;EAEhE,oBACEnC,KAAA,CAAAuB,aAAA,CAACnB,8BAA8B;IAAC,cAAY8B;EAAoB,gBAC9DlC,KAAA,CAAAuB,aAAA,CAACpB,sBAAsB;IAAC0B,GAAG,EAAEA;EAAI,GAC9BC,QAAQ,CAACM,GAAG,CAAC,UAAAC,KAAA,EAAmB;IAAA,IAAhB7B,EAAE,GAAA6B,KAAA,CAAF7B,EAAE;MAAEC,KAAK,GAAA4B,KAAA,CAAL5B,KAAK;IACxB,oBACET,KAAA,CAAAuB,aAAA,CAACjB,MAAM;MACLgC,GAAG,EAAE9B,EAAG;MACRA,EAAE,EAAEA,EAAG;MACPG,OAAO,EAAE,SAATA,OAAOA,CAAA;QAAA,OAAQoB,QAAQ,CAACvB,EAAE,CAAC;MAAA,CAAC;MAC5BE,QAAQ,EAAEA,QAAQ,KAAKF,EAAG;MAC1BC,KAAK,EAAEA;IAAM,CACd,CAAC;EAEN,CAAC,CACqB,CACM,CAAC;AAErC,CAAC,CAAC"}
@@ -5,15 +5,15 @@ import { getEllipsis } from '../_styles/mixins';
5
5
  import { spacing } from '../_styles/spacing';
6
6
  export var StyledAnchorNavigationLandmark = /*#__PURE__*/styled.nav.withConfig({
7
7
  displayName: "StyledAnchorNavigationLandmark",
8
- componentId: "core-12_44_0__sc-aacdj4-0"
8
+ componentId: "core-12_46_0__sc-aacdj4-0"
9
9
  })([""]);
10
10
  export var StyledAnchorNavigation = /*#__PURE__*/styled.ul.withConfig({
11
11
  displayName: "StyledAnchorNavigation",
12
- componentId: "core-12_44_0__sc-aacdj4-1"
12
+ componentId: "core-12_46_0__sc-aacdj4-1"
13
13
  })(["max-width:200px;margin:0;padding-inline-start:0;"]);
14
14
  export var StyledAnchorSection = /*#__PURE__*/styled.li.withConfig({
15
15
  displayName: "StyledAnchorSection",
16
- componentId: "core-12_44_0__sc-aacdj4-2"
16
+ componentId: "core-12_46_0__sc-aacdj4-2"
17
17
  })(["display:flex;cursor:pointer;border-left:", "px solid ", ";background-color:", ";border-top-right-radius:4px;border-bottom-right-radius:4px;:hover{border-left:", "px solid ", ";background-color:", ";}"], spacing.xs, function (_ref) {
18
18
  var $selected = _ref.$selected;
19
19
  return $selected ? colors.gray15 : colors.gray90;
@@ -26,8 +26,8 @@ export var StyledAnchorSection = /*#__PURE__*/styled.li.withConfig({
26
26
  }, colors.gray90);
27
27
  export var StyledAnchor = /*#__PURE__*/styled.a.withConfig({
28
28
  displayName: "StyledAnchor",
29
- componentId: "core-12_44_0__sc-aacdj4-3"
30
- })(["width:100%;padding:6px ", "px;", " ", ";", " :focus-visible{box-shadow:inset 0 0 0 2px ", ";outline:none;}"], spacing.sm, getTypographyIntent('body'), function (_ref4) {
29
+ componentId: "core-12_46_0__sc-aacdj4-3"
30
+ })(["box-sizing:border-box;display:block;flex:1;min-width:0;width:100%;padding:6px ", "px;color:inherit;text-decoration:none;&:visited{color:inherit;}", " ", ";", " :focus-visible{box-shadow:inset 0 0 0 2px ", ";outline:none;}"], spacing.sm, getTypographyIntent('body'), function (_ref4) {
31
31
  var $selected = _ref4.$selected;
32
32
  return $selected ? css(["font-weight:600;"]) : '';
33
33
  }, getEllipsis(), colors.blue50);
@@ -1 +1 @@
1
- {"version":3,"file":"AnchorNavigation.styles.js","names":["styled","css","getTypographyIntent","colors","getEllipsis","spacing","StyledAnchorNavigationLandmark","nav","withConfig","displayName","componentId","StyledAnchorNavigation","ul","StyledAnchorSection","li","xs","_ref","$selected","gray15","gray90","_ref2","_ref3","gray60","StyledAnchor","a","sm","_ref4","blue50"],"sources":["../../src/AnchorNavigation/AnchorNavigation.styles.tsx"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { getTypographyIntent } from '../Typography/Typography.styles'\nimport { colors } from '../_styles/colors'\nimport { getEllipsis } from '../_styles/mixins'\nimport { spacing } from '../_styles/spacing'\n\nexport const StyledAnchorNavigationLandmark = styled.nav``\n\nexport const StyledAnchorNavigation = styled.ul`\n max-width: 200px;\n margin: 0;\n padding-inline-start: 0;\n`\n\nexport const StyledAnchorSection = styled.li<{ $selected: boolean }>`\n display: flex;\n cursor: pointer;\n border-left: ${spacing.xs}px solid\n ${({ $selected }) => ($selected ? colors.gray15 : colors.gray90)};\n background-color: ${({ $selected }) =>\n $selected ? colors.gray90 : 'transparent'};\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n\n :hover {\n border-left: ${spacing.xs}px solid\n ${({ $selected }) => ($selected ? colors.gray15 : colors.gray60)};\n background-color: ${colors.gray90};\n }\n`\nexport const StyledAnchor = styled.a<{ $selected: boolean }>`\n width: 100%;\n padding: 6px ${spacing.sm}px;\n ${getTypographyIntent('body')}\n\n ${({ $selected }) =>\n $selected\n ? css`\n font-weight: 600;\n `\n : ''};\n\n ${getEllipsis()}\n\n :focus-visible {\n box-shadow: inset 0 0 0 2px ${colors.blue50};\n outline: none;\n }\n`\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAC/C,SAASC,mBAAmB,QAAQ,iCAAiC;AACrE,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,OAAO,QAAQ,oBAAoB;AAE5C,OAAO,IAAMC,8BAA8B,gBAAGN,MAAM,CAACO,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,QAAE;AAE1D,OAAO,IAAMC,sBAAsB,gBAAGX,MAAM,CAACY,EAAE,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wDAI9C;AAED,OAAO,IAAMG,mBAAmB,gBAAGb,MAAM,CAACc,EAAE,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,gNAG3BL,OAAO,CAACU,EAAE,EACrB,UAAAC,IAAA;EAAA,IAAGC,SAAS,GAAAD,IAAA,CAATC,SAAS;EAAA,OAAQA,SAAS,GAAGd,MAAM,CAACe,MAAM,GAAGf,MAAM,CAACgB,MAAM;AAAA,CAAC,EAC9C,UAAAC,KAAA;EAAA,IAAGH,SAAS,GAAAG,KAAA,CAATH,SAAS;EAAA,OAC9BA,SAAS,GAAGd,MAAM,CAACgB,MAAM,GAAG,aAAa;AAAA,GAK1Bd,OAAO,CAACU,EAAE,EACrB,UAAAM,KAAA;EAAA,IAAGJ,SAAS,GAAAI,KAAA,CAATJ,SAAS;EAAA,OAAQA,SAAS,GAAGd,MAAM,CAACe,MAAM,GAAGf,MAAM,CAACmB,MAAM;AAAA,CAAC,EAC9CnB,MAAM,CAACgB,MAAM,CAEpC;AACD,OAAO,IAAMI,YAAY,gBAAGvB,MAAM,CAACwB,CAAC,CAAAhB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,mHAEnBL,OAAO,CAACoB,EAAE,EACvBvB,mBAAmB,CAAC,MAAM,CAAC,EAE3B,UAAAwB,KAAA;EAAA,IAAGT,SAAS,GAAAS,KAAA,CAATT,SAAS;EAAA,OACZA,SAAS,GACLhB,GAAG,yBAGH,EAAE;AAAA,GAENG,WAAW,CAAC,CAAC,EAGiBD,MAAM,CAACwB,MAAM,CAG9C"}
1
+ {"version":3,"file":"AnchorNavigation.styles.js","names":["styled","css","getTypographyIntent","colors","getEllipsis","spacing","StyledAnchorNavigationLandmark","nav","withConfig","displayName","componentId","StyledAnchorNavigation","ul","StyledAnchorSection","li","xs","_ref","$selected","gray15","gray90","_ref2","_ref3","gray60","StyledAnchor","a","sm","_ref4","blue50"],"sources":["../../src/AnchorNavigation/AnchorNavigation.styles.tsx"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { getTypographyIntent } from '../Typography/Typography.styles'\nimport { colors } from '../_styles/colors'\nimport { getEllipsis } from '../_styles/mixins'\nimport { spacing } from '../_styles/spacing'\n\nexport const StyledAnchorNavigationLandmark = styled.nav``\n\nexport const StyledAnchorNavigation = styled.ul`\n max-width: 200px;\n margin: 0;\n padding-inline-start: 0;\n`\n\nexport const StyledAnchorSection = styled.li<{ $selected: boolean }>`\n display: flex;\n cursor: pointer;\n border-left: ${spacing.xs}px solid\n ${({ $selected }) => ($selected ? colors.gray15 : colors.gray90)};\n background-color: ${({ $selected }) =>\n $selected ? colors.gray90 : 'transparent'};\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n\n :hover {\n border-left: ${spacing.xs}px solid\n ${({ $selected }) => ($selected ? colors.gray15 : colors.gray60)};\n background-color: ${colors.gray90};\n }\n`\nexport const StyledAnchor = styled.a<{ $selected: boolean }>`\n box-sizing: border-box;\n display: block;\n flex: 1;\n min-width: 0;\n width: 100%;\n padding: 6px ${spacing.sm}px;\n color: inherit;\n text-decoration: none;\n\n &:visited {\n color: inherit;\n }\n\n ${getTypographyIntent('body')}\n\n ${({ $selected }) =>\n $selected\n ? css`\n font-weight: 600;\n `\n : ''};\n\n ${getEllipsis()}\n\n :focus-visible {\n box-shadow: inset 0 0 0 2px ${colors.blue50};\n outline: none;\n }\n`\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAC/C,SAASC,mBAAmB,QAAQ,iCAAiC;AACrE,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,OAAO,QAAQ,oBAAoB;AAE5C,OAAO,IAAMC,8BAA8B,gBAAGN,MAAM,CAACO,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,QAAE;AAE1D,OAAO,IAAMC,sBAAsB,gBAAGX,MAAM,CAACY,EAAE,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wDAI9C;AAED,OAAO,IAAMG,mBAAmB,gBAAGb,MAAM,CAACc,EAAE,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,gNAG3BL,OAAO,CAACU,EAAE,EACrB,UAAAC,IAAA;EAAA,IAAGC,SAAS,GAAAD,IAAA,CAATC,SAAS;EAAA,OAAQA,SAAS,GAAGd,MAAM,CAACe,MAAM,GAAGf,MAAM,CAACgB,MAAM;AAAA,CAAC,EAC9C,UAAAC,KAAA;EAAA,IAAGH,SAAS,GAAAG,KAAA,CAATH,SAAS;EAAA,OAC9BA,SAAS,GAAGd,MAAM,CAACgB,MAAM,GAAG,aAAa;AAAA,GAK1Bd,OAAO,CAACU,EAAE,EACrB,UAAAM,KAAA;EAAA,IAAGJ,SAAS,GAAAI,KAAA,CAATJ,SAAS;EAAA,OAAQA,SAAS,GAAGd,MAAM,CAACe,MAAM,GAAGf,MAAM,CAACmB,MAAM;AAAA,CAAC,EAC9CnB,MAAM,CAACgB,MAAM,CAEpC;AACD,OAAO,IAAMI,YAAY,gBAAGvB,MAAM,CAACwB,CAAC,CAAAhB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,sOAMnBL,OAAO,CAACoB,EAAE,EAQvBvB,mBAAmB,CAAC,MAAM,CAAC,EAE3B,UAAAwB,KAAA;EAAA,IAAGT,SAAS,GAAAS,KAAA,CAATT,SAAS;EAAA,OACZA,SAAS,GACLhB,GAAG,yBAGH,EAAE;AAAA,GAENG,WAAW,CAAC,CAAC,EAGiBD,MAAM,CAACwB,MAAM,CAG9C"}
@@ -29,6 +29,7 @@ export interface AnchorNavigationProps {
29
29
  'aria-label'?: string;
30
30
  }
31
31
  export declare type AnchorProps = {
32
+ id: string;
32
33
  label: string;
33
34
  selected: boolean;
34
35
  onClick: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"AnchorNavigation.types.js","names":[],"sources":["../../src/AnchorNavigation/AnchorNavigation.types.tsx"],"sourcesContent":["export type AnchorNavigationSection = {\n id: string\n label: string\n}\n\nexport type AnchorNavigationElementSection = AnchorNavigationSection & {\n element: HTMLElement\n}\n\nexport interface AnchorNavigationProps {\n /**\n * An array of sections used in the anchor navigation.\n * @since 12.18.0\n */\n sections: AnchorNavigationSection[]\n /**\n * The ID of the currently selected section.\n * @since 12.18.0\n */\n selected: string\n /**\n * Callback function to update the selected section ID.\n * @since 12.18.0\n */\n onSelect: (id: string) => void\n /**\n * Accessible name for the navigation landmark. When omitted, the default\n * translated string `On this page` is used.\n * @since 12.42.0\n */\n 'aria-label'?: string\n}\n\nexport type AnchorProps = {\n label: string\n selected: boolean\n onClick: () => void\n}\n"],"mappings":""}
1
+ {"version":3,"file":"AnchorNavigation.types.js","names":[],"sources":["../../src/AnchorNavigation/AnchorNavigation.types.tsx"],"sourcesContent":["export type AnchorNavigationSection = {\n id: string\n label: string\n}\n\nexport type AnchorNavigationElementSection = AnchorNavigationSection & {\n element: HTMLElement\n}\n\nexport interface AnchorNavigationProps {\n /**\n * An array of sections used in the anchor navigation.\n * @since 12.18.0\n */\n sections: AnchorNavigationSection[]\n /**\n * The ID of the currently selected section.\n * @since 12.18.0\n */\n selected: string\n /**\n * Callback function to update the selected section ID.\n * @since 12.18.0\n */\n onSelect: (id: string) => void\n /**\n * Accessible name for the navigation landmark. When omitted, the default\n * translated string `On this page` is used.\n * @since 12.42.0\n */\n 'aria-label'?: string\n}\n\nexport type AnchorProps = {\n id: string\n label: string\n selected: boolean\n onClick: () => void\n}\n"],"mappings":""}
@@ -28,26 +28,26 @@ var iconSize = {
28
28
  };
29
29
  export var StyledAvatarOverlay = /*#__PURE__*/styled.div.withConfig({
30
30
  displayName: "StyledAvatarOverlay",
31
- componentId: "core-12_44_0__sc-7q2ydl-0"
31
+ componentId: "core-12_46_0__sc-7q2ydl-0"
32
32
  })(["width:100%;height:100%;position:absolute;top:0;left:0;border-radius:100%;opacity:0;"]);
33
33
  export var StyledIconContainer = /*#__PURE__*/styled.div.withConfig({
34
34
  displayName: "StyledIconContainer",
35
- componentId: "core-12_44_0__sc-7q2ydl-1"
35
+ componentId: "core-12_46_0__sc-7q2ydl-1"
36
36
  })(["display:inline-flex;"]);
37
37
  export var StyledLabelContainer = /*#__PURE__*/styled.div.withConfig({
38
38
  displayName: "StyledLabelContainer",
39
- componentId: "core-12_44_0__sc-7q2ydl-2"
39
+ componentId: "core-12_46_0__sc-7q2ydl-2"
40
40
  })(["text-transform:uppercase;"]);
41
41
  export var StyledPortraitContainer = /*#__PURE__*/styled.div.withConfig({
42
42
  displayName: "StyledPortraitContainer",
43
- componentId: "core-12_44_0__sc-7q2ydl-3"
43
+ componentId: "core-12_46_0__sc-7q2ydl-3"
44
44
  })(["background-color:", ";background-position:center;background-repeat:no-repeat;background-size:cover;height:100%;width:100%;", ""], colors.white, function (_ref) {
45
45
  var $imageUrl = _ref.$imageUrl;
46
46
  return css(["background-image:url(", ");"], $imageUrl);
47
47
  });
48
48
  export var StyledAvatarContainer = /*#__PURE__*/styled.div.withConfig({
49
49
  displayName: "StyledAvatarContainer",
50
- componentId: "core-12_44_0__sc-7q2ydl-4"
50
+ componentId: "core-12_46_0__sc-7q2ydl-4"
51
51
  })(["display:inline-flex;justify-content:center;align-items:center;border-radius:100%;overflow:hidden;position:relative;cursor:default;color:", ";background-color:", ";text-decoration:none;a:has(> &){text-decoration:none;}&:focus{", "}a:focus:has(> &){", " border-radius:100%;}", " ", ";"], colors.white, colors.gray30, getGapOutlineFocus('outside'), getGapOutlineFocus('outside'), function (_ref2) {
52
52
  var _ref2$$size = _ref2.$size,
53
53
  $size = _ref2$$size === void 0 ? 'md' : _ref2$$size;
@@ -374,7 +374,9 @@ var _AvatarStack = function _AvatarStack(_ref8, ref) {
374
374
  return getColorOrder(visibleItems);
375
375
  }, [visibleItems]);
376
376
  return /*#__PURE__*/React.createElement("div", _extends({
377
- ref: ref
377
+ ref: ref,
378
+ role: "group",
379
+ "aria-label": title
378
380
  }, props), isViewAllNeeded && !onClickViewAll && /*#__PURE__*/React.createElement(ViewAllModal, {
379
381
  isOpen: isModalOpen,
380
382
  onClose: function onClose() {
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarStack.js","names":["Building","People","useId","React","forwardRef","useMemo","useState","Avatar","Button","ContactItem","Link","Modal","OverlayTrigger","Popover","Typography","useI18nContext","mergeRefs","colorsOrder","foldedItemsCap","restCountThreshold","visibleItemsCap","StyledAvatar","StyledContactItem","StyledContactItems","StyledModalBody","StyledViewAllWrapper","StyledWrapper","useAvatarPopover","OVERLAY_WRAPPER_SELECTOR","FOCUSABLE_SELECTOR","POPOVER_TRIGGER","POPOVER_SHOW_KEYS","POPOVER_HIDE_KEYS","overlay","target","getOverflowValues","items","foldedItems","restCountLabel","isViewAllNeeded","visibleItems","length","slice","restItemsCount","concat","getIcon","type","size","createElement","getContactIcon","getAvatarIcon","avatarSize","getColorOrder","avatarItems","reduce","_ref","item","map","color","imageUrl","inactive","set","id","currentColorIndex","indexOf","nextColorIndex","Map","AvatarStackContactItem","_ref2","initials","name","linkUrl","description","disabled","icon","key","Title","href","Description","AvatarContent","_ref3","props","_objectWithoutProperties","_excluded","avatarIcon","Portrait","_extends","Icon","Label","AvatarWithPopover","_ref4","colors","_useAvatarPopover","focusableSelector","overlayWrapperSelector","triggerRef","popoverContentRef","beforeShow","beforeHide","afterHide","trigger","showKeys","hideKeys","restoreFocusOnHide","shrinkOverlay","arrow","trackAriaExpanded","placement","e","Content","ref","role","$color","get","FoldedAvatarStack","_ref5","onClickViewAll","title","viewMoreTriggerRef","I18n","restAvatarId","_useAvatarPopover2","onClick","variant","t","tabIndex","ViewAllModal","_ref6","isOpen","onClose","labelId","text","open","Header","Heading","Footer","FooterButtons","defaultInitials","defaultGetImageUrl","getTransformedItems","_ref7","getInitials","getImageUrl","_objectSpread","MODAL_CLOSE_FOCUS_DELAY_MS","_AvatarStack","_ref8","_items","_ref8$size","_ref8$getInitials","_ref8$getImageUrl","_excluded2","_useState","_useState2","_slicedToArray","isModalOpen","setIsModalOpen","useRef","wasModalOpenRef","useEffect","current","setTimeout","_viewMoreTriggerRef$c","focus","clearTimeout","_useMemo","visibleItemsColors","undefined","AvatarStack","displayName"],"sources":["../../src/AvatarStack/AvatarStack.tsx"],"sourcesContent":["import { Building, People } from '@procore/core-icons'\nimport { useId } from '@react-aria/utils'\nimport React, { forwardRef, useMemo, useState } from 'react'\nimport { Avatar } from '../Avatar'\nimport { Button } from '../Button'\nimport { ContactItem } from '../ContactItem'\nimport { Link } from '../Link'\nimport { Modal } from '../Modal'\nimport { OverlayTrigger } from '../OverlayTrigger'\nimport { Popover } from '../Popover'\nimport { Typography } from '../Typography'\nimport { useI18nContext } from '../_hooks/I18n'\nimport type { TriggerVariant } from '../_hooks/Trigger'\nimport type { Color } from '../_styles/colors'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport {\n colorsOrder,\n foldedItemsCap,\n restCountThreshold,\n visibleItemsCap,\n} from './AvatarStack.constants'\nimport {\n StyledAvatar,\n StyledContactItem,\n StyledContactItems,\n StyledModalBody,\n StyledViewAllWrapper,\n StyledWrapper,\n} from './AvatarStack.styles'\nimport type {\n AvatarStackItem,\n AvatarStackItemId,\n AvatarStackItemType,\n AvatarStackProps,\n AvatarStackSize,\n FoldedAvatarStackProps,\n ViewAllModalProps,\n} from './AvatarStack.types'\nimport { useAvatarPopover } from './useAvatarPopover'\n\nconst OVERLAY_WRAPPER_SELECTOR =\n '[data-qa=\"core-overlay-trigger-overlay-wrapper\"]'\n\nconst FOCUSABLE_SELECTOR =\n 'a[href], button:not([disabled]), [tabindex]:not([tabindex=\"-1\"])'\n\nconst POPOVER_TRIGGER = ['hover', 'focus'] as TriggerVariant[]\n\nconst POPOVER_SHOW_KEYS = ['Enter', ' ']\n\nconst POPOVER_HIDE_KEYS = {\n overlay: ['Escape', 'Esc'],\n target: ['Escape', 'Esc'],\n}\n\nexport function getOverflowValues<Item extends AvatarStackItem>(items: Item[]) {\n let foldedItems: Item[] = []\n let restCountLabel: string | null = null\n let isViewAllNeeded = false\n\n const visibleItems =\n items.length > visibleItemsCap ? items.slice(0, visibleItemsCap - 1) : items\n const restItemsCount = items.length - visibleItems.length\n\n if (restItemsCount > 0) {\n foldedItems = items.slice(\n visibleItems.length,\n visibleItems.length + foldedItemsCap\n )\n\n restCountLabel =\n restItemsCount > restCountThreshold\n ? `${restCountThreshold}+`\n : `+${restItemsCount}`\n\n isViewAllNeeded = restItemsCount > foldedItemsCap\n }\n\n return {\n visibleItems,\n foldedItems,\n restCountLabel,\n isViewAllNeeded,\n }\n}\n\nexport function getIcon(type: AvatarStackItemType, size: 'md' | 'sm') {\n switch (type) {\n case 'company':\n return <Building size={size} />\n\n case 'group':\n return <People size={size} />\n\n case 'user':\n default:\n return null\n }\n}\n\nfunction getContactIcon(type: AvatarStackItemType) {\n return getIcon(type, 'md')\n}\n\nexport function getAvatarIcon(\n type: AvatarStackItemType,\n size: AvatarStackSize\n) {\n const avatarSize = size === 'lg' ? 'md' : 'sm'\n return getIcon(type, avatarSize)\n}\n\nexport function getColorOrder(avatarItems: AvatarStackItem[]) {\n return avatarItems.reduce(\n ({ map, color }, item) => {\n if (item.imageUrl) {\n return {\n map,\n color,\n }\n }\n\n if (item.inactive) {\n map.set(item.id, 'gray70')\n\n return {\n map,\n color,\n }\n }\n\n map.set(item.id, color)\n\n const currentColorIndex = colorsOrder.indexOf(color)\n const nextColorIndex = (currentColorIndex + 1) % colorsOrder.length\n return {\n map,\n color: item.imageUrl ? color : colorsOrder[nextColorIndex],\n }\n },\n {\n map: new Map<AvatarStackItemId, Color>(),\n color: colorsOrder[0],\n }\n ).map\n}\n\nexport function AvatarStackContactItem({\n id,\n type,\n imageUrl,\n initials,\n inactive,\n name,\n linkUrl,\n description,\n}: AvatarStackItem) {\n return (\n <StyledContactItem\n disabled={inactive}\n icon={getContactIcon(type)}\n imageUrl={imageUrl}\n initials={initials}\n key={id}\n >\n <ContactItem.Title>\n {!inactive && linkUrl ? <Link href={linkUrl}>{name}</Link> : name}\n </ContactItem.Title>\n <ContactItem.Description>\n {type === 'group' ? (\n <Typography color=\"gray15\">{description}</Typography>\n ) : (\n description\n )}\n </ContactItem.Description>\n </StyledContactItem>\n )\n}\n\nexport function AvatarContent({\n imageUrl,\n initials,\n type,\n size,\n ...props\n}: {\n imageUrl?: AvatarStackItem['imageUrl']\n initials: AvatarStackItem['initials']\n type: AvatarStackItem['type']\n size: AvatarStackSize\n}) {\n const avatarIcon = getAvatarIcon(type, size)\n\n if (imageUrl) {\n return <Avatar.Portrait {...props} imageUrl={imageUrl} />\n }\n\n if (avatarIcon) {\n return <Avatar.Icon {...props} icon={avatarIcon} />\n }\n\n if (initials) {\n return <Avatar.Label {...props}>{initials}</Avatar.Label>\n }\n\n return null\n}\n\nfunction AvatarWithPopover<Item extends AvatarStackItem>({\n item,\n size,\n colors,\n}: {\n item: Item\n size: AvatarStackSize\n colors: Map<AvatarStackItemId, Color>\n}) {\n const { triggerRef, popoverContentRef, beforeShow, beforeHide, afterHide } =\n useAvatarPopover({\n focusableSelector: FOCUSABLE_SELECTOR,\n overlayWrapperSelector: OVERLAY_WRAPPER_SELECTOR,\n })\n\n return (\n <OverlayTrigger\n key={item.id}\n trigger={POPOVER_TRIGGER}\n showKeys={POPOVER_SHOW_KEYS}\n hideKeys={POPOVER_HIDE_KEYS}\n restoreFocusOnHide={false}\n shrinkOverlay\n arrow\n trackAriaExpanded\n placement=\"top\"\n beforeShow={(e) => {\n if (item.inactive) return false\n return beforeShow(e)\n }}\n beforeHide={beforeHide}\n afterHide={afterHide}\n overlay={\n <Popover.Content ref={popoverContentRef} placement=\"top\">\n <AvatarStackContactItem\n id={item.id}\n type={item.type}\n imageUrl={item.imageUrl}\n initials={item.initials}\n inactive={item.inactive}\n name={item.name}\n linkUrl={item.linkUrl}\n description={item.description}\n />\n </Popover.Content>\n }\n >\n <StyledAvatar\n ref={triggerRef}\n role=\"button\"\n $color={colors.get(item.id) as Color}\n aria-label={`${item.name}, ${item.description}`}\n disabled={item.inactive}\n size={size}\n >\n <AvatarContent\n imageUrl={item.imageUrl}\n initials={item.initials}\n type={item.type}\n size={size}\n />\n </StyledAvatar>\n </OverlayTrigger>\n )\n}\n\nexport function FoldedAvatarStack<Item extends AvatarStackItem>({\n items,\n onClickViewAll,\n size,\n restCountLabel,\n isViewAllNeeded,\n title,\n viewMoreTriggerRef,\n}: FoldedAvatarStackProps<Item>) {\n const I18n = useI18nContext()\n const restAvatarId = useId()\n const { triggerRef, popoverContentRef, beforeShow, beforeHide, afterHide } =\n useAvatarPopover({\n focusableSelector: FOCUSABLE_SELECTOR,\n overlayWrapperSelector: OVERLAY_WRAPPER_SELECTOR,\n })\n\n return (\n <OverlayTrigger\n aria-labelledby={restAvatarId}\n trigger={POPOVER_TRIGGER}\n showKeys={POPOVER_SHOW_KEYS}\n hideKeys={POPOVER_HIDE_KEYS}\n restoreFocusOnHide={false}\n shrinkOverlay\n arrow\n trackAriaExpanded\n placement=\"top\"\n beforeShow={beforeShow}\n beforeHide={beforeHide}\n afterHide={afterHide}\n overlay={\n <Popover.Content ref={popoverContentRef} placement=\"top\">\n <StyledContactItems>\n {items.map((item) => (\n <AvatarStackContactItem\n key={item.id}\n id={item.id}\n type={item.type}\n imageUrl={item.imageUrl}\n initials={item.initials}\n inactive={item.inactive}\n name={item.name}\n linkUrl={item.linkUrl}\n description={item.description}\n />\n ))}\n </StyledContactItems>\n {isViewAllNeeded && (\n <StyledViewAllWrapper>\n <Button\n data-qa=\"core-avatar-stack-view-all-modal-trigger\"\n onClick={onClickViewAll}\n size=\"sm\"\n variant=\"secondary\"\n >\n {I18n.t('core.avatarStack.viewAll')}\n </Button>\n </StyledViewAllWrapper>\n )}\n </Popover.Content>\n }\n >\n <StyledAvatar\n ref={\n viewMoreTriggerRef\n ? mergeRefs(triggerRef, viewMoreTriggerRef)\n : triggerRef\n }\n role=\"button\"\n tabIndex={0}\n id={restAvatarId}\n aria-label={`${restCountLabel}, ${title}`}\n data-qa=\"core-avatar-stack-folded-avatars-popover-trigger\"\n size={size}\n $color=\"gray85\"\n >\n <Avatar.Label aria-hidden>\n <Typography color=\"black\">{restCountLabel}</Typography>\n </Avatar.Label>\n </StyledAvatar>\n </OverlayTrigger>\n )\n}\n\nexport function ViewAllModal<Item extends AvatarStackItem>({\n isOpen,\n onClose,\n title,\n items,\n}: ViewAllModalProps<Item>) {\n const I18n = useI18nContext()\n const labelId = useId()\n const text = `${title} (${items.length})`\n\n return (\n <Modal\n role=\"dialog\"\n aria-labelledby={labelId}\n open={isOpen}\n onClose={onClose}\n >\n <Modal.Header onClose={onClose}>\n <Modal.Heading id={labelId}>{text}</Modal.Heading>\n </Modal.Header>\n <StyledModalBody>\n {items.map((item) => (\n <AvatarStackContactItem\n key={item.id}\n id={item.id}\n type={item.type}\n imageUrl={item.imageUrl}\n initials={item.initials}\n inactive={item.inactive}\n name={item.name}\n linkUrl={item.linkUrl}\n description={item.description}\n />\n ))}\n </StyledModalBody>\n <Modal.Footer>\n <Modal.FooterButtons>\n <Button onClick={onClose}>{I18n.t('core.avatarStack.close')}</Button>\n </Modal.FooterButtons>\n </Modal.Footer>\n </Modal>\n )\n}\n\nexport function defaultInitials<Item extends AvatarStackItem>(item: Item) {\n return item.initials as string\n}\n\nexport function defaultGetImageUrl<Item extends AvatarStackItem>(item: Item) {\n return item.imageUrl as string\n}\n\nexport function getTransformedItems<Item extends AvatarStackItem>({\n items,\n getInitials,\n getImageUrl,\n}: {\n items: Item[]\n getInitials: AvatarStackProps<Item>['getInitials']\n getImageUrl: AvatarStackProps<Item>['getImageUrl']\n}) {\n return items.map((item) => ({\n ...item,\n initials: getInitials!(item),\n imageUrl: getImageUrl!(item),\n }))\n}\n\nconst MODAL_CLOSE_FOCUS_DELAY_MS = 350\n\nconst _AvatarStack = <Item extends AvatarStackItem>(\n {\n items: _items,\n title,\n size = 'lg',\n getInitials = defaultInitials,\n getImageUrl = defaultGetImageUrl,\n onClickViewAll,\n ...props\n }: AvatarStackProps<Item>,\n ref: React.ForwardedRef<HTMLDivElement>\n) => {\n const [isModalOpen, setIsModalOpen] = useState(false)\n const viewMoreTriggerRef = React.useRef<HTMLDivElement>(null)\n const wasModalOpenRef = React.useRef(false)\n\n React.useEffect(() => {\n if (wasModalOpenRef.current && !isModalOpen) {\n const id = setTimeout(() => {\n viewMoreTriggerRef.current?.focus()\n }, MODAL_CLOSE_FOCUS_DELAY_MS)\n wasModalOpenRef.current = false\n return () => clearTimeout(id)\n }\n wasModalOpenRef.current = isModalOpen\n }, [isModalOpen])\n\n const items = useMemo(\n () =>\n getTransformedItems({\n items: _items,\n getInitials,\n getImageUrl,\n }),\n [_items]\n )\n\n const { visibleItems, foldedItems, restCountLabel, isViewAllNeeded } =\n useMemo(() => getOverflowValues(items), [items])\n\n const visibleItemsColors = useMemo(\n () => getColorOrder(visibleItems),\n [visibleItems]\n )\n\n return (\n <div ref={ref} {...props}>\n {isViewAllNeeded && !onClickViewAll && (\n <ViewAllModal\n isOpen={isModalOpen}\n onClose={() => setIsModalOpen(false)}\n title={title}\n items={items}\n />\n )}\n <StyledWrapper>\n {visibleItems.map((item) => {\n return (\n <AvatarWithPopover\n colors={visibleItemsColors}\n item={item}\n key={`${item.name}_${item.id}`}\n size={size}\n />\n )\n })}\n {foldedItems.length > 0 && (\n <FoldedAvatarStack\n restCountLabel={restCountLabel as string}\n isViewAllNeeded={isViewAllNeeded}\n items={foldedItems}\n onClickViewAll={onClickViewAll || (() => setIsModalOpen(true))}\n size={size}\n title={title}\n viewMoreTriggerRef={\n !onClickViewAll ? viewMoreTriggerRef : undefined\n }\n />\n )}\n </StyledWrapper>\n </div>\n )\n}\n\n/**\n\n We use avatars to visually represent our users, places, and things in the app.\n These can be in the form of rich media or representative illustrations.\n\n @since 10.19.0\n\n @see [Storybook](https://procore.github.io/core/latest/?path=/story/demos-avatarstack--demo)\n\n @see [Design Guidelines](https://design.procore.com/avatar-stack)\n */\nexport const AvatarStack = forwardRef(_AvatarStack) as <\n Item extends AvatarStackItem\n>(\n props: AvatarStackProps<Item> & { ref?: React.ForwardedRef<HTMLDivElement> }\n) => ReturnType<typeof _AvatarStack>\n\n// @ts-ignore\nAvatarStack.displayName = 'AvatarStack'\n"],"mappings":"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"}
1
+ {"version":3,"file":"AvatarStack.js","names":["Building","People","useId","React","forwardRef","useMemo","useState","Avatar","Button","ContactItem","Link","Modal","OverlayTrigger","Popover","Typography","useI18nContext","mergeRefs","colorsOrder","foldedItemsCap","restCountThreshold","visibleItemsCap","StyledAvatar","StyledContactItem","StyledContactItems","StyledModalBody","StyledViewAllWrapper","StyledWrapper","useAvatarPopover","OVERLAY_WRAPPER_SELECTOR","FOCUSABLE_SELECTOR","POPOVER_TRIGGER","POPOVER_SHOW_KEYS","POPOVER_HIDE_KEYS","overlay","target","getOverflowValues","items","foldedItems","restCountLabel","isViewAllNeeded","visibleItems","length","slice","restItemsCount","concat","getIcon","type","size","createElement","getContactIcon","getAvatarIcon","avatarSize","getColorOrder","avatarItems","reduce","_ref","item","map","color","imageUrl","inactive","set","id","currentColorIndex","indexOf","nextColorIndex","Map","AvatarStackContactItem","_ref2","initials","name","linkUrl","description","disabled","icon","key","Title","href","Description","AvatarContent","_ref3","props","_objectWithoutProperties","_excluded","avatarIcon","Portrait","_extends","Icon","Label","AvatarWithPopover","_ref4","colors","_useAvatarPopover","focusableSelector","overlayWrapperSelector","triggerRef","popoverContentRef","beforeShow","beforeHide","afterHide","trigger","showKeys","hideKeys","restoreFocusOnHide","shrinkOverlay","arrow","trackAriaExpanded","placement","e","Content","ref","role","$color","get","FoldedAvatarStack","_ref5","onClickViewAll","title","viewMoreTriggerRef","I18n","restAvatarId","_useAvatarPopover2","onClick","variant","t","tabIndex","ViewAllModal","_ref6","isOpen","onClose","labelId","text","open","Header","Heading","Footer","FooterButtons","defaultInitials","defaultGetImageUrl","getTransformedItems","_ref7","getInitials","getImageUrl","_objectSpread","MODAL_CLOSE_FOCUS_DELAY_MS","_AvatarStack","_ref8","_items","_ref8$size","_ref8$getInitials","_ref8$getImageUrl","_excluded2","_useState","_useState2","_slicedToArray","isModalOpen","setIsModalOpen","useRef","wasModalOpenRef","useEffect","current","setTimeout","_viewMoreTriggerRef$c","focus","clearTimeout","_useMemo","visibleItemsColors","undefined","AvatarStack","displayName"],"sources":["../../src/AvatarStack/AvatarStack.tsx"],"sourcesContent":["import { Building, People } from '@procore/core-icons'\nimport { useId } from '@react-aria/utils'\nimport React, { forwardRef, useMemo, useState } from 'react'\nimport { Avatar } from '../Avatar'\nimport { Button } from '../Button'\nimport { ContactItem } from '../ContactItem'\nimport { Link } from '../Link'\nimport { Modal } from '../Modal'\nimport { OverlayTrigger } from '../OverlayTrigger'\nimport { Popover } from '../Popover'\nimport { Typography } from '../Typography'\nimport { useI18nContext } from '../_hooks/I18n'\nimport type { TriggerVariant } from '../_hooks/Trigger'\nimport type { Color } from '../_styles/colors'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport {\n colorsOrder,\n foldedItemsCap,\n restCountThreshold,\n visibleItemsCap,\n} from './AvatarStack.constants'\nimport {\n StyledAvatar,\n StyledContactItem,\n StyledContactItems,\n StyledModalBody,\n StyledViewAllWrapper,\n StyledWrapper,\n} from './AvatarStack.styles'\nimport type {\n AvatarStackItem,\n AvatarStackItemId,\n AvatarStackItemType,\n AvatarStackProps,\n AvatarStackSize,\n FoldedAvatarStackProps,\n ViewAllModalProps,\n} from './AvatarStack.types'\nimport { useAvatarPopover } from './useAvatarPopover'\n\nconst OVERLAY_WRAPPER_SELECTOR =\n '[data-qa=\"core-overlay-trigger-overlay-wrapper\"]'\n\nconst FOCUSABLE_SELECTOR =\n 'a[href], button:not([disabled]), [tabindex]:not([tabindex=\"-1\"])'\n\nconst POPOVER_TRIGGER = ['hover', 'focus'] as TriggerVariant[]\n\nconst POPOVER_SHOW_KEYS = ['Enter', ' ']\n\nconst POPOVER_HIDE_KEYS = {\n overlay: ['Escape', 'Esc'],\n target: ['Escape', 'Esc'],\n}\n\nexport function getOverflowValues<Item extends AvatarStackItem>(items: Item[]) {\n let foldedItems: Item[] = []\n let restCountLabel: string | null = null\n let isViewAllNeeded = false\n\n const visibleItems =\n items.length > visibleItemsCap ? items.slice(0, visibleItemsCap - 1) : items\n const restItemsCount = items.length - visibleItems.length\n\n if (restItemsCount > 0) {\n foldedItems = items.slice(\n visibleItems.length,\n visibleItems.length + foldedItemsCap\n )\n\n restCountLabel =\n restItemsCount > restCountThreshold\n ? `${restCountThreshold}+`\n : `+${restItemsCount}`\n\n isViewAllNeeded = restItemsCount > foldedItemsCap\n }\n\n return {\n visibleItems,\n foldedItems,\n restCountLabel,\n isViewAllNeeded,\n }\n}\n\nexport function getIcon(type: AvatarStackItemType, size: 'md' | 'sm') {\n switch (type) {\n case 'company':\n return <Building size={size} />\n\n case 'group':\n return <People size={size} />\n\n case 'user':\n default:\n return null\n }\n}\n\nfunction getContactIcon(type: AvatarStackItemType) {\n return getIcon(type, 'md')\n}\n\nexport function getAvatarIcon(\n type: AvatarStackItemType,\n size: AvatarStackSize\n) {\n const avatarSize = size === 'lg' ? 'md' : 'sm'\n return getIcon(type, avatarSize)\n}\n\nexport function getColorOrder(avatarItems: AvatarStackItem[]) {\n return avatarItems.reduce(\n ({ map, color }, item) => {\n if (item.imageUrl) {\n return {\n map,\n color,\n }\n }\n\n if (item.inactive) {\n map.set(item.id, 'gray70')\n\n return {\n map,\n color,\n }\n }\n\n map.set(item.id, color)\n\n const currentColorIndex = colorsOrder.indexOf(color)\n const nextColorIndex = (currentColorIndex + 1) % colorsOrder.length\n return {\n map,\n color: item.imageUrl ? color : colorsOrder[nextColorIndex],\n }\n },\n {\n map: new Map<AvatarStackItemId, Color>(),\n color: colorsOrder[0],\n }\n ).map\n}\n\nexport function AvatarStackContactItem({\n id,\n type,\n imageUrl,\n initials,\n inactive,\n name,\n linkUrl,\n description,\n}: AvatarStackItem) {\n return (\n <StyledContactItem\n disabled={inactive}\n icon={getContactIcon(type)}\n imageUrl={imageUrl}\n initials={initials}\n key={id}\n >\n <ContactItem.Title>\n {!inactive && linkUrl ? <Link href={linkUrl}>{name}</Link> : name}\n </ContactItem.Title>\n <ContactItem.Description>\n {type === 'group' ? (\n <Typography color=\"gray15\">{description}</Typography>\n ) : (\n description\n )}\n </ContactItem.Description>\n </StyledContactItem>\n )\n}\n\nexport function AvatarContent({\n imageUrl,\n initials,\n type,\n size,\n ...props\n}: {\n imageUrl?: AvatarStackItem['imageUrl']\n initials: AvatarStackItem['initials']\n type: AvatarStackItem['type']\n size: AvatarStackSize\n}) {\n const avatarIcon = getAvatarIcon(type, size)\n\n if (imageUrl) {\n return <Avatar.Portrait {...props} imageUrl={imageUrl} />\n }\n\n if (avatarIcon) {\n return <Avatar.Icon {...props} icon={avatarIcon} />\n }\n\n if (initials) {\n return <Avatar.Label {...props}>{initials}</Avatar.Label>\n }\n\n return null\n}\n\nfunction AvatarWithPopover<Item extends AvatarStackItem>({\n item,\n size,\n colors,\n}: {\n item: Item\n size: AvatarStackSize\n colors: Map<AvatarStackItemId, Color>\n}) {\n const { triggerRef, popoverContentRef, beforeShow, beforeHide, afterHide } =\n useAvatarPopover({\n focusableSelector: FOCUSABLE_SELECTOR,\n overlayWrapperSelector: OVERLAY_WRAPPER_SELECTOR,\n })\n\n return (\n <OverlayTrigger\n key={item.id}\n trigger={POPOVER_TRIGGER}\n showKeys={POPOVER_SHOW_KEYS}\n hideKeys={POPOVER_HIDE_KEYS}\n restoreFocusOnHide={false}\n shrinkOverlay\n arrow\n trackAriaExpanded\n placement=\"top\"\n beforeShow={(e) => {\n if (item.inactive) return false\n return beforeShow(e)\n }}\n beforeHide={beforeHide}\n afterHide={afterHide}\n overlay={\n <Popover.Content ref={popoverContentRef} placement=\"top\">\n <AvatarStackContactItem\n id={item.id}\n type={item.type}\n imageUrl={item.imageUrl}\n initials={item.initials}\n inactive={item.inactive}\n name={item.name}\n linkUrl={item.linkUrl}\n description={item.description}\n />\n </Popover.Content>\n }\n >\n <StyledAvatar\n ref={triggerRef}\n role=\"button\"\n $color={colors.get(item.id) as Color}\n aria-label={`${item.name}, ${item.description}`}\n disabled={item.inactive}\n size={size}\n >\n <AvatarContent\n imageUrl={item.imageUrl}\n initials={item.initials}\n type={item.type}\n size={size}\n />\n </StyledAvatar>\n </OverlayTrigger>\n )\n}\n\nexport function FoldedAvatarStack<Item extends AvatarStackItem>({\n items,\n onClickViewAll,\n size,\n restCountLabel,\n isViewAllNeeded,\n title,\n viewMoreTriggerRef,\n}: FoldedAvatarStackProps<Item>) {\n const I18n = useI18nContext()\n const restAvatarId = useId()\n const { triggerRef, popoverContentRef, beforeShow, beforeHide, afterHide } =\n useAvatarPopover({\n focusableSelector: FOCUSABLE_SELECTOR,\n overlayWrapperSelector: OVERLAY_WRAPPER_SELECTOR,\n })\n\n return (\n <OverlayTrigger\n aria-labelledby={restAvatarId}\n trigger={POPOVER_TRIGGER}\n showKeys={POPOVER_SHOW_KEYS}\n hideKeys={POPOVER_HIDE_KEYS}\n restoreFocusOnHide={false}\n shrinkOverlay\n arrow\n trackAriaExpanded\n placement=\"top\"\n beforeShow={beforeShow}\n beforeHide={beforeHide}\n afterHide={afterHide}\n overlay={\n <Popover.Content ref={popoverContentRef} placement=\"top\">\n <StyledContactItems>\n {items.map((item) => (\n <AvatarStackContactItem\n key={item.id}\n id={item.id}\n type={item.type}\n imageUrl={item.imageUrl}\n initials={item.initials}\n inactive={item.inactive}\n name={item.name}\n linkUrl={item.linkUrl}\n description={item.description}\n />\n ))}\n </StyledContactItems>\n {isViewAllNeeded && (\n <StyledViewAllWrapper>\n <Button\n data-qa=\"core-avatar-stack-view-all-modal-trigger\"\n onClick={onClickViewAll}\n size=\"sm\"\n variant=\"secondary\"\n >\n {I18n.t('core.avatarStack.viewAll')}\n </Button>\n </StyledViewAllWrapper>\n )}\n </Popover.Content>\n }\n >\n <StyledAvatar\n ref={\n viewMoreTriggerRef\n ? mergeRefs(triggerRef, viewMoreTriggerRef)\n : triggerRef\n }\n role=\"button\"\n tabIndex={0}\n id={restAvatarId}\n aria-label={`${restCountLabel}, ${title}`}\n data-qa=\"core-avatar-stack-folded-avatars-popover-trigger\"\n size={size}\n $color=\"gray85\"\n >\n <Avatar.Label aria-hidden>\n <Typography color=\"black\">{restCountLabel}</Typography>\n </Avatar.Label>\n </StyledAvatar>\n </OverlayTrigger>\n )\n}\n\nexport function ViewAllModal<Item extends AvatarStackItem>({\n isOpen,\n onClose,\n title,\n items,\n}: ViewAllModalProps<Item>) {\n const I18n = useI18nContext()\n const labelId = useId()\n const text = `${title} (${items.length})`\n\n return (\n <Modal\n role=\"dialog\"\n aria-labelledby={labelId}\n open={isOpen}\n onClose={onClose}\n >\n <Modal.Header onClose={onClose}>\n <Modal.Heading id={labelId}>{text}</Modal.Heading>\n </Modal.Header>\n <StyledModalBody>\n {items.map((item) => (\n <AvatarStackContactItem\n key={item.id}\n id={item.id}\n type={item.type}\n imageUrl={item.imageUrl}\n initials={item.initials}\n inactive={item.inactive}\n name={item.name}\n linkUrl={item.linkUrl}\n description={item.description}\n />\n ))}\n </StyledModalBody>\n <Modal.Footer>\n <Modal.FooterButtons>\n <Button onClick={onClose}>{I18n.t('core.avatarStack.close')}</Button>\n </Modal.FooterButtons>\n </Modal.Footer>\n </Modal>\n )\n}\n\nexport function defaultInitials<Item extends AvatarStackItem>(item: Item) {\n return item.initials as string\n}\n\nexport function defaultGetImageUrl<Item extends AvatarStackItem>(item: Item) {\n return item.imageUrl as string\n}\n\nexport function getTransformedItems<Item extends AvatarStackItem>({\n items,\n getInitials,\n getImageUrl,\n}: {\n items: Item[]\n getInitials: AvatarStackProps<Item>['getInitials']\n getImageUrl: AvatarStackProps<Item>['getImageUrl']\n}) {\n return items.map((item) => ({\n ...item,\n initials: getInitials!(item),\n imageUrl: getImageUrl!(item),\n }))\n}\n\nconst MODAL_CLOSE_FOCUS_DELAY_MS = 350\n\nconst _AvatarStack = <Item extends AvatarStackItem>(\n {\n items: _items,\n title,\n size = 'lg',\n getInitials = defaultInitials,\n getImageUrl = defaultGetImageUrl,\n onClickViewAll,\n ...props\n }: AvatarStackProps<Item>,\n ref: React.ForwardedRef<HTMLDivElement>\n) => {\n const [isModalOpen, setIsModalOpen] = useState(false)\n const viewMoreTriggerRef = React.useRef<HTMLDivElement>(null)\n const wasModalOpenRef = React.useRef(false)\n\n React.useEffect(() => {\n if (wasModalOpenRef.current && !isModalOpen) {\n const id = setTimeout(() => {\n viewMoreTriggerRef.current?.focus()\n }, MODAL_CLOSE_FOCUS_DELAY_MS)\n wasModalOpenRef.current = false\n return () => clearTimeout(id)\n }\n wasModalOpenRef.current = isModalOpen\n }, [isModalOpen])\n\n const items = useMemo(\n () =>\n getTransformedItems({\n items: _items,\n getInitials,\n getImageUrl,\n }),\n [_items]\n )\n\n const { visibleItems, foldedItems, restCountLabel, isViewAllNeeded } =\n useMemo(() => getOverflowValues(items), [items])\n\n const visibleItemsColors = useMemo(\n () => getColorOrder(visibleItems),\n [visibleItems]\n )\n\n return (\n <div ref={ref} role=\"group\" aria-label={title} {...props}>\n {isViewAllNeeded && !onClickViewAll && (\n <ViewAllModal\n isOpen={isModalOpen}\n onClose={() => setIsModalOpen(false)}\n title={title}\n items={items}\n />\n )}\n <StyledWrapper>\n {visibleItems.map((item) => {\n return (\n <AvatarWithPopover\n colors={visibleItemsColors}\n item={item}\n key={`${item.name}_${item.id}`}\n size={size}\n />\n )\n })}\n {foldedItems.length > 0 && (\n <FoldedAvatarStack\n restCountLabel={restCountLabel as string}\n isViewAllNeeded={isViewAllNeeded}\n items={foldedItems}\n onClickViewAll={onClickViewAll || (() => setIsModalOpen(true))}\n size={size}\n title={title}\n viewMoreTriggerRef={\n !onClickViewAll ? viewMoreTriggerRef : undefined\n }\n />\n )}\n </StyledWrapper>\n </div>\n )\n}\n\n/**\n\n We use avatars to visually represent our users, places, and things in the app.\n These can be in the form of rich media or representative illustrations.\n\n @since 10.19.0\n\n @see [Storybook](https://procore.github.io/core/latest/?path=/story/demos-avatarstack--demo)\n\n @see [Design Guidelines](https://design.procore.com/avatar-stack)\n */\nexport const AvatarStack = forwardRef(_AvatarStack) as <\n Item extends AvatarStackItem\n>(\n props: AvatarStackProps<Item> & { ref?: React.ForwardedRef<HTMLDivElement> }\n) => ReturnType<typeof _AvatarStack>\n\n// @ts-ignore\nAvatarStack.displayName = 'AvatarStack'\n"],"mappings":"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"}
@@ -7,32 +7,32 @@ import { spacing } from '../_styles/spacing';
7
7
  var maxModalWidth = 528;
8
8
  var StyledBaseAvatar = /*#__PURE__*/styled(Avatar).withConfig({
9
9
  displayName: "StyledBaseAvatar",
10
- componentId: "core-12_44_0__sc-ft72hu-0"
10
+ componentId: "core-12_46_0__sc-ft72hu-0"
11
11
  })(["border-color:", ";border-style:solid;border-width:1px;&:hover{z-index:1;}"], colors.white);
12
12
  export var StyledAvatar = /*#__PURE__*/styled(StyledBaseAvatar).withConfig({
13
13
  displayName: "StyledAvatar",
14
- componentId: "core-12_44_0__sc-ft72hu-1"
14
+ componentId: "core-12_46_0__sc-ft72hu-1"
15
15
  })(["background-color:", ";"], function (props) {
16
16
  return colors[props.$color];
17
17
  });
18
18
  export var StyledContactItems = /*#__PURE__*/styled.div.withConfig({
19
19
  displayName: "StyledContactItems",
20
- componentId: "core-12_44_0__sc-ft72hu-2"
20
+ componentId: "core-12_46_0__sc-ft72hu-2"
21
21
  })(["padding-top:", "px;padding-bottom:", "px;padding-left:", "px;"], spacing.sm, spacing.sm, spacing.xs);
22
22
  export var StyledWrapper = /*#__PURE__*/styled.div.withConfig({
23
23
  displayName: "StyledWrapper",
24
- componentId: "core-12_44_0__sc-ft72hu-3"
24
+ componentId: "core-12_46_0__sc-ft72hu-3"
25
25
  })(["display:flex;", " + ", "{margin-left:-", "px;}"], StyledAvatar, StyledAvatar, spacing.sm);
26
26
  export var StyledViewAllWrapper = /*#__PURE__*/styled.div.withConfig({
27
27
  displayName: "StyledViewAllWrapper",
28
- componentId: "core-12_44_0__sc-ft72hu-4"
28
+ componentId: "core-12_46_0__sc-ft72hu-4"
29
29
  })(["display:flex;margin-left:", "px;margin-bottom:", "px;"], spacing.md, spacing.lg);
30
30
  export var StyledModalBody = /*#__PURE__*/styled(Modal.Body).withConfig({
31
31
  displayName: "StyledModalBody",
32
- componentId: "core-12_44_0__sc-ft72hu-5"
32
+ componentId: "core-12_46_0__sc-ft72hu-5"
33
33
  })(["max-width:", "px;"], maxModalWidth);
34
34
  export var StyledContactItem = /*#__PURE__*/styled(ContactItem).withConfig({
35
35
  displayName: "StyledContactItem",
36
- componentId: "core-12_44_0__sc-ft72hu-6"
36
+ componentId: "core-12_46_0__sc-ft72hu-6"
37
37
  })(["flex-shrink:0;"]);
38
38
  //# sourceMappingURL=AvatarStack.styles.js.map
@@ -1,10 +1,10 @@
1
1
  import styled from 'styled-components';
2
2
  export var StyledBadge = /*#__PURE__*/styled.div.withConfig({
3
3
  displayName: "StyledBadge",
4
- componentId: "core-12_44_0__sc-rpertu-0"
4
+ componentId: "core-12_46_0__sc-rpertu-0"
5
5
  })(["display:inline-block;position:relative;"]);
6
6
  export var StyledBadgeLabel = /*#__PURE__*/styled.span.withConfig({
7
7
  displayName: "StyledBadgeLabel",
8
- componentId: "core-12_44_0__sc-rpertu-1"
8
+ componentId: "core-12_46_0__sc-rpertu-1"
9
9
  })(["bottom:100%;position:absolute;right:0;transform:translateX(50%) translateY(50%);"]);
10
10
  //# sourceMappingURL=Badge.styles.js.map
@@ -3,11 +3,11 @@ import { getTypographyIntent } from '../Typography';
3
3
  import { colors } from '../_styles/colors';
4
4
  export var StyledBadgeContainer = /*#__PURE__*/styled.div.withConfig({
5
5
  displayName: "StyledBadgeContainer",
6
- componentId: "core-12_44_0__sc-s2n9gd-0"
6
+ componentId: "core-12_46_0__sc-s2n9gd-0"
7
7
  })(["display:inline-flex;position:relative;"]);
8
8
  export var StyledBadgeContent = /*#__PURE__*/styled.div.withConfig({
9
9
  displayName: "StyledBadgeContent",
10
- componentId: "core-12_44_0__sc-s2n9gd-1"
10
+ componentId: "core-12_46_0__sc-s2n9gd-1"
11
11
  })(["position:relative;", " ", " pointer-events:none;user-select:none;"], function (_ref) {
12
12
  var $overlapping = _ref.$overlapping,
13
13
  _ref$$xOffset = _ref.$xOffset,
@@ -20,13 +20,13 @@ export var StyledBadgeContent = /*#__PURE__*/styled.div.withConfig({
20
20
  });
21
21
  export var StyledBadgeDotIndicator = /*#__PURE__*/styled.div.withConfig({
22
22
  displayName: "StyledBadgeDotIndicator",
23
- componentId: "core-12_44_0__sc-s2n9gd-2"
23
+ componentId: "core-12_46_0__sc-s2n9gd-2"
24
24
  })(["width:6px;height:6px;border-radius:50%;background-color:", ";"], colors.orange50);
25
25
  var oneDigitStyles = "\n border-radius: 50%;\n padding: 2px;\n min-width: 21.5px;\n min-height: 21.5px;\n";
26
26
  var multiDigitStyles = "\n border-radius: 10px;\n padding: 2px 8px;\n";
27
27
  export var StyledBadgeCounter = /*#__PURE__*/styled.div.withConfig({
28
28
  displayName: "StyledBadgeCounter",
29
- componentId: "core-12_44_0__sc-s2n9gd-3"
29
+ componentId: "core-12_46_0__sc-s2n9gd-3"
30
30
  })(["display:inline-flex;justify-content:center;align-items:center;color:", ";background-color:", ";", " ", ""], colors.white, colors.orange50, getTypographyIntent('small'), function (props) {
31
31
  return props.$oneDigit ? oneDigitStyles : multiDigitStyles;
32
32
  });
@@ -39,7 +39,7 @@ var expandContent = function expandContent(maxHeight) {
39
39
  };
40
40
  export var StyledBannerContainer = /*#__PURE__*/styled.div.withConfig({
41
41
  displayName: "StyledBannerContainer",
42
- componentId: "core-12_44_0__sc-149wm7c-0"
42
+ componentId: "core-12_46_0__sc-149wm7c-0"
43
43
  })(["align-items:center;border-left:", "px solid;border-radius:", "px;color:", ";display:flex;justify-content:space-between;min-height:52px;padding:0 ", "px;", " ", " ", ""], bannerLeft, borderRadius.md, colors.gray15, spacing.lg, bannerShadow, function (_ref) {
44
44
  var $variant = _ref.$variant;
45
45
  var _bannerVariantColors$ = bannerVariantColors[$variant],
@@ -52,15 +52,15 @@ export var StyledBannerContainer = /*#__PURE__*/styled.div.withConfig({
52
52
  });
53
53
  export var StyledContent = /*#__PURE__*/styled.div.withConfig({
54
54
  displayName: "StyledContent",
55
- componentId: "core-12_44_0__sc-149wm7c-1"
55
+ componentId: "core-12_46_0__sc-149wm7c-1"
56
56
  })(["align-self:center;margin:", "px ", "px ", "px 0;width:100%;"], spacing.sm, spacing.lg, spacing.sm);
57
57
  export var StyledExpandableContentContainer = /*#__PURE__*/styled(Flex).withConfig({
58
58
  displayName: "StyledExpandableContentContainer",
59
- componentId: "core-12_44_0__sc-149wm7c-2"
59
+ componentId: "core-12_46_0__sc-149wm7c-2"
60
60
  })(["color:", ";min-height:52px;padding:0 ", "px;position:relative;z-index:1;", ""], colors.gray15, spacing.lg, bannerShadow);
61
61
  export var StyledExpandableContent = /*#__PURE__*/styled(Flex).withConfig({
62
62
  displayName: "StyledExpandableContent",
63
- componentId: "core-12_44_0__sc-149wm7c-3"
63
+ componentId: "core-12_46_0__sc-149wm7c-3"
64
64
  })(["animation-duration:450ms;animation-fill-mode:forwards;animation-timing-function:ease-out;background-color:", ";box-sizing:border-box;font-size:14px;font-weight:500;letter-spacing:0.25px;line-height:20px;overflow-y:auto;padding:0 ", "px;position:relative;z-index:0;", " ", ""], colors.white, spacing.xl * 2 + spacing.sm, function (_ref3) {
65
65
  var $isOverflowingY = _ref3.$isOverflowingY;
66
66
  return $isOverflowingY && focusable;
@@ -70,23 +70,23 @@ export var StyledExpandableContent = /*#__PURE__*/styled(Flex).withConfig({
70
70
  });
71
71
  export var StyledTitle = /*#__PURE__*/styled.div.withConfig({
72
72
  displayName: "StyledTitle",
73
- componentId: "core-12_44_0__sc-149wm7c-4"
73
+ componentId: "core-12_46_0__sc-149wm7c-4"
74
74
  })(["", " color:", ";font-weight:", ";"], getTypographyIntent('body'), colors.gray15, typographyWeights.semibold);
75
75
  export var StyledBody = /*#__PURE__*/styled.div.withConfig({
76
76
  displayName: "StyledBody",
77
- componentId: "core-12_44_0__sc-149wm7c-5"
77
+ componentId: "core-12_46_0__sc-149wm7c-5"
78
78
  })(["", " color:", ";"], getTypographyIntent('body'), colors.gray15);
79
79
  export var StyledIconContainer = /*#__PURE__*/styled.div.withConfig({
80
80
  displayName: "StyledIconContainer",
81
- componentId: "core-12_44_0__sc-149wm7c-6"
81
+ componentId: "core-12_46_0__sc-149wm7c-6"
82
82
  })(["flex:0 0 auto;margin:", "px 0;"], spacing.lg);
83
83
  export var StyledActionsTrigger = /*#__PURE__*/styled(DropdownButton).withConfig({
84
84
  displayName: "StyledActionsTrigger",
85
- componentId: "core-12_44_0__sc-149wm7c-7"
85
+ componentId: "core-12_46_0__sc-149wm7c-7"
86
86
  })(["flex-shrink:0;& + ", ",& + ", "{margin-left:-", "px;}"], StyledButton, StyledLinkButton, spacing.sm);
87
87
  export var StyledAction = /*#__PURE__*/styled.div.withConfig({
88
88
  displayName: "StyledAction",
89
- componentId: "core-12_44_0__sc-149wm7c-8"
89
+ componentId: "core-12_46_0__sc-149wm7c-8"
90
90
  })(["margin:", "px 0 ", "px -", "px;& + ", ",& + ", ",& + ", "{margin-left:-", "px;}", ",", "{background:rgba(0,0,0,0.05);color:", ";&:hover{background:", ";color:", ";}}"], spacing.sm, spacing.sm, spacing.sm, StyledButton, StyledLinkButton, StyledActionsTrigger, spacing.sm, StyledButton, StyledLinkButton, colors.gray15, colors.gray85, colors.gray15);
91
91
  function getMiniBannerIconColor(_ref5) {
92
92
  var variant = _ref5.variant;
@@ -94,6 +94,6 @@ function getMiniBannerIconColor(_ref5) {
94
94
  }
95
95
  export var StyledMiniBannerContainer = /*#__PURE__*/styled.div.withConfig({
96
96
  displayName: "StyledMiniBannerContainer",
97
- componentId: "core-12_44_0__sc-149wm7c-9"
97
+ componentId: "core-12_46_0__sc-149wm7c-9"
98
98
  })(["align-items:center;background-color:", ";display:flex;justify-content:space-between;padding:0 ", "px;", " ", " & ", "{margin:", "px;}"], colors.gray96, spacing.md, getTypographyIntent('small'), getMiniBannerIconColor, StyledContent, spacing.sm);
99
99
  //# sourceMappingURL=Banner.styles.js.map
@@ -21,7 +21,7 @@ function sizeToPx(size) {
21
21
  }
22
22
  export var StyledBox = /*#__PURE__*/styled.div.withConfig({
23
23
  displayName: "StyledBox",
24
- componentId: "core-12_44_0__sc-fgsy0p-0"
24
+ componentId: "core-12_46_0__sc-fgsy0p-0"
25
25
  })(["", " ", ""], function (_ref) {
26
26
  var as = _ref.as;
27
27
  if (as === 'ol' || as === 'ul') {
@@ -4,19 +4,19 @@ import { colors } from '../_styles/colors';
4
4
  import { spacing } from '../_styles/spacing';
5
5
  export var StyledContainer = /*#__PURE__*/styled.nav.withConfig({
6
6
  displayName: "StyledContainer",
7
- componentId: "core-12_44_0__sc-1q6nqfz-0"
7
+ componentId: "core-12_46_0__sc-1q6nqfz-0"
8
8
  })(["color:", ";display:flex;align-items:center;a,a:hover{display:inline-flex;text-decoration:none;}"], colors.gray50);
9
9
  export var StyledList = /*#__PURE__*/styled.ol.withConfig({
10
10
  displayName: "StyledList",
11
- componentId: "core-12_44_0__sc-1q6nqfz-1"
11
+ componentId: "core-12_46_0__sc-1q6nqfz-1"
12
12
  })(["display:flex;margin:0;padding-left:0;"]);
13
13
  export var StyledSeparator = /*#__PURE__*/styled.div.withConfig({
14
14
  displayName: "StyledSeparator",
15
- componentId: "core-12_44_0__sc-1q6nqfz-2"
15
+ componentId: "core-12_46_0__sc-1q6nqfz-2"
16
16
  })(["align-items:center;display:inline-flex;justify-content:center;margin:0px ", "px;"], spacing.xs);
17
17
  export var StyledCrumb = /*#__PURE__*/styled.li.withConfig({
18
18
  displayName: "StyledCrumb",
19
- componentId: "core-12_44_0__sc-1q6nqfz-3"
19
+ componentId: "core-12_46_0__sc-1q6nqfz-3"
20
20
  })(["", " align-items:center;color:", ";display:inline-flex;min-height:24px;text-decoration:none;&:hover{cursor:", ";text-decoration:", ";}> a{color:", ";", "}", ""], getTypographyIntent('body'), colors.gray45, function (_ref) {
21
21
  var active = _ref.active;
22
22
  return active ? 'default' : 'pointer';
@@ -93,11 +93,11 @@ function getColors(loading, variant) {
93
93
  }
94
94
  export var StyledContent = /*#__PURE__*/styled.span.withConfig({
95
95
  displayName: "StyledContent",
96
- componentId: "core-12_44_0__sc-c5bhwh-0"
96
+ componentId: "core-12_46_0__sc-c5bhwh-0"
97
97
  })(["align-items:center;display:flex;overflow:hidden;"]);
98
98
  export var StyledSpinner = /*#__PURE__*/styled(Spinner).withConfig({
99
99
  displayName: "StyledSpinner",
100
- componentId: "core-12_44_0__sc-c5bhwh-1"
100
+ componentId: "core-12_46_0__sc-c5bhwh-1"
101
101
  })(["box-sizing:border-box;display:none;position:absolute;transform:translateZ(0);@media ", "{left:50%;top:50%;", "}"], mediaIE11Hack, function (_ref) {
102
102
  var size = _ref.size;
103
103
  var margin = -1 * (spinnerDimensions[size !== null && size !== void 0 ? size : defaultSpinnerSize] / 2);
@@ -105,14 +105,14 @@ export var StyledSpinner = /*#__PURE__*/styled(Spinner).withConfig({
105
105
  });
106
106
  export var StyledLabel = /*#__PURE__*/styled.span.withConfig({
107
107
  displayName: "StyledLabel",
108
- componentId: "core-12_44_0__sc-c5bhwh-2"
108
+ componentId: "core-12_46_0__sc-c5bhwh-2"
109
109
  })(["overflow:hidden;padding:0 6px;text-overflow:ellipsis;white-space:nowrap;& + span{padding-left:0;}"]);
110
110
  export function getButtonStyles(block, disabled, loading, size, variant) {
111
111
  return css(["", " ", " ", " ", " align-items:center;border-radius:", "px;border:0;box-sizing:border-box;cursor:pointer;display:inline-flex;flex-direction:row;flex-shrink:0;font-family:inherit;font-weight:", ";height:", "px;justify-content:center;margin:0;overflow:hidden;padding:0 ", "px;position:relative;pointer-events:", ";text-overflow:ellipsis;user-select:", ";vertical-align:middle;white-space:nowrap;width:", ";[data-icon-prop='true']{pointer-events:none;height:", "px;width:", "px;}", ""], getTypographyIntent(typographySizes[size]), focusable, variant === 'UNSAFE_helixNav' && css(["&.focus,&:focus{outline:none;box-shadow:0 0 0 2px ", ";}"], colors.blue70), getColors(loading, variant), borderRadius.md, typographyWeights.semibold, heights[size], paddingX[size], disabled || loading ? 'none' : 'inherit', disabled || loading ? 'none' : 'inherit', block && '100%', size === 'sm' ? 16 : 24, size === 'sm' ? 16 : 24, loading && css(["", "{pointer-events:none;visibility:hidden;}", "{display:block;}"], StyledContent, StyledSpinner));
112
112
  }
113
113
  export var StyledButton = /*#__PURE__*/styled.button.withConfig({
114
114
  displayName: "StyledButton",
115
- componentId: "core-12_44_0__sc-c5bhwh-3"
115
+ componentId: "core-12_46_0__sc-c5bhwh-3"
116
116
  })(["", ""], function (_ref2) {
117
117
  var $block = _ref2.$block,
118
118
  disabled = _ref2.disabled,
@@ -123,7 +123,7 @@ export var StyledButton = /*#__PURE__*/styled.button.withConfig({
123
123
  });
124
124
  export var StyledLinkButton = /*#__PURE__*/styled.a.withConfig({
125
125
  displayName: "StyledLinkButton",
126
- componentId: "core-12_44_0__sc-c5bhwh-4"
126
+ componentId: "core-12_46_0__sc-c5bhwh-4"
127
127
  })(["&,&:hover{text-decoration:none;}", ""], function (_ref3) {
128
128
  var $block = _ref3.$block,
129
129
  $disabled = _ref3.$disabled,