@clickview/lite 0.82.1 → 0.82.2-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +1 -1
- package/dist/css/2074-lite-ac8da6c78b.chunk.css +4 -0
- package/dist/languages/en.json +1 -1
- package/dist/scripts/{1199-01cc084886-lite.chunk.js → 1199-da55d69853-lite.chunk.js} +1 -1
- package/dist/scripts/{1199-01cc084886-lite.chunk.js.map → 1199-da55d69853-lite.chunk.js.map} +1 -1
- package/dist/scripts/1202-d96ad80884-lite.chunk.js +2 -0
- package/dist/scripts/1202-d96ad80884-lite.chunk.js.map +1 -0
- package/dist/scripts/{4208-0706461da6-lite.chunk.js → 1336-1826f6e582-lite.chunk.js} +2 -2
- package/dist/scripts/1336-1826f6e582-lite.chunk.js.map +1 -0
- package/dist/scripts/2074-39b86b9a22-lite.chunk.js +2 -0
- package/dist/scripts/2074-39b86b9a22-lite.chunk.js.map +1 -0
- package/dist/scripts/{2664-907153c03b-lite.chunk.js → 2664-87c8cbfa7f-lite.chunk.js} +2 -2
- package/dist/scripts/2664-87c8cbfa7f-lite.chunk.js.map +1 -0
- package/dist/scripts/2888-2596e106a5-lite.chunk.js +2 -0
- package/dist/scripts/2888-2596e106a5-lite.chunk.js.map +1 -0
- package/dist/scripts/289-669c0c8222-lite.chunk.js +2 -0
- package/dist/scripts/289-669c0c8222-lite.chunk.js.map +1 -0
- package/dist/scripts/{9911-8892b6dbfe-lite.chunk.js → 3612-8c6423bd51-lite.chunk.js} +2 -2
- package/dist/scripts/{9911-8892b6dbfe-lite.chunk.js.map → 3612-8c6423bd51-lite.chunk.js.map} +1 -1
- package/dist/scripts/3840-98c79fc0d8-lite.chunk.js +2 -0
- package/dist/scripts/3840-98c79fc0d8-lite.chunk.js.map +1 -0
- package/dist/scripts/3893-2856933742-lite.chunk.js +2 -0
- package/dist/scripts/3893-2856933742-lite.chunk.js.map +1 -0
- package/dist/scripts/4006-9dfe9cec1b-lite.chunk.js +3 -0
- package/dist/scripts/4006-9dfe9cec1b-lite.chunk.js.map +1 -0
- package/dist/scripts/{4177-2d876c7b14-lite.chunk.js → 4177-285ddf9ae3-lite.chunk.js} +2 -2
- package/dist/scripts/4177-285ddf9ae3-lite.chunk.js.map +1 -0
- package/dist/scripts/{4578-27028d26eb-lite.chunk.js → 4578-7578bcf17a-lite.chunk.js} +2 -2
- package/dist/scripts/4578-7578bcf17a-lite.chunk.js.map +1 -0
- package/dist/scripts/{4621-7fb0a05bcb-lite.chunk.js → 4621-1f79d94416-lite.chunk.js} +2 -2
- package/dist/scripts/4621-1f79d94416-lite.chunk.js.map +1 -0
- package/dist/scripts/4806-f36469abb7-lite.chunk.js +2 -0
- package/dist/scripts/4806-f36469abb7-lite.chunk.js.map +1 -0
- package/dist/scripts/{4948-ba684e5f4f-lite.chunk.js → 4948-de1c75e7fb-lite.chunk.js} +1 -1
- package/dist/scripts/{4948-ba684e5f4f-lite.chunk.js.map → 4948-de1c75e7fb-lite.chunk.js.map} +1 -1
- package/dist/scripts/4985-bdfa839f8f-lite.chunk.js +2 -0
- package/dist/scripts/4985-bdfa839f8f-lite.chunk.js.map +1 -0
- package/dist/scripts/{5554-f1f3baf822-lite.chunk.js → 5554-17bb3b86fc-lite.chunk.js} +2 -2
- package/dist/scripts/5554-17bb3b86fc-lite.chunk.js.map +1 -0
- package/dist/scripts/5579-a9c152057f-lite.chunk.js +2 -0
- package/dist/scripts/5579-a9c152057f-lite.chunk.js.map +1 -0
- package/dist/scripts/5712-e784cfe89c-lite.chunk.js +2 -0
- package/dist/scripts/5712-e784cfe89c-lite.chunk.js.map +1 -0
- package/dist/scripts/6070-a390fdce21-lite.chunk.js +2 -0
- package/dist/scripts/6070-a390fdce21-lite.chunk.js.map +1 -0
- package/dist/scripts/{6909-ba75701156-lite.chunk.js → 6909-a9b8930e37-lite.chunk.js} +2 -2
- package/dist/scripts/6909-a9b8930e37-lite.chunk.js.map +1 -0
- package/dist/scripts/7401-98135f09e8-lite.chunk.js +2 -0
- package/dist/scripts/7401-98135f09e8-lite.chunk.js.map +1 -0
- package/dist/scripts/{7617-211f084b70-lite.chunk.js → 7617-9d34c841e6-lite.chunk.js} +2 -2
- package/dist/scripts/7617-9d34c841e6-lite.chunk.js.map +1 -0
- package/dist/scripts/7742-342db3ce4f-lite.chunk.js +2 -0
- package/dist/scripts/7742-342db3ce4f-lite.chunk.js.map +1 -0
- package/dist/scripts/7843-f6033528ce-lite.chunk.js +2 -0
- package/dist/scripts/7843-f6033528ce-lite.chunk.js.map +1 -0
- package/dist/scripts/787-dcb3a0a26c-lite.chunk.js +2 -0
- package/dist/scripts/787-dcb3a0a26c-lite.chunk.js.map +1 -0
- package/dist/scripts/8077-9fdb522d7e-lite.chunk.js +2 -0
- package/dist/scripts/8077-9fdb522d7e-lite.chunk.js.map +1 -0
- package/dist/scripts/{3392-f7f8cb65e5-lite.chunk.js → 8133-ffcff3b7fc-lite.chunk.js} +3 -3
- package/dist/scripts/8133-ffcff3b7fc-lite.chunk.js.map +1 -0
- package/dist/scripts/8364-ff63447d36-lite.chunk.js +3 -0
- package/dist/scripts/8364-ff63447d36-lite.chunk.js.map +1 -0
- package/dist/scripts/8672-6967ce8a23-lite.chunk.js +2 -0
- package/dist/scripts/8672-6967ce8a23-lite.chunk.js.map +1 -0
- package/dist/scripts/{9042-fd7e79b891-lite.chunk.js → 9042-fdc5ecb459-lite.chunk.js} +1 -1
- package/dist/scripts/{9042-fd7e79b891-lite.chunk.js.map → 9042-fdc5ecb459-lite.chunk.js.map} +1 -1
- package/dist/scripts/9295-4242401e60-lite.chunk.js +2 -0
- package/dist/scripts/9295-4242401e60-lite.chunk.js.map +1 -0
- package/dist/scripts/{9742-3f6b75484a-lite.chunk.js → 9742-5f99d74bb0-lite.chunk.js} +2 -2
- package/dist/scripts/9742-5f99d74bb0-lite.chunk.js.map +1 -0
- package/dist/scripts/979-4b893e5603-lite.chunk.js +2 -0
- package/dist/scripts/979-4b893e5603-lite.chunk.js.map +1 -0
- package/dist/scripts/9911-9272b96e46-lite.chunk.js +2 -0
- package/dist/scripts/9911-9272b96e46-lite.chunk.js.map +1 -0
- package/dist/scripts/bundle-9a3e49399a.min.js +3 -0
- package/dist/scripts/{bundle-1187cb1e9f.min.js.map → bundle-9a3e49399a.min.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/1074-fdce06d863-lite.chunk.js +0 -2
- package/dist/scripts/1074-fdce06d863-lite.chunk.js.map +0 -1
- package/dist/scripts/2664-907153c03b-lite.chunk.js.map +0 -1
- package/dist/scripts/2970-024b1dd55d-lite.chunk.js +0 -2
- package/dist/scripts/2970-024b1dd55d-lite.chunk.js.map +0 -1
- package/dist/scripts/3392-f7f8cb65e5-lite.chunk.js.map +0 -1
- package/dist/scripts/3840-59e5e53cda-lite.chunk.js +0 -2
- package/dist/scripts/3840-59e5e53cda-lite.chunk.js.map +0 -1
- package/dist/scripts/4177-2d876c7b14-lite.chunk.js.map +0 -1
- package/dist/scripts/4208-0706461da6-lite.chunk.js.map +0 -1
- package/dist/scripts/4578-27028d26eb-lite.chunk.js.map +0 -1
- package/dist/scripts/4598-8f5266e4c2-lite.chunk.js +0 -2
- package/dist/scripts/4598-8f5266e4c2-lite.chunk.js.map +0 -1
- package/dist/scripts/4621-7fb0a05bcb-lite.chunk.js.map +0 -1
- package/dist/scripts/4806-a6f31d703c-lite.chunk.js +0 -2
- package/dist/scripts/4806-a6f31d703c-lite.chunk.js.map +0 -1
- package/dist/scripts/4985-7e02d5df40-lite.chunk.js +0 -2
- package/dist/scripts/4985-7e02d5df40-lite.chunk.js.map +0 -1
- package/dist/scripts/5554-f1f3baf822-lite.chunk.js.map +0 -1
- package/dist/scripts/5712-7cee70c6b4-lite.chunk.js +0 -2
- package/dist/scripts/5712-7cee70c6b4-lite.chunk.js.map +0 -1
- package/dist/scripts/6550-d99e0ed75d-lite.chunk.js +0 -2
- package/dist/scripts/6550-d99e0ed75d-lite.chunk.js.map +0 -1
- package/dist/scripts/6909-ba75701156-lite.chunk.js.map +0 -1
- package/dist/scripts/7148-1ced1b5dce-lite.chunk.js +0 -2
- package/dist/scripts/7148-1ced1b5dce-lite.chunk.js.map +0 -1
- package/dist/scripts/7568-55e9b01367-lite.chunk.js +0 -3
- package/dist/scripts/7568-55e9b01367-lite.chunk.js.map +0 -1
- package/dist/scripts/7617-211f084b70-lite.chunk.js.map +0 -1
- package/dist/scripts/7742-514844bd1a-lite.chunk.js +0 -2
- package/dist/scripts/7742-514844bd1a-lite.chunk.js.map +0 -1
- package/dist/scripts/7843-cbebf1a786-lite.chunk.js +0 -2
- package/dist/scripts/7843-cbebf1a786-lite.chunk.js.map +0 -1
- package/dist/scripts/8077-dfd239131d-lite.chunk.js +0 -2
- package/dist/scripts/8077-dfd239131d-lite.chunk.js.map +0 -1
- package/dist/scripts/843-4dbc5df109-lite.chunk.js +0 -3
- package/dist/scripts/843-4dbc5df109-lite.chunk.js.map +0 -1
- package/dist/scripts/8735-e74a148502-lite.chunk.js +0 -2
- package/dist/scripts/8735-e74a148502-lite.chunk.js.map +0 -1
- package/dist/scripts/8856-2d332952ae-lite.chunk.js +0 -2
- package/dist/scripts/8856-2d332952ae-lite.chunk.js.map +0 -1
- package/dist/scripts/904-2784e45cfc-lite.chunk.js +0 -2
- package/dist/scripts/904-2784e45cfc-lite.chunk.js.map +0 -1
- package/dist/scripts/9295-eb130a0b17-lite.chunk.js +0 -2
- package/dist/scripts/9295-eb130a0b17-lite.chunk.js.map +0 -1
- package/dist/scripts/9528-4e954d9dff-lite.chunk.js +0 -2
- package/dist/scripts/9528-4e954d9dff-lite.chunk.js.map +0 -1
- package/dist/scripts/9742-3f6b75484a-lite.chunk.js.map +0 -1
- package/dist/scripts/979-6a70a0e616-lite.chunk.js +0 -2
- package/dist/scripts/979-6a70a0e616-lite.chunk.js.map +0 -1
- package/dist/scripts/bundle-1187cb1e9f.min.js +0 -3
- /package/dist/css/{9528-lite-4a892bdbf2.chunk.css → 1202-lite-4a892bdbf2.chunk.css} +0 -0
- /package/dist/css/{7148-lite-856c02f000.chunk.css → 2888-lite-856c02f000.chunk.css} +0 -0
- /package/dist/css/{904-lite-2435a34b13.chunk.css → 289-lite-2435a34b13.chunk.css} +0 -0
- /package/dist/css/{9911-lite-2b4142796a.chunk.css → 3612-lite-2b4142796a.chunk.css} +0 -0
- /package/dist/css/{8856-lite-f8e496136d.chunk.css → 5579-lite-f8e496136d.chunk.css} +0 -0
- /package/dist/css/{6550-lite-45dc286aab.chunk.css → 6070-lite-45dc286aab.chunk.css} +0 -0
- /package/dist/css/{2970-lite-5a317efacd.chunk.css → 787-lite-5a317efacd.chunk.css} +0 -0
- /package/dist/css/{843-lite-db31e36b79.chunk.css → 8364-lite-db31e36b79.chunk.css} +0 -0
- /package/dist/css/{8735-lite-856c02f000.chunk.css → 9911-lite-856c02f000.chunk.css} +0 -0
- /package/dist/scripts/{3392-f7f8cb65e5-lite.chunk.js.LICENSE.txt → 4006-9dfe9cec1b-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{7568-55e9b01367-lite.chunk.js.LICENSE.txt → 8133-ffcff3b7fc-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{843-4dbc5df109-lite.chunk.js.LICENSE.txt → 8364-ff63447d36-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-1187cb1e9f.min.js.LICENSE.txt → bundle-9a3e49399a.min.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see 8364-ff63447d36-lite.chunk.js.LICENSE.txt */
|
|
2
|
+
(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8364],{86974:(e,t,n)=>{"use strict";n.d(t,{w:()=>i});var r=n(32735);function a(){return r.createElement("svg",{viewBox:"0 0 24 24"},r.createElement("path",{d:"M11.959 10.641l4.402-4.296a.964.964 0 0 1 1.358 0 .951.951 0 0 1 0 1.35l-4.403 4.297 4.403 4.378a.951.951 0 0 1 0 1.35.964.964 0 0 1-1.358 0l-4.402-4.378-4.32 4.378a.964.964 0 0 1-1.358 0 .951.951 0 0 1 0-1.35l4.32-4.378-4.32-4.362a.951.951 0 0 1 0-1.35.964.964 0 0 1 1.358 0l4.32 4.361z"}))}var i=r.forwardRef(function(e,t){var n=e.onClickClear,i=e.showClearButton,o=e.clearClassName,l=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n}(e,["onClickClear","showClearButton","clearClassName"]);return r.createElement("div",{className:"position-relative"},r.createElement("input",Object.assign({},l,{ref:t,className:"".concat(e.className," ").concat("aYpO7")})),(!!e.value||i)&&r.createElement("span",{className:"".concat("ygMgF"," position-absolute cursor-pointer text-secondary ").concat(o||""),role:"button",onClick:n,onKeyDown:function(e){return"Enter"===e.key&&n()},tabIndex:0},r.createElement("div",{className:"d-inline-block svg-container md"},r.createElement(a,null))))})},66257:(e,t,n)=>{"use strict";n.d(t,{k:()=>f});var r=n(32735),a=n(80130),i=n(59087),o=n(23481),l=n(31453),c=n(35223),s=n(91693);const u={normal:"Q1UGv",copyBtn:"J3fBx",embedHtmlInput:"RcwAD"};function m(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 d=o.T.encloseNamespace("shared.copyInput");function f(e){var t,n,o=(t=r.useState(e.showCopiedText||!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,l=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return m(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)?m(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.")}()),f=o[0],p=o[1];function v(){setTimeout(function(){return p(!1)},2e3)}function y(){e.onCopy&&e.onCopy(),f||(p(!0),v())}r.useEffect(function(){e.showCopiedText&&v()},[e.showCopiedText]);var b=r.createElement("div",{className:"normal-v2"===e.styling?"d-flex flex-row gap-2 position-relative w-100":"input-group"},e.textarea?r.createElement("textarea",{className:(0,l.A)("form-control rounded w-100 h-100",!e.hasInputBg&&u.embedHtmlInput),spellCheck:!1,value:e.value,rows:7,readOnly:!0}):r.createElement("input",{type:"text",autoComplete:"off",className:(0,l.A)("form-control","normal"===e.styling&&e.styling),spellCheck:!1,value:e.value,readOnly:!0}),r.createElement(function(){return"normal-v2"===e.styling?r.createElement(i.CopyToClipboard,{text:e.value,onCopy:y},r.createElement(s.h,{role:f?"status":"",svgName:f?c.vn.Check:c.vn.Copy,className:(0,l.A)(u.copyBtn,"btn py-0 text-nowrap",f?"btn-success text-white":"btn-outline-dark border-secondary",e.extraButtonClassNames)},f?e.copiedText||d("copiedLink"):e.copyText||d("copy"))):r.createElement(i.CopyToClipboard,{text:e.value,onCopy:y},r.createElement("button",{role:f?"status":"",className:(0,l.A)("btn btn-outline-dark border border-secondary py-0 text-nowrap",e.extraButtonClassNames)},f?e.copiedText||d("copied"):e.copyText||d("copy")))},null));return e.label?r.createElement(a.Z.Group,{className:"form-group"},r.createElement(a.Z.Label,null,e.label),b):b}f.defaultProps={styling:"normal"}},38502:(e,t,n)=>{"use strict";n.d(t,{r:()=>m});var r=n(32735),a=n(49985),i=n(15611),o=n(18559),l=n(11607),c=n(83914),s=n(22771);function u(e){return r.createElement(r.Fragment,null,!!e.tab.svgName&&r.createElement("div",{className:e.tab.name?"pe-1":""},r.createElement(c.x,{svgName:e.tab.svgName})),e.tab.name,"number"==typeof e.tab.count&&r.createElement("div",{className:"ps-2"},r.createElement(o.C,{type:o.g.Count,data:e.tab.count})))}function m(e){var t;return r.createElement("nav",{className:null!==(t=e.className)&&void 0!==t?t:"",ref:e.containerRef},r.createElement("ul",{className:"\n list-unstyled d-inline-block m-0 ".concat(s.Z.pillTabSelector,"\n ").concat(e.borderRadius?s.Z.radiusSmall:"","\n ").concat(e.listClassName,"\n ")},e.tabs.map(function(e,t){return r.createElement("li",{className:"\n p-0 ".concat(s.Z.tab," ").concat(e.active?"btn btn-dark":"btn btn-outline-dark","\n ").concat(e.name?s.Z.minWidth:""," ").concat(e.className,"\n "),key:t},e.appLink?r.createElement(i.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(s.Z.tabLink,"\n ")},r.createElement(u,{tab:e})):r.createElement(l.L,{className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(s.Z.tabLink,"\n "),onClick:function(){return function(e){!e.active&&e.onSelect&&(e.onSelect(),e.analyticsData&&e.analyticsOptions&&a.k.logUserAction(e.analyticsData,e.analyticsOptions))}(e)}},r.createElement(u,{tab:e})))})))}m.defaultProps={borderRadius:"lg"}},8364:(e,t,n)=>{"use strict";n.r(t),n.d(t,{InviteColleagueView:()=>De});var r=n(32735),a=n(23481),i=n(20354),o=n(49985),l=n(65858),c=n(9111),s=n(13876),u=n(39151),m=n(31949),d=n(25882),f=n(69883),p=n(37802),v=n(59934),y=n(23923),b=n(99940),g={invite:function(e){return{url:"{gateway}/v1/users/invites",key:"invites:colleague",normalize:!1,type:b.k.POST,data:e,invalidationKeys:["invites"]}},inviteByType:function(){return{key:"invites",url:"{gateway}/v1/users/invites?type=link&type=direct",normalize:!1}},deleteInvite:function(e){return{key:"invites:delete",url:"{gateway}/v1/users/invites/".concat(e),type:b.k.DELETE,normalize:!1,invalidationKeys:["invites"]}},resendInvite:function(e){return{key:"invites:".concat(e,":resend"),url:"{gateway}/v1/users/invites/email?id=".concat(e),type:b.k.POST,normalize:!1}},createInviteLink:function(){return{key:"invites:create",url:"{gateway}/v1/users/invites/links",type:b.k.POST,normalize:!1,invalidationKeys:["invites"]}}};function h(e){return function(e){if(Array.isArray(e))return E(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return E(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)?E(e,t):void 0}}(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 E(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 x={"email-in-use":"emailInUse","invalid-email":"invalidEmail"},N=a.T.encloseNamespace("signUp.helpers"),w={recalculateFields:function(e,t,n,r){var a=this.cleanFields(t);if(!a.length)return this.removeField(e,t,n);var i=a[a.length-1],o=!(e!==a.length-1||!a[e].data.firstName.length&&!a[e].data.email.length),l=!!(a.length<r&&(i.data.firstName.length||i.data.email.length));return o||l?this.addField(a,r):void 0},getValidFieldsData:function(e){return e.reduce(function(e,t){return t.data.email.length?[].concat(h(e),[t.data]):e},[])},getInputWithErrors:function(e,t){var n,r=h(e),a=null===(n=t.responseJSON)||void 0===n?void 0:n.problems;return r.forEach(function(e,t){var n=a.find(function(t){return t.email===e.data.email});n&&(r[t]=Object.assign(Object.assign({},e),{error:{email:N(x[n.errorCode])}}))}),r},cleanFields:function(e){return e.filter(function(e){return e.data.firstName.length||e.data.email.length})},removeField:function(e,t,n){return t.length!==n&&t[e]?t.filter(function(t,n){return n!==e}):t},addField:function(e,t){return e.length>=t?e:[].concat(h(e),[this.getNewEmptyField()])},getNewEmptyField:function(){return{data:{firstName:"",email:""}}}};function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var k=a.T.encloseNamespace("signUp.helpers"),S=new RegExp(/^[^\s@]+@[^\s@]+\.[^\s@]+$/),I=/^[\w0-9'\-,.():;&][^_!¡?÷¿/\\+=@#$%ˆ*{}|~<>[\]]{0,}$/,O={validate:function(e){var t,n=this,r=function(e){if(Array.isArray(e))return C(e)}(t=e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return C(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(e,t):void 0}}(t)||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.")}(),a=!1;return r.forEach(function(e,t){if(t!==r.length-1||0===t||e.data.email.length||e.data.firstName.length){var i={firstName:n.validateFirstName(e.data.firstName),email:n.validateEmail(e.data.email)};(i.firstName||i.email)&&(e.error=i,a||(a=!0))}}),{fieldsWithErrors:r,hasErrors:a}},validateEmail:function(e){return e.length?S.test(e)?void 0:k("validSchoolEmail"):k("enterValidEmail")},validateFirstName:function(e){if(e.length)return I.test(e)?void 0:k("invalidFirstname")}},T=a.T.encloseNamespace("signUp.hardGateInviteBanner");function j(e){var t=e.accessPolicy,n=e.reverseTrialReferralCount;return r.createElement("div",{className:"px-3"},r.createElement("div",{role:"alert",className:"bg-light-indigo rounded p-2 mb-4 text-indigo"},T("titlePrefix")," ",r.createElement("strong",null,T("titleEmphasis")),t.metadata.maxReferrals&&r.createElement("div",{className:"text-center"},r.createElement("small",null,T("extensionsRedeemed",{count:null!=n?n:0,max:t.metadata.maxReferrals})))))}var A=n(97958),P=n(2102),F=n(83345),U=n(99742),D=n(86974);function L(e){return L="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},L(e)}var R=a.T.encloseNamespace("signUp.invite.inviteFormInputGroup");function M(e){var t=e.input,n=t.data,a=t.error;function i(t,r){var a,i,o,l=Object.assign(Object.assign({},n),(a={},o=r,(i=function(e){var t=function(e){if("object"!=L(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=L(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==L(t)?t:t+""}(i=t))in a?Object.defineProperty(a,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):a[i]=o,a));e.onChange(t,l)}return r.createElement("div",{className:"row mb-2"},r.createElement("div",{className:"col-4"},r.createElement("input",{type:"text",name:"firstName".concat(e.index),className:"form-control form-control-lg",placeholder:R("firstName"),value:n.firstName,onChange:function(e){e.preventDefault(),i("firstName",e.target.value)},autoComplete:"off"}),a&&(null==a?void 0:a.firstName)&&r.createElement("p",{className:"mb-0 text-danger"},a.firstName)),r.createElement("div",{className:"col-8 ps-0"},r.createElement(D.w,{type:"text",name:"electronicMail".concat(e.index),className:"form-control form-control-lg",placeholder:R("emailAddress",{count:e.index+1}),value:n.email,onChange:function(e){e.preventDefault(),i("email",e.target.value)},onClickClear:e.clearInputs,autoComplete:"off",showClearButton:!(!n.firstName&&!n.email)}),a&&(null==a?void 0:a.email)&&r.createElement("p",{className:"mb-0 text-danger",dangerouslySetInnerHTML:{__html:a.email}})))}function _(e){return function(e){if(Array.isArray(e))return B(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return B(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?B(e,t):void 0}}(e)||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 B(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var G="signUp.invite.inviteFormInputGroup";function z(e){var t=e.fields,n=e.setFields,a=e.minFields,i=e.maxFields,o=e.isTertiary,l=r.useMemo(function(){return t.filter(function(e){return!!e.data.email}).length},[t]);return r.createElement("div",{className:"px-3"},r.createElement(A.u.Image,{src:U.W.SignUp.INVITE_COLLEAGUE,className:"d-block mx-auto"}),r.createElement("h2",{className:"h5 text-center"},r.createElement(F.x,{namespace:G,phrase:o?"inviteHeadingTertiary":"inviteHeading"})),r.createElement("p",{className:"text-center"},r.createElement(F.x,{namespace:G,phrase:"inviteSubheading"})),r.createElement("div",{className:"row fw-bold mb-2"},r.createElement("div",{className:"col-4"},r.createElement(F.x,{namespace:G,phrase:"firstName"})),r.createElement("div",{className:"col-8 ps-0"},r.createElement(F.x,{namespace:G,phrase:"workEmailAddress"}),r.createElement("span",{className:"text-danger"},"*"))),t.map(function(e,o){return r.createElement(M,{input:e,key:o,index:o,onChange:function(e,r){return function(e,r,o){e>t.length||n(function(t){var n,l,c=_(t);return c[e].data=o,(null===(n=c[e])||void 0===n?void 0:n.error)&&(null===(l=c[e])||void 0===l?void 0:l.error[r])&&delete c[e].error[r],w.recalculateFields(e,c,a,i)||c})}(o,e,r)},clearInputs:function(){return function(e){e>t.length||n(function(t){var n=_(t);return n[e].data.firstName="",n[e].data.email="",w.recalculateFields(e,n,a,i)||n})}(o)}})}),r.createElement("div",{className:"pt-2 pb-3"},r.createElement(P.m,{showSpinner:e.showSpinner,variant:"dark",className:"btn-lg w-100",onClick:e.onSubmit},r.createElement(F.x,{namespace:G,phrase:"btnInvite",options:{smartCount:l||1}}))))}var Z="signUp.invite.inviteFormSuccess";function H(e){var t;if(null===(t=e.fields)||void 0===t?void 0:t.length)return r.createElement("div",{className:"text-center px-3"},r.createElement(A.u.Image,{src:U.W.SignUp.INVITE_COLLEAGUE_SUCCESS,className:"d-block mx-auto"}),r.createElement("h2",{className:"h4"},r.createElement(F.x,{namespace:Z,phrase:"inviteSent"})),r.createElement("p",{className:"mb-0"},r.createElement(F.x,{namespace:Z,phrase:"emailSentTo"})),r.createElement("div",{className:"mb-3"},e.fields.map(function(e,t){var n=e.data,a=n.firstName,i=n.email;if(i)return r.createElement("p",{className:"mb-0",key:t},!!a.length&&r.createElement("strong",null,a)," (",i,")")})),r.createElement("p",null,r.createElement(F.x,{namespace:Z,phrase:"moreInvite"})," ",r.createElement("a",{onClick:e.onInviteMore,className:"info-link p-0"},r.createElement(F.x,{namespace:Z,phrase:"inviteMore"}))))}function V(e){var t=e.fields,n=e.setFields,a=e.showSpinner,i=e.onSubmit;return t.length?e.completed?r.createElement(H,{fields:t,onInviteMore:function(t){t.preventDefault(),e.onInviteMore()}}):r.createElement(z,{fields:t,setFields:n,showSpinner:a,onSubmit:i,maxFields:e.maxFields,minFields:e.minFields,isTertiary:e.isTertiary}):r.createElement(r.Fragment,null)}var W=n(38502),$=a.T.encloseNamespace("signUp.invite.inviteTabs");function J(e){var t=[{name:$("invite"),onSelect:function(){return e.onChangeTab("inviteForm")},active:"inviteForm"===e.activeTab,analyticsData:{name:$("invite")},analyticsOptions:{actionType:l.Vw.Click,entity:l.py.Url,location:l.LZ.MagicTabs}},{name:$("pending"),onSelect:function(){return e.onChangeTab("pendingInvites")},active:"pendingInvites"===e.activeTab,analyticsData:{name:$("pending")},analyticsOptions:{actionType:l.Vw.Click,entity:l.py.Url,location:l.LZ.MagicTabs}}];return r.createElement(W.r,{className:"d-flex justify-content-center mb-3",tabs:t})}var K=n(42648),Y="signUp.invite.pendingInvites";function Q(e){return r.createElement("div",{className:"text-center py-4 px-3"},r.createElement(A.u.Image,{src:U.W.SignUp.EMPTY_PENDING_INVITES,className:"d-block mx-auto"}),r.createElement("h2",{className:"h5 mb-0"},r.createElement(F.x,{namespace:Y,phrase:"emptyTitle"})),r.createElement("p",null,r.createElement(F.x,{namespace:Y,phrase:"emptyDescription"})," ",r.createElement("a",{onClick:function(t){t.preventDefault(),e.onInviteMore()},className:"info-link"},r.createElement(F.x,{namespace:Y,phrase:"emptyAction"}))))}const q={avatar:"cin_G",oneLine:"FrlTw",twoLine:"rBQWR",minPendingHeight:"LMnOk"};function X(){return r.createElement("div",{className:"d-flex mb-2 justify-content-between"},r.createElement("div",{className:"col-8 d-flex align-items-center"},r.createElement("div",{className:"partial-loading-background rounded-circle ".concat(q.avatar)}),r.createElement("div",{className:"ms-2 w-100"},r.createElement("div",{className:"partial-loading-background mb-1 w-50 ".concat(q.oneLine)}),r.createElement("div",{className:"partial-loading-background w-100 ".concat(q.oneLine)}))),r.createElement("div",{className:"col d-flex align-items-center justify-content-end"},r.createElement("div",{className:"partial-loading-background w-100 ".concat(q.twoLine)})))}function ee(){return r.createElement("div",{className:"px-3"},r.createElement("div",{className:"partial-loading-background w-25 m-2 ".concat(q.oneLine)}),Array(6).fill(null).map(function(e,t){return r.createElement(X,{key:t})}))}var te,ne=n(76306),re=n(97408),ae=n(83914),ie=n(35223);!function(e){e.Active="Active",e.Accepted="Accepted",e.Expired="Expired"}(te||(te={}));var oe=a.T.encloseNamespace("signUp.helpers"),le={getItemActions:function(e){var t=e.status,n=e.resendInvite,r=e.removeInvite;return t===te.Accepted?[]:[{label:oe("resendInvite"),onClick:n},{label:oe("removeInvite"),onClick:r,className:"text-danger"}]}},ce=a.T.encloseNamespace("signUp.invite.inviteStatusInfo");function se(e){return e.status===te.Accepted?r.createElement(ue,{extraContainerClass:"text-success",renderSvg:function(){return r.createElement(ae.x,{size:ae.S.Small,svgName:ie.vn.Check})},text:ce("accepted")}):e.status===te.Active?r.createElement(ue,{renderSvg:function(){return r.createElement(ae.x,{size:ae.S.Small,svgName:ie.vn.PendingCircle,className:"d-inline-block svg-container text-info"})},extraTextClass:"text-secondary",text:ce("active")}):e.status===te.Expired?r.createElement(ue,{extraContainerClass:"text-danger",renderSvg:function(){return r.createElement(ae.x,{size:ae.S.Small,svgName:ie.vn.Close,className:"d-inline-block svg-container"})},text:ce("expired")}):r.createElement(r.Fragment,null)}function ue(e){function t(e,t){return t?"".concat(e," ").concat(t):e}var n=t("d-flex align-items-center",e.extraContainerClass),a=t("ps-1",e.extraTextClass);return r.createElement("div",{className:n},e.renderSvg&&e.renderSvg(),r.createElement("small",{className:a},e.text))}const me={avatar:"VsdKR",email:"L65Cs"};function de(e){return e.initial?r.createElement(re.q,{imageCdnUrl:e.imageCdnUrl,initials:e.initial}):r.createElement("div",{className:"d-flex align-items-center justify-content-center rounded-circle bg-dark text-white w-100 h-100"},r.createElement(ae.x,{svgName:ie.vn.Email,size:ae.S.Large}))}function fe(e){var t,n,a=e.invite,i=a.invitee,o=a.status,l=null!==(t=null==i?void 0:i.email)&&void 0!==t?t:e.invite.metadata.email,c=le.getItemActions({status:o,resendInvite:function(){return e.resendInvite(e.invite.id)},removeInvite:function(){return e.removeInvite(e.invite.id)}}),s=null===(n=e.invite.metadata)||void 0===n?void 0:n.firstName,u=null==s?void 0:s.substr(0,1);return r.createElement("div",{className:"d-flex mb-2 justify-content-between px-3"},r.createElement("div",{className:"d-flex align-items-center ps-0"},r.createElement("div",{className:me.avatar},r.createElement(de,{initial:u,userId:null==i?void 0:i.userId,imageCdnUrl:e.imageCdnUrl})),r.createElement("div",{className:"ms-2"},!!s&&r.createElement("h3",{className:"h6 mb-0"},s),r.createElement("p",{className:"mb-0 text-secondary w-100 text-truncate ".concat(me.email),title:l},l))),r.createElement("div",{className:"d-flex align-items-center justify-content-between pe-0"},r.createElement(se,{status:o}),!!c.length&&r.createElement(ne.m,{dropdownToggleClassName:"btn btn-link ms-1",actions:c})))}var pe="signUp.invite.pendingInvites";function ve(e){var t;return e.isLoading?r.createElement(ee,null):(null===(t=null==e?void 0:e.invites)||void 0===t?void 0:t.length)?r.createElement("div",{className:"px-1"},r.createElement("h3",{className:"h6 px-3"},r.createElement(F.x,{namespace:pe,phrase:"heading"})),r.createElement(K.$B,{className:"".concat(q.minPendingHeight)},e.invites.map(function(t,n){return r.createElement(fe,{key:n,invite:t,imageCdnUrl:e.imageCdnUrl,removeInvite:e.removeInvite,resendInvite:e.resendInvite})}))):r.createElement(Q,{onInviteMore:e.onInviteMore})}var ye=n(80247),be=n(66257),ge="signUp.invite.shareInviteLink";function he(e){return e.showSpinner?r.createElement("div",{className:"text-center w-100"},r.createElement(ye.Z,{as:"div",animation:"border",role:"status"})):r.createElement("div",{className:"w-100"},r.createElement("div",{className:"d-flex justify-content-between"},r.createElement("h2",{className:"h6"},r.createElement(F.x,{namespace:ge,phrase:"title"})),e.link&&r.createElement("button",{className:"btn btn-link info-link p-0 mb-2",onClick:e.onClickDelete},r.createElement(F.x,{namespace:ge,phrase:"delete"}))),e.link?r.createElement(be.k,{value:e.link}):r.createElement("div",{className:"d-flex w-100 justify-content-between"},r.createElement("div",null,r.createElement(ae.x,{svgName:ie.vn.Link,className:"me-2 d-inline-block svg-container"}),r.createElement(F.x,{namespace:ge,phrase:"generate"})),r.createElement("button",{className:"btn info-link p-0",onClick:e.onClickCreate},r.createElement(F.x,{namespace:ge,phrase:"create"}))))}var Ee,xe=n(15611),Ne=n(14070),we=n(97291),Ce=a.T.encloseNamespace("signUp.softGateInviteBanner");function ke(e){var t=e.accessPolicy,n=e.reverseTrialReferralCount;return r.createElement("div",{className:"px-3"},r.createElement("div",{role:"alert",className:"bg-light-indigo rounded p-2 mb-4 text-indigo text-center"},r.createElement("div",{className:"d-flex align-items-center justify-content-center"},r.createElement(ae.x,{svgName:ie.vn.StarOutline,size:ae.S.Medium}),r.createElement("div",null,Ce("titlePrefix")," ",r.createElement(xe.F,{appLink:{application:we.O.SIGN_UP,action:Ne.e.SignUp.PREMIUM_FEATURES},className:"indigo-link text-indigo text-underline d-inline"},r.createElement("strong",null,Ce("titleEmphasis",{bonusDays:t.metadata.referralBonusTime.split(".")[0]}))))),t.metadata.maxReferrals&&r.createElement("div",null,r.createElement("small",null,Ce("extensionsRedeemed",{count:null!=n?n:0,max:t.metadata.maxReferrals})))))}!function(e){e.Link="link",e.Direct="direct"}(Ee||(Ee={}));const Se={minHeight:"tWSzO"};function Ie(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function i(n,r,a,i){var c=r&&r.prototype instanceof l?r:l,s=Object.create(c.prototype);return Oe(s,"_invoke",function(n,r,a){var i,l,c,s=0,u=a||[],m=!1,d={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,l=0,c=e,d.n=n,o}};function f(n,r){for(l=n,c=r,t=0;!m&&s&&!a&&t<u.length;t++){var a,i=u[t],f=d.p,p=i[2];n>3?(a=p===r)&&(c=i[(l=i[4])?5:(l=3,3)],i[4]=i[5]=e):i[0]<=f&&((a=n<2&&f<i[1])?(l=0,d.v=r,d.n=i[1]):f<p&&(a=n<3||i[0]>r||r>p)&&(i[4]=n,i[5]=r,d.n=p,l=0))}if(a||n>1)return o;throw m=!0,r}return function(a,u,p){if(s>1)throw TypeError("Generator is already running");for(m&&1===u&&f(u,p),l=u,c=p;(t=l<2?e:c)||!m;){i||(l?l<3?(l>1&&(d.n=-1),f(l,c)):d.n=c:d.v=c);try{if(s=2,i){if(l||(a="next"),t=i[a]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,l<2&&(l=0)}else 1===l&&(t=i.return)&&t.call(i),l<2&&(c=TypeError("The iterator does not provide a '"+a+"' method"),l=1);i=e}else if((t=(m=d.n<0)?c:n.call(r,d))!==o)break}catch(t){i=e,l=1,c=t}finally{s=1}}return{value:t,done:m}}}(n,a,i),!0),s}var o={};function l(){}function c(){}function s(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(Oe(t={},r,function(){return this}),t),m=s.prototype=l.prototype=Object.create(u);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,Oe(e,a,"GeneratorFunction")),e.prototype=Object.create(m),e}return c.prototype=s,Oe(m,"constructor",s),Oe(s,"constructor",c),c.displayName="GeneratorFunction",Oe(s,a,"GeneratorFunction"),Oe(m),Oe(m,a,"Generator"),Oe(m,r,function(){return this}),Oe(m,"toString",function(){return"[object Generator]"}),(Ie=function(){return{w:i,m:d}})()}function Oe(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}Oe=function(e,t,n,r){if(t)a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n;else{var i=function(t,n){Oe(e,t,function(e){return this._invoke(t,n,e)})};i("next",0),i("throw",1),i("return",2)}},Oe(e,t,n,r)}function Te(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,l=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return je(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)?je(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 je(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 Ae=function(e,t,n,r){return new(n||(n=Promise))(function(a,i){function o(e){try{c(r.next(e))}catch(e){i(e)}}function l(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,l)}c((r=r.apply(e,t||[])).next())})},Pe=a.T.encloseNamespace("signUp.inviteColleage"),Fe=1,Ue=5;function De(e){var t,n,a=Te(r.useState(e.tab),2),b=a[0],h=a[1],E=Te(r.useState(!1),2),x=E[0],N=E[1],C=Te(r.useState(!1),2),k=C[0],S=C[1],I=Te(r.useState(!1),2),T=I[0],A=I[1],P=Te(r.useState(function(){return[w.getNewEmptyField()]}),2),F=P[0],U=P[1],D=(0,d.vb)().accessPolicy,L=(0,p.r)(null).reverseTrialReferralCount,R=i.a.useGetFetchAsync(),M=(0,f.Z)(),_=(0,y.B)(),B=i.a.useBasicFetch(m.N.currentUser()),G=i.a.useBasicFetch(u.L.config()),z=i.a.useBasicFetch(g.inviteByType()),Z=function(e){return r.useMemo(function(){return e?e.reduce(function(e,t){return t.type===Ee.Direct?(e.directInvites.push(t),e):(e.links.push(t),e)},{directInvites:[],links:[]}):{directInvites:null,links:null}},[e])}(z.data),H=Z.directInvites,W=Z.links,$=null==W?void 0:W[0];function K(e){o.k.logUserAction({emailCount:e},{actionType:l.Vw.SendEmail,location:l.LZ.TrialBanner,entity:l.py.User,descriptor:l.Yu.InviteColleague,workflowPhase:l.eu.Complete})}function Y(){S(!1),U([w.getNewEmptyField()]),"inviteForm"!==b&&(h("inviteForm"),A(!1))}var Q=B.hasCompleted&&G.hasCompleted&&z.hasCompleted;return r.createElement(c.G,{title:Pe("title"),closePopup:e.closePopup,bodyClassName:"modal-body px-0",showLoadingSpinner:!Q},Q&&r.createElement(r.Fragment,null,r.createElement("div",{className:Se.minHeight},(null===(t=null==D?void 0:D.metadata)||void 0===t?void 0:t.referralBonusTime)&&r.createElement(ke,{accessPolicy:D,reverseTrialReferralCount:L}),(null===(n=null==D?void 0:D.metadata)||void 0===n?void 0:n.referralReactivationPolicy)&&r.createElement(j,{accessPolicy:D,reverseTrialReferralCount:L}),!k&&r.createElement(J,{activeTab:b,onChangeTab:function(e){return h(e)}}),"pendingInvites"===b?r.createElement(ve,{imageCdnUrl:G.data.imageCdnUrl,invites:H,onInviteMore:Y,removeInvite:function(e){return Ae(this,void 0,void 0,Ie().m(function t(){var n;return Ie().w(function(t){for(;;)switch(t.n){case 0:return t.p=0,t.n=1,R(g.deleteInvite(e));case 1:M.success(Pe("removeSuccess")),t.n=3;break;case 2:t.p=2,n=t.v,M.error(v.M.inviteColleagueError(n));case 3:return t.a(2)}},t,null,[[0,2]])}))},resendInvite:function(e){return Ae(this,void 0,void 0,Ie().m(function t(){var n;return Ie().w(function(t){for(;;)switch(t.n){case 0:return t.p=0,t.n=1,R(g.resendInvite(e));case 1:M.success(Pe("resendSuccess")),t.n=3;break;case 2:t.p=2,n=t.v,M.error(v.M.inviteColleagueError(n));case 3:return t.a(2)}},t,null,[[0,2]])}))},isLoading:!z.hasCompleted}):r.createElement(V,{fields:F,setFields:U,showSpinner:T,completed:k,onSubmit:function(){var e;return Ae(this,void 0,void 0,Ie().m(function t(){var n,r,a,i,o,l;return Ie().w(function(t){for(;;)switch(t.n){case 0:if(!T){t.n=1;break}return t.a(2);case 1:if(n=O.validate(F),r=n.fieldsWithErrors,!n.hasErrors){t.n=2;break}return U(r),t.a(2);case 2:return t.p=2,A(!0),a=w.getValidFieldsData(F),t.n=3,R(g.invite(a));case 3:return S(!0),K(a.length),t.a(2);case 4:if(t.p=4,l=t.v,"create-invitation-failed"===(null===(e=(i=l).responseJSON)||void 0===e?void 0:e.type)){t.n=5;break}return M.error(v.M.inviteColleagueError(i)),t.a(2);case 5:o=w.getInputWithErrors(F,i),U(o);case 6:return t.p=6,A(!1),t.f(6);case 7:return t.a(2)}},t,null,[[2,4,6,7]])}))},onInviteMore:Y,maxFields:Ue,minFields:Fe,isTertiary:_})),!k&&r.createElement("div",{className:"px-3"},r.createElement(s.u,null,r.createElement(he,{onClickCreate:function(){return Ae(this,void 0,void 0,Ie().m(function e(){return Ie().w(function(e){for(;;)switch(e.n){case 0:return N(!0),e.p=1,e.n=2,R(g.createInviteLink());case 2:e.n=4;break;case 3:e.p=3,e.v,M.error(Pe("error"));case 4:return e.p=4,N(!1),e.f(4);case 5:return e.a(2)}},e,null,[[1,3,4,5]])}))},onClickDelete:function(){return Ae(this,void 0,void 0,Ie().m(function e(){var t;return Ie().w(function(e){for(;;)switch(e.n){case 0:return e.p=0,e.n=1,R(g.deleteInvite($.id));case 1:M.success(Pe("deleteLinkSuccess")),e.n=3;break;case 2:e.p=2,t=e.v,M.error(v.M.inviteColleagueError(t));case 3:return e.a(2)}},e,null,[[0,2]])}))},link:null==$?void 0:$.inviteUrl,showSpinner:x})))))}},91969:(e,t,n)=>{"use strict";var r=n(47033),a={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,i,o,l,c,s,u=!1;t||(t={}),n=t.debug||!1;try{if(o=r(),l=document.createRange(),c=document.getSelection(),(s=document.createElement("span")).textContent=e,s.ariaHidden="true",s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",function(r){if(r.stopPropagation(),t.format)if(r.preventDefault(),void 0===r.clipboardData){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var i=a[t.format]||a.default;window.clipboardData.setData(i,e)}else r.clipboardData.clearData(),r.clipboardData.setData(t.format,e);t.onCopy&&(r.preventDefault(),t.onCopy(r.clipboardData))}),document.body.appendChild(s),l.selectNodeContents(s),c.addRange(l),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(r){n&&console.error("unable to copy using execCommand: ",r),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),u=!0}catch(r){n&&console.error("unable to copy using clipboardData: ",r),n&&console.error("falling back to prompt"),i=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(i,e)}}finally{c&&("function"==typeof c.removeRange?c.removeRange(l):c.removeAllRanges()),s&&document.body.removeChild(s),o()}return u}},22771:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r={pillTabSelector:"Hdi6o",tab:"RvNxr",minWidth:"GHSz9",radiusSmall:"VhJJa",tabLink:"WFyvo"}},44818:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.CopyToClipboard=void 0;var a=l(n(32735)),i=l(n(91969)),o=["text","onCopy","options","children"];function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach(function(t){p(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function u(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var v=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&m(e,t)}(y,e);var t,n,l,c,v=(l=y,c=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,t=f(l);if(c){var n=f(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return d(e)}(this,e)});function y(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,y);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return p(d(e=v.call.apply(v,[this].concat(n))),"onClick",function(t){var n=e.props,r=n.text,o=n.onCopy,l=n.children,c=n.options,s=a.default.Children.only(l),u=(0,i.default)(r,c);o&&o(r,u),s&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t)}),e}return t=y,(n=[{key:"render",value:function(){var e=this.props,t=(e.text,e.onCopy,e.options,e.children),n=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,o),r=a.default.Children.only(t);return a.default.cloneElement(r,s(s({},n),{},{onClick:this.onClick}))}}])&&u(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),y}(a.default.PureComponent);t.CopyToClipboard=v,p(v,"defaultProps",{onCopy:void 0,options:void 0})},59087:(e,t,n)=>{"use strict";var r=n(44818).CopyToClipboard;r.CopyToClipboard=r,e.exports=r},47033:e=>{e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],r=0;r<e.rangeCount;r++)n.push(e.getRangeAt(r));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null}return e.removeAllRanges(),function(){"Caret"===e.type&&e.removeAllRanges(),e.rangeCount||n.forEach(function(t){e.addRange(t)}),t&&t.focus()}}}}]);
|
|
3
|
+
//# sourceMappingURL=8364-ff63447d36-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/8364-ff63447d36-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/images/components/CloseIcon.tsx","file:///app/packages/libs/shared/src/apps/sign-up/components/general/clear-input/ClearableInput.tsx","file:///app/packages/libs/shared/src/apps/sign-up/components/general/clear-input/clearable-input.scss","file:///app/packages/libs/shared/src/components/copy-input/copy-input.scss","file:///app/packages/libs/shared/src/components/copy-input/CopyInput.tsx","file:///app/packages/libs/shared/src/components/pill-tab-selector/PillTabSelector.tsx","file:///app/packages/projects/lite/src/apps/sign-up/flight-requests/InviteColleagueRequests.ts","file:///app/packages/projects/lite/src/apps/sign-up/helpers/InputGroupHelper.ts","file:///app/packages/projects/lite/src/apps/sign-up/helpers/InviteValidationHelper.ts","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/components/invite/hard-gate-invite-banner/HardGateInviteBanner.tsx","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/components/invite/invite-form-input-group/InviteFormInputItem.tsx","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/components/invite/invite-form-input-group/InviteFormInputGroup.tsx","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/components/invite/invite-form-success/InviteFormSuccess.tsx","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/components/invite/invite-form/InviteForm.tsx","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/components/invite/invite-tabs/InviteTabs.tsx","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/components/invite/pending-invites/EmptyPendingInvites.tsx","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/components/invite/pending-invites/pending-invites.scss","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/components/invite/pending-invites/PartialPendingInvites.tsx","file:///app/packages/projects/lite/src/apps/sign-up/enums/InviteStatus.ts","file:///app/packages/projects/lite/src/apps/sign-up/helpers/PendingInvitesHelper.ts","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/components/invite/invite-status-info/InviteStatusInfo.tsx","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/components/invite/pending-invites-item/pending-invites-item.scss","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/components/invite/pending-invites-item/PendingInvitesItem.tsx","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/components/invite/pending-invites/PendingInvites.tsx","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/components/invite/share-invite-link/ShareInviteLink.tsx","file:///app/packages/projects/lite/src/apps/sign-up/enums/InviteType.ts","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/components/invite/soft-gate-invite-banner/SoftGateInviteBaner.tsx","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/invite-colleague.scss","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/InviteColleagueView.tsx","file:///app/packages/projects/lite/src/apps/sign-up/views/invite-colleague/useSplitInvites.ts","file:///app/node_modules/copy-to-clipboard/index.js","file:///app/packages/libs/shared/src/components/pill-tab-selector/pill-tab-selector.scss","file:///app/node_modules/react-copy-to-clipboard/lib/Component.js","file:///app/node_modules/react-copy-to-clipboard/lib/index.js","file:///app/node_modules/toggle-selection/index.js"],"sourcesContent":["import React from 'react';\n\nexport function CloseIcon(): JSX.Element {\n return (\n <svg viewBox='0 0 24 24'>\n <path d='M11.959 10.641l4.402-4.296a.964.964 0 0 1 1.358 0 .951.951 0 0 1 0 1.35l-4.403 4.297 4.403 4.378a.951.951 0 0 1 0 1.35.964.964 0 0 1-1.358 0l-4.402-4.378-4.32 4.378a.964.964 0 0 1-1.358 0 .951.951 0 0 1 0-1.35l4.32-4.378-4.32-4.362a.951.951 0 0 1 0-1.35.964.964 0 0 1 1.358 0l4.32 4.361z'/>\n </svg>\n );\n}","import React from 'react';\n\nimport { CloseIcon } from 'libs/shared/images/components/CloseIcon';\n\nimport styles from './clearable-input.scss';\n\ninterface ClearInputProps extends React.HTMLProps<HTMLInputElement> {\n showClearButton?: boolean;\n onClickClear: () => void;\n clearClassName?: string;\n}\n\nexport const ClearableInput = React.forwardRef((\n props: ClearInputProps,\n ref: React.ForwardedRef<HTMLInputElement>\n) => {\n const { onClickClear, showClearButton, clearClassName, ...inputProps } = props;\n\n return (\n <div className='position-relative'>\n <input\n {...inputProps}\n ref={ref}\n className={`${props.className} ${styles.clearableInput}`}\n />\n {(!!props.value || showClearButton) &&\n <span\n className={`${styles.clearInput} position-absolute cursor-pointer text-secondary ${clearClassName || ''}`}\n role='button'\n onClick={onClickClear}\n onKeyDown={(e: React.KeyboardEvent) => e.key === 'Enter' && onClickClear()}\n tabIndex={0}\n >\n <div className='d-inline-block svg-container md'>\n <CloseIcon />\n </div>\n </span>\n }\n </div>\n );\n});","// extracted by mini-css-extract-plugin\nexport default {\"clearInput\":\"ygMgF\",\"clearableInput\":\"aYpO7\"};","// extracted by mini-css-extract-plugin\nexport default {\"normal\":\"Q1UGv\",\"copyBtn\":\"J3fBx\",\"embedHtmlInput\":\"RcwAD\"};","import * as React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { IconButton } from '../icon-button/IconButton';\n\nimport styles from './copy-input.scss';\n\nconst namespace = 'shared.copyInput';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CopyInputProps {\n value: string;\n label?: string;\n // Greyed means the input will be greyed out. Normal means it will appear like a normal input\n styling?: 'greyed' | 'normal' | 'normal-v2';\n onCopy?: () => void;\n copyText?: string;\n copiedText?: string;\n showCopiedText?: boolean;\n extraButtonClassNames?: string;\n textarea?: boolean;\n hasInputBg?: boolean;\n}\n\nCopyInput.defaultProps = {\n styling: 'normal'\n};\n\nexport function CopyInput(props: CopyInputProps): JSX.Element {\n const [ localShowCopiedText, setLocalShowCopiedText ] = React.useState(props.showCopiedText || false);\n\n function revertLocalShowCopiedText() {\n setTimeout(() => setLocalShowCopiedText(false), 2000);\n }\n\n function onCopy(): void {\n if (props.onCopy)\n props.onCopy();\n\n if (localShowCopiedText)\n return;\n\n setLocalShowCopiedText(true);\n revertLocalShowCopiedText();\n }\n\n React.useEffect(() => {\n if (!props.showCopiedText)\n return;\n \n revertLocalShowCopiedText();\n }, [props.showCopiedText]);\n\n function Button() {\n if (props.styling === 'normal-v2') {\n return (\n <CopyToClipboard text={props.value} onCopy={onCopy}>\n <IconButton\n role={localShowCopiedText ? 'status' : ''}\n svgName={localShowCopiedText ? cvSvgLibrary.Check : cvSvgLibrary.Copy}\n className={classNames(\n styles.copyBtn,\n 'btn py-0 text-nowrap',\n localShowCopiedText ? 'btn-success text-white' : 'btn-outline-dark border-secondary',\n props.extraButtonClassNames\n )}\n >\n {localShowCopiedText ?\n props.copiedText || getPhrase('copiedLink') :\n props.copyText || getPhrase('copy')\n }\n </IconButton>\n </CopyToClipboard>\n );\n }\n\n return (\n <CopyToClipboard text={props.value} onCopy={onCopy}>\n <button\n role={localShowCopiedText ? 'status' : ''}\n className={classNames(\n 'btn btn-outline-dark border border-secondary py-0 text-nowrap',\n props.extraButtonClassNames\n )}\n >\n {localShowCopiedText ?\n props.copiedText || getPhrase('copied') :\n props.copyText || getPhrase('copy')\n }\n </button>\n </CopyToClipboard>\n );\n }\n\n const input = (\n <div className={props.styling === 'normal-v2' ? 'd-flex flex-row gap-2 position-relative w-100' : 'input-group'}>\n {props.textarea\n ? <textarea\n className={classNames('form-control rounded w-100 h-100', !props.hasInputBg && styles.embedHtmlInput)}\n spellCheck={false}\n value={props.value}\n rows={7}\n readOnly\n />\n : <input\n type='text'\n autoComplete='off'\n className={classNames(\n 'form-control',\n props.styling === 'normal' && props.styling\n )}\n spellCheck={false}\n value={props.value}\n readOnly\n />\n }\n \n <Button />\n </div>\n );\n\n if (props.label) {\n return (\n <Form.Group className='form-group'>\n <Form.Label>{props.label}</Form.Label>\n {input}\n </Form.Group>\n );\n }\n\n return input;\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\n\nimport { SvgContainer } from '../svg-container/SvgContainer';\n\nimport styles from './pill-tab-selector.scss';\n\ninterface TabContentsProps {\n tab: PillTab;\n}\n\nfunction TabContents(props: TabContentsProps): JSX.Element {\n return (\n <>\n {!!props.tab.svgName && (\n <div className={props.tab.name ? 'pe-1' : ''}>\n <SvgContainer svgName={props.tab.svgName} />\n </div>\n )}\n\n {props.tab.name}\n\n {typeof (props.tab.count) === 'number' && (\n <div className='ps-2'>\n <Badge type={BadgeType.Count} data={props.tab.count} />\n </div>\n )}\n </>\n );\n}\n\nexport interface PillTab {\n name: string;\n active: boolean;\n svgName?: string;\n\n className?: string;\n\n appLink?: Core.AppLink;\n onSelect?: () => void;\n\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n\n count?: number;\n}\n\ninterface PillTabSelectorProps {\n tabs: PillTab[];\n containerRef?: (el: HTMLElement) => void;\n listClassName?: string;\n className?: string;\n borderRadius?: 'sm' | 'lg'\n}\n\nPillTabSelector.defaultProps = {\n borderRadius: 'lg'\n};\n\nexport function PillTabSelector(props: PillTabSelectorProps): JSX.Element {\n function onSelectTab(tab: PillTab): void {\n if (tab.active || !tab.onSelect)\n return;\n\n tab.onSelect();\n\n if (tab.analyticsData && tab.analyticsOptions)\n AnalyticsHelper.logUserAction(tab.analyticsData, tab.analyticsOptions);\n }\n\n return (\n <nav className={props.className ?? ''} ref={props.containerRef}>\n <ul className={`\n list-unstyled d-inline-block m-0 ${styles.pillTabSelector}\n ${props.borderRadius ? styles.radiusSmall : ''}\n ${props.listClassName}\n `}>\n {props.tabs.map((tab, index) => {\n return (\n <li\n className={`\n p-0 ${styles.tab} ${tab.active ? 'btn btn-dark' : 'btn btn-outline-dark'}\n ${tab.name ? styles.minWidth : ''} ${tab.className}\n `}\n key={index}\n >\n {tab.appLink ? (\n <AppLink\n appLink={tab.appLink}\n analyticsData={tab.analyticsData}\n analyticsOptions={tab.analyticsOptions}\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n >\n <TabContents tab={tab} />\n </AppLink>\n ) : (\n <DivButton\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n onClick={() => onSelectTab(tab)}\n >\n <TabContents tab={tab} />\n </DivButton>\n )}\n </li>\n );\n })}\n </ul>\n </nav>\n );\n}\n","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/flight';\n\nimport { InviteFormInputData } from 'apps/sign-up/views/invite-colleague/components/invite/invite-form-input-group/InviteFormInputItem';\n\nexport const InviteColleagueRequests = {\n invite(\n data: InviteFormInputData[]\n ): Flight.Request {\n return {\n url: '{gateway}/v1/users/invites',\n key: 'invites:colleague',\n normalize: false,\n type: HttpVerbs.POST,\n data,\n invalidationKeys: ['invites']\n };\n },\n\n inviteByType(): Flight.Request {\n return {\n key: `invites`,\n url: `{gateway}/v1/users/invites?type=link&type=direct`,\n normalize: false\n };\n },\n\n deleteInvite(id: string): Flight.Request {\n return {\n key: `invites:delete`,\n url: `{gateway}/v1/users/invites/${id}`,\n type: HttpVerbs.DELETE,\n normalize: false,\n invalidationKeys: ['invites']\n };\n },\n\n resendInvite(id: string): Flight.Request {\n return {\n key: `invites:${id}:resend`,\n url: `{gateway}/v1/users/invites/email?id=${id}`,\n type: HttpVerbs.POST,\n normalize: false\n };\n },\n\n createInviteLink(): Flight.Request {\n return {\n key: `invites:create`,\n url: `{gateway}/v1/users/invites/links`,\n type: HttpVerbs.POST,\n normalize: false,\n invalidationKeys: ['invites']\n };\n }\n};","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { InviteColleagueProblems, InviteColleagueXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\n\nimport { InviteFormInput, InviteFormInputData } from 'apps/sign-up/views/invite-colleague/components/invite/invite-form-input-group/InviteFormInputItem';\n\n\nconst ErrorPhraseMap: {[key in InviteColleagueProblems]: string} = {\n 'email-in-use': 'emailInUse',\n 'invalid-email': 'invalidEmail'\n};\n\nconst namespace = 'signUp.helpers';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const InputGroupHelper = {\n recalculateFields(\n index: number,\n inputFields: InviteFormInput[],\n minFields: number,\n maxFields: number\n ): InviteFormInput[] {\n // Remove any fields that have empty inputs\n const cleanFields = this.cleanFields(inputFields);\n\n // If all the fields are empty then just remove the current field\n if (!cleanFields.length)\n return this.removeField(index, inputFields, minFields);\n\n const lastInviteData = cleanFields[cleanFields.length - 1];\n\n // Add new empty field if we are entering data in any of the inputs on the last field\n const enteredDataOnLastField = !!(\n index === cleanFields.length - 1 &&\n (cleanFields[index].data.firstName.length || cleanFields[index].data.email.length)\n );\n\n // Add new empty field if the last field currently has data in any of the inputs but is less than max allowed field size\n const shouldAddField = !!(\n cleanFields.length < maxFields &&\n (lastInviteData.data.firstName.length || lastInviteData.data.email.length)\n );\n\n \n if (enteredDataOnLastField || shouldAddField)\n return this.addField(cleanFields, maxFields);\n\n return;\n },\n\n getValidFieldsData(fields: InviteFormInput[]) {\n return fields.reduce((previous, current) => {\n if (current.data.email.length) {\n return [ ...previous, current.data ];\n }\n return previous;\n }, [] as InviteFormInputData[]);\n },\n\n getInputWithErrors(fields: InviteFormInput[], error: InviteColleagueXhr) {\n const inputsWithErrors = [...fields];\n\n const problems = error.responseJSON?.problems;\n\n inputsWithErrors.forEach((input, index) => {\n const error = problems.find(item => item.email === input.data.email);\n if (!error) return;\n inputsWithErrors[index] = {\n ...input,\n error: {\n email: getPhrase(ErrorPhraseMap[error.errorCode])\n }\n };\n });\n\n return inputsWithErrors;\n },\n\n cleanFields(inputFields: InviteFormInput[]): InviteFormInput[] {\n return inputFields.filter(\n item => ((item.data.firstName.length || item.data.email.length))\n );\n },\n\n removeField(index: number, inputFields: InviteFormInput[], minFields: number): InviteFormInput[] {\n if (inputFields.length === minFields || !inputFields[index])\n return inputFields;\n\n return inputFields.filter((_, idx) => idx !== index);\n },\n\n addField(inputFields: InviteFormInput[], maxFields: number): InviteFormInput[] {\n if (inputFields.length >= maxFields)\n return inputFields;\n\n return [ ...inputFields, this.getNewEmptyField() ];\n },\n\n getNewEmptyField(): InviteFormInput {\n return {\n data: {\n firstName: '',\n email: ''\n }\n };\n }\n};","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { InviteFormInput, InviteFormInputError } from 'apps/sign-up/views/invite-colleague/components/invite/invite-form-input-group/InviteFormInputItem';\n\nconst namespace = 'signUp.helpers';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst emailRegex = new RegExp(/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/);\nconst firstNameRegex = /^[\\w0-9'\\-,.():;&][^_!¡?÷¿/\\\\+=@#$%ˆ*{}|~<>[\\]]{0,}$/;\n\nexport const InviteValidationHelper = {\n validate(fields: InviteFormInput[]): { fieldsWithErrors: InviteFormInput[], hasErrors: boolean } {\n const fieldsWithErrors = [...fields];\n let hasErrors = false;\n \n fieldsWithErrors.forEach((item, index) => {\n const shouldNotValidate = (\n index === fieldsWithErrors.length - 1 &&\n index !== 0 &&\n (!item.data.email.length && !item.data.firstName.length)\n );\n\n if (shouldNotValidate)\n return;\n \n const currentItemError: InviteFormInputError = {\n firstName: this.validateFirstName(item.data.firstName),\n email: this.validateEmail(item.data.email)\n };\n \n if (currentItemError.firstName || currentItemError.email) {\n item.error = currentItemError;\n\n if (!hasErrors) hasErrors = true;\n }\n });\n\n return { fieldsWithErrors, hasErrors };\n },\n\n validateEmail(email: string): string {\n if (!email.length) {\n return getPhrase('enterValidEmail');\n }\n\n if (!emailRegex.test(email)) {\n return getPhrase('validSchoolEmail');\n }\n },\n \n validateFirstName(firstName: string): string {\n if (!firstName.length) {\n return;\n }\n\n if (!firstNameRegex.test(firstName)) {\n return getPhrase('invalidFirstname');\n }\n }\n};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { AccessPolicy } from 'libs/shared/interfaces/models/AccessPolicy';\n\nconst namespace = 'signUp.hardGateInviteBanner';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface HardGateInviteBannerProps {\n accessPolicy: AccessPolicy;\n reverseTrialReferralCount: number;\n}\n\nexport function HardGateInviteBanner(props: HardGateInviteBannerProps): JSX.Element {\n const { accessPolicy, reverseTrialReferralCount } = props;\n \n return (\n <div className='px-3'>\n <div role='alert' className='bg-light-indigo rounded p-2 mb-4 text-indigo'>\n {getPhrase('titlePrefix')} <strong>{getPhrase('titleEmphasis')}</strong>\n {accessPolicy.metadata.maxReferrals &&\n <div className='text-center'>\n <small>\n {getPhrase('extensionsRedeemed', { count: reverseTrialReferralCount ?? 0, max: accessPolicy.metadata.maxReferrals })}\n </small>\n </div>\n }\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ClearableInput } from 'libs/shared/apps/sign-up/components/general/clear-input/ClearableInput';\n\nconst namespace = 'signUp.invite.inviteFormInputGroup';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface InviteFormInputData {\n firstName: string;\n email: string;\n}\n\nexport interface InviteFormInputError extends Partial<InviteFormInputData> {}\n\nexport interface InviteFormInput {\n data: InviteFormInputData,\n error?: InviteFormInputError\n}\n\ninterface InviteFormInputItemProps {\n index: number;\n input: InviteFormInput;\n onChange: (field: keyof InviteFormInputData, data: InviteFormInputData) => void;\n clearInputs: () => void;\n}\n\nexport function InviteFormInputItem(props: InviteFormInputItemProps): JSX.Element {\n const { data, error } = props.input;\n\n function onChange<T extends keyof InviteFormInputData>(field: T, value: InviteFormInputData[T]) {\n const newData: InviteFormInputData = {\n ...data,\n [field]: value\n };\n props.onChange(field, newData);\n }\n\n function onChangeFirstName(event: React.ChangeEvent<HTMLInputElement>): void {\n event.preventDefault();\n onChange('firstName', event.target.value);\n }\n\n function onChangeWorkEmail(event: React.ChangeEvent<HTMLInputElement>): void {\n event.preventDefault();\n onChange('email', event.target.value);\n }\n \n return (\n <div className='row mb-2'>\n <div className='col-4'>\n <input\n type='text'\n name={`firstName${props.index}`}\n className='form-control form-control-lg'\n placeholder={getPhrase('firstName')}\n value={data.firstName}\n onChange={onChangeFirstName}\n autoComplete='off'\n />\n {error && error?.firstName &&\n <p className='mb-0 text-danger'>{error.firstName}</p>\n }\n </div>\n <div className='col-8 ps-0'>\n <ClearableInput\n type='text'\n name={`electronicMail${props.index}`}\n className='form-control form-control-lg'\n placeholder={getPhrase('emailAddress', { count: props.index + 1 })}\n value={data.email}\n onChange={onChangeWorkEmail}\n onClickClear={props.clearInputs}\n autoComplete='off'\n showClearButton={!!(data.firstName || data.email)}\n />\n {error && error?.email &&\n <p className='mb-0 text-danger' dangerouslySetInnerHTML={{ __html: error.email }}></p>\n }\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { InputGroupHelper } from 'apps/sign-up/helpers/InputGroupHelper';\nimport { InviteFormInput, InviteFormInputData, InviteFormInputItem } from 'apps/sign-up/views/invite-colleague/components/invite/invite-form-input-group/InviteFormInputItem';\n\nconst namespace = 'signUp.invite.inviteFormInputGroup';\n\n\ninterface InviteFormInputGroupProps {\n fields: InviteFormInput[];\n setFields: React.Dispatch<React.SetStateAction<InviteFormInput[]>>\n showSpinner: boolean;\n onSubmit: () => void;\n \n minFields: number;\n maxFields: number;\n isTertiary: boolean;\n}\n\nexport function InviteFormInputGroup(props: InviteFormInputGroupProps): JSX.Element {\n const { fields, setFields, minFields, maxFields, isTertiary } = props;\n\n const fieldCount = React.useMemo(() => fields.filter(f => !!f.data.email).length, [fields]);\n\n function onChangeFieldData(index: number, field: keyof InviteFormInputData, data: InviteFormInputData): void {\n if (index > fields.length)\n return;\n\n setFields(fields => {\n const newData = [...fields];\n newData[index].data = data;\n\n // remove any errors for the field\n if (newData[index]?.error && newData[index]?.error[field]) {\n delete newData[index].error[field];\n }\n\n const recalculatedFields = InputGroupHelper.recalculateFields(index, newData, minFields, maxFields);\n\n return recalculatedFields || newData;\n });\n }\n\n function clearInputs(index: number): void {\n if (index > fields.length)\n return;\n\n setFields(fields => {\n const newData = [...fields];\n newData[index].data.firstName = '';\n newData[index].data.email = '';\n\n // remove any errors for the field\n const recalculatedFields = InputGroupHelper.recalculateFields(index, newData, minFields, maxFields);\n\n return recalculatedFields || newData;\n });\n }\n\n return (\n <div className='px-3'>\n <EmptyState.Image\n src={ImageUrls.SignUp.INVITE_COLLEAGUE}\n className='d-block mx-auto'\n />\n <h2 className='h5 text-center'>\n <Text namespace={namespace} phrase={isTertiary ? 'inviteHeadingTertiary' : 'inviteHeading'} />\n </h2>\n <p className='text-center'>\n <Text namespace={namespace} phrase='inviteSubheading' />\n </p>\n <div className='row fw-bold mb-2'>\n <div className='col-4'>\n <Text namespace={namespace} phrase='firstName' />\n </div>\n <div className='col-8 ps-0'>\n <Text namespace={namespace} phrase='workEmailAddress' />\n <span className='text-danger'>*</span>\n </div>\n </div>\n {fields.map((item, index) => (\n <InviteFormInputItem\n input={item}\n key={index}\n index={index}\n onChange={(field, newData) => onChangeFieldData(index, field, newData)}\n clearInputs={() => clearInputs(index)}\n />\n ))}\n <div className='pt-2 pb-3'>\n <SpinnerButton showSpinner={props.showSpinner} variant='dark' className='btn-lg w-100' onClick={props.onSubmit}>\n <Text namespace={namespace} phrase='btnInvite' options={{ smartCount: fieldCount || 1 }} />\n </SpinnerButton>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { InviteFormInput } from 'apps/sign-up/views/invite-colleague/components/invite/invite-form-input-group/InviteFormInputItem';\n\nconst namespace = 'signUp.invite.inviteFormSuccess';\n\ninterface InviteFormSuccessProps {\n fields: InviteFormInput[];\n onInviteMore: (event: React.MouseEvent) => void;\n}\n\nexport function InviteFormSuccess(props: InviteFormSuccessProps): JSX.Element {\n if (!props.fields?.length)\n return;\n\n return (\n <div className='text-center px-3'>\n <EmptyState.Image\n src={ImageUrls.SignUp.INVITE_COLLEAGUE_SUCCESS}\n className='d-block mx-auto'\n />\n <h2 className='h4'><Text namespace={namespace} phrase='inviteSent' /></h2>\n <p className='mb-0'><Text namespace={namespace} phrase='emailSentTo' /></p>\n <div className='mb-3'>\n {props.fields.map((item, index) => {\n const { firstName, email } = item.data;\n\n if (!email)\n return;\n\n return (\n <p className='mb-0' key={index}>\n {!!firstName.length &&\n <strong>{firstName}</strong>\n }\n \n ({email})\n </p>\n );\n })}\n </div>\n <p>\n <Text namespace={namespace} phrase='moreInvite' /> \n <a\n onClick={props.onInviteMore}\n className='info-link p-0'\n >\n <Text namespace={namespace} phrase='inviteMore' />\n </a>\n </p>\n </div>\n );\n}","import React from 'react';\n\nimport { InviteFormInputGroup } from 'apps/sign-up/views/invite-colleague/components/invite/invite-form-input-group/InviteFormInputGroup';\nimport { InviteFormInput } from 'apps/sign-up/views/invite-colleague/components/invite/invite-form-input-group/InviteFormInputItem';\nimport { InviteFormSuccess } from 'apps/sign-up/views/invite-colleague/components/invite/invite-form-success/InviteFormSuccess';\n\ninterface InviteFormProps {\n maxFields: number;\n minFields: number;\n fields: InviteFormInput[];\n setFields: React.Dispatch<React.SetStateAction<InviteFormInput[]>>\n showSpinner: boolean;\n completed: boolean;\n onSubmit: () => Promise<void>;\n onInviteMore: () => void;\n isTertiary: boolean;\n}\n\nexport function InviteForm(props: InviteFormProps): JSX.Element {\n const { fields, setFields, showSpinner, onSubmit } = props;\n\n function onInviteMore(event: React.MouseEvent) {\n event.preventDefault();\n props.onInviteMore();\n }\n \n if (!fields.length)\n return <></>;\n\n if (props.completed) {\n return <InviteFormSuccess fields={fields} onInviteMore={onInviteMore} />;\n }\n \n return (\n <InviteFormInputGroup\n fields={fields}\n setFields={setFields}\n showSpinner={showSpinner}\n onSubmit={onSubmit}\n maxFields={props.maxFields}\n minFields={props.minFields}\n isTertiary={props.isTertiary}\n />\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PillTab, PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\n\nconst namespace = 'signUp.invite.inviteTabs';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport type InviteTabs = 'inviteForm' | 'pendingInvites';\n\ninterface InviteTabsProps {\n activeTab: InviteTabs;\n onChangeTab: (tab: InviteTabs) => void;\n}\n\nexport function InviteTabs(props: InviteTabsProps): JSX.Element {\n const tabs: PillTab[] = [{\n name: getPhrase('invite'),\n onSelect: () => props.onChangeTab('inviteForm'),\n active: props.activeTab === 'inviteForm',\n analyticsData: {\n name: getPhrase('invite')\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }, {\n name: getPhrase('pending'),\n onSelect: () => props.onChangeTab('pendingInvites'),\n active: props.activeTab === 'pendingInvites',\n analyticsData: {\n name: getPhrase('pending')\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }];\n \n return (\n <PillTabSelector\n className='d-flex justify-content-center mb-3'\n tabs={tabs}\n />\n );\n}","import React from 'react';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nconst namespace = 'signUp.invite.pendingInvites';\n\ninterface EmptyPendingInvitesProps {\n onInviteMore: () => void;\n}\n\nexport function EmptyPendingInvites(props: EmptyPendingInvitesProps): JSX.Element {\n function onInviteMore(event: React.MouseEvent): void {\n event.preventDefault();\n props.onInviteMore();\n }\n \n return (\n <div className='text-center py-4 px-3'>\n <EmptyState.Image\n src={ImageUrls.SignUp.EMPTY_PENDING_INVITES}\n className='d-block mx-auto'\n />\n <h2 className='h5 mb-0'>\n <Text namespace={namespace} phrase='emptyTitle' />\n </h2>\n <p>\n <Text namespace={namespace} phrase='emptyDescription' />\n \n <a onClick={onInviteMore} className='info-link'>\n <Text namespace={namespace} phrase='emptyAction' />\n </a>\n </p>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"avatar\":\"cin_G\",\"oneLine\":\"FrlTw\",\"twoLine\":\"rBQWR\",\"minPendingHeight\":\"LMnOk\"};","import React from 'react';\n\nimport styles from './pending-invites.scss';\n\nfunction PartialPendingInvitesItem() {\n return (\n <div className='d-flex mb-2 justify-content-between'>\n <div className='col-8 d-flex align-items-center'>\n <div className={`partial-loading-background rounded-circle ${styles.avatar}`}></div>\n <div className='ms-2 w-100'>\n <div className={`partial-loading-background mb-1 w-50 ${styles.oneLine}`}></div>\n <div className={`partial-loading-background w-100 ${styles.oneLine}`}></div>\n </div>\n </div>\n <div className='col d-flex align-items-center justify-content-end'>\n <div className={`partial-loading-background w-100 ${styles.twoLine}`}></div>\n </div>\n </div>\n );\n}\n\nexport function PartialPendingInvites() {\n return (\n <div className='px-3'>\n <div className={`partial-loading-background w-25 m-2 ${styles.oneLine}`}></div>\n {Array(6).fill(null).map((item, index) => <PartialPendingInvitesItem key={index} />)}\n </div>\n );\n}","export enum InviteStatus {\n Active = 'Active',\n Accepted = 'Accepted',\n Expired = 'Expired'\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { DropdownActionOptions } from 'libs/shared/components/actions/ActionsDropdown';\n\nimport { InviteStatus } from 'apps/sign-up/enums/InviteStatus';\n\nconst namesapce = 'signUp.helpers';\nconst getPhrase = LanguageService.encloseNamespace(namesapce);\n\ninterface ItemActionsOptions {\n status: InviteStatus,\n resendInvite: () => void,\n removeInvite: () => void\n}\n\nexport const PendingInvitesHelper = {\n getItemActions(options: ItemActionsOptions): DropdownActionOptions[] {\n const { status, resendInvite, removeInvite } = options;\n\n if (status === InviteStatus.Accepted) return [];\n \n const actions: DropdownActionOptions[] = [\n {\n label: getPhrase('resendInvite'),\n onClick: resendInvite\n },\n {\n label: getPhrase('removeInvite'),\n onClick: removeInvite,\n className: 'text-danger'\n }\n ];\n \n return actions;\n }\n};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { InviteStatus } from 'apps/sign-up/enums/InviteStatus';\n\nconst namespace = 'signUp.invite.inviteStatusInfo';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InviteStatusInfoProps {\n status: InviteStatus;\n}\n\nexport function InviteStatusInfo(props: InviteStatusInfoProps): JSX.Element {\n if (props.status === InviteStatus.Accepted) {\n return (\n <InviteStatusInfoFrame\n extraContainerClass='text-success'\n renderSvg={() => (\n <SvgContainer\n size={SvgContainerSize.Small}\n svgName={cvSvgLibrary.Check}\n />\n )}\n text={getPhrase('accepted')}\n />\n );\n }\n\n if (props.status === InviteStatus.Active) {\n return (\n <InviteStatusInfoFrame\n renderSvg={() => (\n <SvgContainer\n size={SvgContainerSize.Small}\n svgName={cvSvgLibrary.PendingCircle}\n className='d-inline-block svg-container text-info'\n />\n )}\n extraTextClass='text-secondary'\n text={getPhrase('active')}\n />\n );\n }\n\n if (props.status === InviteStatus.Expired) {\n return (\n <InviteStatusInfoFrame\n extraContainerClass='text-danger'\n renderSvg={() => (\n <SvgContainer\n size={SvgContainerSize.Small}\n svgName={cvSvgLibrary.Close}\n className='d-inline-block svg-container'\n />\n )}\n text={getPhrase('expired')}\n />\n );\n }\n\n return <></>;\n}\n\ninterface InviteStatusInfoFrameProps {\n text: string;\n\n renderSvg?: () => React.ReactElement;\n extraContainerClass?: string;\n extraTextClass?: string;\n}\n\nfunction InviteStatusInfoFrame(props: InviteStatusInfoFrameProps): JSX.Element {\n function mergeClassNames(baseClass: string, extraClass: string): string {\n if (extraClass)\n return `${baseClass} ${extraClass}`;\n\n return baseClass;\n }\n\n const containerClass = mergeClassNames('d-flex align-items-center', props.extraContainerClass);\n const textClass = mergeClassNames('ps-1', props.extraTextClass);\n \n return (\n <div className={containerClass}>\n {props.renderSvg && props.renderSvg()}\n <small className={textClass}>\n {props.text}\n </small>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"avatar\":\"VsdKR\",\"email\":\"L65Cs\"};","import React from 'react';\n\nimport { ActionsDropdown } from 'libs/shared/components/actions/ActionsDropdown';\nimport { Avatar } from 'libs/shared/components/avatar/Avatar';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { PendingInvitesHelper } from 'apps/sign-up/helpers/PendingInvitesHelper';\nimport { Invitation } from 'apps/sign-up/models/Invitation';\nimport { InviteStatusInfo } from 'apps/sign-up/views/invite-colleague/components/invite/invite-status-info/InviteStatusInfo';\n\nimport styles from './pending-invites-item.scss';\n\ninterface PendingInvitesItemProps {\n imageCdnUrl: string;\n invite: Invitation;\n removeInvite: (id: string) => void;\n resendInvite: (id: string) => void;\n}\n\ninterface InviteAvatarProps {\n imageCdnUrl: string;\n initial: string;\n userId: string;\n}\n\nfunction InviteAvatar(props: InviteAvatarProps): JSX.Element {\n if (props.initial) {\n return (\n <Avatar\n imageCdnUrl={props.imageCdnUrl}\n initials={props.initial}\n />\n );\n }\n\n return (\n <div className='d-flex align-items-center justify-content-center rounded-circle bg-dark text-white w-100 h-100'>\n <SvgContainer svgName={cvSvgLibrary.Email} size={SvgContainerSize.Large} />\n </div>\n );\n}\n\nexport function PendingInvitesItem(props: PendingInvitesItemProps): JSX.Element {\n const { invitee, status } = props.invite;\n const email = invitee?.email ?? props.invite.metadata.email;\n const actions = PendingInvitesHelper.getItemActions({\n status,\n resendInvite: () => props.resendInvite(props.invite.id),\n removeInvite: () => props.removeInvite(props.invite.id)\n });\n const firstName = props.invite.metadata?.firstName;\n const initial = firstName?.substr(0, 1);\n \n return (\n <div className='d-flex mb-2 justify-content-between px-3'>\n <div className='d-flex align-items-center ps-0'>\n <div className={styles.avatar}>\n <InviteAvatar\n initial={initial}\n userId={invitee?.userId}\n imageCdnUrl={props.imageCdnUrl}\n />\n </div>\n <div className='ms-2'>\n {!!firstName &&\n <h3 className='h6 mb-0'>{firstName}</h3>\n }\n <p\n className={`mb-0 text-secondary w-100 text-truncate ${styles.email}`}\n title={email}\n >\n {email}\n </p>\n </div>\n </div>\n <div className='d-flex align-items-center justify-content-between pe-0'>\n <InviteStatusInfo status={status} />\n {!!actions.length &&\n <ActionsDropdown\n dropdownToggleClassName='btn btn-link ms-1'\n actions={actions}\n />\n }\n </div>\n </div>\n );\n}","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\n\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { Invitation } from 'apps/sign-up/models/Invitation';\nimport { EmptyPendingInvites } from 'apps/sign-up/views/invite-colleague/components/invite/pending-invites/EmptyPendingInvites';\nimport { PartialPendingInvites } from 'apps/sign-up/views/invite-colleague/components/invite/pending-invites/PartialPendingInvites';\nimport { PendingInvitesItem } from 'apps/sign-up/views/invite-colleague/components/invite/pending-invites-item/PendingInvitesItem';\n\nimport styles from './pending-invites.scss';\n\nconst namespace = 'signUp.invite.pendingInvites';\n\ninterface PendingInvitesProps {\n imageCdnUrl: string;\n invites: Invitation[];\n isLoading: boolean;\n removeInvite: (id: string) => void;\n resendInvite: (id: string) => void;\n onInviteMore: () => void;\n}\n\nexport function PendingInvites(props: PendingInvitesProps): JSX.Element {\n if (props.isLoading) {\n return <PartialPendingInvites />;\n }\n \n if (!props?.invites?.length) {\n return <EmptyPendingInvites onInviteMore={props.onInviteMore} />;\n }\n\n return (\n <div className='px-1'>\n <h3 className='h6 px-3'>\n <Text namespace={namespace} phrase='heading' />\n </h3>\n <Scrollbars\n className={`${styles.minPendingHeight}`}\n >\n {props.invites.map((item, index) => (\n <PendingInvitesItem\n key={index}\n invite={item}\n imageCdnUrl={props.imageCdnUrl}\n removeInvite={props.removeInvite}\n resendInvite={props.resendInvite}\n />\n ))}\n </Scrollbars>\n </div>\n );\n}","import React from 'react';\nimport { Spinner } from 'react-bootstrap';\n\nimport { CopyInput } from 'libs/shared/components/copy-input/CopyInput';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'signUp.invite.shareInviteLink';\n\ninterface ShareInviteLinkProps {\n link: string;\n showSpinner: boolean;\n onClickCreate: () => void;\n onClickDelete: () => void;\n}\n\nexport function ShareInviteLink(props: ShareInviteLinkProps): JSX.Element {\n if (props.showSpinner) {\n return (\n <div className='text-center w-100'>\n <Spinner as='div' animation='border' role='status' />\n </div>\n );\n }\n \n return (\n <div className='w-100'>\n <div className='d-flex justify-content-between'>\n <h2 className='h6'><Text namespace={namespace} phrase='title' /></h2>\n {props.link &&\n <button className='btn btn-link info-link p-0 mb-2' onClick={props.onClickDelete}>\n <Text namespace={namespace} phrase='delete' />\n </button>\n }\n </div>\n \n {props.link\n ? <CopyInput value={props.link} />\n : <div className='d-flex w-100 justify-content-between'>\n <div>\n <SvgContainer svgName={cvSvgLibrary.Link} className='me-2 d-inline-block svg-container' />\n <Text namespace={namespace} phrase='generate' />\n </div>\n <button className='btn info-link p-0' onClick={props.onClickCreate}>\n <Text namespace={namespace} phrase='create' />\n </button>\n </div>\n }\n </div>\n );\n}","/**\n * Differe ways we can invite prospects.\n * @readonly\n * @enum {string}\n */\nexport enum InviteType {\n Link = 'link',\n Direct = 'direct'\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { AccessPolicy } from 'libs/shared/interfaces/models/AccessPolicy';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'signUp.softGateInviteBanner';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface SoftGateInviteBannerProps {\n accessPolicy: AccessPolicy;\n reverseTrialReferralCount: number;\n}\n\nexport function SoftGateInviteBanner(props: SoftGateInviteBannerProps): JSX.Element {\n const { accessPolicy, reverseTrialReferralCount } = props;\n \n return (\n <div className='px-3'>\n <div role='alert' className='bg-light-indigo rounded p-2 mb-4 text-indigo text-center'>\n <div className='d-flex align-items-center justify-content-center'>\n <SvgContainer svgName={cvSvgLibrary.StarOutline} size={SvgContainerSize.Medium} />\n <div>\n {getPhrase('titlePrefix')}\n \n <AppLink\n appLink={{\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.PREMIUM_FEATURES\n }}\n className='indigo-link text-indigo text-underline d-inline'\n >\n <strong>{getPhrase('titleEmphasis', { bonusDays: accessPolicy.metadata.referralBonusTime.split('.')[0] })}</strong>\n </AppLink>\n </div>\n </div>\n {accessPolicy.metadata.maxReferrals &&\n <div>\n <small>\n {getPhrase('extensionsRedeemed', { count: reverseTrialReferralCount ?? 0, max: accessPolicy.metadata.maxReferrals })}\n </small>\n </div>\n }\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"minHeight\":\"tWSzO\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, SignUpDescriptors, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAccessPolicy } from 'libs/shared/hooks/useAccessPolicy';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Config, CurrentUser, PopupViewProps } from 'libs/shared/interfaces';\nimport { InviteColleagueXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\nimport { ErrorMessageHelper } from 'libs/shared/utils/error-message-helper/ErrorMessageHelper';\n\nimport { useIsTertiary } from 'apps/onboarding/hooks/useIsTertiary';\nimport { InviteColleagueRequests } from 'apps/sign-up/flight-requests/InviteColleagueRequests';\nimport { InputGroupHelper } from 'apps/sign-up/helpers/InputGroupHelper';\nimport { InviteValidationHelper } from 'apps/sign-up/helpers/InviteValidationHelper';\nimport { Invitation } from 'apps/sign-up/models/Invitation';\nimport { HardGateInviteBanner } from 'apps/sign-up/views/invite-colleague/components/invite/hard-gate-invite-banner/HardGateInviteBanner';\nimport { InviteForm } from 'apps/sign-up/views/invite-colleague/components/invite/invite-form/InviteForm';\nimport { InviteFormInput, InviteFormInputData } from 'apps/sign-up/views/invite-colleague/components/invite/invite-form-input-group/InviteFormInputItem';\nimport { InviteTabs } from 'apps/sign-up/views/invite-colleague/components/invite/invite-tabs/InviteTabs';\nimport { PendingInvites } from 'apps/sign-up/views/invite-colleague/components/invite/pending-invites/PendingInvites';\nimport { ShareInviteLink } from 'apps/sign-up/views/invite-colleague/components/invite/share-invite-link/ShareInviteLink';\nimport { SoftGateInviteBanner } from 'apps/sign-up/views/invite-colleague/components/invite/soft-gate-invite-banner/SoftGateInviteBaner';\nimport { useSplitInvites } from 'apps/sign-up/views/invite-colleague/useSplitInvites';\n\nimport styles from './invite-colleague.scss';\n\nconst namespace = 'signUp.inviteColleage';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst MIN_FIELDS = 1;\nconst MAX_FIELDS = 5;\n\ninterface InviteColleagueViewProps extends PopupViewProps {\n tab: InviteTabs;\n}\n\nexport interface FormSubmitResponse {\n data: InviteFormInput[];\n hasErrors: boolean;\n}\n\nexport function InviteColleagueView(props: InviteColleagueViewProps): JSX.Element {\n const [ tab, setTab ] = React.useState<InviteTabs>(props.tab);\n const [ showShareLinkSpinner, setShowShareLinkSpinner ] = React.useState<boolean>(false);\n const [ formCompleted, setFormCompleted ] = React.useState(false);\n\n const [ showFormSpinner, setShowFormSpinner ] = React.useState(false);\n const [ fields, setFields ] = React.useState<InviteFormInput[]>(() => [InputGroupHelper.getNewEmptyField()]);\n\n const { accessPolicy } = useAccessPolicy();\n const { reverseTrialReferralCount } = useSettings(null);\n\n const fetchAsync = Flight.useGetFetchAsync();\n\n const alerts = useAlerts();\n const isTertiary = useIsTertiary();\n \n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const invites = Flight.useBasicFetch<Invitation[]>(InviteColleagueRequests.inviteByType());\n\n const { directInvites, links } = useSplitInvites(invites.data);\n const link = links?.[0];\n\n async function onClickCreateLink(): Promise<void> {\n setShowShareLinkSpinner(true);\n\n try {\n await fetchAsync(InviteColleagueRequests.createInviteLink());\n } catch {\n alerts.error(getPhrase('error'));\n } finally {\n setShowShareLinkSpinner(false);\n }\n }\n\n async function onClickDeleteLink(): Promise<void> {\n try {\n await fetchAsync(InviteColleagueRequests.deleteInvite(link.id));\n alerts.success(getPhrase('deleteLinkSuccess'));\n } catch (err) {\n alerts.error(ErrorMessageHelper.inviteColleagueError(err));\n }\n }\n\n async function onFormSubmit() {\n if (showFormSpinner) return;\n \n const { fieldsWithErrors, hasErrors } = InviteValidationHelper.validate(fields);\n if (hasErrors) {\n setFields(fieldsWithErrors);\n return;\n }\n \n try {\n setShowFormSpinner(true);\n const validFieldsData: InviteFormInputData[] = InputGroupHelper.getValidFieldsData(fields);\n await fetchAsync(InviteColleagueRequests.invite(validFieldsData));\n setFormCompleted(true);\n logSuccess(validFieldsData.length);\n return;\n } catch (err) {\n const error = err as InviteColleagueXhr;\n\n if (error.responseJSON?.type !== 'create-invitation-failed') {\n alerts.error(ErrorMessageHelper.inviteColleagueError(error));\n return;\n }\n\n const inputsWithErrors = InputGroupHelper.getInputWithErrors(fields, error);\n\n setFields(inputsWithErrors);\n } finally {\n setShowFormSpinner(false);\n }\n }\n\n function logSuccess(emailCount: number) {\n AnalyticsHelper.logUserAction({ emailCount }, {\n actionType: UserAction.SendEmail,\n location: LocationContext.TrialBanner,\n entity: EntityType.User,\n descriptor: SignUpDescriptors.InviteColleague,\n workflowPhase: WorkflowPhase.Complete\n });\n }\n\n function handleInviteMore() {\n setFormCompleted(false);\n setFields([InputGroupHelper.getNewEmptyField()]);\n if (tab !== 'inviteForm') {\n setTab('inviteForm');\n setShowFormSpinner(false);\n }\n }\n\n async function handleRemoveInvite(id: string): Promise<void> {\n try {\n await fetchAsync(InviteColleagueRequests.deleteInvite(id));\n alerts.success(getPhrase('removeSuccess'));\n } catch (err) {\n alerts.error(ErrorMessageHelper.inviteColleagueError(err));\n }\n }\n\n async function handleResendInvite(id: string): Promise<void> {\n try {\n await fetchAsync(InviteColleagueRequests.resendInvite(id));\n alerts.success(getPhrase('resendSuccess'));\n } catch (err) {\n alerts.error(ErrorMessageHelper.inviteColleagueError(err));\n }\n }\n\n const hasLoaded = (currentUser.hasCompleted && config.hasCompleted && invites.hasCompleted);\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={props.closePopup}\n bodyClassName='modal-body px-0'\n showLoadingSpinner={!hasLoaded}\n >\n {hasLoaded &&\n <>\n <div className={styles.minHeight}>\n {accessPolicy?.metadata?.referralBonusTime &&\n <SoftGateInviteBanner accessPolicy={accessPolicy} reverseTrialReferralCount={reverseTrialReferralCount} />\n }\n {accessPolicy?.metadata?.referralReactivationPolicy &&\n <HardGateInviteBanner accessPolicy={accessPolicy} reverseTrialReferralCount={reverseTrialReferralCount} />\n }\n \n {!formCompleted &&\n <InviteTabs activeTab={tab} onChangeTab={tab => setTab(tab)} />\n }\n\n {(() => {\n if (tab === 'pendingInvites')\n return (\n <PendingInvites\n imageCdnUrl={config.data.imageCdnUrl}\n invites={directInvites}\n onInviteMore={handleInviteMore}\n removeInvite={handleRemoveInvite}\n resendInvite={handleResendInvite}\n isLoading={!invites.hasCompleted}\n />\n );\n\n return (\n <InviteForm\n fields={fields}\n setFields={setFields}\n showSpinner={showFormSpinner}\n completed={formCompleted}\n onSubmit={onFormSubmit}\n onInviteMore={handleInviteMore}\n maxFields={MAX_FIELDS}\n minFields={MIN_FIELDS}\n isTertiary={isTertiary}\n />\n );\n })()}\n </div>\n {!formCompleted &&\n <div className='px-3'>\n <PopupButtons>\n <ShareInviteLink\n onClickCreate={onClickCreateLink}\n onClickDelete={onClickDeleteLink}\n link={link?.inviteUrl}\n showSpinner={showShareLinkSpinner}\n />\n </PopupButtons>\n </div>\n }\n </>\n }\n </Popup>\n );\n}","import React from 'react';\n\nimport { InviteType } from 'apps/sign-up/enums/InviteType';\nimport { Invitation } from 'apps/sign-up/models/Invitation';\n\nexport function useSplitInvites(invites: Invitation[]) {\n return React.useMemo(() => {\n if (!invites) {\n return { directInvites: null, links: null };\n }\n\n return invites.reduce((prev, curr) => {\n if (curr.type === InviteType.Direct) {\n prev.directInvites.push(curr);\n return prev;\n }\n\n prev.links.push(curr);\n return prev;\n }, {\n directInvites: [] as Invitation[],\n links: [] as Invitation[]\n });\n }, [invites]);\n}","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","// extracted by mini-css-extract-plugin\nexport default {\"pillTabSelector\":\"Hdi6o\",\"tab\":\"RvNxr\",\"minWidth\":\"GHSz9\",\"radiusSmall\":\"VhJJa\",\"tabLink\":\"WFyvo\"};","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n"],"names":["CloseIcon","viewBox","d","ClearableInput","props","ref","onClickClear","showClearButton","clearClassName","inputProps","className","value","role","onClick","onKeyDown","e","key","tabIndex","getPhrase","LanguageService","CopyInput","showCopiedText","localShowCopiedText","setLocalShowCopiedText","revertLocalShowCopiedText","setTimeout","onCopy","input","styling","textarea","hasInputBg","spellCheck","rows","readOnly","type","autoComplete","CopyToClipboard","text","IconButton","svgName","extraButtonClassNames","copiedText","copyText","label","Form","defaultProps","TabContents","tab","name","count","data","PillTabSelector","containerRef","borderRadius","listClassName","tabs","map","index","active","appLink","analyticsData","analyticsOptions","onSelect","onSelectTab","InviteColleagueRequests","invite","url","normalize","HttpVerbs","invalidationKeys","inviteByType","deleteInvite","id","resendInvite","createInviteLink","ErrorPhraseMap","InputGroupHelper","recalculateFields","inputFields","minFields","maxFields","cleanFields","this","length","removeField","lastInviteData","enteredDataOnLastField","firstName","email","shouldAddField","addField","getValidFieldsData","fields","reduce","previous","current","getInputWithErrors","error","inputsWithErrors","problems","responseJSON","forEach","find","item","errorCode","filter","_","idx","getNewEmptyField","emailRegex","RegExp","firstNameRegex","InviteValidationHelper","validate","fieldsWithErrors","hasErrors","currentItemError","validateFirstName","validateEmail","test","HardGateInviteBanner","accessPolicy","reverseTrialReferralCount","metadata","maxReferrals","max","InviteFormInputItem","onChange","field","newData","placeholder","event","preventDefault","target","clearInputs","dangerouslySetInnerHTML","__html","InviteFormInputGroup","setFields","isTertiary","fieldCount","f","EmptyState","src","ImageUrls","Text","namespace","phrase","onChangeFieldData","SpinnerButton","showSpinner","variant","onSubmit","options","smartCount","InviteFormSuccess","onInviteMore","InviteForm","completed","InviteTabs","onChangeTab","activeTab","actionType","entity","location","EmptyPendingInvites","PartialPendingInvitesItem","PartialPendingInvites","Array","fill","InviteStatus","PendingInvitesHelper","getItemActions","status","removeInvite","Accepted","InviteStatusInfo","InviteStatusInfoFrame","extraContainerClass","renderSvg","SvgContainer","size","S","Active","extraTextClass","Expired","mergeClassNames","baseClass","extraClass","containerClass","textClass","InviteAvatar","initial","Avatar","imageCdnUrl","initials","PendingInvitesItem","invitee","actions","substr","userId","title","ActionsDropdown","dropdownToggleClassName","PendingInvites","isLoading","invites","ShareInviteLink","Spinner","as","animation","link","onClickDelete","onClickCreate","InviteType","SoftGateInviteBanner","AppLink","application","action","bonusDays","referralBonusTime","split","MIN_FIELDS","MAX_FIELDS","InviteColleagueView","setTab","showShareLinkSpinner","setShowShareLinkSpinner","formCompleted","setFormCompleted","showFormSpinner","setShowFormSpinner","useAccessPolicy","useSettings","fetchAsync","alerts","useIsTertiary","currentUser","UserRequests","config","ConfigRequests","prev","curr","Direct","directInvites","push","links","useSplitInvites","logSuccess","emailCount","AnalyticsHelper","descriptor","workflowPhase","handleInviteMore","hasLoaded","hasCompleted","Popup","closePopup","bodyClassName","showLoadingSpinner","referralReactivationPolicy","success","ErrorMessageHelper","validFieldsData","PopupButtons","inviteUrl","deselectCurrent","clipboardToIE11Formatting","module","exports","debug","message","reselectPrevious","range","selection","mark","document","createRange","getSelection","createElement","textContent","ariaHidden","style","all","position","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","stopPropagation","format","clipboardData","console","warn","window","clearData","setData","body","appendChild","selectNodeContents","addRange","execCommand","Error","err","copyKey","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","removeChild","_typeof","obj","Symbol","iterator","constructor","prototype","Object","defineProperty","_react","_interopRequireDefault","_copyToClipboard","_excluded","__esModule","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","i","arguments","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","_defineProperties","configurable","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_assertThisInitialized","self","ReferenceError","_getPrototypeOf","getPrototypeOf","_React$PureComponent","subClass","superClass","TypeError","create","_inherits","Constructor","protoProps","Derived","hasNativeReflectConstruct","_super","Reflect","construct","sham","Proxy","Boolean","valueOf","call","_isNativeReflectConstruct","result","Super","NewTarget","_possibleConstructorReturn","_this","instance","_classCallCheck","_len","args","_key","concat","_this$props","children","elem","Children","only","_this$props2","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_objectWithoutProperties","cloneElement","PureComponent","undefined","rangeCount","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","focus"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8672],{26136:(e,t,a)=>{a.d(t,{B:()=>s});var n=a(76198),r=a(23481),i=a(64818),c=r.T.encloseNamespace("shared.analyticsUtils");function s(e,t){return e?t?(0,n._8)((a=e.id,r=e.sessionId,s=+"".concat(a||function(e){if(!e)return 0;for(var t=0,a=0;a<e.length;a++)t=(t<<5)-t+e.charCodeAt(a),t|=0;return Math.abs(t)}(r)).concat(Math.floor((new Date).getMinutes()/5)),{dictionaries:[n.O9,n.yd],separator:" ",length:2,style:"capital",seed:s})):e.deleted?c("deleted"):i.l.getFullName(e)||c("anonUser"):c("anonUser");var a,r,s}},40782:(e,t,a)=>{a.d(t,{I:()=>n,O:()=>o});var n,r=a(32735),i=a(2606),c=a(362);function s(e){var t=r.useCallback(function(t){if(t){var a=t.r.baseVal.value,n=2*Math.PI*a,r=n-e.percentage*n;t.style.strokeDasharray="".concat(n," ").concat(n),t.style.strokeDashoffset=r.toString()}},[e.percentage]);return r.createElement("svg",null,r.createElement("circle",{r:(0,i.pu)(e.size),className:c.Z.backgroundCircle}),!(0,i.zR)(e.percentage)&&r.createElement("circle",{ref:t,r:(0,i.pu)(e.size),className:(0,i.V4)(e.percentage,e.scoreThresholds)}))}function o(e){var t,a=(0,i.Ki)(e.percentage),o=e.size||(e.layout===n.LabelInside?i.Mk.Large:i.Mk.Small),l=e.customLabel||(0,i.DV)(a);return e.layout===n.LabelOnly?r.createElement("span",{className:(0,i.IA)(a)},l):r.createElement("div",{className:"d-flex align-items-center justify-content-between ".concat(null!==(t=e.className)&&void 0!==t?t:"")},e.layout===n.LabelBefore&&r.createElement("span",{className:"me-2"},l),r.createElement("div",{className:(0,i.tw)(o,a)},r.createElement(s,{percentage:a,size:o,scoreThresholds:e.scoreThresholds}),e.layout===n.LabelInside&&r.createElement("span",{className:c.Z.centredPercentageText},l)))}!function(e){e.CircleOnly="circle_only",e.LabelOnly="label_only",e.LabelBefore="label_before",e.LabelInside="label_inside"}(n||(n={})),o.defaultProps={layout:n.CircleOnly}},2606:(e,t,a)=>{a.d(t,{DV:()=>y,IA:()=>g,Ki:()=>p,Mk:()=>s,V4:()=>m,pu:()=>d,tw:()=>v,zR:()=>f});var n=a(94892),r=a(362);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function c(e,t,a){return(t=function(e){var t=function(e){if("object"!=i(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=i(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var s,o=.2,l=.36;!function(e){e.Small="small",e.Large="large",e.ExtraSmall="extraSmall"}(s||(s={}));var u=c(c(c({},s.ExtraSmall,{size:2}),s.Small,{size:2}),s.Large,{size:5.8});function d(e){var t=u[e].size,a=e===s.Large?l:o;return"".concat(t/2-2*a,"rem")}function m(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.i;return e>=t.HIGH?r.Z.circleSuccess:e>=t.MODERATE?r.Z.circleWarning:r.Z.circleDanger}function g(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.i;return e>=t.HIGH?"text-success":e>=t.MODERATE?"text-warning":"text-danger"}function v(e,t){var a="d-inline-block ".concat(r.Z.circleContainer);return e===s.Large&&(a+=" ".concat(r.Z.lgCircleContainer)),e===s.ExtraSmall&&(a+=" ".concat(r.Z.xsCircleContainer)),f(t)&&(a+=" ".concat(r.Z.pendingCircle)),a}function p(e){if(!f(e))return+e.toFixed(2)}function y(e){return f(e)?"--%":"".concat(Math.round(100*e),"%")}function f(e){return"number"!=typeof e}},94892:(e,t,a)=>{a.d(t,{T:()=>r,i:()=>n});var n={HIGH:.75,MODERATE:.5},r={HIGH:.7,MODERATE:.7}},54405:(e,t,a)=>{a.d(t,{X:()=>n});var n={interactive:function(){return{url:"/mocks/insights/interactive.json",key:"demo:interactive",normalize:!1}},interactiveMetadata:function(){return{url:"/mocks/insights/interactive-metadata.json",key:"demo:interactive:metadata",normalize:!1}},interactiveResults:function(){return{url:"/mocks/insights/interactive-results.json",key:"demo:interactive:results",normalize:!1}},videoViews:function(){return{url:"/mocks/insights/video-views.json",key:"demo:video:views",normalize:!1}},users:function(){return{url:"/mocks/insights/users.json",key:"demo:users",normalize:!1}},individualHeatmap:function(){return{url:"/mocks/insights/individual-heatmap.json",key:"demo:individual:heatmap",normalize:!1}},aggregateHeatmap:function(){return{url:"/mocks/insights/aggregate-heatmap.json",key:"demo:aggregate:heatmap",normalize:!1}}}},18006:(e,t,a)=>{a.d(t,{A:()=>n});var n="GRWx6w"},9566:(e,t,a)=>{a.d(t,{$Z:()=>p,G6:()=>m,GJ:()=>v,VE:()=>h,_w:()=>g,po:()=>f,vJ:()=>y});var n=a(23481),r=a(110),i=a(33518),c=a(2510),s=a(4594),o=a(35223),l=a(14070),u=a(97291),d=n.T.encloseNamespace("myShares.demoInsights"),m={type:c.y.Link,privacy:i.e.JustMySchool,objectId:"0",objectTypeId:s.E.Interactive,viewCount:28,accessCount:15,dateCreated:(new Date).toISOString(),dateShared:(new Date).toISOString(),expireDate:null,link:{shortenedEmbedUrl:"",shortenedUrl:""},shareId:"0",ownerCustomerId:0,ownerId:0,recipients:[],options:{preventScrubbing:!1,immediateFeedback:!1}},g=Object.assign(Object.assign({},m),{type:c.y.Open,expireDate:r.O.add(new Date(m.dateCreated),30,"days").toISOString(),privacy:i.e.PinCode}),v={share:m,sharedObject:null,shareRecipients:null,dateShared:r.O.subtract(new Date,7,"days").toISOString()},p=Object.assign(Object.assign({},v),{share:g}),y={application:u.O.MY_SHARES,action:l.e.MyShares.INTERACTIVE_OVERVIEW_DEMO},f={application:u.O.MY_SHARES,action:l.e.MyShares.INTERACTIVE_OVERVIEW_OPEN_CLASSROOM_DEMO},h={svgName:o.vn.Analytics,label:d("demoInsights"),appLink:y,group:"insights",className:"btn btn-outline-dark"}},44183:(e,t,a)=>{a.r(t),a.d(t,{InsightsHeatmapDemoView:()=>I});var n=a(32735),r=a(23481),i=a(2948),c=a(20354),s=a(26025),o=a(2510),l=a(60051),u=a(39151),d=a(54405),m=a(47812),g=a(31949),v=a(93322),p=a(79612),y=a(86702),f=a(74049),h=a(17132),b=a(18006),S=a(9566),E=a(10447);function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var k=r.T.encloseNamespace("shared.insightsHeatmap");function I(e){var t,a,r,I,w,C,j,D,A=(j=(0,i.D)(y.y.ANONYMISE_USERS),D=1,function(e){if(Array.isArray(e))return e}(j)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,i,c,s=[],o=!0,l=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;o=!1}else for(;!(o=(n=i.call(a)).done)&&(s.push(n.value),s.length!==t);o=!0);}catch(e){l=!0,r=e}finally{try{if(!o&&null!=a.return&&(c=a.return(),Object(c)!==c))return}finally{if(l)throw r}}return s}}(j,D)||function(e,t){if(e){if("string"==typeof e)return O(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?O(e,t):void 0}}(j,D)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0];(0,v.F)();var M=c.a.useBasicFetch(g.N.currentUser()),R=c.a.useBasicFetch(d.X.interactiveMetadata()),L=c.a.useBasicFetch(u.L.config()),N=s.B.getAudienceAppLinkParams(),T=s.B.getDateRangeAppLinkParams(),_=c.a.useBasicFetch(d.X.aggregateHeatmap()),x=c.a.useBasicFetch(d.X.individualHeatmap()),z=c.a.useBasicFetch(d.X.users()),V=c.a.useBasicFetch(d.X.videoViews()),H=c.a.useBasicFetch(R.data&&m.k.createViewKey(b.A,l.f.Share));(0,p.M)({title:R.data?k("pageTitle",{video:null===(t=R.data)||void 0===t?void 0:t.name}):null});var B=!!(M.data&&V.data&&R.data&&_.data&&H.data&&z.data),P=!!x.data,G=Object.assign(Object.assign({},N),T),Z=e.type===o.y.Open?S._w:S.G6;return n.createElement("div",{className:"px-3"},n.createElement(f.j,{video:R.data,tabs:(0,E.aq)(null===(a=R.data)||void 0===a?void 0:a.id,"heatmap",G,e.type),dateRangeAppLinkParams:T,share:Object.assign(Object.assign({},Z),{objectId:null!==(I=null===(r=R.data)||void 0===r?void 0:r.id)&&void 0!==I?I:"0"}),yearGroups:[],markingRequired:e.type!==o.y.Open,isDemo:!0,hasData:!0}),n.createElement(h.w,{aggregateEngagement:_.data,individualEngagement:null===(w=x.data)||void 0===w?void 0:w.data,yearGroups:null===(C=V.data)||void 0===C?void 0:C.yearGroupCount,config:L.data,users:z.data,viewKey:H.data,hasDataLoaded:B,tableDataLoaded:P,anonymiseUsers:A,hideStaffResults:!1}))}},362:(e,t,a)=>{a.d(t,{Z:()=>n});const n={circleContainer:"p8Vgz",backgroundCircle:"asGGE",circleSuccess:"PXLNj",circleWarning:"ZckRN",circleDanger:"slBRg",lgCircleContainer:"N8KCI",xsCircleContainer:"RPqZ2",pendingCircle:"DKrcq",centredPercentageText:"tpmLR"}}}]);
|
|
2
|
+
//# sourceMappingURL=8672-6967ce8a23-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/8672-6967ce8a23-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/analytics/utils/AnonymiseUserUtils.ts","file:///app/packages/libs/shared/src/components/percentage-indicator/PercentageIndicator.tsx","file:///app/packages/libs/shared/src/components/percentage-indicator/PercentageIndicatorUtils.ts","file:///app/packages/libs/shared/src/constants/ScoreThresholds.ts","file:///app/packages/libs/shared/src/flight-requests/InsightsDemoRequests.ts","file:///app/packages/projects/lite/src/apps/my-shares/constants/DemoInsights.ts","file:///app/packages/projects/lite/src/apps/my-shares/constants/MySharesDemoInsights.ts","file:///app/packages/projects/lite/src/apps/my-shares/views/demo/heatmap/InsightsHeatmapDemoView.tsx","file:///app/packages/libs/shared/src/components/percentage-indicator/percentage-indicator.scss"],"sourcesContent":["import { animals, colors, Config as UniqueNamesConfig, uniqueNamesGenerator } from 'unique-names-generator';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { AnonUser } from 'libs/shared/interfaces/models/interactive-results/AnonUser';\nimport { UserHelper } from 'libs/shared/utils/UserHelper';\n\nconst namespace = 'shared.analyticsUtils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction guidToSeed(guid: string): number {\n if (!guid)\n return 0;\n\n // Simple hash function (DJB2-like) for browsers\n let hash = 0;\n for (let i = 0; i < guid.length; i++) {\n const char = guid.charCodeAt(i);\n hash = ((hash << 5) - hash) + char;\n hash |= 0; // Convert to 32bit integer\n }\n return Math.abs(hash);\n}\n\nfunction getUniqueNamesConfig(userId: string, sessionId: string): UniqueNamesConfig {\n /**\n * Generate a seed that is unique to each user but changes every 5 minutes.\n * \n * We use a seed so that if the same user's name is anonymised multiple times\n * in quick succession (e.g. multiple renders), the same name will be returned each time.\n * \n * We change the seed every 5 minutes so that students don't always have the same name.\n */\n const seed = +`${userId || guidToSeed(sessionId)}${Math.floor((new Date()).getMinutes() / 5)}`;\n\n return {\n dictionaries: [ colors, animals ],\n separator: ' ',\n length: 2,\n style: 'capital',\n seed\n };\n}\n\nexport function anonymiseUserName(user: AnonUser, shouldAnonymise: boolean): string {\n if (!user) {\n return getPhrase('anonUser');\n }\n\n if (!shouldAnonymise) {\n if (user.deleted)\n return getPhrase('deleted');\n\n return UserHelper.getFullName(user) || getPhrase('anonUser');\n }\n\n return uniqueNamesGenerator(getUniqueNamesConfig(user.id, user.sessionId));\n}\n","import React from 'react';\n\nimport { ScoreThresholds } from 'libs/shared/constants/ScoreThresholds';\n\nimport {\n getCircleClassName,\n getCircleContainerClassName,\n getCircleRadius,\n getColouredLabelClassName,\n getFormattedPercentage,\n getPercentageToFixed,\n isPending,\n ProgressCircleSize\n} from './PercentageIndicatorUtils';\n\nimport styles from './percentage-indicator.scss';\n\ninterface ProgressCircleProps {\n size: ProgressCircleSize;\n scoreThresholds?: ScoreThresholds;\n percentage?: number;\n}\n\nfunction ProgressCircle(props: ProgressCircleProps): JSX.Element {\n const ref = React.useCallback((circle: SVGCircleElement) => {\n if (!circle)\n return;\n\n const radius = circle.r.baseVal.value;\n const circumference = 2 * Math.PI * radius;\n const offset = circumference - props.percentage * circumference;\n\n circle.style.strokeDasharray = `${circumference} ${circumference}`;\n circle.style.strokeDashoffset = offset.toString();\n }, [props.percentage]);\n\n return (\n <svg>\n <circle r={getCircleRadius(props.size)} className={styles.backgroundCircle} />\n {!isPending(props.percentage) &&\n <circle\n ref={ref}\n r={getCircleRadius(props.size)}\n className={getCircleClassName(props.percentage, props.scoreThresholds)}\n />\n }\n </svg>\n );\n}\n\nexport enum PercentageIndicatorLayout {\n CircleOnly = 'circle_only',\n LabelOnly = 'label_only',\n LabelBefore = 'label_before',\n LabelInside = 'label_inside'\n}\n\ninterface PercentageIndicatorProps {\n layout: PercentageIndicatorLayout;\n percentage?: number; // Between 0 and 1 or undefined for pending\n className?: string;\n customLabel?: string;\n scoreThresholds?: ScoreThresholds;\n size?: ProgressCircleSize;\n}\n\nPercentageIndicator.defaultProps = {\n layout: PercentageIndicatorLayout.CircleOnly\n};\n\nexport function PercentageIndicator(props: PercentageIndicatorProps): JSX.Element {\n const percentageToFixed = getPercentageToFixed(props.percentage);\n\n const size = props.size ||\n (props.layout === PercentageIndicatorLayout.LabelInside\n ? ProgressCircleSize.Large\n : ProgressCircleSize.Small\n );\n\n const label = props.customLabel || getFormattedPercentage(percentageToFixed);\n\n if (props.layout === PercentageIndicatorLayout.LabelOnly)\n return (\n <span className={getColouredLabelClassName(percentageToFixed)}>\n {label}\n </span>\n );\n\n return (\n <div className={`d-flex align-items-center justify-content-between ${props.className ?? ''}`}>\n {props.layout === PercentageIndicatorLayout.LabelBefore &&\n <span className='me-2'>\n {label}\n </span>\n }\n <div className={getCircleContainerClassName(size, percentageToFixed)}>\n <ProgressCircle percentage={percentageToFixed} size={size} scoreThresholds={props.scoreThresholds} />\n {props.layout === PercentageIndicatorLayout.LabelInside &&\n <span className={styles.centredPercentageText}>\n {label}\n </span>\n }\n </div>\n </div>\n );\n}","import { ScoreThresholdDefaults, ScoreThresholds } from 'libs/shared/constants/ScoreThresholds';\n\nimport styles from './percentage-indicator.scss';\n\n/**\n * Values for width and strokeWidth are taken from progress-circle.scss.\n * If either are changed, they must be updated in both places.\n */\nconst CIRCLE_WIDTH = 2; // rem\nconst CIRCLE_WIDTH_LG = 5.8; // rem\nconst CIRCLE_STROKE_WIDTH = 0.2; // rem\nconst CIRCLE_STROKE_WIDTH_LG = 0.36; // rem\n \nexport enum ProgressCircleSize {\n Small = 'small',\n Large = 'large',\n ExtraSmall = 'extraSmall'\n}\n\nconst ProgressCircleSizeMap = {\n [ProgressCircleSize.ExtraSmall]: {\n size: CIRCLE_WIDTH\n },\n [ProgressCircleSize.Small]: {\n size: CIRCLE_WIDTH\n },\n [ProgressCircleSize.Large]: {\n size: CIRCLE_WIDTH_LG\n }\n};\n\n/**\n * radius = width / 2 - strokeWidth * 2\n */\nexport function getCircleRadius(size: ProgressCircleSize): string {\n const width = ProgressCircleSizeMap[size].size;\n const strokeWidth = size === ProgressCircleSize.Large ? CIRCLE_STROKE_WIDTH_LG : CIRCLE_STROKE_WIDTH;\n return `${width / 2 - strokeWidth * 2}rem`;\n}\n \nexport function getCircleClassName(\n percentage: number,\n scoreThresholds: ScoreThresholds = ScoreThresholdDefaults\n): string {\n if (percentage >= scoreThresholds.HIGH)\n return styles.circleSuccess;\n \n if (percentage >= scoreThresholds.MODERATE)\n return styles.circleWarning;\n \n return styles.circleDanger;\n}\n \nexport function getColouredLabelClassName(\n percentage: number,\n scoreThresholds: ScoreThresholds = ScoreThresholdDefaults\n): string {\n if (percentage >= scoreThresholds.HIGH)\n return 'text-success';\n \n if (percentage >= scoreThresholds.MODERATE)\n return 'text-warning';\n \n return 'text-danger';\n}\n \nexport function getCircleContainerClassName(size: ProgressCircleSize, percentage?: number): string {\n let className = `d-inline-block ${styles.circleContainer}`;\n \n if (size === ProgressCircleSize.Large)\n className += ` ${styles.lgCircleContainer}`;\n\n if (size === ProgressCircleSize.ExtraSmall)\n className += ` ${styles.xsCircleContainer}`;\n\n if (isPending(percentage))\n className += ` ${styles.pendingCircle}`;\n \n return className;\n}\n\nexport function getPercentageToFixed(percentage?: number): number | undefined {\n if (isPending(percentage))\n return;\n \n return +percentage.toFixed(2);\n}\n \nexport function getFormattedPercentage(percentage?: number): string {\n if (isPending(percentage))\n return `--%`;\n\n return `${Math.round(percentage * 100)}%`;\n}\n\nexport function isPending(percentage?: number): boolean {\n return typeof percentage !== 'number';\n}","export interface ScoreThresholds {\n HIGH: number;\n MODERATE: number;\n}\n\nexport const ScoreThresholdDefaults: ScoreThresholds = {\n HIGH: 0.75,\n MODERATE: 0.5\n};\n\nexport const ScoreThresholdInsights: ScoreThresholds = {\n HIGH: 0.7,\n MODERATE: 0.7\n};","import { Flight } from 'libs/common/react/index';\n\nexport const InsightsDemoRequests = {\n interactive(): Flight.Request {\n return {\n url: `/mocks/insights/interactive.json`,\n key: `demo:interactive`,\n normalize: false\n };\n },\n\n interactiveMetadata(): Flight.Request {\n return {\n url: `/mocks/insights/interactive-metadata.json`,\n key: `demo:interactive:metadata`,\n normalize: false\n };\n },\n\n interactiveResults(): Flight.Request {\n return {\n url: `/mocks/insights/interactive-results.json`,\n key: `demo:interactive:results`,\n normalize: false\n };\n },\n\n videoViews(): Flight.Request {\n return {\n url: `/mocks/insights/video-views.json`,\n key: `demo:video:views`,\n normalize: false\n };\n },\n\n users(): Flight.Request {\n return {\n url: `/mocks/insights/users.json`,\n key: `demo:users`,\n normalize: false\n };\n },\n\n individualHeatmap(): Flight.Request {\n return {\n url: `/mocks/insights/individual-heatmap.json`,\n key: `demo:individual:heatmap`,\n normalize: false\n };\n },\n\n aggregateHeatmap(): Flight.Request {\n return {\n url: `/mocks/insights/aggregate-heatmap.json`,\n key: `demo:aggregate:heatmap`,\n normalize: false\n };\n }\n};","export const DEMO_INTERACTIVE_ID = 'GRWx6w';","import { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { MySharesTableData } from 'apps/my-shares/components/my-shares-table/MySharesTableUtils';\n\nconst namespace = 'myShares.demoInsights';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst DEMO_INSIGHT_DAYS_AGO = 7;\n\nexport const DEMO_INSIGHTS_SHARE: Share = {\n type: ShareType.Link,\n privacy: SharePrivacy.JustMySchool,\n objectId: '0',\n objectTypeId: MasterType.Interactive,\n viewCount: 28,\n accessCount: 15,\n dateCreated: new Date().toISOString(),\n dateShared: new Date().toISOString(),\n expireDate: null,\n link: {\n shortenedEmbedUrl: '',\n shortenedUrl: ''\n },\n shareId: '0',\n ownerCustomerId: 0,\n ownerId: 0,\n recipients: [],\n options: {\n preventScrubbing: false,\n immediateFeedback: false\n }\n};\n\nexport const DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE: Share = {\n ...DEMO_INSIGHTS_SHARE,\n type: ShareType.Open,\n expireDate: DateHelper.add(new Date(DEMO_INSIGHTS_SHARE.dateCreated), 30, 'days').toISOString(),\n privacy: SharePrivacy.PinCode\n};\n\nexport const DEMO_INSIGHTS_SHARE_TABLE_DATA: MySharesTableData = {\n share: DEMO_INSIGHTS_SHARE,\n sharedObject: null,\n shareRecipients: null,\n dateShared: DateHelper.subtract(new Date(), DEMO_INSIGHT_DAYS_AGO, 'days').toISOString()\n};\n\nexport const DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE_TABLE_DATA: MySharesTableData = {\n ...DEMO_INSIGHTS_SHARE_TABLE_DATA,\n share: DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE\n};\n\nexport const DEMO_INSIGHTS_APPLINK: Core.AppLink = {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_OVERVIEW_DEMO\n};\n\nexport const DEMO_INSIGHTS_OPEN_CLASSROOM_APPLINK: Core.AppLink = {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_OVERVIEW_OPEN_CLASSROOM_DEMO\n};\n\nexport const DEMO_INSIGHTS_ACTION: ActionOptions = {\n svgName: cvSvgLibrary.Analytics,\n label: getPhrase('demoInsights'),\n appLink: DEMO_INSIGHTS_APPLINK,\n group: 'insights',\n className: 'btn btn-outline-dark'\n};\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { VideoViewEventResponse } from 'libs/shared/apps/analytics/interfaces/VideoViewEvent';\nimport { AnalyticsFilterHelper } from 'libs/shared/apps/analytics/utils/AnalyticsFilterUtils';\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { InsightsDemoRequests } from 'libs/shared/flight-requests/InsightsDemoRequests';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useLockContentWidth } from 'libs/shared/hooks/useLockContentWidth';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, CurrentUser, Engagement, IndividualEngagementResponse, InteractiveMetadata, PlayerViewKey } from 'libs/shared/interfaces';\nimport { AnonUser } from 'libs/shared/interfaces/models/interactive-results/AnonUser';\n\nimport { ViewModelKeys } from 'shared/constants/LiteViewModels';\n\nimport { InsightsHeader } from 'apps/my-shares/components/insights-header/InsightsHeader';\nimport { InsightsHeatmap } from 'apps/my-shares/components/insights-heatmap/InsightsHeatmap';\nimport { DEMO_INTERACTIVE_ID } from 'apps/my-shares/constants/DemoInsights';\nimport { DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE, DEMO_INSIGHTS_SHARE } from 'apps/my-shares/constants/MySharesDemoInsights';\nimport { getInsightsDemoInteractiveTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\n\nconst namespace = 'shared.insightsHeatmap';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InsightsHeatmapDemoViewProps {\n type?: ShareType;\n}\n\nexport function InsightsHeatmapDemoView(props: InsightsHeatmapDemoViewProps) {\n const [anonymiseUsers] = useViewModel<boolean>(ViewModelKeys.ANONYMISE_USERS);\n\n useLockContentWidth();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const video = Flight.useBasicFetch<InteractiveMetadata>(\n InsightsDemoRequests.interactiveMetadata()\n );\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const audienceAppLinkParams = AnalyticsFilterHelper.getAudienceAppLinkParams();\n const dateRangeAppLinkParams = AnalyticsFilterHelper.getDateRangeAppLinkParams();\n\n const aggregateEngagement = Flight.useBasicFetch<Engagement>(\n InsightsDemoRequests.aggregateHeatmap()\n );\n\n const individualEngagement = Flight.useBasicFetch<IndividualEngagementResponse>(\n InsightsDemoRequests.individualHeatmap()\n );\n\n const users = Flight.useBasicFetch<AnonUser[]>(InsightsDemoRequests.users());\n\n const videoViews = Flight.useBasicFetch<VideoViewEventResponse>(InsightsDemoRequests.videoViews());\n\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(video.data &&\n PlayerRequests.createViewKey(DEMO_INTERACTIVE_ID, MediaIdType.Share));\n\n useSetPageMetadata({ title: video.data ? getPhrase('pageTitle', { video: video.data?.name }) : null });\n\n const hasDataLoaded =\n !!currentUser.data &&\n !!videoViews.data &&\n !!video.data &&\n !!aggregateEngagement.data &&\n !!viewKey.data &&\n !!users.data;\n\n const tableDataLoaded = !!individualEngagement.data;\n\n const params = {\n ...audienceAppLinkParams,\n ...dateRangeAppLinkParams\n };\n\n const share = props.type === ShareType.Open ? DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE : DEMO_INSIGHTS_SHARE;\n\n return (\n <div className='px-3'>\n <InsightsHeader\n video={video.data}\n tabs={getInsightsDemoInteractiveTabs(video.data?.id, 'heatmap', params, props.type)}\n dateRangeAppLinkParams={dateRangeAppLinkParams}\n share={{\n ...share,\n objectId: video.data?.id ?? '0'\n }}\n yearGroups={[]}\n markingRequired={props.type !== ShareType.Open}\n isDemo\n hasData\n />\n\n <InsightsHeatmap\n aggregateEngagement={aggregateEngagement.data}\n individualEngagement={individualEngagement.data?.data}\n yearGroups={videoViews.data?.yearGroupCount}\n config={config.data}\n users={users.data}\n viewKey={viewKey.data}\n hasDataLoaded={hasDataLoaded}\n tableDataLoaded={tableDataLoaded}\n anonymiseUsers={anonymiseUsers}\n hideStaffResults={false}\n />\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"circleContainer\":\"p8Vgz\",\"backgroundCircle\":\"asGGE\",\"circleSuccess\":\"PXLNj\",\"circleWarning\":\"ZckRN\",\"circleDanger\":\"slBRg\",\"lgCircleContainer\":\"N8KCI\",\"xsCircleContainer\":\"RPqZ2\",\"pendingCircle\":\"DKrcq\",\"centredPercentageText\":\"tpmLR\"};"],"names":["getPhrase","anonymiseUserName","user","shouldAnonymise","userId","id","sessionId","seed","guid","hash","i","length","charCodeAt","Math","abs","guidToSeed","floor","Date","getMinutes","dictionaries","separator","style","deleted","PercentageIndicatorLayout","ProgressCircle","props","ref","circle","radius","r","baseVal","value","circumference","PI","offset","percentage","strokeDasharray","strokeDashoffset","toString","size","className","scoreThresholds","PercentageIndicator","percentageToFixed","layout","LabelInside","label","customLabel","LabelOnly","LabelBefore","defaultProps","CircleOnly","ProgressCircleSize","CIRCLE_STROKE_WIDTH","CIRCLE_STROKE_WIDTH_LG","ProgressCircleSizeMap","ExtraSmall","Small","Large","getCircleRadius","width","strokeWidth","getCircleClassName","HIGH","MODERATE","getColouredLabelClassName","getCircleContainerClassName","isPending","getPercentageToFixed","toFixed","getFormattedPercentage","round","ScoreThresholdDefaults","ScoreThresholdInsights","InsightsDemoRequests","interactive","url","key","normalize","interactiveMetadata","interactiveResults","videoViews","users","individualHeatmap","aggregateHeatmap","DEMO_INTERACTIVE_ID","DEMO_INSIGHTS_SHARE","type","privacy","objectId","objectTypeId","viewCount","accessCount","dateCreated","toISOString","dateShared","expireDate","link","shortenedEmbedUrl","shortenedUrl","shareId","ownerCustomerId","ownerId","recipients","options","preventScrubbing","immediateFeedback","DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE","DEMO_INSIGHTS_SHARE_TABLE_DATA","share","sharedObject","shareRecipients","DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE_TABLE_DATA","DEMO_INSIGHTS_APPLINK","application","action","DEMO_INSIGHTS_OPEN_CLASSROOM_APPLINK","DEMO_INSIGHTS_ACTION","svgName","appLink","group","InsightsHeatmapDemoView","anonymiseUsers","currentUser","video","config","audienceAppLinkParams","dateRangeAppLinkParams","aggregateEngagement","individualEngagement","viewKey","data","title","name","hasDataLoaded","tableDataLoaded","params","tabs","yearGroups","markingRequired","isDemo","hasData","yearGroupCount","hideStaffResults"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[9042],{93479:(e,t,a)=>{a.d(t,{I:()=>c});var n=a(99940);function r(e,t,a){if(!t)return e;var n="".concat(e,":").concat(t.start,":").concat(t.end),r=Array.isArray(t.userId)?t.userId.sort().join(":"):t.userId,i=Array.isArray(t.groupId)?t.groupId.sort().join(":"):t.groupId,c=Array.isArray(t.customerId)?t.customerId.sort().join(":"):t.customerId;return r&&(n+=":".concat(r)),i&&(n+=":".concat(i)),c&&(n+=":".concat(c)),a&&(n+=":".concat(a)),n}function i(e,t,a){return{currentUserId:e.id,currentCustomerId:e.customerId,dateRange:t?{start:t.start,end:t.end}:void 0,userIds:null==t?void 0:t.userId,classroomsAndGroups:null==t?void 0:t.groupId,shareId:a}}var c={interactiveResultSet:function(e,t,a,c,s,l,o,u){return{url:s?"/api/domain/v3/analytics/interactives/".concat(e,"/metadata/").concat(t):"/api/domain/v2/analytics/interactives/".concat(e,"/metadata/").concat(t),key:r("interactive:result:set:".concat(e,":").concat(t,":").concat(s),c),data:i(a,c,s),type:n.k.POST,normalize:!1,success:l,error:o,always:u}},mark:function(e,t,a,r,i,c,s){return{url:"/api/domain/v1/analytics/answers/".concat(a),key:"mark:answer:".concat(a,":").concat(r.resultId),type:n.k.PUT,data:r,normalize:!1,invalidationKeys:"interactive:result:set:".concat(e,":").concat(t),success:i,error:c,always:s}},pendingReviews:function(e){var t=e.interactives.map(function(e){return"".concat(e.interactiveId,":").concat(e.metadataId,":").concat(e.shareId)}).join(",");return{url:"/api/domain/v1/analytics/interactives/pending-reviews/summary",key:"interactives:pending:reviews:".concat(t),type:n.k.POST,data:e,normalize:!1}},interactiveResultsReport:function(e){return{url:"/api/domain/v3/analytics/interactives/report",key:"interactive:results:report",data:e,type:n.k.POST,normalize:!1}}}},49863:(e,t,a)=>{a.d(t,{m9:()=>E,Ad:()=>b,Kh:()=>S});var n=a(32735),r=a(23481),i=a(75896),c=a(97408),s=a(18995),l=a(12528),o=a(83914),u=a(36532),d=a(4594),m=a(36511),v=a(35223),p=a(64818);const h={avatarContainer:"ByxQa",sm:"EgJ0v",sharedAvatar:"cW0NT"};var f=r.T.encloseNamespace("reportsShare.sharedToAvatarList");function y(e){var t=i.m.countBy(e,"typeId"),a=t[d.E.User],n=t[d.E.Classroom],r=t[d.E.ClassroomGroup];return a&&n&&r?f("classroomsGroupsAndUsers",{userCount:a,classroomCount:n,groupCount:r}):a&&n?f("classroomsAndUsers",{userCount:a,classroomCount:n}):a&&r?f("groupsAndUsers",{userCount:a,groupCount:r}):n&&r?f("classroomsAndGroups",{classroomCount:n,groupCount:r}):a?f("users",{userCount:a}):n?f("classrooms",{classroomCount:n}):r?f("groups",{groupCount:r}):void 0}function g(e){var t,a,r,i,s,f=(null===(t=e.item)||void 0===t?void 0:t.typeId)===d.E.User&&e.item,y=(null===(a=e.item)||void 0===a?void 0:a.typeId)===d.E.Classroom&&e.item,g=(null===(r=e.item)||void 0===r?void 0:r.typeId)===d.E.ClassroomGroup&&e.item,E="d-flex justify-content-center align-items-center text-white rounded-circle h-100 w-100";return n.createElement(n.Fragment,null,!!f&&n.createElement(u.u,{title:"".concat(f.name," ").concat(f.surname),spanHack:!0,spanHackClassName:"h-100 w-100"},n.createElement(c.q,{imageUrl:null===(i=f.avatar)||void 0===i?void 0:i.url,imageCdnUrl:e.imageCdnUrl,initials:p.l.getInitials(f.name,f.surname),extraClasses:h.sharedAvatar})),!!y&&n.createElement(u.u,{title:y.name,spanHack:!0,spanHackClassName:"h-100 w-100"},n.createElement("div",{className:E},n.createElement(l.f,{svgName:v.vn.Classrooms,svgSize:o.S.Large,variant:"teal"}))),!!g&&n.createElement(u.u,{title:g.name,spanHack:!0,spanHackClassName:"h-100 w-100"},n.createElement("div",{className:E},n.createElement(l.f,{svgName:v.vn.Group,variant:(0,m.I)(null===(s=g.metadata)||void 0===s?void 0:s.colour)}))))}function E(e){return n.createElement("div",{className:"".concat(h.avatarContainer," ").concat("sm"===e.avatarSize?h.sm:"")},n.createElement(u.u,{title:f("anonymous"),spanHack:!0,spanHackClassName:"bg-light text-dark d-flex justify-content-center align-items-center rounded-circle h-100 w-100"},n.createElement(o.x,{svgName:v.vn.Anonymous,size:"sm"===e.avatarSize?o.S.Small:null})))}function b(e){return n.createElement("div",{className:"".concat(h.avatarContainer," ").concat("sm"===e.avatarSize?h.sm:"")},n.createElement(u.u,{title:e.text||f("sharedLink"),spanHack:!0,spanHackClassName:"bg-light text-dark d-flex justify-content-center align-items-center rounded-circle h-100 w-100 ".concat(e.className||"")},n.createElement(o.x,{svgName:v.vn.Link,size:"sm"===e.avatarSize?o.S.Small:null})))}function S(e){return n.createElement(s.e,Object.assign({},e,{items:e.recipients,avatarItem:g,avatarContainerClassname:"".concat(h.avatarContainer," ").concat("sm"===e.avatarSize?h.sm:""),getHiddenTooltip:y,hasShareLink:e.hasShareLink,shareLinkText:e.shareLinkText}))}S.defaultProps={maxAvatars:5}},65853:(e,t,a)=>{a.d(t,{R:()=>m});var n=a(23481),r=a(110),i=a(4594),c=a(49080),s=a(26361),l=a(35223),o=a(31908);function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var d=n.T.encloseNamespace("share.shareLinkInfo"),m={getPrivateIconAndText:function(e){var t=e.entityTypeId,a=e.privacy,n=e.hasStudentExp,r=e.entity,c=e.yearGroups;if(t===i.E.Topic||t===i.E.Series)return{icon:l.vn.VisibleOn,text:d(n?"justMySchoolTeachers":"justMySchoolDescription")};if(!Array.isArray(a))switch(a.privacy){case"public":return{icon:l.vn.VisibleOn,text:d("publicDescription")};case"protected":return a.overrideRestrictions?{icon:l.vn.VisibleOn,text:d("clickViewOnly")}:{icon:l.vn.Lock,text:m.getRespectRatingText(r,c,n)};case"just_my_customer":return a.overrideRestrictions?{icon:l.vn.Lock,text:d(n?"justMySchoolTeachers":"justMySchoolDescription")}:{icon:l.vn.Lock,text:m.getRespectRatingText(r,c,n)};case"restricted":case"private":return{icon:l.vn.Lock,text:d("privateDescription")};default:return{}}},getIconAndText:function(e){var t=e.linkExpireDate,a=e.isPasswordProtected,n=e.status;if(!t&&!a)return m.getPrivateIconAndText(e);if(!t)return{icon:l.vn.Lock,text:d("password")};var i=r.O.isToday(t),s=r.O.diffBetween(t,new Date,"day");if(!a){var o=i?d("expiryToday"):d("expiry",{days:s});return n===c.F.Expired&&(o=d("expired")),{icon:l.vn.Timer,text:o}}var u=i?d("passwordExpiryToday"):d("passwordExpiry",{days:s});return n===c.F.Expired&&(u=d("passwordExpired")),{icon:l.vn.Lock,text:u}},getRespectRatingText:function(e,t,a){var n;if(!e||!t)return null;if(a)return d("justMySchoolTeachers");if(!o.M.isVideoType(e))return d("collectionRating");var r=s.l.getWeightedRestriction(null===(n=e._restrictions)||void 0===n?void 0:n.value);if(r&&!r.yearGroup)return d("onlyAdmins");var i,c,l,m=o.M.getRating(e),v=function(e,t){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!a){if(Array.isArray(e)||(a=function(e,t){if(e){if("string"==typeof e)return u(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){a&&(e=a);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,c=!0,s=!1;return{s:function(){a=a.call(e)},n:function(){var e=a.next();return c=e.done,e},e:function(e){s=!0,i=e},f:function(){try{c||null==a.return||a.return()}finally{if(s)throw i}}}}(t);try{for(v.s();!(l=v.n()).done;){var p=l.value;(!i||p.value>i.value)&&(i=p),r&&p.value<=r.yearGroup||m&&p.rating.value<m.value||(!c||p.value<c.value)&&(c=p)}}catch(e){v.e(e)}finally{v.f()}return c?1===t.length?d("clickViewOnly"):c.value===i.value?d("maxYearGroup",{yearGroup:i.name}):d("yearGroupRange",{yearGroup:c.name}):d("onlyStaff")}}},18995:(e,t,a)=>{a.d(t,{e:()=>l});var n=a(32735),r=a(23481),i=a(49863),c=a(36532),s=r.T.encloseNamespace("shared.avatarList");function l(e){var t=e.items.length>e.maxAvatars?e.items.slice(0,e.maxAvatars-1):e.items,a=e.items.length>t.length?e.items.slice(e.maxAvatars-1):[],r=e.avatarItem,l=a.length,o="sm"===e.avatarSize?4:8;function u(t){return{transform:"translateX(".concat((e.hasShareLink?t+1:t)*-o,"px)"),zIndex:e.maxAvatars-t}}return 0===t.length&&0===a.length?n.createElement(n.Fragment,null):n.createElement("div",{className:"d-flex",style:{marginRight:"-".concat((t.length-1+(a.length?1:0)+(e.hasShareLink?1:0))*o,"px")}},e.hasShareLink&&n.createElement("div",{style:{zIndex:e.maxAvatars+1}},n.createElement(i.Ad,{text:e.shareLinkText,avatarSize:e.avatarSize,className:"bg-dark text-white"})),t.map(function(t,a){return n.createElement("div",{className:"".concat(e.avatarContainerClassname||""),key:t.id,style:u(a)},n.createElement(r,{item:t,imageCdnUrl:e.imageCdnUrl,index:a,maxAvatars:e.maxAvatars}))}),!!a.length&&n.createElement("div",{className:"".concat(e.avatarContainerClassname||""," bg-white rounded-circle"),style:{transform:"translateX(".concat(t.length*-o,"px)"),zIndex:e.maxAvatars-t.length}},n.createElement(c.u,{title:e.getHiddenTooltip?e.getHiddenTooltip(a):e.roleToDisplay?s("staff"===e.roleToDisplay?"staff":"student",{count:l,smartCount:l}):s("users",{count:l,smartCount:l}),spanHack:!0,spanHackClassName:"h-100 w-100"},n.createElement("div",{className:"d-flex justify-content-center align-items-center border border-dark rounded-circle h-100 w-100 ".concat(e.numberClassname||"")},"+".concat(a.length)))))}l.defaultProps={maxAvatars:5}},39902:(e,t,a)=>{a.d(t,{FN:()=>p,SW:()=>h,fh:()=>v});var n=a(32735),r=a(20354),i=a(75896);function c(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||s(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 s(e,t){if(e){if("string"==typeof e)return l(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function u(e,t,a){return(t=function(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=o(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var d=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a},m=50;function v(e,t){var a=i.m.chunk(e,m).map(function(e){return t(i.m.uniq(e))}),n=r.a.useBasicFetchAll(a),c=i.m.flatten(n.data),s=n.data.length?c.reduce(function(e,t){return Object.assign(Object.assign({},e),u({},t.id,t))},{}):null;return{itemsArr:c,items:s,isFetching:n.isFetching,hasCompleted:n.hasCompleted}}function p(e,t,a){var r=null!=a?a:function(e){return"object"===o(e)?e.id:e},i=h({getRequest:t,_getKey:a}),c=i.fetchItems,s=d(i,["fetchItems"]);return n.useEffect(function(){(null==e?void 0:e.length)&&c(e)},[null==e?void 0:e.map(r).join(",")]),s}function h(e){var t,a,l,d,v,p=null!==(t=e._getKey)&&void 0!==t?t:function(e){return"object"===o(e)?e.id:e},h=n.useRef(new Set),f=(d=n.useState([]),v=2,function(e){if(Array.isArray(e))return e}(d)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,i,c,s=[],l=!0,o=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(n=i.call(a)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){o=!0,r=e}finally{try{if(!l&&null!=a.return&&(c=a.return(),Object(c)!==c))return}finally{if(o)throw r}}return s}}(d,v)||s(d,v)||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.")}()),y=f[0],g=f[1],E=r.a.useBasicFetchAll(y),b=i.m.flatten(E.data),S=E.data.length?b.reduce(function(e,t){return Object.assign(Object.assign({},e),u({},p(t),t))},{}):null;return{hasFirstRequestCompleted:!!(null===(l=null===(a=E.responses)||void 0===a?void 0:a[0])||void 0===l?void 0:l.hasCompleted),itemsArr:b,items:S,isFetching:E.isFetching,fetchItems:function(t){if(null==t?void 0:t.length){var a=[];t.forEach(function(e){var t=p(e);h.current.has(t)||(a.push(e),h.current.add(t))}),a.length&&g(function(t){return[].concat(c(t),c(i.m.chunk(a,m).map(e.getRequest)))})}}}}},36511:(e,t,a)=>{a.d(t,{I:()=>r});var n=a(56644);function r(e){switch(e){case n.R.Pink:return"pink";case n.R.Orange:return"orange";case n.R.Green:return"green";case n.R.Blue:return"blue";case n.R.Purple:return"purple";case n.R.Indigo:return"indigo";default:return"pink"}}},58647:(e,t,a)=>{a.r(t),a.d(t,{SharedByMeView:()=>Ee});var n=a(32735),r=a(81886),i=a(23481),c=a(97958),s=i.T.encloseNamespace("share.sharedByMeEmptyState");function l(e){return n.createElement(c.u,null,n.createElement(c.u.Image,{src:e.imageUrl,size:"small"}),n.createElement(c.u.Heading,null,s(e.useInteractiveCopy?"interactivesHeading":"genericHeading")),n.createElement(c.u.Info,null,s(e.useInteractiveCopy?"interactivesInfo":"genericInfo")),!!e.appLink&&n.createElement(c.u.Cta,{appLink:e.appLink,text:s("cta")}))}var o=a(95834),u=a(6748),d=a(82602),m=a(75896),v=a(110),p=a(65858),h=a(83914),f=a(36532),y=a(49080),g=a(85063),E=a(35223);const b={indicatorContainer:"T6YAv",indicator:"_MRHG"};var S=i.T.encloseNamespace("share.shareStatusIndicator");function C(e){if(e.type===g.y.DirectShare)return S("active");switch(e.status){case y.F.Active:return S("active");case y.F.Expired:return S("expired")}}function x(e){if(e.type===g.y.DirectShare)return"bg-success";switch(e.status){case y.F.Active:return"bg-success";case y.F.Expired:return"bg-gray-500"}}function k(e){var t;return e.share.type!==g.y.DirectShare||(null===(t=e.share.recipients)||void 0===t?void 0:t.length)?e.share.type===g.y.ShareLink&&e.share.isPasswordProtected?n.createElement(f.u,{title:S("passwordProtected"),spanHack:!0},n.createElement(h.x,{svgName:E.vn.Lock,size:h.S.Small})):n.createElement(f.u,{title:C(e.share),spanHack:!0,spanHackClassName:b.indicatorContainer},n.createElement("div",{className:"".concat(b.indicator," ").concat(x(e.share))})):n.createElement(n.Fragment,null)}var w=a(9806),I=a(49863),A=a(31754),N=a(65853),j=a(64249),O=a(83657),T=a(15611),R=a(83345),M=a(62335),L=a(26339),F=a(4594),H=a(31908);function P(e){return P="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},P(e)}var U="share.sharedByMeTable",B=i.T.encloseNamespace(U);function D(e){var t;if(e.type===g.y.ShareLink||!(null===(t=null==e?void 0:e.recipients)||void 0===t?void 0:t.length))return e.dateCreated;var a=e.recipients.map(function(e){return e.dateShared});return a.sort(function(e,t){return v.O.isSame(e,t)?0:v.O.isAfter(e,t)?1:-2}),a.length?m.m.last(a):""}function G(e){var t=e.index,a=e.dateHeading,r=e.getObjectAppLink,i=e.getObjectActions,c=e.imageCdnUrl,s=e.showStatus,l=e.showViewCount,o=e.breakpoints,u=e.yearGroups,m=o&&(o.xs||o.sm),v=[{Header:s?"":a,accessor:"sharedObject",id:"image",Cell:function(e){var t=e.value;return n.createElement("div",{className:"w-100"},n.createElement(w.k,{object:t,appLink:r(t),showVideoMetadata:!0,locationContext:p.LZ.SharedByMe}))},minWidth:140,maxWidth:30},{accessor:"sharedObject",id:"name",Cell:function(e){var t,a=e.value;if(a.name){if(H.M.isVideoType(a)&&!(null===(t=H.M.getCanBeConsumed(a))||void 0===t?void 0:t.canNavigate))return n.createElement("span",{className:"clamp-2"},a.name);var i=function(){switch(a.typeId){case F.E.Series:return"series";case F.E.Playlist:return"playlist"}}();return n.createElement("div",{className:"clamp-2"},i&&n.createElement(M.m,null,n.createElement(R.x,{namespace:U,phrase:i})),H.M.isVideoType(a)&&n.createElement(L.$,{type:"series",video:a,appLink:"series"in a&&a.series?r(a.series):null,analyticsOptions:{location:p.LZ.Insights}}),n.createElement(T.F,{appLink:r(a),analyticsData:{id:a.id,name:a.name},analyticsOptions:{entity:j.I.getAnalyticsEntity(a.type),actionType:p.Vw.Click,location:p.LZ.SharedByMe}},a.name))}return n.createElement("span",null,n.createElement(R.x,{namespace:U,phrase:"videoUnavailable"}))},width:60},{Header:0===t?B("sharedTo"):"",accessor:"sharedToData",Cell:function(e){var t=e.value,a=t.share,r=t.sharedObject,i=t.recipients;if(!i){var s=a.type===g.y.ShareLink&&N.R.getIconAndText({entity:r,entityTypeId:r.typeId,hasStudentExp:!1,isPasswordProtected:a.isPasswordProtected,linkExpireDate:a.linkExpireDate,privacy:{privacy:a.privacy,overrideRestrictions:a.overrideRestrictions},status:a.status,yearGroups:null!=u?u:[]});return n.createElement(I.Ad,{text:null==s?void 0:s.text})}return(null==i?void 0:i.length)?n.createElement(I.Kh,{recipients:i,imageCdnUrl:c,maxAvatars:m?1:2}):n.createElement(I.m9,null)},width:40},!m&&{Header:0===t?B("shared"):"",id:"dateShared",accessor:function(e){return(0,d.WU)(e.dateShared)},width:40},{accessor:"sharedObject",id:"actions",Cell:function(e){var t=e.value;return n.createElement(O.e,{actions:i(t),className:"w-100 justify-content-end pe-2"})},width:20}],h={Header:a,accessor:"share",id:"status",Cell:function(e){var t=e.value;return n.createElement(k,{share:t})},width:5},f={Header:B("views"),accessor:"viewCount",width:30};return s&&v.splice(0,0,h),l&&v.splice(v.length-1,0,f),v.filter(Boolean)}function z(e){var t,a,r,i,c,s,l,d,m=(t=e.sentShares,a=e.sharedObjects,r=e.shareRecipients,i=!!e.groupByDateShared,c=[],t.forEach(function(e){var t,n,i=null==a?void 0:a[e.objectId],s=null;e.type===g.y.DirectShare&&(s=[],null===(t=e.recipients)||void 0===t||t.forEach(function(e){var t=null==r?void 0:r[e.id];t&&s.push(t)})),i&&c.push({share:e,sharedObject:i,sharedToData:{share:e,sharedObject:i,recipients:s},dateShared:D(e),viewCount:null!==(n=e.viewCount)&&void 0!==n?n:0})}),i?A.x.groupByDateShared(c):(s={},l=B("title"),d=c,(l=function(e){var t=function(e){if("object"!=P(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=P(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==P(t)?t:t+""}(l))in s?Object.defineProperty(s,l,{value:d,enumerable:!0,configurable:!0,writable:!0}):s[l]=d,s));return n.createElement(n.Fragment,null,Object.keys(m).map(function(t,a){return n.createElement(u.i,{key:a,columns:G({index:a,dateHeading:t,getObjectAppLink:e.getObjectAppLink,getObjectActions:e.getObjectActions,imageCdnUrl:e.imageCdnUrl,showStatus:e.showStatus,showViewCount:e.showViewCount,breakpoints:e.breakpoints,yearGroups:e.yearGroups}),data:m[t],theme:o.J})}))}var V=a(87801),_=a(16714),W=a(79967),K=a(22902),q=a(79612),X=a(37802),Z=a(99742),Y=a(14070),$=a(97291),J=a(20354),Q=a(1048),ee=a(93479),te=a(30439),ae=a(39151),ne=a(1666),re=a(31949),ie=a(39902),ce=a(60115),se={getDirectShares:function(e){var t;return null!==(t=null==e?void 0:e.filter(function(e){return e.type===g.y.DirectShare}))&&void 0!==t?t:[]},getRecipients:function(e){return m.m.flatten(se.getDirectShares(e).map(function(e){var t;return null!==(t=e.recipients)&&void 0!==t?t:[]}))}},le=a(86099),oe=a(2523);const ue={imageColumn:"uIOaA",nameColumn:"Nta2B",sharedToColumn:"XTJBC",dateSharedColumn:"HdARK",actionsColumn:"DXyZw",heading:"XZ6o7",image:"MolfU",name:"MM43m",avatar:"EboYM",date:"by_XM",actions:"_S2M_"};function de(){return n.createElement("div",{className:"d-flex striped-row rounded"},n.createElement("div",{className:"d-flex align-items-center justify-content-center p-2 ".concat(ue.imageColumn)},n.createElement("div",{className:"partial-loading-background rounded w-100 ".concat(ue.image)})),n.createElement("div",{className:"d-flex align-items-center p-2 ".concat(ue.nameColumn)},n.createElement("div",{className:"partial-loading-background w-75 ".concat(ue.name)})),n.createElement("div",{className:"d-flex align-items-center p-2 ".concat(ue.sharedToColumn)},n.createElement("div",{className:"partial-loading-background ".concat(ue.avatar)})),n.createElement("div",{className:"d-none d-md-flex align-items-center p-2 ".concat(ue.dateSharedColumn)},n.createElement("div",{className:"partial-loading-background ".concat(ue.date)})),n.createElement("div",{className:"d-flex align-items-center justify-content-end p-2 ".concat(ue.actionsColumn)},n.createElement("div",{className:"partial-loading-background rounded me-2 ".concat(ue.actions)})))}function me(e){return n.createElement("div",{className:"d-flex mb-1"},n.createElement("div",{className:"".concat(ue.imageColumn," p-2")},n.createElement("div",{className:"partial-loading-background ".concat(ue.heading)})),n.createElement("div",{className:"".concat(ue.nameColumn," p-2")}," "),n.createElement("div",{className:"".concat(ue.sharedToColumn," p-2")},e.fullHeader?n.createElement("div",{className:"partial-loading-background ".concat(ue.heading)}):n.createElement(n.Fragment,null," ")),n.createElement("div",{className:"".concat(ue.dateSharedColumn," p-2 d-none d-md-flex")},e.fullHeader?n.createElement("div",{className:"partial-loading-background ".concat(ue.heading)}):n.createElement(n.Fragment,null," ")),n.createElement("div",{className:"".concat(ue.actionsColumn," p-2")}," "))}function ve(){return n.createElement(n.Fragment,null,n.createElement("div",{className:"mb-3"},n.createElement(me,{fullHeader:!0}),n.createElement("div",{className:"striped-list no-full-width"},n.createElement(de,null),n.createElement(de,null),n.createElement(de,null))),n.createElement("div",{className:"mb-3"},n.createElement(me,null),n.createElement("div",{className:"striped-list no-full-width"},n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null))),n.createElement("div",{className:"mb-3"},n.createElement(me,null),n.createElement("div",{className:"striped-list no-full-width"},n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null),n.createElement(de,null))))}var pe=a(70227),he=i.T.encloseNamespace("liteShare.sharedByMe");function fe(e,t){return{label:he("editShareSettings"),appLink:{application:$.O.SHARE,action:Y.e.Share.SHARE,args:[e.id],params:{entityType:t}}}}function ye(e){return n.createElement(f.u,{title:e.label,spanHack:!0},n.createElement("a",{href:e.url,target:"_blank"},n.createElement(h.x,{svgName:E.vn.Analytics})))}var ge=i.T.encloseNamespace("liteShare.sharedByMe");function Ee(){var e=(0,K.T)().hasPermissions,t=(0,X.r)(null).hasShareFlowV2,a=(0,W.k)(),i=function(e,t){var a,n,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=J.a.useGetFetch(),c=J.a.useBasicFetch(re.N.currentUser()),s=J.a.useBasicFetch(ae.L.config()),l=J.a.useBasicFetch((null===(a=c.data)||void 0===a?void 0:a.isAuthenticated)&&ne.h.yearGroups(c.data.customerId)),o=function(t){return r&&te.o.sentShare(Object.assign({cursor:t},e))},u=function(e){return i(o(e))},d=(0,ce.K)(o,u),m=d.items,v=d.hasMore,p=d.isFetching,h=d.nextCursor,f=d.hasFirstPageCompleted,y=(0,ie.FN)(null==m?void 0:m.map(function(e){return e.objectId}),te.o.sharedObjectsById),g=(0,ie.FN)(se.getRecipients(m).map(function(e){return e.id}),function(e){return te.o.getRecipientsById(e,c.data.customerId)}),E=(0,ie.FN)(t?Q.t.values(y.items||[]):[],function(e){return ee.I.pendingReviews({interactives:e.filter(H.M.isInteractive).map(function(e){return{interactiveId:e.interactiveId,metadataId:e.id,shareId:e.id}}),filters:{currentCustomerId:c.data.customerId,currentUserId:c.data.id}})},function(e){return"".concat(e.id,":").concat(e.interactiveId)}),b=p||y.isFetching||g.isFetching||E.isFetching||l.isFetching,S=!f||(null==m?void 0:m.length)&&!y.hasFirstRequestCompleted;return{sentShares:m,sharedObjects:y,shareRecipients:g,yearGroups:l.data,interactivesPendingReview:E,isFetching:b,showPartialLoading:S,nextCursor:h,hasMore:v,fetchNext:u,imageCdnUrl:null===(n=s.data)||void 0===n?void 0:n.imageCdnUrl}}(),c=i.sentShares,s=i.sharedObjects,o=i.shareRecipients,u=i.isFetching,d=i.showPartialLoading,m=i.nextCursor,v=i.hasMore,p=i.fetchNext,h=i.imageCdnUrl,f=i.yearGroups,y=e(_.C.ViewMyShares)&&t;n.useEffect(function(){y&&r.Q.C$.trigger({application:$.O.MY_SHARES,action:Y.e.MyShares.HOME},{replace:!0})},[y]),(0,q.M)({title:ge("sharedByMe")});var g=function(e){var t=J.a.useBasicFetch(ae.L.config()),a=e.xs||e.sm;return n.useCallback(function(e){return function(e,t,a){var r,i="viewUsage";if(H.M.isVideo(e)&&(r="video"),H.M.isInteractive(e)&&(r="interactive",i="viewResults"),H.M.isClip(e)&&(r="clip"),e.typeId===F.E.Series&&(r="series"),e.typeId===F.E.Playlist&&(r="playlist"),H.M.isVideoType(e)&&!H.M.getCanBeConsumed(e).canConsume)return[];var c=[fe(e,r)],s=pe.c.getObjectUrl(null==a?void 0:a.analyticsWebUrl,e);return s&&c.push({label:t?he(i):function(){return n.createElement(ye,{label:he(i),url:s})},className:"btn btn-link",button:!t,href:pe.c.getObjectUrl(null==a?void 0:a.analyticsWebUrl,e),openInNewTab:!0}),c}(e,a,t.data)},[a])}(a);return n.createElement("div",{className:"px-3"},!y&&n.createElement(oe.w,null),d?n.createElement(ve,null):c.length?n.createElement(n.Fragment,null,n.createElement(z,{sentShares:c,sharedObjects:s.items,shareRecipients:o.items,getObjectAppLink:le.Qh,getObjectActions:g,groupByDateShared:!0,breakpoints:a,yearGroups:f,imageCdnUrl:h}),(v||u)&&n.createElement(V._,{isFetching:u,fetchNext:p,nextCursor:m})):n.createElement(l,{appLink:{application:$.O.DASHBOARD,action:Y.e.Dashboard.HOME},imageUrl:Z.W.EmptyStates.Share.SHARED_WITH_ME}))}}}]);
|
|
2
|
-
//# sourceMappingURL=9042-
|
|
2
|
+
//# sourceMappingURL=9042-fdc5ecb459-lite.chunk.js.map
|