@ntbjs/react-components 2.0.0-rc.13 → 2.0.0-rc.27

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 (545) hide show
  1. package/build/ActionButton-4db754c3.js +85 -0
  2. package/build/Alert-e6847a22.js +131 -0
  3. package/build/Badge-d93586a9.js +214 -0
  4. package/build/Button-179a2fe4.js +442 -0
  5. package/build/Checkbox-4a5fd716.js +213 -0
  6. package/build/CompactAutocompleteSelect-52c49513.js +546 -0
  7. package/build/CompactStarRating-9af2f427.js +411 -0
  8. package/build/CompactTextInput-42ca5d42.js +516 -0
  9. package/build/InputGroup-1294d190.js +23 -0
  10. package/build/MultiLevelCheckboxSelect-d8044c88.js +604 -0
  11. package/build/MultiSelect-9f497e62.js +461 -0
  12. package/build/Popover-20050b91.js +232 -0
  13. package/build/Radio-73ca3ae2.js +134 -0
  14. package/build/SectionSeparator-f47760a2.js +31 -0
  15. package/build/Switch-ecf3122b.js +160 -0
  16. package/build/Tab-04d435c3.js +32 -0
  17. package/build/Tabs-74d1ea8a.js +159 -0
  18. package/build/TextArea-1e5b9201.js +611 -0
  19. package/build/TextInput-fab35842.js +364 -0
  20. package/build/Tooltip-c1d1199e.js +65 -0
  21. package/build/VerificationStatusIcon-49cb1c1b.js +95 -0
  22. package/{esm/node_modules/@babel/runtime/helpers/esm/extends.js → build/_rollupPluginBabelHelpers-c245b26a.js} +1 -1
  23. package/{esm/icons/arrow-forward.svg.js → build/arrow-forward-ad12c5f3.js} +4 -5
  24. package/{esm/icons/close.svg.js → build/close-a5d37608.js} +4 -5
  25. package/build/data/Alert/index.js +6 -0
  26. package/build/data/Badge/index.js +5 -0
  27. package/build/data/Popover/index.js +10 -0
  28. package/build/data/Tab/index.js +5 -0
  29. package/build/data/Tabs/index.js +7 -0
  30. package/build/data/Tooltip/index.js +7 -0
  31. package/build/data/index.js +16 -0
  32. package/{esm/node_modules/prop-types/factoryWithTypeCheckers.js → build/defaultTheme-1bcc2541.js} +578 -17
  33. package/{esm/icons/edit-note.svg.js → build/edit-note-283a0e15.js} +4 -5
  34. package/{esm/icons/expand-more.svg.js → build/expand-more-c5523c46.js} +4 -5
  35. package/build/icons/add-circle.svg +3 -0
  36. package/build/icons/add.svg +3 -0
  37. package/build/icons/album.svg +3 -0
  38. package/build/icons/arrow-back.svg +4 -0
  39. package/build/icons/arrow-drop-down.svg +4 -0
  40. package/build/icons/arrow-forward.svg +3 -0
  41. package/build/icons/audio.svg +3 -0
  42. package/build/icons/bell.svg +3 -0
  43. package/build/icons/check-circle-filled.svg +3 -0
  44. package/build/icons/check-rectangle-filled.svg +3 -0
  45. package/build/icons/check.svg +3 -0
  46. package/build/icons/clear-circle-filled.svg +14 -0
  47. package/build/icons/close.svg +4 -0
  48. package/build/icons/corporate.svg +3 -0
  49. package/build/icons/delete-context-menu.svg +4 -0
  50. package/build/icons/delete.svg +3 -0
  51. package/build/icons/design-services.svg +4 -0
  52. package/build/icons/download.svg +3 -0
  53. package/build/icons/edit-note.svg +4 -0
  54. package/build/icons/edit.svg +3 -0
  55. package/build/icons/expand-more.svg +4 -0
  56. package/build/icons/file.svg +3 -0
  57. package/build/icons/ftp.svg +3 -0
  58. package/build/icons/gear.svg +3 -0
  59. package/build/icons/headset.svg +1 -0
  60. package/build/icons/index.js +79 -0
  61. package/build/icons/layers.svg +3 -0
  62. package/build/icons/library-add.svg +3 -0
  63. package/build/icons/link.svg +4 -0
  64. package/build/icons/pdf.svg +3 -0
  65. package/build/icons/play.svg +3 -0
  66. package/build/icons/remove-circle.svg +3 -0
  67. package/build/icons/search.svg +3 -0
  68. package/build/icons/share.svg +3 -0
  69. package/build/icons/shopping_cart_add.svg +3 -0
  70. package/build/icons/star-filled.svg +3 -0
  71. package/build/icons/star.svg +3 -0
  72. package/build/icons/triangle-right.svg +4 -0
  73. package/build/icons/verification.svg +3 -0
  74. package/build/icons/warning-circle.svg +3 -0
  75. package/build/icons/warning-triangle.svg +3 -0
  76. package/build/inputs/ActionButton/index.js +6 -0
  77. package/build/inputs/Button/index.js +13 -0
  78. package/build/inputs/Checkbox/index.js +6 -0
  79. package/build/inputs/CompactAutocompleteSelect/index.js +23 -0
  80. package/build/inputs/CompactStarRating/index.js +17 -0
  81. package/build/inputs/CompactTextInput/index.js +19 -0
  82. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js +26 -0
  83. package/build/inputs/MultiSelect/index.js +10 -0
  84. package/build/inputs/Radio/index.js +7 -0
  85. package/build/inputs/Switch/index.js +6 -0
  86. package/build/inputs/TextArea/index.js +20 -0
  87. package/build/inputs/TextInput/index.js +9 -0
  88. package/build/inputs/index.js +40 -0
  89. package/build/layout/InputGroup/index.js +5 -0
  90. package/build/layout/SectionSeparator/index.js +5 -0
  91. package/build/layout/index.js +6 -0
  92. package/build/shift-away-subtle-0dd94a03.js +7 -0
  93. package/build/styles/all.scss +3 -0
  94. package/build/styles/config.scss +38 -0
  95. package/{styles/utils/.colors.scss → build/styles/utils/colors.scss} +1 -1
  96. package/build/styles/utils/theme.scss +33 -0
  97. package/{esm/icons/warning-circle.svg.js → build/warning-circle-24f3efcd.js} +4 -5
  98. package/build/widgets/AssetGallery/AssetGallery.js +2356 -0
  99. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js +127 -0
  100. package/build/widgets/ContextMenu/ContextMenu.js +26 -0
  101. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js +127 -0
  102. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js +37 -0
  103. package/build/widgets/InfoCard/InfoCard.js +125 -0
  104. package/build/widgets/Instructions/Instructions.js +255 -0
  105. package/build/widgets/ProgressBar/ProgressBar.js +210 -0
  106. package/package.json +49 -56
  107. package/styles/all.scss +3 -3
  108. package/styles/config.scss +38 -0
  109. package/styles/utils/colors.scss +15 -0
  110. package/styles/utils/theme.scss +0 -2
  111. package/.eslintrc +0 -19
  112. package/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -84
  113. package/cjs/_virtual/index.js +0 -7
  114. package/cjs/_virtual/index2.js +0 -7
  115. package/cjs/_virtual/index3.js +0 -7
  116. package/cjs/_virtual/index4.js +0 -7
  117. package/cjs/_virtual/index5.js +0 -7
  118. package/cjs/_virtual/react-dom.development.js +0 -7
  119. package/cjs/_virtual/react-dom.production.js +0 -7
  120. package/cjs/_virtual/react-is.development.js +0 -7
  121. package/cjs/_virtual/react-is.development2.js +0 -7
  122. package/cjs/_virtual/react-is.production.min.js +0 -7
  123. package/cjs/_virtual/react-is.production.min2.js +0 -7
  124. package/cjs/_virtual/react.development.js +0 -7
  125. package/cjs/_virtual/react.production.js +0 -7
  126. package/cjs/components/data/Alert/Alert.js +0 -79
  127. package/cjs/components/data/Alert/Alert.styled.js +0 -79
  128. package/cjs/components/data/Alert/data/Alert/index.js +0 -9
  129. package/cjs/components/data/Badge/Badge.js +0 -93
  130. package/cjs/components/data/Badge/Badge.styled.js +0 -167
  131. package/cjs/components/data/Badge/data/Badge/index.js +0 -9
  132. package/cjs/components/data/Popover/Popover.js +0 -104
  133. package/cjs/components/data/Popover/Popover.styled.js +0 -159
  134. package/cjs/components/data/Popover/data/Popover/index.js +0 -9
  135. package/cjs/components/data/Tab/Tab.js +0 -31
  136. package/cjs/components/data/Tab/Tab.styled.js +0 -27
  137. package/cjs/components/data/Tab/data/Tab/index.js +0 -9
  138. package/cjs/components/data/Tabs/Tabs.js +0 -101
  139. package/cjs/components/data/Tabs/Tabs.styled.js +0 -110
  140. package/cjs/components/data/Tabs/data/Tabs/index.js +0 -9
  141. package/cjs/components/data/Tooltip/Tooltip.js +0 -52
  142. package/cjs/components/data/Tooltip/Tooltip.styled.js +0 -38
  143. package/cjs/components/data/Tooltip/data/Tooltip/index.js +0 -9
  144. package/cjs/components/data/VerificationStatusIcon/VerificationStatusIcon.js +0 -42
  145. package/cjs/components/data/VerificationStatusIcon/VerificationStatusIcon.styled.js +0 -88
  146. package/cjs/components/data/data/index.js +0 -21
  147. package/cjs/components/inputs/ActionButton/ActionButton.js +0 -44
  148. package/cjs/components/inputs/ActionButton/ActionButton.styled.js +0 -75
  149. package/cjs/components/inputs/ActionButton/inputs/ActionButton/index.js +0 -9
  150. package/cjs/components/inputs/Button/Button.js +0 -195
  151. package/cjs/components/inputs/Button/Button.styled.js +0 -340
  152. package/cjs/components/inputs/Button/inputs/Button/index.js +0 -9
  153. package/cjs/components/inputs/Checkbox/Checkbox.js +0 -102
  154. package/cjs/components/inputs/Checkbox/Checkbox.styled.js +0 -160
  155. package/cjs/components/inputs/Checkbox/inputs/Checkbox/index.js +0 -9
  156. package/cjs/components/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js +0 -268
  157. package/cjs/components/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js +0 -363
  158. package/cjs/components/inputs/CompactAutocompleteSelect/inputs/CompactAutocompleteSelect/index.js +0 -9
  159. package/cjs/components/inputs/CompactStarRating/CompactStarRating.js +0 -177
  160. package/cjs/components/inputs/CompactStarRating/CompactStarRating.styled.js +0 -269
  161. package/cjs/components/inputs/CompactStarRating/inputs/CompactStarRating/index.js +0 -9
  162. package/cjs/components/inputs/CompactTextInput/CompactTextInput.js +0 -187
  163. package/cjs/components/inputs/CompactTextInput/CompactTextInput.styled.js +0 -406
  164. package/cjs/components/inputs/CompactTextInput/inputs/CompactTextInput/index.js +0 -9
  165. package/cjs/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js +0 -253
  166. package/cjs/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js +0 -106
  167. package/cjs/components/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js +0 -185
  168. package/cjs/components/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js +0 -147
  169. package/cjs/components/inputs/MultiSelect/MultiSelect.js +0 -208
  170. package/cjs/components/inputs/MultiSelect/MultiSelect.styled.js +0 -275
  171. package/cjs/components/inputs/MultiSelect/inputs/MultiSelect/index.js +0 -9
  172. package/cjs/components/inputs/Radio/Radio.js +0 -67
  173. package/cjs/components/inputs/Radio/Radio.styled.js +0 -100
  174. package/cjs/components/inputs/Radio/inputs/Radio/index.js +0 -9
  175. package/cjs/components/inputs/Switch/Switch.js +0 -69
  176. package/cjs/components/inputs/Switch/Switch.styled.js +0 -138
  177. package/cjs/components/inputs/Switch/inputs/Switch/index.js +0 -9
  178. package/cjs/components/inputs/TextArea/TextArea.js +0 -176
  179. package/cjs/components/inputs/TextArea/TextArea.styled.js +0 -530
  180. package/cjs/components/inputs/TextArea/inputs/TextArea/index.js +0 -9
  181. package/cjs/components/inputs/TextInput/TextInput.js +0 -146
  182. package/cjs/components/inputs/TextInput/TextInput.styled.js +0 -289
  183. package/cjs/components/inputs/TextInput/inputs/TextInput/index.js +0 -9
  184. package/cjs/components/inputs/inputs/index.js +0 -33
  185. package/cjs/components/layout/InputGroup/InputGroup.js +0 -26
  186. package/cjs/components/layout/InputGroup/InputGroup.styled.js +0 -23
  187. package/cjs/components/layout/InputGroup/layout/InputGroup/index.js +0 -9
  188. package/cjs/components/layout/SectionSeparator/SectionSeparator.js +0 -29
  189. package/cjs/components/layout/SectionSeparator/SectionSeparator.styled.js +0 -28
  190. package/cjs/components/layout/SectionSeparator/layout/SectionSeparator/index.js +0 -9
  191. package/cjs/components/layout/layout/index.js +0 -11
  192. package/cjs/components/widgets/AssetAction/AssetAction.js +0 -106
  193. package/cjs/components/widgets/AssetAction/AssetAction.styled.js +0 -69
  194. package/cjs/components/widgets/AssetActionsBase/AssetActionsBase.js +0 -35
  195. package/cjs/components/widgets/AssetActionsBase/AssetActionsBase.styled.js +0 -29
  196. package/cjs/components/widgets/AssetGallery/AssetGallery.js +0 -106
  197. package/cjs/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js +0 -395
  198. package/cjs/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js +0 -52
  199. package/cjs/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js +0 -405
  200. package/cjs/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js +0 -385
  201. package/cjs/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js +0 -396
  202. package/cjs/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js +0 -328
  203. package/cjs/components/widgets/AssetGallery/asset.propType.js +0 -58
  204. package/cjs/components/widgets/AssetGallery/widgets/AssetGallery/index.js +0 -9
  205. package/cjs/components/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js +0 -50
  206. package/cjs/components/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js +0 -107
  207. package/cjs/components/widgets/AssetPreview/AssetPreviewTopBar/widgets/AssetPreview/AssetPreviewTopBar/index.js +0 -9
  208. package/cjs/components/widgets/ContextMenu/ContextMenu.js +0 -29
  209. package/cjs/components/widgets/ContextMenu/ContextMenu.styled.js +0 -24
  210. package/cjs/components/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js +0 -50
  211. package/cjs/components/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js +0 -102
  212. package/cjs/components/widgets/ContextMenu/ContextMenuItem/widgets/ContextMenu/ContextMenuItem/index.js +0 -9
  213. package/cjs/components/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js +0 -28
  214. package/cjs/components/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js +0 -35
  215. package/cjs/components/widgets/ContextMenu/ContextMenuItemsGroup/widgets/ContextMenu/ContextMenuItemsGroup/index.js +0 -9
  216. package/cjs/components/widgets/ContextMenu/widgets/ContextMenu/index.js +0 -9
  217. package/cjs/components/widgets/InfoCard/InfoCard.js +0 -47
  218. package/cjs/components/widgets/InfoCard/InfoCard.styled.js +0 -137
  219. package/cjs/components/widgets/InfoCard/widgets/InfoCard/index.js +0 -9
  220. package/cjs/components/widgets/ProgressBar/ProgressBar.js +0 -79
  221. package/cjs/components/widgets/ProgressBar/ProgressBar.styled.js +0 -210
  222. package/cjs/components/widgets/ProgressBar/widgets/ProgressBar/index.js +0 -9
  223. package/cjs/components/widgets/SummaryCard/SummaryCard.js +0 -93
  224. package/cjs/components/widgets/SummaryCard/SummaryCard.styled.js +0 -169
  225. package/cjs/components/widgets/widgets/index.js +0 -23
  226. package/cjs/hooks/useEventListner.js +0 -26
  227. package/cjs/hooks/useIsomorphicLayoutEffect.js +0 -11
  228. package/cjs/hooks/useOnClickOutside.js +0 -17
  229. package/cjs/icons/arrow-back.svg.js +0 -20
  230. package/cjs/icons/arrow-forward.svg.js +0 -20
  231. package/cjs/icons/check-rectangle-filled.svg.js +0 -20
  232. package/cjs/icons/close.svg.js +0 -20
  233. package/cjs/icons/edit-note.svg.js +0 -20
  234. package/cjs/icons/expand-more.svg.js +0 -20
  235. package/cjs/icons/headset.svg.js +0 -20
  236. package/cjs/icons/layers.svg.js +0 -20
  237. package/cjs/icons/link.svg.js +0 -20
  238. package/cjs/icons/play.svg.js +0 -20
  239. package/cjs/icons/search.svg.js +0 -20
  240. package/cjs/icons/star-filled.svg.js +0 -20
  241. package/cjs/icons/star.svg.js +0 -20
  242. package/cjs/icons/triangle-right.svg.js +0 -20
  243. package/cjs/icons/verification.svg.js +0 -20
  244. package/cjs/icons/warning-circle.svg.js +0 -20
  245. package/cjs/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +0 -11
  246. package/cjs/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +0 -9
  247. package/cjs/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js +0 -11
  248. package/cjs/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +0 -10
  249. package/cjs/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +0 -9
  250. package/cjs/node_modules/@babel/runtime/helpers/esm/createClass.js +0 -19
  251. package/cjs/node_modules/@babel/runtime/helpers/esm/createSuper.js +0 -22
  252. package/cjs/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -16
  253. package/cjs/node_modules/@babel/runtime/helpers/esm/extends.js +0 -15
  254. package/cjs/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js +0 -11
  255. package/cjs/node_modules/@babel/runtime/helpers/esm/inherits.js +0 -20
  256. package/cjs/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js +0 -14
  257. package/cjs/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +0 -9
  258. package/cjs/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +0 -33
  259. package/cjs/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +0 -9
  260. package/cjs/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js +0 -9
  261. package/cjs/node_modules/@babel/runtime/helpers/esm/objectSpread2.js +0 -29
  262. package/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +0 -19
  263. package/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +0 -15
  264. package/cjs/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js +0 -14
  265. package/cjs/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +0 -11
  266. package/cjs/node_modules/@babel/runtime/helpers/esm/slicedToArray.js +0 -14
  267. package/cjs/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js +0 -13
  268. package/cjs/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js +0 -14
  269. package/cjs/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -18
  270. package/cjs/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -13
  271. package/cjs/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -15
  272. package/cjs/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +0 -15
  273. package/cjs/node_modules/@emotion/cache/dist/emotion-cache.esm.js +0 -503
  274. package/cjs/node_modules/@emotion/hash/dist/emotion-hash.esm.js +0 -59
  275. package/cjs/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js +0 -13
  276. package/cjs/node_modules/@emotion/react/dist/emotion-element-d59e098f.esm.js +0 -158
  277. package/cjs/node_modules/@emotion/react/dist/emotion-react.esm.js +0 -66
  278. package/cjs/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js +0 -240
  279. package/cjs/node_modules/@emotion/sheet/dist/emotion-sheet.esm.js +0 -144
  280. package/cjs/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js +0 -56
  281. package/cjs/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.esm.js +0 -16
  282. package/cjs/node_modules/@emotion/utils/dist/emotion-utils.esm.js +0 -60
  283. package/cjs/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js +0 -20
  284. package/cjs/node_modules/@floating-ui/core/dist/floating-ui.core.mjs.js +0 -915
  285. package/cjs/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.js +0 -374
  286. package/cjs/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs.js +0 -130
  287. package/cjs/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs.js +0 -166
  288. package/cjs/node_modules/@restart/hooks/lib/useMergedRefs.js +0 -43
  289. package/cjs/node_modules/@restart/hooks/lib/useUpdateEffect.js +0 -39
  290. package/cjs/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js +0 -24
  291. package/cjs/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js +0 -186
  292. package/cjs/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js +0 -22
  293. package/cjs/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +0 -13
  294. package/cjs/node_modules/memoize-one/dist/memoize-one.esm.js +0 -55
  295. package/cjs/node_modules/object-assign/index.js +0 -94
  296. package/cjs/node_modules/prop-types/checkPropTypes.js +0 -110
  297. package/cjs/node_modules/prop-types/factoryWithThrowingShims.js +0 -69
  298. package/cjs/node_modules/prop-types/factoryWithTypeCheckers.js +0 -621
  299. package/cjs/node_modules/prop-types/index.js +0 -33
  300. package/cjs/node_modules/prop-types/lib/ReactPropTypesSecret.js +0 -16
  301. package/cjs/node_modules/prop-types/lib/has.js +0 -7
  302. package/cjs/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +0 -186
  303. package/cjs/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +0 -22
  304. package/cjs/node_modules/prop-types/node_modules/react-is/index.js +0 -13
  305. package/cjs/node_modules/react/cjs/react.development.js +0 -1289
  306. package/cjs/node_modules/react/cjs/react.production.js +0 -548
  307. package/cjs/node_modules/react/index.js +0 -19
  308. package/cjs/node_modules/react-dom/cjs/react-dom.development.js +0 -432
  309. package/cjs/node_modules/react-dom/cjs/react-dom.production.js +0 -218
  310. package/cjs/node_modules/react-dom/index.js +0 -44
  311. package/cjs/node_modules/react-lazy-load-image-component/src/effects/opacity.css.js +0 -6
  312. package/cjs/node_modules/react-select/creatable/dist/react-select-creatable.esm.js +0 -23
  313. package/cjs/node_modules/react-select/dist/Select-ef7c0426.esm.js +0 -2659
  314. package/cjs/node_modules/react-select/dist/index-641ee5b8.esm.js +0 -1426
  315. package/cjs/node_modules/react-select/dist/useCreatable-09aaeb9a.esm.js +0 -101
  316. package/cjs/node_modules/react-select/dist/useStateManager-7e1e8489.esm.js +0 -78
  317. package/cjs/node_modules/style-inject/dist/style-inject.es.js +0 -32
  318. package/cjs/node_modules/stylis/src/Enum.js +0 -24
  319. package/cjs/node_modules/stylis/src/Middleware.js +0 -37
  320. package/cjs/node_modules/stylis/src/Parser.js +0 -201
  321. package/cjs/node_modules/stylis/src/Serializer.js +0 -43
  322. package/cjs/node_modules/stylis/src/Tokenizer.js +0 -243
  323. package/cjs/node_modules/stylis/src/Utility.js +0 -134
  324. package/cjs/node_modules/tippy.js/animations/shift-away-subtle.css.js +0 -6
  325. package/cjs/node_modules/tippy.js/dist/tippy.css.js +0 -6
  326. package/cjs/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.js +0 -13
  327. package/cjs/ssr/ssr/index.js +0 -12
  328. package/cjs/styles/utils/colors-export.js +0 -41
  329. package/cjs/utils/dateTime.js +0 -20
  330. package/cjs/utils/defaultTheme.js +0 -75
  331. package/doctor-storybook.log +0 -20
  332. package/esm/_virtual/_rollupPluginBabelHelpers.js +0 -74
  333. package/esm/_virtual/index.js +0 -3
  334. package/esm/_virtual/index2.js +0 -3
  335. package/esm/_virtual/index3.js +0 -3
  336. package/esm/_virtual/index4.js +0 -3
  337. package/esm/_virtual/index5.js +0 -3
  338. package/esm/_virtual/react-dom.development.js +0 -3
  339. package/esm/_virtual/react-dom.production.js +0 -3
  340. package/esm/_virtual/react-is.development.js +0 -3
  341. package/esm/_virtual/react-is.development2.js +0 -3
  342. package/esm/_virtual/react-is.production.min.js +0 -3
  343. package/esm/_virtual/react-is.production.min2.js +0 -3
  344. package/esm/_virtual/react.development.js +0 -3
  345. package/esm/_virtual/react.production.js +0 -3
  346. package/esm/components/data/Alert/Alert.js +0 -75
  347. package/esm/components/data/Alert/Alert.styled.js +0 -70
  348. package/esm/components/data/Alert/data/Alert/index.js +0 -1
  349. package/esm/components/data/Badge/Badge.js +0 -89
  350. package/esm/components/data/Badge/Badge.styled.js +0 -156
  351. package/esm/components/data/Badge/data/Badge/index.js +0 -1
  352. package/esm/components/data/Popover/Popover.js +0 -96
  353. package/esm/components/data/Popover/Popover.styled.js +0 -150
  354. package/esm/components/data/Popover/data/Popover/index.js +0 -1
  355. package/esm/components/data/Tab/Tab.js +0 -27
  356. package/esm/components/data/Tab/Tab.styled.js +0 -19
  357. package/esm/components/data/Tab/data/Tab/index.js +0 -1
  358. package/esm/components/data/Tabs/Tabs.js +0 -97
  359. package/esm/components/data/Tabs/Tabs.styled.js +0 -98
  360. package/esm/components/data/Tabs/data/Tabs/index.js +0 -1
  361. package/esm/components/data/Tooltip/Tooltip.js +0 -48
  362. package/esm/components/data/Tooltip/Tooltip.styled.js +0 -29
  363. package/esm/components/data/Tooltip/data/Tooltip/index.js +0 -1
  364. package/esm/components/data/VerificationStatusIcon/VerificationStatusIcon.js +0 -38
  365. package/esm/components/data/VerificationStatusIcon/VerificationStatusIcon.styled.js +0 -78
  366. package/esm/components/data/data/index.js +0 -7
  367. package/esm/components/inputs/ActionButton/ActionButton.js +0 -40
  368. package/esm/components/inputs/ActionButton/ActionButton.styled.js +0 -67
  369. package/esm/components/inputs/ActionButton/inputs/ActionButton/index.js +0 -1
  370. package/esm/components/inputs/Button/Button.js +0 -191
  371. package/esm/components/inputs/Button/Button.styled.js +0 -323
  372. package/esm/components/inputs/Button/inputs/Button/index.js +0 -1
  373. package/esm/components/inputs/Checkbox/Checkbox.js +0 -98
  374. package/esm/components/inputs/Checkbox/Checkbox.styled.js +0 -147
  375. package/esm/components/inputs/Checkbox/inputs/Checkbox/index.js +0 -1
  376. package/esm/components/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js +0 -264
  377. package/esm/components/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js +0 -335
  378. package/esm/components/inputs/CompactAutocompleteSelect/inputs/CompactAutocompleteSelect/index.js +0 -1
  379. package/esm/components/inputs/CompactStarRating/CompactStarRating.js +0 -173
  380. package/esm/components/inputs/CompactStarRating/CompactStarRating.styled.js +0 -256
  381. package/esm/components/inputs/CompactStarRating/inputs/CompactStarRating/index.js +0 -1
  382. package/esm/components/inputs/CompactTextInput/CompactTextInput.js +0 -183
  383. package/esm/components/inputs/CompactTextInput/CompactTextInput.styled.js +0 -389
  384. package/esm/components/inputs/CompactTextInput/inputs/CompactTextInput/index.js +0 -1
  385. package/esm/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js +0 -247
  386. package/esm/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js +0 -92
  387. package/esm/components/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js +0 -181
  388. package/esm/components/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js +0 -129
  389. package/esm/components/inputs/MultiSelect/MultiSelect.js +0 -204
  390. package/esm/components/inputs/MultiSelect/MultiSelect.styled.js +0 -251
  391. package/esm/components/inputs/MultiSelect/inputs/MultiSelect/index.js +0 -1
  392. package/esm/components/inputs/Radio/Radio.js +0 -63
  393. package/esm/components/inputs/Radio/Radio.styled.js +0 -91
  394. package/esm/components/inputs/Radio/inputs/Radio/index.js +0 -1
  395. package/esm/components/inputs/Switch/Switch.js +0 -65
  396. package/esm/components/inputs/Switch/Switch.styled.js +0 -125
  397. package/esm/components/inputs/Switch/inputs/Switch/index.js +0 -1
  398. package/esm/components/inputs/TextArea/TextArea.js +0 -172
  399. package/esm/components/inputs/TextArea/TextArea.styled.js +0 -512
  400. package/esm/components/inputs/TextArea/inputs/TextArea/index.js +0 -1
  401. package/esm/components/inputs/TextInput/TextInput.js +0 -142
  402. package/esm/components/inputs/TextInput/TextInput.styled.js +0 -274
  403. package/esm/components/inputs/TextInput/inputs/TextInput/index.js +0 -1
  404. package/esm/components/inputs/inputs/index.js +0 -13
  405. package/esm/components/layout/InputGroup/InputGroup.js +0 -22
  406. package/esm/components/layout/InputGroup/InputGroup.styled.js +0 -15
  407. package/esm/components/layout/InputGroup/layout/InputGroup/index.js +0 -1
  408. package/esm/components/layout/SectionSeparator/SectionSeparator.js +0 -25
  409. package/esm/components/layout/SectionSeparator/SectionSeparator.styled.js +0 -20
  410. package/esm/components/layout/SectionSeparator/layout/SectionSeparator/index.js +0 -1
  411. package/esm/components/layout/layout/index.js +0 -2
  412. package/esm/components/widgets/AssetAction/AssetAction.js +0 -102
  413. package/esm/components/widgets/AssetAction/AssetAction.styled.js +0 -57
  414. package/esm/components/widgets/AssetActionsBase/AssetActionsBase.js +0 -31
  415. package/esm/components/widgets/AssetActionsBase/AssetActionsBase.styled.js +0 -21
  416. package/esm/components/widgets/AssetGallery/AssetGallery.js +0 -102
  417. package/esm/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js +0 -387
  418. package/esm/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js +0 -42
  419. package/esm/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js +0 -401
  420. package/esm/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js +0 -358
  421. package/esm/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js +0 -392
  422. package/esm/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js +0 -302
  423. package/esm/components/widgets/AssetGallery/asset.propType.js +0 -53
  424. package/esm/components/widgets/AssetGallery/widgets/AssetGallery/index.js +0 -1
  425. package/esm/components/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js +0 -46
  426. package/esm/components/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js +0 -95
  427. package/esm/components/widgets/AssetPreview/AssetPreviewTopBar/widgets/AssetPreview/AssetPreviewTopBar/index.js +0 -1
  428. package/esm/components/widgets/ContextMenu/ContextMenu.js +0 -25
  429. package/esm/components/widgets/ContextMenu/ContextMenu.styled.js +0 -16
  430. package/esm/components/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js +0 -46
  431. package/esm/components/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js +0 -92
  432. package/esm/components/widgets/ContextMenu/ContextMenuItem/widgets/ContextMenu/ContextMenuItem/index.js +0 -1
  433. package/esm/components/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js +0 -24
  434. package/esm/components/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js +0 -27
  435. package/esm/components/widgets/ContextMenu/ContextMenuItemsGroup/widgets/ContextMenu/ContextMenuItemsGroup/index.js +0 -1
  436. package/esm/components/widgets/ContextMenu/widgets/ContextMenu/index.js +0 -1
  437. package/esm/components/widgets/InfoCard/InfoCard.js +0 -43
  438. package/esm/components/widgets/InfoCard/InfoCard.styled.js +0 -121
  439. package/esm/components/widgets/InfoCard/widgets/InfoCard/index.js +0 -1
  440. package/esm/components/widgets/ProgressBar/ProgressBar.js +0 -75
  441. package/esm/components/widgets/ProgressBar/ProgressBar.styled.js +0 -191
  442. package/esm/components/widgets/ProgressBar/widgets/ProgressBar/index.js +0 -1
  443. package/esm/components/widgets/SummaryCard/SummaryCard.js +0 -89
  444. package/esm/components/widgets/SummaryCard/SummaryCard.styled.js +0 -151
  445. package/esm/components/widgets/widgets/index.js +0 -8
  446. package/esm/hooks/useEventListner.js +0 -22
  447. package/esm/hooks/useIsomorphicLayoutEffect.js +0 -7
  448. package/esm/hooks/useOnClickOutside.js +0 -13
  449. package/esm/icons/arrow-back.svg.js +0 -16
  450. package/esm/icons/check-rectangle-filled.svg.js +0 -16
  451. package/esm/icons/headset.svg.js +0 -16
  452. package/esm/icons/layers.svg.js +0 -16
  453. package/esm/icons/link.svg.js +0 -16
  454. package/esm/icons/play.svg.js +0 -16
  455. package/esm/icons/search.svg.js +0 -16
  456. package/esm/icons/star-filled.svg.js +0 -16
  457. package/esm/icons/star.svg.js +0 -16
  458. package/esm/icons/triangle-right.svg.js +0 -16
  459. package/esm/icons/verification.svg.js +0 -16
  460. package/esm/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +0 -7
  461. package/esm/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +0 -5
  462. package/esm/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js +0 -7
  463. package/esm/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +0 -6
  464. package/esm/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +0 -5
  465. package/esm/node_modules/@babel/runtime/helpers/esm/createClass.js +0 -15
  466. package/esm/node_modules/@babel/runtime/helpers/esm/createSuper.js +0 -18
  467. package/esm/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -12
  468. package/esm/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js +0 -7
  469. package/esm/node_modules/@babel/runtime/helpers/esm/inherits.js +0 -16
  470. package/esm/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js +0 -10
  471. package/esm/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +0 -5
  472. package/esm/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +0 -29
  473. package/esm/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +0 -5
  474. package/esm/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js +0 -5
  475. package/esm/node_modules/@babel/runtime/helpers/esm/objectSpread2.js +0 -25
  476. package/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +0 -15
  477. package/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +0 -11
  478. package/esm/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js +0 -10
  479. package/esm/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +0 -7
  480. package/esm/node_modules/@babel/runtime/helpers/esm/slicedToArray.js +0 -10
  481. package/esm/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js +0 -9
  482. package/esm/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js +0 -10
  483. package/esm/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -14
  484. package/esm/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -9
  485. package/esm/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -11
  486. package/esm/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +0 -11
  487. package/esm/node_modules/@emotion/cache/dist/emotion-cache.esm.js +0 -499
  488. package/esm/node_modules/@emotion/hash/dist/emotion-hash.esm.js +0 -55
  489. package/esm/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js +0 -9
  490. package/esm/node_modules/@emotion/react/dist/emotion-element-d59e098f.esm.js +0 -149
  491. package/esm/node_modules/@emotion/react/dist/emotion-react.esm.js +0 -56
  492. package/esm/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js +0 -236
  493. package/esm/node_modules/@emotion/sheet/dist/emotion-sheet.esm.js +0 -140
  494. package/esm/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js +0 -52
  495. package/esm/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.esm.js +0 -12
  496. package/esm/node_modules/@emotion/utils/dist/emotion-utils.esm.js +0 -54
  497. package/esm/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js +0 -16
  498. package/esm/node_modules/@floating-ui/core/dist/floating-ui.core.mjs.js +0 -902
  499. package/esm/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.js +0 -370
  500. package/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs.js +0 -112
  501. package/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs.js +0 -139
  502. package/esm/node_modules/@restart/hooks/lib/useMergedRefs.js +0 -38
  503. package/esm/node_modules/@restart/hooks/lib/useUpdateEffect.js +0 -35
  504. package/esm/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js +0 -22
  505. package/esm/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js +0 -181
  506. package/esm/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js +0 -17
  507. package/esm/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +0 -11
  508. package/esm/node_modules/memoize-one/dist/memoize-one.esm.js +0 -51
  509. package/esm/node_modules/object-assign/index.js +0 -90
  510. package/esm/node_modules/prop-types/checkPropTypes.js +0 -106
  511. package/esm/node_modules/prop-types/factoryWithThrowingShims.js +0 -65
  512. package/esm/node_modules/prop-types/index.js +0 -29
  513. package/esm/node_modules/prop-types/lib/ReactPropTypesSecret.js +0 -12
  514. package/esm/node_modules/prop-types/lib/has.js +0 -3
  515. package/esm/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +0 -181
  516. package/esm/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +0 -17
  517. package/esm/node_modules/prop-types/node_modules/react-is/index.js +0 -11
  518. package/esm/node_modules/react/cjs/react.development.js +0 -1287
  519. package/esm/node_modules/react/cjs/react.production.js +0 -543
  520. package/esm/node_modules/react/index.js +0 -15
  521. package/esm/node_modules/react-dom/cjs/react-dom.development.js +0 -427
  522. package/esm/node_modules/react-dom/cjs/react-dom.production.js +0 -213
  523. package/esm/node_modules/react-dom/index.js +0 -42
  524. package/esm/node_modules/react-lazy-load-image-component/src/effects/opacity.css.js +0 -4
  525. package/esm/node_modules/react-select/creatable/dist/react-select-creatable.esm.js +0 -19
  526. package/esm/node_modules/react-select/dist/Select-ef7c0426.esm.js +0 -2650
  527. package/esm/node_modules/react-select/dist/index-641ee5b8.esm.js +0 -1385
  528. package/esm/node_modules/react-select/dist/useCreatable-09aaeb9a.esm.js +0 -97
  529. package/esm/node_modules/react-select/dist/useStateManager-7e1e8489.esm.js +0 -74
  530. package/esm/node_modules/style-inject/dist/style-inject.es.js +0 -28
  531. package/esm/node_modules/stylis/src/Enum.js +0 -12
  532. package/esm/node_modules/stylis/src/Middleware.js +0 -32
  533. package/esm/node_modules/stylis/src/Parser.js +0 -193
  534. package/esm/node_modules/stylis/src/Serializer.js +0 -38
  535. package/esm/node_modules/stylis/src/Tokenizer.js +0 -223
  536. package/esm/node_modules/stylis/src/Utility.js +0 -117
  537. package/esm/node_modules/tippy.js/animations/shift-away-subtle.css.js +0 -4
  538. package/esm/node_modules/tippy.js/dist/tippy.css.js +0 -4
  539. package/esm/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.js +0 -9
  540. package/esm/styles/utils/colors-export.js +0 -37
  541. package/esm/utils/dateTime.js +0 -16
  542. package/esm/utils/defaultTheme.js +0 -70
  543. package/migration-storybook.log +0 -392
  544. package/styles/utils/colors-export.js +0 -35
  545. /package/{esm/ssr → build}/ssr/index.js +0 -0
@@ -0,0 +1,2356 @@
1
+ import { _ as _extends$4 } from '../../_rollupPluginBabelHelpers-c245b26a.js';
2
+ import { isFunction, get, mapKeys, omit, isEmpty, throttle } from 'lodash';
3
+ import { P as PropTypes, a as applyDefaultTheme, s as styleInject } from '../../defaultTheme-1bcc2541.js';
4
+ import * as React from 'react';
5
+ import React__default, { useRef, useState, useCallback, useEffect, useMemo } from 'react';
6
+ import useMergedRefs from '@restart/hooks/useMergedRefs';
7
+ import ResizeObserver from 'resize-observer-polyfill';
8
+ import { u as useIsomorphicLayoutEffect } from '../../MultiLevelCheckboxSelect-d8044c88.js';
9
+ import styled, { css } from 'styled-components';
10
+ import { S as SvgWarningCircle } from '../../warning-circle-24f3efcd.js';
11
+ import { A as Alert } from '../../Alert-e6847a22.js';
12
+ import { B as Badge } from '../../Badge-d93586a9.js';
13
+ import { P as Popover } from '../../Popover-20050b91.js';
14
+ import '../../Tab-04d435c3.js';
15
+ import '../../Tabs-74d1ea8a.js';
16
+ import { T as Tooltip } from '../../Tooltip-c1d1199e.js';
17
+ import '../../VerificationStatusIcon-49cb1c1b.js';
18
+ import { FloatingArrow, useFloating, autoUpdate, offset, flip, shift, arrow, useTransitionStyles, useHover, useDismiss, useInteractions, useMergeRefs } from '@floating-ui/react';
19
+ import { rgba } from 'polished';
20
+ import { A as ActionButton } from '../../ActionButton-4db754c3.js';
21
+ import '../../Button-179a2fe4.js';
22
+ import '../../Checkbox-4a5fd716.js';
23
+ import '../../CompactAutocompleteSelect-52c49513.js';
24
+ import '../../CompactStarRating-9af2f427.js';
25
+ import '../../CompactTextInput-42ca5d42.js';
26
+ import '../../MultiSelect-9f497e62.js';
27
+ import '../../Radio-73ca3ae2.js';
28
+ import '../../TextArea-1e5b9201.js';
29
+ import '../../TextInput-fab35842.js';
30
+ import '../../Switch-ecf3122b.js';
31
+ import ContextMenu from '../ContextMenu/ContextMenu.js';
32
+ import ContextMenuItem from '../ContextMenu/ContextMenuItem/ContextMenuItem.js';
33
+ import '../../InputGroup-1294d190.js';
34
+ import '../../SectionSeparator-f47760a2.js';
35
+ import '../../close-a5d37608.js';
36
+ import '@restart/hooks/useUpdateEffect';
37
+ import '@tippyjs/react';
38
+ import '../../shift-away-subtle-0dd94a03.js';
39
+ import 'popper-max-size-modifier';
40
+ import '../../expand-more-c5523c46.js';
41
+ import 'nanoid';
42
+ import 'react-select';
43
+ import 'react-select-async-paginate';
44
+ import 'react-select/creatable';
45
+ import '../../edit-note-283a0e15.js';
46
+
47
+ var _path$3;
48
+ function _extends$3() { return _extends$3 = 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$3.apply(null, arguments); }
49
+ function SvgCheckRectangleFilled(props) {
50
+ return /*#__PURE__*/React.createElement("svg", _extends$3({
51
+ xmlns: "http://www.w3.org/2000/svg",
52
+ viewBox: "0 0 24 24"
53
+ }, props), _path$3 || (_path$3 = /*#__PURE__*/React.createElement("path", {
54
+ fill: "currentColor",
55
+ d: "M10.146 17.622l9.412-9.412-1.87-1.869-7.542 7.543-3.805-3.805-1.869 1.87 5.674 5.673zM2.67 24.03q-1.101 0-1.886-.784T0 21.36V2.67Q0 1.569.784.784T2.67 0h18.69q1.101 0 1.886.784t.784 1.886v18.69q0 1.101-.784 1.886t-1.886.784H2.67z"
56
+ })));
57
+ }
58
+
59
+ var _path$2;
60
+ function _extends$2() { return _extends$2 = 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$2.apply(null, arguments); }
61
+ function SvgHeadset(props) {
62
+ return /*#__PURE__*/React.createElement("svg", _extends$2({
63
+ xmlns: "http://www.w3.org/2000/svg",
64
+ fill: "currentColor",
65
+ viewBox: "0 0 24 24"
66
+ }, props), _path$2 || (_path$2 = /*#__PURE__*/React.createElement("path", {
67
+ d: "M9 21H5q-.825 0-1.413-.587Q3 19.825 3 19v-7q0-1.875.712-3.513.713-1.637 1.926-2.85 1.212-1.212 2.85-1.925Q10.125 3 12 3t3.513.712q1.637.713 2.85 1.925 1.212 1.213 1.925 2.85Q21 10.125 21 12v7q0 .825-.587 1.413Q19.825 21 19 21h-4v-8h4v-1q0-2.925-2.038-4.963Q14.925 5 12 5T7.038 7.037Q5 9.075 5 12v1h4zm-2-6H5v4h2zm10 0v4h2v-4zm0 0h2-2zM7 15H5z"
68
+ })));
69
+ }
70
+
71
+ var _path$1;
72
+ function _extends$1() { return _extends$1 = 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$1.apply(null, arguments); }
73
+ function SvgLayers(props) {
74
+ return /*#__PURE__*/React.createElement("svg", _extends$1({
75
+ xmlns: "http://www.w3.org/2000/svg",
76
+ viewBox: "-1 0 24 24"
77
+ }, props), _path$1 || (_path$1 = /*#__PURE__*/React.createElement("path", {
78
+ fill: "currentColor",
79
+ d: "M11.16 23.622L0 14.942l2.046-1.55 9.114 7.068 9.114-7.068 2.046 1.55-11.16 8.68zm0-6.262L0 8.68 11.16 0l11.16 8.68-11.16 8.68z"
80
+ })));
81
+ }
82
+
83
+ var _path;
84
+ 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); }
85
+ function SvgPlay(props) {
86
+ return /*#__PURE__*/React.createElement("svg", _extends({
87
+ xmlns: "http://www.w3.org/2000/svg",
88
+ viewBox: "-3 -0.25 24 24"
89
+ }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
90
+ fill: "currentColor",
91
+ d: "M0 23.52V0l18.48 11.76L0 23.52z"
92
+ })));
93
+ }
94
+
95
+ const assetShape = {
96
+ key: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
97
+ previewUrl: PropTypes.string,
98
+ title: PropTypes.string,
99
+ note: PropTypes.shape({
100
+ icon: PropTypes.element,
101
+ message: PropTypes.string
102
+ }),
103
+ width: PropTypes.number,
104
+ height: PropTypes.number,
105
+ fileType: PropTypes.oneOf(['image', 'video', 'pdf', 'file', 'audio']).isRequired,
106
+ fileTypeIconPosition: PropTypes.oneOf(['top-left', 'top-right']),
107
+ group: PropTypes.string,
108
+ actions: PropTypes.arrayOf(PropTypes.shape({
109
+ title: PropTypes.string.isRequired,
110
+ icon: PropTypes.element.isRequired,
111
+ onClick: PropTypes.func.isRequired,
112
+ className: PropTypes.shape,
113
+ component: PropTypes.func
114
+ })),
115
+ overlay: PropTypes.element,
116
+ completed: PropTypes.bool,
117
+ hasError: PropTypes.bool,
118
+ disabled: PropTypes.bool,
119
+ onClick: PropTypes.func,
120
+ onContextMenu: PropTypes.func,
121
+ onMouseEnter: PropTypes.func,
122
+ summary: PropTypes.shape({
123
+ title: PropTypes.string,
124
+ description: PropTypes.string,
125
+ instructions: PropTypes.string,
126
+ instructionsType: PropTypes.oneOf(['warning', 'error', 'info']),
127
+ headerLeft: PropTypes.node,
128
+ headerRight: PropTypes.node,
129
+ footerLeft: PropTypes.node,
130
+ footerRight: PropTypes.node
131
+ })
132
+ };
133
+ const assetShapeWithLayout = {
134
+ ...assetShape,
135
+ layout: PropTypes.shape({
136
+ width: PropTypes.number.isRequired,
137
+ height: PropTypes.number.isRequired,
138
+ translateX: PropTypes.number.isRequired,
139
+ translateY: PropTypes.number.isRequired,
140
+ type: PropTypes.oneOf(['groupLabel', 'asset']).isRequired,
141
+ hasHeightAndWidth: PropTypes.bool
142
+ }).isRequired
143
+ };
144
+
145
+ const AssetGalleryBase$1 = styled.div.attrs(applyDefaultTheme)`
146
+ position: relative;
147
+ `;
148
+ const GroupLabel = styled.div.attrs(applyDefaultTheme)`
149
+ font-family: ${props => props.theme.primaryFontFamily};
150
+ ${props => props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-700'))}
151
+ display: flex;
152
+ align-items: flex-end;
153
+ position: absolute;
154
+ padding-bottom: 4px;
155
+ box-sizing: border-box;
156
+ `;
157
+ const AssetGalleryCardBase = styled.div.attrs(applyDefaultTheme)`
158
+ position: absolute;
159
+ top: 0;
160
+ left: 0;
161
+ margin: 0;
162
+ z-index: 1;
163
+ will-change: transform, width, height;
164
+
165
+ &:hover {
166
+ z-index: 2;
167
+ }
168
+ `;
169
+
170
+ var build = {exports: {}};
171
+
172
+ (()=>{var e={296:(e,t,r)=>{var o=/^\s+|\s+$/g,n=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt,s="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,l="object"==typeof self&&self&&self.Object===Object&&self,a=s||l||Function("return this")(),f=Object.prototype.toString,p=Math.max,y=Math.min,b=function(){return a.Date.now()};function d(e){var t=typeof e;return !!e&&("object"==t||"function"==t)}function h(e){if("number"==typeof e)return e;if(function(e){return "symbol"==typeof e||function(e){return !!e&&"object"==typeof e}(e)&&"[object Symbol]"==f.call(e)}(e))return NaN;if(d(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=d(t)?t+"":t;}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(o,"");var r=i.test(e);return r||c.test(e)?u(e.slice(2),r?2:8):n.test(e)?NaN:+e}e.exports=function(e,t,r){var o,n,i,c,u,s,l=0,a=!1,f=!1,v=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function m(t){var r=o,i=n;return o=n=void 0,l=t,c=e.apply(i,r)}function O(e){var r=e-s;return void 0===s||r>=t||r<0||f&&e-l>=i}function w(){var e=b();if(O(e))return g(e);u=setTimeout(w,function(e){var r=t-(e-s);return f?y(r,i-(e-l)):r}(e));}function g(e){return u=void 0,v&&o?m(e):(o=n=void 0,c)}function P(){var e=b(),r=O(e);if(o=arguments,n=this,s=e,r){if(void 0===u)return function(e){return l=e,u=setTimeout(w,t),a?m(e):c}(s);if(f)return u=setTimeout(w,t),m(s)}return void 0===u&&(u=setTimeout(w,t)),c}return t=h(t)||0,d(r)&&(a=!!r.leading,i=(f="maxWait"in r)?p(h(r.maxWait)||0,t):i,v="trailing"in r?!!r.trailing:v),P.cancel=function(){void 0!==u&&clearTimeout(u),l=0,o=s=n=u=void 0;},P.flush=function(){return void 0===u?c:g(b())},P};},96:(e,t,r)=>{var o="Expected a function",n=NaN,i="[object Symbol]",c=/^\s+|\s+$/g,u=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,a=parseInt,f="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,p="object"==typeof self&&self&&self.Object===Object&&self,y=f||p||Function("return this")(),b=Object.prototype.toString,d=Math.max,h=Math.min,v=function(){return y.Date.now()};function m(e){var t=typeof e;return !!e&&("object"==t||"function"==t)}function O(e){if("number"==typeof e)return e;if(function(e){return "symbol"==typeof e||function(e){return !!e&&"object"==typeof e}(e)&&b.call(e)==i}(e))return n;if(m(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=m(t)?t+"":t;}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(c,"");var r=s.test(e);return r||l.test(e)?a(e.slice(2),r?2:8):u.test(e)?n:+e}e.exports=function(e,t,r){var n=!0,i=!0;if("function"!=typeof e)throw new TypeError(o);return m(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),function(e,t,r){var n,i,c,u,s,l,a=0,f=!1,p=!1,y=!0;if("function"!=typeof e)throw new TypeError(o);function b(t){var r=n,o=i;return n=i=void 0,a=t,u=e.apply(o,r)}function w(e){var r=e-l;return void 0===l||r>=t||r<0||p&&e-a>=c}function g(){var e=v();if(w(e))return P(e);s=setTimeout(g,function(e){var r=t-(e-l);return p?h(r,c-(e-a)):r}(e));}function P(e){return s=void 0,y&&n?b(e):(n=i=void 0,u)}function j(){var e=v(),r=w(e);if(n=arguments,i=this,l=e,r){if(void 0===s)return function(e){return a=e,s=setTimeout(g,t),f?b(e):u}(l);if(p)return s=setTimeout(g,t),b(l)}return void 0===s&&(s=setTimeout(g,t)),u}return t=O(t)||0,m(r)&&(f=!!r.leading,c=(p="maxWait"in r)?d(O(r.maxWait)||0,t):c,y="trailing"in r?!!r.trailing:y),j.cancel=function(){void 0!==s&&clearTimeout(s),a=0,n=l=i=s=void 0;},j.flush=function(){return void 0===s?u:P(v())},j}(e,t,{leading:n,maxWait:t,trailing:i})};},703:(e,t,r)=>{var o=r(414);function n(){}function i(){}i.resetWarningCache=n,e.exports=function(){function e(e,t,r,n,i,c){if(c!==o){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:n};return r.PropTypes=r,r};},697:(e,t,r)=>{e.exports=r(703)();},414:e=>{e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]});},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0});};var o={};(()=>{r.r(o),r.d(o,{LazyLoadComponent:()=>Y,LazyLoadImage:()=>ne,trackWindowScroll:()=>D});const e=React__default;var t=r.n(e),n=r(697);function i(){return "undefined"!=typeof window&&"IntersectionObserver"in window&&"isIntersecting"in window.IntersectionObserverEntry.prototype}function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o);}return r}function s(e,t,r){return (t=a(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,a(o.key),o);}}function a(e){var t=function(e,t){if("object"!==c(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,"string");if("object"!==c(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return "symbol"===c(t)?t:String(t)}function f(e,t){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},f(e,t)}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}var y=function(e){e.forEach((function(e){e.isIntersecting&&e.target.onVisible();}));},b={},d=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&f(e,t);}(h,e);var r,o,n,a,d=(n=h,a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return !1;if(Reflect.construct.sham)return !1;if("function"==typeof Proxy)return !0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return !1}}(),function(){var e,t=p(n);if(a){var r=p(this).constructor;e=Reflect.construct(t,arguments,r);}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===c(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function h(e){var t;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,h),(t=d.call(this,e)).supportsObserver=!e.scrollPosition&&e.useIntersectionObserver&&i(),t.supportsObserver){var r=e.threshold;t.observer=function(e){return b[e]=b[e]||new IntersectionObserver(y,{rootMargin:e+"px"}),b[e]}(r);}return t}return r=h,o=[{key:"componentDidMount",value:function(){this.placeholder&&this.observer&&(this.placeholder.onVisible=this.props.onVisible,this.observer.observe(this.placeholder)),this.supportsObserver||this.updateVisibility();}},{key:"componentWillUnmount",value:function(){this.observer&&this.placeholder&&this.observer.unobserve(this.placeholder);}},{key:"componentDidUpdate",value:function(){this.supportsObserver||this.updateVisibility();}},{key:"getPlaceholderBoundingBox",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.scrollPosition,t=this.placeholder.getBoundingClientRect(),r=this.placeholder.style,o=parseInt(r.getPropertyValue("margin-left"),10)||0,n=parseInt(r.getPropertyValue("margin-top"),10)||0;return {bottom:e.y+t.bottom+n,left:e.x+t.left+o,right:e.x+t.right+o,top:e.y+t.top+n}}},{key:"isPlaceholderInViewport",value:function(){if("undefined"==typeof window||!this.placeholder)return !1;var e=this.props,t=e.scrollPosition,r=e.threshold,o=this.getPlaceholderBoundingBox(t),n=t.y+window.innerHeight,i=t.x,c=t.x+window.innerWidth,u=t.y;return Boolean(u-r<=o.bottom&&n+r>=o.top&&i-r<=o.right&&c+r>=o.left)}},{key:"updateVisibility",value:function(){this.isPlaceholderInViewport()&&this.props.onVisible();}},{key:"render",value:function(){var e=this,r=this.props,o=r.className,n=r.height,i=r.placeholder,c=r.style,l=r.width;if(i&&"function"!=typeof i.type)return t().cloneElement(i,{ref:function(t){return e.placeholder=t}});var a=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){s(e,t,r[t]);})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t));}));}return e}({display:"inline-block"},c);return void 0!==l&&(a.width=l),void 0!==n&&(a.height=n),t().createElement("span",{className:o,ref:function(t){return e.placeholder=t},style:a},i)}}],o&&l(r.prototype,o),Object.defineProperty(r,"prototype",{writable:!1}),h}(t().Component);d.propTypes={onVisible:n.PropTypes.func.isRequired,className:n.PropTypes.string,height:n.PropTypes.oneOfType([n.PropTypes.number,n.PropTypes.string]),placeholder:n.PropTypes.element,threshold:n.PropTypes.number,useIntersectionObserver:n.PropTypes.bool,scrollPosition:n.PropTypes.shape({x:n.PropTypes.number.isRequired,y:n.PropTypes.number.isRequired}),width:n.PropTypes.oneOfType([n.PropTypes.number,n.PropTypes.string])},d.defaultProps={className:"",placeholder:null,threshold:100,useIntersectionObserver:!0};const h=d;var v=r(296),m=r.n(v),O=r(96),w=r.n(O),g=function(e){var t=getComputedStyle(e,null);return t.getPropertyValue("overflow")+t.getPropertyValue("overflow-y")+t.getPropertyValue("overflow-x")};const P=function(e){if(!(e instanceof HTMLElement))return window;for(var t=e;t&&t instanceof HTMLElement;){if(/(scroll|auto)/.test(g(t)))return t;t=t.parentNode;}return window};function j(e){return j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},j(e)}var T=["delayMethod","delayTime"];function S(){return S=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);}return e},S.apply(this,arguments)}function E(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,(n=function(e,t){if("object"!==j(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,"string");if("object"!==j(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(o.key),"symbol"===j(n)?n:String(n)),o);}var n;}function L(e,t){return L=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},L(e,t)}function _(e,t){if(t&&("object"===j(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return I(e)}function I(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function x(e){return x=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},x(e)}var R=function(){return "undefined"==typeof window?0:window.scrollX||window.pageXOffset},k=function(){return "undefined"==typeof window?0:window.scrollY||window.pageYOffset};const D=function(e){var r=function(r){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&L(e,t);}(l,r);var o,n,c,u,s=(c=l,u=function(){if("undefined"==typeof Reflect||!Reflect.construct)return !1;if(Reflect.construct.sham)return !1;if("function"==typeof Proxy)return !0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return !1}}(),function(){var e,t=x(c);if(u){var r=x(this).constructor;e=Reflect.construct(t,arguments,r);}else e=t.apply(this,arguments);return _(this,e)});function l(e){var r;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),(r=s.call(this,e)).useIntersectionObserver=e.useIntersectionObserver&&i(),r.useIntersectionObserver)return _(r);var o=r.onChangeScroll.bind(I(r));return "debounce"===e.delayMethod?r.delayedScroll=m()(o,e.delayTime):"throttle"===e.delayMethod&&(r.delayedScroll=w()(o,e.delayTime)),r.state={scrollPosition:{x:R(),y:k()}},r.baseComponentRef=t().createRef(),r}return o=l,(n=[{key:"componentDidMount",value:function(){this.addListeners();}},{key:"componentWillUnmount",value:function(){this.removeListeners();}},{key:"componentDidUpdate",value:function(){"undefined"==typeof window||this.useIntersectionObserver||P(this.baseComponentRef.current)!==this.scrollElement&&(this.removeListeners(),this.addListeners());}},{key:"addListeners",value:function(){"undefined"==typeof window||this.useIntersectionObserver||(this.scrollElement=P(this.baseComponentRef.current),this.scrollElement.addEventListener("scroll",this.delayedScroll,{passive:!0}),window.addEventListener("resize",this.delayedScroll,{passive:!0}),this.scrollElement!==window&&window.addEventListener("scroll",this.delayedScroll,{passive:!0}));}},{key:"removeListeners",value:function(){"undefined"==typeof window||this.useIntersectionObserver||(this.scrollElement.removeEventListener("scroll",this.delayedScroll),window.removeEventListener("resize",this.delayedScroll),this.scrollElement!==window&&window.removeEventListener("scroll",this.delayedScroll));}},{key:"onChangeScroll",value:function(){this.useIntersectionObserver||this.setState({scrollPosition:{x:R(),y:k()}});}},{key:"render",value:function(){var r=this.props,o=(r.delayMethod,r.delayTime,function(e,t){if(null==e)return {};var r,o,n=function(e,t){if(null==e)return {};var r,o,n={},i=Object.keys(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r]);}return n}(r,T)),n=this.useIntersectionObserver?null:this.state.scrollPosition;return t().createElement(e,S({forwardRef:this.baseComponentRef,scrollPosition:n},o))}}])&&E(o.prototype,n),Object.defineProperty(o,"prototype",{writable:!1}),l}(t().Component);return r.propTypes={delayMethod:n.PropTypes.oneOf(["debounce","throttle"]),delayTime:n.PropTypes.number,useIntersectionObserver:n.PropTypes.bool},r.defaultProps={delayMethod:"throttle",delayTime:300,useIntersectionObserver:!0},r};function C(e){return C="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},C(e)}function B(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,(n=function(e,t){if("object"!==C(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,"string");if("object"!==C(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(o.key),"symbol"===C(n)?n:String(n)),o);}var n;}function M(e,t){return M=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},M(e,t)}function N(e){return N=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},N(e)}var V=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&M(e,t);}(u,e);var r,o,n,i,c=(n=u,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return !1;if(Reflect.construct.sham)return !1;if("function"==typeof Proxy)return !0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return !1}}(),function(){var e,t=N(n);if(i){var r=N(this).constructor;e=Reflect.construct(t,arguments,r);}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===C(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function u(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),c.call(this,e)}return r=u,(o=[{key:"render",value:function(){return t().createElement(h,this.props)}}])&&B(r.prototype,o),Object.defineProperty(r,"prototype",{writable:!1}),u}(t().Component);const W=D(V);function z(e){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},z(e)}function $(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,(n=function(e,t){if("object"!==z(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,"string");if("object"!==z(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(o.key),"symbol"===z(n)?n:String(n)),o);}var n;}function U(e,t){return U=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},U(e,t)}function F(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function q(e){return q=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},q(e)}var H=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&U(e,t);}(s,e);var r,o,n,c,u=(n=s,c=function(){if("undefined"==typeof Reflect||!Reflect.construct)return !1;if(Reflect.construct.sham)return !1;if("function"==typeof Proxy)return !0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return !1}}(),function(){var e,t=q(n);if(c){var r=q(this).constructor;e=Reflect.construct(t,arguments,r);}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===z(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return F(e)}(this,e)});function s(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s),t=u.call(this,e);var r=e.afterLoad,o=e.beforeLoad,n=e.scrollPosition,i=e.visibleByDefault;return t.state={visible:i},i&&(o(),r()),t.onVisible=t.onVisible.bind(F(t)),t.isScrollTracked=Boolean(n&&Number.isFinite(n.x)&&n.x>=0&&Number.isFinite(n.y)&&n.y>=0),t}return r=s,(o=[{key:"componentDidUpdate",value:function(e,t){t.visible!==this.state.visible&&this.props.afterLoad();}},{key:"onVisible",value:function(){this.props.beforeLoad(),this.setState({visible:!0});}},{key:"render",value:function(){if(this.state.visible)return this.props.children;var e=this.props,r=e.className,o=e.delayMethod,n=e.delayTime,c=e.height,u=e.placeholder,s=e.scrollPosition,l=e.style,a=e.threshold,f=e.useIntersectionObserver,p=e.width;return this.isScrollTracked||f&&i()?t().createElement(h,{className:r,height:c,onVisible:this.onVisible,placeholder:u,scrollPosition:s,style:l,threshold:a,useIntersectionObserver:f,width:p}):t().createElement(W,{className:r,delayMethod:o,delayTime:n,height:c,onVisible:this.onVisible,placeholder:u,style:l,threshold:a,width:p})}}])&&$(r.prototype,o),Object.defineProperty(r,"prototype",{writable:!1}),s}(t().Component);H.propTypes={afterLoad:n.PropTypes.func,beforeLoad:n.PropTypes.func,useIntersectionObserver:n.PropTypes.bool,visibleByDefault:n.PropTypes.bool},H.defaultProps={afterLoad:function(){return {}},beforeLoad:function(){return {}},useIntersectionObserver:!0,visibleByDefault:!1};const Y=H;function X(e){return X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},X(e)}var A=["afterLoad","beforeLoad","delayMethod","delayTime","effect","placeholder","placeholderSrc","scrollPosition","threshold","useIntersectionObserver","visibleByDefault","wrapperClassName","wrapperProps"];function G(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o);}return r}function J(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?G(Object(r),!0).forEach((function(t){K(e,t,r[t]);})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):G(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t));}));}return e}function K(e,t,r){return (t=ee(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Q(){return Q=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);}return e},Q.apply(this,arguments)}function Z(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,ee(o.key),o);}}function ee(e){var t=function(e,t){if("object"!==X(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,"string");if("object"!==X(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return "symbol"===X(t)?t:String(t)}function te(e,t){return te=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},te(e,t)}function re(e){return re=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},re(e)}var oe=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&te(e,t);}(u,e);var r,o,n,i,c=(n=u,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return !1;if(Reflect.construct.sham)return !1;if("function"==typeof Proxy)return !0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return !1}}(),function(){var e,t=re(n);if(i){var r=re(this).constructor;e=Reflect.construct(t,arguments,r);}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===X(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function u(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),(t=c.call(this,e)).state={loaded:!1},t}return r=u,(o=[{key:"onImageLoad",value:function(){var e=this;return this.state.loaded?null:function(t){e.props.onLoad(t),e.props.afterLoad(),e.setState({loaded:!0});}}},{key:"getImg",value:function(){var e=this.props,r=(e.afterLoad,e.beforeLoad,e.delayMethod,e.delayTime,e.effect,e.placeholder,e.placeholderSrc,e.scrollPosition,e.threshold,e.useIntersectionObserver,e.visibleByDefault,e.wrapperClassName,e.wrapperProps,function(e,t){if(null==e)return {};var r,o,n=function(e,t){if(null==e)return {};var r,o,n={},i=Object.keys(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r]);}return n}(e,A));return t().createElement("img",Q({},r,{onLoad:this.onImageLoad()}))}},{key:"getLazyLoadImage",value:function(){var e=this.props,r=e.beforeLoad,o=e.className,n=e.delayMethod,i=e.delayTime,c=e.height,u=e.placeholder,s=e.scrollPosition,l=e.style,a=e.threshold,f=e.useIntersectionObserver,p=e.visibleByDefault,y=e.width;return t().createElement(Y,{beforeLoad:r,className:o,delayMethod:n,delayTime:i,height:c,placeholder:u,scrollPosition:s,style:l,threshold:a,useIntersectionObserver:f,visibleByDefault:p,width:y},this.getImg())}},{key:"getWrappedLazyLoadImage",value:function(e){var r=this.props,o=r.effect,n=r.height,i=r.placeholderSrc,c=r.width,u=r.wrapperClassName,s=r.wrapperProps,l=this.state.loaded,a=l?" lazy-load-image-loaded":"",f=l||!i?{}:{backgroundImage:"url(".concat(i,")"),backgroundSize:"100% 100%"};return t().createElement("span",Q({className:u+" lazy-load-image-background "+o+a,style:J(J({},f),{},{color:"transparent",display:"inline-block",height:n,width:c})},s),e)}},{key:"render",value:function(){var e=this.props,t=e.effect,r=e.placeholderSrc,o=e.visibleByDefault,n=e.wrapperClassName,i=e.wrapperProps,c=this.getLazyLoadImage();return (t||r)&&!o||n||i?this.getWrappedLazyLoadImage(c):c}}])&&Z(r.prototype,o),Object.defineProperty(r,"prototype",{writable:!1}),u}(t().Component);oe.propTypes={onLoad:n.PropTypes.func,afterLoad:n.PropTypes.func,beforeLoad:n.PropTypes.func,delayMethod:n.PropTypes.string,delayTime:n.PropTypes.number,effect:n.PropTypes.string,placeholderSrc:n.PropTypes.string,threshold:n.PropTypes.number,useIntersectionObserver:n.PropTypes.bool,visibleByDefault:n.PropTypes.bool,wrapperClassName:n.PropTypes.string,wrapperProps:n.PropTypes.object},oe.defaultProps={onLoad:function(){},afterLoad:function(){return {}},beforeLoad:function(){return {}},delayMethod:"throttle",delayTime:300,effect:"",placeholderSrc:null,threshold:100,useIntersectionObserver:!0,visibleByDefault:!1,wrapperClassName:""};const ne=oe;})(),build.exports=o;})();
173
+
174
+ var css_248z = ".lazy-load-image-background.opacity {\n opacity: 0;\n}\n\n.lazy-load-image-background.opacity.lazy-load-image-loaded {\n opacity: 1;\n transition: opacity .3s;\n}\n";
175
+ styleInject(css_248z);
176
+
177
+ const convertMsToHMS = ms => {
178
+ const seconds = Math.floor(ms / 1000);
179
+ const minutes = Math.floor(seconds / 60);
180
+ const hours = Math.floor(minutes / 60);
181
+ const secondsLeft = seconds % 60;
182
+ const minutesLeft = minutes % 60;
183
+ let hmsString = '';
184
+ if (hours) {
185
+ hmsString += hours < 10 ? `0${hours}:` : `${hours}:`;
186
+ }
187
+ hmsString += `${minutesLeft < 10 ? `0${minutesLeft}` : `${minutesLeft}`}:`;
188
+ hmsString += secondsLeft < 10 ? `0${secondsLeft}` : `${secondsLeft}`;
189
+ return hmsString;
190
+ };
191
+
192
+ const shouldForwardProp$1 = prop => {
193
+ return prop !== 'theme' && !prop.startsWith('$');
194
+ };
195
+ const SummaryCard$1 = styled.div.withConfig({
196
+ shouldForwardProp: shouldForwardProp$1
197
+ }).attrs(applyDefaultTheme)`
198
+ display: flex;
199
+ flex-direction: column;
200
+ border-radius: 4px;
201
+ width: ${props => props.width ? `${props.width}px` : '100%'};
202
+ ${props => props.view === 'compact' ? props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('white')) : 'background: transparent'};
203
+
204
+ ${props => props.$useBorder ? props.theme.themeProp('border', `1px solid ${props.theme.getColor('gray-500')}`, `1px solid ${props.theme.getColor('gray-300')}`) : null}
205
+ `;
206
+ const Gutter = styled.div.withConfig({
207
+ shouldForwardProp: shouldForwardProp$1
208
+ }).attrs(applyDefaultTheme)`
209
+ ${props => {
210
+ if (props.renderAsMargin) {
211
+ return css`
212
+ margin-bottom: ${props.$gutter || 8}px;
213
+ `;
214
+ } else {
215
+ return css`
216
+ padding-bottom: ${props.$gutter || 8}px;
217
+ `;
218
+ }
219
+ }}
220
+ padding-bottom: ${props => props.$gutter || 8}px;
221
+ `;
222
+ const Header = styled.div.withConfig({
223
+ shouldForwardProp: shouldForwardProp$1
224
+ }).attrs(applyDefaultTheme)`
225
+ display: flex;
226
+ align-items: center;
227
+ justify-content: space-between;
228
+ padding: 0 16px;
229
+ `;
230
+ const HeaderLeft = styled.div.withConfig({
231
+ shouldForwardProp: shouldForwardProp$1
232
+ }).attrs(applyDefaultTheme)`
233
+ display: flex;
234
+ align-items: center;
235
+ justify-content: flex-start;
236
+
237
+ > * {
238
+ margin-right: 4px;
239
+ }
240
+ `;
241
+ const HeaderRight = styled.div.withConfig({
242
+ shouldForwardProp: shouldForwardProp$1
243
+ }).attrs(applyDefaultTheme)`
244
+ display: flex;
245
+ align-items: center;
246
+ justify-content: flex-end;
247
+
248
+ > * {
249
+ margin-left: 4px;
250
+ }
251
+ `;
252
+ const Title = styled.span.withConfig({
253
+ shouldForwardProp: shouldForwardProp$1
254
+ }).attrs(applyDefaultTheme)`
255
+ display: inline-block;
256
+ padding: 0 16px;
257
+ font: normal normal 500 14px/19px Roboto;
258
+ letter-spacing: 0.28px;
259
+ display: -webkit-box;
260
+ -webkit-line-clamp: 1;
261
+ -webkit-box-orient: vertical;
262
+ overflow: hidden;
263
+ text-overflow: ellipsis;
264
+ box-sizing: border-box;
265
+
266
+ ${props => props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('gray-700'))};
267
+ `;
268
+ const Description = styled.span.withConfig({
269
+ shouldForwardProp: shouldForwardProp$1
270
+ }).attrs(applyDefaultTheme)`
271
+ padding: 0 16px;
272
+ text-align: left;
273
+ font: normal normal normal 12px/16px Roboto;
274
+ letter-spacing: 0.24px;
275
+ display: -webkit-box;
276
+ -webkit-line-clamp: 3;
277
+ -webkit-box-orient: vertical;
278
+ overflow: hidden;
279
+ text-overflow: ellipsis;
280
+ box-sizing: border-box;
281
+
282
+ ${props => props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('gray-700'))};
283
+ `;
284
+ const Instruction = styled.div.withConfig({
285
+ shouldForwardProp: shouldForwardProp$1
286
+ }).attrs(applyDefaultTheme)``;
287
+ const Footer = styled.div.withConfig({
288
+ shouldForwardProp: shouldForwardProp$1
289
+ }).attrs(applyDefaultTheme)`
290
+ display: flex;
291
+ align-items: center;
292
+ justify-content: space-between;
293
+ padding: 0 16px;
294
+ `;
295
+ const FooterLeft = styled.div.withConfig({
296
+ shouldForwardProp: shouldForwardProp$1
297
+ }).attrs(applyDefaultTheme)`
298
+ display: flex;
299
+ align-items: center;
300
+ justify-content: flex-start;
301
+
302
+ > * {
303
+ margin-right: 4px;
304
+ }
305
+ `;
306
+ const FooterRight = styled.div.withConfig({
307
+ shouldForwardProp: shouldForwardProp$1
308
+ }).attrs(applyDefaultTheme)`
309
+ display: flex;
310
+ align-items: center;
311
+ justify-content: flex-end;
312
+
313
+ > * {
314
+ margin-left: 4px;
315
+ }
316
+ `;
317
+ styled(FloatingArrow).withConfig({
318
+ shouldForwardProp: shouldForwardProp$1
319
+ }).attrs(applyDefaultTheme)`
320
+ ${props => props.theme.themeProp('fill', props.theme.getColor('gray-700'), props.theme.getColor('white'))}
321
+ `;
322
+
323
+ const SummaryCard = React__default.forwardRef(function AssetSummaryCard({
324
+ activeSummaryCard,
325
+ title,
326
+ description,
327
+ instructions,
328
+ instructionsType,
329
+ headerLeft,
330
+ headerRight,
331
+ footerLeft,
332
+ footerRight,
333
+ width,
334
+ useBorder,
335
+ view,
336
+ ...props
337
+ }, forwardedRef) {
338
+ const shouldRenderInstructions = !!instructions;
339
+ const shouldRenderHeader = !!headerLeft || !!headerRight;
340
+ const shouldRenderFooter = !!footerLeft || !!footerRight;
341
+ const shouldAddGutterAfterInstructions = shouldRenderInstructions && shouldRenderFooter;
342
+ const shouldAddGutterAfterTitle = !!title && (!!description || !!instructions || shouldRenderFooter);
343
+ if (!activeSummaryCard) return null;
344
+ return React__default.createElement(SummaryCard$1, _extends$4({
345
+ ref: forwardedRef,
346
+ width: width,
347
+ useBorder: useBorder
348
+ }, props, {
349
+ view: view
350
+ }), shouldRenderHeader && React__default.createElement(React__default.Fragment, null, React__default.createElement(Gutter, {
351
+ gutter: 8
352
+ }), React__default.createElement(Header, null, React__default.createElement(HeaderLeft, null, headerLeft), React__default.createElement(HeaderRight, null, headerRight))), React__default.createElement(Gutter, {
353
+ gutter: shouldRenderHeader ? 8 : 16
354
+ }), title && React__default.createElement(Title, null, title), shouldAddGutterAfterTitle && React__default.createElement(Gutter, {
355
+ gutter: 4
356
+ }), description && React__default.createElement(Description, null, description), React__default.createElement(Gutter, {
357
+ gutter: 16
358
+ }), shouldRenderInstructions && React__default.createElement(Instruction, null, React__default.createElement(Alert, {
359
+ icon: React__default.createElement(SvgWarningCircle, null),
360
+ alertMessage: instructions,
361
+ type: instructionsType,
362
+ fontSize: 12,
363
+ verticalPadding: 12,
364
+ horizontalPadding: 16,
365
+ width: width,
366
+ lineClamp: 1
367
+ })), shouldAddGutterAfterInstructions && React__default.createElement(Gutter, {
368
+ gutter: 16
369
+ }), shouldRenderFooter && React__default.createElement(Footer, null, React__default.createElement(FooterLeft, null, footerLeft), React__default.createElement(FooterRight, null, footerRight)), shouldRenderFooter && React__default.createElement(Gutter, {
370
+ gutter: 16
371
+ }));
372
+ });
373
+ SummaryCard.propTypes = process.env.NODE_ENV !== "production" ? {
374
+ activeSummaryCard: PropTypes.bool,
375
+ title: PropTypes.string,
376
+ description: PropTypes.string,
377
+ instructions: PropTypes.string,
378
+ instructionsType: PropTypes.oneOf(['warning', 'error', 'info']),
379
+ headerLeft: PropTypes.node,
380
+ headerRight: PropTypes.node,
381
+ footerLeft: PropTypes.node,
382
+ footerRight: PropTypes.node,
383
+ width: PropTypes.number,
384
+ useBorder: PropTypes.bool,
385
+ view: PropTypes.string
386
+ } : {};
387
+ SummaryCard.defaultProps = {
388
+ title: '',
389
+ description: '',
390
+ instructions: '',
391
+ instructionsType: 'info',
392
+ headerLeft: null,
393
+ headerRight: null,
394
+ footerLeft: null,
395
+ footerRight: null,
396
+ useBorder: false,
397
+ activeSummaryCard: false
398
+ };
399
+
400
+ const shouldForwardProp = prop => {
401
+ return prop !== 'theme' && !prop.startsWith('$');
402
+ };
403
+ const AssetGalleryWrapper$1 = styled.div.withConfig({
404
+ shouldForwardProp
405
+ }).attrs(applyDefaultTheme)`
406
+ ${props => props.disabled && css`
407
+ cursor: not-allowed;
408
+ `};
409
+ `;
410
+ const Reference = styled.div.withConfig({
411
+ shouldForwardProp
412
+ }).attrs(applyDefaultTheme)`
413
+ width: 100%;
414
+ height: 100%;
415
+ `;
416
+ const AssetGalleryCompactCard$2 = styled.div.withConfig({
417
+ shouldForwardProp
418
+ }).attrs(applyDefaultTheme)`
419
+ display: block;
420
+ height: 100%;
421
+ padding-left: ${props => props.selected ? 1 : 0}px;
422
+ padding-right: ${props => props.selected ? 1 : 0}px;
423
+ padding-top: ${props => props.selected ? 1 : 0}px;
424
+ box-sizing: border-box;
425
+ cursor: pointer;
426
+
427
+ ${props => props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('gray-300'))};
428
+
429
+ ${props => props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-700'))};
430
+
431
+ ${props => props.disabled && css`
432
+ pointer-events: none;
433
+ opacity: 0.4;
434
+ `};
435
+
436
+ ${props => props.extendedSelectMode && css`
437
+ cursor: pointer;
438
+ `}
439
+ video {
440
+ width: 100%;
441
+ height: 100%;
442
+ }
443
+
444
+ .audio {
445
+ display: flex;
446
+ justify-content: center;
447
+ svg {
448
+ width: 25%;
449
+ }
450
+ }
451
+ `;
452
+ const Figure$1 = styled.figure`
453
+ display: flex;
454
+ flex-direction: row;
455
+ flex-wrap: nowrap;
456
+ justify-content: center;
457
+ align-items: center;
458
+ position: relative;
459
+ margin: 0;
460
+ width: 100%;
461
+ height: 100%;
462
+ box-sizing: border-box;
463
+
464
+ .lazy-load-image-background {
465
+ display: block !important;
466
+ }
467
+
468
+ img {
469
+ display: block;
470
+ height: 100%;
471
+ width: 100%;
472
+ ${props => props.$hasHeightAndWidth ? css`
473
+ object-fit: cover;
474
+ ` : css`
475
+ object-fit: contain;
476
+ `}
477
+ }
478
+ `;
479
+ const FigureOverlayBackdrop$1 = styled.div.withConfig({
480
+ shouldForwardProp
481
+ }).attrs(applyDefaultTheme)`
482
+ position: absolute;
483
+ inset: 0;
484
+ opacity: ${props => props.selected ? 0.6 : 0};
485
+ background-color: ${props => props.selected ? '#ACCEF7' : 'transparent'};
486
+ `;
487
+ const Overlay$1 = styled.div.withConfig({
488
+ shouldForwardProp
489
+ }).attrs(applyDefaultTheme)`
490
+ position: absolute;
491
+ top: 0;
492
+ bottom: 0;
493
+ left: 0;
494
+ right: 0;
495
+ `;
496
+ const OverlayBackdrop$1 = styled.div.withConfig({
497
+ shouldForwardProp
498
+ }).attrs(applyDefaultTheme)`
499
+ position: absolute;
500
+ top: 0;
501
+ bottom: 0;
502
+ left: 0;
503
+ right: 0;
504
+ opacity: 0;
505
+ transition: opacity 220ms;
506
+
507
+ ${props => !props.selected ? css`
508
+ background: radial-gradient(
509
+ ellipse at center,
510
+ rgba(0, 0, 0, 0.3) 27%,
511
+ rgba(0, 0, 0, 0.5) 60%,
512
+ rgba(0, 0, 0, 0.7) 90%
513
+ );
514
+ ` : null}
515
+ ${props => (props.selected || props.$softSelected) && css`
516
+ opacity: 1;
517
+ `}
518
+ ${Overlay$1}:hover & {
519
+ opacity: 1;
520
+ }
521
+ `;
522
+ const OverlayInfo$1 = styled.div.withConfig({
523
+ shouldForwardProp
524
+ }).attrs(applyDefaultTheme)`
525
+ position: absolute;
526
+ top: 0;
527
+ bottom: 0;
528
+ left: 0;
529
+ right: 0;
530
+ display: flex;
531
+ flex-direction: column;
532
+ justify-content: space-between;
533
+ padding: 15px 50px 10px 12px;
534
+ color: ${props => props.theme.getColor('gray-100')};
535
+ & span {
536
+ overflow: hidden;
537
+ word-wrap: break-word;
538
+ }
539
+ `;
540
+ const OverlayCompleted = styled.div.withConfig({
541
+ shouldForwardProp
542
+ }).attrs(applyDefaultTheme)`
543
+ position: absolute;
544
+ top: 0;
545
+ bottom: 0;
546
+ left: 0;
547
+ right: 0;
548
+ pointer-events: none;
549
+ transition: border-color 120ms;
550
+ border: 3px solid;
551
+ ${props => {
552
+ if (props.$softSelected) return null;
553
+ return props.theme.themeProp('border-color', props.theme.getColor('emerald-500'), rgba(props.theme.getColor('emerald-500'), 0.7));
554
+ }};
555
+ `;
556
+ const OverlayHasError = styled.div.withConfig({
557
+ shouldForwardProp
558
+ }).attrs(applyDefaultTheme)`
559
+ position: absolute;
560
+ top: 0;
561
+ bottom: 0;
562
+ left: 0;
563
+ right: 0;
564
+ pointer-events: none;
565
+ transition: border-color 120ms;
566
+ border: 3px solid;
567
+ ${props => {
568
+ if (props.$softSelected) return null;
569
+ return props.theme.themeProp('border-color', props.theme.getColor('red-600'), rgba(props.theme.getColor('red-500'), 0.7));
570
+ }}
571
+ `;
572
+ const OverlaySelected$1 = styled.div.withConfig({
573
+ shouldForwardProp
574
+ }).attrs(applyDefaultTheme)`
575
+ position: absolute;
576
+ top: 0;
577
+ bottom: 0;
578
+ left: 0;
579
+ right: 0;
580
+ pointer-events: none;
581
+ transition: border-color 120ms;
582
+ border-style: solid;
583
+ border-width: 3px;
584
+
585
+ ${props => {
586
+ if (props.$softSelected) {
587
+ return props.theme.themeProp('border-color', rgba(props.theme.getColor('gray-100'), 0.5), rgba(props.theme.getColor('gray-700'), 0.5));
588
+ }
589
+ if (props.selected) {
590
+ if (props.customSelectedBorder) {
591
+ return props.theme.themeProp('border-color', props.customSelectedBorder[0], props.customSelectedBorder[1]);
592
+ } else {
593
+ return props.theme.themeProp('border-color', props.theme.getColor('gray-100'), props.theme.getColor('gray-700'));
594
+ }
595
+ }
596
+ return props.theme.themeProp('border-color', 'transparent', 'transparent');
597
+ }};
598
+ `;
599
+ const OverlayInfoTop$1 = styled.div.withConfig({
600
+ shouldForwardProp
601
+ }).attrs(applyDefaultTheme)`
602
+ position: absolute;
603
+ left: 0;
604
+ right: 0;
605
+ top: 0;
606
+ padding: 8px;
607
+ display: flex;
608
+ `;
609
+ const OverlayInfoTopActions$1 = styled.div.withConfig({
610
+ shouldForwardProp
611
+ }).attrs(applyDefaultTheme)`
612
+ position: absolute;
613
+ top: 0;
614
+ right: 0;
615
+ padding: 4px;
616
+ display: flex;
617
+ flex-direction: column;
618
+ justify-content: space-between;
619
+ transition: opacity 220ms;
620
+ z-index: 99999;
621
+ ${props => props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-700'))}
622
+
623
+ opacity: ${props => props.$isOverlayHovered ? 1 : 0};
624
+ `;
625
+ const OverlayInfoTopLeft = styled.div.withConfig({
626
+ shouldForwardProp
627
+ }).attrs(applyDefaultTheme)`
628
+ opacity: 1;
629
+ display: ${props => props?.$collapseExtraInfo ? 'none' : 'block'};
630
+
631
+ ${Overlay$1}:hover & {
632
+ opacity: 0;
633
+ }
634
+ `;
635
+ const OverlayInfoTopWarning$1 = styled.div.withConfig({
636
+ shouldForwardProp
637
+ }).attrs(applyDefaultTheme)`
638
+ margin-left: auto;
639
+ height: 24px;
640
+ width: 24px;
641
+ border-radius: 50%;
642
+ box-sizing: border-box;
643
+ padding: ${props => props.type === 'error' ? 0 : '3px 4px'};
644
+ background-color: ${props => props.type === 'error' ? props.theme.getColor('red-500') : props.theme.getColor('gray-100')};
645
+ opacity: 1;
646
+
647
+ svg {
648
+ width: 100%;
649
+ color: ${props => props.type === 'error' ? props.theme.getColor('gray-100') : props.theme.getColor('gray-700')};
650
+ }
651
+
652
+ ${Overlay$1}:hover & {
653
+ opacity: 0;
654
+ }
655
+ `;
656
+ const OverlayInfoBottom$1 = styled.div.withConfig({
657
+ shouldForwardProp
658
+ }).attrs(applyDefaultTheme)`
659
+ position: absolute;
660
+ left: 0;
661
+ right: 0;
662
+ bottom: 0;
663
+ padding: 8px;
664
+ display: flex;
665
+ `;
666
+ const OverlayInfoBottomSelectButton$1 = styled.div.withConfig({
667
+ shouldForwardProp
668
+ }).attrs(applyDefaultTheme)`
669
+ opacity: ${props => props.selected ? 1 : 0};
670
+ flex-shrink: 0;
671
+ cursor: pointer;
672
+ transition: opacity 220ms;
673
+ height: 24px;
674
+
675
+ > svg {
676
+ width: 24px;
677
+ height: 24px;
678
+ transition: opacity 120ms;
679
+ opacity: ${props => props.selected ? 1 : 0.5};
680
+ }
681
+
682
+ ${Overlay$1}:hover & {
683
+ opacity: 1;
684
+ }
685
+ `;
686
+ const OverlayInfoBottomMediaIcon$1 = styled.div.withConfig({
687
+ shouldForwardProp
688
+ }).attrs(applyDefaultTheme)`
689
+ margin-left: auto;
690
+ opacity: 1;
691
+
692
+ ${Overlay$1}:hover & {
693
+ opacity: 0;
694
+ }
695
+ `;
696
+ const ConsumerDefinedOverlay$1 = styled.div.withConfig({
697
+ shouldForwardProp
698
+ }).attrs(applyDefaultTheme)`
699
+ position: absolute;
700
+ top: 0;
701
+ bottom: 0;
702
+ left: 0;
703
+ right: 0;
704
+ pointer-events: none;
705
+ `;
706
+ styled.div`
707
+ margin: 4px;
708
+ `;
709
+ styled.div.withConfig({
710
+ shouldForwardProp
711
+ }).attrs(applyDefaultTheme)`
712
+ ${props => props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('white'))}
713
+ padding: 4px 8px;
714
+ border-radius: 4px;
715
+ `;
716
+ const StyledFloatingArrow$1 = styled(FloatingArrow).withConfig({
717
+ shouldForwardProp
718
+ }).attrs(applyDefaultTheme)`
719
+ ${props => props.theme.themeProp('fill', props.theme.getColor('gray-700'), props.theme.getColor('white'))}
720
+ `;
721
+
722
+ const AssetActions = styled.div.attrs(applyDefaultTheme)`
723
+ font-family: ${props => props.theme.primaryFontFamily};
724
+ font-size: 1rem;
725
+ font-weight: 500;
726
+ display: flex;
727
+ flex-direction: column;
728
+ padding: 2px;
729
+ gap: 8px;
730
+ `;
731
+
732
+ const AssetAction$1 = styled.div.attrs(applyDefaultTheme)`
733
+ font-family: ${props => props.theme.primaryFontFamily};
734
+ `;
735
+ const AssetActionButton = styled.div.attrs(applyDefaultTheme)`
736
+ border-radius: 50%;
737
+ width: ${props => props.actionWidthHeight ? `${props.actionWidthHeight[0]}px` : 'auto'};
738
+ height: ${props => props.actionWidthHeight ? `${props.actionWidthHeight[1]}px` : 'auto'};
739
+ cursor: pointer;
740
+ display: flex;
741
+ justify-content: center;
742
+ align-items: center;
743
+ box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
744
+ ${props => props.theme.themeProp('background-color', props.theme.getColor('gray-900'), props.theme.getColor('white'))};
745
+ svg {
746
+ pointer-events: none;
747
+ width: ${props => props.actionWidthHeight ? `${props.actionWidthHeight[0] - 14}px` : 'auto'};
748
+ height: ${props => props.actionWidthHeight ? `${props.actionWidthHeight[1] - 14}px` : 'auto'};
749
+ ${props => props.theme.themeProp('color', props.theme.getColor('gray-900'), props.theme.getColor('white'))};
750
+ }
751
+ `;
752
+ const ActionTitle = styled.div.attrs(applyDefaultTheme)`
753
+ font-size: 14px;
754
+ border-radius: 4px;
755
+ padding: 8px 12px;
756
+ white-space: nowrap;
757
+ color: white;
758
+ background: ${props => props.theme.getColor('gray-700')};
759
+ `;
760
+ const StyledFloatingArrow = styled(FloatingArrow).attrs(applyDefaultTheme)`
761
+ fill: ${props => props.theme.getColor('gray-700')};
762
+ `;
763
+ const Floating = styled.div.attrs(applyDefaultTheme)`
764
+ pointer-events: none;
765
+ `;
766
+
767
+ const AssetAction = React__default.forwardRef(function AssetAction({
768
+ action,
769
+ asset,
770
+ itemKey,
771
+ ...props
772
+ }, forwardedRef) {
773
+ const ARROW_WIDTH = 10;
774
+ const ARROW_HEIGHT = 5;
775
+ const GAP = 3;
776
+ const arrowRef = useRef(null);
777
+ const [isOpen, setIsOpen] = useState(false);
778
+ const [placement] = useState('bottom');
779
+ const {
780
+ refs,
781
+ floatingStyles,
782
+ context
783
+ } = useFloating({
784
+ placement,
785
+ open: isOpen,
786
+ onOpenChange: setIsOpen,
787
+ whileElementsMounted: autoUpdate,
788
+ middleware: [offset(ARROW_HEIGHT + GAP), flip({
789
+ padding: 5
790
+ }), shift({
791
+ padding: 5
792
+ }), arrow({
793
+ element: arrowRef
794
+ })]
795
+ });
796
+ const {
797
+ isMounted,
798
+ styles
799
+ } = useTransitionStyles(context, {
800
+ initial: {
801
+ transform: 'translateY(-8px)',
802
+ opacity: 0
803
+ },
804
+ duration: {
805
+ open: 200,
806
+ close: 100
807
+ }
808
+ });
809
+ const hover = useHover(context);
810
+ const dismiss = useDismiss(context, {
811
+ referencePress: true
812
+ });
813
+ const {
814
+ getReferenceProps,
815
+ getFloatingProps
816
+ } = useInteractions([dismiss, hover]);
817
+ const onActionClick = useCallback((e, action) => {
818
+ e.preventDefault();
819
+ e.stopPropagation();
820
+ if (isFunction(action?.onClick)) {
821
+ action.onClick(asset);
822
+ }
823
+ }, [action]);
824
+ return React__default.createElement(AssetAction$1, _extends$4({
825
+ ref: forwardedRef
826
+ }, props), React__default.createElement(AssetActionButton, _extends$4({
827
+ key: itemKey,
828
+ ref: refs.setReference
829
+ }, getReferenceProps(), {
830
+ onClick: e => onActionClick(e, action.onClick(asset), itemKey),
831
+ actionWidthHeight: action.actionWidthHeight
832
+ }), action.icon), isOpen && isMounted && React__default.createElement(Floating, _extends$4({
833
+ className: "floating",
834
+ ref: refs.setFloating,
835
+ style: floatingStyles
836
+ }, getFloatingProps()), React__default.createElement(ActionTitle, {
837
+ style: styles
838
+ }, action.title), React__default.createElement(StyledFloatingArrow, {
839
+ ref: arrowRef,
840
+ context: context,
841
+ width: ARROW_WIDTH,
842
+ height: ARROW_HEIGHT
843
+ })));
844
+ });
845
+ AssetAction.propTypes = process.env.NODE_ENV !== "production" ? {
846
+ action: PropTypes.shape({
847
+ icon: PropTypes.node,
848
+ onClick: PropTypes.func,
849
+ actionWidthHeight: PropTypes.arrayOf(PropTypes.number),
850
+ title: PropTypes.string
851
+ }),
852
+ asset: PropTypes.object,
853
+ itemKey: PropTypes.string
854
+ } : {};
855
+ AssetAction.defaultProps = {};
856
+
857
+ const AssetActionsBase = React__default.forwardRef(function AssetActionsBase({
858
+ actions,
859
+ asset,
860
+ ...props
861
+ }, forwardedRef) {
862
+ const assetActions = actions.map((action, index) => React__default.createElement(AssetAction, _extends$4({
863
+ key: `index_${action.title}`,
864
+ ref: forwardedRef
865
+ }, props, {
866
+ action: action,
867
+ asset: asset,
868
+ itemKey: `${index}-${action.title}`
869
+ })));
870
+ return React__default.createElement(AssetActions, null, assetActions);
871
+ });
872
+ AssetActionsBase.propTypes = process.env.NODE_ENV !== "production" ? {
873
+ actions: PropTypes.arrayOf(PropTypes.object),
874
+ asset: PropTypes.object
875
+ } : {};
876
+ AssetActionsBase.defaultProps = {};
877
+
878
+ const ComputedRootComponent$1 = ({
879
+ component,
880
+ asset,
881
+ ...props
882
+ }) => {
883
+ const newProps = mapKeys(omit(props, ['theme', 'extendedSelectMode']), (_, key) => key === 'innerRef' ? 'ref' : key);
884
+ if (component) {
885
+ if (!isFunction(component)) throw Error('Expected a function in component-prop');
886
+ if (React__default.isValidElement(component(asset, newProps.children))) {
887
+ return React__default.cloneElement(component(asset, newProps.children), omit(newProps, ['children']));
888
+ }
889
+ }
890
+ return React__default.createElement(AssetGalleryCompactCard$2, _extends$4({
891
+ ref: newProps.ref
892
+ }, newProps));
893
+ };
894
+ const AssetGalleryCompactCard = props => {
895
+ const {
896
+ asset,
897
+ activeSummaryCard,
898
+ displayIcon,
899
+ selectable,
900
+ hasHeightAndWidth,
901
+ selected,
902
+ customSelectedBorder,
903
+ extendedSelectMode,
904
+ onAssetSelected,
905
+ onAssetUnselected,
906
+ softSelected,
907
+ component,
908
+ scrollPosition,
909
+ collapseExtraInfo
910
+ } = props;
911
+ const ARROW_WIDTH = 30;
912
+ const ARROW_HEIGHT = 15;
913
+ const GAP = 8;
914
+ const arrowRef = useRef(null);
915
+ const [isOpen, setIsOpen] = useState(false);
916
+ const [placement] = useState('bottom');
917
+ const [isOverlayHovered, setIsOverlayHovered] = useState(false);
918
+ const [openedSubActions, updateOpenedSubActions] = useState([]);
919
+ const {
920
+ refs,
921
+ floatingStyles,
922
+ context
923
+ } = useFloating({
924
+ placement,
925
+ open: isOpen,
926
+ onOpenChange: setIsOpen,
927
+ whileElementsMounted: autoUpdate,
928
+ middleware: [offset(ARROW_HEIGHT + GAP), flip({
929
+ padding: 5
930
+ }), shift({
931
+ padding: 5
932
+ }), arrow({
933
+ element: arrowRef
934
+ })]
935
+ });
936
+ const {
937
+ isMounted,
938
+ styles
939
+ } = useTransitionStyles(context, {
940
+ initial: {
941
+ transform: 'translateY(-8px)',
942
+ opacity: 0
943
+ },
944
+ duration: {
945
+ open: 200,
946
+ close: 100
947
+ }
948
+ });
949
+ const hover = useHover(context, {
950
+ restMs: 100
951
+ });
952
+ const dismiss = useDismiss(context, {
953
+ referencePress: true,
954
+ ancestorScroll: true,
955
+ windowScroll: true,
956
+ windowBlur: true
957
+ });
958
+ const {
959
+ getReferenceProps,
960
+ getFloatingProps
961
+ } = useInteractions([dismiss, hover]);
962
+ useEffect(() => {
963
+ const newOpenedSubActions = (asset?.actions ?? []).map(() => false);
964
+ updateOpenedSubActions(newOpenedSubActions);
965
+ }, [asset]);
966
+ useEffect(() => {
967
+ if (!isOverlayHovered && openedSubActions?.length) {
968
+ updateOpenedSubActions(openedSubActions.map(() => false));
969
+ }
970
+ }, [isOverlayHovered]);
971
+ const mouseHasEnteredOverlay = useCallback(() => {
972
+ setIsOverlayHovered(true);
973
+ }, []);
974
+ const mouseHasLeftOverlay = useCallback(() => {
975
+ setIsOverlayHovered(false);
976
+ }, []);
977
+ const isAnySubActionsOpened = useMemo(() => {
978
+ return openedSubActions.some(isOpened => isOpened);
979
+ }, [openedSubActions]);
980
+ function onClick(event) {
981
+ if (extendedSelectMode) {
982
+ return onSelectClick(event);
983
+ }
984
+ if (isFunction(asset.onClick)) {
985
+ asset.onClick(event, asset);
986
+ }
987
+ }
988
+ function onSelectClick(event) {
989
+ event.preventDefault();
990
+ event.stopPropagation();
991
+ if (selected) {
992
+ return onAssetUnselected(asset.key);
993
+ }
994
+ if (selectable) {
995
+ return onAssetSelected(asset.key);
996
+ }
997
+ }
998
+ function onContextMenu(event) {
999
+ event.preventDefault();
1000
+ asset.onContextMenu(event);
1001
+ }
1002
+ useEffect(() => {
1003
+ if (isFunction(asset.onContextMenu)) {
1004
+ if (cardRef.current) {
1005
+ cardRef.current.addEventListener('contextmenu', onContextMenu);
1006
+ }
1007
+ return () => {
1008
+ if (cardRef.current) {
1009
+ cardRef.current.removeEventListener('contextmenu', onContextMenu);
1010
+ }
1011
+ };
1012
+ }
1013
+ }, []);
1014
+ function onDragstart(event) {
1015
+ asset.onDragstart(event);
1016
+ }
1017
+ useEffect(() => {
1018
+ if (isFunction(asset.onDragstart)) {
1019
+ if (dragRef.current) {
1020
+ dragRef.current.addEventListener('dragstart', onDragstart);
1021
+ }
1022
+ return () => {
1023
+ if (dragRef.current) {
1024
+ dragRef.current.removeEventListener('dragstart', onDragstart);
1025
+ }
1026
+ };
1027
+ }
1028
+ }, []);
1029
+ const videoPlayerRef = useRef();
1030
+ const cardRef = useRef();
1031
+ const dragRef = useRef(null);
1032
+ const overlayCompactRef = useMergeRefs([cardRef, refs.setReference]);
1033
+ function onMouseEnter(event) {
1034
+ if (videoPlayerRef.current) {
1035
+ const playPromise = videoPlayerRef.current.play();
1036
+ if (playPromise !== undefined) {
1037
+ playPromise.then(() => {}).catch(() => {});
1038
+ }
1039
+ }
1040
+ if (isFunction(asset.onMouseEnter)) {
1041
+ asset.onMouseEnter(event, asset);
1042
+ }
1043
+ }
1044
+ function onMouseLeave() {
1045
+ if (videoPlayerRef.current) {
1046
+ videoPlayerRef.current.pause();
1047
+ }
1048
+ }
1049
+ const renderPreview = asset => {
1050
+ let previewContent = null;
1051
+ if (asset?.fileType?.toLowerCase() === 'video') {
1052
+ previewContent = React__default.createElement(build.exports.LazyLoadComponent, {
1053
+ scrollPosition: scrollPosition
1054
+ }, React__default.createElement("video", {
1055
+ ref: videoPlayerRef,
1056
+ loop: true,
1057
+ muted: true
1058
+ }, React__default.createElement("source", {
1059
+ src: asset.previewUrl,
1060
+ type: "video/mp4"
1061
+ })));
1062
+ } else if (asset?.fileType?.toLowerCase() === 'audio') {
1063
+ previewContent = React__default.createElement(build.exports.LazyLoadComponent, {
1064
+ scrollPosition: scrollPosition
1065
+ }, React__default.createElement("div", {
1066
+ className: "audio"
1067
+ }, React__default.createElement(SvgHeadset, null)));
1068
+ } else {
1069
+ previewContent = React__default.createElement(build.exports.LazyLoadImage, {
1070
+ alt: asset?.title,
1071
+ src: asset?.previewUrl,
1072
+ height: "100%",
1073
+ width: "100%",
1074
+ delayMethod: "debounce",
1075
+ delayTime: 0,
1076
+ threshold: 1500,
1077
+ scrollPosition: scrollPosition
1078
+ });
1079
+ }
1080
+ return React__default.createElement(Figure$1, {
1081
+ hasHeightAndWidth: hasHeightAndWidth
1082
+ }, previewContent, React__default.createElement(FigureOverlayBackdrop$1, {
1083
+ selected: selected
1084
+ }));
1085
+ };
1086
+ useEffect(() => {
1087
+ if (softSelected) {
1088
+ cardRef.current.scrollIntoView({
1089
+ behavior: 'smooth',
1090
+ block: 'nearest'
1091
+ });
1092
+ }
1093
+ }, [softSelected]);
1094
+ const renderVersionsBadge = useCallback(() => {
1095
+ if (!asset?.versions) return null;
1096
+ return React__default.createElement(Badge, {
1097
+ badgeIcon: React__default.createElement(SvgLayers, null),
1098
+ badgeContent: asset.versions,
1099
+ backgroundColors: ['black', 'black'],
1100
+ colors: ['#f7f8f9', '#f7f8f9'],
1101
+ fontSize: 12,
1102
+ fontWeight: 500,
1103
+ lineHeight: 16,
1104
+ verticalPadding: 4,
1105
+ horizontalPadding: 8
1106
+ });
1107
+ }, [asset]);
1108
+ const renderVerificationBadge = useCallback(() => {
1109
+ if (!asset?.verifications) return null;
1110
+ return asset?.verifications;
1111
+ }, [asset]);
1112
+ const renderdynamicBadge = useCallback(() => {
1113
+ if (asset?.verifications) return renderVerificationBadge();
1114
+ if (asset?.versions) return renderVersionsBadge();
1115
+ return null;
1116
+ });
1117
+ const renderBadge = () => {
1118
+ switch (displayIcon) {
1119
+ case 'versions':
1120
+ return renderVersionsBadge();
1121
+ case 'verifications':
1122
+ return renderVerificationBadge();
1123
+ case 'dynamic':
1124
+ return renderdynamicBadge();
1125
+ default:
1126
+ return null;
1127
+ }
1128
+ };
1129
+ const renderMediaBadge = useCallback(() => {
1130
+ let badgeIcon = null;
1131
+ let badgeContent = null;
1132
+ if (asset?.fileType === 'video') {
1133
+ badgeIcon = React__default.createElement(SvgPlay, null);
1134
+ }
1135
+ if (asset?.duration) {
1136
+ badgeContent = convertMsToHMS(asset.duration);
1137
+ }
1138
+ if (!badgeIcon && !badgeContent) return null;
1139
+ return React__default.createElement(Badge, {
1140
+ badgeIcon: badgeIcon,
1141
+ badgeContent: badgeContent,
1142
+ backgroundColors: ['black', 'black'],
1143
+ colors: ['#f7f8f9', '#f7f8f9'],
1144
+ fontSize: 12,
1145
+ fontWeight: 500,
1146
+ lineHeight: 16,
1147
+ verticalPadding: 4,
1148
+ horizontalPadding: 8,
1149
+ minWidth: 32,
1150
+ height: 24
1151
+ });
1152
+ }, [asset]);
1153
+ const renderSummaryCardHeaderLeft = useCallback(() => {
1154
+ return React__default.createElement(React__default.Fragment, null, renderVersionsBadge(), renderMediaBadge());
1155
+ }, [asset]);
1156
+ const renderPopoverContent = useCallback(() => {
1157
+ return React__default.createElement(SummaryCard, {
1158
+ activeSummaryCard: activeSummaryCard,
1159
+ title: asset?.title || '',
1160
+ description: asset?.description || '',
1161
+ instructions: asset?.imageRights || '',
1162
+ instructionsType: 'warning',
1163
+ headerRight: asset?.summary?.headerRight || '',
1164
+ headerLeft: React__default.createElement(React__default.Fragment, null, renderSummaryCardHeaderLeft(), asset?.summary?.headerLeft || ''),
1165
+ footerLeft: asset?.summary?.footerLeft || '',
1166
+ footerRight: asset?.summary?.footerRight || '',
1167
+ width: 375,
1168
+ view: 'compact'
1169
+ });
1170
+ }, [asset]);
1171
+ return React__default.createElement(AssetGalleryWrapper$1, {
1172
+ disabled: asset.disabled
1173
+ }, React__default.createElement(AssetGalleryCompactCard$2, _extends$4({
1174
+ as: ComputedRootComponent$1,
1175
+ component: component,
1176
+ disabled: asset.disabled,
1177
+ asset: asset,
1178
+ onClick: onClick,
1179
+ extendedSelectMode: extendedSelectMode,
1180
+ onMouseEnter: onMouseEnter,
1181
+ onMouseLeave: onMouseLeave,
1182
+ draggable: asset.draggable,
1183
+ innerRef: dragRef,
1184
+ selected: selected
1185
+ }, getReferenceProps()), React__default.createElement(Reference, {
1186
+ ref: refs.setReference
1187
+ }, asset.previewUrl && renderPreview(asset)), React__default.createElement(Overlay$1, _extends$4({
1188
+ ref: overlayCompactRef,
1189
+ onMouseEnter: mouseHasEnteredOverlay,
1190
+ onMouseLeave: mouseHasLeftOverlay,
1191
+ style: {
1192
+ height: '100%'
1193
+ }
1194
+ }, getReferenceProps()), React__default.createElement(OverlayBackdrop$1, {
1195
+ softSelected: softSelected,
1196
+ selected: selected
1197
+ }), asset?.actions && React__default.createElement(OverlayInfoTopActions$1, {
1198
+ $isOverlayHovered: isOverlayHovered
1199
+ }, React__default.createElement(AssetActionsBase, {
1200
+ actions: asset.actions,
1201
+ asset: asset
1202
+ })), React__default.createElement(OverlayInfo$1, null, isOverlayHovered && React__default.createElement("span", null, asset.title), React__default.createElement(OverlayInfoTop$1, null, React__default.createElement(OverlayInfoTopLeft, {
1203
+ collapseExtraInfo: collapseExtraInfo
1204
+ }, renderBadge()), asset?.note?.title && React__default.createElement(OverlayInfoTopWarning$1, {
1205
+ type: asset?.note?.type
1206
+ }, React__default.createElement(SvgWarningCircle, null))), React__default.createElement(OverlayInfoBottom$1, null, selectable && React__default.createElement(OverlayInfoBottomSelectButton$1, {
1207
+ selected: selected
1208
+ }, React__default.createElement(SvgCheckRectangleFilled, {
1209
+ onClick: onSelectClick
1210
+ })), React__default.createElement(OverlayInfoBottomMediaIcon$1, null, renderMediaBadge()))), asset.completed && React__default.createElement(OverlayCompleted, {
1211
+ softSelected: softSelected
1212
+ }), asset.hasError && React__default.createElement(OverlayHasError, {
1213
+ softSelected: softSelected
1214
+ }), selectable && React__default.createElement(OverlaySelected$1, {
1215
+ selected: selected,
1216
+ softSelected: softSelected,
1217
+ customSelectedBorder: customSelectedBorder
1218
+ }), isOpen && isOverlayHovered && isMounted && activeSummaryCard && !isAnySubActionsOpened && React__default.createElement("div", _extends$4({
1219
+ ref: refs.setFloating,
1220
+ style: floatingStyles
1221
+ }, getFloatingProps()), React__default.createElement("div", {
1222
+ style: styles,
1223
+ className: "floating"
1224
+ }, renderPopoverContent(), React__default.createElement(StyledFloatingArrow$1, {
1225
+ ref: arrowRef,
1226
+ context: context,
1227
+ width: ARROW_WIDTH,
1228
+ height: ARROW_HEIGHT
1229
+ })))), asset.overlay && React__default.createElement(ConsumerDefinedOverlay$1, null, asset.overlay)));
1230
+ };
1231
+ AssetGalleryCompactCard.propTypes = process.env.NODE_ENV !== "production" ? {
1232
+ asset: PropTypes.shape(assetShapeWithLayout).isRequired,
1233
+ hasHeightAndWidth: PropTypes.bool,
1234
+ selectable: PropTypes.bool,
1235
+ selected: PropTypes.bool,
1236
+ customSelectedBorder: PropTypes.arrayOf(PropTypes.string),
1237
+ extendedSelectMode: PropTypes.bool,
1238
+ onAssetSelected: PropTypes.func.isRequired,
1239
+ onAssetUnselected: PropTypes.func.isRequired,
1240
+ softSelected: PropTypes.bool.isRequired,
1241
+ component: PropTypes.func,
1242
+ scrollPosition: PropTypes.number,
1243
+ collapseExtraInfo: PropTypes.bool,
1244
+ activeSummaryCard: PropTypes.bool,
1245
+ displayIcon: PropTypes.oneOf(['dynamic', 'versions', 'verifications', ''])
1246
+ } : {};
1247
+ var AssetGalleryCompactCard$1 = build.exports.trackWindowScroll(React__default.memo(AssetGalleryCompactCard, (prevProps, nextProps) => {
1248
+ const reactiveProps = ['selectable', 'selected', 'extendedSelectMode', 'softSelected', 'asset.previewUrl', 'asset.overlay', 'hasHeightAndWidth', 'collapseExtraInfo'];
1249
+ return reactiveProps.every(propKey => get(prevProps, propKey) === get(nextProps, propKey));
1250
+ }));
1251
+
1252
+ const AssetGalleryWrapper = styled.div.attrs(applyDefaultTheme)`
1253
+ ${props => props.disabled && css`
1254
+ cursor: not-allowed;
1255
+ `};
1256
+ `;
1257
+ const AssetGalleryGridCard$2 = styled.div.attrs(applyDefaultTheme)`
1258
+ display: block;
1259
+ position: relative;
1260
+ height: 100%;
1261
+ margin: 0;
1262
+ box-sizing: border-box;
1263
+ border-width: ${props => {
1264
+ const {
1265
+ selected,
1266
+ softSelected,
1267
+ hasError,
1268
+ completed
1269
+ } = props;
1270
+ return selected || softSelected || hasError || completed ? 3 : 1;
1271
+ }}px;
1272
+ border-style: solid;
1273
+ text-decoration: none;
1274
+ cursor: pointer;
1275
+
1276
+ ${props => props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-700'))}
1277
+
1278
+ ${props => props.disabled && css`
1279
+ pointer-events: none;
1280
+ opacity: 0.4;
1281
+ `};
1282
+
1283
+ ${props => props.extendedSelectMode && css`
1284
+ cursor: pointer;
1285
+ `}
1286
+
1287
+ ${props => {
1288
+ if (props.$softSelected) {
1289
+ return props.theme.themeProp('border-color', rgba(props.theme.getColor('gray-100'), 0.5), rgba(props.theme.getColor('gray-700'), 0.5));
1290
+ }
1291
+ if (props.selected) {
1292
+ if (props.customSelectedBorder) {
1293
+ return props.theme.themeProp('border-color', props.customSelectedBorder[0], props.customSelectedBorder[1]);
1294
+ } else {
1295
+ return props.theme.themeProp('border-color', props.theme.getColor('gray-100'), props.theme.getColor('gray-700'));
1296
+ }
1297
+ }
1298
+ if (props.completed) {
1299
+ return props.theme.themeProp('border-color', props.theme.getColor('emerald-500'), rgba(props.theme.getColor('emerald-500'), 0.7));
1300
+ }
1301
+ if (props.hasError) {
1302
+ return props.theme.themeProp('border-color', props.theme.getColor('red-600'), rgba(props.theme.getColor('red-500'), 0.7));
1303
+ }
1304
+ return props.theme.themeProp('border-color', props.theme.getColor('gray-700'), props.theme.getColor('gray-300'));
1305
+ }};
1306
+ `;
1307
+ const ContentWrapper = styled.div.attrs(applyDefaultTheme)`
1308
+ display: flex;
1309
+ flex-direction: column;
1310
+ box-sizing: border-box;
1311
+ padding: ${props => props.selected || props.softSelected ? 4 : 0}px;
1312
+ padding-top: 35px;
1313
+ height: 100%;
1314
+ `;
1315
+ const Asset = styled.div`
1316
+ display: flex;
1317
+ flex-direction: column;
1318
+ align-items: center;
1319
+ justify-content: flex-start;
1320
+ position: relative;
1321
+ padding: 0 36px;
1322
+ min-height: 200px;
1323
+ box-sizing: border-box;
1324
+
1325
+ video {
1326
+ display: block;
1327
+ }
1328
+
1329
+ .audio {
1330
+ display: flex;
1331
+ justify-content: center;
1332
+ svg {
1333
+ width: 25%;
1334
+ }
1335
+ }
1336
+ `;
1337
+ const Figure = styled.figure`
1338
+ position: relative;
1339
+ display: flex;
1340
+ flex-direction: column;
1341
+ justify-content: flex-start;
1342
+ margin: 0;
1343
+
1344
+ img,
1345
+ video,
1346
+ .audio {
1347
+ display: block;
1348
+ max-height: 200px;
1349
+ width: 100%;
1350
+ box-sizing: border-box;
1351
+
1352
+ ${props => props.hasHeightAndWidth ? css`
1353
+ object-fit: cover;
1354
+ ` : css`
1355
+ object-fit: contain;
1356
+ `}
1357
+ }
1358
+
1359
+ .audio {
1360
+ display: flex;
1361
+ height: 200px;
1362
+ justify-content: center;
1363
+ svg {
1364
+ width: 25%;
1365
+ }
1366
+ }
1367
+ `;
1368
+ const FigureOverlayBackdrop = styled.div.attrs(applyDefaultTheme)`
1369
+ position: absolute;
1370
+ inset: 0;
1371
+ opacity: ${props => props.selected ? 0.6 : 0};
1372
+ background-color: ${props => props.selected ? '#ACCEF7' : 'transparent'};
1373
+ `;
1374
+ const Overlay = styled.div.attrs(applyDefaultTheme)`
1375
+ position: absolute;
1376
+ top: 0;
1377
+ bottom: 0;
1378
+ left: 0;
1379
+ right: 0;
1380
+ `;
1381
+ const OverlayBackdrop = styled.div.attrs(applyDefaultTheme)`
1382
+ position: absolute;
1383
+ top: 0;
1384
+ bottom: 0;
1385
+ left: 0;
1386
+ right: 0;
1387
+ opacity: 0;
1388
+ transition: opacity 220ms;
1389
+ ${props => !props.selected ? css`
1390
+ background: radial-gradient(
1391
+ ellipse at center,
1392
+ rgba(0, 0, 0, 0.3) 27%,
1393
+ rgba(0, 0, 0, 0.5) 60%,
1394
+ rgba(0, 0, 0, 0.7) 90%
1395
+ );
1396
+ ` : null}
1397
+
1398
+ ${props => (props.selected || props.softSelected) && css`
1399
+ opacity: 1;
1400
+ `}
1401
+
1402
+ ${Overlay}:hover & {
1403
+ opacity: 1;
1404
+ }
1405
+
1406
+ ${AssetGalleryGridCard$2}:hover & {
1407
+ opacity: 1;
1408
+ }
1409
+ `;
1410
+ const OverlayInfo = styled.div.attrs(applyDefaultTheme)`
1411
+ position: absolute;
1412
+ top: 0;
1413
+ bottom: 0;
1414
+ left: 0;
1415
+ right: 0;
1416
+ display: flex;
1417
+ flex-direction: column;
1418
+ justify-content: space-between;
1419
+ padding: 15px 12px 10px;
1420
+ color: ${props => props.theme.getColor('gray-100')};
1421
+ `;
1422
+ const OverlaySelected = styled.div.attrs(applyDefaultTheme)`
1423
+ position: absolute;
1424
+ top: 0;
1425
+ bottom: 0;
1426
+ left: 0;
1427
+ right: 0;
1428
+ pointer-events: none;
1429
+ `;
1430
+ const OverlayInfoTop = styled.div.attrs(applyDefaultTheme)`
1431
+ position: absolute;
1432
+ left: 0;
1433
+ right: 0;
1434
+ top: 0;
1435
+ padding: 8px;
1436
+ display: flex;
1437
+ `;
1438
+ const OverlayInfoTopVersions = styled.div.attrs(applyDefaultTheme)`
1439
+ opacity: 1;
1440
+
1441
+ ${AssetGalleryGridCard$2}:hover & {
1442
+ opacity: 0;
1443
+ }
1444
+ `;
1445
+ const OverlayInfoTopWarning = styled.div.attrs(applyDefaultTheme)`
1446
+ margin-left: auto;
1447
+ height: 24px;
1448
+ width: 24px;
1449
+ border-radius: 50%;
1450
+ box-sizing: border-box;
1451
+ padding: ${props => props.type === 'error' ? 0 : '4px'};
1452
+ background-color: ${props => props.type === 'error' ? props.theme.getColor('red-500') : props.theme.getColor('gray-100')};
1453
+ opacity: 1;
1454
+
1455
+ svg {
1456
+ width: 100%;
1457
+ color: ${props => props.type === 'error' ? props.theme.getColor('gray-100') : props.theme.getColor('gray-700')};
1458
+ }
1459
+
1460
+ ${AssetGalleryGridCard$2}:hover & {
1461
+ opacity: 0;
1462
+ }
1463
+ `;
1464
+ const OverlayInfoTopActions = styled.div.attrs(applyDefaultTheme)`
1465
+ position: absolute;
1466
+ top: 0;
1467
+ right: 0;
1468
+ padding: 4px;
1469
+ display: flex;
1470
+ flex-direction: column;
1471
+ justify-content: space-between;
1472
+ transition: opacity 220ms;
1473
+ z-index: 99999;
1474
+ ${props => props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-700'))}
1475
+
1476
+ opacity: ${props => props.isCardHovered ? 1 : 0};
1477
+ `;
1478
+ const OverlayInfoBottom = styled.div.attrs(applyDefaultTheme)`
1479
+ position: absolute;
1480
+ left: 0;
1481
+ right: 0;
1482
+ bottom: 0;
1483
+ padding: 8px;
1484
+ display: flex;
1485
+ `;
1486
+ const OverlayInfoBottomSelectButton = styled.div.attrs(applyDefaultTheme)`
1487
+ opacity: ${props => props.selected ? 1 : 0};
1488
+ flex-shrink: 0;
1489
+ cursor: pointer;
1490
+ transition: opacity 220ms;
1491
+
1492
+ > svg {
1493
+ width: 23px;
1494
+ height: 100%;
1495
+ transition: opacity 120ms;
1496
+ opacity: ${props => props.selected ? 1 : 0.5};
1497
+ }
1498
+
1499
+ ${Overlay}:hover & {
1500
+ opacity: 1;
1501
+ }
1502
+
1503
+ ${AssetGalleryGridCard$2}:hover & {
1504
+ opacity: 1;
1505
+ }
1506
+ `;
1507
+ const OverlayInfoBottomMediaIcon = styled.div.attrs(applyDefaultTheme)`
1508
+ margin-left: auto;
1509
+ opacity: 1;
1510
+ ${AssetGalleryGridCard$2}:hover & {
1511
+ opacity: 0;
1512
+ }
1513
+ `;
1514
+ const ConsumerDefinedOverlay = styled.div.attrs(applyDefaultTheme)`
1515
+ position: absolute;
1516
+ top: 0;
1517
+ bottom: 0;
1518
+ left: 0;
1519
+ right: 0;
1520
+ pointer-events: none;
1521
+ `;
1522
+ const Fragment = styled.div`
1523
+ margin: 4px;
1524
+ `;
1525
+
1526
+ const ComputedRootComponent = ({
1527
+ component,
1528
+ asset,
1529
+ ...props
1530
+ }) => {
1531
+ const newProps = mapKeys(omit(props, ['theme', 'extendedSelectMode']), (_, key) => key === 'innerRef' ? 'ref' : key);
1532
+ if (component) {
1533
+ if (!isFunction(component)) throw Error('Expected a function in component-prop');
1534
+ if (React__default.isValidElement(component(asset, newProps.children))) {
1535
+ return React__default.cloneElement(component(asset, newProps.children), omit(newProps, ['children']));
1536
+ }
1537
+ }
1538
+ return React__default.createElement(AssetGalleryGridCard$2, _extends$4({
1539
+ ref: newProps.ref
1540
+ }, newProps));
1541
+ };
1542
+ const ComputedActionButton = React__default.forwardRef(function ComputedActionButton({
1543
+ component,
1544
+ className,
1545
+ subActions = [],
1546
+ isSubActionsOpened,
1547
+ ...props
1548
+ }, forwardedRef) {
1549
+ const newProps = props;
1550
+ if (!isEmpty(subActions)) {
1551
+ const contextMenuItems = subActions.map((subAction, key) => {
1552
+ const {
1553
+ onClick,
1554
+ title,
1555
+ icon
1556
+ } = subAction;
1557
+ return React__default.createElement(ContextMenuItem, {
1558
+ key: key,
1559
+ onClickEffect: onClick,
1560
+ title: title,
1561
+ icon: icon
1562
+ });
1563
+ });
1564
+ const contextMenu = React__default.createElement(ContextMenu, null, contextMenuItems);
1565
+ newProps.children = React__default.createElement(Popover, {
1566
+ contextMenu: true,
1567
+ content: contextMenu,
1568
+ placement: 'bottom-end',
1569
+ visible: isSubActionsOpened,
1570
+ zIndex: 10001,
1571
+ offset: [0, -8]
1572
+ }, React__default.createElement(ActionButton, {
1573
+ useShadow: true,
1574
+ active: true,
1575
+ ref: forwardedRef,
1576
+ className: className,
1577
+ icon: newProps.icon,
1578
+ backgroundColors: ['black', 'white'],
1579
+ onClick: newProps.onClick,
1580
+ actionWidthHeight: newProps.actionWidthHeight
1581
+ }));
1582
+ } else {
1583
+ newProps.children = React__default.createElement(ActionButton, {
1584
+ useShadow: true,
1585
+ active: true,
1586
+ ref: forwardedRef,
1587
+ className: className,
1588
+ icon: newProps.icon,
1589
+ onClick: newProps.onClick,
1590
+ backgroundColors: ['black', 'white'],
1591
+ actionWidthHeight: newProps.actionWidthHeight
1592
+ });
1593
+ }
1594
+ if (component) {
1595
+ if (!isFunction(component)) throw Error('Expected a function in component-prop');
1596
+ if (React__default.isValidElement(component())) {
1597
+ return React__default.cloneElement(component(), {
1598
+ ...omit(newProps, 'icon')
1599
+ });
1600
+ }
1601
+ }
1602
+ return React__default.createElement(React__default.Fragment, null, newProps.children);
1603
+ });
1604
+ const AssetGalleryGridCard = props => {
1605
+ const {
1606
+ asset,
1607
+ selectable,
1608
+ selected,
1609
+ customSelectedBorder,
1610
+ extendedSelectMode,
1611
+ onAssetSelected,
1612
+ onAssetUnselected,
1613
+ softSelected,
1614
+ component,
1615
+ scrollPosition
1616
+ } = props;
1617
+ const [isCardHovered, setIsCardHovered] = React__default.useState(false);
1618
+ const [openedSubActions, updateOpenedSubActions] = React__default.useState([]);
1619
+ useEffect(() => {
1620
+ const newOpenedSubActions = (asset?.actions ?? []).map(() => false);
1621
+ updateOpenedSubActions(newOpenedSubActions);
1622
+ }, [asset]);
1623
+ useEffect(() => {
1624
+ if (!isCardHovered && openedSubActions?.length) {
1625
+ updateOpenedSubActions(openedSubActions.map(() => false));
1626
+ }
1627
+ }, [isCardHovered]);
1628
+ const mouseHasEnteredCard = useCallback(() => {
1629
+ setIsCardHovered(true);
1630
+ }, []);
1631
+ const mouseHasLeftCard = useCallback(() => {
1632
+ setIsCardHovered(false);
1633
+ }, []);
1634
+ const onSubActionsViewToggle = useCallback(actionIndex => {
1635
+ const newOpenedSubActions = openedSubActions.map((isOpened, index) => {
1636
+ if (index !== actionIndex) {
1637
+ return false;
1638
+ }
1639
+ return !isOpened;
1640
+ });
1641
+ updateOpenedSubActions(newOpenedSubActions);
1642
+ }, [openedSubActions]);
1643
+ const videoPlayerRef = useRef();
1644
+ const cardRef = useRef();
1645
+ const dragRef = useRef(null);
1646
+ function onMouseEnter(event) {
1647
+ if (videoPlayerRef.current) {
1648
+ const playPromise = videoPlayerRef.current.play();
1649
+ if (playPromise !== undefined) {
1650
+ playPromise.then(() => {}).catch(() => {});
1651
+ }
1652
+ }
1653
+ if (isFunction(asset.onMouseEnter)) {
1654
+ asset.onMouseEnter(event, asset);
1655
+ }
1656
+ mouseHasEnteredCard();
1657
+ }
1658
+ function onMouseLeave() {
1659
+ if (videoPlayerRef.current) {
1660
+ videoPlayerRef.current.pause();
1661
+ }
1662
+ mouseHasLeftCard();
1663
+ }
1664
+ function onClick(event) {
1665
+ if (extendedSelectMode) {
1666
+ return onSelectClick(event);
1667
+ }
1668
+ if (isFunction(asset.onClick)) {
1669
+ asset.onClick(event, asset);
1670
+ }
1671
+ }
1672
+ function onSelectClick(event) {
1673
+ event.preventDefault();
1674
+ event.stopPropagation();
1675
+ if (selected) {
1676
+ return onAssetUnselected(asset.key);
1677
+ }
1678
+ return onAssetSelected(asset.key);
1679
+ }
1680
+ const onActionClick = useCallback((event, action, index) => {
1681
+ event.preventDefault();
1682
+ event.stopPropagation();
1683
+ if (isFunction(action?.onClick)) {
1684
+ action.onClick(asset);
1685
+ }
1686
+ if (!isEmpty(action?.subActions)) {
1687
+ onSubActionsViewToggle(index);
1688
+ }
1689
+ }, [onSubActionsViewToggle]);
1690
+ const shouldOpenSubActions = useCallback(actionIndex => openedSubActions[actionIndex], [openedSubActions]);
1691
+ function onContextMenu(event) {
1692
+ event.preventDefault();
1693
+ asset.onContextMenu(event);
1694
+ }
1695
+ function renderPreview(asset) {
1696
+ let previewContent = null;
1697
+ if (asset.fileType?.toLowerCase() === 'video') {
1698
+ previewContent = React__default.createElement(build.exports.LazyLoadComponent, {
1699
+ scrollPosition: scrollPosition
1700
+ }, React__default.createElement("video", {
1701
+ ref: videoPlayerRef,
1702
+ loop: true,
1703
+ muted: true
1704
+ }, React__default.createElement("source", {
1705
+ src: asset.previewUrl,
1706
+ type: "video/mp4"
1707
+ })));
1708
+ } else if (asset.fileType?.toLowerCase() === 'audio') {
1709
+ previewContent = React__default.createElement(build.exports.LazyLoadComponent, {
1710
+ scrollPosition: scrollPosition
1711
+ }, React__default.createElement("div", {
1712
+ className: "audio"
1713
+ }, React__default.createElement(SvgHeadset, null)));
1714
+ } else {
1715
+ previewContent = React__default.createElement(build.exports.LazyLoadImage, {
1716
+ alt: asset.title,
1717
+ src: asset.previewUrl,
1718
+ height: "100%",
1719
+ width: "100%",
1720
+ delayMethod: "debounce",
1721
+ delayTime: 0,
1722
+ threshold: 1500,
1723
+ scrollPosition: scrollPosition
1724
+ });
1725
+ }
1726
+ return React__default.createElement(Figure, {
1727
+ selected: selected
1728
+ }, previewContent, React__default.createElement(FigureOverlayBackdrop, {
1729
+ selected: selected
1730
+ }), React__default.createElement(Overlay, {
1731
+ ref: cardRef
1732
+ }, React__default.createElement(OverlayBackdrop, {
1733
+ $softSelected: softSelected,
1734
+ selected: selected
1735
+ }), React__default.createElement(OverlayInfo, null, React__default.createElement(OverlayInfoTop, null, React__default.createElement(OverlayInfoTopVersions, null, renderVersionsBadge()), asset?.note?.title && React__default.createElement(OverlayInfoTopWarning, {
1736
+ type: asset?.note?.type
1737
+ }, React__default.createElement(SvgWarningCircle, null)), React__default.createElement(OverlayInfoTopActions, {
1738
+ isCardHovered: isCardHovered
1739
+ }, asset.actions && asset.actions.map((action, index) => React__default.createElement(Tooltip, {
1740
+ key: `${asset.key}-${action.title}`,
1741
+ content: action.title
1742
+ }, React__default.createElement(Fragment, {
1743
+ key: `${asset.key}-${action.title}`,
1744
+ as: ComputedActionButton,
1745
+ component: action.component,
1746
+ className: action.className,
1747
+ icon: action.icon,
1748
+ isCardHovered: isCardHovered,
1749
+ isSubActionsOpened: shouldOpenSubActions(index),
1750
+ onClick: event => onActionClick(event, action, index),
1751
+ subActions: action?.subActions,
1752
+ actionWidthHeight: action.actionWidthHeight
1753
+ }))))), React__default.createElement(OverlayInfoBottom, null, selectable && React__default.createElement(OverlayInfoBottomSelectButton, {
1754
+ selected: selected
1755
+ }, React__default.createElement(SvgCheckRectangleFilled, {
1756
+ onClick: onSelectClick
1757
+ })), React__default.createElement(OverlayInfoBottomMediaIcon, null, renderMediaBadge()))), selectable && React__default.createElement(OverlaySelected, {
1758
+ selected: selected,
1759
+ $softSelected: softSelected,
1760
+ customSelectedBorder: customSelectedBorder
1761
+ })), asset.overlay && React__default.createElement(ConsumerDefinedOverlay, null, asset.overlay));
1762
+ }
1763
+ useEffect(() => {
1764
+ if (isFunction(asset.onContextMenu)) {
1765
+ if (cardRef.current) {
1766
+ cardRef.current.addEventListener('contextmenu', onContextMenu);
1767
+ }
1768
+ return () => {
1769
+ if (cardRef.current) {
1770
+ cardRef.current.removeEventListener('contextmenu', onContextMenu);
1771
+ }
1772
+ };
1773
+ }
1774
+ }, []);
1775
+ function onDragstart(event) {
1776
+ asset.onDragstart(event);
1777
+ }
1778
+ useEffect(() => {
1779
+ if (isFunction(asset.onDragstart)) {
1780
+ if (dragRef.current) {
1781
+ dragRef.current.addEventListener('dragstart', onDragstart);
1782
+ }
1783
+ return () => {
1784
+ if (dragRef.current) {
1785
+ dragRef.current.removeEventListener('dragstart', onDragstart);
1786
+ }
1787
+ };
1788
+ }
1789
+ }, []);
1790
+ useEffect(() => {
1791
+ if (softSelected) {
1792
+ cardRef.current.scrollIntoView({
1793
+ behavior: 'smooth',
1794
+ block: 'nearest'
1795
+ });
1796
+ }
1797
+ }, [softSelected]);
1798
+ const renderVersionsBadge = useCallback(() => {
1799
+ if (!asset?.versions) return null;
1800
+ return React__default.createElement(Badge, {
1801
+ badgeIcon: React__default.createElement(SvgLayers, null),
1802
+ badgeContent: asset.versions,
1803
+ backgroundColors: ['black', 'black'],
1804
+ colors: ['#f7f8f9', '#f7f8f9'],
1805
+ fontSize: 12,
1806
+ fontWeight: 500,
1807
+ lineHeight: 16,
1808
+ verticalPadding: 4,
1809
+ horizontalPadding: 8
1810
+ });
1811
+ }, [asset]);
1812
+ const renderMediaBadge = useCallback(() => {
1813
+ let badgeIcon = null;
1814
+ let badgeContent = null;
1815
+ if (asset?.fileType === 'video') {
1816
+ badgeIcon = React__default.createElement(SvgPlay, null);
1817
+ }
1818
+ if (asset?.duration) {
1819
+ badgeContent = convertMsToHMS(asset.duration);
1820
+ }
1821
+ if (!badgeIcon && !badgeContent) return null;
1822
+ return React__default.createElement(Badge, {
1823
+ badgeIcon: badgeIcon,
1824
+ badgeContent: badgeContent,
1825
+ backgroundColors: ['black', 'black'],
1826
+ colors: ['#f7f8f9', '#f7f8f9'],
1827
+ fontSize: 12,
1828
+ fontWeight: 500,
1829
+ lineHeight: 16,
1830
+ verticalPadding: 4,
1831
+ horizontalPadding: 8,
1832
+ minWidth: 32,
1833
+ height: 24
1834
+ });
1835
+ }, [asset]);
1836
+ const renderSummary = useCallback(() => {
1837
+ return React__default.createElement(SummaryCard, {
1838
+ activeSummaryCard: true,
1839
+ title: asset?.title || '',
1840
+ description: asset?.description || '',
1841
+ instructions: asset?.imageRights || '',
1842
+ instructionsType: 'warning',
1843
+ footerLeft: asset?.summary?.footerLeft || '',
1844
+ footerRight: asset?.summary?.footerRight || '',
1845
+ compact: false
1846
+ });
1847
+ }, [asset]);
1848
+ return React__default.createElement(AssetGalleryWrapper, {
1849
+ disabled: asset.disabled
1850
+ }, React__default.createElement(AssetGalleryGridCard$2, {
1851
+ as: ComputedRootComponent,
1852
+ component: component,
1853
+ asset: asset,
1854
+ disabled: asset.disabled,
1855
+ onClick: onClick,
1856
+ extendedSelectMode: extendedSelectMode,
1857
+ onMouseEnter: onMouseEnter,
1858
+ onMouseLeave: onMouseLeave,
1859
+ draggable: asset.draggable,
1860
+ innerRef: dragRef,
1861
+ selected: selected,
1862
+ $softSelected: softSelected,
1863
+ completed: asset?.completed,
1864
+ $hasError: asset?.hasError,
1865
+ customSelectedBorder: customSelectedBorder
1866
+ }, React__default.createElement(ContentWrapper, {
1867
+ layout: asset.layout,
1868
+ ref: cardRef,
1869
+ $softSelected: softSelected,
1870
+ selected: selected,
1871
+ customSelectedBorder: customSelectedBorder
1872
+ }, React__default.createElement(Asset, {
1873
+ "data-id": "ss",
1874
+ selected: selected
1875
+ }, asset.previewUrl && renderPreview(asset)), renderSummary())));
1876
+ };
1877
+ AssetGalleryGridCard.propTypes = process.env.NODE_ENV !== "production" ? {
1878
+ asset: PropTypes.shape(assetShapeWithLayout).isRequired,
1879
+ selectable: PropTypes.bool,
1880
+ selected: PropTypes.bool,
1881
+ customSelectedBorder: PropTypes.arrayOf(PropTypes.string),
1882
+ extendedSelectMode: PropTypes.bool,
1883
+ onAssetSelected: PropTypes.func.isRequired,
1884
+ onAssetUnselected: PropTypes.func.isRequired,
1885
+ softSelected: PropTypes.bool.isRequired,
1886
+ component: PropTypes.func,
1887
+ scrollPosition: PropTypes.number
1888
+ } : {};
1889
+ AssetGalleryGridCard.defaultProps = {};
1890
+ var AssetGalleryGridCard$1 = build.exports.trackWindowScroll(React__default.memo(AssetGalleryGridCard, (prevProps, nextProps) => {
1891
+ const reactiveProps = ['selectable', 'selected', 'extendedSelectMode', 'softSelected', 'asset.previewUrl', 'asset.overlay', 'asset.layout'];
1892
+ return reactiveProps.every(propKey => get(prevProps, propKey) === get(nextProps, propKey));
1893
+ }));
1894
+
1895
+ const AssetGalleryBase = React__default.forwardRef(function AssetGalleryBase({
1896
+ assets: assetsProp,
1897
+ activeSummaryCard,
1898
+ displayIcon,
1899
+ viewMode,
1900
+ thumbnailMaxHeight,
1901
+ selectable,
1902
+ customSelectedBorder,
1903
+ selectedAssetKeys,
1904
+ onAssetSelected,
1905
+ onAssetUnselected,
1906
+ softSelectable,
1907
+ softSelectedAssetKey,
1908
+ scrollElement: scrollElementProp,
1909
+ onAssetSoftSelectedChanged,
1910
+ component,
1911
+ ...props
1912
+ }, forwardedRef) {
1913
+ const assetGalleryDOMNode = useRef();
1914
+ const assetGalleryCompactRef = useMergedRefs(forwardedRef, assetGalleryDOMNode);
1915
+ const assetGalleryWidth = useRef(0);
1916
+ const minimumRowAspectRatio = useRef(0);
1917
+ const calculatedAssets = useRef([]);
1918
+ const [assets, setAssets] = useState([]);
1919
+ const MAXIMUM_ROW_HEIGHT = useMemo(() => viewMode === 'grid' ? 450 : thumbnailMaxHeight, [viewMode, thumbnailMaxHeight]);
1920
+ const SPACE_BETWEEN_ASSETS = 8;
1921
+ const SPACE_UNDER_ASSETS = 8;
1922
+ const PRIMARY_SCROLL_BUFFER_HEIGHT = 1500;
1923
+ const SECONDARY_SCROLL_BUFFER_HEIGHT = 500;
1924
+ const GRID_VIEW_MODE_ASSET_MIN_WIDTH = 300;
1925
+ const GRID_VIEW_MODE_ASSET_HEIGHT = 427;
1926
+ const MISSING_WIDTH_PLACEHOLDER = 1920;
1927
+ const MISSING_HEIGHT_PLACEHOLDER = 1080;
1928
+ const isBrowser = typeof window !== 'undefined';
1929
+ const scrollElement = scrollElementProp || window;
1930
+ const previousYOffset = useRef(isBrowser ? scrollElement.pageYOffset : 0);
1931
+ const latestYOffset = useRef(isBrowser ? scrollElement.pageYOffset : 0);
1932
+ const scrollDirection = useRef('down');
1933
+ useIsomorphicLayoutEffect(() => {
1934
+ if (!assetGalleryDOMNode.current) return;
1935
+ const throttledOnResize = throttle(onResize, 1);
1936
+ const resizeObserver = new ResizeObserver(throttledOnResize);
1937
+ resizeObserver.observe(assetGalleryDOMNode.current);
1938
+ function onResize(entries) {
1939
+ entries.forEach(entry => {
1940
+ if (assetGalleryWidth.current === entry.contentRect.width) return;
1941
+ window.requestAnimationFrame(() => {
1942
+ assetGalleryWidth.current = entry.contentRect.width;
1943
+ main();
1944
+ });
1945
+ });
1946
+ }
1947
+ return () => {
1948
+ resizeObserver.unobserve(assetGalleryDOMNode.current);
1949
+ };
1950
+ }, [assetsProp, assetGalleryDOMNode, MAXIMUM_ROW_HEIGHT]);
1951
+ useEffect(() => {
1952
+ main();
1953
+ }, [MAXIMUM_ROW_HEIGHT, assetsProp]);
1954
+ const main = () => {
1955
+ calculateAssetGalleryAspectRatio();
1956
+ calculateLayout();
1957
+ calculateVisibility();
1958
+ };
1959
+ const calculateAssetGalleryAspectRatio = () => {
1960
+ if (assetGalleryWidth.current > 0) {
1961
+ minimumRowAspectRatio.current = calculateAspectRatio(assetGalleryWidth.current, MAXIMUM_ROW_HEIGHT);
1962
+ }
1963
+ };
1964
+ const calculateLayout = () => {
1965
+ const assetsWithoutAKey = assetsProp.filter(a => !a.key);
1966
+ if (assetsWithoutAKey.length > 0) {
1967
+ assetsProp = assetsProp.filter(a => a.key);
1968
+ assetsWithoutAKey.forEach(a => console.warn('Omitted asset from the gallery because it was missing the unique `key` property.', a));
1969
+ }
1970
+ if (viewMode === 'grid' && assetGalleryWidth.current > 0) {
1971
+ let row = [];
1972
+ let translateX = 0;
1973
+ let translateY = 0;
1974
+ const computedAssets = [];
1975
+ let lastGroup = null;
1976
+ const desiredAssetCountInRow = Math.floor(assetGalleryWidth.current / GRID_VIEW_MODE_ASSET_MIN_WIDTH) || 1;
1977
+ const desiredAssetWidth = assetGalleryWidth.current / desiredAssetCountInRow - SPACE_BETWEEN_ASSETS + SPACE_BETWEEN_ASSETS / desiredAssetCountInRow;
1978
+ assetsProp.forEach((asset, index) => {
1979
+ if (asset.group && asset.group !== lastGroup) {
1980
+ computedAssets.push({
1981
+ title: asset.group,
1982
+ key: asset.key,
1983
+ layout: {
1984
+ type: 'groupLabel',
1985
+ height: 50,
1986
+ translateX: Math.round(translateX),
1987
+ translateY: Math.round(translateY)
1988
+ }
1989
+ });
1990
+ lastGroup = asset.group;
1991
+ translateY += 50 + SPACE_UNDER_ASSETS;
1992
+ }
1993
+ row.push(asset);
1994
+ if (row.length === desiredAssetCountInRow || index + 1 === assetsProp.length || assetsProp[index + 1]?.group && assetsProp[index + 1].group !== asset.group) {
1995
+ row.forEach(rowAsset => {
1996
+ computedAssets.push({
1997
+ ...rowAsset,
1998
+ layout: {
1999
+ type: 'asset',
2000
+ width: Math.round(desiredAssetWidth),
2001
+ height: Math.round(GRID_VIEW_MODE_ASSET_HEIGHT),
2002
+ translateX: Math.round(translateX),
2003
+ translateY: Math.round(translateY)
2004
+ }
2005
+ });
2006
+ translateX += desiredAssetWidth + SPACE_BETWEEN_ASSETS;
2007
+ });
2008
+ row = [];
2009
+ translateX = 0;
2010
+ translateY += GRID_VIEW_MODE_ASSET_HEIGHT + SPACE_UNDER_ASSETS;
2011
+ }
2012
+ });
2013
+ calculatedAssets.current = computedAssets;
2014
+ } else {
2015
+ if (minimumRowAspectRatio.current > 0) {
2016
+ let row = [];
2017
+ let translateX = 0;
2018
+ let translateY = 0;
2019
+ let rowAspectRatio = 0;
2020
+ let lastGroup = null;
2021
+ const computedAssets = [];
2022
+ assetsProp.forEach((asset, index) => {
2023
+ if (asset.group && asset.group !== lastGroup) {
2024
+ computedAssets.push({
2025
+ title: asset.group,
2026
+ key: asset.key,
2027
+ layout: {
2028
+ type: 'groupLabel',
2029
+ height: 50,
2030
+ translateX: Math.round(translateX),
2031
+ translateY: Math.round(translateY)
2032
+ }
2033
+ });
2034
+ lastGroup = asset.group;
2035
+ translateY += 50 + SPACE_UNDER_ASSETS;
2036
+ }
2037
+ rowAspectRatio += calculateAspectRatio(asset.width || MISSING_WIDTH_PLACEHOLDER, asset.height || MISSING_HEIGHT_PLACEHOLDER);
2038
+ row.push(asset);
2039
+ if (rowAspectRatio >= minimumRowAspectRatio.current || index + 1 === assetsProp.length || assetsProp[index + 1]?.group && assetsProp[index + 1].group !== asset.group) {
2040
+ rowAspectRatio = Math.max(rowAspectRatio, minimumRowAspectRatio.current);
2041
+ const totalDesiredWidthOfImages = assetGalleryWidth.current - SPACE_BETWEEN_ASSETS * (row.length - 1);
2042
+ const rowHeight = totalDesiredWidthOfImages / rowAspectRatio;
2043
+ row.forEach(rowAsset => {
2044
+ const assetWidth = rowHeight * calculateAspectRatio(rowAsset.width || MISSING_WIDTH_PLACEHOLDER, rowAsset.height || MISSING_HEIGHT_PLACEHOLDER);
2045
+ computedAssets.push({
2046
+ ...rowAsset,
2047
+ layout: {
2048
+ type: 'asset',
2049
+ width: Math.round(assetWidth),
2050
+ height: Math.round(rowHeight),
2051
+ translateX: Math.round(translateX),
2052
+ translateY: Math.round(translateY),
2053
+ hasHeightAndWidth: Boolean(rowAsset.width && rowAsset.height)
2054
+ }
2055
+ });
2056
+ translateX += assetWidth + SPACE_BETWEEN_ASSETS;
2057
+ });
2058
+ row = [];
2059
+ rowAspectRatio = 0;
2060
+ translateY += rowHeight + SPACE_UNDER_ASSETS;
2061
+ translateX = 0;
2062
+ }
2063
+ });
2064
+ calculatedAssets.current = computedAssets;
2065
+ }
2066
+ }
2067
+ };
2068
+ function calculateAspectRatio(width, height) {
2069
+ return width / height;
2070
+ }
2071
+ const totalGalleryHeight = useMemo(() => {
2072
+ if (assets.length === 0) {
2073
+ return 0;
2074
+ }
2075
+ const lastAsset = assets[assets.length - 1];
2076
+ if (assets.length < 8) {
2077
+ return (lastAsset.layout.translateY + lastAsset.layout.height) * 2;
2078
+ }
2079
+ return lastAsset.layout.translateY + lastAsset.layout.height;
2080
+ }, [assets]);
2081
+ useEffect(() => {
2082
+ const throttledOnScroll = throttle(onScroll, 200);
2083
+ scrollElement.addEventListener('scroll', throttledOnScroll, false);
2084
+ return () => scrollElement.removeEventListener('scroll', throttledOnScroll, false);
2085
+ }, [assetGalleryDOMNode, calculatedAssets]);
2086
+ function onScroll() {
2087
+ setScrollPositionAndDirection();
2088
+ calculateVisibility();
2089
+ }
2090
+ function setScrollPositionAndDirection() {
2091
+ const newYOffset = scrollElement.pageYOffset;
2092
+ previousYOffset.current = latestYOffset.current;
2093
+ latestYOffset.current = newYOffset;
2094
+ scrollDirection.current = latestYOffset.current > previousYOffset.current ? 'down' : 'up';
2095
+ }
2096
+ const calculateVisibility = () => {
2097
+ if (!assetGalleryDOMNode.current) return;
2098
+ const bufferTop = scrollDirection.current === 'up' ? PRIMARY_SCROLL_BUFFER_HEIGHT : SECONDARY_SCROLL_BUFFER_HEIGHT;
2099
+ const bufferBottom = scrollDirection.current === 'up' ? SECONDARY_SCROLL_BUFFER_HEIGHT : PRIMARY_SCROLL_BUFFER_HEIGHT;
2100
+ const containerOffset = getOffsetTop(assetGalleryDOMNode.current);
2101
+ const scrollerHeight = scrollElement.innerHeight;
2102
+ const yOffset = latestYOffset.current;
2103
+ const minTranslateYPlusHeight = yOffset - containerOffset - bufferTop;
2104
+ const maxTranslateY = yOffset - containerOffset + scrollerHeight + bufferBottom;
2105
+ const finalizedAssets = calculatedAssets.current.map(asset => {
2106
+ if (scrollElement.self == window && (asset.layout.translateY + asset.layout.height < minTranslateYPlusHeight || asset.layout.translateY > maxTranslateY)) {
2107
+ asset.layout.show = false;
2108
+ } else {
2109
+ asset.layout.show = true;
2110
+ }
2111
+ return asset;
2112
+ });
2113
+ setAssets(finalizedAssets);
2114
+ };
2115
+ function getOffsetTop(elem) {
2116
+ let offsetTop = 0;
2117
+ do {
2118
+ if (!isNaN(elem.offsetTop)) {
2119
+ offsetTop += elem.offsetTop;
2120
+ }
2121
+ elem = elem.offsetParent;
2122
+ } while (elem);
2123
+ return offsetTop;
2124
+ }
2125
+ const handleKeyPress = useCallback(e => {
2126
+ function isElementVisible(el) {
2127
+ const rect = el.getBoundingClientRect(),
2128
+ vWidth = scrollElement.innerWidth || document.documentElement.clientWidth,
2129
+ vHeight = scrollElement.innerHeight || document.documentElement.clientHeight,
2130
+ efp = function (x, y) {
2131
+ return document.elementFromPoint(x, y);
2132
+ };
2133
+ if (rect.right < 0 || rect.bottom < 0 || rect.left > vWidth || rect.top > vHeight) return false;
2134
+ return el.contains(efp(rect.left, rect.top)) || el.contains(efp(rect.right, rect.top)) || el.contains(efp(rect.right, rect.bottom)) || el.contains(efp(rect.left, rect.bottom));
2135
+ }
2136
+ function softSelectFirstVisibleAsset() {
2137
+ const visibleAssets = assets.filter(asset => asset.layout.show);
2138
+ for (let i = 0; i < assetGalleryDOMNode.current.children.length; i++) {
2139
+ if (isElementVisible(assetGalleryDOMNode.current.children[i])) {
2140
+ onAssetSoftSelectedChanged(visibleAssets[i].key);
2141
+ break;
2142
+ }
2143
+ }
2144
+ }
2145
+ if (assets.length === 0) return;
2146
+ if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {
2147
+ if (softSelectedAssetKey === null) {
2148
+ softSelectFirstVisibleAsset();
2149
+ return;
2150
+ }
2151
+ }
2152
+ if (e.key === 'ArrowLeft') {
2153
+ const previousAssetIndex = assets.findIndex(asset => asset.key === softSelectedAssetKey) - 1;
2154
+ const previousAsset = assets[previousAssetIndex];
2155
+ if (previousAsset) {
2156
+ if (previousAsset.layout.show) {
2157
+ onAssetSoftSelectedChanged(previousAsset.key);
2158
+ } else {
2159
+ softSelectFirstVisibleAsset();
2160
+ }
2161
+ }
2162
+ return;
2163
+ }
2164
+ if (e.key === 'ArrowRight') {
2165
+ const nextAssetIndex = assets.findIndex(asset => asset.key === softSelectedAssetKey) + 1;
2166
+ const nextAsset = assets[nextAssetIndex];
2167
+ if (nextAsset) {
2168
+ if (nextAsset.layout.show) {
2169
+ onAssetSoftSelectedChanged(nextAsset.key);
2170
+ } else {
2171
+ softSelectFirstVisibleAsset();
2172
+ }
2173
+ }
2174
+ return;
2175
+ }
2176
+ if (e.key === 'Enter') {
2177
+ if (softSelectedAssetKey === null) return;
2178
+ if (selectedAssetKeys.includes(softSelectedAssetKey)) {
2179
+ onAssetUnselected(softSelectedAssetKey);
2180
+ } else {
2181
+ onAssetSelected(softSelectedAssetKey);
2182
+ }
2183
+ }
2184
+ }, [assets, softSelectedAssetKey, onAssetSoftSelectedChanged, selectedAssetKeys, assetGalleryCompactRef]);
2185
+ const handleClick = useCallback(() => {
2186
+ onAssetSoftSelectedChanged(null);
2187
+ }, []);
2188
+ useEffect(() => {
2189
+ if (softSelectable) {
2190
+ document.addEventListener('keydown', handleKeyPress);
2191
+ }
2192
+ return () => document.removeEventListener('keydown', handleKeyPress);
2193
+ }, [softSelectable, handleKeyPress]);
2194
+ useEffect(() => {
2195
+ if (softSelectable && softSelectedAssetKey !== null) {
2196
+ document.addEventListener('click', handleClick, true);
2197
+ }
2198
+ return () => document.removeEventListener('click', handleClick, true);
2199
+ }, [softSelectable, softSelectedAssetKey, handleClick]);
2200
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(AssetGalleryBase$1, _extends$4({
2201
+ ref: assetGalleryCompactRef,
2202
+ style: {
2203
+ height: `${totalGalleryHeight}px`
2204
+ },
2205
+ className: props.className
2206
+ }, props), assets.map(asset => asset.layout.show && React__default.createElement(React__default.Fragment, {
2207
+ key: `asset-gallery-${asset.layout.type}-${asset.key}`
2208
+ }, asset.layout.type === 'groupLabel' && React__default.createElement(GroupLabel, {
2209
+ style: {
2210
+ transform: `translate3d(${asset.layout.translateX}px,${asset.layout.translateY}px, 0)`,
2211
+ height: `${asset.layout.height}px`
2212
+ }
2213
+ }, asset.title), asset.layout.type === 'asset' && React__default.createElement(AssetGalleryCardBase, {
2214
+ style: {
2215
+ transform: `translate3d(${asset.layout.translateX}px, ${asset.layout.translateY}px, 0)`,
2216
+ width: `${asset.layout.width}px`,
2217
+ height: `${asset.layout.height}px`,
2218
+ display: 'flex',
2219
+ justifyContent: 'center'
2220
+ }
2221
+ }, viewMode === 'grid' ? React__default.createElement(AssetGalleryGridCard$1, {
2222
+ asset: asset,
2223
+ selectable: 'selectable' in asset ? asset.selectable : selectable,
2224
+ selected: selectedAssetKeys.includes(asset.key),
2225
+ customSelectedBorder: customSelectedBorder,
2226
+ extendedSelectMode: Boolean(selectedAssetKeys.length),
2227
+ onAssetSelected: onAssetSelected,
2228
+ onAssetUnselected: onAssetUnselected,
2229
+ $softSelected: softSelectedAssetKey === asset.key,
2230
+ component: component
2231
+ }) : React__default.createElement(AssetGalleryCompactCard$1, {
2232
+ asset: asset,
2233
+ activeSummaryCard: activeSummaryCard,
2234
+ displayIcon: displayIcon,
2235
+ $hasHeightAndWidth: asset.layout.hasHeightAndWidth,
2236
+ $collapseExtraInfo: asset.layout.width < 90,
2237
+ selectable: 'selectable' in asset ? asset.selectable : selectable,
2238
+ selected: selectedAssetKeys.includes(asset.key),
2239
+ customSelectedBorder: customSelectedBorder,
2240
+ extendedSelectMode: Boolean(selectedAssetKeys.length),
2241
+ onAssetSelected: onAssetSelected,
2242
+ onAssetUnselected: onAssetUnselected,
2243
+ $softSelected: softSelectedAssetKey === asset.key,
2244
+ component: component
2245
+ }))))));
2246
+ });
2247
+ AssetGalleryBase.propTypes = process.env.NODE_ENV !== "production" ? {
2248
+ assets: PropTypes.arrayOf(PropTypes.shape(assetShape)),
2249
+ activeSummaryCard: PropTypes.bool,
2250
+ displayIcon: PropTypes.string,
2251
+ viewMode: PropTypes.oneOf(['compact', 'grid']),
2252
+ thumbnailMaxHeight: PropTypes.number,
2253
+ selectable: PropTypes.bool,
2254
+ customSelectedBorder: PropTypes.arrayOf(PropTypes.string),
2255
+ selectedAssetKeys: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.arrayOf(PropTypes.number)]).isRequired,
2256
+ scrollElement: PropTypes.instanceOf(Element),
2257
+ onAssetSelected: PropTypes.func.isRequired,
2258
+ onAssetUnselected: PropTypes.func.isRequired,
2259
+ softSelectable: PropTypes.bool,
2260
+ softSelectedAssetKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
2261
+ onAssetSoftSelectedChanged: PropTypes.func.isRequired,
2262
+ component: PropTypes.func,
2263
+ className: PropTypes.string
2264
+ } : {};
2265
+
2266
+ const AssetGallery = React__default.forwardRef(function AssetGallery({
2267
+ assets,
2268
+ activeSummaryCard,
2269
+ viewMode,
2270
+ thumbnailMaxHeight,
2271
+ selectable,
2272
+ customSelectedBorder,
2273
+ selectedAssetKeys,
2274
+ onSelectedChanged,
2275
+ softSelectable,
2276
+ scrollElement,
2277
+ onSoftSelectedChanged,
2278
+ component,
2279
+ displayIcon,
2280
+ ...props
2281
+ }, forwardedRef) {
2282
+ const [selectedAssetKeysInternalState, setSelectedAssetKeysInternalState] = useState(selectedAssetKeys || []);
2283
+ const [softSelectedAssetKeyInternalState, setSoftSelectedAssetKeyInternalState] = useState(null);
2284
+ useEffect(() => {
2285
+ setSelectedAssetKeysInternalState(selectedAssetKeys || []);
2286
+ }, [selectedAssetKeys]);
2287
+ useEffect(() => {
2288
+ setSelectedAssetKeysInternalState(current => {
2289
+ return current.filter(c => assets.some(a => a.key === c));
2290
+ });
2291
+ }, [assets.length]);
2292
+ useEffect(() => {
2293
+ if (selectedAssetKeys === selectedAssetKeysInternalState) return;
2294
+ if (isFunction(onSelectedChanged)) {
2295
+ onSelectedChanged(selectedAssetKeysInternalState);
2296
+ }
2297
+ }, [selectedAssetKeysInternalState]);
2298
+ useEffect(() => {
2299
+ if (isFunction(onSoftSelectedChanged)) {
2300
+ onSoftSelectedChanged(softSelectedAssetKeyInternalState);
2301
+ }
2302
+ }, [softSelectedAssetKeyInternalState]);
2303
+ const onSelected = useCallback(assetKey => {
2304
+ setSelectedAssetKeysInternalState(currentState => [...currentState, assetKey]);
2305
+ }, []);
2306
+ const onUnselected = useCallback(assetKey => {
2307
+ setSelectedAssetKeysInternalState(currentState => currentState.filter(filteredAssetKey => filteredAssetKey !== assetKey));
2308
+ }, []);
2309
+ const onAssetSoftSelectedChanged = useCallback((assetKey = null) => {
2310
+ setSoftSelectedAssetKeyInternalState(assetKey);
2311
+ }, []);
2312
+ return React__default.createElement(AssetGalleryBase, _extends$4({
2313
+ ref: forwardedRef,
2314
+ assets: assets,
2315
+ activeSummaryCard: activeSummaryCard,
2316
+ displayIcon: displayIcon,
2317
+ thumbnailMaxHeight: thumbnailMaxHeight,
2318
+ selectable: selectable,
2319
+ customSelectedBorder: customSelectedBorder,
2320
+ selectedAssetKeys: selectedAssetKeysInternalState,
2321
+ onAssetSelected: onSelected,
2322
+ onAssetUnselected: onUnselected,
2323
+ softSelectable: softSelectable,
2324
+ softSelectedAssetKey: softSelectedAssetKeyInternalState,
2325
+ scrollElement: scrollElement,
2326
+ onAssetSoftSelectedChanged: onAssetSoftSelectedChanged,
2327
+ component: component,
2328
+ viewMode: viewMode
2329
+ }, props));
2330
+ });
2331
+ AssetGallery.propTypes = process.env.NODE_ENV !== "production" ? {
2332
+ assets: PropTypes.arrayOf(PropTypes.shape(assetShape)),
2333
+ displayIcon: PropTypes.string,
2334
+ activeSummaryCard: PropTypes.bool,
2335
+ viewMode: PropTypes.oneOf(['compact', 'grid']),
2336
+ thumbnailMaxHeight: PropTypes.number,
2337
+ selectable: PropTypes.bool,
2338
+ customSelectedBorder: PropTypes.arrayOf(PropTypes.string),
2339
+ selectedAssetKeys: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.arrayOf(PropTypes.number)]),
2340
+ onSelectedChanged: PropTypes.func,
2341
+ softSelectable: PropTypes.bool,
2342
+ scrollElement: PropTypes.instanceOf(Element),
2343
+ onSoftSelectedChanged: PropTypes.func,
2344
+ component: PropTypes.func
2345
+ } : {};
2346
+ AssetGallery.defaultProps = {
2347
+ assets: [],
2348
+ viewMode: 'compact',
2349
+ thumbnailMaxHeight: 300,
2350
+ selectedAssetKeys: [],
2351
+ customSelectedBorder: [],
2352
+ activeSummaryCard: false,
2353
+ displayIcon: ''
2354
+ };
2355
+
2356
+ export { AssetGallery as default };