@clickview/lite 0.84.1-rc.1 → 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 +1 -1
- package/dist/languages/en.json +1 -1
- package/dist/scripts/{171-acb1ef0ae4-lite.chunk.js → 171-4b1fe5952a-lite.chunk.js} +2 -2
- package/dist/scripts/{171-acb1ef0ae4-lite.chunk.js.map → 171-4b1fe5952a-lite.chunk.js.map} +1 -1
- package/dist/scripts/{1726-b08dde1407-lite.chunk.js → 1726-b8b386dbd5-lite.chunk.js} +2 -2
- package/dist/scripts/{1726-b08dde1407-lite.chunk.js.map → 1726-b8b386dbd5-lite.chunk.js.map} +1 -1
- package/dist/scripts/{4006-5078eb2c01-lite.chunk.js → 4006-2b689bdde0-lite.chunk.js} +3 -3
- package/dist/scripts/{4006-5078eb2c01-lite.chunk.js.map → 4006-2b689bdde0-lite.chunk.js.map} +1 -1
- package/dist/scripts/{5712-37a97adc65-lite.chunk.js → 5712-fd1a7d8d6a-lite.chunk.js} +2 -2
- package/dist/scripts/{5712-37a97adc65-lite.chunk.js.map → 5712-fd1a7d8d6a-lite.chunk.js.map} +1 -1
- package/dist/scripts/{639-0bf7cc53f9-lite.chunk.js → 639-df1607cbc8-lite.chunk.js} +2 -2
- package/dist/scripts/{639-0bf7cc53f9-lite.chunk.js.map → 639-df1607cbc8-lite.chunk.js.map} +1 -1
- package/dist/scripts/{8056-a3d8fa8728-lite.chunk.js → 8056-555482555f-lite.chunk.js} +2 -2
- package/dist/scripts/{8056-a3d8fa8728-lite.chunk.js.map → 8056-555482555f-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/{bundle-375332cf3f.min.js → bundle-47bd8cc149.min.js} +3 -3
- package/dist/scripts/{bundle-375332cf3f.min.js.map → bundle-47bd8cc149.min.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/8852-c39595da59-lite.chunk.js +0 -2
- package/dist/scripts/8852-c39595da59-lite.chunk.js.map +0 -1
- /package/dist/scripts/{4006-5078eb2c01-lite.chunk.js.LICENSE.txt → 4006-2b689bdde0-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-375332cf3f.min.js.LICENSE.txt → bundle-47bd8cc149.min.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[171],{53172:(e,t,a)=>{a.d(t,{l:()=>o});var n=a(32735),i=a(31453),r=a(83914),c=a(83345),l=a(35223),s="shared.premiumBadge";function o(e){return n.createElement("span",{className:(0,i.A)("badge badge-wrapper rounded-pill d-flex align-items-center justify-content-center","fw-medium text-indigo","sm"===e.size?"badge-sm":"badge-std",e.invert?"bg-white":"bg-light-indigo",e.className)},n.createElement(r.x,{svgName:l.vn.StarOutline,size:r.S.Medium}),n.createElement(c.x,{phrase:"premium",namespace:s}))}},36199:(e,t,a)=>{var n;a.d(t,{V:()=>n}),function(e){e[e.Original=0]="Original",e[e.Copy=1]="Copy"}(n||(n={}))},10171:(e,t,a)=>{a.r(t),a.d(t,{NewClipInteractiveView:()=>w});var n=a(32735),i=a(23481),r=a(20354),c=a(49985),l=a(65858),s=a(9111),o=a(13876),d=a(16714),u=a(43012),m=a(31949),p=a(22902),f=a(64695),v=a(11607),g=a(99742);const h={selected:"U6H7L"};var b=i.T.encloseNamespace("interactives.feedbackChoices");function E(e){var t=e.title,a=e.description,i=e.value,r=e.className,c=e.onClick,l=e.selected,s=i?g.W.Interactives.FeedbackOptions.FEEDBACK:g.W.Interactives.FeedbackOptions.NO_FEEDBACK;return n.createElement(v.L,{onClick:function(){return c(i)},className:"\n text-center\n cursor-pointer\n p-3\n border\n rounded-3\n ".concat(r,"\n ").concat(l?"border-info":"border","\n ").concat(l?h.selected:"","\n ")},n.createElement("img",{src:s,className:"img-fluid my-3"}),n.createElement("h2",{className:"h3"},t),n.createElement("p",null,a))}function y(e){var t=e.feedback,a=e.setFeedback;return n.createElement("div",{className:"d-flex mb-3"},n.createElement(E,{title:b("feedbackTitle"),description:b("feedbackDescription"),value:!0,onClick:a,selected:!0===t,className:"flex-fill w-50 me-2"}),n.createElement(E,{title:b("noFeedbackTitle"),description:b("noFeedbackDescription"),value:!1,onClick:a,selected:!1===t,className:"flex-fill w-50 ms-2"}))}var I=a(75986);function T(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,i,r,c,l=[],s=!0,o=!1;try{if(r=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;s=!1}else for(;!(s=(n=r.call(a)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){o=!0,i=e}finally{try{if(!s&&null!=a.return&&(c=a.return(),Object(c)!==c))return}finally{if(o)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return k(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?k(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 k(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var N=i.T.encloseNamespace("shared.makeClipInteractive");function w(e){var t,a,i,v=e.clipId,g=e.closePopup,h=T(n.useState(!1),2),b=h[0],E=h[1],k=T(n.useState(null),2),w=k[0],
|
|
2
|
-
//# sourceMappingURL=171-
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[171],{53172:(e,t,a)=>{a.d(t,{l:()=>o});var n=a(32735),i=a(31453),r=a(83914),c=a(83345),l=a(35223),s="shared.premiumBadge";function o(e){return n.createElement("span",{className:(0,i.A)("badge badge-wrapper rounded-pill d-flex align-items-center justify-content-center","fw-medium text-indigo","sm"===e.size?"badge-sm":"badge-std",e.invert?"bg-white":"bg-light-indigo",e.className)},n.createElement(r.x,{svgName:l.vn.StarOutline,size:r.S.Medium}),n.createElement(c.x,{phrase:"premium",namespace:s}))}},36199:(e,t,a)=>{var n;a.d(t,{V:()=>n}),function(e){e[e.Original=0]="Original",e[e.Copy=1]="Copy"}(n||(n={}))},10171:(e,t,a)=>{a.r(t),a.d(t,{NewClipInteractiveView:()=>w});var n=a(32735),i=a(23481),r=a(20354),c=a(49985),l=a(65858),s=a(9111),o=a(13876),d=a(16714),u=a(43012),m=a(31949),p=a(22902),f=a(64695),v=a(11607),g=a(99742);const h={selected:"U6H7L"};var b=i.T.encloseNamespace("interactives.feedbackChoices");function E(e){var t=e.title,a=e.description,i=e.value,r=e.className,c=e.onClick,l=e.selected,s=i?g.W.Interactives.FeedbackOptions.FEEDBACK:g.W.Interactives.FeedbackOptions.NO_FEEDBACK;return n.createElement(v.L,{onClick:function(){return c(i)},className:"\n text-center\n cursor-pointer\n p-3\n border\n rounded-3\n ".concat(r,"\n ").concat(l?"border-info":"border","\n ").concat(l?h.selected:"","\n ")},n.createElement("img",{src:s,className:"img-fluid my-3"}),n.createElement("h2",{className:"h3"},t),n.createElement("p",null,a))}function y(e){var t=e.feedback,a=e.setFeedback;return n.createElement("div",{className:"d-flex mb-3"},n.createElement(E,{title:b("feedbackTitle"),description:b("feedbackDescription"),value:!0,onClick:a,selected:!0===t,className:"flex-fill w-50 me-2"}),n.createElement(E,{title:b("noFeedbackTitle"),description:b("noFeedbackDescription"),value:!1,onClick:a,selected:!1===t,className:"flex-fill w-50 ms-2"}))}var I=a(75986);function T(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,i,r,c,l=[],s=!0,o=!1;try{if(r=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;s=!1}else for(;!(s=(n=r.call(a)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){o=!0,i=e}finally{try{if(!s&&null!=a.return&&(c=a.return(),Object(c)!==c))return}finally{if(o)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return k(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?k(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 k(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var N=i.T.encloseNamespace("shared.makeClipInteractive");function w(e){var t,a,i,v=e.clipId,g=e.closePopup,h=T(n.useState(!1),2),b=h[0],E=h[1],k=T(n.useState(null),2),w=k[0],P=k[1],C=r.a.useBasicFetch(m.N.currentUser()),S=r.a.useBasicFetch(u.e.clip(v)),A=(0,p.T)().getGatedPermission,x=(0,I.$)({feedback:w,setShowSpinner:E,closePopup:g,name:null===(t=S.data)||void 0===t?void 0:t.name,duration:S.data?1e3*(S.data.endTime-S.data.startTime):null,objectId:null===(a=S.data)||void 0===a?void 0:a.id,currentUser:C.data,baseAnalyticsData:{clip:{id:v,name:null===(i=S.data)||void 0===i?void 0:i.name}}}).createInteractive,U=!S.data||!C.data;return"hard-gate"===A(d.C.UploadVideo)?n.createElement(f.q,{feature:"interactive",animate:!1,closePopup:e.closePopup}):n.createElement(s.G,{title:N("title"),closePopup:g,showLoadingSpinner:U,size:"lg"},n.createElement(y,{feedback:w,setFeedback:P}),n.createElement(o.u,null,n.createElement(o.u.Cancel,{onClick:function(){c.k.logUserAction({clip:{id:v}},{location:l.LZ.NewInteractive,entity:l.py.Interactive,actionType:l.Vw.Create,workflowPhase:l.eu.Discard}),g()}}),n.createElement(o.u.Submit,{variant:"dark",onClick:x,text:N("continue"),showSpinner:b,disabled:"boolean"!=typeof w})))}},75986:(e,t,a)=>{a.d(t,{$:()=>g});var n=a(70680),i=a(23481),r=a(81886),c=a(20354),l=a(49985),s=a(65858),o=a(5960),d=a(36199),u=a(20768),m=a(69883),p=a(14070),f=a(97291),v=i.T.encloseNamespace("shared.makeInteractive"),g=function(e){var t=e.feedback,a=e.setShowSpinner,i=e.objectId,g=e.name,h=e.duration,b=e.currentUser,E=e.closePopup,y=e.baseAnalyticsData,I=(0,n.I0)(),T=(0,m.Z)();function k(){a(!1),T.error(v("error"))}function N(e){var t={name:g,interactiveId:e.id,owner:{id:b.id},originType:d.V.Original,status:o.X.Draft};c.a.fetch(I,u.b.createInteractiveMetadata(i,t,w,k))}function w(e){l.k.logUserAction(Object.assign(Object.assign({},y),{id:e.id,name:e.name}),{location:s.LZ.NewInteractive,entity:s.py.Interactive,actionType:s.Vw.Create,workflowPhase:s.eu.Complete}),r.Q.C$.trigger({application:f.O.INTERACTIVES,action:p.e.Interactives.EDIT_INTERACTIVE,args:[e.id,e.name]}),E()}return{createInteractive:function(){a(!0);var e={name:g,duration:h,immediateFeedback:t,preventScrubbing:!1};c.a.fetch(I,u.b.createInteractive(e,N,k))}}}},64695:(e,t,a)=>{a.d(t,{q:()=>b});var n=a(32735),i=a(37241),r=a(68050),c=a(23481),l=a(65858),s=a(97958),o=a(9111),d=a(53172),u=a(83345),m=a(99742),p=a(14070),f=a(97291),v="shared.hardGatePopup",g=c.T.encloseNamespace(v),h={assign:{titlePhrase:"assignTitle",headingPhrase:"assignHeading",imageUrl:m.W.ReverseTrial.ASSIGN},playlists:{titlePhrase:"playlistsTitle",headingPhrase:"playlistsHeading",imageUrl:m.W.ReverseTrial.PLAYLIST},interactive:{titlePhrase:"interactiveTitle",headingPhrase:"interactiveHeading",imageUrl:m.W.ReverseTrial.INTERACTIVE},"copy-interactives":{titlePhrase:"copyInteractiveTitle",headingPhrase:"copyInteractiveHeading",imageUrl:m.W.ReverseTrial.INTERACTIVE},integrations:{titlePhrase:"integrationsTitle",headingPhrase:"integrationsHeading",imageUrl:m.W.ReverseTrial.INTEGRATIONS}};function b(e){var t=h[e.feature];return n.createElement(o.G,{size:"lg",animation:e.animate,closePopup:e.closePopup,hideTitle:!0},n.createElement(i.Z.Header,{className:"d-flex align-items-center justify-content-between bg-white mx-n3 mt-n3",closeButton:!0},n.createElement(i.Z.Title,{as:"h2",className:"h4 flex-grow-1 d-flex justify-content-between align-items-center"},g(t.titlePhrase),n.createElement("span",{className:"d-inline-block me-2"},n.createElement(d.l,{size:"std"})))),n.createElement(r.Z,{className:"mb-3"},n.createElement(s.u,{className:"pt-3"},n.createElement(s.u.Image,{src:t.imageUrl,altText:g(t.titlePhrase)}),n.createElement(s.u.Heading,{className:"h6"},n.createElement(u.x,{namespace:v,phrase:t.headingPhrase})),n.createElement(s.u.Info,null,n.createElement(u.x,{namespace:v,phrase:"description"})),n.createElement(s.u.Cta,{appLink:{application:f.O.SIGN_UP,action:p.e.SignUp.PREMIUM_FEATURES},text:g("cta"),analyticsData:{},analyticsOptions:{actionType:l.Vw.Click,location:l.LZ.GatedPopup,entity:l.py.AppLink,descriptor:l.Yu.PremiumFeatures}}))),e.extraContent)}}}]);
|
|
2
|
+
//# sourceMappingURL=171-4b1fe5952a-lite.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/171-acb1ef0ae4-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/premium-badge/PremiumBadge.tsx","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","file:///app/packages/projects/lite/src/shared/components/hard-gate-popup/HardGatePopup.tsx"],"sourcesContent":["import React from 'react';\n\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.premiumBadge';\n\ninterface PremiumBadgeProps {\n invert?: boolean;\n size: 'sm' | 'std';\n className?: string;\n}\n\nexport function PremiumBadge(props: PremiumBadgeProps): JSX.Element {\n return (\n <span className={classNames(\n 'badge badge-wrapper rounded-pill d-flex align-items-center justify-content-center',\n 'fw-medium text-indigo',\n props.size === 'sm' ? 'badge-sm' : 'badge-std',\n props.invert ? 'bg-white' : 'bg-light-indigo',\n props.className\n )}>\n <SvgContainer svgName={cvSvgLibrary.StarOutline} size={SvgContainerSize.Medium} />\n <Text phrase='premium' namespace={namespace} />\n </span>\n );\n}","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 { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { Clip, CurrentUser, PopupViewProps } from 'libs/shared/interfaces';\n\nimport { HardGatePopup } from 'shared/components/hard-gate-popup/HardGatePopup';\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 const { getGatedPermission } = usePermissions();\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 if (getGatedPermission(PermissionName.UploadVideo) === 'hard-gate') {\n return (\n <HardGatePopup\n feature='interactive'\n animate={false}\n closePopup={props.closePopup}\n />\n );\n }\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","import React from 'react';\nimport { Modal, Row } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, SignUpDescriptors, UserAction } from 'libs/analytics/interfaces';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { MultiStepPopupViewProps } from 'libs/shared/components/multistep-popup/MultiStepPopup';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PremiumBadge } from 'libs/shared/components/premium-badge/PremiumBadge';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'shared.hardGatePopup';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype Feature = 'assign' | 'playlists' | 'interactive' | 'copy-interactives' | 'integrations';\n\ninterface FeatureConfig {\n titlePhrase: string;\n headingPhrase: string;\n imageUrl: string;\n}\n\nconst featureConfigMap: Record<Feature, FeatureConfig> = {\n 'assign': {\n titlePhrase: 'assignTitle',\n headingPhrase: 'assignHeading',\n imageUrl: ImageUrls.ReverseTrial.ASSIGN\n },\n 'playlists': {\n titlePhrase: 'playlistsTitle',\n headingPhrase: 'playlistsHeading',\n imageUrl: ImageUrls.ReverseTrial.PLAYLIST\n },\n 'interactive': {\n titlePhrase: 'interactiveTitle',\n headingPhrase: 'interactiveHeading',\n imageUrl: ImageUrls.ReverseTrial.INTERACTIVE\n },\n 'copy-interactives': {\n titlePhrase: 'copyInteractiveTitle',\n headingPhrase: 'copyInteractiveHeading',\n imageUrl: ImageUrls.ReverseTrial.INTERACTIVE\n },\n 'integrations': {\n titlePhrase: 'integrationsTitle',\n headingPhrase: 'integrationsHeading',\n imageUrl: ImageUrls.ReverseTrial.INTEGRATIONS\n }\n};\n\nexport interface HardGatePopupProps extends MultiStepPopupViewProps {\n feature: Feature;\n extraContent?: React.ReactNode;\n}\n\nexport function HardGatePopup(props: HardGatePopupProps): JSX.Element {\n const config = featureConfigMap[props.feature];\n\n return (\n <Popup\n size='lg'\n animation={props.animate}\n closePopup={props.closePopup}\n hideTitle\n >\n <Modal.Header className='d-flex align-items-center justify-content-between bg-white mx-n3 mt-n3' closeButton>\n <Modal.Title as='h2' className='h4 flex-grow-1 d-flex justify-content-between align-items-center'>\n {getPhrase(config.titlePhrase)}\n <span className='d-inline-block me-2'><PremiumBadge size='std' /></span>\n </Modal.Title>\n </Modal.Header>\n <Row className='mb-3'>\n <EmptyState className='pt-3'>\n <EmptyState.Image src={config.imageUrl} altText={getPhrase(config.titlePhrase)} />\n <EmptyState.Heading className='h6'>\n <Text namespace={namespace} phrase={config.headingPhrase} />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='description' />\n </EmptyState.Info>\n <EmptyState.Cta\n appLink={{\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.INVITE_COLLEAGUE\n }}\n text={getPhrase('cta')}\n analyticsData={{}}\n analyticsOptions={{\n actionType: UserAction.Click,\n location: LocationContext.GatedPopup,\n entity: EntityType.AppLink,\n descriptor: SignUpDescriptors.PremiumFeatures\n }}\n />\n </EmptyState>\n </Row>\n \n {props.extraContent}\n </Popup>\n );\n}\n\n"],"names":["namespace","PremiumBadge","props","className","size","invert","svgName","S","phrase","InteractiveOriginType","getPhrase","LanguageService","FeedbackChoice","title","description","value","onClick","selected","imgSrc","ImageUrls","DivButton","src","FeedbackChoices","feedback","setFeedback","NewClipInteractiveView","clipId","closePopup","showSpinner","setShowSpinner","currentUser","UserRequests","clip","ClipRequests","getGatedPermission","usePermissions","createInteractive","useNewInteractiveCallbacks","name","data","duration","endTime","startTime","objectId","id","baseAnalyticsData","popupSpinner","PermissionName","HardGatePopup","feature","animate","Popup","showLoadingSpinner","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","featureConfigMap","titlePhrase","headingPhrase","imageUrl","config","animation","hideTitle","closeButton","as","altText","appLink","analyticsData","analyticsOptions","descriptor","extraContent"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"scripts/171-4b1fe5952a-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/premium-badge/PremiumBadge.tsx","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","file:///app/packages/projects/lite/src/shared/components/hard-gate-popup/HardGatePopup.tsx"],"sourcesContent":["import React from 'react';\n\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.premiumBadge';\n\ninterface PremiumBadgeProps {\n invert?: boolean;\n size: 'sm' | 'std';\n className?: string;\n}\n\nexport function PremiumBadge(props: PremiumBadgeProps): JSX.Element {\n return (\n <span className={classNames(\n 'badge badge-wrapper rounded-pill d-flex align-items-center justify-content-center',\n 'fw-medium text-indigo',\n props.size === 'sm' ? 'badge-sm' : 'badge-std',\n props.invert ? 'bg-white' : 'bg-light-indigo',\n props.className\n )}>\n <SvgContainer svgName={cvSvgLibrary.StarOutline} size={SvgContainerSize.Medium} />\n <Text phrase='premium' namespace={namespace} />\n </span>\n );\n}","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 { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { Clip, CurrentUser, PopupViewProps } from 'libs/shared/interfaces';\n\nimport { HardGatePopup } from 'shared/components/hard-gate-popup/HardGatePopup';\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 const { getGatedPermission } = usePermissions();\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 if (getGatedPermission(PermissionName.UploadVideo) === 'hard-gate') {\n return (\n <HardGatePopup\n feature='interactive'\n animate={false}\n closePopup={props.closePopup}\n />\n );\n }\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","import React from 'react';\nimport { Modal, Row } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, SignUpDescriptors, UserAction } from 'libs/analytics/interfaces';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { MultiStepPopupViewProps } from 'libs/shared/components/multistep-popup/MultiStepPopup';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PremiumBadge } from 'libs/shared/components/premium-badge/PremiumBadge';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'shared.hardGatePopup';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype Feature = 'assign' | 'playlists' | 'interactive' | 'copy-interactives' | 'integrations';\n\ninterface FeatureConfig {\n titlePhrase: string;\n headingPhrase: string;\n imageUrl: string;\n}\n\nconst featureConfigMap: Record<Feature, FeatureConfig> = {\n 'assign': {\n titlePhrase: 'assignTitle',\n headingPhrase: 'assignHeading',\n imageUrl: ImageUrls.ReverseTrial.ASSIGN\n },\n 'playlists': {\n titlePhrase: 'playlistsTitle',\n headingPhrase: 'playlistsHeading',\n imageUrl: ImageUrls.ReverseTrial.PLAYLIST\n },\n 'interactive': {\n titlePhrase: 'interactiveTitle',\n headingPhrase: 'interactiveHeading',\n imageUrl: ImageUrls.ReverseTrial.INTERACTIVE\n },\n 'copy-interactives': {\n titlePhrase: 'copyInteractiveTitle',\n headingPhrase: 'copyInteractiveHeading',\n imageUrl: ImageUrls.ReverseTrial.INTERACTIVE\n },\n 'integrations': {\n titlePhrase: 'integrationsTitle',\n headingPhrase: 'integrationsHeading',\n imageUrl: ImageUrls.ReverseTrial.INTEGRATIONS\n }\n};\n\nexport interface HardGatePopupProps extends MultiStepPopupViewProps {\n feature: Feature;\n extraContent?: React.ReactNode;\n}\n\nexport function HardGatePopup(props: HardGatePopupProps): JSX.Element {\n const config = featureConfigMap[props.feature];\n\n return (\n <Popup\n size='lg'\n animation={props.animate}\n closePopup={props.closePopup}\n hideTitle\n >\n <Modal.Header className='d-flex align-items-center justify-content-between bg-white mx-n3 mt-n3' closeButton>\n <Modal.Title as='h2' className='h4 flex-grow-1 d-flex justify-content-between align-items-center'>\n {getPhrase(config.titlePhrase)}\n <span className='d-inline-block me-2'><PremiumBadge size='std' /></span>\n </Modal.Title>\n </Modal.Header>\n <Row className='mb-3'>\n <EmptyState className='pt-3'>\n <EmptyState.Image src={config.imageUrl} altText={getPhrase(config.titlePhrase)} />\n <EmptyState.Heading className='h6'>\n <Text namespace={namespace} phrase={config.headingPhrase} />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='description' />\n </EmptyState.Info>\n <EmptyState.Cta\n appLink={{\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.PREMIUM_FEATURES\n }}\n text={getPhrase('cta')}\n analyticsData={{}}\n analyticsOptions={{\n actionType: UserAction.Click,\n location: LocationContext.GatedPopup,\n entity: EntityType.AppLink,\n descriptor: SignUpDescriptors.PremiumFeatures\n }}\n />\n </EmptyState>\n </Row>\n \n {props.extraContent}\n </Popup>\n );\n}\n\n"],"names":["namespace","PremiumBadge","props","className","size","invert","svgName","S","phrase","InteractiveOriginType","getPhrase","LanguageService","FeedbackChoice","title","description","value","onClick","selected","imgSrc","ImageUrls","DivButton","src","FeedbackChoices","feedback","setFeedback","NewClipInteractiveView","clipId","closePopup","showSpinner","setShowSpinner","currentUser","UserRequests","clip","ClipRequests","getGatedPermission","usePermissions","createInteractive","useNewInteractiveCallbacks","name","data","duration","endTime","startTime","objectId","id","baseAnalyticsData","popupSpinner","PermissionName","HardGatePopup","feature","animate","Popup","showLoadingSpinner","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","featureConfigMap","titlePhrase","headingPhrase","imageUrl","config","animation","hideTitle","closeButton","as","altText","appLink","analyticsData","analyticsOptions","descriptor","extraContent"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[1726],{61104:(e,t,n)=>{n.d(t,{E:()=>d});var a=n(32735),i=n(9111),r=n(13876),o=n(11607);const l={selected:"zWik0",disabled:"bMSMv"};function c(e){var t,n,i,r,c,s="text-center cursor-pointer p-3 border rounded-3 mx-2 user-select-none w-50";return e.selected&&(s+=" border-info ".concat(l.selected)),(null===(t=e.option)||void 0===t?void 0:t.disabled)&&(s+=" ".concat(l.disabled)),a.createElement(o.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)&&a.createElement("img",{src:e.option.imageUrl,className:"img-fluid my-3 ".concat(null!==(i=e.option.imageClassName)&&void 0!==i?i:""),draggable:!1}),(null===(r=e.option)||void 0===r?void 0:r.title)&&a.createElement("h2",{className:"h3"},e.option.title),(null===(c=e.option)||void 0===c?void 0:c.description)&&a.createElement("p",{className:"mb-0",dangerouslySetInnerHTML:{__html:e.option.description}}),e.children)}function s(e){return a.createElement("div",{className:"d-flex mb-3 mx-n2"},e.options.map(function(t){var n;return a.createElement(c,{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 a.createElement(i.G,{size:"lg",title:e.title,showLoadingSpinner:e.showLoadingSpinner,closePopup:e.closePopup},a.createElement(a.Fragment,null,!!e.warningComponent&&e.warningComponent,e.question&&a.createElement("h2",{className:"h5 text-center fw-semibold mb-3"},e.question),a.createElement(s,{options:e.options,selection:e.selection,selectOption:e.selectOption}),a.createElement(r.u,null,e.cancelButtonProps&&a.createElement(r.u.Cancel,Object.assign({},e.cancelButtonProps)),e.submitButtonProps&&a.createElement(r.u.Submit,Object.assign({},e.submitButtonProps)))))}},53172:(e,t,n)=>{n.d(t,{l:()=>s});var a=n(32735),i=n(31453),r=n(83914),o=n(83345),l=n(35223),c="shared.premiumBadge";function s(e){return a.createElement("span",{className:(0,i.A)("badge badge-wrapper rounded-pill d-flex align-items-center justify-content-center","fw-medium text-indigo","sm"===e.size?"badge-sm":"badge-std",e.invert?"bg-white":"bg-light-indigo",e.className)},a.createElement(r.x,{svgName:l.vn.StarOutline,size:r.S.Medium}),a.createElement(o.x,{phrase:"premium",namespace:c}))}},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={}))},91726:(e,t,n)=>{n.r(t),n.d(t,{NewInteractiveView:()=>E});var a=n(32735),i=n(23481),r=n(20354),o=n(49985),l=n(65858),c=n(61104),s=n(16714),d=n(31949),u=n(1575),m=n(22902),p=n(64695),v=n(99742),g=n(75986);function f(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,i,r,o,l=[],c=!0,s=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=r.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,i=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return h(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)?h(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 h(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 b=i.T.encloseNamespace("shared.makeInteractive");function E(e){var t,n,i,h,E=e.videoId,y=e.closePopup,I=f(a.useState(!1),2),
|
|
2
|
-
//# sourceMappingURL=1726-
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[1726],{61104:(e,t,n)=>{n.d(t,{E:()=>d});var a=n(32735),i=n(9111),r=n(13876),o=n(11607);const l={selected:"zWik0",disabled:"bMSMv"};function c(e){var t,n,i,r,c,s="text-center cursor-pointer p-3 border rounded-3 mx-2 user-select-none w-50";return e.selected&&(s+=" border-info ".concat(l.selected)),(null===(t=e.option)||void 0===t?void 0:t.disabled)&&(s+=" ".concat(l.disabled)),a.createElement(o.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)&&a.createElement("img",{src:e.option.imageUrl,className:"img-fluid my-3 ".concat(null!==(i=e.option.imageClassName)&&void 0!==i?i:""),draggable:!1}),(null===(r=e.option)||void 0===r?void 0:r.title)&&a.createElement("h2",{className:"h3"},e.option.title),(null===(c=e.option)||void 0===c?void 0:c.description)&&a.createElement("p",{className:"mb-0",dangerouslySetInnerHTML:{__html:e.option.description}}),e.children)}function s(e){return a.createElement("div",{className:"d-flex mb-3 mx-n2"},e.options.map(function(t){var n;return a.createElement(c,{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 a.createElement(i.G,{size:"lg",title:e.title,showLoadingSpinner:e.showLoadingSpinner,closePopup:e.closePopup},a.createElement(a.Fragment,null,!!e.warningComponent&&e.warningComponent,e.question&&a.createElement("h2",{className:"h5 text-center fw-semibold mb-3"},e.question),a.createElement(s,{options:e.options,selection:e.selection,selectOption:e.selectOption}),a.createElement(r.u,null,e.cancelButtonProps&&a.createElement(r.u.Cancel,Object.assign({},e.cancelButtonProps)),e.submitButtonProps&&a.createElement(r.u.Submit,Object.assign({},e.submitButtonProps)))))}},53172:(e,t,n)=>{n.d(t,{l:()=>s});var a=n(32735),i=n(31453),r=n(83914),o=n(83345),l=n(35223),c="shared.premiumBadge";function s(e){return a.createElement("span",{className:(0,i.A)("badge badge-wrapper rounded-pill d-flex align-items-center justify-content-center","fw-medium text-indigo","sm"===e.size?"badge-sm":"badge-std",e.invert?"bg-white":"bg-light-indigo",e.className)},a.createElement(r.x,{svgName:l.vn.StarOutline,size:r.S.Medium}),a.createElement(o.x,{phrase:"premium",namespace:c}))}},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={}))},91726:(e,t,n)=>{n.r(t),n.d(t,{NewInteractiveView:()=>E});var a=n(32735),i=n(23481),r=n(20354),o=n(49985),l=n(65858),c=n(61104),s=n(16714),d=n(31949),u=n(1575),m=n(22902),p=n(64695),v=n(99742),g=n(75986);function f(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,i,r,o,l=[],c=!0,s=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=r.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,i=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return h(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)?h(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 h(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 b=i.T.encloseNamespace("shared.makeInteractive");function E(e){var t,n,i,h,E=e.videoId,y=e.closePopup,I=f(a.useState(!1),2),P=I[0],T=I[1],w=f(a.useState(null),2),k=w[0],N=w[1],S=r.a.useBasicFetch(d.N.currentUser()),C=r.a.useBasicFetch(u.R.video(E)),A=(0,m.T)().getGatedPermission,O=(0,g.$)({feedback:"feedback"===(null==k?void 0:k.id),setShowSpinner:T,closePopup:y,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===(i=C.data)||void 0===i?void 0:i.id,currentUser:S.data,baseAnalyticsData:{video:{id:E,name:null===(h=C.data)||void 0===h?void 0:h.name}}}).createInteractive,x=[{id:"feedback",title:b("feedbackTitle"),description:b("feedbackDescription"),imageUrl:v.W.Interactives.FeedbackOptions.FEEDBACK},{id:"no-feedback",title:b("noFeedbackTitle"),description:b("noFeedbackDescription"),imageUrl:v.W.Interactives.FeedbackOptions.NO_FEEDBACK}];return"hard-gate"===A(s.C.UploadVideo)?a.createElement(p.q,{feature:"interactive",animate:!1,closePopup:e.closePopup}):a.createElement(c.E,{title:b("title"),closePopup:y,options:x,selectOption:N,selection:k,showLoadingSpinner:!C.data||!S.data,cancelButtonProps:{onClick:function(){var e;o.k.logUserAction({video:{id:E,name:null===(e=C.data)||void 0===e?void 0:e.name}},{location:l.LZ.NewInteractive,entity:l.py.Interactive,actionType:l.Vw.Create,workflowPhase:l.eu.Discard}),y()},text:b("cancel"),variant:"link"},submitButtonProps:{onClick:O,text:b("continue"),variant:"dark",showSpinner:P,disabled:!k}})}},75986:(e,t,n)=>{n.d(t,{$:()=>f});var a=n(70680),i=n(23481),r=n(81886),o=n(20354),l=n(49985),c=n(65858),s=n(5960),d=n(36199),u=n(20768),m=n(69883),p=n(14070),v=n(97291),g=i.T.encloseNamespace("shared.makeInteractive"),f=function(e){var t=e.feedback,n=e.setShowSpinner,i=e.objectId,f=e.name,h=e.duration,b=e.currentUser,E=e.closePopup,y=e.baseAnalyticsData,I=(0,a.I0)(),P=(0,m.Z)();function T(){n(!1),P.error(g("error"))}function w(e){var t={name:f,interactiveId:e.id,owner:{id:b.id},originType:d.V.Original,status:s.X.Draft};o.a.fetch(I,u.b.createInteractiveMetadata(i,t,k,T))}function k(e){l.k.logUserAction(Object.assign(Object.assign({},y),{id:e.id,name:e.name}),{location:c.LZ.NewInteractive,entity:c.py.Interactive,actionType:c.Vw.Create,workflowPhase:c.eu.Complete}),r.Q.C$.trigger({application:v.O.INTERACTIVES,action:p.e.Interactives.EDIT_INTERACTIVE,args:[e.id,e.name]}),E()}return{createInteractive:function(){n(!0);var e={name:f,duration:h,immediateFeedback:t,preventScrubbing:!1};o.a.fetch(I,u.b.createInteractive(e,w,T))}}}},64695:(e,t,n)=>{n.d(t,{q:()=>b});var a=n(32735),i=n(37241),r=n(68050),o=n(23481),l=n(65858),c=n(97958),s=n(9111),d=n(53172),u=n(83345),m=n(99742),p=n(14070),v=n(97291),g="shared.hardGatePopup",f=o.T.encloseNamespace(g),h={assign:{titlePhrase:"assignTitle",headingPhrase:"assignHeading",imageUrl:m.W.ReverseTrial.ASSIGN},playlists:{titlePhrase:"playlistsTitle",headingPhrase:"playlistsHeading",imageUrl:m.W.ReverseTrial.PLAYLIST},interactive:{titlePhrase:"interactiveTitle",headingPhrase:"interactiveHeading",imageUrl:m.W.ReverseTrial.INTERACTIVE},"copy-interactives":{titlePhrase:"copyInteractiveTitle",headingPhrase:"copyInteractiveHeading",imageUrl:m.W.ReverseTrial.INTERACTIVE},integrations:{titlePhrase:"integrationsTitle",headingPhrase:"integrationsHeading",imageUrl:m.W.ReverseTrial.INTEGRATIONS}};function b(e){var t=h[e.feature];return a.createElement(s.G,{size:"lg",animation:e.animate,closePopup:e.closePopup,hideTitle:!0},a.createElement(i.Z.Header,{className:"d-flex align-items-center justify-content-between bg-white mx-n3 mt-n3",closeButton:!0},a.createElement(i.Z.Title,{as:"h2",className:"h4 flex-grow-1 d-flex justify-content-between align-items-center"},f(t.titlePhrase),a.createElement("span",{className:"d-inline-block me-2"},a.createElement(d.l,{size:"std"})))),a.createElement(r.Z,{className:"mb-3"},a.createElement(c.u,{className:"pt-3"},a.createElement(c.u.Image,{src:t.imageUrl,altText:f(t.titlePhrase)}),a.createElement(c.u.Heading,{className:"h6"},a.createElement(u.x,{namespace:g,phrase:t.headingPhrase})),a.createElement(c.u.Info,null,a.createElement(u.x,{namespace:g,phrase:"description"})),a.createElement(c.u.Cta,{appLink:{application:v.O.SIGN_UP,action:p.e.SignUp.PREMIUM_FEATURES},text:f("cta"),analyticsData:{},analyticsOptions:{actionType:l.Vw.Click,location:l.LZ.GatedPopup,entity:l.py.AppLink,descriptor:l.Yu.PremiumFeatures}}))),e.extraContent)}}}]);
|
|
2
|
+
//# sourceMappingURL=1726-b8b386dbd5-lite.chunk.js.map
|
package/dist/scripts/{1726-b08dde1407-lite.chunk.js.map → 1726-b8b386dbd5-lite.chunk.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/1726-b08dde1407-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/components/premium-badge/PremiumBadge.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","file:///app/packages/projects/lite/src/shared/components/hard-gate-popup/HardGatePopup.tsx"],"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}","import React from 'react';\n\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.premiumBadge';\n\ninterface PremiumBadgeProps {\n invert?: boolean;\n size: 'sm' | 'std';\n className?: string;\n}\n\nexport function PremiumBadge(props: PremiumBadgeProps): JSX.Element {\n return (\n <span className={classNames(\n 'badge badge-wrapper rounded-pill d-flex align-items-center justify-content-center',\n 'fw-medium text-indigo',\n props.size === 'sm' ? 'badge-sm' : 'badge-std',\n props.invert ? 'bg-white' : 'bg-light-indigo',\n props.className\n )}>\n <SvgContainer svgName={cvSvgLibrary.StarOutline} size={SvgContainerSize.Medium} />\n <Text phrase='premium' namespace={namespace} />\n </span>\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 { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { CurrentUser, PopupViewProps, Video } from 'libs/shared/interfaces';\n\nimport { HardGatePopup } from 'shared/components/hard-gate-popup/HardGatePopup';\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 const { getGatedPermission } = usePermissions();\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 if (getGatedPermission(PermissionName.UploadVideo) === 'hard-gate') {\n return (\n <HardGatePopup\n feature='interactive'\n animate={false}\n closePopup={props.closePopup}\n />\n );\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","import React from 'react';\nimport { Modal, Row } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, SignUpDescriptors, UserAction } from 'libs/analytics/interfaces';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { MultiStepPopupViewProps } from 'libs/shared/components/multistep-popup/MultiStepPopup';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PremiumBadge } from 'libs/shared/components/premium-badge/PremiumBadge';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'shared.hardGatePopup';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype Feature = 'assign' | 'playlists' | 'interactive' | 'copy-interactives' | 'integrations';\n\ninterface FeatureConfig {\n titlePhrase: string;\n headingPhrase: string;\n imageUrl: string;\n}\n\nconst featureConfigMap: Record<Feature, FeatureConfig> = {\n 'assign': {\n titlePhrase: 'assignTitle',\n headingPhrase: 'assignHeading',\n imageUrl: ImageUrls.ReverseTrial.ASSIGN\n },\n 'playlists': {\n titlePhrase: 'playlistsTitle',\n headingPhrase: 'playlistsHeading',\n imageUrl: ImageUrls.ReverseTrial.PLAYLIST\n },\n 'interactive': {\n titlePhrase: 'interactiveTitle',\n headingPhrase: 'interactiveHeading',\n imageUrl: ImageUrls.ReverseTrial.INTERACTIVE\n },\n 'copy-interactives': {\n titlePhrase: 'copyInteractiveTitle',\n headingPhrase: 'copyInteractiveHeading',\n imageUrl: ImageUrls.ReverseTrial.INTERACTIVE\n },\n 'integrations': {\n titlePhrase: 'integrationsTitle',\n headingPhrase: 'integrationsHeading',\n imageUrl: ImageUrls.ReverseTrial.INTEGRATIONS\n }\n};\n\nexport interface HardGatePopupProps extends MultiStepPopupViewProps {\n feature: Feature;\n extraContent?: React.ReactNode;\n}\n\nexport function HardGatePopup(props: HardGatePopupProps): JSX.Element {\n const config = featureConfigMap[props.feature];\n\n return (\n <Popup\n size='lg'\n animation={props.animate}\n closePopup={props.closePopup}\n hideTitle\n >\n <Modal.Header className='d-flex align-items-center justify-content-between bg-white mx-n3 mt-n3' closeButton>\n <Modal.Title as='h2' className='h4 flex-grow-1 d-flex justify-content-between align-items-center'>\n {getPhrase(config.titlePhrase)}\n <span className='d-inline-block me-2'><PremiumBadge size='std' /></span>\n </Modal.Title>\n </Modal.Header>\n <Row className='mb-3'>\n <EmptyState className='pt-3'>\n <EmptyState.Image src={config.imageUrl} altText={getPhrase(config.titlePhrase)} />\n <EmptyState.Heading className='h6'>\n <Text namespace={namespace} phrase={config.headingPhrase} />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='description' />\n </EmptyState.Info>\n <EmptyState.Cta\n appLink={{\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.INVITE_COLLEAGUE\n }}\n text={getPhrase('cta')}\n analyticsData={{}}\n analyticsOptions={{\n actionType: UserAction.Click,\n location: LocationContext.GatedPopup,\n entity: EntityType.AppLink,\n descriptor: SignUpDescriptors.PremiumFeatures\n }}\n />\n </EmptyState>\n </Row>\n \n {props.extraContent}\n </Popup>\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","namespace","PremiumBadge","invert","svgName","S","phrase","InteractiveOriginType","getPhrase","NewInteractiveView","videoId","showSpinnerButton","setShowSpinnerButton","choice","setChoice","currentUser","video","getGatedPermission","createInteractive","feedback","setShowSpinner","name","data","duration","objectId","baseAnalyticsData","choices","feature","animate","location","entity","actionType","workflowPhase","text","variant","showSpinner","useNewInteractiveCallbacks","dispatch","alerts","onError","error","onInteractiveCreated","resp","interactiveId","owner","originType","status","onInteractiveMetadataCreated","application","action","args","immediateFeedback","preventScrubbing","featureConfigMap","titlePhrase","headingPhrase","HardGatePopup","config","animation","hideTitle","closeButton","as","altText","appLink","analyticsData","analyticsOptions","descriptor","extraContent"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"scripts/1726-b8b386dbd5-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/components/premium-badge/PremiumBadge.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","file:///app/packages/projects/lite/src/shared/components/hard-gate-popup/HardGatePopup.tsx"],"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}","import React from 'react';\n\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.premiumBadge';\n\ninterface PremiumBadgeProps {\n invert?: boolean;\n size: 'sm' | 'std';\n className?: string;\n}\n\nexport function PremiumBadge(props: PremiumBadgeProps): JSX.Element {\n return (\n <span className={classNames(\n 'badge badge-wrapper rounded-pill d-flex align-items-center justify-content-center',\n 'fw-medium text-indigo',\n props.size === 'sm' ? 'badge-sm' : 'badge-std',\n props.invert ? 'bg-white' : 'bg-light-indigo',\n props.className\n )}>\n <SvgContainer svgName={cvSvgLibrary.StarOutline} size={SvgContainerSize.Medium} />\n <Text phrase='premium' namespace={namespace} />\n </span>\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 { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { CurrentUser, PopupViewProps, Video } from 'libs/shared/interfaces';\n\nimport { HardGatePopup } from 'shared/components/hard-gate-popup/HardGatePopup';\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 const { getGatedPermission } = usePermissions();\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 if (getGatedPermission(PermissionName.UploadVideo) === 'hard-gate') {\n return (\n <HardGatePopup\n feature='interactive'\n animate={false}\n closePopup={props.closePopup}\n />\n );\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","import React from 'react';\nimport { Modal, Row } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, SignUpDescriptors, UserAction } from 'libs/analytics/interfaces';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { MultiStepPopupViewProps } from 'libs/shared/components/multistep-popup/MultiStepPopup';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PremiumBadge } from 'libs/shared/components/premium-badge/PremiumBadge';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'shared.hardGatePopup';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype Feature = 'assign' | 'playlists' | 'interactive' | 'copy-interactives' | 'integrations';\n\ninterface FeatureConfig {\n titlePhrase: string;\n headingPhrase: string;\n imageUrl: string;\n}\n\nconst featureConfigMap: Record<Feature, FeatureConfig> = {\n 'assign': {\n titlePhrase: 'assignTitle',\n headingPhrase: 'assignHeading',\n imageUrl: ImageUrls.ReverseTrial.ASSIGN\n },\n 'playlists': {\n titlePhrase: 'playlistsTitle',\n headingPhrase: 'playlistsHeading',\n imageUrl: ImageUrls.ReverseTrial.PLAYLIST\n },\n 'interactive': {\n titlePhrase: 'interactiveTitle',\n headingPhrase: 'interactiveHeading',\n imageUrl: ImageUrls.ReverseTrial.INTERACTIVE\n },\n 'copy-interactives': {\n titlePhrase: 'copyInteractiveTitle',\n headingPhrase: 'copyInteractiveHeading',\n imageUrl: ImageUrls.ReverseTrial.INTERACTIVE\n },\n 'integrations': {\n titlePhrase: 'integrationsTitle',\n headingPhrase: 'integrationsHeading',\n imageUrl: ImageUrls.ReverseTrial.INTEGRATIONS\n }\n};\n\nexport interface HardGatePopupProps extends MultiStepPopupViewProps {\n feature: Feature;\n extraContent?: React.ReactNode;\n}\n\nexport function HardGatePopup(props: HardGatePopupProps): JSX.Element {\n const config = featureConfigMap[props.feature];\n\n return (\n <Popup\n size='lg'\n animation={props.animate}\n closePopup={props.closePopup}\n hideTitle\n >\n <Modal.Header className='d-flex align-items-center justify-content-between bg-white mx-n3 mt-n3' closeButton>\n <Modal.Title as='h2' className='h4 flex-grow-1 d-flex justify-content-between align-items-center'>\n {getPhrase(config.titlePhrase)}\n <span className='d-inline-block me-2'><PremiumBadge size='std' /></span>\n </Modal.Title>\n </Modal.Header>\n <Row className='mb-3'>\n <EmptyState className='pt-3'>\n <EmptyState.Image src={config.imageUrl} altText={getPhrase(config.titlePhrase)} />\n <EmptyState.Heading className='h6'>\n <Text namespace={namespace} phrase={config.headingPhrase} />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='description' />\n </EmptyState.Info>\n <EmptyState.Cta\n appLink={{\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.PREMIUM_FEATURES\n }}\n text={getPhrase('cta')}\n analyticsData={{}}\n analyticsOptions={{\n actionType: UserAction.Click,\n location: LocationContext.GatedPopup,\n entity: EntityType.AppLink,\n descriptor: SignUpDescriptors.PremiumFeatures\n }}\n />\n </EmptyState>\n </Row>\n \n {props.extraContent}\n </Popup>\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","namespace","PremiumBadge","invert","svgName","S","phrase","InteractiveOriginType","getPhrase","NewInteractiveView","videoId","showSpinnerButton","setShowSpinnerButton","choice","setChoice","currentUser","video","getGatedPermission","createInteractive","feedback","setShowSpinner","name","data","duration","objectId","baseAnalyticsData","choices","feature","animate","location","entity","actionType","workflowPhase","text","variant","showSpinner","useNewInteractiveCallbacks","dispatch","alerts","onError","error","onInteractiveCreated","resp","interactiveId","owner","originType","status","onInteractiveMetadataCreated","application","action","args","immediateFeedback","preventScrubbing","featureConfigMap","titlePhrase","headingPhrase","HardGatePopup","config","animation","hideTitle","closeButton","as","altText","appLink","analyticsData","analyticsOptions","descriptor","extraContent"],"sourceRoot":""}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! For license information please see 4006-
|
|
2
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4006],{8233:(e,t,n)=>{n.d(t,{R:()=>m});var r=n(23481),i=n(110),a=n(33518),o=n(4594),s=n(49080),c=n(26361),l=n(35223),u=n(31908);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 g=r.T.encloseNamespace("sharev2.utils"),m={getPrivateIconAndText:function(e){var t=e.entityTypeId,n=e.privacy,r=e.hasStudentExp,i=e.entity,s=e.yearGroups;if(t===o.E.Topic||t===o.E.Series)return{icon:l.vn.VisibleOn,text:g(r?"justMySchoolTeachers":"justMySchoolDescription")};if(!Array.isArray(n))switch(n){case a.e.Public:return{icon:l.vn.VisibleOn,text:g("publicDescription")};case a.e.ProtectedOverrideRestriction:return{icon:l.vn.VisibleOn,text:g("clickViewOnly")};case a.e.Protected:return{icon:l.vn.Lock,text:m.getRespectRatingText(i,s,r)};case a.e.JustMySchoolOverrideRestriction:return{icon:l.vn.Lock,text:g(r?"justMySchoolTeachers":"justMySchoolDescription")};case a.e.JustMySchool:return{icon:l.vn.Lock,text:m.getRespectRatingText(i,s,r)};case a.e.PinCode:return{icon:l.vn.Lock,text:g("pinDescription")};case a.e.PasswordProtected:return{icon:l.vn.Lock,text:g("password")};default:return{}}},getIconAndText:function(e){var t=e.linkExpireDate,n=e.isPasswordProtected,r=e.status;if(!t&&!n)return m.getPrivateIconAndText(e);if(!t)return{icon:l.vn.Lock,text:g("password")};var a=i.O.isToday(t),o=i.O.diffBetween(t,new Date,"day");if(!n){var c=a?g("expiryToday"):g("expiry",{days:o});return r===s.F.Expired&&(c=g("expired")),{icon:l.vn.Timer,text:c}}var u=a?g("passwordExpiryToday"):g("passwordExpiry",{days:o});return r===s.F.Expired&&(u=g("passwordExpired")),{icon:l.vn.Lock,text:u}},getRespectRatingText:function(e,t,n){var r;if(!e||!t)return null;if(n)return g("justMySchoolTeachers");if(!u.M.isVideoType(e))return g("collectionRating");var i=c.l.getWeightedRestriction(null===(r=e._restrictions)||void 0===r?void 0:r.value);if(i&&!i.yearGroup)return g("onlyAdmins");var a,o,s,l=u.M.getRating(e),m=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=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&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(t);try{for(m.s();!(s=m.n()).done;){var p=s.value;(!a||p.value>a.value)&&(a=p),i&&p.value<=i.yearGroup||l&&p.rating.value<l.value||(!o||p.value<o.value)&&(o=p)}}catch(e){m.e(e)}finally{m.f()}return o?1===t.length?g("clickViewOnly"):o.value===a.value?g("maxYearGroup",{yearGroup:a.name}):g("yearGroupRange",{yearGroup:o.name}):g("onlyStaff")},getShareLinkAccessType:function(e){return e.isTvContent||e.isClickViewContent?"protected":e.canManageAccess?"owner":"private"}}},53172:(e,t,n)=>{n.d(t,{l:()=>l});var r=n(32735),i=n(31453),a=n(83914),o=n(83345),s=n(35223),c="shared.premiumBadge";function l(e){return r.createElement("span",{className:(0,i.A)("badge badge-wrapper rounded-pill d-flex align-items-center justify-content-center","fw-medium text-indigo","sm"===e.size?"badge-sm":"badge-std",e.invert?"bg-white":"bg-light-indigo",e.className)},r.createElement(a.x,{svgName:s.vn.StarOutline,size:a.S.Medium}),r.createElement(o.x,{phrase:"premium",namespace:c}))}},14006:(e,t,n)=>{n.r(t),n.d(t,{OpenClassroomFlowView:()=>$});var r=n(32735),i=n(89067),a=n(64695),o=n(83351);function s(e){return r.createElement(a.q,{feature:"assign",animate:e.animate,closePopup:e.closePopup,extraContent:r.createElement(o.P,{onClickBack:e.goToFlowSelector,hideNextButton:!0,hideCreateClassroomButton:!0})})}var c=n(82664),l=n(37241),u=n(23481),d=n(65858),g=n(9111),m=n(53172),p=n(99998),f=n(7786),h=n(8233),v=n(32781),y=n(91693),b=n(12528),S=n(83914),T=n(83345),E=n(35223),w="assign.openClassroomFlowInfoHeader";function x(e){return r.createElement(T.D.Provider,{value:w},r.createElement("div",{className:"p-3 bg-light-blue rounded rounded-2 gap-3 d-flex flex-row"},r.createElement("div",{className:"d-none d-md-block"},r.createElement("div",null,r.createElement(b.f,{svgName:E.vn.Classrooms,svgSize:S.S.Standard,variant:"blue",textVariant:"white",svgWrapperClassName:"p-1"}))),r.createElement("div",{className:"position-relative w-100"},r.createElement("h3",{className:"h6"},r.createElement(T.x,{phrase:"title"})),r.createElement("p",{className:"mb-0"},r.createElement(T.x,{phrase:"description"})),r.createElement("div",{className:"position-absolute top-0 end-0"},r.createElement(y.h,{svgName:E.vn.Close,onClick:e.onClose,className:"btn-close p-2"})))))}var R=u.T.encloseNamespace("assign.openClassroomFlowSettings");function I(e){var t=h.R.getRespectRatingText(e.entity,e.yearGroups,e.hasStudentExp);return r.createElement("div",{className:"d-flex flex-column gap-4"},e.showHeader&&r.createElement(x,{onClose:e.closeHeader}),r.createElement(v.m,null,r.createElement(v.m.Input,{title:R("openClassroomNameTitle"),className:"col-lg-6",value:e.openClassroomName,onChange:e.onChangeOpenClassroomName,placeholder:R("openClassroomNamePlaceholder"),error:e.error.name})),r.createElement(v.m.Divider,{hide:e.hidePreventScrubbing&&e.hideImmediateFeedback}),r.createElement(v.m,{name:R("videoSettingsTitle"),hide:e.hidePreventScrubbing&&e.hideImmediateFeedback},r.createElement(v.m.Toggle,{hide:e.hidePreventScrubbing,title:R("preventScrubbingTitle"),description:R("preventScrubbingDescription"),onClick:e.onTogglePreventScrubbing,toggled:e.preventScrubbing,disabled:e.disablePreventScrubbing}),r.createElement(v.m.Toggle,{hide:e.hideImmediateFeedback,title:R("immediateFeedbackTitle"),description:R("immediateFeedbackDescription"),onClick:e.onToggleImmediateFeedback,toggled:e.immediateFeedback,disabled:e.disableImmediateFeedback})),r.createElement(v.m.Divider,{hide:e.hideRequiresStudentSignIn&&e.hideRespectRatingsAndRestrictions}),r.createElement(v.m,{name:R("studentAccessTitle"),hide:e.hideRequiresStudentSignIn&&e.hideRespectRatingsAndRestrictions},r.createElement(v.m.Toggle,{hide:e.hideRequiresStudentSignIn,title:R("requiresStudentSignInTitle"),description:R("requiresStudentSignInDescription"),onClick:e.onToggleRequiresStudentSignIn,toggled:e.toggleRequiresStudentSignIn,disabled:e.disableRequiresStudentSignIn}),r.createElement(v.m.Toggle,{hide:e.hideRespectRatingsAndRestrictions,title:R("respectRatingsAndRestrictionsTitle"),description:t,onClick:e.onToggleRespectRatingsAndRestrictions,toggled:e.toggleRespectRatingsAndRestrictions,disabled:e.disableRespectRatingsAndRestrictions})),r.createElement(v.m.Divider,{hide:e.hideRequiresStudentSignIn&&e.hideRespectRatingsAndRestrictions||e.hideMessage}),r.createElement(v.m,{name:R("moreOptionsTitle"),hide:e.hideMessage,childContainerClassName:"d-flex flex-column gap-2"},r.createElement(v.m.Toggle,{hide:e.hideMessage,title:R("messageTitle"),description:R("messageDescription"),onClick:e.onToggleMessage,toggled:e.toggleMessage,disabled:e.disableMessage},r.createElement(v.m.TextArea,{hide:!e.toggleMessage,placeholder:R("messagePlaceholder"),onChange:e.onChangeMessage,value:e.message}))))}var P=n(57900),k=n(2948),C=n(20354),A=n(80687),N=n(1666),j=n(69883),O=n(95890);function F(e){return F="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},F(e)}function G(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",i=n.toStringTag||"@@toStringTag";function a(n,r,i,a){var c=r&&r.prototype instanceof s?r:s,l=Object.create(c.prototype);return M(l,"_invoke",function(n,r,i){var a,s,c,l=0,u=i||[],d=!1,g={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(t,n){return a=t,s=0,c=e,g.n=n,o}};function m(n,r){for(s=n,c=r,t=0;!d&&l&&!i&&t<u.length;t++){var i,a=u[t],m=g.p,p=a[2];n>3?(i=p===r)&&(c=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=m&&((i=n<2&&m<a[1])?(s=0,g.v=r,g.n=a[1]):m<p&&(i=n<3||a[0]>r||r>p)&&(a[4]=n,a[5]=r,g.n=p,s=0))}if(i||n>1)return o;throw d=!0,r}return function(i,u,p){if(l>1)throw TypeError("Generator is already running");for(d&&1===u&&m(u,p),s=u,c=p;(t=s<2?e:c)||!d;){a||(s?s<3?(s>1&&(g.n=-1),m(s,c)):g.n=c:g.v=c);try{if(l=2,a){if(s||(i="next"),t=a[i]){if(!(t=t.call(a,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(c=TypeError("The iterator does not provide a '"+i+"' method"),s=1);a=e}else if((t=(d=g.n<0)?c:n.call(r,g))!==o)break}catch(t){a=e,s=1,c=t}finally{l=1}}return{value:t,done:d}}}(n,i,a),!0),l}var o={};function s(){}function c(){}function l(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(M(t={},r,function(){return this}),t),d=l.prototype=s.prototype=Object.create(u);function g(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,M(e,i,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=l,M(d,"constructor",l),M(l,"constructor",c),c.displayName="GeneratorFunction",M(l,i,"GeneratorFunction"),M(d),M(d,i,"Generator"),M(d,r,function(){return this}),M(d,"toString",function(){return"[object Generator]"}),(G=function(){return{w:a,m:g}})()}function M(e,t,n,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}M=function(e,t,n,r){if(t)i?i(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n;else{var a=function(t,n){M(e,t,function(e){return this._invoke(t,n,e)})};a("next",0),a("throw",1),a("return",2)}},M(e,t,n,r)}function q(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,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}(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 B=function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((r=r.apply(e,t||[])).next())})},L=u.T.encloseNamespace("assign.useOpenClassroomFlowData"),H={immediateFeedback:!1,preventScrubbing:!1,message:!1,requiresStudentSignIn:!1,respectRatingsAndRestrictions:!1},V=128,_="assign:open:classroom:flow:settings:header";function U(e){var t,n,i,a=(0,j.Z)(),o=q((0,k.D)(_,!0,{storage:P.Z1.LocalStorage}),2),s=o[0],c=o[1],l=(0,O._)({entityType:e.entityType,objectId:e.objectId}),u=C.a.useBasicFetch(N.h.yearGroups(null===(t=l.currentUser.data)||void 0===t?void 0:t.customerId)),d=(0,A.t)(e.objectId).createOpenSession,g=q(r.useState(Object.assign(Object.assign({},H),{preventScrubbing:(null===(n=l.interactive.data)||void 0===n?void 0:n.preventScrubbing)||!1,immediateFeedback:(null===(i=l.interactive.data)||void 0===i?void 0:i.immediateFeedback)||!1})),2),m=g[0],p=g[1],f=q(r.useState(""),2),h=f[0],v=f[1],y=q(r.useState(""),2),b=y[0],S=y[1],T=q(r.useState(!1),2),E=T[0],w=T[1],x=q(r.useState({}),2),R=x[0],I=x[1],M=0===Object.keys(R).length;return{data:{loaded:l.loaded&&!!u.data,entity:l.entity,yearGroups:u},showHeader:s,hasStudentExp:l.hasStudentExp,shouldShowSpinner:E,nextButtonText:L("nextButton"),name:h,message:b,settings:m,setMessage:S,setShowHeader:c,toggleSetting:function(e){!function(e,t){var n,r,i,a=(n={},i=t,(r=function(e){var t=function(e){if("object"!=F(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=F(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==F(t)?t:t+""}(r=e))in n?Object.defineProperty(n,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[r]=i,n);"respectRatingsAndRestrictions"===e&&(a.requiresStudentSignIn=t),p(function(e){return Object.assign(Object.assign({},e),a)})}(e,!m[e])},setOpenClassroomName:function(e){e.length>V?I(function(e){return Object.assign(Object.assign({},e),{name:L("errorNameTooLong")})}):I(function(e){return delete e.name,e}),v(e)},onShare:function(t){return B(this,void 0,void 0,G().m(function n(){var r;return G().w(function(n){for(;;)switch(n.n){case 0:if(M){n.n=1;break}return n.a(2);case 1:return w(!0),n.p=2,n.n=3,d({name:h,objectId:e.objectId,immediateFeedback:m.immediateFeedback,preventScrubbing:m.preventScrubbing,requireSignIn:m.requiresStudentSignIn,respectRatingsAndRestrictions:m.respectRatingsAndRestrictions});case 3:r=n.v,"function"==typeof t&&t(r),w(!1),n.n=5;break;case 4:n.p=4,n.v,a.error(L("createError"));case 5:return n.p=5,w(!1),n.f(5);case 6:return n.a(2)}},n,null,[[2,4,5,6]])}))},error:R,setError:I,isValid:M,openClassroomGatedPermission:l.openClassroomGatedPermission}}var Z=u.T.encloseNamespace("assign.openClassroomFlowSettingsView");function z(e){var t=U({entityType:e.entityType,objectId:e.objectId}),n=(0,p.R)(),i=n.experience,a=n.loading,s=t.data,c=s.loaded,u=s.entity,h=s.yearGroups,v=(0,f.y)({data:{entity:{id:e.objectId,type:e.entityType}},analyticsOptions:{location:d.LZ.Popup}}).log,y=!c||a||e.loading;return r.createElement(g.G,{size:"lg",title:Z("title"),showLoadingSpinner:y,closePopup:e.closePopup,bodyClassName:"d-flex flex-column gap-3",animation:e.animate,hideTitle:"soft-gate"===t.openClassroomGatedPermission},"soft-gate"===t.openClassroomGatedPermission&&r.createElement(l.Z.Header,{className:"d-flex align-items-center justify-content-between bg-white mx-n3 mt-n3 mb-3",closeButton:!0},r.createElement(l.Z.Title,{as:"h2",className:"h4 flex-grow-1 d-flex justify-content-between align-items-center"},Z("title"),r.createElement("span",{className:"d-inline-block me-2"},r.createElement(m.l,{size:"std"})))),r.createElement(I,{entity:u.data,error:t.error,showHeader:t.showHeader,openClassroomName:t.name,onChangeOpenClassroomName:t.setOpenClassroomName,message:t.message,yearGroups:h.data,hasStudentExp:t.hasStudentExp,toggleMessage:t.settings.message,immediateFeedback:t.settings.immediateFeedback,preventScrubbing:t.settings.preventScrubbing,toggleRequiresStudentSignIn:t.settings.requiresStudentSignIn,toggleRespectRatingsAndRestrictions:t.settings.respectRatingsAndRestrictions,hideMessage:!0,onChangeMessage:t.setMessage,onToggleMessage:function(){return t.toggleSetting("message")},hidePreventScrubbing:"interactive"!==e.entityType,hideImmediateFeedback:"interactive"!==e.entityType,hideRequiresStudentSignIn:"full"!==i,hideRespectRatingsAndRestrictions:"full"!==i,onTogglePreventScrubbing:function(){return t.toggleSetting("preventScrubbing")},onToggleImmediateFeedback:function(){return t.toggleSetting("immediateFeedback")},onToggleRequiresStudentSignIn:function(){return t.toggleSetting("requiresStudentSignIn")},onToggleRespectRatingsAndRestrictions:function(){return t.toggleSetting("respectRatingsAndRestrictions")},closeHeader:function(){return t.setShowHeader(!1)},disableRequiresStudentSignIn:t.settings.respectRatingsAndRestrictions}),r.createElement(o.P,{hideCreateClassroomButton:!0,hideBackButton:e.hideBackButton||"soft-gate"===t.openClassroomGatedPermission,onClickBack:e.goToFlowSelector,onClickNext:function(){t.onShare(function(t){v({type:"create-open-classroom",share:t}),v({type:"share-open-classroom",id:t.objectId,shareId:t.shareId,shareType:t.type}),e.setShare(t),e.goToAssignDetails()})},nextButtonText:t.nextButtonText,showSpinner:t.shouldShowSpinner,disableNextButton:!t.isValid}))}function W(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,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Y(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)?Y(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 Y(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}function $(e){var t=W(r.useState(e.openClassroomInitialStep),2),n=t[0],a=t[1],o=W(r.useState(),2),l=o[0],u=o[1],d={objectId:e.objectId,entityType:e.entityType,closePopup:e.closePopup,goToFlowSelector:e.goToFlowSelector,shareId:null==l?void 0:l.shareId,initialDetailsScreen:"share-link",goToAssignDetails:function(){return a("assign-details")},setShare:u};return r.createElement(i.r,{data:d,animate:!1,step:n,setStep:a,closePopup:e.closePopup,steps:{settings:{view:z},"assign-details":{view:c.AssignDetailsView},"hard-gate":{view:s}}})}},64695:(e,t,n)=>{n.d(t,{q:()=>y});var r=n(32735),i=n(37241),a=n(68050),o=n(23481),s=n(65858),c=n(97958),l=n(9111),u=n(53172),d=n(83345),g=n(99742),m=n(14070),p=n(97291),f="shared.hardGatePopup",h=o.T.encloseNamespace(f),v={assign:{titlePhrase:"assignTitle",headingPhrase:"assignHeading",imageUrl:g.W.ReverseTrial.ASSIGN},playlists:{titlePhrase:"playlistsTitle",headingPhrase:"playlistsHeading",imageUrl:g.W.ReverseTrial.PLAYLIST},interactive:{titlePhrase:"interactiveTitle",headingPhrase:"interactiveHeading",imageUrl:g.W.ReverseTrial.INTERACTIVE},"copy-interactives":{titlePhrase:"copyInteractiveTitle",headingPhrase:"copyInteractiveHeading",imageUrl:g.W.ReverseTrial.INTERACTIVE},integrations:{titlePhrase:"integrationsTitle",headingPhrase:"integrationsHeading",imageUrl:g.W.ReverseTrial.INTEGRATIONS}};function y(e){var t=v[e.feature];return r.createElement(l.G,{size:"lg",animation:e.animate,closePopup:e.closePopup,hideTitle:!0},r.createElement(i.Z.Header,{className:"d-flex align-items-center justify-content-between bg-white mx-n3 mt-n3",closeButton:!0},r.createElement(i.Z.Title,{as:"h2",className:"h4 flex-grow-1 d-flex justify-content-between align-items-center"},h(t.titlePhrase),r.createElement("span",{className:"d-inline-block me-2"},r.createElement(u.l,{size:"std"})))),r.createElement(a.Z,{className:"mb-3"},r.createElement(c.u,{className:"pt-3"},r.createElement(c.u.Image,{src:t.imageUrl,altText:h(t.titlePhrase)}),r.createElement(c.u.Heading,{className:"h6"},r.createElement(d.x,{namespace:f,phrase:t.headingPhrase})),r.createElement(c.u.Info,null,r.createElement(d.x,{namespace:f,phrase:"description"})),r.createElement(c.u.Cta,{appLink:{application:p.O.SIGN_UP,action:m.e.SignUp.INVITE_COLLEAGUE},text:h("cta"),analyticsData:{},analyticsOptions:{actionType:s.Vw.Click,location:s.LZ.GatedPopup,entity:s.py.AppLink,descriptor:s.Yu.PremiumFeatures}}))),e.extraContent)}}}]);
|
|
3
|
-
//# sourceMappingURL=4006-
|
|
1
|
+
/*! For license information please see 4006-2b689bdde0-lite.chunk.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4006],{8233:(e,t,n)=>{n.d(t,{R:()=>m});var r=n(23481),i=n(110),a=n(33518),o=n(4594),s=n(49080),c=n(26361),l=n(35223),u=n(31908);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 g=r.T.encloseNamespace("sharev2.utils"),m={getPrivateIconAndText:function(e){var t=e.entityTypeId,n=e.privacy,r=e.hasStudentExp,i=e.entity,s=e.yearGroups;if(t===o.E.Topic||t===o.E.Series)return{icon:l.vn.VisibleOn,text:g(r?"justMySchoolTeachers":"justMySchoolDescription")};if(!Array.isArray(n))switch(n){case a.e.Public:return{icon:l.vn.VisibleOn,text:g("publicDescription")};case a.e.ProtectedOverrideRestriction:return{icon:l.vn.VisibleOn,text:g("clickViewOnly")};case a.e.Protected:return{icon:l.vn.Lock,text:m.getRespectRatingText(i,s,r)};case a.e.JustMySchoolOverrideRestriction:return{icon:l.vn.Lock,text:g(r?"justMySchoolTeachers":"justMySchoolDescription")};case a.e.JustMySchool:return{icon:l.vn.Lock,text:m.getRespectRatingText(i,s,r)};case a.e.PinCode:return{icon:l.vn.Lock,text:g("pinDescription")};case a.e.PasswordProtected:return{icon:l.vn.Lock,text:g("password")};default:return{}}},getIconAndText:function(e){var t=e.linkExpireDate,n=e.isPasswordProtected,r=e.status;if(!t&&!n)return m.getPrivateIconAndText(e);if(!t)return{icon:l.vn.Lock,text:g("password")};var a=i.O.isToday(t),o=i.O.diffBetween(t,new Date,"day");if(!n){var c=a?g("expiryToday"):g("expiry",{days:o});return r===s.F.Expired&&(c=g("expired")),{icon:l.vn.Timer,text:c}}var u=a?g("passwordExpiryToday"):g("passwordExpiry",{days:o});return r===s.F.Expired&&(u=g("passwordExpired")),{icon:l.vn.Lock,text:u}},getRespectRatingText:function(e,t,n){var r;if(!e||!t)return null;if(n)return g("justMySchoolTeachers");if(!u.M.isVideoType(e))return g("collectionRating");var i=c.l.getWeightedRestriction(null===(r=e._restrictions)||void 0===r?void 0:r.value);if(i&&!i.yearGroup)return g("onlyAdmins");var a,o,s,l=u.M.getRating(e),m=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=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&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(t);try{for(m.s();!(s=m.n()).done;){var p=s.value;(!a||p.value>a.value)&&(a=p),i&&p.value<=i.yearGroup||l&&p.rating.value<l.value||(!o||p.value<o.value)&&(o=p)}}catch(e){m.e(e)}finally{m.f()}return o?1===t.length?g("clickViewOnly"):o.value===a.value?g("maxYearGroup",{yearGroup:a.name}):g("yearGroupRange",{yearGroup:o.name}):g("onlyStaff")},getShareLinkAccessType:function(e){return e.isTvContent||e.isClickViewContent?"protected":e.canManageAccess?"owner":"private"}}},53172:(e,t,n)=>{n.d(t,{l:()=>l});var r=n(32735),i=n(31453),a=n(83914),o=n(83345),s=n(35223),c="shared.premiumBadge";function l(e){return r.createElement("span",{className:(0,i.A)("badge badge-wrapper rounded-pill d-flex align-items-center justify-content-center","fw-medium text-indigo","sm"===e.size?"badge-sm":"badge-std",e.invert?"bg-white":"bg-light-indigo",e.className)},r.createElement(a.x,{svgName:s.vn.StarOutline,size:a.S.Medium}),r.createElement(o.x,{phrase:"premium",namespace:c}))}},14006:(e,t,n)=>{n.r(t),n.d(t,{OpenClassroomFlowView:()=>$});var r=n(32735),i=n(89067),a=n(64695),o=n(83351);function s(e){return r.createElement(a.q,{feature:"assign",animate:e.animate,closePopup:e.closePopup,extraContent:r.createElement(o.P,{onClickBack:e.goToFlowSelector,hideNextButton:!0,hideCreateClassroomButton:!0})})}var c=n(82664),l=n(37241),u=n(23481),d=n(65858),g=n(9111),m=n(53172),p=n(99998),f=n(7786),h=n(8233),v=n(32781),y=n(91693),b=n(12528),S=n(83914),T=n(83345),E=n(35223),R="assign.openClassroomFlowInfoHeader";function w(e){return r.createElement(T.D.Provider,{value:R},r.createElement("div",{className:"p-3 bg-light-blue rounded rounded-2 gap-3 d-flex flex-row"},r.createElement("div",{className:"d-none d-md-block"},r.createElement("div",null,r.createElement(b.f,{svgName:E.vn.Classrooms,svgSize:S.S.Standard,variant:"blue",textVariant:"white",svgWrapperClassName:"p-1"}))),r.createElement("div",{className:"position-relative w-100"},r.createElement("h3",{className:"h6"},r.createElement(T.x,{phrase:"title"})),r.createElement("p",{className:"mb-0"},r.createElement(T.x,{phrase:"description"})),r.createElement("div",{className:"position-absolute top-0 end-0"},r.createElement(y.h,{svgName:E.vn.Close,onClick:e.onClose,className:"btn-close p-2"})))))}var x=u.T.encloseNamespace("assign.openClassroomFlowSettings");function I(e){var t=h.R.getRespectRatingText(e.entity,e.yearGroups,e.hasStudentExp);return r.createElement("div",{className:"d-flex flex-column gap-4"},e.showHeader&&r.createElement(w,{onClose:e.closeHeader}),r.createElement(v.m,null,r.createElement(v.m.Input,{title:x("openClassroomNameTitle"),className:"col-lg-6",value:e.openClassroomName,onChange:e.onChangeOpenClassroomName,placeholder:x("openClassroomNamePlaceholder"),error:e.error.name})),r.createElement(v.m.Divider,{hide:e.hidePreventScrubbing&&e.hideImmediateFeedback}),r.createElement(v.m,{name:x("videoSettingsTitle"),hide:e.hidePreventScrubbing&&e.hideImmediateFeedback},r.createElement(v.m.Toggle,{hide:e.hidePreventScrubbing,title:x("preventScrubbingTitle"),description:x("preventScrubbingDescription"),onClick:e.onTogglePreventScrubbing,toggled:e.preventScrubbing,disabled:e.disablePreventScrubbing}),r.createElement(v.m.Toggle,{hide:e.hideImmediateFeedback,title:x("immediateFeedbackTitle"),description:x("immediateFeedbackDescription"),onClick:e.onToggleImmediateFeedback,toggled:e.immediateFeedback,disabled:e.disableImmediateFeedback})),r.createElement(v.m.Divider,{hide:e.hideRequiresStudentSignIn&&e.hideRespectRatingsAndRestrictions}),r.createElement(v.m,{name:x("studentAccessTitle"),hide:e.hideRequiresStudentSignIn&&e.hideRespectRatingsAndRestrictions},r.createElement(v.m.Toggle,{hide:e.hideRequiresStudentSignIn,title:x("requiresStudentSignInTitle"),description:x("requiresStudentSignInDescription"),onClick:e.onToggleRequiresStudentSignIn,toggled:e.toggleRequiresStudentSignIn,disabled:e.disableRequiresStudentSignIn}),r.createElement(v.m.Toggle,{hide:e.hideRespectRatingsAndRestrictions,title:x("respectRatingsAndRestrictionsTitle"),description:t,onClick:e.onToggleRespectRatingsAndRestrictions,toggled:e.toggleRespectRatingsAndRestrictions,disabled:e.disableRespectRatingsAndRestrictions})),r.createElement(v.m.Divider,{hide:e.hideRequiresStudentSignIn&&e.hideRespectRatingsAndRestrictions||e.hideMessage}),r.createElement(v.m,{name:x("moreOptionsTitle"),hide:e.hideMessage,childContainerClassName:"d-flex flex-column gap-2"},r.createElement(v.m.Toggle,{hide:e.hideMessage,title:x("messageTitle"),description:x("messageDescription"),onClick:e.onToggleMessage,toggled:e.toggleMessage,disabled:e.disableMessage},r.createElement(v.m.TextArea,{hide:!e.toggleMessage,placeholder:x("messagePlaceholder"),onChange:e.onChangeMessage,value:e.message}))))}var P=n(57900),k=n(2948),C=n(20354),A=n(80687),j=n(1666),N=n(69883),O=n(95890);function F(e){return F="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},F(e)}function G(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",i=n.toStringTag||"@@toStringTag";function a(n,r,i,a){var c=r&&r.prototype instanceof s?r:s,l=Object.create(c.prototype);return M(l,"_invoke",function(n,r,i){var a,s,c,l=0,u=i||[],d=!1,g={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(t,n){return a=t,s=0,c=e,g.n=n,o}};function m(n,r){for(s=n,c=r,t=0;!d&&l&&!i&&t<u.length;t++){var i,a=u[t],m=g.p,p=a[2];n>3?(i=p===r)&&(c=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=m&&((i=n<2&&m<a[1])?(s=0,g.v=r,g.n=a[1]):m<p&&(i=n<3||a[0]>r||r>p)&&(a[4]=n,a[5]=r,g.n=p,s=0))}if(i||n>1)return o;throw d=!0,r}return function(i,u,p){if(l>1)throw TypeError("Generator is already running");for(d&&1===u&&m(u,p),s=u,c=p;(t=s<2?e:c)||!d;){a||(s?s<3?(s>1&&(g.n=-1),m(s,c)):g.n=c:g.v=c);try{if(l=2,a){if(s||(i="next"),t=a[i]){if(!(t=t.call(a,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(c=TypeError("The iterator does not provide a '"+i+"' method"),s=1);a=e}else if((t=(d=g.n<0)?c:n.call(r,g))!==o)break}catch(t){a=e,s=1,c=t}finally{l=1}}return{value:t,done:d}}}(n,i,a),!0),l}var o={};function s(){}function c(){}function l(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(M(t={},r,function(){return this}),t),d=l.prototype=s.prototype=Object.create(u);function g(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,M(e,i,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=l,M(d,"constructor",l),M(l,"constructor",c),c.displayName="GeneratorFunction",M(l,i,"GeneratorFunction"),M(d),M(d,i,"Generator"),M(d,r,function(){return this}),M(d,"toString",function(){return"[object Generator]"}),(G=function(){return{w:a,m:g}})()}function M(e,t,n,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}M=function(e,t,n,r){if(t)i?i(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n;else{var a=function(t,n){M(e,t,function(e){return this._invoke(t,n,e)})};a("next",0),a("throw",1),a("return",2)}},M(e,t,n,r)}function q(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,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}(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 B=function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((r=r.apply(e,t||[])).next())})},H=u.T.encloseNamespace("assign.useOpenClassroomFlowData"),L={immediateFeedback:!1,preventScrubbing:!1,message:!1,requiresStudentSignIn:!1,respectRatingsAndRestrictions:!1},V=128,U="assign:open:classroom:flow:settings:header";function _(e){var t,n,i,a=(0,N.Z)(),o=q((0,k.D)(U,!0,{storage:P.Z1.LocalStorage}),2),s=o[0],c=o[1],l=(0,O._)({entityType:e.entityType,objectId:e.objectId}),u=C.a.useBasicFetch(j.h.yearGroups(null===(t=l.currentUser.data)||void 0===t?void 0:t.customerId)),d=(0,A.t)(e.objectId).createOpenSession,g=q(r.useState(Object.assign(Object.assign({},L),{preventScrubbing:(null===(n=l.interactive.data)||void 0===n?void 0:n.preventScrubbing)||!1,immediateFeedback:(null===(i=l.interactive.data)||void 0===i?void 0:i.immediateFeedback)||!1})),2),m=g[0],p=g[1],f=q(r.useState(""),2),h=f[0],v=f[1],y=q(r.useState(""),2),b=y[0],S=y[1],T=q(r.useState(!1),2),E=T[0],R=T[1],w=q(r.useState({}),2),x=w[0],I=w[1],M=0===Object.keys(x).length;return{data:{loaded:l.loaded&&!!u.data,entity:l.entity,yearGroups:u},showHeader:s,hasStudentExp:l.hasStudentExp,shouldShowSpinner:E,nextButtonText:H("nextButton"),name:h,message:b,settings:m,setMessage:S,setShowHeader:c,toggleSetting:function(e){!function(e,t){var n,r,i,a=(n={},i=t,(r=function(e){var t=function(e){if("object"!=F(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=F(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==F(t)?t:t+""}(r=e))in n?Object.defineProperty(n,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[r]=i,n);"respectRatingsAndRestrictions"===e&&(a.requiresStudentSignIn=t),p(function(e){return Object.assign(Object.assign({},e),a)})}(e,!m[e])},setOpenClassroomName:function(e){e.length>V?I(function(e){return Object.assign(Object.assign({},e),{name:H("errorNameTooLong")})}):I(function(e){return delete e.name,e}),v(e)},onShare:function(t){return B(this,void 0,void 0,G().m(function n(){var r;return G().w(function(n){for(;;)switch(n.n){case 0:if(M){n.n=1;break}return n.a(2);case 1:return R(!0),n.p=2,n.n=3,d({name:h,objectId:e.objectId,immediateFeedback:m.immediateFeedback,preventScrubbing:m.preventScrubbing,requireSignIn:m.requiresStudentSignIn,respectRatingsAndRestrictions:m.respectRatingsAndRestrictions});case 3:r=n.v,"function"==typeof t&&t(r),R(!1),n.n=5;break;case 4:n.p=4,n.v,a.error(H("createError"));case 5:return n.p=5,R(!1),n.f(5);case 6:return n.a(2)}},n,null,[[2,4,5,6]])}))},error:x,setError:I,isValid:M,openClassroomGatedPermission:l.openClassroomGatedPermission}}var Z=u.T.encloseNamespace("assign.openClassroomFlowSettingsView");function z(e){var t=_({entityType:e.entityType,objectId:e.objectId}),n=(0,p.R)(),i=n.experience,a=n.loading,s=t.data,c=s.loaded,u=s.entity,h=s.yearGroups,v=(0,f.y)({data:{entity:{id:e.objectId,type:e.entityType}},analyticsOptions:{location:d.LZ.Popup}}).log,y=!c||a||e.loading;return r.createElement(g.G,{size:"lg",title:Z("title"),showLoadingSpinner:y,closePopup:e.closePopup,bodyClassName:"d-flex flex-column gap-3",animation:e.animate,hideTitle:"soft-gate"===t.openClassroomGatedPermission},"soft-gate"===t.openClassroomGatedPermission&&r.createElement(l.Z.Header,{className:"d-flex align-items-center justify-content-between bg-white mx-n3 mt-n3 mb-3",closeButton:!0},r.createElement(l.Z.Title,{as:"h2",className:"h4 flex-grow-1 d-flex justify-content-between align-items-center"},Z("title"),r.createElement("span",{className:"d-inline-block me-2"},r.createElement(m.l,{size:"std"})))),r.createElement(I,{entity:u.data,error:t.error,showHeader:t.showHeader,openClassroomName:t.name,onChangeOpenClassroomName:t.setOpenClassroomName,message:t.message,yearGroups:h.data,hasStudentExp:t.hasStudentExp,toggleMessage:t.settings.message,immediateFeedback:t.settings.immediateFeedback,preventScrubbing:t.settings.preventScrubbing,toggleRequiresStudentSignIn:t.settings.requiresStudentSignIn,toggleRespectRatingsAndRestrictions:t.settings.respectRatingsAndRestrictions,hideMessage:!0,onChangeMessage:t.setMessage,onToggleMessage:function(){return t.toggleSetting("message")},hidePreventScrubbing:"interactive"!==e.entityType,hideImmediateFeedback:"interactive"!==e.entityType,hideRequiresStudentSignIn:"full"!==i,hideRespectRatingsAndRestrictions:"full"!==i,onTogglePreventScrubbing:function(){return t.toggleSetting("preventScrubbing")},onToggleImmediateFeedback:function(){return t.toggleSetting("immediateFeedback")},onToggleRequiresStudentSignIn:function(){return t.toggleSetting("requiresStudentSignIn")},onToggleRespectRatingsAndRestrictions:function(){return t.toggleSetting("respectRatingsAndRestrictions")},closeHeader:function(){return t.setShowHeader(!1)},disableRequiresStudentSignIn:t.settings.respectRatingsAndRestrictions}),r.createElement(o.P,{hideCreateClassroomButton:!0,hideBackButton:e.hideBackButton||"soft-gate"===t.openClassroomGatedPermission,onClickBack:e.goToFlowSelector,onClickNext:function(){t.onShare(function(t){v({type:"create-open-classroom",share:t}),v({type:"share-open-classroom",id:t.objectId,shareId:t.shareId,shareType:t.type}),e.setShare(t),e.goToAssignDetails()})},nextButtonText:t.nextButtonText,showSpinner:t.shouldShowSpinner,disableNextButton:!t.isValid}))}function W(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,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Y(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)?Y(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 Y(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}function $(e){var t=W(r.useState(e.openClassroomInitialStep),2),n=t[0],a=t[1],o=W(r.useState(),2),l=o[0],u=o[1],d={objectId:e.objectId,entityType:e.entityType,closePopup:e.closePopup,goToFlowSelector:e.goToFlowSelector,shareId:null==l?void 0:l.shareId,initialDetailsScreen:"share-link",goToAssignDetails:function(){return a("assign-details")},setShare:u};return r.createElement(i.r,{data:d,animate:!1,step:n,setStep:a,closePopup:e.closePopup,steps:{settings:{view:z},"assign-details":{view:c.AssignDetailsView},"hard-gate":{view:s}}})}},64695:(e,t,n)=>{n.d(t,{q:()=>y});var r=n(32735),i=n(37241),a=n(68050),o=n(23481),s=n(65858),c=n(97958),l=n(9111),u=n(53172),d=n(83345),g=n(99742),m=n(14070),p=n(97291),f="shared.hardGatePopup",h=o.T.encloseNamespace(f),v={assign:{titlePhrase:"assignTitle",headingPhrase:"assignHeading",imageUrl:g.W.ReverseTrial.ASSIGN},playlists:{titlePhrase:"playlistsTitle",headingPhrase:"playlistsHeading",imageUrl:g.W.ReverseTrial.PLAYLIST},interactive:{titlePhrase:"interactiveTitle",headingPhrase:"interactiveHeading",imageUrl:g.W.ReverseTrial.INTERACTIVE},"copy-interactives":{titlePhrase:"copyInteractiveTitle",headingPhrase:"copyInteractiveHeading",imageUrl:g.W.ReverseTrial.INTERACTIVE},integrations:{titlePhrase:"integrationsTitle",headingPhrase:"integrationsHeading",imageUrl:g.W.ReverseTrial.INTEGRATIONS}};function y(e){var t=v[e.feature];return r.createElement(l.G,{size:"lg",animation:e.animate,closePopup:e.closePopup,hideTitle:!0},r.createElement(i.Z.Header,{className:"d-flex align-items-center justify-content-between bg-white mx-n3 mt-n3",closeButton:!0},r.createElement(i.Z.Title,{as:"h2",className:"h4 flex-grow-1 d-flex justify-content-between align-items-center"},h(t.titlePhrase),r.createElement("span",{className:"d-inline-block me-2"},r.createElement(u.l,{size:"std"})))),r.createElement(a.Z,{className:"mb-3"},r.createElement(c.u,{className:"pt-3"},r.createElement(c.u.Image,{src:t.imageUrl,altText:h(t.titlePhrase)}),r.createElement(c.u.Heading,{className:"h6"},r.createElement(d.x,{namespace:f,phrase:t.headingPhrase})),r.createElement(c.u.Info,null,r.createElement(d.x,{namespace:f,phrase:"description"})),r.createElement(c.u.Cta,{appLink:{application:p.O.SIGN_UP,action:m.e.SignUp.PREMIUM_FEATURES},text:h("cta"),analyticsData:{},analyticsOptions:{actionType:s.Vw.Click,location:s.LZ.GatedPopup,entity:s.py.AppLink,descriptor:s.Yu.PremiumFeatures}}))),e.extraContent)}}}]);
|
|
3
|
+
//# sourceMappingURL=4006-2b689bdde0-lite.chunk.js.map
|