@clickview/lite 0.63.0-rc.1 → 0.63.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +1 -1
- package/dist/scripts/2056-a340b73b4f-lite.chunk.js +3 -0
- package/dist/scripts/2056-a340b73b4f-lite.chunk.js.map +1 -0
- package/dist/scripts/{2564-f3fd9f1d08-lite.chunk.js → 2564-65e3fc9619-lite.chunk.js} +3 -3
- package/dist/scripts/{2564-f3fd9f1d08-lite.chunk.js.map → 2564-65e3fc9619-lite.chunk.js.map} +1 -1
- package/dist/scripts/3645-557e331f6b-lite.chunk.js +3 -0
- package/dist/scripts/3645-557e331f6b-lite.chunk.js.map +1 -0
- package/dist/scripts/5977-3572189040-lite.chunk.js +2 -0
- package/dist/scripts/5977-3572189040-lite.chunk.js.map +1 -0
- package/dist/scripts/bundle-86f51daf63.min.js +3 -0
- package/dist/scripts/bundle-86f51daf63.min.js.map +1 -0
- package/package.json +1 -1
- package/dist/scripts/2056-51115596d1-lite.chunk.js +0 -3
- package/dist/scripts/2056-51115596d1-lite.chunk.js.map +0 -1
- package/dist/scripts/3645-253473d511-lite.chunk.js +0 -3
- package/dist/scripts/3645-253473d511-lite.chunk.js.map +0 -1
- package/dist/scripts/5977-0189e0ddbf-lite.chunk.js +0 -2
- package/dist/scripts/5977-0189e0ddbf-lite.chunk.js.map +0 -1
- package/dist/scripts/bundle-fe7a93e4f5.min.js +0 -3
- package/dist/scripts/bundle-fe7a93e4f5.min.js.map +0 -1
- /package/dist/scripts/{2056-51115596d1-lite.chunk.js.LICENSE.txt → 2056-a340b73b4f-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{2564-f3fd9f1d08-lite.chunk.js.LICENSE.txt → 2564-65e3fc9619-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{3645-253473d511-lite.chunk.js.LICENSE.txt → 3645-557e331f6b-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-fe7a93e4f5.min.js.LICENSE.txt → bundle-86f51daf63.min.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see 3645-557e331f6b-lite.chunk.js.LICENSE.txt */
|
|
2
|
+
(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3645],{42328:(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))))}))},86509:(e,t,n)=>{"use strict";n.d(t,{m:()=>y});var r=n(32735),a=n(91967),i=n(81886),o=n(45157),l=n(49985),c=n(36848),s=n(83914),u=n(36532),m=n(35223);const d={dropdownToggle:"UCAnJ"};function p(){return r.createElement(r.Fragment,null,r.createElement("div",{style:{padding:"0.53125rem 1rem"}},r.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"8rem"}})),r.createElement("div",{style:{padding:"0.53125rem 1rem"}},r.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"12rem"}})),r.createElement("div",{style:{padding:"0.53125rem 1rem"}},r.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"11rem"}})),r.createElement("div",{style:{padding:"0.53125rem 1rem"}},r.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"9rem"}})))}function f(e){var t="dropdown-item";return e&&(t+=" ".concat(e)),t}function v(e){var t=a.q.isFunction(e.action.label)?e.action.label:function(){return r.createElement(r.Fragment,null,e.action.label)};if(e.action.appLink)return r.createElement(c.F,{appLink:e.action.appLink,onClick:e.action.onClick,className:f(e.action.className),analyticsData:e.action.analyticsData,analyticsOptions:e.action.analyticsOptions,openInNewTab:e.action.openInNewTab,disabled:e.action.disabled},e.action.svgName&&r.createElement(s.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2 align-middle"}),r.createElement("span",{className:"align-middle"},t()));function n(t){t.preventDefault(),e.action.analyticsData&&e.action.analyticsOptions&&l.k.logUserAction(e.action.analyticsData,e.action.analyticsOptions),a.q.isFunction(e.action.onClick)&&e.action.onClick(),e.action.href&&i.Q.Ab.PageLoad(e.action.href,e.action.openInNewTab)}return e.action.href?r.createElement("a",{className:f(e.action.className),onClick:n,href:e.action.href},e.action.svgName&&r.createElement(s.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2 align-middle"}),r.createElement("span",{className:"align-middle"},t())):r.createElement("span",{className:"cursor-pointer ".concat(f(e.action.className)),onClick:n,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&n(e)}},e.action.svgName&&r.createElement(s.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2"}),t())}function y(e){if(!e.actions||!e.actions.length)return r.createElement(r.Fragment,null);var t=e.actions.some((function(e){return e.lazyPlaceholder})),n="dropdown";e.className&&(n+=" ".concat(e.className));var a,i="actions-dropdown-".concat(o.Y.getRandomInt()),l="dropdown-toggle px-0 ".concat(d.dropdownToggle);return e.dropdownToggleClassName&&(l+=" ".concat(e.dropdownToggleClassName)),r.createElement("div",{className:n},r.createElement("button",{className:l,type:"button",id:i,"data-bs-toggle":"dropdown","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"More actions dropdown",onClick:t?e.fetchMore:null},r.createElement(s.x,{svgName:m.vn.More,size:e.dropdownToggleSvgSize})),r.createElement("ul",{className:"dropdown-menu dropdown-menu-end dropdown-menu-right font-size-normal","aria-labelledby":i},t?r.createElement(p,null):e.actions.map((function(e,t){var n=void 0!==a&&a!==e.group;return a=e.group,e.tooltip?r.createElement("li",{key:t},n&&r.createElement("hr",{className:"dropdown-divider",role:"separator"}),r.createElement(u.u,{title:e.tooltip,spanHack:!0},r.createElement(v,{action:e}))):r.createElement("li",{key:t},n&&r.createElement("hr",{className:"dropdown-divider",role:"separator"}),r.createElement(v,{action:e}))}))))}y.defaultProps={dropdownToggleClassName:"btn btn-light",dropdownToggleSvgSize:s.S.Small}},66903:(e,t,n)=>{"use strict";n.d(t,{k:()=>u});var r=n(32735),a=n(80130),i=n(59087),o=n(23481);const l={normal:"Q1UGv",copyBtn:"J3fBx"};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 s=o.T.encloseNamespace("shared.copyInput");function u(e){var t,n,o=(t=r.useState(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,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 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,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=o[0],m=o[1],d=r.createElement("div",{className:"input-group"},r.createElement("input",{type:"text",autoComplete:"off",className:"form-control ".concat("normal"===e.styling?l.normal:""),spellCheck:!1,value:e.value,readOnly:!0}),r.createElement(i.CopyToClipboard,{text:e.value},r.createElement("button",{role:u?"status":"",className:"btn btn-outline-dark border border-secondary py-0 text-nowrap",onClick:function(t){t.preventDefault(),e.onCopy&&e.onCopy(),u||(m(!0),setTimeout((function(){return m(!1)}),2e3))}},u?e.copiedText||s("copied"):e.copyText||s("copy"))));return e.label?r.createElement(a.Z.Group,{className:"form-group"},r.createElement(a.Z.Label,null,e.label),d):d}u.defaultProps={styling:"normal"}},38502:(e,t,n)=>{"use strict";n.d(t,{r:()=>m});var r=n(32735),a=n(49985),i=n(36848),o=n(18559),l=n(11607),c=n(83914),s=n(87432);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"}},53645:(e,t,n)=>{"use strict";n.r(t),n.d(t,{InviteColleagueView:()=>Ce});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(69883),p=n(59934),f=n(99940),v={invite:function(e){return{url:"{gateway}/v1/users/invites",key:"invites:colleague",normalize:!1,type:f.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:f.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:f.k.POST,normalize:!1}},createInviteLink:function(){return{key:"invites:create",url:"{gateway}/v1/users/invites/links",type:f.k.POST,normalize:!1,invalidationKeys:["invites"]}}};function y(e){return function(e){if(Array.isArray(e))return g(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 g(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)?g(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 g(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 h={"email-in-use":"emailInUse","invalid-email":"invalidEmail"},b=a.T.encloseNamespace("signUp.helpers"),E={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(y(e),[t.data]):e}),[])},getInputWithErrors:function(e,t){var n,r=y(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:b(h[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(y(e),[this.getNewEmptyField()])},getNewEmptyField:function(){return{data:{firstName:"",email:""}}}};function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var N=a.T.encloseNamespace("signUp.helpers"),x=new RegExp(/^[^\s@]+@[^\s@]+\.[^\s@]+$/),k=/^[\w0-9'\-,.():;&][^_!¡?÷¿/\\+=@#$%ˆ*{}|~<>[\]]{0,}$/,C={validate:function(e){var t,n=this,r=function(e){if(Array.isArray(e))return w(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 w(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?w(e,t):void 0}}(t)||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?x.test(e)?void 0:N("validSchoolEmail"):N("enterValidEmail")},validateFirstName:function(e){if(e.length)return k.test(e)?void 0:N("invalidFirstname")}},S=n(23232),O=n(2102),I=n(83345),T=n(99742),j=n(42328);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 A=a.T.encloseNamespace("signUp.invite.inviteFormInputGroup");function F(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:A("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(j.w,{type:"text",name:"electronicMail".concat(e.index),className:"form-control form-control-lg",placeholder:A("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 P(e){return function(e){if(Array.isArray(e))return D(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 D(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?D(e,t):void 0}}(e)||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 D(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var U="signUp.invite.inviteFormInputGroup";function _(e){var t=e.fields,n=e.setFields,a=e.minFields,i=e.maxFields,o=r.useMemo((function(){return t.filter((function(e){return!!e.data.email})).length}),[t]);return r.createElement("div",{className:"px-3"},r.createElement(S.u.Image,{src:T.W.SignUp.INVITE_COLLEAGUE,className:"d-block mx-auto"}),r.createElement("h2",{className:"h5 text-center"},r.createElement(I.x,{namespace:U,phrase:"inviteHeading"})),r.createElement("p",{className:"text-center"},r.createElement(I.x,{namespace:U,phrase:"inviteSubheading"})),r.createElement("div",{className:"row fw-bold mb-2"},r.createElement("div",{className:"col-4"},r.createElement(I.x,{namespace:U,phrase:"firstName"})),r.createElement("div",{className:"col-8 ps-0"},r.createElement(I.x,{namespace:U,phrase:"workEmailAddress"}),r.createElement("span",{className:"text-danger"},"*"))),t.map((function(e,o){return r.createElement(F,{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=P(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],E.recalculateFields(e,c,a,i)||c}))}(o,e,r)},clearInputs:function(){return function(e){e>t.length||n((function(t){var n=P(t);return n[e].data.firstName="",n[e].data.email="",E.recalculateFields(e,n,a,i)||n}))}(o)}})})),r.createElement("div",{className:"pt-2 pb-3"},r.createElement(O.m,{showSpinner:e.showSpinner,variant:"dark",className:"btn-lg w-100",onClick:e.onSubmit},r.createElement(I.x,{namespace:U,phrase:"btnInvite",options:{smartCount:o||1}}))))}var M="signUp.invite.inviteFormSuccess";function R(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(S.u.Image,{src:T.W.SignUp.INVITE_COLLEAGUE_SUCCESS,className:"d-block mx-auto"}),r.createElement("h2",{className:"h4"},r.createElement(I.x,{namespace:M,phrase:"inviteSent"})),r.createElement("p",{className:"mb-0"},r.createElement(I.x,{namespace:M,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(I.x,{namespace:M,phrase:"moreInvite"})," ",r.createElement("a",{onClick:e.onInviteMore,className:"info-link p-0"},r.createElement(I.x,{namespace:M,phrase:"inviteMore"}))))}function G(e){var t=e.fields,n=e.setFields,a=e.showSpinner,i=e.onSubmit;return t.length?e.completed?r.createElement(R,{fields:t,onInviteMore:function(t){t.preventDefault(),e.onInviteMore()}}):r.createElement(_,{fields:t,setFields:n,showSpinner:a,onSubmit:i,maxFields:e.maxFields,minFields:e.minFields}):r.createElement(r.Fragment,null)}var z=n(38502),B=a.T.encloseNamespace("signUp.invite.inviteTabs");function Z(e){var t=[{name:B("invite"),onSelect:function(){return e.onChangeTab("inviteForm")},active:"inviteForm"===e.activeTab,analyticsData:{name:B("invite")},analyticsOptions:{actionType:l.Vw.Click,entity:l.py.Url,location:l.LZ.MagicTabs}},{name:B("pending"),onSelect:function(){return e.onChangeTab("pendingInvites")},active:"pendingInvites"===e.activeTab,analyticsData:{name:B("pending")},analyticsOptions:{actionType:l.Vw.Click,entity:l.py.Url,location:l.LZ.MagicTabs}}];return r.createElement(z.r,{className:"d-flex justify-content-center mb-3",tabs:t})}var V=n(42648),W="signUp.invite.pendingInvites";function H(e){return r.createElement("div",{className:"text-center py-4 px-3"},r.createElement(S.u.Image,{src:T.W.SignUp.EMPTY_PENDING_INVITES,className:"d-block mx-auto"}),r.createElement("h2",{className:"h5 mb-0"},r.createElement(I.x,{namespace:W,phrase:"emptyTitle"})),r.createElement("p",null,r.createElement(I.x,{namespace:W,phrase:"emptyDescription"})," ",r.createElement("a",{onClick:function(t){t.preventDefault(),e.onInviteMore()},className:"info-link"},r.createElement(I.x,{namespace:W,phrase:"emptyAction"}))))}const $={avatar:"cin_G",oneLine:"FrlTw",twoLine:"rBQWR",minPendingHeight:"LMnOk"};function J(){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($.avatar)}),r.createElement("div",{className:"ms-2 w-100"},r.createElement("div",{className:"partial-loading-background mb-1 w-50 ".concat($.oneLine)}),r.createElement("div",{className:"partial-loading-background w-100 ".concat($.oneLine)}))),r.createElement("div",{className:"col d-flex align-items-center justify-content-end"},r.createElement("div",{className:"partial-loading-background w-100 ".concat($.twoLine)})))}function K(){return r.createElement("div",{className:"px-3"},r.createElement("div",{className:"partial-loading-background w-25 m-2 ".concat($.oneLine)}),Array(6).fill(null).map((function(e,t){return r.createElement(J,{key:t})})))}var Y,q=n(86509),Q=n(20789),X=n(83914),ee=n(35223);!function(e){e.Active="Active",e.Accepted="Accepted",e.Expired="Expired"}(Y||(Y={}));var te=a.T.encloseNamespace("signUp.helpers"),ne={getItemActions:function(e){var t=e.status,n=e.resendInvite,r=e.removeInvite;return t===Y.Accepted?[]:[{label:te("resendInvite"),onClick:n},{label:te("removeInvite"),onClick:r,className:"text-danger"}]}},re=a.T.encloseNamespace("signUp.invite.inviteStatusInfo");function ae(e){return e.status===Y.Accepted?r.createElement(ie,{extraContainerClass:"text-success",renderSvg:function(){return r.createElement(X.x,{size:X.S.Small,svgName:ee.vn.Check})},text:re("accepted")}):e.status===Y.Active?r.createElement(ie,{renderSvg:function(){return r.createElement(X.x,{size:X.S.Small,svgName:ee.vn.PendingCircle,className:"d-inline-block svg-container text-info"})},extraTextClass:"text-secondary",text:re("active")}):e.status===Y.Expired?r.createElement(ie,{extraContainerClass:"text-danger",renderSvg:function(){return r.createElement(X.x,{size:X.S.Small,svgName:ee.vn.Close,className:"d-inline-block svg-container"})},text:re("expired")}):r.createElement(r.Fragment,null)}function ie(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 oe={avatar:"VsdKR",email:"L65Cs"};function le(e){return e.initial?r.createElement(Q.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(X.x,{svgName:ee.vn.Email,size:X.S.Large}))}function ce(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=ne.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:oe.avatar},r.createElement(le,{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(oe.email),title:l},l))),r.createElement("div",{className:"d-flex align-items-center justify-content-between pe-0"},r.createElement(ae,{status:o}),!!c.length&&r.createElement(q.m,{dropdownToggleClassName:"btn btn-link ms-1",actions:c})))}var se="signUp.invite.pendingInvites";function ue(e){var t;return e.isLoading?r.createElement(K,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(I.x,{namespace:se,phrase:"heading"})),r.createElement(V.$B,{className:"".concat($.minPendingHeight)},e.invites.map((function(t,n){return r.createElement(ce,{key:n,invite:t,imageCdnUrl:e.imageCdnUrl,removeInvite:e.removeInvite,resendInvite:e.resendInvite})})))):r.createElement(H,{onInviteMore:e.onInviteMore})}var me,de=n(80247),pe=n(66903),fe="signUp.invite.shareInviteLink";function ve(e){return e.showSpinner?r.createElement("div",{className:"text-center w-100"},r.createElement(de.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(I.x,{namespace:fe,phrase:"title"})),e.link&&r.createElement("button",{className:"btn btn-link info-link p-0 mb-2",onClick:e.onClickDelete},r.createElement(I.x,{namespace:fe,phrase:"delete"}))),e.link?r.createElement(pe.k,{value:e.link}):r.createElement("div",{className:"d-flex w-100 justify-content-between"},r.createElement("div",null,r.createElement(X.x,{svgName:ee.vn.Link,className:"me-2 d-inline-block svg-container"}),r.createElement(I.x,{namespace:fe,phrase:"generate"})),r.createElement("button",{className:"btn info-link p-0",onClick:e.onClickCreate},r.createElement(I.x,{namespace:fe,phrase:"create"}))))}!function(e){e.Link="link",e.Direct="direct"}(me||(me={}));const ye={minHeight:"tWSzO"};function ge(e){return ge="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},ge(e)}function he(){he=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",l=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function s(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var i=t&&t.prototype instanceof g?t:g,o=Object.create(i.prototype),l=new j(r||[]);return a(o,"_invoke",{value:S(e,n,l)}),o}function m(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var d="suspendedStart",p="suspendedYield",f="executing",v="completed",y={};function g(){}function h(){}function b(){}var E={};s(E,o,(function(){return this}));var w=Object.getPrototypeOf,N=w&&w(w(L([])));N&&N!==n&&r.call(N,o)&&(E=N);var x=b.prototype=g.prototype=Object.create(E);function k(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function C(e,t){function n(a,i,o,l){var c=m(e[a],e,i);if("throw"!==c.type){var s=c.arg,u=s.value;return u&&"object"==ge(u)&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,o,l)}),(function(e){n("throw",e,o,l)})):t.resolve(u).then((function(e){s.value=e,o(s)}),(function(e){return n("throw",e,o,l)}))}l(c.arg)}var i;a(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,a){n(e,r,t,a)}))}return i=i?i.then(a,a):a()}})}function S(t,n,r){var a=d;return function(i,o){if(a===f)throw Error("Generator is already running");if(a===v){if("throw"===i)throw o;return{value:e,done:!0}}for(r.method=i,r.arg=o;;){var l=r.delegate;if(l){var c=O(l,r);if(c){if(c===y)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(a===d)throw a=v,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a=f;var s=m(t,n,r);if("normal"===s.type){if(a=r.done?v:p,s.arg===y)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(a=v,r.method="throw",r.arg=s.arg)}}}function O(t,n){var r=n.method,a=t.iterator[r];if(a===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,O(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),y;var i=m(a,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,y;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,y):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y)}function I(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function j(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function L(t){if(t||""===t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,i=function n(){for(;++a<t.length;)if(r.call(t,a))return n.value=t[a],n.done=!1,n;return n.value=e,n.done=!0,n};return i.next=i}}throw new TypeError(ge(t)+" is not iterable")}return h.prototype=b,a(x,"constructor",{value:b,configurable:!0}),a(b,"constructor",{value:h,configurable:!0}),h.displayName=s(b,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,s(e,c,"GeneratorFunction")),e.prototype=Object.create(x),e},t.awrap=function(e){return{__await:e}},k(C.prototype),s(C.prototype,l,(function(){return this})),t.AsyncIterator=C,t.async=function(e,n,r,a,i){void 0===i&&(i=Promise);var o=new C(u(e,n,r,a),i);return t.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},k(x),s(x,c,"Generator"),s(x,o,(function(){return this})),s(x,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=L,j.prototype={constructor:j,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function a(r,a){return l.type="throw",l.arg=t,n.next=r,a&&(n.method="next",n.arg=e),!!a}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],l=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var c=r.call(o,"catchLoc"),s=r.call(o,"finallyLoc");if(c&&s){if(this.prev<o.catchLoc)return a(o.catchLoc,!0);if(this.prev<o.finallyLoc)return a(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return a(o.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return a(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),T(n),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;T(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:L(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),y}},t}function be(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 Ee(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)?Ee(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 Ee(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 we=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())}))},Ne=a.T.encloseNamespace("signUp.inviteColleage"),xe=1,ke=5;function Ce(e){var t=be(r.useState(e.tab),2),n=t[0],a=t[1],f=be(r.useState(!1),2),y=f[0],g=f[1],h=be(r.useState(!1),2),b=h[0],w=h[1],N=be(r.useState(!1),2),x=N[0],k=N[1],S=be(r.useState((function(){return[E.getNewEmptyField()]})),2),O=S[0],I=S[1],T=i.a.useGetFetchAsync(),j=(0,d.Z)(),L=i.a.useBasicFetch(m.N.currentUser()),A=i.a.useBasicFetch(u.L.config()),F=i.a.useBasicFetch(v.inviteByType()),P=function(e){return r.useMemo((function(){return e?e.reduce((function(e,t){return t.type===me.Direct?(e.directInvites.push(t),e):(e.links.push(t),e)}),{directInvites:[],links:[]}):{directInvites:null,links:null}}),[e])}(F.data),D=P.directInvites,U=P.links,_=null==U?void 0:U[0];function M(){w(!1),I([E.getNewEmptyField()]),"inviteForm"!==n&&(a("inviteForm"),k(!1))}var R=L.hasCompleted&&A.hasCompleted&&F.hasCompleted;return r.createElement(c.G,{title:Ne("title"),closePopup:e.closePopup,bodyClassName:"modal-body px-0",showLoadingSpinner:!R},R&&r.createElement(r.Fragment,null,r.createElement("div",{className:ye.minHeight},!b&&r.createElement(Z,{activeTab:n,onChangeTab:function(e){return a(e)}}),"pendingInvites"===n?r.createElement(ue,{imageCdnUrl:A.data.imageCdnUrl,invites:D,onInviteMore:M,removeInvite:function(e){return we(this,void 0,void 0,he().mark((function t(){return he().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,T(v.deleteInvite(e));case 3:j.success(Ne("removeSuccess")),t.next=9;break;case 6:t.prev=6,t.t0=t.catch(0),j.error(p.M.inviteColleagueError(t.t0));case 9:case"end":return t.stop()}}),t,null,[[0,6]])})))},resendInvite:function(e){return we(this,void 0,void 0,he().mark((function t(){return he().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,T(v.resendInvite(e));case 3:j.success(Ne("resendSuccess")),t.next=9;break;case 6:t.prev=6,t.t0=t.catch(0),j.error(p.M.inviteColleagueError(t.t0));case 9:case"end":return t.stop()}}),t,null,[[0,6]])})))},isLoading:!F.hasCompleted}):r.createElement(G,{fields:O,setFields:I,showSpinner:x,completed:b,onSubmit:function(){var e;return we(this,void 0,void 0,he().mark((function t(){var n,r,a,i,c;return he().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!x){t.next=2;break}return t.abrupt("return");case 2:if(n=C.validate(O),r=n.fieldsWithErrors,!n.hasErrors){t.next=6;break}return I(r),t.abrupt("return");case 6:return t.prev=6,k(!0),a=E.getValidFieldsData(O),t.next=11,T(v.invite(a));case 11:return w(!0),s=a.length,o.k.logUserAction({emailCount:s},{actionType:l.Vw.SendEmail,location:l.LZ.TrialBanner,entity:l.py.User,descriptor:l.Yu.InviteColleague,workflowPhase:l.eu.Complete}),t.abrupt("return");case 16:if(t.prev=16,t.t0=t.catch(6),i=t.t0,"create-invitation-failed"===(null===(e=i.responseJSON)||void 0===e?void 0:e.type)){t.next=22;break}return j.error(p.M.inviteColleagueError(i)),t.abrupt("return");case 22:c=E.getInputWithErrors(O,i),I(c);case 24:return t.prev=24,k(!1),t.finish(24);case 27:case"end":return t.stop()}var s}),t,null,[[6,16,24,27]])})))},onInviteMore:M,maxFields:ke,minFields:xe})),!b&&r.createElement("div",{className:"px-3"},r.createElement(s.u,null,r.createElement(ve,{onClickCreate:function(){return we(this,void 0,void 0,he().mark((function e(){return he().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return g(!0),e.prev=1,e.next=4,T(v.createInviteLink());case 4:e.next=9;break;case 6:e.prev=6,e.t0=e.catch(1),j.error(Ne("error"));case 9:return e.prev=9,g(!1),e.finish(9);case 12:case"end":return e.stop()}}),e,null,[[1,6,9,12]])})))},onClickDelete:function(){return we(this,void 0,void 0,he().mark((function e(){return he().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,T(v.deleteInvite(_.id));case 3:j.success(Ne("deleteLinkSuccess")),e.next=9;break;case 6:e.prev=6,e.t0=e.catch(0),j.error(p.M.inviteColleagueError(e.t0));case 9:case"end":return e.stop()}}),e,null,[[0,6]])})))},link:null==_?void 0:_.inviteUrl,showSpinner:y})))))}},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}},87432:(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){f(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 p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var 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=p(l);if(c){var n=p(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 f(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,f(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=3645-557e331f6b-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/3645-557e331f6b-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/actions/actions.scss","file:///app/packages/libs/shared/src/components/actions/ActionsDropdown.tsx","file:///app/packages/libs/shared/src/components/copy-input/copy-input.scss","file:///app/packages/libs/shared/src/components/copy-input/CopyInput.tsx","file:///app/packages/libs/shared/src/components/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/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/enums/InviteType.ts","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/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 {\"dropdownToggle\":\"UCAnJ\"};","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\nimport { RandomHelper } from 'libs/common/react/utils/RandomHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ActionOptions } from './Actions';\n\nimport styles from './actions.scss';\n\nfunction LazyDropdownItems(): JSX.Element {\n return (\n <>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '8rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '12rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '11rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '9rem' }}></div>\n </div>\n </>\n );\n}\n\nfunction getDropdownItemClassName(actionClassName?: string): string {\n let className = 'dropdown-item';\n\n if (actionClassName)\n className += ` ${actionClassName}`;\n\n return className;\n}\n\nexport type DropdownActionOptions = Omit<ActionOptions, 'button'>;\n\ninterface ActionsDropdownItemProps {\n action: DropdownActionOptions;\n}\n\nfunction ActionsDropdownItem(props: ActionsDropdownItemProps): React.ReactElement {\n const label = FunctionHelper.isFunction(props.action.label)\n ? props.action.label\n : () => <>{props.action.label}</>;\n\n if (props.action.appLink)\n return (\n <AppLink\n appLink={props.action.appLink}\n onClick={props.action.onClick}\n className={getDropdownItemClassName(props.action.className)}\n analyticsData={props.action.analyticsData}\n analyticsOptions={props.action.analyticsOptions}\n openInNewTab={props.action.openInNewTab}\n disabled={props.action.disabled}\n >\n {props.action.svgName && <SvgContainer svgName={props.action.svgName} className='d-inline-block svg-container me-2 align-middle' />}\n <span className='align-middle'>{label()}</span>\n </AppLink>\n );\n\n function onClick(e: React.MouseEvent | React.KeyboardEvent): void {\n e.preventDefault();\n\n if (props.action.analyticsData && props.action.analyticsOptions)\n AnalyticsHelper.logUserAction(props.action.analyticsData, props.action.analyticsOptions);\n\n if (FunctionHelper.isFunction(props.action.onClick))\n props.action.onClick();\n\n if (props.action.href)\n Core.LocationUtils.PageLoad(props.action.href, props.action.openInNewTab);\n }\n\n if (props.action.href) {\n return (\n <a\n className={getDropdownItemClassName(props.action.className)}\n onClick={onClick}\n href={props.action.href}\n >\n {props.action.svgName && <SvgContainer svgName={props.action.svgName} className='d-inline-block svg-container me-2 align-middle' />}\n <span className='align-middle'>{label()}</span>\n </a>\n );\n }\n\n return (\n <span\n className={`cursor-pointer ${getDropdownItemClassName(props.action.className)}`}\n onClick={onClick}\n role='button'\n tabIndex={0}\n onKeyDown={(e: React.KeyboardEvent) => e.key === 'Enter' && onClick(e)}\n >\n {props.action.svgName && <SvgContainer svgName={props.action.svgName} className='d-inline-block svg-container me-2' />}\n {label()}\n </span>\n );\n}\n\ninterface ActionsDropdownProps {\n actions: DropdownActionOptions[];\n className?: string;\n dropdownToggleClassName?: string;\n dropdownToggleSvgSize?: SvgContainerSize;\n fetchMore?: () => void;\n}\n\nActionsDropdown.defaultProps = {\n dropdownToggleClassName: 'btn btn-light',\n dropdownToggleSvgSize: SvgContainerSize.Small\n};\n\nexport function ActionsDropdown(props: ActionsDropdownProps): React.ReactElement {\n if (!props.actions || !props.actions.length)\n return <></>;\n\n const isLazy = props.actions.some(a => a.lazyPlaceholder);\n\n let className = 'dropdown';\n\n if (props.className)\n className += ` ${props.className}`;\n\n // Generate unique id to avoid collisions.\n const dropdownToggleId = `actions-dropdown-${RandomHelper.getRandomInt()}`;\n\n let dropdownToggleClassName = `dropdown-toggle px-0 ${styles.dropdownToggle}`;\n\n if (props.dropdownToggleClassName)\n dropdownToggleClassName += ` ${props.dropdownToggleClassName}`;\n\n let currentGroup: string;\n\n return (\n <div className={className}>\n <button\n className={dropdownToggleClassName}\n type='button'\n id={dropdownToggleId}\n data-bs-toggle='dropdown'\n data-toggle='dropdown'\n aria-haspopup='true'\n aria-expanded='false'\n aria-label={'More actions dropdown'}\n onClick={isLazy ? props.fetchMore : null}\n >\n <SvgContainer svgName={cvSvgLibrary.More} size={props.dropdownToggleSvgSize} />\n </button>\n <ul className='dropdown-menu dropdown-menu-end dropdown-menu-right font-size-normal' aria-labelledby={dropdownToggleId}>\n {isLazy ?\n <LazyDropdownItems /> :\n props.actions.map((a, idx) => {\n const showDivider = currentGroup !== undefined && currentGroup !== a.group;\n currentGroup = a.group;\n \n if (a.tooltip) {\n return (\n <li key={idx}>\n {showDivider && <hr className='dropdown-divider' role='separator'></hr>}\n <Tooltip title={a.tooltip} spanHack>\n <ActionsDropdownItem action={a} />\n </Tooltip>\n \n </li>\n );\n }\n \n return (\n <li key={idx}>\n {showDivider && <hr className='dropdown-divider' role='separator'></hr>}\n <ActionsDropdownItem action={a} />\n </li>\n );\n })\n }\n </ul>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"normal\":\"Q1UGv\",\"copyBtn\":\"J3fBx\"};","import * as React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport styles from './copy-input.scss';\n\nconst namespace = 'shared.copyInput';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CopyInputProps {\n value: string;\n label?: string;\n // Greyed means the input will be greyed out. Normal means it will appear like a normal input\n styling?: 'greyed' | 'normal';\n onCopy?: () => void;\n copyText?: string;\n copiedText?: string;\n}\n\nCopyInput.defaultProps = {\n styling: 'normal'\n};\n\nexport function CopyInput(props: CopyInputProps): JSX.Element {\n const [ showCopiedText, setShowCopiedText ] = React.useState(false);\n\n function onCopy(e: React.MouseEvent): void {\n e.preventDefault();\n\n if (props.onCopy)\n props.onCopy();\n\n if (showCopiedText)\n return;\n\n setShowCopiedText(true);\n setTimeout(() => setShowCopiedText(false), 2000);\n }\n\n const input = (\n <div className='input-group'>\n <input\n type='text'\n autoComplete='off'\n className={`form-control ${props.styling === 'normal' ? styles.normal : ''}`}\n spellCheck={false}\n value={props.value}\n readOnly\n />\n <CopyToClipboard text={props.value}>\n <button\n role={showCopiedText ? 'status' : ''}\n className={`btn btn-outline-dark border border-secondary py-0 text-nowrap`}\n onClick={onCopy}\n >\n {showCopiedText ?\n props.copiedText || getPhrase('copied') :\n props.copyText || getPhrase('copy')\n }\n </button>\n </CopyToClipboard>\n </div>\n );\n\n if (props.label) {\n return (\n <Form.Group className='form-group'>\n <Form.Label>{props.label}</Form.Label>\n {input}\n </Form.Group>\n );\n }\n\n return input;\n}\n","import 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 { 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}\n\nexport function InviteFormInputGroup(props: InviteFormInputGroupProps): JSX.Element {\n const { fields, setFields, minFields, maxFields } = 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='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}\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 />\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}","/**\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';\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}","// 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 { useAlerts } from 'libs/shared/hooks/UseAlerts';\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 { 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 { 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 { 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 fetchAsync = Flight.useGetFetchAsync();\n\n const alerts = useAlerts();\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\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 />\n );\n })()}\n\n </div>\n\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","LazyDropdownItems","style","padding","height","width","getDropdownItemClassName","actionClassName","ActionsDropdownItem","label","FunctionHelper","action","appLink","AppLink","analyticsData","analyticsOptions","openInNewTab","disabled","svgName","SvgContainer","preventDefault","AnalyticsHelper","href","ActionsDropdown","actions","length","isLazy","some","a","lazyPlaceholder","currentGroup","dropdownToggleId","RandomHelper","dropdownToggleClassName","type","id","fetchMore","size","dropdownToggleSvgSize","map","idx","showDivider","undefined","group","tooltip","Tooltip","title","spanHack","defaultProps","S","getPhrase","LanguageService","CopyInput","showCopiedText","setShowCopiedText","input","autoComplete","styling","spellCheck","readOnly","CopyToClipboard","text","onCopy","setTimeout","copiedText","copyText","Form","TabContents","tab","name","count","data","PillTabSelector","containerRef","borderRadius","listClassName","tabs","index","active","onSelect","onSelectTab","InviteColleagueRequests","invite","url","normalize","HttpVerbs","invalidationKeys","inviteByType","deleteInvite","resendInvite","createInviteLink","ErrorPhraseMap","InputGroupHelper","recalculateFields","inputFields","minFields","maxFields","cleanFields","this","removeField","lastInviteData","enteredDataOnLastField","firstName","email","shouldAddField","addField","getValidFieldsData","fields","reduce","previous","current","getInputWithErrors","error","inputsWithErrors","problems","responseJSON","forEach","find","item","errorCode","filter","_","getNewEmptyField","emailRegex","RegExp","firstNameRegex","InviteValidationHelper","validate","fieldsWithErrors","hasErrors","currentItemError","validateFirstName","validateEmail","test","InviteFormInputItem","onChange","field","newData","placeholder","event","target","clearInputs","dangerouslySetInnerHTML","__html","InviteFormInputGroup","setFields","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","Active","extraTextClass","Expired","mergeClassNames","baseClass","extraClass","containerClass","textClass","InviteAvatar","initial","Avatar","imageCdnUrl","initials","PendingInvitesItem","invitee","metadata","substr","userId","PendingInvites","isLoading","invites","InviteType","ShareInviteLink","Spinner","as","animation","link","onClickDelete","onClickCreate","MIN_FIELDS","MAX_FIELDS","InviteColleagueView","setTab","showShareLinkSpinner","setShowShareLinkSpinner","formCompleted","setFormCompleted","showFormSpinner","setShowFormSpinner","fetchAsync","alerts","currentUser","UserRequests","config","ConfigRequests","prev","curr","Direct","directInvites","push","links","useSplitInvites","handleInviteMore","hasLoaded","hasCompleted","Popup","closePopup","bodyClassName","showLoadingSpinner","success","ErrorMessageHelper","validFieldsData","emailCount","descriptor","workflowPhase","PopupButtons","inviteUrl","deselectCurrent","clipboardToIE11Formatting","module","exports","debug","message","reselectPrevious","range","selection","mark","document","createRange","getSelection","createElement","textContent","ariaHidden","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","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([[5977],{66537:(e,n,t)=>{t.d(n,{j:()=>W});var a=t(32735),r=t(92802),o=t(75896),i=t(23201),s=t(82644),l=t(83345),c=t(24833),u=t(99705),m=t(12778),d=new RegExp(/^(?!-)[A-Za-z0-9-]+([\-\.]{1}[a-z0-9]+)*\.[A-Za-z]{2,6}$/),f=function(e){var n=e.domains,t=e.selectedOption,a={domains:[]};return n.forEach((function(e,r){("allowed"===t||e.domain)&&(e.domain?n.find((function(n,t){return t!==r&&n.domain===e.domain&&e.hasChanged}))?a.domains[r]={domain:"domain-duplicated"}:d.test(e.domain)||(a.domains[r]={domain:"domain-invalid"}):a.domains[r]={domain:"domain-empty"})})),a.domains.length?a:{}},p=t(10874),v=t(35223),y=t(23481),b=t(42328),g=t(36848),h=t(66122);const E={domainFieldContainer:"F9EW7"};function w(e){return w="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},w(e)}function A(e,n,t){return(n=function(e){var n=function(e){if("object"!=w(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!=w(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==w(n)?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var S="settings.domainField",O=y.T.encloseNamespace(S),j={"domain-duplicated":"domainDuplicatedErrorMessage","domain-not-certified":"domainNotCertifiedErrorMessage","domain-invalid":"domainInvalidErrorMessage","domain-empty":"domainEmptyErrorMessage","domain-already-exists":{requestingAccess:"joinRequestsDomainAlreadyExistsErrorMessage",automaticAccess:"accessBehaviourDomainAlreadyExistsErrorMessage"}};function C(e){var n=(0,r.u6)(),t=e.index,o=e.domain,i=e.view,s=e.appLinks,u=e.onChangeDomain,m=e.removeDomainField,d=A(A({},c.C.RequestingAccess,s.automaticAccess.action),c.C.AutomaticAccess,s.requestingAccess.action),f={application:s[i].application,action:d[i],args:s[i].args};function p(e){return(0,r.u9)(n.errors,"domains.".concat(e,".domain"))}return a.createElement("div",{className:E.domainFieldContainer},a.createElement(b.w,{type:"text",name:"domains.".concat(t,".domain"),className:"form-control form-control-lg ".concat(p(t)?"is-invalid":""),placeholder:O("domainPlaceholder"),value:o.domain,onChange:function(e){return function(e,n){e.preventDefault();var t=Object.assign(Object.assign({},o),{domain:e.currentTarget.value,hasChanged:!0});u(t,n)}(e,t)},onClickClear:function(){return m(t)},autoComplete:"off",showClearButton:0!==t||!!o.domain,"aria-errormessage":"domains.".concat(t,".domainError")}),p(t)&&a.createElement(h.A,{name:"domains.".concat(t,".domain")},function(e,n){var t=p(e);switch(t){case"domain-duplicated":case"domain-invalid":case"domain-not-certified":case"domain-empty":return a.createElement(l.x,{namespace:S,phrase:j[t],options:{domain:n}});case"domain-already-exists":return a.createElement(a.Fragment,null,a.createElement(l.x,{namespace:S,phrase:j[t][i],options:{domain:n}}),a.createElement(g.F,{appLink:f,className:"text-red text-underline"},a.createElement(l.x,{namespace:S,phrase:"viewLinkText"})),a.createElement("span",null,"."))}}(t,o.domain)))}var N="settings.domainFields";function x(e){var n=(0,r.u6)(),t=n.values.domains,i=e.view,s=e.errors,c=e.appLinks,u=e.addDomainField,m=e.onChangeDomain,d=e.removeDomainField;return a.useEffect((function(){(null==s?void 0:s.length)&&s.forEach((function(e){var a=o.m.findIndex(t,(function(n){return n.hasChanged&&n.domain===e.domain}));n.setFieldError("domains.".concat(a,".domain"),e.errorCode)}))}),[s]),a.createElement(a.Fragment,null,a.createElement(r.F2,{name:"domains",render:function(){return a.createElement(a.Fragment,null,t.length>0&&t.map((function(e,n){return a.createElement(C,{key:n,domain:e,index:n,appLinks:c,onChangeDomain:m,removeDomainField:d,view:i})})))}}),a.createElement("div",null,a.createElement(p.h,{svgName:v.vn.Plus,className:"ms-3 btn btn-link text-info",onClick:u},a.createElement(l.x,{namespace:N,phrase:"addButtonLabel"}))))}var k=t(45140);const F={radioDescription:"Q4JXA"};var I="settings.domainSettingsRadio",R=y.T.encloseNamespace(I),q={automaticAccess:{none:{label:"accessBehaviourNoneLabel",description:"accessBehaviorNoneDescription"},allowed:{label:"accessBehaviourAllowedLabel",description:"accessBehaviourAllowedDescription"}},requestingAccess:{none:{label:"joinRequestsNoneLabel",description:"joinRequestsNoneDescription"},allowed:{label:"joinRequestsAllowedLabel",description:"joinRequestsAllowedDescription"},any:{label:"joinRequestsAnyLabel",description:"joinRequestsAnyDescription"}}};function D(e){var n=e.option,t=e.selectedOption,r=e.view,o=e.hasDescription,i=e.url,s=e.onSelectValue,c=e.children;return a.createElement("div",{className:"mb-3"},a.createElement(k.Z,{type:"radio",id:n,label:R(q[r][n].label),className:"fw-normal",value:n,onChange:function(){return s(n)},checked:t===n}),t===n&&a.createElement(a.Fragment,null,o&&a.createElement("p",{className:"".concat(F.radioDescription," mb-0")},a.createElement(l.x,{namespace:I,phrase:q[r][n].description})," ",!!i&&a.createElement("a",{className:"text-info",target:"_blank",href:i},a.createElement(l.x,{namespace:I,phrase:"learnMore"}))),c))}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)}function T(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,a=Array(n);t<n;t++)a[t]=e[t];return a}function V(e,n,t){return(n=function(e){var n=function(e){if("object"!=L(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!=L(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==L(n)?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var M="settings.domainSettingsForm",P=V(V({},c.C.RequestingAccess,{none:"joinRequestsNoneInfoMessage",allowed:"joinRequestsAllowedInfoMessage",any:"joinRequestsAnyInfoMessage"}),c.C.AutomaticAccess,{none:"accessBehaviourNoneInfoMessage",allowed:"accessBehaviourAllowedInfoMessage"});function B(e){var n=e.view,t=e.options,s=e.errors,c=e.appLinks,d=(0,r.u6)(),f=d.values,p=f.domains,v=f.selectedOption;function y(e){d.setFieldValue("selectedOption",e),d.setErrors({}),p.length||b()}function b(){var e;d.setFieldValue("domains",[].concat(function(e){if(Array.isArray(e))return T(e)}(e=p)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return T(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?T(e,n):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.")}(),[{domain:""}]))}function g(e){p.length>1?d.setFieldValue("domains",o.m.removeItemFromIndex(p,e)):d.setFieldValue("domains",o.m.cloneAndReplaceAtIdx(p,e,Object.assign(Object.assign({},p[e]),{domain:""}))),E(e)}function h(e,n){d.setFieldValue("domains",o.m.cloneAndReplaceAtIdx(p,n,e)),E(n)}function E(e){if(d.errors.domains){var n=d.errors.domains,t=o.m.removeItemFromIndex(n,e);d.setErrors(t.filter((function(e){return e})).length?{domains:t}:{})}}return a.createElement(r.l0,null,a.createElement("div",{className:"col-12 col-md-7 card p-3 mb-3"},t.map((function(e){return a.createElement("div",{key:e},"none"===e&&a.createElement(D,{option:e,selectedOption:v,hasDescription:!0,view:n,onSelectValue:y}),"allowed"===e&&a.createElement(D,{option:e,selectedOption:v,view:n,hasDescription:!0,url:m.o.getLiteArticle(u.b.AccessSettings,"articles"),onSelectValue:y},a.createElement(x,{errors:s,view:n,appLinks:c,addDomainField:b,onChangeDomain:h,removeDomainField:g})),"any"===e&&a.createElement(D,{option:e,view:n,selectedOption:v,hasDescription:!0,url:m.o.getLiteArticle(u.b.AccessSettings,"articles"),onSelectValue:y}))})),a.createElement("div",{className:"d-flex"},a.createElement("div",{className:"rounded p-2 bg-light-blue text-info fw-semibold"},a.createElement(l.x,{namespace:M,phrase:P[n][v]})))),a.createElement(i.A,{isNew:!1,variant:"dark"}))}function W(e){var n=e.initialValues,t=e.view,r=e.options,o=e.errors,i=e.appLinks,l=e.onSaveChanges;return a.createElement(s.n,{initialValues:n,validate:f,validateOnChange:!1,validateOnBlur:!1,onSubmit:l},a.createElement(B,{view:t,options:r,errors:o,appLinks:i}))}},42328:(e,n,t)=>{t.d(n,{w:()=>o});var a=t(32735);function r(){return a.createElement("svg",{viewBox:"0 0 24 24"},a.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 o=a.forwardRef((function(e,n){var t=e.onClickClear,o=e.showClearButton,i=e.clearClassName,s=function(e,n){var t={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&n.indexOf(a)<0&&(t[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)n.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(t[a[r]]=e[a[r]])}return t}(e,["onClickClear","showClearButton","clearClassName"]);return a.createElement("div",{className:"position-relative"},a.createElement("input",Object.assign({},s,{ref:n,className:"".concat(e.className," ").concat("aYpO7")})),(!!e.value||o)&&a.createElement("span",{className:"".concat("ygMgF"," position-absolute cursor-pointer text-secondary ").concat(i||""),role:"button",onClick:t,onKeyDown:function(e){return"Enter"===e.key&&t()},tabIndex:0},a.createElement("div",{className:"d-inline-block svg-container md"},a.createElement(r,null))))}))},23201:(e,n,t)=>{t.d(n,{A:()=>c});var a=t(32735),r=t(92802),o=t(2102),i=t(83345),s=t(33936),l="shared.formButtons";function c(e){var n=(0,r.u6)(),t=(0,s.l)(n);return a.createElement(o.m,{variant:e.variant||"primary",type:"submit",disabled:!t,size:e.size,className:e.className?e.className:"",showSpinner:n.isSubmitting},e.submitText?a.createElement(a.Fragment,null,e.submitText):a.createElement(i.x,{namespace:l,phrase:e.isNew?"create":"save"}))}},66122:(e,n,t)=>{t.d(n,{A:()=>r});var a=t(32735);function r(e){return a.createElement("span",{id:"".concat(e.name,"Error"),className:"".concat(e.className," invalid-feedback d-block"),role:"status"},e.children)}},82644:(e,n,t)=>{t.d(n,{b:()=>u,n:()=>c});var a=t(32735),r=t(92802),o=t(91967),i=t(1048);function s(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,a=Array(n);t<n;t++)a[t]=e[t];return a}var l=function(e,n){var t={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&n.indexOf(a)<0&&(t[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)n.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(t[a[r]]=e[a[r]])}return t};function c(e){var n=e.castInitialValues,t=e.castValuesOnSubmit,c=e.initialValues,u=e.onSubmit,m=l(e,["castInitialValues","castValuesOnSubmit","initialValues","onSubmit"]),d=n&&e.validationSchema?e.validationSchema.cast(function(e){if(!e)return{};var n=i.t.deepClone(e);return function e(t){Object.keys(n).forEach((function(a){n.hasOwnProperty(a)&&(i.t.isObject(t[a])?e(t[a]):null===n[a]&&delete n[a])}))}(n),n}(c)):c,f={allowInitialSubmit:e.allowInitialSubmit};return a.createElement(r.J9,Object.assign({enableReinitialize:!0},m,{initialValues:d,onSubmit:function(n,a){var r=a.setSubmitting,o=a.resetForm,i=a.setFieldError,l=t&&e.validationSchema?e.validationSchema.cast(n):n;u(l,(function(){var e,n,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(t.reset&&o(),t.errors)for(var a=0,l=Object.entries(t.errors);a<l.length;a++){var c=(e=l[a],n=2,function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var a,r,o,i,s=[],l=!0,c=!1;try{if(o=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;l=!1}else for(;!(l=(a=o.call(t)).done)&&(s.push(a.value),s.length!==n);l=!0);}catch(e){c=!0,r=e}finally{try{if(!l&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(c)throw r}}return s}}(e,n)||function(e,n){if(e){if("string"==typeof e)return s(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?s(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=c[0],m=c[1];i(u,m)}r(!1)}))},initialStatus:f}),o.q.isFunction(e.children)?function(n){return e.children(n)}:a.Children.count(e.children)?e.children:null)}function u(){return(0,r.u6)()}c.defaultProps={castInitialValues:!0,castValuesOnSubmit:!0}},23371:(e,n,t)=>{var a;t.d(n,{W:()=>a}),function(e){e.Request="request",e.AutoJoin="auto-join",e.NoRequest="no-request"}(a||(a={}))},99705:(e,n,t)=>{var a,r;t.d(n,{b:()=>r}),function(e){e.AddToPlaylist="115005679748",e.EditSsoAccounts="8202508040345",e.LibraryEditor="360001974533",e.VideoAccess="360000153947",e.AddFromOnline="360011718234",e.UploadToLibraryEditor="360012069334",e.PBTErrorCodes="360012421153",e.ManuelReview="360020004534",e.LibraryReview="360000163788"}(a||(a={})),function(e){e.Integrations="4407268725529",e.Classrooms="4405362551833",e.MakeInteractive="4405370510873",e.EditSsoAccounts="8202605666073",e.UploadToLibraryEditor="10672936659865",e.AddFromLite="10671345281561",e.ManageSsoYearGroups="14691130889241",e.ContentReview="18525199576601",e.ContentPermissions="14692125209497",e.AccessSettings="27927466562201",e.ContentGuidelines="24133696186009",e.FoxtelFaq="24133519542169",e.ViviIntegration="23826297956377",e.AppleTvIntegration="25832373739929",e.RssFeed="32567445635097",e.ManageGroupPermissions="35407217335705"}(r||(r={}))},93802:(e,n,t)=>{t.d(n,{y:()=>c});var a=t(75896),r=t(23371);function o(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return i(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?i(e,n):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 i(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,a=Array(n);t<n;t++)a[t]=e[t];return a}function s(e,n){return!!a.m.findWhere(n,{accessType:e})}function l(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),a=1;a<n;a++)t[a-1]=arguments[a];return e.filter((function(e){return t.some((function(n){return n===e.accessType}))}))}var c={getInitialJoinRequests:function(e){var n=l(e,r.W.Request,r.W.NoRequest);return s(r.W.Request,n)?{selectedOption:"allowed",domains:n}:s(r.W.NoRequest,n)?{selectedOption:"none",domains:[]}:{selectedOption:"any",domains:[]}},getInitialAccessBehaviour:function(e){var n=l(e,r.W.AutoJoin);return s(r.W.AutoJoin,n)?{selectedOption:"allowed",domains:n}:{selectedOption:"none",domains:[]}},formatRequestData:function(e,n,t){var a=n.domains,i=n.selectedOption,s=l(e,r.W.AutoJoin),c=l(e,r.W.Request,r.W.NoRequest);if(t===r.W.Request){var u=[];switch(i){case"none":u=[{accessType:r.W.NoRequest,domain:""}];break;case"allowed":u=a.map((function(e){return Object.assign(Object.assign({},e),{accessType:r.W.Request})}))}return[].concat(o(s),o(u))}if(t===r.W.AutoJoin){var m=[];return"allowed"===i&&(m=a.map((function(e){return Object.assign(Object.assign({},e),{accessType:r.W.AutoJoin})}))),[].concat(o(c),o(m))}}}},71966:(e,n,t)=>{t.d(n,{B:()=>r});var a=t(99940),r={domains:function(e){return{url:"{gateway}/v1/customers/".concat(e,"/approved-domains"),key:"domains",normalize:!1}},updateDomains:function(e,n){return{url:"{gateway}/v1/customers/".concat(e,"/approved-domains"),key:"update:domains",type:a.k.PUT,data:n,normalize:!1,invalidationKeys:["domains"]}}}}}]);
|
|
2
|
+
//# sourceMappingURL=5977-3572189040-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/5977-3572189040-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/utils/validation/DomainSettingsValidationSchema.ts","file:///app/packages/libs/shared/src/apps/domain-settings/domain-fields/domain-field/DomainField.scss","file:///app/packages/libs/shared/src/apps/domain-settings/domain-fields/domain-field/DomainField.tsx","file:///app/packages/libs/shared/src/apps/domain-settings/domain-fields/DomainFields.tsx","file:///app/packages/libs/shared/src/apps/domain-settings/domain-settings-radio/DomainSettingsRadio.scss","file:///app/packages/libs/shared/src/apps/domain-settings/domain-settings-radio/DomainSettingsRadio.tsx","file:///app/packages/libs/shared/src/apps/domain-settings/domain-settings-form/DomainSettingsForm.tsx","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/forms/form-buttons/FormButtons.tsx","file:///app/packages/libs/shared/src/components/forms/form-feedback/FormFeedback.tsx","file:///app/packages/libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx","file:///app/packages/libs/shared/src/enums/AccessType.ts","file:///app/packages/libs/shared/src/enums/SupportArticle.ts","file:///app/packages/libs/shared/src/utils/DomainSettingsFormHelper.ts","file:///app/packages/projects/lite/src/apps/settings/flight-requests/DomainRequests.ts"],"sourcesContent":["import { ApprovedDomain, DomainSettingsModel } from 'libs/shared/interfaces/domains/ApprovedDomain';\nimport { ApprovedDomainError } from 'libs/shared/interfaces/domains/ApprovedDomainErrorResponse';\n\nconst domainRegex = new RegExp(\n /^(?!-)[A-Za-z0-9-]+([\\-\\.]{1}[a-z0-9]+)*\\.[A-Za-z]{2,6}$/\n);\n\nexport const DomainValidation = (values: DomainSettingsModel) => {\n const { domains, selectedOption } = values;\n const errors: { domains: { domain: ApprovedDomainError }[] } = { domains: []};\n\n domains.forEach((domain, index: number) => {\n if (selectedOption !== 'allowed' && !domain.domain)\n return;\n\n if (!domain.domain) {\n errors.domains[index] = { domain: 'domain-empty' };\n return;\n }\n\n const duplicateDomain = domains.find(\n (currentDomain: ApprovedDomain, currentIndex: number) =>\n currentIndex !== index &&\n currentDomain.domain === domain.domain &&\n domain.hasChanged\n );\n if (duplicateDomain) {\n errors.domains[index] = { domain: 'domain-duplicated' };\n return;\n }\n\n if (!domainRegex.test(domain.domain)) {\n errors.domains[index] = { domain: 'domain-invalid' };\n return;\n }\n });\n\n return errors.domains.length ? errors : {};\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"domainFieldContainer\":\"F9EW7\"};","import React from 'react';\nimport { getIn, useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ClearableInput } from 'libs/shared/apps/sign-up/components/general/clear-input/ClearableInput';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { FormFeedback } from 'libs/shared/components/forms/form-feedback/FormFeedback';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { AccessSettingsGroup } from 'libs/shared/enums/AccessSettingsGroup';\nimport { AccessSettingAppLinks } from 'libs/shared/interfaces/domains/AccessSettingAppLinks';\nimport { ApprovedDomain, DomainSettingsModel } from 'libs/shared/interfaces/domains/ApprovedDomain';\nimport { ApprovedDomainError } from 'libs/shared/interfaces/domains/ApprovedDomainErrorResponse';\n\nimport styles from './DomainField.scss';\n\nconst namespace = 'settings.domainField';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype ViewMap = {\n [key in AccessSettingsGroup]?: string;\n}\n\ntype ErrorMessagePhraseMap = {\n [key in ApprovedDomainError]?: string | ViewMap;\n};\n\nconst errorMessagePhraseMap: ErrorMessagePhraseMap = {\n 'domain-duplicated': 'domainDuplicatedErrorMessage',\n 'domain-not-certified': 'domainNotCertifiedErrorMessage',\n 'domain-invalid': 'domainInvalidErrorMessage',\n 'domain-empty': 'domainEmptyErrorMessage',\n 'domain-already-exists': {\n requestingAccess: 'joinRequestsDomainAlreadyExistsErrorMessage',\n automaticAccess: 'accessBehaviourDomainAlreadyExistsErrorMessage'\n }\n};\n\ninterface DomainFieldProps {\n index: number,\n domain: ApprovedDomain,\n view: AccessSettingsGroup\n appLinks: AccessSettingAppLinks\n onChangeDomain: (domain: ApprovedDomain, index: number) => void,\n removeDomainField: (index: number) => void,\n}\n\nexport function DomainField(props: DomainFieldProps) {\n const formikProps = useFormikContext<DomainSettingsModel>();\n const { index, domain, view, appLinks, onChangeDomain, removeDomainField } = props;\n \n const actionMap: { [view: string]: string } = {\n [AccessSettingsGroup.RequestingAccess]: appLinks.automaticAccess.action,\n [AccessSettingsGroup.AutomaticAccess]: appLinks.requestingAccess.action\n };\n\n const viewAppLink = {\n application: appLinks[view].application,\n action: actionMap[view],\n args: appLinks[view].args\n };\n \n function getDomainErrorCode(index: number): ApprovedDomainError {\n return getIn(formikProps.errors, `domains.${index}.domain`);\n }\n\n function getDomainErrorMessage(index: number, domain: string): JSX.Element {\n const domainErrorCode = getDomainErrorCode(index);\n switch (domainErrorCode) {\n case 'domain-duplicated':\n case 'domain-invalid':\n case 'domain-not-certified':\n case 'domain-empty':\n return (\n <Text\n namespace={namespace}\n phrase={errorMessagePhraseMap[domainErrorCode] as string}\n options={{ domain }}\n />\n );\n case 'domain-already-exists':\n return (\n <>\n <Text\n namespace={namespace}\n phrase={(errorMessagePhraseMap[domainErrorCode] as ViewMap)[view]}\n options={{ domain }}\n />\n <AppLink\n appLink={viewAppLink}\n className='text-red text-underline'\n >\n <Text namespace={namespace} phrase={'viewLinkText'}/>\n </AppLink>\n <span>.</span>\n </>\n );\n }\n }\n\n function handleChange(e: React.FormEvent<HTMLInputElement>, index: number) {\n e.preventDefault();\n const updatedDomain: ApprovedDomain = { ...domain, domain: e.currentTarget.value, hasChanged: true };\n onChangeDomain(updatedDomain, index);\n }\n\n return (\n <div className={styles.domainFieldContainer}>\n <ClearableInput\n type='text'\n name={`domains.${index}.domain`}\n className={`form-control form-control-lg ${getDomainErrorCode(index) ? 'is-invalid' : ''}`}\n placeholder={getPhrase('domainPlaceholder')}\n value={domain.domain}\n onChange={e => handleChange(e, index)}\n onClickClear={() => removeDomainField(index)}\n autoComplete='off'\n showClearButton={index !== 0 || !!domain.domain}\n aria-errormessage={`domains.${index}.domainError`}\n />\n {\n getDomainErrorCode(index) &&\n <FormFeedback name={`domains.${index}.domain`}>{getDomainErrorMessage(index, domain.domain)}</FormFeedback>\n }\n </div>\n );\n}","import React from 'react';\nimport { FieldArray, useFormikContext } from 'formik';\n\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { AccessSettingsGroup } from 'libs/shared/enums/AccessSettingsGroup';\nimport { AccessSettingAppLinks } from 'libs/shared/interfaces/domains/AccessSettingAppLinks';\nimport { ApprovedDomain, DomainSettingsModel } from 'libs/shared/interfaces/domains/ApprovedDomain';\nimport { ApprovedDomainErrorResponse } from 'libs/shared/interfaces/domains/ApprovedDomainErrorResponse';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { DomainField } from './domain-field/DomainField';\n\nconst namespace = 'settings.domainFields';\n\ninterface DomainFieldsProps {\n errors: ApprovedDomainErrorResponse[],\n view: AccessSettingsGroup,\n appLinks: AccessSettingAppLinks\n addDomainField: () => void,\n onChangeDomain: (domain: ApprovedDomain, index: number) => void,\n removeDomainField: (index: number) => void,\n}\n\nexport function DomainFields(props: DomainFieldsProps) {\n const formikProps = useFormikContext<DomainSettingsModel>();\n const { domains } = formikProps.values;\n const { view, errors, appLinks, addDomainField, onChangeDomain, removeDomainField } = props;\n\n React.useEffect(() => {\n if (errors?.length) {\n errors.forEach(error => {\n const errorIndex = ArrayHelper.findIndex(\n domains,\n domain => domain.hasChanged && domain.domain === error.domain\n );\n formikProps.setFieldError(`domains.${errorIndex}.domain`, error.errorCode);\n });\n }\n }, [errors]);\n\n return (\n <>\n <FieldArray\n name='domains'\n render={() => {\n return (\n <>\n {domains.length > 0 &&\n domains.map((domain: ApprovedDomain, index) => (\n <DomainField\n key={index}\n domain={domain}\n index={index}\n appLinks={appLinks}\n onChangeDomain={onChangeDomain}\n removeDomainField={removeDomainField}\n view={view}\n />\n ))}\n </>\n );\n }}\n />\n <div>\n <IconButton\n svgName={cvSvgLibrary.Plus}\n className={`ms-3 btn btn-link text-info`}\n onClick={addDomainField}\n >\n <Text namespace={namespace} phrase='addButtonLabel' />\n </IconButton>\n </div>\n </>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"radioDescription\":\"Q4JXA\"};","import React from 'react';\nimport { FormCheck } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { AccessSettingsGroup } from 'libs/shared/enums/AccessSettingsGroup';\nimport { DomainSettingsOption } from 'libs/shared/interfaces/domains/ApprovedDomain';\n\nimport styles from './DomainSettingsRadio.scss';\n\nconst namespace = 'settings.domainSettingsRadio';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype RadioPhraseMap = {\n [key in AccessSettingsGroup]?: {\n [key in DomainSettingsOption]?: {\n label: string,\n description?: string\n }\n }\n}\n\nconst radioPhraseMap: RadioPhraseMap = {\n automaticAccess: {\n none: {\n label: 'accessBehaviourNoneLabel',\n description: 'accessBehaviorNoneDescription'\n },\n allowed: {\n label: 'accessBehaviourAllowedLabel',\n description: 'accessBehaviourAllowedDescription'\n }\n },\n requestingAccess: {\n none: {\n label: 'joinRequestsNoneLabel',\n description: 'joinRequestsNoneDescription'\n },\n allowed: {\n label: 'joinRequestsAllowedLabel',\n description: 'joinRequestsAllowedDescription'\n },\n any: {\n label: 'joinRequestsAnyLabel',\n description: 'joinRequestsAnyDescription'\n }\n }\n};\n\ninterface DomainSettingsRadioProps {\n option: DomainSettingsOption;\n selectedOption: DomainSettingsOption;\n view: AccessSettingsGroup,\n hasDescription?: boolean;\n url?: string;\n onSelectValue: (option: DomainSettingsOption) => void;\n children?: JSX.Element;\n}\n\nexport function DomainSettingsRadio(props: DomainSettingsRadioProps) {\n const { option, selectedOption, view, hasDescription, url, onSelectValue, children } = props;\n\n return (\n <div className='mb-3'>\n <FormCheck\n type='radio'\n id={option}\n label={getPhrase(radioPhraseMap[view][option].label)}\n className='fw-normal'\n value={option}\n onChange={() => onSelectValue(option)}\n checked={selectedOption === option}\n />\n {selectedOption === option && (\n <>\n {hasDescription && (\n <p className={`${styles.radioDescription} mb-0`}>\n <Text namespace={namespace} phrase={radioPhraseMap[view][option].description} />\n \n {!!url &&\n <a className='text-info' target='_blank' href={url}>\n <Text namespace={namespace} phrase='learnMore' />\n </a>\n }\n </p>\n )}\n {children}\n </>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport { Form, FormikErrors, useFormikContext } from 'formik';\n\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\nimport { FormSubmissionOptions, FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { AccessSettingsGroup } from 'libs/shared/enums/AccessSettingsGroup';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { AccessSettingAppLinks } from 'libs/shared/interfaces/domains/AccessSettingAppLinks';\nimport { ApprovedDomain, DomainSettingsModel, DomainSettingsOption } from 'libs/shared/interfaces/domains/ApprovedDomain';\nimport { ApprovedDomainErrorResponse } from 'libs/shared/interfaces/domains/ApprovedDomainErrorResponse';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\nimport { DomainValidation } from 'libs/shared/utils/validation/DomainSettingsValidationSchema';\n\nimport { DomainFields } from '../domain-fields/DomainFields';\nimport { DomainSettingsRadio } from '../domain-settings-radio/DomainSettingsRadio';\n\nconst namespace = 'settings.domainSettingsForm';\n\ntype InfoMessageMap = {\n [key in AccessSettingsGroup]?: {\n [key in DomainSettingsOption]?: string;\n }\n}\n\nconst infoMessagePhraseMap: InfoMessageMap = {\n [AccessSettingsGroup.RequestingAccess]: {\n none: 'joinRequestsNoneInfoMessage',\n allowed: 'joinRequestsAllowedInfoMessage',\n any: 'joinRequestsAnyInfoMessage'\n },\n [AccessSettingsGroup.AutomaticAccess]: {\n none: 'accessBehaviourNoneInfoMessage',\n allowed: 'accessBehaviourAllowedInfoMessage'\n }\n};\n\ninterface DomainSettingsFormProps {\n view: AccessSettingsGroup,\n options: DomainSettingsOption[],\n errors: ApprovedDomainErrorResponse[]\n appLinks: AccessSettingAppLinks\n}\n\nfunction DomainSettingsForm(props: DomainSettingsFormProps): JSX.Element {\n const { view, options, errors, appLinks } = props;\n const formikProps = useFormikContext<DomainSettingsModel>();\n const { domains, selectedOption } = formikProps.values;\n\n function onSelectValue(value: DomainSettingsOption): void {\n formikProps.setFieldValue('selectedOption', value);\n formikProps.setErrors({});\n\n if (!domains.length) {\n addDomainField();\n }\n }\n\n function addDomainField() {\n formikProps.setFieldValue('domains', [ ...domains, { domain: '' }]);\n }\n\n function removeDomainField(index: number) {\n if (domains.length > 1) {\n formikProps.setFieldValue('domains', ArrayHelper.removeItemFromIndex(domains, index));\n } else {\n formikProps.setFieldValue('domains', ArrayHelper.cloneAndReplaceAtIdx(domains, index, {\n ...domains[index], domain: '' }));\n }\n clearFieldError(index);\n }\n\n function onChangeDomain(domain: ApprovedDomain, index: number) {\n formikProps.setFieldValue('domains', ArrayHelper.cloneAndReplaceAtIdx(domains, index, domain));\n clearFieldError(index);\n }\n \n function clearFieldError(index: number) {\n if (formikProps.errors.domains) {\n const domainErrors = formikProps.errors.domains as Partial<ApprovedDomain>[];\n const updatedDomainErrors =\n ArrayHelper.removeItemFromIndex<Partial<ApprovedDomain>>(domainErrors, index);\n \n formikProps.setErrors(\n updatedDomainErrors.filter(err => err).length\n ? ({ domains: updatedDomainErrors } as FormikErrors<DomainSettingsModel>)\n : {}\n );\n }\n }\n\n return (\n <Form>\n <div className='col-12 col-md-7 card p-3 mb-3'>\n {options.map(option => (\n <div key={option}>\n {option === 'none' && (\n <DomainSettingsRadio\n option={option}\n selectedOption={selectedOption}\n hasDescription\n view={view}\n onSelectValue={onSelectValue}\n />\n )}\n {option === 'allowed' && (\n <DomainSettingsRadio\n option={option}\n selectedOption={selectedOption}\n view={view}\n hasDescription\n url={ArticleHelper.getLiteArticle(LiteSupportArticle.AccessSettings, 'articles')}\n onSelectValue={onSelectValue}\n >\n <DomainFields\n errors={errors}\n view={view}\n appLinks={appLinks}\n addDomainField={addDomainField}\n onChangeDomain={onChangeDomain}\n removeDomainField={removeDomainField}\n />\n </DomainSettingsRadio>\n )}\n {option === 'any' && (\n <DomainSettingsRadio\n option={option}\n view={view}\n selectedOption={selectedOption}\n hasDescription\n url={ArticleHelper.getLiteArticle(LiteSupportArticle.AccessSettings, 'articles')}\n onSelectValue={onSelectValue}\n />\n )}\n </div>\n ))}\n\n <div className='d-flex'>\n <div className='rounded p-2 bg-light-blue text-info fw-semibold'>\n <Text namespace={namespace} phrase={infoMessagePhraseMap[view][selectedOption]} />\n </div>\n </div>\n </div>\n <FormButtons<DomainSettingsModel> isNew={false} variant='dark'/>\n </Form>\n );\n}\n\ninterface DomainSettingsProps {\n initialValues: DomainSettingsModel,\n view: AccessSettingsGroup,\n options: DomainSettingsOption[],\n errors?: ApprovedDomainErrorResponse[],\n appLinks: AccessSettingAppLinks\n onSaveChanges: (\n values: DomainSettingsModel,\n onDone: (options?: FormSubmissionOptions<DomainSettingsModel>) => void\n ) => void,\n}\n\nexport function DomainSettingsFormWrapper(props: DomainSettingsProps) {\n const { initialValues, view, options, errors, appLinks, onSaveChanges } = props;\n\n return (\n <FormWrapper<DomainSettingsModel>\n initialValues={initialValues}\n validate={DomainValidation}\n validateOnChange={false}\n validateOnBlur={false}\n onSubmit={onSaveChanges}\n >\n <DomainSettingsForm view={view} options={options} errors={errors} appLinks={appLinks}></DomainSettingsForm>\n </FormWrapper>\n );\n}","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\"};","import * as React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { FormSize } from 'libs/shared/components/forms/form-field/FormField';\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useCanSubmitForm } from 'libs/shared/hooks/UseCanSubmitForm';\n\nconst namespace = 'shared.formButtons';\n\ninterface FormButtonsProps {\n isNew?: boolean;\n submitText?: string;\n variant?: ButtonProps['variant'];\n size?: FormSize;\n className?: string;\n}\n\nexport function FormButtons<Values extends HashObject>(props: FormButtonsProps): JSX.Element {\n const formikProps = useFormikContext<Values>();\n\n const canSubmit = useCanSubmitForm(formikProps);\n\n return (\n <SpinnerButton\n variant={props.variant || 'primary'}\n type='submit'\n disabled={!canSubmit}\n size={props.size}\n className={props.className ? props.className : ''}\n showSpinner={formikProps.isSubmitting}\n >\n {props.submitText\n ? <>{props.submitText}</>\n : <Text namespace={namespace} phrase={props.isNew ? 'create' : 'save'} />}\n </SpinnerButton>\n );\n}\n","import React from 'react';\n\ninterface FormFeedbackProps extends React.PropsWithChildren {\n name: string;\n className?: string;\n}\n\nexport function FormFeedback(props: FormFeedbackProps) {\n return (\n <span id={`${props.name}Error`} className={`${props.className} invalid-feedback d-block`} role='status'>{props.children}</span>\n );\n}","import * as React from 'react';\nimport { Formik, FormikConfig, FormikContextType, FormikErrors, FormikHelpers, FormikProps, FormikValues, useFormikContext } from 'formik';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\n/**\n * Note: This currently doesn't support arrays, but the need for arrays as initial\n * form data has not yet come up\n */\nfunction omitNullInitialValues<Values extends FormikValues>(initialValues: Values): Values {\n if (!initialValues)\n return {} as Values;\n\n const values = ObjectHelper.deepClone(initialValues);\n\n function omitChildValues(child: Values): void {\n Object.keys(values).forEach((key: keyof Values) => {\n if (!values.hasOwnProperty(key))\n return;\n \n if (ObjectHelper.isObject(child[key]))\n omitChildValues(child[key]);\n else if (values[key] === null)\n delete values[key];\n });\n }\n\n omitChildValues(values);\n return values;\n}\n\n// Omit attributes from FormikConfig that are defined in FormWrapperProps.\ntype ModifiedFormikConfig<Values extends FormikValues> = Omit<FormikConfig<Values>, 'initialValues' | 'onSubmit'>;\n\ninterface InitialStatus {\n allowInitialSubmit: boolean;\n}\n\nexport type FormSubmissionOptions<FormValues = FormikValues> = {\n reset?: boolean;\n errors?: FormikErrors<FormValues>;\n};\n\ninterface FormWrapperProps<FormValues extends FormikValues, ApiValues extends FormikValues> {\n initialValues: Partial<FormValues | ApiValues>;\n onSubmit: (data: FormValues, onDone: (options?: FormSubmissionOptions<FormValues>) => void) => void;\n castInitialValues?: boolean; // cast to validationSchema\n castValuesOnSubmit?: boolean; // cast to validationSchema\n allowInitialSubmit?: boolean; // if true, useCanSubmitForm will allow submit without any user changes.\n}\n\nFormWrapper.defaultProps = {\n castInitialValues: true,\n castValuesOnSubmit: true\n};\n\nexport function FormWrapper<\n FormValues extends FormikValues = FormikValues,\n ApiValues extends FormikValues = FormValues,\n ExtraProps = HashObject\n>(props: ModifiedFormikConfig<FormValues> & ExtraProps & FormWrapperProps<FormValues, ApiValues>): JSX.Element {\n const { castInitialValues, castValuesOnSubmit, initialValues, onSubmit, ...formikProps } = props;\n\n /**\n * If castInitialValues is true, cast initialValues to the validationSchema.\n * This will ensure that any data fetched from the api conforms to the expected form data shape.\n */\n const formattedInitialValues: FormValues = castInitialValues && props.validationSchema\n ? props.validationSchema.cast(omitNullInitialValues(initialValues))\n : initialValues;\n\n const onSubmitHandler = (\n values: FormValues,\n { setSubmitting, resetForm, setFieldError }: FormikHelpers<FormValues>\n ) => {\n /**\n * validationSchema.cast will coerce the values to the types defined in validationSchema.\n * This is useful for trimming inputs:\n * e.g. if a value field has type Yup.string().trim(), it will be automatically trimmed.\n */\n const formattedData = castValuesOnSubmit && props.validationSchema\n ? props.validationSchema.cast(values)\n : values;\n\n onSubmit(formattedData, (options: FormSubmissionOptions<FormValues> = {}) => {\n options.reset && resetForm();\n\n if (options.errors) {\n for (const [ key, value ] of Object.entries(options.errors)) {\n setFieldError(key, value);\n }\n }\n\n setSubmitting(false);\n });\n };\n\n const initialStatus: InitialStatus = {\n allowInitialSubmit: props.allowInitialSubmit\n };\n\n return (\n <Formik<FormValues, ExtraProps>\n enableReinitialize\n {...(formikProps as ModifiedFormikConfig<FormValues> & ExtraProps)}\n initialValues={formattedInitialValues}\n onSubmit={onSubmitHandler}\n initialStatus={initialStatus}\n >\n {FunctionHelper.isFunction(props.children)\n ? (f: FormikProps<FormValues>) => (props.children as (f: FormikProps<FormValues>) => React.ReactNode)(f)\n : React.Children.count(props.children) ? props.children : null\n }\n </Formik>\n );\n}\n\nexport function useFormikContextWrapper<T>(): FormikContextType<T> {\n return useFormikContext<T>();\n}","export enum AccessType {\n Request = 'request',\n AutoJoin = 'auto-join',\n NoRequest = 'no-request'\n}","// Article name mapped to article ID on support site. Used by `ArticleHelper`\n\nexport enum OnlineSupportArticle {\n AddToPlaylist = '115005679748',\n EditSsoAccounts = '8202508040345',\n\n // LE\n LibraryEditor = '360001974533',\n VideoAccess = '360000153947',\n AddFromOnline = '360011718234',\n UploadToLibraryEditor = '360012069334',\n PBTErrorCodes = '360012421153',\n ManuelReview = '360020004534',\n LibraryReview = '360000163788',\n}\n\nexport enum LiteSupportArticle {\n Integrations = '4407268725529',\n Classrooms = '4405362551833',\n MakeInteractive = '4405370510873',\n EditSsoAccounts = '8202605666073',\n UploadToLibraryEditor = '10672936659865',\n AddFromLite = '10671345281561',\n ManageSsoYearGroups = '14691130889241',\n ContentReview = '18525199576601',\n ContentPermissions = '14692125209497',\n AccessSettings = '27927466562201',\n ContentGuidelines = '24133696186009',\n FoxtelFaq = '24133519542169',\n ViviIntegration = '23826297956377',\n AppleTvIntegration = '25832373739929',\n RssFeed = '32567445635097',\n ManageGroupPermissions = '35407217335705'\n}\n","import { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { AccessType } from 'libs/shared/enums/AccessType';\nimport { ApprovedDomain, DomainSettingsModel } from 'libs/shared/interfaces/domains/ApprovedDomain';\n\nfunction has(accessType: AccessType, domains: ApprovedDomain[]): boolean {\n return !!ArrayHelper.findWhere(domains, { accessType });\n}\n\nfunction getFilteredDomains(domains: ApprovedDomain[], ...accessTypes: AccessType[]): ApprovedDomain[] {\n return domains.filter(domain => accessTypes.some(accessType => accessType === domain.accessType));\n}\n\nexport const DomainSettingsFormHelper = {\n getInitialJoinRequests(domains: ApprovedDomain[]): DomainSettingsModel {\n const filteredDomains = getFilteredDomains(domains, AccessType.Request, AccessType.NoRequest);\n \n if (has(AccessType.Request, filteredDomains))\n return { selectedOption: 'allowed', domains: filteredDomains };\n\n if (has(AccessType.NoRequest, filteredDomains))\n return { selectedOption: 'none', domains: []};\n \n return { selectedOption: 'any', domains: []};\n },\n getInitialAccessBehaviour(domains: ApprovedDomain[]): DomainSettingsModel {\n const filteredDomains = getFilteredDomains(domains, AccessType.AutoJoin);\n\n if (has(AccessType.AutoJoin, filteredDomains))\n return { selectedOption: 'allowed', domains: filteredDomains };\n\n return { selectedOption: 'none', domains: []};\n },\n formatRequestData(\n prevDomains: ApprovedDomain[],\n values: DomainSettingsModel,\n accessType: AccessType\n ): ApprovedDomain[] {\n const { domains, selectedOption } = values;\n const prevAutoJoinDomains = getFilteredDomains(prevDomains, AccessType.AutoJoin);\n const prevRequestDomains = getFilteredDomains(prevDomains, AccessType.Request, AccessType.NoRequest);\n\n if (accessType === AccessType.Request) {\n let requestDomains: ApprovedDomain[] = [];\n switch (selectedOption) {\n case 'none':\n requestDomains = [{ accessType: AccessType.NoRequest, domain: '' }];\n break;\n case 'allowed':\n requestDomains = domains.map(domain => ({ ...domain, accessType: AccessType.Request }));\n break;\n case 'any':\n }\n return [ ...prevAutoJoinDomains, ...requestDomains ];\n }\n\n if (accessType === AccessType.AutoJoin) {\n let autoJoinDomains: ApprovedDomain[] = [];\n switch (selectedOption) {\n case 'allowed':\n autoJoinDomains = domains.map(domain => ({ ...domain, accessType: AccessType.AutoJoin }));\n break;\n case 'none':\n }\n return [ ...prevRequestDomains, ...autoJoinDomains ];\n }\n }\n};\n","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/flight';\n\nimport { ApprovedDomain } from 'libs/shared/interfaces/domains/ApprovedDomain';\n\nexport const DomainRequests = {\n domains(customerId: string): Flight.Request {\n return {\n url: `{gateway}/v1/customers/${customerId}/approved-domains`,\n key: 'domains',\n normalize: false\n };\n },\n updateDomains(\n customerId: string,\n data: ApprovedDomain[]\n ): Flight.Request {\n return {\n url: `{gateway}/v1/customers/${customerId}/approved-domains`,\n key: 'update:domains',\n type: HttpVerbs.PUT,\n data,\n normalize: false,\n invalidationKeys: ['domains']\n };\n }\n};"],"names":["domainRegex","RegExp","DomainValidation","values","domains","selectedOption","errors","forEach","domain","index","find","currentDomain","currentIndex","hasChanged","test","length","namespace","getPhrase","LanguageService","errorMessagePhraseMap","requestingAccess","automaticAccess","props","formikProps","view","appLinks","onChangeDomain","removeDomainField","actionMap","AccessSettingsGroup","action","viewAppLink","application","args","getDomainErrorCode","className","ClearableInput","type","name","placeholder","value","onChange","e","preventDefault","updatedDomain","currentTarget","handleChange","onClickClear","autoComplete","showClearButton","FormFeedback","domainErrorCode","Text","phrase","options","AppLink","appLink","getDomainErrorMessage","DomainFields","addDomainField","error","errorIndex","ArrayHelper","setFieldError","errorCode","render","map","key","IconButton","svgName","onClick","radioPhraseMap","none","label","description","allowed","any","option","hasDescription","url","onSelectValue","children","FormCheck","id","checked","target","href","infoMessagePhraseMap","DomainSettingsForm","setFieldValue","setErrors","clearFieldError","domainErrors","updatedDomainErrors","filter","err","ArticleHelper","FormButtons","isNew","variant","DomainSettingsFormWrapper","initialValues","onSaveChanges","FormWrapper","validate","validateOnChange","validateOnBlur","onSubmit","CloseIcon","viewBox","d","ref","clearClassName","inputProps","role","onKeyDown","tabIndex","canSubmit","disabled","size","showSpinner","isSubmitting","submitText","castInitialValues","castValuesOnSubmit","formattedInitialValues","validationSchema","cast","omitChildValues","child","Object","keys","hasOwnProperty","omitNullInitialValues","initialStatus","allowInitialSubmit","enableReinitialize","setSubmitting","resetForm","formattedData","reset","entries","f","useFormikContextWrapper","defaultProps","AccessType","OnlineSupportArticle","LiteSupportArticle","has","accessType","getFilteredDomains","accessTypes","some","DomainSettingsFormHelper","getInitialJoinRequests","filteredDomains","getInitialAccessBehaviour","formatRequestData","prevDomains","prevAutoJoinDomains","prevRequestDomains","requestDomains","autoJoinDomains","DomainRequests","customerId","normalize","updateDomains","data","invalidationKeys"],"sourceRoot":""}
|