@procore/core-react 12.39.0 → 12.41.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 (255) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  3. package/dist/Avatar/Avatar.styles.js +5 -5
  4. package/dist/AvatarStack/AvatarStack.d.ts +1 -1
  5. package/dist/AvatarStack/AvatarStack.js +29 -6
  6. package/dist/AvatarStack/AvatarStack.js.map +1 -1
  7. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  8. package/dist/AvatarStack/AvatarStack.types.d.ts +7 -0
  9. package/dist/AvatarStack/AvatarStack.types.js.map +1 -1
  10. package/dist/Badge/Badge.styles.js +2 -2
  11. package/dist/BadgePill/BadgePill.styles.js +4 -4
  12. package/dist/Banner/Banner.styles.js +10 -10
  13. package/dist/Box/Box.styles.js +1 -1
  14. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  15. package/dist/Button/Button.styles.js +5 -5
  16. package/dist/Calendar/Calendar.styles.js +9 -9
  17. package/dist/Card/Card.styles.js +1 -1
  18. package/dist/Checkbox/Checkbox.styles.js +6 -6
  19. package/dist/ContactItem/ContactItem.styles.js +5 -5
  20. package/dist/Content/Content.styles.js +2 -2
  21. package/dist/DateInput/DateInput.styles.js +6 -6
  22. package/dist/DetailPage/DetailPage.styles.js +7 -7
  23. package/dist/Dropdown/Dropdown.styles.js +3 -3
  24. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  25. package/dist/Dropzone/Dropzone.js +1 -1
  26. package/dist/Dropzone/Dropzone.styles.js +10 -10
  27. package/dist/Dropzone/Dropzone.styles.js.map +1 -1
  28. package/dist/EmptyState/EmptyState.styles.js +6 -6
  29. package/dist/Field/Field.styles.js +3 -3
  30. package/dist/FileList/FileList.styles.js +3 -3
  31. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  32. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  33. package/dist/FileSelect/FileSelect.d.ts +8 -15
  34. package/dist/FileSelect/FileSelect.js +8 -15
  35. package/dist/FileSelect/FileSelect.js.map +1 -1
  36. package/dist/FileSelect/FileSelect.styles.js +2 -2
  37. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  38. package/dist/FileSelect/FileTokenList/FileTokenList.d.ts +8 -0
  39. package/dist/FileSelect/FileTokenList/FileTokenList.js +9 -0
  40. package/dist/FileSelect/FileTokenList/FileTokenList.js.map +1 -1
  41. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +3 -3
  42. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js.map +1 -1
  43. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  44. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  45. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  46. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  47. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  48. package/dist/FileToken/FileToken.js +6 -11
  49. package/dist/FileToken/FileToken.js.map +1 -1
  50. package/dist/FileToken/FileToken.styles.d.ts +2 -0
  51. package/dist/FileToken/FileToken.styles.js +14 -4
  52. package/dist/FileToken/FileToken.styles.js.map +1 -1
  53. package/dist/FilterToken/FilterToken.styles.js +5 -5
  54. package/dist/FlexList/FlexList.styles.js +1 -1
  55. package/dist/Form/Form.styles.js +13 -13
  56. package/dist/Form/StyledFormikForm.styles.js +2 -2
  57. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  58. package/dist/Grid/Grid.styles.js +2 -2
  59. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  60. package/dist/Input/Input.styles.js +1 -1
  61. package/dist/Link/Link.styles.js +1 -1
  62. package/dist/ListPage/ListPage.styles.js +8 -8
  63. package/dist/Loader/Loader.styles.js +2 -2
  64. package/dist/MenuImperative/MenuImperative.styles.js +11 -11
  65. package/dist/Modal/Modal.styles.js +13 -13
  66. package/dist/MultiSelect/MultiSelect.styles.js +8 -8
  67. package/dist/NextMenu/NextMenu.styles.js +3 -3
  68. package/dist/Notation/Notation.js +1 -1
  69. package/dist/NumberInput/NumberInput.styles.js +7 -7
  70. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  71. package/dist/PageLayout/PageLayout.styles.js +16 -16
  72. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  73. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  74. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  75. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  76. package/dist/Pagination/Pagination.styles.js +5 -5
  77. package/dist/Panel/Panel.d.ts +1 -2
  78. package/dist/Panel/Panel.js +27 -49
  79. package/dist/Panel/Panel.js.map +1 -1
  80. package/dist/Panel/Panel.styles.js +13 -13
  81. package/dist/Panel/Panel.styles.js.map +1 -1
  82. package/dist/Panel/Panel.types.d.ts +0 -14
  83. package/dist/Panel/Panel.types.js.map +1 -1
  84. package/dist/Pill/Pill.styles.js +3 -3
  85. package/dist/PillSelect/PillSelect.d.ts +2 -1
  86. package/dist/PillSelect/PillSelect.js +59 -41
  87. package/dist/PillSelect/PillSelect.js.map +1 -1
  88. package/dist/PillSelect/PillSelect.styles.js +4 -4
  89. package/dist/Popover/Popover.styles.js +2 -2
  90. package/dist/Portal/Portal.styles.js +1 -1
  91. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  92. package/dist/RadioButton/RadioButton.styles.js +3 -3
  93. package/dist/Required/Required.styles.js +3 -3
  94. package/dist/Search/Search.styles.js +5 -5
  95. package/dist/Section/Section.js +0 -1
  96. package/dist/Section/Section.js.map +1 -1
  97. package/dist/Section/Section.styles.js +7 -7
  98. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  99. package/dist/Select/Select.d.ts +2 -0
  100. package/dist/Select/Select.js +108 -79
  101. package/dist/Select/Select.js.map +1 -1
  102. package/dist/Select/Select.styles.js +8 -8
  103. package/dist/Semantic/Semantic.styles.js +9 -9
  104. package/dist/Slider/Slider.styles.js +5 -5
  105. package/dist/Spinner/Spinner.styles.js +7 -7
  106. package/dist/SplitViewCard/SplitViewCard.styles.js +10 -10
  107. package/dist/SplitViewCard/SplitViewCard.styles.js.map +1 -1
  108. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  109. package/dist/SuperSelect/SuperSelect.styles.js +38 -38
  110. package/dist/Switch/Switch.styles.js +4 -4
  111. package/dist/Table/Table.styles.js +28 -28
  112. package/dist/Table/Table.types.d.ts +5 -2
  113. package/dist/Table/Table.types.js.map +1 -1
  114. package/dist/TableShelf/TableShelf.styles.js +5 -5
  115. package/dist/Tabs/Tabs.js +23 -9
  116. package/dist/Tabs/Tabs.js.map +1 -1
  117. package/dist/Tabs/Tabs.styles.d.ts +2 -2
  118. package/dist/Tabs/Tabs.styles.js +26 -26
  119. package/dist/Tabs/Tabs.styles.js.map +1 -1
  120. package/dist/Tabs/Tabs.types.d.ts +6 -0
  121. package/dist/Tabs/Tabs.types.js.map +1 -1
  122. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  123. package/dist/TextArea/TextArea.styles.js +1 -1
  124. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  125. package/dist/Thumbnail/Thumbnail.js +126 -46
  126. package/dist/Thumbnail/Thumbnail.js.map +1 -1
  127. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  128. package/dist/Thumbnail/Thumbnail.types.d.ts +12 -0
  129. package/dist/Thumbnail/Thumbnail.types.js.map +1 -1
  130. package/dist/Thumbnail/Thumbnail.utils.d.ts +2 -0
  131. package/dist/Thumbnail/Thumbnail.utils.js +6 -0
  132. package/dist/Thumbnail/Thumbnail.utils.js.map +1 -1
  133. package/dist/Thumbnail/ThumbnailCaption.js +45 -52
  134. package/dist/Thumbnail/ThumbnailCaption.js.map +1 -1
  135. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  136. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  137. package/dist/Tile/Tile.styles.js +8 -8
  138. package/dist/Title/Title.styles.js +7 -7
  139. package/dist/Toast/Toast.styles.js +3 -3
  140. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  141. package/dist/Token/Token.styles.js +3 -3
  142. package/dist/ToolHeader/ToolHeader.js +3 -1
  143. package/dist/ToolHeader/ToolHeader.js.map +1 -1
  144. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  145. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  146. package/dist/Tooltip/Tooltip.styles.js +3 -3
  147. package/dist/Tree/Tree.js +1 -1
  148. package/dist/Tree/Tree.styles.js +10 -10
  149. package/dist/Typeahead/Typeahead.styles.js +3 -3
  150. package/dist/Typography/Typography.styles.js +1 -1
  151. package/dist/Typography/Typography.table.story.js +2 -2
  152. package/dist/_hooks/I18n.d.ts +25 -0
  153. package/dist/_locales/de-DE.json +2 -1
  154. package/dist/_locales/en-AU.json +2 -1
  155. package/dist/_locales/en-CA.json +2 -1
  156. package/dist/_locales/en-GB.json +2 -1
  157. package/dist/_locales/en.json +5 -1
  158. package/dist/_locales/es-ES.json +2 -1
  159. package/dist/_locales/es.json +2 -1
  160. package/dist/_locales/fr-CA.json +2 -1
  161. package/dist/_locales/fr-FR.json +2 -1
  162. package/dist/_locales/is-IS.json +2 -1
  163. package/dist/_locales/it-IT.json +2 -1
  164. package/dist/_locales/ja-JP.json +2 -1
  165. package/dist/_locales/pl-PL.json +2 -1
  166. package/dist/_locales/pseudo.json +5 -1
  167. package/dist/_locales/pt-BR.json +2 -1
  168. package/dist/_locales/pt-PT.json +4 -3
  169. package/dist/_locales/th-TH.json +2 -1
  170. package/dist/_locales/zh-SG.json +2 -1
  171. package/dist/_locales/zh-TW.json +2 -1
  172. package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
  173. package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
  174. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
  175. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  176. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +34 -24
  177. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  178. package/dist/_typedoc/Banner/Banner.types.json +15 -15
  179. package/dist/_typedoc/Box/Box.types.json +68 -68
  180. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  181. package/dist/_typedoc/Button/Button.types.json +13 -13
  182. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  183. package/dist/_typedoc/Card/Card.types.json +6 -6
  184. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
  185. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  186. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  187. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  188. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  189. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  190. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +31 -31
  191. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  192. package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
  193. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  194. package/dist/_typedoc/FileSelect/FileSelect.json +3 -3
  195. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  196. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  197. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  198. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  199. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  200. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  201. package/dist/_typedoc/Form/Form.types.json +760 -760
  202. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  203. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  204. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +54 -54
  205. package/dist/_typedoc/Input/Input.types.json +2 -2
  206. package/dist/_typedoc/Link/Link.types.json +1 -1
  207. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  208. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  209. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +77 -77
  210. package/dist/_typedoc/Modal/Modal.types.json +46 -46
  211. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +33 -33
  212. package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
  213. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  214. package/dist/_typedoc/NumberInput/NumberInput.types.json +48 -48
  215. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +33 -33
  216. package/dist/_typedoc/PageLayout/PageLayout.types.json +28 -28
  217. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  218. package/dist/_typedoc/Panel/Panel.types.json +27 -63
  219. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  220. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  221. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  222. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  223. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  224. package/dist/_typedoc/Required/Required.types.json +5 -5
  225. package/dist/_typedoc/Search/Search.types.json +18 -18
  226. package/dist/_typedoc/Section/Section.types.json +15 -15
  227. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  228. package/dist/_typedoc/Select/Select.types.json +67 -67
  229. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  230. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  231. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  232. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
  233. package/dist/_typedoc/Table/Table.types.json +102 -102
  234. package/dist/_typedoc/Tabs/Tabs.types.json +30 -20
  235. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  236. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  237. package/dist/_typedoc/TextEditor/TextEditor.types.json +11 -11
  238. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  239. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  240. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +43 -43
  241. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
  242. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  243. package/dist/_typedoc/Title/Title.types.json +1 -1
  244. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  245. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  246. package/dist/_typedoc/Token/Token.types.json +7 -7
  247. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  248. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +8 -8
  249. package/dist/_typedoc/Tooltip/Tooltip.types.json +15 -15
  250. package/dist/_typedoc/Tree/Tree.types.json +88 -88
  251. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  252. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  253. package/dist/_typedoc/_utils/types.json +3 -3
  254. package/dist/_typedoc/deprecations.json +1 -1
  255. package/package.json +3 -3
@@ -14,15 +14,22 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
14
14
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
15
15
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
16
16
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
17
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
18
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
20
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
21
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
22
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
17
23
  import { mergeProps } from '@react-aria/utils';
18
24
  import { VisuallyHidden } from '@react-aria/visually-hidden';
19
- import React from 'react';
25
+ import React, { useState } from 'react';
26
+ import { Tooltip } from '../Tooltip';
20
27
  import { useI18nContext } from '../_hooks/I18n';
21
28
  import { addSubcomponents } from '../_utils/addSubcomponents';
22
29
  import { mergeRefs } from '../_utils/mergeRefs';
23
30
  import { useThumbnail } from './Thumbnail.hooks';
24
31
  import { StyledFileIcon, StyledImageThumbnail, StyledImageThumbnailImage, StyledImageThumbnailOverlay, StyledLabel, StyledLabelText, StyledPlaceholderThumbnail, StyledThumbnailFigCaption, StyledThumbnailWrapper, StyledTickIcon } from './Thumbnail.styles';
25
- import { getThumbnailVariantForFilename } from './Thumbnail.utils';
32
+ import { getThumbnailAriaLabel, getThumbnailVariantForFilename } from './Thumbnail.utils';
26
33
  import { ThumbnailCaption } from './ThumbnailCaption';
27
34
  import { ThumbnailPreview } from './ThumbnailPreview';
28
35
  var defaultSize = 'lg';
@@ -77,19 +84,40 @@ function Label(_ref3) {
77
84
  weight: "bold"
78
85
  }, label));
79
86
  }
87
+ function ThumbnailCaptionTooltip(_ref4) {
88
+ var caption = _ref4.caption,
89
+ captionOverflowing = _ref4.captionOverflowing,
90
+ children = _ref4.children;
91
+ return /*#__PURE__*/React.createElement(Tooltip, {
92
+ overlay: /*#__PURE__*/React.createElement(Tooltip.Content, null, caption),
93
+ placement: "bottom",
94
+ trigger: captionOverflowing && caption ? ['hover', 'focus'] : 'none'
95
+ }, children);
96
+ }
80
97
  var BasePlaceholder = /*#__PURE__*/React.forwardRef(function BasePlaceholder(props, ref) {
81
98
  var _props$filename, _thumbnail$qa;
82
99
  var i18n = useI18nContext();
83
100
  var thumbnail = useThumbnail(props);
101
+ var _useState = useState(false),
102
+ _useState2 = _slicedToArray(_useState, 2),
103
+ captionOverflowing = _useState2[0],
104
+ setCaptionOverflowing = _useState2[1];
84
105
  var hasCaptionPlaceholder = props.hasCaptionPlaceholder,
85
106
  caption = props.caption,
86
107
  label = props.label,
87
108
  _disabled = props.disabled,
88
109
  wrapperProps = _objectWithoutProperties(props, _excluded);
89
- return /*#__PURE__*/React.createElement(StyledThumbnailWrapper, _extends({
110
+ var ariaLabel = getThumbnailAriaLabel(i18n, thumbnail.label, thumbnail.caption);
111
+ return /*#__PURE__*/React.createElement(ThumbnailCaptionTooltip, {
112
+ caption: thumbnail.caption,
113
+ captionOverflowing: captionOverflowing
114
+ }, /*#__PURE__*/React.createElement(StyledThumbnailWrapper, _extends({
90
115
  ref: ref,
91
116
  $layout: thumbnail.layout,
92
- $size: thumbnail.size
117
+ $size: thumbnail.size,
118
+ tabIndex: 0,
119
+ role: "group",
120
+ "aria-label": ariaLabel
93
121
  }, wrapperProps), /*#__PURE__*/React.createElement(StyledPlaceholderThumbnail, {
94
122
  $focused: thumbnail.focused,
95
123
  $disabled: thumbnail.disabled,
@@ -111,14 +139,19 @@ var BasePlaceholder = /*#__PURE__*/React.forwardRef(function BasePlaceholder(pro
111
139
  layout: thumbnail.layout,
112
140
  caption: thumbnail.caption,
113
141
  hasCaptionPlaceholder: thumbnail.hasCaptionPlaceholder,
114
- disabled: thumbnail.disabled
142
+ disabled: thumbnail.disabled,
143
+ onCaptionOverflowChange: setCaptionOverflowing
115
144
  }), thumbnail.disabled && !thumbnail.clickable && /*#__PURE__*/React.createElement(VisuallyHidden, null, i18n.t('core.thumbnail.unavailable', {
116
145
  defaultValue: 'Content is unavailable'
117
- })));
146
+ }))));
118
147
  });
119
148
  var FigurePlaceholder = /*#__PURE__*/React.forwardRef(function FigurePlaceholder(props, ref) {
120
149
  var _props$filename2, _thumbnail$qa2;
121
150
  var thumbnail = useThumbnail(props);
151
+ var _useState3 = useState(false),
152
+ _useState4 = _slicedToArray(_useState3, 2),
153
+ captionOverflowing = _useState4[0],
154
+ setCaptionOverflowing = _useState4[1];
122
155
  var hasCaptionPlaceholder = props.hasCaptionPlaceholder,
123
156
  caption = props.caption,
124
157
  label = props.label,
@@ -126,10 +159,17 @@ var FigurePlaceholder = /*#__PURE__*/React.forwardRef(function FigurePlaceholder
126
159
  _role = props.role,
127
160
  wrapperProps = _objectWithoutProperties(props, _excluded2);
128
161
  var i18n = useI18nContext();
129
- return /*#__PURE__*/React.createElement(StyledThumbnailWrapper, _extends({
162
+ var ariaLabel = getThumbnailAriaLabel(i18n, thumbnail.label, thumbnail.caption);
163
+ return /*#__PURE__*/React.createElement(ThumbnailCaptionTooltip, {
164
+ caption: thumbnail.caption,
165
+ captionOverflowing: captionOverflowing
166
+ }, /*#__PURE__*/React.createElement(StyledThumbnailWrapper, _extends({
130
167
  ref: ref,
131
168
  $layout: thumbnail.layout,
132
- $size: thumbnail.size
169
+ $size: thumbnail.size,
170
+ tabIndex: 0,
171
+ role: "group",
172
+ "aria-label": ariaLabel
133
173
  }, wrapperProps), /*#__PURE__*/React.createElement(StyledPlaceholderThumbnail, {
134
174
  $focused: thumbnail.focused,
135
175
  $disabled: thumbnail.disabled,
@@ -152,22 +192,23 @@ var FigurePlaceholder = /*#__PURE__*/React.forwardRef(function FigurePlaceholder
152
192
  layout: thumbnail.layout,
153
193
  caption: thumbnail.caption,
154
194
  hasCaptionPlaceholder: thumbnail.hasCaptionPlaceholder,
155
- disabled: thumbnail.disabled
195
+ disabled: thumbnail.disabled,
196
+ onCaptionOverflowChange: setCaptionOverflowing
156
197
  }), thumbnail.disabled && !thumbnail.clickable && /*#__PURE__*/React.createElement(VisuallyHidden, null, i18n.t('core.thumbnail.unavailable', {
157
198
  defaultValue: 'Content is unavailable'
158
- })));
199
+ }))));
159
200
  });
160
- var CheckboxPlaceholder = /*#__PURE__*/React.forwardRef(function CheckboxPlaceholder(_ref4, ref) {
201
+ var CheckboxPlaceholder = /*#__PURE__*/React.forwardRef(function CheckboxPlaceholder(_ref5, ref) {
161
202
  var _props$filename3, _thumbnail$qa3;
162
- var children = _ref4.children,
163
- as = _ref4.as,
164
- label = _ref4.label,
165
- name = _ref4.name,
166
- onChange = _ref4.onChange,
167
- role = _ref4.role,
168
- _qa = _ref4.qa,
169
- value = _ref4.value,
170
- props_ = _objectWithoutProperties(_ref4, _excluded3);
203
+ var children = _ref5.children,
204
+ as = _ref5.as,
205
+ label = _ref5.label,
206
+ name = _ref5.name,
207
+ onChange = _ref5.onChange,
208
+ role = _ref5.role,
209
+ _qa = _ref5.qa,
210
+ value = _ref5.value,
211
+ props_ = _objectWithoutProperties(_ref5, _excluded3);
171
212
  var props = _objectSpread(_objectSpread({}, props_), {}, {
172
213
  as: as,
173
214
  label: label,
@@ -179,13 +220,17 @@ var CheckboxPlaceholder = /*#__PURE__*/React.forwardRef(function CheckboxPlaceho
179
220
  defaultSelected: props_.defaultChecked
180
221
  });
181
222
  var thumbnail = useThumbnail(props);
223
+ var _useState5 = useState(false),
224
+ _useState6 = _slicedToArray(_useState5, 2),
225
+ captionOverflowing = _useState6[0],
226
+ setCaptionOverflowing = _useState6[1];
182
227
  var caption = props_.caption,
183
228
  hasCaptionPlaceholder = props_.hasCaptionPlaceholder,
184
229
  src = props_.src,
185
230
  wrapperProps = _objectWithoutProperties(props_, _excluded4);
186
231
  var isInputFocused = document.activeElement === thumbnail.inputRef.current;
187
232
  var i18n = useI18nContext();
188
- var ariaLabel = [thumbnail.label, thumbnail.caption].filter(Boolean).join(' ') || i18n.t('core.thumbnail.select');
233
+ var ariaLabel = getThumbnailAriaLabel(i18n, thumbnail.label, thumbnail.caption) || i18n.t('core.thumbnail.select');
189
234
  var preventSpaceOnDisabledThumbnail = function preventSpaceOnDisabledThumbnail(e) {
190
235
  if (e.key === ' ' && thumbnail.disabled) {
191
236
  e.preventDefault();
@@ -196,8 +241,10 @@ var CheckboxPlaceholder = /*#__PURE__*/React.forwardRef(function CheckboxPlaceho
196
241
  thumbnail.inputRef.current.focus();
197
242
  }
198
243
  }, [props.focused, thumbnail.inputRef]);
199
- return /*#__PURE__*/React.createElement(StyledThumbnailWrapper, _extends({
200
- ref: ref,
244
+ return /*#__PURE__*/React.createElement(ThumbnailCaptionTooltip, {
245
+ caption: thumbnail.caption,
246
+ captionOverflowing: captionOverflowing
247
+ }, /*#__PURE__*/React.createElement(StyledThumbnailWrapper, _extends({
201
248
  $layout: thumbnail.layout,
202
249
  $size: thumbnail.size
203
250
  }, wrapperProps, {
@@ -229,7 +276,8 @@ var CheckboxPlaceholder = /*#__PURE__*/React.forwardRef(function CheckboxPlaceho
229
276
  layout: thumbnail.layout,
230
277
  caption: thumbnail.caption,
231
278
  hasCaptionPlaceholder: thumbnail.hasCaptionPlaceholder,
232
- disabled: thumbnail.disabled
279
+ disabled: thumbnail.disabled,
280
+ onCaptionOverflowChange: setCaptionOverflowing
233
281
  }), /*#__PURE__*/React.createElement(VisuallyHidden, null, /*#__PURE__*/React.createElement("input", _extends({
234
282
  type: "checkbox",
235
283
  ref: mergeRefs(thumbnail.inputRef, ref),
@@ -237,7 +285,7 @@ var CheckboxPlaceholder = /*#__PURE__*/React.forwardRef(function CheckboxPlaceho
237
285
  }, mergeProps(thumbnail.inputProps, thumbnail.focusProps), {
238
286
  disabled: thumbnail.disabled,
239
287
  onKeyDown: preventSpaceOnDisabledThumbnail
240
- }))));
288
+ })))));
241
289
  });
242
290
  function PlaceholderInner(props, ref) {
243
291
  switch (props.role) {
@@ -265,14 +313,25 @@ var BaseThumbnail = /*#__PURE__*/React.forwardRef(function BaseThumbnail(props,
265
313
  var _thumbnail$filename, _thumbnail$qa4;
266
314
  var i18n = useI18nContext();
267
315
  var thumbnail = useThumbnail(props);
316
+ var _useState7 = useState(false),
317
+ _useState8 = _slicedToArray(_useState7, 2),
318
+ captionOverflowing = _useState8[0],
319
+ setCaptionOverflowing = _useState8[1];
268
320
  var hasCaptionPlaceholder = props.hasCaptionPlaceholder,
269
321
  _disabled = props.disabled,
270
322
  _role = props.role,
271
323
  wrapperProps = _objectWithoutProperties(props, _excluded5);
272
- return /*#__PURE__*/React.createElement(StyledThumbnailWrapper, _extends({
324
+ var ariaLabel = getThumbnailAriaLabel(i18n, thumbnail.label, thumbnail.caption);
325
+ return /*#__PURE__*/React.createElement(ThumbnailCaptionTooltip, {
326
+ caption: thumbnail.caption,
327
+ captionOverflowing: captionOverflowing
328
+ }, /*#__PURE__*/React.createElement(StyledThumbnailWrapper, _extends({
273
329
  ref: ref,
274
330
  $layout: thumbnail.layout,
275
- $size: thumbnail.size
331
+ $size: thumbnail.size,
332
+ tabIndex: 0,
333
+ role: "group",
334
+ "aria-label": ariaLabel
276
335
  }, wrapperProps), /*#__PURE__*/React.createElement(StyledImageThumbnail, {
277
336
  $focused: thumbnail.focused,
278
337
  $disabled: thumbnail.disabled,
@@ -300,18 +359,30 @@ var BaseThumbnail = /*#__PURE__*/React.forwardRef(function BaseThumbnail(props,
300
359
  caption: thumbnail.caption,
301
360
  hasCaptionPlaceholder: thumbnail.hasCaptionPlaceholder,
302
361
  disabled: thumbnail.disabled,
303
- error: thumbnail.error
362
+ error: thumbnail.error,
363
+ onCaptionOverflowChange: setCaptionOverflowing
304
364
  }), thumbnail.disabled && !thumbnail.clickable && /*#__PURE__*/React.createElement(VisuallyHidden, null, i18n.t('core.thumbnail.unavailable', {
305
365
  defaultValue: 'Content is unavailable'
306
- })));
366
+ }))));
307
367
  });
308
368
  var FigureThumbnail = /*#__PURE__*/React.forwardRef(function FigureThumbnail(props, ref) {
309
369
  var _thumbnail$filename2, _thumbnail$qa5;
310
370
  var i18n = useI18nContext();
311
371
  var thumbnail = useThumbnail(props);
312
- return /*#__PURE__*/React.createElement(StyledThumbnailWrapper, {
372
+ var _useState9 = useState(false),
373
+ _useState0 = _slicedToArray(_useState9, 2),
374
+ captionOverflowing = _useState0[0],
375
+ setCaptionOverflowing = _useState0[1];
376
+ var ariaLabel = getThumbnailAriaLabel(i18n, thumbnail.label, thumbnail.caption);
377
+ return /*#__PURE__*/React.createElement(ThumbnailCaptionTooltip, {
378
+ caption: thumbnail.caption,
379
+ captionOverflowing: captionOverflowing
380
+ }, /*#__PURE__*/React.createElement(StyledThumbnailWrapper, {
313
381
  $layout: thumbnail.layout,
314
- $size: thumbnail.size
382
+ $size: thumbnail.size,
383
+ tabIndex: 0,
384
+ role: "group",
385
+ "aria-label": ariaLabel
315
386
  }, /*#__PURE__*/React.createElement(StyledImageThumbnail, {
316
387
  ref: ref,
317
388
  $focused: thumbnail.focused,
@@ -341,22 +412,23 @@ var FigureThumbnail = /*#__PURE__*/React.forwardRef(function FigureThumbnail(pro
341
412
  caption: thumbnail.caption,
342
413
  hasCaptionPlaceholder: thumbnail.hasCaptionPlaceholder,
343
414
  disabled: thumbnail.disabled,
344
- error: thumbnail.error
415
+ error: thumbnail.error,
416
+ onCaptionOverflowChange: setCaptionOverflowing
345
417
  }), thumbnail.disabled && !thumbnail.clickable && /*#__PURE__*/React.createElement(VisuallyHidden, null, i18n.t('core.thumbnail.unavailable', {
346
418
  defaultValue: 'Content is unavailable'
347
- })));
419
+ }))));
348
420
  });
349
- var CheckboxThumbnail = /*#__PURE__*/React.forwardRef(function CheckboxThumbnail(_ref5, ref) {
421
+ var CheckboxThumbnail = /*#__PURE__*/React.forwardRef(function CheckboxThumbnail(_ref6, ref) {
350
422
  var _thumbnail$filename3, _thumbnail$qa6;
351
- var children = _ref5.children,
352
- as = _ref5.as,
353
- label = _ref5.label,
354
- name = _ref5.name,
355
- onChange = _ref5.onChange,
356
- role = _ref5.role,
357
- _qa = _ref5.qa,
358
- value = _ref5.value,
359
- props_ = _objectWithoutProperties(_ref5, _excluded6);
423
+ var children = _ref6.children,
424
+ as = _ref6.as,
425
+ label = _ref6.label,
426
+ name = _ref6.name,
427
+ onChange = _ref6.onChange,
428
+ role = _ref6.role,
429
+ _qa = _ref6.qa,
430
+ value = _ref6.value,
431
+ props_ = _objectWithoutProperties(_ref6, _excluded6);
360
432
  var props = _objectSpread(_objectSpread({}, props_), {}, {
361
433
  as: as,
362
434
  label: label,
@@ -369,6 +441,10 @@ var CheckboxThumbnail = /*#__PURE__*/React.forwardRef(function CheckboxThumbnail
369
441
  defaultSelected: props_.defaultChecked
370
442
  });
371
443
  var thumbnail = useThumbnail(props);
444
+ var _useState1 = useState(false),
445
+ _useState10 = _slicedToArray(_useState1, 2),
446
+ captionOverflowing = _useState10[0],
447
+ setCaptionOverflowing = _useState10[1];
372
448
  var caption = props_.caption,
373
449
  hasCaptionPlaceholder = props_.hasCaptionPlaceholder,
374
450
  src = props_.src,
@@ -385,7 +461,10 @@ var CheckboxThumbnail = /*#__PURE__*/React.forwardRef(function CheckboxThumbnail
385
461
  thumbnail.inputRef.current.focus();
386
462
  }
387
463
  }, [props.focused, thumbnail.inputRef]);
388
- return /*#__PURE__*/React.createElement(StyledThumbnailWrapper, _extends({
464
+ return /*#__PURE__*/React.createElement(ThumbnailCaptionTooltip, {
465
+ caption: thumbnail.caption,
466
+ captionOverflowing: captionOverflowing
467
+ }, /*#__PURE__*/React.createElement(StyledThumbnailWrapper, _extends({
389
468
  $layout: thumbnail.layout,
390
469
  $size: thumbnail.size
391
470
  }, wrapperProps, {
@@ -423,14 +502,15 @@ var CheckboxThumbnail = /*#__PURE__*/React.forwardRef(function CheckboxThumbnail
423
502
  caption: thumbnail.caption,
424
503
  hasCaptionPlaceholder: thumbnail.hasCaptionPlaceholder,
425
504
  disabled: thumbnail.disabled,
426
- error: props.error
505
+ error: props.error,
506
+ onCaptionOverflowChange: setCaptionOverflowing
427
507
  }), /*#__PURE__*/React.createElement(VisuallyHidden, null, /*#__PURE__*/React.createElement("input", _extends({
428
508
  ref: mergeRefs(thumbnail.inputRef, ref),
429
509
  type: 'checkbox'
430
510
  }, mergeProps(thumbnail.inputProps, thumbnail.focusProps), {
431
511
  disabled: thumbnail.disabled,
432
512
  onKeyDown: preventSpaceOnDisabledThumbnail
433
- }))));
513
+ })))));
434
514
  });
435
515
  function ThumbnailInner(props, ref) {
436
516
  var isFile = props.src instanceof File;
@@ -1 +1 @@
1
- {"version":3,"file":"Thumbnail.js","names":["mergeProps","VisuallyHidden","React","useI18nContext","addSubcomponents","mergeRefs","useThumbnail","StyledFileIcon","StyledImageThumbnail","StyledImageThumbnailImage","StyledImageThumbnailOverlay","StyledLabel","StyledLabelText","StyledPlaceholderThumbnail","StyledThumbnailFigCaption","StyledThumbnailWrapper","StyledTickIcon","getThumbnailVariantForFilename","ThumbnailCaption","ThumbnailPreview","defaultSize","TickIcon","_ref","_ref$size","size","selected","i18n","createElement","t","undefined","focusable","$selected","$size","width","height","viewBox","fill","xmlns","d","fillRule","clipRule","FigCaption","_ref2","label","disabled","$color","Label","_ref3","intent","weight","BasePlaceholder","forwardRef","props","ref","_props$filename","_thumbnail$qa","thumbnail","hasCaptionPlaceholder","caption","_disabled","wrapperProps","_objectWithoutProperties","_excluded","_extends","$layout","layout","$focused","focused","$disabled","$clickable","clickable","toggleState","isSelected","variant","filename","error","qa","multiline","defaultValue","FigurePlaceholder","_props$filename2","_thumbnail$qa2","_role","role","_excluded2","as","CheckboxPlaceholder","_ref4","_props$filename3","_thumbnail$qa3","children","name","onChange","_qa","value","props_","_excluded3","_objectSpread","isDisabled","checked","defaultSelected","defaultChecked","src","_excluded4","isInputFocused","document","activeElement","inputRef","current","ariaLabel","filter","Boolean","join","preventSpaceOnDisabledThumbnail","e","key","preventDefault","useEffect","focus","onClick","_thumbnail$onClick","toggle","call","type","inputProps","focusProps","onKeyDown","PlaceholderInner","BaseThumbnail","_thumbnail$filename","_thumbnail$qa4","_excluded5","isImageURL","shouldUsePlaceholder","alt","file","FigureThumbnail","_thumbnail$filename2","_thumbnail$qa5","CheckboxThumbnail","_ref5","_thumbnail$filename3","_thumbnail$qa6","_excluded6","_excluded7","_thumbnail$onClick2","ThumbnailInner","isFile","File","console","warn","Thumbnail_","Placeholder","displayName","Thumbnail"],"sources":["../../src/Thumbnail/Thumbnail.tsx"],"sourcesContent":["import { mergeProps } from '@react-aria/utils'\nimport { VisuallyHidden } from '@react-aria/visually-hidden'\nimport React from 'react'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport { useThumbnail } from './Thumbnail.hooks'\nimport {\n StyledFileIcon,\n StyledImageThumbnail,\n StyledImageThumbnailImage,\n StyledImageThumbnailOverlay,\n StyledLabel,\n StyledLabelText,\n StyledPlaceholderThumbnail,\n StyledThumbnailFigCaption,\n StyledThumbnailWrapper,\n StyledTickIcon,\n} from './Thumbnail.styles'\nimport type {\n BasePlaceholderProps,\n BaseThumbnailProps,\n LabelProps,\n PlaceholderProps,\n ThumbnailProps,\n ThumbnailRef,\n ThumbnailRoles,\n ThumbnailRoleType,\n TickIconProps,\n} from './Thumbnail.types'\nimport { getThumbnailVariantForFilename } from './Thumbnail.utils'\nimport { ThumbnailCaption } from './ThumbnailCaption'\nimport { ThumbnailPreview } from './ThumbnailPreview'\n\nconst defaultSize = 'lg'\n\nfunction TickIcon({ size = defaultSize, selected }: TickIconProps) {\n const i18n = useI18nContext()\n return (\n <StyledTickIcon\n aria-hidden={selected ? false : true}\n aria-label={selected ? i18n.t('core.thumbnail.checked') : undefined}\n // in IE11, all svg element are focusable by default\n focusable={false}\n $selected={selected}\n $size={size}\n width=\"26\"\n height=\"26\"\n viewBox=\"0 0 26 26\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1 13C1 6.37258 6.37258 1 13 1C19.6274 1 25 6.37258 25 13C25 19.6274 19.6274 25 13 25C6.37258 25 1 19.6274 1 13Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.167 17.5L7 13.459L8.6155 12.0535L11.167 14.5285L17.3845 8.5L19 9.9055L11.167 17.5ZM13 1C6.3715 1 1 6.373 1 13C1 19.627 6.3715 25 13 25C19.627 25 25 19.627 25 13C25 6.373 19.627 1 13 1Z\"\n fill=\"hsl(218,75%,50%)\"\n />\n <path\n d=\"M13 24C6.92487 24 2 19.0751 2 13H0C0 20.1797 5.8203 26 13 26V24ZM24 13C24 19.0751 19.0751 24 13 24V26C20.1797 26 26 20.1797 26 13H24ZM13 2C19.0751 2 24 6.92487 24 13H26C26 5.8203 20.1797 0 13 0V2ZM13 0C5.8203 0 0 5.8203 0 13H2C2 6.92487 6.92487 2 13 2V0Z\"\n fill=\"white\"\n />\n </StyledTickIcon>\n )\n}\n\nfunction FigCaption({ label, disabled }: LabelProps) {\n if (!label) {\n return null\n }\n\n return (\n <StyledThumbnailFigCaption $color={disabled ? 'gray70' : 'gray15'}>\n {label}\n </StyledThumbnailFigCaption>\n )\n}\n\nfunction Label({ label }: LabelProps) {\n if (!label) {\n return null\n }\n\n return (\n <StyledLabel>\n <StyledLabelText intent=\"small\" weight=\"bold\">\n {label}\n </StyledLabelText>\n </StyledLabel>\n )\n}\n\nconst BasePlaceholder = React.forwardRef<\n HTMLDivElement,\n PlaceholderProps<undefined>\n>(function BasePlaceholder(\n props: PlaceholderProps<undefined>,\n ref: ThumbnailRef<undefined>\n) {\n const i18n = useI18nContext()\n const thumbnail = useThumbnail(props)\n const {\n hasCaptionPlaceholder,\n caption,\n label,\n disabled: _disabled,\n ...wrapperProps\n } = props\n return (\n <StyledThumbnailWrapper\n ref={ref}\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n {...wrapperProps}\n >\n <StyledPlaceholderThumbnail\n $focused={thumbnail.focused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n >\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n <StyledFileIcon\n variant={\n props.variant ||\n getThumbnailVariantForFilename(props.filename ?? '')\n }\n />\n {thumbnail.size === 'lg' && (\n <Label label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledPlaceholderThumbnail>\n <ThumbnailCaption\n error={thumbnail.error}\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n />\n {thumbnail.disabled && !thumbnail.clickable && (\n <VisuallyHidden>\n {i18n.t('core.thumbnail.unavailable', {\n defaultValue: 'Content is unavailable',\n })}\n </VisuallyHidden>\n )}\n </StyledThumbnailWrapper>\n )\n})\n\nconst FigurePlaceholder = React.forwardRef<\n HTMLElement,\n PlaceholderProps<'figure'>\n>(function FigurePlaceholder(\n props: PlaceholderProps<'figure'>,\n ref: ThumbnailRef<'figure'>\n) {\n const thumbnail = useThumbnail(props)\n const {\n hasCaptionPlaceholder,\n caption,\n label,\n disabled: _disabled,\n role: _role,\n ...wrapperProps\n } = props\n const i18n = useI18nContext()\n return (\n <StyledThumbnailWrapper\n ref={ref}\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n {...wrapperProps}\n >\n <StyledPlaceholderThumbnail\n $focused={thumbnail.focused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n as={thumbnail.as}\n >\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n <StyledFileIcon\n variant={\n props.variant ||\n getThumbnailVariantForFilename(props.filename ?? '')\n }\n />\n {thumbnail.size === 'lg' && (\n <FigCaption label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledPlaceholderThumbnail>\n <ThumbnailCaption\n error={thumbnail.error}\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n />\n {thumbnail.disabled && !thumbnail.clickable && (\n <VisuallyHidden>\n {i18n.t('core.thumbnail.unavailable', {\n defaultValue: 'Content is unavailable',\n })}\n </VisuallyHidden>\n )}\n </StyledThumbnailWrapper>\n )\n})\n\nconst CheckboxPlaceholder = React.forwardRef<\n HTMLInputElement,\n ThumbnailProps<'checkbox'>\n>(function CheckboxPlaceholder(\n { children, as, label, name, onChange, role, qa: _qa, value, ...props_ },\n ref\n) {\n const props = {\n ...props_,\n as,\n label,\n onChange,\n role,\n value,\n isDisabled: props_.disabled,\n isSelected: props_.checked,\n defaultSelected: props_.defaultChecked,\n }\n const thumbnail = useThumbnail(props)\n const { caption, hasCaptionPlaceholder, src, ...wrapperProps } = props_\n const isInputFocused = document.activeElement === thumbnail.inputRef.current\n\n const i18n = useI18nContext()\n const ariaLabel =\n [thumbnail.label, thumbnail.caption].filter(Boolean).join(' ') ||\n i18n.t('core.thumbnail.select')\n\n const preventSpaceOnDisabledThumbnail = (e: React.KeyboardEvent) => {\n if (e.key === ' ' && thumbnail.disabled) {\n e.preventDefault()\n }\n }\n\n React.useEffect(() => {\n if (props.focused && thumbnail.inputRef.current) {\n thumbnail.inputRef.current.focus()\n }\n }, [props.focused, thumbnail.inputRef])\n\n return (\n <StyledThumbnailWrapper\n ref={ref}\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n {...wrapperProps}\n onClick={(e: React.MouseEvent) => {\n if (!thumbnail.disabled) {\n thumbnail.toggleState.toggle()\n thumbnail.onClick?.(e)\n }\n }}\n >\n <StyledPlaceholderThumbnail\n $focused={thumbnail.focused || isInputFocused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n >\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n <StyledFileIcon\n variant={\n props.variant ||\n getThumbnailVariantForFilename(props.filename ?? '')\n }\n />\n {thumbnail.size === 'lg' && (\n <Label label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledPlaceholderThumbnail>\n <ThumbnailCaption\n error={thumbnail.error}\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n />\n <VisuallyHidden>\n <input\n type=\"checkbox\"\n ref={mergeRefs(thumbnail.inputRef, ref)}\n aria-label={ariaLabel}\n {...mergeProps(thumbnail.inputProps, thumbnail.focusProps)}\n disabled={thumbnail.disabled}\n onKeyDown={preventSpaceOnDisabledThumbnail}\n />\n </VisuallyHidden>\n </StyledThumbnailWrapper>\n )\n})\n\nfunction PlaceholderInner(\n props: PlaceholderProps<ThumbnailRoleType>,\n ref: ThumbnailRef<ThumbnailRoleType>\n) {\n switch (props.role) {\n case 'checkbox': {\n return (\n <CheckboxPlaceholder\n ref={ref as React.Ref<HTMLInputElement>}\n {...(props as PlaceholderProps<'checkbox'>)}\n />\n )\n }\n case 'figure': {\n return (\n <FigurePlaceholder\n ref={ref as React.Ref<HTMLElement>}\n {...(props as PlaceholderProps<'figure'>)}\n />\n )\n }\n default: {\n return (\n <BasePlaceholder\n ref={ref as React.Ref<HTMLDivElement>}\n {...(props as PlaceholderProps<undefined>)}\n />\n )\n }\n }\n}\n\nconst BaseThumbnail = React.forwardRef<\n HTMLDivElement,\n ThumbnailProps<undefined>\n>(function BaseThumbnail(\n props: ThumbnailProps<undefined>,\n ref: ThumbnailRef<undefined>\n) {\n const i18n = useI18nContext()\n const thumbnail = useThumbnail(props)\n const {\n hasCaptionPlaceholder,\n disabled: _disabled,\n role: _role,\n ...wrapperProps\n } = props\n return (\n <StyledThumbnailWrapper\n ref={ref}\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n {...wrapperProps}\n >\n <StyledImageThumbnail\n $focused={thumbnail.focused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n >\n {thumbnail.isImageURL && !thumbnail.shouldUsePlaceholder ? (\n <StyledImageThumbnailImage\n src={thumbnail.src as string}\n alt={thumbnail.alt}\n />\n ) : (\n <ThumbnailPreview\n file={thumbnail.src as File}\n aria-label={thumbnail.alt}\n />\n )}\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n {thumbnail.shouldUsePlaceholder && (\n <StyledFileIcon\n variant={\n thumbnail.variant ||\n getThumbnailVariantForFilename(thumbnail.filename ?? '')\n }\n />\n )}\n {thumbnail.size === 'lg' && (\n <Label label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledImageThumbnail>\n <ThumbnailCaption\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n error={thumbnail.error}\n />\n {thumbnail.disabled && !thumbnail.clickable && (\n <VisuallyHidden>\n {i18n.t('core.thumbnail.unavailable', {\n defaultValue: 'Content is unavailable',\n })}\n </VisuallyHidden>\n )}\n </StyledThumbnailWrapper>\n )\n})\n\nconst FigureThumbnail = React.forwardRef<HTMLElement, ThumbnailProps<'figure'>>(\n function FigureThumbnail(\n props: ThumbnailProps<'figure'>,\n ref: ThumbnailRef<'figure'>\n ) {\n const i18n = useI18nContext()\n const thumbnail = useThumbnail(props)\n return (\n <StyledThumbnailWrapper $layout={thumbnail.layout} $size={thumbnail.size}>\n <StyledImageThumbnail\n ref={ref}\n $focused={thumbnail.focused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n as={thumbnail.as}\n >\n {thumbnail.isImageURL && !thumbnail.shouldUsePlaceholder ? (\n <StyledImageThumbnailImage\n src={thumbnail.src as string}\n alt={thumbnail.alt}\n />\n ) : (\n <ThumbnailPreview\n file={thumbnail.src as File}\n aria-label={thumbnail.alt}\n />\n )}\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n {thumbnail.shouldUsePlaceholder && (\n <StyledFileIcon\n variant={\n thumbnail.variant ||\n getThumbnailVariantForFilename(thumbnail.filename ?? '')\n }\n />\n )}\n {thumbnail.size === 'lg' && (\n <FigCaption label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledImageThumbnail>\n <ThumbnailCaption\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n error={thumbnail.error}\n />\n {thumbnail.disabled && !thumbnail.clickable && (\n <VisuallyHidden>\n {i18n.t('core.thumbnail.unavailable', {\n defaultValue: 'Content is unavailable',\n })}\n </VisuallyHidden>\n )}\n </StyledThumbnailWrapper>\n )\n }\n)\n\nconst CheckboxThumbnail = React.forwardRef<\n HTMLInputElement,\n ThumbnailProps<'checkbox'>\n>(function CheckboxThumbnail(\n { children, as, label, name, onChange, role, qa: _qa, value, ...props_ },\n ref\n) {\n const props = {\n ...props_,\n as,\n label,\n name,\n onChange,\n role,\n value,\n isDisabled: props_.disabled,\n isSelected: props_.checked,\n defaultSelected: props_.defaultChecked,\n }\n const thumbnail = useThumbnail(props)\n const {\n caption,\n hasCaptionPlaceholder,\n src,\n disabled: _disabled,\n ...wrapperProps\n } = props_\n const isInputFocused = document.activeElement === thumbnail.inputRef.current\n\n const preventSpaceOnDisabledThumbnail = (\n e: React.KeyboardEvent<HTMLInputElement>\n ) => {\n if (e.key === ' ' && thumbnail.disabled) {\n e.preventDefault()\n }\n }\n\n React.useEffect(() => {\n if (props.focused && thumbnail.inputRef.current) {\n thumbnail.inputRef.current.focus()\n }\n }, [props.focused, thumbnail.inputRef])\n\n return (\n <StyledThumbnailWrapper\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n {...wrapperProps}\n onClick={(e: React.MouseEvent) => {\n if (!thumbnail.disabled) {\n thumbnail.toggleState.toggle()\n thumbnail.onClick?.(e)\n }\n }}\n >\n <StyledImageThumbnail\n $focused={thumbnail.focused || isInputFocused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n >\n {thumbnail.isImageURL && !thumbnail.shouldUsePlaceholder ? (\n <StyledImageThumbnailImage\n src={thumbnail.src as string}\n alt={thumbnail.alt}\n />\n ) : (\n <ThumbnailPreview\n file={thumbnail.src as File}\n aria-label={thumbnail.alt}\n />\n )}\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n {thumbnail.shouldUsePlaceholder && (\n <StyledFileIcon\n variant={\n thumbnail.variant ||\n getThumbnailVariantForFilename(thumbnail.filename ?? '')\n }\n />\n )}\n {thumbnail.size === 'lg' && (\n <Label label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledImageThumbnail>\n <ThumbnailCaption\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n error={props.error}\n />\n <VisuallyHidden>\n <input\n ref={mergeRefs(thumbnail.inputRef, ref)}\n type={'checkbox'}\n {...mergeProps(thumbnail.inputProps, thumbnail.focusProps)}\n disabled={thumbnail.disabled}\n onKeyDown={preventSpaceOnDisabledThumbnail}\n />\n </VisuallyHidden>\n </StyledThumbnailWrapper>\n )\n})\n\nfunction ThumbnailInner(\n props: ThumbnailProps<ThumbnailRoleType>,\n ref: ThumbnailRef<ThumbnailRoleType>\n) {\n const isFile = props.src instanceof File\n const isImageURL = typeof props.src === 'string'\n\n if (!isFile && !isImageURL) {\n console.warn('Unknown Thumbnail source:', props.src)\n }\n\n switch (props.role) {\n case 'checkbox': {\n return (\n <CheckboxThumbnail\n ref={ref as React.Ref<HTMLInputElement>}\n {...(props as ThumbnailProps<'checkbox'>)}\n />\n )\n }\n case 'figure': {\n return (\n <FigureThumbnail\n ref={ref as React.Ref<HTMLElement>}\n {...(props as ThumbnailProps<'figure'>)}\n />\n )\n }\n default: {\n return (\n <BaseThumbnail\n ref={ref as React.Ref<HTMLDivElement>}\n {...(props as PlaceholderProps<undefined>)}\n />\n )\n }\n }\n}\n\nconst Thumbnail_ = React.forwardRef(ThumbnailInner) as <\n Role extends ThumbnailRoles\n>(\n props:\n | ThumbnailProps<Role>\n | (BaseThumbnailProps & { ref?: ThumbnailRef<Role> })\n) => ReturnType<typeof ThumbnailInner>\n\nconst Placeholder = React.forwardRef(PlaceholderInner) as <\n Role extends ThumbnailRoles\n>(\n props:\n | PlaceholderProps<Role>\n | (BasePlaceholderProps & { ref?: ThumbnailRef<Role> })\n) => ReturnType<typeof PlaceholderInner>\n\n// @ts-ignore\nPlaceholder.displayName = 'Thumbnail.Placeholder'\n\n// @ts-ignore\nThumbnail_.displayName = 'Thumbnail'\n\n/**\n\n We use thumbnails to display previews for images or files as either a smaller\n version of an uploaded image, or an icon representing the file type. If an\n image preview can be generated from the file (in the case of images) then\n display that image.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-thumbnail--demo-thumbnail)\n\n @see [Design Guidelines](https://design.procore.com/thumbnail)\n\n */\nexport const Thumbnail = addSubcomponents({ Placeholder }, Thumbnail_)\n"],"mappings":"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"}
1
+ {"version":3,"file":"Thumbnail.js","names":["mergeProps","VisuallyHidden","React","useState","Tooltip","useI18nContext","addSubcomponents","mergeRefs","useThumbnail","StyledFileIcon","StyledImageThumbnail","StyledImageThumbnailImage","StyledImageThumbnailOverlay","StyledLabel","StyledLabelText","StyledPlaceholderThumbnail","StyledThumbnailFigCaption","StyledThumbnailWrapper","StyledTickIcon","getThumbnailAriaLabel","getThumbnailVariantForFilename","ThumbnailCaption","ThumbnailPreview","defaultSize","TickIcon","_ref","_ref$size","size","selected","i18n","createElement","t","undefined","focusable","$selected","$size","width","height","viewBox","fill","xmlns","d","fillRule","clipRule","FigCaption","_ref2","label","disabled","$color","Label","_ref3","intent","weight","ThumbnailCaptionTooltip","_ref4","caption","captionOverflowing","children","overlay","Content","placement","trigger","BasePlaceholder","forwardRef","props","ref","_props$filename","_thumbnail$qa","thumbnail","_useState","_useState2","_slicedToArray","setCaptionOverflowing","hasCaptionPlaceholder","_disabled","wrapperProps","_objectWithoutProperties","_excluded","ariaLabel","_extends","$layout","layout","tabIndex","role","$focused","focused","$disabled","$clickable","clickable","toggleState","isSelected","variant","filename","error","qa","multiline","onCaptionOverflowChange","defaultValue","FigurePlaceholder","_props$filename2","_thumbnail$qa2","_useState3","_useState4","_role","_excluded2","as","CheckboxPlaceholder","_ref5","_props$filename3","_thumbnail$qa3","name","onChange","_qa","value","props_","_excluded3","_objectSpread","isDisabled","checked","defaultSelected","defaultChecked","_useState5","_useState6","src","_excluded4","isInputFocused","document","activeElement","inputRef","current","preventSpaceOnDisabledThumbnail","e","key","preventDefault","useEffect","focus","onClick","_thumbnail$onClick","toggle","call","type","inputProps","focusProps","onKeyDown","PlaceholderInner","BaseThumbnail","_thumbnail$filename","_thumbnail$qa4","_useState7","_useState8","_excluded5","isImageURL","shouldUsePlaceholder","alt","file","FigureThumbnail","_thumbnail$filename2","_thumbnail$qa5","_useState9","_useState0","CheckboxThumbnail","_ref6","_thumbnail$filename3","_thumbnail$qa6","_excluded6","_useState1","_useState10","_excluded7","_thumbnail$onClick2","ThumbnailInner","isFile","File","console","warn","Thumbnail_","Placeholder","displayName","Thumbnail"],"sources":["../../src/Thumbnail/Thumbnail.tsx"],"sourcesContent":["import { mergeProps } from '@react-aria/utils'\nimport { VisuallyHidden } from '@react-aria/visually-hidden'\nimport React, { useState } from 'react'\nimport { Tooltip } from '../Tooltip'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport { useThumbnail } from './Thumbnail.hooks'\nimport {\n StyledFileIcon,\n StyledImageThumbnail,\n StyledImageThumbnailImage,\n StyledImageThumbnailOverlay,\n StyledLabel,\n StyledLabelText,\n StyledPlaceholderThumbnail,\n StyledThumbnailFigCaption,\n StyledThumbnailWrapper,\n StyledTickIcon,\n} from './Thumbnail.styles'\nimport type {\n BasePlaceholderProps,\n BaseThumbnailProps,\n LabelProps,\n PlaceholderProps,\n ThumbnailProps,\n ThumbnailRef,\n ThumbnailRoles,\n ThumbnailRoleType,\n TickIconProps,\n} from './Thumbnail.types'\nimport {\n getThumbnailAriaLabel,\n getThumbnailVariantForFilename,\n} from './Thumbnail.utils'\nimport { ThumbnailCaption } from './ThumbnailCaption'\nimport { ThumbnailPreview } from './ThumbnailPreview'\n\nconst defaultSize = 'lg'\n\nfunction TickIcon({ size = defaultSize, selected }: TickIconProps) {\n const i18n = useI18nContext()\n return (\n <StyledTickIcon\n aria-hidden={selected ? false : true}\n aria-label={selected ? i18n.t('core.thumbnail.checked') : undefined}\n // in IE11, all svg element are focusable by default\n focusable={false}\n $selected={selected}\n $size={size}\n width=\"26\"\n height=\"26\"\n viewBox=\"0 0 26 26\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1 13C1 6.37258 6.37258 1 13 1C19.6274 1 25 6.37258 25 13C25 19.6274 19.6274 25 13 25C6.37258 25 1 19.6274 1 13Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.167 17.5L7 13.459L8.6155 12.0535L11.167 14.5285L17.3845 8.5L19 9.9055L11.167 17.5ZM13 1C6.3715 1 1 6.373 1 13C1 19.627 6.3715 25 13 25C19.627 25 25 19.627 25 13C25 6.373 19.627 1 13 1Z\"\n fill=\"hsl(218,75%,50%)\"\n />\n <path\n d=\"M13 24C6.92487 24 2 19.0751 2 13H0C0 20.1797 5.8203 26 13 26V24ZM24 13C24 19.0751 19.0751 24 13 24V26C20.1797 26 26 20.1797 26 13H24ZM13 2C19.0751 2 24 6.92487 24 13H26C26 5.8203 20.1797 0 13 0V2ZM13 0C5.8203 0 0 5.8203 0 13H2C2 6.92487 6.92487 2 13 2V0Z\"\n fill=\"white\"\n />\n </StyledTickIcon>\n )\n}\n\nfunction FigCaption({ label, disabled }: LabelProps) {\n if (!label) {\n return null\n }\n\n return (\n <StyledThumbnailFigCaption $color={disabled ? 'gray70' : 'gray15'}>\n {label}\n </StyledThumbnailFigCaption>\n )\n}\n\nfunction Label({ label }: LabelProps) {\n if (!label) {\n return null\n }\n\n return (\n <StyledLabel>\n <StyledLabelText intent=\"small\" weight=\"bold\">\n {label}\n </StyledLabelText>\n </StyledLabel>\n )\n}\n\nfunction ThumbnailCaptionTooltip({\n caption,\n captionOverflowing,\n children,\n}: {\n caption: string | undefined\n captionOverflowing: boolean\n children: React.ReactNode\n}) {\n return (\n <Tooltip\n overlay={<Tooltip.Content>{caption}</Tooltip.Content>}\n placement=\"bottom\"\n trigger={captionOverflowing && caption ? ['hover', 'focus'] : 'none'}\n >\n {children}\n </Tooltip>\n )\n}\n\nconst BasePlaceholder = React.forwardRef<\n HTMLDivElement,\n PlaceholderProps<undefined>\n>(function BasePlaceholder(\n props: PlaceholderProps<undefined>,\n ref: ThumbnailRef<undefined>\n) {\n const i18n = useI18nContext()\n const thumbnail = useThumbnail(props)\n const [captionOverflowing, setCaptionOverflowing] = useState(false)\n const {\n hasCaptionPlaceholder,\n caption,\n label,\n disabled: _disabled,\n ...wrapperProps\n } = props\n const ariaLabel = getThumbnailAriaLabel(\n i18n,\n thumbnail.label,\n thumbnail.caption\n )\n\n return (\n <ThumbnailCaptionTooltip\n caption={thumbnail.caption}\n captionOverflowing={captionOverflowing}\n >\n <StyledThumbnailWrapper\n ref={ref}\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n tabIndex={0}\n role=\"group\"\n aria-label={ariaLabel}\n {...wrapperProps}\n >\n <StyledPlaceholderThumbnail\n $focused={thumbnail.focused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n >\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n <StyledFileIcon\n variant={\n props.variant ||\n getThumbnailVariantForFilename(props.filename ?? '')\n }\n />\n {thumbnail.size === 'lg' && (\n <Label label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledPlaceholderThumbnail>\n <ThumbnailCaption\n error={thumbnail.error}\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n onCaptionOverflowChange={setCaptionOverflowing}\n />\n {thumbnail.disabled && !thumbnail.clickable && (\n <VisuallyHidden>\n {i18n.t('core.thumbnail.unavailable', {\n defaultValue: 'Content is unavailable',\n })}\n </VisuallyHidden>\n )}\n </StyledThumbnailWrapper>\n </ThumbnailCaptionTooltip>\n )\n})\n\nconst FigurePlaceholder = React.forwardRef<\n HTMLElement,\n PlaceholderProps<'figure'>\n>(function FigurePlaceholder(\n props: PlaceholderProps<'figure'>,\n ref: ThumbnailRef<'figure'>\n) {\n const thumbnail = useThumbnail(props)\n const [captionOverflowing, setCaptionOverflowing] = useState(false)\n const {\n hasCaptionPlaceholder,\n caption,\n label,\n disabled: _disabled,\n role: _role,\n ...wrapperProps\n } = props\n const i18n = useI18nContext()\n const ariaLabel = getThumbnailAriaLabel(\n i18n,\n thumbnail.label,\n thumbnail.caption\n )\n return (\n <ThumbnailCaptionTooltip\n caption={thumbnail.caption}\n captionOverflowing={captionOverflowing}\n >\n <StyledThumbnailWrapper\n ref={ref}\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n tabIndex={0}\n role=\"group\"\n aria-label={ariaLabel}\n {...wrapperProps}\n >\n <StyledPlaceholderThumbnail\n $focused={thumbnail.focused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n as={thumbnail.as}\n >\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n <StyledFileIcon\n variant={\n props.variant ||\n getThumbnailVariantForFilename(props.filename ?? '')\n }\n />\n {thumbnail.size === 'lg' && (\n <FigCaption label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledPlaceholderThumbnail>\n <ThumbnailCaption\n error={thumbnail.error}\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n onCaptionOverflowChange={setCaptionOverflowing}\n />\n {thumbnail.disabled && !thumbnail.clickable && (\n <VisuallyHidden>\n {i18n.t('core.thumbnail.unavailable', {\n defaultValue: 'Content is unavailable',\n })}\n </VisuallyHidden>\n )}\n </StyledThumbnailWrapper>\n </ThumbnailCaptionTooltip>\n )\n})\n\nconst CheckboxPlaceholder = React.forwardRef<\n HTMLInputElement,\n ThumbnailProps<'checkbox'>\n>(function CheckboxPlaceholder(\n { children, as, label, name, onChange, role, qa: _qa, value, ...props_ },\n ref\n) {\n const props = {\n ...props_,\n as,\n label,\n onChange,\n role,\n value,\n isDisabled: props_.disabled,\n isSelected: props_.checked,\n defaultSelected: props_.defaultChecked,\n }\n const thumbnail = useThumbnail(props)\n const [captionOverflowing, setCaptionOverflowing] = useState(false)\n const { caption, hasCaptionPlaceholder, src, ...wrapperProps } = props_\n const isInputFocused = document.activeElement === thumbnail.inputRef.current\n\n const i18n = useI18nContext()\n const ariaLabel =\n getThumbnailAriaLabel(i18n, thumbnail.label, thumbnail.caption) ||\n i18n.t('core.thumbnail.select')\n\n const preventSpaceOnDisabledThumbnail = (e: React.KeyboardEvent) => {\n if (e.key === ' ' && thumbnail.disabled) {\n e.preventDefault()\n }\n }\n\n React.useEffect(() => {\n if (props.focused && thumbnail.inputRef.current) {\n thumbnail.inputRef.current.focus()\n }\n }, [props.focused, thumbnail.inputRef])\n\n return (\n <ThumbnailCaptionTooltip\n caption={thumbnail.caption}\n captionOverflowing={captionOverflowing}\n >\n <StyledThumbnailWrapper\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n {...wrapperProps}\n onClick={(e: React.MouseEvent) => {\n if (!thumbnail.disabled) {\n thumbnail.toggleState.toggle()\n thumbnail.onClick?.(e)\n }\n }}\n >\n <StyledPlaceholderThumbnail\n $focused={thumbnail.focused || isInputFocused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n >\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n <StyledFileIcon\n variant={\n props.variant ||\n getThumbnailVariantForFilename(props.filename ?? '')\n }\n />\n {thumbnail.size === 'lg' && (\n <Label label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledPlaceholderThumbnail>\n <ThumbnailCaption\n error={thumbnail.error}\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n onCaptionOverflowChange={setCaptionOverflowing}\n />\n <VisuallyHidden>\n <input\n type=\"checkbox\"\n ref={mergeRefs(thumbnail.inputRef, ref)}\n aria-label={ariaLabel}\n {...mergeProps(thumbnail.inputProps, thumbnail.focusProps)}\n disabled={thumbnail.disabled}\n onKeyDown={preventSpaceOnDisabledThumbnail}\n />\n </VisuallyHidden>\n </StyledThumbnailWrapper>\n </ThumbnailCaptionTooltip>\n )\n})\n\nfunction PlaceholderInner(\n props: PlaceholderProps<ThumbnailRoleType>,\n ref: ThumbnailRef<ThumbnailRoleType>\n) {\n switch (props.role) {\n case 'checkbox': {\n return (\n <CheckboxPlaceholder\n ref={ref as React.Ref<HTMLInputElement>}\n {...(props as PlaceholderProps<'checkbox'>)}\n />\n )\n }\n case 'figure': {\n return (\n <FigurePlaceholder\n ref={ref as React.Ref<HTMLElement>}\n {...(props as PlaceholderProps<'figure'>)}\n />\n )\n }\n default: {\n return (\n <BasePlaceholder\n ref={ref as React.Ref<HTMLDivElement>}\n {...(props as PlaceholderProps<undefined>)}\n />\n )\n }\n }\n}\n\nconst BaseThumbnail = React.forwardRef<\n HTMLDivElement,\n ThumbnailProps<undefined>\n>(function BaseThumbnail(\n props: ThumbnailProps<undefined>,\n ref: ThumbnailRef<undefined>\n) {\n const i18n = useI18nContext()\n const thumbnail = useThumbnail(props)\n const [captionOverflowing, setCaptionOverflowing] = useState(false)\n const {\n hasCaptionPlaceholder,\n disabled: _disabled,\n role: _role,\n ...wrapperProps\n } = props\n const ariaLabel = getThumbnailAriaLabel(\n i18n,\n thumbnail.label,\n thumbnail.caption\n )\n return (\n <ThumbnailCaptionTooltip\n caption={thumbnail.caption}\n captionOverflowing={captionOverflowing}\n >\n <StyledThumbnailWrapper\n ref={ref}\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n tabIndex={0}\n role=\"group\"\n aria-label={ariaLabel}\n {...wrapperProps}\n >\n <StyledImageThumbnail\n $focused={thumbnail.focused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n >\n {thumbnail.isImageURL && !thumbnail.shouldUsePlaceholder ? (\n <StyledImageThumbnailImage\n src={thumbnail.src as string}\n alt={thumbnail.alt}\n />\n ) : (\n <ThumbnailPreview\n file={thumbnail.src as File}\n aria-label={thumbnail.alt}\n />\n )}\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n {thumbnail.shouldUsePlaceholder && (\n <StyledFileIcon\n variant={\n thumbnail.variant ||\n getThumbnailVariantForFilename(thumbnail.filename ?? '')\n }\n />\n )}\n {thumbnail.size === 'lg' && (\n <Label label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledImageThumbnail>\n <ThumbnailCaption\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n error={thumbnail.error}\n onCaptionOverflowChange={setCaptionOverflowing}\n />\n {thumbnail.disabled && !thumbnail.clickable && (\n <VisuallyHidden>\n {i18n.t('core.thumbnail.unavailable', {\n defaultValue: 'Content is unavailable',\n })}\n </VisuallyHidden>\n )}\n </StyledThumbnailWrapper>\n </ThumbnailCaptionTooltip>\n )\n})\n\nconst FigureThumbnail = React.forwardRef<HTMLElement, ThumbnailProps<'figure'>>(\n function FigureThumbnail(\n props: ThumbnailProps<'figure'>,\n ref: ThumbnailRef<'figure'>\n ) {\n const i18n = useI18nContext()\n const thumbnail = useThumbnail(props)\n const [captionOverflowing, setCaptionOverflowing] = useState(false)\n const ariaLabel = getThumbnailAriaLabel(\n i18n,\n thumbnail.label,\n thumbnail.caption\n )\n\n return (\n <ThumbnailCaptionTooltip\n caption={thumbnail.caption}\n captionOverflowing={captionOverflowing}\n >\n <StyledThumbnailWrapper\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n tabIndex={0}\n role=\"group\"\n aria-label={ariaLabel}\n >\n <StyledImageThumbnail\n ref={ref}\n $focused={thumbnail.focused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n as={thumbnail.as}\n >\n {thumbnail.isImageURL && !thumbnail.shouldUsePlaceholder ? (\n <StyledImageThumbnailImage\n src={thumbnail.src as string}\n alt={thumbnail.alt}\n />\n ) : (\n <ThumbnailPreview\n file={thumbnail.src as File}\n aria-label={thumbnail.alt}\n />\n )}\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n {thumbnail.shouldUsePlaceholder && (\n <StyledFileIcon\n variant={\n thumbnail.variant ||\n getThumbnailVariantForFilename(thumbnail.filename ?? '')\n }\n />\n )}\n {thumbnail.size === 'lg' && (\n <FigCaption\n label={thumbnail.label}\n disabled={thumbnail.disabled}\n />\n )}\n <StyledImageThumbnailOverlay />\n </StyledImageThumbnail>\n <ThumbnailCaption\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n error={thumbnail.error}\n onCaptionOverflowChange={setCaptionOverflowing}\n />\n {thumbnail.disabled && !thumbnail.clickable && (\n <VisuallyHidden>\n {i18n.t('core.thumbnail.unavailable', {\n defaultValue: 'Content is unavailable',\n })}\n </VisuallyHidden>\n )}\n </StyledThumbnailWrapper>\n </ThumbnailCaptionTooltip>\n )\n }\n)\n\nconst CheckboxThumbnail = React.forwardRef<\n HTMLInputElement,\n ThumbnailProps<'checkbox'>\n>(function CheckboxThumbnail(\n { children, as, label, name, onChange, role, qa: _qa, value, ...props_ },\n ref\n) {\n const props = {\n ...props_,\n as,\n label,\n name,\n onChange,\n role,\n value,\n isDisabled: props_.disabled,\n isSelected: props_.checked,\n defaultSelected: props_.defaultChecked,\n }\n const thumbnail = useThumbnail(props)\n const [captionOverflowing, setCaptionOverflowing] = useState(false)\n const {\n caption,\n hasCaptionPlaceholder,\n src,\n disabled: _disabled,\n ...wrapperProps\n } = props_\n const isInputFocused = document.activeElement === thumbnail.inputRef.current\n\n const preventSpaceOnDisabledThumbnail = (\n e: React.KeyboardEvent<HTMLInputElement>\n ) => {\n if (e.key === ' ' && thumbnail.disabled) {\n e.preventDefault()\n }\n }\n\n React.useEffect(() => {\n if (props.focused && thumbnail.inputRef.current) {\n thumbnail.inputRef.current.focus()\n }\n }, [props.focused, thumbnail.inputRef])\n\n return (\n <ThumbnailCaptionTooltip\n caption={thumbnail.caption}\n captionOverflowing={captionOverflowing}\n >\n <StyledThumbnailWrapper\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n {...wrapperProps}\n onClick={(e: React.MouseEvent) => {\n if (!thumbnail.disabled) {\n thumbnail.toggleState.toggle()\n thumbnail.onClick?.(e)\n }\n }}\n >\n <StyledImageThumbnail\n $focused={thumbnail.focused || isInputFocused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n >\n {thumbnail.isImageURL && !thumbnail.shouldUsePlaceholder ? (\n <StyledImageThumbnailImage\n src={thumbnail.src as string}\n alt={thumbnail.alt}\n />\n ) : (\n <ThumbnailPreview\n file={thumbnail.src as File}\n aria-label={thumbnail.alt}\n />\n )}\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n {thumbnail.shouldUsePlaceholder && (\n <StyledFileIcon\n variant={\n thumbnail.variant ||\n getThumbnailVariantForFilename(thumbnail.filename ?? '')\n }\n />\n )}\n {thumbnail.size === 'lg' && (\n <Label label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledImageThumbnail>\n <ThumbnailCaption\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n error={props.error}\n onCaptionOverflowChange={setCaptionOverflowing}\n />\n <VisuallyHidden>\n <input\n ref={mergeRefs(thumbnail.inputRef, ref)}\n type={'checkbox'}\n {...mergeProps(thumbnail.inputProps, thumbnail.focusProps)}\n disabled={thumbnail.disabled}\n onKeyDown={preventSpaceOnDisabledThumbnail}\n />\n </VisuallyHidden>\n </StyledThumbnailWrapper>\n </ThumbnailCaptionTooltip>\n )\n})\n\nfunction ThumbnailInner(\n props: ThumbnailProps<ThumbnailRoleType>,\n ref: ThumbnailRef<ThumbnailRoleType>\n) {\n const isFile = props.src instanceof File\n const isImageURL = typeof props.src === 'string'\n\n if (!isFile && !isImageURL) {\n console.warn('Unknown Thumbnail source:', props.src)\n }\n\n switch (props.role) {\n case 'checkbox': {\n return (\n <CheckboxThumbnail\n ref={ref as React.Ref<HTMLInputElement>}\n {...(props as ThumbnailProps<'checkbox'>)}\n />\n )\n }\n case 'figure': {\n return (\n <FigureThumbnail\n ref={ref as React.Ref<HTMLElement>}\n {...(props as ThumbnailProps<'figure'>)}\n />\n )\n }\n default: {\n return (\n <BaseThumbnail\n ref={ref as React.Ref<HTMLDivElement>}\n {...(props as PlaceholderProps<undefined>)}\n />\n )\n }\n }\n}\n\nconst Thumbnail_ = React.forwardRef(ThumbnailInner) as <\n Role extends ThumbnailRoles\n>(\n props:\n | ThumbnailProps<Role>\n | (BaseThumbnailProps & { ref?: ThumbnailRef<Role> })\n) => ReturnType<typeof ThumbnailInner>\n\nconst Placeholder = React.forwardRef(PlaceholderInner) as <\n Role extends ThumbnailRoles\n>(\n props:\n | PlaceholderProps<Role>\n | (BasePlaceholderProps & { ref?: ThumbnailRef<Role> })\n) => ReturnType<typeof PlaceholderInner>\n\n// @ts-ignore\nPlaceholder.displayName = 'Thumbnail.Placeholder'\n\n// @ts-ignore\nThumbnail_.displayName = 'Thumbnail'\n\n/**\n\n We use thumbnails to display previews for images or files as either a smaller\n version of an uploaded image, or an icon representing the file type. If an\n image preview can be generated from the file (in the case of images) then\n display that image.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-thumbnail--demo-thumbnail)\n\n @see [Design Guidelines](https://design.procore.com/thumbnail)\n\n */\nexport const Thumbnail = addSubcomponents({ Placeholder }, Thumbnail_)\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,UAAU,QAAQ,mBAAmB;AAC9C,SAASC,cAAc,QAAQ,6BAA6B;AAC5D,OAAOC,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,OAAO,QAAQ,YAAY;AACpC,SAASC,cAAc,QAAQ,gBAAgB;AAC/C,SAASC,gBAAgB,QAAQ,4BAA4B;AAC7D,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SACEC,cAAc,EACdC,oBAAoB,EACpBC,yBAAyB,EACzBC,2BAA2B,EAC3BC,WAAW,EACXC,eAAe,EACfC,0BAA0B,EAC1BC,yBAAyB,EACzBC,sBAAsB,EACtBC,cAAc,QACT,oBAAoB;AAY3B,SACEC,qBAAqB,EACrBC,8BAA8B,QACzB,mBAAmB;AAC1B,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,gBAAgB,QAAQ,oBAAoB;AAErD,IAAMC,WAAW,GAAG,IAAI;AAExB,SAASC,QAAQA,CAAAC,IAAA,EAAkD;EAAA,IAAAC,SAAA,GAAAD,IAAA,CAA/CE,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAGH,WAAW,GAAAG,SAAA;IAAEE,QAAQ,GAAAH,IAAA,CAARG,QAAQ;EAC9C,IAAMC,IAAI,GAAGxB,cAAc,CAAC,CAAC;EAC7B,oBACEH,KAAA,CAAA4B,aAAA,CAACZ,cAAc;IACb,eAAaU,QAAQ,GAAG,KAAK,GAAG,IAAK;IACrC,cAAYA,QAAQ,GAAGC,IAAI,CAACE,CAAC,CAAC,wBAAwB,CAAC,GAAGC;IAC1D;IAAA;IACAC,SAAS,EAAE,KAAM;IACjBC,SAAS,EAAEN,QAAS;IACpBO,KAAK,EAAER,IAAK;IACZS,KAAK,EAAC,IAAI;IACVC,MAAM,EAAC,IAAI;IACXC,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAC,MAAM;IACXC,KAAK,EAAC;EAA4B,gBAElCtC,KAAA,CAAA4B,aAAA;IACEW,CAAC,EAAC,kHAAkH;IACpHF,IAAI,EAAC;EAAO,CACb,CAAC,eACFrC,KAAA,CAAA4B,aAAA;IACEY,QAAQ,EAAC,SAAS;IAClBC,QAAQ,EAAC,SAAS;IAClBF,CAAC,EAAC,8LAA8L;IAChMF,IAAI,EAAC;EAAkB,CACxB,CAAC,eACFrC,KAAA,CAAA4B,aAAA;IACEW,CAAC,EAAC,gQAAgQ;IAClQF,IAAI,EAAC;EAAO,CACb,CACa,CAAC;AAErB;AAEA,SAASK,UAAUA,CAAAC,KAAA,EAAkC;EAAA,IAA/BC,KAAK,GAAAD,KAAA,CAALC,KAAK;IAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;EACnC,IAAI,CAACD,KAAK,EAAE;IACV,OAAO,IAAI;EACb;EAEA,oBACE5C,KAAA,CAAA4B,aAAA,CAACd,yBAAyB;IAACgC,MAAM,EAAED,QAAQ,GAAG,QAAQ,GAAG;EAAS,GAC/DD,KACwB,CAAC;AAEhC;AAEA,SAASG,KAAKA,CAAAC,KAAA,EAAwB;EAAA,IAArBJ,KAAK,GAAAI,KAAA,CAALJ,KAAK;EACpB,IAAI,CAACA,KAAK,EAAE;IACV,OAAO,IAAI;EACb;EAEA,oBACE5C,KAAA,CAAA4B,aAAA,CAACjB,WAAW,qBACVX,KAAA,CAAA4B,aAAA,CAAChB,eAAe;IAACqC,MAAM,EAAC,OAAO;IAACC,MAAM,EAAC;EAAM,GAC1CN,KACc,CACN,CAAC;AAElB;AAEA,SAASO,uBAAuBA,CAAAC,KAAA,EAQ7B;EAAA,IAPDC,OAAO,GAAAD,KAAA,CAAPC,OAAO;IACPC,kBAAkB,GAAAF,KAAA,CAAlBE,kBAAkB;IAClBC,QAAQ,GAAAH,KAAA,CAARG,QAAQ;EAMR,oBACEvD,KAAA,CAAA4B,aAAA,CAAC1B,OAAO;IACNsD,OAAO,eAAExD,KAAA,CAAA4B,aAAA,CAAC1B,OAAO,CAACuD,OAAO,QAAEJ,OAAyB,CAAE;IACtDK,SAAS,EAAC,QAAQ;IAClBC,OAAO,EAAEL,kBAAkB,IAAID,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG;EAAO,GAEpEE,QACM,CAAC;AAEd;AAEA,IAAMK,eAAe,gBAAG5D,KAAK,CAAC6D,UAAU,CAGtC,SAASD,eAAeA,CACxBE,KAAkC,EAClCC,GAA4B,EAC5B;EAAA,IAAAC,eAAA,EAAAC,aAAA;EACA,IAAMtC,IAAI,GAAGxB,cAAc,CAAC,CAAC;EAC7B,IAAM+D,SAAS,GAAG5D,YAAY,CAACwD,KAAK,CAAC;EACrC,IAAAK,SAAA,GAAoDlE,QAAQ,CAAC,KAAK,CAAC;IAAAmE,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAA5Db,kBAAkB,GAAAc,UAAA;IAAEE,qBAAqB,GAAAF,UAAA;EAChD,IACEG,qBAAqB,GAKnBT,KAAK,CALPS,qBAAqB;IACrBlB,OAAO,GAILS,KAAK,CAJPT,OAAO;IACPT,KAAK,GAGHkB,KAAK,CAHPlB,KAAK;IACK4B,SAAS,GAEjBV,KAAK,CAFPjB,QAAQ;IACL4B,YAAY,GAAAC,wBAAA,CACbZ,KAAK,EAAAa,SAAA;EACT,IAAMC,SAAS,GAAG3D,qBAAqB,CACrCU,IAAI,EACJuC,SAAS,CAACtB,KAAK,EACfsB,SAAS,CAACb,OACZ,CAAC;EAED,oBACErD,KAAA,CAAA4B,aAAA,CAACuB,uBAAuB;IACtBE,OAAO,EAAEa,SAAS,CAACb,OAAQ;IAC3BC,kBAAkB,EAAEA;EAAmB,gBAEvCtD,KAAA,CAAA4B,aAAA,CAACb,sBAAsB,EAAA8D,QAAA;IACrBd,GAAG,EAAEA,GAAI;IACTe,OAAO,EAAEZ,SAAS,CAACa,MAAO;IAC1B9C,KAAK,EAAEiC,SAAS,CAACzC,IAAK;IACtBuD,QAAQ,EAAE,CAAE;IACZC,IAAI,EAAC,OAAO;IACZ,cAAYL;EAAU,GAClBH,YAAY,gBAEhBzE,KAAA,CAAA4B,aAAA,CAACf,0BAA0B;IACzBqE,QAAQ,EAAEhB,SAAS,CAACiB,OAAQ;IAC5BC,SAAS,EAAElB,SAAS,CAACrB,QAAS;IAC9Bb,SAAS,EAAEkC,SAAS,CAACxC,QAAS;IAC9B2D,UAAU,EAAEnB,SAAS,CAACoB,SAAU;IAChCrD,KAAK,EAAEiC,SAAS,CAACzC;EAAK,gBAEtBzB,KAAA,CAAA4B,aAAA,CAACN,QAAQ;IACPG,IAAI,EAAEyC,SAAS,CAACzC,IAAK;IACrBC,QAAQ,EAAEwC,SAAS,CAACqB,WAAW,CAACC;EAAW,CAC5C,CAAC,eACFxF,KAAA,CAAA4B,aAAA,CAACrB,cAAc;IACbkF,OAAO,EACL3B,KAAK,CAAC2B,OAAO,IACbvE,8BAA8B,EAAA8C,eAAA,GAACF,KAAK,CAAC4B,QAAQ,cAAA1B,eAAA,cAAAA,eAAA,GAAI,EAAE;EACpD,CACF,CAAC,EACDE,SAAS,CAACzC,IAAI,KAAK,IAAI,iBACtBzB,KAAA,CAAA4B,aAAA,CAACmB,KAAK;IAACH,KAAK,EAAEsB,SAAS,CAACtB,KAAM;IAACC,QAAQ,EAAEqB,SAAS,CAACrB;EAAS,CAAE,CAC/D,eACD7C,KAAA,CAAA4B,aAAA,CAAClB,2BAA2B,MAAE,CACJ,CAAC,eAC7BV,KAAA,CAAA4B,aAAA,CAACT,gBAAgB;IACfwE,KAAK,EAAEzB,SAAS,CAACyB,KAAM;IACvBC,EAAE,GAAA3B,aAAA,GAAEC,SAAS,CAAC0B,EAAE,cAAA3B,aAAA,uBAAZA,aAAA,CAAcZ,OAAQ;IAC1BwC,SAAS,EAAE3B,SAAS,CAACzC,IAAI,KAAK,IAAK;IACnCsD,MAAM,EAAEb,SAAS,CAACa,MAAO;IACzB1B,OAAO,EAAEa,SAAS,CAACb,OAAQ;IAC3BkB,qBAAqB,EAAEL,SAAS,CAACK,qBAAsB;IACvD1B,QAAQ,EAAEqB,SAAS,CAACrB,QAAS;IAC7BiD,uBAAuB,EAAExB;EAAsB,CAChD,CAAC,EACDJ,SAAS,CAACrB,QAAQ,IAAI,CAACqB,SAAS,CAACoB,SAAS,iBACzCtF,KAAA,CAAA4B,aAAA,CAAC7B,cAAc,QACZ4B,IAAI,CAACE,CAAC,CAAC,4BAA4B,EAAE;IACpCkE,YAAY,EAAE;EAChB,CAAC,CACa,CAEI,CACD,CAAC;AAE9B,CAAC,CAAC;AAEF,IAAMC,iBAAiB,gBAAGhG,KAAK,CAAC6D,UAAU,CAGxC,SAASmC,iBAAiBA,CAC1BlC,KAAiC,EACjCC,GAA2B,EAC3B;EAAA,IAAAkC,gBAAA,EAAAC,cAAA;EACA,IAAMhC,SAAS,GAAG5D,YAAY,CAACwD,KAAK,CAAC;EACrC,IAAAqC,UAAA,GAAoDlG,QAAQ,CAAC,KAAK,CAAC;IAAAmG,UAAA,GAAA/B,cAAA,CAAA8B,UAAA;IAA5D7C,kBAAkB,GAAA8C,UAAA;IAAE9B,qBAAqB,GAAA8B,UAAA;EAChD,IACE7B,qBAAqB,GAMnBT,KAAK,CANPS,qBAAqB;IACrBlB,OAAO,GAKLS,KAAK,CALPT,OAAO;IACPT,KAAK,GAIHkB,KAAK,CAJPlB,KAAK;IACK4B,SAAS,GAGjBV,KAAK,CAHPjB,QAAQ;IACFwD,KAAK,GAETvC,KAAK,CAFPmB,IAAI;IACDR,YAAY,GAAAC,wBAAA,CACbZ,KAAK,EAAAwC,UAAA;EACT,IAAM3E,IAAI,GAAGxB,cAAc,CAAC,CAAC;EAC7B,IAAMyE,SAAS,GAAG3D,qBAAqB,CACrCU,IAAI,EACJuC,SAAS,CAACtB,KAAK,EACfsB,SAAS,CAACb,OACZ,CAAC;EACD,oBACErD,KAAA,CAAA4B,aAAA,CAACuB,uBAAuB;IACtBE,OAAO,EAAEa,SAAS,CAACb,OAAQ;IAC3BC,kBAAkB,EAAEA;EAAmB,gBAEvCtD,KAAA,CAAA4B,aAAA,CAACb,sBAAsB,EAAA8D,QAAA;IACrBd,GAAG,EAAEA,GAAI;IACTe,OAAO,EAAEZ,SAAS,CAACa,MAAO;IAC1B9C,KAAK,EAAEiC,SAAS,CAACzC,IAAK;IACtBuD,QAAQ,EAAE,CAAE;IACZC,IAAI,EAAC,OAAO;IACZ,cAAYL;EAAU,GAClBH,YAAY,gBAEhBzE,KAAA,CAAA4B,aAAA,CAACf,0BAA0B;IACzBqE,QAAQ,EAAEhB,SAAS,CAACiB,OAAQ;IAC5BC,SAAS,EAAElB,SAAS,CAACrB,QAAS;IAC9Bb,SAAS,EAAEkC,SAAS,CAACxC,QAAS;IAC9B2D,UAAU,EAAEnB,SAAS,CAACoB,SAAU;IAChCrD,KAAK,EAAEiC,SAAS,CAACzC,IAAK;IACtB8E,EAAE,EAAErC,SAAS,CAACqC;EAAG,gBAEjBvG,KAAA,CAAA4B,aAAA,CAACN,QAAQ;IACPG,IAAI,EAAEyC,SAAS,CAACzC,IAAK;IACrBC,QAAQ,EAAEwC,SAAS,CAACqB,WAAW,CAACC;EAAW,CAC5C,CAAC,eACFxF,KAAA,CAAA4B,aAAA,CAACrB,cAAc;IACbkF,OAAO,EACL3B,KAAK,CAAC2B,OAAO,IACbvE,8BAA8B,EAAA+E,gBAAA,GAACnC,KAAK,CAAC4B,QAAQ,cAAAO,gBAAA,cAAAA,gBAAA,GAAI,EAAE;EACpD,CACF,CAAC,EACD/B,SAAS,CAACzC,IAAI,KAAK,IAAI,iBACtBzB,KAAA,CAAA4B,aAAA,CAACc,UAAU;IAACE,KAAK,EAAEsB,SAAS,CAACtB,KAAM;IAACC,QAAQ,EAAEqB,SAAS,CAACrB;EAAS,CAAE,CACpE,eACD7C,KAAA,CAAA4B,aAAA,CAAClB,2BAA2B,MAAE,CACJ,CAAC,eAC7BV,KAAA,CAAA4B,aAAA,CAACT,gBAAgB;IACfwE,KAAK,EAAEzB,SAAS,CAACyB,KAAM;IACvBC,EAAE,GAAAM,cAAA,GAAEhC,SAAS,CAAC0B,EAAE,cAAAM,cAAA,uBAAZA,cAAA,CAAc7C,OAAQ;IAC1BwC,SAAS,EAAE3B,SAAS,CAACzC,IAAI,KAAK,IAAK;IACnCsD,MAAM,EAAEb,SAAS,CAACa,MAAO;IACzB1B,OAAO,EAAEa,SAAS,CAACb,OAAQ;IAC3BkB,qBAAqB,EAAEL,SAAS,CAACK,qBAAsB;IACvD1B,QAAQ,EAAEqB,SAAS,CAACrB,QAAS;IAC7BiD,uBAAuB,EAAExB;EAAsB,CAChD,CAAC,EACDJ,SAAS,CAACrB,QAAQ,IAAI,CAACqB,SAAS,CAACoB,SAAS,iBACzCtF,KAAA,CAAA4B,aAAA,CAAC7B,cAAc,QACZ4B,IAAI,CAACE,CAAC,CAAC,4BAA4B,EAAE;IACpCkE,YAAY,EAAE;EAChB,CAAC,CACa,CAEI,CACD,CAAC;AAE9B,CAAC,CAAC;AAEF,IAAMS,mBAAmB,gBAAGxG,KAAK,CAAC6D,UAAU,CAG1C,SAAS2C,mBAAmBA,CAAAC,KAAA,EAE5B1C,GAAG,EACH;EAAA,IAAA2C,gBAAA,EAAAC,cAAA;EAAA,IAFEpD,QAAQ,GAAAkD,KAAA,CAARlD,QAAQ;IAAEgD,EAAE,GAAAE,KAAA,CAAFF,EAAE;IAAE3D,KAAK,GAAA6D,KAAA,CAAL7D,KAAK;IAAEgE,IAAI,GAAAH,KAAA,CAAJG,IAAI;IAAEC,QAAQ,GAAAJ,KAAA,CAARI,QAAQ;IAAE5B,IAAI,GAAAwB,KAAA,CAAJxB,IAAI;IAAM6B,GAAG,GAAAL,KAAA,CAAPb,EAAE;IAAOmB,KAAK,GAAAN,KAAA,CAALM,KAAK;IAAKC,MAAM,GAAAtC,wBAAA,CAAA+B,KAAA,EAAAQ,UAAA;EAGtE,IAAMnD,KAAK,GAAAoD,aAAA,CAAAA,aAAA,KACNF,MAAM;IACTT,EAAE,EAAFA,EAAE;IACF3D,KAAK,EAALA,KAAK;IACLiE,QAAQ,EAARA,QAAQ;IACR5B,IAAI,EAAJA,IAAI;IACJ8B,KAAK,EAALA,KAAK;IACLI,UAAU,EAAEH,MAAM,CAACnE,QAAQ;IAC3B2C,UAAU,EAAEwB,MAAM,CAACI,OAAO;IAC1BC,eAAe,EAAEL,MAAM,CAACM;EAAc,EACvC;EACD,IAAMpD,SAAS,GAAG5D,YAAY,CAACwD,KAAK,CAAC;EACrC,IAAAyD,UAAA,GAAoDtH,QAAQ,CAAC,KAAK,CAAC;IAAAuH,UAAA,GAAAnD,cAAA,CAAAkD,UAAA;IAA5DjE,kBAAkB,GAAAkE,UAAA;IAAElD,qBAAqB,GAAAkD,UAAA;EAChD,IAAQnE,OAAO,GAAkD2D,MAAM,CAA/D3D,OAAO;IAAEkB,qBAAqB,GAA2ByC,MAAM,CAAtDzC,qBAAqB;IAAEkD,GAAG,GAAsBT,MAAM,CAA/BS,GAAG;IAAKhD,YAAY,GAAAC,wBAAA,CAAKsC,MAAM,EAAAU,UAAA;EACvE,IAAMC,cAAc,GAAGC,QAAQ,CAACC,aAAa,KAAK3D,SAAS,CAAC4D,QAAQ,CAACC,OAAO;EAE5E,IAAMpG,IAAI,GAAGxB,cAAc,CAAC,CAAC;EAC7B,IAAMyE,SAAS,GACb3D,qBAAqB,CAACU,IAAI,EAAEuC,SAAS,CAACtB,KAAK,EAAEsB,SAAS,CAACb,OAAO,CAAC,IAC/D1B,IAAI,CAACE,CAAC,CAAC,uBAAuB,CAAC;EAEjC,IAAMmG,+BAA+B,GAAG,SAAlCA,+BAA+BA,CAAIC,CAAsB,EAAK;IAClE,IAAIA,CAAC,CAACC,GAAG,KAAK,GAAG,IAAIhE,SAAS,CAACrB,QAAQ,EAAE;MACvCoF,CAAC,CAACE,cAAc,CAAC,CAAC;IACpB;EACF,CAAC;EAEDnI,KAAK,CAACoI,SAAS,CAAC,YAAM;IACpB,IAAItE,KAAK,CAACqB,OAAO,IAAIjB,SAAS,CAAC4D,QAAQ,CAACC,OAAO,EAAE;MAC/C7D,SAAS,CAAC4D,QAAQ,CAACC,OAAO,CAACM,KAAK,CAAC,CAAC;IACpC;EACF,CAAC,EAAE,CAACvE,KAAK,CAACqB,OAAO,EAAEjB,SAAS,CAAC4D,QAAQ,CAAC,CAAC;EAEvC,oBACE9H,KAAA,CAAA4B,aAAA,CAACuB,uBAAuB;IACtBE,OAAO,EAAEa,SAAS,CAACb,OAAQ;IAC3BC,kBAAkB,EAAEA;EAAmB,gBAEvCtD,KAAA,CAAA4B,aAAA,CAACb,sBAAsB,EAAA8D,QAAA;IACrBC,OAAO,EAAEZ,SAAS,CAACa,MAAO;IAC1B9C,KAAK,EAAEiC,SAAS,CAACzC;EAAK,GAClBgD,YAAY;IAChB6D,OAAO,EAAE,SAATA,OAAOA,CAAGL,CAAmB,EAAK;MAChC,IAAI,CAAC/D,SAAS,CAACrB,QAAQ,EAAE;QAAA,IAAA0F,kBAAA;QACvBrE,SAAS,CAACqB,WAAW,CAACiD,MAAM,CAAC,CAAC;QAC9B,CAAAD,kBAAA,GAAArE,SAAS,CAACoE,OAAO,cAAAC,kBAAA,uBAAjBA,kBAAA,CAAAE,IAAA,CAAAvE,SAAS,EAAW+D,CAAC,CAAC;MACxB;IACF;EAAE,iBAEFjI,KAAA,CAAA4B,aAAA,CAACf,0BAA0B;IACzBqE,QAAQ,EAAEhB,SAAS,CAACiB,OAAO,IAAIwC,cAAe;IAC9CvC,SAAS,EAAElB,SAAS,CAACrB,QAAS;IAC9Bb,SAAS,EAAEkC,SAAS,CAACxC,QAAS;IAC9B2D,UAAU,EAAEnB,SAAS,CAACoB,SAAU;IAChCrD,KAAK,EAAEiC,SAAS,CAACzC;EAAK,gBAEtBzB,KAAA,CAAA4B,aAAA,CAACN,QAAQ;IACPG,IAAI,EAAEyC,SAAS,CAACzC,IAAK;IACrBC,QAAQ,EAAEwC,SAAS,CAACqB,WAAW,CAACC;EAAW,CAC5C,CAAC,eACFxF,KAAA,CAAA4B,aAAA,CAACrB,cAAc;IACbkF,OAAO,EACL3B,KAAK,CAAC2B,OAAO,IACbvE,8BAA8B,EAAAwF,gBAAA,GAAC5C,KAAK,CAAC4B,QAAQ,cAAAgB,gBAAA,cAAAA,gBAAA,GAAI,EAAE;EACpD,CACF,CAAC,EACDxC,SAAS,CAACzC,IAAI,KAAK,IAAI,iBACtBzB,KAAA,CAAA4B,aAAA,CAACmB,KAAK;IAACH,KAAK,EAAEsB,SAAS,CAACtB,KAAM;IAACC,QAAQ,EAAEqB,SAAS,CAACrB;EAAS,CAAE,CAC/D,eACD7C,KAAA,CAAA4B,aAAA,CAAClB,2BAA2B,MAAE,CACJ,CAAC,eAC7BV,KAAA,CAAA4B,aAAA,CAACT,gBAAgB;IACfwE,KAAK,EAAEzB,SAAS,CAACyB,KAAM;IACvBC,EAAE,GAAAe,cAAA,GAAEzC,SAAS,CAAC0B,EAAE,cAAAe,cAAA,uBAAZA,cAAA,CAActD,OAAQ;IAC1BwC,SAAS,EAAE3B,SAAS,CAACzC,IAAI,KAAK,IAAK;IACnCsD,MAAM,EAAEb,SAAS,CAACa,MAAO;IACzB1B,OAAO,EAAEa,SAAS,CAACb,OAAQ;IAC3BkB,qBAAqB,EAAEL,SAAS,CAACK,qBAAsB;IACvD1B,QAAQ,EAAEqB,SAAS,CAACrB,QAAS;IAC7BiD,uBAAuB,EAAExB;EAAsB,CAChD,CAAC,eACFtE,KAAA,CAAA4B,aAAA,CAAC7B,cAAc,qBACbC,KAAA,CAAA4B,aAAA,UAAAiD,QAAA;IACE6D,IAAI,EAAC,UAAU;IACf3E,GAAG,EAAE1D,SAAS,CAAC6D,SAAS,CAAC4D,QAAQ,EAAE/D,GAAG,CAAE;IACxC,cAAYa;EAAU,GAClB9E,UAAU,CAACoE,SAAS,CAACyE,UAAU,EAAEzE,SAAS,CAAC0E,UAAU,CAAC;IAC1D/F,QAAQ,EAAEqB,SAAS,CAACrB,QAAS;IAC7BgG,SAAS,EAAEb;EAAgC,EAC5C,CACa,CACM,CACD,CAAC;AAE9B,CAAC,CAAC;AAEF,SAASc,gBAAgBA,CACvBhF,KAA0C,EAC1CC,GAAoC,EACpC;EACA,QAAQD,KAAK,CAACmB,IAAI;IAChB,KAAK,UAAU;MAAE;QACf,oBACEjF,KAAA,CAAA4B,aAAA,CAAC4E,mBAAmB,EAAA3B,QAAA;UAClBd,GAAG,EAAEA;QAAmC,GACnCD,KAAK,CACX,CAAC;MAEN;IACA,KAAK,QAAQ;MAAE;QACb,oBACE9D,KAAA,CAAA4B,aAAA,CAACoE,iBAAiB,EAAAnB,QAAA;UAChBd,GAAG,EAAEA;QAA8B,GAC9BD,KAAK,CACX,CAAC;MAEN;IACA;MAAS;QACP,oBACE9D,KAAA,CAAA4B,aAAA,CAACgC,eAAe,EAAAiB,QAAA;UACdd,GAAG,EAAEA;QAAiC,GACjCD,KAAK,CACX,CAAC;MAEN;EACF;AACF;AAEA,IAAMiF,aAAa,gBAAG/I,KAAK,CAAC6D,UAAU,CAGpC,SAASkF,aAAaA,CACtBjF,KAAgC,EAChCC,GAA4B,EAC5B;EAAA,IAAAiF,mBAAA,EAAAC,cAAA;EACA,IAAMtH,IAAI,GAAGxB,cAAc,CAAC,CAAC;EAC7B,IAAM+D,SAAS,GAAG5D,YAAY,CAACwD,KAAK,CAAC;EACrC,IAAAoF,UAAA,GAAoDjJ,QAAQ,CAAC,KAAK,CAAC;IAAAkJ,UAAA,GAAA9E,cAAA,CAAA6E,UAAA;IAA5D5F,kBAAkB,GAAA6F,UAAA;IAAE7E,qBAAqB,GAAA6E,UAAA;EAChD,IACE5E,qBAAqB,GAInBT,KAAK,CAJPS,qBAAqB;IACXC,SAAS,GAGjBV,KAAK,CAHPjB,QAAQ;IACFwD,KAAK,GAETvC,KAAK,CAFPmB,IAAI;IACDR,YAAY,GAAAC,wBAAA,CACbZ,KAAK,EAAAsF,UAAA;EACT,IAAMxE,SAAS,GAAG3D,qBAAqB,CACrCU,IAAI,EACJuC,SAAS,CAACtB,KAAK,EACfsB,SAAS,CAACb,OACZ,CAAC;EACD,oBACErD,KAAA,CAAA4B,aAAA,CAACuB,uBAAuB;IACtBE,OAAO,EAAEa,SAAS,CAACb,OAAQ;IAC3BC,kBAAkB,EAAEA;EAAmB,gBAEvCtD,KAAA,CAAA4B,aAAA,CAACb,sBAAsB,EAAA8D,QAAA;IACrBd,GAAG,EAAEA,GAAI;IACTe,OAAO,EAAEZ,SAAS,CAACa,MAAO;IAC1B9C,KAAK,EAAEiC,SAAS,CAACzC,IAAK;IACtBuD,QAAQ,EAAE,CAAE;IACZC,IAAI,EAAC,OAAO;IACZ,cAAYL;EAAU,GAClBH,YAAY,gBAEhBzE,KAAA,CAAA4B,aAAA,CAACpB,oBAAoB;IACnB0E,QAAQ,EAAEhB,SAAS,CAACiB,OAAQ;IAC5BC,SAAS,EAAElB,SAAS,CAACrB,QAAS;IAC9Bb,SAAS,EAAEkC,SAAS,CAACxC,QAAS;IAC9B2D,UAAU,EAAEnB,SAAS,CAACoB,SAAU;IAChCrD,KAAK,EAAEiC,SAAS,CAACzC;EAAK,GAErByC,SAAS,CAACmF,UAAU,IAAI,CAACnF,SAAS,CAACoF,oBAAoB,gBACtDtJ,KAAA,CAAA4B,aAAA,CAACnB,yBAAyB;IACxBgH,GAAG,EAAEvD,SAAS,CAACuD,GAAc;IAC7B8B,GAAG,EAAErF,SAAS,CAACqF;EAAI,CACpB,CAAC,gBAEFvJ,KAAA,CAAA4B,aAAA,CAACR,gBAAgB;IACfoI,IAAI,EAAEtF,SAAS,CAACuD,GAAY;IAC5B,cAAYvD,SAAS,CAACqF;EAAI,CAC3B,CACF,eACDvJ,KAAA,CAAA4B,aAAA,CAACN,QAAQ;IACPG,IAAI,EAAEyC,SAAS,CAACzC,IAAK;IACrBC,QAAQ,EAAEwC,SAAS,CAACqB,WAAW,CAACC;EAAW,CAC5C,CAAC,EACDtB,SAAS,CAACoF,oBAAoB,iBAC7BtJ,KAAA,CAAA4B,aAAA,CAACrB,cAAc;IACbkF,OAAO,EACLvB,SAAS,CAACuB,OAAO,IACjBvE,8BAA8B,EAAA8H,mBAAA,GAAC9E,SAAS,CAACwB,QAAQ,cAAAsD,mBAAA,cAAAA,mBAAA,GAAI,EAAE;EACxD,CACF,CACF,EACA9E,SAAS,CAACzC,IAAI,KAAK,IAAI,iBACtBzB,KAAA,CAAA4B,aAAA,CAACmB,KAAK;IAACH,KAAK,EAAEsB,SAAS,CAACtB,KAAM;IAACC,QAAQ,EAAEqB,SAAS,CAACrB;EAAS,CAAE,CAC/D,eACD7C,KAAA,CAAA4B,aAAA,CAAClB,2BAA2B,MAAE,CACV,CAAC,eACvBV,KAAA,CAAA4B,aAAA,CAACT,gBAAgB;IACfyE,EAAE,GAAAqD,cAAA,GAAE/E,SAAS,CAAC0B,EAAE,cAAAqD,cAAA,uBAAZA,cAAA,CAAc5F,OAAQ;IAC1BwC,SAAS,EAAE3B,SAAS,CAACzC,IAAI,KAAK,IAAK;IACnCsD,MAAM,EAAEb,SAAS,CAACa,MAAO;IACzB1B,OAAO,EAAEa,SAAS,CAACb,OAAQ;IAC3BkB,qBAAqB,EAAEL,SAAS,CAACK,qBAAsB;IACvD1B,QAAQ,EAAEqB,SAAS,CAACrB,QAAS;IAC7B8C,KAAK,EAAEzB,SAAS,CAACyB,KAAM;IACvBG,uBAAuB,EAAExB;EAAsB,CAChD,CAAC,EACDJ,SAAS,CAACrB,QAAQ,IAAI,CAACqB,SAAS,CAACoB,SAAS,iBACzCtF,KAAA,CAAA4B,aAAA,CAAC7B,cAAc,QACZ4B,IAAI,CAACE,CAAC,CAAC,4BAA4B,EAAE;IACpCkE,YAAY,EAAE;EAChB,CAAC,CACa,CAEI,CACD,CAAC;AAE9B,CAAC,CAAC;AAEF,IAAM0D,eAAe,gBAAGzJ,KAAK,CAAC6D,UAAU,CACtC,SAAS4F,eAAeA,CACtB3F,KAA+B,EAC/BC,GAA2B,EAC3B;EAAA,IAAA2F,oBAAA,EAAAC,cAAA;EACA,IAAMhI,IAAI,GAAGxB,cAAc,CAAC,CAAC;EAC7B,IAAM+D,SAAS,GAAG5D,YAAY,CAACwD,KAAK,CAAC;EACrC,IAAA8F,UAAA,GAAoD3J,QAAQ,CAAC,KAAK,CAAC;IAAA4J,UAAA,GAAAxF,cAAA,CAAAuF,UAAA;IAA5DtG,kBAAkB,GAAAuG,UAAA;IAAEvF,qBAAqB,GAAAuF,UAAA;EAChD,IAAMjF,SAAS,GAAG3D,qBAAqB,CACrCU,IAAI,EACJuC,SAAS,CAACtB,KAAK,EACfsB,SAAS,CAACb,OACZ,CAAC;EAED,oBACErD,KAAA,CAAA4B,aAAA,CAACuB,uBAAuB;IACtBE,OAAO,EAAEa,SAAS,CAACb,OAAQ;IAC3BC,kBAAkB,EAAEA;EAAmB,gBAEvCtD,KAAA,CAAA4B,aAAA,CAACb,sBAAsB;IACrB+D,OAAO,EAAEZ,SAAS,CAACa,MAAO;IAC1B9C,KAAK,EAAEiC,SAAS,CAACzC,IAAK;IACtBuD,QAAQ,EAAE,CAAE;IACZC,IAAI,EAAC,OAAO;IACZ,cAAYL;EAAU,gBAEtB5E,KAAA,CAAA4B,aAAA,CAACpB,oBAAoB;IACnBuD,GAAG,EAAEA,GAAI;IACTmB,QAAQ,EAAEhB,SAAS,CAACiB,OAAQ;IAC5BC,SAAS,EAAElB,SAAS,CAACrB,QAAS;IAC9Bb,SAAS,EAAEkC,SAAS,CAACxC,QAAS;IAC9B2D,UAAU,EAAEnB,SAAS,CAACoB,SAAU;IAChCrD,KAAK,EAAEiC,SAAS,CAACzC,IAAK;IACtB8E,EAAE,EAAErC,SAAS,CAACqC;EAAG,GAEhBrC,SAAS,CAACmF,UAAU,IAAI,CAACnF,SAAS,CAACoF,oBAAoB,gBACtDtJ,KAAA,CAAA4B,aAAA,CAACnB,yBAAyB;IACxBgH,GAAG,EAAEvD,SAAS,CAACuD,GAAc;IAC7B8B,GAAG,EAAErF,SAAS,CAACqF;EAAI,CACpB,CAAC,gBAEFvJ,KAAA,CAAA4B,aAAA,CAACR,gBAAgB;IACfoI,IAAI,EAAEtF,SAAS,CAACuD,GAAY;IAC5B,cAAYvD,SAAS,CAACqF;EAAI,CAC3B,CACF,eACDvJ,KAAA,CAAA4B,aAAA,CAACN,QAAQ;IACPG,IAAI,EAAEyC,SAAS,CAACzC,IAAK;IACrBC,QAAQ,EAAEwC,SAAS,CAACqB,WAAW,CAACC;EAAW,CAC5C,CAAC,EACDtB,SAAS,CAACoF,oBAAoB,iBAC7BtJ,KAAA,CAAA4B,aAAA,CAACrB,cAAc;IACbkF,OAAO,EACLvB,SAAS,CAACuB,OAAO,IACjBvE,8BAA8B,EAAAwI,oBAAA,GAACxF,SAAS,CAACwB,QAAQ,cAAAgE,oBAAA,cAAAA,oBAAA,GAAI,EAAE;EACxD,CACF,CACF,EACAxF,SAAS,CAACzC,IAAI,KAAK,IAAI,iBACtBzB,KAAA,CAAA4B,aAAA,CAACc,UAAU;IACTE,KAAK,EAAEsB,SAAS,CAACtB,KAAM;IACvBC,QAAQ,EAAEqB,SAAS,CAACrB;EAAS,CAC9B,CACF,eACD7C,KAAA,CAAA4B,aAAA,CAAClB,2BAA2B,MAAE,CACV,CAAC,eACvBV,KAAA,CAAA4B,aAAA,CAACT,gBAAgB;IACfyE,EAAE,GAAA+D,cAAA,GAAEzF,SAAS,CAAC0B,EAAE,cAAA+D,cAAA,uBAAZA,cAAA,CAActG,OAAQ;IAC1BwC,SAAS,EAAE3B,SAAS,CAACzC,IAAI,KAAK,IAAK;IACnCsD,MAAM,EAAEb,SAAS,CAACa,MAAO;IACzB1B,OAAO,EAAEa,SAAS,CAACb,OAAQ;IAC3BkB,qBAAqB,EAAEL,SAAS,CAACK,qBAAsB;IACvD1B,QAAQ,EAAEqB,SAAS,CAACrB,QAAS;IAC7B8C,KAAK,EAAEzB,SAAS,CAACyB,KAAM;IACvBG,uBAAuB,EAAExB;EAAsB,CAChD,CAAC,EACDJ,SAAS,CAACrB,QAAQ,IAAI,CAACqB,SAAS,CAACoB,SAAS,iBACzCtF,KAAA,CAAA4B,aAAA,CAAC7B,cAAc,QACZ4B,IAAI,CAACE,CAAC,CAAC,4BAA4B,EAAE;IACpCkE,YAAY,EAAE;EAChB,CAAC,CACa,CAEI,CACD,CAAC;AAE9B,CACF,CAAC;AAED,IAAM+D,iBAAiB,gBAAG9J,KAAK,CAAC6D,UAAU,CAGxC,SAASiG,iBAAiBA,CAAAC,KAAA,EAE1BhG,GAAG,EACH;EAAA,IAAAiG,oBAAA,EAAAC,cAAA;EAAA,IAFE1G,QAAQ,GAAAwG,KAAA,CAARxG,QAAQ;IAAEgD,EAAE,GAAAwD,KAAA,CAAFxD,EAAE;IAAE3D,KAAK,GAAAmH,KAAA,CAALnH,KAAK;IAAEgE,IAAI,GAAAmD,KAAA,CAAJnD,IAAI;IAAEC,QAAQ,GAAAkD,KAAA,CAARlD,QAAQ;IAAE5B,IAAI,GAAA8E,KAAA,CAAJ9E,IAAI;IAAM6B,GAAG,GAAAiD,KAAA,CAAPnE,EAAE;IAAOmB,KAAK,GAAAgD,KAAA,CAALhD,KAAK;IAAKC,MAAM,GAAAtC,wBAAA,CAAAqF,KAAA,EAAAG,UAAA;EAGtE,IAAMpG,KAAK,GAAAoD,aAAA,CAAAA,aAAA,KACNF,MAAM;IACTT,EAAE,EAAFA,EAAE;IACF3D,KAAK,EAALA,KAAK;IACLgE,IAAI,EAAJA,IAAI;IACJC,QAAQ,EAARA,QAAQ;IACR5B,IAAI,EAAJA,IAAI;IACJ8B,KAAK,EAALA,KAAK;IACLI,UAAU,EAAEH,MAAM,CAACnE,QAAQ;IAC3B2C,UAAU,EAAEwB,MAAM,CAACI,OAAO;IAC1BC,eAAe,EAAEL,MAAM,CAACM;EAAc,EACvC;EACD,IAAMpD,SAAS,GAAG5D,YAAY,CAACwD,KAAK,CAAC;EACrC,IAAAqG,UAAA,GAAoDlK,QAAQ,CAAC,KAAK,CAAC;IAAAmK,WAAA,GAAA/F,cAAA,CAAA8F,UAAA;IAA5D7G,kBAAkB,GAAA8G,WAAA;IAAE9F,qBAAqB,GAAA8F,WAAA;EAChD,IACE/G,OAAO,GAKL2D,MAAM,CALR3D,OAAO;IACPkB,qBAAqB,GAInByC,MAAM,CAJRzC,qBAAqB;IACrBkD,GAAG,GAGDT,MAAM,CAHRS,GAAG;IACOjD,SAAS,GAEjBwC,MAAM,CAFRnE,QAAQ;IACL4B,YAAY,GAAAC,wBAAA,CACbsC,MAAM,EAAAqD,UAAA;EACV,IAAM1C,cAAc,GAAGC,QAAQ,CAACC,aAAa,KAAK3D,SAAS,CAAC4D,QAAQ,CAACC,OAAO;EAE5E,IAAMC,+BAA+B,GAAG,SAAlCA,+BAA+BA,CACnCC,CAAwC,EACrC;IACH,IAAIA,CAAC,CAACC,GAAG,KAAK,GAAG,IAAIhE,SAAS,CAACrB,QAAQ,EAAE;MACvCoF,CAAC,CAACE,cAAc,CAAC,CAAC;IACpB;EACF,CAAC;EAEDnI,KAAK,CAACoI,SAAS,CAAC,YAAM;IACpB,IAAItE,KAAK,CAACqB,OAAO,IAAIjB,SAAS,CAAC4D,QAAQ,CAACC,OAAO,EAAE;MAC/C7D,SAAS,CAAC4D,QAAQ,CAACC,OAAO,CAACM,KAAK,CAAC,CAAC;IACpC;EACF,CAAC,EAAE,CAACvE,KAAK,CAACqB,OAAO,EAAEjB,SAAS,CAAC4D,QAAQ,CAAC,CAAC;EAEvC,oBACE9H,KAAA,CAAA4B,aAAA,CAACuB,uBAAuB;IACtBE,OAAO,EAAEa,SAAS,CAACb,OAAQ;IAC3BC,kBAAkB,EAAEA;EAAmB,gBAEvCtD,KAAA,CAAA4B,aAAA,CAACb,sBAAsB,EAAA8D,QAAA;IACrBC,OAAO,EAAEZ,SAAS,CAACa,MAAO;IAC1B9C,KAAK,EAAEiC,SAAS,CAACzC;EAAK,GAClBgD,YAAY;IAChB6D,OAAO,EAAE,SAATA,OAAOA,CAAGL,CAAmB,EAAK;MAChC,IAAI,CAAC/D,SAAS,CAACrB,QAAQ,EAAE;QAAA,IAAAyH,mBAAA;QACvBpG,SAAS,CAACqB,WAAW,CAACiD,MAAM,CAAC,CAAC;QAC9B,CAAA8B,mBAAA,GAAApG,SAAS,CAACoE,OAAO,cAAAgC,mBAAA,uBAAjBA,mBAAA,CAAA7B,IAAA,CAAAvE,SAAS,EAAW+D,CAAC,CAAC;MACxB;IACF;EAAE,iBAEFjI,KAAA,CAAA4B,aAAA,CAACpB,oBAAoB;IACnB0E,QAAQ,EAAEhB,SAAS,CAACiB,OAAO,IAAIwC,cAAe;IAC9CvC,SAAS,EAAElB,SAAS,CAACrB,QAAS;IAC9Bb,SAAS,EAAEkC,SAAS,CAACxC,QAAS;IAC9B2D,UAAU,EAAEnB,SAAS,CAACoB,SAAU;IAChCrD,KAAK,EAAEiC,SAAS,CAACzC;EAAK,GAErByC,SAAS,CAACmF,UAAU,IAAI,CAACnF,SAAS,CAACoF,oBAAoB,gBACtDtJ,KAAA,CAAA4B,aAAA,CAACnB,yBAAyB;IACxBgH,GAAG,EAAEvD,SAAS,CAACuD,GAAc;IAC7B8B,GAAG,EAAErF,SAAS,CAACqF;EAAI,CACpB,CAAC,gBAEFvJ,KAAA,CAAA4B,aAAA,CAACR,gBAAgB;IACfoI,IAAI,EAAEtF,SAAS,CAACuD,GAAY;IAC5B,cAAYvD,SAAS,CAACqF;EAAI,CAC3B,CACF,eACDvJ,KAAA,CAAA4B,aAAA,CAACN,QAAQ;IACPG,IAAI,EAAEyC,SAAS,CAACzC,IAAK;IACrBC,QAAQ,EAAEwC,SAAS,CAACqB,WAAW,CAACC;EAAW,CAC5C,CAAC,EACDtB,SAAS,CAACoF,oBAAoB,iBAC7BtJ,KAAA,CAAA4B,aAAA,CAACrB,cAAc;IACbkF,OAAO,EACLvB,SAAS,CAACuB,OAAO,IACjBvE,8BAA8B,EAAA8I,oBAAA,GAAC9F,SAAS,CAACwB,QAAQ,cAAAsE,oBAAA,cAAAA,oBAAA,GAAI,EAAE;EACxD,CACF,CACF,EACA9F,SAAS,CAACzC,IAAI,KAAK,IAAI,iBACtBzB,KAAA,CAAA4B,aAAA,CAACmB,KAAK;IAACH,KAAK,EAAEsB,SAAS,CAACtB,KAAM;IAACC,QAAQ,EAAEqB,SAAS,CAACrB;EAAS,CAAE,CAC/D,eACD7C,KAAA,CAAA4B,aAAA,CAAClB,2BAA2B,MAAE,CACV,CAAC,eACvBV,KAAA,CAAA4B,aAAA,CAACT,gBAAgB;IACfyE,EAAE,GAAAqE,cAAA,GAAE/F,SAAS,CAAC0B,EAAE,cAAAqE,cAAA,uBAAZA,cAAA,CAAc5G,OAAQ;IAC1BwC,SAAS,EAAE3B,SAAS,CAACzC,IAAI,KAAK,IAAK;IACnCsD,MAAM,EAAEb,SAAS,CAACa,MAAO;IACzB1B,OAAO,EAAEa,SAAS,CAACb,OAAQ;IAC3BkB,qBAAqB,EAAEL,SAAS,CAACK,qBAAsB;IACvD1B,QAAQ,EAAEqB,SAAS,CAACrB,QAAS;IAC7B8C,KAAK,EAAE7B,KAAK,CAAC6B,KAAM;IACnBG,uBAAuB,EAAExB;EAAsB,CAChD,CAAC,eACFtE,KAAA,CAAA4B,aAAA,CAAC7B,cAAc,qBACbC,KAAA,CAAA4B,aAAA,UAAAiD,QAAA;IACEd,GAAG,EAAE1D,SAAS,CAAC6D,SAAS,CAAC4D,QAAQ,EAAE/D,GAAG,CAAE;IACxC2E,IAAI,EAAE;EAAW,GACb5I,UAAU,CAACoE,SAAS,CAACyE,UAAU,EAAEzE,SAAS,CAAC0E,UAAU,CAAC;IAC1D/F,QAAQ,EAAEqB,SAAS,CAACrB,QAAS;IAC7BgG,SAAS,EAAEb;EAAgC,EAC5C,CACa,CACM,CACD,CAAC;AAE9B,CAAC,CAAC;AAEF,SAASuC,cAAcA,CACrBzG,KAAwC,EACxCC,GAAoC,EACpC;EACA,IAAMyG,MAAM,GAAG1G,KAAK,CAAC2D,GAAG,YAAYgD,IAAI;EACxC,IAAMpB,UAAU,GAAG,OAAOvF,KAAK,CAAC2D,GAAG,KAAK,QAAQ;EAEhD,IAAI,CAAC+C,MAAM,IAAI,CAACnB,UAAU,EAAE;IAC1BqB,OAAO,CAACC,IAAI,CAAC,2BAA2B,EAAE7G,KAAK,CAAC2D,GAAG,CAAC;EACtD;EAEA,QAAQ3D,KAAK,CAACmB,IAAI;IAChB,KAAK,UAAU;MAAE;QACf,oBACEjF,KAAA,CAAA4B,aAAA,CAACkI,iBAAiB,EAAAjF,QAAA;UAChBd,GAAG,EAAEA;QAAmC,GACnCD,KAAK,CACX,CAAC;MAEN;IACA,KAAK,QAAQ;MAAE;QACb,oBACE9D,KAAA,CAAA4B,aAAA,CAAC6H,eAAe,EAAA5E,QAAA;UACdd,GAAG,EAAEA;QAA8B,GAC9BD,KAAK,CACX,CAAC;MAEN;IACA;MAAS;QACP,oBACE9D,KAAA,CAAA4B,aAAA,CAACmH,aAAa,EAAAlE,QAAA;UACZd,GAAG,EAAEA;QAAiC,GACjCD,KAAK,CACX,CAAC;MAEN;EACF;AACF;AAEA,IAAM8G,UAAU,gBAAG5K,KAAK,CAAC6D,UAAU,CAAC0G,cAAc,CAMZ;AAEtC,IAAMM,WAAW,gBAAG7K,KAAK,CAAC6D,UAAU,CAACiF,gBAAgB,CAMb;;AAExC;AACA+B,WAAW,CAACC,WAAW,GAAG,uBAAuB;;AAEjD;AACAF,UAAU,CAACE,WAAW,GAAG,WAAW;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,SAAS,GAAG3K,gBAAgB,CAAC;EAAEyK,WAAW,EAAXA;AAAY,CAAC,EAAED,UAAU,CAAC"}