@clickview/lite 0.69.1-dev.0 → 0.69.1-dev.2
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/css/{9985-lite-3c49d1b796.chunk.css → 3902-lite-5eaa7e7ae0.chunk.css} +1 -2
- package/dist/css/{555-lite-1b5aa9652d.chunk.css → 4356-lite-b05b606d3d.chunk.css} +1 -2
- package/dist/css/{2636-lite-f995954232.chunk.css → 4527-lite-4d1b877b3f.chunk.css} +4 -0
- package/dist/css/{1239-lite-8152f713c8.chunk.css → 7210-lite-a568e8ec1e.chunk.css} +1 -0
- package/dist/languages/en.json +1 -1
- package/dist/scripts/1210-7afb28caac-lite.chunk.js +2 -0
- package/dist/scripts/1210-7afb28caac-lite.chunk.js.map +1 -0
- package/dist/scripts/1386-332e63f68c-lite.chunk.js +2 -0
- package/dist/scripts/1386-332e63f68c-lite.chunk.js.map +1 -0
- package/dist/scripts/232-1522c00252-lite.chunk.js +3 -0
- package/dist/scripts/232-1522c00252-lite.chunk.js.map +1 -0
- package/dist/scripts/2392-19e4bb187b-lite.chunk.js +3 -0
- package/dist/scripts/2392-19e4bb187b-lite.chunk.js.map +1 -0
- package/dist/scripts/{2640-536c550749-lite.chunk.js → 2640-052f4606f6-lite.chunk.js} +2 -2
- package/dist/scripts/2640-052f4606f6-lite.chunk.js.map +1 -0
- package/dist/scripts/300-3d9f3cd4e3-lite.chunk.js +2 -0
- package/dist/scripts/300-3d9f3cd4e3-lite.chunk.js.map +1 -0
- package/dist/scripts/3079-0a333d6805-lite.chunk.js +2 -0
- package/dist/scripts/3079-0a333d6805-lite.chunk.js.map +1 -0
- package/dist/scripts/3110-eee18143c6-lite.chunk.js +2 -0
- package/dist/scripts/3110-eee18143c6-lite.chunk.js.map +1 -0
- package/dist/scripts/312-693aa30814-lite.chunk.js +2 -0
- package/dist/scripts/312-693aa30814-lite.chunk.js.map +1 -0
- package/dist/scripts/3902-39aaff7ce9-lite.chunk.js +2 -0
- package/dist/scripts/3902-39aaff7ce9-lite.chunk.js.map +1 -0
- package/dist/scripts/4229-477b1858dc-lite.chunk.js +2 -0
- package/dist/scripts/4229-477b1858dc-lite.chunk.js.map +1 -0
- package/dist/scripts/4356-36ce3ceec1-lite.chunk.js +2 -0
- package/dist/scripts/4356-36ce3ceec1-lite.chunk.js.map +1 -0
- package/dist/scripts/4527-42075d96f4-lite.chunk.js +2 -0
- package/dist/scripts/4527-42075d96f4-lite.chunk.js.map +1 -0
- package/dist/scripts/{4845-f3646fb657-lite.chunk.js → 4845-9b4657e696-lite.chunk.js} +2 -2
- package/dist/scripts/4845-9b4657e696-lite.chunk.js.map +1 -0
- package/dist/scripts/5679-444d9a7f76-lite.chunk.js +2 -0
- package/dist/scripts/5679-444d9a7f76-lite.chunk.js.map +1 -0
- package/dist/scripts/6046-104677f08c-lite.chunk.js +2 -0
- package/dist/scripts/6046-104677f08c-lite.chunk.js.map +1 -0
- package/dist/scripts/{6188-e108abca25-lite.chunk.js → 6188-77fc2f3ec5-lite.chunk.js} +2 -2
- package/dist/scripts/6188-77fc2f3ec5-lite.chunk.js.map +1 -0
- package/dist/scripts/6351-dff9edbb16-lite.chunk.js +3 -0
- package/dist/scripts/6351-dff9edbb16-lite.chunk.js.map +1 -0
- package/dist/scripts/6973-c4cb114bd7-lite.chunk.js +2 -0
- package/dist/scripts/6973-c4cb114bd7-lite.chunk.js.map +1 -0
- package/dist/scripts/7210-2e4563178c-lite.chunk.js +3 -0
- package/dist/scripts/7210-2e4563178c-lite.chunk.js.map +1 -0
- package/dist/scripts/7480-3564c0c2da-lite.chunk.js +2 -0
- package/dist/scripts/7480-3564c0c2da-lite.chunk.js.map +1 -0
- package/dist/scripts/7482-13e6f78c32-lite.chunk.js +2 -0
- package/dist/scripts/7482-13e6f78c32-lite.chunk.js.map +1 -0
- package/dist/scripts/9040-be65e4eb1e-lite.chunk.js +2 -0
- package/dist/scripts/9040-be65e4eb1e-lite.chunk.js.map +1 -0
- package/dist/scripts/{bundle-90d3c7fd15.min.js → bundle-32e967af87.min.js} +3 -3
- package/dist/scripts/{bundle-90d3c7fd15.min.js.map → bundle-32e967af87.min.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/1210-3cbdc62b0a-lite.chunk.js +0 -2
- package/dist/scripts/1210-3cbdc62b0a-lite.chunk.js.map +0 -1
- package/dist/scripts/1239-ed9b8aadb4-lite.chunk.js +0 -3
- package/dist/scripts/1239-ed9b8aadb4-lite.chunk.js.map +0 -1
- package/dist/scripts/1386-d93ee75e0c-lite.chunk.js +0 -2
- package/dist/scripts/1386-d93ee75e0c-lite.chunk.js.map +0 -1
- package/dist/scripts/2392-acfd69dfa3-lite.chunk.js +0 -3
- package/dist/scripts/2392-acfd69dfa3-lite.chunk.js.map +0 -1
- package/dist/scripts/2636-63e5f2c9e6-lite.chunk.js +0 -2
- package/dist/scripts/2636-63e5f2c9e6-lite.chunk.js.map +0 -1
- package/dist/scripts/2640-536c550749-lite.chunk.js.map +0 -1
- package/dist/scripts/3036-d18c598435-lite.chunk.js +0 -2
- package/dist/scripts/3036-d18c598435-lite.chunk.js.map +0 -1
- package/dist/scripts/4229-75ba28a266-lite.chunk.js +0 -2
- package/dist/scripts/4229-75ba28a266-lite.chunk.js.map +0 -1
- package/dist/scripts/4266-e856b96643-lite.chunk.js +0 -3
- package/dist/scripts/4266-e856b96643-lite.chunk.js.map +0 -1
- package/dist/scripts/4598-f326dc1aec-lite.chunk.js +0 -2
- package/dist/scripts/4598-f326dc1aec-lite.chunk.js.map +0 -1
- package/dist/scripts/4845-f3646fb657-lite.chunk.js.map +0 -1
- package/dist/scripts/555-d811b49435-lite.chunk.js +0 -2
- package/dist/scripts/555-d811b49435-lite.chunk.js.map +0 -1
- package/dist/scripts/6046-44c115a89c-lite.chunk.js +0 -2
- package/dist/scripts/6046-44c115a89c-lite.chunk.js.map +0 -1
- package/dist/scripts/6188-e108abca25-lite.chunk.js.map +0 -1
- package/dist/scripts/6317-49be898c73-lite.chunk.js +0 -2
- package/dist/scripts/6317-49be898c73-lite.chunk.js.map +0 -1
- package/dist/scripts/6973-ede6601614-lite.chunk.js +0 -2
- package/dist/scripts/6973-ede6601614-lite.chunk.js.map +0 -1
- package/dist/scripts/7075-9a76ce47c9-lite.chunk.js +0 -3
- package/dist/scripts/7075-9a76ce47c9-lite.chunk.js.map +0 -1
- package/dist/scripts/7480-02bc4e08a3-lite.chunk.js +0 -2
- package/dist/scripts/7480-02bc4e08a3-lite.chunk.js.map +0 -1
- package/dist/scripts/9040-9393c59004-lite.chunk.js +0 -2
- package/dist/scripts/9040-9393c59004-lite.chunk.js.map +0 -1
- package/dist/scripts/9985-c488ab5f65-lite.chunk.js +0 -2
- package/dist/scripts/9985-c488ab5f65-lite.chunk.js.map +0 -1
- /package/dist/css/{3036-lite-1b3e9aa905.chunk.css → 3079-lite-1b3e9aa905.chunk.css} +0 -0
- /package/dist/css/{7075-lite-a377febbb0.chunk.css → 6351-lite-a377febbb0.chunk.css} +0 -0
- /package/dist/scripts/{4266-e856b96643-lite.chunk.js.LICENSE.txt → 232-1522c00252-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{1239-ed9b8aadb4-lite.chunk.js.LICENSE.txt → 2392-19e4bb187b-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{2392-acfd69dfa3-lite.chunk.js.LICENSE.txt → 6351-dff9edbb16-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{7075-9a76ce47c9-lite.chunk.js.LICENSE.txt → 7210-2e4563178c-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-90d3c7fd15.min.js.LICENSE.txt → bundle-32e967af87.min.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[2640],{18488:(e,t,n)=>{"use strict";n.d(t,{o:()=>o});var r=n(99940),a=n(97395),i={namespace:"share-v2"},o={createShare:function(e,t,n,a){return{url:"/api/share/v2/shares",key:"create:share-v2",type:r.k.POST,data:e,normalizeOptions:i,invalidationKeys:["sent:shares-v2"],success:t,error:n,always:a}},updateShare:function(e,t,n,a,o){return{url:"/api/share/v2/shares/".concat(e),key:"update:share-v2:".concat(e),type:r.k.PUT,data:t,normalizeOptions:i,invalidationKeys:["share-v2:permanent-link:object","share-v2:".concat(e)],success:n,error:a,always:o}},getShare:function(e,t,n,a){return{url:"/api/share/v2/shares/".concat(e),key:"share-v2:".concat(e),bootstrapName:"share-v2:".concat(e),type:r.k.GET,normalizeOptions:i,success:t,error:n,always:a}},getSentShares:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=Object.values(e).join(":");return{url:a._.urlBuilder("/api/share/v2/shares/sent",e),key:"sent:shares-v2:".concat(o),formatData:function(t){return{data:t,count:t.length,pagination:{cursors:{next:null,previous:e.cursor}}}},type:r.k.GET,normalize:!1,success:t,error:n,always:i}},getShareLinkByObjectId:function(e){return{url:a._.urlBuilder("/api/share/v2/shares/permanent-link",{objectId:e}),key:"share-v2:permanent-link:object:".concat(e),type:r.k.POST,normalizeOptions:i}},getPrivacy:function(e){return{url:"{gateway}/v1/objects/".concat(e,"/access"),key:"privacy:".concat(e),normalize:!1}}}},79145:(e,t,n)=>{"use strict";n.d(t,{I:()=>g});var r,a=n(23481),i=n(20354),o=n(49985),c=n(65858);!function(e){e.InstantFeedback="instant_feedback",e.PreventSkipping="prevent_skipping"}(r||(r={}));var l=n(18488),s=n(21750),u=n(43012),p=n(20768),d=n(5112),m=n(60011),f=n(1575),y=n(40841);function v(e){return v="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},v(e)}function h(e,t,n){return(t=function(e){var t=function(e){if("object"!=v(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=v(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==v(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var b=a.T.encloseNamespace("sharev2.utils"),g={canEmbed:function(e){return["video","interactive","clip"].includes(e)},canAddPolicies:function(e){return["video","interactive","clip"].includes(e)},getEnabledIntegrations:function(e,t){return y._.getShareIntegrations(e,t).filter((function(e){return e.enabled})).map((function(e){return e.id}))},getFetchFunctionByType:function(e){switch(e){case"video":return function(e){return i.a.useBasicFetch(f.R.video(e))};case"playlist":return function(e){return i.a.useBasicFetch(d.C.getPlaylist(e))};case"subject":return function(e,t){return i.a.useBasicFetch(s.x.classification(e,t))};case"series":return function(e){return i.a.useBasicFetch(m.J.series(e))};case"interactive":return function(e){return i.a.useBasicFetch(p.b.interactiveMetadata(e))};case"clip":return function(e){return i.a.useBasicFetch(u.e.clip(e))}}},getAnalyticsEntity:function(e){switch(e){case"playlist":return c.py.Playlist;case"subject":return c.py.Classification;case"video":return c.py.Video;case"series":return c.py.Series;case"interactive":return c.py.Interactive;case"clip":return c.py.Clip}},getAnalyticsOptions:function(e){return{entity:g.getAnalyticsEntity(e),location:c.LZ.Popup,workflowPhase:c.eu.Complete}},updateShareLink:function(e,t,n,r,a,s,u,p){i.a.fetch(e,l.o.updateShare(r.shareId,a,(function(e){o.k.logUserAction(Object.assign(Object.assign({},e),{objectName:t.name}),o.k.mergeOptions(g.getAnalyticsOptions(n),{actionType:c.Vw.Edit,entity:c.py.ShareLink,eventVersion:c.eq.V3})),u&&u(e),s.success(b("editSuccess",{name:t.name,escapeText:!0}))}),(function(){p&&p(),s.error(b("editError",{name:t.name,escapeText:!0}))})))},getShareSettingsInitialValues:function(e,t){var n={preventSkipping:(null==t?void 0:t.preventScrubbing)||!1,instantFeedback:(null==t?void 0:t.immediateFeedback)||!1},a=h(h({},r.InstantFeedback,"instantFeedback"),r.PreventSkipping,"preventSkipping");return e.options.reduce((function(e,t){return Object.keys(a).includes(t.option)?("True"===t.value?e[a[t.option]]=!0:"False"===t.value&&(e[a[t.option]]=!1),e):e}),n)}}},82640:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ShareView:()=>Be});var r=n(32735),a=n(70680),i=n(23481),o=n(20354),c=n(59087),l=n.n(c),s=n(8935),u=n(89965),p=n(83345),d="sharev2.embedSize";function m(e){var t=e.autoplay,n=e.setAutoplay,a=e.videoSize,i=e.setVideoSize,o=e.videoSizes;return r.createElement("div",{className:"d-flex align-items-center"},!!o.length&&r.createElement(r.Fragment,null,r.createElement("div",{className:"me-1"},r.createElement(p.x,{namespace:d,phrase:"videoSize"})),r.createElement("div",{className:"pe-3"},r.createElement(s.Z,null,r.createElement(s.Z.Toggle,{id:"embed-resolution",variant:"outline-dark"},a.label),r.createElement(s.Z.Menu,null,o.map((function(e){return r.createElement(s.Z.Item,{key:"".concat(e.width,"x").concat(e.height),onClick:function(){return i(e)}},e.label)})))))),r.createElement("div",{className:"me-2"},r.createElement(p.x,{namespace:d,phrase:"autoplay"})),r.createElement(u.X,{id:"autoplay-checkbox",checked:t,onChange:function(){return n(!t)}}))}var f=n(13876),y=n(26450);const v={embedHtmlInput:"lpm1A",copyBtnContainer:"EE1mM"};function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return b(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)?b(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 b(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="sharev2.copyEmbed",E=i.T.encloseNamespace(g);function S(e){var t=y.i.getEmbedResolutions(),n=h(r.useState(!1),2),a=n[0],i=n[1],o=h(r.useState("copy"),2),c=o[0],s=o[1],u=h(r.useState(t.find((function(e){return"100%"===e.width}))),2),d=u[0],b=u[1],S=y.i.buildEmbedUrl({embedUrl:e.share.link.shortenedEmbedUrl,host:e.liteUrl,shareId:e.share.shareId,autoplay:a}),k=y.i.getEmbedString({url:S,size:d});return r.createElement(r.Fragment,null,r.createElement("div",{className:"mb-3"},r.createElement(p.D.Provider,{value:g},r.createElement("label",null,r.createElement(p.x,{namespace:g,phrase:"label"})),r.createElement("div",{className:"position-relative mb-3"},r.createElement("textarea",{className:"form-control rounded w-100 h-100 ".concat(v.embedHtmlInput),spellCheck:!1,value:k,rows:7,readOnly:!0}),r.createElement(l(),{onCopy:function(){s("copied"),setTimeout((function(){return s("copy")}),2e3)},text:k},r.createElement("button",{className:"btn btn-outline-dark border border-secondary position-absolute bottom-0 end-0 ".concat(v.copyBtnContainer),type:"button"},E(c)))),r.createElement(m,{autoplay:a,setAutoplay:i,videoSize:d,setVideoSize:b,videoSizes:t}))),r.createElement(f.u,{align:"start"},r.createElement(f.u.Cancel,{onClick:e.onClickCancel,text:E("back"),variant:"link"})))}var k,C=n(18488),w=n(79145),x=n(49985),O=n(65858);!function(e){e.Public="Public",e.PinCode="PinCode",e.PasswordProtected="PasswordProtected",e.ProtectedOverrideRestriction="ProtectedOverrideRestriction",e.JustMySchoolOverrideRestriction="JustMySchoolOverrideRestriction",e.Protected="Protected",e.JustMySchool="JustMySchool",e.Direct="Direct"}(k||(k={}));var P=n(110),T=n(4594),j=n(49080),I=n(26361),A=n(35223),N=n(31908);function L(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 F=i.T.encloseNamespace("sharev2.utils"),R={getPrivateIconAndText:function(e){var t=e.entityTypeId,n=e.privacy,r=e.hasStudentExp,a=e.entity,i=e.yearGroups;if(t===T.E.Topic||t===T.E.Series)return{icon:A.vn.VisibleOn,text:F(r?"justMySchoolTeachers":"justMySchoolDescription")};if(!Array.isArray(n))switch(n){case k.Public:return{icon:A.vn.VisibleOn,text:F("publicDescription")};case k.ProtectedOverrideRestriction:return{icon:A.vn.VisibleOn,text:F("clickViewOnly")};case k.Protected:return{icon:A.vn.Lock,text:R.getRespectRatingText(a,i,r)};case k.JustMySchoolOverrideRestriction:return{icon:A.vn.Lock,text:F(r?"justMySchoolTeachers":"justMySchoolDescription")};case k.JustMySchool:return{icon:A.vn.Lock,text:R.getRespectRatingText(a,i,r)};case k.PinCode:return{icon:A.vn.Lock,text:F("pinDescription")};case k.PasswordProtected:return{icon:A.vn.Lock,text:F("privateDescription")};default:return{}}},getIconAndText:function(e){var t=e.linkExpireDate,n=e.isPasswordProtected,r=e.status;if(!t&&!n)return R.getPrivateIconAndText(e);if(!t)return{icon:A.vn.Lock,text:F("password")};var a=P.O.isToday(t),i=P.O.diffBetween(t,new Date,"day");if(!n){var o=a?F("expiryToday"):F("expiry",{days:i});return r===j.F.Expired&&(o=F("expired")),{icon:A.vn.Timer,text:o}}var c=a?F("passwordExpiryToday"):F("passwordExpiry",{days:i});return r===j.F.Expired&&(c=F("passwordExpired")),{icon:A.vn.Lock,text:c}},getRespectRatingText:function(e,t,n){var r;if(!e||!t)return null;if(n)return F("justMySchoolTeachers");if(!N.M.isVideoType(e))return F("collectionRating");var a=I.l.getWeightedRestriction(null===(r=e._restrictions)||void 0===r?void 0:r.value);if(a&&!a.yearGroup)return F("onlyAdmins");var i,o,c,l=N.M.getRating(e),s=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 L(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)?L(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}(t);try{for(s.s();!(c=s.n()).done;){var u=c.value;(!i||u.value>i.value)&&(i=u),a&&u.value<=a.yearGroup||l&&u.rating.value<l.value||(!o||u.value<o.value)&&(o=u)}}catch(e){s.e(e)}finally{s.f()}return o?1===t.length?F("clickViewOnly"):o.value===i.value?F("maxYearGroup",{yearGroup:i.name}):F("yearGroupRange",{yearGroup:o.name}):F("onlyStaff")},getShareLinkAccessType:function(e){return e.isTvContent?"tv":e.isClickViewContent?"clickview":e.canManageAccess?"private":void 0}},M=n(83914);const D={active:"NV2KW"};var G,B=i.T.encloseNamespace("sharev2.shareLinkPrivacy");function V(e){var t=e.active,n=e.title,a=e.description,i=e.onClick;return r.createElement("button",{className:"".concat(t?D.active:""," dropdown-item d-flex align-items-center justify-content-between py-2"),onClick:t?null:i},r.createElement("div",{className:"me-4"},r.createElement("p",{className:"font-label mb-1"},n),r.createElement("p",{className:"font-size-sm mb-0"},a)),t&&r.createElement(M.x,{svgName:A.vn.Check}))}function U(e){var t=e.shareOverrideRestrictions&&!e.hasStudentExp,n=R.getShareLinkAccessType(e.entityPrivacy),a=R.getPrivateIconAndText({privacy:e.privacy,entityTypeId:e.entityTypeId,hasStudentExp:e.hasStudentExp,entity:e.entity,yearGroups:e.yearGroups}),i=a.icon,o=a.text,c=R.getRespectRatingText(e.entity,e.yearGroups,e.hasStudentExp),l="private"===n?k.JustMySchool:k.Protected,s="private"===n?k.JustMySchoolOverrideRestriction:k.ProtectedOverrideRestriction;return t?r.createElement("div",{className:"btn-group"},r.createElement("button",{className:"btn border-0 info-link dropdown-toggle p-1 bg-light-blue-hover","data-bs-toggle":"dropdown"},r.createElement(M.x,{svgName:i,className:"svg-container me-1"}),r.createElement("span",{className:"me-1"},o)),r.createElement("ul",{className:"dropdown-menu cursor-pointer"},r.createElement("li",null,r.createElement(V,{active:e.privacy===s,title:B("justMySchool"),description:B("private"===n?"justMySchoolDescription":"clickViewOnly"),onClick:function(){return e.onClickSavePrivacy(s)}})),r.createElement("li",null,r.createElement(V,{active:e.privacy===l,title:B("respectRatings"),description:c,onClick:function(){return e.onClickSavePrivacy(l)}})),"private"===n&&r.createElement("li",null,r.createElement(V,{active:e.privacy===k.Public,title:B("public"),description:B("publicDescription"),onClick:function(){return e.onClickSavePrivacy(k.Public)}})))):r.createElement("div",{className:"d-flex align-items-center"},r.createElement(M.x,{svgName:i,className:"svg-container me-1"}),r.createElement("span",null,o))}!function(e){e.Link="Link",e.Classroom="Classroom",e.Open="Open",e.Live="Live"}(G||(G={}));var _=n(66257);function z(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 J(e){var t,n,a=(t=r.useState(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return z(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)?z(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=a[0],o=a[1];return r.createElement("div",{className:"d-flex justify-content-start align-items-start flex-column gap-2"},e.share.type===G.Link&&r.createElement(U,{privacy:e.share.privacy,entityPrivacy:e.privacy,entityTypeId:e.entity.typeId,entity:e.entity,yearGroups:e.yearGroups,hasStudentExp:e.hasStudentExp,shareOverrideRestrictions:e.shareOverrideRestrictions,onClickSavePrivacy:e.onClickSavePrivacy}),r.createElement(_.k,{value:e.share.link.shortenedUrl,onCopy:function(){i||(o(!0),x.k.logUserAction({id:e.entity.id,name:e.entity.name},x.k.mergeOptions(w.I.getAnalyticsOptions(e.entityType),{actionType:O.Vw.Share,descriptor:O.YM.CopyLink,eventVersion:O.eq.V3})))}}))}var Z=n(11607);const $={hoverBackground:"okJLU"};var H="sharev2.getEmbedCode";function K(e){return r.createElement(Z.L,{onClick:e.onClickGetEmbedCode,className:"d-inline-block p-1 pe-2 rounded-1 ".concat($.hoverBackground)},r.createElement("div",{className:"d-flex align-items-center"},r.createElement("div",{className:"me-2"},r.createElement(M.x,{svgName:A.vn.Code,size:M.S.Standard})),r.createElement(p.x,{namespace:H,phrase:"getEmbedCode"})))}var q=n(57900),W=n(2948),Y=n(15611),X=n(38143);function Q(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 ee="sharev2.lookingForIntegration",te=i.T.encloseNamespace(ee);function ne(e){var t,n,a=(t=(0,W.D)(X.g.LOOKING_FOR_INTEGRATION,{show:!0},{storage:q.Z1.LocalStorage}),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Q(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)?Q(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=a[0],o=a[1];return i.show?r.createElement("div",{className:"d-flex justify-content-between rounded p-2 bg-light-blue"},r.createElement(Y.F,{appLink:e.appLink,onClick:function(){var t;return null===(t=e.closePopup)||void 0===t?void 0:t.call(e)},className:"d-inline-flex align-items-center mb-0"},r.createElement("span",{className:"ms-1 font-label text-info"},r.createElement(p.x,{namespace:ee,phrase:"lookingForIntegration"}))),r.createElement("button",{onClick:function(){return o({show:!1})},"aria-label":"".concat(te("ariaClose"))},r.createElement(M.x,{svgName:A.vn.Close,size:M.S.Small,className:"text-info d-inline-block svg-container"}))):r.createElement(r.Fragment,null)}var re=n(6082),ae="g-share-to-classroom",ie=n(41661);const oe={hoverable:"ARIeV",msTeamsContainer:"eFMEH",avatar:"yBYuA"};var ce="32";function le(e){var t,n,a,i,o=function(e){e&&(window.___gcfg={parsetags:"explicit"});var t=(0,re.G)("https://apis.google.com/js/platform.js",e);return r.useEffect((function(){var n,r;e&&t&&(null===(r=null===(n=window.gapi)||void 0===n?void 0:n.sharetoclassroom)||void 0===r||r.go(ae))}),[e,t]),ae}(null===(t=e.integrations)||void 0===t?void 0:t.includes(ie.D.GoogleClassroom));if(a=null===(n=e.integrations)||void 0===n?void 0:n.includes(ie.D.MicrosoftTeams),i=(0,re.G)("https://teams.microsoft.com/share/launcher.js",a),r.useEffect((function(){var e;a&&i&&(null===(e=window.shareToMicrosoftTeams)||void 0===e||e.renderButtons())}),[a,i]),!e.integrations.length)return null;var c="sm"===e.iconSize?"24":ce,l={height:"".concat(c,"px"),width:"".concat(c,"px")};return r.createElement("div",{className:"d-flex gap-1 align-items-start"},e.integrations.includes(ie.D.GoogleClassroom)&&r.createElement("div",{id:o,className:"rounded partial-loading-background",style:l},r.createElement("div",{className:"g-sharetoclassroom","data-size":c,"data-url":e.url})),e.integrations.includes(ie.D.MicrosoftTeams)&&r.createElement("div",{className:"rounded overflow-hidden ".concat(oe.hoverable)},r.createElement("div",{className:"teams-share-button ".concat(oe.msTeamsContainer),style:l,"data-href":e.url,"data-button-type":"smallTransWhite","data-preview":"false","data-icon-px-size":c})))}function se(e){var t=e.hasManageIntegrationsPermission?e.integrationSettingAppLink:e.messagePopupAppLink,n=!!e.integrations.length;return r.createElement("div",{className:"d-flex flex-column gap-2 justify-content-between"},e.enableIntegrationBanner&&!n&&r.createElement(ne,{appLink:t,closePopup:e.closePopup}),r.createElement("div",{className:"d-flex flex-row justify-content-between"},e.canEmbed&&r.createElement(K,{onClickGetEmbedCode:e.onClickGetEmbedCode}),e.enableIntegrationBanner&&n&&r.createElement(le,{integrations:e.integrations,url:e.share.link.shortenedUrl,closePopup:e.closePopup,appLink:t})))}const ue={hoverBackground:"l3eJu"};var pe="sharev2.sharePermanentLinkSetting";function de(e){return e.manageShareLinkSettings?r.createElement("div",{className:"d-flex flex-row justify-content-between align-items-center"},r.createElement(Z.L,{onClick:e.onClickEditSettings,className:"d-inline-block p-1 pe-2 rounded-1 ".concat(ue.hoverBackground)},r.createElement("div",{className:"d-flex align-items-center"},r.createElement("div",{className:"me-2"},r.createElement(M.x,{svgName:A.vn.Cog,size:M.S.Standard})),r.createElement(p.x,{namespace:pe,phrase:"editSettings"})))):null}var me=n(16714),fe=n(22902);function ye(e){var t=(0,fe.T)().hasPermissions,n=e.canEmbed||e.enableIntegrationBanner&&!!e.integrations.length,a=t(me.C.ManageIntegrations);return r.createElement("div",{className:"d-flex flex-column gap-2"},r.createElement(J,{share:e.share,entity:e.entity,entityType:e.entityType,yearGroups:e.yearGroups,privacy:e.privacy,shareOverrideRestrictions:e.shareOverrideRestrictions,hasStudentExp:t(me.C.StudentExperience),onClickSavePrivacy:e.onClickSavePrivacy}),e.share&&n&&r.createElement(se,{share:e.share,canEmbed:e.canEmbed,integrations:e.integrations,hasManageIntegrationsPermission:a,enableIntegrationBanner:e.enableIntegrationBanner,messagePopupAppLink:e.messagePopupAppLink,integrationSettingAppLink:e.integrationSettingAppLink,onClickGetEmbedCode:e.onClickGetEmbedCode,closePopup:e.closePopup}),e.share&&e.canAddPolicies&&r.createElement(de,{manageShareLinkSettings:t(me.C.ManageShareLinkSettings),onClickEditSettings:e.onClickEditSettings}))}var ve=n(92802),he=n(83523),be="sharev2.instantFeedbackField";function ge(){var e=(0,ve.u6)();return r.createElement("div",{className:"d-flex justify-content-between align-items-start"},r.createElement("div",null,r.createElement("label",{className:"m-0",htmlFor:""},r.createElement(p.x,{namespace:be,phrase:"heading"})),r.createElement("p",{className:"m-0 text-secondary"},r.createElement(p.x,{namespace:be,phrase:"info"}))),r.createElement("div",null,r.createElement(he.Z,{onClick:function(){e.setFieldValue("instantFeedback",!e.values.instantFeedback),e.submitForm()},on:!!e.values.instantFeedback})))}var Ee="sharev2.preventSkippingField";function Se(){var e=(0,ve.u6)();return r.createElement("div",{className:"d-flex justify-content-between align-items-start"},r.createElement("div",null,r.createElement("label",{className:"m-0",htmlFor:""},r.createElement(p.x,{namespace:Ee,phrase:"heading"})),r.createElement("p",{className:"m-0 text-secondary"},r.createElement(p.x,{namespace:Ee,phrase:"info"}))),r.createElement("div",null,r.createElement(he.Z,{onClick:function(){e.setFieldValue("preventSkipping",!e.values.preventSkipping),e.submitForm()},on:!!e.values.preventSkipping})))}var ke=n(5173),Ce=(0,ke.Ry)().shape({preventSkipping:(0,ke.O7)(),instantFeedback:(0,ke.O7)()}),we=n(82644),xe="sharev2.shareSettings",Oe=i.T.encloseNamespace(xe);function Pe(){return r.createElement(ve.l0,{className:"d-flex flex-column gap-2"},r.createElement("h3",{className:"h6"},r.createElement(p.x,{namespace:xe,phrase:"heading"})),r.createElement(Se,null),r.createElement(ge,null))}function Te(e){return r.createElement(r.Fragment,null,r.createElement(we.n,{initialValues:e.initialValues,onSubmit:function(t,n){e.onClickSaveLink({options:{instantFeedback:t.instantFeedback,preventSkipping:t.preventSkipping}},n)},castInitialValues:!1,validationSchema:Ce},r.createElement("div",{className:"d-flex flex-column gap-3"},r.createElement(Pe,null),r.createElement(f.u,{align:"start"},r.createElement(f.u.Cancel,{onClick:e.onClickCancel,text:Oe("back"),variant:"link"})))))}var je=n(9111),Ie=n(39151),Ae=n(1666),Ne=n(20768),Le=n(31949),Fe=n(69883),Re=n(37802),Me=n(45778);function De(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var Ge=i.T.encloseNamespace("shared.sharev2");function Be(e){var t,n,i,c,l=(0,a.I0)(),s=(0,Fe.Z)(),u=(0,Re.r)(null),p=u.shareToGoogleClassroom,d=u.shareToMicrosoftTeams,m=u.isLoadingSettings,f=u.shareOverrideRestrictions,y=(i=r.useState("main"),c=2,function(e){if(Array.isArray(e))return e}(i)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(i,c)||function(e,t){if(e){if("string"==typeof e)return De(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?De(e,t):void 0}}(i,c)||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.")}()),v=y[0],h=y[1],b=o.a.useBasicFetch(Le.N.currentUser()),g=w.I.getFetchFunctionByType(e.entityType)(e.entityId,null===(t=b.data)||void 0===t?void 0:t.id),E=o.a.useBasicFetch(Ie.L.config()),k=o.a.useBasicFetch(e.shareId?C.o.getShare(e.shareId):C.o.getShareLinkByObjectId(e.entityId)),x=o.a.useBasicFetch((null===(n=b.data)||void 0===n?void 0:n.isAuthenticated)&&Ae.h.yearGroups(b.data.customerId)),O=o.a.useBasicFetch(C.o.getPrivacy(e.entityId)),P=o.a.useBasicFetch(Me.G.isType(g.data,T.E.Interactive)&&g.data.interactiveId&&Ne.b.interactive(g.data.interactiveId));function j(t,n){w.I.updateShareLink(l,g.data,e.entityType,k.data,t,s,null,n)}function I(e){o.a.fetch(l,C.o.updateShare(k.data.shareId,{privacy:e},(function(){return s.success(Ge("privaciesSuccess",{name:g.data.name,escapeText:!0}))}),(function(){return s.error(Ge("privaciesError",{name:g.data.name,escapeText:!0}))})))}var A=!(!k.data||!E.data||!g.data||!O.data||!x||m);return r.createElement(je.G,{title:Ge("title"),closePopup:e.closePopup,showLoadingSpinner:!A},function(){if(!A)return null;switch(v){case"main":return r.createElement(ye,{entityType:e.entityType,entity:g.data,yearGroups:x.data,share:k.data,privacy:O.data,enableIntegrationBanner:e.enableIntegrationBanner,canEmbed:w.I.canEmbed(e.entityType),canAddPolicies:w.I.canAddPolicies(e.entityType),integrations:w.I.getEnabledIntegrations(p,d),shareOverrideRestrictions:f,onClickEditSettings:function(){return h("link-settings")},onClickGetEmbedCode:function(){return h("copy-embed")},onClickSavePrivacy:I,closePopup:e.closePopup,integrationSettingAppLink:e.integrationSettingAppLink,messagePopupAppLink:e.messagePopupAppLink});case"link-settings":return r.createElement(Te,{initialValues:w.I.getShareSettingsInitialValues(k.data,P.data),onClickSaveLink:j,onClickCancel:function(){return h("main")}});case"copy-embed":return r.createElement(S,{entity:g.data,entityId:e.entityId,entityType:e.entityType,share:k.data,liteUrl:E.data.liteUrl,onClickCancel:function(){return h("main")}})}}())}},66257:(e,t,n)=>{"use strict";n.d(t,{k:()=>u});var r=n(32735),a=n(80130),i=n(59087),o=n(23481);const c={normal:"Q1UGv",copyBtn:"J3fBx"};function l(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 s=o.T.encloseNamespace("shared.copyInput");function u(e){var t,n,o=(t=r.useState(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return l(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)?l(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=o[0],p=o[1],d=r.createElement("div",{className:"d-flex flex-row gap-2 position-relative w-100"},r.createElement("input",{type:"text",autoComplete:"off",className:"form-control ".concat("normal"===e.styling?c.normal:""),spellCheck:!1,value:e.value,readOnly:!0}),r.createElement(i.CopyToClipboard,{text:e.value},r.createElement("button",{role:u?"status":"",className:"btn btn-outline-dark border border-secondary py-0 text-nowrap",onClick:function(t){t.preventDefault(),e.onCopy&&e.onCopy(),u||(p(!0),setTimeout((function(){return p(!1)}),2e3))}},u?e.copiedText||s("copied"):e.copyText||s("copy"))));return e.label?r.createElement(a.Z.Group,{className:"form-group"},r.createElement(a.Z.Label,null,e.label),d):d}u.defaultProps={styling:"normal"}},82644:(e,t,n)=>{"use strict";n.d(t,{b:()=>u,n:()=>s});var r=n(32735),a=n(92802),i=n(91967),o=n(1048);function c(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 l=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};function s(e){var t=e.castInitialValues,n=e.castValuesOnSubmit,s=e.initialValues,u=e.onSubmit,p=l(e,["castInitialValues","castValuesOnSubmit","initialValues","onSubmit"]),d=t&&e.validationSchema?e.validationSchema.cast(function(e){if(!e)return{};var t=o.t.deepClone(e);return function e(n){Object.keys(t).forEach((function(r){t.hasOwnProperty(r)&&(o.t.isObject(n[r])?e(n[r]):null===t[r]&&delete t[r])}))}(t),t}(s)):s,m={allowInitialSubmit:e.allowInitialSubmit};return r.createElement(a.J9,Object.assign({enableReinitialize:!0},p,{initialValues:d,onSubmit:function(t,r){var a=r.setSubmitting,i=r.resetForm,o=r.setFieldError,l=n&&e.validationSchema?e.validationSchema.cast(t):t;u(l,(function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(n.reset&&i(),n.errors)for(var r=0,l=Object.entries(n.errors);r<l.length;r++){var s=(e=l[r],t=2,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,a,i,o,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return c(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)?c(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.")}()),u=s[0],p=s[1];o(u,p)}a(!1)}))},initialStatus:m}),i.q.isFunction(e.children)?function(t){return e.children(t)}:r.Children.count(e.children)?e.children:null)}function u(){return(0,a.u6)()}s.defaultProps={castInitialValues:!0,castValuesOnSubmit:!0}},41661:(e,t,n)=>{"use strict";var r;n.d(t,{D:()=>r}),function(e){e.GoogleClassroom="google-classroom",e.MicrosoftTeams="microsoft-teams",e.Vivi="vivi",e.AppleTv="apply-tv"}(r||(r={}))},6082:(e,t,n)=>{"use strict";n.d(t,{G:()=>o});var r=n(32735);function a(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 i={};function o(e,t){var n,o,c=(n=r.useState(!1),o=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(n,o)||function(e,t){if(e){if("string"==typeof e)return a(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}(n,o)||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.")}()),l=c[0],s=c[1];return r.useEffect((function(){if(e&&t&&!i[e]){var n=document.createElement("script");return n.src=e,n.async=!0,n.onload=function(){i[e]=!0,window.setTimeout((function(){return s(!0)}),0)},document.body.appendChild(n),function(){n.onload=null,document.body.removeChild(n)}}}),[e,t]),i[e]||l}},40841:(e,t,n)=>{"use strict";n.d(t,{_:()=>c});var r=n(23481),a=n(41661),i=n(65728),o=r.T.encloseNamespace("shared.shared-utils"),c={getShareIntegrations:function(e,t){return[{id:a.D.GoogleClassroom,name:o("googleClassroom"),enabled:e,settingName:i.E.ShareToGoogleClassroom},{id:a.D.MicrosoftTeams,name:o("msftTeams"),enabled:t,settingName:i.E.ShareToMicrosoftTeams}]}}},91969:(e,t,n)=>{"use strict";var r=n(47033),a={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,i,o,c,l,s,u=!1;t||(t={}),n=t.debug||!1;try{if(o=r(),c=document.createRange(),l=document.getSelection(),(s=document.createElement("span")).textContent=e,s.ariaHidden="true",s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",(function(r){if(r.stopPropagation(),t.format)if(r.preventDefault(),void 0===r.clipboardData){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var i=a[t.format]||a.default;window.clipboardData.setData(i,e)}else r.clipboardData.clearData(),r.clipboardData.setData(t.format,e);t.onCopy&&(r.preventDefault(),t.onCopy(r.clipboardData))})),document.body.appendChild(s),c.selectNodeContents(s),l.addRange(c),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(r){n&&console.error("unable to copy using execCommand: ",r),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),u=!0}catch(r){n&&console.error("unable to copy using clipboardData: ",r),n&&console.error("falling back to prompt"),i=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(i,e)}}finally{l&&("function"==typeof l.removeRange?l.removeRange(c):l.removeAllRanges()),s&&document.body.removeChild(s),o()}return u}},44818:(e,t,n)=>{"use strict";function r(e){return r="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},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.CopyToClipboard=void 0;var a=c(n(32735)),i=c(n(91969)),o=["text","onCopy","options","children"];function c(e){return e&&e.__esModule?e:{default:e}}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){f(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function p(e,t){return p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},p(e,t)}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m(e){return m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},m(e)}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(v,e);var t,n,c,l,y=(c=v,l=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=m(c);if(l){var n=m(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return d(e)}(this,e)});function v(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,v);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return f(d(e=y.call.apply(y,[this].concat(n))),"onClick",(function(t){var n=e.props,r=n.text,o=n.onCopy,c=n.children,l=n.options,s=a.default.Children.only(c),u=(0,i.default)(r,l);o&&o(r,u),s&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t)})),e}return t=v,(n=[{key:"render",value:function(){var e=this.props,t=(e.text,e.onCopy,e.options,e.children),n=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,o),r=a.default.Children.only(t);return a.default.cloneElement(r,s(s({},n),{},{onClick:this.onClick}))}}])&&u(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),v}(a.default.PureComponent);t.CopyToClipboard=y,f(y,"defaultProps",{onCopy:void 0,options:void 0})},59087:(e,t,n)=>{"use strict";var r=n(44818).CopyToClipboard;r.CopyToClipboard=r,e.exports=r},47033:e=>{e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],r=0;r<e.rangeCount;r++)n.push(e.getRangeAt(r));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null}return e.removeAllRanges(),function(){"Caret"===e.type&&e.removeAllRanges(),e.rangeCount||n.forEach((function(t){e.addRange(t)})),t&&t.focus()}}}}]);
|
|
2
|
-
//# sourceMappingURL=2640-
|
|
1
|
+
(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[2640],{18488:(e,t,n)=>{"use strict";n.d(t,{o:()=>o});var r=n(99940),a=n(97395),i={namespace:"share-v2"},o={createShare:function(e,t,n,a){return{url:"/api/share/v2/shares",key:"create:share-v2",type:r.k.POST,data:e,normalizeOptions:i,invalidationKeys:["sent:shares-v2"],success:t,error:n,always:a}},updateShare:function(e,t,n,a,o){return{url:"/api/share/v2/shares/".concat(e),key:"update:share-v2:".concat(e),type:r.k.PUT,data:t,normalizeOptions:i,invalidationKeys:["share-v2:permanent-link:object","share-v2:".concat(e)],success:n,error:a,always:o}},getShare:function(e,t,n,a){return{url:"/api/share/v2/shares/".concat(e),key:"share-v2:".concat(e),bootstrapName:"share-v2:".concat(e),type:r.k.GET,normalizeOptions:i,success:t,error:n,always:a}},getSentShares:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=Object.values(e).join(":");return{url:a._.urlBuilder("/api/share/v2/shares/sent",e),key:"sent:shares-v2:".concat(o),formatData:function(t){return{data:t,count:t.length,pagination:{cursors:{next:null,previous:e.cursor}}}},type:r.k.GET,normalize:!1,success:t,error:n,always:i}},getShareLinkByObjectId:function(e){return{url:a._.urlBuilder("/api/share/v2/shares/permanent-link",{objectId:e}),key:"share-v2:permanent-link:object:".concat(e),type:r.k.POST,normalizeOptions:i}},getPrivacy:function(e){return{url:"{gateway}/v1/objects/".concat(e,"/access"),key:"privacy:".concat(e),normalize:!1}}}},79145:(e,t,n)=>{"use strict";n.d(t,{I:()=>g});var r,a=n(23481),i=n(20354),o=n(49985),c=n(65858);!function(e){e.InstantFeedback="instant_feedback",e.PreventSkipping="prevent_skipping"}(r||(r={}));var l=n(18488),s=n(21750),u=n(43012),p=n(20768),d=n(5112),m=n(60011),f=n(1575),y=n(40841);function v(e){return v="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},v(e)}function h(e,t,n){return(t=function(e){var t=function(e){if("object"!=v(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=v(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==v(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var b=a.T.encloseNamespace("sharev2.utils"),g={canEmbed:function(e){return["video","interactive","clip"].includes(e)},canAddPolicies:function(e){return["video","interactive","clip"].includes(e)},getEnabledIntegrations:function(e,t){return y._.getShareIntegrations(e,t).filter((function(e){return e.enabled})).map((function(e){return e.id}))},getFetchFunctionByType:function(e){switch(e){case"video":return function(e){return i.a.useBasicFetch(f.R.video(e))};case"playlist":return function(e){return i.a.useBasicFetch(d.C.getPlaylist(e))};case"subject":return function(e,t){return i.a.useBasicFetch(s.x.classification(e,t))};case"series":return function(e){return i.a.useBasicFetch(m.J.series(e))};case"interactive":return function(e){return i.a.useBasicFetch(p.b.interactiveMetadata(e))};case"clip":return function(e){return i.a.useBasicFetch(u.e.clip(e))}}},getAnalyticsEntity:function(e){switch(e){case"playlist":return c.py.Playlist;case"subject":return c.py.Classification;case"video":return c.py.Video;case"series":return c.py.Series;case"interactive":return c.py.Interactive;case"clip":return c.py.Clip}},getAnalyticsOptions:function(e){return{entity:g.getAnalyticsEntity(e),location:c.LZ.Popup,workflowPhase:c.eu.Complete}},updateShareLink:function(e,t,n,r,a,s,u,p){i.a.fetch(e,l.o.updateShare(r.shareId,a,(function(e){o.k.logUserAction(Object.assign(Object.assign({},e),{objectName:t.name}),o.k.mergeOptions(g.getAnalyticsOptions(n),{actionType:c.Vw.Edit,entity:c.py.ShareLink,eventVersion:c.eq.V3})),u&&u(e),s.success(b("editSuccess",{name:t.name,escapeText:!0}))}),(function(){p&&p(),s.error(b("editError",{name:t.name,escapeText:!0}))})))},getShareSettingsInitialValues:function(e,t){var n={preventSkipping:(null==t?void 0:t.preventScrubbing)||!1,instantFeedback:(null==t?void 0:t.immediateFeedback)||!1},a=h(h({},r.InstantFeedback,"instantFeedback"),r.PreventSkipping,"preventSkipping");return e.options.reduce((function(e,t){return Object.keys(a).includes(t.option)?("True"===t.value?e[a[t.option]]=!0:"False"===t.value&&(e[a[t.option]]=!1),e):e}),n)}}},82640:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ShareView:()=>Be});var r=n(32735),a=n(70680),i=n(23481),o=n(20354),c=n(59087),l=n.n(c),s=n(8935),u=n(89965),p=n(83345),d="sharev2.embedSize";function m(e){var t=e.autoplay,n=e.setAutoplay,a=e.videoSize,i=e.setVideoSize,o=e.videoSizes;return r.createElement("div",{className:"d-flex align-items-center"},!!o.length&&r.createElement(r.Fragment,null,r.createElement("div",{className:"me-1"},r.createElement(p.x,{namespace:d,phrase:"videoSize"})),r.createElement("div",{className:"pe-3"},r.createElement(s.Z,null,r.createElement(s.Z.Toggle,{id:"embed-resolution",variant:"outline-dark"},a.label),r.createElement(s.Z.Menu,null,o.map((function(e){return r.createElement(s.Z.Item,{key:"".concat(e.width,"x").concat(e.height),onClick:function(){return i(e)}},e.label)})))))),r.createElement("div",{className:"me-2"},r.createElement(p.x,{namespace:d,phrase:"autoplay"})),r.createElement(u.X,{id:"autoplay-checkbox",checked:t,onChange:function(){return n(!t)}}))}var f=n(13876),y=n(26450);const v={embedHtmlInput:"lpm1A",copyBtnContainer:"EE1mM"};function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return b(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)?b(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 b(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="sharev2.copyEmbed",E=i.T.encloseNamespace(g);function S(e){var t=y.i.getEmbedResolutions(),n=h(r.useState(!1),2),a=n[0],i=n[1],o=h(r.useState("copy"),2),c=o[0],s=o[1],u=h(r.useState(t.find((function(e){return"100%"===e.width}))),2),d=u[0],b=u[1],S=y.i.buildEmbedUrl({embedUrl:e.share.link.shortenedEmbedUrl,host:e.liteUrl,shareId:e.share.shareId,autoplay:a}),k=y.i.getEmbedString({url:S,size:d});return r.createElement(r.Fragment,null,r.createElement("div",{className:"mb-3"},r.createElement(p.D.Provider,{value:g},r.createElement("label",null,r.createElement(p.x,{namespace:g,phrase:"label"})),r.createElement("div",{className:"position-relative mb-3"},r.createElement("textarea",{className:"form-control rounded w-100 h-100 ".concat(v.embedHtmlInput),spellCheck:!1,value:k,rows:7,readOnly:!0}),r.createElement(l(),{onCopy:function(){s("copied"),setTimeout((function(){return s("copy")}),2e3)},text:k},r.createElement("button",{className:"btn btn-outline-dark border border-secondary position-absolute bottom-0 end-0 ".concat(v.copyBtnContainer),type:"button"},E(c)))),r.createElement(m,{autoplay:a,setAutoplay:i,videoSize:d,setVideoSize:b,videoSizes:t}))),r.createElement(f.u,{align:"start"},r.createElement(f.u.Cancel,{onClick:e.onClickCancel,text:E("back"),variant:"link"})))}var k,C=n(18488),w=n(79145),x=n(49985),O=n(65858);!function(e){e.Public="Public",e.PinCode="PinCode",e.PasswordProtected="PasswordProtected",e.ProtectedOverrideRestriction="ProtectedOverrideRestriction",e.JustMySchoolOverrideRestriction="JustMySchoolOverrideRestriction",e.Protected="Protected",e.JustMySchool="JustMySchool",e.Direct="Direct"}(k||(k={}));var T=n(110),P=n(4594),I=n(49080),j=n(26361),A=n(35223),N=n(31908);function F(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 L=i.T.encloseNamespace("sharev2.utils"),R={getPrivateIconAndText:function(e){var t=e.entityTypeId,n=e.privacy,r=e.hasStudentExp,a=e.entity,i=e.yearGroups;if(t===P.E.Topic||t===P.E.Series)return{icon:A.vn.VisibleOn,text:L(r?"justMySchoolTeachers":"justMySchoolDescription")};if(!Array.isArray(n))switch(n){case k.Public:return{icon:A.vn.VisibleOn,text:L("publicDescription")};case k.ProtectedOverrideRestriction:return{icon:A.vn.VisibleOn,text:L("clickViewOnly")};case k.Protected:return{icon:A.vn.Lock,text:R.getRespectRatingText(a,i,r)};case k.JustMySchoolOverrideRestriction:return{icon:A.vn.Lock,text:L(r?"justMySchoolTeachers":"justMySchoolDescription")};case k.JustMySchool:return{icon:A.vn.Lock,text:R.getRespectRatingText(a,i,r)};case k.PinCode:return{icon:A.vn.Lock,text:L("pinDescription")};case k.PasswordProtected:return{icon:A.vn.Lock,text:L("privateDescription")};default:return{}}},getIconAndText:function(e){var t=e.linkExpireDate,n=e.isPasswordProtected,r=e.status;if(!t&&!n)return R.getPrivateIconAndText(e);if(!t)return{icon:A.vn.Lock,text:L("password")};var a=T.O.isToday(t),i=T.O.diffBetween(t,new Date,"day");if(!n){var o=a?L("expiryToday"):L("expiry",{days:i});return r===I.F.Expired&&(o=L("expired")),{icon:A.vn.Timer,text:o}}var c=a?L("passwordExpiryToday"):L("passwordExpiry",{days:i});return r===I.F.Expired&&(c=L("passwordExpired")),{icon:A.vn.Lock,text:c}},getRespectRatingText:function(e,t,n){var r;if(!e||!t)return null;if(n)return L("justMySchoolTeachers");if(!N.M.isVideoType(e))return L("collectionRating");var a=j.l.getWeightedRestriction(null===(r=e._restrictions)||void 0===r?void 0:r.value);if(a&&!a.yearGroup)return L("onlyAdmins");var i,o,c,l=N.M.getRating(e),s=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 F(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)?F(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 i,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw i}}}}(t);try{for(s.s();!(c=s.n()).done;){var u=c.value;(!i||u.value>i.value)&&(i=u),a&&u.value<=a.yearGroup||l&&u.rating.value<l.value||(!o||u.value<o.value)&&(o=u)}}catch(e){s.e(e)}finally{s.f()}return o?1===t.length?L("clickViewOnly"):o.value===i.value?L("maxYearGroup",{yearGroup:i.name}):L("yearGroupRange",{yearGroup:o.name}):L("onlyStaff")},getShareLinkAccessType:function(e){return e.isTvContent?"tv":e.isClickViewContent?"clickview":e.canManageAccess?"private":void 0}},M=n(83914);const D={active:"NV2KW"};var G,B=i.T.encloseNamespace("sharev2.shareLinkPrivacy");function V(e){var t=e.active,n=e.title,a=e.description,i=e.onClick;return r.createElement("button",{className:"".concat(t?D.active:""," dropdown-item d-flex align-items-center justify-content-between py-2"),onClick:t?null:i},r.createElement("div",{className:"me-4"},r.createElement("p",{className:"font-label mb-1"},n),r.createElement("p",{className:"font-size-sm mb-0"},a)),t&&r.createElement(M.x,{svgName:A.vn.Check}))}function U(e){var t=e.shareOverrideRestrictions&&!e.hasStudentExp,n=R.getShareLinkAccessType(e.entityPrivacy),a=R.getPrivateIconAndText({privacy:e.privacy,entityTypeId:e.entityTypeId,hasStudentExp:e.hasStudentExp,entity:e.entity,yearGroups:e.yearGroups}),i=a.icon,o=a.text,c=R.getRespectRatingText(e.entity,e.yearGroups,e.hasStudentExp),l="private"===n?k.JustMySchool:k.Protected,s="private"===n?k.JustMySchoolOverrideRestriction:k.ProtectedOverrideRestriction;return t?r.createElement("div",{className:"btn-group"},r.createElement("button",{className:"btn border-0 info-link dropdown-toggle p-1 bg-light-blue-hover","data-bs-toggle":"dropdown"},r.createElement(M.x,{svgName:i,className:"svg-container me-1"}),r.createElement("span",{className:"me-1"},o)),r.createElement("ul",{className:"dropdown-menu cursor-pointer"},r.createElement("li",null,r.createElement(V,{active:e.privacy===s,title:B("justMySchool"),description:B("private"===n?"justMySchoolDescription":"clickViewOnly"),onClick:function(){return e.onClickSavePrivacy(s)}})),r.createElement("li",null,r.createElement(V,{active:e.privacy===l,title:B("respectRatings"),description:c,onClick:function(){return e.onClickSavePrivacy(l)}})),"private"===n&&r.createElement("li",null,r.createElement(V,{active:e.privacy===k.Public,title:B("public"),description:B("publicDescription"),onClick:function(){return e.onClickSavePrivacy(k.Public)}})))):r.createElement("div",{className:"d-flex align-items-center"},r.createElement(M.x,{svgName:i,className:"svg-container me-1"}),r.createElement("span",null,o))}!function(e){e.Link="Link",e.Classroom="Classroom",e.Open="Open",e.Live="Live"}(G||(G={}));var _=n(66257);function z(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 J(e){var t,n,a=(t=r.useState(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return z(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)?z(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=a[0],o=a[1];return r.createElement("div",{className:"d-flex justify-content-start align-items-start flex-column gap-2"},e.share.type===G.Link&&r.createElement(U,{privacy:e.share.privacy,entityPrivacy:e.privacy,entityTypeId:e.entity.typeId,entity:e.entity,yearGroups:e.yearGroups,hasStudentExp:e.hasStudentExp,shareOverrideRestrictions:e.shareOverrideRestrictions,onClickSavePrivacy:e.onClickSavePrivacy}),r.createElement(_.k,{value:e.share.link.shortenedUrl,onCopy:function(){i||(o(!0),x.k.logUserAction({id:e.entity.id,name:e.entity.name},x.k.mergeOptions(w.I.getAnalyticsOptions(e.entityType),{actionType:O.Vw.Share,descriptor:O.YM.CopyLink,eventVersion:O.eq.V3})))}}))}var Z=n(11607);const $={hoverBackground:"okJLU"};var H="sharev2.getEmbedCode";function K(e){return r.createElement(Z.L,{onClick:e.onClickGetEmbedCode,className:"d-inline-block p-1 pe-2 rounded-1 ".concat($.hoverBackground)},r.createElement("div",{className:"d-flex align-items-center"},r.createElement("div",{className:"me-2"},r.createElement(M.x,{svgName:A.vn.Code,size:M.S.Standard})),r.createElement(p.x,{namespace:H,phrase:"getEmbedCode"})))}var q=n(57900),W=n(2948),Y=n(15611),X=n(38143);function Q(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 ee="sharev2.lookingForIntegration",te=i.T.encloseNamespace(ee);function ne(e){var t,n,a=(t=(0,W.D)(X.g.LOOKING_FOR_INTEGRATION,{show:!0},{storage:q.Z1.LocalStorage}),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Q(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)?Q(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=a[0],o=a[1];return i.show?r.createElement("div",{className:"d-flex justify-content-between rounded p-2 bg-light-blue"},r.createElement(Y.F,{appLink:e.appLink,onClick:function(){var t;return null===(t=e.closePopup)||void 0===t?void 0:t.call(e)},className:"d-inline-flex align-items-center mb-0"},r.createElement("span",{className:"ms-1 font-label text-info"},r.createElement(p.x,{namespace:ee,phrase:"lookingForIntegration"}))),r.createElement("button",{onClick:function(){return o({show:!1})},"aria-label":"".concat(te("ariaClose"))},r.createElement(M.x,{svgName:A.vn.Close,size:M.S.Small,className:"text-info d-inline-block svg-container"}))):r.createElement(r.Fragment,null)}var re=n(6082),ae="g-share-to-classroom",ie=n(41661);const oe={hoverable:"ARIeV",msTeamsContainer:"eFMEH",avatar:"yBYuA"};var ce="32";function le(e){var t,n,a,i,o=function(e){e&&(window.___gcfg={parsetags:"explicit"});var t=(0,re.G)("https://apis.google.com/js/platform.js",e);return r.useEffect((function(){var n,r;e&&t&&(null===(r=null===(n=window.gapi)||void 0===n?void 0:n.sharetoclassroom)||void 0===r||r.go(ae))}),[e,t]),ae}(null===(t=e.integrations)||void 0===t?void 0:t.includes(ie.D.GoogleClassroom));if(a=null===(n=e.integrations)||void 0===n?void 0:n.includes(ie.D.MicrosoftTeams),i=(0,re.G)("https://teams.microsoft.com/share/launcher.js",a),r.useEffect((function(){var e;a&&i&&(null===(e=window.shareToMicrosoftTeams)||void 0===e||e.renderButtons())}),[a,i]),!e.integrations.length)return null;var c="sm"===e.iconSize?"24":ce,l={height:"".concat(c,"px"),width:"".concat(c,"px")};return r.createElement("div",{className:"d-flex gap-1 align-items-start"},e.integrations.includes(ie.D.GoogleClassroom)&&r.createElement("div",{id:o,className:"rounded partial-loading-background",style:l},r.createElement("div",{className:"g-sharetoclassroom","data-size":c,"data-url":e.url})),e.integrations.includes(ie.D.MicrosoftTeams)&&r.createElement("div",{className:"rounded overflow-hidden ".concat(oe.hoverable)},r.createElement("div",{className:"teams-share-button ".concat(oe.msTeamsContainer),style:l,"data-href":e.url,"data-button-type":"smallTransWhite","data-preview":"false","data-icon-px-size":c})))}function se(e){var t=e.hasManageIntegrationsPermission?e.integrationSettingAppLink:e.messagePopupAppLink,n=!!e.integrations.length;return r.createElement("div",{className:"d-flex flex-column gap-2 justify-content-between"},e.enableIntegrationBanner&&!n&&r.createElement(ne,{appLink:t,closePopup:e.closePopup}),r.createElement("div",{className:"d-flex flex-row justify-content-between"},e.canEmbed&&r.createElement(K,{onClickGetEmbedCode:e.onClickGetEmbedCode}),e.enableIntegrationBanner&&n&&r.createElement(le,{integrations:e.integrations,url:e.share.link.shortenedUrl,closePopup:e.closePopup,appLink:t})))}const ue={hoverBackground:"l3eJu"};var pe="sharev2.sharePermanentLinkSetting";function de(e){return e.manageShareLinkSettings?r.createElement("div",{className:"d-flex flex-row justify-content-between align-items-center"},r.createElement(Z.L,{onClick:e.onClickEditSettings,className:"d-inline-block p-1 pe-2 rounded-1 ".concat(ue.hoverBackground)},r.createElement("div",{className:"d-flex align-items-center"},r.createElement("div",{className:"me-2"},r.createElement(M.x,{svgName:A.vn.Cog,size:M.S.Standard})),r.createElement(p.x,{namespace:pe,phrase:"editSettings"})))):null}var me=n(16714),fe=n(22902);function ye(e){var t=(0,fe.T)().hasPermissions,n=e.canEmbed||e.enableIntegrationBanner&&!!e.integrations.length,a=t(me.C.ManageIntegrations);return r.createElement("div",{className:"d-flex flex-column gap-2"},r.createElement(J,{share:e.share,entity:e.entity,entityType:e.entityType,yearGroups:e.yearGroups,privacy:e.privacy,shareOverrideRestrictions:e.shareOverrideRestrictions,hasStudentExp:t(me.C.StudentExperience),onClickSavePrivacy:e.onClickSavePrivacy}),e.share&&n&&r.createElement(se,{share:e.share,canEmbed:e.canEmbed,integrations:e.integrations,hasManageIntegrationsPermission:a,enableIntegrationBanner:e.enableIntegrationBanner,messagePopupAppLink:e.messagePopupAppLink,integrationSettingAppLink:e.integrationSettingAppLink,onClickGetEmbedCode:e.onClickGetEmbedCode,closePopup:e.closePopup}),e.share&&e.canAddPolicies&&r.createElement(de,{manageShareLinkSettings:t(me.C.ManageShareLinkSettings),onClickEditSettings:e.onClickEditSettings}))}var ve=n(92802),he=n(83523),be="sharev2.instantFeedbackField";function ge(){var e=(0,ve.u6)();return r.createElement("div",{className:"d-flex justify-content-between align-items-start"},r.createElement("div",null,r.createElement("label",{className:"m-0",htmlFor:""},r.createElement(p.x,{namespace:be,phrase:"heading"})),r.createElement("p",{className:"m-0 text-secondary"},r.createElement(p.x,{namespace:be,phrase:"info"}))),r.createElement("div",null,r.createElement(he.Z,{onClick:function(){e.setFieldValue("instantFeedback",!e.values.instantFeedback),e.submitForm()},on:!!e.values.instantFeedback})))}var Ee="sharev2.preventSkippingField";function Se(){var e=(0,ve.u6)();return r.createElement("div",{className:"d-flex justify-content-between align-items-start"},r.createElement("div",null,r.createElement("label",{className:"m-0",htmlFor:""},r.createElement(p.x,{namespace:Ee,phrase:"heading"})),r.createElement("p",{className:"m-0 text-secondary"},r.createElement(p.x,{namespace:Ee,phrase:"info"}))),r.createElement("div",null,r.createElement(he.Z,{onClick:function(){e.setFieldValue("preventSkipping",!e.values.preventSkipping),e.submitForm()},on:!!e.values.preventSkipping})))}var ke=n(5173),Ce=(0,ke.Ry)().shape({preventSkipping:(0,ke.O7)(),instantFeedback:(0,ke.O7)()}),we=n(82644),xe="sharev2.shareSettings",Oe=i.T.encloseNamespace(xe);function Te(e){return r.createElement(ve.l0,{className:"d-flex flex-column gap-2"},r.createElement("h3",{className:"h6"},r.createElement(p.x,{namespace:xe,phrase:"heading"})),r.createElement(Se,null),!e.hideInstantFeedback&&r.createElement(ge,null))}function Pe(e){return r.createElement(r.Fragment,null,r.createElement(we.n,{initialValues:e.initialValues,onSubmit:function(t,n){e.onClickSaveLink({options:{instantFeedback:t.instantFeedback,preventSkipping:t.preventSkipping}},n)},castInitialValues:!1,validationSchema:Ce},r.createElement("div",{className:"d-flex flex-column gap-3"},r.createElement(Te,{hideInstantFeedback:"interactive"!==e.entityType}),r.createElement(f.u,{align:"start"},r.createElement(f.u.Cancel,{onClick:e.onClickCancel,text:Oe("back"),variant:"link"})))))}var Ie=n(9111),je=n(39151),Ae=n(1666),Ne=n(20768),Fe=n(31949),Le=n(69883),Re=n(37802),Me=n(45778);function De(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var Ge=i.T.encloseNamespace("shared.sharev2");function Be(e){var t,n,i,c,l=(0,a.I0)(),s=(0,Le.Z)(),u=(0,Re.r)(null),p=u.shareToGoogleClassroom,d=u.shareToMicrosoftTeams,m=u.isLoadingSettings,f=u.shareOverrideRestrictions,y=(i=r.useState("main"),c=2,function(e){if(Array.isArray(e))return e}(i)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(i,c)||function(e,t){if(e){if("string"==typeof e)return De(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?De(e,t):void 0}}(i,c)||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.")}()),v=y[0],h=y[1],b=o.a.useBasicFetch(Fe.N.currentUser()),g=w.I.getFetchFunctionByType(e.entityType)(e.entityId,null===(t=b.data)||void 0===t?void 0:t.id),E=o.a.useBasicFetch(je.L.config()),k=o.a.useBasicFetch(e.shareId?C.o.getShare(e.shareId):C.o.getShareLinkByObjectId(e.entityId)),x=o.a.useBasicFetch((null===(n=b.data)||void 0===n?void 0:n.isAuthenticated)&&Ae.h.yearGroups(b.data.customerId)),O=o.a.useBasicFetch(C.o.getPrivacy(e.entityId)),T=o.a.useBasicFetch(Me.G.isType(g.data,P.E.Interactive)&&g.data.interactiveId&&Ne.b.interactive(g.data.interactiveId));function I(t,n){w.I.updateShareLink(l,g.data,e.entityType,k.data,t,s,null,n)}function j(e){o.a.fetch(l,C.o.updateShare(k.data.shareId,{privacy:e},(function(){return s.success(Ge("privaciesSuccess",{name:g.data.name,escapeText:!0}))}),(function(){return s.error(Ge("privaciesError",{name:g.data.name,escapeText:!0}))})))}var A=!(!k.data||!E.data||!g.data||!O.data||!x||m);return r.createElement(Ie.G,{title:Ge("title"),closePopup:e.closePopup,showLoadingSpinner:!A},function(){if(!A)return null;switch(v){case"main":return r.createElement(ye,{entityType:e.entityType,entity:g.data,yearGroups:x.data,share:k.data,privacy:O.data,enableIntegrationBanner:e.enableIntegrationBanner,canEmbed:w.I.canEmbed(e.entityType),canAddPolicies:w.I.canAddPolicies(e.entityType),integrations:w.I.getEnabledIntegrations(p,d),shareOverrideRestrictions:f,onClickEditSettings:function(){return h("link-settings")},onClickGetEmbedCode:function(){return h("copy-embed")},onClickSavePrivacy:j,closePopup:e.closePopup,integrationSettingAppLink:e.integrationSettingAppLink,messagePopupAppLink:e.messagePopupAppLink});case"link-settings":return r.createElement(Pe,{initialValues:w.I.getShareSettingsInitialValues(k.data,T.data),entityType:e.entityType,onClickSaveLink:I,onClickCancel:function(){return h("main")}});case"copy-embed":return r.createElement(S,{entity:g.data,entityId:e.entityId,entityType:e.entityType,share:k.data,liteUrl:E.data.liteUrl,onClickCancel:function(){return h("main")}})}}())}},66257:(e,t,n)=>{"use strict";n.d(t,{k:()=>u});var r=n(32735),a=n(80130),i=n(59087),o=n(23481);const c={normal:"Q1UGv",copyBtn:"J3fBx"};function l(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 s=o.T.encloseNamespace("shared.copyInput");function u(e){var t,n,o=(t=r.useState(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return l(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)?l(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=o[0],p=o[1],d=r.createElement("div",{className:"d-flex flex-row gap-2 position-relative w-100"},r.createElement("input",{type:"text",autoComplete:"off",className:"form-control ".concat("normal"===e.styling?c.normal:""),spellCheck:!1,value:e.value,readOnly:!0}),r.createElement(i.CopyToClipboard,{text:e.value},r.createElement("button",{role:u?"status":"",className:"btn btn-outline-dark border border-secondary py-0 text-nowrap",onClick:function(t){t.preventDefault(),e.onCopy&&e.onCopy(),u||(p(!0),setTimeout((function(){return p(!1)}),2e3))}},u?e.copiedText||s("copied"):e.copyText||s("copy"))));return e.label?r.createElement(a.Z.Group,{className:"form-group"},r.createElement(a.Z.Label,null,e.label),d):d}u.defaultProps={styling:"normal"}},82644:(e,t,n)=>{"use strict";n.d(t,{b:()=>u,n:()=>s});var r=n(32735),a=n(92802),i=n(91967),o=n(1048);function c(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 l=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};function s(e){var t=e.castInitialValues,n=e.castValuesOnSubmit,s=e.initialValues,u=e.onSubmit,p=l(e,["castInitialValues","castValuesOnSubmit","initialValues","onSubmit"]),d=t&&e.validationSchema?e.validationSchema.cast(function(e){if(!e)return{};var t=o.t.deepClone(e);return function e(n){Object.keys(t).forEach((function(r){t.hasOwnProperty(r)&&(o.t.isObject(n[r])?e(n[r]):null===t[r]&&delete t[r])}))}(t),t}(s)):s,m={allowInitialSubmit:e.allowInitialSubmit};return r.createElement(a.J9,Object.assign({enableReinitialize:!0},p,{initialValues:d,onSubmit:function(t,r){var a=r.setSubmitting,i=r.resetForm,o=r.setFieldError,l=n&&e.validationSchema?e.validationSchema.cast(t):t;u(l,(function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(n.reset&&i(),n.errors)for(var r=0,l=Object.entries(n.errors);r<l.length;r++){var s=(e=l[r],t=2,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,a,i,o,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return c(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)?c(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.")}()),u=s[0],p=s[1];o(u,p)}a(!1)}))},initialStatus:m}),i.q.isFunction(e.children)?function(t){return e.children(t)}:r.Children.count(e.children)?e.children:null)}function u(){return(0,a.u6)()}s.defaultProps={castInitialValues:!0,castValuesOnSubmit:!0}},41661:(e,t,n)=>{"use strict";var r;n.d(t,{D:()=>r}),function(e){e.GoogleClassroom="google-classroom",e.MicrosoftTeams="microsoft-teams",e.Vivi="vivi",e.AppleTv="apply-tv"}(r||(r={}))},6082:(e,t,n)=>{"use strict";n.d(t,{G:()=>o});var r=n(32735);function a(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 i={};function o(e,t){var n,o,c=(n=r.useState(!1),o=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(n,o)||function(e,t){if(e){if("string"==typeof e)return a(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}(n,o)||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.")}()),l=c[0],s=c[1];return r.useEffect((function(){if(e&&t&&!i[e]){var n=document.createElement("script");return n.src=e,n.async=!0,n.onload=function(){i[e]=!0,window.setTimeout((function(){return s(!0)}),0)},document.body.appendChild(n),function(){n.onload=null,document.body.removeChild(n)}}}),[e,t]),i[e]||l}},40841:(e,t,n)=>{"use strict";n.d(t,{_:()=>c});var r=n(23481),a=n(41661),i=n(65728),o=r.T.encloseNamespace("shared.shared-utils"),c={getShareIntegrations:function(e,t){return[{id:a.D.GoogleClassroom,name:o("googleClassroom"),enabled:e,settingName:i.E.ShareToGoogleClassroom},{id:a.D.MicrosoftTeams,name:o("msftTeams"),enabled:t,settingName:i.E.ShareToMicrosoftTeams}]}}},91969:(e,t,n)=>{"use strict";var r=n(47033),a={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,i,o,c,l,s,u=!1;t||(t={}),n=t.debug||!1;try{if(o=r(),c=document.createRange(),l=document.getSelection(),(s=document.createElement("span")).textContent=e,s.ariaHidden="true",s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",(function(r){if(r.stopPropagation(),t.format)if(r.preventDefault(),void 0===r.clipboardData){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var i=a[t.format]||a.default;window.clipboardData.setData(i,e)}else r.clipboardData.clearData(),r.clipboardData.setData(t.format,e);t.onCopy&&(r.preventDefault(),t.onCopy(r.clipboardData))})),document.body.appendChild(s),c.selectNodeContents(s),l.addRange(c),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(r){n&&console.error("unable to copy using execCommand: ",r),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),u=!0}catch(r){n&&console.error("unable to copy using clipboardData: ",r),n&&console.error("falling back to prompt"),i=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(i,e)}}finally{l&&("function"==typeof l.removeRange?l.removeRange(c):l.removeAllRanges()),s&&document.body.removeChild(s),o()}return u}},44818:(e,t,n)=>{"use strict";function r(e){return r="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},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.CopyToClipboard=void 0;var a=c(n(32735)),i=c(n(91969)),o=["text","onCopy","options","children"];function c(e){return e&&e.__esModule?e:{default:e}}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){f(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function p(e,t){return p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},p(e,t)}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m(e){return m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},m(e)}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(v,e);var t,n,c,l,y=(c=v,l=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=m(c);if(l){var n=m(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return d(e)}(this,e)});function v(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,v);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return f(d(e=y.call.apply(y,[this].concat(n))),"onClick",(function(t){var n=e.props,r=n.text,o=n.onCopy,c=n.children,l=n.options,s=a.default.Children.only(c),u=(0,i.default)(r,l);o&&o(r,u),s&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t)})),e}return t=v,(n=[{key:"render",value:function(){var e=this.props,t=(e.text,e.onCopy,e.options,e.children),n=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,o),r=a.default.Children.only(t);return a.default.cloneElement(r,s(s({},n),{},{onClick:this.onClick}))}}])&&u(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),v}(a.default.PureComponent);t.CopyToClipboard=y,f(y,"defaultProps",{onCopy:void 0,options:void 0})},59087:(e,t,n)=>{"use strict";var r=n(44818).CopyToClipboard;r.CopyToClipboard=r,e.exports=r},47033:e=>{e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],r=0;r<e.rangeCount;r++)n.push(e.getRangeAt(r));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null}return e.removeAllRanges(),function(){"Caret"===e.type&&e.removeAllRanges(),e.rangeCount||n.forEach((function(t){e.addRange(t)})),t&&t.focus()}}}}]);
|
|
2
|
+
//# sourceMappingURL=2640-052f4606f6-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/2640-052f4606f6-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/share-v2/flight-requests/ShareRequests.ts","file:///app/packages/libs/shared/src/apps/share-v2/enums/ShareOption.ts","file:///app/packages/libs/shared/src/apps/share-v2/utils/ShareViewHelper.tsx","file:///app/packages/libs/shared/src/apps/share-v2/components/embed-size/EmbedSize.tsx","file:///app/packages/libs/shared/src/apps/share-v2/components/copy-embed/copy-embed.scss","file:///app/packages/libs/shared/src/apps/share-v2/components/copy-embed/CopyEmbed.tsx","file:///app/packages/libs/shared/src/apps/share-v2/enums/SharePrivacy.ts","file:///app/packages/libs/shared/src/apps/share-v2/utils/ShareLinkHelper.ts","file:///app/packages/libs/shared/src/apps/share-v2/components/share-link-privacy/share-link-privacy.scss","file:///app/packages/libs/shared/src/apps/share-v2/components/share-link-privacy/ShareLinkPrivacy.tsx","file:///app/packages/libs/shared/src/apps/share-v2/enums/ShareType.ts","file:///app/packages/libs/shared/src/apps/share-v2/views/share/components/share-permanent-link/SharePermanentLink.tsx","file:///app/packages/libs/shared/src/apps/share-v2/components/get-embed-code/get-embed-code.scss","file:///app/packages/libs/shared/src/apps/share-v2/components/get-embed-code/GetEmbedCode.tsx","file:///app/packages/libs/shared/src/apps/share-v2/components/looking-for-integration/LookingForIntegration.tsx","file:///app/packages/libs/shared/src/apps/share-v2/views/share/components/share-integrations/useGoogleClassrooms.ts","file:///app/packages/libs/shared/src/apps/share-v2/views/share/components/share-integrations/share-integrations.scss","file:///app/packages/libs/shared/src/apps/share-v2/views/share/components/share-integrations/ShareIntegrations.tsx","file:///app/packages/libs/shared/src/apps/share-v2/views/share/components/share-integrations/useMicrosoftTeamsShare.ts","file:///app/packages/libs/shared/src/apps/share-v2/views/share/components/share-permanent-link-embed/SharePermanentLinkEmbed.tsx","file:///app/packages/libs/shared/src/apps/share-v2/views/share/components/share-permanent-link-setting/share-permanent-link-setting.scss","file:///app/packages/libs/shared/src/apps/share-v2/views/share/components/share-permanent-link-setting/SharePermanentLinkSetting.tsx","file:///app/packages/libs/shared/src/apps/share-v2/views/share/components/main-share/MainShare.tsx","file:///app/packages/libs/shared/src/apps/share-v2/components/instant-feedback-field/InstantFeedbackField.tsx","file:///app/packages/libs/shared/src/apps/share-v2/components/prevent-skipping-field/PreventSkippingField.tsx","file:///app/packages/libs/shared/src/apps/share-v2/validation/ShareSettingsFormValidationSchema.ts","file:///app/packages/libs/shared/src/apps/share-v2/views/share/components/share-settings/ShareSettings.tsx","file:///app/packages/libs/shared/src/apps/share-v2/views/share/ShareView.tsx","file:///app/packages/libs/shared/src/components/copy-input/copy-input.scss","file:///app/packages/libs/shared/src/components/copy-input/CopyInput.tsx","file:///app/packages/libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx","file:///app/packages/libs/shared/src/enums/IntegrationId.ts","file:///app/packages/libs/shared/src/hooks/useScript.ts","file:///app/packages/libs/shared/src/utils/IntegrationHelper.ts","file:///app/node_modules/copy-to-clipboard/index.js","file:///app/node_modules/react-copy-to-clipboard/lib/Component.js","file:///app/node_modules/react-copy-to-clipboard/lib/index.js","file:///app/node_modules/toggle-selection/index.js"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { CreateShareRequest } from 'libs/shared/apps/share-v2/interfaces/CreateShareRequest';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { UpdateShareRequest } from 'libs/shared/apps/share-v2/interfaces/UpdateShareRequest';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { BasePaginatedCollection } from 'libs/shared/interfaces';\n\nconst normalizeOptions: Flight.NormalizeOptions = {\n namespace: 'share-v2'\n};\n\nexport interface GetSentSharesParams {\n cursor?: string;\n limit?: number;\n objectTypeId?: MasterType | MasterType[];\n recipientUserId?: string | string[];\n recipientGroupId?: string | string[];\n start?: string;\n end?: string;\n}\n\nexport const ShareRequests = {\n createShare(\n data: CreateShareRequest,\n success?: (response: Share) => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: '/api/share/v2/shares',\n key: 'create:share-v2',\n type: HttpVerbs.POST,\n data,\n normalizeOptions,\n invalidationKeys: ['sent:shares-v2'],\n success,\n error,\n always\n };\n },\n\n updateShare(\n shareId: string,\n data: UpdateShareRequest,\n success?: (response: Share) => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/share/v2/shares/${shareId}`,\n key: `update:share-v2:${shareId}`,\n type: HttpVerbs.PUT,\n data,\n normalizeOptions,\n invalidationKeys: [ 'share-v2:permanent-link:object', `share-v2:${shareId}` ],\n success,\n error,\n always\n };\n },\n\n getShare(\n shareId: string,\n success?: (response: Share) => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/share/v2/shares/${shareId}`,\n key: `share-v2:${shareId}`,\n bootstrapName: `share-v2:${shareId}`,\n type: HttpVerbs.GET,\n normalizeOptions,\n success,\n error,\n always\n };\n },\n\n getSentShares(\n params: GetSentSharesParams = {},\n success?: (response: BasePaginatedCollection<Share>[]) => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n const key = Object.values(params).join(':');\n\n return {\n url: UrlHelper.urlBuilder('/api/share/v2/shares/sent', params),\n key: `sent:shares-v2:${key}`,\n formatData: (response: Share[]) => {\n return {\n data: response,\n count: response.length,\n pagination: {\n cursors: {\n next: null, // TODO: Share V2 - fix hardcoded value\n previous: params.cursor\n }\n }\n };\n },\n type: HttpVerbs.GET,\n normalize: false,\n success,\n error,\n always\n };\n },\n\n getShareLinkByObjectId(id: string): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/share/v2/shares/permanent-link', { objectId: id }),\n key: `share-v2:permanent-link:object:${id}`,\n type: HttpVerbs.POST,\n normalizeOptions\n };\n },\n\n getPrivacy(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}/access`,\n key: `privacy:${id}`,\n normalize: false\n };\n }\n};","export enum ShareOption {\n InstantFeedback = 'instant_feedback',\n PreventSkipping = 'prevent_skipping'\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, EntityType, EventVersion, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ShareOption } from 'libs/shared/apps/share-v2/enums/ShareOption';\nimport { ShareRequests } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport type { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport type { UpdateShareRequest } from 'libs/shared/apps/share-v2/interfaces/UpdateShareRequest';\nimport { IntegrationId } from 'libs/shared/enums/IntegrationId';\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { PlaylistRequests } from 'libs/shared/flight-requests/PlaylistRequests';\nimport { SeriesRequests } from 'libs/shared/flight-requests/SeriesRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { Alerts } from 'libs/shared/hooks/UseAlerts';\nimport type { Classification, Clip, Interactive, InteractiveMetadata, Playlist, Series, Subject, Video } from 'libs/shared/interfaces';\nimport { IntegrationHelper } from 'libs/shared/utils/IntegrationHelper';\n\nexport type SharableEntityType = 'video' | 'playlist' | 'subject' | 'series' | 'interactive' | 'clip';\nexport type SharableEntity = Video | Playlist | Subject | Series | InteractiveMetadata | Clip;\nexport interface ShareSettingsFormFields {\n preventSkipping: boolean;\n instantFeedback: boolean;\n}\n\nconst namespace = 'sharev2.utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const ShareViewHelper = {\n canEmbed(type: SharableEntityType): boolean {\n return [ 'video', 'interactive', 'clip' ].includes(type);\n },\n\n canAddPolicies(type: SharableEntityType): boolean {\n return [ 'video', 'interactive', 'clip' ].includes(type);\n },\n \n getEnabledIntegrations(googleClassroomSetting: boolean, msftTeamsSetting: boolean): IntegrationId[] {\n const integrations = IntegrationHelper.getShareIntegrations(googleClassroomSetting, msftTeamsSetting);\n return integrations.filter(i => i.enabled).map(i => i.id);\n },\n\n getFetchFunctionByType: (type: SharableEntityType) => {\n switch (type) {\n case 'video': {\n return (id: string) => Flight.useBasicFetch<Video>(VideoRequests.video(id));\n }\n \n case 'playlist': {\n return (id: string) => Flight.useBasicFetch<Playlist>(PlaylistRequests.getPlaylist(id));\n }\n \n case 'subject': {\n return (id: string, userId: string) => {\n return Flight.useBasicFetch<Classification>(ClassificationRequests.classification(id, userId));\n };\n }\n \n case 'series': {\n return (id: string) => Flight.useBasicFetch<Series>(SeriesRequests.series(id));\n }\n \n case 'interactive': {\n return (id: string) =>\n Flight.useBasicFetch<InteractiveMetadata>(InteractiveRequests.interactiveMetadata(id));\n }\n \n case 'clip': {\n return (id: string) =>\n Flight.useBasicFetch<Clip>(ClipRequests.clip(id));\n }\n }\n },\n\n getAnalyticsEntity(entityType: string): EntityType {\n switch (entityType) {\n case 'playlist':\n return EntityType.Playlist;\n case 'subject':\n return EntityType.Classification;\n case 'video':\n return EntityType.Video;\n case 'series':\n return EntityType.Series;\n case 'interactive':\n return EntityType.Interactive;\n case 'clip':\n return EntityType.Clip;\n }\n },\n\n getAnalyticsOptions(entityType: SharableEntityType): AnalyticsOptions {\n return {\n entity: ShareViewHelper.getAnalyticsEntity(entityType),\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete\n };\n },\n\n updateShareLink(\n dispatch: Flight.Dispatch,\n entity: SharableEntity,\n entityType: SharableEntityType,\n share: Share,\n data: UpdateShareRequest,\n alerts: Alerts,\n onSuccess?: (data: Share) => void,\n onError?: () => void\n ): void {\n const success = (updatedShare: Share) => {\n AnalyticsHelper.logUserAction(\n { ...updatedShare, objectName: entity.name },\n AnalyticsHelper.mergeOptions(ShareViewHelper.getAnalyticsOptions(entityType), {\n actionType: UserAction.Edit,\n entity: EntityType.ShareLink,\n eventVersion: EventVersion.V3\n })\n );\n\n if (onSuccess)\n onSuccess(updatedShare);\n\n alerts.success(getPhrase('editSuccess', { name: entity.name, escapeText: true }));\n };\n\n const error = () => {\n if (onError)\n onError();\n\n alerts.error(getPhrase('editError', { name: entity.name, escapeText: true }));\n };\n\n Flight.fetch(dispatch, ShareRequests.updateShare(share.shareId, data, success, error));\n },\n\n getShareSettingsInitialValues(share: Share, interactive: Interactive | null) {\n const defaults = {\n preventSkipping: interactive?.preventScrubbing || false,\n instantFeedback: interactive?.immediateFeedback || false\n };\n\n const ShareOptionKeyMapping: {[key in ShareOption]: keyof typeof defaults} = {\n [ShareOption.InstantFeedback]: 'instantFeedback',\n [ShareOption.PreventSkipping]: 'preventSkipping'\n };\n\n return share.options.reduce((prev, curr) => {\n if (!Object.keys(ShareOptionKeyMapping).includes(curr.option))\n return prev;\n\n if (curr.value === 'True')\n prev[ShareOptionKeyMapping[curr.option]] = true;\n else if (curr.value === 'False')\n prev[ShareOptionKeyMapping[curr.option]] = false;\n\n return prev;\n }, defaults);\n }\n\n};","import React from 'react';\nimport { Dropdown } from 'react-bootstrap';\n\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { EmbedResolution } from 'libs/shared/utils/EmbedHelper';\n\nconst namespace = 'sharev2.embedSize';\n\ninterface EmbedSizeProps {\n autoplay: boolean;\n setAutoplay: (autoplay: boolean) => void;\n videoSize: EmbedResolution;\n setVideoSize: (videoSize: EmbedResolution) => void;\n videoSizes: EmbedResolution[];\n}\n\nexport function EmbedSize(props: EmbedSizeProps): React.ReactElement {\n const {\n autoplay,\n setAutoplay,\n videoSize,\n setVideoSize,\n videoSizes\n } = props;\n\n return (\n <div className='d-flex align-items-center'>\n {!!videoSizes.length &&\n <>\n <div className='me-1'>\n <Text namespace={namespace} phrase='videoSize' />\n </div>\n <div className='pe-3'>\n <Dropdown>\n <Dropdown.Toggle id='embed-resolution' variant='outline-dark'>\n {videoSize.label}\n </Dropdown.Toggle>\n\n <Dropdown.Menu>\n {videoSizes.map(size => (\n <Dropdown.Item\n key={`${size.width}x${size.height}`}\n onClick={() => setVideoSize(size)}\n >\n {size.label}\n </Dropdown.Item>\n ))}\n </Dropdown.Menu>\n </Dropdown>\n </div>\n </>\n }\n <div className='me-2'>\n <Text namespace={namespace} phrase='autoplay' />\n </div>\n <Checkbox id='autoplay-checkbox' checked={autoplay} onChange={() => setAutoplay(!autoplay)} />\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"embedHtmlInput\":\"lpm1A\",\"copyBtnContainer\":\"EE1mM\"};","import React from 'react';\nimport CopyToClipboard from 'react-copy-to-clipboard';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmbedSize } from 'libs/shared/apps/share-v2/components/embed-size/EmbedSize';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { SharableEntity, SharableEntityType } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { EmbedHelper, EmbedResolution } from 'libs/shared/utils/EmbedHelper';\n\nimport styles from './copy-embed.scss';\n\nconst namespace = 'sharev2.copyEmbed';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CopyEmbedProps {\n entity: SharableEntity;\n entityType: SharableEntityType;\n share: Share;\n liteUrl: string;\n entityId: string;\n onClickCancel: () => void;\n}\n\nexport function CopyEmbed(props: CopyEmbedProps): JSX.Element {\n const videoSizes = EmbedHelper.getEmbedResolutions();\n\n const [ autoplay, setAutoplay ] = React.useState(false);\n const [ copyBtnPhrase, setCopyBtnPhrase ] = React.useState<'copy' | 'copied'>('copy');\n const [ videoSize, setVideoSize ] = React.useState<EmbedResolution>(videoSizes.find(s => s.width === '100%'));\n \n function onCopy(): void {\n setCopyBtnPhrase('copied');\n setTimeout(() => setCopyBtnPhrase('copy'), 2000);\n\n // @TODO add analytics logging\n }\n\n const url = EmbedHelper.buildEmbedUrl({\n embedUrl: props.share.link.shortenedEmbedUrl,\n host: props.liteUrl,\n shareId: props.share.shareId,\n autoplay\n });\n\n const embedString = EmbedHelper.getEmbedString({\n url,\n size: videoSize\n });\n \n return (\n <>\n <div className='mb-3'>\n <LanguageNamespaceContext.Provider value={namespace}>\n <label><Text namespace={namespace} phrase='label' /></label>\n <div className='position-relative mb-3'>\n <textarea\n className={`form-control rounded w-100 h-100 ${styles.embedHtmlInput}`}\n spellCheck={false}\n value={embedString}\n rows={7}\n readOnly\n />\n <CopyToClipboard onCopy={onCopy} text={embedString}>\n <button className={`btn btn-outline-dark border border-secondary position-absolute bottom-0 end-0 ${styles.copyBtnContainer}`} type='button'>\n {getPhrase(copyBtnPhrase)}\n </button>\n </CopyToClipboard>\n </div>\n <EmbedSize\n autoplay={autoplay}\n setAutoplay={setAutoplay}\n videoSize={videoSize}\n setVideoSize={setVideoSize}\n videoSizes={videoSizes}\n />\n </LanguageNamespaceContext.Provider>\n </div>\n <PopupButtons align='start'>\n <PopupButtons.Cancel onClick={props.onClickCancel} text={getPhrase('back')} variant='link' />\n </PopupButtons>\n </>\n );\n}","export enum SharePrivacy {\n Public = 'Public',\n PinCode = 'PinCode',\n PasswordProtected = 'PasswordProtected',\n ProtectedOverrideRestriction = 'ProtectedOverrideRestriction',\n JustMySchoolOverrideRestriction = 'JustMySchoolOverrideRestriction',\n Protected = 'Protected',\n JustMySchool = 'JustMySchool',\n Direct = 'Direct'\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport type { SharePrivacyResponse } from 'libs/shared/apps/share-v2/interfaces/SharePrivacyResponse';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ShareLinkStatus } from 'libs/shared/enums/ShareLinkStatus';\nimport type { BaseObject, YearGroup } from 'libs/shared/interfaces';\nimport { RestrictionHelper } from 'libs/shared/utils/RestrictionHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nconst namespace = 'sharev2.utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface GetIconAndTextOptions {\n linkExpireDate: string;\n isPasswordProtected: boolean;\n privacy: SharePrivacy;\n status: ShareLinkStatus;\n entityTypeId: MasterType;\n hasStudentExp: boolean;\n entity: BaseObject;\n yearGroups: YearGroup[];\n}\n\ninterface GetPrivateIconAndTextOptions {\n privacy: SharePrivacy;\n entityTypeId: MasterType;\n hasStudentExp: boolean;\n entity: BaseObject;\n yearGroups: YearGroup[];\n}\n\n\nexport const ShareLinkHelper = {\n getPrivateIconAndText: (options: GetPrivateIconAndTextOptions) => {\n const { entityTypeId, privacy, hasStudentExp, entity, yearGroups } = options;\n \n if (entityTypeId === MasterType.Topic || entityTypeId === MasterType.Series)\n return { icon: cvSvgLibrary.VisibleOn, text: getPhrase(hasStudentExp ? 'justMySchoolTeachers' : 'justMySchoolDescription') };\n \n /**\n * This is mainly for typescript, privacy will be an array for playlists\n * but that is handled above\n */\n if (Array.isArray(privacy))\n return;\n \n switch (privacy) {\n case SharePrivacy.Public:\n return { icon: cvSvgLibrary.VisibleOn, text: getPhrase('publicDescription') };\n case SharePrivacy.ProtectedOverrideRestriction:\n return { icon: cvSvgLibrary.VisibleOn, text: getPhrase('clickViewOnly') };\n case SharePrivacy.Protected:\n return {\n icon: cvSvgLibrary.Lock,\n text: ShareLinkHelper.getRespectRatingText(entity, yearGroups, hasStudentExp)\n };\n case SharePrivacy.JustMySchoolOverrideRestriction:\n return { icon: cvSvgLibrary.Lock, text: getPhrase(hasStudentExp ? 'justMySchoolTeachers' : 'justMySchoolDescription') };\n case SharePrivacy.JustMySchool:\n return {\n icon: cvSvgLibrary.Lock,\n text: ShareLinkHelper.getRespectRatingText(entity, yearGroups, hasStudentExp)\n };\n case SharePrivacy.PinCode:\n return { icon: cvSvgLibrary.Lock, text: getPhrase('pinDescription') };\n case SharePrivacy.PasswordProtected:\n return { icon: cvSvgLibrary.Lock, text: getPhrase('privateDescription') };\n default:\n return {};\n }\n },\n\n getIconAndText: (options: GetIconAndTextOptions) => {\n const { linkExpireDate, isPasswordProtected, status } = options;\n if (!linkExpireDate && !isPasswordProtected)\n return ShareLinkHelper.getPrivateIconAndText(options);\n \n if (!linkExpireDate)\n return { icon: cvSvgLibrary.Lock, text: getPhrase('password') };\n \n const isToday = DateHelper.isToday(linkExpireDate);\n const dayDifference = DateHelper.diffBetween(linkExpireDate, new Date(), 'day');\n \n if (!isPasswordProtected) {\n let text = isToday\n ? getPhrase('expiryToday')\n : getPhrase('expiry', { days: dayDifference });\n \n if (status === ShareLinkStatus.Expired)\n text = getPhrase('expired');\n \n return { icon: cvSvgLibrary.Timer, text };\n }\n \n let text = isToday\n ? getPhrase('passwordExpiryToday')\n : getPhrase('passwordExpiry', { days: dayDifference });\n \n if (status === ShareLinkStatus.Expired)\n text = getPhrase('passwordExpired');\n \n return { icon: cvSvgLibrary.Lock, text };\n },\n\n getRespectRatingText(video: BaseObject, yearGroups: YearGroup[], hasStudentExp: boolean) {\n if (!video || !yearGroups)\n return null;\n \n if (hasStudentExp)\n return getPhrase('justMySchoolTeachers');\n \n if (!VideoHelper.isVideoType(video))\n return getPhrase('collectionRating');\n \n const restriction = RestrictionHelper.getWeightedRestriction(video._restrictions?.value);\n \n /**\n * Restrictions without a year level are teacher restricitons, which means only admins can see it.\n */\n if (restriction && !restriction.yearGroup)\n return getPhrase('onlyAdmins');\n \n const rating = VideoHelper.getRating(video);\n \n let maxYearGroup: YearGroup;\n let minAllowedYearGroup: YearGroup;\n \n for (const yearGroup of yearGroups) {\n /**\n * If our year level is our new highest so far, save it\n */\n if (!maxYearGroup || yearGroup.value > maxYearGroup.value)\n maxYearGroup = yearGroup;\n \n /**\n * If the restriction is higher than this year level, skip it.\n */\n if (restriction && yearGroup.value <= restriction.yearGroup)\n continue;\n \n /**\n * If therating is higher than this year level's rating value, skip it.\n */\n if (rating && yearGroup.rating.value < rating.value)\n continue;\n \n /**\n * If our year level is the new lowest so far, save it\n */\n if (!minAllowedYearGroup || yearGroup.value < minAllowedYearGroup.value)\n minAllowedYearGroup = yearGroup;\n }\n \n /**\n * If no year levels are allowed, then it's staff only.\n */\n if (!minAllowedYearGroup)\n return getPhrase('onlyStaff');\n \n \n /**\n * If there's only one year level, and it's allowed, then we can just\n * say that everyone in your school can access it.\n */\n if (yearGroups.length === 1)\n return getPhrase('clickViewOnly');\n \n /**\n * We differentiate the copy if it's the highest year level or not. \n * Basically if we need to say \"X and above\" or not.\n */\n if (minAllowedYearGroup.value === maxYearGroup.value)\n return getPhrase('maxYearGroup', { yearGroup: maxYearGroup.name });\n \n return getPhrase('yearGroupRange', { yearGroup: minAllowedYearGroup.name });\n },\n\n getShareLinkAccessType(privacy: SharePrivacyResponse): 'private' | 'clickview' | 'tv' {\n /**\n * If an entity is not a ClickView content and they cannot manage access\n * settings of the entity (which they can if its their private entity)\n * it means that its a TV content\n */\n if (privacy.isTvContent)\n return 'tv';\n \n if (privacy.isClickViewContent)\n return 'clickview';\n\n /**\n * Remove this check once we have `isTvContent` changes in staging\n */\n if (privacy.canManageAccess)\n return 'private';\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"active\":\"NV2KW\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport { type SharePrivacyResponse } from 'libs/shared/apps/share-v2/interfaces/SharePrivacyResponse';\nimport { ShareLinkHelper } from 'libs/shared/apps/share-v2/utils/ShareLinkHelper';\nimport { type SharableEntity } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport type { YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './share-link-privacy.scss';\n\nconst namespace = 'sharev2.shareLinkPrivacy';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface SharePrivacyItemProps {\n active: boolean;\n title: string;\n description: string;\n onClick: () => void\n}\n\nfunction SharePrivacyItem(props: SharePrivacyItemProps) {\n const { active, title, description, onClick } = props;\n\n return (\n <button\n className={`${active ? styles.active : ''} dropdown-item d-flex align-items-center justify-content-between py-2`}\n onClick={!active ? onClick : null}\n >\n <div className='me-4'>\n <p className='font-label mb-1'>{title}</p>\n <p className='font-size-sm mb-0'>{description}</p>\n </div>\n {active && <SvgContainer svgName={cvSvgLibrary.Check} />}\n </button>\n );\n}\n\ninterface ShareLinkPrivacyProps {\n hasStudentExp: boolean;\n shareOverrideRestrictions: boolean;\n entity: SharableEntity;\n entityTypeId: MasterType;\n yearGroups: YearGroup[];\n privacy: SharePrivacy;\n entityPrivacy: SharePrivacyResponse;\n onClickSavePrivacy: (privacy: SharePrivacy) => void;\n}\n\nexport function ShareLinkPrivacy(props: ShareLinkPrivacyProps): JSX.Element {\n const canUpdatePrivacy = props.shareOverrideRestrictions && !props.hasStudentExp;\n\n const accessType = ShareLinkHelper.getShareLinkAccessType(props.entityPrivacy);\n\n const { icon, text } = ShareLinkHelper.getPrivateIconAndText({\n privacy: props.privacy,\n entityTypeId: props.entityTypeId,\n hasStudentExp: props.hasStudentExp,\n entity: props.entity,\n yearGroups: props.yearGroups\n });\n\n const respectRatingText = ShareLinkHelper.getRespectRatingText(props.entity, props.yearGroups, props.hasStudentExp);\n\n const respectRatingPrivacy: SharePrivacy = accessType === 'private' ?\n SharePrivacy.JustMySchool : SharePrivacy.Protected;\n const justMySchoolPrivacy: SharePrivacy = accessType === 'private' ?\n SharePrivacy.JustMySchoolOverrideRestriction : SharePrivacy.ProtectedOverrideRestriction;\n\n if (!canUpdatePrivacy) {\n return (\n <div className='d-flex align-items-center'>\n <SvgContainer svgName={icon} className='svg-container me-1' />\n <span>{text}</span>\n </div>\n );\n }\n \n return (\n <div className='btn-group'>\n <button\n className={`btn border-0 info-link dropdown-toggle p-1 bg-light-blue-hover`}\n data-bs-toggle='dropdown'\n >\n <SvgContainer svgName={icon} className='svg-container me-1' />\n <span className='me-1'>{text}</span>\n </button>\n <ul className='dropdown-menu cursor-pointer'>\n <li>\n <SharePrivacyItem\n active={props.privacy === justMySchoolPrivacy}\n title={getPhrase('justMySchool')}\n description={accessType === 'private' ? getPhrase('justMySchoolDescription') : getPhrase('clickViewOnly')}\n onClick={() => props.onClickSavePrivacy(justMySchoolPrivacy)}\n />\n </li>\n <li>\n <SharePrivacyItem\n active={props.privacy === respectRatingPrivacy}\n title={getPhrase('respectRatings')}\n description={respectRatingText}\n onClick={() => props.onClickSavePrivacy(respectRatingPrivacy)}\n />\n </li>\n {/* <li>\n <SharePrivacyItem\n active={props.privacy === SharePrivacy.PinCode}\n title={getPhrase('pinCode')}\n description={getPhrase('pinCodeDescription')}\n onClick={() => props.onClickSavePrivacy(SharePrivacy.PinCode)}\n />\n </li> */}\n {accessType === 'private' &&\n <li>\n <SharePrivacyItem\n active={props.privacy === SharePrivacy.Public}\n title={getPhrase('public')}\n description={getPhrase('publicDescription')}\n onClick={() => props.onClickSavePrivacy(SharePrivacy.Public)}\n />\n </li>\n }\n </ul>\n </div>\n );\n}","export enum ShareType {\n Link = 'Link',\n Classroom = 'Classroom',\n Open = 'Open',\n Live = 'Live'\n}","import React from 'react';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EventVersion, ShareDescriptors, UserAction } from 'libs/analytics/interfaces';\n\nimport { ShareLinkPrivacy } from 'libs/shared/apps/share-v2/components/share-link-privacy/ShareLinkPrivacy';\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport type { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport type { SharePrivacyResponse } from 'libs/shared/apps/share-v2/interfaces/SharePrivacyResponse';\nimport { type SharableEntity, SharableEntityType, ShareViewHelper } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { CopyInput } from 'libs/shared/components/copy-input/CopyInput';\nimport type { YearGroup } from 'libs/shared/interfaces';\n\ninterface SharePermanentLinkProps {\n share: Share;\n entityType: SharableEntityType;\n hasStudentExp: boolean;\n shareOverrideRestrictions: boolean;\n entity: SharableEntity;\n yearGroups: YearGroup[];\n privacy: SharePrivacyResponse;\n onClickSavePrivacy: (privacy: SharePrivacy) => void;\n}\n\nexport function SharePermanentLink(props: SharePermanentLinkProps): JSX.Element {\n const [ logged, setLogged ] = React.useState(false);\n \n function onCopy() {\n if (logged)\n return;\n\n setLogged(true);\n \n AnalyticsHelper.logUserAction({\n id: props.entity.id,\n name: props.entity.name\n }, AnalyticsHelper.mergeOptions(ShareViewHelper.getAnalyticsOptions(props.entityType), {\n actionType: UserAction.Share,\n descriptor: ShareDescriptors.CopyLink,\n eventVersion: EventVersion.V3\n }));\n }\n\n return (\n <div className='d-flex justify-content-start align-items-start flex-column gap-2'>\n {props.share.type === ShareType.Link && (\n <ShareLinkPrivacy\n privacy={props.share.privacy}\n entityPrivacy={props.privacy}\n entityTypeId={props.entity.typeId}\n entity={props.entity}\n yearGroups={props.yearGroups}\n \n hasStudentExp={props.hasStudentExp}\n shareOverrideRestrictions={props.shareOverrideRestrictions}\n onClickSavePrivacy={props.onClickSavePrivacy}\n />\n )}\n <CopyInput value={props.share.link.shortenedUrl} onCopy={onCopy} />\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"hoverBackground\":\"okJLU\"};","import React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\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\nimport styles from './get-embed-code.scss';\n\nconst namespace = 'sharev2.getEmbedCode';\n\ninterface GetEmbedCodeProps {\n onClickGetEmbedCode: () => void\n}\n\nexport function GetEmbedCode(props: GetEmbedCodeProps) {\n return (\n <DivButton\n onClick={props.onClickGetEmbedCode}\n className={`d-inline-block p-1 pe-2 rounded-1 ${styles.hoverBackground}`}\n >\n <div className='d-flex align-items-center'>\n <div className='me-2'>\n <SvgContainer svgName={cvSvgLibrary.Code} size={SvgContainerSize.Standard} />\n </div>\n <Text namespace={namespace} phrase='getEmbedCode' />\n </div>\n </DivButton>\n );\n}","import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Core } from 'libs/common/core';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'sharev2.lookingForIntegration';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\ninterface LookingForIntegrationProps {\n appLink: Core.AppLink;\n backToName?: string;\n closePopup?: () => void;\n}\n\ninterface LookingForIntegrationViewModel {\n show: boolean;\n}\n\nexport function LookingForIntegration(props: LookingForIntegrationProps): JSX.Element {\n const [ visibility, setVisibility ] = useViewModel<LookingForIntegrationViewModel>(\n SharedViewModelKeys.LOOKING_FOR_INTEGRATION,\n { show: true },\n { storage: StorageType.LocalStorage }\n );\n\n if (!visibility.show)\n return <></>;\n\n return (\n <div className={`d-flex justify-content-between rounded p-2 bg-light-blue`}>\n <AppLink\n appLink={props.appLink}\n onClick={() => props.closePopup?.()}\n className='d-inline-flex align-items-center mb-0'\n >\n <span className='ms-1 font-label text-info'>\n <Text namespace={namespace} phrase='lookingForIntegration' />\n </span>\n </AppLink>\n <button onClick={() => setVisibility({ show: false })} aria-label={`${getPhrase('ariaClose')}`}>\n <SvgContainer\n svgName={cvSvgLibrary.Close}\n size={SvgContainerSize.Small}\n className='text-info d-inline-block svg-container'\n />\n </button>\n </div>\n );\n}","import React from 'react';\n\nimport { useScript } from 'libs/shared/hooks/useScript';\n\nconst GOOGLE_CLASSROOM_CONTAINER_ID = 'g-share-to-classroom';\n\nexport function useGoogleClassrooms(shouldLoad: boolean): string {\n /**\n * Google sdk reads the config off the window.\n */\n if (shouldLoad)\n (window as any).___gcfg = { parsetags: 'explicit' };\n\n const loaded = useScript('https://apis.google.com/js/platform.js', shouldLoad);\n\n React.useEffect(() => {\n if (!shouldLoad || !loaded)\n return;\n\n window.gapi?.sharetoclassroom?.go(GOOGLE_CLASSROOM_CONTAINER_ID);\n }, [ shouldLoad, loaded ]);\n\n return GOOGLE_CLASSROOM_CONTAINER_ID;\n}","// extracted by mini-css-extract-plugin\nexport default {\"hoverable\":\"ARIeV\",\"msTeamsContainer\":\"eFMEH\",\"avatar\":\"yBYuA\"};","import React from 'react';\n\nimport { AppLink } from 'libs/common/backbone/core';\n\nimport { useGoogleClassrooms } from 'libs/shared/apps/share-v2/views/share/components/share-integrations/useGoogleClassrooms';\nimport { useMicrosoftTeamsShare } from 'libs/shared/apps/share-v2/views/share/components/share-integrations/useMicrosoftTeamsShare';\nimport { IntegrationId } from 'libs/shared/enums/IntegrationId';\n\nimport styles from './share-integrations.scss';\n\nconst DEFAULT_ICON_SIZE = '32';\n\ninterface ShareIntegrationsProps {\n integrations: IntegrationId[];\n url: string;\n appLink?: AppLink;\n iconSize?: 'sm' | 'md';\n closePopup?: () => void;\n}\n\nexport function ShareIntegrations(props: ShareIntegrationsProps): JSX.Element {\n const googleContainerId = useGoogleClassrooms(props.integrations?.includes(IntegrationId.GoogleClassroom));\n useMicrosoftTeamsShare(props.integrations?.includes(IntegrationId.MicrosoftTeams));\n\n if (!props.integrations.length)\n return null;\n\n function getIconSize() {\n switch (props.iconSize) {\n case 'sm': return '24';\n case 'md':\n default: return DEFAULT_ICON_SIZE;\n }\n }\n\n const iconSize = getIconSize();\n const integrationsContainerStyle = { height: `${iconSize}px`, width: `${iconSize}px` };\n\n return (\n <div className='d-flex gap-1 align-items-start'>\n {props.integrations.includes(IntegrationId.GoogleClassroom) &&\n <div\n id={googleContainerId}\n className={`rounded partial-loading-background`}\n style={integrationsContainerStyle}\n >\n <div\n className='g-sharetoclassroom'\n data-size={iconSize}\n data-url={props.url}\n />\n </div>\n }\n {props.integrations.includes(IntegrationId.MicrosoftTeams) &&\n <div className={`rounded overflow-hidden ${styles.hoverable}`}>\n <div\n className={`teams-share-button ${styles.msTeamsContainer}`}\n style={integrationsContainerStyle}\n data-href={props.url}\n data-button-type='smallTransWhite'\n data-preview='false'\n data-icon-px-size={iconSize}\n />\n </div>\n }\n </div>\n );\n}\n","import React from 'react';\n\nimport { useScript } from 'libs/shared/hooks/useScript';\n\nexport function useMicrosoftTeamsShare(shouldLoad: boolean): void {\n const loaded = useScript('https://teams.microsoft.com/share/launcher.js', shouldLoad);\n\n React.useEffect(() => {\n if (!shouldLoad || !loaded)\n return;\n\n window.shareToMicrosoftTeams?.renderButtons();\n }, [ shouldLoad, loaded ]);\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { GetEmbedCode } from 'libs/shared/apps/share-v2/components/get-embed-code/GetEmbedCode';\nimport { LookingForIntegration } from 'libs/shared/apps/share-v2/components/looking-for-integration/LookingForIntegration';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { IntegrationId } from 'libs/shared/enums/IntegrationId';\n\nimport { ShareIntegrations } from '../share-integrations/ShareIntegrations';\n\ninterface SharePermanentLinkEmbedProps {\n share: Share;\n canEmbed: boolean;\n enableIntegrationBanner: boolean;\n integrations: IntegrationId[];\n hasManageIntegrationsPermission: boolean;\n integrationSettingAppLink?: Core.AppLink;\n messagePopupAppLink?: Core.AppLink;\n\n onClickGetEmbedCode: () => void;\n closePopup: () => void;\n}\n\nexport function SharePermanentLinkEmbed(props: SharePermanentLinkEmbedProps): JSX.Element {\n const appLink = props.hasManageIntegrationsPermission\n ? props.integrationSettingAppLink\n : props.messagePopupAppLink;\n\n const hasIntegrations = !!props.integrations.length;\n \n return (\n <div className='d-flex flex-column gap-2 justify-content-between'>\n {props.enableIntegrationBanner && !hasIntegrations &&\n <LookingForIntegration\n appLink={appLink}\n closePopup={props.closePopup}\n />\n }\n \n <div className='d-flex flex-row justify-content-between'>\n {props.canEmbed &&\n <GetEmbedCode onClickGetEmbedCode={props.onClickGetEmbedCode} />\n }\n {props.enableIntegrationBanner && hasIntegrations &&\n <ShareIntegrations\n integrations={props.integrations}\n url={props.share.link.shortenedUrl}\n closePopup={props.closePopup}\n appLink={appLink}\n />\n }\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"hoverBackground\":\"l3eJu\"};","import React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\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\nimport styles from './share-permanent-link-setting.scss';\n\nconst namespace = 'sharev2.sharePermanentLinkSetting';\n\ninterface SharePermanentLinkSettingProps {\n manageShareLinkSettings: boolean;\n \n onClickEditSettings: () => void;\n}\n\nexport function SharePermanentLinkSetting(props: SharePermanentLinkSettingProps): JSX.Element {\n if (!props.manageShareLinkSettings)\n return null;\n \n return (\n <div className='d-flex flex-row justify-content-between align-items-center'>\n <DivButton\n onClick={props.onClickEditSettings}\n className={`d-inline-block p-1 pe-2 rounded-1 ${styles.hoverBackground}`}\n >\n <div className='d-flex align-items-center'>\n <div className='me-2'>\n <SvgContainer svgName={cvSvgLibrary.Cog} size={SvgContainerSize.Standard} />\n </div>\n <Text namespace={namespace} phrase='editSettings' />\n </div>\n </DivButton>\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport type { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport type { SharePrivacyResponse } from 'libs/shared/apps/share-v2/interfaces/SharePrivacyResponse';\nimport { type SharableEntity, type SharableEntityType } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { SharePermanentLink } from 'libs/shared/apps/share-v2/views/share/components/share-permanent-link/SharePermanentLink';\nimport { SharePermanentLinkEmbed } from 'libs/shared/apps/share-v2/views/share/components/share-permanent-link-embed/SharePermanentLinkEmbed';\nimport { SharePermanentLinkSetting } from 'libs/shared/apps/share-v2/views/share/components/share-permanent-link-setting/SharePermanentLinkSetting';\nimport { IntegrationId } from 'libs/shared/enums/IntegrationId';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport type { YearGroup } from 'libs/shared/interfaces';\n\ninterface MainShareProps {\n share: Share;\n integrations: IntegrationId[];\n entity: SharableEntity;\n entityType: SharableEntityType;\n yearGroups: YearGroup[];\n privacy: SharePrivacyResponse;\n \n canEmbed: boolean;\n canAddPolicies: boolean;\n enableIntegrationBanner: boolean;\n shareOverrideRestrictions: boolean;\n\n integrationSettingAppLink?: Core.AppLink;\n messagePopupAppLink?: Core.AppLink;\n\n closePopup: () => void;\n onClickEditSettings: () => void;\n onClickGetEmbedCode: () => void;\n onClickSavePrivacy: (privacy: SharePrivacy) => void;\n}\n\nexport function MainShare(props: MainShareProps): JSX.Element {\n const { hasPermissions } = usePermissions();\n \n const showLinkEmbedOptions = props.canEmbed\n || (props.enableIntegrationBanner && !!props.integrations.length);\n const hasManageIntegrationsPermission = hasPermissions(PermissionName.ManageIntegrations);\n\n return (\n <div className='d-flex flex-column gap-2'>\n <SharePermanentLink\n share={props.share}\n entity={props.entity}\n entityType={props.entityType}\n yearGroups={props.yearGroups}\n privacy={props.privacy}\n shareOverrideRestrictions={props.shareOverrideRestrictions}\n hasStudentExp={hasPermissions(PermissionName.StudentExperience)}\n onClickSavePrivacy={props.onClickSavePrivacy}\n />\n {props.share && showLinkEmbedOptions && (\n <SharePermanentLinkEmbed\n share={props.share}\n canEmbed={props.canEmbed}\n integrations={props.integrations}\n hasManageIntegrationsPermission={hasManageIntegrationsPermission}\n enableIntegrationBanner={props.enableIntegrationBanner}\n messagePopupAppLink={props.messagePopupAppLink}\n integrationSettingAppLink={props.integrationSettingAppLink}\n onClickGetEmbedCode={props.onClickGetEmbedCode}\n closePopup={props.closePopup}\n />\n )}\n {props.share && props.canAddPolicies &&\n <SharePermanentLinkSetting\n manageShareLinkSettings={hasPermissions(PermissionName.ManageShareLinkSettings)}\n onClickEditSettings={props.onClickEditSettings}\n />\n }\n </div>\n );\n}","import React from 'react';\nimport { useFormikContext } from 'formik';\n\nimport { ShareSettingsFormFields } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ToggleSwitch } from 'libs/shared/components/toggle-switch/ToggleSwitch';\n\nconst namespace = 'sharev2.instantFeedbackField';\n\nexport function InstantFeedbackField(): JSX.Element {\n const formikProps = useFormikContext<ShareSettingsFormFields>();\n\n function setInstantFeedbackField(): void {\n formikProps.setFieldValue('instantFeedback', !formikProps.values.instantFeedback);\n formikProps.submitForm();\n }\n\n return (\n <div className='d-flex justify-content-between align-items-start'>\n <div>\n <label className='m-0' htmlFor=''><Text namespace={namespace} phrase='heading' /></label>\n <p className='m-0 text-secondary'><Text namespace={namespace} phrase='info' /></p>\n </div>\n <div>\n <ToggleSwitch\n onClick={setInstantFeedbackField}\n on={!!formikProps.values.instantFeedback}\n />\n </div>\n </div>\n );\n}\n","import React from 'react';\nimport { useFormikContext } from 'formik';\n\nimport { ShareSettingsFormFields } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ToggleSwitch } from 'libs/shared/components/toggle-switch/ToggleSwitch';\n\nconst namespace = 'sharev2.preventSkippingField';\n\nexport function PreventSkippingField(): JSX.Element {\n const formikProps = useFormikContext<ShareSettingsFormFields>();\n\n function setPreventSkippingField(): void {\n formikProps.setFieldValue('preventSkipping', !formikProps.values.preventSkipping);\n formikProps.submitForm();\n }\n\n return (\n <div className='d-flex justify-content-between align-items-start'>\n <div>\n <label className='m-0' htmlFor=''><Text namespace={namespace} phrase='heading' /></label>\n <p className='m-0 text-secondary'><Text namespace={namespace} phrase='info' /></p>\n </div>\n <div>\n <ToggleSwitch\n onClick={setPreventSkippingField}\n on={!!formikProps.values.preventSkipping}\n />\n </div>\n </div>\n );\n}","import { boolean, object } from 'yup';\n\nexport const ShareSettingsFormValidationSchema = object().shape({\n preventSkipping: boolean(),\n instantFeedback: boolean()\n});","import React from 'react';\nimport { Form } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { InstantFeedbackField } from 'libs/shared/apps/share-v2/components/instant-feedback-field/InstantFeedbackField';\nimport { PreventSkippingField } from 'libs/shared/apps/share-v2/components/prevent-skipping-field/PreventSkippingField';\nimport type { UpdateShareRequest } from 'libs/shared/apps/share-v2/interfaces/UpdateShareRequest';\nimport { SharableEntityType, type ShareSettingsFormFields } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { ShareSettingsFormValidationSchema } from 'libs/shared/apps/share-v2/validation/ShareSettingsFormValidationSchema';\nimport { type FormSubmissionOptions, FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'sharev2.shareSettings';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ShareSettingsProps {\n initialValues: ShareSettingsFormFields;\n entityType: SharableEntityType;\n onClickSaveLink: (data: UpdateShareRequest, onError: () => void) => void;\n onClickCancel: () => void;\n}\n\ninterface ShareSettingsFormProps {\n hideInstantFeedback?: boolean;\n}\n\nfunction ShareSettingsForm(props: ShareSettingsFormProps): JSX.Element {\n return (\n <Form className='d-flex flex-column gap-2'>\n <h3 className='h6'>\n <Text namespace={namespace} phrase='heading' />\n </h3>\n <PreventSkippingField />\n {!props.hideInstantFeedback &&\n <InstantFeedbackField />\n }\n </Form>\n );\n}\n\nexport function ShareSettings(props: ShareSettingsProps): JSX.Element {\n function onSubmit(\n data: ShareSettingsFormFields,\n onDone: (options?: FormSubmissionOptions<ShareSettingsFormFields>) => void\n ): void {\n props.onClickSaveLink({\n options: {\n instantFeedback: data.instantFeedback,\n preventSkipping: data.preventSkipping\n }\n }, onDone);\n }\n \n return (\n <>\n <FormWrapper<ShareSettingsFormFields>\n initialValues={props.initialValues}\n onSubmit={onSubmit}\n castInitialValues={false}\n validationSchema={ShareSettingsFormValidationSchema}\n >\n <div className='d-flex flex-column gap-3'>\n <ShareSettingsForm\n hideInstantFeedback={props.entityType !== 'interactive'}\n />\n <PopupButtons align='start'>\n <PopupButtons.Cancel onClick={props.onClickCancel} text={getPhrase('back')} variant='link' />\n </PopupButtons>\n </div>\n </FormWrapper>\n </>\n );\n}","import React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { CopyEmbed } from 'libs/shared/apps/share-v2/components/copy-embed/CopyEmbed';\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport { ShareRequests } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport type { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport type { SharePrivacyResponse } from 'libs/shared/apps/share-v2/interfaces/SharePrivacyResponse';\nimport type { UpdateShareRequest } from 'libs/shared/apps/share-v2/interfaces/UpdateShareRequest';\nimport { type SharableEntityType, ShareViewHelper } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { MainShare } from 'libs/shared/apps/share-v2/views/share/components/main-share/MainShare';\nimport { ShareSettings } from 'libs/shared/apps/share-v2/views/share/components/share-settings/ShareSettings';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport type { Config, CurrentUser, Interactive, InteractiveMetadata, PopupViewProps, YearGroup } from 'libs/shared/interfaces';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\n\ntype ShareScreen = 'main' | 'link-settings' | 'copy-embed';\n\ninterface ShareViewProps extends PopupViewProps {\n entityId: string;\n entityType: SharableEntityType\n enableIntegrationBanner: boolean;\n integrationSettingAppLink?: Core.AppLink;\n messagePopupAppLink?: Core.AppLink;\n shareId?: string;\n}\n\nconst namespace = 'shared.sharev2';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function ShareView(props: ShareViewProps): JSX.Element {\n const dispatch = useDispatch();\n\n const alerts = useAlerts();\n const {\n shareToGoogleClassroom,\n shareToMicrosoftTeams,\n isLoadingSettings,\n shareOverrideRestrictions\n } = useSettings(null);\n \n const [ screen, setScreen ] = React.useState<ShareScreen>('main');\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const entity = ShareViewHelper.getFetchFunctionByType(props.entityType)(props.entityId, currentUser.data?.id);\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const share = Flight.useBasicFetch<Share>(props.shareId\n ? ShareRequests.getShare(props.shareId)\n : ShareRequests.getShareLinkByObjectId(props.entityId));\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n const privacy = Flight.useBasicFetch<SharePrivacyResponse>(ShareRequests.getPrivacy(props.entityId));\n /**\n * Fetch interactive videos options to set them as defaults\n * if the interactive share data does not have any options set\n */\n const interactive = Flight.useBasicFetch<Interactive>(\n MasterTypeHelper.isType<InteractiveMetadata>(entity.data, MasterType.Interactive) && entity.data.interactiveId &&\n InteractiveRequests.interactive(entity.data.interactiveId)\n );\n\n function onClickSaveLink(data: UpdateShareRequest, onError: () => void): void {\n ShareViewHelper.updateShareLink(\n dispatch,\n entity.data,\n props.entityType,\n share.data,\n data,\n alerts,\n null,\n onError\n );\n }\n\n function onClickSavePrivacy(privacy: SharePrivacy): void {\n Flight.fetch(\n dispatch,\n ShareRequests.updateShare(\n share.data.shareId,\n { privacy },\n () => alerts.success(getPhrase('privaciesSuccess', { name: entity.data.name, escapeText: true })),\n () => alerts.error(getPhrase('privaciesError', { name: entity.data.name, escapeText: true }))\n )\n );\n }\n\n const dataLoaded = !!share.data\n && !!config.data\n && !!entity.data\n && !!privacy.data\n && !!yearGroups\n && !isLoadingSettings;\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={props.closePopup}\n showLoadingSpinner={!dataLoaded}\n >\n {(() => {\n if (!dataLoaded) return null;\n \n switch (screen) {\n case 'main':\n return (\n <MainShare\n entityType={props.entityType}\n entity={entity.data}\n yearGroups={yearGroups.data}\n share={share.data}\n privacy={privacy.data}\n enableIntegrationBanner={props.enableIntegrationBanner}\n canEmbed={ShareViewHelper.canEmbed(props.entityType)}\n canAddPolicies={ShareViewHelper.canAddPolicies(props.entityType)}\n integrations={ShareViewHelper.getEnabledIntegrations(shareToGoogleClassroom, shareToMicrosoftTeams)}\n shareOverrideRestrictions={shareOverrideRestrictions}\n onClickEditSettings={() => setScreen('link-settings')}\n onClickGetEmbedCode={() => setScreen('copy-embed')}\n onClickSavePrivacy={onClickSavePrivacy}\n closePopup={props.closePopup}\n integrationSettingAppLink={props.integrationSettingAppLink}\n messagePopupAppLink={props.messagePopupAppLink}\n />\n );\n case 'link-settings':\n return (\n <ShareSettings\n initialValues={ShareViewHelper.getShareSettingsInitialValues(share.data, interactive.data)}\n entityType={props.entityType}\n onClickSaveLink={onClickSaveLink}\n onClickCancel={() => setScreen('main')}\n />\n );\n case 'copy-embed':\n return (\n <CopyEmbed\n entity={entity.data}\n entityId={props.entityId}\n entityType={props.entityType}\n share={share.data}\n liteUrl={config.data.liteUrl}\n onClickCancel={() => setScreen('main')}\n />\n );\n }\n })()}\n </Popup>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"normal\":\"Q1UGv\",\"copyBtn\":\"J3fBx\"};","import * as React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport styles from './copy-input.scss';\n\nconst namespace = 'shared.copyInput';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CopyInputProps {\n value: string;\n label?: string;\n // Greyed means the input will be greyed out. Normal means it will appear like a normal input\n styling?: 'greyed' | 'normal';\n onCopy?: () => void;\n copyText?: string;\n copiedText?: string;\n}\n\nCopyInput.defaultProps = {\n styling: 'normal'\n};\n\nexport function CopyInput(props: CopyInputProps): JSX.Element {\n const [ showCopiedText, setShowCopiedText ] = React.useState(false);\n\n function onCopy(e: React.MouseEvent): void {\n e.preventDefault();\n\n if (props.onCopy)\n props.onCopy();\n\n if (showCopiedText)\n return;\n\n setShowCopiedText(true);\n setTimeout(() => setShowCopiedText(false), 2000);\n }\n\n const input = (\n <div className='d-flex flex-row gap-2 position-relative w-100'>\n <input\n type='text'\n autoComplete='off'\n className={`form-control ${props.styling === 'normal' ? styles.normal : ''}`}\n spellCheck={false}\n value={props.value}\n readOnly\n />\n <CopyToClipboard text={props.value}>\n <button\n role={showCopiedText ? 'status' : ''}\n className={`btn btn-outline-dark border border-secondary py-0 text-nowrap`}\n onClick={onCopy}\n >\n {showCopiedText ?\n props.copiedText || getPhrase('copied') :\n props.copyText || getPhrase('copy')\n }\n </button>\n </CopyToClipboard>\n </div>\n );\n\n if (props.label) {\n return (\n <Form.Group className='form-group'>\n <Form.Label>{props.label}</Form.Label>\n {input}\n </Form.Group>\n );\n }\n\n return input;\n}\n","import * as React from 'react';\nimport { Formik, FormikConfig, FormikContextType, FormikErrors, FormikHelpers, FormikProps, FormikValues, useFormikContext } from 'formik';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\n/**\n * Note: This currently doesn't support arrays, but the need for arrays as initial\n * form data has not yet come up\n */\nfunction omitNullInitialValues<Values extends FormikValues>(initialValues: Values): Values {\n if (!initialValues)\n return {} as Values;\n\n const values = ObjectHelper.deepClone(initialValues);\n\n function omitChildValues(child: Values): void {\n Object.keys(values).forEach((key: keyof Values) => {\n if (!values.hasOwnProperty(key))\n return;\n \n if (ObjectHelper.isObject(child[key]))\n omitChildValues(child[key]);\n else if (values[key] === null)\n delete values[key];\n });\n }\n\n omitChildValues(values);\n return values;\n}\n\n// Omit attributes from FormikConfig that are defined in FormWrapperProps.\ntype ModifiedFormikConfig<Values extends FormikValues> = Omit<FormikConfig<Values>, 'initialValues' | 'onSubmit'>;\n\ninterface InitialStatus {\n allowInitialSubmit: boolean;\n}\n\nexport type FormSubmissionOptions<FormValues = FormikValues> = {\n reset?: boolean;\n errors?: FormikErrors<FormValues>;\n};\n\ninterface FormWrapperProps<FormValues extends FormikValues, ApiValues extends FormikValues> {\n initialValues: Partial<FormValues | ApiValues>;\n onSubmit: (data: FormValues, onDone: (options?: FormSubmissionOptions<FormValues>) => void) => void;\n castInitialValues?: boolean; // cast to validationSchema\n castValuesOnSubmit?: boolean; // cast to validationSchema\n allowInitialSubmit?: boolean; // if true, useCanSubmitForm will allow submit without any user changes.\n}\n\nFormWrapper.defaultProps = {\n castInitialValues: true,\n castValuesOnSubmit: true\n};\n\nexport function FormWrapper<\n FormValues extends FormikValues = FormikValues,\n ApiValues extends FormikValues = FormValues,\n ExtraProps = HashObject\n>(props: ModifiedFormikConfig<FormValues> & ExtraProps & FormWrapperProps<FormValues, ApiValues>): JSX.Element {\n const { castInitialValues, castValuesOnSubmit, initialValues, onSubmit, ...formikProps } = props;\n\n /**\n * If castInitialValues is true, cast initialValues to the validationSchema.\n * This will ensure that any data fetched from the api conforms to the expected form data shape.\n */\n const formattedInitialValues: FormValues = castInitialValues && props.validationSchema\n ? props.validationSchema.cast(omitNullInitialValues(initialValues))\n : initialValues;\n\n const onSubmitHandler = (\n values: FormValues,\n { setSubmitting, resetForm, setFieldError }: FormikHelpers<FormValues>\n ) => {\n /**\n * validationSchema.cast will coerce the values to the types defined in validationSchema.\n * This is useful for trimming inputs:\n * e.g. if a value field has type Yup.string().trim(), it will be automatically trimmed.\n */\n const formattedData = castValuesOnSubmit && props.validationSchema\n ? props.validationSchema.cast(values)\n : values;\n\n onSubmit(formattedData, (options: FormSubmissionOptions<FormValues> = {}) => {\n options.reset && resetForm();\n\n if (options.errors) {\n for (const [ key, value ] of Object.entries(options.errors)) {\n setFieldError(key, value);\n }\n }\n\n setSubmitting(false);\n });\n };\n\n const initialStatus: InitialStatus = {\n allowInitialSubmit: props.allowInitialSubmit\n };\n\n return (\n <Formik<FormValues, ExtraProps>\n enableReinitialize\n {...(formikProps as ModifiedFormikConfig<FormValues> & ExtraProps)}\n initialValues={formattedInitialValues}\n onSubmit={onSubmitHandler}\n initialStatus={initialStatus}\n >\n {FunctionHelper.isFunction(props.children)\n ? (f: FormikProps<FormValues>) => (props.children as (f: FormikProps<FormValues>) => React.ReactNode)(f)\n : React.Children.count(props.children) ? props.children : null\n }\n </Formik>\n );\n}\n\nexport function useFormikContextWrapper<T>(): FormikContextType<T> {\n return useFormikContext<T>();\n}","export enum IntegrationId {\n GoogleClassroom = 'google-classroom',\n MicrosoftTeams = 'microsoft-teams',\n Vivi = 'vivi',\n AppleTv = 'apply-tv'\n}","import React from 'react';\n\nimport { HashObject } from 'libs/analytics/interfaces';\n\n/**\n * We only need to load any script once.\n */\nconst loadedScripts: HashObject<boolean> = {};\n\nexport function useScript(src: string, shouldLoad: boolean): boolean {\n const [ loaded, setLoaded ] = React.useState(false);\n\n React.useEffect(() => {\n if (!src || !shouldLoad || loadedScripts[src])\n return;\n\n const script = document.createElement('script');\n\n script.src = src;\n script.async = true;\n script.onload = () => {\n loadedScripts[src] = true;\n /**\n * Onload event is fired before script content is parsed.\n * By calling set timeout, we ensure setLoaded is called after\n * the script is parsed in the event loop.\n */\n window.setTimeout(() => setLoaded(true), 0);\n };\n\n document.body.appendChild(script);\n\n return () => {\n script.onload = null;\n document.body.removeChild(script);\n };\n }, [ src, shouldLoad ]);\n\n return loadedScripts[src] || loaded;\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { IntegrationId } from 'libs/shared/enums/IntegrationId';\nimport { SettingName } from 'libs/shared/enums/SettingName';\nimport { Integration } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.shared-utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const IntegrationHelper = {\n getShareIntegrations(googleClassroomSetting: boolean, msftTeamsSetting: boolean): Integration[] {\n return [\n {\n id: IntegrationId.GoogleClassroom,\n name: getPhrase('googleClassroom'),\n enabled: googleClassroomSetting,\n settingName: SettingName.ShareToGoogleClassroom\n },\n {\n id: IntegrationId.MicrosoftTeams,\n name: getPhrase('msftTeams'),\n enabled: msftTeamsSetting,\n settingName: SettingName.ShareToMicrosoftTeams\n }\n ];\n }\n};\n","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n"],"names":["normalizeOptions","namespace","ShareRequests","createShare","data","success","error","always","url","key","type","invalidationKeys","updateShare","shareId","getShare","bootstrapName","getSentShares","params","Object","values","join","formatData","response","count","length","pagination","cursors","next","previous","cursor","normalize","getShareLinkByObjectId","id","objectId","getPrivacy","ShareOption","getPhrase","LanguageService","ShareViewHelper","canEmbed","includes","canAddPolicies","getEnabledIntegrations","googleClassroomSetting","msftTeamsSetting","IntegrationHelper","filter","i","enabled","map","getFetchFunctionByType","VideoRequests","PlaylistRequests","userId","ClassificationRequests","SeriesRequests","InteractiveRequests","ClipRequests","getAnalyticsEntity","entityType","getAnalyticsOptions","entity","location","workflowPhase","updateShareLink","dispatch","share","alerts","onSuccess","onError","updatedShare","AnalyticsHelper","objectName","name","actionType","eventVersion","escapeText","getShareSettingsInitialValues","interactive","defaults","preventSkipping","preventScrubbing","instantFeedback","immediateFeedback","ShareOptionKeyMapping","InstantFeedback","PreventSkipping","options","reduce","prev","curr","keys","option","value","EmbedSize","props","autoplay","setAutoplay","videoSize","setVideoSize","videoSizes","className","Text","phrase","Dropdown","variant","label","size","width","height","onClick","Checkbox","checked","onChange","CopyEmbed","EmbedHelper","copyBtnPhrase","setCopyBtnPhrase","find","s","embedUrl","link","shortenedEmbedUrl","host","liteUrl","embedString","spellCheck","rows","readOnly","onCopy","setTimeout","text","PopupButtons","align","onClickCancel","SharePrivacy","ShareLinkHelper","getPrivateIconAndText","entityTypeId","privacy","hasStudentExp","yearGroups","MasterType","icon","Array","isArray","Public","ProtectedOverrideRestriction","Protected","getRespectRatingText","JustMySchoolOverrideRestriction","JustMySchool","PinCode","PasswordProtected","getIconAndText","linkExpireDate","isPasswordProtected","status","isToday","DateHelper","dayDifference","Date","days","ShareLinkStatus","video","VideoHelper","restriction","RestrictionHelper","_restrictions","yearGroup","maxYearGroup","minAllowedYearGroup","rating","getShareLinkAccessType","isTvContent","isClickViewContent","canManageAccess","ShareType","SharePrivacyItem","active","title","description","SvgContainer","svgName","ShareLinkPrivacy","canUpdatePrivacy","shareOverrideRestrictions","accessType","entityPrivacy","respectRatingText","respectRatingPrivacy","justMySchoolPrivacy","onClickSavePrivacy","SharePermanentLink","logged","setLogged","Link","typeId","CopyInput","shortenedUrl","descriptor","GetEmbedCode","DivButton","onClickGetEmbedCode","S","LookingForIntegration","SharedViewModelKeys","show","storage","visibility","setVisibility","AppLink","appLink","closePopup","GOOGLE_CLASSROOM_CONTAINER_ID","DEFAULT_ICON_SIZE","ShareIntegrations","shouldLoad","loaded","googleContainerId","window","___gcfg","parsetags","useScript","gapi","sharetoclassroom","go","useGoogleClassrooms","integrations","IntegrationId","shareToMicrosoftTeams","renderButtons","iconSize","integrationsContainerStyle","style","SharePermanentLinkEmbed","hasManageIntegrationsPermission","integrationSettingAppLink","messagePopupAppLink","hasIntegrations","enableIntegrationBanner","SharePermanentLinkSetting","manageShareLinkSettings","onClickEditSettings","MainShare","hasPermissions","usePermissions","showLinkEmbedOptions","PermissionName","InstantFeedbackField","formikProps","htmlFor","ToggleSwitch","setFieldValue","submitForm","on","PreventSkippingField","ShareSettingsFormValidationSchema","shape","ShareSettingsForm","hideInstantFeedback","ShareSettings","FormWrapper","initialValues","onSubmit","onDone","onClickSaveLink","castInitialValues","validationSchema","ShareView","useSettings","shareToGoogleClassroom","isLoadingSettings","screen","setScreen","currentUser","UserRequests","entityId","config","ConfigRequests","isAuthenticated","CustomerRequests","customerId","MasterTypeHelper","interactiveId","dataLoaded","Popup","showLoadingSpinner","showCopiedText","setShowCopiedText","input","autoComplete","styling","CopyToClipboard","role","e","preventDefault","copiedText","copyText","Form","defaultProps","castValuesOnSubmit","formattedInitialValues","cast","omitChildValues","child","forEach","hasOwnProperty","omitNullInitialValues","initialStatus","allowInitialSubmit","enableReinitialize","setSubmitting","resetForm","setFieldError","formattedData","reset","errors","entries","children","f","useFormikContextWrapper","loadedScripts","src","setLoaded","script","document","createElement","async","onload","body","appendChild","removeChild","getShareIntegrations","settingName","deselectCurrent","clipboardToIE11Formatting","module","exports","debug","message","reselectPrevious","range","selection","mark","createRange","getSelection","textContent","ariaHidden","all","position","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","stopPropagation","format","clipboardData","console","warn","clearData","setData","selectNodeContents","addRange","execCommand","Error","err","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","_typeof","obj","Symbol","iterator","constructor","prototype","defineProperty","_react","_interopRequireDefault","_copyToClipboard","_excluded","__esModule","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","_defineProperties","configurable","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_assertThisInitialized","self","ReferenceError","_getPrototypeOf","getPrototypeOf","_React$PureComponent","subClass","superClass","TypeError","create","_inherits","Constructor","protoProps","Derived","hasNativeReflectConstruct","_super","Reflect","construct","sham","Proxy","Boolean","valueOf","call","_isNativeReflectConstruct","result","Super","NewTarget","this","_possibleConstructorReturn","_this","instance","_classCallCheck","_len","args","_key","concat","event","_this$props","elem","Children","only","_this$props2","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_objectWithoutProperties","cloneElement","PureComponent","undefined","rangeCount","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","focus"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[300],{38307:(e,t,a)=>{a.d(t,{c:()=>y,l:()=>p});var n=a(32735),r=a(232),i=a.n(r),c=a(8604),o=a(83345);const l={heatMap:"epapa",legend:"uhH4p"};function s(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 u="shared.engagementHeatMap",d="#f1f1f1",m=i().scale(["#daf07d","#08bd1a"]),f=[0,.01,.25,.5,.75,1];function g(e,t){return e?m(e/t).hex():d}function v(e,t){for(var a=[],n=0;n<e.length;n++){var r=n>0&&e[n-1],i=e[n],c=n<e.length-1&&e[n+1];i===r&&i===c||a.push("".concat(g(i,t)," ").concat(100/e.length*n,"%"))}return"linear-gradient(to right, ".concat(a.join(","),")")}function p(){var e=Math.max.apply(Math,f),t=100/f.length;return n.createElement("div",{className:"d-flex justify-content-between w-100"},n.createElement(o.x,{namespace:u,phrase:"less"}),n.createElement("div",{className:"d-flex mx-1 flex-grow-1 ".concat(l.legend)},f.map((function(a,r){return n.createElement("div",{key:r,style:{width:"".concat(t,"%"),backgroundColor:g(a,e)}})}))),n.createElement(o.x,{namespace:u,phrase:"more"}))}function y(e){var t,a,r,i=(0,c.O)(e.engagement),o=null!==(t=e.max)&&void 0!==t?t:Math.max.apply(Math,function(e){if(Array.isArray(e))return s(e)}(r=i)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,t){if(e){if("string"==typeof e)return s(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)?s(e,t):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());return n.createElement("div",{className:"border rounded ".concat(l.heatMap," ").concat(null!==(a=e.className)&&void 0!==a?a:""),style:{background:v(i,o)}})}},26136:(e,t,a)=>{a.d(t,{B2:()=>o,DV:()=>s,jP:()=>l});var n=a(76198),r=a(23481),i=a(64818),c=r.T.encloseNamespace("shared.analyticsUtils");function o(e,t){return e?t?(0,n._8)((a="sessionId"in e?e.sessionName:e.id,r=+"".concat(a).concat(Math.floor((new Date).getMinutes()/5)),{dictionaries:[n.O9,n.yd],separator:" ",length:2,style:"capital",seed:r})):"sessionId"in e?e.sessionName:i.l.getFullName(e):"";var a,r}function l(e,t){var a={sessionId:e,sessionName:c("anonymousUser")};return e&&t&&t[e]||a}function s(e,t){return e.user?e.user:l(e.sessionId,t)}},8604:(e,t,a)=>{function n(e){return new Array(Math.ceil(e.videoDuration)).fill(null).map((function(t,a){return e.heatMap[a]||0}))}a.d(t,{O:()=>n})},40782:(e,t,a)=>{a.d(t,{I:()=>n,O:()=>l});var n,r=a(32735),i=a(2606),c=a(362);function o(e){var t=r.useCallback((function(t){if(t){var a=t.r.baseVal.value,n=2*Math.PI*a,r=n-e.percentage*n;t.style.strokeDasharray="".concat(n," ").concat(n),t.style.strokeDashoffset=r.toString()}}),[e.percentage]);return r.createElement("svg",null,r.createElement("circle",{r:(0,i.pu)(e.size),className:c.Z.backgroundCircle}),!(0,i.zR)(e.percentage)&&r.createElement("circle",{ref:t,r:(0,i.pu)(e.size),className:(0,i.V4)(e.percentage,e.scoreThresholds)}))}function l(e){var t,a=(0,i.Ki)(e.percentage),l=e.size||(e.layout===n.LabelInside?i.Mk.Large:i.Mk.Small),s=e.customLabel||(0,i.DV)(a);return e.layout===n.LabelOnly?r.createElement("span",{className:(0,i.IA)(a)},s):r.createElement("div",{className:"d-flex align-items-center justify-content-between ".concat(null!==(t=e.className)&&void 0!==t?t:"")},e.layout===n.LabelBefore&&r.createElement("span",{className:"me-2"},s),r.createElement("div",{className:(0,i.tw)(l,a)},r.createElement(o,{percentage:a,size:l,scoreThresholds:e.scoreThresholds}),e.layout===n.LabelInside&&r.createElement("span",{className:c.Z.centredPercentageText},s)))}!function(e){e.CircleOnly="circle_only",e.LabelOnly="label_only",e.LabelBefore="label_before",e.LabelInside="label_inside"}(n||(n={})),l.defaultProps={layout:n.CircleOnly}},2606:(e,t,a)=>{a.d(t,{DV:()=>p,IA:()=>f,Ki:()=>v,Mk:()=>o,V4:()=>m,pu:()=>d,tw:()=>g,zR:()=>y});var n=a(94892),r=a(362);function i(e){return i="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},i(e)}function c(e,t,a){return(t=function(e){var t=function(e){if("object"!=i(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=i(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var o,l=.2,s=.36;!function(e){e.Small="small",e.Large="large",e.ExtraSmall="extraSmall"}(o||(o={}));var u=c(c(c({},o.ExtraSmall,{size:2}),o.Small,{size:2}),o.Large,{size:5.8});function d(e){var t=u[e].size,a=e===o.Large?s:l;return"".concat(t/2-2*a,"rem")}function m(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.i;return e>=t.HIGH?r.Z.circleSuccess:e>=t.MODERATE?r.Z.circleWarning:r.Z.circleDanger}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.i;return e>=t.HIGH?"text-success":e>=t.MODERATE?"text-warning":"text-danger"}function g(e,t){var a="d-inline-block ".concat(r.Z.circleContainer);return e===o.Large&&(a+=" ".concat(r.Z.lgCircleContainer)),e===o.ExtraSmall&&(a+=" ".concat(r.Z.xsCircleContainer)),y(t)&&(a+=" ".concat(r.Z.pendingCircle)),a}function v(e){if(!y(e))return+e.toFixed(2)}function p(e){return y(e)?"--%":"".concat(Math.round(100*e),"%")}function y(e){return"number"!=typeof e}},94892:(e,t,a)=>{a.d(t,{T:()=>r,i:()=>n});var n={HIGH:.75,MODERATE:.5},r={HIGH:.7,MODERATE:.7}},54405:(e,t,a)=>{a.d(t,{X:()=>n});var n={interactive:function(){return{url:"/mocks/insights/interactive.json",key:"demo:interactive",normalize:!1}},interactiveMetadata:function(){return{url:"/mocks/insights/interactive-metadata.json",key:"demo:interactive:metadata",normalize:!1}},interactiveResults:function(){return{url:"/mocks/insights/interactive-results.json",key:"demo:interactive:results",normalize:!1}},videoViews:function(){return{url:"/mocks/insights/video-views.json",key:"demo:video:views",normalize:!1}},users:function(){return{url:"/mocks/insights/users.json",key:"demo:users",normalize:!1}},individualHeatmap:function(){return{url:"/mocks/insights/individual-heatmap.json",key:"demo:individual:heatmap",normalize:!1}},aggregateHeatmap:function(){return{url:"/mocks/insights/aggregate-heatmap.json",key:"demo:aggregate:heatmap",normalize:!1}}}},93322:(e,t,a)=>{a.d(t,{F:()=>i});var n=a(32735),r=a(13126);function i(){n.useEffect((function(){return r.e.lockContentWidth(),function(){return r.e.unlockContentWidth()}}),[])}},18006:(e,t,a)=>{a.d(t,{c:()=>n,q:()=>r});var n="D8qRe7",r="GRWx6w"},44183:(e,t,a)=>{a.r(t),a.d(t,{InsightsHeatmapDemoView:()=>w});var n=a(32735),r=a(23481),i=a(2948),c=a(20354),o=a(26025),l=a(60051),s=a(39151),u=a(54405),d=a(47812),m=a(31949),f=a(93322),g=a(79612),v=a(86702),p=a(26203),y=a(35274),h=a(18006),b=a(10447);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 E=r.T.encloseNamespace("shared.insightsHeatmap");function w(){var e,t,a,r,w=(a=(0,i.D)(v.y.ANONYMISE_USERS),r=1,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,i,c,o=[],l=!0,s=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(n=i.call(a)).done)&&(o.push(n.value),o.length!==t);l=!0);}catch(e){s=!0,r=e}finally{try{if(!l&&null!=a.return&&(c=a.return(),Object(c)!==c))return}finally{if(s)throw r}}return o}}(a,r)||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}}(a,r)||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.")}())[0];(0,f.F)();var S=c.a.useBasicFetch(m.N.currentUser()),A=c.a.useBasicFetch(u.X.interactiveMetadata()),x=c.a.useBasicFetch(s.L.config()),M=o.B.getAudienceAppLinkParams(),C=o.B.getDateRangeAppLinkParams(),N=c.a.useBasicFetch(u.X.aggregateHeatmap()),j=c.a.useBasicFetch(u.X.individualHeatmap()),I=c.a.useBasicFetch(u.X.users()),L=c.a.useBasicFetch(u.X.videoViews()),D=c.a.useBasicFetch(A.data&&d.k.createViewKey(function(){var e;return(null===(e=x.data)||void 0===e?void 0:e.liteUrl.includes("staging"))?h.c:h.q}(),l.f.Share));(0,g.M)({title:A.data?E("pageTitle",{video:null===(e=A.data)||void 0===e?void 0:e.name}):null});var O=S.data&&L.data&&A.data&&N.data&&D.data,z=!!j.data,R=Object.assign(Object.assign({},M),C);return n.createElement("div",{className:"px-3"},n.createElement(p.j,{video:A.data,tabs:(0,b.aq)(null===(t=A.data)||void 0===t?void 0:t.id,"heatmap",R),dateRangeAppLinkParams:C,isDemo:!0}),n.createElement(y.w,{aggregateEngagement:N.data,individualEngagement:j.data,videoViews:L.data,config:x.data,users:I.data,viewKey:D.data,hasDataLoaded:!!O,tableDataLoaded:z,anonymiseUsers:w,audienceAppLinkParams:M,dateRangeAppLinkParams:C}))}},362:(e,t,a)=>{a.d(t,{Z:()=>n});const n={circleContainer:"p8Vgz",backgroundCircle:"asGGE",circleSuccess:"PXLNj",circleWarning:"ZckRN",circleDanger:"slBRg",lgCircleContainer:"N8KCI",xsCircleContainer:"RPqZ2",pendingCircle:"DKrcq",centredPercentageText:"tpmLR"}}}]);
|
|
2
|
+
//# sourceMappingURL=300-3d9f3cd4e3-lite.chunk.js.map
|