@clickview/lite 0.57.2-rc.2 → 0.57.3-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/css/{3137-lite-7da84a8e68.chunk.css → 3137-lite-8afb370875.chunk.css} +1 -1
  3. package/dist/scripts/{1125-a24f83a3f3-lite.chunk.js → 1125-0e659106d9-lite.chunk.js} +2 -2
  4. package/dist/scripts/{1125-a24f83a3f3-lite.chunk.js.map → 1125-0e659106d9-lite.chunk.js.map} +1 -1
  5. package/dist/scripts/{1340-3f5e7d4623-lite.chunk.js → 1340-c78a7acd0d-lite.chunk.js} +2 -2
  6. package/dist/scripts/{1340-3f5e7d4623-lite.chunk.js.map → 1340-c78a7acd0d-lite.chunk.js.map} +1 -1
  7. package/dist/scripts/{154-81a4eabaae-lite.chunk.js → 154-fa5b45d1bf-lite.chunk.js} +2 -2
  8. package/dist/scripts/{154-81a4eabaae-lite.chunk.js.map → 154-fa5b45d1bf-lite.chunk.js.map} +1 -1
  9. package/dist/scripts/{1913-6a6bb3f16f-lite.chunk.js → 1913-6a7d99b96f-lite.chunk.js} +2 -2
  10. package/dist/scripts/{1913-6a6bb3f16f-lite.chunk.js.map → 1913-6a7d99b96f-lite.chunk.js.map} +1 -1
  11. package/dist/scripts/1958-cf5dd56576-lite.chunk.js +2 -0
  12. package/dist/scripts/{1958-31e6049ac7-lite.chunk.js.map → 1958-cf5dd56576-lite.chunk.js.map} +1 -1
  13. package/dist/scripts/{209-4a322eae44-lite.chunk.js → 209-396b9a7f13-lite.chunk.js} +2 -2
  14. package/dist/scripts/{209-4a322eae44-lite.chunk.js.map → 209-396b9a7f13-lite.chunk.js.map} +1 -1
  15. package/dist/scripts/2182-a5652609bb-lite.chunk.js +2 -0
  16. package/dist/scripts/2182-a5652609bb-lite.chunk.js.map +1 -0
  17. package/dist/scripts/{2208-a9d679d40c-lite.chunk.js → 2208-5fed507ca8-lite.chunk.js} +2 -2
  18. package/dist/scripts/{2208-a9d679d40c-lite.chunk.js.map → 2208-5fed507ca8-lite.chunk.js.map} +1 -1
  19. package/dist/scripts/{2402-2d435f7027-lite.chunk.js → 2402-300aa81eaf-lite.chunk.js} +2 -2
  20. package/dist/scripts/{2402-2d435f7027-lite.chunk.js.map → 2402-300aa81eaf-lite.chunk.js.map} +1 -1
  21. package/dist/scripts/{3137-51febcedd6-lite.chunk.js → 3137-00d0d09d82-lite.chunk.js} +2 -2
  22. package/dist/scripts/{3137-51febcedd6-lite.chunk.js.map → 3137-00d0d09d82-lite.chunk.js.map} +1 -1
  23. package/dist/scripts/338-5c6ffa41bb-lite.chunk.js +3 -0
  24. package/dist/scripts/338-5c6ffa41bb-lite.chunk.js.map +1 -0
  25. package/dist/scripts/{3962-6bfcebace6-lite.chunk.js → 3962-eaa18d5ab6-lite.chunk.js} +2 -2
  26. package/dist/scripts/{3962-6bfcebace6-lite.chunk.js.map → 3962-eaa18d5ab6-lite.chunk.js.map} +1 -1
  27. package/dist/scripts/{4395-389855e87f-lite.chunk.js → 4395-9d987fe2e6-lite.chunk.js} +2 -2
  28. package/dist/scripts/{4395-389855e87f-lite.chunk.js.map → 4395-9d987fe2e6-lite.chunk.js.map} +1 -1
  29. package/dist/scripts/{4591-1e137b9a3f-lite.chunk.js → 4591-19ee265d34-lite.chunk.js} +2 -2
  30. package/dist/scripts/4591-19ee265d34-lite.chunk.js.map +1 -0
  31. package/dist/scripts/{467-baec908c73-lite.chunk.js → 467-1550deaaa1-lite.chunk.js} +2 -2
  32. package/dist/scripts/{467-baec908c73-lite.chunk.js.map → 467-1550deaaa1-lite.chunk.js.map} +1 -1
  33. package/dist/scripts/5157-9396b0580d-lite.chunk.js +2 -0
  34. package/dist/scripts/{5157-b1d38e123c-lite.chunk.js.map → 5157-9396b0580d-lite.chunk.js.map} +1 -1
  35. package/dist/scripts/{528-0e18ce97a9-lite.chunk.js → 528-3120366abc-lite.chunk.js} +2 -2
  36. package/dist/scripts/{528-0e18ce97a9-lite.chunk.js.map → 528-3120366abc-lite.chunk.js.map} +1 -1
  37. package/dist/scripts/{5376-6e993d6097-lite.chunk.js → 5376-38456da0db-lite.chunk.js} +3 -3
  38. package/dist/scripts/{5376-6e993d6097-lite.chunk.js.map → 5376-38456da0db-lite.chunk.js.map} +1 -1
  39. package/dist/scripts/{6263-c6ce662fc3-lite.chunk.js → 6263-c665ac8df6-lite.chunk.js} +2 -2
  40. package/dist/scripts/{6263-c6ce662fc3-lite.chunk.js.map → 6263-c665ac8df6-lite.chunk.js.map} +1 -1
  41. package/dist/scripts/{6290-dd18f6a50a-lite.chunk.js → 6290-a295d749c3-lite.chunk.js} +2 -2
  42. package/dist/scripts/{6290-dd18f6a50a-lite.chunk.js.map → 6290-a295d749c3-lite.chunk.js.map} +1 -1
  43. package/dist/scripts/{6480-9f3dc79b38-lite.chunk.js → 6480-03513bbd54-lite.chunk.js} +2 -2
  44. package/dist/scripts/{6480-9f3dc79b38-lite.chunk.js.map → 6480-03513bbd54-lite.chunk.js.map} +1 -1
  45. package/dist/scripts/{7112-ea440dfba0-lite.chunk.js → 7112-2e77a3e7af-lite.chunk.js} +3 -3
  46. package/dist/scripts/{7112-ea440dfba0-lite.chunk.js.map → 7112-2e77a3e7af-lite.chunk.js.map} +1 -1
  47. package/dist/scripts/{7178-c592da7054-lite.chunk.js → 7178-f3794c1ee5-lite.chunk.js} +2 -2
  48. package/dist/scripts/{7178-c592da7054-lite.chunk.js.map → 7178-f3794c1ee5-lite.chunk.js.map} +1 -1
  49. package/dist/scripts/{775-b6cb8f1808-lite.chunk.js → 775-d6b0a7afbd-lite.chunk.js} +3 -3
  50. package/dist/scripts/{775-b6cb8f1808-lite.chunk.js.map → 775-d6b0a7afbd-lite.chunk.js.map} +1 -1
  51. package/dist/scripts/823-0a1356d38c-lite.chunk.js +2 -0
  52. package/dist/scripts/823-0a1356d38c-lite.chunk.js.map +1 -0
  53. package/dist/scripts/{8489-7779fd40b3-lite.chunk.js → 8489-88ab052e8c-lite.chunk.js} +3 -3
  54. package/dist/scripts/{8489-7779fd40b3-lite.chunk.js.map → 8489-88ab052e8c-lite.chunk.js.map} +1 -1
  55. package/dist/scripts/{8722-095bf62b96-lite.chunk.js → 8722-ed6103f3e4-lite.chunk.js} +2 -2
  56. package/dist/scripts/{8722-095bf62b96-lite.chunk.js.map → 8722-ed6103f3e4-lite.chunk.js.map} +1 -1
  57. package/dist/scripts/{8905-46d89811eb-lite.chunk.js → 8905-799dc47805-lite.chunk.js} +2 -2
  58. package/dist/scripts/{8905-46d89811eb-lite.chunk.js.map → 8905-799dc47805-lite.chunk.js.map} +1 -1
  59. package/dist/scripts/{8935-2bb61f918c-lite.chunk.js → 8935-38d780c423-lite.chunk.js} +3 -3
  60. package/dist/scripts/{8935-2bb61f918c-lite.chunk.js.map → 8935-38d780c423-lite.chunk.js.map} +1 -1
  61. package/dist/scripts/{9118-20d1a60a52-lite.chunk.js → 9118-c769eeb11a-lite.chunk.js} +2 -2
  62. package/dist/scripts/{9118-20d1a60a52-lite.chunk.js.map → 9118-c769eeb11a-lite.chunk.js.map} +1 -1
  63. package/dist/scripts/{9230-77ff8b16ac-lite.chunk.js → 9230-1ffbf1807e-lite.chunk.js} +3 -3
  64. package/dist/scripts/{9230-77ff8b16ac-lite.chunk.js.map → 9230-1ffbf1807e-lite.chunk.js.map} +1 -1
  65. package/dist/scripts/{9614-2bca60768e-lite.chunk.js → 9614-6e5babb89a-lite.chunk.js} +2 -2
  66. package/dist/scripts/{9614-2bca60768e-lite.chunk.js.map → 9614-6e5babb89a-lite.chunk.js.map} +1 -1
  67. package/dist/scripts/{9719-0e59bf30a5-lite.chunk.js → 9719-28c14a0783-lite.chunk.js} +3 -3
  68. package/dist/scripts/{9719-0e59bf30a5-lite.chunk.js.map → 9719-28c14a0783-lite.chunk.js.map} +1 -1
  69. package/dist/scripts/{bundle-fb8200eefd.min.js → bundle-b25c09d3e8.min.js} +3 -3
  70. package/dist/scripts/{bundle-fb8200eefd.min.js.map → bundle-b25c09d3e8.min.js.map} +1 -1
  71. package/package.json +1 -1
  72. package/dist/scripts/1958-31e6049ac7-lite.chunk.js +0 -2
  73. package/dist/scripts/2182-aa9aca3196-lite.chunk.js +0 -2
  74. package/dist/scripts/2182-aa9aca3196-lite.chunk.js.map +0 -1
  75. package/dist/scripts/338-8b4fba84c0-lite.chunk.js +0 -3
  76. package/dist/scripts/338-8b4fba84c0-lite.chunk.js.map +0 -1
  77. package/dist/scripts/4591-1e137b9a3f-lite.chunk.js.map +0 -1
  78. package/dist/scripts/5157-b1d38e123c-lite.chunk.js +0 -2
  79. package/dist/scripts/823-697bd66d4d-lite.chunk.js +0 -2
  80. package/dist/scripts/823-697bd66d4d-lite.chunk.js.map +0 -1
  81. /package/dist/scripts/{3137-51febcedd6-lite.chunk.js.LICENSE.txt → 3137-00d0d09d82-lite.chunk.js.LICENSE.txt} +0 -0
  82. /package/dist/scripts/{338-8b4fba84c0-lite.chunk.js.LICENSE.txt → 338-5c6ffa41bb-lite.chunk.js.LICENSE.txt} +0 -0
  83. /package/dist/scripts/{5376-6e993d6097-lite.chunk.js.LICENSE.txt → 5376-38456da0db-lite.chunk.js.LICENSE.txt} +0 -0
  84. /package/dist/scripts/{7112-ea440dfba0-lite.chunk.js.LICENSE.txt → 7112-2e77a3e7af-lite.chunk.js.LICENSE.txt} +0 -0
  85. /package/dist/scripts/{775-b6cb8f1808-lite.chunk.js.LICENSE.txt → 775-d6b0a7afbd-lite.chunk.js.LICENSE.txt} +0 -0
  86. /package/dist/scripts/{8489-7779fd40b3-lite.chunk.js.LICENSE.txt → 8489-88ab052e8c-lite.chunk.js.LICENSE.txt} +0 -0
  87. /package/dist/scripts/{8935-2bb61f918c-lite.chunk.js.LICENSE.txt → 8935-38d780c423-lite.chunk.js.LICENSE.txt} +0 -0
  88. /package/dist/scripts/{9230-77ff8b16ac-lite.chunk.js.LICENSE.txt → 9230-1ffbf1807e-lite.chunk.js.LICENSE.txt} +0 -0
  89. /package/dist/scripts/{9719-0e59bf30a5-lite.chunk.js.LICENSE.txt → 9719-28c14a0783-lite.chunk.js.LICENSE.txt} +0 -0
  90. /package/dist/scripts/{bundle-fb8200eefd.min.js.LICENSE.txt → bundle-b25c09d3e8.min.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[2402],{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),b=t(23481),y=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,n){if("object"!=w(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=w(a))return a;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=b.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(y.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 x="settings.domainFields";function N(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:x,phrase:"addButtonLabel"}))))}var F=t(45140);const k={radioDescription:"Q4JXA"};var I="settings.domainSettingsRadio",R=b.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(F.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(k.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,n){if("object"!=L(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=L(a))return a;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 b(e){d.setFieldValue("selectedOption",e),d.setErrors({}),p.length||y()}function y(){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:b}),"allowed"===e&&a.createElement(D,{option:e,selectedOption:v,view:n,hasDescription:!0,url:m.o.getLiteArticle(u.b.AccessSettings,"articles"),onSelectValue:b},a.createElement(N,{errors:s,view:n,appLinks:c,addDomainField:y,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:b}))})),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=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"]);return a.createElement("div",{className:"position-relative"},a.createElement("input",Object.assign({},i,{ref:n,className:"".concat(e.className," ").concat("aYpO7")})),(!!e.value||o)&&a.createElement("span",{className:"".concat("ygMgF"," position-absolute cursor-pointer text-secondary"),role:"button",onClick:t},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="22110291468057",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=2402-2d435f7027-lite.chunk.js.map
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[2402],{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),b=t(23481),y=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,n){if("object"!=w(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=w(a))return a;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=b.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(y.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 x="settings.domainFields";function N(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:x,phrase:"addButtonLabel"}))))}var F=t(45140);const k={radioDescription:"Q4JXA"};var I="settings.domainSettingsRadio",R=b.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(F.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(k.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,n){if("object"!=L(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=L(a))return a;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 b(e){d.setFieldValue("selectedOption",e),d.setErrors({}),p.length||y()}function y(){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:b}),"allowed"===e&&a.createElement(D,{option:e,selectedOption:v,view:n,hasDescription:!0,url:m.o.getLiteArticle(u.b.AccessSettings,"articles"),onSelectValue:b},a.createElement(N,{errors:s,view:n,appLinks:c,addDomainField:y,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:b}))})),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=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"]);return a.createElement("div",{className:"position-relative"},a.createElement("input",Object.assign({},i,{ref:n,className:"".concat(e.className," ").concat("aYpO7")})),(!!e.value||o)&&a.createElement("span",{className:"".concat("ygMgF"," position-absolute cursor-pointer text-secondary"),role:"button",onClick:t},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=2402-300aa81eaf-lite.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/2402-2d435f7027-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 &nbsp;\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}\n\nexport const ClearableInput = React.forwardRef((\n props: ClearInputProps,\n ref: React.ForwardedRef<HTMLInputElement>\n) => {\n const { onClickClear, showClearButton, ...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`}\n role='button'\n onClick={onClickClear}\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 = '22110291468057',\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","inputProps","role","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":""}
1
+ {"version":3,"file":"scripts/2402-300aa81eaf-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 &nbsp;\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}\n\nexport const ClearableInput = React.forwardRef((\n props: ClearInputProps,\n ref: React.ForwardedRef<HTMLInputElement>\n) => {\n const { onClickClear, showClearButton, ...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`}\n role='button'\n onClick={onClickClear}\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","inputProps","role","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":""}