@clickview/lite 0.84.1-rc.0 → 0.84.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +2 -2
- package/dist/css/4945-lite-72ae59fcab.chunk.css +2 -0
- package/dist/css/8852-lite-84d6357a79.chunk.css +1 -0
- package/dist/css/{lite-app-b4540a3be1.css → lite-app-084c45f90e.css} +2 -0
- package/dist/languages/en.json +1 -1
- package/dist/scripts/{1202-d96ad80884-lite.chunk.js → 1202-5473d9962d-lite.chunk.js} +2 -2
- package/dist/scripts/{1202-d96ad80884-lite.chunk.js.map → 1202-5473d9962d-lite.chunk.js.map} +1 -1
- package/dist/scripts/171-4b1fe5952a-lite.chunk.js +2 -0
- package/dist/scripts/171-4b1fe5952a-lite.chunk.js.map +1 -0
- package/dist/scripts/1726-b8b386dbd5-lite.chunk.js +2 -0
- package/dist/scripts/1726-b8b386dbd5-lite.chunk.js.map +1 -0
- package/dist/scripts/1912-52e57d9f16-lite.chunk.js +2 -0
- package/dist/scripts/1912-52e57d9f16-lite.chunk.js.map +1 -0
- package/dist/scripts/{289-669c0c8222-lite.chunk.js → 289-190caa6455-lite.chunk.js} +2 -2
- package/dist/scripts/{289-669c0c8222-lite.chunk.js.map → 289-190caa6455-lite.chunk.js.map} +1 -1
- package/dist/scripts/{3249-0b55dec380-lite.chunk.js → 3249-08a22f8aaf-lite.chunk.js} +2 -2
- package/dist/scripts/3249-08a22f8aaf-lite.chunk.js.map +1 -0
- package/dist/scripts/3840-df2873e349-lite.chunk.js +2 -0
- package/dist/scripts/3840-df2873e349-lite.chunk.js.map +1 -0
- package/dist/scripts/4006-2b689bdde0-lite.chunk.js +3 -0
- package/dist/scripts/4006-2b689bdde0-lite.chunk.js.map +1 -0
- package/dist/scripts/4525-2ade147f5d-lite.chunk.js +2 -0
- package/dist/scripts/4525-2ade147f5d-lite.chunk.js.map +1 -0
- package/dist/scripts/4945-fbbb21cf54-lite.chunk.js +2 -0
- package/dist/scripts/4945-fbbb21cf54-lite.chunk.js.map +1 -0
- package/dist/scripts/4985-6bdacf82c1-lite.chunk.js +2 -0
- package/dist/scripts/4985-6bdacf82c1-lite.chunk.js.map +1 -0
- package/dist/scripts/5002-c0f45922c6-lite.chunk.js +2 -0
- package/dist/scripts/5002-c0f45922c6-lite.chunk.js.map +1 -0
- package/dist/scripts/516-94eeca32e7-lite.chunk.js +2 -0
- package/dist/scripts/516-94eeca32e7-lite.chunk.js.map +1 -0
- package/dist/scripts/5270-55334d53e9-lite.chunk.js +2 -0
- package/dist/scripts/5270-55334d53e9-lite.chunk.js.map +1 -0
- package/dist/scripts/5579-7d9081e134-lite.chunk.js +2 -0
- package/dist/scripts/{5579-a9c152057f-lite.chunk.js.map → 5579-7d9081e134-lite.chunk.js.map} +1 -1
- package/dist/scripts/5712-fd1a7d8d6a-lite.chunk.js +2 -0
- package/dist/scripts/5712-fd1a7d8d6a-lite.chunk.js.map +1 -0
- package/dist/scripts/639-df1607cbc8-lite.chunk.js +2 -0
- package/dist/scripts/639-df1607cbc8-lite.chunk.js.map +1 -0
- package/dist/scripts/6909-b5717e92e8-lite.chunk.js +2 -0
- package/dist/scripts/6909-b5717e92e8-lite.chunk.js.map +1 -0
- package/dist/scripts/7459-c1882c6f0d-lite.chunk.js +3 -0
- package/dist/scripts/7459-c1882c6f0d-lite.chunk.js.map +1 -0
- package/dist/scripts/7604-5d2ba346e2-lite.chunk.js +3 -0
- package/dist/scripts/7604-5d2ba346e2-lite.chunk.js.map +1 -0
- package/dist/scripts/{7617-9d34c841e6-lite.chunk.js → 7617-899a1d0cb1-lite.chunk.js} +2 -2
- package/dist/scripts/7617-899a1d0cb1-lite.chunk.js.map +1 -0
- package/dist/scripts/7742-95097c976d-lite.chunk.js +2 -0
- package/dist/scripts/7742-95097c976d-lite.chunk.js.map +1 -0
- package/dist/scripts/{7843-f6033528ce-lite.chunk.js → 7843-fc9ddb3b52-lite.chunk.js} +2 -2
- package/dist/scripts/7843-fc9ddb3b52-lite.chunk.js.map +1 -0
- package/dist/scripts/{7867-14c692e69c-lite.chunk.js → 7867-589c7bd788-lite.chunk.js} +3 -3
- package/dist/scripts/7867-589c7bd788-lite.chunk.js.map +1 -0
- package/dist/scripts/{787-dcb3a0a26c-lite.chunk.js → 787-5c7976e8cb-lite.chunk.js} +2 -2
- package/dist/scripts/{787-dcb3a0a26c-lite.chunk.js.map → 787-5c7976e8cb-lite.chunk.js.map} +1 -1
- package/dist/scripts/8056-555482555f-lite.chunk.js +2 -0
- package/dist/scripts/8056-555482555f-lite.chunk.js.map +1 -0
- package/dist/scripts/{8672-6967ce8a23-lite.chunk.js → 8672-5637204ae3-lite.chunk.js} +2 -2
- package/dist/scripts/{8672-6967ce8a23-lite.chunk.js.map → 8672-5637204ae3-lite.chunk.js.map} +1 -1
- package/dist/scripts/8852-f4e4da0097-lite.chunk.js +2 -0
- package/dist/scripts/8852-f4e4da0097-lite.chunk.js.map +1 -0
- package/dist/scripts/8944-022dbd6a0b-lite.chunk.js +2 -0
- package/dist/scripts/8944-022dbd6a0b-lite.chunk.js.map +1 -0
- package/dist/scripts/9742-c839ec5abb-lite.chunk.js +2 -0
- package/dist/scripts/9742-c839ec5abb-lite.chunk.js.map +1 -0
- package/dist/scripts/{8133-ffcff3b7fc-lite.chunk.js → 9803-9a666cfdef-lite.chunk.js} +3 -3
- package/dist/scripts/9803-9a666cfdef-lite.chunk.js.map +1 -0
- package/dist/scripts/bundle-47bd8cc149.min.js +3 -0
- package/dist/scripts/{bundle-2bbba2aa8b.min.js.map → bundle-47bd8cc149.min.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/171-36c7520c9c-lite.chunk.js +0 -2
- package/dist/scripts/171-36c7520c9c-lite.chunk.js.map +0 -1
- package/dist/scripts/1726-c79cf77a51-lite.chunk.js +0 -2
- package/dist/scripts/1726-c79cf77a51-lite.chunk.js.map +0 -1
- package/dist/scripts/1912-1f78dc635a-lite.chunk.js +0 -2
- package/dist/scripts/1912-1f78dc635a-lite.chunk.js.map +0 -1
- package/dist/scripts/2074-39b86b9a22-lite.chunk.js +0 -2
- package/dist/scripts/2074-39b86b9a22-lite.chunk.js.map +0 -1
- package/dist/scripts/3249-0b55dec380-lite.chunk.js.map +0 -1
- package/dist/scripts/3840-98c79fc0d8-lite.chunk.js +0 -2
- package/dist/scripts/3840-98c79fc0d8-lite.chunk.js.map +0 -1
- package/dist/scripts/3893-2856933742-lite.chunk.js +0 -2
- package/dist/scripts/3893-2856933742-lite.chunk.js.map +0 -1
- package/dist/scripts/4006-9dfe9cec1b-lite.chunk.js +0 -3
- package/dist/scripts/4006-9dfe9cec1b-lite.chunk.js.map +0 -1
- package/dist/scripts/4985-bdfa839f8f-lite.chunk.js +0 -2
- package/dist/scripts/4985-bdfa839f8f-lite.chunk.js.map +0 -1
- package/dist/scripts/5002-7514146621-lite.chunk.js +0 -2
- package/dist/scripts/5002-7514146621-lite.chunk.js.map +0 -1
- package/dist/scripts/5270-d407e1ae84-lite.chunk.js +0 -2
- package/dist/scripts/5270-d407e1ae84-lite.chunk.js.map +0 -1
- package/dist/scripts/5579-a9c152057f-lite.chunk.js +0 -2
- package/dist/scripts/5712-e784cfe89c-lite.chunk.js +0 -2
- package/dist/scripts/5712-e784cfe89c-lite.chunk.js.map +0 -1
- package/dist/scripts/6909-a9b8930e37-lite.chunk.js +0 -2
- package/dist/scripts/6909-a9b8930e37-lite.chunk.js.map +0 -1
- package/dist/scripts/7401-833bc4a088-lite.chunk.js +0 -2
- package/dist/scripts/7401-833bc4a088-lite.chunk.js.map +0 -1
- package/dist/scripts/7604-f664281904-lite.chunk.js +0 -3
- package/dist/scripts/7604-f664281904-lite.chunk.js.map +0 -1
- package/dist/scripts/7617-9d34c841e6-lite.chunk.js.map +0 -1
- package/dist/scripts/7742-342db3ce4f-lite.chunk.js +0 -2
- package/dist/scripts/7742-342db3ce4f-lite.chunk.js.map +0 -1
- package/dist/scripts/7843-f6033528ce-lite.chunk.js.map +0 -1
- package/dist/scripts/7867-14c692e69c-lite.chunk.js.map +0 -1
- package/dist/scripts/8056-eec7c2fda0-lite.chunk.js +0 -2
- package/dist/scripts/8056-eec7c2fda0-lite.chunk.js.map +0 -1
- package/dist/scripts/8133-ffcff3b7fc-lite.chunk.js.map +0 -1
- package/dist/scripts/8364-ff63447d36-lite.chunk.js +0 -3
- package/dist/scripts/8364-ff63447d36-lite.chunk.js.map +0 -1
- package/dist/scripts/8944-b56c3e61fc-lite.chunk.js +0 -2
- package/dist/scripts/8944-b56c3e61fc-lite.chunk.js.map +0 -1
- package/dist/scripts/9742-5f99d74bb0-lite.chunk.js +0 -2
- package/dist/scripts/9742-5f99d74bb0-lite.chunk.js.map +0 -1
- package/dist/scripts/bundle-2bbba2aa8b.min.js +0 -3
- /package/dist/css/{2074-lite-ac8da6c78b.chunk.css → 4525-lite-ac8da6c78b.chunk.css} +0 -0
- /package/dist/css/{8364-lite-db31e36b79.chunk.css → 7459-lite-db31e36b79.chunk.css} +0 -0
- /package/dist/scripts/{4006-9dfe9cec1b-lite.chunk.js.LICENSE.txt → 4006-2b689bdde0-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{7604-f664281904-lite.chunk.js.LICENSE.txt → 7459-c1882c6f0d-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{7867-14c692e69c-lite.chunk.js.LICENSE.txt → 7604-5d2ba346e2-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{8133-ffcff3b7fc-lite.chunk.js.LICENSE.txt → 7867-589c7bd788-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{8364-ff63447d36-lite.chunk.js.LICENSE.txt → 9803-9a666cfdef-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-2bbba2aa8b.min.js.LICENSE.txt → bundle-47bd8cc149.min.js.LICENSE.txt} +0 -0
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[171],{36199:(e,t,n)=>{var a;n.d(t,{V:()=>a}),function(e){e[e.Original=0]="Original",e[e.Copy=1]="Copy"}(a||(a={}))},10171:(e,t,n)=>{n.r(t),n.d(t,{NewClipInteractiveView:()=>C});var a=n(32735),r=n(23481),i=n(20354),c=n(49985),l=n(65858),o=n(9111),s=n(13876),u=n(43012),d=n(31949),m=n(11607),f=n(99742);const p={selected:"U6H7L"};var v=r.T.encloseNamespace("interactives.feedbackChoices");function b(e){var t=e.title,n=e.description,r=e.value,i=e.className,c=e.onClick,l=e.selected,o=r?f.W.Interactives.FeedbackOptions.FEEDBACK:f.W.Interactives.FeedbackOptions.NO_FEEDBACK;return a.createElement(m.L,{onClick:function(){return c(r)},className:"\n text-center\n cursor-pointer\n p-3\n border\n rounded-3\n ".concat(i,"\n ").concat(l?"border-info":"border","\n ").concat(l?p.selected:"","\n ")},a.createElement("img",{src:o,className:"img-fluid my-3"}),a.createElement("h2",{className:"h3"},t),a.createElement("p",null,n))}function k(e){var t=e.feedback,n=e.setFeedback;return a.createElement("div",{className:"d-flex mb-3"},a.createElement(b,{title:v("feedbackTitle"),description:v("feedbackDescription"),value:!0,onClick:n,selected:!0===t,className:"flex-fill w-50 me-2"}),a.createElement(b,{title:v("noFeedbackTitle"),description:v("noFeedbackDescription"),value:!1,onClick:n,selected:!1===t,className:"flex-fill w-50 ms-2"}))}var y=n(75986);function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,c,l=[],o=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);o=!0);}catch(e){s=!0,r=e}finally{try{if(!o&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(s)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return I(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?I(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var w=r.T.encloseNamespace("shared.makeClipInteractive");function C(e){var t,n,r,m=e.clipId,f=e.closePopup,p=h(a.useState(!1),2),v=p[0],b=p[1],I=h(a.useState(null),2),C=I[0],g=I[1],E=i.a.useBasicFetch(d.N.currentUser()),N=i.a.useBasicFetch(u.e.clip(m)),S=(0,y.$)({feedback:C,setShowSpinner:b,closePopup:f,name:null===(t=N.data)||void 0===t?void 0:t.name,duration:N.data?1e3*(N.data.endTime-N.data.startTime):null,objectId:null===(n=N.data)||void 0===n?void 0:n.id,currentUser:E.data,baseAnalyticsData:{clip:{id:m,name:null===(r=N.data)||void 0===r?void 0:r.name}}}).createInteractive,T=!N.data||!E.data;return a.createElement(o.G,{title:w("title"),closePopup:f,showLoadingSpinner:T,size:"lg"},a.createElement(k,{feedback:C,setFeedback:g}),a.createElement(s.u,null,a.createElement(s.u.Cancel,{onClick:function(){c.k.logUserAction({clip:{id:m}},{location:l.LZ.NewInteractive,entity:l.py.Interactive,actionType:l.Vw.Create,workflowPhase:l.eu.Discard}),f()}}),a.createElement(s.u.Submit,{variant:"dark",onClick:S,text:w("continue"),showSpinner:v,disabled:"boolean"!=typeof C})))}},75986:(e,t,n)=>{n.d(t,{$:()=>b});var a=n(70680),r=n(23481),i=n(81886),c=n(20354),l=n(49985),o=n(65858),s=n(5960),u=n(36199),d=n(20768),m=n(69883),f=n(14070),p=n(97291),v=r.T.encloseNamespace("shared.makeInteractive"),b=function(e){var t=e.feedback,n=e.setShowSpinner,r=e.objectId,b=e.name,k=e.duration,y=e.currentUser,h=e.closePopup,I=e.baseAnalyticsData,w=(0,a.I0)(),C=(0,m.Z)();function g(){n(!1),C.error(v("error"))}function E(e){var t={name:b,interactiveId:e.id,owner:{id:y.id},originType:u.V.Original,status:s.X.Draft};c.a.fetch(w,d.b.createInteractiveMetadata(r,t,N,g))}function N(e){l.k.logUserAction(Object.assign(Object.assign({},I),{id:e.id,name:e.name}),{location:o.LZ.NewInteractive,entity:o.py.Interactive,actionType:o.Vw.Create,workflowPhase:o.eu.Complete}),i.Q.C$.trigger({application:p.O.INTERACTIVES,action:f.e.Interactives.EDIT_INTERACTIVE,args:[e.id,e.name]}),h()}return{createInteractive:function(){n(!0);var e={name:b,duration:k,immediateFeedback:t,preventScrubbing:!1};c.a.fetch(w,d.b.createInteractive(e,E,g))}}}}}]);
|
|
2
|
-
//# sourceMappingURL=171-36c7520c9c-lite.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/171-36c7520c9c-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/enums/InteractiveOriginType.ts","file:///app/packages/projects/lite/src/apps/interactives/components/feedback-choice/feedback-choices.scss","file:///app/packages/projects/lite/src/apps/interactives/components/feedback-choice/FeedbackChoices.tsx","file:///app/packages/projects/lite/src/apps/interactives/views/new-clip-interactive/NewClipInteractiveView.tsx","file:///app/packages/projects/lite/src/apps/interactives/views/new-interactive/useNewInteractiveCallbacks.ts"],"sourcesContent":["export enum InteractiveOriginType {\n Original = 0,\n Copy = 1\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"selected\":\"U6H7L\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nconst namespace = 'interactives.feedbackChoices';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nimport styles from './feedback-choices.scss';\n\ninterface FeedbackChoiceProps {\n title: string;\n description: string;\n value: boolean;\n selected: boolean;\n className?: string;\n onClick: (value: boolean) => void;\n}\n\nfunction FeedbackChoice(props: FeedbackChoiceProps): React.ReactElement {\n const {\n title,\n description,\n value,\n className,\n onClick,\n selected\n } = props;\n\n const imgSrc = value ?\n ImageUrls.Interactives.FeedbackOptions.FEEDBACK :\n ImageUrls.Interactives.FeedbackOptions.NO_FEEDBACK;\n\n return (\n <DivButton\n onClick={() => onClick(value)}\n className={`\n text-center\n cursor-pointer\n p-3\n border\n rounded-3\n ${className}\n ${selected ? 'border-info' : 'border'}\n ${selected ? styles.selected : ''}\n `}\n >\n <img src={imgSrc} className='img-fluid my-3' />\n <h2 className='h3'>{title}</h2>\n <p>{description}</p>\n </DivButton>\n );\n}\n\ninterface FeedbackChoicesProps {\n feedback: boolean;\n setFeedback: (feedback: boolean) => void\n}\n\nexport function FeedbackChoices(props: FeedbackChoicesProps): React.ReactElement {\n const { feedback, setFeedback } = props;\n\n return (\n <div className='d-flex mb-3'>\n <FeedbackChoice\n title={getPhrase('feedbackTitle')}\n description={getPhrase('feedbackDescription')}\n value={true}\n onClick={setFeedback}\n selected={feedback === true}\n className='flex-fill w-50 me-2'\n />\n <FeedbackChoice\n title={getPhrase('noFeedbackTitle')}\n description={getPhrase('noFeedbackDescription')}\n value={false}\n onClick={setFeedback}\n selected={feedback === false}\n className='flex-fill w-50 ms-2'\n />\n </div>\n );\n}","import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { Clip, CurrentUser, PopupViewProps } from 'libs/shared/interfaces';\n\nimport { FeedbackChoices } from 'apps/interactives/components/feedback-choice/FeedbackChoices';\n\nimport { useNewInteractiveCallbacks } from '../new-interactive/useNewInteractiveCallbacks';\n\nconst namespace = 'shared.makeClipInteractive';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface NewClipInteractiveProps extends PopupViewProps {\n clipId: string;\n}\n\nexport function NewClipInteractiveView(props: NewClipInteractiveProps): React.ReactElement {\n const { clipId, closePopup } = props;\n\n const [ showSpinner, setShowSpinner ] = React.useState(false);\n const [ feedback, setFeedback ] = React.useState<boolean>(null);\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const clip = Flight.useBasicFetch<Clip>(ClipRequests.clip(clipId));\n\n const {\n createInteractive\n } = useNewInteractiveCallbacks({\n feedback,\n setShowSpinner,\n closePopup,\n name: clip.data?.name,\n duration: clip.data ? (clip.data.endTime - clip.data.startTime) * 1000 : null,\n objectId: clip.data?.id,\n currentUser: currentUser.data,\n baseAnalyticsData: { clip: { id: clipId, name: clip.data?.name } }\n });\n\n function cancelCreate(): void {\n AnalyticsHelper.logUserAction({\n clip: { id: clipId }\n }, {\n location: LocationContext.NewInteractive,\n entity: EntityType.Interactive,\n actionType: UserAction.Create,\n workflowPhase: WorkflowPhase.Discard\n });\n\n closePopup();\n }\n\n const popupSpinner = !clip.data || !currentUser.data;\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={closePopup}\n showLoadingSpinner={popupSpinner}\n size={'lg'}\n >\n <FeedbackChoices feedback={feedback} setFeedback={setFeedback} />\n <PopupButtons>\n <PopupButtons.Cancel onClick={cancelCreate} />\n <PopupButtons.Submit\n variant='dark'\n onClick={createInteractive}\n text={getPhrase('continue')}\n showSpinner={showSpinner}\n disabled={typeof feedback !== 'boolean'}\n />\n </PopupButtons>\n </Popup>\n );\n}","import { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\nimport { AnalyticsDataPayload } from 'libs/analytics/models/AnalyticsEvent';\n\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { InteractiveOriginType } from 'libs/shared/enums/InteractiveOriginType';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { CreateInteractiveMetadataRequest, CreateInteractiveRequest, CurrentUser, Interaction, InteractiveMetadata } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'shared.makeInteractive';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const useNewInteractiveCallbacks = (options: {\n feedback: boolean;\n setShowSpinner: (val: boolean) => void;\n objectId: string;\n name: string;\n duration: number;\n currentUser: CurrentUser;\n closePopup: () => void;\n baseAnalyticsData: AnalyticsDataPayload;\n}) => {\n const {\n feedback,\n setShowSpinner,\n objectId,\n name,\n duration,\n currentUser,\n closePopup,\n baseAnalyticsData\n } = options;\n\n const dispatch = useDispatch();\n const alerts = useAlerts();\n\n function onError(): void {\n setShowSpinner(false);\n alerts.error(getPhrase('error'));\n }\n\n function createInteractive(): void {\n setShowSpinner(true);\n const data: CreateInteractiveRequest = {\n name,\n duration: duration,\n immediateFeedback: feedback,\n preventScrubbing: false\n };\n\n /* 1st Request */\n Flight.fetch(\n dispatch,\n InteractiveRequests.createInteractive(\n data,\n onInteractiveCreated,\n onError\n )\n );\n }\n\n function onInteractiveCreated(resp: Interaction): void {\n const data: CreateInteractiveMetadataRequest = {\n name,\n interactiveId: resp.id,\n owner: { id: currentUser.id },\n originType: InteractiveOriginType.Original,\n status: CurationStatus.Draft\n };\n\n /* 2nd Request */\n Flight.fetch(\n dispatch,\n InteractiveRequests.createInteractiveMetadata(\n objectId,\n data,\n onInteractiveMetadataCreated,\n onError\n )\n );\n }\n\n function onInteractiveMetadataCreated(resp: InteractiveMetadata): void {\n AnalyticsHelper.logUserAction({\n ...baseAnalyticsData,\n id: resp.id,\n name: resp.name\n }, {\n location: LocationContext.NewInteractive,\n entity: EntityType.Interactive,\n actionType: UserAction.Create,\n workflowPhase: WorkflowPhase.Complete\n });\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.EDIT_INTERACTIVE,\n args: [ resp.id, resp.name ]\n });\n closePopup();\n }\n\n return {\n createInteractive\n };\n};\n\n"],"names":["InteractiveOriginType","getPhrase","LanguageService","FeedbackChoice","props","title","description","value","className","onClick","selected","imgSrc","ImageUrls","DivButton","src","FeedbackChoices","feedback","setFeedback","NewClipInteractiveView","clipId","closePopup","showSpinner","setShowSpinner","currentUser","UserRequests","clip","ClipRequests","createInteractive","useNewInteractiveCallbacks","name","data","duration","endTime","startTime","objectId","id","baseAnalyticsData","popupSpinner","Popup","showLoadingSpinner","size","PopupButtons","AnalyticsHelper","location","entity","actionType","workflowPhase","variant","text","disabled","options","dispatch","alerts","onError","error","onInteractiveCreated","resp","interactiveId","owner","originType","status","onInteractiveMetadataCreated","application","action","args","immediateFeedback","preventScrubbing"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[1726],{61104:(e,t,n)=>{n.d(t,{E:()=>d});var i=n(32735),a=n(9111),o=n(13876),r=n(11607);const c={selected:"zWik0",disabled:"bMSMv"};function l(e){var t,n,a,o,l,s="text-center cursor-pointer p-3 border rounded-3 mx-2 user-select-none w-50";return e.selected&&(s+=" border-info ".concat(c.selected)),(null===(t=e.option)||void 0===t?void 0:t.disabled)&&(s+=" ".concat(c.disabled)),i.createElement(r.L,{onClick:function(){var t;(null===(t=e.option)||void 0===t?void 0:t.disabled)||e.onSelect(e.option)},className:s},(null===(n=e.option)||void 0===n?void 0:n.imageUrl)&&i.createElement("img",{src:e.option.imageUrl,className:"img-fluid my-3 ".concat(null!==(a=e.option.imageClassName)&&void 0!==a?a:""),draggable:!1}),(null===(o=e.option)||void 0===o?void 0:o.title)&&i.createElement("h2",{className:"h3"},e.option.title),(null===(l=e.option)||void 0===l?void 0:l.description)&&i.createElement("p",{className:"mb-0",dangerouslySetInnerHTML:{__html:e.option.description}}),e.children)}function s(e){return i.createElement("div",{className:"d-flex mb-3 mx-n2"},e.options.map(function(t){var n;return i.createElement(l,{key:t.id,option:t,selected:(null===(n=e.selection)||void 0===n?void 0:n.id)===t.id,onSelect:e.selectOption})}))}function d(e){return i.createElement(a.G,{size:"lg",title:e.title,showLoadingSpinner:e.showLoadingSpinner,closePopup:e.closePopup},i.createElement(i.Fragment,null,!!e.warningComponent&&e.warningComponent,e.question&&i.createElement("h2",{className:"h5 text-center fw-semibold mb-3"},e.question),i.createElement(s,{options:e.options,selection:e.selection,selectOption:e.selectOption}),i.createElement(o.u,null,e.cancelButtonProps&&i.createElement(o.u.Cancel,Object.assign({},e.cancelButtonProps)),e.submitButtonProps&&i.createElement(o.u.Submit,Object.assign({},e.submitButtonProps)))))}},36199:(e,t,n)=>{var i;n.d(t,{V:()=>i}),function(e){e[e.Original=0]="Original",e[e.Copy=1]="Copy"}(i||(i={}))},91726:(e,t,n)=>{n.r(t),n.d(t,{NewInteractiveView:()=>f});var i=n(32735),a=n(23481),o=n(20354),r=n(49985),c=n(65858),l=n(61104),s=n(31949),d=n(1575),u=n(99742),p=n(75986);function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i,a,o,r,c=[],l=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=o.call(n)).done)&&(c.push(i.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(s)throw a}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return v(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}var b=a.T.encloseNamespace("shared.makeInteractive");function f(e){var t,n,a,v,f=e.videoId,g=e.closePopup,h=m(i.useState(!1),2),k=h[0],y=h[1],w=m(i.useState(null),2),I=w[0],E=w[1],S=o.a.useBasicFetch(s.N.currentUser()),C=o.a.useBasicFetch(d.R.video(f)),O=(0,p.$)({feedback:"feedback"===(null==I?void 0:I.id),setShowSpinner:y,closePopup:g,name:null===(t=C.data)||void 0===t?void 0:t.name,duration:null===(n=C.data)||void 0===n?void 0:n.duration,objectId:null===(a=C.data)||void 0===a?void 0:a.id,currentUser:S.data,baseAnalyticsData:{video:{id:f,name:null===(v=C.data)||void 0===v?void 0:v.name}}}).createInteractive,N=[{id:"feedback",title:b("feedbackTitle"),description:b("feedbackDescription"),imageUrl:u.W.Interactives.FeedbackOptions.FEEDBACK},{id:"no-feedback",title:b("noFeedbackTitle"),description:b("noFeedbackDescription"),imageUrl:u.W.Interactives.FeedbackOptions.NO_FEEDBACK}];return i.createElement(l.E,{title:b("title"),closePopup:g,options:N,selectOption:E,selection:I,showLoadingSpinner:!C.data||!S.data,cancelButtonProps:{onClick:function(){var e;r.k.logUserAction({video:{id:f,name:null===(e=C.data)||void 0===e?void 0:e.name}},{location:c.LZ.NewInteractive,entity:c.py.Interactive,actionType:c.Vw.Create,workflowPhase:c.eu.Discard}),g()},text:b("cancel"),variant:"link"},submitButtonProps:{onClick:O,text:b("continue"),variant:"dark",showSpinner:k,disabled:!I}})}},75986:(e,t,n)=>{n.d(t,{$:()=>f});var i=n(70680),a=n(23481),o=n(81886),r=n(20354),c=n(49985),l=n(65858),s=n(5960),d=n(36199),u=n(20768),p=n(69883),m=n(14070),v=n(97291),b=a.T.encloseNamespace("shared.makeInteractive"),f=function(e){var t=e.feedback,n=e.setShowSpinner,a=e.objectId,f=e.name,g=e.duration,h=e.currentUser,k=e.closePopup,y=e.baseAnalyticsData,w=(0,i.I0)(),I=(0,p.Z)();function E(){n(!1),I.error(b("error"))}function S(e){var t={name:f,interactiveId:e.id,owner:{id:h.id},originType:d.V.Original,status:s.X.Draft};r.a.fetch(w,u.b.createInteractiveMetadata(a,t,C,E))}function C(e){c.k.logUserAction(Object.assign(Object.assign({},y),{id:e.id,name:e.name}),{location:l.LZ.NewInteractive,entity:l.py.Interactive,actionType:l.Vw.Create,workflowPhase:l.eu.Complete}),o.Q.C$.trigger({application:v.O.INTERACTIVES,action:m.e.Interactives.EDIT_INTERACTIVE,args:[e.id,e.name]}),k()}return{createInteractive:function(){n(!0);var e={name:f,duration:g,immediateFeedback:t,preventScrubbing:!1};r.a.fetch(w,u.b.createInteractive(e,S,E))}}}}}]);
|
|
2
|
-
//# sourceMappingURL=1726-c79cf77a51-lite.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/1726-c79cf77a51-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/choices-popup/components/choices/choices.scss","file:///app/packages/libs/shared/src/components/choices-popup/components/choices/Choices.tsx","file:///app/packages/libs/shared/src/components/choices-popup/ChoicesPopup.tsx","file:///app/packages/libs/shared/src/enums/InteractiveOriginType.ts","file:///app/packages/projects/lite/src/apps/interactives/views/new-interactive/NewInteractiveView.tsx","file:///app/packages/projects/lite/src/apps/interactives/views/new-interactive/useNewInteractiveCallbacks.ts"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"selected\":\"zWik0\",\"disabled\":\"bMSMv\"};","import React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\n\nimport styles from './choices.scss';\n\nexport interface ChoicePopupOption {\n id: string;\n title?: string;\n description?: string;\n imageUrl?: string;\n disabled?: boolean;\n imageClassName?: string;\n}\n\n\ninterface ChoiceProps {\n option?: ChoicePopupOption;\n selected: boolean | ((selectedChoice: boolean) => boolean);\n onSelect: (option: ChoicePopupOption) => void;\n}\n\nexport function Choice(props: React.PropsWithChildren<ChoiceProps>): React.ReactElement {\n function onSelect(): void {\n if (props.option?.disabled)\n return;\n\n props.onSelect(props.option);\n }\n\n let className = 'text-center cursor-pointer p-3 border rounded-3 mx-2 user-select-none w-50';\n\n if (props.selected)\n className += ` border-info ${styles.selected}`;\n\n if (props.option?.disabled)\n className += ` ${styles.disabled}`;\n\n return (\n <DivButton onClick={onSelect} className={className}>\n {props.option?.imageUrl && <img src={props.option.imageUrl} className={`img-fluid my-3 ${props.option.imageClassName ?? ''}`} draggable={false} />}\n {props.option?.title && <h2 className='h3'>{props.option.title}</h2>}\n {props.option?.description && <p className='mb-0' dangerouslySetInnerHTML={{ __html: props.option.description }}></p>}\n {props.children}\n </DivButton>\n );\n}\n\ninterface ChoicesProps {\n options: [ChoicePopupOption, ChoicePopupOption];\n selection: ChoicePopupOption | null;\n selectOption: (option: ChoicePopupOption) => void;\n}\n\nexport function Choices(props: ChoicesProps): React.ReactElement {\n return (\n <div className='d-flex mb-3 mx-n2'>\n {props.options.map(o => (\n <Choice\n key={o.id}\n option={o}\n selected={props.selection?.id === o.id}\n onSelect={props.selectOption}\n />\n ))}\n </div>\n );\n}","import React from 'react';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupViewProps } from 'libs/shared/interfaces';\n\nimport { PopupButtons, PopupCancelButtonProps, PopupSubmitButtonProps } from '../popup/PopupButtons';\n\nimport { ChoicePopupOption, Choices } from './components/choices/Choices';\n\ninterface ChoicesPopupProps {\n title: string;\n options: [ChoicePopupOption, ChoicePopupOption];\n selection: ChoicePopupOption | null;\n selectOption: (choice: ChoicePopupOption) => void;\n question?: string;\n showLoadingSpinner?: boolean;\n submitButtonProps?: PopupSubmitButtonProps;\n cancelButtonProps?: PopupCancelButtonProps;\n warningComponent?: JSX.Element;\n}\n\ntype PropTypes = ChoicesPopupProps & PopupViewProps;\n\nexport function ChoicesPopup(props: PropTypes): JSX.Element {\n return (\n <Popup\n size='lg'\n title={props.title}\n showLoadingSpinner={props.showLoadingSpinner}\n closePopup={props.closePopup}\n >\n <>\n {!!props.warningComponent && props.warningComponent}\n\n {props.question &&\n <h2 className='h5 text-center fw-semibold mb-3'>{props.question}</h2>\n }\n\n <Choices\n options={props.options}\n selection={props.selection}\n selectOption={props.selectOption}\n />\n\n <PopupButtons>\n {props.cancelButtonProps && <PopupButtons.Cancel {...props.cancelButtonProps} />}\n {props.submitButtonProps && <PopupButtons.Submit {...props.submitButtonProps} />}\n </PopupButtons>\n </>\n </Popup>\n );\n}","export enum InteractiveOriginType {\n Original = 0,\n Copy = 1\n}\n","import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ChoicesPopup } from 'libs/shared/components/choices-popup/ChoicesPopup';\nimport { ChoicePopupOption } from 'libs/shared/components/choices-popup/components/choices/Choices';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { CurrentUser, PopupViewProps, Video } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { useNewInteractiveCallbacks } from './useNewInteractiveCallbacks';\n\nconst namespace = 'shared.makeInteractive';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface NewInteractiveProps extends PopupViewProps {\n videoId: string;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function NewInteractiveView(props: NewInteractiveProps): React.ReactElement {\n const { videoId, closePopup } = props;\n\n const [ showSpinnerButton, setShowSpinnerButton ] = React.useState(false);\n const [ choice, setChoice ] = React.useState<ChoicePopupOption>(null);\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(videoId));\n\n const {\n createInteractive\n } = useNewInteractiveCallbacks({\n feedback: choice?.id === 'feedback',\n setShowSpinner: setShowSpinnerButton,\n closePopup,\n name: video.data?.name,\n duration: video.data?.duration,\n objectId: video.data?.id,\n currentUser: currentUser.data,\n baseAnalyticsData: { video: { id: videoId, name: video.data?.name } }\n });\n\n function cancelCreate(): void {\n AnalyticsHelper.logUserAction({\n video: { id: videoId, name: video.data?.name }\n }, {\n location: LocationContext.NewInteractive,\n entity: EntityType.Interactive,\n actionType: UserAction.Create,\n workflowPhase: WorkflowPhase.Discard\n });\n\n closePopup();\n }\n\n const choices: [ChoicePopupOption, ChoicePopupOption] = [{\n id: 'feedback',\n title: getPhrase('feedbackTitle'),\n description: getPhrase('feedbackDescription'),\n imageUrl: ImageUrls.Interactives.FeedbackOptions.FEEDBACK\n }, {\n id: 'no-feedback',\n title: getPhrase('noFeedbackTitle'),\n description: getPhrase('noFeedbackDescription'),\n imageUrl: ImageUrls.Interactives.FeedbackOptions.NO_FEEDBACK\n }];\n\n return (\n <ChoicesPopup\n title={getPhrase('title')}\n closePopup={closePopup}\n options={choices}\n selectOption={setChoice}\n selection={choice}\n showLoadingSpinner={!video.data || !currentUser.data}\n cancelButtonProps={{\n onClick: cancelCreate,\n text: getPhrase('cancel'),\n variant: 'link'\n }}\n submitButtonProps={{\n onClick: createInteractive,\n text: getPhrase('continue'),\n variant: 'dark',\n showSpinner: showSpinnerButton,\n disabled: !choice\n }}\n />\n );\n}\n","import { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\nimport { AnalyticsDataPayload } from 'libs/analytics/models/AnalyticsEvent';\n\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { InteractiveOriginType } from 'libs/shared/enums/InteractiveOriginType';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { CreateInteractiveMetadataRequest, CreateInteractiveRequest, CurrentUser, Interaction, InteractiveMetadata } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'shared.makeInteractive';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const useNewInteractiveCallbacks = (options: {\n feedback: boolean;\n setShowSpinner: (val: boolean) => void;\n objectId: string;\n name: string;\n duration: number;\n currentUser: CurrentUser;\n closePopup: () => void;\n baseAnalyticsData: AnalyticsDataPayload;\n}) => {\n const {\n feedback,\n setShowSpinner,\n objectId,\n name,\n duration,\n currentUser,\n closePopup,\n baseAnalyticsData\n } = options;\n\n const dispatch = useDispatch();\n const alerts = useAlerts();\n\n function onError(): void {\n setShowSpinner(false);\n alerts.error(getPhrase('error'));\n }\n\n function createInteractive(): void {\n setShowSpinner(true);\n const data: CreateInteractiveRequest = {\n name,\n duration: duration,\n immediateFeedback: feedback,\n preventScrubbing: false\n };\n\n /* 1st Request */\n Flight.fetch(\n dispatch,\n InteractiveRequests.createInteractive(\n data,\n onInteractiveCreated,\n onError\n )\n );\n }\n\n function onInteractiveCreated(resp: Interaction): void {\n const data: CreateInteractiveMetadataRequest = {\n name,\n interactiveId: resp.id,\n owner: { id: currentUser.id },\n originType: InteractiveOriginType.Original,\n status: CurationStatus.Draft\n };\n\n /* 2nd Request */\n Flight.fetch(\n dispatch,\n InteractiveRequests.createInteractiveMetadata(\n objectId,\n data,\n onInteractiveMetadataCreated,\n onError\n )\n );\n }\n\n function onInteractiveMetadataCreated(resp: InteractiveMetadata): void {\n AnalyticsHelper.logUserAction({\n ...baseAnalyticsData,\n id: resp.id,\n name: resp.name\n }, {\n location: LocationContext.NewInteractive,\n entity: EntityType.Interactive,\n actionType: UserAction.Create,\n workflowPhase: WorkflowPhase.Complete\n });\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.EDIT_INTERACTIVE,\n args: [ resp.id, resp.name ]\n });\n closePopup();\n }\n\n return {\n createInteractive\n };\n};\n\n"],"names":["Choice","props","className","selected","option","disabled","DivButton","onClick","onSelect","imageUrl","src","imageClassName","draggable","title","description","dangerouslySetInnerHTML","__html","children","Choices","options","map","o","key","id","selection","selectOption","ChoicesPopup","Popup","size","showLoadingSpinner","closePopup","warningComponent","question","PopupButtons","cancelButtonProps","submitButtonProps","InteractiveOriginType","getPhrase","NewInteractiveView","videoId","showSpinnerButton","setShowSpinnerButton","choice","setChoice","currentUser","video","createInteractive","feedback","setShowSpinner","name","data","duration","objectId","baseAnalyticsData","choices","location","entity","actionType","workflowPhase","text","variant","showSpinner","useNewInteractiveCallbacks","dispatch","alerts","onError","error","onInteractiveCreated","resp","interactiveId","owner","originType","status","onInteractiveMetadataCreated","application","action","args","immediateFeedback","preventScrubbing"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[1912],{52795:(e,t,n)=>{n.r(t),n.d(t,{EditClipTimepointsView:()=>Me});var r=n(32735),i=n(23481),o=n(81886),a=n(20354),u=n(28400),l=n(83345),c=n(95047),s=n(93264);const f={arrowContainer:"lFyGP",downArrow:"kuLky",upArrow:"_zBG5",inputContainer:"h0Hdv",focus:"IJSFr"};function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,u=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(u.push(r.value),u.length!==t);l=!0);}catch(e){c=!0,i=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return u}}(e,t)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var y=38,m=40,h=3600;function v(e){var t=p(r.useState("00"),2),n=t[0],i=t[1],o=p(r.useState("00"),2),a=o[0],u=o[1],l=p(r.useState("00"),2),d=l[0],v=l[1],b=p(r.useState(!1),2),g=b[0],T=b[1],w=r.useRef(null),S=r.useRef(null),O=e.duration&&e.duration>=h;function P(e){e.target.select(),T(!0)}function E(e,t,n){var r=e.target.value.replace(/\D/g,"").slice(0,2);t(r),2===r.length&&(null==n?void 0:n.current)&&requestAnimationFrame(function(){return n.current.focus()})}function C(){e.setTime(e.value+1)}function j(){e.setTime(e.value-1)}function _(t,r){var i;e.allowKeyboardInput&&((i=c.k.convertDurationToSeconds(n,a,d))<0||e.maxValue&&i>e.maxValue||e.setTime(i),r(t.target.value.padStart(2,"0")),T(!1))}function k(e){e.keyCode===y&&C(),e.keyCode===m&&j()}return r.useEffect(function(){var t;t=s.T.ToDisplayDuration(1e3*e.value,!0).split(":"),i(String(t[0]).padStart(2,"0")),u(t[1]),v(t[2])},[e.value]),r.createElement("div",{className:"".concat(f.inputContainer," ").concat(g?f.focus:""," position-relative bg-white d-flex align-items-center p-2 rounded-pill font-size-md")},r.createElement("div",{className:"".concat(O?"":"d-none")},r.createElement("input",{type:"text",className:"border-0 outline-none",value:n,maxLength:2,placeholder:"HH",onChange:function(e){return E(e,i,w)},onFocus:P,onBlur:function(e){return _(e,i)},onKeyDown:k,disabled:e.disabled}),r.createElement("span",null,":")),r.createElement("div",null,r.createElement("input",{ref:w,type:"text",className:"border-0 outline-none",value:a,maxLength:2,placeholder:"MM",onChange:function(e){return E(e,u,S)},onFocus:P,onBlur:function(e){return _(e,u)},onKeyDown:k,disabled:e.disabled}),r.createElement("span",null,":")),r.createElement("input",{ref:S,type:"text",className:"border-0 outline-none",value:d,maxLength:2,placeholder:"SS",onChange:function(e){return v(e.target.value)},onFocus:P,onBlur:function(e){return _(e,v)},onKeyDown:k,disabled:e.disabled}),!e.hideButtons&&r.createElement("div",null,r.createElement("div",{className:f.arrowContainer,onClick:C},r.createElement("div",{className:f.upArrow})),r.createElement("div",{className:f.arrowContainer,onClick:j},r.createElement("div",{className:f.downArrow}))))}v.defaultProps={allowKeyboardInput:!0,size:"lg"};var b="shared.clipTimeForm",g=i.T.encloseNamespace(b);function T(e){if(isNaN(e.startTime)||isNaN(e.endTime))return r.createElement(r.Fragment,null);var t=Math.floor(e.endTime)-Math.floor(e.startTime);return r.createElement("div",{className:"px-3"},r.createElement("form",{className:"d-flex align-items-center justify-content-center pb-4"},r.createElement("div",null,r.createElement(v,{value:e.startTime,setTime:e.setStartTime,duration:e.duration})),r.createElement("span",{className:"px-2"},"-"),r.createElement("div",{className:"me-2"},r.createElement(v,{value:e.endTime,setTime:e.setEndTime,duration:e.duration})),r.createElement("span",null,r.createElement("strong",null,r.createElement(l.x,{namespace:b,phrase:"duration"}))," ",s.T.ToDisplayDuration(1e3*t))),r.createElement("div",{className:"d-flex justify-content-end"},r.createElement("button",{className:"btn btn-link",onClick:e.onCancel},g("cancel")),r.createElement("button",{className:"btn btn-dark",onClick:e.onSubmit},g("next"))))}var w=n(60051),S=n(43012),O=n(39151),P=n(47812),E=n(1575),C=n(89476),j=n(79612),_=n(89961),k=n(43700),D=n(76032);function B(e){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},B(e)}function R(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,N(r.key),r)}}function N(e){var t=function(e){if("object"!=B(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=B(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==B(t)?t:t+""}function x(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(x=function(){return!!e})()}function A(e,t,n,r){var i=M(I(1&r?e.prototype:e),t,n);return 2&r&&"function"==typeof i?function(e){return i.apply(n,e)}:i}function M(){return M="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=I(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}},M.apply(null,arguments)}function I(e){return I=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},I(e)}function L(e,t){return L=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},L(e,t)}var F=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=I(t),function(e,t){if(t&&("object"==B(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,x()?Reflect.construct(t,n||[],I(e).constructor):t.apply(e,n))}(this,t,arguments)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&L(e,t)}(t,e),n=t,r=[{key:"buildCSSClass",value:function(){return"cv-clip-timepoint-handle ".concat(A(t,"buildCSSClass",this,3)([]))}},{key:"createEl",value:function(e,n,r){return A(t,"createEl",this,3)([e,Object.assign(Object.assign({},n),{className:this.buildCSSClass(),innerHTML:'<svg viewBox="0 0 5 14" pointer-events="none"><g id="Clips" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="Clip-2" transform="translate(-835.000000, -632.000000)" fill="#FFFFFF"><g id="Video-Copy" transform="translate(275.000000, 96.000000)"><g id="Handles" transform="translate(560.000000, 536.000000)"><circle id="Oval" cx="1" cy="1" r="1"></circle><circle id="Oval-Copy-2" cx="1" cy="5" r="1"></circle><circle id="Oval-Copy-4" cx="1" cy="9" r="1"></circle><circle id="Oval-Copy-8" cx="1" cy="13" r="1"></circle><circle id="Oval-Copy" cx="4" cy="1" r="1"></circle><circle id="Oval-Copy-3" cx="4" cy="5" r="1"></circle><circle id="Oval-Copy-5" cx="4" cy="9" r="1"></circle><circle id="Oval-Copy-9" cx="4" cy="13" r="1"></circle></g></g></g></g></svg>'}),r])}},{key:"isEventTarget",value:function(e){return this.el().contains(e.target)}}],r&&R(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(D.Z.getComponent("Component"));function H(e){return H="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},H(e)}function Z(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,U(r.key),r)}}function U(e){var t=function(e){if("object"!=H(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=H(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==H(t)?t:t+""}function K(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(K=function(){return!!e})()}function V(){return V="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=z(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}},V.apply(null,arguments)}function z(e){return z=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},z(e)}function G(e,t){return G=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},G(e,t)}var W=function(e){function t(e,n){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(r=function(e,t,n){return t=z(t),function(e,t){if(t&&("object"==H(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,K()?Reflect.construct(t,n||[],z(e).constructor):t.apply(e,n))}(this,t,[e,n])).dragStartActive=!1,r.dragEndActive=!1,r.dragSliderActive=!1,r.dragSliderCurrentPosition=null,r.minDuration=Math.min(e.duration(),r.options_.minDuration),r.setStartTime(n.startTime,!1),r.setEndTime(n.endTime,!1),r.startHandle=new F(r.player(),n),r.startHandle.addClass("cv-clip-start-handle"),r.addChild(r.startHandle),r.endHandle=new F(r.player(),n),r.endHandle.addClass("cv-clip-end-handle"),r.addChild(r.endHandle),r.on(r.player(),"update:clip:start:time",function(e){var t=e.time;return r.setStartTime(t)}),r.on(r.player(),"update:clip:end:time",function(e){var t=e.time;return r.setEndTime(t)}),r.bindListeners(),r.update(),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&G(e,t)}(t,e),n=t,r=[{key:"createEl",value:function(){return(e=t,n=this,"function"==typeof(r=V(z(1&3?e.prototype:e),"createEl",n))?function(e){return r.apply(n,e)}:r)(["div",{className:"cv-clip-timepoint-selector"},{}]);var e,n,r}},{key:"update",value:function(){var e=this;this.options_.onChangeStartTime(this.startTime),this.options_.onChangeEndTime(this.endTime),this.requestAnimationFrame(function(){e.setStartOffset(),e.setWidth()})}},{key:"setStartTime",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!isNaN(e)){var n=this.hasStartTime()&&this.hasEndTime()&&this.endTime-this.startTime,r=this.player().duration()-this.minDuration;if(e>r&&(e=r),e<0&&(e=0),this.startTime=e,this.endTime&&this.endTime-this.startTime<this.minDuration){var i="number"==typeof n?this.startTime+n:this.startTime+this.minDuration;this.setEndTime(i)}this.player().currentTime(this.startTime),t&&this.update()}}},{key:"setEndTime",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!isNaN(e)){var n=this.hasStartTime()&&this.hasEndTime()&&this.endTime-this.startTime,r=this.minDuration;if(e<r&&(e=r),e>this.player().duration()&&(e=this.player().duration()),this.endTime=e,this.startTime&&this.endTime-this.startTime<this.minDuration){var i="number"==typeof n?this.endTime-n:this.endTime-this.minDuration;this.setStartTime(i)}t&&this.update()}}},{key:"bindListeners",value:function(){var e=this;this.onTimeupdate=this.onTimeupdate.bind(this),this.player().on("timeupdate",this.onTimeupdate),this.on("mousedown",this.dragStart),this.on("touchstart",this.dragStart),this.player().on("dispose",function(){e.player().off("timeupdate",e.onTimeupdate),e.off("mousedown",e.dragStart),e.off("touchstart",e.dragStart)})}},{key:"hasStartTime",value:function(){return"number"==typeof this.startTime}},{key:"hasEndTime",value:function(){return"number"==typeof this.endTime}},{key:"onTimeupdate",value:function(){var e=this.player().currentTime();e>this.endTime&&e<this.endTime+.5&&this.player().pause()}},{key:"dragStart",value:function(e){this.startHandle.isEventTarget(e)&&(e.stopImmediatePropagation(),this.dragStartActive=!0),this.endHandle.isEventTarget(e)&&(e.stopImmediatePropagation(),this.dragEndActive=!0),e.target===this.el()&&(e.stopImmediatePropagation(),this.dragSliderActive=!0,this.dragSliderCurrentPosition=this.getPosition(e));var t=this.el().ownerDocument;this.on(t,"mousemove",this.drag),this.on(t,"mouseup",this.dragEnd),this.on(t,"touchmove",this.drag),this.on(t,"touchend",this.dragEnd),this.drag(e)}},{key:"dragEnd",value:function(){this.dragStartActive=!1,this.dragEndActive=!1,this.dragSliderActive=!1,this.dragSliderCurrentPosition=null;var e=this.el().ownerDocument;this.off(e,"mousemove",this.drag),this.off(e,"mouseup",this.dragEnd),this.off(e,"touchmove",this.drag),this.off(e,"touchend",this.dragEnd)}},{key:"drag",value:function(e){if((this.dragStartActive||this.dragEndActive||this.dragSliderActive)&&D.Z.dom.isSingleLeftClick(e)){var t=this.getPosition(e),n=t*this.player().duration();this.dragStartActive&&this.handleStartHandleDrag(n),this.dragEndActive&&this.handleEndHandleDrag(n),this.dragSliderActive&&this.handleSliderDrag(t)}}},{key:"handleStartHandleDrag",value:function(e){this.setStartTime(e)}},{key:"handleEndHandleDrag",value:function(e){this.setEndTime(e)}},{key:"handleSliderDrag",value:function(e){var t=(e-this.dragSliderCurrentPosition)*this.player().duration(),n=this.startTime+t,r=this.endTime+t;n<=0||r>=this.player().duration()||(this.dragSliderCurrentPosition=e,this.setStartTime(n),this.setEndTime(r))}},{key:"getPosition",value:function(e){return D.Z.dom.getPointerPosition(this.el_.parentNode,e).x}},{key:"setStartOffset",value:function(){this.el_.style.marginLeft="".concat(this.getPercentage(this.startTime),"%")}},{key:"setWidth",value:function(){this.el_.style.width="".concat(this.getPercentage(this.endTime-this.startTime),"%")}},{key:"getPercentage",value:function(e){return+(e/this.player().duration()*100).toFixed(4)}}],r&&Z(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(D.Z.getComponent("Component"));function $(e){return $="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$(e)}function q(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Q(r.key),r)}}function Q(e){var t=function(e){if("object"!=$(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=$(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==$(t)?t:t+""}function J(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(J=function(){return!!e})()}function Y(){return Y="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=X(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}},Y.apply(null,arguments)}function X(e){return X=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},X(e)}function ee(e,t){return ee=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ee(e,t)}var te=function(e){function t(e,n){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(r=function(e,t,n){return t=X(t),function(e,t){if(t&&("object"==$(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,J()?Reflect.construct(t,n||[],X(e).constructor):t.apply(e,n))}(this,t,[e,n])).seekBar_=n.seekBar,r.playProgressBar_=n.playProgressBar,r.bindListeners(),r.player_.one("dispose",function(){r.unbindListeners()}),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ee(e,t)}(t,e),n=t,r=[{key:"createEl",value:function(e,n,r){return(i=t,o=this,"function"==typeof(a=Y(X(1&3?i.prototype:i),"createEl",o))?function(e){return a.apply(o,e)}:a)([e,Object.assign(Object.assign({},n),{className:"cv-create-clip-progress-indicator"}),r]);var i,o,a}},{key:"bindListeners",value:function(){this.on("mousedown",this.handleMouseDown),this.on("touchstart",this.handleMouseDown)}},{key:"unbindListeners",value:function(){var e=this.el_.ownerDocument;this.off("mousedown",this.handleMouseDown),this.off("touchstart",this.handleMouseDown),this.off(e,"mousemove",this.handleMouseMove),this.off(e,"mouseup",this.handleMouseUp),this.off(e,"touchmove",this.handleMouseMove),this.off(e,"touchend",this.handleMouseUp)}},{key:"handleMouseDown",value:function(e){if(D.Z.dom.isSingleLeftClick(e)){e.stopPropagation(),"mousedown"===e.type&&e.preventDefault(),"touchstart"!==e.type||D.Z.browser.IS_CHROME||e.preventDefault(),this.player_.scrubbing(!0),this.videoWasPlaying_=!this.player_.paused(),this.player_.pause(),D.Z.dom.blockTextSelection();var t=this.el_.ownerDocument;this.on(t,"mousemove",this.handleMouseMove),this.on(t,"mouseup",this.handleMouseUp),this.on(t,"touchmove",this.handleMouseMove),this.on(t,"touchend",this.handleMouseUp),this.handleMouseMove(e),this.player_.addClass("cv-hide-mouse-time")}}},{key:"handleMouseMove",value:function(e){if(D.Z.dom.isSingleLeftClick(e)){var t=D.Z.dom.getPointerPosition(this.seekBar_.el_,e).x*this.player_.duration();t===this.player_.duration()&&(t-=.1),this.player_.currentTime(t),this.playProgressBar_.update()}}},{key:"handleMouseUp",value:function(e){D.Z.dom.unblockTextSelection();var t=this.el_.ownerDocument;this.off(t,"mousemove",this.handleMouseMove),this.off(t,"mouseup",this.handleMouseUp),this.off(t,"touchmove",this.handleMouseMove),this.off(t,"touchend",this.handleMouseUp),null==e||e.stopPropagation(),this.player_.scrubbing(!1),this.player_.trigger({type:"timeupdate",target:this,manuallyTriggered:!0}),this.videoWasPlaying_&&this.player_.play(),this.seekBar_.update(),this.player_.removeClass("cv-hide-mouse-time")}}],r&&q(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(D.Z.getComponent("Component"));function ne(e){return ne="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ne(e)}function re(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ie(r.key),r)}}function ie(e){var t=function(e){if("object"!=ne(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ne(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ne(t)?t:t+""}function oe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(oe=function(){return!!e})()}function ae(e){return ae=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ae(e)}function ue(e,t){return ue=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ue(e,t)}D.Z.registerComponent("CreateClipProgressIndicator",te);var le=function(e){function t(e,n){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(r=function(e,t,n){return t=ae(t),function(e,t){if(t&&("object"==ne(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,oe()?Reflect.construct(t,n||[],ae(e).constructor):t.apply(e,n))}(this,t,[e,n])).addClass("cv-create-clip-seek-bar"),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ue(e,t)}(t,e),n=t,(r=[{key:"initialize",value:function(e){var t=new W(this.player(),e);this.addChild(t);var n=this.getChild("playProgressBar"),r=new te(this.player_,{seekBar:this,playProgressBar:n});n.addChild(r)}}])&&re(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(D.Z.getComponent("SeekBar"));function ce(e){return ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ce(e)}function se(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,fe(r.key),r)}}function fe(e){var t=function(e){if("object"!=ce(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ce(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ce(t)?t:t+""}function pe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(pe=function(){return!!e})()}function de(){return de="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=ye(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}},de.apply(null,arguments)}function ye(e){return ye=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ye(e)}function me(e,t){return me=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},me(e,t)}le.prototype.options_={children:["playProgressBar"],barName:"playProgressBar"},D.Z.browser.IS_IOS||D.Z.browser.IS_ANDROID||le.prototype.options_.children.splice(1,0,"mouseTimeDisplay"),D.Z.registerComponent("CreateClipSeekBar",le);var he=function(e){function t(e,n){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(r=function(e,t,n){return t=ye(t),function(e,t){if(t&&("object"==ce(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,pe()?Reflect.construct(t,n||[],ye(e).constructor):t.apply(e,n))}(this,t,[e,n])).options=n,r.initCreateClipSeekBar=r.initCreateClipSeekBar.bind(r),r.player.one("loadedmetadata",function(){return r.player.ready(r.initCreateClipSeekBar)}),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&me(e,t)}(t,e),n=t,r=[{key:"initCreateClipSeekBar",value:function(){var e,t=null===(e=this.player.controlBar.getChild("ProgressControl"))||void 0===e?void 0:e.getChild("SeekBar");if(t){var n=!isNaN(this.options.startTime)&&this.options.startTime>=0?this.options.startTime:0,r=!isNaN(this.options.endTime)&&this.options.endTime<=this.player.duration()?this.options.endTime:this.player.duration(),i=Math.min(this.options.minDuration||5,this.player.duration());t.initialize({startTime:n,endTime:r,minDuration:i,onChangeStartTime:this.options.onChangeStartTime,onChangeEndTime:this.options.onChangeEndTime})}}},{key:"dispose",value:function(){var e,n,r;this.player.off("loadedmetadata",this.initCreateClipSeekBar),(e=t,n=this,"function"==typeof(r=de(ye(1&3?e.prototype:e),"dispose",n))?function(e){return r.apply(n,e)}:r)([])}}],r&&se(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(D.Z.getPlugin("plugin"));function ve(e){return ve="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ve(e)}function be(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ge(r.key),r)}}function ge(e){var t=function(e){if("object"!=ve(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ve(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ve(t)?t:t+""}function Te(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Te=function(){return!!e})()}function we(){return we="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Se(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}},we.apply(null,arguments)}function Se(e){return Se=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Se(e)}function Oe(e,t){return Oe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Oe(e,t)}D.Z.registerPlugin("createClipPlugin",he);var Pe=function(e){function t(e,n){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=Se(t),function(e,t){if(t&&("object"==ve(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Te()?Reflect.construct(t,n||[],Se(e).constructor):t.apply(e,n))}(this,t,[e,Object.assign(Object.assign({},n),{allowFullscreen:!1,playbackRates:null,enableLocalCache:!1})])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Oe(e,t)}(t,e),n=t,r=[{key:"getPlayerClassName",value:function(){return"cv-create-clip-player"}},{key:"configurePlugins",value:function(){var e=this.options,t=e.startTime,n=e.endTime,r=e.minDuration,i=e.onChangeStartTime,o=e.onChangeEndTime;this.player.createClipPlugin({startTime:t,endTime:n,minDuration:r,onChangeStartTime:i,onChangeEndTime:o})}},{key:"getPlayerOptions",value:function(){var e,n,r,i=(e=t,n=this,"function"==typeof(r=we(Se(1&3?e.prototype:e),"getPlayerOptions",n))?function(e){return r.apply(n,e)}:r)([]);return i.inactivityTimeout=0,i}},{key:"getSeekBarName",value:function(){return"CreateClipSeekBar"}},{key:"getAnalyticsPlayerType",value:function(){return"create-clip-player"}}],r&&be(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(k.r),Ee=n(63816);function Ce(e){var t=e.onReady,n=e.onDispose,i=r.useRef(null),o=r.useRef(null);return r.useEffect(function(){var r;if(null===(r=o.current)||void 0===r||r.dispose(),i)return o.current=new Pe(i.current,e),t&&o.current.ready(function(){t((0,Ee.G)(o.current))}),n&&o.current.one("dispose",n),function(){var e;null===(e=o.current)||void 0===e||e.dispose()}},[e.viewKey]),r.useEffect(function(){var t;null===(t=o.current)||void 0===t||t.trigger({type:"update:clip:start:time",time:e.startTime})},[e.startTime]),r.useEffect(function(){var t;null===(t=o.current)||void 0===t||t.trigger({type:"update:clip:end:time",time:e.endTime})},[e.endTime]),r.createElement("div",{ref:i})}var je=n(14070),_e=n(97291);function ke(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,u=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(u.push(r.value),u.length!==t);l=!0);}catch(e){c=!0,i=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return u}}(e,t)||function(e,t){if(e){if("string"==typeof e)return De(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?De(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function De(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var Be="edit-clip-timepoints",Re="shared.editClipTimepoints",Ne=i.T.encloseNamespace(Re),xe=30,Ae=5;function Me(e){var t,n,l,c=r.useRef(null),s=function(e){if(!e)return 0;var t=Number(e);return isNaN(t)?0:t}(e.startTime),f=ke(r.useState(s),2),p=f[0],d=f[1],y=ke(r.useState(s+xe),2),m=y[0],h=y[1],v=a.a.useBasicFetch(O.L.config()),b=a.a.useBasicFetch(!!e.id&&S.e.clip(e.id)),g=(null===(n=null===(t=b.data)||void 0===t?void 0:t._parentVideo)||void 0===n?void 0:n.id)||e.videoId,k=a.a.useBasicFetch(!!g&&P.k.createViewKey(g,w.f.MasterObject)),D=a.a.useBasicFetch(!!g&&E.R.video(g)),B=ke(r.useState(0),2),R=B[0],N=B[1],x=(0,C.f)();return(0,j.M)({title:e.id?null===(l=b.data)||void 0===l?void 0:l.name:Ne("pageTitle")}),r.useEffect(function(){x.lock({id:Be,title:i.T.getPhrase(Re,"navLockTitle"),text:i.T.getPhrase(Re,"navLockBody")})},[]),r.useEffect(function(){b.data&&(d(b.data.startTime),h(b.data.endTime))},[b.data]),e.id||e.videoId?r.createElement("div",{className:"px-3"},!!v.data&&!!k.data&&!!D.data&&(!e.id||!!b.data)&&r.createElement("div",{className:"pb-3"},r.createElement("div",{className:"mb-3"},r.createElement(Ce,{onReady:function(e){c.current=e,e.on("durationchange",function(){return N(e.duration())})},playerApi:new URL(v.data.playerApiUrl),viewKey:k.data.viewKey,startTime:p,endTime:m,onChangeStartTime:d,onChangeEndTime:h,minDuration:Ae,autoplay:!0})),r.createElement(T,{startTime:p,endTime:m,setStartTime:d,setEndTime:h,onSubmit:function(){var t="";p>m&&(t=Ne("startTimeGreaterThanEndTime")),m-p<Ae&&(t=Ne("tooShort",{minDuration:Ae})),t?function(e){_.M.render(r.createElement("p",null,e),{title:Ne("errorHeading"),cancelButtonProps:{variant:"link",text:Ne("close")}})}(t):(x.unlock(Be),o.Q.C$.trigger({application:_e.O.CLIPS,action:e.id?je.e.Clips.EDIT_CLIP_DETAILS_POPUP:je.e.Clips.CREATE_CLIP_DETAILS,args:e.id?[e.id]:[e.videoId],params:{startTime:p,endTime:m,isCopying:e.isCopying}}))},onCancel:function(){var e,t,n,r,i=null!==(t=null===(e=c.current)||void 0===e?void 0:e.currentTime())&&void 0!==t?t:0;o.Q.C$.trigger({application:_e.O.VIDEOS,action:je.e.Videos.PLAY_VIDEO,args:[null===(n=D.data)||void 0===n?void 0:n.id,u.m.slugify(null===(r=D.data)||void 0===r?void 0:r.name)],params:{t:i}})},duration:R}))):r.createElement(r.Fragment,null)}},63816:(e,t,n)=>{function r(e){return new Proxy(e,{get:function(e,t,n){if("off"===t||!e.isDisposed())return Reflect.get(e,t,n)}})}n.d(t,{G:()=>r})}}]);
|
|
2
|
-
//# sourceMappingURL=1912-1f78dc635a-lite.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/1912-1f78dc635a-lite.chunk.js","mappings":"6PACA,SAAgB,eAAiB,QAAQ,UAAY,QAAQ,QAAU,QAAQ,eAAiB,QAAQ,MAAQ,S,ggCCOhH,IAAMA,EAAmB,GACnBC,EAAqB,GAErBC,EAAO,KA8CP,SAAUC,EAAUC,GACxB,IAAgD,IAApB,WAAe,MAAK,GAAxCC,EAAK,KAAEC,EAAQ,KAC6B,IAApB,WAAe,MAAK,GAA5CC,EAAO,KAAEC,EAAU,KACyB,IAApB,WAAe,MAAK,GAA5CC,EAAO,KAAEC,EAAU,KACsB,IAArB,YAAe,GAAM,GAAzCC,EAAK,KAAEC,EAAQ,KAEjBC,EAAa,SAAa,MAC1BC,EAAa,SAAa,MAE1BC,EAAYX,EAAMY,UAAYZ,EAAMY,UAAYd,EAEtD,SAASe,EAAYC,GACnBA,EAAEC,OAAOC,SACTR,GAAS,EACX,CAEA,SAASS,EACPC,EACAC,EACAC,GAEA,IACMC,EADaH,EAAMH,OAAOO,MACEC,QAAQ,MAAO,IAAIC,MAAM,EAAG,GAC9DL,EAASE,GAGqB,IAA1BA,EAAeI,SAAgBL,aAAY,EAAZA,EAAcM,UAC/CC,sBAAsB,kBAAMP,EAAaM,QAAQnB,OAAO,EAC5D,CAEA,SAASqB,IACP5B,EAAM6B,QAAQ7B,EAAMsB,MAAQ,EAC9B,CAEA,SAASQ,IACP9B,EAAM6B,QAAQ7B,EAAMsB,MAAQ,EAC9B,CAEA,SAASS,EACPb,EACAC,GAUF,IAAoBG,EARbtB,EAAMgC,sBAQOV,EALPW,EAAA,2BAAoChC,EAAOE,EAASE,IAMnD,GAGRL,EAAMkC,UAAYZ,EAAQtB,EAAMkC,UAGpClC,EAAM6B,QAAQP,GAXdH,EAASD,EAAMH,OAAOO,MAAMa,SAAS,EAAG,MACxC3B,GAAS,GACX,CAoBA,SAAS4B,EAActB,GACjBA,EAAEuB,UAAYzC,GAChBgC,IAEEd,EAAEuB,UAAYxC,GAChBiC,GACJ,CAMA,OAJA,YAAgB,WAhBhB,IACQQ,IAAkBC,EAAA,oBAA+C,IAAdvC,EAAMsB,OAAc,GAAMkB,MAAM,KAEzFtC,EAASuC,OAAOH,EAAgB,IAAIH,SAAS,EAAG,MAChD/B,EAAWkC,EAAgB,IAC3BhC,EAAWgC,EAAgB,GAa7B,EAAG,CAACtC,EAAMsB,QAGR,uBAAKoB,UAAS,UAAK,iBAAqB,YAAInC,EAAQ,QAAe,GAAE,wFACnE,uBAAKmC,UAAS,UAAK/B,EAAY,GAAK,WAClC,yBACEgC,KAAK,OACLD,UAAU,wBACVpB,MAAOrB,EACP2C,UAAW,EACXC,YAAY,KACZC,SAAU,SAAAhC,GAAC,OAAIG,EAAaH,EAAGZ,EAAUO,EAAW,EACpDsC,QAASlC,EACTmC,OAAQ,SAAAlC,GAAC,OAAIiB,EAAWjB,EAAGZ,EAAS,EACpC+C,UAAWb,EACXc,SAAUlD,EAAMkD,WAElB,kCAEF,2BACE,yBACEC,IAAK1C,EACLkC,KAAK,OACLD,UAAU,wBACVpB,MAAOnB,EACPyC,UAAW,EACXC,YAAY,KACZC,SAAU,SAAAhC,GAAC,OAAIG,EAAaH,EAAGV,EAAYM,EAAW,EACtDqC,QAASlC,EACTmC,OAAQ,SAAAlC,GAAC,OAAIiB,EAAWjB,EAAGV,EAAW,EACtC6C,UAAWb,EACXc,SAAUlD,EAAMkD,WAElB,kCAEF,yBACEC,IAAKzC,EACLiC,KAAK,OACLD,UAAU,wBACVpB,MAAOjB,EACPuC,UAAW,EACXC,YAAY,KACZC,SAAU,SAAAhC,GAAC,OAAIR,EAAWQ,EAAEC,OAAOO,MAAM,EACzCyB,QAASlC,EACTmC,OAAQ,SAAAlC,GAAC,OAAIiB,EAAWjB,EAAGR,EAAW,EACtC2C,UAAWb,EACXc,SAAUlD,EAAMkD,YAEhBlD,EAAMoD,aACN,2BACE,uBAAKV,UAAW,iBAAuBW,QAASzB,GAC9C,uBAAKc,UAAW,aAElB,uBAAKA,UAAW,iBAAuBW,QAASvB,GAC9C,uBAAKY,UAAW,gBAM5B,CA/IA3C,EAAUuD,aAAe,CACvBtB,oBAAoB,EACpBuB,KAAM,MC9CR,IAAMC,EAAY,sBACZC,EAAYC,EAAA,mBAAiCF,GAe7C,SAAUG,EAAa3D,GAC3B,GAAI4D,MAAM5D,EAAM6D,YAAcD,MAAM5D,EAAM8D,SACxC,OAAO,iCAMT,IAAMlD,EAAWmD,KAAKC,MAAMhE,EAAM8D,SAAWC,KAAKC,MAAMhE,EAAM6D,WAE9D,OACE,uBAAKnB,UAAU,QACb,wBAAMA,UAAU,yDACd,2BACE,gBAAC3C,EAAS,CACRuB,MAAOtB,EAAM6D,UACbhC,QAAS7B,EAAMiE,aACfrD,SAAUZ,EAAMY,YAGpB,wBAAM8B,UAAU,QAAM,KACtB,uBAAKA,UAAU,QACb,gBAAC3C,EAAS,CACRuB,MAAOtB,EAAM8D,QACbjC,QAAS7B,EAAMkE,WACftD,SAAUZ,EAAMY,YAGpB,4BACE,8BAAQ,gBAACuD,EAAA,EAAI,CAACX,UAAWA,EAAWY,OAAO,cAAsB,IAEhE7B,EAAA,oBAA8C,IAAZ3B,KAGvC,uBAAK8B,UAAU,8BACb,0BAAQA,UAAU,eAAeW,QAASrD,EAAMqE,UAC7CZ,EAAU,WAEb,0BAAQf,UAAU,eAAeW,QAASrD,EAAMsE,UAC7Cb,EAAU,UAKrB,C,2lDClEA,IAKac,EAA4B,gC,4FAAA,S,qYAAA,0B,qRAAA,M,EAAA,E,EAAA,4BAChC,WACL,MAAO,4BAAP,uCACF,GAAC,sBAEM,SAASC,EAAkBC,EAAkBC,GAClD,OAAO,EAAP,oBAAO,CAAP,CAAsBF,EAAS,OAAF,wBACxBC,GAAU,CACb/B,UAAWiC,KAAKC,gBAChBC,UAXY,2wBAYXH,GACL,GAAC,2BAEM,SAAc5D,GACnB,OAAO6D,KAAKG,KAAKC,SAASjE,EAAEC,OAC9B,I,gFAAC,CAfsC,CALvB,iBAAqB,c,g3CCAvC,IAgBaiE,EAAsB,YAyBjC,WAAYC,EAAuBC,GAAqC,MAoBxD,O,4FApBwD,UACtE,E,qYAAA,SAAMD,EAAQC,KAPRC,iBAA2B,EAC3B,EAAAC,eAAyB,EACzB,EAAAC,kBAA4B,EAE5B,EAAAC,0BAAoC,KAK1C,EAAKC,YAAcxB,KAAKyB,IAAIP,EAAOrE,WAAY,EAAK6E,SAASF,aAE7D,EAAKtB,aAAaiB,EAAQrB,WAAW,GACrC,EAAKK,WAAWgB,EAAQpB,SAAS,GAEjC,EAAK4B,YAAc,IAAInB,EAA4B,EAAKU,SAAUC,GAClE,EAAKQ,YAAYC,SAAS,wBAC1B,EAAKC,SAAS,EAAKF,aAEnB,EAAKG,UAAY,IAAItB,EAA4B,EAAKU,SAAUC,GAChE,EAAKW,UAAUF,SAAS,sBACxB,EAAKC,SAAS,EAAKC,WAEnB,EAAKC,GAAG,EAAKb,SAAU,yBAA0B,gBAAGc,EAAI,EAAJA,KAAI,OAAO,EAAK9B,aAAa8B,EAAK,GACtF,EAAKD,GAAG,EAAKb,SAAU,uBAAwB,gBAAGc,EAAI,EAAJA,KAAI,OAAO,EAAK7B,WAAW6B,EAAK,GAElF,EAAKC,gBACL,EAAKC,SAAS,CAChB,CAAC,O,qRAAA,M,EAAA,E,EAAA,uBAEM,WACL,O,EAAA,E,EAAA,K,2BAAA,E,eAAA,W,wCAAA,CAAsB,MAAO,CAC3BvD,UAAW,8BACV,CAAC,I,SACN,GAAC,oBAEO,WAAM,WACZiC,KAAKc,SAASS,kBAAkBvB,KAAKd,WACrCc,KAAKc,SAASU,gBAAgBxB,KAAKb,SAEnCa,KAAKhD,sBAAsB,WACzB,EAAKyE,iBACL,EAAKC,UACP,EACF,GAAC,0BAEO,SAAaN,GAA0C,IAA5BO,IAAA,yDACjC,IAAI1C,MAAMmC,GAAV,CAGA,IAAMQ,EAAkB5B,KAAK6B,gBAAkB7B,KAAK8B,cAAiB9B,KAAKb,QAAUa,KAAKd,UAEnF6C,EAAe/B,KAAKM,SAASrE,WAAa+D,KAAKY,YAUrD,GARIQ,EAAOW,IACTX,EAAOW,GAELX,EAAO,IACTA,EAAO,GAETpB,KAAKd,UAAYkC,EAEbpB,KAAKb,SAAYa,KAAKb,QAAUa,KAAKd,UAAYc,KAAKY,YAAc,CACtE,IAAMoB,EAAwC,iBAApBJ,EACtB5B,KAAKd,UAAY0C,EACjB5B,KAAKd,UAAYc,KAAKY,YAE1BZ,KAAKT,WAAWyC,EACjB,CAKDhC,KAAKM,SAAS2B,YAAYjC,KAAKd,WAE3ByC,GACF3B,KAAKsB,QA5BC,CA6BV,GAAC,wBAEO,SAAWF,GAA0C,IAA5BO,IAAA,yDAC/B,IAAI1C,MAAMmC,GAAV,CAGA,IAAMQ,EAAkB5B,KAAK6B,gBAAkB7B,KAAK8B,cAAiB9B,KAAKb,QAAUa,KAAKd,UAEnFgD,EAAalC,KAAKY,YAUxB,GARIQ,EAAOc,IACTd,EAAOc,GAELd,EAAOpB,KAAKM,SAASrE,aACvBmF,EAAOpB,KAAKM,SAASrE,YAEvB+D,KAAKb,QAAUiC,EAEXpB,KAAKd,WAAcc,KAAKb,QAAUa,KAAKd,UAAYc,KAAKY,YAAc,CACxE,IAAMuB,EAA0C,iBAApBP,EACxB5B,KAAKb,QAAUyC,EACf5B,KAAKb,QAAUa,KAAKY,YAExBZ,KAAKV,aAAa6C,EACnB,CAEGR,GACF3B,KAAKsB,QAvBC,CAwBV,GAAC,2BAEO,WAAa,WACnBtB,KAAKoC,aAAepC,KAAKoC,aAAaC,KAAKrC,MAC3CA,KAAKM,SAASa,GAAG,aAAcnB,KAAKoC,cAEpCpC,KAAKmB,GAAG,YAAanB,KAAKsC,WAC1BtC,KAAKmB,GAAG,aAAcnB,KAAKsC,WAG3BtC,KAAKM,SAASa,GAAG,UAAW,WAC1B,EAAKb,SAASiC,IAAI,aAAc,EAAKH,cACrC,EAAKG,IAAI,YAAa,EAAKD,WAC3B,EAAKC,IAAI,aAAc,EAAKD,UAC9B,EACF,GAAC,0BAEO,WACN,MAAiC,iBAAnBtC,KAAKd,SACrB,GAAC,wBAEO,WACN,MAA+B,iBAAjBc,KAAKb,OACrB,GAAC,0BAEO,WAIN,IAAM8C,EAAcjC,KAAKM,SAAS2B,cAC9BA,EAAcjC,KAAKb,SAAW8C,EAAejC,KAAKb,QAAU,IAC9Da,KAAKM,SAASkC,OAClB,GAAC,uBAEO,SAAUrG,GACZ6D,KAAKe,YAAY0B,cAActG,KACjCA,EAAEuG,2BACF1C,KAAKQ,iBAAkB,GAGrBR,KAAKkB,UAAUuB,cAActG,KAC/BA,EAAEuG,2BACF1C,KAAKS,eAAgB,GAGnBtE,EAAEC,SAAW4D,KAAKG,OACpBhE,EAAEuG,2BACF1C,KAAKU,kBAAmB,EACxBV,KAAKW,0BAA4BX,KAAK2C,YAAYxG,IAGpD,IAAMyG,EAAM5C,KAAKG,KAAK0C,cAEtB7C,KAAKmB,GAAGyB,EAAK,YAAa5C,KAAK8C,MAC/B9C,KAAKmB,GAAGyB,EAAK,UAAW5C,KAAK+C,SAC7B/C,KAAKmB,GAAGyB,EAAK,YAAa5C,KAAK8C,MAC/B9C,KAAKmB,GAAGyB,EAAK,WAAY5C,KAAK+C,SAE9B/C,KAAK8C,KAAK3G,EACZ,GAAC,qBAEO,WACN6D,KAAKQ,iBAAkB,EACvBR,KAAKS,eAAgB,EACrBT,KAAKU,kBAAmB,EACxBV,KAAKW,0BAA4B,KAEjC,IAAMiC,EAAM5C,KAAKG,KAAK0C,cAEtB7C,KAAKuC,IAAIK,EAAK,YAAa5C,KAAK8C,MAChC9C,KAAKuC,IAAIK,EAAK,UAAW5C,KAAK+C,SAC9B/C,KAAKuC,IAAIK,EAAK,YAAa5C,KAAK8C,MAChC9C,KAAKuC,IAAIK,EAAK,WAAY5C,KAAK+C,QACjC,GAAC,kBAEO,SAAK5G,GACX,IAAK6D,KAAKQ,iBAAoBR,KAAKS,eAAkBT,KAAKU,mBAAqB,0BAA8BvE,GAA7G,CAGA,IAAM6G,EAAWhD,KAAK2C,YAAYxG,GAE5B8G,EAAYD,EAAWhD,KAAKM,SAASrE,WAEvC+D,KAAKQ,iBACPR,KAAKkD,sBAAsBD,GAEzBjD,KAAKS,eACPT,KAAKmD,oBAAoBF,GAEvBjD,KAAKU,kBACPV,KAAKoD,iBAAiBJ,EAbhB,CAcV,GAAC,mCAEO,SAAsBC,GAC5BjD,KAAKV,aAAa2D,EACpB,GAAC,iCAEO,SAAoBA,GAC1BjD,KAAKT,WAAW0D,EAClB,GAAC,8BAEO,SAAiBD,GACvB,IAAMK,GAAkBL,EAAWhD,KAAKW,2BAA6BX,KAAKM,SAASrE,WAC7EkG,EAAenC,KAAKd,UAAYmE,EAChCrB,EAAahC,KAAKb,QAAUkE,EAM9BlB,GAAgB,GAAKH,GAAchC,KAAKM,SAASrE,aAGrD+D,KAAKW,0BAA4BqC,EACjChD,KAAKV,aAAa6C,GAClBnC,KAAKT,WAAWyC,GAClB,GAAC,yBAEO,SAAY7F,GAClB,OAAO,2BAA+B6D,KAAKsD,IAAIC,WAA2BpH,GAAGqH,CAC/E,GAAC,4BAEO,WACNxD,KAAKsD,IAAIG,MAAMC,WAAa,GAAH,OAAM1D,KAAK2D,cAAc3D,KAAKd,WAAU,IACnE,GAAC,sBAEO,WACNc,KAAKsD,IAAIG,MAAMG,MAAQ,GAAH,OAAM5D,KAAK2D,cAAc3D,KAAKb,QAAUa,KAAKd,WAAU,IAC7E,GAAC,2BAEO,SAAckC,GACpB,QAAUA,EAAOpB,KAAKM,SAASrE,WAAa,KAAK4H,QAAQ,EAC3D,I,gFAAC,CA/PgC,CAhBjB,iBAAqB,c,m3CCAvC,IASaC,GAA4B,YAMvC,WAAYxD,EAAuBC,GAA2C,MASzE,O,4FATyE,UAC5E,E,qYAAA,SAAMD,EAAQC,KAETwD,SAAWxD,EAAQyD,QACxB,EAAKC,iBAAmB1D,EAAQ2D,gBAEhC,EAAK7C,gBACL,EAAK8C,QAAQC,IAAI,UAAW,WAC1B,EAAKC,iBACP,GAAG,CACL,CAAC,O,sRAAA,M,EAAA,E,EAAA,uBAEM,SAASxE,EAAkBC,EAAkBwE,GAClD,O,EAAA,E,EAAA,K,2BAAA,E,eAAA,W,wCAAA,CAAsBzE,EAAS,OAAF,wBACxBC,GAAU,CACb/B,UAAW,sCACVuG,I,SACL,GAAC,2BAEO,WACNtE,KAAKmB,GAAG,YAAanB,KAAKuE,iBAC1BvE,KAAKmB,GAAG,aAAcnB,KAAKuE,gBAC7B,GAAC,6BAEO,WACN,IAAM3B,EAAO5C,KAAKsD,IAAYT,cAE9B7C,KAAKuC,IAAI,YAAavC,KAAKuE,iBAC3BvE,KAAKuC,IAAI,aAAcvC,KAAKuE,iBAC5BvE,KAAKuC,IAAIK,EAAK,YAAa5C,KAAKwE,iBAChCxE,KAAKuC,IAAIK,EAAK,UAAW5C,KAAKyE,eAC9BzE,KAAKuC,IAAIK,EAAK,YAAa5C,KAAKwE,iBAChCxE,KAAKuC,IAAIK,EAAK,WAAY5C,KAAKyE,cACjC,GAAC,6BAEO,SAAgBlI,GAEtB,GAAK,0BAA8BA,GAAnC,CAGAA,EAAMmI,kBACa,cAAfnI,EAAMyB,MACRzB,EAAMoI,iBAUW,eAAfpI,EAAMyB,MAA0B,uBAClCzB,EAAMoI,iBAER3E,KAAKmE,QAAQS,WAAU,GACvB5E,KAAK6E,kBAAoB7E,KAAKmE,QAAQW,SACtC9E,KAAKmE,QAAQ3B,QAEb,6BAEA,IAAMI,EAAO5C,KAAKsD,IAAYT,cAE9B7C,KAAKmB,GAAGyB,EAAK,YAAa5C,KAAKwE,iBAC/BxE,KAAKmB,GAAGyB,EAAK,UAAW5C,KAAKyE,eAC7BzE,KAAKmB,GAAGyB,EAAK,YAAa5C,KAAKwE,iBAC/BxE,KAAKmB,GAAGyB,EAAK,WAAY5C,KAAKyE,eAE9BzE,KAAKwE,gBAAgBjI,GAErByD,KAAKmE,QAAQnD,SAAS,qBAhCd,CAiCV,GAAC,6BAEO,SAAgBzE,GAEtB,GAAK,0BAA8BA,GAAnC,CAGA,IAEIwI,EAFa,2BAAgC/E,KAAK+D,SAAiBT,IAAK/G,GAAOiH,EAE1DxD,KAAKmE,QAAQlI,WAGlC8I,IAAY/E,KAAKmE,QAAQlI,aAC3B8I,GAAoB,IAEtB/E,KAAKmE,QAAQlC,YAAY8C,GACxB/E,KAAKiE,iBAAyB3C,QAXvB,CAYV,GAAC,2BAEO,SAAc/E,GACpB,+BAEA,IAAMqG,EAAO5C,KAAKsD,IAAYT,cAE9B7C,KAAKuC,IAAIK,EAAK,YAAa5C,KAAKwE,iBAChCxE,KAAKuC,IAAIK,EAAK,UAAW5C,KAAKyE,eAC9BzE,KAAKuC,IAAIK,EAAK,YAAa5C,KAAKwE,iBAChCxE,KAAKuC,IAAIK,EAAK,WAAY5C,KAAKyE,eAE/BlI,SAAAA,EAAOmI,kBACP1E,KAAKmE,QAAQS,WAAU,GACvB5E,KAAKmE,QAAQa,QAAQ,CAAEhH,KAAM,aAAc5B,OAAQ4D,KAAMiF,mBAAmB,IACxEjF,KAAK6E,kBACP7E,KAAKmE,QAAQe,OAGdlF,KAAK+D,SAAiBzC,SACvBtB,KAAKmE,QAAQgB,YAAY,qBAC3B,I,gFAAC,CAnHsC,CATvB,iBAAqB,c,okCA+HvC,sBAA0B,8BAA+BrB,ICvHzD,IAIasB,GAAkB,YAC7B,WAAY9E,EAAuBC,GAAY,MAGJ,O,4FAHI,UAC7C,E,yYAAA,SAAMD,EAAQC,KAETS,SAAS,2BAA2B,CAC3C,CAAC,O,sRAAA,M,EAAA,G,EAAA,yBAEM,SAAWT,GAChB,IAAM8E,EAAoB,IAAIhF,EAAsBL,KAAKM,SAAUC,GAEnEP,KAAKiB,SAASoE,GAEd,IAAMnB,EAAkBlE,KAAKsF,SAAS,mBAChCC,EAAY,IAAIzB,GAA4B9D,KAAKmE,QAAS,CAC9DH,QAAShE,KACTkE,gBAAAA,IAEFA,EAAgBjD,SAASsE,EAC3B,M,8EAAC,CAlB4B,CAJf,iBAAqB,Y,q4CAyBrCH,GAAkBI,UAAU1E,SAAW,CACrC2E,SAAU,CAAC,mBACXC,QAAS,mBAIN,oBAA2B,wBAC9BN,GAAkBI,UAAU1E,SAAS2E,SAASE,OAAO,EAAG,EAAG,oBAG7D,sBAA0B,oBAAqBP,ICrC/C,IAYMQ,GAAiB,YAGrB,WAAYtF,EAAuBC,GAAgC,MAOsB,O,4FAPtB,UACjE,E,yYAAA,SAAMD,EAAQC,KAETA,QAAUA,EAEf,EAAKsF,sBAAwB,EAAKA,sBAAsBxD,KAAK,GAE7D,EAAK/B,OAAO8D,IAAI,iBAAkB,kBAAM,EAAK9D,OAAOwF,MAAM,EAAKD,sBAAsB,GAAE,CACzF,CAAC,O,sRAAA,M,EAAA,E,EAAA,oCAEO,W,MACA7B,EAA4D,QAAlD,EAAAhE,KAAKM,OAAOyF,WAAWT,SAAS,0BAAkB,eAAEA,SAAS,WAE7E,GAAKtB,EAAL,CAGA,IAAM9E,GAAcD,MAAMe,KAAKO,QAAQrB,YAAcc,KAAKO,QAAQrB,WAAa,EAC3Ec,KAAKO,QAAQrB,UACb,EAEEC,GAAYF,MAAMe,KAAKO,QAAQpB,UAAYa,KAAKO,QAAQpB,SAAWa,KAAKM,OAAOrE,WACjF+D,KAAKO,QAAQpB,QACba,KAAKM,OAAOrE,WAEV2E,EAAcxB,KAAKyB,IAAIb,KAAKO,QAAQK,aArCZ,EAqCsDZ,KAAKM,OAAOrE,YAEhG+H,EAAQgC,WAAW,CACjB9G,UAAAA,EACAC,QAAAA,EACAyB,YAAAA,EACAW,kBAAmBvB,KAAKO,QAAQgB,kBAChCC,gBAAiBxB,KAAKO,QAAQiB,iBAjBxB,CAmBV,GAAC,qBAEM,W,UACLxB,KAAKM,OAAOiC,IAAI,iBAAkBvC,KAAK6F,wB,EACvC,E,EAAA,K,6BAAA,E,eAAA,U,wCAAA,GACF,I,iFAAC,CAzCoB,CAZR,cAAkB,W,q4CAwDjC,mBAAuB,mBAAoBD,IC9CpC,IAAMK,GAAiB,YAG5B,WAAYC,EAAsB3F,GAAgC,O,4FAAA,S,yYAAA,SAC1D2F,EAAI,OAAF,wBACH3F,GAAO,CACV4F,iBAAiB,EACjBC,cAAe,KACfC,kBAAkB,KAEtB,CAAC,O,sRAAA,M,EAAA,E,EAAA,iCAES,WACR,MAAO,uBACT,GAAC,8BAES,WACR,MAAgFrG,KAAKO,QAA7ErB,EAAS,EAATA,UAAWC,EAAO,EAAPA,QAASyB,EAAW,EAAXA,YAAaW,EAAiB,EAAjBA,kBAAmBC,EAAe,EAAfA,gBAC5DxB,KAAKM,OAAOgG,iBAAiB,CAAEpH,UAAAA,EAAWC,QAAAA,EAASyB,YAAAA,EAAaW,kBAAAA,EAAmBC,gBAAAA,GACrF,GAAC,8BAES,WACR,I,MAAMjB,G,EAAO,E,EAAA,K,6BAAA,E,eAAA,mB,wCAAA,IAEb,OADAA,EAAQgG,kBAAoB,EACrBhG,CACT,GAAC,4BAES,WACR,MAAO,mBACT,GAAC,oCAES,WACR,MAAO,oBACT,I,iFAAC,CAjC2B,CAAQ,K,YCRhC,SAAUiG,GAA0BnL,GACxC,IAAQoL,EAAuBpL,EAAvBoL,QAASC,EAAcrL,EAAdqL,UAEXlI,EAAM,SAAa,MACnBmI,EAAY,SAA+B,MAiCjD,OA/BA,YAAgB,W,MAGd,GAFiB,QAAjB,EAAAA,EAAU5J,eAAO,SAAE6J,UAEdpI,EAeL,OAZAmI,EAAU5J,QAAU,IAAIkJ,GAAiBzH,EAAIzB,QAAS1B,GAElDoL,GACFE,EAAU5J,QAAQ+I,MAAM,WACtBW,GAAQ,EAAAI,GAAA,GAASF,EAAU5J,SAC7B,GAGE2J,GACFC,EAAU5J,QAAQqH,IAAI,UAAWsC,GAG5B,W,MACY,QAAjB,EAAAC,EAAU5J,eAAO,SAAE6J,SACrB,CACF,EAAG,CAACvL,EAAMyL,UAEV,YAAgB,W,MACG,QAAjB,EAAAH,EAAU5J,eAAO,SAAEiI,QAAQ,CAAEhH,KAAM,yBAA0BoD,KAAM/F,EAAM6D,WAC3E,EAAG,CAAC7D,EAAM6D,YAEV,YAAgB,W,MACG,QAAjB,EAAAyH,EAAU5J,eAAO,SAAEiI,QAAQ,CAAEhH,KAAM,uBAAwBoD,KAAM/F,EAAM8D,SACzE,EAAG,CAAC9D,EAAM8D,UAGR,uBAAKX,IAAKA,GAEd,C,giCC1BA,IAAMuI,GAAc,uBACd,GAAY,4BACZ,GAAYhI,EAAA,mBAAiC,IAE7CiI,GAAmB,GACnBC,GAAe,EA8Bf,SAAUC,GAAuB7L,G,UAC/BsL,EAAY,SAA+B,MAE3CQ,EAjBR,SAA4BxK,GAC1B,IAAKA,EAAO,OAAO,EAEnB,IAAMyK,EAASC,OAAO1K,GACtB,OAAOsC,MAAMmI,GAAU,EAAIA,CAC7B,CAY2BE,CAAmBjM,EAAM6D,WAE0B,KAAxC,WAAuBiI,GAAiB,GAApEjI,EAAS,KAAEI,EAAY,KAC4D,KAA3D,WAAuB6H,EAAmBH,IAAiB,GAAnF7H,EAAO,KAAEI,EAAU,KAErBgI,EAAS,kBAA6BC,EAAA,YACtCC,EAAO,oBAA6BpM,EAAM6K,IAAMwB,EAAA,OAAkBrM,EAAM6K,KACxEyB,GAAiC,QAAvB,EAAS,QAAT,EAAAF,EAAKG,YAAI,eAAEC,oBAAY,eAAE3B,KAAM7K,EAAMsM,QAC/Cb,EAAU,oBAAsCa,GACpDG,EAAA,gBAA6BH,EAASI,EAAA,iBAClCC,EAAQ,oBAA8BL,GAAWM,EAAA,QAAoBN,IAEhB,KAAzB,WAAuB,GAAE,GAAnD1L,EAAQ,KAAEiM,EAAW,KAEvBC,GAAU,EAAAC,EAAA,KA6DhB,OA3DA,EAAAC,EAAA,GAAmB,CAAEC,MAAOjN,EAAM6K,GAAc,QAAT,EAAAuB,EAAKG,YAAI,eAAEW,KAAO,GAAU,eAEnE,YAAgB,WACdJ,EAAQK,KAAK,CACXtC,GAAIa,GACJuB,MAAOvJ,EAAA,YAA0B,GAAW,gBAC5C0J,KAAM1J,EAAA,YAA0B,GAAW,gBAE/C,EAAG,IAEH,YAAgB,WACT0I,EAAKG,OAGVtI,EAAamI,EAAKG,KAAK1I,WACvBK,EAAWkI,EAAKG,KAAKzI,SACvB,EAAG,CAACsI,EAAKG,OA2CJvM,EAAM6K,IAAO7K,EAAMsM,QAItB,uBAAK5J,UAAU,UACVwJ,EAAOK,QAAUd,EAAQc,QAAUI,EAAMJ,QAAUvM,EAAM6K,MAAQuB,EAAKG,OACvE,uBAAK7J,UAAU,QACb,uBAAKA,UAAU,QACb,gBAACyI,GAAyB,CACxBC,QAlDZ,SAAiBnG,GACfqG,EAAU5J,QAAUuD,EAEpBA,EAAOa,GAAG,iBAAkB,kBAAM+G,EAAY5H,EAAOrE,WAAW,EAClE,EA+CYyM,UAAW,IAAIC,IAAIpB,EAAOK,KAAKgB,cAC/B9B,QAASA,EAAQc,KAAKd,QACtB5H,UAAWA,EACXC,QAASA,EACToC,kBAAmBjC,EACnBkC,gBAAiBjC,EACjBqB,YAAaqG,GACb4B,UAAQ,KAGZ,gBAAC7J,EAAY,CACXE,UAAWA,EACXC,QAASA,EACTG,aAAcA,EACdC,WAAYA,EACZI,SA5DV,WACE,IAAImJ,EAAQ,GAER5J,EAAYC,IACd2J,EAAQ,GAAU,gCAEhB3J,EAAUD,EAAY+H,KACxB6B,EAAQ,GAAU,WAAY,CAAElI,YAAaqG,MAE3C6B,EAhFR,SAAqBA,GACnBC,EAAA,SAEI,yBAAID,GACH,CACDR,MAAO,GAAU,gBACjBU,kBAAmB,CACjBC,QAAS,OACTR,KAAM,GAAU,WAIxB,CAqEMS,CAAYJ,IAIdX,EAAQgB,OAAOpC,IAEf,eAA2B,CACzBqC,YAAa,WACbC,OAAQhO,EAAM6K,GAAK,mCAAwC,+BAC3DoD,KAAMjO,EAAM6K,GAAK,CAAC7K,EAAM6K,IAAM,CAAC7K,EAAMsM,SACrC4B,OAAQ,CAAErK,UAAAA,EAAWC,QAAAA,EAASqK,UAAWnO,EAAMmO,aAEnD,EAuCU9J,SArCV,W,YACQR,EAA4C,QAAhC,EAAiB,QAAjB,EAAAyH,EAAU5J,eAAO,eAAEkF,qBAAa,QAAI,EAEtD,eAA2B,CACzBmH,YAAa,YACbC,OAAQ,uBACRC,KAAM,CAAY,QAAV,EAAAtB,EAAMJ,YAAI,eAAE1B,GAAIuD,EAAA,UAA6B,QAAV,EAAAzB,EAAMJ,YAAI,eAAEW,OACvDgB,OAAQ,CAAEG,EAAGxK,IAEjB,EA6BUjD,SAAUA,MA1BX,gCAgCX,C,kBCxKM,SAAU4K,EAA+BvG,GAC7C,OAAO,IAAIqJ,MAAMrJ,EAAQ,CACvBsJ,IAAG,SAACxN,EAAWyN,EAAWC,GAIxB,GAAU,QAAND,IAAezN,EAAO2N,aAG1B,OAAOC,QAAQJ,IAAIxN,EAAQyN,EAAGC,EAChC,GAEJ,C","sources":["file:///app/packages/libs/shared/src/components/time-input/time-input.scss","file:///app/packages/libs/shared/src/components/time-input/TimeInput.tsx","file:///app/packages/libs/shared/src/apps/clips/components/clip-time-form/ClipTimeForm.tsx","file:///app/packages/projects/player/src/plugins/create-clip-plugin/components/clip-timepoint-selector/clip-timepoint-selector-handle.ts","file:///app/packages/projects/player/src/plugins/create-clip-plugin/components/clip-timepoint-selector/clip-timepoint-selector.ts","file:///app/packages/projects/player/src/plugins/create-clip-plugin/components/create-clip-progress-indicator/create-clip-progress-indicator.ts","file:///app/packages/projects/player/src/plugins/create-clip-plugin/components/create-clip-seek-bar/create-clip-seek-bar.ts","file:///app/packages/projects/player/src/plugins/create-clip-plugin/create-clip-plugin.ts","file:///app/packages/projects/player/src/players/create-clip-player.ts","file:///app/packages/projects/player/src/react/CreateClipPlayer.tsx","file:///app/packages/projects/lite/src/shared/views/edit-clip-timepoints/EditClipTimepointsView.tsx","file:///app/packages/projects/player/src/utils/getProxy.ts"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"arrowContainer\":\"lFyGP\",\"downArrow\":\"kuLky\",\"upArrow\":\"_zBG5\",\"inputContainer\":\"h0Hdv\",\"focus\":\"IJSFr\"};","import * as React from 'react';\n\nimport { TimeHelper } from 'libs/common/react/utils/TimeHelper';\n\nimport { DurationHelper } from 'libs/shared/utils/DurationHelper';\n\nimport styles from './time-input.scss';\n\nconst UP_ARROW_KEYCODE = 38;\nconst DOWN_ARROW_KEYCODE = 40;\n\nconst HOUR = 3600; // hour in seconds;\n\ninterface TimeInputProps {\n /**\n * A time in seconds\n */\n value: number;\n\n /**\n * Callback to set time where time is in seconds.\n *\n * Will be called on blur.\n */\n setTime: (time: number) => void;\n\n /**\n * Allows a time to be typed in by the user.\n *\n * Note: this doesn't include UP/DOWN keyboard arrows which are always enabled.\n */\n allowKeyboardInput?: boolean;\n\n formSize?: 'md' | 'lg';\n\n hasError?: boolean;\n\n /**\n * Time in seconds to logically cap the maximum input value\n */\n maxValue?: number;\n\n disabled?: boolean;\n\n /**\n * If set to true, will hide the up and down arrow buttons\n */\n hideButtons?: boolean;\n\n duration?: number;\n}\n\nTimeInput.defaultProps = {\n allowKeyboardInput: true,\n size: 'lg'\n};\n\nexport function TimeInput(props: TimeInputProps): JSX.Element {\n const [ hours, setHours ] = React.useState('00');\n const [ minutes, setMinutes ] = React.useState('00');\n const [ seconds, setSeconds ] = React.useState('00');\n const [ focus, setFocus ] = React.useState(false);\n\n const minutesRef = React.useRef(null);\n const secondsRef = React.useRef(null);\n\n const showHours = props.duration && props.duration >= HOUR;\n\n function handleFocus(e: React.FocusEvent<HTMLInputElement>) {\n e.target.select();\n setFocus(true);\n }\n\n function handleChange(\n event: React.ChangeEvent<HTMLInputElement>,\n setValue: (value: string) => void,\n nextInputRef?: React.MutableRefObject<HTMLInputElement>\n ) {\n const inputValue = event.target.value;\n const formattedValue = inputValue.replace(/\\D/g, '').slice(0, 2);\n setValue(formattedValue);\n\n \n if (formattedValue.length === 2 && nextInputRef?.current)\n requestAnimationFrame(() => nextInputRef.current.focus());\n }\n\n function increment(): void {\n props.setTime(props.value + 1);\n }\n\n function decrement(): void {\n props.setTime(props.value - 1);\n }\n\n function handleBlur(\n event: React.ChangeEvent<HTMLInputElement>,\n setValue: (value: string) => void\n ): void {\n if (!props.allowKeyboardInput)\n return;\n\n updateTime(TimeHelper.convertDurationToSeconds(hours, minutes, seconds));\n setValue(event.target.value.padStart(2, '0'));\n setFocus(false);\n }\n\n function updateTime(value: number) {\n if (value < 0)\n return;\n \n if (props.maxValue && value > props.maxValue)\n return;\n \n props.setTime(value);\n }\n\n function setTimeInputs() {\n const displayDuration = DurationHelper.ToDisplayDuration(props.value * 1000, true).split(':');\n\n setHours(String(displayDuration[0]).padStart(2, '0'));\n setMinutes(displayDuration[1]);\n setSeconds(displayDuration[2]);\n }\n\n function handleKeyDown(e: React.KeyboardEvent) {\n if (e.keyCode === UP_ARROW_KEYCODE)\n increment();\n\n if (e.keyCode === DOWN_ARROW_KEYCODE)\n decrement();\n }\n\n React.useEffect(() => {\n setTimeInputs();\n }, [props.value]);\n\n return (\n <div className={`${styles.inputContainer} ${focus ? styles.focus : ''} position-relative bg-white d-flex align-items-center p-2 rounded-pill font-size-md`}>\n <div className={`${showHours ? '' : 'd-none'}`}>\n <input\n type='text'\n className='border-0 outline-none'\n value={hours}\n maxLength={2}\n placeholder='HH'\n onChange={e => handleChange(e, setHours, minutesRef)}\n onFocus={handleFocus}\n onBlur={e => handleBlur(e, setHours)}\n onKeyDown={handleKeyDown}\n disabled={props.disabled}\n />\n <span>:</span>\n </div>\n <div>\n <input\n ref={minutesRef}\n type='text'\n className='border-0 outline-none'\n value={minutes}\n maxLength={2}\n placeholder='MM'\n onChange={e => handleChange(e, setMinutes, secondsRef)}\n onFocus={handleFocus}\n onBlur={e => handleBlur(e, setMinutes)}\n onKeyDown={handleKeyDown}\n disabled={props.disabled}\n />\n <span>:</span>\n </div>\n <input\n ref={secondsRef}\n type='text'\n className='border-0 outline-none'\n value={seconds}\n maxLength={2}\n placeholder='SS'\n onChange={e => setSeconds(e.target.value)}\n onFocus={handleFocus}\n onBlur={e => handleBlur(e, setSeconds)}\n onKeyDown={handleKeyDown}\n disabled={props.disabled}\n />\n {!props.hideButtons &&\n <div>\n <div className={styles.arrowContainer} onClick={increment}>\n <div className={styles.upArrow} />\n </div>\n <div className={styles.arrowContainer} onClick={decrement}>\n <div className={styles.downArrow} />\n </div>\n </div>\n }\n </div>\n );\n}\n\n","import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { TimeInput } from 'libs/shared/components/time-input/TimeInput';\nimport { DurationHelper } from 'libs/shared/utils/DurationHelper';\n\nconst namespace = 'shared.clipTimeForm';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\n/**\n * All times are in seconds.\n */\ninterface ClipTimeFormProps {\n startTime: number;\n endTime: number;\n setStartTime: (time: number) => void;\n setEndTime: (time: number) => void;\n onSubmit: () => void;\n onCancel: () => void;\n duration: number;\n}\n\nexport function ClipTimeForm(props: ClipTimeFormProps): JSX.Element {\n if (isNaN(props.startTime) || isNaN(props.endTime))\n return <></>;\n\n /**\n * DurationHelper.ToDisplayDuration in TimeInput will truncate as decimals\n * so we floor the times when displaying the duration.\n */\n const duration = Math.floor(props.endTime) - Math.floor(props.startTime);\n\n return (\n <div className='px-3'>\n <form className='d-flex align-items-center justify-content-center pb-4'>\n <div>\n <TimeInput\n value={props.startTime}\n setTime={props.setStartTime}\n duration={props.duration}\n />\n </div>\n <span className='px-2'>-</span>\n <div className='me-2'>\n <TimeInput\n value={props.endTime}\n setTime={props.setEndTime}\n duration={props.duration}\n />\n </div>\n <span>\n <strong><Text namespace={namespace} phrase='duration' /></strong>\n \n {DurationHelper.ToDisplayDuration((duration) * 1000)}\n </span>\n </form>\n <div className='d-flex justify-content-end'>\n <button className='btn btn-link' onClick={props.onCancel}>\n {getPhrase('cancel')}\n </button>\n <button className='btn btn-dark' onClick={props.onSubmit}>\n {getPhrase('next')}\n </button>\n </div>\n </div>\n );\n}\n","import videojs from 'video.js';\n\nconst Component = videojs.getComponent('Component');\n\n// tslint:disable-next-line\nconst handleSvg = '<svg viewBox=\"0 0 5 14\" pointer-events=\"none\"><g id=\"Clips\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"><g id=\"Clip-2\" transform=\"translate(-835.000000, -632.000000)\" fill=\"#FFFFFF\"><g id=\"Video-Copy\" transform=\"translate(275.000000, 96.000000)\"><g id=\"Handles\" transform=\"translate(560.000000, 536.000000)\"><circle id=\"Oval\" cx=\"1\" cy=\"1\" r=\"1\"></circle><circle id=\"Oval-Copy-2\" cx=\"1\" cy=\"5\" r=\"1\"></circle><circle id=\"Oval-Copy-4\" cx=\"1\" cy=\"9\" r=\"1\"></circle><circle id=\"Oval-Copy-8\" cx=\"1\" cy=\"13\" r=\"1\"></circle><circle id=\"Oval-Copy\" cx=\"4\" cy=\"1\" r=\"1\"></circle><circle id=\"Oval-Copy-3\" cx=\"4\" cy=\"5\" r=\"1\"></circle><circle id=\"Oval-Copy-5\" cx=\"4\" cy=\"9\" r=\"1\"></circle><circle id=\"Oval-Copy-9\" cx=\"4\" cy=\"13\" r=\"1\"></circle></g></g></g></g></svg>';\n\nexport class ClipTimepointSelectorHandle extends Component {\n public buildCSSClass(): string {\n return `cv-clip-timepoint-handle ${super.buildCSSClass()}`;\n }\n\n public createEl(tagName?: string, properties?: any, attributes?: any): Element {\n return super.createEl(tagName, {\n ...properties,\n className: this.buildCSSClass(),\n innerHTML: handleSvg\n }, attributes);\n }\n\n public isEventTarget(e: videojs.EventTarget.Event): boolean {\n return this.el().contains(e.target as Node);\n }\n}","import videojs, { VideoJsPlayer } from 'video.js';\n\nconst Component = videojs.getComponent('Component');\n\nimport {\n ClipTimepointSelectorHandle\n} from 'projects/player/plugins/create-clip-plugin/components/clip-timepoint-selector/clip-timepoint-selector-handle';\n\nimport './clip-timepoint-selector.scss';\n\nexport interface ClipTimepointSelectorOptions extends videojs.ComponentOptions {\n startTime: number;\n endTime: number;\n minDuration: number;\n onChangeStartTime: (startTime: number) => void;\n onChangeEndTime: (endTime: number) => void;\n}\n\nexport class ClipTimepointSelector extends Component {\n // tslint:disable-next-line\n public options_: ClipTimepointSelectorOptions;\n\n // tslint:disable-next-line\n public el_: HTMLElement;\n\n private minDuration: number;\n\n /**\n * These variables shouldn't be set directly.\n * setStartTime and setEndTime should be used.\n */\n private startTime: number;\n private endTime: number;\n\n private startHandle: ClipTimepointSelectorHandle;\n private endHandle: ClipTimepointSelectorHandle;\n\n private dragStartActive: boolean = false;\n private dragEndActive: boolean = false;\n private dragSliderActive: boolean = false;\n\n private dragSliderCurrentPosition: number = null;\n\n constructor(player: VideoJsPlayer, options: ClipTimepointSelectorOptions) {\n super(player, options);\n\n this.minDuration = Math.min(player.duration(), this.options_.minDuration);\n\n this.setStartTime(options.startTime, false);\n this.setEndTime(options.endTime, false);\n\n this.startHandle = new ClipTimepointSelectorHandle(this.player(), options);\n this.startHandle.addClass('cv-clip-start-handle');\n this.addChild(this.startHandle);\n\n this.endHandle = new ClipTimepointSelectorHandle(this.player(), options);\n this.endHandle.addClass('cv-clip-end-handle');\n this.addChild(this.endHandle);\n\n this.on(this.player(), 'update:clip:start:time', ({ time }) => this.setStartTime(time));\n this.on(this.player(), 'update:clip:end:time', ({ time }) => this.setEndTime(time));\n\n this.bindListeners();\n this.update();\n }\n\n public createEl(): Element {\n return super.createEl('div', {\n className: 'cv-clip-timepoint-selector'\n }, {});\n }\n\n private update(): void {\n this.options_.onChangeStartTime(this.startTime);\n this.options_.onChangeEndTime(this.endTime);\n\n this.requestAnimationFrame(() => {\n this.setStartOffset();\n this.setWidth();\n });\n }\n\n private setStartTime(time: number, shouldUpdate: boolean = true): void {\n if (isNaN(time))\n return;\n\n const currentDuration = this.hasStartTime() && this.hasEndTime() && (this.endTime - this.startTime);\n\n const maxStartTime = this.player().duration() - this.minDuration;\n\n if (time > maxStartTime)\n time = maxStartTime;\n\n if (time < 0)\n time = 0;\n\n this.startTime = time;\n\n if (this.endTime && (this.endTime - this.startTime < this.minDuration)) {\n const newEndTime = typeof currentDuration === 'number'\n ? this.startTime + currentDuration\n : this.startTime + this.minDuration;\n\n this.setEndTime(newEndTime);\n }\n\n /**\n * Seek player to the clip start time.\n */\n this.player().currentTime(this.startTime);\n\n if (shouldUpdate)\n this.update();\n }\n\n private setEndTime(time: number, shouldUpdate: boolean = true): void {\n if (isNaN(time))\n return;\n\n const currentDuration = this.hasStartTime() && this.hasEndTime() && (this.endTime - this.startTime);\n\n const minEndTime = this.minDuration;\n\n if (time < minEndTime)\n time = minEndTime;\n\n if (time > this.player().duration())\n time = this.player().duration();\n\n this.endTime = time;\n\n if (this.startTime && (this.endTime - this.startTime < this.minDuration)) {\n const newStartTime = typeof currentDuration === 'number'\n ? this.endTime - currentDuration\n : this.endTime - this.minDuration;\n\n this.setStartTime(newStartTime);\n }\n\n if (shouldUpdate)\n this.update();\n }\n\n private bindListeners(): void {\n this.onTimeupdate = this.onTimeupdate.bind(this);\n this.player().on('timeupdate', this.onTimeupdate);\n\n this.on('mousedown', this.dragStart);\n this.on('touchstart', this.dragStart);\n \n\n this.player().on('dispose', () => {\n this.player().off('timeupdate', this.onTimeupdate);\n this.off('mousedown', this.dragStart);\n this.off('touchstart', this.dragStart);\n });\n }\n\n private hasStartTime(): boolean {\n return typeof this.startTime === 'number';\n }\n\n private hasEndTime(): boolean {\n return typeof this.endTime === 'number';\n }\n\n private onTimeupdate(): void {\n /**\n * Pause the player if it plays past the end point\n */\n const currentTime = this.player().currentTime();\n if (currentTime > this.endTime && currentTime < (this.endTime + 0.5))\n this.player().pause();\n }\n\n private dragStart(e: videojs.EventTarget.Event): void {\n if (this.startHandle.isEventTarget(e)) {\n e.stopImmediatePropagation();\n this.dragStartActive = true;\n }\n\n if (this.endHandle.isEventTarget(e)) {\n e.stopImmediatePropagation();\n this.dragEndActive = true;\n }\n\n if (e.target === this.el()) {\n e.stopImmediatePropagation();\n this.dragSliderActive = true;\n this.dragSliderCurrentPosition = this.getPosition(e);\n }\n\n const doc = this.el().ownerDocument as unknown as Element;\n\n this.on(doc, 'mousemove', this.drag);\n this.on(doc, 'mouseup', this.dragEnd);\n this.on(doc, 'touchmove', this.drag);\n this.on(doc, 'touchend', this.dragEnd);\n\n this.drag(e);\n }\n\n private dragEnd(): void {\n this.dragStartActive = false;\n this.dragEndActive = false;\n this.dragSliderActive = false;\n this.dragSliderCurrentPosition = null;\n\n const doc = this.el().ownerDocument as unknown as Element;\n\n this.off(doc, 'mousemove', this.drag);\n this.off(doc, 'mouseup', this.dragEnd);\n this.off(doc, 'touchmove', this.drag);\n this.off(doc, 'touchend', this.dragEnd);\n }\n\n private drag(e: videojs.EventTarget.Event): void {\n if (!this.dragStartActive && !this.dragEndActive && !this.dragSliderActive || !videojs.dom.isSingleLeftClick(e))\n return;\n \n const position = this.getPosition(e);\n\n const timepoint = position * this.player().duration();\n\n if (this.dragStartActive)\n this.handleStartHandleDrag(timepoint);\n\n if (this.dragEndActive)\n this.handleEndHandleDrag(timepoint);\n\n if (this.dragSliderActive)\n this.handleSliderDrag(position);\n }\n\n private handleStartHandleDrag(timepoint: number): void {\n this.setStartTime(timepoint);\n }\n\n private handleEndHandleDrag(timepoint: number): void {\n this.setEndTime(timepoint);\n }\n\n private handleSliderDrag(position: number): void {\n const timeDifference = (position - this.dragSliderCurrentPosition) * this.player().duration();\n const newStartTime = this.startTime + timeDifference;\n const newEndTime = this.endTime + timeDifference;\n\n /**\n * Don't move if the clip is already at the beginning and/or end\n * of the video.\n */\n if (newStartTime <= 0 || newEndTime >= this.player().duration())\n return;\n\n this.dragSliderCurrentPosition = position;\n this.setStartTime(newStartTime);\n this.setEndTime(newEndTime);\n }\n\n private getPosition(e: videojs.EventTarget.Event): number {\n return videojs.dom.getPointerPosition(this.el_.parentNode as HTMLElement, e).x;\n }\n\n private setStartOffset(): void {\n this.el_.style.marginLeft = `${this.getPercentage(this.startTime)}%`;\n }\n\n private setWidth(): void {\n this.el_.style.width = `${this.getPercentage(this.endTime - this.startTime)}%`;\n }\n\n private getPercentage(time: number): number {\n return +((time / this.player().duration() * 100).toFixed(4));\n }\n}","import videojs, { VideoJsPlayer } from 'video.js';\n\nconst Component = videojs.getComponent('Component');\n\nimport './create-clip-progress-indicator.scss';\n\ninterface CreateClipProgressIndicatorOptions extends videojs.ComponentOptions {\n seekBar: videojs.Component;\n playProgressBar: videojs.Component;\n}\n\nexport class CreateClipProgressIndicator extends Component {\n private el_: HTMLDivElement;\n private seekBar_: videojs.Component;\n private playProgressBar_: videojs.Component;\n private videoWasPlaying_: boolean;\n\n constructor(player: VideoJsPlayer, options: CreateClipProgressIndicatorOptions) {\n super(player, options);\n\n this.seekBar_ = options.seekBar;\n this.playProgressBar_ = options.playProgressBar;\n\n this.bindListeners();\n this.player_.one('dispose', () => {\n this.unbindListeners();\n });\n }\n\n public createEl(tagName?: string, properties?: any, attribtues?: any): Element {\n return super.createEl(tagName, {\n ...properties,\n className: 'cv-create-clip-progress-indicator'\n }, attribtues);\n }\n\n private bindListeners(): void {\n this.on('mousedown', this.handleMouseDown);\n this.on('touchstart', this.handleMouseDown);\n }\n\n private unbindListeners(): void {\n const doc = (this.el_ as any).ownerDocument;\n\n this.off('mousedown', this.handleMouseDown);\n this.off('touchstart', this.handleMouseDown);\n this.off(doc, 'mousemove', this.handleMouseMove);\n this.off(doc, 'mouseup', this.handleMouseUp);\n this.off(doc, 'touchmove', this.handleMouseMove);\n this.off(doc, 'touchend', this.handleMouseUp);\n }\n\n private handleMouseDown(event: videojs.EventTarget.Event): void {\n // Prevent handling right and middle mouse clicks\n if (!videojs.dom.isSingleLeftClick(event))\n return;\n\n event.stopPropagation();\n if (event.type === 'mousedown')\n event.preventDefault();\n\n /**\n * Comment below copied over from videojs - Sha\n * \n * Do not call preventDefault() on touchstart in Chrome\n * to avoid console warnings. Use a 'touch-action: none' style\n * instead to prevent unintented scrolling.\n * https://developers.google.com/web/updates/2017/01/scrolling-intervention\n */\n if (event.type === 'touchstart' && !videojs.browser.IS_CHROME)\n event.preventDefault();\n\n this.player_.scrubbing(true);\n this.videoWasPlaying_ = !this.player_.paused();\n this.player_.pause();\n\n videojs.dom.blockTextSelection();\n\n const doc = (this.el_ as any).ownerDocument;\n\n this.on(doc, 'mousemove', this.handleMouseMove);\n this.on(doc, 'mouseup', this.handleMouseUp);\n this.on(doc, 'touchmove', this.handleMouseMove);\n this.on(doc, 'touchend', this.handleMouseUp);\n\n this.handleMouseMove(event);\n\n this.player_.addClass('cv-hide-mouse-time');\n }\n\n private handleMouseMove(event: videojs.EventTarget.Event): void {\n // Prevent handling right and middle mouse clicks\n if (!videojs.dom.isSingleLeftClick(event))\n return;\n\n const distance = videojs.dom.getPointerPosition((this.seekBar_ as any).el_, event).x;\n\n let newTime = distance * this.player_.duration();\n\n // Don't let video end while scrubbing.\n if (newTime === this.player_.duration())\n newTime = newTime - 0.1;\n\n this.player_.currentTime(newTime);\n (this.playProgressBar_ as any).update();\n }\n\n private handleMouseUp(event: videojs.EventTarget.Event): void {\n videojs.dom.unblockTextSelection();\n\n const doc = (this.el_ as any).ownerDocument;\n\n this.off(doc, 'mousemove', this.handleMouseMove);\n this.off(doc, 'mouseup', this.handleMouseUp);\n this.off(doc, 'touchmove', this.handleMouseMove);\n this.off(doc, 'touchend', this.handleMouseUp);\n\n event?.stopPropagation();\n this.player_.scrubbing(false);\n this.player_.trigger({ type: 'timeupdate', target: this, manuallyTriggered: true });\n if (this.videoWasPlaying_) {\n this.player_.play();\n }\n\n (this.seekBar_ as any).update();\n this.player_.removeClass('cv-hide-mouse-time');\n }\n}\n\nvideojs.registerComponent('CreateClipProgressIndicator', CreateClipProgressIndicator);","import videojs, { VideoJsPlayer } from 'video.js';\n\nimport {\n ClipTimepointSelector,\n ClipTimepointSelectorOptions\n} from 'projects/player/plugins/create-clip-plugin/components/clip-timepoint-selector/clip-timepoint-selector';\nimport { CreateClipProgressIndicator } from 'projects/player/plugins/create-clip-plugin/components/create-clip-progress-indicator/create-clip-progress-indicator';\n\nimport './create-clip-seek-bar.scss';\n\nconst SeekBar = videojs.getComponent('SeekBar') as unknown as typeof videojs.SeekBar;\n\ninterface CreateClipSeekBarOptions extends ClipTimepointSelectorOptions {}\n\nexport class CreateClipSeekBar extends SeekBar {\n constructor(player: VideoJsPlayer, options: any) {\n super(player, options);\n\n this.addClass('cv-create-clip-seek-bar');\n }\n\n public initialize(options: CreateClipSeekBarOptions): void {\n const timepointSelector = new ClipTimepointSelector(this.player(), options);\n\n this.addChild(timepointSelector);\n\n const playProgressBar = this.getChild('playProgressBar');\n const indicator = new CreateClipProgressIndicator(this.player_, {\n seekBar: this,\n playProgressBar\n });\n playProgressBar.addChild(indicator);\n }\n}\n\nCreateClipSeekBar.prototype.options_ = {\n children: ['playProgressBar'],\n barName: 'playProgressBar'\n};\n\n// MouseTimeDisplay tooltips should not be added to a player on mobile devices\nif (!videojs.browser.IS_IOS && !videojs.browser.IS_ANDROID) {\n CreateClipSeekBar.prototype.options_.children.splice(1, 0, 'mouseTimeDisplay');\n}\n\nvideojs.registerComponent('CreateClipSeekBar', CreateClipSeekBar);","import videojs, { VideoJsPlayer } from 'video.js';\n\nimport {\n CreateClipSeekBar\n} from 'projects/player/plugins/create-clip-plugin/components/create-clip-seek-bar/create-clip-seek-bar';\n\nimport 'projects/player/plugins/create-clip-plugin/components/create-clip-seek-bar/create-clip-seek-bar';\n\nconst Plugin = videojs.getPlugin('plugin');\n\nconst DEFAULT_MIN_CLIP_DURATION = 5; // seconds;\n\ninterface CreateClipPluginOptions {\n onChangeStartTime: (startTime: number) => void;\n onChangeEndTime: (endTime: number) => void;\n startTime?: number;\n endTime?: number;\n minDuration?: number;\n}\n\nclass CreateClipPlugin extends Plugin {\n private options: CreateClipPluginOptions;\n\n constructor(player: VideoJsPlayer, options: CreateClipPluginOptions) {\n super(player, options);\n\n this.options = options;\n\n this.initCreateClipSeekBar = this.initCreateClipSeekBar.bind(this);\n\n this.player.one('loadedmetadata', () => this.player.ready(this.initCreateClipSeekBar));\n }\n\n private initCreateClipSeekBar(): void {\n const seekBar = this.player.controlBar.getChild('ProgressControl')?.getChild('SeekBar') as CreateClipSeekBar;\n\n if (!seekBar)\n return;\n\n const startTime = (!isNaN(this.options.startTime) && this.options.startTime >= 0)\n ? this.options.startTime\n : 0;\n\n const endTime = (!isNaN(this.options.endTime) && this.options.endTime <= this.player.duration())\n ? this.options.endTime\n : this.player.duration();\n\n const minDuration = Math.min(this.options.minDuration || DEFAULT_MIN_CLIP_DURATION, this.player.duration());\n\n seekBar.initialize({\n startTime,\n endTime,\n minDuration,\n onChangeStartTime: this.options.onChangeStartTime,\n onChangeEndTime: this.options.onChangeEndTime\n });\n }\n\n public dispose(): void {\n this.player.off('loadedmetadata', this.initCreateClipSeekBar);\n super.dispose();\n }\n}\n\nvideojs.registerPlugin('createClipPlugin', CreateClipPlugin);\n\n\ndeclare module 'video.js' {\n export interface VideoJsPlayer {\n createClipPlugin(options: CreateClipPluginOptions): void;\n }\n}","/* eslint simple-import-sort/imports: 0 */\n\nimport { VideoJsPlayerOptions } from 'video.js';\nimport { BasePlayer, BasePlayerOptions } from './base-player';\n\nimport { AnalyticsPlayerType } from 'projects/player/services/analytics-service';\n\nimport 'projects/player/plugins/create-clip-plugin/create-clip-plugin';\n\n\nexport interface CreateClipPlayerOptions extends Omit<BasePlayerOptions, 'playbackRates'> {\n onChangeEndTime: (endTime: number) => void;\n onChangeStartTime: (startTime: number) => void;\n startTime?: number;\n endTime?: number;\n minDuration?: number;\n}\n\nexport class CreateClipPlayer extends BasePlayer {\n protected options: CreateClipPlayerOptions;\n\n constructor(id: string | Element, options: CreateClipPlayerOptions) {\n super(id, {\n ...options,\n allowFullscreen: false,\n playbackRates: null,\n enableLocalCache: false\n });\n }\n\n protected getPlayerClassName(): string {\n return 'cv-create-clip-player';\n }\n\n protected configurePlugins(): void {\n const { startTime, endTime, minDuration, onChangeStartTime, onChangeEndTime } = this.options;\n this.player.createClipPlugin({ startTime, endTime, minDuration, onChangeStartTime, onChangeEndTime });\n }\n\n protected getPlayerOptions(): VideoJsPlayerOptions {\n const options = super.getPlayerOptions();\n options.inactivityTimeout = 0;\n return options;\n }\n\n protected getSeekBarName(): string {\n return 'CreateClipSeekBar';\n }\n\n protected getAnalyticsPlayerType(): AnalyticsPlayerType {\n return 'create-clip-player';\n }\n}\n","import React from 'react';\n\nimport { CreateClipPlayer, CreateClipPlayerOptions } from 'projects/player/players/create-clip-player';\nimport { getProxy } from 'projects/player/utils/getProxy';\n\nexport interface ClickViewCreateClipPlayerProps extends CreateClipPlayerOptions {\n onReady?: (player: CreateClipPlayer) => void;\n onDispose?: () => void;\n}\n\nexport function ClickViewCreateClipPlayer(props: ClickViewCreateClipPlayerProps): React.ReactElement {\n const { onReady, onDispose } = props;\n\n const ref = React.useRef(null);\n const playerRef = React.useRef<CreateClipPlayer>(null);\n\n React.useEffect(() => {\n playerRef.current?.dispose();\n\n if (!ref)\n return;\n\n playerRef.current = new CreateClipPlayer(ref.current, props);\n\n if (onReady) {\n playerRef.current.ready(() => {\n onReady(getProxy(playerRef.current));\n });\n }\n\n if (onDispose) {\n playerRef.current.one('dispose', onDispose);\n }\n \n return () => {\n playerRef.current?.dispose();\n };\n }, [props.viewKey]);\n\n React.useEffect(() => {\n playerRef.current?.trigger({ type: 'update:clip:start:time', time: props.startTime });\n }, [props.startTime]);\n\n React.useEffect(() => {\n playerRef.current?.trigger({ type: 'update:clip:end:time', time: props.endTime });\n }, [props.endTime]);\n\n return (\n <div ref={ref}></div>\n );\n}","import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { ClipTimeForm } from 'libs/shared/apps/clips/components/clip-time-form/ClipTimeForm';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useNavLock } from 'libs/shared/hooks/useNavLock';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Clip, Config, PlayerViewKey, Video } from 'libs/shared/interfaces';\nimport { DialogHelper } from 'libs/shared/utils/DialogHelper';\n\nimport { CreateClipPlayer } from 'projects/player/players/create-clip-player';\nimport { ClickViewCreateClipPlayer } from 'projects/player/react/CreateClipPlayer';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst NAV_LOCK_ID = 'edit-clip-timepoints';\nconst namespace = 'shared.editClipTimepoints';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst DEFAULT_DURATION = 30;\nconst MIN_DURATION = 5;\n\nfunction handleError(error: string): void {\n DialogHelper.render(\n (\n <p>{error}</p>\n ), {\n title: getPhrase('errorHeading'),\n cancelButtonProps: {\n variant: 'link',\n text: getPhrase('close')\n }\n }\n );\n}\n\nfunction safeStringToNumber(value: string): number {\n if (!value) return 0;\n\n const number = Number(value);\n return isNaN(number) ? 0 : number;\n}\n\ninterface EditClipTimepointsViewProps {\n id?: string;\n videoId?: string;\n startTime?: string;\n isCopying?: boolean;\n}\n\nexport function EditClipTimepointsView(props: EditClipTimepointsViewProps): JSX.Element {\n const playerRef = React.useRef<CreateClipPlayer>(null);\n \n const initialStartTime = safeStringToNumber(props.startTime);\n\n const [ startTime, setStartTime ] = React.useState<number>(initialStartTime);\n const [ endTime, setEndTime ] = React.useState<number>(initialStartTime + DEFAULT_DURATION);\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const clip = Flight.useBasicFetch<Clip>(!!props.id && ClipRequests.clip(props.id));\n const videoId = clip.data?._parentVideo?.id || props.videoId;\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(!!videoId &&\n PlayerRequests.createViewKey(videoId, MediaIdType.MasterObject));\n const video = Flight.useBasicFetch<Video>(!!videoId && VideoRequests.video(videoId));\n\n const [ duration, setDuration ] = React.useState<number>(0);\n\n const navLock = useNavLock();\n\n useSetPageMetadata({ title: props.id ? clip.data?.name : getPhrase('pageTitle') });\n\n React.useEffect(() => {\n navLock.lock({\n id: NAV_LOCK_ID,\n title: LanguageService.getPhrase(namespace, 'navLockTitle'),\n text: LanguageService.getPhrase(namespace, 'navLockBody')\n });\n }, []);\n\n React.useEffect(() => {\n if (!clip.data)\n return;\n\n setStartTime(clip.data.startTime);\n setEndTime(clip.data.endTime);\n }, [clip.data]);\n\n function onReady(player: CreateClipPlayer): void {\n playerRef.current = player;\n\n player.on('durationchange', () => setDuration(player.duration()));\n }\n\n function onSubmit(): void {\n let error = '';\n\n if (startTime > endTime)\n error = getPhrase('startTimeGreaterThanEndTime');\n\n if (endTime - startTime < MIN_DURATION)\n error = getPhrase('tooShort', { minDuration: MIN_DURATION });\n\n if (error) {\n handleError(error);\n return;\n }\n\n navLock.unlock(NAV_LOCK_ID);\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.CLIPS,\n action: props.id ? Actions.Clips.EDIT_CLIP_DETAILS_POPUP : Actions.Clips.CREATE_CLIP_DETAILS,\n args: props.id ? [props.id] : [props.videoId],\n params: { startTime, endTime, isCopying: props.isCopying }\n });\n }\n\n function onCancel(): void {\n const startTime = playerRef.current?.currentTime() ?? 0;\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ video.data?.id, TextHelper.slugify(video.data?.name) ],\n params: { t: startTime }\n });\n }\n\n if (!props.id && !props.videoId)\n return <></>;\n\n return (\n <div className='px-3'>\n {!!config.data && !!viewKey.data && !!video.data && (!props.id || !!clip.data) &&\n <div className='pb-3'>\n <div className='mb-3'>\n <ClickViewCreateClipPlayer\n onReady={onReady}\n playerApi={new URL(config.data.playerApiUrl)}\n viewKey={viewKey.data.viewKey}\n startTime={startTime}\n endTime={endTime}\n onChangeStartTime={setStartTime}\n onChangeEndTime={setEndTime}\n minDuration={MIN_DURATION}\n autoplay\n />\n </div>\n <ClipTimeForm\n startTime={startTime}\n endTime={endTime}\n setStartTime={setStartTime}\n setEndTime={setEndTime}\n onSubmit={onSubmit}\n onCancel={onCancel}\n duration={duration}\n />\n </div>\n }\n </div>\n );\n}","import { BasePlayer } from 'projects/player/players/base-player';\n\nexport function getProxy<T extends BasePlayer>(player: T) {\n return new Proxy(player, {\n get(target: T, p: string, receiver: any) {\n /**\n * We still allow removing event listeners if the player is diposed\n */\n if (p !== 'off' && target.isDisposed())\n return;\n\n return Reflect.get(target, p, receiver);\n }\n });\n}"],"names":["UP_ARROW_KEYCODE","DOWN_ARROW_KEYCODE","HOUR","TimeInput","props","hours","setHours","minutes","setMinutes","seconds","setSeconds","focus","setFocus","minutesRef","secondsRef","showHours","duration","handleFocus","e","target","select","handleChange","event","setValue","nextInputRef","formattedValue","value","replace","slice","length","current","requestAnimationFrame","increment","setTime","decrement","handleBlur","allowKeyboardInput","TimeHelper","maxValue","padStart","handleKeyDown","keyCode","displayDuration","DurationHelper","split","String","className","type","maxLength","placeholder","onChange","onFocus","onBlur","onKeyDown","disabled","ref","hideButtons","onClick","defaultProps","size","namespace","getPhrase","LanguageService","ClipTimeForm","isNaN","startTime","endTime","Math","floor","setStartTime","setEndTime","Text","phrase","onCancel","onSubmit","ClipTimepointSelectorHandle","tagName","properties","attributes","this","buildCSSClass","innerHTML","el","contains","ClipTimepointSelector","player","options","dragStartActive","dragEndActive","dragSliderActive","dragSliderCurrentPosition","minDuration","min","options_","startHandle","addClass","addChild","endHandle","on","time","bindListeners","update","onChangeStartTime","onChangeEndTime","setStartOffset","setWidth","shouldUpdate","currentDuration","hasStartTime","hasEndTime","maxStartTime","newEndTime","currentTime","minEndTime","newStartTime","onTimeupdate","bind","dragStart","off","pause","isEventTarget","stopImmediatePropagation","getPosition","doc","ownerDocument","drag","dragEnd","position","timepoint","handleStartHandleDrag","handleEndHandleDrag","handleSliderDrag","timeDifference","el_","parentNode","x","style","marginLeft","getPercentage","width","toFixed","CreateClipProgressIndicator","seekBar_","seekBar","playProgressBar_","playProgressBar","player_","one","unbindListeners","attribtues","handleMouseDown","handleMouseMove","handleMouseUp","stopPropagation","preventDefault","scrubbing","videoWasPlaying_","paused","newTime","trigger","manuallyTriggered","play","removeClass","CreateClipSeekBar","timepointSelector","getChild","indicator","prototype","children","barName","splice","CreateClipPlugin","initCreateClipSeekBar","ready","controlBar","initialize","CreateClipPlayer","id","allowFullscreen","playbackRates","enableLocalCache","createClipPlugin","inactivityTimeout","ClickViewCreateClipPlayer","onReady","onDispose","playerRef","dispose","getProxy","viewKey","NAV_LOCK_ID","DEFAULT_DURATION","MIN_DURATION","EditClipTimepointsView","initialStartTime","number","Number","safeStringToNumber","config","ConfigRequests","clip","ClipRequests","videoId","data","_parentVideo","PlayerRequests","MediaIdType","video","VideoRequests","setDuration","navLock","useNavLock","useSetPageMetadata","title","name","lock","text","playerApi","URL","playerApiUrl","autoplay","error","DialogHelper","cancelButtonProps","variant","handleError","unlock","application","action","args","params","isCopying","TextHelper","t","Proxy","get","p","receiver","isDisposed","Reflect"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[2074],{44746:(e,a,t)=>{t.r(a),t.d(a,{HardGateInsightsView:()=>F});var s=t(32735),i=t(23481),n=t(20354),c=t(18488),r=t(21789),l=t(97958),d=t(83345),o=t(16714),h=t(39151),m=t(1666),u=t(31949),p=t(93322),E=t(22902),g=t(79612),I=t(35223),v=t(31908),b=t(99742),w=t(14070),C=t(97291),N=t(88630),_=t(74049),k=t(10447),V="insights.hardGateInsightsView",y=i.T.encloseNamespace(V);function F(e){var a,t;(0,p.F)();var i=(0,E.T)(),F=i.hasPermissions,S=i.getGatedPermission,G=n.a.useBasicFetch(h.L.config()),x=n.a.useBasicFetch(u.N.currentUser()),A=n.a.useBasicFetch(x.data&&m.h.yearGroups(x.data.customerId)),P=n.a.useBasicFetch(c.o.getShare(e.shareId)),T=r.x.getClassroomIdFromShare(P.data),f=n.a.useBasicFetch(T&&N.F.getClassroom(T)),B=P.data&&v.M.getVideoRequest(P.data.objectId,P.data.objectTypeId),L=n.a.useBasicFetch(B);return(0,g.M)({title:L.data?y("pageTitle",{video:null===(a=L.data)||void 0===a?void 0:a.name}):null}),s.createElement("div",{className:"px-3"},s.createElement(_.j,{video:L.data,classroom:f.data,tabs:(0,k.$6)(P.data,"insights"),hasAnalytics:F(o.C.ViewCustomerAnalytics),analyticsWebUrl:null===(t=G.data)||void 0===t?void 0:t.analyticsWebUrl,share:P.data,yearGroups:A.data,hasData:!1,viewInsightsGatedPermission:S(o.C.ViewInsights)}),s.createElement(l.u,null,s.createElement(l.u.Image,{src:b.W.Insights.SEND_PAPER_PLANE}),s.createElement(l.u.Heading,null,s.createElement(d.x,{namespace:V,phrase:"heading"})),s.createElement(l.u.Info,{className:"w-75"},s.createElement(d.x,{namespace:V,phrase:"description"})," "),s.createElement(l.u.Cta,{text:y("cta"),appLink:{application:C.O.SIGN_UP,action:w.e.SignUp.INVITE_COLLEAGUE},icon:I.vn.Share,className:"btn btn-dark mb-3"}),s.createElement(l.u.Cta,{text:"View demo data",appLink:{application:C.O.MY_SHARES,action:w.e.MyShares.INTERACTIVE_OVERVIEW_DEMO},className:"btn btn-link text-info py-0"})))}}}]);
|
|
2
|
-
//# sourceMappingURL=2074-39b86b9a22-lite.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/2074-39b86b9a22-lite.chunk.js","mappings":"mZA6BMA,EAAY,gCACZC,EAAY,qBAAiCD,GAM7C,SAAUE,EAAqBC,G,SACnC,SAEA,OAA+C,SAAvCC,EAAc,EAAdA,eAAgBC,EAAkB,EAAlBA,mBAElBC,EAAS,kBAA6B,cACtCC,EAAc,kBAAkC,mBAChDC,EAAa,kBACjBD,EAAYE,MAAQ,eAA4BF,EAAYE,KAAKC,aAG7DC,EAAQ,kBAA4B,aAAuBR,EAAMS,UAEjEC,EAAc,4BAAoCF,EAAMF,MACxDK,EAAY,kBAAgCD,GAAe,iBAA+BA,IAE1FE,EAAeJ,EAAMF,MAAQ,oBAA4BE,EAAMF,KAAKO,SAAUL,EAAMF,KAAKQ,cACzFC,EAAQ,kBAAiCH,GAI/C,OAFA,OAAmB,CAAEI,MAAOD,EAAMT,KAAOR,EAAU,YAAa,CAAEiB,MAAiB,QAAV,EAAAA,EAAMT,YAAI,eAAEW,OAAU,OAG7F,uBAAKC,UAAU,QACb,gBAAC,IAAc,CACbH,MAAOA,EAAMT,KACbK,UAAWA,EAAUL,KACrBa,MAAM,QAAqBX,EAAMF,KAAM,YACvCc,aAAcnB,EAAe,2BAC7BoB,gBAA4B,QAAX,EAAAlB,EAAOG,YAAI,eAAEe,gBAC9Bb,MAAOA,EAAMF,KACbD,WAAYA,EAAWC,KACvBgB,SAAS,EACTC,4BAA6BrB,EAAmB,oBAElD,gBAAC,IAAU,KACT,gBAAC,UAAgB,CAACsB,IAAK,gCACvB,gBAAC,YAAkB,KACjB,gBAAC,IAAI,CAAC3B,UAAWA,EAAW4B,OAAO,aAErC,gBAAC,SAAe,CAACP,UAAU,QACzB,gBAAC,IAAI,CAACrB,UAAWA,EAAW4B,OAAO,gBAAgB,KAErD,gBAAC,QAAc,CACbC,KAAM5B,EAAU,OAChB6B,QAAS,CACPC,YAAa,YACbC,OAAQ,6BAEVC,KAAM,WACNZ,UAAU,sBAEZ,gBAAC,QAAc,CACbQ,KAAM,iBACNC,QAAS,CACPC,YAAa,cACbC,OAAQ,wCAEVX,UAAU,iCAKpB,C","sources":["file:///app/packages/projects/lite/src/apps/my-shares/views/hard-gate-insights-view/HardGateInsightsView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { ShareRequests } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ShareHelper } from 'libs/shared/apps/share-v2/utils/ShareHelper';\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useLockContentWidth } from 'libs/shared/hooks/useLockContentWidth';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Classroom, Config, CurrentUser, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\nimport { InsightsHeader } from 'apps/my-shares/components/insights-header/InsightsHeader';\nimport { getInsightsVideoTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\n\nconst namespace = 'insights.hardGateInsightsView';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface HardGateInsightsViewProps {\n shareId: string;\n}\n\nexport function HardGateInsightsView(props: HardGateInsightsViewProps) {\n useLockContentWidth();\n\n const { hasPermissions, getGatedPermission } = usePermissions();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const share = Flight.useBasicFetch<Share>(ShareRequests.getShare(props.shareId));\n\n const classroomId = ShareHelper.getClassroomIdFromShare(share.data);\n const classroom = Flight.useBasicFetch<Classroom>(classroomId && ClassroomRequests.getClassroom(classroomId));\n\n const videoRequest = share.data && VideoHelper.getVideoRequest(share.data.objectId, share.data.objectTypeId);\n const video = Flight.useBasicFetch<VideoTypes>(videoRequest);\n\n useSetPageMetadata({ title: video.data ? getPhrase('pageTitle', { video: video.data?.name }) : null });\n\n return (\n <div className='px-3'>\n <InsightsHeader\n video={video.data}\n classroom={classroom.data}\n tabs={getInsightsVideoTabs(share.data, 'insights')}\n hasAnalytics={hasPermissions(PermissionName.ViewCustomerAnalytics)}\n analyticsWebUrl={config.data?.analyticsWebUrl}\n share={share.data}\n yearGroups={yearGroups.data}\n hasData={false}\n viewInsightsGatedPermission={getGatedPermission(PermissionName.ViewInsights)}\n />\n <EmptyState>\n <EmptyState.Image src={ImageUrls.Insights.SEND_PAPER_PLANE} />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Info className='w-75'>\n <Text namespace={namespace} phrase='description' /> \n </EmptyState.Info>\n <EmptyState.Cta\n text={getPhrase('cta')}\n appLink={{\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.INVITE_COLLEAGUE\n }}\n icon={cvSvgLibrary.Share}\n className='btn btn-dark mb-3'\n />\n <EmptyState.Cta\n text={'View demo data'}\n appLink={{\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_OVERVIEW_DEMO\n }}\n className='btn btn-link text-info py-0'\n />\n </EmptyState>\n </div>\n );\n}"],"names":["namespace","getPhrase","HardGateInsightsView","props","hasPermissions","getGatedPermission","config","currentUser","yearGroups","data","customerId","share","shareId","classroomId","classroom","videoRequest","objectId","objectTypeId","video","title","name","className","tabs","hasAnalytics","analyticsWebUrl","hasData","viewInsightsGatedPermission","src","phrase","text","appLink","application","action","icon"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/3249-0b55dec380-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/share/components/copy-embed-html/copy-embed-html.scss","file:///app/packages/libs/shared/src/apps/share/components/copy-embed-html/CopyEmbedHtml.tsx","file:///app/packages/libs/shared/src/apps/share/components/embed-size/EmbedSize.tsx","file:///app/packages/libs/shared/src/apps/share/views/share/components/share-integrations/avatars/GoogleClassroomAvatar.tsx","file:///app/packages/libs/shared/src/apps/share/views/share/components/share-integrations/avatars/MicrosoftTeamsAvatar.tsx","file:///app/packages/libs/shared/src/apps/share/views/share/components/share-integrations/ShareIntegrationsStack.tsx","file:///app/packages/libs/shared/src/components/copy-input/copy-input.scss","file:///app/packages/libs/shared/src/components/copy-input/CopyInput.tsx","file:///app/packages/libs/shared/src/enums/IntegrationId.ts","file:///app/packages/libs/shared/src/utils/IntegrationHelper.ts","file:///app/packages/libs/shared/src/apps/share/views/share/components/share-integrations/share-integrations.scss"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"embedHtmlInput\":\"mwvd0\",\"copyBtnContainer\":\"myePx\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EventVersion, ShareDescriptors, UserAction } from 'libs/analytics/interfaces';\n\nimport { EmbedSize } from 'libs/shared/apps/share/components/embed-size/EmbedSize';\nimport { SharableEntityType, ShareViewHelper } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { CopyInput } from 'libs/shared/components/copy-input/CopyInput';\nimport { LanguageNamespaceContext } from 'libs/shared/components/text/Text';\nimport { BaseObject, PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\nimport { EmbedHelper, EmbedResolution } from 'libs/shared/utils/EmbedHelper';\n\nimport styles from './copy-embed-html.scss';\n\nconst namespace = 'share.copyEmbedHtml';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface EmbedDetails {\n size: EmbedResolution;\n autoplay: boolean;\n}\n\ntype CopyEmbedHtmlProps = PropsWithAnalyticsOptions<{\n entity: BaseObject;\n entityType: SharableEntityType;\n liteUrl: string;\n entityId: string;\n shareId: string;\n embedUrl: string;\n hideLabel?: boolean;\n hasInputBg?: boolean;\n onCopy?: (details: EmbedDetails) => void;\n showEmbedCopiedText?: boolean;\n styling?: 'greyed' | 'normal' | 'normal-v2';\n}>;\n\nCopyEmbedHtml.defaultProps = {\n styling: 'normal'\n};\n\nexport function CopyEmbedHtml(props: CopyEmbedHtmlProps): JSX.Element {\n const videoSizes = EmbedHelper.getEmbedResolutions();\n\n const [ copied, setCopied ] = React.useState<boolean>(!!props.showEmbedCopiedText);\n const [ autoplay, setAutoplay ] = React.useState(false);\n const [ videoSize, setVideoSize ] = React.useState<EmbedResolution>(videoSizes.find(s => s.width === '100%'));\n\n /**\n * When going to the CopyEmbedView from the CreateShareView we want to show the copied text\n * for a short period of time.\n * - Sha\n */\n React.useEffect(() => {\n if (!props.showEmbedCopiedText)\n return;\n\n setTimeout(() => setCopied(false), 2000);\n }, [props.showEmbedCopiedText]);\n\n const [ logged, setLogged ] = React.useState(false);\n function onCopy(): void {\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n\n // Because our users are double clickers\n if (logged)\n return;\n\n setLogged(true);\n\n if (typeof props.onCopy === 'function') {\n props.onCopy({\n size: videoSize,\n autoplay\n });\n return;\n }\n\n AnalyticsHelper.logUserAction({\n ...props.entity,\n embedDetails: {\n size: videoSize,\n autoplay\n }\n }, AnalyticsHelper.mergeOptions(ShareViewHelper.getAnalyticsOptions(props.entityType), [\n {\n actionType: UserAction.Share,\n descriptor: ShareDescriptors.CopyEmbedHtml,\n eventVersion: EventVersion.V3\n },\n props.analyticsOptions\n ]));\n }\n\n const url = EmbedHelper.buildEmbedUrl({\n embedUrl: props.embedUrl,\n host: props.liteUrl,\n shareId: props.shareId,\n autoplay\n });\n \n const embedString = EmbedHelper.getEmbedString({\n url,\n size: videoSize\n });\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <CopyInput\n value={embedString}\n onCopy={onCopy}\n copiedText={props.styling === 'normal-v2' ? getPhrase('copiedV2') : getPhrase('copied')}\n copyText={getPhrase('copy')}\n showCopiedText={copied}\n styling={props.styling}\n extraButtonClassNames={classNames('position-absolute bottom-0 end-0', styles.copyBtnContainer)}\n hasInputBg={props.hasInputBg}\n label={props.hideLabel ? undefined : getPhrase('label')}\n textarea\n />\n <EmbedSize\n autoplay={autoplay}\n setAutoplay={setAutoplay}\n videoSize={videoSize}\n setVideoSize={setVideoSize}\n videoSizes={videoSizes}\n />\n </LanguageNamespaceContext.Provider>\n );\n}\n","import React from 'react';\nimport { Dropdown } from 'react-bootstrap';\n\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { EmbedResolution } from 'libs/shared/utils/EmbedHelper';\n\nconst namespace = 'share.embedSize';\n\ninterface EmbedSizeProps {\n autoplay: boolean;\n setAutoplay: (autoplay: boolean) => void;\n videoSize: EmbedResolution;\n setVideoSize: (videoSize: EmbedResolution) => void;\n videoSizes: EmbedResolution[];\n}\n\nexport function EmbedSize(props: EmbedSizeProps): React.ReactElement {\n const {\n autoplay,\n setAutoplay,\n videoSize,\n setVideoSize,\n videoSizes\n } = props;\n\n return (\n <div className='d-flex align-items-center'>\n {!!videoSizes.length &&\n <>\n <div className='me-1'>\n <Text namespace={namespace} phrase='videoSize' />\n </div>\n <div className='pe-3'>\n <Dropdown>\n <Dropdown.Toggle id='embed-resolution' variant='outline-dark'>\n {videoSize.label}\n </Dropdown.Toggle>\n\n <Dropdown.Menu>\n {videoSizes.map(size => (\n <Dropdown.Item\n key={`${size.width}x${size.height}`}\n onClick={() => setVideoSize(size)}\n >\n {size.label}\n </Dropdown.Item>\n ))}\n </Dropdown.Menu>\n </Dropdown>\n </div>\n </>\n }\n <div className='me-2'>\n <Text namespace={namespace} phrase='autoplay' />\n </div>\n <Checkbox id='autoplay-checkbox' checked={autoplay} onChange={() => setAutoplay(!autoplay)} />\n </div>\n );\n}","import React from 'react';\n\nexport function GoogleClassroomAvatar(): JSX.Element {\n return (\n <svg width='24' height='24' viewBox='0 0 24 24' fill='none'>\n <circle cx='12' cy='12' r='12' fill='url(#pattern0)'/>\n <defs>\n <pattern id='pattern0' patternContentUnits='objectBoundingBox' width='1' height='1'>\n <use xlinkHref='#image0_3558_14996' transform='scale(0.00520833)'/>\n </pattern>\n <image id='image0_3558_14996' width='192' height='192' xlinkHref='data:image/png;base64,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'/>\n </defs>\n </svg>\n );\n}","import React from 'react';\n\nexport function MicrosoftTeamsAvatar(): JSX.Element {\n return (\n <svg viewBox='0 0 40 40' fill='none'>\n <path d='M29.692 15.31c.58 0 1.146-.173 1.628-.5a2.96 2.96 0 001.078-1.331 3.004 3.004 0 00-.634-3.235 2.918 2.918 0 00-1.5-.812 2.894 2.894 0 00-1.693.169 2.938 2.938 0 00-1.314 1.093 2.997 2.997 0 00.364 3.748 2.91 2.91 0 002.071.869zM20.043 26.267V13.849a.9.9 0 00-.259-.633.877.877 0 00-.624-.262H6.883a.877.877 0 00-.624.262.9.9 0 00-.259.633v12.418c0 .24.092.469.257.64.165.172.39.27.626.276H19.16a.899.899 0 00.626-.276.923.923 0 00.257-.64zm-3.51-10.389v1.92h-2.37v6.68H11.88V17.93H9.51v-2.182h7.022v.13z' fill='#fff'/>\n <path d='M21.874 14.132v.917a4.03 4.03 0 002.05-1.47c.512-.699.79-1.545.793-2.415 0-1.1-.431-2.154-1.199-2.932a4.065 4.065 0 00-2.893-1.214 4.065 4.065 0 00-2.894 1.214 4.175 4.175 0 00-1.199 2.932h2.391a2.996 2.996 0 012.061.887c.55.552.868 1.297.89 2.081zM26.332 17.1h-4.458v8.883c0 .8-.309 1.566-.86 2.138-.552.57-1.302.9-2.091.917h-4.588a7.047 7.047 0 003.265 3.317c1.427.7 3.046.887 4.593.532a6.99 6.99 0 003.918-2.486 7.152 7.152 0 001.535-4.418v-7.551a1.348 1.348 0 00-.385-.942 1.313 1.313 0 00-.929-.39zM32.772 17.1h-3.597c.206.414.316.87.323 1.332v7.551a9.1 9.1 0 01-.516 2.859c.236.021.474.021.71 0a4.28 4.28 0 003.046-1.278A4.394 4.394 0 0034 24.477v-6.045c0-.339-.126-.665-.354-.912a1.307 1.307 0 00-.874-.42z' fill='#fff'/>\n </svg>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\n\nimport { GoogleClassroomAvatar } from './avatars/GoogleClassroomAvatar';\nimport { MicrosoftTeamsAvatar } from './avatars/MicrosoftTeamsAvatar';\n\nimport styles from './share-integrations.scss';\n\nconst namespace = 'share.shareIntegrations';\n\ninterface ShareIntegrationsStackProps {\n size?: 'sm' | 'md';\n noTooltip?: boolean;\n}\n\nexport function ShareIntegrationsStack(props?: ShareIntegrationsStackProps): JSX.Element {\n const className = classNames(\n styles.avatar,\n props?.size === 'sm' && styles.small,\n props?.size !== 'sm' && 'border',\n 'rounded-circle overflow-hidden'\n );\n\n return (\n <Tooltip title={LanguageService.getPhrase(namespace, 'shareThroughIntegrations')} spanHack disable={props.noTooltip}>\n <ul className='list-unstyled d-flex mb-0'>\n <li className={className} style={{ zIndex: 1 }}>\n <GoogleClassroomAvatar />\n </li>\n\n <li className={`${className} ${styles.msTeamsContainer}`} style={{ zIndex: 0 }}>\n <MicrosoftTeamsAvatar />\n </li>\n </ul>\n </Tooltip>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"normal\":\"Q1UGv\",\"copyBtn\":\"J3fBx\",\"embedHtmlInput\":\"RcwAD\"};","import * as React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { IconButton } from '../icon-button/IconButton';\n\nimport styles from './copy-input.scss';\n\nconst namespace = 'shared.copyInput';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CopyInputProps {\n value: string;\n label?: string;\n // Greyed means the input will be greyed out. Normal means it will appear like a normal input\n styling?: 'greyed' | 'normal' | 'normal-v2';\n onCopy?: () => void;\n copyText?: string;\n copiedText?: string;\n showCopiedText?: boolean;\n extraButtonClassNames?: string;\n textarea?: boolean;\n hasInputBg?: boolean;\n}\n\nCopyInput.defaultProps = {\n styling: 'normal'\n};\n\nexport function CopyInput(props: CopyInputProps): JSX.Element {\n const [ localShowCopiedText, setLocalShowCopiedText ] = React.useState(props.showCopiedText || false);\n\n function revertLocalShowCopiedText() {\n setTimeout(() => setLocalShowCopiedText(false), 2000);\n }\n\n function onCopy(): void {\n if (props.onCopy)\n props.onCopy();\n\n if (localShowCopiedText)\n return;\n\n setLocalShowCopiedText(true);\n revertLocalShowCopiedText();\n }\n\n React.useEffect(() => {\n if (!props.showCopiedText)\n return;\n \n revertLocalShowCopiedText();\n }, [props.showCopiedText]);\n\n function Button() {\n if (props.styling === 'normal-v2') {\n return (\n <CopyToClipboard text={props.value} onCopy={onCopy}>\n <IconButton\n role={localShowCopiedText ? 'status' : ''}\n svgName={localShowCopiedText ? cvSvgLibrary.Check : cvSvgLibrary.Copy}\n className={classNames(\n styles.copyBtn,\n 'btn py-0 text-nowrap',\n localShowCopiedText ? 'btn-success text-white' : 'btn-outline-dark border-secondary',\n props.extraButtonClassNames\n )}\n >\n {localShowCopiedText ?\n props.copiedText || getPhrase('copiedLink') :\n props.copyText || getPhrase('copy')\n }\n </IconButton>\n </CopyToClipboard>\n );\n }\n\n return (\n <CopyToClipboard text={props.value} onCopy={onCopy}>\n <button\n role={localShowCopiedText ? 'status' : ''}\n className={classNames(\n 'btn btn-outline-dark border border-secondary py-0 text-nowrap',\n props.extraButtonClassNames\n )}\n >\n {localShowCopiedText ?\n props.copiedText || getPhrase('copied') :\n props.copyText || getPhrase('copy')\n }\n </button>\n </CopyToClipboard>\n );\n }\n\n const input = (\n <div className={props.styling === 'normal-v2' ? 'd-flex flex-row gap-2 position-relative w-100' : 'input-group'}>\n {props.textarea\n ? <textarea\n className={classNames('form-control rounded w-100 h-100', !props.hasInputBg && styles.embedHtmlInput)}\n spellCheck={false}\n value={props.value}\n rows={7}\n readOnly\n />\n : <input\n type='text'\n autoComplete='off'\n className={classNames(\n 'form-control',\n props.styling === 'normal' && props.styling\n )}\n spellCheck={false}\n value={props.value}\n readOnly\n />\n }\n \n <Button />\n </div>\n );\n\n if (props.label) {\n return (\n <Form.Group className='form-group'>\n <Form.Label>{props.label}</Form.Label>\n {input}\n </Form.Group>\n );\n }\n\n return input;\n}\n","export enum IntegrationId {\n GoogleClassroom = 'google-classroom',\n MicrosoftTeams = 'microsoft-teams',\n Vivi = 'vivi',\n AppleTv = 'apply-tv'\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { IntegrationId } from 'libs/shared/enums/IntegrationId';\nimport { SettingName } from 'libs/shared/enums/SettingName';\nimport { Integration } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.shared-utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const IntegrationHelper = {\n getShareIntegrations(googleClassroomSetting: boolean, msftTeamsSetting: boolean): Integration[] {\n return [\n {\n id: IntegrationId.GoogleClassroom,\n name: getPhrase('googleClassroom'),\n enabled: googleClassroomSetting,\n settingName: SettingName.ShareToGoogleClassroom\n },\n {\n id: IntegrationId.MicrosoftTeams,\n name: getPhrase('msftTeams'),\n enabled: msftTeamsSetting,\n settingName: SettingName.ShareToMicrosoftTeams\n }\n ];\n }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"hoverable\":\"bLxv5\",\"msTeamsContainer\":\"mPAD2\",\"avatar\":\"qmP52\",\"small\":\"ul1RN\"};"],"names":["namespace","getPhrase","LanguageService","CopyEmbedHtml","props","videoSizes","EmbedHelper","showEmbedCopiedText","copied","setCopied","autoplay","setAutoplay","find","s","width","videoSize","setVideoSize","setTimeout","logged","setLogged","url","embedUrl","host","liteUrl","shareId","embedString","size","value","CopyInput","onCopy","AnalyticsHelper","entity","embedDetails","ShareViewHelper","entityType","actionType","descriptor","eventVersion","analyticsOptions","copiedText","styling","copyText","showCopiedText","extraButtonClassNames","hasInputBg","label","hideLabel","undefined","textarea","EmbedSize","defaultProps","className","length","phrase","id","variant","map","key","height","onClick","checked","onChange","GoogleClassroomAvatar","viewBox","fill","cx","cy","r","patternContentUnits","xlinkHref","transform","MicrosoftTeamsAvatar","d","ShareIntegrationsStack","Tooltip","title","spanHack","disable","noTooltip","style","zIndex","localShowCopiedText","setLocalShowCopiedText","revertLocalShowCopiedText","input","spellCheck","rows","readOnly","type","autoComplete","CopyToClipboard","text","IconButton","role","svgName","Form","IntegrationId","IntegrationHelper","getShareIntegrations","googleClassroomSetting","msftTeamsSetting","name","enabled","settingName"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3840],{22406:(e,t,n)=>{n.d(t,{r:()=>u});var a=n(32735),r=n(23481),i=n(83914),o=n(36532),l=n(35223);const s={tag:"XRj8d",tooltip:"X6mLk"};var c="specialEventCalendar.comingSoonTag";function u(e){return a.createElement(o.u,{title:r.T.getPhrase(c,"tooltip"),spanHackClassName:"d-block ".concat(s.tooltip),spanHack:!0},a.createElement("div",{className:"d-flex text-dark align-items-center ".concat(s.tag," ").concat(e.className)},a.createElement(i.x,{svgName:l.vn.Timer}),!e.onlyIcon&&r.T.getPhrase(c,"comingSoon")))}},78408:(e,t,n)=>{n.d(t,{s:()=>o});var a=n(32735),r=n(15611);const i={dateItem:"I3SBm",label:"PRORs",body:"RfiM_",bodyDay:"ZOVny",bodyRange:"vYhXN",bodyMonth:"mYslO",month:"EPkkQ"};function o(e){var t,n,o;return a.createElement(r.F,{appLink:null===(t=e.getAppLink)||void 0===t?void 0:t.call(e),className:"text-decoration-none text-center bg-white text-dark border border-3 ".concat(null===(n=e.theme)||void 0===n?void 0:n.border," rounded-3 d-block fw-semibold ").concat(e.className),analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions},a.createElement("div",{className:"position-relative ".concat(i.dateItem)},a.createElement("div",{className:"".concat(null===(o=e.theme)||void 0===o?void 0:o.background," py-1 ").concat(i.label," d-flex align-items-center justify-content-center")},e.label?e.label:a.createElement(a.Fragment,null," ")),a.createElement("div",{className:"".concat(function(){switch(e.body.type){case"range":return i.bodyRange;case"day":return i.bodyDay;case"month":return i.bodyMonth}}()," ").concat(i.body," my-2")},e.body.text),a.createElement("div",{className:"mb-0 ".concat(i.month)},e.month)))}},49087:(e,t,n)=>{n.d(t,{G:()=>i});var a=n(1048),r=n(4594),i={isPlaylist:function(e){return(null==e?void 0:e.typeId)===r.E.Playlist},isOwner:function(e,t){var n;return!(!t||!e||a.t.isEmpty(e._liteOwner))&&e._liteOwner.id.toString()===(null===(n=t.id)||void 0===n?void 0:n.toString())},getVideoCount:function(e){var t,n,a;if(e){var r=0;return(null===(t=e.videos)||void 0===t?void 0:t.count)&&(r+=e.videos.count),(null===(n=e.clips)||void 0===n?void 0:n.count)&&(r+=e.clips.count),(null===(a=e.interactives)||void 0===a?void 0:a.count)&&(r+=e.interactives.count),r}}}},67814:(e,t,n)=>{n.d(t,{p:()=>k,v:()=>P});var a=n(32735),r=n(110),i=n(50690),o=n(22406),l=n(78408),s=n(83657),c=n(23481),u=n(15611),d=n(83914),m=n(35223),p="shared.backButton";function f(e){var t=Object.assign({textShadow:!0},e),n=t.backToName,r=t.appLink,i=t.color,o=t.extraClasses,l=t.textShadow,s=n?c.T.getPhrase(p,"backTo",{backToName:n}):c.T.getPhrase(p,"back"),f="black"===i?"":"text-white",v=l?"text-shadow":"";return a.createElement(u.F,{appLink:r,className:"d-inline-flex align-items-center h5 mb-0 ".concat(o," ").concat(f," ").concat(v)},a.createElement(d.x,{svgName:m.vn.ChevronLeft,size:d.S.Medium}),a.createElement("span",{className:"ms-1"},s))}f.defaultProps={color:"black",extraClasses:""};var v=n(4527),y=n(83345),g=n(7733),h=n(10587),b=n(94232),C=n(54610),w=n(79967),S=n(9085),E=n(67453);const I={bannerContent:"sSCTB",actionsContainer:"Z5WI2",bannerContentWithLogo:"rgs7Q",container:"M51HJ",logoContainer:"vkeJk",logoContainerLeft:"M3U9B",logoHeading:"EtRwC",specialEventContainer:"rOxDc",headingLarge:"_8pnV",heading:"JXVBH"};var A="".concat(h.y[C.__.Banners].width,":").concat(h.y[C.__.Banners].height);function O(e){return e.length<160?"h1":I.headingLarge}var k=a.memo(function(e){var t,n,c,u,d=e.heading,m=e.banner,p=e.imageCdnUrl,h=e.actions,k=e.sortComponent,P=e.blockColourClass,L=e.specialEvent,N=a.useContext(b.n),x=(0,w.k)().xxl?1920:1200,j=a.useMemo(function(){if(!L||e.showComingSoon)return!1;var t=r.O.format(new Date,"YYYY-MM-DD");return L.endDate?L.startDate<=t&&L.endDate>=t:L.startDate===t},[L]),F=e.imageOptions||{width:x,ratio:A,resizeType:C.Nq.Cover},T=!!m&&!!p&&E.j.createBannerUrl(m,{fallbackBaseUrl:p,fallbackCategoryName:d,type:C.__.Banners},F),V={className:"banner banner-header ".concat(e.bannerClassName),style:T?{backgroundImage:"url('".concat(T,"')")}:{}};!m&&P&&(delete V.style,V.className+=" ".concat(P));var D=e.detailsComponent,M=(0,S.x)(e.heading,g.o);return i.b.renderInPortalIfExists(a.createElement("header",Object.assign({},V),a.createElement("div",{className:"container ".concat(I.container," position-relative inner-banner")},e.backButtonAppLink&&a.createElement("div",{className:"pt-3"},a.createElement(f,{appLink:e.backButtonAppLink,backToName:e.backButtonText,extraClasses:e.backButtonClasses,color:"white"})),a.createElement("div",{className:"".concat(e.alignLogoLeft?"position-absolute top-50 start-0 translate-middle-y w-100 ps-4":"".concat(I.bannerContent," px-2 ").concat((null===(t=e.logo)||void 0===t?void 0:t.url)?I.bannerContentWithLogo:""))},!!L&&a.createElement("div",{className:"position-relative ".concat(I.specialEventContainer)},a.createElement(l.s,{body:{type:L.endDate?"range":"day",text:L.endDate?"".concat(r.O.format(L.startDate,"DD"),"-").concat(r.O.format(L.endDate,"DD")):r.O.format(L.startDate,"DD")},month:function(e){return e.endDate?r.O.isSame(e.startDate,e.endDate,"month")?r.O.format(e.startDate,"MMMM"):"".concat(r.O.format(e.startDate,"MMM")," - ").concat(r.O.format(e.endDate,"MMM")):r.O.format(e.startDate,"MMMM")}(L),theme:e.calendarTheme})),a.createElement("div",null,j&&a.createElement("div",{className:"rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block"},a.createElement(y.x,{namespace:"shared.bannerHeader",phrase:"onToday"})),e.showComingSoon&&a.createElement(o.r,{className:"pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap"}),a.createElement("div",{className:"d-flex align-items-center"},e.alignLogoLeft&&(null===(n=e.logo)||void 0===n?void 0:n.url)&&a.createElement("div",{className:"".concat(I.logoContainerLeft," d-none d-md-block rounded-circle overflow-hidden me-3 ").concat(M)},a.createElement(v.w,{src:E.j.createUrl(null===(c=e.logo)||void 0===c?void 0:c.url,{size:C.h2.Medium}),style:{backgroundColor:e.logoBgColour}})),a.createElement("h1",{className:"text-white text-shadow pe-3 position-static ".concat(I.heading," ").concat(O(d)," ").concat(e.alignLogoLeft?"w-50":"")},d,D&&a.createElement(D,null)))),!!h&&a.createElement("div",{className:I.actionsContainer},a.createElement(s.e,{actions:h,sortComponent:k,actionsDropdownClassName:e.actionsDropdownClassName}))),!e.alignLogoLeft&&!!(null===(u=e.logo)||void 0===u?void 0:u.url)&&a.createElement("div",{className:I.logoContainer},a.createElement("img",{src:E.j.createUrl(e.logo.url,{size:C.h2.Medium}),className:"rounded-circle"})))),null==N?void 0:N.container)},function(e,t){var n,a;return e.actions===t.actions&&e.heading===t.heading&&(null===(n=e.logo)||void 0===n?void 0:n.url)===(null===(a=t.logo)||void 0===a?void 0:a.url)});function P(){var e=a.useContext(b.n);return i.b.renderInPortalIfExists(a.createElement("div",{className:"partial-banner partial-loading-background ".concat(I.banner)}),null==e?void 0:e.container)}},94644:(e,t,n)=>{n.d(t,{r:()=>u});var a=n(50242),r=n(81886),i=n(67058),o=n(14553),l=n(49267),s=n(49075),c={notFound:i.d,forbidden:{rating:o.q,yearLevel:o.q,region:l.a,privacy:o.q},badRequest:s._,internalServerError:s._};function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var i;i="number"==typeof e?e:e.status;var o=Object.assign(Object.assign({},c),t);i&&r.Q.Ry.isStatusCodeError(i)&&(i!==a.o.InternalServer?i!==a.o.NotFound?i!==a.o.Forbidden?n.badRequest||r.Q.Ry.throw(new o.badRequest):n.forbidden||r.Q.Ry.throw(new o.forbidden.privacy):n.notFound||r.Q.Ry.throw(new o.notFound):n.internalServerError||r.Q.Ry.throw(new s._))}}},39902:(e,t,n)=>{n.d(t,{FN:()=>f,SW:()=>v,fh:()=>p});var a=n(32735),r=n(20354),i=n(75896);function o(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||l(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){if(e){if("string"==typeof e)return s(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function u(e,t,n){return(t=function(e){var t=function(e){if("object"!=c(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==c(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var d=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n},m=50;function p(e,t){var n=i.m.chunk(e,m).map(function(e){return t(i.m.uniq(e))}),a=r.a.useBasicFetchAll(n),o=i.m.flatten(a.data),l=a.data.length?o.reduce(function(e,t){return Object.assign(Object.assign({},e),u({},t.id,t))},{}):null;return{itemsArr:o,items:l,isFetching:a.isFetching,hasCompleted:a.hasCompleted}}function f(e,t,n){var r=null!=n?n:function(e){return"object"===c(e)?e.id:e},i=v({getRequest:t,_getKey:n}),o=i.fetchItems,l=d(i,["fetchItems"]);return a.useEffect(function(){(null==e?void 0:e.length)&&o(e)},[null==e?void 0:e.map(r).join(",")]),l}function v(e){var t,n,s,d,p,f=null!==(t=e._getKey)&&void 0!==t?t:function(e){return"object"===c(e)?e.id:e},v=a.useRef(new Set),y=(d=a.useState([]),p=2,function(e){if(Array.isArray(e))return e}(d)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(d,p)||l(d,p)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=y[0],h=y[1],b=r.a.useBasicFetchAll(g),C=i.m.flatten(b.data),w=b.data.length?C.reduce(function(e,t){return Object.assign(Object.assign({},e),u({},f(t),t))},{}):null;return{hasFirstRequestCompleted:!!(null===(s=null===(n=b.responses)||void 0===n?void 0:n[0])||void 0===s?void 0:s.hasCompleted),itemsArr:C,items:w,isFetching:b.isFetching,fetchItems:function(t){if(null==t?void 0:t.length){var n=[];t.forEach(function(e){var t=f(e);v.current.has(t)||(n.push(e),v.current.add(t))}),n.length&&h(function(t){return[].concat(o(t),o(i.m.chunk(n,m).map(e.getRequest)))})}}}}},91286:(e,t,n)=>{n.d(t,{v:()=>o});var a=n(32735),r=n(94644);function i(e){return e.map(function(e){return e.statusCode}).join(":")}function o(e,t,n){var o=Array.isArray(e)?e:[e];(0,a.useEffect)(function(){o.forEach(function(e){(0,r.r)(e.statusCode,t,n)})},[i(o),t,n])}},60115:(e,t,n)=>{n.d(t,{K:()=>c});var a=n(32735),r=n(50242),i=n(91967),o=400,l=n(45719);function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function c(e,t,n,c,u,d){var m,p,f,v,y=(m=(0,a.useState)(0),p=2,function(e){if(Array.isArray(e))return e}(m)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(m,p)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(m,p)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=y[0],h=y[1],b=t,C=(0,l.P)(function(t){if(!e)return null;var n=e(t);return n?n.key:null},c,u);return f={fetchNextPage:function(){if(t&&e&&C)return h(function(e){return e+1}),b(C.nextCursor)},hasMore:!!(null==C?void 0:C.nextCursor),isFetching:null==C?void 0:C.isFetching,scrollContainer:d},v=function(){if(!f.isFetching){if(f.scrollContainer){var e=f.scrollContainer;if(e.getBoundingClientRect().height+e.scrollTop<e.scrollHeight-o)return}else if(window.innerHeight+document.documentElement.scrollTop<document.documentElement.scrollHeight-o)return;f.fetchNextPage()}},(0,a.useEffect)(function(){var e=i.q.throttle(v,200),t=f.scrollContainer||window;return f.hasMore&&t.addEventListener("scroll",e),function(){return t.removeEventListener("scroll",e)}},[f.hasMore,f.fetchNextPage,f.scrollContainer]),(0,a.useEffect)(function(){C&&C.shouldInitialFetch&&t&&(b(),h(function(e){return e+1}))},[null==C?void 0:C.shouldInitialFetch,t]),(0,a.useEffect)(function(){var e,t;if((null==C?void 0:C.statusCode)&&i.q.isFunction(n)){var a=+(null===(t=null===(e=C.statusCode)||void 0===e?void 0:e.toString())||void 0===t?void 0:t.substr(0,1));a!==r.k.ClientError&&a!==r.k.ServerError||n(g,C.statusCode)}},[null==C?void 0:C.statusCode]),{items:null==C?void 0:C.items,hasMore:!!(null==C?void 0:C.nextCursor),nextCursor:null==C?void 0:C.nextCursor,isFetching:null==C?void 0:C.isFetching,totalItems:null==C?void 0:C.totalItems,hasFirstPageCompleted:null==C?void 0:C.hasFirstPageCompleted}}},63719:(e,t,n)=>{n.d(t,{h:()=>l});var a=n(32735),r=n(77316);function i(e,t){if(e){if("string"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function l(e){var t,n,l=(t=a.useMemo(function(){return r.p.getBuilder()},[]),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(t,n)||i(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=l[0],c=(0,l[1])(s);return c&&e?[].concat(function(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||i(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(c),[Object.assign(Object.assign({},e),{active:!0})]):c}},93840:(e,t,n)=>{n.r(t),n.d(t,{PlaylistView:()=>Ve});var a=n(32735),r=n(70680),i=n(23481),o=n(81886),l=n(20354),s=n(65858),c=n(49087),u=n(87801),d=n(51365),m=n(183),p=n(89454),f=n(21750),v=n(39151),y=n(1666),g=n(5112),h=n(31949),b=n(69883),C=n(63719),w=n(56520),S=n(91286),E=n(60115),I=n(22902);function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var O=n(79612),k=n(76753),P=n(54569),L=n(31908),N=n(14070),x=n(97291),j=n(58321),F=n(7179),T=n(97816),V=n(10741),D=n(33192),M=n(22490),U=n(110),B=n(28400),R=n(97392),_=n(83345),G="playlists.playlistHeaderDetails",H=function(e){var t=e.className;return a.createElement("span",{className:t},"•")};function q(e){var t=e._liteOwner;if(t)return t.name&&t.surname?B.m.toTitleCase(t.name+" "+t.surname.substring(0,1)):t.name?t.name.split(" ")[0]:void 0}function Y(e){var t,n,r=c.G.isOwner(e.playlist,e.currentUser),i=null===(t=e.playlist.followers)||void 0===t?void 0:t.count,o=function(e){if(!e.contentModifiedDate)return"";var t=new Date,n=U.O.convertUTCToLocal(e.contentModifiedDate);return U.O.isBefore(n,U.O.subtract(t,1,"month"))?"":U.O.fromNow(n)}(e.playlist);return a.createElement("div",{className:e.detailsClassName},!e.hideOwnerName&&!r&&a.createElement(a.Fragment,null,(null===(n=e.playlist._isClickViewCurated)||void 0===n?void 0:n.value)?a.createElement(a.Fragment,null,a.createElement("div",{className:e.clickViewAvatarClassName},a.createElement(R.F,null)),a.createElement("span",null,"ClickView")):a.createElement(_.x,{namespace:G,phrase:"createdBy",options:{user:q(e.playlist)}}),a.createElement(H,{className:e.separatorClassName})),"number"==typeof e.totalVideos&&a.createElement(_.x,{namespace:G,phrase:"videos",options:{smartCount:e.totalVideos}}),i>0&&a.createElement(a.Fragment,null,a.createElement(H,{className:e.separatorClassName}),a.createElement(_.x,{namespace:G,phrase:"followers",options:{smartCount:i}})),!!o&&a.createElement(a.Fragment,null,a.createElement(H,{className:e.separatorClassName}),a.createElement(_.x,{namespace:G,phrase:"lastUpdated",options:{timeAgo:o}})))}var Q=n(67814),W=n(49935),$=n(7733),z=n(86764),X=n(16714),Z=n(3747),J=n(37802),K=n(9085),ee=n(46390),te=n(12909);const ne={partialDescription:"vDX0m"};function ae(){return a.createElement(a.Fragment,null,a.createElement(Q.v,null),a.createElement("div",{className:"mb-2"},a.createElement("div",{className:"partial-loading-background my-2 border-bottom ".concat(ne.partialDescription)})))}var re=n(49985),ie=n(80783),oe=n(35223),le=n(40254),se=i.T.encloseNamespace("playlists.playlistHeader"),ce={getPlaylistActions:function(e,t){var n,a,r,i,o,l,u=t.isAuthenticated,d=t.isPlugin,m=t.isMobile,p=t.setIsFollowing,f=t.isFollowing,v=t.setShowFollowSpinner,y=t.showFollowSpinner,g=t.isUserCurator,h=t.openInCuratorLink,b={id:e.playlist.id,name:e.playlist.name,followerCount:null===(n=e.playlist.followers)||void 0===n?void 0:n.count,videoCount:null===(a=e.playlist.videos)||void 0===a?void 0:a.count,interactiveCount:null===(r=e.playlist.interactives)||void 0===r?void 0:r.count,clipCount:null===(i=e.playlist.clips)||void 0===i?void 0:i.count,isClickViewPlaylist:null===(o=e.playlist._isClickViewCurated)||void 0===o?void 0:o.value},C={location:s.LZ.Banner,entity:s.py.Playlist,workflowPhase:s.eu.Start},S=[];if(!u)return S;if(t.isGuest)return S;var E=c.G.isOwner(e.playlist,e.currentUser),I=ie.z.hideAssignButtonOnVideoActions(e.currentUser),A=t.hasShareFlowV2&&!t.isStudent&&!I;return d||(e.playAllAppLink&&S.push({label:se("playAll"),appLink:e.playAllAppLink,svgName:oe.vn.Play,className:m?"":"btn btn-outline-dark me-2",button:!m,analyticsData:b,analyticsOptions:Object.assign(Object.assign({},C),{actionType:s.Vw.Play})}),A&&S.push({label:se("assign"),appLink:le.W.flowSelector({entityType:"playlist",objectId:e.playlist.id}),svgName:oe.vn.Classrooms,className:m?"":"btn btn-outline-dark me-2",button:!m,analyticsData:b,analyticsOptions:Object.assign(Object.assign({},C),{actionType:s.Vw.Share,entity:s.py.Assign})}),g&&S.push({label:(0,w.eR)(),href:h,openInNewTab:!0}),S.push({label:!A&&se("share"),tooltip:A&&se("share"),appLink:{application:x.O.SHARE,action:N.e.Share.SHARE,args:[e.playlist.id],params:{entityType:"playlist"}},svgName:t.hasShareFlowV2?oe.vn.Link:oe.vn.Share,className:m?"":"btn btn-outline-dark me-2 align-self-stretch",button:!m,analyticsData:b,analyticsOptions:Object.assign(Object.assign({},C),{actionType:s.Vw.Share,eventVersion:s.eq.V3})})),E||S.push({label:se(f?"following":"follow"),onClick:function(){p(!f),v(!0),e.follow(!f,function(){v(!1),re.k.logUserAction(b,Object.assign(Object.assign({},C),{actionType:s.Vw.Follow,descriptor:f?s.DL.Off:s.DL.On,workflowPhase:s.eu.Complete}))},function(){v(!1),p(f)})},svgName:f?oe.vn.BellFilled:oe.vn.Bell,className:m?"":"btn follow-btn btn-".concat(f?"outline-dark":"dark"," me-2"),button:!m,showSpinner:y}),E&&(S.push({label:se("edit"),appLink:{application:x.O.PLAYLISTS,action:N.e.Playlists.EDIT_PLAYLIST,args:[e.playlist.id]},svgName:oe.vn.Edit,button:!1,analyticsData:b,analyticsOptions:Object.assign(Object.assign({},C),{actionType:s.Vw.Edit})}),S.push({label:se("delete"),appLink:{application:x.O.PLAYLISTS,action:N.e.Playlists.DELETE_PLAYLIST,args:[e.playlist.id]},svgName:oe.vn.Delete,className:"text-danger",button:!1,analyticsData:b,analyticsOptions:Object.assign(Object.assign({},C),{actionType:s.Vw.Delete})})),(null===(l=e.playlist._isClickViewCurated)||void 0===l?void 0:l.value)&&S.push({label:se("copy"),appLink:{application:x.O.PLAYLISTS,action:N.e.Playlists.COPY_PLAYLIST,args:[e.playlist.id]},button:!1,analyticsData:b,analyticsOptions:Object.assign(Object.assign({},C),{actionType:s.Vw.Copy})}),S}};const ue={clickViewAvatar:"PHe9c"};function de(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return me(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?me(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function me(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function pe(e){var t=(0,ee.G)().isPlugin,n=(0,I.T)(),r=n.hasPermissions,i=n.getGatedPermission,o=(0,J.r)(null).hasShareFlowV2,l=de(a.useState(e.isFollowing),2),s=l[0],c=l[1],u=de(a.useState(!1),2),d=u[0],m=u[1];a.useEffect(function(){return c(e.isFollowing)},[e.isFollowing]);var p=(0,Z.a)(z.r.XS);if(e.showPartialLoading)return a.createElement(ae,null);var f=e.playlist.description,v=ce.getPlaylistActions(e,{isAuthenticated:e.currentUser.isAuthenticated,isPlugin:t,isMobile:p,setIsFollowing:c,isFollowing:s,setShowFollowSpinner:m,showFollowSpinner:d,isUserCurator:e.isUserCurator,openInCuratorLink:e.openInCuratorLink,hasShareFlowV2:o,isStudent:r(X.C.StudentExperience),isGuest:r(X.C.GuestExperience)}),y=e.getBreadcrumbs();return a.createElement(a.Fragment,null,a.createElement(Q.p,{heading:e.playlist.name,banner:e.playlist.banner,imageCdnUrl:e.imageCdnUrl,actions:v.length&&v,actionsDropdownClassName:"btn btn-outline-dark",blockColourClass:(0,K.x)(e.playlist.name,$.o),detailsComponent:function(){return a.createElement(Y,{playlist:e.playlist,currentUser:e.currentUser,detailsClassName:"mb-n1 font-size-normal fw-normal mt-1",clickViewAvatarClassName:ue.clickViewAvatar,separatorClassName:"mx-1",totalVideos:e.totalVideos})}}),(!!f||!!(null==y?void 0:y.length))&&a.createElement("div",{className:"border-bottom py-3"},!e.playlist||e.classificationId&&!e.topicPath?a.createElement(W.b2,null):a.createElement("div",{className:"pb-2"},"soft-gate"===i(X.C.CreatePlaylist)&&a.createElement(te.H,null),a.createElement(W.Oo,{breadcrumbs:y})),!!f&&a.createElement("p",{className:"mb-0"},f)))}var fe=n(56050),ve=n(91967),ye=n(83914),ge=n(1860),he=n(3534);function be(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var Ce=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};function we(e){var t,n,r=e.onSortComplete,i=e.onSortStart,l=e.showPartialLoading,s=Ce(e,["onSortComplete","onSortStart","showPartialLoading"]),c=(t=a.useState(),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return be(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?be(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=c[0],d=c[1];return l?a.createElement(ge.S,{withReordering:e.canEdit||e.showIndexes}):e.canEdit?a.createElement(he.NB,Object.assign({},s,{currentSortingIndex:u,onSortStart:function(t){var n=e.videos.findIndex(function(e){return e.id.toString()===t.active.id.toString()});d(n),ve.q.isFunction(i)&&i(n)},onSortEnd:function(t){d(null);var n=t.active,a=t.over,i=e.videos.findIndex(function(e){return e.id.toString()===n.id.toString()}),l=e.videos.findIndex(function(e){return e.id.toString()===a.id.toString()});ve.q.isFunction(r)?r(i,l):o.Q.Ry.throw(new fe.H("An onSortComplete callback function must be passed to SortableVideoListComponent"))},dragHandleIcon:oe.vn.Hamburger,dragHandleIconSize:ye.S.XXL,presentationAudiences:e.presentationAudiences})):a.createElement(he.E4,Object.assign({},s))}var Se=n(97958),Ee=n(99742),Ie="playlists.playlistEmptyState";function Ae(){return a.createElement(_.D.Provider,{value:Ie},a.createElement(Se.u,null,a.createElement(Se.u.Image,{src:Ee.W.EmptyStates.Playlists.PLAYLIST_VIDEOS}),a.createElement(Se.u.Heading,null,a.createElement(_.x,{phrase:"heading"})),a.createElement(Se.u.Info,null,a.createElement(_.x,{phrase:"info"}))))}n(75896);var Oe=n(81493),ke=n(9680),Pe=n(10671);function Le(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var Ne=i.T.encloseNamespace("playlists.playlist");function xe(e,t,n){re.k.logUserAction({id:t,playlistId:e},{location:s.LZ.VideoList,entity:s.py.Video,actionType:s.Vw.Move,workflowPhase:n})}var je={notFound:Oe.N,forbidden:{privacy:ke.J}};function Fe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var Te=i.T.encloseNamespace("playlists.playlist");function Ve(e){var t,n,i,U,B,R,_,G,H,q,Y,Q,W,$,z,X=(0,r.I0)(),Z=(0,b.Z)(),J=l.a.useBasicFetch(v.L.config()),K=l.a.useBasicFetch(h.N.currentUser()),ee=(0,w.R0)(),te=ee.isUserCurator,ne=ee.getOpenInCurationStudioLink,ae=(0,I.T)().hasPermissions,re=l.a.useBasicFetch((null===(t=K.data)||void 0===t?void 0:t.isAuthenticated)&&y.h.yearGroups(K.data.customerId)),ie=l.a.useBasicFetch(e.classificationId&&f.x.path(e.classificationId)),le=l.a.useBasicFetch(e.classificationId&&f.x.classification(e.classificationId,null===(n=K.data)||void 0===n?void 0:n.id)),se=l.a.useBasicFetch(le.hasCompleted&&f.x.presentationById(null===(i=le.data)||void 0===i?void 0:i.presentationId)),ce=(null===(U=K.data)||void 0===U?void 0:U.isAuthenticated)?!e.classificationId||se.hasCompleted:!!(null===(B=se.data)||void 0===B?void 0:B.id),ue=l.a.useBasicFetch(ce&&p.O.presentationAudiences(null===(R=se.data)||void 0===R?void 0:R.id)),de=(0,j.U)({locationContext:s.LZ.VideoThumbnail,mtv:e.moviesAndTv,sharedPlaylist:!!e.shareId}).commonVideoProps,me=e.shareId?g.C.getSharedPlaylist(e.playlistId,e.shareId):g.C.getPlaylist(e.playlistId),fe=e.shareId?g.C.getSharedPlaylistVideosCount(e.playlistId,e.shareId):g.C.getPlaylistVideosCount(e.playlistId),ve=l.a.useBasicFetch(me),ye=l.a.useBasicFetch(fe),ge=function(e,t,n){var a=(0,Pe._)({location:Pe.i.VideoItem,shareId:n});return c.G.isOwner(e,t)?Object.assign(Object.assign({},a),{getVideoActions:function(t,n){var r,i=L.M.getCanBeConsumed(t).canConsume,o={label:Ne("removeFromPlaylist"),button:!1,svgName:oe.vn.Delete,appLink:{application:x.O.PLAYLISTS,action:N.e.Playlists.REMOVE_VIDEO_FROM_PLAYLIST,args:[t.id,e.id],params:{typeId:t.typeId}},className:"text-danger",analyticsOptions:{entity:s.py.Video,actionType:s.Vw.Dissociate,location:s.LZ.VideoListItem,workflowPhase:s.eu.Start,descriptor:s.iF.Playlist},analyticsData:{id:t.id,playlistId:e.id},group:"delete"};return i?[].concat(function(e){if(Array.isArray(e))return Le(e)}(r=a.getVideoActions(t,n))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,t){if(e){if("string"==typeof e)return Le(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Le(e,t):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[o]):[o]}}):a}(ve.data,K.data,e.shareId);(0,S.v)(ve,je);var he=function(t){return e.shareId?g.C.getSharedPlaylistVideos(e.playlistId,e.shareId,t):g.C.getPlaylistVideos(e.playlistId,t)},be=l.a.useBasicFetch((null===(_=K.data)||void 0===_?void 0:_.id)&&g.C.getIsFollowingPlaylist(e.playlistId,null===(G=K.data)||void 0===G?void 0:G.id)),Ce=function(e){l.a.getFetch(X)(he(e))},Se=(0,E.K)(he,Ce),Ee=Se.items,Ie=Se.hasMore,Oe=Se.isFetching;(0,T.V)(Ee);var ke,Ve,De,Me,Ue,Be,Re=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Fe(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Fe(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((ke=Ee,Ue=(0,a.useState)(),Be=2,Ve=function(e){if(Array.isArray(e))return e}(Ue)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(Ue,Be)||function(e,t){if(e){if("string"==typeof e)return A(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(e,t):void 0}}(Ue,Be)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),De=Ve[0],Me=Ve[1],(0,a.useEffect)(function(){De&&(ke.length!==De.length||function(e,t){var n=!0;if(e.length!==t.length)return!1;for(var a=0;a<e.length;a++)if(e[a].id!==t[a].id){n=!1;break}return n}(ke,De))&&Me(null)},[ke]),[De,Me]),2),_e=Re[0],Ge=Re[1];(0,F.P)({id:e.playlistId,app:"playlists",shareId:e.shareId}),(0,O.M)(k.CG.getPlaylistMetadata({content:ve.data,phraseContext:{phraseHandler:Te,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"},canonicalLink:D.f.getCanonicalLink({stripPresentationSlug:!0}),allowIndexing:!1}));var He=!!Ee&&0===Ee.length,qe=function(t,n){var a,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return M.W.getAppLink(t,Object.assign(Object.assign({},r),{contextId:e.playlistId,context:m.Q.Playlist,shareId:e.shareId,moviesAndTv:e.moviesAndTv,playNext:n,includeContext:(null===(a=K.data)||void 0===a?void 0:a.isAuthenticated)||!!e.shareId}))},Ye=!(null===(H=K.data)||void 0===H?void 0:H.isAuthenticated)||!!be.hasCompleted,Qe=null==Ee?void 0:Ee.find(function(e){var t;return null===(t=L.M.getCanBeConsumed(e))||void 0===t?void 0:t.canConsume}),We=c.G.isOwner(ve.data,K.data),$e=Ee&&K.data&&J.data,ze=(0,C.h)({name:null===(q=ve.data)||void 0===q?void 0:q.name});return a.createElement(d.M.Provider,{value:(null===(Y=K.data)||void 0===Y?void 0:Y.isAuthenticated)&&ge},a.createElement("div",{className:"bg-white px-3"},a.createElement(pe,{playlist:ve.data,currentUser:K.data,isFollowing:null===(Q=be.data)||void 0===Q?void 0:Q.isFollowing,follow:function(t,n,a){var r,i=t?g.C.followPlaylist:g.C.unfollowPlaylist;l.a.fetch(X,i(e.playlistId,null===(r=K.data)||void 0===r?void 0:r.id,n,function(){a(),Z.error(Te(t?"followError":"unfollowError"))}))},playAllAppLink:Qe&&qe(Qe,!0),showPartialLoading:!ve.data||!$e||!Ye,imageCdnUrl:!!J.data&&J.data.imageCdnUrl,getBreadcrumbs:function(){return e.hideBreadCrumbs?null:ze},topicPath:ie.data,moviesAndTv:e.moviesAndTv,classificationId:e.classificationId,isUserCurator:te,openInCuratorLink:ne(null===(W=ve.data)||void 0===W?void 0:W.typeId,null===($=ve.data)||void 0===$?void 0:$.id),totalVideos:c.G.getVideoCount(ye.data)}),a.createElement("div",{className:"mt-2"},He?a.createElement(Ae,null):a.createElement(we,{videos:_e||Ee,yearGroups:re.data,playlistId:!!ve.data&&ve.data.id,onSortStart:function(t){var n=Ee[t];n&&xe(e.playlistId,n.id,s.eu.Start)},onSortComplete:function(t,n){if(t!==n){var a=Ee[t];if(a){var r=P.l.reorder(Ee,t,n),i=r.reorderedItems,o=r.reorderRequest;Ge(i),xe(e.playlistId,a.id,s.eu.Complete),l.a.fetch(X,g.C.reorderVideos(e.playlistId,o,null,function(){Ge(null)}))}}},canEdit:We,showPartialLoading:!$e,getVideoAppLink:function(e,t){return qe(e,!1,t)},showSignIn:!(null===(z=K.data)||void 0===z?void 0:z.isAuthenticated),getSignInAppLink:function(e){var t=o.Q.C$.getHref(e),n="/"!==t?{redirectUrl:t}:{};return{application:x.O.DEFAULT,action:N.e.Default.CHALLENGE,params:n}},canRemovePrivateVideos:We,presentationAudiences:e.moviesAndTv?null:ue.data,showIndexes:!0,hasPermissions:ae,getPreviewQuestionsAppLink:function(e){return V.j.getPreviewQuestionsAppLink(e)},commonVideoProps:de})),(Ie||Oe)&&a.createElement(u._,{isFetching:Oe,fetchNext:Ce})))}},12909:(e,t,n)=>{n.d(t,{H:()=>d});var a=n(32735),r=n(15611),i=n(83914),o=n(83345),l=n(35223),s=n(14070),c=n(97291),u="signUp.softGateBanner";function d(){return a.createElement("div",{role:"alert",className:"bg-light-indigo text-indigo rounded p-2 mb-4 d-flex align-items-center"},a.createElement(i.x,{svgName:l.vn.StarOutline,size:i.S.Large}),a.createElement(o.x,{namespace:u,phrase:"softGate"})," ",a.createElement(r.F,{appLink:{application:c.O.SIGN_UP,action:s.e.SignUp.PREMIUM_FEATURES},className:"indigo-link text-indigo text-underline d-inline"},a.createElement(o.x,{namespace:u,phrase:"learnMore"})))}},58321:(e,t,n)=>{n.d(t,{U:()=>f});var a=n(20354),r=n(16714),i=n(39151),o=n(1666),l=n(31949),s=n(22902),c=n(37802),u=n(22490),d=n(82431),m=n(46390),p=n(27638);function f(e){var t,n,f,v=e||{},y=v.locationContext,g=v.mtv,h=v.flightNamespace,b=v.sharedPlaylist,C=(0,m.G)(),w=C.isPlugin,S=C.params,E=(0,p.u)(y,h),I=E.setFavourite,A=E.canFavourite,O=(0,c.r)(null),k=O.hasTopicDirectories,P=O.isLoadingSettings,L=(0,s.T)(),N=L.hasPermissions,x=L.isLoaded,j=N(r.C.StudentExperience),F=N(r.C.GuestExperience),T=a.a.useBasicFetch(i.L.config()),V=a.a.useBasicFetch(l.N.currentUser()),D=a.a.useBasicFetch((null===(t=V.data)||void 0===t?void 0:t.isAuthenticated)&&o.h.yearGroups(V.data.customerId));return{hasCommonVideoPropsCompleted:!P&&x&&T.hasCompleted&&V.hasCompleted&&(!(null===(n=V.data)||void 0===n?void 0:n.isAuthenticated)||D.hasCompleted),commonVideoProps:{subTextType:"series",getSubTextAppLink:function(e){var t;return"series"in e?b&&!(null===(t=V.data)||void 0===t?void 0:t.isAuthenticated)?null:d.j.getSeriesAppLink(e.series,{mtv:g}):null},isPlugin:w,isPluginPopup:!!(null==S?void 0:S.popup),canFavourite:A,setFavourite:I,imageCdnUrl:null===(f=T.data)||void 0===f?void 0:f.imageCdnUrl,yearGroups:D.data,getClassroomGuideAppLink:u.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:u.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:u.W.getResourceGuidanceAppLink,showNewVideoIndicator:k,companyLogoFallbackUrl:null,hasStudentExperience:j,hasGuestExperience:F}}}},97816:(e,t,n)=>{n.d(t,{V:()=>l,l:()=>s});var a=n(1575),r=n(39902),i=n(31908);function o(e){return e?Array.isArray(e)?e.filter(function(e){return!!e&&(i.M.isVideo(e)||i.M.isClip(e))}):"data"in e?e.data.filter(function(e){return!!e&&(i.M.isVideo(e)||i.M.isClip(e))}):[]:[]}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=o(e).map(function(e){return e.id});(0,r.FN)(n,function(e){return a.R.videoMixinAssocs(e,t.flightNamespace)},null)}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,r.SW)({getRequest:function(t){return a.R.videoMixinAssocs(t,e.flightNamespace)}}).fetchItems;return{fetchObjects:function(e){return t(o(e).map(function(e){return e.id}))}}}}}]);
|
|
2
|
-
//# sourceMappingURL=3840-98c79fc0d8-lite.chunk.js.map
|