@clickview/lite 0.60.0-rc.1 → 0.60.0-rc.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/scripts/8988-863de3ae24-lite.chunk.js +2 -0
- package/dist/scripts/8988-863de3ae24-lite.chunk.js.map +1 -0
- package/dist/scripts/{bundle-5bd60218ec.min.js → bundle-6ac9fc9b87.min.js} +3 -3
- package/dist/scripts/bundle-6ac9fc9b87.min.js.map +1 -0
- package/package.json +1 -1
- package/dist/scripts/8988-f66e969430-lite.chunk.js +0 -2
- package/dist/scripts/8988-f66e969430-lite.chunk.js.map +0 -1
- package/dist/scripts/bundle-5bd60218ec.min.js.map +0 -1
- /package/dist/scripts/{bundle-5bd60218ec.min.js.LICENSE.txt → bundle-6ac9fc9b87.min.js.LICENSE.txt} +0 -0
package/dist/bundles.json
CHANGED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8988],{56187:(e,t,n)=>{n.r(t),n.d(t,{ShareView:()=>Ue});var r=n(32735),a=n(70680),i=n(23481),o=n(20354),c=n(30439),s=n(31250),l=n(59087),u=n(49985),m=n(65858),d=n(30357),p=n(64249),f=n(83345),h=n(26450);const y={embedHtmlInput:"mwvd0",copyBtnContainer:"myePx"};function g(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=[],s=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw a}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return v(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var A="share.copyEmbedHtml",b=i.T.encloseNamespace(A);function E(e){var t=h.i.getEmbedResolutions(),n=g(r.useState("copy"),2),a=n[0],i=n[1],o=g(r.useState(!1),2),c=o[0],s=o[1],v=g(r.useState(t.find((function(e){return"100%"===e.width}))),2),E=v[0],C=v[1],S=g(r.useState(!1),2),k=S[0],w=S[1],L=h.i.buildEmbedUrl({embedUrl:e.embedUrl,host:e.config.primaryUrl,shareId:e.shareId,autoplay:c}),N=h.i.getEmbedString({url:L,size:E});return r.createElement(f.D.Provider,{value:A},r.createElement("label",null,r.createElement(f.x,{namespace:A,phrase:"label"})),r.createElement("div",{className:"position-relative mb-3"},r.createElement("textarea",{className:"form-control rounded w-100 h-100 ".concat(y.embedHtmlInput),spellCheck:!1,value:N,rows:7,readOnly:!0}),r.createElement(l.CopyToClipboard,{onCopy:function(){i("copied"),setTimeout((function(){return i("copy")}),2e3),k||(w(!0),u.k.logUserAction(Object.assign(Object.assign({},e.entity),{embedDetails:{size:E,autoplay:c}}),u.k.mergeOptions(p.I.getAnalyticsOptions(e.entityType),{actionType:m.Vw.Share,descriptor:m.YM.CopyEmbedHtml,eventVersion:m.eq.V3})))},text:N},r.createElement("button",{className:"btn btn-outline-dark border border-secondary position-absolute bottom-0 end-0 ".concat(y.copyBtnContainer),type:"button"},b(a)))),r.createElement(d.V,{autoplay:c,setAutoplay:s,videoSize:E,setVideoSize:C,videoSizes:t}))}var C=n(11607),S=n(13876),k="shared.share";function w(e){return r.createElement(r.Fragment,null,r.createElement("div",{className:"mb-3"},r.createElement(E,{embedUrl:e.shareLink.embedUrl,entity:e.entity,entityType:e.entityType,config:e.config,entityId:e.entityId,shareId:e.shareLink.id,analyticsOptions:e.analyticsOptions})),r.createElement(S.u,null,r.createElement(C.L,{onClick:e.onClickCancel,className:"btn btn-outline-dark"},r.createElement(f.x,{namespace:k,phrase:"back"}))))}var L=n(80247),N=n(42648),I=n(97395),x=n(75896),O=n(1048),U=n(83914),B=n(35223);const P={hoverBackground:"ICTmv"};var j="share.getEmbedCode";function z(e){return r.createElement(C.L,{onClick:e.onClickGetEmbedCode,className:"d-inline-block p-1 pe-2 rounded-1 ".concat(P.hoverBackground)},r.createElement("div",{className:"d-flex align-items-center"},r.createElement("div",{className:"bg-dark text-white rounded-1 me-2"},r.createElement(U.x,{svgName:B.vn.Code,size:U.S.Large})),r.createElement(f.x,{namespace:j,phrase:"getEmbedCode"})))}var T=n(45852),F=n(7855),V=n(3185),D=n(36532);function M(){return r.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},r.createElement("circle",{cx:"12",cy:"12",r:"12",fill:"url(#pattern0)"}),r.createElement("defs",null,r.createElement("pattern",{id:"pattern0",patternContentUnits:"objectBoundingBox",width:"1",height:"1"},r.createElement("use",{xlinkHref:"#image0_3558_14996",transform:"scale(0.00520833)"})),r.createElement("image",{id:"image0_3558_14996",width:"192",height:"192",xlinkHref:"data:image/png;base64,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"})))}function R(){return r.createElement("svg",{viewBox:"0 0 40 40",fill:"none"},r.createElement("path",{d:"M29.692 15.31c.58 0 1.146-.173 1.628-.5a2.96 2.96 0 001.078-1.331 3.004 3.004 0 00-.634-3.235 2.918 2.918 0 00-1.5-.812 2.894 2.894 0 00-1.693.169 2.938 2.938 0 00-1.314 1.093 2.997 2.997 0 00.364 3.748 2.91 2.91 0 002.071.869zM20.043 26.267V13.849a.9.9 0 00-.259-.633.877.877 0 00-.624-.262H6.883a.877.877 0 00-.624.262.9.9 0 00-.259.633v12.418c0 .24.092.469.257.64.165.172.39.27.626.276H19.16a.899.899 0 00.626-.276.923.923 0 00.257-.64zm-3.51-10.389v1.92h-2.37v6.68H11.88V17.93H9.51v-2.182h7.022v.13z",fill:"#fff"}),r.createElement("path",{d:"M21.874 14.132v.917a4.03 4.03 0 002.05-1.47c.512-.699.79-1.545.793-2.415 0-1.1-.431-2.154-1.199-2.932a4.065 4.065 0 00-2.893-1.214 4.065 4.065 0 00-2.894 1.214 4.175 4.175 0 00-1.199 2.932h2.391a2.996 2.996 0 012.061.887c.55.552.868 1.297.89 2.081zM26.332 17.1h-4.458v8.883c0 .8-.309 1.566-.86 2.138-.552.57-1.302.9-2.091.917h-4.588a7.047 7.047 0 003.265 3.317c1.427.7 3.046.887 4.593.532a6.99 6.99 0 003.918-2.486 7.152 7.152 0 001.535-4.418v-7.551a1.348 1.348 0 00-.385-.942 1.313 1.313 0 00-.929-.39zM32.772 17.1h-3.597c.206.414.316.87.323 1.332v7.551a9.1 9.1 0 01-.516 2.859c.236.021.474.021.71 0a4.28 4.28 0 003.046-1.278A4.394 4.394 0 0034 24.477v-6.045c0-.339-.126-.665-.354-.912a1.307 1.307 0 00-.874-.42z",fill:"#fff"}))}var H=n(50030),G="share.shareIntegrations";function X(){var e="".concat(H.Z.avatar," border border-light rounded-circle overflow-hidden");return r.createElement(D.u,{title:i.T.getPhrase(G,"shareThroughIntegrations"),spanHack:!0},r.createElement("ul",{className:"list-unstyled d-flex mb-0"},r.createElement("li",{className:e,style:{zIndex:1}},r.createElement(M,null)),r.createElement("li",{className:"".concat(e," ").concat(H.Z.msTeamsContainer),style:{zIndex:0}},r.createElement(R,null))))}var Z=n(66903);function W(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 q="share.shareAsLink";function Y(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=[],s=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw a}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return W(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)?W(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(r.Fragment,null,r.createElement("div",{className:"d-flex justify-content-between align-items-center"},r.createElement("div",{className:"".concat(e.shareLink?"w-100":"w-75 d-flex align-items-center")},e.shareLink?r.createElement(r.Fragment,null,r.createElement("div",{className:"d-flex justify-content-between align-items-center mb-1"},r.createElement(V.s,{linkExpireDate:e.shareLink.linkExpireDate,isPasswordProtected:e.shareLink.isPasswordProtected,privacy:e.privacy,entityTypeId:e.shareLink.objectTypeId,status:e.shareLink.status,onClickSavePrivacy:e.onClickSavePrivacy,hasStudentExp:e.hasStudentExp,entity:e.entity,yearGroups:e.yearGroups,shareOverrideRestrictions:e.shareOverrideRestrictions})),r.createElement(Z.k,{value:e.shareLink.url,onCopy:function(){i||(o(!0),u.k.logUserAction({id:e.entity.id,name:e.entity.name},u.k.mergeOptions(p.I.getAnalyticsOptions(e.entityType),{actionType:m.Vw.Share,descriptor:m.YM.CopyLink,eventVersion:m.eq.V3})))}})):r.createElement("div",{className:"d-flex align-items-center"},r.createElement("div",{className:"me-2"},e.enableIntegrations?r.createElement(X,null):r.createElement(U.x,{svgName:B.vn.Link,className:"svg-container"})),r.createElement("span",{className:"fw-semibold"},r.createElement(f.x,{namespace:q,phrase:"createLink"})))),!e.shareLink&&r.createElement(C.L,{className:"info-link",onClick:e.onClickCreateLink},r.createElement(f.x,{phrase:"createLink"}))))}var J=n(74231),Q=n(92802),K=n(5173),_=n(38365),$=n(82644),ee=n(94696),te=n(31908),ne=i.T.encloseNamespace("share.shareMessage"),re=K.Ry().shape({message:K.Z_().max(280,(function(){return ne("maxMessageLen")}))});function ae(e){var t=(0,$.b)();return r.createElement(Q.l0,null,r.createElement(_.W,{component:"textarea",name:"message",id:"message",placeholder:ne("placeholder"),value:t.values.message,label:ne("label"),showOptionalLabel:!0}),!e.shareOverrideRestrictions&&te.M.isVideoType(e.entity)&&r.createElement("div",{className:"mb-3"},r.createElement(ee.B,{video:e.entity,yearGroups:e.yearGroups})),r.createElement(S.u,null,r.createElement(S.u.Submit,{variant:"dark",text:ne("share")})))}function ie(e){return r.createElement($.n,{initialValues:{message:""},validationSchema:re,onSubmit:function(t,n){var r=null;t.message&&(r=t.message),e.onClickShare(r,n)},allowInitialSubmit:!0},r.createElement(ae,{entity:e.entity,yearGroups:e.yearGroups,shareOverrideRestrictions:e.shareOverrideRestrictions}))}var oe=n(32045),ce=n(16714),se=n(22902),le=n(37802);function ue(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=[],s=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw a}}return c}}(e,t)||de(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function me(e){return function(e){if(Array.isArray(e))return pe(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||de(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function de(e,t){if(e){if("string"==typeof e)return pe(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)?pe(e,t):void 0}}function pe(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 fe="shared.share",he=i.T.encloseNamespace(fe);function ye(e,t,n,r){if(!e)return[];var a=[].concat(me(t),me(n)).map((function(e){return e.id}));return e.filter((function(e){return!a.includes(e.id)&&e.id!==r}))}function ge(e){var t,n,a=ue(r.useState([]),2),i=a[0],o=a[1],c=ue(r.useState(!1),2),s=c[0],l=c[1],u=(0,se.T)().hasPermissions,m=(0,le.r)(null).hasClassrooms,d=u(ce.C.ManageIntegrations),p=u(ce.C.ShareToUsers)||u(ce.C.ShareToClassrooms)||u(ce.C.ShareToClassroomGroups),h=ye(e.recentlySharedTo,i,e.directShareRecipients,e.currentUser.id);return r.useEffect((function(){l(!!e.shareLinkIsLoading)}),[e.shareLinkIsLoading]),r.createElement(r.Fragment,null,p&&r.createElement("div",{className:"bg-white rounded-bottom-3 pt-3 px-3 mb-2"},r.createElement("div",{className:"d-flex justify-content-between align-items-center pb-3"},r.createElement(F.R,{key:null!==(t=null==h?void 0:h.map((function(e){return e.id})).join(":"))&&void 0!==t?t:"share:search",getRemoteUrl:function(){return I._.safeUrlConcat(e.gatewayApiUrl,"v4/search")},getRemotePostBody:function(t){var n=[];return u(ce.C.ShareToUsers)&&n.push({index:"user",filters:{userProfile:{status:["".concat(oe.w.Active.toLowerCase())],customerId:e.currentUser.customerId}}}),u(ce.C.ShareToClassrooms)&&n.push({index:"classroom"}),u(ce.C.ShareToClassroomGroups)&&n.push({index:"classroom_group"}),{query:t,indices:n,searchType:"user",limit:F.d}},requestHeaders:e.searchRequestHeaders,formatRemoteSuggestions:function(t){return ye(null==t?void 0:t.results,i,e.directShareRecipients,e.currentUser.id)},recentSearches:h,selections:i,onSuggestionSelected:function(e){return o([].concat(me(i),[e]))},removeSelection:function(e){return o(i.filter((function(t){return t.id!==e.id})))},placeholder:he(m?"searchPlaceholder":"searchPlaceholderNoClassrooms"),imageCdnUrl:e.imageCdnUrl,activationLength:2,fetchSelectionMembers:e.fetchRecipientUsers&&function(t){e.fetchRecipientUsers&&e.fetchRecipientUsers(t,(function(e){var n=[];i.forEach((function(r){var a;if(r.id!==t)return n.push(r);var i=O.t.deepClone(r);(null===(a=null==e?void 0:e.data)||void 0===a?void 0:a.length)?i.users=e:i.users={count:0,data:[],pagination:null},n.push(i)})),o(x.m.uniq(n,"id"))}))},debounceTime:300,emptyStateImageUrl:e.emptyStateImageUrl,errorStateImageUrl:e.errorStateImageUrl,hasStudentExperience:u(ce.C.StudentExperience)})),!i.length&&e.directShareRecipients.length?r.createElement("div",null,r.createElement("h3",{className:"font-size-normal"},r.createElement(f.x,{phrase:"sharedTo"})),r.createElement(N.$B,{autoHeight:!0},r.createElement("ul",{className:"list-unstyled"},e.directShareRecipients.map((function(t){return r.createElement("li",{key:t.id,className:"mb-2 pe-1"},r.createElement(T.j,{entity:t,imageCdnUrl:e.imageCdnUrl,removeRecipient:e.onClickRemoveRecipient,showDisplayName:u(ce.C.StudentExperience)}))}))))):r.createElement(r.Fragment,null),!!i.length&&r.createElement("div",{className:"pb-3"},r.createElement(ie,{onClickShare:function(t,n){e.onClickShare(i.map((function(e){return{id:e.id,typeId:e.typeId}})),t,(function(){o([]),n()}))},entity:e.entity,yearGroups:e.yearGroups,shareOverrideRestrictions:e.shareOverrideRestrictions}))),!i.length&&!s&&r.createElement("div",{className:"bg-white p-3 ".concat(p?"rounded-3":"rounded-bottom-3")},r.createElement("div",null,e.shareLink&&r.createElement("div",{className:"fw-semibold mb-2"},r.createElement(f.x,{namespace:fe,phrase:"shareLink"})),r.createElement(Y,{entity:e.entity,entityType:e.entityType,shareLink:e.shareLink,onClickShowSettings:e.onClickShowSettings,onClickCreateLink:function(){l(!0),e.onClickCreateLink()},shareLinkIsLoading:e.shareLinkIsLoading,canAddPolicies:e.canAddPolicies,privacy:e.privacy,entityTypeId:e.entity.typeId,onClickSavePrivacy:e.onClickSavePrivacy,enableIntegrations:e.enableIntegrationBanner,hasStudentExp:u(ce.C.StudentExperience),yearGroups:e.yearGroups,shareOverrideRestrictions:e.shareOverrideRestrictions}),e.shareLink&&e.enableIntegrationBanner&&r.createElement("div",{className:"".concat((null===(n=e.integrations)||void 0===n?void 0:n.length)&&e.canEmbed?"float-end":""," mt-1 pt-1")},r.createElement(J.T,{integrations:e.integrations,url:e.shareLink.url,closePopup:e.closePopup,appLink:d?e.integrationSettingAppLink:e.messagePopupAppLink})),e.shareLink&&e.canEmbed&&r.createElement("div",{className:"mt-1"},r.createElement(z,{onClickGetEmbedCode:e.onClickGetEmbedCode})),e.shareLink&&e.canAddPolicies&&r.createElement("button",{className:"btn btn-link text-info mt-2 p-0",onClick:e.onClickShowSettings},r.createElement(f.x,{namespace:fe,phrase:"advancedSettings"})))),s&&r.createElement("div",{className:"bg-white rounded-3 p-3 text-center"},r.createElement(L.Z,{as:"div",animation:"border",role:"status"})))}var ve=n(17752),Ae=n(9111),be=n(39151),Ee=n(1666),Ce=n(31949),Se=n(69883),ke=n(40841);function we(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 Le="shared.share",Ne=i.T.encloseNamespace(Le);function Ie(e){switch(e){case"video":return Ne("titleVideo");case"clip":return Ne("titleClip");case"interactive":return Ne("titleInteractive");case"series":return Ne("titleSeries");case"playlist":return Ne("titlePlaylist");case"subject":return Ne("titleTopic")}}var xe=function(e){return"video"===e||"interactive"===e||"clip"===e},Oe=function(e){return"video"===e||"interactive"===e||"clip"===e};function Ue(e){var t,n,i,l,u,m=(0,a.I0)(),d=(0,Se.Z)(),h=!e.gatewayApiUrl,y=(l=r.useState("main"),u=2,function(e){if(Array.isArray(e))return e}(l)||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=[],s=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw a}}return c}}(l,u)||function(e,t){if(e){if("string"==typeof e)return we(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)?we(e,t):void 0}}(l,u)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=y[0],v=y[1],A=(0,se.T)(),b=A.hasPermissions,E=A.hasLocalPermissions,C=o.a.useBasicFetch(Ce.N.currentUser()),S=p.I.getFetchFunctionByType(e.entityType)(e.entityId,null===(t=C.data)||void 0===t?void 0:t.id),k=o.a.useBasicFetch(be.L.config()),L=o.a.useBasicFetch(h&&Ce.N.token()),N=o.a.useBasicFetch(c.o.getShareLinkByObjectId(e.entityId)),I=o.a.useBasicFetch(c.o.getSentDirectShareByObjectId(e.entityId)),x=o.a.useBasicFetch((null===(n=C.data)||void 0===n?void 0:n.customerId)&&p.I.getDirectShareRecipientsRequest(C.data.customerId,I.data)),O=C.data&&s.R.getRecentlySharedTo(C.data.id),U=!!(null==O?void 0:O.length),B=o.a.useBasicFetch(U&&c.o.getRecipientsById(O,C.data.customerId)),P=o.a.useBasicFetch(c.o.getPrivacy(e.entityId)),j=o.a.useBasicFetch((null===(i=C.data)||void 0===i?void 0:i.isAuthenticated)&&Ee.h.yearGroups(C.data.customerId)),z=(0,le.r)(null),T=z.shareToGoogleClassroom,F=z.shareToMicrosoftTeams,V=z.shareOverrideRestrictions,D=z.isLoadingSettings;function M(e,t){var n;(null===(n=t.recipients)||void 0===n?void 0:n.length)&&o.a.getFetch(m)(p.I.getDirectShareRecipientsRequest(e,t))}function R(e,t){o.a.getFetch(m)(c.o.getRecipientUsers(e,t))}function H(){N.data||p.I.createLink({dispatch:m,entity:S.data,entityType:e.entityType,alerts:d})}function G(t,n){p.I.updateLink(m,S.data,e.entityType,N.data,t,d,(function(){return v("main")}),n)}function X(){p.I.deleteLink(m,S.data,e.entityType,N.data,d,(function(){return v("main")}))}function Z(t,n,r){p.I.createOrUpdateDirectShare({dispatch:m,entity:S.data,entityType:e.entityType,currentUser:C.data,recipients:t,message:n,sentDirectShare:I.data,onSuccess:function(e){return M(C.data.customerId,e)},onError:function(){return d.error(Ne("directShareError",{name:S.data.name}))},onDone:r})}function W(t,n){p.I.removeDirectShareRecipient(m,t,e.entityType,I.data,(function(e){return M(C.data.customerId,e)}),(function(){d.error(Ne("removeDirectShareError")),n&&n()}))}function q(e,t){"private"!==e?o.a.fetch(m,c.o.updatePrivacy(N.data.id,e,t,(function(){return d.success(Ne("privaciesSuccess",{name:S.data.name}))}),(function(){return d.error(Ne("privaciesError",{name:S.data.name}))}))):X()}var Y=!(!C.data||!k.data||h&&!L.data||!I.hasCompleted||!P.data||!S.data||D||!j.hasCompleted);return r.createElement(f.D.Provider,{value:Le},r.createElement(Ae.G,{title:Ie(e.entityType),closePopup:e.closePopup,showLoadingSpinner:!Y,contentClassName:Y&&g?"bg-transparent border-0":"",bodyClassName:"p-0"},function(){if(!Y)return r.createElement(r.Fragment,null);switch(g){case"main":return r.createElement(ge,{shareLink:N.data,shareLinkIsLoading:N.isFetching,entity:S.data,entityType:e.entityType,directShareRecipients:x.data||[],recentlySharedTo:B.data||[],onClickCreateLink:H,onClickShowSettings:function(){return v("link-settings")},onClickShare:Z,onClickRemoveRecipient:W,onClickGetEmbedCode:function(){return v("copy-embed")},analyticsOptions:p.I.getAnalyticsOptions(e.entityType),gatewayApiUrl:e.gatewayApiUrl||k.data.gatewayApiUrl,imageCdnUrl:k.data.imageCdnUrl,searchRequestHeaders:h?{authorization:"Bearer ".concat(L.data.value)}:null,currentUser:C.data,fetchRecipientUsers:R,privacy:P.data,onClickSavePrivacy:q,canAddPolicies:Oe(e.entityType),emptyStateImageUrl:e.emptyStateImageUrl,errorStateImageUrl:e.errorStateImageUrl,integrations:(t=T,n=F,ke._.getShareIntegrations(t,n).filter((function(e){return e.enabled})).map((function(e){return e.id}))),integrationSettingAppLink:e.integrationSettingAppLink,messagePopupAppLink:e.messagePopupAppLink,closePopup:e.closePopup,enableIntegrationBanner:e.enableIntegrationBanner,canEmbed:xe(e.entityType),yearGroups:j.data,shareOverrideRestrictions:V,hasLocalPermissions:E});case"link-settings":return r.createElement("div",{className:"bg-white p-3 rounded-bottom-3"},r.createElement(ve.G,{entity:S.data,entityType:e.entityType,config:k.data,shareLink:N.data,entityId:e.entityId,analyticsOptions:p.I.getAnalyticsOptions(e.entityType),onClickSaveLink:G,onClickDeleteLink:X,onClickCancel:function(){return v("main")},privacy:P.data,hasStudentExp:b(ce.C.StudentExperience),shareOverrideRestrictions:V}));case"copy-embed":return r.createElement("div",{className:"bg-white p-3 rounded-bottom-3"},r.createElement(w,{entity:S.data,entityType:e.entityType,config:k.data,shareLink:N.data,entityId:e.entityId,analyticsOptions:p.I.getAnalyticsOptions(e.entityType),onClickCancel:function(){return v("main")}}))}var t,n}()))}},17464:(e,t,n)=>{n.d(t,{c:()=>i});var r=n(32735),a=n(7121);function i(e){var t="d-flex align-items-center badge-list ".concat(a.Z.minHeight);return e.className&&(t+=" ".concat(e.className)),r.createElement("div",{className:t},e.children)}},38365:(e,t,n)=>{n.d(t,{n:()=>E,W:()=>C});var r=n(32735),a=n(80247),i=n(80130),o=n(92802),c=n(91967),s=n(1048),l=n(36848),u=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 m(e){var t=e.label,n=e.checkboxLabelClassName,a=e.checkboxLabelFontWeight,o=e.className,c=u(e,["label","checkboxLabelClassName","checkboxLabelFontWeight","className"]);return r.createElement(i.Z.Group,{className:"form-group"},r.createElement("div",{className:"form-check ".concat(o||"")},r.createElement(E,Object.assign({className:"form-check-input"},c)),r.createElement(i.Z.Label,{className:"form-check-label cursor-pointer ".concat("normal"===a?"fw-normal":""," \n ").concat(n),htmlFor:c.id},t),e.checkboxAppLink&&e.checkboxAppLinkText&&r.createElement(r.Fragment,null,r.createElement("span",null," "),r.createElement(l.F,{appLink:e.checkboxAppLink,className:"info-link"},e.checkboxAppLinkText))))}var d=n(83914),p=n(83345),f=n(73814),h=n(35223);function y(e){var t=(0,o.u6)().values[e.fieldName];return"string"!=typeof t?r.createElement(r.Fragment,null):r.createElement("div",{className:"float-end text-secondary fw-normal"},t.length,"/",e.limit," characters")}const g={revealPassword:"jCfI0",passwordInput:"RBJnf",passwordContainer:"d78lK",passwordContainerDisabled:"asbVo",infoTooltip:"wzyOG",spinner:"CycFx"};function v(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 A=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},b="shared.formField";function E(e){var t,n,i=e.children,l=e.showLoadingSpinner,u=A(e,["children","showLoadingSpinner"]),m=(t=r.useState(e.type),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=[],s=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw a}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return v(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,t):void 0}}(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.")}()),p=m[0],f=m[1],y=c.q.isFunction(i)?function(e){return i(e)}:r.Children.count(i)?i:null;if("password"!==u.type)return l?r.createElement("div",{className:"position-relative"},r.createElement(o.gN,Object.assign({},s.t.omit(u,["formSize"])),y),r.createElement("div",{className:g.spinner},r.createElement(a.Z,{animation:"border",size:"sm"}))):r.createElement(o.gN,Object.assign({},s.t.omit(u,["formSize"])),y);var b="position-relative ".concat(g.passwordContainer);return u.className&&(b+=" ".concat(u.className)),u.disabled&&(b+=" ".concat(g.passwordContainerDisabled)),r.createElement("div",{className:b},r.createElement(o.gN,Object.assign({},s.t.omit(u,["formSize","type","className"]),{type:p,className:"".concat(g.passwordInput," border-0 w-100 h-100 outline-none rounded")}),y),"password"===u.type&&r.createElement(d.x,{svgName:"password"===p?h.vn.VisibleOn:h.vn.VisibleOff,className:"svg-container cursor-pointer ".concat(g.revealPassword),onClick:function(){f("password"===p?"text":"password")}}))}function C(e){var t=e.label,n=e.className,a=e.showCharacterCounter,c=e.showRequiredStar,l=e.infoTooltip,u=e.infoTooltipPlacement,v=e.infoText,C=e.formSize,S=e.showOptionalLabel,k=A(e,["label","className","showCharacterCounter","showRequiredStar","infoTooltip","infoTooltipPlacement","infoText","formSize","showOptionalLabel"]),w=(0,o.u6)(),L=w.errors,N=w.touched,I=function(){};if("checkbox"===k.type){var x=s.t.omit(e,["formSize","infoTooltipPlacement"]);return e.disabled&&(x.onChange=I),r.createElement(m,Object.assign({},x))}var O=Object.assign(Object.assign({},k),{className:f.w.getCustomFormControlClassName(L,N,k.name,C,n,"string"==typeof e.as?e.as:null)});return e.disabled&&(O.onChange=I),r.createElement(i.Z.Group,{className:"form-group"},!!t&&r.createElement(i.Z.Label,{htmlFor:k.id,className:"d-flex align-items-center"},t,c&&r.createElement("span",{className:"text-danger"},"*"),l&&r.createElement(d.x,{className:"svg-container text-secondary ".concat(g.infoTooltip),svgName:h.vn.Info,title:l,tooltipPlacement:u,tooltipSpanHack:!0}),S&&r.createElement("span",{className:"text-secondary"}," ",r.createElement(p.x,{namespace:b,phrase:"optional"})),!!a&&!!k.maxLength&&r.createElement("div",{className:"ms-auto"},r.createElement(y,{fieldName:k.name,limit:k.maxLength}))),r.createElement(E,Object.assign({},O,{"aria-errormessage":"".concat(k.name,"Error")})),!!v&&r.createElement(i.Z.Text,{className:"text-secondary"},v),r.createElement(o.Bc,{name:k.name},(function(e){return r.createElement(i.Z.Control.Feedback,{id:"".concat(k.name,"Error"),type:"invalid",role:"status"},e)})))}E.defaultProps={autoComplete:"off"},C.defaultProps={autoComplete:"off",infoTooltipPlacement:"top"}},84678:(e,t,n)=>{n.d(t,{L:()=>i});var r=n(32735),a=n(18559);function i(e){return r.createElement(a.C,{type:a.g.Restriction,data:{restrictions:e.restrictions,yearGroups:e.yearGroups},inline:!0})}},94696:(e,t,n)=>{n.d(t,{B:()=>s});var r=n(32735),a=n(17464),i=n(84678),o=n(26361),c=n(31908);function s(e){var t=o.l.hasRestrictions(e.video),n=c.M.getCanBeConsumed(e.video).canConsume;return t&&e.yearGroups&&n?r.createElement(a.c,{className:e.className||"pt-1"},r.createElement(i.L,{restrictions:e.video._restrictions,yearGroups:e.yearGroups})):r.createElement(r.Fragment,null)}},73814:(e,t,n)=>{n.d(t,{w:()=>a});var r=n(92802),a={getCustomFormControlClassName:function(e,t,n,a,i,o){var c="";return c=function(e,t){var n="";return n="select"===e?"form-select":"form-control","sm"===t&&(n+=" ".concat(n,"-sm")),"lg"===t&&(n+=" ".concat(n,"-lg")),n}(o,a),(0,r.u9)(t,n)&&(0,r.u9)(e,n)&&(c+=" is-invalid"),i&&(c+=" ".concat(i)),c}}}}]);
|
|
2
|
+
//# sourceMappingURL=8988-863de3ae24-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/8988-863de3ae24-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/share/components/copy-embed-html/copy-embed-html.scss","file:///app/packages/libs/shared/src/apps/share/components/copy-embed-html/CopyEmbedHtml.tsx","file:///app/packages/libs/shared/src/apps/share/views/share/components/copy-embed/CopyEmbed.tsx","file:///app/packages/libs/shared/src/apps/share/components/get-embed-code/get-embed-code.scss","file:///app/packages/libs/shared/src/apps/share/components/get-embed-code/GetEmbedCode.tsx","file:///app/packages/libs/shared/src/apps/share/views/share/components/share-integrations/avatars/GoogleClassroomAvatar.tsx","file:///app/packages/libs/shared/src/apps/share/views/share/components/share-integrations/avatars/MicrosoftTeamsAvatar.tsx","file:///app/packages/libs/shared/src/apps/share/views/share/components/share-integrations/ShareIntegrationsStack.tsx","file:///app/packages/libs/shared/src/apps/share/views/share/components/share-as-link/ShareAsLink.tsx","file:///app/packages/libs/shared/src/apps/share/views/share/components/share-message/ShareMessage.tsx","file:///app/packages/libs/shared/src/apps/share/views/share/components/main-share/MainShare.tsx","file:///app/packages/libs/shared/src/apps/share/views/share/ShareView.tsx","file:///app/packages/libs/shared/src/components/badges/BadgeListContainer.tsx","file:///app/packages/libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx","file:///app/packages/libs/shared/src/components/forms/form-field/CharacterCounter.tsx","file:///app/packages/libs/shared/src/components/forms/form-field/form-field.scss","file:///app/packages/libs/shared/src/components/forms/form-field/FormField.tsx","file:///app/packages/libs/shared/src/components/video-list/components/video-item-restriction-badge/RestrictionBadge.tsx","file:///app/packages/libs/shared/src/components/video-list/components/video-item-restriction-badge/VideoItemRestrictionBadge.tsx","file:///app/packages/libs/shared/src/utils/FormHelper.ts"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"embedHtmlInput\":\"mwvd0\",\"copyBtnContainer\":\"myePx\"};","import React from 'react';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EventVersion, ShareDescriptors, UserAction } from 'libs/analytics/interfaces';\n\nimport { EmbedSize } from 'libs/shared/apps/share/components/embed-size/EmbedSize';\nimport { SharableEntityType, ShareViewHelper } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { BaseObject, Config, PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\nimport { EmbedHelper, EmbedResolution } from 'libs/shared/utils/EmbedHelper';\n\nimport styles from './copy-embed-html.scss';\n\nconst namespace = 'share.copyEmbedHtml';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype CopyEmbedHtmlProps = PropsWithAnalyticsOptions<{\n entity: BaseObject;\n entityType: SharableEntityType;\n config: Config;\n entityId: string;\n shareId: string;\n embedUrl: string;\n}>;\n\nexport function CopyEmbedHtml(props: CopyEmbedHtmlProps): JSX.Element {\n const videoSizes = EmbedHelper.getEmbedResolutions();\n\n const [ copyBtnPhrase, setCopyBtnPhrase ] = React.useState<'copy' | 'copied'>('copy');\n const [ autoplay, setAutoplay ] = React.useState(false);\n const [ videoSize, setVideoSize ] = React.useState<EmbedResolution>(videoSizes.find(s => s.width === '100%'));\n\n const [ logged, setLogged ] = React.useState(false);\n function onCopy(): void {\n setCopyBtnPhrase('copied');\n setTimeout(() => setCopyBtnPhrase('copy'), 2000);\n\n // Because our users are double clickers\n if (logged)\n return;\n\n setLogged(true);\n\n AnalyticsHelper.logUserAction({\n ...props.entity,\n embedDetails: {\n size: videoSize,\n autoplay\n }\n }, AnalyticsHelper.mergeOptions(ShareViewHelper.getAnalyticsOptions(props.entityType), {\n actionType: UserAction.Share,\n descriptor: ShareDescriptors.CopyEmbedHtml,\n eventVersion: EventVersion.V3\n }));\n }\n\n const url = EmbedHelper.buildEmbedUrl({\n embedUrl: props.embedUrl,\n host: props.config.primaryUrl,\n shareId: props.shareId,\n autoplay\n });\n \n const embedString = EmbedHelper.getEmbedString({\n url,\n size: videoSize\n });\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <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 );\n}\n","import React from 'react';\n\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { CopyEmbedHtml } from 'libs/shared/apps/share/components/copy-embed-html/CopyEmbedHtml';\nimport { SharableEntityType } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { BaseObject, Config, ShareLink } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.share';\n\ninterface CopyEmbedProps {\n entity: BaseObject;\n entityType: SharableEntityType;\n shareLink: ShareLink;\n config: Config;\n entityId: string;\n analyticsOptions: AnalyticsOptions;\n onClickCancel: () => void;\n}\n\nexport function CopyEmbed(props: CopyEmbedProps) {\n return (\n <>\n <div className='mb-3'>\n <CopyEmbedHtml\n embedUrl={props.shareLink.embedUrl}\n entity={props.entity}\n entityType={props.entityType}\n config={props.config}\n entityId={props.entityId}\n shareId={props.shareLink.id}\n analyticsOptions={props.analyticsOptions}\n />\n </div>\n\n <PopupButtons>\n <DivButton onClick={props.onClickCancel} className='btn btn-outline-dark'>\n <Text namespace={namespace} phrase='back'/>\n </DivButton>\n </PopupButtons>\n </>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"hoverBackground\":\"ICTmv\"};","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 = 'share.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='bg-dark text-white rounded-1 me-2'>\n <SvgContainer svgName={cvSvgLibrary.Code} size={SvgContainerSize.Large} />\n </div>\n <Text namespace={namespace} phrase='getEmbedCode' />\n </div>\n </DivButton>\n );\n}","import React from 'react';\n\nexport function GoogleClassroomAvatar(): JSX.Element {\n return (\n <svg width='24' height='24' viewBox='0 0 24 24' fill='none'>\n <circle cx='12' cy='12' r='12' fill='url(#pattern0)'/>\n <defs>\n <pattern id='pattern0' patternContentUnits='objectBoundingBox' width='1' height='1'>\n <use xlinkHref='#image0_3558_14996' transform='scale(0.00520833)'/>\n </pattern>\n <image id='image0_3558_14996' width='192' height='192' xlinkHref='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAYAAABS3GwHAAAAAXNSR0IArs4c6QAAJ41JREFUeAHtfQm0XFWZ7r+r7jxPuTeXhExkgISYNFOGmwBJUEB8IPSD1whERXR1A22Cgv2WT1TQ7tUNCIRW2vVE1ESkF3SDgAr4TBgyQQANhgAhIQNJCPfmDrm581B13v+dupXUrVtn71OnTp2a9r9W1Rn2/O/vP3v6978FaXKNA8a2ceOp35hFgmYRGVPJMGrJEHUk+Ep8JaOcr4X8voDEyBWpCzHI7wbMK/GV6Dj/2jhsG4dtZQ/47ePnXVQodomFLc0IpilxDojEo8itGIx9U4roSN8MGh6axYA83QS7YQJ+JnOi0iNudLKw7OK0dnH6u1h4dlFe/i5qLN4tpu7v9ygPWZGMFgBFNRo75xRQR8sCMgLLyaDl7H0hXwsUwVLkLLgVode4pdlAPv8Gqq7fJubsHExRZjIiWS0AUdVkGFf7aeOGsxlIy0YAv4S/sCVR3jLjUYhezugmLgsLBP8WL/+zEE8GMiPz3uRSCwDz2ezWHO65nILBaxnsy/iVV10Zb2r5ZCroOr3E44rf0MSK53R3iUdWJ3mTW3eGYQjaXL+EgoEb+Et/DZc+W0FvVbEsDPQEd5XWUlPLZiGEYeUxm9/nnAAYW8ZNp2HjBqIggD81myvXdtkE7SPyraM8sU4sPrrHdrgs8JgTAmAOZNuPXE9BuonrbFEW1Fsyi7CVxwuPUE3jr3NhAJ3VAmBsmVhMgb6vMvDv4J7+xGSiBnEPGj76aLiM9uI3VE6fBIqo18ijnmAedRv5fOUf8T0/410Pu4FKxTCV+oapjH+lhPshKhND5rsSdhvv76dp+V00La+bJvGvQATNcMn9E4e4i3QP5RU/IhYf6ktuWqmLPSsFwNhUV86D2Zu5i/MNvta7zd4+w087BqvpQwb53mH+mdcyOhgopSAPLZJJPu6qn+rvMYUhJBRddBoLx9yCDioWSZjgEaKFBeF+Hjw/LJa0diWzbKmIO7m15XGJ+ItfQ8P9q7h//48M/mq3kseXfftgDW0ZGEdb++vN+yF+l06Uz63C/IJ2WlTUQosLj5r3rrYUgjrI8D1E+UUPcYvQnk5lTyQvWSEAxpvTKqm389sM+pu5q1OWCEMQNsBf8R1D1bSlnwE/UE9vDtTSAH/1M4kKuTU4t7CVFrIwLC46SnPzO8jvykSP6OYW4WEqqfwXcc7ezkziSay8ZrwAGK/UXceg/xH/GmIVMJ537w5W0VO9k+jZ3lOplfvv2UR1PI64vOQgXVXyEc0uOOZC0cQnPIt+u7ig9TEXIktZFBkrAMarNbO5An7CffwLE+Fec6CYnmHAP9UzmT4YqkgkqowJOzP/OF1VeoCuYIFo8Cc4vhXiZf743CLOb383YxgQkdGMEwDj7YZS6hz+LjP9Nu7y5EeUxfYtBrEv9E2gp3sm0eb+Bo4mNwmV31TUTFeWfkSXFB92PogWNMQfoweoMu9uMa+5J5O4mVECYGyqvYqnWR5kxJ7qhMnHeRpybfd0erRrOh0Lpqk+m5OCuRCmyjdIN5bvoZVlu6mCp2MdkaCD5BOrxZK2pxyFT0GgjBAAY3NDPasf/4L581knPGoLFtIvGPRru04z5+OdxJErYbD+sLL8Q/oyC0OtD1sTHJCg35M//0bR1NziILSnQdJeAHhOfxl/9R/jvn5jvJxB//7/Hp9Bj/dM430qmTWLE29Z3fZfxLNI15bupa9V7HY2ThDiCLcG1/HawUtu583N+NJWAAzj+z7a+NB3uLDf4y5PXJPuLcEiWnNsNv1372RzddZNhuVaXFhL+NuSA7Sq6l2q98W510bwGjzRXbT06z8U4vteLF/HXT1pKQDGa/UNNBjAV39FPCXC/P3a7tPogc7ZuqsTD+Ns+EXX6LbKd3mM8GH86wlCrKcC/3XpuJUz7QTAeLV2BX/xeW45vnn9t3il9s72s+j9oVzTaraBXhe9nJ7fST+o+TOdzavO8ZFo5gW068T5bevjC5dc33F1LZKZFXR5jFfr7mLg/zEe8LcHCuif2s+mq5uXafAns4JG4sYHBrwGz8F7+4QPmvFH1LHZvbUfMKk+06IFMHZPL6SPO37DDLrKbmkxd/+f3VPpns4zqVNPadplm6v+Knnq9FuV79Dfle3jj3scJMR/U2P1dWLGHofTTHGkpfAaV74VcTlyNl6rqaBB8Uw8K7pHWU1hddu5pp6Oo0R1IFc5sKiwhR6sfYPGsbqFbcIKcoFxhVjYDhMwKaOUCoBpR6cv8DyXfr5dDmxm5bTbGPzZpqtjt/zp6g+6Rg+wEDSxMMRB26nYf6k47yjrFaWGUiYAoa2JgRd5wDvNTtExw/PQ8TPox/zLVdUFO3xKpR+A6daK9+jr/LOteSpoL+X5L07VVsyUCAAPhM7i/v7z3O2xtVkF8/qrWs+j11kfX1P6c2ABq2Cvqdtmf90Am25IXCrOb/2z16XzXACMV2qX84jptwx+NhOopo2srPYN7vJAnUFT5nAAahT3c5doKSvb2SIhurhp/7y4oG2DLf8uefJUAEzwE/2Bv/620PxL1t/5wbF5usvjUmV7HQ3AdWfV2/Ql1iuyR2zZjvW9vBQCzwRgpNvzst0v/708vfkfx2fZ45v2ldYc+IeKXXQHT5faIrQEJC70qjvkiQCEBrzBzXb6/Bjs/p+Ov6Eneqba4pf2lBkcuKZ0H/1z9V/sDY4xJsjzNXkxME66AIRMhgcY/OrZHuy7vbVtAa3vi1vxMzNQkOO5XFF8hH5c+zpbeLdhvQKzQ0X+pmRPkSZVAMxFrgF6hetdOc+PzSo3tTaZG9BzHCdZXfxzCtvokbrNvOmGN5GpaTsV0gXJXCxLmi6Qqd6AFV4b4Mc05/86eqEGvxoQGe8DFjZQ16hzGzQfWgImlmx4duIlKQJgKjtBt8fGhnV8+b94dCntGsyNDelOKinbwqCuUeeoeyUBQ4ylZCnQJaULZGp1GkHeuC4n9PlvYEbgq6Ap9ziA7tC6cRttjgl8d/PM0Pfc5pLrAmDq80OlWbGLC7M9f9+2SA943a7RDIsPA+Of1m5Vzw6Zu8vEZ9zeT+BqF8jcyYXNLArwo44w1alnezIMrUnILjAALCgJmGJsmRhTerbvwTUBMPto2MZoYycXFrn0PL/9Ssp2n8ACMKEm3lTDGHNzPOCaAJgb2G3s4YV6g17hVVd1rvkAJoANJQFjIWMJSq92PLgyBgiZLgn+SdX1gWLbl47ymXN2cqb95BwHAMZfjtukVqDDeMDnu8gNkysJC4BptCowvJ2nPKXLt5j3vezIRVqrM+dgHV+BoUX6+8Y/qVWpYXfInzc/UeNbiXeBAkOPqsCPGR/o82uV5vjAkIu+gRFgBZiREj64wF6ClJAAmLY6DbpMlYc1vItLb2ZRcUm7hzkArAAzSmLsmRhUerT2oBAz64AhK81D73GHXmqoFnt4V7Ys1f1+a1ZqlxgcADDX1m9U7zGGQd7K/DOcWqV23gLARLkC/LDegA3setAbo4b1KykHgBlgBxiSEjBomsuX+rJ0dNQChA6nIB74WtvnRwGu5y8/jhjSpDnglAMwufJrbgmkQDXPJ6D5Tg7pcNgC4GQWa/CjsDBapcHvtNp1uDAHgCFgSUomFhmTDihuATDP5FJoecJkHiy2adIccIMDwJLSDCNjMnReXHwpxiUA5mmMZNynSuLfOudqc4UqJml32xyA6UtgSk3Gj0IYVfsM+4hLAMyjSMkYHw4c6worzU/2TInlpN9pDjjmADAFbMmJdYVwXG4cJB1bRMZjHkI91HeAld0sz+HF4sX/aF6hrTRHMk7fu8YBmGZ/rmG9QnWazzHOL55s9zBv+y2AeQK7NfhRyl/1TNfgd626dUTRHIBpdhyAIifGqIlVua+wq60WgJXdyikYPMAzP9XhgNFX6Ppc9PFn9Mks0YzRz65yACfV/OmUP8p1hQR1sLLcZFaWYxtDcrLXAhjGzTLwI4kH9bFEck5rV1c40G3km+e/SSPDhxqYtUHKFoD7/sU03LefI7Rc0fqET2O88Mgl+kA6GwzXXhLnAA7ue6XxBfnplaZxreIpPBbok6WobgECfV+VgR+R/4yPIh001FHJMqLdNAfscgBYw/G3UsIHG9hVkBS1xs45Bbz14A5ZHFBfxTm8mjQHvOQAMKdUr2fsmhiWZEwqANR65Aae9pwoCU+Pds3Qh1DLGKTdksIBHHz+C+UWSsZu+5HrZRmQCwDRV2SBYdhoXZf++st4pN2Sx4G1Xaexca08eQJBuknmwTK0adF5KLBIFnht93Q97SljUJTb6VUTaEXjp+jccdOpvriSxhVVmlqOLf3HqaXvGL3Zuoc2fPwOvXvsYFRI/RiLA5gRWts9wzyWKZb7yLtFwLKVpWnLWSC27nY3GcE7rSLu4yao6ePP0jF9RKkVi068//SEebR6zudoajkflWuD9nfzEUPvPEcvHt5uw3due6nio1o3n/IHKpZZnBbWVuViCoBhsE7DxtoPee5/qhV7n+6ZRN9sP9fKWb9nDpxSUkP3nfdFml9ryUYpn95u30+3v/5LOtwb76ns0mizzvFHNW/QlaUfWZdL0D5a2naaEGLM3qzYY4DN9bBdIq21p3snWSeoXegc7uY8ufx2x+AHC+fVTKEnV9zBXSbFlF+O81uJRWAZmI5BsQUgGODZH2tq5oWvzWzjR1NsDgD8P19yC1UXWuoNxg4Y421VQSn9fOnNWghi8Cb8ClgEJqVkgekxAmDsm1LEX/9rZJE903sqe9EUiwPo9qxZcCPl+/yxnB29yxN+enDBl2kCx61pLAeARWBSSoxpE9tRnsYIAB3uuZz9VEb5G/X4VM/kUc/64SQH0Od348t/MsbQHeK8b8GXol/r5xEO2MBk5Qi2R/FsrAAEg18Y5SPqYedgFX0wpA+ziGKL+fiZCfMT6vPHijPyHcYEF3MamsZyAJgENqUUDF4b7T5KAAzjarTby6I9RT4rBxyRnnPsfvWZn0t6iVd5kEbSC5GkBJTYNIxlIxg/kYNRAkAbN5zNim+Wn3fs+HpW1dc6EXVu3ZxRNZGmlFkqzLrGDKSBtDSN5QCwqTCpWGliPCLoaAEwaHmE25jbHUPV1KoyVDQmVG68WN5oZ9O2O7xYcYp3abmTY29iATaBUSmJ0T2c0QJAcgHY0j9OGncuO0K9wSs6p867tLwqk1vpKDEa9ZE/IQCm2qigJllGtKEra+7UFysGYNZB43bxMq24M5fiADYwuiRSRfqEAFBHywLu/5dY5R+bEPRpjlbcIaovshw6WQdy6OJlWg6zmLJgwKh0cxYwDqyP0EltUCMg7f9vZ5ssONY0U8jPC1HVhSXmnHxxXuGJhamhYID6hgepY6CLf70U4OdcpmzjEzAKrJ5X2GpdrSGsb4SHCAFQ9P/ZZnsmkGAF48bSahpfUkV5MVZj/X4fFfnzWTBKaZjB/0nvMTrS08Er24mtbUOleUqZNzxCWolSqviUaL7thN/CWJULgIn1uxCX2QUaWSJeKIt8a3/yp/hk6dtxK/Dl0eyaiTSxrDYm+KPjgIDAL8IgbCIEfX6vKNG0UsknL3hkA6sLw2oRoTHAwd6Z/AEssMocdP/RrKQzmZVaeyqV5ivsyccoBMLM5rCJCAE2s3hFiaSVaj55wSNgFZi1JGD9SJ+pYhsSADE8y9IzO/x1sJqG0tjqA5rzGVWNCQEYwEAciMsJrf94h5NgjsI4TSsd+OSowHEGAlZ3MGalNDxkYj4kAEEhFYAPh8ulcaXaEX1+J1/+6HwjDsTlhN47doj2d7c4CRpXGKSBtJxQOvDJSb6dhNmjwqwhTke8Iy0ASQVg71D6CgBmMTDgdYsQF+J0Qmve+Z2TYHGFcZpGOvEprgI79KzErAhhPiQAhkIAVNLkMJNuBMNUZ6zZHqdxIy7E6YSwhxfbGJNFf+W4ne4TTic+JYs/kfHuVWF2BPMZ3wIkS/c+kpnx3GMPb8dAdzxBbPk9NthDt2/7lS2/sTylG59i5dHNd8oWgIyZSM9nbBs3XqYBilW1QwFnX0Q3C2QVFxa53KZE4sQG9tWv/4KGDfcW2BDXqq0/p0M9bY6LmkiZrBJNRpxWacX7HpiVrgjzpi9g38dm3aT9/wOBMgqqTu2ON3cu+ndz62E4W4nG+cbR3fSVjQ+70hLgy/+VV39CbyQ4zZpomcK8ibwmI87I+BO5B2aBXSkx9n086ycVAHVTIk0iZx0hBNdsuI+2t+1zzAP0+RFHouB3nIEMD6jELmOflz+NqbJy7h1WSJEssAdu0O2BeoObhDjdIHSHvvDyA4StkqvmXBaXYayHdv6OXjj0FzeyYcaRznxyrZBREamxa0zN4/5/bVS4UY/Nw/GvrI6KIMkPfcMDpm6Pm8lAWc5N+iPPDuGHnVzYOBMyjVjFphErzGU3L0wjZgKf3OQ54lJil7HPAiDquBWwTLvHSExHxjJilxww4+L2DAc0RZNBWMAyF7HeS0bs8jgziU/ykth3VWKXsc9jAHkL0MMWoNOZoNIMrU63CHEhzmyjXOSTEruMfe48owWwpm6V+WnroJ64QJ8fKs1uEeLKxj0CucgnNXbRAhgk3crUQ+ndAgD40OfvGepPWAYQB+LKVso1Pqmxa5RjGtRSDRpA6E3zMQDyiM0su48docHgMB4dEcIijkQ3xjhK3KNAucYnNXZFIbcAhlQA1M2IR7WnSAYAfrftoKOWAF9+hE1EgBTZSxvnXOKTEruM/TwSopCFwLKCetJ8DBCZcbNy2w9Jt0RG+ndzS2RkvOl+nyt8UmKXsY91AGkLoJxKSrPaRjP/cU87Nfd1mlqdmCKFzkp42T60KX7AVFPI5U3xucAnJXbNFiDNAOxWdjDr0drXZf7cijPeeBrYVtAZfC7Y6SNmEysLSqgiv5gq2eZ/OW++wRXUyfo+XdwNw/X4UB9fe83NNe+b6waHWZjdm+WKLkM68Ck6T14+ows0yK2A5ekCpWKYjskbCS/zm9ZpfYqtNy9rPJPm1kyi0ysnUo3NAzJwWB5+VtTOi33vdx6iHe0f0UtH3iHoCGlScwDYlRJjXxiv1GDez3JL1dIjl9Lh4fRVh5YWMMmOfuGjc+pOo0+zrg/sdeKL7wWhRcC+4P/H6hVvtn7IBmGDXiSbcWlMyOuljY3Py/J9LNwCWHoq8ymkyDJk9jrUsQ7PyukX0v+cuohwhJHXBEH7wmlLzR/Upf9r31Zau+dlanXBXpDXZUlmekrscgsAbdABWSbYfJTMOafcJrPhqxtnrqArJp+XkAUKN5kGAbxp1kW0csaF9MyBbfToB+vpAB+zqolIjV1jgAVAsOaX9TRoqW8o53nZWFJNd8z9PF08cT6vGzozm5JsJsKsy9VTF5ut0ouHttO9O35LR3qzd1XbDj9tYPc4WgCJEUWiMpE5AoDD5EryC9lESiGV8NQnQIFN7nncV8/zhyw9DAcCvF0xaCrQYT68l9Wpe4YGqJd/sbYxopvzrU9dSWV56a0WHgYEBPSSiX9DS8afQff89WmzexR2C1+Twadw3Ol0tYHdNqhD80ZTWQuQ3l2gorwCnm0p51+pCX5VBeT780ZpN9XSSZMvEIL2gR7+dVFNQRndffa1tLheumFOlVzK3CGwd591LQvDWfTdtx6n9sHupPCp3+W9E24yrFQ1fmXs8yCYWwBr/FOJairJzRzbjMvHX/T6Yp46LK7gRS7pOp7NGEPe0Hrgd9mks+jvZ11MxX734o4rIy56hgA/95lv0093veiayZYwnyaWsQlCFoCjfcephRceg2k2G6UUAMY+K8OhBbCm8f7EtSytY4/PBdOOp5TW0Ly6KTSpvM5V8Idzcn7DbFo9+3NZAf5wmSDIKBPK5jbhA4S6QJ2gblBH6UINPhV2RSsGwftkXaBp+cnZHRUvk7CoNKWi3lUjWNF5WMRfyxtnrIh+nRXPGBugbENsYmVryy7XywRVE1jahmW9/cdbuBvpvm2keDOtxq7Yh/0AUm5My0ttQTBgm1Y5nqaz4Vo3LcBFM3NW5QS6acZF0a+z7hllRFmTRagj1BXqDHWXSlJi1xC7+LQIIRWASSwAPiEZJCSxhAU8YJ3DZsvrik4OVJORHJrxr838dFo138koJ+JEFwVldXPsFCuvqDPUHeowFQTMArtSKmQBEOcd/YQ9dVp5LBBBOtXfY+WctPeYrTm9eiIV8mkuyaYrJy2gWp5JyhVCWVHmZBPqDnWIuvSagFlgV0KdYmFL88iIRXwg8UjKpkQW2IEbms4zqie4bu4kVlagobls/JmxnLL6HcqMsiebcBwV6tLr7pASsyLU8wkJgFCMAzweCJ9aUcvg92YKckHdDN4r4P0XKtnAU8WPMqPsXhDqEnXqJakHwCHMhwRAORD2biYIC1sy1WC3mTivRmoYz+3k0io+L8uOOkXdekXT8hSYHfnohwTAZ0gHwqd52AI08OKWlzTeIxVmL8tkNy2vy+5l3Soxa4QwHxIAf/77MqbNLeigfPmAQhY8LrcKVmnwklKhzuxl+WRpeV32Co9Ux4FVYFZKefnmRz8kAI3Fu3mdxNIgZrEI0PyCdml8bjkW+pI/6xOZ13RauYzMlxf3Xpfdixk98A1YBWatSQzQuHJz4scUADF1P9aMX7MOQLSoqEXm7JqbT6SnurFrBczhiLyqWyVWBb0mZuwZQFWEWgDcCdqAixUtLtSbLKx4o9+nFwfUWDVOYD1CAPwnXsYqDpqVQmmzEiuUfqc54C0HgFFld913EusnBaC6/nXWDLU0i4xVtXMKpYqj3pZUp6Y5EIMD5xa2yleAgfHq+m3hoCcEQMzZiUHwprBDrOuiQm/GAbHS1u80B+xwYKG6q75pBOtmdCcEwHwy6CVZIouL9DhAxh/tlnoOKDEaNdYdLQBRjtHFmZvfQXVptEEmOn/6Obc5AGwCo1LyjZ7sGS0AS5e/xYEtNUP9rGJ6eclBafzaUXMgVRwANoFRCXXS4uV/jnQfM+luvFr7NJtK/Hykp8j7dwer6HPN2blrKrKc+j7zOPC7hvU0u0BiR1WI34rz266MLNnoFgAuPt/jkR6i75HAzPzj0a/1s+ZASjkATErBj9wJ4zfRmRwrABNKn2VPlt0gRHBV6YHoePSz5kBKOWADk500seK56EyOEQBTLULQE9EeI5+v4L7WmL5TpAd9rzngIQeARWBSSozpEZWfUd7GCIDp6vOvG+Ur6qHB30dNRc1Rb/Wj5kBqOAAsApNS8vnXxnKPLQBNLZv4E8/mUqzpytKPrB21i+aAhxxQYhFYbmrZHCtLMQVACMwl+aStwCXFh6nKZ6lBHSst/U5zwHUOAIPAopx860KYHusrpgCY3vKEVACgb31j+Z6xMeo3mgMecgAYlOv+c2YkWLYUALH4KNC9VVaWlWV7Msp6tKws2i3zOADrzyvLdqsyvnUEyzH9WQrAiO+fxww18rKCzw5YWf6hzIt20xxIGgeAvQqVBWgfPSLLgFwA6hq5GyQOySL4MjdBRXqfgIxF2i0JHADmgD05MXZrGn8t8yMVAFNt1Ef3yiKo9Q3QtaV7ZV60m+aA6xwA5oA9KQm6J1L1OZZfqQCYAfzFP+ONMtKNAF+r2C3fhBArZf1Oc8AhB7A5C5iTEjCbVyzt/iC8UgDE4kN9vCZwvywxLEL8bYlWj5DxSLu5xwFgTbnwxZg1satIVikAZnghHmYhkCpar6p6V88IKZitnRPnAGZ+gDUpAavArA2yJQBiSSvbmfP9uyy+ej6N47ZKRcZkEWg3zQEbHADGgDUpGb6HQpiV+jIdbQmA6TOvaA3PCEkNrq8s+5BOz5cqkqpzpH1oDlhwANgCxuTEGM0vekju56SrbQHg/lQ7d4OkzQp24/ygZtSGm5Mp6TvNgQQ5AGwpdnzBvtXDJlZtpmVbAMz4Sir/hVOQqoGezfaDri7dbzN57U1zwB4HgClgS07iEzIxKvcV6RqXAIhz9nL/RnwzMoJY9/9UuYMqtaJcLNbodw44ACwBU2oSt4cwqvYZ9hGXACCQuKD1MR5hvxyOINa1xj9I36p8J5aTfqc5EDcHgCVgSkqMSRObUk9jHeMWgFAUxi3c1xoaG93JN39Xto+0Ia2T/NB3zjgADAFLUjKxyJh0QI4EQJzfzvOd4gFZetim9mDtG9qOkIxJ2k3KAdj5AYbU22/FAyFMSqOL6ehIAMyYKvPu5pwdjBnryMtxXIAHbBVAFot2y0UOAPTADjAkJWAQWHRIjgVAzGvu4QOEV6vSbeIm7NaK91TetLvmwCgOADPAjpIYgyYWlR5je3AsAIhOLGl7iluB38eO+uTbr3NhFqiNlp4MoO9ymgPACjCjJMaeiUGlR2sPCQmAGa0//0aeFTpinQROJzdoTd02tfqqLBLtlhMcgIozsKJe8GLMAXsJUsICIJqaW7grdB23BEFZXqC/cb8eD8hYlPNu6PcDI0pdH2CNMWdiL0GuJSwASJ8Vj17iy12qvCxl+y13Vr2t8qbdc5QDwAYwYoPuGsGcDa9yL64IgJnE0q//kLtC6+XJEX2Jt7H9Q4X0WGJVFNo9CzkATAAbSgLGgDWXSD3FGkdCxmv1DTQQ4E+80aAK9r/bz6IneqaqvGn3HODANaX76F9tKVGyHlqhf55Y2GKrmbDDOvdaAE7NzJgg5XgAGfvn6r/QimLp2NlO/rWfDOcAMAAsKAn9fsaWm+BHmq4KACJk++vcDfIpmyiM8n9c+7o+eA9My1HCoYvAgHLGx+SP74chbLnLLNcFwMze0lt5QCyeUmUVR1o+UreZZhXo8wZUvMo2d9Q56t7e0buMJRNT7nPB1TFAZPaM3dML6UjHC3zazIWR72PdtwSL6ItHl9KuwYpYzvpdlnEA4P/VuI3q6U6UG5rHjdWXhE92d5sVSRMAZNR4raaCBugVvp2vyvjxYD7d1NpEbw7Uqrxq9wzmALo9+PLDqqAN2k6FdIFY2J60LkJSBQAFNLaNG0/9gc1k0DRVgQcMP93atoDW9zWqvGr3DOQABrzo89vq9gjaS0X+JnHe0U+SWdTkjAEicmwWIM9/MTdlSs0mMOantVsJ02KasosDqFPUrT3ww6iV/+Jkgx8cTnoLEK5G49W6s7g9eJnHBOXhd7LrvZ1n0n8cnyXzot0yhANY5LrD7g5BIboYlheK81s9sa7gmQCgroxXapfz5Q98V2in7n7ZNZ1+cGwe9540ZSIHAC6oN9ha4TULKGDs87PigrYNXpXXUwFAoUwhEPRbuy3Bxv4G+kbbudQWtCUzXvFNp6PgALQ6odhmU7cHsz1d/KX7vJfgRxE8FwAkOtIdep6FoB7PKsI06arW8+j1gXEqr9o9DTgAfX6oNCu1OsN5NceH4lKvuj3hZHFNiQAgYWPLuOk0HHjRzuwQ/AcMQWuOn0E/4Z/uEoEj6UcA0y28kWUV/+yt7nIAzPZgwBs6kcjzQqVMAFBSc4q0L/A83yrXCcKc2TxQT7dxl6g1UBR+pa9pwAFsYMceXlvbGE/mdzsV+y/1YrbnZJKj71IqAMiKuVg2KJ6xs2IczvpRBv9qFoKtLAyaUs8BmC6B9QblBvbIrGKFt8C4IpmLXJHJWd2nXACQMVNt4uOO3/DdVVYZjX6PbtB/dk+le3i6tDNYEO2snz3gACy2wWgV7PbEByTW7Tml+gvJUm+Ip+jx5TuemOP0axjf99HGH3+PKPgd7uTbXqBrDxTQv3XOpSd7psSZovaeCAdgqxPmCpUW2yITMbfNsqYwK7YJ8X3pFtrIYMm8TxsBCBfSeLV2BQvAY9waKDfVhMPg+tZgDd3Jm2zeH6qMfK3vXeYATJTDSrPaUG10wryZBfr8prp8tFvqntNOAMAKc2fZYOAxHhesiIc1mCn6Vc90evDYGdRt5McTVPtVcAAns6yueo++WLrH/gxPOE5sYyzwu76ZJRx9Ite0FAAUKNQleug7fPu9eLpECIt1gzXHZtN/9U6mIcN2bwpBNUVxAAfS4UwuHEtke14/HEfIUshd2MObLl2ecNbC17QVgHAGjU11yyhooDWIW0X0k0Ax/ez4DHq8Zxr1s6apJvscwDm8OIoUpzEqD6SLFS1sRcF0SchiSCwfafEu7QUAXDI2N9RTYOhRbgkuc8I1qFE82jWD1nVN010jBQPR1cEJ7DiEWnkOr1VcsBbIRqvcsNtjlYRb7zNCAMKFNTbVXsWtwYMsCKeG38Vzxaabtd3TWRim0zE9dTqKdVU8pXkjg35l2R67m1VGhTcfYKgWtjphMjNDKKMEADw13m4opc7h7/LdbSwIjka6fdwdeqF3Aj3dO4k2s7JdrqpWoPKb2BDVlSUf0SUlh6mYuz2OyLTPz+by2UpzIoZqHaWdYKCME4BweY1Xa2azIslP4llBDoeNvDbzOOGZ3lPpqZ7J9MFQbuxJnpl/nK4qPUBXlBx01r+PZCBWdMm4xal9/sioUnGfsQIQZpbxSt11XAH38W98+J3T687BKrNVeJYFItt0jaCrczkDHl/7OQXHnLIoIhwOSxTfdHIsUUQkKb/NeAEAB403p1VSb+e3uS9zMz+VJcpVrCfsGKqmLf3jTH0jbNTHfuVMImw9xAZ06OksLjpKc/M74p+/j1lgPocXx+XyaYzxHkgXM7oUv8wKAQjz0NgysYaG+1exOsU/sjBUh98neh3ktYTtvNK8hfcjbO2vN+/TbX0hn+fr5/MxoouKGPCsj497zOG7RoI62ODZvxMfmB7PObyupZ+kiLJKAMI84rWDch4b3MxC8A2+uq4yikH0jsFq2jNcTnuH+DdyPRQo4Umq5LLUxxb1Jvp7aVp+F03L4x9fp/N1bkGH80FsmHGxrtisIuh+3rH1MM/p837d7KLk1laKecUtQjEF+r7KViXv4K7RxGRnBy3FgUDZiFCUUfNwEfUYedTD06/dQb7ypFUvP5v3eOZ7UKkYplLfMJXxrwT3fAAn7kvZdg7cGvL6GezdJtgn+7vd/bJbMkUcYpXEe8lf/DP+4vdZestwh6wWgHDdGDvnFFD7ketZEG7id4vC7/U1Jge2MvAfoZrGX4s5OxWH88YMn1Evc0IAImsktBXTWMnjhOu5izQ10i1n7wXt4/79OsoT61K1NTFVvM85AQgz2jC4s765fgkFAzewIFzD73NNj7qT+/ZPkM+/jppaNgnBg4scpJwVgMi6NvZNKaLDPZdTMHgtv1/OA+dsXRFj0IuXyOd7nCaUPium7lccwhvJpey81wIQVa+GcbWfNm44m1sFGPFazl/JJhaIkihvmfEoRC9ndBOX5SUuxwZauvwtIZ50qO+QGUWON5daABQcMwfQHS0LyAhwy2AKxUK+pucmZEEYtL5mgl34N1B1/eu5MJBVVKHUWQuAlD1jHc3u0sHemSSGZ1FQzGKwzWKBGLl61nXqZDWEDzjtXZz2LvIZu1j9+H1qLN6tuzVj60z2RguAjDtxuoVMwRthYZjCaw91ZIg6EgYfesBXgmFgUchdqgLui4euSEOIQX43YF6JrwQDsUYrh23jsK38vo3f7TPBXiR2pdKOTpwsSXvv/x8AJDjD09C0zQAAAABJRU5ErkJggg=='/>\n </defs>\n </svg>\n );\n}","import React from 'react';\n\nexport function MicrosoftTeamsAvatar(): JSX.Element {\n return (\n <svg viewBox='0 0 40 40' fill='none'>\n <path d='M29.692 15.31c.58 0 1.146-.173 1.628-.5a2.96 2.96 0 001.078-1.331 3.004 3.004 0 00-.634-3.235 2.918 2.918 0 00-1.5-.812 2.894 2.894 0 00-1.693.169 2.938 2.938 0 00-1.314 1.093 2.997 2.997 0 00.364 3.748 2.91 2.91 0 002.071.869zM20.043 26.267V13.849a.9.9 0 00-.259-.633.877.877 0 00-.624-.262H6.883a.877.877 0 00-.624.262.9.9 0 00-.259.633v12.418c0 .24.092.469.257.64.165.172.39.27.626.276H19.16a.899.899 0 00.626-.276.923.923 0 00.257-.64zm-3.51-10.389v1.92h-2.37v6.68H11.88V17.93H9.51v-2.182h7.022v.13z' fill='#fff'/>\n <path d='M21.874 14.132v.917a4.03 4.03 0 002.05-1.47c.512-.699.79-1.545.793-2.415 0-1.1-.431-2.154-1.199-2.932a4.065 4.065 0 00-2.893-1.214 4.065 4.065 0 00-2.894 1.214 4.175 4.175 0 00-1.199 2.932h2.391a2.996 2.996 0 012.061.887c.55.552.868 1.297.89 2.081zM26.332 17.1h-4.458v8.883c0 .8-.309 1.566-.86 2.138-.552.57-1.302.9-2.091.917h-4.588a7.047 7.047 0 003.265 3.317c1.427.7 3.046.887 4.593.532a6.99 6.99 0 003.918-2.486 7.152 7.152 0 001.535-4.418v-7.551a1.348 1.348 0 00-.385-.942 1.313 1.313 0 00-.929-.39zM32.772 17.1h-3.597c.206.414.316.87.323 1.332v7.551a9.1 9.1 0 01-.516 2.859c.236.021.474.021.71 0a4.28 4.28 0 003.046-1.278A4.394 4.394 0 0034 24.477v-6.045c0-.339-.126-.665-.354-.912a1.307 1.307 0 00-.874-.42z' fill='#fff'/>\n </svg>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\n\nimport { GoogleClassroomAvatar } from './avatars/GoogleClassroomAvatar';\nimport { MicrosoftTeamsAvatar } from './avatars/MicrosoftTeamsAvatar';\n\nimport styles from './share-integrations.scss';\n\nconst namespace = 'share.shareIntegrations';\n\nexport function ShareIntegrationsStack(): JSX.Element {\n const className = `${styles.avatar} border border-light rounded-circle overflow-hidden`;\n\n return (\n <Tooltip title={LanguageService.getPhrase(namespace, 'shareThroughIntegrations')} spanHack>\n <ul className='list-unstyled d-flex mb-0'>\n <li className={className} style={{ zIndex: 1 }}>\n <GoogleClassroomAvatar />\n </li>\n\n <li className={`${className} ${styles.msTeamsContainer}`} style={{ zIndex: 0 }}>\n <MicrosoftTeamsAvatar />\n </li>\n </ul>\n </Tooltip>\n );\n}","import React from 'react';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EventVersion, ShareDescriptors, UserAction } from 'libs/analytics/interfaces';\n\nimport { ShareLinkInfo } from 'libs/shared/apps/share/components/share-link-info/ShareLinkInfo';\nimport { SharePrivacyResponse } from 'libs/shared/apps/share/interfaces/responses/SharePrivacyResponse';\nimport { SharePrivacy } from 'libs/shared/apps/share/interfaces/SharePrivacy';\nimport { ShareIntegrationsStack } from 'libs/shared/apps/share/views/share/components/share-integrations/ShareIntegrationsStack';\nimport { SharableEntityType, ShareViewHelper } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { CopyInput } from 'libs/shared/components/copy-input/CopyInput';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { BaseObject, ShareLink, YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'share.shareAsLink';\n\ninterface ShareAsLinkProps {\n entity: BaseObject;\n entityType: SharableEntityType;\n shareLink: ShareLink;\n onClickShowSettings: () => void;\n onClickCreateLink: () => void;\n shareLinkIsLoading?: boolean;\n canAddPolicies: boolean;\n privacy: SharePrivacyResponse;\n entityTypeId: MasterType;\n onClickSavePrivacy: (privacy: SharePrivacy, overrideRestrictions: boolean) => void;\n enableIntegrations: boolean;\n hasStudentExp: boolean;\n yearGroups: YearGroup[];\n shareOverrideRestrictions: boolean;\n}\n\nexport function ShareAsLink(props: ShareAsLinkProps): React.ReactElement {\n const [ logged, setLogged ] = React.useState(false);\n\n function onCopy(): void {\n // Because our users are double clickers\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 <>\n <div className='d-flex justify-content-between align-items-center'>\n <div className={`${props.shareLink ? 'w-100' : 'w-75 d-flex align-items-center'}`}>\n {props.shareLink\n ? (\n <>\n <div className='d-flex justify-content-between align-items-center mb-1'>\n <ShareLinkInfo\n linkExpireDate={props.shareLink.linkExpireDate}\n isPasswordProtected={props.shareLink.isPasswordProtected}\n privacy={props.privacy}\n entityTypeId={props.shareLink.objectTypeId}\n status={props.shareLink.status}\n onClickSavePrivacy={props.onClickSavePrivacy}\n hasStudentExp={props.hasStudentExp}\n entity={props.entity}\n yearGroups={props.yearGroups}\n shareOverrideRestrictions={props.shareOverrideRestrictions}\n />\n </div>\n <CopyInput value={props.shareLink.url} onCopy={onCopy} />\n </>\n ) : (\n <div className='d-flex align-items-center'>\n <div className='me-2'>\n {props.enableIntegrations ? (\n <ShareIntegrationsStack />\n ) : (\n <SvgContainer svgName={cvSvgLibrary.Link} className='svg-container' />\n )}\n </div>\n \n <span className='fw-semibold'><Text namespace={namespace} phrase='createLink' /></span>\n </div>\n )\n }\n </div>\n {!props.shareLink &&\n <DivButton className='info-link' onClick={props.onClickCreateLink}>\n <Text phrase='createLink' />\n </DivButton>\n }\n </div>\n </>\n );\n}","import React from 'react';\nimport { Form as FormikForm } from 'formik';\nimport * as Yup from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { FormWrapper, useFormikContextWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { VideoItemRestrictionBadge } from 'libs/shared/components/video-list/components/video-item-restriction-badge/VideoItemRestrictionBadge';\nimport { BaseObject, YearGroup } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nconst getPhrase = LanguageService.encloseNamespace('share.shareMessage');\n\nconst MessageValidationSchema = Yup.object().shape({\n message: Yup.string()\n .max(280, () => getPhrase('maxMessageLen'))\n});\n\ninterface ShareMessageRequest {\n message?: string;\n}\n\ninterface ShareMessageFormProps {\n entity: BaseObject;\n yearGroups: YearGroup[];\n shareOverrideRestrictions: boolean;\n}\n\nfunction ShareMessageForm(props: ShareMessageFormProps): React.ReactElement {\n const formikProps = useFormikContextWrapper<ShareMessageRequest>();\n\n return (\n <FormikForm>\n <FormField\n component='textarea'\n name='message'\n id='message'\n placeholder={getPhrase('placeholder')}\n value={formikProps.values.message}\n label={getPhrase('label')}\n showOptionalLabel\n />\n {!props.shareOverrideRestrictions && VideoHelper.isVideoType(props.entity) &&\n <div className='mb-3'><VideoItemRestrictionBadge video={props.entity} yearGroups={props.yearGroups}/></div>}\n <PopupButtons>\n <PopupButtons.Submit variant='dark' text={getPhrase('share')} />\n </PopupButtons>\n </FormikForm>\n );\n}\n\ninterface ShareMessageProps {\n onClickShare: (message: string, onDone: () => void) => void;\n entity: BaseObject;\n yearGroups: YearGroup[];\n shareOverrideRestrictions: boolean;\n}\n\nexport function ShareMessage(props: ShareMessageProps): React.ReactElement {\n function onSubmit(data: ShareMessageRequest, onDone: () => void): void {\n let message: string = null;\n\n if (data.message)\n message = data.message;\n\n props.onClickShare(message, onDone);\n }\n\n return (\n <FormWrapper<ShareMessageRequest>\n initialValues={{ message: '' }}\n validationSchema={MessageValidationSchema}\n onSubmit={onSubmit}\n allowInitialSubmit={true}\n >\n <ShareMessageForm\n entity={props.entity}\n yearGroups={props.yearGroups}\n shareOverrideRestrictions={props.shareOverrideRestrictions}\n />\n </FormWrapper>\n );\n}","import React from 'react';\nimport { Spinner } from 'react-bootstrap';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { TypeFilter } from 'libs/shared/apps/search/interfaces/TypedFilter';\nimport { GetEmbedCode } from 'libs/shared/apps/share/components/get-embed-code/GetEmbedCode';\nimport { RecipientItem } from 'libs/shared/apps/share/components/recipient-item/RecipientItem';\nimport { TOKENIZED_TYPEAHEAD_SUGGESTIONS_LIMIT, TokenizedTypeahead } from 'libs/shared/apps/share/components/tokenized-typeahead/TokenizedTypeahead';\nimport { SharePrivacyResponse } from 'libs/shared/apps/share/interfaces/responses/SharePrivacyResponse';\nimport { SharePrivacy } from 'libs/shared/apps/share/interfaces/SharePrivacy';\nimport { ShareAsLink } from 'libs/shared/apps/share/views/share/components/share-as-link/ShareAsLink';\nimport { ShareIntegrations } from 'libs/shared/apps/share/views/share/components/share-integrations/ShareIntegrations';\nimport { ShareMessage } from 'libs/shared/apps/share/views/share/components/share-message/ShareMessage';\nimport { SharableEntityType } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { IntegrationId } from 'libs/shared/enums/IntegrationId';\nimport { ObjectStatus } from 'libs/shared/enums/ObjectStatus';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { HasLocalPermissionsFunc, usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { BaseObject, Classroom, ClassroomGroup, CurrentUser, PropsWithAnalyticsOptions, ShareLink, ShareRecipient, ShareSearchResponse, UserCollection, YearGroup } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.share';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction filterSearchResults(\n recipientsToFilter: BaseObject[],\n currentSelections: BaseObject[],\n existingShareRecipients: BaseObject[],\n currentUserId: string\n): BaseObject[] {\n if (!recipientsToFilter)\n return [];\n\n const selectedIds = [ ...currentSelections, ...existingShareRecipients ].map(s => s.id);\n\n return recipientsToFilter.filter(s => {\n // Prevent users from sharing to other users who have already been shared this resource\n if (selectedIds.includes(s.id))\n return false;\n\n // Prevent users from sharing to themselves\n if (s.id === currentUserId)\n return false;\n\n return true;\n });\n}\n\ntype MainShareProps = PropsWithAnalyticsOptions<{\n entity: BaseObject;\n entityType: SharableEntityType,\n directShareRecipients: BaseObject[];\n recentlySharedTo: BaseObject[];\n onClickCreateLink: () => void;\n onClickShowSettings: () => void;\n onClickShare: (recipients: ShareRecipient[], message: string, onDone?: () => void) => void;\n onClickRemoveRecipient: (recipientId: string, onError?: () => void) => void;\n onClickSavePrivacy: (privacy: SharePrivacy, overrideRestrictions: boolean) => void;\n onClickGetEmbedCode: () => void;\n gatewayApiUrl: string;\n imageCdnUrl: string;\n currentUser: CurrentUser;\n searchRequestHeaders?: HashObject;\n emptyStateImageUrl: string;\n errorStateImageUrl: string;\n integrations: IntegrationId[];\n shareLink?: ShareLink;\n shareLinkIsLoading?: boolean;\n fetchRecipientUsers?: (id: string, callback: (users: UserCollection) => void) => void;\n canAddPolicies: boolean;\n privacy: SharePrivacyResponse;\n integrationSettingAppLink?: Core.AppLink;\n messagePopupAppLink?: Core.AppLink;\n closePopup: () => void;\n enableIntegrationBanner?: boolean;\n canEmbed?: boolean;\n yearGroups: YearGroup[];\n shareOverrideRestrictions: boolean;\n hasLocalPermissions: HasLocalPermissionsFunc;\n}>;\n\nexport function MainShare(props: MainShareProps): JSX.Element {\n const [ selections, setSelections ] = React.useState<BaseObject[]>([]);\n const [ showShareLinkSpinner, setShowShareLinkSpinner ] = React.useState(false);\n\n const { hasPermissions } = usePermissions();\n const { hasClassrooms } = useSettings(null);\n const hasManageIntegrationsPermission = hasPermissions(PermissionName.ManageIntegrations);\n\n function onClickShare(message: string, onDone: () => void): void {\n props.onClickShare(\n selections.map(s => ({ id: s.id, typeId: s.typeId })),\n message,\n () => {\n setSelections([]);\n onDone();\n }\n );\n }\n\n function fetchSelectionMembers(id: string): void {\n if (!props.fetchRecipientUsers)\n return;\n\n const callback = (users: UserCollection) => {\n const newSelections: BaseObject[] = [];\n\n selections.forEach(selection => {\n if (selection.id !== id)\n return newSelections.push(selection);\n\n const updatedSelection = ObjectHelper.deepClone<Classroom | ClassroomGroup>(selection);\n\n if (!users?.data?.length) {\n updatedSelection.users = { count: 0, data: [], pagination: null };\n } else {\n updatedSelection.users = users;\n }\n\n newSelections.push(updatedSelection);\n });\n\n setSelections(ArrayHelper.uniq(newSelections, 'id'));\n };\n\n props.fetchRecipientUsers(id, callback);\n }\n\n function getRemotePostBody(query: string): HashObject {\n const indices: TypeFilter[] = [];\n\n if (hasPermissions(PermissionName.ShareToUsers)) {\n indices.push({\n index: 'user',\n filters: {\n userProfile: {\n status: [`${ObjectStatus.Active.toLowerCase()}`],\n customerId: props.currentUser.customerId\n }\n }\n });\n }\n\n if (hasPermissions(PermissionName.ShareToClassrooms))\n indices.push({ index: 'classroom' });\n\n if (hasPermissions(PermissionName.ShareToClassroomGroups))\n indices.push({ index: 'classroom_group' });\n\n return {\n query,\n indices,\n searchType: 'user',\n limit: TOKENIZED_TYPEAHEAD_SUGGESTIONS_LIMIT\n };\n }\n\n const canDirectShare = hasPermissions(PermissionName.ShareToUsers) ||\n hasPermissions(PermissionName.ShareToClassrooms) ||\n hasPermissions(PermissionName.ShareToClassroomGroups);\n\n const recentSearches = filterSearchResults(\n props.recentlySharedTo,\n selections,\n props.directShareRecipients,\n props.currentUser.id\n );\n \n function onClickCreateShareLink(): void {\n setShowShareLinkSpinner(true);\n props.onClickCreateLink();\n }\n\n React.useEffect(() => {\n setShowShareLinkSpinner(!!props.shareLinkIsLoading);\n }, [props.shareLinkIsLoading]);\n\n return (\n <>\n {canDirectShare && (\n <div className='bg-white rounded-bottom-3 pt-3 px-3 mb-2'>\n <div className={`d-flex justify-content-between align-items-center pb-3`}>\n <TokenizedTypeahead\n // This key is used to re-initialize TokenizedTypeahead whenever recentSearches changes\n key={recentSearches?.map(s => s.id).join(':') ?? 'share:search'}\n getRemoteUrl={() => UrlHelper.safeUrlConcat(props.gatewayApiUrl, 'v4/search')}\n getRemotePostBody={getRemotePostBody}\n requestHeaders={props.searchRequestHeaders}\n formatRemoteSuggestions={(suggestions: ShareSearchResponse) =>\n filterSearchResults(\n suggestions?.results,\n selections,\n props.directShareRecipients,\n props.currentUser.id\n )\n }\n recentSearches={recentSearches}\n selections={selections}\n onSuggestionSelected={selection => setSelections([ ...selections, selection ])}\n removeSelection={selection => setSelections(selections.filter(s => s.id !== selection.id))}\n placeholder={hasClassrooms\n ? getPhrase('searchPlaceholder')\n : getPhrase('searchPlaceholderNoClassrooms')}\n imageCdnUrl={props.imageCdnUrl}\n activationLength={2}\n fetchSelectionMembers={props.fetchRecipientUsers && fetchSelectionMembers}\n debounceTime={300}\n emptyStateImageUrl={props.emptyStateImageUrl}\n errorStateImageUrl={props.errorStateImageUrl}\n hasStudentExperience={hasPermissions(PermissionName.StudentExperience)}\n />\n </div>\n \n {(!selections.length && props.directShareRecipients.length)\n ? (\n <div>\n <h3 className='font-size-normal'><Text phrase='sharedTo' /></h3>\n <Scrollbars autoHeight>\n <ul className='list-unstyled'>\n {props.directShareRecipients.map(d => (\n <li key={d.id} className='mb-2 pe-1'>\n <RecipientItem\n entity={d}\n imageCdnUrl={props.imageCdnUrl}\n removeRecipient={props.onClickRemoveRecipient}\n showDisplayName={hasPermissions(PermissionName.StudentExperience)}\n />\n </li>\n ))}\n </ul>\n </Scrollbars>\n </div>\n ) : <></>\n }\n {!!selections.length && (\n // The form submit inside of ShareMessage is used as the Share button\n <div className='pb-3'>\n <ShareMessage\n onClickShare={onClickShare}\n entity={props.entity}\n yearGroups={props.yearGroups}\n shareOverrideRestrictions={props.shareOverrideRestrictions}\n />\n </div>\n )}\n </div>\n )}\n\n {!selections.length && !showShareLinkSpinner && (\n <div className={`bg-white p-3 ${canDirectShare ? 'rounded-3' : 'rounded-bottom-3'}`}>\n <div>\n {props.shareLink && (\n <div className='fw-semibold mb-2'><Text namespace={namespace} phrase='shareLink' /></div>\n )}\n <ShareAsLink\n entity={props.entity}\n entityType={props.entityType}\n shareLink={props.shareLink}\n onClickShowSettings={props.onClickShowSettings}\n onClickCreateLink={onClickCreateShareLink}\n shareLinkIsLoading={props.shareLinkIsLoading}\n canAddPolicies={props.canAddPolicies}\n privacy={props.privacy}\n entityTypeId={props.entity.typeId}\n onClickSavePrivacy={props.onClickSavePrivacy}\n enableIntegrations={props.enableIntegrationBanner}\n hasStudentExp={hasPermissions(PermissionName.StudentExperience)}\n yearGroups={props.yearGroups}\n shareOverrideRestrictions={props.shareOverrideRestrictions}\n />\n {props.shareLink && props.enableIntegrationBanner && (\n <div className={`${props.integrations?.length && props.canEmbed ? 'float-end' : ''} mt-1 pt-1`}>\n <ShareIntegrations\n integrations={props.integrations}\n url={props.shareLink.url}\n closePopup={props.closePopup}\n appLink={hasManageIntegrationsPermission\n ? props.integrationSettingAppLink\n : props.messagePopupAppLink\n }\n />\n </div>\n )}\n {props.shareLink && props.canEmbed && (\n <div className='mt-1'>\n <GetEmbedCode onClickGetEmbedCode={props.onClickGetEmbedCode} />\n </div>\n )}\n {props.shareLink && props.canAddPolicies &&\n <button className='btn btn-link text-info mt-2 p-0' onClick={props.onClickShowSettings}>\n <Text namespace={namespace} phrase='advancedSettings' />\n </button>\n }\n </div>\n </div>\n )}\n \n {showShareLinkSpinner && (\n <div className='bg-white rounded-3 p-3 text-center'>\n <Spinner as='div' animation='border' role='status' />\n </div>\n )}\n </>\n );\n}\n","import React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { AppLink } from 'libs/common/backbone/core';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\n\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { EditShareLinkRequest } from 'libs/shared/apps/share/interfaces/requests/EditShareLinkRequest';\nimport { SharePrivacyResponse } from 'libs/shared/apps/share/interfaces/responses/SharePrivacyResponse';\nimport { SharePrivacy } from 'libs/shared/apps/share/interfaces/SharePrivacy';\nimport { RecentShareHelper } from 'libs/shared/apps/share/utils/RecentShareHelper';\nimport { CopyEmbed } from 'libs/shared/apps/share/views/share/components/copy-embed/CopyEmbed';\nimport { MainShare } from 'libs/shared/apps/share/views/share/components/main-share/MainShare';\nimport { ShareSettings } from 'libs/shared/apps/share/views/share/components/share-settings/ShareSettings';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { LanguageNamespaceContext } from 'libs/shared/components/text/Text';\nimport { IntegrationId } from 'libs/shared/enums/IntegrationId';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport {\n BaseObject, Config, CurrentUser,\n DirectShare, PopupViewProps, ShareLink, ShareRecipient, UserCollection, YearGroup\n} from 'libs/shared/interfaces';\nimport { IntegrationHelper } from 'libs/shared/utils/IntegrationHelper';\n\nimport { SharableEntityType, ShareViewHelper } from './ShareViewHelper';\n\nconst namespace = 'shared.share';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getTitle(type: SharableEntityType): string {\n switch (type) {\n case 'video': return getPhrase('titleVideo');\n case 'clip': return getPhrase('titleClip');\n case 'interactive': return getPhrase('titleInteractive');\n case 'series': return getPhrase('titleSeries');\n case 'playlist': return getPhrase('titlePlaylist');\n case 'subject': return getPhrase('titleTopic');\n }\n}\n\nfunction 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/**\n * I realise these are all the same right now, but they're technically different things - Sha\n */\nconst canEmbed = (type: SharableEntityType) => type === 'video' || type === 'interactive' || type === 'clip';\nconst canAddPolicies = (type: SharableEntityType) => type === 'video' || type === 'interactive' || type === 'clip';\n\ntype ShareScreen = 'main' | 'link-settings' | 'copy-embed';\n\ninterface ShareViewProps extends PopupViewProps {\n entityId: string;\n entityType: SharableEntityType;\n emptyStateImageUrl: string;\n errorStateImageUrl: string;\n gatewayApiUrl?: string;\n integrationSettingAppLink?: AppLink;\n messagePopupAppLink?: AppLink;\n enableIntegrationBanner?: boolean\n}\n\nexport function ShareView(props: ShareViewProps): JSX.Element {\n const dispatch = useDispatch();\n\n const alerts = useAlerts();\n\n // If the gateway api url is passed down in props and not pulled from the config, we don't need to fetch the user token\n const shouldFetchUserToken = !props.gatewayApiUrl;\n\n /**\n * Our screen is initially set to null, and it is set to it's initial state\n * by ShareViewHelper.useRestrictionWarning.\n */\n const [ screen, setScreen ] = React.useState<ShareScreen>('main');\n\n const { hasPermissions, hasLocalPermissions } = usePermissions();\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 userToken = Flight.useBasicFetch<HashObject>(shouldFetchUserToken && UserRequests.token());\n const shareLink = Flight.useBasicFetch<ShareLink>(ShareRequests.getShareLinkByObjectId(props.entityId));\n const sentDirectShare = Flight.useBasicFetch<DirectShare>(\n ShareRequests.getSentDirectShareByObjectId(props.entityId)\n );\n const recipients = Flight.useBasicFetch<BaseObject[]>(currentUser.data?.customerId &&\n ShareViewHelper.getDirectShareRecipientsRequest(currentUser.data.customerId, sentDirectShare.data));\n\n const recentlySharedToIds = currentUser.data && RecentShareHelper.getRecentlySharedTo(currentUser.data.id);\n\n const hasRecentlySharedRecipients = !!recentlySharedToIds?.length;\n const recentlySharedTo = Flight.useBasicFetch<BaseObject[]>(hasRecentlySharedRecipients &&\n ShareRequests.getRecipientsById(recentlySharedToIds, currentUser.data.customerId));\n\n const privacy = Flight.useBasicFetch<SharePrivacyResponse>(ShareRequests.getPrivacy(props.entityId));\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const {\n shareToGoogleClassroom,\n shareToMicrosoftTeams,\n shareOverrideRestrictions,\n isLoadingSettings\n } = useSettings(null);\n\n /**\n * We need to manually re-fetch the recipients they're updated on the directShare object.\n * See ShareRequests.getDirectShareRecipientsById for an explanation\n * of why we are doing this.\n */\n function fetchRecipients(customerId: string, directShare: DirectShare): void {\n if (directShare.recipients?.length)\n Flight.getFetch(dispatch)(ShareViewHelper.getDirectShareRecipientsRequest(customerId, directShare));\n }\n\n function fetchRecipientUsers(id: string, callback: (users: UserCollection) => void): void {\n Flight.getFetch(dispatch)(ShareRequests.getRecipientUsers(id, callback));\n }\n\n function onClickCreateLink(): void {\n if (shareLink.data)\n return;\n\n ShareViewHelper.createLink({\n dispatch,\n entity: entity.data,\n entityType: props.entityType,\n alerts\n });\n }\n\n function onClickSaveLink(data: EditShareLinkRequest, onError: () => void): void {\n ShareViewHelper.updateLink(\n dispatch,\n entity.data,\n props.entityType,\n shareLink.data,\n data,\n alerts,\n () => setScreen('main'),\n onError\n );\n }\n\n function onClickDeleteLink(): void {\n ShareViewHelper.deleteLink(\n dispatch,\n entity.data,\n props.entityType,\n shareLink.data,\n alerts,\n () => setScreen('main')\n );\n }\n\n function onClickShare(recipients: ShareRecipient[], message: string, onDone?: () => void): void {\n ShareViewHelper.createOrUpdateDirectShare({\n dispatch,\n entity: entity.data,\n entityType: props.entityType,\n currentUser: currentUser.data,\n recipients,\n message,\n sentDirectShare: sentDirectShare.data,\n onSuccess: directShare => fetchRecipients(currentUser.data.customerId, directShare),\n onError: () => alerts.error(getPhrase('directShareError', { name: entity.data.name })),\n onDone\n });\n }\n\n function onClickRemoveRecipient(recipientId: string, onError?: () => void): void {\n ShareViewHelper.removeDirectShareRecipient(\n dispatch,\n recipientId,\n props.entityType,\n sentDirectShare.data,\n directShare => fetchRecipients(currentUser.data.customerId, directShare),\n () => {\n alerts.error(getPhrase('removeDirectShareError'));\n onError && onError();\n }\n );\n }\n\n function onClickSavePrivacy(privacy: SharePrivacy, overrideRestrictions: boolean): void {\n if (privacy === 'private') {\n onClickDeleteLink();\n return;\n }\n\n Flight.fetch(\n dispatch,\n ShareRequests.updatePrivacy(\n shareLink.data.id,\n privacy,\n overrideRestrictions,\n () => alerts.success(getPhrase('privaciesSuccess', { name: entity.data.name })),\n () => alerts.error(getPhrase('privaciesError', { name: entity.data.name }))\n )\n );\n }\n\n function getSearchRequestHeaders(): HashObject {\n if (!shouldFetchUserToken)\n return null;\n\n return {\n authorization: `Bearer ${userToken.data.value}`\n };\n }\n\n /**\n * We are intentionally not checking to see if recipients.data or recentlySharedTo.data\n * have loaded because:\n * 1. Adding the first recipient will trigger fetching recipients for the first time\n * which would trigger the loading spinner.\n * 2. Adding and recipient will update the list of recently shared to which causes\n * recentlySharedTo to be re-fetched.\n */\n const dataLoaded = !!currentUser.data\n && !!config.data\n && (!shouldFetchUserToken || !!userToken.data)\n && !!sentDirectShare.hasCompleted\n && !!privacy.data\n && !!entity.data\n && !isLoadingSettings\n && !!yearGroups.hasCompleted;\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <Popup\n title={getTitle(props.entityType)}\n closePopup={props.closePopup}\n showLoadingSpinner={!dataLoaded}\n contentClassName={(dataLoaded && screen) ? 'bg-transparent border-0' : ''}\n bodyClassName='p-0'\n >\n {(() => {\n if (!dataLoaded)\n return <></>;\n\n switch (screen) {\n case 'main':\n return (\n <MainShare\n shareLink={shareLink.data}\n shareLinkIsLoading={shareLink.isFetching}\n entity={entity.data}\n entityType={props.entityType}\n directShareRecipients={recipients.data || []}\n recentlySharedTo={recentlySharedTo.data || []}\n onClickCreateLink={onClickCreateLink}\n onClickShowSettings={() => setScreen('link-settings')}\n onClickShare={onClickShare}\n onClickRemoveRecipient={onClickRemoveRecipient}\n onClickGetEmbedCode={() => setScreen('copy-embed')}\n analyticsOptions={ShareViewHelper.getAnalyticsOptions(props.entityType)}\n gatewayApiUrl={props.gatewayApiUrl || config.data.gatewayApiUrl}\n imageCdnUrl={config.data.imageCdnUrl}\n searchRequestHeaders={getSearchRequestHeaders()}\n currentUser={currentUser.data}\n fetchRecipientUsers={fetchRecipientUsers}\n privacy={privacy.data}\n onClickSavePrivacy={onClickSavePrivacy}\n canAddPolicies={canAddPolicies(props.entityType)}\n emptyStateImageUrl={props.emptyStateImageUrl}\n errorStateImageUrl={props.errorStateImageUrl}\n integrations={getEnabledIntegrations(shareToGoogleClassroom, shareToMicrosoftTeams)}\n integrationSettingAppLink={props.integrationSettingAppLink}\n messagePopupAppLink={props.messagePopupAppLink}\n closePopup={props.closePopup}\n enableIntegrationBanner={props.enableIntegrationBanner}\n canEmbed={canEmbed(props.entityType)}\n yearGroups={yearGroups.data}\n shareOverrideRestrictions={shareOverrideRestrictions}\n hasLocalPermissions={hasLocalPermissions}\n />\n );\n case 'link-settings':\n return (\n <div className='bg-white p-3 rounded-bottom-3'>\n <ShareSettings\n entity={entity.data}\n entityType={props.entityType}\n config={config.data}\n shareLink={shareLink.data}\n entityId={props.entityId}\n analyticsOptions={ShareViewHelper.getAnalyticsOptions(props.entityType)}\n onClickSaveLink={onClickSaveLink}\n onClickDeleteLink={onClickDeleteLink}\n onClickCancel={() => setScreen('main')}\n privacy={privacy.data}\n hasStudentExp={hasPermissions(PermissionName.StudentExperience)}\n shareOverrideRestrictions={shareOverrideRestrictions}\n />\n </div>\n );\n case 'copy-embed':\n return (\n <div className='bg-white p-3 rounded-bottom-3'>\n <CopyEmbed\n entity={entity.data}\n entityType={props.entityType}\n config={config.data}\n shareLink={shareLink.data}\n entityId={props.entityId}\n analyticsOptions={ShareViewHelper.getAnalyticsOptions(props.entityType)}\n onClickCancel={() => setScreen('main')}\n />\n </div>\n );\n }\n })()}\n </Popup>\n </LanguageNamespaceContext.Provider>\n );\n}\n","import * as React from 'react';\n\nimport styles from './badge.scss';\n\ninterface BadgeListContainerProps {\n className?: string;\n}\n\nexport function BadgeListContainer(props: React.PropsWithChildren<BadgeListContainerProps>): JSX.Element {\n let className = `d-flex align-items-center badge-list ${styles.minHeight}`;\n\n if (props.className)\n className += ` ${props.className}`;\n\n return (\n <div className={className}>\n {props.children}\n </div>\n );\n}","import * as React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { FieldAttributes } from 'formik';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport { FieldWrapper, FormFieldProps } from '../form-field/FormField';\n\n/**\n * Use this checkbox within Formik contexts\n */\nexport function FormCheckbox(props: FieldAttributes<FormFieldProps>): JSX.Element {\n const { label, checkboxLabelClassName, checkboxLabelFontWeight, className, ...fieldProps } = props;\n\n return (\n <Form.Group className='form-group'>\n <div className={`form-check ${className || ''}`}>\n <FieldWrapper className='form-check-input' {...fieldProps} />\n <Form.Label\n className={`form-check-label cursor-pointer ${checkboxLabelFontWeight === 'normal' ? 'fw-normal' : ''} \n ${checkboxLabelClassName}`}\n htmlFor={fieldProps.id}\n >\n {label}\n </Form.Label>\n {props.checkboxAppLink && props.checkboxAppLinkText && (\n <>\n <span> </span>\n <AppLink appLink={props.checkboxAppLink} className='info-link'>\n {props.checkboxAppLinkText}\n </AppLink>\n </>\n )}\n </div>\n </Form.Group>\n );\n}\n\n","import * as React from 'react';\nimport { useFormikContext } from 'formik';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\ninterface CharacterCounterProps<Values extends HashObject> {\n fieldName: keyof Values;\n limit: number;\n}\n\nexport function CharacterCounter<Values extends HashObject>(props: CharacterCounterProps<Values>): JSX.Element {\n const { values } = useFormikContext<Values>();\n\n const field = values[props.fieldName];\n\n if (typeof field !== 'string')\n return <></>;\n\n return (\n <div className='float-end text-secondary fw-normal'>\n {field.length}/{props.limit} characters\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"revealPassword\":\"jCfI0\",\"passwordInput\":\"RBJnf\",\"passwordContainer\":\"d78lK\",\"passwordContainerDisabled\":\"asbVo\",\"infoTooltip\":\"wzyOG\",\"spinner\":\"CycFx\"};","import * as React from 'react';\nimport { Form, Spinner } from 'react-bootstrap';\nimport { Placement } from 'react-bootstrap/esm/types';\nimport { ErrorMessage, Field, FieldAttributes, FieldProps, useFormikContext } from 'formik';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { FormCheckbox } from 'libs/shared/components/forms/form-checkbox/FormCheckbox';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { FormHelper } from 'libs/shared/utils/FormHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { CharacterCounter } from './CharacterCounter';\n\nimport styles from './form-field.scss';\n\nconst namespace = 'shared.formField';\n\nexport type FormSize = 'lg' | 'sm';\n\n// If checkboxLabelFontWeight is not specified, it will be bold by default\nexport type CheckboxLabelFontWeight = 'normal' | 'bold'\n\nexport interface FormFieldProps {\n /**\n * The name prop MUST be the same as the attribute\n * name of the value that the field is bound to.\n */\n name: string;\n label?: string;\n children?: any;\n showCharacterCounter?: boolean;\n showRequiredStar?: boolean;\n checkboxAppLink?: Core.AppLink;\n checkboxAppLinkText?: string;\n checkboxLabelClassName?: string;\n checkboxLabelFontWeight?: CheckboxLabelFontWeight\n infoTooltip?: string;\n infoTooltipPlacement?: Placement;\n infoText?: string;\n formSize?: FormSize;\n showOptionalLabel?: boolean;\n showLoadingSpinner?: boolean;\n}\n\nFieldWrapper.defaultProps = {\n autoComplete: 'off'\n};\n\nexport function FieldWrapper(\n props: FieldAttributes<FormFieldProps> & { className: string }\n): React.ReactElement {\n const { children, showLoadingSpinner, ...fieldProps } = props;\n\n const [ type, setType ] = React.useState(props.type);\n\n function onClickTogglePassword(): void {\n if (type === 'password')\n setType('text');\n else\n setType('password');\n }\n\n const resolvedChildren = FunctionHelper.isFunction(children)\n ? (f: FieldProps) => children(f)\n : React.Children.count(children) ? children : null;\n\n if (fieldProps.type !== 'password') {\n if (showLoadingSpinner) {\n return (\n <div className='position-relative'>\n <Field {...(ObjectHelper.omit(fieldProps, ['formSize']))}>\n {resolvedChildren}\n </Field>\n\n <div className={styles.spinner}>\n <Spinner animation='border' size='sm' />\n </div>\n </div>\n );\n }\n\n return (\n <Field {...(ObjectHelper.omit(fieldProps, ['formSize']))}>\n {resolvedChildren}\n </Field>\n );\n }\n\n let containerClassName = `position-relative ${styles.passwordContainer}`;\n\n if (fieldProps.className)\n containerClassName += ` ${fieldProps.className}`;\n\n if (fieldProps.disabled)\n containerClassName += ` ${styles.passwordContainerDisabled}`;\n\n /**\n * We need to wrap out input with a relatively positioned element in order to absolutely\n * position our visibility icon to reveal the password - Sha\n */\n return (\n <div className={containerClassName}>\n <Field\n {...(ObjectHelper.omit(fieldProps, [ 'formSize', 'type', 'className' ]))}\n type={type}\n className={`${styles.passwordInput} border-0 w-100 h-100 outline-none rounded`}\n >\n {resolvedChildren}\n </Field>\n {fieldProps.type === 'password' &&\n <SvgContainer\n svgName={type === 'password' ? cvSvgLibrary.VisibleOn : cvSvgLibrary.VisibleOff}\n className={`svg-container cursor-pointer ${styles.revealPassword}`}\n onClick={onClickTogglePassword}\n />\n }\n </div>\n );\n}\n\nFormField.defaultProps = {\n autoComplete: 'off',\n infoTooltipPlacement: 'top'\n};\n\nexport function FormField<Values extends HashObject>(props: FieldAttributes<FormFieldProps>): React.ReactElement {\n const {\n label,\n className,\n showCharacterCounter,\n showRequiredStar,\n infoTooltip,\n infoTooltipPlacement,\n infoText,\n formSize,\n showOptionalLabel,\n ...fieldProps\n } = props;\n\n const { errors, touched } = useFormikContext<Values>();\n\n // This function overwrites the default `onChange` function whenever `props.disabled` is set.\n // This prevents users from \"undisabling\" form fields via inspect element, then editing the field.\n const disabledOnChange = () => {};\n\n if (fieldProps.type === 'checkbox') {\n const _props = ObjectHelper.omit(props, [ 'formSize', 'infoTooltipPlacement' ]);\n\n if (props.disabled)\n _props.onChange = disabledOnChange;\n\n return <FormCheckbox {..._props} />;\n }\n\n const fieldWrapperProps = {\n ...fieldProps,\n className: FormHelper.getCustomFormControlClassName(\n errors,\n touched,\n fieldProps.name,\n formSize,\n className,\n typeof props.as === 'string' ? props.as : null\n )\n };\n\n if (props.disabled)\n fieldWrapperProps.onChange = disabledOnChange;\n\n return (\n <Form.Group className='form-group'>\n {!!label && (\n <Form.Label htmlFor={fieldProps.id} className='d-flex align-items-center'>\n {label}\n {showRequiredStar && <span className='text-danger'>*</span>}\n {infoTooltip && (\n <SvgContainer\n className={`svg-container text-secondary ${styles.infoTooltip}`}\n svgName={cvSvgLibrary.Info}\n title={infoTooltip}\n tooltipPlacement={infoTooltipPlacement}\n tooltipSpanHack\n />\n )}\n {showOptionalLabel && <span className='text-secondary'> <Text namespace={namespace} phrase='optional' /></span>}\n \n {!!showCharacterCounter && !!(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength &&\n <div className='ms-auto'>\n <CharacterCounter\n fieldName={(fieldProps.name as keyof Values)}\n limit={(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength}\n />\n </div>\n }\n </Form.Label>\n )}\n\n <FieldWrapper {...fieldWrapperProps} aria-errormessage={`${fieldProps.name}Error`} />\n\n {!!infoText &&\n <Form.Text className='text-secondary'>\n {infoText}\n </Form.Text>\n }\n\n <ErrorMessage name={fieldProps.name}>\n {(errorMessage: string) => <Form.Control.Feedback id={`${fieldProps.name}Error`} type='invalid' role='status'>{errorMessage}</Form.Control.Feedback>}\n </ErrorMessage>\n </Form.Group>\n );\n}","import React from 'react';\n\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { Restrictions, YearGroup } from 'libs/shared/interfaces';\n\ninterface RestrictionBadgeProps {\n restrictions: Restrictions;\n yearGroups: YearGroup[];\n}\n\nexport function RestrictionBadge(props: RestrictionBadgeProps): JSX.Element {\n return (\n <Badge\n type={BadgeType.Restriction}\n data={{ restrictions: props.restrictions, yearGroups: props.yearGroups }}\n inline\n />\n );\n}","import React from 'react';\n\nimport { BadgeListContainer } from 'libs/shared/components/badges/BadgeListContainer';\nimport { RestrictionBadge } from 'libs/shared/components/video-list/components/video-item-restriction-badge/RestrictionBadge';\nimport { VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { RestrictionHelper } from 'libs/shared/utils/RestrictionHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\ninterface VideoItemRestrictionBadgeProps {\n video: VideoTypes;\n yearGroups: YearGroup[];\n className?: string;\n}\n\nexport function VideoItemRestrictionBadge(props: VideoItemRestrictionBadgeProps): JSX.Element {\n const hasRestrictions = RestrictionHelper.hasRestrictions(props.video);\n const { canConsume } = VideoHelper.getCanBeConsumed(props.video);\n\n if (!hasRestrictions || !props.yearGroups || !canConsume)\n return <></>;\n \n return (\n <BadgeListContainer className={props.className || 'pt-1'}>\n <RestrictionBadge restrictions={props.video._restrictions} yearGroups={props.yearGroups} />\n </BadgeListContainer>\n );\n}","import { FormikErrors, FormikTouched, getIn } from 'formik';\n\nimport { FormSize } from 'libs/shared/components/forms/form-field/FormField';\n\nfunction getTypeSize(type: string, size: FormSize) {\n let className = '';\n\n switch (type) {\n case 'select':\n className = 'form-select';\n break;\n default:\n className = 'form-control';\n }\n\n if (size === 'sm')\n className += ` ${className}-sm`;\n\n if (size === 'lg')\n className += ` ${className}-lg`;\n\n return className;\n}\n\nexport const FormHelper = {\n getCustomFormControlClassName<T>(\n errors: FormikErrors<T>,\n touched: FormikTouched<T>,\n attribute: string,\n size?: FormSize,\n additionalClassName?: string,\n type?: string\n ): string {\n let className = '';\n\n className = getTypeSize(type, size);\n\n // Using getIn as it supports dot notation\n if (getIn(touched, attribute) && getIn(errors, attribute))\n className += ' is-invalid';\n\n if (additionalClassName)\n className += ` ${additionalClassName}`;\n\n return className;\n }\n};"],"names":["namespace","getPhrase","LanguageService","CopyEmbedHtml","props","videoSizes","EmbedHelper","copyBtnPhrase","setCopyBtnPhrase","autoplay","setAutoplay","find","s","width","videoSize","setVideoSize","logged","setLogged","url","embedUrl","host","config","primaryUrl","shareId","embedString","size","value","Text","phrase","className","spellCheck","rows","readOnly","CopyToClipboard","onCopy","setTimeout","AnalyticsHelper","entity","embedDetails","ShareViewHelper","entityType","actionType","descriptor","eventVersion","text","type","EmbedSize","CopyEmbed","shareLink","entityId","id","analyticsOptions","PopupButtons","DivButton","onClick","onClickCancel","GetEmbedCode","onClickGetEmbedCode","SvgContainer","svgName","S","GoogleClassroomAvatar","height","viewBox","fill","cx","cy","r","patternContentUnits","xlinkHref","transform","MicrosoftTeamsAvatar","d","ShareIntegrationsStack","Tooltip","title","spanHack","style","zIndex","ShareAsLink","ShareLinkInfo","linkExpireDate","isPasswordProtected","privacy","entityTypeId","objectTypeId","status","onClickSavePrivacy","hasStudentExp","yearGroups","shareOverrideRestrictions","CopyInput","name","enableIntegrations","onClickCreateLink","MessageValidationSchema","shape","message","max","ShareMessageForm","formikProps","FormField","component","placeholder","values","label","showOptionalLabel","VideoHelper","VideoItemRestrictionBadge","video","variant","ShareMessage","FormWrapper","initialValues","validationSchema","onSubmit","data","onDone","onClickShare","allowInitialSubmit","filterSearchResults","recipientsToFilter","currentSelections","existingShareRecipients","currentUserId","selectedIds","map","filter","includes","MainShare","selections","setSelections","showShareLinkSpinner","setShowShareLinkSpinner","hasPermissions","usePermissions","hasClassrooms","useSettings","hasManageIntegrationsPermission","PermissionName","canDirectShare","recentSearches","recentlySharedTo","directShareRecipients","currentUser","shareLinkIsLoading","TokenizedTypeahead","key","join","getRemoteUrl","UrlHelper","gatewayApiUrl","getRemotePostBody","query","indices","push","index","filters","userProfile","ObjectStatus","customerId","searchType","limit","requestHeaders","searchRequestHeaders","formatRemoteSuggestions","suggestions","results","onSuggestionSelected","selection","removeSelection","imageCdnUrl","activationLength","fetchSelectionMembers","fetchRecipientUsers","users","newSelections","forEach","updatedSelection","ObjectHelper","length","count","pagination","ArrayHelper","debounceTime","emptyStateImageUrl","errorStateImageUrl","hasStudentExperience","autoHeight","RecipientItem","removeRecipient","onClickRemoveRecipient","showDisplayName","typeId","onClickShowSettings","canAddPolicies","enableIntegrationBanner","integrations","canEmbed","ShareIntegrations","closePopup","appLink","integrationSettingAppLink","messagePopupAppLink","Spinner","as","animation","role","getTitle","ShareView","dispatch","alerts","shouldFetchUserToken","screen","setScreen","hasLocalPermissions","UserRequests","ConfigRequests","userToken","ShareRequests","sentDirectShare","recipients","recentlySharedToIds","RecentShareHelper","R","hasRecentlySharedRecipients","isAuthenticated","CustomerRequests","shareToGoogleClassroom","shareToMicrosoftTeams","isLoadingSettings","fetchRecipients","directShare","callback","onClickSaveLink","onError","onClickDeleteLink","onSuccess","error","recipientId","overrideRestrictions","success","dataLoaded","hasCompleted","Popup","showLoadingSpinner","contentClassName","bodyClassName","isFetching","authorization","googleClassroomSetting","msftTeamsSetting","IntegrationHelper","i","enabled","ShareSettings","BadgeListContainer","children","FormCheckbox","checkboxLabelClassName","checkboxLabelFontWeight","fieldProps","Form","FieldWrapper","htmlFor","checkboxAppLink","checkboxAppLinkText","AppLink","CharacterCounter","field","fieldName","setType","resolvedChildren","FunctionHelper","f","containerClassName","disabled","showCharacterCounter","showRequiredStar","infoTooltip","infoTooltipPlacement","infoText","formSize","errors","touched","disabledOnChange","_props","onChange","fieldWrapperProps","FormHelper","tooltipPlacement","tooltipSpanHack","maxLength","errorMessage","defaultProps","autoComplete","RestrictionBadge","restrictions","inline","hasRestrictions","canConsume","_restrictions","getCustomFormControlClassName","attribute","additionalClassName","getTypeSize"],"sourceRoot":""}
|