@procore/core-react 12.20.3 → 12.21.0-cdn.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 (232) hide show
  1. package/dist/@types/global.d.js.map +1 -1
  2. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  3. package/dist/Avatar/Avatar.styles.js +5 -5
  4. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  5. package/dist/Badge/Badge.styles.js +2 -2
  6. package/dist/Banner/Banner.js +34 -34
  7. package/dist/Banner/Banner.js.map +1 -1
  8. package/dist/Banner/Banner.styles.js +10 -10
  9. package/dist/Box/Box.styles.js +1 -1
  10. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  11. package/dist/Button/Button.styles.js +5 -5
  12. package/dist/Calendar/Calendar.styles.js +8 -8
  13. package/dist/Card/Card.styles.js +1 -1
  14. package/dist/Checkbox/Checkbox.styles.js +14 -14
  15. package/dist/Checkbox/Checkbox.styles.js.map +1 -1
  16. package/dist/Checkbox/CheckboxTooltip.js +1 -1
  17. package/dist/ContactItem/ContactItem.styles.js +5 -5
  18. package/dist/Content/Content.styles.js +2 -2
  19. package/dist/DateInput/DateInput.styles.js +6 -6
  20. package/dist/DetailPage/DetailPage.styles.js +7 -7
  21. package/dist/Dropdown/Dropdown.styles.js +3 -3
  22. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  23. package/dist/Dropzone/Dropzone.js +1 -1
  24. package/dist/Dropzone/Dropzone.styles.js +9 -9
  25. package/dist/EmptyState/EmptyState.styles.js +6 -6
  26. package/dist/Field/Field.styles.js +3 -3
  27. package/dist/FileList/FileList.styles.js +4 -4
  28. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  29. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  30. package/dist/FileSelect/FileSelect.js +8 -8
  31. package/dist/FileSelect/FileSelect.js.map +1 -1
  32. package/dist/FileSelect/FileSelect.styles.js +2 -2
  33. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  34. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  35. package/dist/FileSelect/GridSource/GridSource.js +1 -1
  36. package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
  37. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  38. package/dist/FileSelect/LocalSource/LocalSource.js +8 -8
  39. package/dist/FileSelect/LocalSource/LocalSource.js.map +1 -1
  40. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  41. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  42. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  43. package/dist/FileSelect/TreeSource/TreeSource.js +1 -1
  44. package/dist/FileSelect/TreeSource/TreeSource.js.map +1 -1
  45. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  46. package/dist/FileSelect/storyHelpers.js +1 -1
  47. package/dist/FileSelect/storyHelpers.js.map +1 -1
  48. package/dist/FileToken/FileToken.styles.js +4 -4
  49. package/dist/FilterToken/FilterToken.styles.js +5 -5
  50. package/dist/FlexList/FlexList.styles.js +1 -1
  51. package/dist/Form/Form.js +339 -339
  52. package/dist/Form/Form.js.map +1 -1
  53. package/dist/Form/Form.styles.js +14 -14
  54. package/dist/Form/StyledFormikForm.styles.js +2 -2
  55. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  56. package/dist/Grid/Grid.styles.js +2 -2
  57. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  58. package/dist/Input/Input.styles.js +1 -1
  59. package/dist/Link/Link.styles.js +1 -1
  60. package/dist/ListPage/ListPage.styles.js +8 -8
  61. package/dist/Loader/Loader.styles.js +2 -2
  62. package/dist/MenuImperative/MenuImperative.d.ts +1 -0
  63. package/dist/MenuImperative/MenuImperative.js +1 -1
  64. package/dist/MenuImperative/MenuImperative.js.map +1 -1
  65. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  66. package/dist/Modal/Modal.styles.js +19 -19
  67. package/dist/Modal/Modal.styles.js.map +1 -1
  68. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  69. package/dist/NextMenu/NextMenu.styles.js +3 -3
  70. package/dist/Notation/Notation.js +1 -1
  71. package/dist/NumberInput/NumberInput.styles.js +7 -7
  72. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  73. package/dist/PageLayout/PageLayout.js +12 -12
  74. package/dist/PageLayout/PageLayout.js.map +1 -1
  75. package/dist/PageLayout/PageLayout.styles.js +25 -25
  76. package/dist/PageLayout/PageLayout.styles.js.map +1 -1
  77. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  78. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  79. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  80. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  81. package/dist/Pagination/Pagination.styles.js +5 -5
  82. package/dist/Pagination/PaginationSelect.js +2 -2
  83. package/dist/Pagination/PaginationSelect.js.map +1 -1
  84. package/dist/Panel/Panel.js +15 -15
  85. package/dist/Panel/Panel.js.map +1 -1
  86. package/dist/Panel/Panel.styles.js +11 -11
  87. package/dist/Pill/Pill.styles.js +2 -2
  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.styles.js +7 -7
  96. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  97. package/dist/Select/Select.styles.js +11 -11
  98. package/dist/Select/Select.styles.js.map +1 -1
  99. package/dist/Semantic/Semantic.styles.js +9 -9
  100. package/dist/Slider/Slider.styles.js +5 -5
  101. package/dist/Spinner/Spinner.styles.js +7 -7
  102. package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
  103. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  104. package/dist/SuperSelect/SuperSelect.styles.js +66 -66
  105. package/dist/SuperSelect/SuperSelect.styles.js.map +1 -1
  106. package/dist/SuperSelect/useSuperSelect.js +30 -30
  107. package/dist/SuperSelect/useSuperSelect.js.map +1 -1
  108. package/dist/Switch/Switch.styles.js +4 -4
  109. package/dist/Table/Table.js +80 -80
  110. package/dist/Table/Table.js.map +1 -1
  111. package/dist/Table/Table.styles.js +56 -56
  112. package/dist/Table/Table.styles.js.map +1 -1
  113. package/dist/TableShelf/TableShelf.styles.js +5 -5
  114. package/dist/Tabs/Tabs.styles.js +15 -15
  115. package/dist/Tearsheet/Tearsheet.js +1 -1
  116. package/dist/Tearsheet/Tearsheet.js.map +1 -1
  117. package/dist/Tearsheet/Tearsheet.styles.js +9 -9
  118. package/dist/Tearsheet/Tearsheet.styles.js.map +1 -1
  119. package/dist/TextArea/TextArea.styles.js +1 -1
  120. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  121. package/dist/Thumbnail/Thumbnail.hooks.d.ts +6 -6
  122. package/dist/Thumbnail/Thumbnail.styles.js +55 -55
  123. package/dist/Thumbnail/Thumbnail.styles.js.map +1 -1
  124. package/dist/ThumbnailGrid/ThumbnailGrid.js +16 -16
  125. package/dist/ThumbnailGrid/ThumbnailGrid.js.map +1 -1
  126. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  127. package/dist/TieredSelect/TierSelectionTieredSelect.js +7 -7
  128. package/dist/TieredSelect/TierSelectionTieredSelect.js.map +1 -1
  129. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  130. package/dist/Tile/Tile.styles.js +8 -8
  131. package/dist/Title/Title.styles.js +7 -7
  132. package/dist/Toast/Toast.styles.js +3 -3
  133. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  134. package/dist/Token/Token.styles.js +3 -3
  135. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  136. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  137. package/dist/Tooltip/Tooltip.styles.js +2 -2
  138. package/dist/Tree/Tree.hooks.js +1 -1
  139. package/dist/Tree/Tree.hooks.js.map +1 -1
  140. package/dist/Tree/Tree.js +12 -12
  141. package/dist/Tree/Tree.js.map +1 -1
  142. package/dist/Tree/Tree.styles.js +9 -9
  143. package/dist/Typeahead/Typeahead.styles.js +3 -3
  144. package/dist/Typography/Typography.styles.js +1 -1
  145. package/dist/Typography/Typography.table.story.js +2 -2
  146. package/dist/_hooks/I18n.d.ts +26 -9
  147. package/dist/_hooks/I18n.js +44 -26
  148. package/dist/_hooks/I18n.js.map +1 -1
  149. package/dist/_hooks/useFileUploader.js +1 -1
  150. package/dist/_hooks/useFileUploader.js.map +1 -1
  151. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
  152. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  153. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
  154. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  155. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  156. package/dist/_typedoc/Box/Box.types.json +68 -68
  157. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  158. package/dist/_typedoc/Button/Button.types.json +13 -13
  159. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  160. package/dist/_typedoc/Card/Card.types.json +6 -6
  161. package/dist/_typedoc/Checkbox/Checkbox.types.json +9 -9
  162. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  163. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  164. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  165. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  166. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  167. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +29 -29
  168. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  169. package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
  170. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  171. package/dist/_typedoc/FileSelect/FileSelect.types.json +26 -26
  172. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  173. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  174. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  175. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  176. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  177. package/dist/_typedoc/Form/Form.types.json +813 -813
  178. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  179. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  180. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  181. package/dist/_typedoc/Input/Input.types.json +2 -2
  182. package/dist/_typedoc/Link/Link.types.json +4 -4
  183. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  184. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  185. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  186. package/dist/_typedoc/Modal/Modal.types.json +46 -46
  187. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  188. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  189. package/dist/_typedoc/NumberInput/NumberInput.types.json +43 -43
  190. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +31 -31
  191. package/dist/_typedoc/PageLayout/PageLayout.types.json +29 -29
  192. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  193. package/dist/_typedoc/Panel/Panel.types.json +28 -28
  194. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  195. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  196. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  197. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +6 -6
  198. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  199. package/dist/_typedoc/Required/Required.types.json +5 -5
  200. package/dist/_typedoc/Search/Search.types.json +19 -19
  201. package/dist/_typedoc/Section/Section.types.json +15 -15
  202. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  203. package/dist/_typedoc/Select/Select.types.json +60 -60
  204. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  205. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  206. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  207. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +12 -12
  208. package/dist/_typedoc/Switch/Switch.types.json +3 -3
  209. package/dist/_typedoc/Table/Table.types.json +101 -101
  210. package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
  211. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  212. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  213. package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
  214. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  215. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  216. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
  217. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  218. package/dist/_typedoc/Tile/Tile.types.json +30 -30
  219. package/dist/_typedoc/Title/Title.types.json +1 -1
  220. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  221. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  222. package/dist/_typedoc/Token/Token.types.json +4 -4
  223. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  224. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
  225. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  226. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  227. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  228. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  229. package/dist/_typedoc/_utils/types.json +3 -3
  230. package/dist/_utils/runInQueue.js +1 -1
  231. package/dist/_utils/runInQueue.js.map +1 -1
  232. package/package.json +5 -2
@@ -28,35 +28,35 @@ var captionBase = /*#__PURE__*/css(["color:", ";font-size:12px;line-height:16px;
28
28
  });
29
29
  export var StyledMultilineCaption = /*#__PURE__*/styled.div.withConfig({
30
30
  displayName: "StyledMultilineCaption",
31
- componentId: "core-12_20_3__sc-195f70c-0"
31
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-0"
32
32
  })(["", " display:flex;word-wrap:break-word;overflow-wrap:break-word;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:", "px;"], captionBase, multilineCaptionMaxHeight);
33
33
  export var StyledCaptionText = /*#__PURE__*/styled.span.withConfig({
34
34
  displayName: "StyledCaptionText",
35
- componentId: "core-12_20_3__sc-195f70c-1"
35
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-1"
36
36
  })(["width:100%;"]);
37
37
  export var StyledPlaceholderCaption = /*#__PURE__*/styled.div.withConfig({
38
38
  displayName: "StyledPlaceholderCaption",
39
- componentId: "core-12_20_3__sc-195f70c-2"
39
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-2"
40
40
  })(["", ""], captionBase);
41
41
  export var StyledSingleLineCaption = /*#__PURE__*/styled.div.withConfig({
42
42
  displayName: "StyledSingleLineCaption",
43
- componentId: "core-12_20_3__sc-195f70c-3"
43
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-3"
44
44
  })(["display:flex;", ""], captionBase);
45
45
  export var StyledSinglelineCaptionBody = /*#__PURE__*/styled.span.withConfig({
46
46
  displayName: "StyledSinglelineCaptionBody",
47
- componentId: "core-12_20_3__sc-195f70c-4"
47
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-4"
48
48
  })(["", ""], getEllipsis);
49
49
  export var StyledSinglelineCaptionEnding = /*#__PURE__*/styled.span.withConfig({
50
50
  displayName: "StyledSinglelineCaptionEnding",
51
- componentId: "core-12_20_3__sc-195f70c-5"
51
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-5"
52
52
  })(["max-width:50%;white-space:nowrap;flex-shrink:0;"]);
53
53
  export var StyledLabelText = /*#__PURE__*/styled(Typography).withConfig({
54
54
  displayName: "StyledLabelText",
55
- componentId: "core-12_20_3__sc-195f70c-6"
55
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-6"
56
56
  })(["", ""], getEllipsis());
57
57
  export var StyledThumbnailFigCaption = /*#__PURE__*/styled.figcaption.withConfig({
58
58
  displayName: "StyledThumbnailFigCaption",
59
- componentId: "core-12_20_3__sc-195f70c-7"
59
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-7"
60
60
  })(["", " ", " color:", ";font-weight:", ";text-align:center;width:100%;position:absolute;bottom:0;right:0;left:0;opacity:0.85;height:", "px;padding:", "px ", "px;background-color:", ";"], getTypographyIntent('small'), getEllipsis(), function (_ref5) {
61
61
  var _ref5$$color = _ref5.$color,
62
62
  $color = _ref5$$color === void 0 ? 'gray15' : _ref5$$color;
@@ -64,7 +64,7 @@ export var StyledThumbnailFigCaption = /*#__PURE__*/styled.figcaption.withConfig
64
64
  }, typographyWeights.bold, labelHeight, spacing.sm / 2, spacing.sm, colors.white);
65
65
  export var StyledLabel = /*#__PURE__*/styled.div.withConfig({
66
66
  displayName: "StyledLabel",
67
- componentId: "core-12_20_3__sc-195f70c-8"
67
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-8"
68
68
  })(["display:flex;justify-content:center;position:absolute;bottom:0;right:0;left:0;opacity:0.85;height:", "px;padding:", "px ", "px;font-size:", "px;background-color:", ";"], labelHeight, spacing.sm / 2, spacing.sm, labelFontSize, colors.white);
69
69
  var thumbnailBase = /*#__PURE__*/css(["display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;border:1px solid ", ";border-radius:", "px;margin:0;", " ", " &:focus{", ";}", " ", " ", ""], colors.gray85, borderRadius.md, function (_ref6) {
70
70
  var clickable = _ref6.clickable;
@@ -79,98 +79,98 @@ var thumbnailBase = /*#__PURE__*/css(["display:flex;justify-content:center;align
79
79
  var disabled = _ref9.disabled,
80
80
  clickable = _ref9.clickable;
81
81
  return disabled && clickable ? 'cursor: not-allowed;' : '';
82
- }, function (_ref10) {
83
- var size = _ref10.size;
82
+ }, function (_ref0) {
83
+ var size = _ref0.size;
84
84
  var sizeInPx = "".concat(size === 'lg' ? thumbnailSizeLg : thumbnailSizeSm, "px");
85
85
  return "\n width: ".concat(sizeInPx, ";\n height: ").concat(sizeInPx, ";\n ");
86
86
  });
87
87
  export var StyledTickIcon = /*#__PURE__*/styled.svg.withConfig({
88
88
  displayName: "StyledTickIcon",
89
- componentId: "core-12_20_3__sc-195f70c-9"
90
- })(["position:absolute;top:", "px;right:", "px;width:", "px;height:", "px;opacity:0;transform:scale(0.75);transition:transform 250ms ease-out,opacity 100ms ease-out;", " ", ""], spacing.sm, spacing.sm, tickSize, tickSize, function (_ref11) {
91
- var selected = _ref11.selected;
89
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-9"
90
+ })(["position:absolute;top:", "px;right:", "px;width:", "px;height:", "px;opacity:0;transform:scale(0.75);transition:transform 250ms ease-out,opacity 100ms ease-out;", " ", ""], spacing.sm, spacing.sm, tickSize, tickSize, function (_ref1) {
91
+ var selected = _ref1.selected;
92
92
  return selected ? "\n opacity: 1;\n transform: scale(1);\n " : '';
93
- }, function (_ref12) {
94
- var size = _ref12.size;
93
+ }, function (_ref10) {
94
+ var size = _ref10.size;
95
95
  return size === 'sm' ? "\n top: 50%;\n left: 50%;\n margin-top: ".concat(-tickSize / 2, "px;\n margin-left: ").concat(-tickSize / 2, "px;\n ") : '';
96
96
  });
97
97
  export var StyledFileIcon = /*#__PURE__*/styled(DocumentIcon).withConfig({
98
98
  displayName: "StyledFileIcon",
99
- componentId: "core-12_20_3__sc-195f70c-10"
99
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-10"
100
100
  })(["width:36.5%;height:auto;"]);
101
101
  export var StyledImageThumbnailPreview = /*#__PURE__*/styled.div.withConfig({
102
102
  displayName: "StyledImageThumbnailPreview",
103
- componentId: "core-12_20_3__sc-195f70c-11"
104
- })(["width:100%;height:100%;background-size:cover;background-repeat:no-repeat;background-position:center;", ""], function (_ref13) {
105
- var $bgImage = _ref13.$bgImage;
103
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-11"
104
+ })(["width:100%;height:100%;background-size:cover;background-repeat:no-repeat;background-position:center;", ""], function (_ref11) {
105
+ var $bgImage = _ref11.$bgImage;
106
106
  return css(["background-image:url(", ");"], $bgImage);
107
107
  });
108
108
  export var StyledImageThumbnailOverlay = /*#__PURE__*/styled.div.withConfig({
109
109
  displayName: "StyledImageThumbnailOverlay",
110
- componentId: "core-12_20_3__sc-195f70c-12"
110
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-12"
111
111
  })(["display:none;position:absolute;top:0;bottom:0;left:0;right:0;"]);
112
112
  var blackOverlay = "\n background-color: ".concat(colors.black, ";\n opacity: 0.2;\n");
113
113
  var whiteOverlay = "\n background-color: ".concat(colors.white, ";\n opacity: 0.5;\n");
114
114
  export var StyledImageThumbnailImage = /*#__PURE__*/styled.img.withConfig({
115
115
  displayName: "StyledImageThumbnailImage",
116
- componentId: "core-12_20_3__sc-195f70c-13"
116
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-13"
117
117
  })([""]);
118
118
  export var StyledImageThumbnail = /*#__PURE__*/styled.div.withConfig({
119
119
  displayName: "StyledImageThumbnail",
120
- componentId: "core-12_20_3__sc-195f70c-14"
121
- })(["", " flex-direction:column;", " ", " ", " ", " ", " ", ""], thumbnailBase, function (_ref14) {
122
- var disabled = _ref14.disabled;
120
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-14"
121
+ })(["", " flex-direction:column;", " ", " ", " ", " ", " ", ""], thumbnailBase, function (_ref12) {
122
+ var disabled = _ref12.disabled;
123
123
  return disabled ? "\n &,\n &:hover {\n ".concat(StyledImageThumbnailOverlay, " {\n display: block;\n ").concat(whiteOverlay, "\n }\n }\n ").concat(StyledImageThumbnailPreview, ",\n ").concat(StyledTickIcon, ",\n ").concat(StyledImageThumbnailImage, " {\n filter: saturate(0);\n }\n ").concat(StyledFileIcon, " {\n filter: saturate(0);\n z-index: -1;\n }\n ") : '';
124
+ }, function (_ref13) {
125
+ var selected = _ref13.selected,
126
+ focused = _ref13.focused,
127
+ disabled = _ref13.disabled;
128
+ return focused && disabled ? selected ? "\n ".concat(StyledTickIcon, " {\n z-index: 0;\n }\n ") : "\n ".concat(StyledTickIcon, " {\n z-index: 1;\n }\n ") : '';
129
+ }, function (_ref14) {
130
+ var selected = _ref14.selected,
131
+ focused = _ref14.focused;
132
+ return selected && focused ? "\n ".concat(StyledTickIcon, " {\n z-index: 1;\n }\n ") : '';
124
133
  }, function (_ref15) {
125
134
  var selected = _ref15.selected,
126
135
  focused = _ref15.focused,
127
136
  disabled = _ref15.disabled;
128
- return focused && disabled ? selected ? "\n ".concat(StyledTickIcon, " {\n z-index: 0;\n }\n ") : "\n ".concat(StyledTickIcon, " {\n z-index: 1;\n }\n ") : '';
137
+ return selected && focused && disabled ? "\n ".concat(StyledTickIcon, " {\n z-index: 0;\n }\n ") : '';
129
138
  }, function (_ref16) {
130
- var selected = _ref16.selected,
131
- focused = _ref16.focused;
132
- return selected && focused ? "\n ".concat(StyledTickIcon, " {\n z-index: 1;\n }\n ") : '';
139
+ var focused = _ref16.focused,
140
+ disabled = _ref16.disabled;
141
+ return focused && !disabled ? "\n ".concat(StyledImageThumbnailOverlay, " {\n display: block;\n }\n ") : '';
133
142
  }, function (_ref17) {
134
- var selected = _ref17.selected,
135
- focused = _ref17.focused,
143
+ var clickable = _ref17.clickable,
136
144
  disabled = _ref17.disabled;
137
- return selected && focused && disabled ? "\n ".concat(StyledTickIcon, " {\n z-index: 0;\n }\n ") : '';
138
- }, function (_ref18) {
139
- var focused = _ref18.focused,
140
- disabled = _ref18.disabled;
141
- return focused && !disabled ? "\n ".concat(StyledImageThumbnailOverlay, " {\n display: block;\n }\n ") : '';
142
- }, function (_ref19) {
143
- var clickable = _ref19.clickable,
144
- disabled = _ref19.disabled;
145
145
  return clickable && !disabled ? "\n &:hover {\n ".concat(StyledImageThumbnailOverlay, " {\n display: block;\n ").concat(blackOverlay, "\n }\n }\n ") : '';
146
146
  });
147
147
  export var StyledThumbnailWrapper = /*#__PURE__*/styled.div.withConfig({
148
148
  displayName: "StyledThumbnailWrapper",
149
- componentId: "core-12_20_3__sc-195f70c-15"
150
- })(["display:flex;", " ", ""], function (_ref20) {
151
- var size = _ref20.size;
149
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-15"
150
+ })(["display:flex;", " ", ""], function (_ref18) {
151
+ var size = _ref18.size;
152
152
  return size === 'lg' ? "\n width: ".concat(thumbnailSizeLg, "px;\n ") : '';
153
- }, function (_ref21) {
154
- var layout = _ref21.layout;
153
+ }, function (_ref19) {
154
+ var layout = _ref19.layout;
155
155
  var isRowLayout = layout === 'row';
156
156
  return isRowLayout ? "\n flex-direction: row;\n aligh-items: center;\n " : "\n flex-direction: column;\n aligh-items: flex-start;\n ";
157
157
  });
158
158
  export var StyledPlaceholderThumbnail = /*#__PURE__*/styled.div.withConfig({
159
159
  displayName: "StyledPlaceholderThumbnail",
160
- componentId: "core-12_20_3__sc-195f70c-16"
161
- })(["", " ", " ", " ", " ", ""], thumbnailBase, function (_ref22) {
162
- var clickable = _ref22.clickable;
160
+ componentId: "core-12_21_0-cdn_0__sc-195f70c-16"
161
+ })(["", " ", " ", " ", " ", ""], thumbnailBase, function (_ref20) {
162
+ var clickable = _ref20.clickable;
163
163
  return clickable ? "\n &:hover {\n background-color: ".concat(colors.gray96, ";\n }\n\n ") : '';
164
- }, function (_ref23) {
165
- var selected = _ref23.selected,
166
- size = _ref23.size;
164
+ }, function (_ref21) {
165
+ var selected = _ref21.selected,
166
+ size = _ref21.size;
167
167
  return selected && size === 'sm' ? "\n ".concat(StyledFileIcon, " {\n display: none;\n }\n ") : '';
168
- }, function (_ref24) {
169
- var disabled = _ref24.disabled;
168
+ }, function (_ref22) {
169
+ var disabled = _ref22.disabled;
170
170
  return disabled ? "\n ".concat(StyledFileIcon, ",\n ").concat(StyledTickIcon, " {\n filter: saturate(0);\n opacity: 0.5;\n }\n\n &:hover {\n background-color: inherit;\n }\n ") : '';
171
- }, function (_ref25) {
172
- var disabled = _ref25.disabled,
173
- selected = _ref25.selected;
171
+ }, function (_ref23) {
172
+ var disabled = _ref23.disabled,
173
+ selected = _ref23.selected;
174
174
  return disabled && !selected ? "\n ".concat(StyledTickIcon, " {\n opacity: 0;\n transform: scale(0.75);\n }\n ") : '';
175
175
  });
176
176
  //# sourceMappingURL=Thumbnail.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Thumbnail.styles.js","names":["styled","css","Typography","getTypographyIntent","typographyWeights","borderRadius","colors","getEllipsis","getFocus","spacing","DocumentIcon","thumbnailSizeSm","thumbnailSizeLg","labelHeight","labelFontSize","tickSize","rowLayoutCaptionWidth","multilineCaptionMaxHeight","lg","captionBase","gray15","_ref","layout","concat","sm","_ref2","xs","_ref3","error","red50","_ref4","disabled","gray70","StyledMultilineCaption","div","withConfig","displayName","componentId","StyledCaptionText","span","StyledPlaceholderCaption","StyledSingleLineCaption","StyledSinglelineCaptionBody","StyledSinglelineCaptionEnding","StyledLabelText","StyledThumbnailFigCaption","figcaption","_ref5","_ref5$$color","$color","bold","white","StyledLabel","thumbnailBase","gray85","md","_ref6","clickable","_ref7","selected","StyledTickIcon","_ref8","focused","_ref9","_ref10","size","sizeInPx","svg","_ref11","_ref12","StyledFileIcon","StyledImageThumbnailPreview","_ref13","$bgImage","StyledImageThumbnailOverlay","blackOverlay","black","whiteOverlay","StyledImageThumbnailImage","img","StyledImageThumbnail","_ref14","_ref15","_ref16","_ref17","_ref18","_ref19","StyledThumbnailWrapper","_ref20","_ref21","isRowLayout","StyledPlaceholderThumbnail","_ref22","gray96","_ref23","_ref24","_ref25"],"sources":["../../src/Thumbnail/Thumbnail.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport type { TypographyProps } from '../Typography'\nimport { Typography } from '../Typography'\nimport {\n getTypographyIntent,\n typographyWeights,\n} from '../Typography/Typography.styles'\nimport { borderRadius } from '../_styles/borderRadius'\nimport { colors } from '../_styles/colors'\nimport { getEllipsis, getFocus } from '../_styles/mixins'\nimport { spacing } from '../_styles/spacing'\nimport type { LayoutVariant, QaTags, SizeVariant } from './Thumbnail.types'\nimport { DocumentIcon } from './ThumbnailDocumentIcon'\n\nconst thumbnailSizeSm = 40\nconst thumbnailSizeLg = 104\nconst labelHeight = 24\nconst labelFontSize = 12\nconst tickSize = 24\nconst rowLayoutCaptionWidth = 288\nconst multilineCaptionMaxHeight = spacing.lg * 2\n\ninterface CaptionProps {\n layout: LayoutVariant\n error: boolean\n disabled: boolean\n}\n\ninterface StyledThumbnailProps {\n focused: boolean\n disabled: boolean\n selected: boolean\n clickable: boolean\n size: SizeVariant\n}\n\ninterface StyledTickIconProps {\n selected: boolean\n size: SizeVariant\n}\n\nconst captionBase = css<CaptionProps>`\n color: ${colors.gray15};\n font-size: 12px;\n line-height: 16px;\n letter-spacing: 0.4px;\n font-weight: 500;\n ${({ layout }) =>\n layout === 'row'\n ? `\n align-items: center;\n margin-left: ${spacing.sm}px;\n width: ${rowLayoutCaptionWidth}px;\n `\n : ''}\n ${({ layout }) =>\n layout === 'column'\n ? `\n margin-top: ${spacing.xs / 2}px;\n width: ${thumbnailSizeLg}px;\n `\n : ''}\n\n ${({ error }) => (error ? `color: ${colors.red50};` : '')}\n ${({ disabled }) => (disabled ? `color: ${colors.gray70};` : '')}\n`\n\nexport const StyledMultilineCaption = styled.div<CaptionProps>`\n ${captionBase}\n display: flex;\n word-wrap: break-word;\n // for IE11, use word-wrap property\n overflow-wrap: break-word;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n\n // limit height for browsers that do not support line-clamp CSS prop\n max-height: ${multilineCaptionMaxHeight}px;\n`\n\nexport const StyledCaptionText = styled.span`\n // fix word wrap issue in IE\n width: 100%;\n`\n\nexport const StyledPlaceholderCaption = styled.div`\n ${captionBase}\n`\n\nexport const StyledSingleLineCaption = styled.div`\n display: flex;\n ${captionBase}\n`\n\nexport const StyledSinglelineCaptionBody = styled.span`\n ${getEllipsis}\n`\n\nexport const StyledSinglelineCaptionEnding = styled.span`\n max-width: 50%;\n white-space: nowrap;\n flex-shrink: 0;\n`\n\nexport const StyledLabelText = styled(Typography)`\n ${getEllipsis()}\n`\n\nexport const StyledThumbnailFigCaption = styled.figcaption<{\n $color?: TypographyProps['color']\n}>`\n ${getTypographyIntent('small')}\n ${getEllipsis()}\n color: ${({ $color = 'gray15' }) => colors[$color]};\n font-weight: ${typographyWeights.bold};\n text-align: center;\n width: 100%;\n position: absolute;\n bottom: 0;\n right: 0;\n left: 0;\n opacity: 0.85;\n height: ${labelHeight}px;\n padding: ${spacing.sm / 2}px ${spacing.sm}px;\n background-color: ${colors.white};\n`\n\nexport const StyledLabel = styled.div`\n display: flex;\n justify-content: center;\n position: absolute;\n bottom: 0;\n right: 0;\n left: 0;\n opacity: 0.85;\n height: ${labelHeight}px;\n padding: ${spacing.sm / 2}px ${spacing.sm}px;\n font-size: ${labelFontSize}px;\n background-color: ${colors.white};\n`\n\nconst thumbnailBase = css<StyledThumbnailProps>`\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n overflow: hidden;\n border: 1px solid ${colors.gray85};\n border-radius: ${borderRadius.md}px;\n margin: 0;\n\n ${({ clickable }) => (clickable ? 'cursor: pointer;' : '')}\n\n ${({ selected }) =>\n selected\n ? `\n ${StyledTickIcon} {\n opacity: 1;\n transform: scale(1);\n }\n `\n : ''}\n\n &:focus {\n ${getFocus()};\n }\n\n ${({ focused }) => focused && getFocus()}\n\n ${({ disabled, clickable }) =>\n disabled && clickable ? 'cursor: not-allowed;' : ''}\n\n ${({ size }) => {\n const sizeInPx = `${size === 'lg' ? thumbnailSizeLg : thumbnailSizeSm}px`\n return `\n width: ${sizeInPx};\n height: ${sizeInPx};\n `\n }}\n`\n\nexport const StyledTickIcon = styled.svg<StyledTickIconProps>`\n position: absolute;\n top: ${spacing.sm}px;\n right: ${spacing.sm}px;\n width: ${tickSize}px;\n height: ${tickSize}px;\n opacity: 0;\n transform: scale(0.75);\n transition: transform 250ms ease-out, opacity 100ms ease-out;\n\n ${({ selected }) =>\n selected\n ? `\n opacity: 1;\n transform: scale(1);\n `\n : ''}\n\n ${({ size }) =>\n size === 'sm'\n ? `\n top: 50%;\n left: 50%;\n margin-top: ${-tickSize / 2}px;\n margin-left: ${-tickSize / 2}px;\n `\n : ''}\n`\n\nexport const StyledFileIcon = styled(DocumentIcon)`\n width: 36.5%;\n height: auto;\n`\n\nexport const StyledImageThumbnailPreview = styled.div<{ $bgImage: string }>`\n width: 100%;\n height: 100%;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n ${({ $bgImage }) => css`\n background-image: url(${$bgImage});\n `}\n`\n\nexport const StyledImageThumbnailOverlay = styled.div`\n display: none;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n`\n\nconst blackOverlay = `\n background-color: ${colors.black};\n opacity: 0.2;\n`\n\nconst whiteOverlay = `\n background-color: ${colors.white};\n opacity: 0.5;\n`\n\nexport const StyledImageThumbnailImage = styled.img``\n\nexport const StyledImageThumbnail = styled.div<StyledThumbnailProps>`\n ${thumbnailBase}\n flex-direction: column;\n\n ${({ disabled }) =>\n disabled\n ? `\n &,\n &:hover {\n ${StyledImageThumbnailOverlay} {\n display: block;\n ${whiteOverlay}\n }\n }\n ${StyledImageThumbnailPreview},\n ${StyledTickIcon},\n ${StyledImageThumbnailImage} {\n filter: saturate(0);\n }\n ${StyledFileIcon} {\n filter: saturate(0);\n z-index: -1;\n }\n `\n : ''}\n\n ${({ selected, focused, disabled }) =>\n focused && disabled\n ? selected\n ? `\n ${StyledTickIcon} {\n z-index: 0;\n }\n `\n : `\n ${StyledTickIcon} {\n z-index: 1;\n }\n `\n : ''}\n\n ${({ selected, focused }) =>\n selected && focused\n ? `\n ${StyledTickIcon} {\n z-index: 1;\n }\n `\n : ''}\n\n ${({ selected, focused, disabled }) =>\n selected && focused && disabled\n ? `\n ${StyledTickIcon} {\n z-index: 0;\n }\n `\n : ''}\n\n ${({ focused, disabled }) =>\n focused && !disabled\n ? `\n ${StyledImageThumbnailOverlay} {\n display: block;\n }\n `\n : ''}\n\n ${({ clickable, disabled }) =>\n clickable && !disabled\n ? `\n &:hover {\n ${StyledImageThumbnailOverlay} {\n display: block;\n ${blackOverlay}\n }\n }\n `\n : ''}\n`\n\nexport const StyledThumbnailWrapper = styled.div<{\n layout: LayoutVariant\n size: SizeVariant\n qa?: QaTags\n}>`\n display: flex;\n ${({ size }) =>\n size === 'lg'\n ? `\n width: ${thumbnailSizeLg}px;\n `\n : ''}\n ${({ layout }) => {\n const isRowLayout = layout === 'row'\n return isRowLayout\n ? `\n flex-direction: row;\n aligh-items: center;\n `\n : `\n flex-direction: column;\n aligh-items: flex-start;\n `\n }}\n`\n\nexport const StyledPlaceholderThumbnail = styled.div<StyledThumbnailProps>`\n ${thumbnailBase}\n\n ${({ clickable }) =>\n clickable\n ? `\n &:hover {\n background-color: ${colors.gray96};\n }\n\n `\n : ''}\n\n ${({ selected, size }) =>\n selected && size === 'sm'\n ? `\n ${StyledFileIcon} {\n display: none;\n }\n `\n : ''}\n\n ${({ disabled }) =>\n disabled\n ? `\n ${StyledFileIcon},\n ${StyledTickIcon} {\n filter: saturate(0);\n opacity: 0.5;\n }\n\n &:hover {\n background-color: inherit;\n }\n `\n : ''}\n\n ${({ disabled, selected }) =>\n disabled && !selected\n ? `\n ${StyledTickIcon} {\n opacity: 0;\n transform: scale(0.75);\n }\n `\n : ''}\n`\n"],"mappings":"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"}
1
+ {"version":3,"file":"Thumbnail.styles.js","names":["styled","css","Typography","getTypographyIntent","typographyWeights","borderRadius","colors","getEllipsis","getFocus","spacing","DocumentIcon","thumbnailSizeSm","thumbnailSizeLg","labelHeight","labelFontSize","tickSize","rowLayoutCaptionWidth","multilineCaptionMaxHeight","lg","captionBase","gray15","_ref","layout","concat","sm","_ref2","xs","_ref3","error","red50","_ref4","disabled","gray70","StyledMultilineCaption","div","withConfig","displayName","componentId","StyledCaptionText","span","StyledPlaceholderCaption","StyledSingleLineCaption","StyledSinglelineCaptionBody","StyledSinglelineCaptionEnding","StyledLabelText","StyledThumbnailFigCaption","figcaption","_ref5","_ref5$$color","$color","bold","white","StyledLabel","thumbnailBase","gray85","md","_ref6","clickable","_ref7","selected","StyledTickIcon","_ref8","focused","_ref9","_ref0","size","sizeInPx","svg","_ref1","_ref10","StyledFileIcon","StyledImageThumbnailPreview","_ref11","$bgImage","StyledImageThumbnailOverlay","blackOverlay","black","whiteOverlay","StyledImageThumbnailImage","img","StyledImageThumbnail","_ref12","_ref13","_ref14","_ref15","_ref16","_ref17","StyledThumbnailWrapper","_ref18","_ref19","isRowLayout","StyledPlaceholderThumbnail","_ref20","gray96","_ref21","_ref22","_ref23"],"sources":["../../src/Thumbnail/Thumbnail.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport type { TypographyProps } from '../Typography'\nimport { Typography } from '../Typography'\nimport {\n getTypographyIntent,\n typographyWeights,\n} from '../Typography/Typography.styles'\nimport { borderRadius } from '../_styles/borderRadius'\nimport { colors } from '../_styles/colors'\nimport { getEllipsis, getFocus } from '../_styles/mixins'\nimport { spacing } from '../_styles/spacing'\nimport type { LayoutVariant, QaTags, SizeVariant } from './Thumbnail.types'\nimport { DocumentIcon } from './ThumbnailDocumentIcon'\n\nconst thumbnailSizeSm = 40\nconst thumbnailSizeLg = 104\nconst labelHeight = 24\nconst labelFontSize = 12\nconst tickSize = 24\nconst rowLayoutCaptionWidth = 288\nconst multilineCaptionMaxHeight = spacing.lg * 2\n\ninterface CaptionProps {\n layout: LayoutVariant\n error: boolean\n disabled: boolean\n}\n\ninterface StyledThumbnailProps {\n focused: boolean\n disabled: boolean\n selected: boolean\n clickable: boolean\n size: SizeVariant\n}\n\ninterface StyledTickIconProps {\n selected: boolean\n size: SizeVariant\n}\n\nconst captionBase = css<CaptionProps>`\n color: ${colors.gray15};\n font-size: 12px;\n line-height: 16px;\n letter-spacing: 0.4px;\n font-weight: 500;\n ${({ layout }) =>\n layout === 'row'\n ? `\n align-items: center;\n margin-left: ${spacing.sm}px;\n width: ${rowLayoutCaptionWidth}px;\n `\n : ''}\n ${({ layout }) =>\n layout === 'column'\n ? `\n margin-top: ${spacing.xs / 2}px;\n width: ${thumbnailSizeLg}px;\n `\n : ''}\n\n ${({ error }) => (error ? `color: ${colors.red50};` : '')}\n ${({ disabled }) => (disabled ? `color: ${colors.gray70};` : '')}\n`\n\nexport const StyledMultilineCaption = styled.div<CaptionProps>`\n ${captionBase}\n display: flex;\n word-wrap: break-word;\n // for IE11, use word-wrap property\n overflow-wrap: break-word;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n\n // limit height for browsers that do not support line-clamp CSS prop\n max-height: ${multilineCaptionMaxHeight}px;\n`\n\nexport const StyledCaptionText = styled.span`\n // fix word wrap issue in IE\n width: 100%;\n`\n\nexport const StyledPlaceholderCaption = styled.div`\n ${captionBase}\n`\n\nexport const StyledSingleLineCaption = styled.div`\n display: flex;\n ${captionBase}\n`\n\nexport const StyledSinglelineCaptionBody = styled.span`\n ${getEllipsis}\n`\n\nexport const StyledSinglelineCaptionEnding = styled.span`\n max-width: 50%;\n white-space: nowrap;\n flex-shrink: 0;\n`\n\nexport const StyledLabelText = styled(Typography)`\n ${getEllipsis()}\n`\n\nexport const StyledThumbnailFigCaption = styled.figcaption<{\n $color?: TypographyProps['color']\n}>`\n ${getTypographyIntent('small')}\n ${getEllipsis()}\n color: ${({ $color = 'gray15' }) => colors[$color]};\n font-weight: ${typographyWeights.bold};\n text-align: center;\n width: 100%;\n position: absolute;\n bottom: 0;\n right: 0;\n left: 0;\n opacity: 0.85;\n height: ${labelHeight}px;\n padding: ${spacing.sm / 2}px ${spacing.sm}px;\n background-color: ${colors.white};\n`\n\nexport const StyledLabel = styled.div`\n display: flex;\n justify-content: center;\n position: absolute;\n bottom: 0;\n right: 0;\n left: 0;\n opacity: 0.85;\n height: ${labelHeight}px;\n padding: ${spacing.sm / 2}px ${spacing.sm}px;\n font-size: ${labelFontSize}px;\n background-color: ${colors.white};\n`\n\nconst thumbnailBase = css<StyledThumbnailProps>`\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n overflow: hidden;\n border: 1px solid ${colors.gray85};\n border-radius: ${borderRadius.md}px;\n margin: 0;\n\n ${({ clickable }) => (clickable ? 'cursor: pointer;' : '')}\n\n ${({ selected }) =>\n selected\n ? `\n ${StyledTickIcon} {\n opacity: 1;\n transform: scale(1);\n }\n `\n : ''}\n\n &:focus {\n ${getFocus()};\n }\n\n ${({ focused }) => focused && getFocus()}\n\n ${({ disabled, clickable }) =>\n disabled && clickable ? 'cursor: not-allowed;' : ''}\n\n ${({ size }) => {\n const sizeInPx = `${size === 'lg' ? thumbnailSizeLg : thumbnailSizeSm}px`\n return `\n width: ${sizeInPx};\n height: ${sizeInPx};\n `\n }}\n`\n\nexport const StyledTickIcon = styled.svg<StyledTickIconProps>`\n position: absolute;\n top: ${spacing.sm}px;\n right: ${spacing.sm}px;\n width: ${tickSize}px;\n height: ${tickSize}px;\n opacity: 0;\n transform: scale(0.75);\n transition: transform 250ms ease-out, opacity 100ms ease-out;\n\n ${({ selected }) =>\n selected\n ? `\n opacity: 1;\n transform: scale(1);\n `\n : ''}\n\n ${({ size }) =>\n size === 'sm'\n ? `\n top: 50%;\n left: 50%;\n margin-top: ${-tickSize / 2}px;\n margin-left: ${-tickSize / 2}px;\n `\n : ''}\n`\n\nexport const StyledFileIcon = styled(DocumentIcon)`\n width: 36.5%;\n height: auto;\n`\n\nexport const StyledImageThumbnailPreview = styled.div<{ $bgImage: string }>`\n width: 100%;\n height: 100%;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n ${({ $bgImage }) => css`\n background-image: url(${$bgImage});\n `}\n`\n\nexport const StyledImageThumbnailOverlay = styled.div`\n display: none;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n`\n\nconst blackOverlay = `\n background-color: ${colors.black};\n opacity: 0.2;\n`\n\nconst whiteOverlay = `\n background-color: ${colors.white};\n opacity: 0.5;\n`\n\nexport const StyledImageThumbnailImage = styled.img``\n\nexport const StyledImageThumbnail = styled.div<StyledThumbnailProps>`\n ${thumbnailBase}\n flex-direction: column;\n\n ${({ disabled }) =>\n disabled\n ? `\n &,\n &:hover {\n ${StyledImageThumbnailOverlay} {\n display: block;\n ${whiteOverlay}\n }\n }\n ${StyledImageThumbnailPreview},\n ${StyledTickIcon},\n ${StyledImageThumbnailImage} {\n filter: saturate(0);\n }\n ${StyledFileIcon} {\n filter: saturate(0);\n z-index: -1;\n }\n `\n : ''}\n\n ${({ selected, focused, disabled }) =>\n focused && disabled\n ? selected\n ? `\n ${StyledTickIcon} {\n z-index: 0;\n }\n `\n : `\n ${StyledTickIcon} {\n z-index: 1;\n }\n `\n : ''}\n\n ${({ selected, focused }) =>\n selected && focused\n ? `\n ${StyledTickIcon} {\n z-index: 1;\n }\n `\n : ''}\n\n ${({ selected, focused, disabled }) =>\n selected && focused && disabled\n ? `\n ${StyledTickIcon} {\n z-index: 0;\n }\n `\n : ''}\n\n ${({ focused, disabled }) =>\n focused && !disabled\n ? `\n ${StyledImageThumbnailOverlay} {\n display: block;\n }\n `\n : ''}\n\n ${({ clickable, disabled }) =>\n clickable && !disabled\n ? `\n &:hover {\n ${StyledImageThumbnailOverlay} {\n display: block;\n ${blackOverlay}\n }\n }\n `\n : ''}\n`\n\nexport const StyledThumbnailWrapper = styled.div<{\n layout: LayoutVariant\n size: SizeVariant\n qa?: QaTags\n}>`\n display: flex;\n ${({ size }) =>\n size === 'lg'\n ? `\n width: ${thumbnailSizeLg}px;\n `\n : ''}\n ${({ layout }) => {\n const isRowLayout = layout === 'row'\n return isRowLayout\n ? `\n flex-direction: row;\n aligh-items: center;\n `\n : `\n flex-direction: column;\n aligh-items: flex-start;\n `\n }}\n`\n\nexport const StyledPlaceholderThumbnail = styled.div<StyledThumbnailProps>`\n ${thumbnailBase}\n\n ${({ clickable }) =>\n clickable\n ? `\n &:hover {\n background-color: ${colors.gray96};\n }\n\n `\n : ''}\n\n ${({ selected, size }) =>\n selected && size === 'sm'\n ? `\n ${StyledFileIcon} {\n display: none;\n }\n `\n : ''}\n\n ${({ disabled }) =>\n disabled\n ? `\n ${StyledFileIcon},\n ${StyledTickIcon} {\n filter: saturate(0);\n opacity: 0.5;\n }\n\n &:hover {\n background-color: inherit;\n }\n `\n : ''}\n\n ${({ disabled, selected }) =>\n disabled && !selected\n ? `\n ${StyledTickIcon} {\n opacity: 0;\n transform: scale(0.75);\n }\n `\n : ''}\n`\n"],"mappings":"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"}
@@ -323,8 +323,8 @@ export var ThumbnailGrid = /*#__PURE__*/React.forwardRef(function (_ref7, forwar
323
323
  indicesRows: navigationIndicesRows
324
324
  });
325
325
  var isThumbnailSelected = function isThumbnailSelected(thumbnail) {
326
- return selected.some(function (_ref10) {
327
- var id = _ref10.id;
326
+ return selected.some(function (_ref0) {
327
+ var id = _ref0.id;
328
328
  return thumbnail.id === id;
329
329
  });
330
330
  };
@@ -453,9 +453,9 @@ export var ThumbnailGrid = /*#__PURE__*/React.forwardRef(function (_ref7, forwar
453
453
  return index < rows.length - 1;
454
454
  },
455
455
  threshold: 0
456
- }, function (_ref11) {
457
- var _onItemsRendered = _ref11.onItemsRendered,
458
- infiniteLoaderRef = _ref11.ref;
456
+ }, function (_ref1) {
457
+ var _onItemsRendered = _ref1.onItemsRendered,
458
+ infiniteLoaderRef = _ref1.ref;
459
459
  return /*#__PURE__*/React.createElement(StyledVariableSizeGrid, {
460
460
  width: gridContainerWidth,
461
461
  height: gridHeight,
@@ -469,11 +469,11 @@ export var ThumbnailGrid = /*#__PURE__*/React.forwardRef(function (_ref7, forwar
469
469
  },
470
470
  innerElementType: GridInnerContainer,
471
471
  overscanRowCount: 2,
472
- onItemsRendered: function onItemsRendered(_ref12) {
473
- var visibleRowStartIndex = _ref12.visibleRowStartIndex,
474
- visibleRowStopIndex = _ref12.visibleRowStopIndex,
475
- overscanRowStopIndex = _ref12.overscanRowStopIndex,
476
- overscanRowStartIndex = _ref12.overscanRowStartIndex;
472
+ onItemsRendered: function onItemsRendered(_ref10) {
473
+ var visibleRowStartIndex = _ref10.visibleRowStartIndex,
474
+ visibleRowStopIndex = _ref10.visibleRowStopIndex,
475
+ overscanRowStopIndex = _ref10.overscanRowStopIndex,
476
+ overscanRowStartIndex = _ref10.overscanRowStartIndex;
477
477
  _onItemsRendered({
478
478
  overscanStartIndex: overscanRowStartIndex,
479
479
  overscanStopIndex: overscanRowStopIndex,
@@ -485,11 +485,11 @@ export var ThumbnailGrid = /*#__PURE__*/React.forwardRef(function (_ref7, forwar
485
485
  style: {
486
486
  overflow: 'hidden'
487
487
  }
488
- }, function (_ref13) {
488
+ }, function (_ref11) {
489
489
  var _qa$thumbnail;
490
- var columnIndex = _ref13.columnIndex,
491
- rowIndex = _ref13.rowIndex,
492
- style = _ref13.style;
490
+ var columnIndex = _ref11.columnIndex,
491
+ rowIndex = _ref11.rowIndex,
492
+ style = _ref11.style;
493
493
  var cellData = rows[rowIndex][columnIndex];
494
494
  if (!cellData) return null;
495
495
  if ('title' in cellData) {
@@ -551,9 +551,9 @@ export var ThumbnailGrid = /*#__PURE__*/React.forwardRef(function (_ref7, forwar
551
551
  onChange: function onChange() {
552
552
  toggle(cellData);
553
553
  },
554
- onClick: function onClick(_ref14) {
554
+ onClick: function onClick(_ref12) {
555
555
  var _dataset;
556
- var target = _ref14.target;
556
+ var target = _ref12.target;
557
557
  var isCaptionTooltipClick = (_dataset = target.dataset) === null || _dataset === void 0 ? void 0 : _dataset.captionTooltip;
558
558
  if (isCaptionTooltipClick) return;
559
559
  navigation.setIndex(thumbnailNavigationIndex);
@@ -1 +1 @@
1
- {"version":3,"file":"ThumbnailGrid.js","names":["useFocusWithin","React","InfiniteLoader","Spinner","Tooltip","useI18nContext","mergeRefs","useGridNavigation","StyledCheckbox","StyledGroupCell","StyledGroupTitle","StyledSpinnerWrapper","StyledThumbnail","StyledThumbnailGrid","StyledVariableSizeGrid","noop","asyncNoop","Promise","resolve","titleHeight","titleTopPadding","thumbnailHeight","thumbnailWidh","defaultColumnsCount","gutterSize","columnWidth","gridLeftPadding","defaultGridWidth","defaultGridHeight","getId","item","id","getGridRows","_ref","items","groups","title","_ref$isFetching","isFetching","groupTitleFallback","_ref$columnsCount","columnsCount","splitToRows","reduce","acc","index","rowIndex","Math","floor","row","push","splitToGroupedRows","groupedRows","groupedThumbnails","_item$groupId","groupId","String","group","get","set","Map","map","_ref2","forEach","groupRows","length","_groups$find","groupTitleRow","find","_ref3","unshift","concat","_toConsumableArray","setGridTitle","rows","setLoadingIndicator","gridRows","gridRowsWithOptionalTitle","gridRowsWithOptionalLoadingIndicator","filterByGroupId","GroupCell","_ref4","children","style","props","_objectWithoutProperties","_excluded","createElement","_extends","_objectSpread","left","top","width","ThumbnailCell","_ref5","className","_excluded2","GridOuterContainer","forwardRef","ref","tabIndex","GridInnerContainer","_ref6","_excluded3","paddingLeft","ThumbnailGrid","_ref7","_ref7$selected","selected","_ref7$title","_ref7$gridWidth","gridWidth","_ref7$gridHeight","gridHeight","_ref7$onSelect","onSelect","_ref7$onDeselect","onDeselect","_ref7$disableSelectio","disableSelection","value","tooltip","_ref7$isFetching","_ref7$loadMoreItems","loadMoreItems","qa","_ref7$allowSelectAll","allowSelectAll","_ref7$onSelectAll","onSelectAll","_ref7$onDeselectAll","onDeselectAll","_ref7$onSelectAllGrou","onSelectAllGroup","_ref7$onDeselectAllGr","onDeselectAllGroup","_excluded4","gridContainerRef","useRef","I18n","gridContainer","current","gridRef","_React$useState","useState","_React$useState2","_slicedToArray","gridContainerWidth","setGridContainerWidth","_React$useState3","_React$useState4","setColumnsCount","gridInstance","_useFocusWithin","onFocusWithin","e","setIsGridFocused","onBlurWithin","focusWithinProps","useEffect","handleResize","offsetWidth","containerWidth","currentColumnsCount","window","addEventListener","removeEventListener","useMemo","t","isTitleRow","rowCells","isFetchingRow","isNonNavigableRow","rowHeights","titleRow","titleRowIsNotFirstGridRow","rowPadding","nonNavigableRowIndices","filter","_ref8","_ref9","navigationIndicesRows","cell","findIndex","getNumberOfNonNavigableRowsBefore","useCallback","getThumbnailNavigationIndex","cellIndex","thumbnailNavigationIndexToRowIndexMap","mappedRowCells","_","navIndex","_React$useState5","_React$useState6","isGridFocused","navigation","indicesRows","isThumbnailSelected","thumbnail","some","_ref10","toggle","itemsIds","selectedIds","isFullySelected","every","includes","isPartiallySelected","isGroupFullySelected","currentGroupItems","selectedGroupItems","isGroupPartiallySelected","onSelectAllChange","stopPropagation","onSelectAllGroupChange","onMouseDown","preventDefault","updateNavigationPosition","key","nativeEvent","shiftKey","down","up","right","onKeyDown","newPosition","scrollToItem","setIndicesRows","resetAfterRowIndex","grid","itemCount","isItemLoaded","threshold","_ref11","onItemsRendered","infiniteLoaderRef","height","rowCount","rowHeight","columnCount","innerElementType","overscanRowCount","_ref12","visibleRowStartIndex","visibleRowStopIndex","overscanRowStopIndex","overscanRowStartIndex","overscanStartIndex","overscanStopIndex","visibleStartIndex","visibleStopIndex","overflow","_ref13","_qa$thumbnail","columnIndex","cellData","isGlobalTitle","dataQa","onChangeCallback","isChecked","isIndeterminate","onChange","checked","indeterminate","weight","color","thumbnailNavigationIndex","isNavigationTarget","isFocused","isSelected","isDisabled","trigger","overlay","showKeys","call","focused","disabled","caption","name","src","label","hasCaptionPlaceholder","role","onClick","_ref14","_dataset","target","isCaptionTooltipClick","dataset","captionTooltip","setIndex","focus"],"sources":["../../src/ThumbnailGrid/ThumbnailGrid.tsx"],"sourcesContent":["import { useFocusWithin } from '@react-aria/interactions'\nimport React from 'react'\nimport type { GridChildComponentProps, VariableSizeGrid } from 'react-window'\nimport InfiniteLoader from 'react-window-infinite-loader'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Tooltip } from '../Tooltip/Tooltip'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { DivAttributes } from '../_utils/types'\nimport { useGridNavigation } from './ThumbnailGrid.hooks'\nimport {\n StyledCheckbox,\n StyledGroupCell,\n StyledGroupTitle,\n StyledSpinnerWrapper,\n StyledThumbnail,\n StyledThumbnailGrid,\n StyledVariableSizeGrid,\n} from './ThumbnailGrid.styles'\nimport type {\n GridCellData,\n ThumbnailGridGroup,\n ThumbnailGridGroupTitle,\n ThumbnailGridItem,\n ThumbnailGridProps,\n} from './ThumbnailGrid.types'\n\nfunction noop() {}\n\nconst asyncNoop = () => Promise.resolve()\n\nconst titleHeight = 20\nconst titleTopPadding = 24\nconst thumbnailHeight = 138\nconst thumbnailWidh = 104\nconst defaultColumnsCount = 5\nconst gutterSize = 12\nconst columnWidth = thumbnailWidh + gutterSize\nconst gridLeftPadding = 24\nconst defaultGridWidth = gridLeftPadding + columnWidth * defaultColumnsCount\nconst defaultGridHeight = (thumbnailHeight + gutterSize) * 3\nconst getId = (item: ThumbnailGridItem) => item.id\n\nconst getGridRows = ({\n items,\n groups,\n title,\n isFetching = false,\n groupTitleFallback,\n columnsCount = defaultColumnsCount,\n}: {\n items: ThumbnailGridItem[]\n groups?: ThumbnailGridGroup[]\n title?: string\n isFetching: boolean\n groupTitleFallback: string\n columnsCount: number\n}) => {\n const splitToRows = (items: GridCellData[]) =>\n items.reduce((acc: GridCellData[][], item: GridCellData, index: number) => {\n const rowIndex = Math.floor(index / columnsCount)\n const row = (acc[rowIndex] = acc[rowIndex] || [])\n row.push(item)\n return acc\n }, [] as GridCellData[][])\n\n const splitToGroupedRows = (\n items: ThumbnailGridItem[],\n groups: ThumbnailGridGroup[]\n ) => {\n let groupedRows: GridCellData[][] = []\n\n const groupedThumbnails = items.reduce((acc, item) => {\n const groupId = item.groupId ?? String(item.groupId)\n const group = acc.get(groupId)\n if (group) {\n group.push(item)\n } else {\n acc.set(groupId, [item])\n }\n return acc\n }, new Map<string | number, GridCellData[]>(groups.map(({ id }) => [id, []])))\n\n groupedThumbnails.forEach((group, groupId) => {\n const groupRows = splitToRows(group)\n\n if (groupRows.length) {\n const groupTitleRow = [\n {\n title:\n groups.find(({ id }) => groupId === id)?.title ||\n groupTitleFallback,\n groupId,\n } as ThumbnailGridGroupTitle,\n ]\n groupRows.unshift(groupTitleRow)\n }\n\n groupedRows = [...groupedRows, ...groupRows]\n })\n\n return groupedRows\n }\n\n const setGridTitle = (rows: GridCellData[][]) => {\n if (title) {\n rows.unshift([{ title: title }])\n }\n return rows\n }\n\n const setLoadingIndicator = (rows: GridCellData[][]) => {\n if (isFetching) {\n rows.push([{ isFetching }])\n }\n return rows\n }\n\n const gridRows = groups\n ? splitToGroupedRows(items, groups)\n : splitToRows(items)\n\n const gridRowsWithOptionalTitle = setGridTitle(gridRows)\n const gridRowsWithOptionalLoadingIndicator = setLoadingIndicator(\n gridRowsWithOptionalTitle\n )\n\n return gridRowsWithOptionalLoadingIndicator\n}\n\nconst filterByGroupId = (item: ThumbnailGridItem, groupId: string) => {\n return String(item.groupId) === groupId\n}\n\nconst GroupCell = ({\n children,\n style,\n columnsCount,\n ...props\n}: DivAttributes & { columnsCount: number }) => {\n return (\n <StyledGroupCell\n style={{\n ...style,\n left: (style?.left as number) + gridLeftPadding,\n top: (style?.top as number) + gutterSize,\n width: columnWidth * columnsCount,\n }}\n {...props}\n >\n {children}\n </StyledGroupCell>\n )\n}\n\nconst ThumbnailCell = ({\n children,\n className,\n style,\n ...props\n}: DivAttributes) => {\n return (\n <div\n style={{\n ...style,\n left: (style?.left as number) + gridLeftPadding,\n top: (style?.top as number) + gutterSize,\n }}\n {...props}\n >\n {children}\n </div>\n )\n}\n\n// See https://github.com/bvaughn/react-window/issues/130\nconst GridOuterContainer = React.forwardRef<HTMLDivElement, DivAttributes>(\n (props, ref) => <div ref={ref} tabIndex={-1} {...props} />\n)\n\nconst GridInnerContainer = React.forwardRef<HTMLDivElement, DivAttributes>(\n ({ style, ...props }, ref) => (\n <div\n ref={ref}\n tabIndex={-1}\n style={{\n ...style,\n paddingLeft: gridLeftPadding,\n width: (style?.width as number) + gridLeftPadding,\n }}\n {...props}\n />\n )\n)\n\nexport const ThumbnailGrid = React.forwardRef<\n HTMLDivElement,\n Omit<DivAttributes, 'onSelect'> & ThumbnailGridProps\n>(\n (\n {\n items,\n selected = [],\n groups,\n title = '',\n gridWidth = defaultGridWidth,\n gridHeight = defaultGridHeight,\n onSelect = noop,\n onDeselect = noop,\n disableSelection = {\n value: false,\n tooltip: '',\n },\n isFetching = false,\n loadMoreItems = asyncNoop,\n qa,\n allowSelectAll = false,\n onSelectAll = noop,\n onDeselectAll = noop,\n onSelectAllGroup = noop,\n onDeselectAllGroup = noop,\n ...props\n },\n forwardRef\n ) => {\n const gridContainerRef = React.useRef<HTMLDivElement>(null)\n const I18n = useI18nContext()\n const gridContainer = gridContainerRef.current\n const gridRef = React.useRef<VariableSizeGrid | null>(null)\n const [gridContainerWidth, setGridContainerWidth] =\n React.useState<number>(gridWidth)\n const [columnsCount, setColumnsCount] =\n React.useState<number>(defaultColumnsCount)\n const gridInstance = gridRef.current\n let { focusWithinProps } = useFocusWithin({\n onFocusWithin: (e) => setIsGridFocused(true),\n onBlurWithin: (e) => setIsGridFocused(false),\n })\n\n React.useEffect(() => {\n const handleResize = () => {\n if (gridContainer?.offsetWidth) {\n const containerWidth = gridContainer.offsetWidth - gridLeftPadding\n const currentColumnsCount = Math.floor(containerWidth / columnWidth)\n setGridContainerWidth(containerWidth)\n setColumnsCount(currentColumnsCount || 1)\n }\n }\n\n handleResize() // Initial resize calculation\n\n window.addEventListener('resize', handleResize)\n\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [gridContainer])\n\n const rows = React.useMemo(\n () =>\n getGridRows({\n items,\n groups,\n isFetching,\n title,\n columnsCount,\n groupTitleFallback: I18n.t(\n 'core.fileExplorer.ungroupedThumbnailGridGroup'\n ),\n }),\n [items, groups, title, isFetching, columnsCount]\n )\n\n const isTitleRow = (rowCells: GridCellData[]): boolean =>\n 'title' in rowCells[0]\n\n const isFetchingRow = (rowCells: GridCellData[]): boolean =>\n 'isFetching' in rowCells[0]\n\n const isNonNavigableRow = (rowCells: GridCellData[]) =>\n isTitleRow(rowCells) || isFetchingRow(rowCells)\n\n const rowHeights = React.useMemo(() => {\n return rows.map((rowCells, index) => {\n const titleRow = isTitleRow(rowCells)\n const titleRowIsNotFirstGridRow = titleRow && index > 0\n const rowPadding =\n (titleRowIsNotFirstGridRow ? titleTopPadding : 0) + gutterSize\n\n if (titleRow) {\n return titleHeight + rowPadding\n } else {\n return thumbnailHeight + rowPadding\n }\n })\n }, [rows])\n\n const nonNavigableRowIndices = React.useMemo(\n () =>\n rows\n .map((rowCells, index) => ({\n index,\n isNonNavigableRow: isNonNavigableRow(rowCells),\n }))\n .filter(({ isNonNavigableRow }) => isNonNavigableRow)\n .map(({ index }) => index),\n [rows]\n )\n\n const navigationIndicesRows = React.useMemo(\n () =>\n rows\n .filter((rowCells) => !isNonNavigableRow(rowCells))\n .map((rowCells) =>\n rowCells.map((cell) =>\n items.findIndex(\n (item) => item.id === (cell as ThumbnailGridItem).id\n )\n )\n ),\n [rows, items]\n )\n\n const getNumberOfNonNavigableRowsBefore = React.useCallback(\n (rowIndex: number) =>\n nonNavigableRowIndices.filter((index) => rowIndex > index).length,\n [nonNavigableRowIndices]\n )\n\n const getThumbnailNavigationIndex = React.useCallback(\n (rowIndex: number, cellIndex: number) => {\n return navigationIndicesRows[\n rowIndex - getNumberOfNonNavigableRowsBefore(rowIndex)\n ][cellIndex]\n },\n [navigationIndicesRows, getNumberOfNonNavigableRowsBefore]\n )\n\n const thumbnailNavigationIndexToRowIndexMap = React.useMemo(\n () =>\n rows.reduce((acc, rowCells, rowIndex) => {\n if (isNonNavigableRow(rowCells)) return acc\n\n const mappedRowCells = rowCells.reduce((acc, _, cellIndex) => {\n const navIndex = String(\n getThumbnailNavigationIndex(rowIndex, cellIndex)\n )\n acc[navIndex] = rowIndex\n return acc\n }, {} as Record<string, number>)\n\n return { ...acc, ...mappedRowCells }\n }, {} as Record<string, number>),\n [rows, getThumbnailNavigationIndex]\n )\n\n const [isGridFocused, setIsGridFocused] = React.useState(false)\n\n const navigation = useGridNavigation({\n indicesRows: navigationIndicesRows,\n })\n\n const isThumbnailSelected = (thumbnail: ThumbnailGridItem) =>\n selected.some(({ id }) => thumbnail.id === id)\n\n const toggle = (thumbnail: ThumbnailGridItem) => {\n if (isThumbnailSelected(thumbnail)) {\n onDeselect(thumbnail)\n } else if (!disableSelection.value) {\n onSelect(thumbnail)\n }\n }\n\n const itemsIds = React.useMemo(() => items.map(getId), [items])\n const selectedIds = React.useMemo(() => selected.map(getId), [selected])\n\n const isFullySelected = React.useMemo(() => {\n return (\n itemsIds.length > 0 && itemsIds.every((id) => selectedIds.includes(id))\n )\n }, [selected, items])\n\n const isPartiallySelected = React.useMemo(() => {\n return (\n selectedIds.length > 0 &&\n !isFullySelected &&\n itemsIds.some((id) => selectedIds.includes(id))\n )\n }, [selected, isFullySelected])\n\n const isGroupFullySelected = (groupId: string) => {\n const currentGroupItems = items.filter((item) =>\n filterByGroupId(item, groupId)\n )\n const selectedGroupItems = selected.filter((item) =>\n filterByGroupId(item, groupId)\n )\n\n return (\n currentGroupItems.length > 0 &&\n currentGroupItems\n .map(getId)\n .every((id) => selectedGroupItems.map(getId).includes(id))\n )\n }\n\n const isGroupPartiallySelected = (groupId: string) => {\n const currentGroupItems = items.filter((item) =>\n filterByGroupId(item, groupId)\n )\n const selectedGroupItems = selected.filter((item) =>\n filterByGroupId(item, groupId)\n )\n\n return (\n selectedGroupItems.length > 0 &&\n !isGroupFullySelected(groupId) &&\n selectedGroupItems\n .map(getId)\n .some((id) => currentGroupItems.map(getId).includes(id))\n )\n }\n\n const onSelectAllChange = (e: React.FormEvent<HTMLInputElement>) => {\n e.stopPropagation()\n if (!isFullySelected) {\n onSelectAll?.()\n } else {\n onDeselectAll?.()\n }\n }\n\n const onSelectAllGroupChange = (\n e: React.FormEvent<HTMLInputElement>,\n groupId: string\n ) => {\n e.stopPropagation()\n if (!isGroupFullySelected(groupId)) {\n onSelectAllGroup?.(groupId)\n } else {\n onDeselectAllGroup?.(groupId)\n }\n }\n\n const onMouseDown = (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault()\n }\n\n const updateNavigationPosition = (\n e: React.KeyboardEvent<HTMLDivElement>\n ): number => {\n if (e.key === 'Tab' && e.nativeEvent.shiftKey) {\n e.preventDefault()\n return navigation.left(e)\n }\n switch (e.key) {\n case 'ArrowDown':\n case 'Down':\n e.preventDefault()\n return navigation.down(e)\n case 'ArrowUp':\n case 'Up':\n e.preventDefault()\n return navigation.up(e)\n case 'ArrowLeft':\n case 'Left':\n e.preventDefault()\n return navigation.left(e)\n case 'Tab':\n case 'ArrowRight':\n case 'Right':\n e.preventDefault()\n return navigation.right(e)\n default:\n return -1\n }\n }\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!isGridFocused) return\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n toggle(items[navigation.index])\n } else {\n const newPosition = updateNavigationPosition(e)\n\n if (newPosition !== -1) {\n gridInstance?.scrollToItem({\n rowIndex: thumbnailNavigationIndexToRowIndexMap[newPosition],\n })\n }\n }\n }\n\n React.useEffect(() => {\n navigation.setIndicesRows(navigationIndicesRows)\n }, [navigationIndicesRows, navigation])\n\n React.useEffect(() => {\n // VariableSizeGrid caches offsets and measurements for each row index for performance purposes.\n // Method below clears cached data and triggers recalucation when a new value of search filter recomposites grid structure.\n gridInstance?.resetAfterRowIndex(0)\n }, [items, gridInstance])\n\n return (\n <StyledThumbnailGrid\n {...props}\n {...focusWithinProps}\n ref={mergeRefs(forwardRef, gridContainerRef)}\n data-qa={qa?.grid}\n tabIndex={0}\n onMouseDown={onMouseDown}\n >\n <InfiniteLoader\n loadMoreItems={isFetching ? asyncNoop : loadMoreItems}\n itemCount={rows.length}\n isItemLoaded={(index) => index < rows.length - 1}\n threshold={0}\n >\n {({ onItemsRendered, ref: infiniteLoaderRef }) => (\n <StyledVariableSizeGrid\n width={gridContainerWidth}\n height={gridHeight}\n rowCount={rows.length}\n rowHeight={(index) => rowHeights[index]}\n columnCount={columnsCount}\n columnWidth={() => columnWidth}\n innerElementType={GridInnerContainer}\n overscanRowCount={2}\n onItemsRendered={({\n visibleRowStartIndex,\n visibleRowStopIndex,\n overscanRowStopIndex,\n overscanRowStartIndex,\n }) => {\n onItemsRendered({\n overscanStartIndex: overscanRowStartIndex,\n overscanStopIndex: overscanRowStopIndex,\n visibleStartIndex: visibleRowStartIndex,\n visibleStopIndex: visibleRowStopIndex,\n })\n }}\n ref={mergeRefs(gridRef, infiniteLoaderRef)}\n style={{ overflow: 'hidden' }}\n >\n {({ columnIndex, rowIndex, style }: GridChildComponentProps) => {\n const cellData = rows[rowIndex][columnIndex]\n\n if (!cellData) return null\n\n if ('title' in cellData) {\n const isGlobalTitle = rowIndex === 0\n const groupId = String(cellData?.groupId)\n const dataQa = isGlobalTitle\n ? 'global-select-all'\n : `group-${groupId}-select-all`\n\n const onChangeCallback = isGlobalTitle\n ? onSelectAllChange\n : (e: React.FormEvent<HTMLInputElement>) =>\n onSelectAllGroupChange(e, groupId)\n const isChecked = isGlobalTitle\n ? isFullySelected || isPartiallySelected\n : isGroupPartiallySelected(groupId) ||\n isGroupFullySelected(groupId)\n const isIndeterminate = isGlobalTitle\n ? isPartiallySelected\n : isGroupPartiallySelected(groupId)\n\n return (\n <GroupCell style={style} columnsCount={columnsCount}>\n {allowSelectAll ? (\n <StyledCheckbox\n data-qa={dataQa}\n onChange={onChangeCallback}\n checked={isChecked}\n indeterminate={isIndeterminate}\n >\n <StyledGroupTitle weight=\"bold\" color=\"gray15\">\n {cellData.title}\n </StyledGroupTitle>\n </StyledCheckbox>\n ) : (\n <StyledGroupTitle weight=\"bold\" color=\"gray15\">\n {cellData.title}\n </StyledGroupTitle>\n )}\n </GroupCell>\n )\n }\n if ('isFetching' in cellData) {\n return (\n <GroupCell style={style} columnsCount={columnsCount}>\n <StyledSpinnerWrapper>\n <Spinner />\n </StyledSpinnerWrapper>\n </GroupCell>\n )\n }\n\n const thumbnailNavigationIndex = getThumbnailNavigationIndex(\n rowIndex,\n columnIndex\n )\n const isNavigationTarget =\n navigation.index === thumbnailNavigationIndex\n const isFocused = isGridFocused && isNavigationTarget\n const isSelected = isThumbnailSelected(cellData)\n const isDisabled = disableSelection.value && !isSelected\n\n return (\n <ThumbnailCell style={style}>\n <Tooltip\n key={cellData.id}\n trigger={isDisabled ? 'hover' : 'none'}\n overlay={disableSelection.tooltip}\n showKeys={[]}\n >\n <StyledThumbnail\n data-thumbnail\n data-qa={qa?.thumbnail?.(cellData.id)}\n focused={isFocused}\n selected={isSelected}\n disabled={isDisabled}\n caption={cellData.name}\n src={cellData.src}\n label={cellData.label}\n hasCaptionPlaceholder\n role={'checkbox'}\n value={String(thumbnailNavigationIndex)}\n onKeyDown={onKeyDown}\n onChange={() => {\n toggle(cellData)\n }}\n onClick={({ target }: React.MouseEvent) => {\n const isCaptionTooltipClick = (target as HTMLElement)\n .dataset?.captionTooltip\n\n if (isCaptionTooltipClick) return\n\n navigation.setIndex(thumbnailNavigationIndex)\n toggle(cellData)\n gridContainer?.focus()\n }}\n />\n </Tooltip>\n </ThumbnailCell>\n )\n }}\n </StyledVariableSizeGrid>\n )}\n </InfiniteLoader>\n </StyledThumbnailGrid>\n )\n }\n)\n"],"mappings":"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"}
1
+ {"version":3,"file":"ThumbnailGrid.js","names":["useFocusWithin","React","InfiniteLoader","Spinner","Tooltip","useI18nContext","mergeRefs","useGridNavigation","StyledCheckbox","StyledGroupCell","StyledGroupTitle","StyledSpinnerWrapper","StyledThumbnail","StyledThumbnailGrid","StyledVariableSizeGrid","noop","asyncNoop","Promise","resolve","titleHeight","titleTopPadding","thumbnailHeight","thumbnailWidh","defaultColumnsCount","gutterSize","columnWidth","gridLeftPadding","defaultGridWidth","defaultGridHeight","getId","item","id","getGridRows","_ref","items","groups","title","_ref$isFetching","isFetching","groupTitleFallback","_ref$columnsCount","columnsCount","splitToRows","reduce","acc","index","rowIndex","Math","floor","row","push","splitToGroupedRows","groupedRows","groupedThumbnails","_item$groupId","groupId","String","group","get","set","Map","map","_ref2","forEach","groupRows","length","_groups$find","groupTitleRow","find","_ref3","unshift","concat","_toConsumableArray","setGridTitle","rows","setLoadingIndicator","gridRows","gridRowsWithOptionalTitle","gridRowsWithOptionalLoadingIndicator","filterByGroupId","GroupCell","_ref4","children","style","props","_objectWithoutProperties","_excluded","createElement","_extends","_objectSpread","left","top","width","ThumbnailCell","_ref5","className","_excluded2","GridOuterContainer","forwardRef","ref","tabIndex","GridInnerContainer","_ref6","_excluded3","paddingLeft","ThumbnailGrid","_ref7","_ref7$selected","selected","_ref7$title","_ref7$gridWidth","gridWidth","_ref7$gridHeight","gridHeight","_ref7$onSelect","onSelect","_ref7$onDeselect","onDeselect","_ref7$disableSelectio","disableSelection","value","tooltip","_ref7$isFetching","_ref7$loadMoreItems","loadMoreItems","qa","_ref7$allowSelectAll","allowSelectAll","_ref7$onSelectAll","onSelectAll","_ref7$onDeselectAll","onDeselectAll","_ref7$onSelectAllGrou","onSelectAllGroup","_ref7$onDeselectAllGr","onDeselectAllGroup","_excluded4","gridContainerRef","useRef","I18n","gridContainer","current","gridRef","_React$useState","useState","_React$useState2","_slicedToArray","gridContainerWidth","setGridContainerWidth","_React$useState3","_React$useState4","setColumnsCount","gridInstance","_useFocusWithin","onFocusWithin","e","setIsGridFocused","onBlurWithin","focusWithinProps","useEffect","handleResize","offsetWidth","containerWidth","currentColumnsCount","window","addEventListener","removeEventListener","useMemo","t","isTitleRow","rowCells","isFetchingRow","isNonNavigableRow","rowHeights","titleRow","titleRowIsNotFirstGridRow","rowPadding","nonNavigableRowIndices","filter","_ref8","_ref9","navigationIndicesRows","cell","findIndex","getNumberOfNonNavigableRowsBefore","useCallback","getThumbnailNavigationIndex","cellIndex","thumbnailNavigationIndexToRowIndexMap","mappedRowCells","_","navIndex","_React$useState5","_React$useState6","isGridFocused","navigation","indicesRows","isThumbnailSelected","thumbnail","some","_ref0","toggle","itemsIds","selectedIds","isFullySelected","every","includes","isPartiallySelected","isGroupFullySelected","currentGroupItems","selectedGroupItems","isGroupPartiallySelected","onSelectAllChange","stopPropagation","onSelectAllGroupChange","onMouseDown","preventDefault","updateNavigationPosition","key","nativeEvent","shiftKey","down","up","right","onKeyDown","newPosition","scrollToItem","setIndicesRows","resetAfterRowIndex","grid","itemCount","isItemLoaded","threshold","_ref1","onItemsRendered","infiniteLoaderRef","height","rowCount","rowHeight","columnCount","innerElementType","overscanRowCount","_ref10","visibleRowStartIndex","visibleRowStopIndex","overscanRowStopIndex","overscanRowStartIndex","overscanStartIndex","overscanStopIndex","visibleStartIndex","visibleStopIndex","overflow","_ref11","_qa$thumbnail","columnIndex","cellData","isGlobalTitle","dataQa","onChangeCallback","isChecked","isIndeterminate","onChange","checked","indeterminate","weight","color","thumbnailNavigationIndex","isNavigationTarget","isFocused","isSelected","isDisabled","trigger","overlay","showKeys","call","focused","disabled","caption","name","src","label","hasCaptionPlaceholder","role","onClick","_ref12","_dataset","target","isCaptionTooltipClick","dataset","captionTooltip","setIndex","focus"],"sources":["../../src/ThumbnailGrid/ThumbnailGrid.tsx"],"sourcesContent":["import { useFocusWithin } from '@react-aria/interactions'\nimport React from 'react'\nimport type { GridChildComponentProps, VariableSizeGrid } from 'react-window'\nimport InfiniteLoader from 'react-window-infinite-loader'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Tooltip } from '../Tooltip/Tooltip'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { DivAttributes } from '../_utils/types'\nimport { useGridNavigation } from './ThumbnailGrid.hooks'\nimport {\n StyledCheckbox,\n StyledGroupCell,\n StyledGroupTitle,\n StyledSpinnerWrapper,\n StyledThumbnail,\n StyledThumbnailGrid,\n StyledVariableSizeGrid,\n} from './ThumbnailGrid.styles'\nimport type {\n GridCellData,\n ThumbnailGridGroup,\n ThumbnailGridGroupTitle,\n ThumbnailGridItem,\n ThumbnailGridProps,\n} from './ThumbnailGrid.types'\n\nfunction noop() {}\n\nconst asyncNoop = () => Promise.resolve()\n\nconst titleHeight = 20\nconst titleTopPadding = 24\nconst thumbnailHeight = 138\nconst thumbnailWidh = 104\nconst defaultColumnsCount = 5\nconst gutterSize = 12\nconst columnWidth = thumbnailWidh + gutterSize\nconst gridLeftPadding = 24\nconst defaultGridWidth = gridLeftPadding + columnWidth * defaultColumnsCount\nconst defaultGridHeight = (thumbnailHeight + gutterSize) * 3\nconst getId = (item: ThumbnailGridItem) => item.id\n\nconst getGridRows = ({\n items,\n groups,\n title,\n isFetching = false,\n groupTitleFallback,\n columnsCount = defaultColumnsCount,\n}: {\n items: ThumbnailGridItem[]\n groups?: ThumbnailGridGroup[]\n title?: string\n isFetching: boolean\n groupTitleFallback: string\n columnsCount: number\n}) => {\n const splitToRows = (items: GridCellData[]) =>\n items.reduce((acc: GridCellData[][], item: GridCellData, index: number) => {\n const rowIndex = Math.floor(index / columnsCount)\n const row = (acc[rowIndex] = acc[rowIndex] || [])\n row.push(item)\n return acc\n }, [] as GridCellData[][])\n\n const splitToGroupedRows = (\n items: ThumbnailGridItem[],\n groups: ThumbnailGridGroup[]\n ) => {\n let groupedRows: GridCellData[][] = []\n\n const groupedThumbnails = items.reduce((acc, item) => {\n const groupId = item.groupId ?? String(item.groupId)\n const group = acc.get(groupId)\n if (group) {\n group.push(item)\n } else {\n acc.set(groupId, [item])\n }\n return acc\n }, new Map<string | number, GridCellData[]>(groups.map(({ id }) => [id, []])))\n\n groupedThumbnails.forEach((group, groupId) => {\n const groupRows = splitToRows(group)\n\n if (groupRows.length) {\n const groupTitleRow = [\n {\n title:\n groups.find(({ id }) => groupId === id)?.title ||\n groupTitleFallback,\n groupId,\n } as ThumbnailGridGroupTitle,\n ]\n groupRows.unshift(groupTitleRow)\n }\n\n groupedRows = [...groupedRows, ...groupRows]\n })\n\n return groupedRows\n }\n\n const setGridTitle = (rows: GridCellData[][]) => {\n if (title) {\n rows.unshift([{ title: title }])\n }\n return rows\n }\n\n const setLoadingIndicator = (rows: GridCellData[][]) => {\n if (isFetching) {\n rows.push([{ isFetching }])\n }\n return rows\n }\n\n const gridRows = groups\n ? splitToGroupedRows(items, groups)\n : splitToRows(items)\n\n const gridRowsWithOptionalTitle = setGridTitle(gridRows)\n const gridRowsWithOptionalLoadingIndicator = setLoadingIndicator(\n gridRowsWithOptionalTitle\n )\n\n return gridRowsWithOptionalLoadingIndicator\n}\n\nconst filterByGroupId = (item: ThumbnailGridItem, groupId: string) => {\n return String(item.groupId) === groupId\n}\n\nconst GroupCell = ({\n children,\n style,\n columnsCount,\n ...props\n}: DivAttributes & { columnsCount: number }) => {\n return (\n <StyledGroupCell\n style={{\n ...style,\n left: (style?.left as number) + gridLeftPadding,\n top: (style?.top as number) + gutterSize,\n width: columnWidth * columnsCount,\n }}\n {...props}\n >\n {children}\n </StyledGroupCell>\n )\n}\n\nconst ThumbnailCell = ({\n children,\n className,\n style,\n ...props\n}: DivAttributes) => {\n return (\n <div\n style={{\n ...style,\n left: (style?.left as number) + gridLeftPadding,\n top: (style?.top as number) + gutterSize,\n }}\n {...props}\n >\n {children}\n </div>\n )\n}\n\n// See https://github.com/bvaughn/react-window/issues/130\nconst GridOuterContainer = React.forwardRef<HTMLDivElement, DivAttributes>(\n (props, ref) => <div ref={ref} tabIndex={-1} {...props} />\n)\n\nconst GridInnerContainer = React.forwardRef<HTMLDivElement, DivAttributes>(\n ({ style, ...props }, ref) => (\n <div\n ref={ref}\n tabIndex={-1}\n style={{\n ...style,\n paddingLeft: gridLeftPadding,\n width: (style?.width as number) + gridLeftPadding,\n }}\n {...props}\n />\n )\n)\n\nexport const ThumbnailGrid = React.forwardRef<\n HTMLDivElement,\n Omit<DivAttributes, 'onSelect'> & ThumbnailGridProps\n>(\n (\n {\n items,\n selected = [],\n groups,\n title = '',\n gridWidth = defaultGridWidth,\n gridHeight = defaultGridHeight,\n onSelect = noop,\n onDeselect = noop,\n disableSelection = {\n value: false,\n tooltip: '',\n },\n isFetching = false,\n loadMoreItems = asyncNoop,\n qa,\n allowSelectAll = false,\n onSelectAll = noop,\n onDeselectAll = noop,\n onSelectAllGroup = noop,\n onDeselectAllGroup = noop,\n ...props\n },\n forwardRef\n ) => {\n const gridContainerRef = React.useRef<HTMLDivElement>(null)\n const I18n = useI18nContext()\n const gridContainer = gridContainerRef.current\n const gridRef = React.useRef<VariableSizeGrid | null>(null)\n const [gridContainerWidth, setGridContainerWidth] =\n React.useState<number>(gridWidth)\n const [columnsCount, setColumnsCount] =\n React.useState<number>(defaultColumnsCount)\n const gridInstance = gridRef.current\n let { focusWithinProps } = useFocusWithin({\n onFocusWithin: (e) => setIsGridFocused(true),\n onBlurWithin: (e) => setIsGridFocused(false),\n })\n\n React.useEffect(() => {\n const handleResize = () => {\n if (gridContainer?.offsetWidth) {\n const containerWidth = gridContainer.offsetWidth - gridLeftPadding\n const currentColumnsCount = Math.floor(containerWidth / columnWidth)\n setGridContainerWidth(containerWidth)\n setColumnsCount(currentColumnsCount || 1)\n }\n }\n\n handleResize() // Initial resize calculation\n\n window.addEventListener('resize', handleResize)\n\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [gridContainer])\n\n const rows = React.useMemo(\n () =>\n getGridRows({\n items,\n groups,\n isFetching,\n title,\n columnsCount,\n groupTitleFallback: I18n.t(\n 'core.fileExplorer.ungroupedThumbnailGridGroup'\n ),\n }),\n [items, groups, title, isFetching, columnsCount]\n )\n\n const isTitleRow = (rowCells: GridCellData[]): boolean =>\n 'title' in rowCells[0]\n\n const isFetchingRow = (rowCells: GridCellData[]): boolean =>\n 'isFetching' in rowCells[0]\n\n const isNonNavigableRow = (rowCells: GridCellData[]) =>\n isTitleRow(rowCells) || isFetchingRow(rowCells)\n\n const rowHeights = React.useMemo(() => {\n return rows.map((rowCells, index) => {\n const titleRow = isTitleRow(rowCells)\n const titleRowIsNotFirstGridRow = titleRow && index > 0\n const rowPadding =\n (titleRowIsNotFirstGridRow ? titleTopPadding : 0) + gutterSize\n\n if (titleRow) {\n return titleHeight + rowPadding\n } else {\n return thumbnailHeight + rowPadding\n }\n })\n }, [rows])\n\n const nonNavigableRowIndices = React.useMemo(\n () =>\n rows\n .map((rowCells, index) => ({\n index,\n isNonNavigableRow: isNonNavigableRow(rowCells),\n }))\n .filter(({ isNonNavigableRow }) => isNonNavigableRow)\n .map(({ index }) => index),\n [rows]\n )\n\n const navigationIndicesRows = React.useMemo(\n () =>\n rows\n .filter((rowCells) => !isNonNavigableRow(rowCells))\n .map((rowCells) =>\n rowCells.map((cell) =>\n items.findIndex(\n (item) => item.id === (cell as ThumbnailGridItem).id\n )\n )\n ),\n [rows, items]\n )\n\n const getNumberOfNonNavigableRowsBefore = React.useCallback(\n (rowIndex: number) =>\n nonNavigableRowIndices.filter((index) => rowIndex > index).length,\n [nonNavigableRowIndices]\n )\n\n const getThumbnailNavigationIndex = React.useCallback(\n (rowIndex: number, cellIndex: number) => {\n return navigationIndicesRows[\n rowIndex - getNumberOfNonNavigableRowsBefore(rowIndex)\n ][cellIndex]\n },\n [navigationIndicesRows, getNumberOfNonNavigableRowsBefore]\n )\n\n const thumbnailNavigationIndexToRowIndexMap = React.useMemo(\n () =>\n rows.reduce((acc, rowCells, rowIndex) => {\n if (isNonNavigableRow(rowCells)) return acc\n\n const mappedRowCells = rowCells.reduce((acc, _, cellIndex) => {\n const navIndex = String(\n getThumbnailNavigationIndex(rowIndex, cellIndex)\n )\n acc[navIndex] = rowIndex\n return acc\n }, {} as Record<string, number>)\n\n return { ...acc, ...mappedRowCells }\n }, {} as Record<string, number>),\n [rows, getThumbnailNavigationIndex]\n )\n\n const [isGridFocused, setIsGridFocused] = React.useState(false)\n\n const navigation = useGridNavigation({\n indicesRows: navigationIndicesRows,\n })\n\n const isThumbnailSelected = (thumbnail: ThumbnailGridItem) =>\n selected.some(({ id }) => thumbnail.id === id)\n\n const toggle = (thumbnail: ThumbnailGridItem) => {\n if (isThumbnailSelected(thumbnail)) {\n onDeselect(thumbnail)\n } else if (!disableSelection.value) {\n onSelect(thumbnail)\n }\n }\n\n const itemsIds = React.useMemo(() => items.map(getId), [items])\n const selectedIds = React.useMemo(() => selected.map(getId), [selected])\n\n const isFullySelected = React.useMemo(() => {\n return (\n itemsIds.length > 0 && itemsIds.every((id) => selectedIds.includes(id))\n )\n }, [selected, items])\n\n const isPartiallySelected = React.useMemo(() => {\n return (\n selectedIds.length > 0 &&\n !isFullySelected &&\n itemsIds.some((id) => selectedIds.includes(id))\n )\n }, [selected, isFullySelected])\n\n const isGroupFullySelected = (groupId: string) => {\n const currentGroupItems = items.filter((item) =>\n filterByGroupId(item, groupId)\n )\n const selectedGroupItems = selected.filter((item) =>\n filterByGroupId(item, groupId)\n )\n\n return (\n currentGroupItems.length > 0 &&\n currentGroupItems\n .map(getId)\n .every((id) => selectedGroupItems.map(getId).includes(id))\n )\n }\n\n const isGroupPartiallySelected = (groupId: string) => {\n const currentGroupItems = items.filter((item) =>\n filterByGroupId(item, groupId)\n )\n const selectedGroupItems = selected.filter((item) =>\n filterByGroupId(item, groupId)\n )\n\n return (\n selectedGroupItems.length > 0 &&\n !isGroupFullySelected(groupId) &&\n selectedGroupItems\n .map(getId)\n .some((id) => currentGroupItems.map(getId).includes(id))\n )\n }\n\n const onSelectAllChange = (e: React.FormEvent<HTMLInputElement>) => {\n e.stopPropagation()\n if (!isFullySelected) {\n onSelectAll?.()\n } else {\n onDeselectAll?.()\n }\n }\n\n const onSelectAllGroupChange = (\n e: React.FormEvent<HTMLInputElement>,\n groupId: string\n ) => {\n e.stopPropagation()\n if (!isGroupFullySelected(groupId)) {\n onSelectAllGroup?.(groupId)\n } else {\n onDeselectAllGroup?.(groupId)\n }\n }\n\n const onMouseDown = (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault()\n }\n\n const updateNavigationPosition = (\n e: React.KeyboardEvent<HTMLDivElement>\n ): number => {\n if (e.key === 'Tab' && e.nativeEvent.shiftKey) {\n e.preventDefault()\n return navigation.left(e)\n }\n switch (e.key) {\n case 'ArrowDown':\n case 'Down':\n e.preventDefault()\n return navigation.down(e)\n case 'ArrowUp':\n case 'Up':\n e.preventDefault()\n return navigation.up(e)\n case 'ArrowLeft':\n case 'Left':\n e.preventDefault()\n return navigation.left(e)\n case 'Tab':\n case 'ArrowRight':\n case 'Right':\n e.preventDefault()\n return navigation.right(e)\n default:\n return -1\n }\n }\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!isGridFocused) return\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n toggle(items[navigation.index])\n } else {\n const newPosition = updateNavigationPosition(e)\n\n if (newPosition !== -1) {\n gridInstance?.scrollToItem({\n rowIndex: thumbnailNavigationIndexToRowIndexMap[newPosition],\n })\n }\n }\n }\n\n React.useEffect(() => {\n navigation.setIndicesRows(navigationIndicesRows)\n }, [navigationIndicesRows, navigation])\n\n React.useEffect(() => {\n // VariableSizeGrid caches offsets and measurements for each row index for performance purposes.\n // Method below clears cached data and triggers recalucation when a new value of search filter recomposites grid structure.\n gridInstance?.resetAfterRowIndex(0)\n }, [items, gridInstance])\n\n return (\n <StyledThumbnailGrid\n {...props}\n {...focusWithinProps}\n ref={mergeRefs(forwardRef, gridContainerRef)}\n data-qa={qa?.grid}\n tabIndex={0}\n onMouseDown={onMouseDown}\n >\n <InfiniteLoader\n loadMoreItems={isFetching ? asyncNoop : loadMoreItems}\n itemCount={rows.length}\n isItemLoaded={(index) => index < rows.length - 1}\n threshold={0}\n >\n {({ onItemsRendered, ref: infiniteLoaderRef }) => (\n <StyledVariableSizeGrid\n width={gridContainerWidth}\n height={gridHeight}\n rowCount={rows.length}\n rowHeight={(index) => rowHeights[index]}\n columnCount={columnsCount}\n columnWidth={() => columnWidth}\n innerElementType={GridInnerContainer}\n overscanRowCount={2}\n onItemsRendered={({\n visibleRowStartIndex,\n visibleRowStopIndex,\n overscanRowStopIndex,\n overscanRowStartIndex,\n }) => {\n onItemsRendered({\n overscanStartIndex: overscanRowStartIndex,\n overscanStopIndex: overscanRowStopIndex,\n visibleStartIndex: visibleRowStartIndex,\n visibleStopIndex: visibleRowStopIndex,\n })\n }}\n ref={mergeRefs(gridRef, infiniteLoaderRef)}\n style={{ overflow: 'hidden' }}\n >\n {({ columnIndex, rowIndex, style }: GridChildComponentProps) => {\n const cellData = rows[rowIndex][columnIndex]\n\n if (!cellData) return null\n\n if ('title' in cellData) {\n const isGlobalTitle = rowIndex === 0\n const groupId = String(cellData?.groupId)\n const dataQa = isGlobalTitle\n ? 'global-select-all'\n : `group-${groupId}-select-all`\n\n const onChangeCallback = isGlobalTitle\n ? onSelectAllChange\n : (e: React.FormEvent<HTMLInputElement>) =>\n onSelectAllGroupChange(e, groupId)\n const isChecked = isGlobalTitle\n ? isFullySelected || isPartiallySelected\n : isGroupPartiallySelected(groupId) ||\n isGroupFullySelected(groupId)\n const isIndeterminate = isGlobalTitle\n ? isPartiallySelected\n : isGroupPartiallySelected(groupId)\n\n return (\n <GroupCell style={style} columnsCount={columnsCount}>\n {allowSelectAll ? (\n <StyledCheckbox\n data-qa={dataQa}\n onChange={onChangeCallback}\n checked={isChecked}\n indeterminate={isIndeterminate}\n >\n <StyledGroupTitle weight=\"bold\" color=\"gray15\">\n {cellData.title}\n </StyledGroupTitle>\n </StyledCheckbox>\n ) : (\n <StyledGroupTitle weight=\"bold\" color=\"gray15\">\n {cellData.title}\n </StyledGroupTitle>\n )}\n </GroupCell>\n )\n }\n if ('isFetching' in cellData) {\n return (\n <GroupCell style={style} columnsCount={columnsCount}>\n <StyledSpinnerWrapper>\n <Spinner />\n </StyledSpinnerWrapper>\n </GroupCell>\n )\n }\n\n const thumbnailNavigationIndex = getThumbnailNavigationIndex(\n rowIndex,\n columnIndex\n )\n const isNavigationTarget =\n navigation.index === thumbnailNavigationIndex\n const isFocused = isGridFocused && isNavigationTarget\n const isSelected = isThumbnailSelected(cellData)\n const isDisabled = disableSelection.value && !isSelected\n\n return (\n <ThumbnailCell style={style}>\n <Tooltip\n key={cellData.id}\n trigger={isDisabled ? 'hover' : 'none'}\n overlay={disableSelection.tooltip}\n showKeys={[]}\n >\n <StyledThumbnail\n data-thumbnail\n data-qa={qa?.thumbnail?.(cellData.id)}\n focused={isFocused}\n selected={isSelected}\n disabled={isDisabled}\n caption={cellData.name}\n src={cellData.src}\n label={cellData.label}\n hasCaptionPlaceholder\n role={'checkbox'}\n value={String(thumbnailNavigationIndex)}\n onKeyDown={onKeyDown}\n onChange={() => {\n toggle(cellData)\n }}\n onClick={({ target }: React.MouseEvent) => {\n const isCaptionTooltipClick = (target as HTMLElement)\n .dataset?.captionTooltip\n\n if (isCaptionTooltipClick) return\n\n navigation.setIndex(thumbnailNavigationIndex)\n toggle(cellData)\n gridContainer?.focus()\n }}\n />\n </Tooltip>\n </ThumbnailCell>\n )\n }}\n </StyledVariableSizeGrid>\n )}\n </InfiniteLoader>\n </StyledThumbnailGrid>\n )\n }\n)\n"],"mappings":"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"}