{"version":3,"file":"pwc-957.1763f4ca.chunk.js","mappings":"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","sources":["static/svg/EmptyFeed.svg","static/svg/EmptyLibrary.svg","static/svg/MediaPrivateGlyph.svg","static/svg/MediaProcessingGlyph.svg","component/collections/CollectionActionMenu.tsx","component/collections/CollectionContent.tsx","component/collections/CollectionNotificationToggle.tsx","component/details/CollectionMediaRemove.tsx","component/header/HeaderPlaceholder.tsx","component/library/BatchSelectionIndicator.tsx","component/modals/RenameCollectionModal.tsx","component/util/MediaQueryParamsBuilder.ts","component/util/ScreenReaderHelper.tsx","component/util/SortDirectionOptions.tsx","util/MediaSorter.ts","util/TimeFormatter.ts","util/UserMessaging.ts","../node_modules/dayjs/plugin/relativeTime.js","../node_modules/react-infinite-scroller/dist/InfiniteScroll.js","../node_modules/react-infinite-scroller/index.js","../node_modules/use-query-params/adapters/react-router-5/index.js"],"sourcesContent":["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); }\nimport React from \"react\";\nexport default ({\n  styles = {},\n  ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  xmlns: \"http://www.w3.org/2000/svg\",\n  className: styles[\"feed-splash-hero-image\"] || \"feed-splash-hero-image\",\n  xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n  width: \"134\",\n  height: \"114\"\n}, props), /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n  id: \"a9198431-4ca8-41e3-947c-1cbbc3e855a5\",\n  \"data-name\": \"New Gradient Swatch 5\",\n  x1: \"-9.96\",\n  y1: \"60.57\",\n  x2: \"109.78\",\n  y2: \"81.12\",\n  gradientUnits: \"userSpaceOnUse\"\n}, /*#__PURE__*/React.createElement(\"stop\", {\n  offset: \"0\",\n  stopColor: \"#35abab\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n  offset: \".67\",\n  stopColor: \"#676e96\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n  offset: \".89\",\n  stopColor: \"#5c568f\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n  offset: \"1\",\n  stopColor: \"#56488b\"\n})), /*#__PURE__*/React.createElement(\"linearGradient\", {\n  id: \"a2a20e68-5b20-4278-8e5b-3d3cb02a1a19\",\n  x1: \"-19.96\",\n  y1: \"60.57\",\n  x2: \"99.78\",\n  y2: \"81.12\",\n  xlinkHref: \"#a9198431-4ca8-41e3-947c-1cbbc3e855a5\"\n}), /*#__PURE__*/React.createElement(\"linearGradient\", {\n  id: \"edc4a9b2-14b4-4193-a37d-8fb0916de50b\",\n  x1: \"-57.08\",\n  y1: \"34.67\",\n  x2: \"172.23\",\n  y2: \"74.03\",\n  xlinkHref: \"#a9198431-4ca8-41e3-947c-1cbbc3e855a5\"\n})), /*#__PURE__*/React.createElement(\"title\", null, \"spot_newspaper\"), /*#__PURE__*/React.createElement(\"g\", {\n  style: {\n    isolation: \"isolate\"\n  }\n}, /*#__PURE__*/React.createElement(\"g\", {\n  id: \"ac2aa931-1993-41de-8f04-f0e2632e64e0\",\n  \"data-name\": \"Layer 1\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M34 20v82a12 12 0 01-24 0V20z\",\n  fill: \"url(#a9198431-4ca8-41e3-947c-1cbbc3e855a5)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M34 20v82a12 12 0 01-24 0V20z\",\n  fill: \"#193138\",\n  opacity: \".2\",\n  style: {\n    mixBlendMode: \"multiply\"\n  }\n}), /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M24 20v82a12 12 0 01-24 0V20z\",\n  fill: \"url(#a2a20e68-5b20-4278-8e5b-3d3cb02a1a19)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M134 0v102a12 12 0 01-12 12H12a12 12 0 0012-12V0z\",\n  fill: \"url(#edc4a9b2-14b4-4193-a37d-8fb0916de50b)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M24 20v82a12 12 0 01-24 0V20z\",\n  fill: \"#193138\",\n  opacity: \".2\",\n  style: {\n    mixBlendMode: \"multiply\"\n  }\n}), /*#__PURE__*/React.createElement(\"g\", {\n  fill: \"#193138\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  opacity: \".25\",\n  style: {\n    mixBlendMode: \"multiply\"\n  },\n  d: \"M74 30h50v52H74z\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n  cx: \"99.35\",\n  cy: \"49.82\",\n  r: \"12.24\",\n  opacity: \".25\",\n  style: {\n    mixBlendMode: \"multiply\"\n  }\n}), /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M120.65 82H78a21.7 21.7 0 0142.61 0z\",\n  opacity: \".25\",\n  style: {\n    mixBlendMode: \"multiply\"\n  }\n})), /*#__PURE__*/React.createElement(\"rect\", {\n  x: \"34\",\n  y: \"11\",\n  width: \"90\",\n  height: \"10\",\n  rx: \"2\",\n  fill: \"#193138\",\n  opacity: \".25\",\n  style: {\n    mixBlendMode: \"multiply\"\n  }\n}), /*#__PURE__*/React.createElement(\"rect\", {\n  x: \"34\",\n  y: \"30\",\n  width: \"34\",\n  height: \"4\",\n  rx: \"2\",\n  fill: \"#193138\",\n  opacity: \".25\",\n  style: {\n    mixBlendMode: \"multiply\"\n  }\n}), /*#__PURE__*/React.createElement(\"rect\", {\n  x: \"34\",\n  y: \"42\",\n  width: \"34\",\n  height: \"4\",\n  rx: \"2\",\n  fill: \"#193138\",\n  opacity: \".25\",\n  style: {\n    mixBlendMode: \"multiply\"\n  }\n}), /*#__PURE__*/React.createElement(\"rect\", {\n  x: \"34\",\n  y: \"54\",\n  width: \"34\",\n  height: \"4\",\n  rx: \"2\",\n  fill: \"#193138\",\n  opacity: \".25\",\n  style: {\n    mixBlendMode: \"multiply\"\n  }\n}), /*#__PURE__*/React.createElement(\"rect\", {\n  x: \"34\",\n  y: \"66\",\n  width: \"34\",\n  height: \"4\",\n  rx: \"2\",\n  fill: \"#193138\",\n  opacity: \".25\",\n  style: {\n    mixBlendMode: \"multiply\"\n  }\n}), /*#__PURE__*/React.createElement(\"rect\", {\n  x: \"34\",\n  y: \"78\",\n  width: \"34\",\n  height: \"4\",\n  rx: \"2\",\n  fill: \"#193138\",\n  opacity: \".25\",\n  style: {\n    mixBlendMode: \"multiply\"\n  }\n}), /*#__PURE__*/React.createElement(\"rect\", {\n  x: \"34\",\n  y: \"90\",\n  width: \"90\",\n  height: \"4\",\n  rx: \"2\",\n  fill: \"#193138\",\n  opacity: \".25\",\n  style: {\n    mixBlendMode: \"multiply\"\n  }\n}), /*#__PURE__*/React.createElement(\"rect\", {\n  x: \"34\",\n  y: \"102\",\n  width: \"90\",\n  height: \"4\",\n  rx: \"2\",\n  fill: \"#193138\",\n  opacity: \".25\",\n  style: {\n    mixBlendMode: \"multiply\"\n  }\n}))));","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); }\nimport React from \"react\";\nexport default ({\n  styles = {},\n  ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  xmlns: \"http://www.w3.org/2000/svg\",\n  xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n  width: \"110\",\n  height: \"100\"\n}, props), /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n  id: \"a4beb2ac-b902-4eaf-913c-f90275d4c103\",\n  \"data-name\": \"New Gradient Swatch 5\",\n  x1: \"5.59\",\n  y1: \"-4.41\",\n  x2: \"73\",\n  y2: \"63\",\n  gradientUnits: \"userSpaceOnUse\"\n}, /*#__PURE__*/React.createElement(\"stop\", {\n  offset: \"0\",\n  stopColor: \"#35abab\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n  offset: \".67\",\n  stopColor: \"#676e96\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n  offset: \".89\",\n  stopColor: \"#5c568f\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n  offset: \"1\",\n  stopColor: \"#56488b\"\n})), /*#__PURE__*/React.createElement(\"linearGradient\", {\n  id: \"a65bef58-523d-4ab2-aa2b-abf844054b7f\",\n  x1: \"36.26\",\n  y1: \"26.26\",\n  x2: \"112.18\",\n  y2: \"102.18\",\n  xlinkHref: \"#a4beb2ac-b902-4eaf-913c-f90275d4c103\"\n}), /*#__PURE__*/React.createElement(\"linearGradient\", {\n  id: \"eba387c6-5590-472f-81ec-2b3238bf0d4d\",\n  x1: \"36.44\",\n  y1: \"26.44\",\n  x2: \"112.01\",\n  y2: \"102.01\",\n  xlinkHref: \"#a4beb2ac-b902-4eaf-913c-f90275d4c103\"\n}), /*#__PURE__*/React.createElement(\"linearGradient\", {\n  id: \"a0451b37-e70d-4850-8a8f-9df7d5d85a79\",\n  x1: \"81.5\",\n  y1: \"51\",\n  x2: \"95.5\",\n  y2: \"51\",\n  xlinkHref: \"#a4beb2ac-b902-4eaf-913c-f90275d4c103\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n  style: {\n    isolation: \"isolate\"\n  }\n}, /*#__PURE__*/React.createElement(\"g\", {\n  id: \"b87bf8ce-7d02-49ee-8378-f2e30aa6c017\",\n  \"data-name\": \"Layer 1\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M98 0H2a2 2 0 00-2 2v76a2 2 0 002 2h42v-4h-7a1 1 0 01-1-1v-6a1 1 0 011-1h7V36h56V2a2 2 0 00-2-2zM68 5a1 1 0 011-1h10a1 1 0 011 1v6a1 1 0 01-1 1H69a1 1 0 01-1-1zM52 5a1 1 0 011-1h10a1 1 0 011 1v6a1 1 0 01-1 1H53a1 1 0 01-1-1zM36 5a1 1 0 011-1h10a1 1 0 011 1v6a1 1 0 01-1 1H37a1 1 0 01-1-1zM20 5a1 1 0 011-1h10a1 1 0 011 1v6a1 1 0 01-1 1H21a1 1 0 01-1-1zM4 5a1 1 0 011-1h10a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1zm12 70a1 1 0 01-1 1H5a1 1 0 01-1-1v-6a1 1 0 011-1h10a1 1 0 011 1zm16 0a1 1 0 01-1 1H21a1 1 0 01-1-1v-6a1 1 0 011-1h10a1 1 0 011 1zm64-64a1 1 0 01-1 1H85a1 1 0 01-1-1V5a1 1 0 011-1h10a1 1 0 011 1z\",\n  fill: \"url(#a4beb2ac-b902-4eaf-913c-f90275d4c103)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M96 17v19H44v28H5a1 1 0 01-1-1V17a1 1 0 011-1h90a1 1 0 011 1z\",\n  style: {\n    mixBlendMode: \"multiply\"\n  },\n  fill: \"#193138\",\n  opacity: \".2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M44 41.83V64H5a1 1 0 01-1-1V50.76C15.34 42 24.72 40.13 31.06 40A41.06 41.06 0 0144 41.83z\",\n  style: {\n    mixBlendMode: \"multiply\"\n  },\n  fill: \"#193138\",\n  opacity: \".1\"\n}), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n  x: \"50\",\n  y: \"40\",\n  width: \"52\",\n  height: \"52\",\n  rx: \"2\",\n  fill: \"url(#a65bef58-523d-4ab2-aa2b-abf844054b7f)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M42 34v64a2 2 0 002 2h64a2 2 0 002-2V34a2 2 0 00-2-2H44a2 2 0 00-2 2zm61.81 62H48.19A2.19 2.19 0 0146 93.81V38.19A2.19 2.19 0 0148.19 36h55.62a2.19 2.19 0 012.19 2.19v55.62a2.19 2.19 0 01-2.19 2.19z\",\n  fill: \"url(#eba387c6-5590-472f-81ec-2b3238bf0d4d)\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n  cx: \"88.5\",\n  cy: \"51\",\n  r: \"7\",\n  style: {\n    mixBlendMode: \"multiply\"\n  },\n  opacity: \".2\",\n  fill: \"url(#a0451b37-e70d-4850-8a8f-9df7d5d85a79)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M102 53.62L85 81 67.25 65.07 50 82.62V90a2 2 0 002 2h48a2 2 0 002-2z\",\n  style: {\n    mixBlendMode: \"multiply\"\n  },\n  fill: \"#193138\",\n  opacity: \".2\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n  style: {\n    mixBlendMode: \"multiply\"\n  },\n  fill: \"#193138\",\n  opacity: \".2\",\n  d: \"M67.44 65.06l29.12 26.93h-21l-8.12-26.93z\"\n})))));","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); }\nimport React from \"react\";\nexport default ({\n  styles = {},\n  ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  id: \"Layer_1\",\n  \"data-name\": \"Layer 1\",\n  xmlns: \"http://www.w3.org/2000/svg\",\n  width: \"250\",\n  height: \"160\"\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M165 71v-8a40 40 0 00-80 0v8a8 8 0 00-8 8v48a8 8 0 008 8h80a8 8 0 008-8V79a8 8 0 00-8-8zm-32 32a8 8 0 01-16 0v-8a8 8 0 0116 0zm16-32h-48v-8a24 24 0 0148 0z\",\n  fill: \"#f5f6f8\",\n  id: \"_16x16\",\n  \"data-name\": \"16x16\",\n  opacity: \".25\"\n}));","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); }\nimport React from \"react\";\nexport default ({\n  styles = {},\n  ...props\n}) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  xmlns: \"http://www.w3.org/2000/svg\",\n  width: \"250\",\n  height: \"160\"\n}, props), /*#__PURE__*/React.createElement(\"g\", {\n  opacity: \".25\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M135.81 105.18v-8L127 95a20.74 20.74 0 00-2.4-5.8l4.68-8-5.44-5.44-8 4.68A21.22 21.22 0 00110 78l-2.2-8.84h-8L97.61 78a21.48 21.48 0 00-5.8 2.4l-8-4.68-5.44 5.44 4.68 8a21.35 21.35 0 00-2.4 5.8l-8.84 2.2v8l8.84 2.2a21.35 21.35 0 002.4 5.8l-4.68 8 5.44 5.44 8-4.68a21.48 21.48 0 005.8 2.4l2.2 8.84h8l2.2-8.84a21.22 21.22 0 005.8-2.4l8 4.68 5.44-5.44-4.68-8a20.74 20.74 0 002.4-5.8zm-32 8a12 12 0 1112-12 12 12 0 01-12 12z\",\n  \"data-name\": \"16x16\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n  \"data-name\": \"16x16\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M178.12 49.43L175.06 42l-9 1.36a21 21 0 00-4.44-4.36l1.26-9.19-7.11-2.94-5.6 7.38a21 21 0 00-6.28 0l-5.41-7.33-7.39 3.06 1.35 9a21 21 0 00-4.44 4.41l-9.18-1.26-2.95 7.1 7.39 5.6a21 21 0 000 6.28l-7.33 5.42 3.07 7.39 9-1.35a21.24 21.24 0 004.44 4.43l-1.26 9.18 7.11 2.94 5.6-7.38a21.25 21.25 0 006.27 0l5.42 7.32L163 86l-1.35-9a21 21 0 004.44-4.44l9.18 1.27 2.95-7.11-7.39-5.6a21.32 21.32 0 000-6.28zm-26.5 19.63a12 12 0 116.49-15.68 12 12 0 01-6.49 15.68z\",\n  \"data-name\": \"settings\"\n}))));","import React, {useEffect, useState} from 'react';\nimport {useTranslation} from 'react-i18next';\nimport {ControlButton, TscButtonType, Glyphs, MenuItem, TscPopoverOrigin, PopoverButton} from '@techsmith/tsc-cloud-style-guide';\nimport Constants, {GroupRoleTypes} from '../../constants/Constants';\nimport {collectionsStore, refreshActiveCollection, removeCollectionFromState, updateActiveCollection, addCollectionToState} from '../../context/collectionsProvider';\nimport withMemoizedContexts from '../../context/contextContainerHoC';\nimport {useTscTheme} from '../../context/themeProvider';\nimport {ICollectionModel} from '../../model/appModel';\nimport config from '../../service/config';\nimport collectionApi from '../../service/collectionApi';\nimport logging from '../../service/logging';\nimport LeaveCollectionModal from '../modals/LeaveCollectionModal';\nimport cssConstants from '../../constants/cssConstants';\nimport DeleteModal from '../modals/DeleteModal';\nimport CollectionLeaveGlyph from '../../static/svg/leave-16x16.svg';\nimport AddYoutubeMediaModal from '../modals/AddYoutubeMediaModal';\nimport RenameCollectionModal from '../modals/RenameCollectionModal';\nimport {GridLayoutButtonGroup} from '../util/StyledElements';\nimport ShareCollectionModal from '../modals/ShareCollectionModal';\nimport {IMediaDetails} from '../../model/mediaDetails';\nimport {batchSelectionStore} from '../../context/batchSelectionProvider';\nimport CollectionMediaRemove from '../details/CollectionMediaRemove';\nimport CollectionNotificationToggle from './CollectionNotificationToggle';\n\nexport const CollectionActionMenuBase: React.FC<ICollectionActionMenuProps & IStateMappedProps> = ({isManagementView, activeCollection, selectedMedia}) => {\n   const {t} = useTranslation();\n   const theme = useTscTheme();\n\n   const [showShareModal, setShowShareModal] = useState(false);\n   const [showLeaveModal, setShowLeaveModal] = useState(false);\n   const [showDeleteModal, setShowDeleteModal] = useState(false);\n   const [showYoutubeModal, setShowYoutubeModal] = useState(false);\n   const [showRenameModal, setShowRenameModal] = useState(false);\n   const [showBatchRemoveModal, setShowBatchRemoveModal] = useState(false);\n   const [activeCollectionRole, setActiveCollectionRole] = useState(activeCollection?.Role);\n\n   useEffect(() => {\n      setActiveCollectionRole(activeCollection?.Role ?? GroupRoleTypes.notMember);\n   }, [activeCollection]);\n\n   const onJoinCollection = async () => {\n      try {\n         const joinedCollection = await collectionApi.joinCollection(activeCollection.Id);\n         addCollectionToState(joinedCollection);\n         await refreshActiveCollection();\n      } catch (e) {\n         logging.error(`Failed to join collection ${activeCollection.Id} with error: `, e);\n      }\n   };\n\n   const onLeaveCollection = async () => {\n      activeCollection.CanLeave = false;\n      activeCollection.Role = GroupRoleTypes.notMember;\n      const selfMemberIndex = activeCollection.Members.findIndex(m => m.toLowerCase() === config.user.EmailAddress.toLowerCase());\n      if (selfMemberIndex !== -1) {\n         activeCollection.Members.splice(selfMemberIndex, 1);\n      }\n      const selfMemberDetailsIndex = activeCollection.MemberDetails.findIndex(m => m.TechSmithId === config.user.TechSmithId);\n      if (selfMemberDetailsIndex !== -1) {\n         activeCollection.MemberDetails.splice(selfMemberDetailsIndex, 1);\n      }\n      await updateActiveCollection(activeCollection);\n      removeCollectionFromState(activeCollection, false);\n   };\n\n   const onDeleteCollection = () => {\n      removeCollectionFromState(activeCollection, true);\n   };\n\n   const userCanAdmin = config.user.IsSignedIn && (\n      config.isAdmin ||\n      activeCollection?.Role === GroupRoleTypes.manager\n   );\n\n   const userCanContribute = config.user.IsSignedIn && (\n      config.isAdmin ||\n      activeCollection?.Role === GroupRoleTypes.manager ||\n      activeCollection?.Role === GroupRoleTypes.contributor\n   );\n\n   const areItemsSelected = selectedMedia?.length > 0;\n   const showLeave = !isManagementView && config.user.IsSignedIn && activeCollection?.CanLeave;\n   const showManage = !isManagementView && config.user.IsSignedIn && userCanAdmin;\n   const showJoin = !areItemsSelected && config.user.IsSignedIn && activeCollectionRole === GroupRoleTypes.notMember;\n   const showLoginToJoin = !isManagementView && !config.user.IsSignedIn;\n   const showShare = !areItemsSelected;\n   const showNotificationButton = config.featureSwitches.IsScreencast && config.user.IsSignedIn && activeCollectionRole !== GroupRoleTypes.notMember;\n\n   const showMoreDelete = isManagementView && userCanAdmin;\n   const showMoreLeave = isManagementView && activeCollection?.CanLeave;\n   const showMoreAddYouTube = config.IsYouTubeEnabled && isManagementView && userCanContribute;\n   const showMoreRename = isManagementView && userCanAdmin;\n   const showMore = isManagementView && !areItemsSelected &&\n      (showMoreDelete || showMoreLeave || showMoreAddYouTube || showMoreRename);\n\n   const moreMenu = (\n      <>\n         {showMoreDelete && (\n            <MenuItem\n               key=\"delete\"\n               label={t('collections.options.delete')}\n               glyph={<Glyphs.Delete16x16 />}\n               onClick={() => setShowDeleteModal(true)}\n               testId=\"collection-actions-more-delete\"\n            />\n         )}\n         {showMoreLeave && (\n            <MenuItem\n               key=\"leave\"\n               label={t('collections.options.leave')}\n               glyph={<CollectionLeaveGlyph />}\n               onClick={() => setShowLeaveModal(true)}\n               testId=\"collection-actions-more-leave\"\n            />\n         )}\n         {showMoreAddYouTube && (\n            <MenuItem\n               key=\"addyoutube\"\n               label={t('collections.options.importYoutube')}\n               glyph={<Glyphs.Upload16x16 />}\n               onClick={() => setShowYoutubeModal(true)}\n               testId=\"collection-actions-more-addyoutube\"\n            />\n         )}\n         {showMoreRename && (\n            <MenuItem\n               key=\"rename\"\n               label={t('collections.options.rename')}\n               glyph={<Glyphs.Edit16x16 />}\n               onClick={() => setShowRenameModal(true)}\n               testId=\"collection-actions-more-rename\"\n            />\n         )}\n      </>\n   );\n\n   const collectionMoreMenuButton = (\n      <PopoverButton\n         style={{}}\n         buttonGlyph={<Glyphs.EllipsisStacked16x16 />}\n         origin={TscPopoverOrigin.bottomRight}\n         themeName={theme}\n         showArrow={false}\n         buttonText={t('More')}\n         buttonTitle={t('More')}\n         buttonType={TscButtonType.tertiary}\n         mobileContextMenuTitle={t('collections.options.title', {collectionName: activeCollection?.Name})}\n         popoverMenu={moreMenu}\n         useMobileMenu={true}\n         mobileContextMenuZindex={cssConstants.zIndex.mobileContextMenu}\n         closeMenuOnClick={true}\n         popoverMenuMaxHeight={cssConstants.contextMenuMaxHeight}\n         testId=\"collection-actions-more\"\n      />\n   );\n\n   return (\n      <>\n         <GridLayoutButtonGroup>\n            {showShare && (\n               <ControlButton\n                  buttonType={TscButtonType.tertiary}\n                  themeName={theme}\n                  glyph={<Glyphs.Share16x16 />}\n                  title={t('share.action')}\n                  label={t('share.action')}\n                  testId=\"collection-actions-share\"\n                  onClick={() => setShowShareModal(true)}\n               />\n            )}\n            {showLeave && (\n               <ControlButton\n                  buttonType={TscButtonType.secondary}\n                  themeName={theme}\n                  onClick={() => setShowLeaveModal(true)}\n                  title={t('collections.options.leave')}\n                  label={t('collections.options.leave')}\n                  testId=\"collection-actions-leave\"\n               />\n            )}\n            {showManage && (\n               <ControlButton\n                  buttonType={TscButtonType.primary}\n                  themeName={theme}\n                  href={`${Constants.navigation.myCollectionsLink}/${activeCollection?.Id}`}\n                  title={t('collections.options.manage')}\n                  label={t('collections.options.manage')}\n                  testId=\"collection-actions-manage\"\n               />\n            )}\n            {showJoin && (\n               <ControlButton\n                  buttonType={TscButtonType.secondary}\n                  onClick={onJoinCollection}\n                  themeName={theme}\n                  title={t('collections.options.join')}\n                  label={t('collections.options.join')}\n                  testId=\"collection-actions-join\"\n               />\n            )}\n            {showLoginToJoin && (\n               <ControlButton\n                  buttonType={TscButtonType.secondary}\n                  href={`/register?redirect=/collections/${activeCollection?.Id}`}\n                  themeName={theme}\n                  title={t('collections.options.signInToFollow')}\n                  label={t('collections.options.signInToFollow')}\n                  testId=\"collection-actions-signInToFollow\"\n               />\n            )}\n            {showNotificationButton && <CollectionNotificationToggle />}\n            {showMore && collectionMoreMenuButton}\n            {areItemsSelected && (\n               <ControlButton\n                  title={t('removeMedia.removeMedia')}\n                  glyph={<Glyphs.CircleRemove16x16 />}\n                  label={t('removeMedia.removeButtonLabel')}\n                  buttonType={TscButtonType.tertiary}\n                  themeName={theme}\n                  onClick={() => setShowBatchRemoveModal(true)}\n                  testId=\"collection-actions-batch-remove\"\n               />\n            )}\n\n            {showLeaveModal && (\n               <LeaveCollectionModal\n                  collection={activeCollection}\n                  onClose={() => setShowLeaveModal(false)}\n                  onLeave={onLeaveCollection}\n               />\n            )}\n            {showShareModal && <ShareCollectionModal onClose={() => setShowShareModal(false)} />}\n            {showDeleteModal && (\n               <DeleteModal\n                  onClose={() => setShowDeleteModal(false)}\n                  onDelete={onDeleteCollection}\n                  collectionsToDelete={[activeCollection]}\n                  title={t('collections.delete.title')}\n                  warning={t('collections.delete.warning', {collectionName: activeCollection?.Name})}\n               />\n            )}\n            {showYoutubeModal && (\n               <AddYoutubeMediaModal\n                  onClose={() => setShowYoutubeModal(false)}\n                  collectionId={activeCollection?.Id}\n               />\n            )}\n            {showRenameModal && <RenameCollectionModal onClose={() => setShowRenameModal(false)} />}\n            {showBatchRemoveModal && (\n               <CollectionMediaRemove\n                  onClose={() => setShowBatchRemoveModal(false)}\n                  collection={activeCollection}\n                  media={selectedMedia}\n               />\n            )}\n         </GridLayoutButtonGroup>\n      </>\n   );\n};\n\nexport interface ICollectionActionMenuProps {\n   isManagementView: boolean;\n}\n\nexport interface IStateMappedProps {\n   activeCollection: ICollectionModel;\n   selectedMedia: IMediaDetails[];\n}\n\nconst mapStatesToProps = (\n   {isManagementView}: ICollectionActionMenuProps,\n   {activeCollection}: Partial<IStateMappedProps>,\n   {selectedMedia}: Partial<IStateMappedProps>\n): ICollectionActionMenuProps & IStateMappedProps => ({isManagementView, activeCollection, selectedMedia});\n\nexport default withMemoizedContexts(mapStatesToProps, collectionsStore, batchSelectionStore)(CollectionActionMenuBase);\n","import React, {useEffect, useRef, useState} from 'react';\nimport {renderToStaticMarkup} from 'react-dom/server';\nimport {useTranslation} from 'react-i18next';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport InfiniteScroll from 'react-infinite-scroller';\nimport config from '../../service/config';\nimport {Avatar, TscAvatarSize, ControlButton, TscButtonType, EmptyState, Glyphs, MediaCard, TscMediaOrganizationType, Spinner, Label, TscThemeName, TscStyles, TscThemeNames} from '@techsmith/tsc-cloud-style-guide';\nimport {IMediaDetails} from '../../model/mediaDetails';\nimport dayjs from 'dayjs';\nimport {ButtonStyledAsAnchor, GridLayoutContainer, LibraryContentContainer, MediaSectionHeader, Subheader, SubheaderControls, SubheaderTitleContainer} from '../util/StyledElements';\nimport decode from 'entity-decode';\nimport withMemoizedContexts from '../../context/contextContainerHoC';\nimport {useTscTheme} from '../../context/themeProvider';\nimport collectionApi from '../../service/collectionApi';\nimport {buildMediaQueryParams} from '../util/MediaQueryParamsBuilder';\nimport Axios, {CancelTokenSource} from 'axios';\nimport Constants, {CollectionPrivacyTypes, GroupRoleTypes, SortMetric} from '../../constants/Constants';\nimport {collectionMediaStore, updateCollectionMediaState} from '../../context/collectionMediaProvider';\nimport {collectionsStore, updateActiveCollectionById} from '../../context/collectionsProvider';\nimport {ICollectionModel, IMemberDetailsModel, IMemberDetailsWithProfileImageModel} from '../../model/appModel';\nimport EmptyLibrary from '../../static/svg/EmptyLibrary.svg';\nimport TimeFormatter from '../../util/TimeFormatter';\nimport styled from 'styled-components';\nimport {sortMedia} from '../../util/MediaSorter';\nimport SortDirectionOptions from '../util/SortDirectionOptions';\nimport {sortMetricStore} from '../../service/sortMetricProvider';\nimport MediaProcessingGlyph from '../../static/svg/MediaProcessingGlyph.svg';\nimport MediaPrivateGlyph from '../../static/svg/MediaPrivateGlyph.svg';\nimport CollectionActionMenu from './CollectionActionMenu';\nimport {CollectionMediaRemove} from '../details/CollectionMediaRemove';\nimport profileApi from '../../service/profileApi';\nimport {useParams} from 'react-router';\nimport {batchSelectionStore, clearBatchSelection, updateBatchSelectionState} from '../../context/batchSelectionProvider';\nimport BatchSelectionIndicator from '../library/BatchSelectionIndicator';\nimport ShareCollectionModal from '../modals/ShareCollectionModal';\n\ninterface IRouterParams {\n   id: string;\n}\n\ndayjs.extend(relativeTime);\n\nexport const SubheaderTitle = styled.h3`\n   overflow: hidden;\n   text-overflow: ellipsis;\n`;\n\nconst CollectionMemberAvatars = styled(ButtonStyledAsAnchor)`\n   display: flex;\n   align-items: center;\n   margin-left: 1rem;\n   text-decoration: none;\n`;\n\nexport const PrivateCollectionEmptyStateContainer = styled.div`\n   display: flex;\n   justify-content: center;\n   align-items: center;\n   min-height: 100%;\n`;\n\nexport const AvatarButtonContainer = styled.div`\n   display: grid;\n   grid-template-columns: auto auto;\n   grid-gap: .25rem;\n   flex-shrink: 0;\n}`;\n\nconst MoreMembersButton = styled(ControlButton)`\n   border-radius: 1rem;\n\n   &:focus:after {\n      border-radius: 1rem;\n   }\n`;\n\nconst StackedAvatar = styled(Avatar)<{theme: TscThemeNames}>`\n   border: 1px solid ${props => props.theme === TscThemeName.dusk ? '#2a3137' : TscStyles.color.global.white};\n   background-color: ${props => props.theme === TscThemeName.dusk ? '#2a3137' : TscStyles.color.global.white};\n   margin-left: -0.5rem;\n   &:first-child {\n      margin-left: 0;\n   }\n`;\n\nconst decorateMemberWithProfileImageUrl = (user: IMemberDetailsModel): IMemberDetailsWithProfileImageModel => ({...user, profileImageUrl: profileApi.getProfileImageUrl(user.TechSmithId)});\nconst collectionMemberRolePriority = (role: GroupRoleTypes): number => role === GroupRoleTypes.manager ? 2 : role === GroupRoleTypes.contributor ? 1 : 0;\nconst compareMemberRoles = (m1: IMemberDetailsModel, m2: IMemberDetailsModel) => m1.Role === m2.Role ? 0 : collectionMemberRolePriority(m1.Role) > collectionMemberRolePriority(m2.Role) ? -1 : 1;\n\nexport const CollectionContentBase: React.FC<ICollectionContentProps & IStateMappedProps> = ({isManagementView, activeCollection, isUpdatingSidebarCollections, collections, collectionMedia, collectionMediaCanLoadMore, collectionMediaCursor, sortMetric, selectedMedia}) => {\n   const {id} = useParams<IRouterParams>();\n   const {t} = useTranslation();\n   const theme = useTscTheme();\n   const mediaProcessingSvgDataUri = `data:image/svg+xml;base64,${btoa(renderToStaticMarkup(<MediaProcessingGlyph />))}`;\n   const mediaPrivateSvgDataUri = `data:image/svg+xml;base64,${btoa(renderToStaticMarkup(<MediaPrivateGlyph />))}`;\n   const [isFetchingMedia, setIsFetchingMedia] = useState(!!(id || activeCollection));\n   const getMediaCancellationToken = useRef<CancelTokenSource>(null);\n   const [showShareModal, setShowShareModal] = useState(false);\n   const [members, setMembers] = useState<IMemberDetailsWithProfileImageModel[]>(activeCollection?.MemberDetails.map(m => decorateMemberWithProfileImageUrl(m)) ?? []);\n   const [showCollectionMediaRemove, setShowCollectionMediaRemove] = useState(false);\n   const [mediaToRemove, setMediaToRemove] = useState([]);\n\n   const initialize = async () => {\n      if (!activeCollection) {\n         await updateActiveCollectionById(id);\n      }\n   };\n\n   useEffect(() => {\n      void initialize();\n   }, [id, collections]);\n\n   useEffect(() => {\n      if (activeCollection) {\n         clearBatchSelection();\n         void getCollectionMediaDiscardingExistingMedia();\n      }\n   }, [activeCollection]);\n\n   useEffect(() => {\n      if (activeCollection?.MemberDetails) {\n         activeCollection?.MemberDetails.sort(compareMemberRoles);\n         setMembers(activeCollection?.MemberDetails.map(m => decorateMemberWithProfileImageUrl(m)));\n      }\n   }, [activeCollection?.MemberDetails?.length]);\n\n   useEffect(() => {\n      if (collectionMediaCanLoadMore) {\n         void (activeCollection && getCollectionMediaDiscardingExistingMedia());\n      } else if (collectionMedia) {\n         updateCollectionMediaState({collectionMedia: Object.assign([], sortMedia(collectionMedia, sortMetric, true))});\n      }\n   }, [sortMetric]);\n\n   const generateGetMediaCancellationToken = () => {\n      const currentCancellationToken = getMediaCancellationToken.current;\n      if (currentCancellationToken) {\n         currentCancellationToken.cancel();\n      }\n\n      const newCancellationToken = Axios.CancelToken.source();\n      getMediaCancellationToken.current = newCancellationToken;\n      return newCancellationToken;\n   };\n\n   const getCollectionMediaDiscardingExistingMedia = async () => {\n      updateCollectionMediaState({collectionMedia: [], collectionMediaCursor: null});\n      // We need to pass the cursor to the get collection method because the state doesn't always update fast enough\n      await getCollectionMedia([], null);\n   };\n\n   const getCollectionMedia = async (existingMedia: IMediaDetails[], collectionCursor: string) => {\n      setIsFetchingMedia(true);\n\n      let newBatch: IMediaDetails[];\n      try {\n         newBatch = await collectionApi.getMedia(activeCollection?.Id, buildMediaQueryParams(sortMetric, collectionCursor), generateGetMediaCancellationToken());\n      } catch (error) {\n         if (Axios.isCancel(error)) {\n            return;\n         }\n\n         throw error;\n      }\n\n      if (newBatch?.length) {\n         const loadedMedia = existingMedia.concat(newBatch);\n         const newLastLoadedMediaHash = newBatch[newBatch.length - 1].Hash;\n         updateCollectionMediaState({\n            collectionMedia: loadedMedia,\n            collectionMediaCursor: newLastLoadedMediaHash,\n            collectionMediaCanLoadMore: newBatch.length >= Constants.mediaPaginationBatchSize\n         });\n      } else {\n         updateCollectionMediaState({collectionMediaCanLoadMore: false});\n      }\n\n      setIsFetchingMedia(false);\n   };\n\n   const selectMedia = (media: IMediaDetails) => {\n      const newSelectedMedia: IMediaDetails[] = selectedMedia.slice();\n      const mediaIndex: number = newSelectedMedia.findIndex(m => m.Hash === media.Hash);\n\n      if (mediaIndex === -1) {\n         newSelectedMedia.push(media);\n      } else {\n         newSelectedMedia.splice(mediaIndex, 1);\n      }\n\n      updateBatchSelectionState({selectedMedia: newSelectedMedia});\n   };\n\n   const onRemoveMediaClick = (media: IMediaDetails) => {\n      setMediaToRemove([media]);\n      setShowCollectionMediaRemove(true);\n   };\n\n   const onCloseRemoveMedia = () => {\n      setShowCollectionMediaRemove(false);\n      setMediaToRemove([]);\n   };\n\n   const maxMembersToDisplay = 5;\n   const moreMembersCount = members.length - maxMembersToDisplay;\n   const membersContent = members && (\n      <AvatarButtonContainer>\n         <CollectionMemberAvatars onClick={() => setShowShareModal(true)}>\n            {members.slice(0, maxMembersToDisplay).map(m => (\n               <StackedAvatar\n                  key={`member-avatar-${m.TechSmithId}`}\n                  size={TscAvatarSize.small}\n                  userDisplayName={m.DisplayName}\n                  userAltText={m.EmailAddress}\n                  userID={m.TechSmithId}\n                  avatarImageUrl={m.profileImageUrl}\n                  testId={`collection-member-user-avatar-${m.TechSmithId}`}\n                  className=\"member-avatar\"\n                  theme={theme}\n               />\n            ))}\n         </CollectionMemberAvatars>\n         {moreMembersCount > 0 && (\n            <MoreMembersButton\n               buttonType={TscButtonType.secondary}\n               themeName={theme}\n               title={t('collection.modal.members.membersTitle')}\n               label={`+${moreMembersCount.toString()}`}\n               testId=\"collection-more-members\"\n               onClick={() => setShowShareModal(true)}\n            />\n         )}\n      </AvatarButtonContainer>\n   );\n   const emptyLibrarySvgDataUri = `data:image/svg+xml;base64,${btoa(renderToStaticMarkup(<EmptyLibrary />))}`;\n   const collectionHasMedia = collectionMedia?.length > 0;\n   const showPrivateCollectionEmptyState = !config.isAdmin && activeCollection?.Privacy === CollectionPrivacyTypes.invite && activeCollection?.Role === GroupRoleTypes.notMember;\n   const areItemsSelected = selectedMedia?.length > 0;\n   const userCanAdmin = config.user.IsSignedIn && (config.isAdmin || activeCollection?.Role === GroupRoleTypes.manager);\n\n   const userCanRemove = (media: IMediaDetails) => userCanAdmin || (activeCollection?.Role === GroupRoleTypes.contributor && media.OwnerLibrary.User.TechSmithId === config.user.TechSmithId);\n\n   return (\n      <>\n         {showPrivateCollectionEmptyState && (\n            <PrivateCollectionEmptyStateContainer>\n               <EmptyState\n                  maxWidth=\"25rem\"\n                  title={t('collection.privateTitle')}\n                  text={t('collection.privateText')}\n                  imageSource={emptyLibrarySvgDataUri}\n                  themeName={theme}\n                  alt={t('collection.privateImageAltText')}\n               />\n            </PrivateCollectionEmptyStateContainer>\n         )}\n         {!showPrivateCollectionEmptyState && (\n            <InfiniteScroll\n               loadMore={() => getCollectionMedia(collectionMedia, collectionMediaCursor)}\n               initialLoad={true}\n               hasMore={collectionMediaCanLoadMore && !isFetchingMedia}\n               useWindow={true}\n            >\n               <Subheader\n                  theme={theme}\n                  isVisible={!showPrivateCollectionEmptyState}\n               >\n                  <SubheaderControls theme={theme}>\n                     <SubheaderTitleContainer theme={theme}>\n                        {areItemsSelected && <BatchSelectionIndicator />}\n                        {!areItemsSelected && (\n                           <>\n                              <Glyphs.Collection16x16 />\n                              <SubheaderTitle className=\"t-collection-name\">\n                                 {activeCollection?.Name}\n                              </SubheaderTitle>\n                              {membersContent}\n                           </>\n                        )}\n                     </SubheaderTitleContainer>\n                     {!isUpdatingSidebarCollections && <CollectionActionMenu isManagementView={isManagementView} />}\n                  </SubheaderControls>\n               </Subheader>\n               <LibraryContentContainer data-test-id=\"collection-content\">\n                  <MediaSectionHeader theme={theme}>\n                     <Label labelText={t('library.media.sectionHeader')} />\n                     <SortDirectionOptions />\n                  </MediaSectionHeader>\n                  <GridLayoutContainer hasMedia={collectionHasMedia}>\n                     {collectionHasMedia && collectionMedia.map(media => (\n                        <MediaCard\n                           key={media.Hash}\n                           mediaDate={dayjs(media.AddedToGroupDateTime).fromNow()}\n                           mediaDateTitle={dayjs(media.AddedToGroupDateTime).toLocaleString()}\n                           mediaDuration={media.IsVideo && media.Duration ? TimeFormatter.formatTime(TimeFormatter.getSecondsFromTimeString(media.Duration)) : ''}\n                           mediaUrl={`/${media.Hash}?collection=${id}&sort=${sortMetric}`}\n                           ownerAvatarUrl={`${config.environmentData.ProfileApiUrl}/api/v1/profiles/${media.OwnerLibrary.User.TechSmithId}/default/picture`}\n                           ownerId={media.OwnerLibrary.User.TechSmithId}\n                           ownerName={media.Author}\n                           themeName={theme}\n                           thumbnailUrl={media.IsReady ? media.ThumbnailUrl ?? mediaPrivateSvgDataUri : mediaProcessingSvgDataUri}\n                           title={decode(media.Title)}\n                           maxTitleLines={1}\n                           viewCount={media.ViewCount}\n                           organizationType={TscMediaOrganizationType.collection}\n                           hasCaptions={media.HasPublishedCaptions}\n                           showDetails={true}\n                           testId={`t-media-${media.Hash}`}\n                           controls={isManagementView && !areItemsSelected && userCanRemove(media) && (\n                              <ControlButton\n                                 themeName={theme}\n                                 title={t('removeMedia.removeMedia')}\n                                 glyph={<Glyphs.CircleRemove16x16 />}\n                                 buttonType={TscButtonType.tertiary}\n                                 onClick={() => onRemoveMediaClick(media)}\n                                 testId={`remove-button-${media.Hash}`}\n                              />\n                           )}\n                           isSelected={userCanAdmin ? selectedMedia.some(m => m.Hash === media.Hash) : null}\n                           onSelect={isManagementView && userCanAdmin ? (): void => selectMedia(media) : null}\n                        />\n                     ))}\n                     {!isFetchingMedia && !collectionHasMedia && (\n                        <EmptyState\n                           maxWidth=\"25rem\"\n                           title={t('collection.emptyTitle')}\n                           text={t('collection.emptyText')}\n                           imageSource={emptyLibrarySvgDataUri}\n                           themeName={theme}\n                           alt={t('collection.emptyImageAltText')}\n                        />\n                     )}\n                  </GridLayoutContainer>\n                  {isFetchingMedia && (\n                     <Spinner\n                        testId=\"t-collection-loading\"\n                        key=\"spinner\"\n                        themeName={theme}\n                     />\n                  )}\n               </LibraryContentContainer>\n            </InfiniteScroll>\n         )}\n         {showShareModal && <ShareCollectionModal onClose={() => setShowShareModal(false)} />}\n         {showCollectionMediaRemove && (\n            <CollectionMediaRemove\n               onClose={onCloseRemoveMedia}\n               collection={activeCollection}\n               media={mediaToRemove}\n            />\n         )}\n      </>\n   );\n};\n\nexport interface ICollectionContentProps {\n   isManagementView: boolean;\n}\n\nexport interface IStateMappedProps {\n   activeCollection: ICollectionModel;\n   collections: ICollectionModel[];\n   isUpdatingSidebarCollections: boolean;\n   collectionMedia: IMediaDetails[];\n   collectionMediaCanLoadMore: boolean;\n   collectionMediaCursor?: string;\n   sortMetric: SortMetric;\n   selectedMedia: IMediaDetails[];\n}\n\nconst mapStatesToProps = (\n   {isManagementView}: ICollectionContentProps,\n   {activeCollection, collections, isUpdatingSidebarCollections}: Partial<IStateMappedProps>,\n   {collectionMedia, collectionMediaCanLoadMore, collectionMediaCursor}: Partial<IStateMappedProps>,\n   {sortMetric}: Partial<IStateMappedProps>,\n   {selectedMedia}: Partial<IStateMappedProps>\n): ICollectionContentProps & IStateMappedProps => ({isManagementView, activeCollection, collections, isUpdatingSidebarCollections, collectionMedia, collectionMediaCanLoadMore, collectionMediaCursor, sortMetric, selectedMedia});\n\nexport default withMemoizedContexts(mapStatesToProps, collectionsStore, collectionMediaStore, sortMetricStore, batchSelectionStore)(CollectionContentBase);\n","import * as React from 'react';\nimport {ControlButton, Glyphs, TscButtonType} from '@techsmith/tsc-cloud-style-guide';\nimport UserMessaging from '../../util/UserMessaging';\nimport {useTranslation} from 'react-i18next';\nimport {SetupWorkerState} from '../../model/workerState';\nimport withMemoizedContexts from '../../context/contextContainerHoC';\nimport {useTscTheme} from '../../context/themeProvider';\nimport logging from '../../service/logging';\nimport collectionApi from '../../service/collectionApi';\nimport {collectionsStore} from '../../context/collectionsProvider';\nimport {ICollectionModel} from '../../model/appModel';\nimport {BooleanParam, useQueryParam} from 'use-query-params';\nimport Constants, {GroupRoleTypes} from '../../constants/Constants';\nimport {AlertModalPortal} from '../util/ModalPortalHelper';\n\nexport const CollectionNotificationToggleBase: React.FC<IStateMappedProps> = ({activeCollection}) => {\n   const {t} = useTranslation();\n   const theme = useTscTheme();\n   const [isNotificationEnabled, setIsNotificationEnabled] = React.useState(null);\n   const [loadingState, setLoadingState] = SetupWorkerState();\n   // Grab the value of the query param 'unsubscribe' to enable unsubscribing from collections via a URL\n   const [unsubscribeParam, setUnsubscribeParam] = useQueryParam(Constants.queryParams.unsubscribe, BooleanParam);\n   const [showCollectionNotificationModal, setShowCollectionNotificationModal] = React.useState(false);\n\n   const undoUnsubscribe = () => {\n      void collectionApi.subscribeToCollection(activeCollection.Id);\n      setIsNotificationEnabled(true);\n      setShowCollectionNotificationModal(false);\n   };\n\n   const onCloseNotificationsModal = () => {\n      setUnsubscribeParam(null);\n      setShowCollectionNotificationModal(false);\n   };\n\n   React.useEffect(() => {\n      if (isNotificationEnabled) {\n         unsubscribe();\n      } else if (isNotificationEnabled === false) {\n         // Remove the query param 'unsubscribe' from the URL, preventing it from causing any side effects on navigation or page refresh\n         setUnsubscribeParam(null);\n      }\n   }, [isNotificationEnabled]);\n\n   const getNotificationPreference = async () => {\n      if (activeCollection && activeCollection.Role !== GroupRoleTypes.notMember) {\n         setIsNotificationEnabled(await collectionApi.isSubscribedToCollection(activeCollection.Id) !== false);\n      }\n   };\n\n   const unsubscribe = () => {\n      if (unsubscribeParam) {\n         void collectionApi.unsubscribeFromCollection(activeCollection.Id);\n         setIsNotificationEnabled(false);\n         setShowCollectionNotificationModal(true);\n      }\n   };\n\n   React.useEffect(() => {\n      void getNotificationPreference();\n   }, [activeCollection]);\n\n   const toggleNotificationPreference = async (): Promise<void> => {\n      if (!loadingState.isWorking) {\n         try {\n            setLoadingState({isWorking: true, hasError: false});\n            const newNotificationValue = !isNotificationEnabled;\n            setIsNotificationEnabled(newNotificationValue);\n            if (newNotificationValue) {\n               await collectionApi.subscribeToCollection(activeCollection.Id);\n            } else {\n               await collectionApi.unsubscribeFromCollection(activeCollection.Id);\n            }\n            setLoadingState({isWorking: false, hasError: false});\n         } catch (e) {\n            setLoadingState({isWorking: false, hasError: true});\n            logging.error('Failed to toggle notification preference', e);\n            UserMessaging.warn(t('collections.failedUpdatePreference'));\n         }\n      }\n   };\n\n   return (\n      <>\n         <ControlButton\n            glyph={isNotificationEnabled ? <Glyphs.Alert16x16 /> : <Glyphs.AlertOutline16x16 />}\n            buttonType={TscButtonType.tertiary}\n            title={isNotificationEnabled ? t('collections.options.unsubscribeToCollectionAlerts') : t('collections.options.subscribeToCollectionAlerts')}\n            label={t('collections.notify')}\n            onClick={toggleNotificationPreference}\n            active={isNotificationEnabled}\n            themeName={theme}\n            testId=\"collection-notification-toggle\"\n            disabled={loadingState.isWorking}\n         />\n         {showCollectionNotificationModal && (\n            <AlertModalPortal\n               title={t('collections.collectionNotifications')}\n               onClose={onCloseNotificationsModal}\n               onConfirm={onCloseNotificationsModal}\n               confirmButtonType={TscButtonType.secondary}\n               confirmContent={t('general.close')}\n               onDismiss={undoUnsubscribe}\n               dismissButtonType={TscButtonType.tertiary}\n               dismissContent={t('collections.undoUnsubscribe')}\n            >\n               {t('collections.unsubscribeConfirmation')}\n            </AlertModalPortal>\n         )}\n      </>\n   );\n};\n\nexport interface IStateMappedProps {\n   activeCollection: ICollectionModel;\n}\n\nconst mapStatesToProps = (\n   // eslint-disable-next-line no-empty-pattern\n   {},\n   {activeCollection}: Partial<IStateMappedProps>\n): IStateMappedProps => ({activeCollection});\n\nexport default withMemoizedContexts(mapStatesToProps, collectionsStore)(CollectionNotificationToggleBase);\n","import React from 'react';\nimport {useTranslation} from 'react-i18next';\nimport {ICollectionModel} from '../../model/appModel';\nimport {Glyphs} from '@techsmith/tsc-cloud-style-guide';\nimport DeleteModal from '../modals/DeleteModal';\nimport {IMediaDetails} from '../../model/mediaDetails';\nimport {removeMediaFromCollection} from '../../context/collectionMediaProvider';\nimport styled from 'styled-components';\nimport decode from 'entity-decode';\nimport {clearBatchSelection} from '../../context/batchSelectionProvider';\n\nconst MediaList = styled.ul`\n   list-style-type: none;\n   overflow-x: auto; \n   white-space: nowrap;  \n`;\n\nconst ItemDescriptionTitle = styled.span`\n   margin-left: .5rem;\n   flex: 0 1 auto;\n`;\nconst ItemDescription = styled.li`\n   display: flex;\n   align-items: center;\n`;\n\nconst IconContainer = styled.div`\n    flex-shrink: 0;\n    display: flex;\n    align-items: center;\n    margin-right: 5px;\n`;\n\nexport const CollectionMediaRemove: React.FC<ICollectionMediaRemoveProps> = ({onClose, collection, media}) => {\n   const {t} = useTranslation();\n\n   const mediaToRemove = {\n      media: media,\n      collection: collection\n   };\n\n   const mediaWarningMessage = (\n      <>\n         <p>\n            {t('removeMedia.batch', {amount: media.length})}\n         </p>\n         <MediaList>\n            {media.map((item, index) => (\n               <ItemDescription key={index}>\n                  <IconContainer>\n                     {item.IsVideo ? <Glyphs.Video16x16 /> : <Glyphs.Image16x16 />}\n                  </IconContainer>\n                  <ItemDescriptionTitle>\n                     {decode(item.Title)}\n                  </ItemDescriptionTitle>\n               </ItemDescription>\n            ))}\n         </MediaList>\n      </>\n   );\n\n   const onDelete = () => {\n      removeMediaFromCollection(media);\n      clearBatchSelection();\n   };\n\n   return (\n      <DeleteModal\n         onClose={onClose}\n         onDelete={onDelete}\n         collectionMediaToDelete={mediaToRemove}\n         title={t('removeMedia.title', {type: media.length > 1 ? t('removeMedia.mediaType') : media[0]?.IsVideo ? t('removeMedia.videoType') : t('removeMedia.imageType')})}\n         warning={media.length > 1 ? mediaWarningMessage : t('removeMedia.warning', {media: decode(media[0]?.Title)})}\n         deleteButtonText={t('general.remove')}\n      />\n   );\n};\n\nexport interface ICollectionMediaRemoveProps {\n   onClose(): void;\n   collection: ICollectionModel;\n   media: IMediaDetails[];\n}\n\nexport default CollectionMediaRemove;\n","import React, {memo} from 'react';\nimport {GradientBorder} from '../../component/util/StyledElements';\nimport styled from 'styled-components';\nimport {TscThemeNames, TscStyles} from '@techsmith/tsc-cloud-style-guide';\nimport cssConstants from '../../constants/cssConstants';\nimport {useTscTheme} from '../../context/themeProvider';\n\nconst HeaderContainerPlaceholder = styled.div`\n   display: flex;\n   flex-direction: column;\n   width: 100%;\n   flex: 0 0 auto;\n   font-size: 0.875rem;\n   top: 0;\n   left: 0;\n   right: 0;\n`;\n\nconst StyledHeaderPlaceholder = styled.header<{theme: TscThemeNames}>`\n   display: flex;\n   flex-direction: row;\n   background-color: ${cssConstants.headerBackgroundColor};\n   color: ${TscStyles.color.text.light};\n   height: ${cssConstants.headerHeight};\n   padding: 0 1rem;\n   justify-content: space-between;\n   align-items: center;\n   box-sizing: border-box;\n`;\n\nexport const HeaderPlaceholderBase: React.FC = () => {\n   const theme = useTscTheme();\n\n   return (\n      <HeaderContainerPlaceholder>\n         <StyledHeaderPlaceholder theme={theme} />\n         <GradientBorder />\n      </HeaderContainerPlaceholder>\n   );\n};\n\nexport default memo(HeaderContainerPlaceholder);\n","import React from 'react';\nimport {useTranslation} from 'react-i18next';\nimport {ControlButton, TscButtonType} from '@techsmith/tsc-cloud-style-guide';\nimport withMemoizedContexts from '../../context/contextContainerHoC';\nimport styled from 'styled-components';\nimport {IFolderTreeNode} from '../../model/folderTreeNode';\nimport {IMediaDetails} from '../../model/mediaDetails';\nimport {batchSelectionStore, clearBatchSelection} from '../../context/batchSelectionProvider';\nimport {useTscTheme} from '../../context/themeProvider';\n\nexport const BatchSelectionContainer = styled.div`\n   margin-right: .5rem;\n`;\n\nexport const BatchSelectionIndicatorBase: React.FC<IStateMappedProps> = ({selectedFolders, selectedMedia}) => {\n   const {t} = useTranslation();\n   const theme = useTscTheme();\n\n   let selectionMessage;\n   const selectedItemsCount = selectedFolders.length + selectedMedia.length;\n   const hasSelectedItems = selectedItemsCount > 0;\n   const itemCountMessage = t('library.multiSelect.itemCountMessage', {itemCount: selectedItemsCount});\n   const foldersMessage = selectedFolders.length === 1 ? t('library.multiSelect.singleFolderMessage') : t('library.multiSelect.foldersMessage', {numFolders: selectedFolders.length});\n   const mediaMessage = t('library.multiSelect.mediaMessage', {numMedia: selectedMedia.length});\n   if (selectedFolders.length && selectedMedia.length) {\n      selectionMessage = itemCountMessage;\n   } else if (selectedFolders.length) {\n      selectionMessage = foldersMessage;\n   } else {\n      selectionMessage = mediaMessage;\n   }\n\n   return hasSelectedItems ? (\n      <BatchSelectionContainer>\n         <ControlButton\n            buttonType={TscButtonType.secondary}\n            themeName={theme}\n            onClick={clearBatchSelection}\n            title={t('library.multiSelect.clearSelectionTitle')}\n            label={t('library.multiSelect.clearSelectionLabel', {selectionMessage: selectionMessage})}\n         />\n      </BatchSelectionContainer>\n   ) :\n      null;\n};\n\nexport interface IStateMappedProps {\n   selectedFolders: IFolderTreeNode[];\n   selectedMedia: IMediaDetails[];\n}\n\nconst mapStatesToProps = (\n   // eslint-disable-next-line no-empty-pattern\n   {},\n   {selectedFolders, selectedMedia}: Partial<IStateMappedProps>\n): IStateMappedProps => ({selectedFolders, selectedMedia});\n\nexport default withMemoizedContexts(mapStatesToProps, batchSelectionStore)(BatchSelectionIndicatorBase);\n","import React, {useState} from 'react';\nimport {useTranslation} from 'react-i18next';\nimport {ControlButton, TscButtonType, TextInput} from '@techsmith/tsc-cloud-style-guide';\nimport cssConstants from '../../constants/cssConstants';\nimport {MinWidthButtonWrapper, StyledWarning} from '../util/StyledElements';\nimport '../../static/css/modal.less';\nimport {BasicModalPortal} from '../util/ModalPortalHelper';\nimport withMemoizedContexts from '../../context/contextContainerHoC';\nimport {useTscTheme} from '../../context/themeProvider';\nimport {collectionsStore, updateActiveCollection} from '../../context/collectionsProvider';\nimport {IWorkerState} from '../../model/workerState';\nimport {ICollectionModel} from '../../model/appModel';\nimport collectionApi from '../../service/collectionApi';\nimport Constants from '../../constants/Constants';\nimport StringUtil from '../../util/StringUtil';\n\ninterface IModalState extends IWorkerState {\n   collectionName: string;\n   errorMessage: string;\n}\n\nexport const RenameCollectionModalBase: React.FC<IRenameCollectionModalProps & IStateMappedProps> = ({onClose, activeCollection}) => {\n   const {t} = useTranslation();\n   const theme = useTscTheme();\n   const [modalState, updateModalState] = useState<IModalState>({\n      isWorking: false,\n      hasError: false,\n      collectionName: activeCollection.Name,\n      errorMessage: ''\n   });\n\n   const updateCollectionName = (evt: React.ChangeEvent<HTMLInputElement>): void => {\n      const updatedCollectionName = evt.target.value;\n\n      updateModalState({\n         ...modalState,\n         collectionName: updatedCollectionName,\n         hasError: updatedCollectionName.length > Constants.maxCollectionNameLength,\n         errorMessage: updatedCollectionName.length > Constants.maxCollectionNameLength ? t('collection.modal.rename.errorNameTooLong', {maxLength: Constants.maxCollectionNameLength}) : ''\n      });\n   };\n\n   const renameCollection = async () => {\n      const trimmedCollectionName = modalState.collectionName.trim();\n      await collectionApi.renameCollection(activeCollection.Id, trimmedCollectionName);\n      activeCollection.Name = trimmedCollectionName;\n      await updateActiveCollection({...activeCollection, Name: trimmedCollectionName});\n      await onClose();\n   };\n\n   return (\n      <BasicModalPortal\n         visible={true}\n         title={t('collection.modal.rename.title')}\n         width={cssConstants.defaultModalWidth}\n         onClose={modalState.isWorking ? (): void => null : onClose}\n         themeName={theme}\n         isLoading={modalState.isWorking}\n      >\n         <div className=\"modal-body\">\n            <div className=\"form-body themeable-section\">\n               <div className=\"form-field-group\">\n                  {modalState.hasError && (\n                     <StyledWarning>\n                        {StringUtil.isNullOrWhiteSpace(modalState.errorMessage) ? t('general.errorText') : modalState.errorMessage}\n                     </StyledWarning>\n                  )}\n                  <label>\n                     {t('collection.modal.rename.inputLabel')}\n                     <TextInput\n                        value={modalState.collectionName}\n                        onChange={updateCollectionName}\n                        themeName={theme}\n                        ariaLabel={t('collection.modal.rename.inputLabel')}\n                        readOnly={false}\n                        testId=\"rename-collection-link-input\"\n                        disabled={modalState.isWorking}\n                     />\n                  </label>\n               </div>\n               <MinWidthButtonWrapper className=\"button-group\">\n                  <ControlButton\n                     label={t('general.cancel')}\n                     buttonType={TscButtonType.secondary}\n                     disabled={modalState.isWorking}\n                     themeName={theme}\n                     onClick={modalState.isWorking ? (): void => null : onClose}\n                     testId=\"rename-collection-cancel-button\"\n                  />\n                  <ControlButton\n                     label={t('conversations.actions.rename')}\n                     buttonType={TscButtonType.primary}\n                     disabled={StringUtil.isNullOrWhiteSpace(modalState.collectionName) || modalState.hasError}\n                     themeName={theme}\n                     onClick={renameCollection}\n                     testId=\"rename-collection-submit-button\"\n                  />\n               </MinWidthButtonWrapper>\n            </div>\n         </div>\n      </BasicModalPortal>\n   );\n};\n\nexport interface IRenameCollectionModalProps {\n   onClose(): void | Promise<void>;\n}\n\nexport interface IStateMappedProps {\n   activeCollection: ICollectionModel;\n}\n\nconst mapStatesToProps = (\n   {onClose}: IRenameCollectionModalProps,\n   {activeCollection}: Partial<IStateMappedProps>\n): IStateMappedProps & IRenameCollectionModalProps => ({onClose, activeCollection});\n\nexport default withMemoizedContexts(mapStatesToProps, collectionsStore)(RenameCollectionModalBase);\n","import {IGetMediaQueryParams} from '../../service/userApi';\nimport Constants, {OrderByQueryString, SortMetric} from '../../constants/Constants';\nimport {IFolderTreeNode} from '../../model/folderTreeNode';\nimport {MediaContentType} from '../../model/baseMedia';\n\nexport const buildMediaQueryParams = (sortMetric: SortMetric, fromHash?: string, activeFolder?: IFolderTreeNode, mediaContentFilters?: MediaContentType[], includeExcludedMedia?: boolean) => {\n   const fromValue = fromHash;\n   const queryParams: Partial<IGetMediaQueryParams> = fromValue ? {from: fromValue, take: Constants.mediaPaginationBatchSize} : {take: Constants.mediaPaginationBatchSize};\n\n   if (activeFolder?.Hash) {\n      queryParams.folderHash = activeFolder.Hash;\n   }\n\n   Object.assign(queryParams, buildSortMetricQueryParams(sortMetric));\n\n   queryParams.includeExcludedMedia = typeof includeExcludedMedia === 'boolean' ? includeExcludedMedia : true;\n\n   if (mediaContentFilters) {\n      queryParams.mediaContentFilter = mediaContentFilters;\n   }\n\n   return queryParams;\n};\n\nexport const buildSortMetricQueryParams = (sortMetric: SortMetric) => {\n   const sortMetricQueryParams: Partial<IGetMediaQueryParams> = {};\n   if (sortMetric === SortMetric.dateAscending) {\n      sortMetricQueryParams.orderBy = OrderByQueryString.date;\n   } else if (sortMetric === SortMetric.dateDescending) {\n      sortMetricQueryParams.orderBy = OrderByQueryString.date;\n      sortMetricQueryParams.descending = true;\n   } else if (sortMetric === SortMetric.titleAscending) {\n      sortMetricQueryParams.orderBy = OrderByQueryString.title;\n   } else if (sortMetric === SortMetric.titleDescending) {\n      sortMetricQueryParams.orderBy = OrderByQueryString.title;\n      sortMetricQueryParams.descending = true;\n   } else if (sortMetric === SortMetric.viewsAscending) {\n      sortMetricQueryParams.orderBy = OrderByQueryString.views;\n   } else if (sortMetric === SortMetric.viewsDescending) {\n      sortMetricQueryParams.orderBy = OrderByQueryString.views;\n      sortMetricQueryParams.descending = true;\n   }\n   return sortMetricQueryParams;\n};\n","import React from 'react';\nimport {ScreenReaderOnly} from './StyledElements';\n\nconst ScreenReaderHelper: React.FC<IScreenReaderHelperProps> = ({href, text}) => (\n   <ScreenReaderOnly data-test-id=\"screen-reader\">\n      <span\n         id=\"aria-live-status\"\n         role=\"status\"\n         aria-live=\"polite\"\n      />\n      <a href={href}>\n         {text}\n      </a>\n   </ScreenReaderOnly>\n);\n\ninterface IScreenReaderHelperProps {\n   href: string;\n   text: string;\n}\n\nexport default ScreenReaderHelper;","import React from 'react';\nimport {useTranslation} from 'react-i18next';\nimport {SelectInput, TscThemeName, TscThemeNames, TscStyles} from '@techsmith/tsc-cloud-style-guide';\nimport styled from 'styled-components';\nimport withMemoizedContexts from '../../context/contextContainerHoC';\nimport {SortMetric} from '../../constants/Constants';\nimport {setSortMetric, sortMetricStore} from '../../service/sortMetricProvider';\nimport {useTscTheme} from '../../context/themeProvider';\n\nconst SortDirectionWrapper = styled.div<{theme: TscThemeNames}>`\n   & div {\n      display: flex;\n      align-items: center;\n      color: ${props => props.theme === TscThemeName.dusk ? TscStyles.color.text.light : TscStyles.color.text.dark};\n\n      label {\n         margin-right: 0.5rem;\n         margin-bottom: 0;\n      }\n   }\n\n   select {\n      font-size: 0.875rem;\n      line-height: 1.4;\n   }\n`;\n\nexport const SortDirectionOptionsBase: React.FC<IStateMappedProps> = ({sortMetric}) => {\n   const {t} = useTranslation();\n   const theme = useTscTheme();\n\n   const updateSortOption = (evt: React.ChangeEvent<HTMLSelectElement>): void => {\n      const newSortMetric = evt.target.value as SortMetric;\n      setSortMetric(newSortMetric);\n   };\n\n   const sortOptions = [\n      {value: SortMetric.dateAscending, label: t('sortOptions.date.ascending.label'), title: t('sortOptions.date.ascending.title')},\n      {value: SortMetric.dateDescending, label: t('sortOptions.date.descending.label'), title: t('sortOptions.date.descending.title')},\n      {value: SortMetric.titleAscending, label: t('sortOptions.title.ascending.label'), title: t('sortOptions.title.ascending.title')},\n      {value: SortMetric.titleDescending, label: t('sortOptions.title.descending.label'), title: t('sortOptions.title.descending.title')},\n      {value: SortMetric.viewsAscending, label: t('sortOptions.views.ascending.label'), title: t('sortOptions.views.ascending.title')},\n      {value: SortMetric.viewsDescending, label: t('sortOptions.views.descending.label'), title: t('sortOptions.views.descending.title')}\n   ];\n\n   return (\n      <SortDirectionWrapper data-test-id=\"sort-direction-wrapper\">\n         <SelectInput\n            label={t('sortOptions.label')}\n            value={sortMetric}\n            options={sortOptions}\n            onChange={updateSortOption}\n            themeName={theme}\n            isFullWidth={false}\n         />\n      </SortDirectionWrapper>\n   );\n};\n\nexport interface IStateMappedProps {\n   sortMetric: SortMetric;\n}\n\nconst mapStatesToProps = (\n   // eslint-disable-next-line no-empty-pattern\n   {},\n   {sortMetric}: Partial<IStateMappedProps>\n): IStateMappedProps => ({sortMetric});\n\nexport default withMemoizedContexts(mapStatesToProps, sortMetricStore)(SortDirectionOptionsBase);\n","import {IMediaDetails} from '../model/mediaDetails';\nimport {SortMetric} from '../constants/Constants';\nimport dayjs from 'dayjs';\nimport logging from '../service/logging';\n\nconst sortMediaByDate = (media: IMediaDetails[], descending: boolean, isCollectionMedia: boolean): IMediaDetails[] => {\n   const mediaSort = (a: IMediaDetails, b: IMediaDetails): number => {\n      const aSortDateTime = isCollectionMedia ? dayjs(a.AddedToGroupDateTime) : dayjs(a.SharedDateTime);\n      const bSortDateTime = isCollectionMedia ? dayjs(b.AddedToGroupDateTime) : dayjs(b.SharedDateTime);\n      if (aSortDateTime.isSame(bSortDateTime)) {\n         return 0;\n      }\n\n      if (descending) {\n         return aSortDateTime.isAfter(bSortDateTime) ? -1 : 1;\n      }\n\n      return aSortDateTime.isAfter(bSortDateTime) ? 1 : -1;\n   };\n\n   return media.sort(mediaSort);\n};\n\nconst sortMediaByTitle = (media: IMediaDetails[], descending: boolean): IMediaDetails[] => {\n   const mediaSort = (a: IMediaDetails, b: IMediaDetails): number => {\n      const aTitle = a.Title.toUpperCase();\n      const bTitle = b.Title.toUpperCase();\n      if (aTitle === bTitle) {\n         return 0;\n      }\n\n      if (descending) {\n         return aTitle > bTitle ? -1 : 1;\n      }\n      return aTitle > bTitle ? 1 : -1;\n   };\n\n   return media.sort(mediaSort);\n};\n\nconst sortMediaByViewCount = (media: IMediaDetails[], descending: boolean): IMediaDetails[] => {\n   const mediaSort = (a: IMediaDetails, b: IMediaDetails): number => {\n      if (a.ViewCount === b.ViewCount) {\n         return 0;\n      }\n\n      if (descending) {\n         return a.ViewCount > b.ViewCount ? -1 : 1;\n      }\n      return a.ViewCount > b.ViewCount ? 1 : -1;\n   };\n\n   return media.sort(mediaSort);\n};\n\nexport const sortMedia = (media: IMediaDetails[], sortMetric: SortMetric, isCollectionMedia?: boolean): IMediaDetails[] => {\n   if (sortMetric === SortMetric.dateAscending) {\n      return sortMediaByDate(media, false, isCollectionMedia);\n   } else if (sortMetric === SortMetric.dateDescending) {\n      return sortMediaByDate(media, true, isCollectionMedia);\n   } else if (sortMetric === SortMetric.titleAscending) {\n      return sortMediaByTitle(media, false);\n   } else if (sortMetric === SortMetric.titleDescending) {\n      return sortMediaByTitle(media, true);\n   } else if (sortMetric === SortMetric.viewsDescending) {\n      return sortMediaByViewCount(media, true);\n   } else if (sortMetric === SortMetric.viewsAscending) {\n      return sortMediaByViewCount(media, false);\n   }\n\n   // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n   logging.error(`Attempted to sort media by unknown sortMetric: ${sortMetric}`);\n   return media;\n};\n","const numberNotNeedingPadding = 10;\nconst secondsInHour = 3600;\nconst secondsInMinute = 60;\n\nconst padZero = (num: number): string => num >= numberNotNeedingPadding ? `${num}` : `0${num}`;\n\nconst formatTime = (totalSeconds: number): string => {\n   const negative = totalSeconds < 0 ? '-' : '';\n   const roundedTotalSeconds = negative ? Math.round(totalSeconds * -1) : Math.round(totalSeconds);\n   const hoursPlace = Math.floor(roundedTotalSeconds / secondsInHour);\n   const secondsWithoutHours = roundedTotalSeconds % secondsInHour;\n   const minutesPlace = Math.floor(secondsWithoutHours / secondsInMinute);\n   const secondsPlace = secondsWithoutHours % secondsInMinute;\n\n   if (hoursPlace > 0) {\n      return `${negative}${hoursPlace}:${padZero(minutesPlace)}:${padZero(secondsPlace)}`;\n   } else if (minutesPlace > 0) {\n      return `${negative}${minutesPlace}:${padZero(secondsPlace)}`;\n   }\n\n   return `${negative}00:${padZero(secondsPlace)}`;\n};\n\nconst formatTimeForSpeech = (totalSeconds: number): string => {\n   const negative = totalSeconds < 0 ? '-' : '';\n   const roundedTotalSeconds = negative ? Math.round(totalSeconds * -1) : Math.round(totalSeconds);\n   // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n   return Math.floor(roundedTotalSeconds) === 0 ? '0 seconds' : new Date(roundedTotalSeconds * 1000).toISOString().substr(11, 8);\n};\n\nconst getRoundedTime = (time: number): number => Math.floor(time * 1000) / 1000;\n\nconst getSecondsFromTimeString = (time: string): number => {\n   const timecodeDelimiter = ':';\n   const maxSupportTimecodePlaces = 3;\n   const secondsMultiplier = 60;\n   let timeInSeconds = 0;\n   let multiplier = 1;\n   const timecodeParts = time.split(timecodeDelimiter);\n   const lowTimeBounds = timecodeParts.length > maxSupportTimecodePlaces ? timecodeParts.length - maxSupportTimecodePlaces : 0;\n\n   for (let i = timecodeParts.length - 1; i >= lowTimeBounds; i--) {\n      const timePartAsNumber = parseInt(timecodeParts[i], 10);\n      if (!isNaN(timePartAsNumber)) {\n         timeInSeconds += timePartAsNumber * multiplier;\n      }\n      multiplier *= secondsMultiplier;\n   }\n\n   return timeInSeconds;\n};\n\n// convert milliseconds to hh:mm:ss format with hh being included only if necessary\nconst millisecondsToFormattedTimeString = (milliseconds: number): string => {\n   const seconds = Math.round(milliseconds / 1000);\n   const hours = Math.floor(seconds / secondsInHour);\n   const minutes = Math.floor((seconds - (hours * secondsInHour)) / secondsInMinute);\n   const remainingSeconds = seconds - (hours * secondsInHour) - (minutes * secondsInMinute);\n   return `${hours ? `${hours}:` : ''}${minutes.toString().padStart(2, '0')}:${remainingSeconds.toString().padStart(2, '0')}`;\n};\n\nexport default {\n   formatTime,\n   formatTimeForSpeech,\n   getRoundedTime,\n   getSecondsFromTimeString,\n   millisecondsToFormattedTimeString\n};\n","/* eslint-disable no-alert */\nconst info = (message: string): void => {\n   alert(message);\n};\n\nconst warn = (message: string): void => {\n   alert(message);\n};\n\nexport default {\n   info,\n   warn\n};","!function(r,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(r=\"undefined\"!=typeof globalThis?globalThis:r||self).dayjs_plugin_relativeTime=e()}(this,(function(){\"use strict\";return function(r,e,t){r=r||{};var n=e.prototype,o={future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"};function i(r,e,t,o){return n.fromToBase(r,e,t,o)}t.en.relativeTime=o,n.fromToBase=function(e,n,i,d,u){for(var f,a,s,l=i.$locale().relativeTime||o,h=r.thresholds||[{l:\"s\",r:44,d:\"second\"},{l:\"m\",r:89},{l:\"mm\",r:44,d:\"minute\"},{l:\"h\",r:89},{l:\"hh\",r:21,d:\"hour\"},{l:\"d\",r:35},{l:\"dd\",r:25,d:\"day\"},{l:\"M\",r:45},{l:\"MM\",r:10,d:\"month\"},{l:\"y\",r:17},{l:\"yy\",d:\"year\"}],m=h.length,c=0;c<m;c+=1){var y=h[c];y.d&&(f=d?t(e).diff(i,y.d,!0):i.diff(e,y.d,!0));var p=(r.rounding||Math.round)(Math.abs(f));if(s=f>0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(\"\"+p)),a=\"string\"==typeof v?v.replace(\"%d\",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return\"function\"==typeof M?M(a):M.replace(\"%s\",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}}));","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar InfiniteScroll = function (_Component) {\n  _inherits(InfiniteScroll, _Component);\n\n  function InfiniteScroll(props) {\n    _classCallCheck(this, InfiniteScroll);\n\n    var _this = _possibleConstructorReturn(this, (InfiniteScroll.__proto__ || Object.getPrototypeOf(InfiniteScroll)).call(this, props));\n\n    _this.scrollListener = _this.scrollListener.bind(_this);\n    _this.eventListenerOptions = _this.eventListenerOptions.bind(_this);\n    _this.mousewheelListener = _this.mousewheelListener.bind(_this);\n    return _this;\n  }\n\n  _createClass(InfiniteScroll, [{\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      this.pageLoaded = this.props.pageStart;\n      this.options = this.eventListenerOptions();\n      this.attachScrollListener();\n    }\n  }, {\n    key: 'componentDidUpdate',\n    value: function componentDidUpdate() {\n      if (this.props.isReverse && this.loadMore) {\n        var parentElement = this.getParentElement(this.scrollComponent);\n        parentElement.scrollTop = parentElement.scrollHeight - this.beforeScrollHeight + this.beforeScrollTop;\n        this.loadMore = false;\n      }\n      this.attachScrollListener();\n    }\n  }, {\n    key: 'componentWillUnmount',\n    value: function componentWillUnmount() {\n      this.detachScrollListener();\n      this.detachMousewheelListener();\n    }\n  }, {\n    key: 'isPassiveSupported',\n    value: function isPassiveSupported() {\n      var passive = false;\n\n      var testOptions = {\n        get passive() {\n          passive = true;\n        }\n      };\n\n      try {\n        document.addEventListener('test', null, testOptions);\n        document.removeEventListener('test', null, testOptions);\n      } catch (e) {\n        // ignore\n      }\n      return passive;\n    }\n  }, {\n    key: 'eventListenerOptions',\n    value: function eventListenerOptions() {\n      var options = this.props.useCapture;\n\n      if (this.isPassiveSupported()) {\n        options = {\n          useCapture: this.props.useCapture,\n          passive: true\n        };\n      } else {\n        options = {\n          passive: false\n        };\n      }\n      return options;\n    }\n\n    // Set a defaut loader for all your `InfiniteScroll` components\n\n  }, {\n    key: 'setDefaultLoader',\n    value: function setDefaultLoader(loader) {\n      this.defaultLoader = loader;\n    }\n  }, {\n    key: 'detachMousewheelListener',\n    value: function detachMousewheelListener() {\n      var scrollEl = window;\n      if (this.props.useWindow === false) {\n        scrollEl = this.scrollComponent.parentNode;\n      }\n\n      scrollEl.removeEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);\n    }\n  }, {\n    key: 'detachScrollListener',\n    value: function detachScrollListener() {\n      var scrollEl = window;\n      if (this.props.useWindow === false) {\n        scrollEl = this.getParentElement(this.scrollComponent);\n      }\n\n      scrollEl.removeEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);\n      scrollEl.removeEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);\n    }\n  }, {\n    key: 'getParentElement',\n    value: function getParentElement(el) {\n      var scrollParent = this.props.getScrollParent && this.props.getScrollParent();\n      if (scrollParent != null) {\n        return scrollParent;\n      }\n      return el && el.parentNode;\n    }\n  }, {\n    key: 'filterProps',\n    value: function filterProps(props) {\n      return props;\n    }\n  }, {\n    key: 'attachScrollListener',\n    value: function attachScrollListener() {\n      var parentElement = this.getParentElement(this.scrollComponent);\n\n      if (!this.props.hasMore || !parentElement) {\n        return;\n      }\n\n      var scrollEl = window;\n      if (this.props.useWindow === false) {\n        scrollEl = parentElement;\n      }\n\n      scrollEl.addEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);\n      scrollEl.addEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);\n      scrollEl.addEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);\n\n      if (this.props.initialLoad) {\n        this.scrollListener();\n      }\n    }\n  }, {\n    key: 'mousewheelListener',\n    value: function mousewheelListener(e) {\n      // Prevents Chrome hangups\n      // See: https://stackoverflow.com/questions/47524205/random-high-content-download-time-in-chrome/47684257#47684257\n      if (e.deltaY === 1 && !this.isPassiveSupported()) {\n        e.preventDefault();\n      }\n    }\n  }, {\n    key: 'scrollListener',\n    value: function scrollListener() {\n      var el = this.scrollComponent;\n      var scrollEl = window;\n      var parentNode = this.getParentElement(el);\n\n      var offset = void 0;\n      if (this.props.useWindow) {\n        var doc = document.documentElement || document.body.parentNode || document.body;\n        var scrollTop = scrollEl.pageYOffset !== undefined ? scrollEl.pageYOffset : doc.scrollTop;\n        if (this.props.isReverse) {\n          offset = scrollTop;\n        } else {\n          offset = this.calculateOffset(el, scrollTop);\n        }\n      } else if (this.props.isReverse) {\n        offset = parentNode.scrollTop;\n      } else {\n        offset = el.scrollHeight - parentNode.scrollTop - parentNode.clientHeight;\n      }\n\n      // Here we make sure the element is visible as well as checking the offset\n      if (offset < Number(this.props.threshold) && el && el.offsetParent !== null) {\n        this.detachScrollListener();\n        this.beforeScrollHeight = parentNode.scrollHeight;\n        this.beforeScrollTop = parentNode.scrollTop;\n        // Call loadMore after detachScrollListener to allow for non-async loadMore functions\n        if (typeof this.props.loadMore === 'function') {\n          this.props.loadMore(this.pageLoaded += 1);\n          this.loadMore = true;\n        }\n      }\n    }\n  }, {\n    key: 'calculateOffset',\n    value: function calculateOffset(el, scrollTop) {\n      if (!el) {\n        return 0;\n      }\n\n      return this.calculateTopPosition(el) + (el.offsetHeight - scrollTop - window.innerHeight);\n    }\n  }, {\n    key: 'calculateTopPosition',\n    value: function calculateTopPosition(el) {\n      if (!el) {\n        return 0;\n      }\n      return el.offsetTop + this.calculateTopPosition(el.offsetParent);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _this2 = this;\n\n      var renderProps = this.filterProps(this.props);\n\n      var children = renderProps.children,\n          element = renderProps.element,\n          hasMore = renderProps.hasMore,\n          initialLoad = renderProps.initialLoad,\n          isReverse = renderProps.isReverse,\n          loader = renderProps.loader,\n          loadMore = renderProps.loadMore,\n          pageStart = renderProps.pageStart,\n          ref = renderProps.ref,\n          threshold = renderProps.threshold,\n          useCapture = renderProps.useCapture,\n          useWindow = renderProps.useWindow,\n          getScrollParent = renderProps.getScrollParent,\n          props = _objectWithoutProperties(renderProps, ['children', 'element', 'hasMore', 'initialLoad', 'isReverse', 'loader', 'loadMore', 'pageStart', 'ref', 'threshold', 'useCapture', 'useWindow', 'getScrollParent']);\n\n      props.ref = function (node) {\n        _this2.scrollComponent = node;\n        if (ref) {\n          ref(node);\n        }\n      };\n\n      var childrenArray = [children];\n      if (hasMore) {\n        if (loader) {\n          isReverse ? childrenArray.unshift(loader) : childrenArray.push(loader);\n        } else if (this.defaultLoader) {\n          isReverse ? childrenArray.unshift(this.defaultLoader) : childrenArray.push(this.defaultLoader);\n        }\n      }\n      return _react2.default.createElement(element, props, childrenArray);\n    }\n  }]);\n\n  return InfiniteScroll;\n}(_react.Component);\n\nInfiniteScroll.propTypes = {\n  children: _propTypes2.default.node.isRequired,\n  element: _propTypes2.default.node,\n  hasMore: _propTypes2.default.bool,\n  initialLoad: _propTypes2.default.bool,\n  isReverse: _propTypes2.default.bool,\n  loader: _propTypes2.default.node,\n  loadMore: _propTypes2.default.func.isRequired,\n  pageStart: _propTypes2.default.number,\n  ref: _propTypes2.default.func,\n  getScrollParent: _propTypes2.default.func,\n  threshold: _propTypes2.default.number,\n  useCapture: _propTypes2.default.bool,\n  useWindow: _propTypes2.default.bool\n};\nInfiniteScroll.defaultProps = {\n  element: 'div',\n  hasMore: false,\n  initialLoad: true,\n  pageStart: 0,\n  ref: null,\n  threshold: 250,\n  useWindow: true,\n  isReverse: false,\n  useCapture: false,\n  loader: null,\n  getScrollParent: null\n};\nexports.default = InfiniteScroll;\nmodule.exports = exports['default'];\n","module.exports = require('./dist/InfiniteScroll')\n","import { useHistory, useLocation } from \"react-router-dom\";\nconst ReactRouter5Adapter = ({\n  children\n}) => {\n  const location = useLocation();\n  const history = useHistory();\n  const adapter = {\n    replace(location2) {\n      history.replace(location2.search || \"?\", location2.state);\n    },\n    push(location2) {\n      history.push(location2.search || \"?\", location2.state);\n    },\n    get location() {\n      return history.location;\n    }\n  };\n  return children(adapter);\n};\nexport {\n  ReactRouter5Adapter\n};\n"],"names":["_react","_interopRequireDefault","require","_excluded","_extends","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","apply","exports","_ref","_ref$styles","styles","props","_objectWithoutProperties2","default","React","createElement","xmlns","className","xmlnsXlink","width","height","id","x1","y1","x2","y2","gradientUnits","offset","stopColor","xlinkHref","style","isolation","d","fill","opacity","mixBlendMode","cx","cy","x","y","rx","_interopRequireWildcard","_reactI18next","_tscCloudStyleGuide","_Constants","_collectionsProvider","_contextContainerHoC","_themeProvider","_config","_collectionApi","_logging","_LeaveCollectionModal","_cssConstants","_DeleteModal","_leave16x","_AddYoutubeMediaModal","_RenameCollectionModal","_StyledElements","_ShareCollectionModal","_batchSelectionProvider","_CollectionMediaRemove","_CollectionNotificationToggle","_getRequireWildcardCache","WeakMap","__esModule","_typeof","has","get","__proto__","a","defineProperty","getOwnPropertyDescriptor","u","i","set","CollectionActionMenuBase","isManagementView","activeCollection","selectedMedia","useTranslation","theme","useTscTheme","_useState","useState","_useState2","_slicedToArray2","showShareModal","setShowShareModal","_useState3","_useState4","showLeaveModal","setShowLeaveModal","_useState5","_useState6","showDeleteModal","setShowDeleteModal","_useState7","_useState8","showYoutubeModal","setShowYoutubeModal","_useState9","_useState10","showRenameModal","setShowRenameModal","_useState11","_useState12","showBatchRemoveModal","setShowBatchRemoveModal","_useState13","Role","_useState14","activeCollectionRole","setActiveCollectionRole","useEffect","_activeCollection$Rol","GroupRoleTypes","notMember","onJoinCollection","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","joinedCollection","wrap","_context","prev","next","collectionApi","joinCollection","Id","sent","addCollectionToState","refreshActiveCollection","t0","logging","error","concat","stop","onLeaveCollection","_ref3","_callee2","selfMemberIndex","selfMemberDetailsIndex","_context2","CanLeave","Members","findIndex","m","toLowerCase","config","user","EmailAddress","splice","MemberDetails","TechSmithId","updateActiveCollection","removeCollectionFromState","userCanAdmin","IsSignedIn","isAdmin","manager","userCanContribute","contributor","areItemsSelected","showLeave","showManage","showJoin","showLoginToJoin","showShare","showNotificationButton","featureSwitches","IsScreencast","showMoreDelete","showMoreLeave","showMoreAddYouTube","IsYouTubeEnabled","showMoreRename","showMore","moreMenu","Fragment","MenuItem","key","label","glyph","Glyphs","Delete16x16","onClick","testId","Upload16x16","Edit16x16","collectionMoreMenuButton","PopoverButton","buttonGlyph","EllipsisStacked16x16","origin","TscPopoverOrigin","bottomRight","themeName","showArrow","buttonText","buttonTitle","buttonType","TscButtonType","tertiary","mobileContextMenuTitle","collectionName","Name","popoverMenu","useMobileMenu","mobileContextMenuZindex","cssConstants","zIndex","mobileContextMenu","closeMenuOnClick","popoverMenuMaxHeight","contextMenuMaxHeight","GridLayoutButtonGroup","ControlButton","Share16x16","title","secondary","primary","href","Constants","navigation","myCollectionsLink","CircleRemove16x16","collection","onClose","onLeave","onDelete","collectionsToDelete","warning","collectionId","media","withMemoizedContexts","_ref4","_ref5","_ref6","collectionsStore","batchSelectionStore","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_server","_relativeTime","_reactInfiniteScroller","_dayjs","_entityDecode","_MediaQueryParamsBuilder","_axios","_collectionMediaProvider","_EmptyLibrary","_TimeFormatter","_styledComponents","_MediaSorter","_SortDirectionOptions","_sortMetricProvider","_MediaProcessingGlyph","_MediaPrivateGlyph","_CollectionActionMenu","_profileApi","_reactRouter","_BatchSelectionIndicator","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","dayjs","extend","relativeTime","SubheaderTitle","styled","h3","_taggedTemplateLiteral2","CollectionMemberAvatars","ButtonStyledAsAnchor","PrivateCollectionEmptyStateContainer","div","AvatarButtonContainer","MoreMembersButton","StackedAvatar","Avatar","TscThemeName","dusk","TscStyles","color","global","white","decorateMemberWithProfileImageUrl","profileImageUrl","profileApi","getProfileImageUrl","collectionMemberRolePriority","role","compareMemberRoles","m1","m2","CollectionContentBase","_activeCollection$Mem","_activeCollection$Mem2","isUpdatingSidebarCollections","collections","collectionMedia","collectionMediaCanLoadMore","collectionMediaCursor","sortMetric","useParams","mediaProcessingSvgDataUri","btoa","renderToStaticMarkup","mediaPrivateSvgDataUri","isFetchingMedia","setIsFetchingMedia","getMediaCancellationToken","useRef","map","members","setMembers","showCollectionMediaRemove","setShowCollectionMediaRemove","mediaToRemove","setMediaToRemove","initialize","updateActiveCollectionById","clearBatchSelection","getCollectionMediaDiscardingExistingMedia","sort","updateCollectionMediaState","sortMedia","generateGetMediaCancellationToken","currentCancellationToken","current","cancel","newCancellationToken","Axios","CancelToken","source","getCollectionMedia","_callee3","existingMedia","collectionCursor","_newBatch","newBatch","loadedMedia","newLastLoadedMediaHash","_context3","getMedia","buildMediaQueryParams","isCancel","abrupt","Hash","mediaPaginationBatchSize","_x","_x2","moreMembersCount","membersContent","slice","size","TscAvatarSize","small","userDisplayName","DisplayName","userAltText","userID","avatarImageUrl","toString","emptyLibrarySvgDataUri","collectionHasMedia","showPrivateCollectionEmptyState","Privacy","CollectionPrivacyTypes","invite","userCanRemove","OwnerLibrary","User","EmptyState","maxWidth","text","imageSource","alt","loadMore","initialLoad","hasMore","useWindow","Subheader","isVisible","SubheaderControls","SubheaderTitleContainer","Collection16x16","LibraryContentContainer","MediaSectionHeader","Label","labelText","GridLayoutContainer","hasMedia","_media$ThumbnailUrl","MediaCard","mediaDate","AddedToGroupDateTime","fromNow","mediaDateTitle","toLocaleString","mediaDuration","IsVideo","Duration","TimeFormatter","formatTime","getSecondsFromTimeString","mediaUrl","ownerAvatarUrl","environmentData","ProfileApiUrl","ownerId","ownerName","Author","thumbnailUrl","IsReady","ThumbnailUrl","decode","Title","maxTitleLines","viewCount","ViewCount","organizationType","TscMediaOrganizationType","hasCaptions","HasPublishedCaptions","showDetails","controls","onRemoveMediaClick","isSelected","some","onSelect","newSelectedMedia","mediaIndex","updateBatchSelectionState","selectMedia","Spinner","CollectionMediaRemove","_ref7","_ref8","_ref9","collectionMediaStore","sortMetricStore","_UserMessaging","_workerState","_useQueryParams","_ModalPortalHelper","CollectionNotificationToggleBase","_React$useState","_React$useState2","isNotificationEnabled","setIsNotificationEnabled","_SetupWorkerState","SetupWorkerState","_SetupWorkerState2","loadingState","setLoadingState","_useQueryParam","useQueryParam","queryParams","unsubscribe","BooleanParam","_useQueryParam2","unsubscribeParam","setUnsubscribeParam","_React$useState3","_React$useState4","showCollectionNotificationModal","setShowCollectionNotificationModal","onCloseNotificationsModal","getNotificationPreference","isSubscribedToCollection","t1","t2","unsubscribeFromCollection","toggleNotificationPreference","newNotificationValue","isWorking","hasError","subscribeToCollection","UserMessaging","warn","Alert16x16","AlertOutline16x16","active","disabled","AlertModalPortal","onConfirm","confirmButtonType","confirmContent","onDismiss","dismissButtonType","dismissContent","_objectDestructuringEmpty2","MediaList","ul","ItemDescriptionTitle","span","ItemDescription","li","IconContainer","_media$","_media$2","mediaWarningMessage","amount","item","index","Video16x16","Image16x16","removeMediaFromCollection","collectionMediaToDelete","type","deleteButtonText","HeaderContainerPlaceholder","StyledHeaderPlaceholder","header","headerBackgroundColor","light","headerHeight","GradientBorder","memo","BatchSelectionContainer","BatchSelectionIndicatorBase","selectionMessage","selectedFolders","selectedItemsCount","hasSelectedItems","itemCountMessage","itemCount","foldersMessage","numFolders","mediaMessage","numMedia","_StringUtil","RenameCollectionModalBase","errorMessage","modalState","updateModalState","renameCollection","trimmedCollectionName","trim","BasicModalPortal","visible","defaultModalWidth","isLoading","StyledWarning","StringUtil","isNullOrWhiteSpace","TextInput","value","onChange","evt","updatedCollectionName","target","maxCollectionNameLength","maxLength","ariaLabel","readOnly","MinWidthButtonWrapper","fromHash","activeFolder","mediaContentFilters","includeExcludedMedia","from","take","folderHash","buildSortMetricQueryParams","mediaContentFilter","sortMetricQueryParams","SortMetric","dateAscending","orderBy","OrderByQueryString","date","dateDescending","descending","titleAscending","titleDescending","viewsAscending","views","viewsDescending","ScreenReaderOnly","SortDirectionWrapper","dark","SortDirectionOptionsBase","sortOptions","SelectInput","options","newSortMetric","setSortMetric","isFullWidth","sortMediaByDate","isCollectionMedia","b","aSortDateTime","SharedDateTime","bSortDateTime","isSame","isAfter","sortMediaByTitle","aTitle","toUpperCase","bTitle","sortMediaByViewCount","padZero","num","totalSeconds","negative","roundedTotalSeconds","Math","round","hoursPlace","floor","secondsWithoutHours","minutesPlace","secondsPlace","formatTimeForSpeech","Date","toISOString","substr","getRoundedTime","time","timeInSeconds","multiplier","timecodeParts","split","lowTimeBounds","timePartAsNumber","parseInt","isNaN","millisecondsToFormattedTimeString","milliseconds","seconds","hours","minutes","remainingSeconds","padStart","info","message","alert","module","prototype","future","past","s","mm","h","hh","dd","M","MM","yy","fromToBase","en","f","l","$locale","thresholds","c","diff","p","rounding","abs","v","replace","to","this","$u","utc","toNow","_createClass","descriptor","configurable","writable","Constructor","protoProps","staticProps","_react2","_propTypes2","obj","InfiniteScroll","_Component","instance","TypeError","_classCallCheck","_this","self","ReferenceError","_possibleConstructorReturn","getPrototypeOf","scrollListener","eventListenerOptions","mousewheelListener","subClass","superClass","create","constructor","setPrototypeOf","_inherits","pageLoaded","pageStart","attachScrollListener","isReverse","parentElement","getParentElement","scrollComponent","scrollTop","scrollHeight","beforeScrollHeight","beforeScrollTop","detachScrollListener","detachMousewheelListener","passive","testOptions","document","addEventListener","removeEventListener","useCapture","isPassiveSupported","loader","defaultLoader","scrollEl","window","parentNode","el","scrollParent","getScrollParent","deltaY","preventDefault","doc","documentElement","body","undefined","pageYOffset","calculateOffset","clientHeight","Number","threshold","offsetParent","calculateTopPosition","offsetHeight","innerHeight","offsetTop","_this2","renderProps","filterProps","children","element","ref","indexOf","_objectWithoutProperties","node","childrenArray","unshift","Component","propTypes","isRequired","bool","func","number","defaultProps","ReactRouter5Adapter","useLocation","history","useHistory","location2","search","state","location"],"sourceRoot":""}