@spfx-extensions/package 1.6.6 → 1.6.7

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 (24) hide show
  1. package/config/package-solution.json +2 -2
  2. package/dist/8d1029da-85e6-48cc-aaaf-37a5bbc0b9be.manifest.json +3 -3
  3. package/dist/d6ca1fc2-0591-4c6d-8a25-cae3262c017b.manifest.json +6 -6
  4. package/dist/debug/83e13c11-682e-4eaa-9ae0-74617ca28f96/Extension_8d1029da-85e6-48cc-aaaf-37a5bbc0b9be.xml +1 -1
  5. package/dist/debug/83e13c11-682e-4eaa-9ae0-74617ca28f96/WebPart_d6ca1fc2-0591-4c6d-8a25-cae3262c017b.xml +1 -1
  6. package/dist/debug/AppManifest.xml +1 -1
  7. package/dist/debug/ClientSideAssets/{spfx-extension-application-customizer_904f5ff5b9193a389e17.js → spfx-extension-application-customizer_1b309c773b29babd41e9.js} +2 -2
  8. package/dist/{spfx-extensionloader-web-part_39a8b9aa35346cd57e5d.js → debug/ClientSideAssets/spfx-extensionloader-web-part_fd0d3fe6fafb10ff42ea.js} +1 -1
  9. package/dist/debug/ClientSideAssets/spfx-extensions-core.js +1 -1
  10. package/dist/debug/ClientSideAssets/spfx-extensions-coreconfigurator.js +82 -94
  11. package/dist/{spfx-extensions-loader_c41a3a622722b75e8127.js → debug/ClientSideAssets/spfx-extensions-loader_0a732ea7f6e6e34a15c1.js} +1 -1
  12. package/dist/debug/ClientSideAssets.xml +1 -1
  13. package/dist/debug/ClientSideAssets.xml.config.xml +1 -1
  14. package/dist/debug/_rels/ClientSideAssets.xml.rels +1 -1
  15. package/dist/debug/_rels/feature_83e13c11-682e-4eaa-9ae0-74617ca28f96.xml.rels +1 -1
  16. package/dist/debug/feature_83e13c11-682e-4eaa-9ae0-74617ca28f96.xml +1 -1
  17. package/dist/debug/feature_83e13c11-682e-4eaa-9ae0-74617ca28f96.xml.config.xml +1 -1
  18. package/dist/deploy/sp-fx-extensions.sppkg +0 -0
  19. package/dist/{spfx-extension-application-customizer_904f5ff5b9193a389e17.js → spfx-extension-application-customizer_1b309c773b29babd41e9.js} +2 -2
  20. package/dist/{debug/ClientSideAssets/spfx-extensionloader-web-part_39a8b9aa35346cd57e5d.js → spfx-extensionloader-web-part_fd0d3fe6fafb10ff42ea.js} +1 -1
  21. package/dist/spfx-extensions-core.js +1 -1
  22. package/dist/spfx-extensions-coreconfigurator.js +82 -94
  23. package/dist/{debug/ClientSideAssets/spfx-extensions-loader_c41a3a622722b75e8127.js → spfx-extensions-loader_0a732ea7f6e6e34a15c1.js} +1 -1
  24. package/package.json +26 -22
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackJsonp_8afe8473db6aaa27633056afb1b11bbe=self.webpackJsonp_8afe8473db6aaa27633056afb1b11bbe||[]).push([[573],{455(e,t,n){n.d(t,{initCore:()=>g,registerPlaceHolderProvider:()=>b});var a=n(367),{getPrototypeOf:i,defineProperty:r,getOwnPropertyNames:o}=(Object.create,Object);Object.prototype.hasOwnProperty;var s="[SPFxExtensions/Loader]",c="spfx-extensions-core.js",d="spfx-extensions-coreconfigurator.js",l="https://localhost";const u=n.p+"spfx-extensions-core.js?v=745ac560091e5df50d20",f=n.p+"spfx-extensions-coreconfigurator.js?v=1d74cf3e5294fe4f1281",p=n.p+"spfx-extensions-classicwrapper.js?v=0cd37cbaa3632acfcf92",m=n.p+"spfx-extensions-classiccustomaction.js?v=fcde1836d86329ec8be9";let _=!1;async function h(){return Promise.resolve({coreUrl:u,configuratorUrl:f,wrapperUrl:p,customActionUrl:m})}function b(e,t){_||(_=!0,window.__SPFxExtensions.Utils.placeHolderResolver({placeHolderProvider:e,eventObserver:t}))}async function g(e){if(window.__SPFxExtensions?.__CoreInitializationPromise)return window.__SPFxExtensions.Utils&&!window.__SPFxExtensions.Utils.initializedThroughSPFX&&(window.__SPFxExtensions.Utils.environmentType=e,window.__SPFxExtensions.Utils.initializedThroughSPFX=!0),window.__SPFxExtensions.__CoreInitializationPromise;const{promise:t,resolve:n}=Promise.withResolvers();window.__SPFxExtensions={__CoreInitializationPromise:t,__CoreInitializationResolver:n},console.info(a.Lf,"Initializing Core from SPFx Built:","2026-05-18T20:03:46.214Z"),await async function(e,t){if(window.__SPFxExtensions.__CorePromise)return window.__SPFxExtensions.__CorePromise;!function(e){if(!window.__SPFxExtensions.__CorePromise){let{promise:e,resolve:t}=Promise.withResolvers();window.__SPFxExtensions.__CorePromise=e,window.__SPFxExtensions.__CorePromiseResolver=t}if(!window.__SPFxExtensions.Utils){let{promise:t,resolve:n}=Promise.withResolvers(),{promise:a,resolve:i}=Promise.withResolvers();window.__SPFxExtensions.Utils={environmentType:e,initializedThroughSPFX:true,placeHolderProviderPromise:t,placeHolderResolver:n,appManifestPromises:[],spAppInitializationPromise:a,spAppInitializationPromiseResolver:i,fluentIconsInitialized:!1,ConfiguratorPageUrl:"/sites/appcatalog/SPFxExtensionsData/SitePages/SPFxExtensionsConfigurator.aspx"}}}(t);let n=await async function(e){let t=window.localStorage.getItem("SPFXEXT")??"",n=/^\d+$/.test(t??""),a=""!==t.trim(),i={core:"",configuratorUrl:""},r=Date.now();if(n)return i.core=`${l}:${t}/${c}?v=${r}`,i.configuratorUrl=`${l}:${t}/${d}?v=${r}`,i;if(a)return i.core=`${t}/${c}?v=${r}`,i.configuratorUrl=`${t}/${d}?v=${r}`,i;let{coreUrl:o,configuratorUrl:u}=await e();if(!o)throw Error(`${s} Unable to resolve SPFx Core location`);if(!u)throw Error(`${s} Unable to resolve SPFx Core Configurator location`);return i.core=o,i.configuratorUrl=u,i}(e);window.__SPFxExtensions.__ConfiguratorUrl=n.configuratorUrl,console.info(s,"Loading SPFxExtensions Core from",n);let a=document.createElement("script");return a.src=n.core,a.type="module",a.addEventListener("error",e=>{console.error(s,"Catastrophic failure, cannot load SPFxExtensions Core from",n,e)}),document.head.appendChild(a),window.__SPFxExtensions.__CorePromise}(h,e),window.__SPFxExtensions.__CoreInitializationResolver()}}
1
+ "use strict";(self.webpackJsonp_6f1278ec34d80328d76de9bd4362f57d=self.webpackJsonp_6f1278ec34d80328d76de9bd4362f57d||[]).push([[573],{455(e,t,n){n.d(t,{initCore:()=>g,registerPlaceHolderProvider:()=>b});var a=n(367),{getPrototypeOf:i,defineProperty:r,getOwnPropertyNames:o}=(Object.create,Object);Object.prototype.hasOwnProperty;var s="[SPFxExtensions/Loader]",c="spfx-extensions-core.js",d="spfx-extensions-coreconfigurator.js",l="https://localhost";const u=n.p+"spfx-extensions-core.js?v=0159ca0d77c2409b2edf",f=n.p+"spfx-extensions-coreconfigurator.js?v=30ddf07d37bb9f57c577",p=n.p+"spfx-extensions-classicwrapper.js?v=0cd37cbaa3632acfcf92",m=n.p+"spfx-extensions-classiccustomaction.js?v=fcde1836d86329ec8be9";let _=!1;async function h(){return Promise.resolve({coreUrl:u,configuratorUrl:f,wrapperUrl:p,customActionUrl:m})}function b(e,t){_||(_=!0,window.__SPFxExtensions.Utils.placeHolderResolver({placeHolderProvider:e,eventObserver:t}))}async function g(e){if(window.__SPFxExtensions?.__CoreInitializationPromise)return window.__SPFxExtensions.Utils&&!window.__SPFxExtensions.Utils.initializedThroughSPFX&&(window.__SPFxExtensions.Utils.environmentType=e,window.__SPFxExtensions.Utils.initializedThroughSPFX=!0),window.__SPFxExtensions.__CoreInitializationPromise;const{promise:t,resolve:n}=Promise.withResolvers();window.__SPFxExtensions={__CoreInitializationPromise:t,__CoreInitializationResolver:n},console.info(a.Lf,"Initializing Core from SPFx Built:","2026-06-21T09:42:10.562Z"),await async function(e,t){if(window.__SPFxExtensions.__CorePromise)return window.__SPFxExtensions.__CorePromise;!function(e){if(!window.__SPFxExtensions.__CorePromise){let{promise:e,resolve:t}=Promise.withResolvers();window.__SPFxExtensions.__CorePromise=e,window.__SPFxExtensions.__CorePromiseResolver=t}if(!window.__SPFxExtensions.Utils){let{promise:t,resolve:n}=Promise.withResolvers(),{promise:a,resolve:i}=Promise.withResolvers();window.__SPFxExtensions.Utils={environmentType:e,initializedThroughSPFX:true,placeHolderProviderPromise:t,placeHolderResolver:n,appManifestPromises:[],spAppInitializationPromise:a,spAppInitializationPromiseResolver:i,fluentIconsInitialized:!1,ConfiguratorPageUrl:"/sites/appcatalog/SPFxExtensionsData/SitePages/SPFxExtensionsConfigurator.aspx"}}}(t);let n=await async function(e){let t=window.localStorage.getItem("SPFXEXT")??"",n=/^\d+$/.test(t??""),a=""!==t.trim(),i={core:"",configuratorUrl:""},r=Date.now();if(n)return i.core=`${l}:${t}/${c}?v=${r}`,i.configuratorUrl=`${l}:${t}/${d}?v=${r}`,i;if(a)return i.core=`${t}/${c}?v=${r}`,i.configuratorUrl=`${t}/${d}?v=${r}`,i;let{coreUrl:o,configuratorUrl:u}=await e();if(!o)throw Error(`${s} Unable to resolve SPFx Core location`);if(!u)throw Error(`${s} Unable to resolve SPFx Core Configurator location`);return i.core=o,i.configuratorUrl=u,i}(e);window.__SPFxExtensions.__ConfiguratorUrl=n.configuratorUrl,console.info(s,"Loading SPFxExtensions Core from",n);let a=document.createElement("script");return a.src=n.core,a.type="module",a.addEventListener("error",e=>{console.error(s,"Catastrophic failure, cannot load SPFxExtensions Core from",n,e)}),document.head.appendChild(a),window.__SPFxExtensions.__CorePromise}(h,e),window.__SPFxExtensions.__CoreInitializationResolver()}}
2
2
  }]);
@@ -1 +1 @@
1
- <?xml version="1.0" encoding="utf-8"?><Feature xmlns="http://schemas.microsoft.com/sharepoint/" Title="Client Side Assets" Description="A feature that help deploy client side component assets to SharePoint Online." Id="6907613b-abd4-4ffa-89da-3929935c421f" Version="1.0.0.0" Scope="Web" Hidden="FALSE"></Feature>
1
+ <?xml version="1.0" encoding="utf-8"?><Feature xmlns="http://schemas.microsoft.com/sharepoint/" Title="Client Side Assets" Description="A feature that help deploy client side component assets to SharePoint Online." Id="7f874ab6-abc9-4b09-902a-d127c85671b1" Version="1.0.0.0" Scope="Web" Hidden="FALSE"></Feature>
@@ -1 +1 @@
1
- <?xml version="1.0" encoding="utf-8"?><AppPartConfig xmlns="http://schemas.microsoft.com/sharepoint/2012/app/partconfiguration"><Id>6b993a3f-20e3-408e-8290-8a7d7c609ee4</Id></AppPartConfig>
1
+ <?xml version="1.0" encoding="utf-8"?><AppPartConfig xmlns="http://schemas.microsoft.com/sharepoint/2012/app/partconfiguration"><Id>09e4b355-87fe-4edf-8288-83c2f02225a0</Id></AppPartConfig>
@@ -1 +1 @@
1
- <?xml version="1.0" encoding="utf-8"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/partconfiguration" Target="/ClientSideAssets.xml.config.xml" Id="r6"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/spfx-extension-application-customizer_904f5ff5b9193a389e17.js" Id="r7"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/spfx-extensionloader-web-part_39a8b9aa35346cd57e5d.js" Id="r8"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/spfx-extensions-classiccustomaction.js" Id="r9"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/spfx-extensions-classicwrapper.js" Id="r10"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/spfx-extensions-core.js" Id="r11"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/spfx-extensions-coreconfigurator.js" Id="r12"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/spfx-extensions-loader_c41a3a622722b75e8127.js" Id="r13"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/d6ca1fc2-0591-4c6d-8a25-cae3262c017b_color.png" Id="r14"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/d6ca1fc2-0591-4c6d-8a25-cae3262c017b_outline.png" Id="r15"></Relationship></Relationships>
1
+ <?xml version="1.0" encoding="utf-8"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/partconfiguration" Target="/ClientSideAssets.xml.config.xml" Id="r6"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/spfx-extension-application-customizer_1b309c773b29babd41e9.js" Id="r7"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/spfx-extensionloader-web-part_fd0d3fe6fafb10ff42ea.js" Id="r8"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/spfx-extensions-classiccustomaction.js" Id="r9"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/spfx-extensions-classicwrapper.js" Id="r10"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/spfx-extensions-core.js" Id="r11"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/spfx-extensions-coreconfigurator.js" Id="r12"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/spfx-extensions-loader_0a732ea7f6e6e34a15c1.js" Id="r13"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/d6ca1fc2-0591-4c6d-8a25-cae3262c017b_color.png" Id="r14"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/d6ca1fc2-0591-4c6d-8a25-cae3262c017b_outline.png" Id="r15"></Relationship></Relationships>
@@ -1 +1 @@
1
- <?xml version="1.0" encoding="utf-8"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/partconfiguration" Target="/feature_83e13c11-682e-4eaa-9ae0-74617ca28f96.xml.config.xml" Id="r1"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/feature-elementmanifest" Target="/83e13c11-682e-4eaa-9ae0-74617ca28f96/Extension_8d1029da-85e6-48cc-aaaf-37a5bbc0b9be.xml" Id="r2"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/feature-elementmanifest" Target="/83e13c11-682e-4eaa-9ae0-74617ca28f96/WebPart_d6ca1fc2-0591-4c6d-8a25-cae3262c017b.xml" Id="r3"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/feature-elementmanifest" Target="/83e13c11-682e-4eaa-9ae0-74617ca28f96/elements.xml" Id="r4"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/feature-elementmanifest" Target="/83e13c11-682e-4eaa-9ae0-74617ca28f96/ClientSideInstance.xml" Id="r5"></Relationship></Relationships>
1
+ <?xml version="1.0" encoding="utf-8"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/partconfiguration" Target="/feature_83e13c11-682e-4eaa-9ae0-74617ca28f96.xml.config.xml" Id="r1"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/feature-elementmanifest" Target="/83e13c11-682e-4eaa-9ae0-74617ca28f96/WebPart_d6ca1fc2-0591-4c6d-8a25-cae3262c017b.xml" Id="r2"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/feature-elementmanifest" Target="/83e13c11-682e-4eaa-9ae0-74617ca28f96/Extension_8d1029da-85e6-48cc-aaaf-37a5bbc0b9be.xml" Id="r3"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/feature-elementmanifest" Target="/83e13c11-682e-4eaa-9ae0-74617ca28f96/elements.xml" Id="r4"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/feature-elementmanifest" Target="/83e13c11-682e-4eaa-9ae0-74617ca28f96/ClientSideInstance.xml" Id="r5"></Relationship></Relationships>
@@ -1 +1 @@
1
- <?xml version="1.0" encoding="utf-8"?><Feature xmlns="http://schemas.microsoft.com/sharepoint/" Title="Application Extension - Deployment of custom action" Description="Deploys a custom action with ClientSideComponentId association" Id="83e13c11-682e-4eaa-9ae0-74617ca28f96" Version="1.6.6.0" Scope="Web" Hidden="FALSE"></Feature>
1
+ <?xml version="1.0" encoding="utf-8"?><Feature xmlns="http://schemas.microsoft.com/sharepoint/" Title="Application Extension - Deployment of custom action" Description="Deploys a custom action with ClientSideComponentId association" Id="83e13c11-682e-4eaa-9ae0-74617ca28f96" Version="1.6.7.0" Scope="Web" Hidden="FALSE"></Feature>
@@ -1 +1 @@
1
- <?xml version="1.0" encoding="utf-8"?><AppPartConfig xmlns="http://schemas.microsoft.com/sharepoint/2012/app/partconfiguration"><Id>a0567c54-10f7-4f72-874d-1a380700cf1e</Id></AppPartConfig>
1
+ <?xml version="1.0" encoding="utf-8"?><AppPartConfig xmlns="http://schemas.microsoft.com/sharepoint/2012/app/partconfiguration"><Id>a7f3829d-b23f-412a-aba9-f126cbfc4400</Id></AppPartConfig>
Binary file
@@ -1,2 +1,2 @@
1
- (()=>{var e=document.currentScript;define("8d1029da-85e6-48cc-aaaf-37a5bbc0b9be_1.6.6",["@microsoft/sp-application-base"],t=>(()=>{"use strict";var n,a,i,r={367(e,t,n){n.d(t,{Lf:()=>a});const a="[SPFxExtensions]"}
2
- ,841(e){e.exports=t}},o={};function s(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={exports:{}};return r[e](n,n.exports,s),n.exports}s.m=r,s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce((t,n)=>(s.f[n](e,t),t),[])),s.u=e=>"spfx-extensions-loader_c41a3a622722b75e8127.js",s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n={},a="8afe8473db6aaa27633056afb1b11bbe:",s.l=(e,t,i,r)=>{if(n[e])n[e].push(t);else{var o,c;if(void 0!==i)for(var d=document.getElementsByTagName("script"),l=0;l<d.length;l++){var u=d[l];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==a+i){o=u;break}}o||(c=!0,(o=document.createElement("script")).charset="utf-8",s.nc&&o.setAttribute("nonce",s.nc),o.setAttribute("data-webpack",a+i),o.src=e,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous")),n[e]=[t];var f=(t,a)=>{o.onerror=o.onload=null,clearTimeout(p);var i=n[e];if(delete n[e],o.parentNode&&o.parentNode.removeChild(o),i&&i.forEach(e=>e(a)),t)return t(a)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=f.bind(null,o.onerror),o.onload=f.bind(null,o.onload),c&&document.head.appendChild(o)}},s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i=e?e.src:"",s.p=i.slice(0,i.lastIndexOf("/")+1),(()=>{var e={39:0};s.f.j=(t,n)=>{var a=s.o(e,t)?e[t]:void 0;if(0!==a)if(a)n.push(a[2]);else{var i=new Promise((n,i)=>a=e[t]=[n,i]);n.push(a[2]=i);var r=s.p+s.u(t),o=new Error;s.l(r,n=>{if(s.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var i=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed.\n("+i+": "+r+")",o.name="ChunkLoadError",o.type=i,o.request=r,a[1](o)}},"chunk-"+t,t)}};var t=(t,n)=>{var a,i,[r,o,c]=n,d=0;if(r.some(t=>0!==e[t])){for(a in o)s.o(o,a)&&(s.m[a]=o[a]);c&&c(s)}for(t&&t(n);d<r.length;d++)i=r[d],s.o(e,i)&&e[i]&&e[i][0](),e[i]=0},n=self.webpackJsonp_8afe8473db6aaa27633056afb1b11bbe=self.webpackJsonp_8afe8473db6aaa27633056afb1b11bbe||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var c={};return(()=>{s.r(c),s.d(c,{default:()=>n});var e=s(841),t=s(367);class n extends e.BaseApplicationCustomizer{corePromise=new Promise(e=>{s.e(573).then(s.bind(s,455)).then(({initCore:n,registerPlaceHolderProvider:a})=>{n("SharePoint").then(()=>{a(this.context.placeholderProvider,this),e(!0)}).catch(e=>{console.error(t.Lf,"Error while initializing core from application customizer",e)})}).catch(e=>{console.error(t.Lf,"Error while importing core from application customizer",e)})});async onInit(){await this.corePromise}waitAndNotifyPlaceholderChanged(e){this.corePromise.then(()=>{window.__SPFxExtensions.Apps.forEach(t=>{t.instances.forEach(t=>{t.executeListeners("onPlaceholdersChanged",e)})})}).catch(()=>{})}onPlaceholdersChanged(e){this.waitAndNotifyPlaceholderChanged(e)}onDispose(){window.__SPFxExtensions?.Apps?.forEach(e=>{e.instances.forEach(e=>{e.executeListeners("onAppCustomizerDisposed",void 0)})})}}})(),c})())})();
1
+ (()=>{var e=document.currentScript;define("8d1029da-85e6-48cc-aaaf-37a5bbc0b9be_1.6.7",["@microsoft/sp-application-base"],t=>(()=>{"use strict";var n,a,i,r={367(e,t,n){n.d(t,{Lf:()=>a});const a="[SPFxExtensions]"}
2
+ ,841(e){e.exports=t}},o={};function s(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={exports:{}};return r[e](n,n.exports,s),n.exports}s.m=r,s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce((t,n)=>(s.f[n](e,t),t),[])),s.u=e=>"spfx-extensions-loader_0a732ea7f6e6e34a15c1.js",s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n={},a="6f1278ec34d80328d76de9bd4362f57d:",s.l=(e,t,i,r)=>{if(n[e])n[e].push(t);else{var o,c;if(void 0!==i)for(var d=document.getElementsByTagName("script"),l=0;l<d.length;l++){var u=d[l];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==a+i){o=u;break}}o||(c=!0,(o=document.createElement("script")).charset="utf-8",s.nc&&o.setAttribute("nonce",s.nc),o.setAttribute("data-webpack",a+i),o.src=e,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous")),n[e]=[t];var f=(t,a)=>{o.onerror=o.onload=null,clearTimeout(p);var i=n[e];if(delete n[e],o.parentNode&&o.parentNode.removeChild(o),i&&i.forEach(e=>e(a)),t)return t(a)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=f.bind(null,o.onerror),o.onload=f.bind(null,o.onload),c&&document.head.appendChild(o)}},s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i=e?e.src:"",s.p=i.slice(0,i.lastIndexOf("/")+1),(()=>{var e={39:0};s.f.j=(t,n)=>{var a=s.o(e,t)?e[t]:void 0;if(0!==a)if(a)n.push(a[2]);else{var i=new Promise((n,i)=>a=e[t]=[n,i]);n.push(a[2]=i);var r=s.p+s.u(t),o=new Error;s.l(r,n=>{if(s.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var i=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed.\n("+i+": "+r+")",o.name="ChunkLoadError",o.type=i,o.request=r,a[1](o)}},"chunk-"+t,t)}};var t=(t,n)=>{var a,i,[r,o,c]=n,d=0;if(r.some(t=>0!==e[t])){for(a in o)s.o(o,a)&&(s.m[a]=o[a]);c&&c(s)}for(t&&t(n);d<r.length;d++)i=r[d],s.o(e,i)&&e[i]&&e[i][0](),e[i]=0},n=self.webpackJsonp_6f1278ec34d80328d76de9bd4362f57d=self.webpackJsonp_6f1278ec34d80328d76de9bd4362f57d||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var c={};return(()=>{s.r(c),s.d(c,{default:()=>n});var e=s(841),t=s(367);class n extends e.BaseApplicationCustomizer{corePromise=new Promise(e=>{s.e(573).then(s.bind(s,455)).then(({initCore:n,registerPlaceHolderProvider:a})=>{n("SharePoint").then(()=>{a(this.context.placeholderProvider,this),e(!0)}).catch(e=>{console.error(t.Lf,"Error while initializing core from application customizer",e)})}).catch(e=>{console.error(t.Lf,"Error while importing core from application customizer",e)})});async onInit(){await this.corePromise}waitAndNotifyPlaceholderChanged(e){this.corePromise.then(()=>{window.__SPFxExtensions.Apps.forEach(t=>{t.instances.forEach(t=>{t.executeListeners("onPlaceholdersChanged",e)})})}).catch(()=>{})}onPlaceholdersChanged(e){this.waitAndNotifyPlaceholderChanged(e)}onDispose(){window.__SPFxExtensions?.Apps?.forEach(e=>{e.instances.forEach(e=>{e.executeListeners("onAppCustomizerDisposed",void 0)})})}}})(),c})())})();
@@ -1,2 +1,2 @@
1
1
  (()=>{var e=document.currentScript;define(["@microsoft/sp-core-library","@microsoft/sp-property-pane","@microsoft/sp-webpart-base","@microsoft/sp-component-base"],(t,n,a,i)=>(()=>{"use strict";var r,o,s,c={367(e,t,n){n.d(t,{Bc:()=>r,Lf:()=>o,Ne:()=>a,oz:()=>i});const a="Select one of these web parts for this column.",i="Edit page and select webpart.",r="Webpart that loads an app of your choice.",o="[SPFxExtensions]"}
2
- ,962(e){e.exports=i},676(e){e.exports=t},877(e){e.exports=n},642(e){e.exports=a}},d={};function l(e){var t=d[e];if(void 0!==t)return t.exports;var n=d[e]={exports:{}};return c[e](n,n.exports,l),n.exports}l.m=c,l.d=(e,t)=>{for(var n in t)l.o(t,n)&&!l.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},l.f={},l.e=e=>Promise.all(Object.keys(l.f).reduce((t,n)=>(l.f[n](e,t),t),[])),l.u=e=>"spfx-extensions-loader_c41a3a622722b75e8127.js",l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},o="8afe8473db6aaa27633056afb1b11bbe:",l.l=(e,t,n,a)=>{if(r[e])r[e].push(t);else{var i,s;if(void 0!==n)for(var c=document.getElementsByTagName("script"),d=0;d<c.length;d++){var u=c[d];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==o+n){i=u;break}}i||(s=!0,(i=document.createElement("script")).charset="utf-8",l.nc&&i.setAttribute("nonce",l.nc),i.setAttribute("data-webpack",o+n),i.src=e,0!==i.src.indexOf(window.location.origin+"/")&&(i.crossOrigin="anonymous")),r[e]=[t];var f=(t,n)=>{i.onerror=i.onload=null,clearTimeout(p);var a=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),a&&a.forEach(e=>e(n)),t)return t(n)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),s&&document.head.appendChild(i)}},l.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s=e?e.src:"",l.p=s.slice(0,s.lastIndexOf("/")+1),(()=>{var e={650:0};l.f.j=(t,n)=>{var a=l.o(e,t)?e[t]:void 0;if(0!==a)if(a)n.push(a[2]);else{var i=new Promise((n,i)=>a=e[t]=[n,i]);n.push(a[2]=i);var r=l.p+l.u(t),o=new Error;l.l(r,n=>{if(l.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var i=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed.\n("+i+": "+r+")",o.name="ChunkLoadError",o.type=i,o.request=r,a[1](o)}},"chunk-"+t,t)}};var t=(t,n)=>{var a,i,[r,o,s]=n,c=0;if(r.some(t=>0!==e[t])){for(a in o)l.o(o,a)&&(l.m[a]=o[a]);s&&s(l)}for(t&&t(n);c<r.length;c++)i=r[c],l.o(e,i)&&e[i]&&e[i][0](),e[i]=0},n=self.webpackJsonp_8afe8473db6aaa27633056afb1b11bbe=self.webpackJsonp_8afe8473db6aaa27633056afb1b11bbe||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var u={};return(()=>{l.r(u),l.d(u,{default:()=>v});var e,t,n,a=l(676),i=l(877),r=l(642),o=l(367),s=l(962),c=function(){return c=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},c.apply(this,arguments)},d="undefined"==typeof window?globalThis:window,f=d&&d.CSPSettings&&d.CSPSettings.nonce,p=((n=d.__themeState__||{theme:void 0,lastStyleElement:void 0,registeredStyles:[]}).runState||(n=c(c({},n),{perf:{count:0,duration:0},runState:{flushTimer:0,mode:0,buffer:[]}})),n.registeredThemableStyles||(n=c(c({},n),{registeredThemableStyles:[]})),d.__themeState__=n,n),m=/[\'\"]\[theme:\s*(\w+)\s*(?:\,\s*default:\s*([\\"\']?[\.\,\(\)\#\-\s\w]*[\.\,\(\)\#\-\w][\"\']?))?\s*\][\'\"]/g,_=function(){return"undefined"!=typeof performance&&performance.now?performance.now():Date.now()};function h(e){var t=_();e();var n=_();p.perf.duration+=n-t}function b(e,t){p.loadStyles?p.loadStyles(g(e).styleString,e):function(e){if("undefined"!=typeof document){var t=document.getElementsByTagName("head")[0],n=document.createElement("style"),a=g(e),i=a.styleString,r=a.themable;n.setAttribute("data-load-themed-styles","true"),f&&n.setAttribute("nonce",f),n.appendChild(document.createTextNode(i)),p.perf.count++,t.appendChild(n);var o=document.createEvent("HTMLEvents");o.initEvent("styleinsert",!0,!1),o.args={newStyle:n},document.dispatchEvent(o);var s={styleElement:n,themableStyle:e};r?p.registeredThemableStyles.push(s):p.registeredStyles.push(s)}}(e)}function g(e){var t=p.theme,n=!1;return{styleString:(e||[]).map(function(e){var a=e.theme;if(a){n=!0;var i=t?t[a]:void 0,r=e.defaultValue||"inherit";return t&&!i&&console,i||r}return e.rawString}).join(""),themable:n}}e='.spfxExtensionloader_845cef2a{color:"[theme:bodyText, default: #323130]";color:var(--bodyText);overflow:hidden;padding:1em}.spfxExtensionloader_845cef2a.teams_845cef2a{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif}.welcome_845cef2a{text-align:center}.welcomeImage_845cef2a{max-width:420px;width:100%}.links_845cef2a a{color:"[theme:link, default:#03787c]";color:var(--link);text-decoration:none}.links_845cef2a a:hover{color:"[theme:linkHovered, default: #014446]";color:var(--linkHovered);text-decoration:underline}.SPFxExtensionApp_845cef2a .loader_845cef2a{animation:rotation_845cef2a 1s linear infinite;border:2px solid #003755;border-bottom-color:#009fda;border-radius:50%;box-sizing:border-box;display:inline-block;height:28px;width:28px}@keyframes rotation_845cef2a{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.SPFxExtensionApp_845cef2a .buttonLoader_845cef2a{align-items:center;border:none;display:flex;height:80px;justify-content:center;width:120px}.SPFxExtensionApp_845cef2a .shimmerShine_845cef2a{-webkit-animation-duration:1s;-webkit-animation-fill-mode:forwards;-webkit-animation-iteration-count:infinite;-webkit-animation-name:placeholderShimmer_845cef2a;-webkit-animation-timing-function:linear;background:#f6f7f8;background-image:linear-gradient(90deg,#f6f7f8 0,#edeef1 20%,#f6f7f8 40%,#f6f7f8);background-repeat:no-repeat;background-size:200px 80px;border:none;display:block;height:80px;position:relative;width:120px}@keyframes placeholderShimmer_845cef2a{0%{background-position:-80px 0}to{background-position:120px 0}}.SPFxExtensionApp_845cef2a .applicationListSection_845cef2a{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:center;min-height:320px;text-align:center}.SPFxExtensionApp_845cef2a .header_845cef2a{color:#242424;font-weight:600;letter-spacing:1px;line-height:32px;padding:0 12px}.SPFxExtensionApp_845cef2a .icon_845cef2a{font-size:28px;font-style:normal;height:28px;line-height:28px;min-width:28px;width:28px}.SPFxExtensionApp_845cef2a .icon_845cef2a>img,.SPFxExtensionApp_845cef2a .icon_845cef2a>svg{height:auto;width:100%}.SPFxExtensionApp_845cef2a .iconFont_845cef2a{background-color:#f6f7f8}.SPFxExtensionApp_845cef2a .appButtonsContainer_845cef2a{align-items:center;display:flex;flex-wrap:wrap;height:100%;justify-content:center}.SPFxExtensionApp_845cef2a .appButtonsWrapper_845cef2a{-ms-flex-pack:start;align-items:center;box-sizing:border-box;display:flex;flex-direction:column;height:100%;justify-content:flex-start;width:100%}.SPFxExtensionApp_845cef2a .appButton_845cef2a{align-items:center;background-color:unset;border:none;display:flex;flex-direction:column;height:80px;padding-top:14px;width:120px}.SPFxExtensionApp_845cef2a .appButton_845cef2a:hover{background-color:#c8e3fa}',void 0===(t=!0)&&(t=!1),h(function(){var n=Array.isArray(e)?e:function(e){var t=[];if(e){for(var n=0,a=void 0;a=m.exec(e);){var i=a.index;i>n&&t.push({rawString:e.substring(n,i)}),t.push({theme:a[1],defaultValue:a[2]}),n=m.lastIndex}t.push({rawString:e.substring(n)})}return t}(e),a=p.runState,i=a.mode,r=a.buffer,o=a.flushTimer;t||1===i?(r.push(n),o||(p.runState.flushTimer=setTimeout(function(){p.runState.flushTimer=0,h(function(){var e=p.runState.buffer.slice();p.runState.buffer=[];var t=[].concat.apply([],e);t.length>0&&b(t)})},0))):b(n)});class v extends r.BaseClientSideWebPart{configuratorUrl="/sites/appcatalog/SPFxExtensionsData/SitePages/SPFxExtensionsConfigurator.aspx";coreInitPromise=new Promise(e=>{l.e(573).then(l.bind(l,455)).then(({initCore:t})=>{t(a.Environment.type===a.EnvironmentType.SharePoint?"SharePoint":"ClassicSharePoint").then(()=>{this.configuratorUrl=window.__SPFxExtensions.Utils.ConfiguratorPageUrl,e(!0)}).catch(e=>{console.error(o.Lf,"Initializing SPFxExtensions Core from WebPart failed",e)})}).catch(e=>{console.error(o.Lf,"Importing SPFxExtensions Core from WebPart failed",e)})});SPFxExtensionInstance;allApps=[];dropDownProps={options:[],selectedKey:"",disabled:!0};appDescription="";hideAppSelectorWhenAppLoaded=!1;hideConfiguratorButton=!1;configDomElement;themeProvider;serviceScope;appButtonElements=[];webpartSectionElement=document.createElement("section");webpartSectionTitle=document.createElement("header");appButtonsWrapper=document.createElement("div");appButtonsContainer=document.createElement("div");appAddedListenerRegistration;webPartContext;webPartComponentId;webPartInstanceId;webPartWidth;async onInit(){this.themeProvider=this.context.serviceScope.consume(s.ThemeProvider.serviceKey),this.serviceScope=this.context.serviceScope,this.webPartContext=this.context,this.webPartInstanceId=this.instanceId,this.webPartComponentId=this.componentId,this.webPartWidth=this.width,await this.coreInitPromise}openPropertyPane(){this.context.propertyPane.open()}closePropertyPane(){this.context.propertyPane.close()}isPropertyPaneOpen(){return this.context.propertyPane.isPropertyPaneOpen()}saveConfigValue(e,t=!0){this.properties.SPFxExtensionAppConfiguration=e,t&&this.SPFxExtensionInstance?.executeListeners("onConfigurationChange",e)}getConfigValue(e){if(e){let t=this.properties[e];return void 0===t&&(t=this.properties.SPFxExtensionAppConfiguration),t}return this.properties.SPFxExtensionAppConfiguration}getSearchData(){return{searchableText:this.properties.searchableText,searchableHtml:this.properties.searchableHtml}}setSearchData(e){this.properties.searchableText=e.searchableText,this.properties.searchableHtml=e.searchableHtml}getTopActions(){return this.properties.topActions??[]}setTopActions(e){this.properties.topActions=e??[]}getThemeProvider(){return this.themeProvider}getConfigDomElement(){return this.configDomElement}getContext(){return this.webPartContext}getServiceScope(){return this.serviceScope}async mountApp(e){this.domElement.innerHTML="";try{const t={domElement:this.domElement,webpart:this,openPropertyPane:()=>{this.openPropertyPane()},closePropertyPane:()=>{this.closePropertyPane()},isPropertyPaneOpen:()=>this.isPropertyPaneOpen(),saveConfigValue:(e,t=!0)=>{this.saveConfigValue(e,t)},getConfigValue:e=>this.getConfigValue(e),getSearchableData:()=>this.getSearchData(),setSearchableData:e=>{this.setSearchData(e)},setTopActions:e=>{this.setTopActions(e)},getTopActions:()=>this.getTopActions(),getThemeProvider:()=>this.getThemeProvider(),getConfigDomElement:()=>this.getConfigDomElement(),getContext:()=>this.getContext(),getServiceScope:()=>this.getServiceScope()};if(this.SPFxExtensionInstance=await window.__SPFxExtensions.InstantiateApp(e,t),!this.SPFxExtensionInstance)return void console.warn(o.Lf,"App instance is undefined, cannot mount app",e);const n=window.__SPFxExtensions.Apps.find(t=>t.id===e);n&&(this.appDescription=n.description)}catch(t){return console.error(o.Lf,"Error while mounting appid",e,t),new Error(`${t}`)}}unmountApp(){this.SPFxExtensionInstance&&this.SPFxExtensionInstance.unmount?.(),this.SPFxExtensionInstance=void 0,this.domElement.innerHTML=""}generateIconElement(e){const t=document.createElement("i");if(t.classList.add("icon_845cef2a"),!e)return t.innerHTML='<svg fill="currentColor" class="___12fm75w f1w7gpdv fez10in fg4l7m0" aria-hidden="true" width="28" height="28" viewBox="0 0 28 28" xmlns="http://www.w3.org/2000/svg"><path d="M20.84 2.66a2.25 2.25 0 0 0-3.18 0L13.5 6.8v-.56c0-1.24-1-2.25-2.25-2.25h-7C3.01 4 2 5.01 2 6.25v18c0 .97.78 1.75 1.75 1.75h18c1.24 0 2.25-1 2.25-2.25v-7c0-1.24-1-2.25-2.25-2.25h-.56l4.16-4.15c.88-.88.88-2.3 0-3.19l-4.5-4.5ZM17.31 14.5H13.5v-3.8l3.8 3.8Zm1.41-10.78c.3-.3.77-.3 1.06 0l4.5 4.5c.3.3.3.77 0 1.06l-4.5 4.51c-.3.3-.77.3-1.06 0l-4.5-4.5a.75.75 0 0 1 0-1.07l4.5-4.5ZM12 6.25v8.25H3.5V6.25c0-.41.34-.75.75-.75h7c.41 0 .75.34.75.75Zm-8.5 17.5V16H12v8.5H4.25a.75.75 0 0 1-.75-.75Zm10-7.75h8.25c.41 0 .75.34.75.75v7c0 .42-.34.75-.75.75H13.5V16Z" fill="currentColor"></path></svg>',t;if("font"===e.iconType&&e.fontFamily&&(t.style.fontFamily=e.fontFamily,t.classList.add("iconFont_845cef2a")),"url"===e.iconType){const n=document.createElement("img");n.src=e.iconData,n.alt="",t.appendChild(n)}return"svg"===e.iconType&&(t.innerHTML=e.iconData),t}createAndAppendAppButtons(e){const t=document.createElement("button");t.title=o.Bc,t.ariaLabel=o.Bc,t.className="appButton_845cef2a";const n=this.generateIconElement(e.icon);t.append(n,e.name),t.title=e.name,t.addEventListener("click",t=>{t.stopPropagation(),t.preventDefault(),this.properties.selectedApp=e.id,this.webpartSectionElement.remove(),this.dropDownProps.selectedKey=e.id,this.context.propertyPane.refresh(),this.mountApp(e.id).catch(()=>{})}),this.appButtonsContainer.appendChild(t),this.appButtonElements.push(t)}createWebpartSection(e){this.webpartSectionElement.className="applicationListSection_845cef2a",this.webpartSectionTitle.className="header_845cef2a",this.webpartSectionElement.appendChild(this.webpartSectionTitle),e&&this.webpartSectionElement.appendChild(this.appButtonsWrapper)}renderDisplayMode(){this.webpartSectionElement.ariaLabel=o.oz,this.webpartSectionTitle.textContent=o.oz,this.createWebpartSection(),this.domElement.appendChild(this.webpartSectionElement)}async renderEditMode(){this.webpartSectionElement.ariaLabel=o.Ne,this.webpartSectionTitle.textContent=o.Ne,this.createWebpartSection(!0),this.appButtonsContainer.className="appButtonsContainer_845cef2a",this.appButtonsContainer.innerHTML="",this.appButtonsWrapper.appendChild(this.appButtonsContainer),this.appButtonsWrapper.className="appButtonsWrapper_845cef2a",this.domElement.appendChild(this.webpartSectionElement),this.appAddedListenerRegistration||(this.appAddedListenerRegistration=window.__SPFxExtensions.AddAppEventListener("appAdded",e=>{e.isWebPartApp&&this.createAndAppendAppButtons(e)})),window.__SPFxExtensions.Apps.filter(e=>e.registrationCompleted).forEach(e=>{e.isWebPartApp&&this.createAndAppendAppButtons(e)});try{await window.__SPFxExtensions.Utils.spAppInitializationPromise,window.__SPFxExtensions.Utils.appManifestPromises.forEach(e=>{const t=document.createElement("div"),n=document.createElement("span");t.className="buttonLoader_845cef2a",n.className="loader_845cef2a",t.appendChild(n),this.appButtonsContainer.append(t),e.catch(()=>{}).finally(()=>{t.remove()})})}catch(e){return console.error(o.Lf,"Error while awaiting app initialization",e),new Error(`Error while awaiting app initialization: ${e}`)}}async renderEmptyApp(){if(this.domElement.innerHTML="",this.domElement.className="SPFxExtensionApp_845cef2a",this.displayMode!==a.DisplayMode.Read)return this.renderEditMode();this.renderDisplayMode()}async render(){let e;await this.coreInitPromise;try{if(this.SPFxExtensionInstance){if(!this.SPFxExtensionInstance.unmountOnRender)return void this.SPFxExtensionInstance.executeListeners("onRender",void 0);this.unmountApp()}if(this.properties.selectedApp&&!this.SPFxExtensionInstance)return void(e=await this.mountApp(this.properties.selectedApp));e=await this.renderEmptyApp()}finally{this.renderCompleted(e,!0)}}renderCompleted(e,t){super.renderCompleted(e,t)}get isRenderAsync(){return!0}get propertiesMetadata(){return{searchableText:{isSearchablePlainText:!0},searchableHtml:{isHtmlString:!0}}}CustomWebpartConfigurationField(e){return{type:i.PropertyPaneFieldType.Custom,targetProperty:e,properties:{key:e,onRender:(e,t,n)=>{this.configDomElement=e,this.SPFxExtensionInstance?.instanceLoadPromise.then(()=>{this.SPFxExtensionInstance?.executeListeners("onConfigurationRender",{domElement:e})}).catch(e=>{console.error(o.Lf,"Error while awaiting app to load",e)})},onDispose:(e,t)=>{this.SPFxExtensionInstance?.executeListeners("onConfigurationClose",{domElement:e}),this.configDomElement=void 0}}}}onPropertyPaneConfigurationStart(){window.__SPFxExtensions.AllAppAssetsLoadedPromise.then(()=>{const e=window.__SPFxExtensions.Apps.find(e=>e.id===this.properties.selectedApp);e&&(this.appDescription=e.description,this.hideAppSelectorWhenAppLoaded=e.hideAppSelectorWhenAppLoaded??!1,this.hideConfiguratorButton=e.hideConfiguratorButton??!1),this.dropDownProps.options?.splice(0,this.dropDownProps.options?.length);const t=window.__SPFxExtensions.Apps.filter(e=>e.isWebPartApp).map(e=>({key:e.id,text:e.name}));this.dropDownProps.options?.push(...t),this.dropDownProps.selectedKey=this.properties.selectedApp,this.dropDownProps.disabled=!1,this.context.propertyPane.refresh()}).catch(e=>{console.error(o.Lf,"Error while awaiting all app assets to load",e)})}getPropertyPaneConfiguration(){const e={groupFields:[(0,i.PropertyPaneLabel)("spfxExtensionLoaderLabel",{text:"App not working? Try refreshing the page. Or go to the configuration page."}),(0,i.PropertyPaneButton)("configuratorButton",{text:"Open Configurator",buttonType:1,onClick:()=>{window.open(`${this.configuratorUrl}?web=${this.context.pageContext.web.absoluteUrl}`,"_blank")}})]},t=this.hideConfiguratorButton?[]:[e],n={groupFields:[(0,i.PropertyPaneDropdown)("selectedApp",{label:"App",disabled:this.dropDownProps.disabled,options:this.dropDownProps.options,selectedKey:this.dropDownProps.selectedKey}),(0,i.PropertyPaneLabel)("selectedAppDecription",{text:this.appDescription})]};return{pages:[{groups:[...t,...this.hideAppSelectorWhenAppLoaded?[]:[n],{groupFields:[this.CustomWebpartConfigurationField("SPFxExtensionAppConfiguration")]}]}]}}getTopActionsConfiguration(){return{topActions:this.properties.topActions??[],onExecute:(e,t)=>{this.SPFxExtensionInstance?.executeListeners("onTopActionExecute",{actionName:e,updatedValue:t})}}}onPropertyPaneConfigurationComplete(){!this.context.propertyPane.isPropertyPaneOpen()&&this.SPFxExtensionInstance&&this.SPFxExtensionInstance.executeListeners("onConfigurationClose",{domElement:this.configDomElement})}onPropertyPaneFieldChanged(e,t,n){if("selectedApp"===e){if(t&&t!==n&&this.SPFxExtensionInstance){if(!confirm("You are about to switch app, this will erase all previous app configuration. Are you sure?"))return void(this.properties[e]=t);this.unmountApp()}n&&(this.webpartSectionElement.remove(),this.mountApp(n).catch(()=>{}))}}onDisplayModeChanged(e){const t=e===a.DisplayMode.Edit?"Read":"Edit";this.SPFxExtensionInstance?.executeListeners("onDisplayModeChange",t)}onAfterPropertyPaneChangesApplied(){this.SPFxExtensionInstance?.executeListeners("onPropertyPaneChangesApplied",void 0)}onAfterResize(e){this.SPFxExtensionInstance?.executeListeners("onAfterResize",{newWidth:e})}onDispose(){this.unmountApp(),this.appAddedListenerRegistration&&window.__SPFxExtensions.RemoveAppEventListener&&(window.__SPFxExtensions.RemoveAppEventListener(this.appAddedListenerRegistration),this.appAddedListenerRegistration=void 0),this.appButtonElements.forEach(e=>{e.remove()}),this.appButtonElements.splice(0,this.appButtonElements.length),this.webpartSectionElement.remove(),this.webpartSectionTitle.remove(),this.appButtonsWrapper.remove(),this.appButtonsContainer.remove()}onThemeChanged(e){this.SPFxExtensionInstance?.executeListeners("onThemeChange",e)}get dataVersion(){return a.Version.parse("1.0")}}})(),u})())})();
2
+ ,962(e){e.exports=i},676(e){e.exports=t},877(e){e.exports=n},642(e){e.exports=a}},d={};function l(e){var t=d[e];if(void 0!==t)return t.exports;var n=d[e]={exports:{}};return c[e](n,n.exports,l),n.exports}l.m=c,l.d=(e,t)=>{for(var n in t)l.o(t,n)&&!l.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},l.f={},l.e=e=>Promise.all(Object.keys(l.f).reduce((t,n)=>(l.f[n](e,t),t),[])),l.u=e=>"spfx-extensions-loader_0a732ea7f6e6e34a15c1.js",l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},o="6f1278ec34d80328d76de9bd4362f57d:",l.l=(e,t,n,a)=>{if(r[e])r[e].push(t);else{var i,s;if(void 0!==n)for(var c=document.getElementsByTagName("script"),d=0;d<c.length;d++){var u=c[d];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==o+n){i=u;break}}i||(s=!0,(i=document.createElement("script")).charset="utf-8",l.nc&&i.setAttribute("nonce",l.nc),i.setAttribute("data-webpack",o+n),i.src=e,0!==i.src.indexOf(window.location.origin+"/")&&(i.crossOrigin="anonymous")),r[e]=[t];var f=(t,n)=>{i.onerror=i.onload=null,clearTimeout(p);var a=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),a&&a.forEach(e=>e(n)),t)return t(n)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),s&&document.head.appendChild(i)}},l.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s=e?e.src:"",l.p=s.slice(0,s.lastIndexOf("/")+1),(()=>{var e={650:0};l.f.j=(t,n)=>{var a=l.o(e,t)?e[t]:void 0;if(0!==a)if(a)n.push(a[2]);else{var i=new Promise((n,i)=>a=e[t]=[n,i]);n.push(a[2]=i);var r=l.p+l.u(t),o=new Error;l.l(r,n=>{if(l.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var i=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed.\n("+i+": "+r+")",o.name="ChunkLoadError",o.type=i,o.request=r,a[1](o)}},"chunk-"+t,t)}};var t=(t,n)=>{var a,i,[r,o,s]=n,c=0;if(r.some(t=>0!==e[t])){for(a in o)l.o(o,a)&&(l.m[a]=o[a]);s&&s(l)}for(t&&t(n);c<r.length;c++)i=r[c],l.o(e,i)&&e[i]&&e[i][0](),e[i]=0},n=self.webpackJsonp_6f1278ec34d80328d76de9bd4362f57d=self.webpackJsonp_6f1278ec34d80328d76de9bd4362f57d||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var u={};return(()=>{l.r(u),l.d(u,{default:()=>v});var e,t,n,a=l(676),i=l(877),r=l(642),o=l(367),s=l(962),c=function(){return c=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},c.apply(this,arguments)},d="undefined"==typeof window?globalThis:window,f=d&&d.CSPSettings&&d.CSPSettings.nonce,p=((n=d.__themeState__||{theme:void 0,lastStyleElement:void 0,registeredStyles:[]}).runState||(n=c(c({},n),{perf:{count:0,duration:0},runState:{flushTimer:0,mode:0,buffer:[]}})),n.registeredThemableStyles||(n=c(c({},n),{registeredThemableStyles:[]})),d.__themeState__=n,n),m=/[\'\"]\[theme:\s*(\w+)\s*(?:\,\s*default:\s*([\\"\']?[\.\,\(\)\#\-\s\w]*[\.\,\(\)\#\-\w][\"\']?))?\s*\][\'\"]/g,_=function(){return"undefined"!=typeof performance&&performance.now?performance.now():Date.now()};function h(e){var t=_();e();var n=_();p.perf.duration+=n-t}function b(e,t){p.loadStyles?p.loadStyles(g(e).styleString,e):function(e){if("undefined"!=typeof document){var t=document.getElementsByTagName("head")[0],n=document.createElement("style"),a=g(e),i=a.styleString,r=a.themable;n.setAttribute("data-load-themed-styles","true"),f&&n.setAttribute("nonce",f),n.appendChild(document.createTextNode(i)),p.perf.count++,t.appendChild(n);var o=document.createEvent("HTMLEvents");o.initEvent("styleinsert",!0,!1),o.args={newStyle:n},document.dispatchEvent(o);var s={styleElement:n,themableStyle:e};r?p.registeredThemableStyles.push(s):p.registeredStyles.push(s)}}(e)}function g(e){var t=p.theme,n=!1;return{styleString:(e||[]).map(function(e){var a=e.theme;if(a){n=!0;var i=t?t[a]:void 0,r=e.defaultValue||"inherit";return t&&!i&&console,i||r}return e.rawString}).join(""),themable:n}}e='.spfxExtensionloader_c593838e{color:"[theme:bodyText, default: #323130]";color:var(--bodyText);overflow:hidden;padding:1em}.spfxExtensionloader_c593838e.teams_c593838e{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif}.welcome_c593838e{text-align:center}.welcomeImage_c593838e{max-width:420px;width:100%}.links_c593838e a{color:"[theme:link, default:#03787c]";color:var(--link);text-decoration:none}.links_c593838e a:hover{color:"[theme:linkHovered, default: #014446]";color:var(--linkHovered);text-decoration:underline}.SPFxExtensionApp_c593838e .loader_c593838e{animation:rotation_c593838e 1s linear infinite;border:2px solid #003755;border-bottom-color:#009fda;border-radius:50%;box-sizing:border-box;display:inline-block;height:28px;width:28px}@keyframes rotation_c593838e{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.SPFxExtensionApp_c593838e .buttonLoader_c593838e{align-items:center;border:none;display:flex;height:80px;justify-content:center;width:120px}.SPFxExtensionApp_c593838e .shimmerShine_c593838e{-webkit-animation-duration:1s;-webkit-animation-fill-mode:forwards;-webkit-animation-iteration-count:infinite;-webkit-animation-name:placeholderShimmer_c593838e;-webkit-animation-timing-function:linear;background:#f6f7f8;background-image:linear-gradient(90deg,#f6f7f8 0,#edeef1 20%,#f6f7f8 40%,#f6f7f8);background-repeat:no-repeat;background-size:200px 80px;border:none;display:block;height:80px;position:relative;width:120px}@keyframes placeholderShimmer_c593838e{0%{background-position:-80px 0}to{background-position:120px 0}}.SPFxExtensionApp_c593838e .applicationListSection_c593838e{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:center;min-height:320px;text-align:center}.SPFxExtensionApp_c593838e .header_c593838e{color:#242424;font-weight:600;letter-spacing:1px;line-height:32px;padding:0 12px}.SPFxExtensionApp_c593838e .icon_c593838e{font-size:28px;font-style:normal;height:28px;line-height:28px;min-width:28px;width:28px}.SPFxExtensionApp_c593838e .icon_c593838e>img,.SPFxExtensionApp_c593838e .icon_c593838e>svg{height:auto;width:100%}.SPFxExtensionApp_c593838e .iconFont_c593838e{background-color:#f6f7f8}.SPFxExtensionApp_c593838e .appButtonsContainer_c593838e{align-items:center;display:flex;flex-wrap:wrap;height:100%;justify-content:center}.SPFxExtensionApp_c593838e .appButtonsWrapper_c593838e{-ms-flex-pack:start;align-items:center;box-sizing:border-box;display:flex;flex-direction:column;height:100%;justify-content:flex-start;width:100%}.SPFxExtensionApp_c593838e .appButton_c593838e{align-items:center;background-color:unset;border:none;display:flex;flex-direction:column;height:80px;padding-top:14px;width:120px}.SPFxExtensionApp_c593838e .appButton_c593838e:hover{background-color:#c8e3fa}',void 0===(t=!0)&&(t=!1),h(function(){var n=Array.isArray(e)?e:function(e){var t=[];if(e){for(var n=0,a=void 0;a=m.exec(e);){var i=a.index;i>n&&t.push({rawString:e.substring(n,i)}),t.push({theme:a[1],defaultValue:a[2]}),n=m.lastIndex}t.push({rawString:e.substring(n)})}return t}(e),a=p.runState,i=a.mode,r=a.buffer,o=a.flushTimer;t||1===i?(r.push(n),o||(p.runState.flushTimer=setTimeout(function(){p.runState.flushTimer=0,h(function(){var e=p.runState.buffer.slice();p.runState.buffer=[];var t=[].concat.apply([],e);t.length>0&&b(t)})},0))):b(n)});class v extends r.BaseClientSideWebPart{configuratorUrl="/sites/appcatalog/SPFxExtensionsData/SitePages/SPFxExtensionsConfigurator.aspx";coreInitPromise=new Promise(e=>{l.e(573).then(l.bind(l,455)).then(({initCore:t})=>{t(a.Environment.type===a.EnvironmentType.SharePoint?"SharePoint":"ClassicSharePoint").then(()=>{this.configuratorUrl=window.__SPFxExtensions.Utils.ConfiguratorPageUrl,e(!0)}).catch(e=>{console.error(o.Lf,"Initializing SPFxExtensions Core from WebPart failed",e)})}).catch(e=>{console.error(o.Lf,"Importing SPFxExtensions Core from WebPart failed",e)})});SPFxExtensionInstance;allApps=[];dropDownProps={options:[],selectedKey:"",disabled:!0};appDescription="";hideAppSelectorWhenAppLoaded=!1;hideConfiguratorButton=!1;configDomElement;themeProvider;serviceScope;appButtonElements=[];webpartSectionElement=document.createElement("section");webpartSectionTitle=document.createElement("header");appButtonsWrapper=document.createElement("div");appButtonsContainer=document.createElement("div");appAddedListenerRegistration;webPartContext;webPartComponentId;webPartInstanceId;webPartWidth;async onInit(){this.themeProvider=this.context.serviceScope.consume(s.ThemeProvider.serviceKey),this.serviceScope=this.context.serviceScope,this.webPartContext=this.context,this.webPartInstanceId=this.instanceId,this.webPartComponentId=this.componentId,this.webPartWidth=this.width,await this.coreInitPromise}openPropertyPane(){this.context.propertyPane.open()}closePropertyPane(){this.context.propertyPane.close()}isPropertyPaneOpen(){return this.context.propertyPane.isPropertyPaneOpen()}saveConfigValue(e,t=!0){this.properties.SPFxExtensionAppConfiguration=e,t&&this.SPFxExtensionInstance?.executeListeners("onConfigurationChange",e)}getConfigValue(e){if(e){let t=this.properties[e];return void 0===t&&(t=this.properties.SPFxExtensionAppConfiguration),t}return this.properties.SPFxExtensionAppConfiguration}getSearchData(){return{searchableText:this.properties.searchableText,searchableHtml:this.properties.searchableHtml}}setSearchData(e){this.properties.searchableText=e.searchableText,this.properties.searchableHtml=e.searchableHtml}getTopActions(){return this.properties.topActions??[]}setTopActions(e){this.properties.topActions=e??[]}getThemeProvider(){return this.themeProvider}getConfigDomElement(){return this.configDomElement}getContext(){return this.webPartContext}getServiceScope(){return this.serviceScope}async mountApp(e){this.domElement.innerHTML="";try{const t={domElement:this.domElement,webpart:this,openPropertyPane:()=>{this.openPropertyPane()},closePropertyPane:()=>{this.closePropertyPane()},isPropertyPaneOpen:()=>this.isPropertyPaneOpen(),saveConfigValue:(e,t=!0)=>{this.saveConfigValue(e,t)},getConfigValue:e=>this.getConfigValue(e),getSearchableData:()=>this.getSearchData(),setSearchableData:e=>{this.setSearchData(e)},setTopActions:e=>{this.setTopActions(e)},getTopActions:()=>this.getTopActions(),getThemeProvider:()=>this.getThemeProvider(),getConfigDomElement:()=>this.getConfigDomElement(),getContext:()=>this.getContext(),getServiceScope:()=>this.getServiceScope()};if(this.SPFxExtensionInstance=await window.__SPFxExtensions.InstantiateApp(e,t),!this.SPFxExtensionInstance)return void console.warn(o.Lf,"App instance is undefined, cannot mount app",e);const n=window.__SPFxExtensions.Apps.find(t=>t.id===e);n&&(this.appDescription=n.description)}catch(t){return console.error(o.Lf,"Error while mounting appid",e,t),new Error(`${t}`)}}unmountApp(){this.SPFxExtensionInstance&&this.SPFxExtensionInstance.unmount?.(),this.SPFxExtensionInstance=void 0,this.domElement.innerHTML=""}generateIconElement(e){const t=document.createElement("i");if(t.classList.add("icon_c593838e"),!e)return t.innerHTML='<svg fill="currentColor" class="___12fm75w f1w7gpdv fez10in fg4l7m0" aria-hidden="true" width="28" height="28" viewBox="0 0 28 28" xmlns="http://www.w3.org/2000/svg"><path d="M20.84 2.66a2.25 2.25 0 0 0-3.18 0L13.5 6.8v-.56c0-1.24-1-2.25-2.25-2.25h-7C3.01 4 2 5.01 2 6.25v18c0 .97.78 1.75 1.75 1.75h18c1.24 0 2.25-1 2.25-2.25v-7c0-1.24-1-2.25-2.25-2.25h-.56l4.16-4.15c.88-.88.88-2.3 0-3.19l-4.5-4.5ZM17.31 14.5H13.5v-3.8l3.8 3.8Zm1.41-10.78c.3-.3.77-.3 1.06 0l4.5 4.5c.3.3.3.77 0 1.06l-4.5 4.51c-.3.3-.77.3-1.06 0l-4.5-4.5a.75.75 0 0 1 0-1.07l4.5-4.5ZM12 6.25v8.25H3.5V6.25c0-.41.34-.75.75-.75h7c.41 0 .75.34.75.75Zm-8.5 17.5V16H12v8.5H4.25a.75.75 0 0 1-.75-.75Zm10-7.75h8.25c.41 0 .75.34.75.75v7c0 .42-.34.75-.75.75H13.5V16Z" fill="currentColor"></path></svg>',t;if("font"===e.iconType&&e.fontFamily&&(t.style.fontFamily=e.fontFamily,t.classList.add("iconFont_c593838e")),"url"===e.iconType){const n=document.createElement("img");n.src=e.iconData,n.alt="",t.appendChild(n)}return"svg"===e.iconType&&(t.innerHTML=e.iconData),t}createAndAppendAppButtons(e){const t=document.createElement("button");t.title=o.Bc,t.ariaLabel=o.Bc,t.className="appButton_c593838e";const n=this.generateIconElement(e.icon);t.append(n,e.name),t.title=e.name,t.addEventListener("click",t=>{t.stopPropagation(),t.preventDefault(),this.properties.selectedApp=e.id,this.webpartSectionElement.remove(),this.dropDownProps.selectedKey=e.id,this.context.propertyPane.refresh(),this.mountApp(e.id).catch(()=>{})}),this.appButtonsContainer.appendChild(t),this.appButtonElements.push(t)}createWebpartSection(e){this.webpartSectionElement.className="applicationListSection_c593838e",this.webpartSectionTitle.className="header_c593838e",this.webpartSectionElement.appendChild(this.webpartSectionTitle),e&&this.webpartSectionElement.appendChild(this.appButtonsWrapper)}renderDisplayMode(){this.webpartSectionElement.ariaLabel=o.oz,this.webpartSectionTitle.textContent=o.oz,this.createWebpartSection(),this.domElement.appendChild(this.webpartSectionElement)}async renderEditMode(){this.webpartSectionElement.ariaLabel=o.Ne,this.webpartSectionTitle.textContent=o.Ne,this.createWebpartSection(!0),this.appButtonsContainer.className="appButtonsContainer_c593838e",this.appButtonsContainer.innerHTML="",this.appButtonsWrapper.appendChild(this.appButtonsContainer),this.appButtonsWrapper.className="appButtonsWrapper_c593838e",this.domElement.appendChild(this.webpartSectionElement),this.appAddedListenerRegistration||(this.appAddedListenerRegistration=window.__SPFxExtensions.AddAppEventListener("appAdded",e=>{e.isWebPartApp&&this.createAndAppendAppButtons(e)})),window.__SPFxExtensions.Apps.filter(e=>e.registrationCompleted).forEach(e=>{e.isWebPartApp&&this.createAndAppendAppButtons(e)});try{await window.__SPFxExtensions.Utils.spAppInitializationPromise,window.__SPFxExtensions.Utils.appManifestPromises.forEach(e=>{const t=document.createElement("div"),n=document.createElement("span");t.className="buttonLoader_c593838e",n.className="loader_c593838e",t.appendChild(n),this.appButtonsContainer.append(t),e.catch(()=>{}).finally(()=>{t.remove()})})}catch(e){return console.error(o.Lf,"Error while awaiting app initialization",e),new Error(`Error while awaiting app initialization: ${e}`)}}async renderEmptyApp(){if(this.domElement.innerHTML="",this.domElement.className="SPFxExtensionApp_c593838e",this.displayMode!==a.DisplayMode.Read)return this.renderEditMode();this.renderDisplayMode()}async render(){let e;await this.coreInitPromise;try{if(this.SPFxExtensionInstance){if(!this.SPFxExtensionInstance.unmountOnRender)return void this.SPFxExtensionInstance.executeListeners("onRender",void 0);this.unmountApp()}if(this.properties.selectedApp&&!this.SPFxExtensionInstance)return void(e=await this.mountApp(this.properties.selectedApp));e=await this.renderEmptyApp()}finally{this.renderCompleted(e,!0)}}renderCompleted(e,t){super.renderCompleted(e,t)}get isRenderAsync(){return!0}get propertiesMetadata(){return{searchableText:{isSearchablePlainText:!0},searchableHtml:{isHtmlString:!0}}}CustomWebpartConfigurationField(e){return{type:i.PropertyPaneFieldType.Custom,targetProperty:e,properties:{key:e,onRender:(e,t,n)=>{this.configDomElement=e,this.SPFxExtensionInstance?.instanceLoadPromise.then(()=>{this.SPFxExtensionInstance?.executeListeners("onConfigurationRender",{domElement:e})}).catch(e=>{console.error(o.Lf,"Error while awaiting app to load",e)})},onDispose:(e,t)=>{this.SPFxExtensionInstance?.executeListeners("onConfigurationClose",{domElement:e}),this.configDomElement=void 0}}}}onPropertyPaneConfigurationStart(){window.__SPFxExtensions.AllAppAssetsLoadedPromise.then(()=>{const e=window.__SPFxExtensions.Apps.find(e=>e.id===this.properties.selectedApp);e&&(this.appDescription=e.description,this.hideAppSelectorWhenAppLoaded=e.hideAppSelectorWhenAppLoaded??!1,this.hideConfiguratorButton=e.hideConfiguratorButton??!1),this.dropDownProps.options?.splice(0,this.dropDownProps.options?.length);const t=window.__SPFxExtensions.Apps.filter(e=>e.isWebPartApp).map(e=>({key:e.id,text:e.name}));this.dropDownProps.options?.push(...t),this.dropDownProps.selectedKey=this.properties.selectedApp,this.dropDownProps.disabled=!1,this.context.propertyPane.refresh()}).catch(e=>{console.error(o.Lf,"Error while awaiting all app assets to load",e)})}getPropertyPaneConfiguration(){const e={groupFields:[(0,i.PropertyPaneLabel)("spfxExtensionLoaderLabel",{text:"App not working? Try refreshing the page. Or go to the configuration page."}),(0,i.PropertyPaneButton)("configuratorButton",{text:"Open Configurator",buttonType:1,onClick:()=>{window.open(`${this.configuratorUrl}?web=${this.context.pageContext.web.absoluteUrl}`,"_blank")}})]},t=this.hideConfiguratorButton?[]:[e],n={groupFields:[(0,i.PropertyPaneDropdown)("selectedApp",{label:"App",disabled:this.dropDownProps.disabled,options:this.dropDownProps.options,selectedKey:this.dropDownProps.selectedKey}),(0,i.PropertyPaneLabel)("selectedAppDecription",{text:this.appDescription})]};return{pages:[{groups:[...t,...this.hideAppSelectorWhenAppLoaded?[]:[n],{groupFields:[this.CustomWebpartConfigurationField("SPFxExtensionAppConfiguration")]}]}]}}getTopActionsConfiguration(){return{topActions:this.properties.topActions??[],onExecute:(e,t)=>{this.SPFxExtensionInstance?.executeListeners("onTopActionExecute",{actionName:e,updatedValue:t})}}}onPropertyPaneConfigurationComplete(){!this.context.propertyPane.isPropertyPaneOpen()&&this.SPFxExtensionInstance&&this.SPFxExtensionInstance.executeListeners("onConfigurationClose",{domElement:this.configDomElement})}onPropertyPaneFieldChanged(e,t,n){if("selectedApp"===e){if(t&&t!==n&&this.SPFxExtensionInstance){if(!confirm("You are about to switch app, this will erase all previous app configuration. Are you sure?"))return void(this.properties[e]=t);this.unmountApp()}n&&(this.webpartSectionElement.remove(),this.mountApp(n).catch(()=>{}))}}onDisplayModeChanged(e){const t=e===a.DisplayMode.Edit?"Read":"Edit";this.SPFxExtensionInstance?.executeListeners("onDisplayModeChange",t)}onAfterPropertyPaneChangesApplied(){this.SPFxExtensionInstance?.executeListeners("onPropertyPaneChangesApplied",void 0)}onAfterResize(e){this.SPFxExtensionInstance?.executeListeners("onAfterResize",{newWidth:e})}onDispose(){this.unmountApp(),this.appAddedListenerRegistration&&window.__SPFxExtensions.RemoveAppEventListener&&(window.__SPFxExtensions.RemoveAppEventListener(this.appAddedListenerRegistration),this.appAddedListenerRegistration=void 0),this.appButtonElements.forEach(e=>{e.remove()}),this.appButtonElements.splice(0,this.appButtonElements.length),this.webpartSectionElement.remove(),this.webpartSectionTitle.remove(),this.appButtonsWrapper.remove(),this.appButtonsContainer.remove()}onThemeChanged(e){this.SPFxExtensionInstance?.executeListeners("onThemeChange",e)}get dataVersion(){return a.Version.parse("1.0")}}})(),u})())})();
@@ -1 +1 @@
1
- var xw=Object.create;var{getPrototypeOf:ww,defineProperty:Hx,getOwnPropertyNames:$w}=Object;var yw=Object.prototype.hasOwnProperty;function Qw(x){return this[x]}var Zw,_w,h9=(x,w,$)=>{var y=x!=null&&typeof x==="object";if(y){var Q=w?Zw??=/*@__PURE__*/new WeakMap:_w??=/*@__PURE__*/new WeakMap,Z=Q.get(x);if(Z)return Z}$=x!=null?xw(ww(x)):{};let _=w||!x||!x.__esModule?Hx($,"default",{value:x,enumerable:!0}):$;for(let j of $w(x))if(!yw.call(_,j))Hx(_,j,{get:Qw.bind(x,j),enumerable:!0});if(y)Q.set(x,_);return _};var m9=(x,w)=>()=>(w||x((w={exports:{}}).exports,w),w.exports);var Yw=(x)=>x;function jw(x,w){this[x]=Yw.bind(null,w)}var M9=(x,w)=>{for(var $ in w)Hx(x,$,{get:w[$],enumerable:!0,configurable:!0,set:jw.bind(w,$)})};var ox="7d56fff0-e90e-40a7-98cf-fcdbc63a9b01",Fx="d6ca1fc2-0591-4c6d-8a25-cae3262c017b",A="45e75137-13c5-4bb2-a2b3-8ab6382682ee",cx="SPFxExtensionsConfigurator",I="SitePages/SPFxExtensionsConfigurator.aspx",O="manifest.txt",X="collectionconfig.txt",Xx="Loading...",n="SPFxExtensionsConfiguration",d="SPFxExtensionsWhiteList",d9="SPFxExtensions",L="/SPFxExtensions/",F="SPFxExtensionsData",P="[SPFxExtensionCore]",kx={appDefinitionMap:[],appRelativeEntryPointUrls:[],manualEntries:[]},v9={enabledEverywhere:!1,excludedHubIds:[],excludedIds:[],includedHubIds:[],includedIds:[]},Dx={enabledAppCollections:[],urlMap:[]},o="00000000-0000-0000-0000-000000000000";var N9="[SPFxExtensions/Loader]";var g9="spfx-extensions-core.js",px="spfx-extensions-coreconfigurator.js",C9="https://localhost",v="SPFXEXT",S="SPFXEXT_";async function f9(){if(window.moduleLoaderPromise)return(await window.moduleLoaderPromise)?.context;console.error("Unable to retrieve Modern SP Context...")}async function tx(){if(window.moduleLoaderPromise){let x=await window.moduleLoaderPromise;if(x?.context?.pageContext)return{contextType:"SPOModernContext",context:x.context.pageContext};throw"It seems this is a modern page, however it was not possible to retrieve SP Context..."}if(window._spPageContextInfo)return{contextType:"ClassicContext",context:window._spPageContextInfo};throw"It was not possible to retrieve SP Context either through modern or through classic means..."}function J(x,w,$=x){return(y)=>{let Q=""+y,Z=Q.indexOf(w,x.length);return~Z?x+Jw(Q,w,$,Z)+w:x+Q+w}}function Jw(x,w,$,y){let Q="",Z=0;do Q+=x.substring(Z,y)+$,Z=y+w.length,y=x.indexOf(w,Z);while(~y);return Q+x.substring(Z)}var o9=J("\x1B[0m","\x1B[0m"),c9=J("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),p9=J("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),t9=J("\x1B[3m","\x1B[23m"),s9=J("\x1B[4m","\x1B[24m"),i9=J("\x1B[7m","\x1B[27m"),r9=J("\x1B[8m","\x1B[28m"),l9=J("\x1B[9m","\x1B[29m"),a9=J("\x1B[30m","\x1B[39m"),e9=J("\x1B[31m","\x1B[39m"),x3=J("\x1B[32m","\x1B[39m"),w3=J("\x1B[33m","\x1B[39m"),$3=J("\x1B[34m","\x1B[39m"),y3=J("\x1B[35m","\x1B[39m"),Q3=J("\x1B[36m","\x1B[39m"),Z3=J("\x1B[37m","\x1B[39m"),_3=J("\x1B[90m","\x1B[39m"),Y3=J("\x1B[40m","\x1B[49m"),j3=J("\x1B[41m","\x1B[49m"),J3=J("\x1B[42m","\x1B[49m"),b3=J("\x1B[43m","\x1B[49m"),B3=J("\x1B[44m","\x1B[49m"),K3=J("\x1B[45m","\x1B[49m"),q3=J("\x1B[46m","\x1B[49m"),V3=J("\x1B[47m","\x1B[49m"),z3=J("\x1B[90m","\x1B[39m"),W3=J("\x1B[91m","\x1B[39m"),c=J("\x1B[92m","\x1B[39m"),H3=J("\x1B[93m","\x1B[39m"),F3=J("\x1B[94m","\x1B[39m"),X3=J("\x1B[95m","\x1B[39m"),k3=J("\x1B[96m","\x1B[39m"),D3=J("\x1B[97m","\x1B[39m"),G3=J("\x1B[100m","\x1B[49m"),O3=J("\x1B[101m","\x1B[49m"),P3=J("\x1B[102m","\x1B[49m"),R3=J("\x1B[103m","\x1B[49m"),L3=J("\x1B[104m","\x1B[49m"),E3=J("\x1B[105m","\x1B[49m"),A3=J("\x1B[106m","\x1B[49m"),S3=J("\x1B[107m","\x1B[49m");function Y(...x){console.error(c(P),(/*@__PURE__*/new Date()).toISOString(),...x)}function k(...x){console.warn(c(P),(/*@__PURE__*/new Date()).toISOString(),...x)}function q(...x){console.info(c(P),(/*@__PURE__*/new Date()).toISOString(),...x)}function W(...x){}function Gx(x,w,$){Y("Error while executing onInstanceRequested for app",x.id,"with name",x.name,$?`Additional Data: ${$}`:"",w)}function T(){return k("The app instance event was called before app instance was initialized."),()=>{}}var Ox=window.crypto.randomUUID();function sx(){return Ox}function ix(){return Ox=window.crypto.randomUUID(),Ox}function Px(x){return x.replace("{","").replace("}","")}function d3(x){return JSON.parse(JSON.stringify(x))}function bw(x,w,$){let y=x.instances.findIndex((Q)=>Q.key===w);if(y>-1){let Q=x.instances.splice(y,1);if(Q.length<1)return;let Z=Q[0];Z.executeListeners("onConfigurationClose",{domElement:void 0}),Z.allEventListeners.splice(0,Z.allEventListeners.length),$?.()}}function rx(x){let w=window.__SPFxExtensions.Apps.filter(($)=>!$.isWebPartApp&&!$.keepOnContextChange&&$.id!==A);for(let $ of w)for(let y of $.instances.filter((Q)=>Q.contextId!==x))if(y.instanceExecuted)y.unmount()}function p(x,w){if(w.instanceRequested)return;try{w.instanceRequested=!0,x.onInstanceRequested(w).then(($)=>{w.unmount=()=>{bw(x,w.key,$)},w.instanceLoadPromiseResolver(),w.instanceExecuted=!0}).catch(($)=>{Gx(x,$)})}catch($){Gx(x,$)}}function Bw(x){W("Executing appAdded event for",x.id),window.__SPFxExtensions.AppEventListeners.filter((w)=>w.eventName==="appAdded").forEach((w)=>{try{w.handler(x)}catch($){Y("Error executing appAdded event",$)}})}function Rx(x){let w=window.__SPFxExtensions.Apps.find(($)=>$.id===x);if(!w)W("Registering new app",x),w={id:x,name:Xx,description:Xx,isWebPartApp:!1,unmountOnRender:!0,keepOnContextChange:!1,autoExecute:!1,maxInstances:1/0,hideAppSelectorWhenAppLoaded:!1,hideConfiguratorButton:!1,registrationCompleted:!1,isManual:!1,instances:[],async onInstanceRequested(){return T}},window.__SPFxExtensions.Apps.push(w);return w}function lx(){if(!window.__SPFxExtensions.Apps)window.__SPFxExtensions.Apps=[];if(!window.__SPFxExtensions.RegisterApp)window.__SPFxExtensions.RegisterApp=async(x)=>{let w=Rx(x.id);if(w.registrationCompleted)return w;return w.name=x.name,w.description=x.description,w.isWebPartApp=x.isWebPartApp,w.keepOnContextChange=x.keepOnContextChange??!1,w.autoExecute=x.autoExecute??!1,w.isManual=x.isManual??!1,w.unmountOnRender=x.unmountOnRender??!0,w.maxInstances=x.maxInstances??1/0,w.hideAppSelectorWhenAppLoaded=x.hideAppSelectorWhenAppLoaded??!1,w.hideConfiguratorButton=x.hideConfiguratorButton??!1,w.icon=x.icon,w.onInstanceRequested=x.onInstanceRequested,w.registrationCompleted=!0,Bw(w),w.instances.forEach(($)=>{p(w,$)}),w};if(!window.__SPFxExtensions.UnregisterApp)window.__SPFxExtensions.UnregisterApp=async(x)=>{let w=window.__SPFxExtensions.Apps.findIndex((y)=>y.id===x);if(w<0)return;let $=window.__SPFxExtensions.Apps.splice(w,1);if($.length<1)return;return W("Unregistering app",$[0].id,$[0].name),$[0].instances.forEach((y)=>{if(y.instanceExecuted)y.unmount()}),$[0]}}function Kw(x){let w=(Q)=>{let Z=x.allEventListeners.findIndex((_)=>_.key===Q.key);if(Z>-1)W("Removing event listener",Q),x.allEventListeners.splice(Z,1)},$=(Q,Z)=>{let _={key:window.crypto.randomUUID(),eventName:Q,handler:Z};return x.allEventListeners.push(_),()=>{w(_)}},y=(Q,Z)=>{for(let _ of x.allEventListeners){if(_.eventName!=Q)continue;if(_.handler)_.handler(Z)}};x.addEventListener=$,x.executeListeners=y}function qw(x,w){W("Executing instanceAdded event for app",x.id,"instance",w.key),window.__SPFxExtensions.AppEventListeners.filter(($)=>$.eventName==="instanceAdded").forEach(($)=>{try{$.handler({app:x,instance:w})}catch(y){Y("Error executing instanceAdded event",y)}})}function Vw(x){let{promise:w,resolve:$}=Promise.withResolvers(),y={...x,key:window.crypto.randomUUID(),contextId:sx(),instanceRequested:!1,instanceExecuted:!1,unmountOnRender:!0,unmount:T,allEventListeners:[],addEventListener:T,executeListeners:T,instanceLoadPromise:w,instanceLoadPromiseResolver:$};return Kw(y),y}function ax(){if(!window.__SPFxExtensions.InstantiateApp)window.__SPFxExtensions.InstantiateApp=async(x,w)=>{let $=Rx(x);W("Creating app instance for app",x);let y=Vw(w);if(y.unmountOnRender=$.unmountOnRender??!0,$.instances.push(y),qw($,y),$.registrationCompleted)p($,y);return y}}async function N(x,w=0){let y=(/*@__PURE__*/new TextEncoder()).encode(x),Q=await window.crypto.subtle.digest("SHA-1",y),_=Array.from(new Uint8Array(Q)).map((j)=>j.toString(16).padStart(2,"0")).join("");return w>0?_.substring(0,w):_}var Ax=(x,w)=>w.some(($)=>x instanceof $),ex,x1;function zw(){return ex||(ex=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ww(){return x1||(x1=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Sx=/*@__PURE__*/new WeakMap,Lx=/*@__PURE__*/new WeakMap,t=/*@__PURE__*/new WeakMap;function Hw(x){let w=new Promise(($,y)=>{let Q=()=>{x.removeEventListener("success",Z),x.removeEventListener("error",_)},Z=()=>{$(U(x.result)),Q()},_=()=>{y(x.error),Q()};x.addEventListener("success",Z),x.addEventListener("error",_)});return t.set(w,x),w}function Fw(x){if(Sx.has(x))return;let w=new Promise(($,y)=>{let Q=()=>{x.removeEventListener("complete",Z),x.removeEventListener("error",_),x.removeEventListener("abort",_)},Z=()=>{$(),Q()},_=()=>{y(x.error||new DOMException("AbortError","AbortError")),Q()};x.addEventListener("complete",Z),x.addEventListener("error",_),x.addEventListener("abort",_)});Sx.set(x,w)}var Ux={get(x,w,$){if(x instanceof IDBTransaction){if(w==="done")return Sx.get(x);if(w==="store")return $.objectStoreNames[1]?void 0:$.objectStore($.objectStoreNames[0])}return U(x[w])},set(x,w,$){return x[w]=$,!0},has(x,w){if(x instanceof IDBTransaction&&(w==="done"||w==="store"))return!0;return w in x}};function Q1(x){Ux=x(Ux)}function Xw(x){if(Ww().includes(x))return function(...w){return x.apply(hx(this),w),U(this.request)};return function(...w){return U(x.apply(hx(this),w))}}function kw(x){if(typeof x==="function")return Xw(x);if(x instanceof IDBTransaction)Fw(x);if(Ax(x,zw()))return new Proxy(x,Ux);return x}function U(x){if(x instanceof IDBRequest)return Hw(x);if(Lx.has(x))return Lx.get(x);let w=kw(x);if(w!==x)Lx.set(x,w),t.set(w,x);return w}var hx=(x)=>t.get(x);function Z1(x,w,{blocked:$,upgrade:y,blocking:Q,terminated:Z}={}){let _=indexedDB.open(x,w),j=U(_);if(y)_.addEventListener("upgradeneeded",(B)=>{y(U(_.result),B.oldVersion,B.newVersion,U(_.transaction),B)});if($)_.addEventListener("blocked",(B)=>$(B.oldVersion,B.newVersion,B));return j.then((B)=>{if(Z)B.addEventListener("close",()=>Z());if(Q)B.addEventListener("versionchange",(K)=>Q(K.oldVersion,K.newVersion,K))}).catch(()=>{}),j}function _1(x,{blocked:w}={}){let $=indexedDB.deleteDatabase(x);if(w)$.addEventListener("blocked",(y)=>w(y.oldVersion,y));return U($).then(()=>{return})}var Dw=["get","getKey","getAll","getAllKeys","count"],Gw=["put","add","delete","clear"],Ex=/*@__PURE__*/new Map;function w1(x,w){if(!(x instanceof IDBDatabase&&!(w in x)&&typeof w==="string"))return;if(Ex.get(w))return Ex.get(w);let $=w.replace(/FromIndex$/,""),y=w!==$,Q=Gw.includes($);if(!($ in(y?IDBIndex:IDBObjectStore).prototype)||!(Q||Dw.includes($)))return;let Z=async function(_,...j){let B=this.transaction(_,Q?"readwrite":"readonly"),K=B.store;if(y)K=K.index(j.shift());return(await Promise.all([K[$](...j),Q&&B.done]))[0]};return Ex.set(w,Z),Z}Q1((x)=>({...x,get:(w,$,y)=>w1(w,$)||x.get(w,$,y),has:(w,$)=>!!w1(w,$)||x.has(w,$)}));var Ow=["continue","continuePrimaryKey","advance"],$1={},mx=/*@__PURE__*/new WeakMap,Y1=/*@__PURE__*/new WeakMap,Pw={get(x,w){if(!Ow.includes(w))return x[w];let $=$1[w];if(!$)$=$1[w]=function(...y){mx.set(this,Y1.get(this)[w](...y))};return $}};async function*Rw(...x){let w=this;if(!(w instanceof IDBCursor))w=await w.openCursor(...x);if(!w)return;w=w;let $=new Proxy(w,Pw);Y1.set($,w),t.set($,hx(w));while(w)yield $,w=await(mx.get($)||w.continue()),mx.delete($)}function y1(x,w){return w===Symbol.asyncIterator&&Ax(x,[IDBIndex,IDBObjectStore,IDBCursor])||w==="iterate"&&Ax(x,[IDBIndex,IDBObjectStore])}Q1((x)=>({...x,get(w,$,y){if(y1(w,$))return Rw;return x.get(w,$,y)},has(w,$){return y1(w,$)||x.has(w,$)}}));var z={AppFolderManifestCache:"AppFolderManifestCache",AppCollectionManifestCache:"AppCollectionManifestCache",AllowedApps:"AllowedApps",HubSiteData:"HubSiteData",SPFxExtensionConfig:"SPFxExtensionConfig"},j1=`${S}COREDB`,Mx=Z1(j1,1,{blocking(x,w,$){Mx.then((y)=>y.close()),alert("A new version of this page is ready. Please reload the page.")},async upgrade(x,w,$,y,Q){if(w===0)x.createObjectStore(z.AppFolderManifestCache,{keyPath:"url"}),x.createObjectStore(z.AppCollectionManifestCache,{keyPath:"url"}),x.createObjectStore(z.AllowedApps,{keyPath:"Id"}),x.createObjectStore(z.HubSiteData,{keyPath:"SiteId"}),x.createObjectStore(z.SPFxExtensionConfig,{keyPath:"Title"})}});Mx.catch((x)=>{throw Y("Error opening database for Core, please contact your administrator."),_1(j1).then(()=>{window.location.reload()}),x});var D=await Mx;function g(x){let w="never";if(x!==1/0){let $=/*@__PURE__*/new Date;$.setMinutes($.getMinutes()+x),w=$.toISOString()}return{expires:w}}async function C(x,w){let $=await D.getAll(x),y=/*@__PURE__*/new Date,Q=$.filter((_)=>{if(_.expires==="never")return!1;let j=new Date(_.expires);return y>=j}),Z=Q.length;if(Z>0){let _=D.transaction(x,"readwrite"),j=_.objectStore(x);Q.forEach((B)=>j.delete(B[w])),await _.done,k(`Evicted ${Z} items from ${x} cache.`)}return Z}async function nx(){return await C(z.SPFxExtensionConfig,"Title"),D.getAll(z.SPFxExtensionConfig)}async function h(x){return await C(z.SPFxExtensionConfig,"Title"),D.get(z.SPFxExtensionConfig,x)}async function R(x,w=60){await D.put(z.SPFxExtensionConfig,{...x,...g(w)})}async function J1(x,w){let $=D.transaction(z.SPFxExtensionConfig,"readwrite"),y=$.objectStore(z.SPFxExtensionConfig);return x.forEach((Q)=>y.put({...Q,...g(w)})),$.done}async function b1(){return D.getAll(z.AllowedApps)}async function B1(x){return D.get(z.AppFolderManifestCache,x)}async function K1(x){return D.get(z.AppCollectionManifestCache,x)}async function q1(x){return D.get(z.HubSiteData,x)}async function V1(x,w=60){await D.put(z.HubSiteData,{...x,...g(w)})}async function z1(x,w=5){let $=g(w),y=D.transaction(z.AllowedApps,"readwrite"),Q=y.objectStore(z.AllowedApps);return x.forEach((Z)=>Q.put({...Z,...$})),y.done}async function Lw(x){return D.delete(z.AppCollectionManifestCache,x)}async function Ew(x){return D.delete(z.AppFolderManifestCache,x)}async function W1(){return C(z.AllowedApps,"Id")}async function H1(){return C(z.HubSiteData,"SiteId")}async function F1(x){if(x){let w=await B1(x.url);if(w){if(w.hash!==x.hash){await Ew(x.url);let $=x.url.toLowerCase().replace(`/${O}`,"");await s([$],!1),k(`Evicted ${O} ${w.url} from cache. Because of hash mismatch.`)}}}return C(z.AppFolderManifestCache,"url")}async function X1(x){if(x){let w=await K1(x.url);if(w){if(w.hash!==x.hash)await Lw(x.url),await s([x.url],!1),k(`Evicted ${X} ${w.url} from cache. Because of hash mismatch.`)}}return C(z.AppCollectionManifestCache,"url")}async function k1(x){return await F1(),B1(x)}async function D1(x,w){await F1(x),await D.put(z.AppFolderManifestCache,{...x,...g(w)})}async function G1(x,w){await X1(x),await D.put(z.AppCollectionManifestCache,{...x,...g(w)})}async function O1(x){return await X1(),K1(x)}var dx=/*@__PURE__*/new Map;async function P1(x,w=!1){let $="";if(dx.has(x)&&!w)$=dx.get(x)||"";if($)return $;let y=await fetch(`${x}/_api/contextinfo`,{method:"POST",headers:{Accept:"application/json;odata=verbose","Content-Type":"application/json"}});if(y.status===200){let Z=(await y.json()).d.GetContextWebInformation.FormDigestValue;return dx.set(x,Z),Z}else Y("Error while getting digest",y.status);return""}var vx=(x)=>{},i;async function r(x=""){if(i)return i;i=new Promise((w)=>{vx=w});try{let y=(await(await fetch(`${x}/_api/SP_TenantSettings_Current`,{headers:{Accept:"application/json;odata=verbose"}})).json()).d.CorporateCatalogUrl;vx(y)}catch(w){Y("Error while getting app catalog url. Trying default /sites/appcatalog",w);let $=`${window.location.origin}/sites/appcatalog`;vx($)}return i}async function R1(x=""){let w=await h("AppCatalogUrl");if(w?.Data)return w.Data;let $=await r(x);return await R({Title:"AppCatalogUrl",Data:$},240),$}async function G(x=""){let $=`${await R1()}${x?`/${x}`:""}`;return P1($)}var Aw=await R1(),H=`${Aw}/${F}`;var E1={RootCDNLocation:"RootCDNLocation",InterceptHistory:"InterceptHistory",EnableAppWhiteList:"EnableAppWhiteList",AppCatalogUrl:"AppCatalogUrl",SPFxDataSite:"SPFxDataSite",ConfiguratorPageData:"ConfiguratorPageData",AppWhiteList:"AppWhiteList",Version:"2026-03-21T16:19:46.226Z"},L1=[{Title:"InterceptHistory",Data:"true"},{Title:"EnableAppWhiteList",Data:"false"},{Title:"RootCDNLocation",Data:`/sites/appcatalog/${F}`}];function A1(x){let w=L1.find(($)=>$.Title==="RootCDNLocation");if(w)w.Data=x;return L1}var Sw=Object.keys(E1).length,l;async function Uw(){let x=`${H}/_api/web/lists/GetByTitle('${n}')/fields`;try{let w=await fetch(x,{headers:{Accept:"application/json;odata=verbose"}});if(w.status===200){let y=(await w.json()).d.results,Q=y.map((_)=>_.InternalName),Z=y.find((_)=>_.InternalName==="Title");if(!Z){Y("Title field not found.");return}if(!Z.EnforceUniqueValues){let _=await G(F);if((await fetch(`${H}/_api/web/lists/GetByTitle('${n}')/fields('${Z.Id}')`,{method:"POST",headers:{Accept:"application/json;odata=verbose","Content-Type":"application/json;odata=verbose","X-RequestDigest":_,"X-HTTP-Method":"MERGE","If-Match":"*"},body:JSON.stringify({__metadata:{type:"SP.Field"},Indexed:!0,EnforceUniqueValues:!0})})).status===204)q("Title field updated successfully.");else Y("Unable to update Title field.")}if(!Q.includes("Data")){let _=await G(F);if((await fetch(x,{method:"POST",headers:{Accept:"application/json;odata=verbose","Content-Type":"application/json;odata=verbose","X-RequestDigest":_},body:JSON.stringify({__metadata:{type:"SP.Field"},Title:"Data",FieldTypeKind:2,Required:!0})})).status===201)q("Data field added successfully.");else Y("Unable to add Data field.")}}}catch(w){Y("Error while ensuring configuration list data fields.",w)}}async function hw(){let x=!1;try{if(x=(await fetch(`${H}/_api/web/lists/GetByTitle('${n}')`)).status===404,x){let $=await G(F);if(q("Creating configuration list."),(await fetch(`${H}/_api/web/lists`,{method:"POST",headers:{Accept:"application/json;odata=verbose","Content-Type":"application/json;odata=verbose","X-RequestDigest":$},body:JSON.stringify({__metadata:{type:"SP.List"},BaseTemplate:100,Title:"SPFxExtensionsConfiguration",Description:"Configuration list for SPFxExtensions"})})).status===201)q("Configuration list created successfully.");else Y("Unable to create configuration list.")}await Uw()}catch(w){Y("Error while ensuring configuration list.",w)}return x}async function S1(){let x=`${H}/_api/web/lists/GetByTitle('${n}')/items?$select=Title,Data`,$=await fetch(x,{...{headers:{Accept:"application/json;odata=verbose"}}});if($.status!==200)return Y("Unable to fetch configuration list items."),[];return(await $.json()).d.results}async function mw(){let x=await G(F);for(let w of A1(H))if((await fetch(`${H}/_api/web/lists/GetByTitle('${n}')/items`,{method:"POST",headers:{Accept:"application/json;odata=verbose","Content-Type":"application/json;odata=verbose","X-RequestDigest":x},body:JSON.stringify({__metadata:{type:"SP.Data.SPFxExtensionsConfigurationListItem"},...w})})).status===201)q(`Item ${w.Title} added successfully.`);else Y(`Unable to add item ${w.Title}.`)}function U1(x=!1){if(x)return S1();if(l)return l;return l=Mw(),l}async function Mw(){let x=await nx();if(x.length<Sw){if(await hw())await mw();let $=await S1();await J1($,240),x=await nx()}return x}async function nw(x){let w=await r(),$=await G(),y=await fetch(`${w}/_api/web/webs/add`,{method:"POST",headers:{Accept:"application/json;odata=nometadata","Content-Type":"application/json","X-RequestDigest":$},body:JSON.stringify({parameters:{Description:"Site that stores SPFxExtensions Data and global apps",Language:1033,Title:"SPFxExtensions Data",Url:x,UseSamePermissionsAsParentSite:!0,WebTemplate:"STS"}})});if(!y.ok)throw Error(`Failed to create SPFxExtensionsData web in ${w}`);return await y.json()}async function dw(){let x=await r(),w=await G(),$=await fetch(`${x}/${F}/_api/web`,{method:"GET",headers:{Accept:"application/json;odata=nometadata","X-RequestDigest":w}});if(!$.ok){if($.status===404)return{data:void 0,isError:!1,error:"",warnings:[`SPFxExtensionsData web not found in ${x}`]};return Y(`Failed to fetch data from ${x}/${F}/_api/web`),{data:void 0,isError:!0,error:`Failed to fetch data from ${x}/${F}/_api/web`,warnings:[]}}return{data:await $.json(),isError:!1,error:"",warnings:[]}}async function vw(){return(await h("SPFxDataSite"))?.Data}var a;function h1(){if(a)return a;return a=Tw(),a}async function Tw(){let x=await vw();if(!x){let w=await dw();if(!w.isError&&!w.data){let $=await nw(F);w.data=$}return await R({Title:"SPFxDataSite",Data:w.data},240),w.data}return x}var Tx="f3ab710f-2c08-422e-a7ad-5d93eb51e7a3",e={accept:"application/json"},Nw={"Content-Type":"application/json"};async function gw(){let w={"X-RequestDigest":await G(F)};return(await(await fetch(`${H}/_api/sitepages/pages`,{headers:{...e,...w,...Nw},body:JSON.stringify({PageLayoutType:"SingleWebPartAppPage",PromotedState:0}),method:"POST"})).json()).Id}async function Nx(){let x=await fetch(`${H}/_api/sitepages/pages/GetByUrl('${I}')`,{headers:{...e},method:"GET"});if(x.status===404)return;return await x.json()}var Cw=[{dataVersion:"1.4",description:"Title Region Description",id:"cbe7b0a9-3504-44dd-a3a3-0e5cacd07788",instanceId:"cbe7b0a9-3504-44dd-a3a3-0e5cacd07788",properties:{authorByline:[],authors:[],layoutType:"FullWidthImage",showPublishDate:!1,showTopicHeader:!1,textAlignment:"Left",title:"SPFx Extensions Configurator",topicHeader:"",enableGradientEffect:!0},reservedHeight:280,serverProcessedContent:{htmlStrings:{},searchablePlainTexts:{},imageSources:{},links:{}},title:"Title area"}],uw=[{addedFromPersistedData:!1,controlType:3,displayMode:2,emphasis:{},id:Tx,position:{controlIndex:1,layoutIndex:1,sectionFactor:12,sectionIndex:1,zoneIndex:1},reservedHeight:500,reservedWidth:500,webPartData:{dataVersion:"1.0",description:"Allows you to add a custom developed app",id:Fx,instanceId:Tx,properties:{description:"Select an app to load from the dropdown below",selectedApp:A,SPFxExtensionAppConfiguration:void 0},title:"SPFx Extension Loader"},webPartId:Fx},{controlType:0,pageSettingsSlice:{isDefaultDescription:!0,isDefaultThumbnail:!0}}],fw={CanvasContent1:`${JSON.stringify(uw)}`,LayoutWebpartsContent:`${JSON.stringify(Cw)}`,Title:cx};async function m1(x){let $={"X-RequestDigest":await G(F)};await fetch(`${H}/_api/sitepages/pages(${x})/savepage`,{headers:{"Content-Type":"application/json",...e,...$},body:JSON.stringify(fw),method:"POST"}),await fetch(`${H}/_api/sitepages/pages(${x})/publish`,{headers:{...e,...$},method:"POST"})}async function Iw(){let x=await gw();return await m1(x),Nx()}async function ow(){let x=await h("ConfiguratorPageData");if(x?.Data)return x.Data;let w=await Nx();if(w)await R({Title:"ConfiguratorPageData",Data:w},480);return w}async function M1(){let x=await ow();if(!x)return Iw();if(x.CanvasContent1.indexOf(Tx)===-1){await m1(x.Id);let w=await Nx();return await R({Title:"ConfiguratorPageData",Data:w},480),w}return x}async function cw(){let x=`${H}/_api/web/lists/GetByTitle('${d}')/fields`;try{let w=await fetch(x,{headers:{Accept:"application/json;odata=verbose"}});if(w.status===200){if(!(await w.json()).d.results.map((Z)=>Z.InternalName).some((Z)=>Z==="EntryPointUrl"))await pw(x,"EntryPointUrl","Full URL to the Entrypoint JS file, if * is specified all entries will be allowed.",!0)}}catch(w){Y("Error while ensuring list fields.",w)}}async function pw(x,w,$,y){let Q=await G(F);if((await fetch(x,{method:"POST",headers:{Accept:"application/json;odata=verbose","Content-Type":"application/json;odata=verbose","X-RequestDigest":Q},body:JSON.stringify({__metadata:{type:"SP.Field"},Title:w,FieldTypeKind:3,Required:y,Description:$})})).status===201)q(w,"field added successfully.");else Y(w,"Unable to add field.")}async function tw(){try{let x=await fetch(`${H}/_api/web/lists/GetByTitle('${d}')?$select=*`,{method:"GET",headers:{Accept:"application/json;odata=verbose"}});if(x.status===404){q("Creating app white list.");let $=await G(F),y=await fetch(`${H}/_api/web/lists`,{method:"POST",headers:{Accept:"application/json;odata=verbose","Content-Type":"application/json;odata=verbose","X-RequestDigest":$},body:JSON.stringify({__metadata:{type:"SP.List"},BaseTemplate:100,Title:d,Description:"App whitelist for SPFxExtensions"})});if(y.status===201)return q("App whitelist created successfully."),y.json();else{Y("Unable to create app whitelist.");return}}return await cw(),x.json()}catch(x){Y("Error while ensuring app whitelist.",x)}return}async function n1(){let x=await h("AppWhiteList");if(x?.Data)return x.Data;let w=await tw();if(w)await R({Title:"AppWhiteList",Data:w},480);return w}var xx;async function gx(){if(xx)return xx;return xx=sw(),xx}async function sw(){await h1(),await n1(),await M1(),window.__SPFxExtensions.Utils.ConfiguratorPageUrl=`${H}/${I}`}async function m(x=!1){return await gx(),U1(x)}async function wx(){return`${(await m()).find((y)=>y.Title==="RootCDNLocation")?.Data??`${H}`}${L}`}async function d1(){let x=await m(),w=[ox];if(x.find(($)=>$.Title==="Version")?.Data!=="2026-03-21T16:19:46.226Z")await R({Title:"Version",Data:"2026-03-21T16:19:46.226Z"},1/0),await s(w,!0)}async function s(x,w){let $=await window.caches.keys(),y=!1;for(let Q of $){let Z=await window.caches.open(Q),_=await Z.keys(),j=[];for(let B of _){let K=B.url.toLowerCase();if(x.some((V)=>K.indexOf(V.toLowerCase())>-1))q("Deleting cache key",B,"from",Q),y=!0,j.push(Z.delete(B,{ignoreMethod:!0,ignoreSearch:!0,ignoreVary:!0}))}await Promise.allSettled(j)}if(y&&w)window.location.reload()}function p4(){return N(`${Date.now()}`,13)}function iw(){try{let x=[];for(let w=0;w<window.localStorage.length;w++){let $=window.localStorage.key(w);if($)x.push($)}return x}catch{return[]}}function rw(x){try{return window.localStorage.getItem(x)}catch{return null}}function lw(){return iw().some((x)=>{let w=x.indexOf(v)>-1,$=rw(x)??"",y=/^\d+$/.test($),Q=$.trim()!=="";return w&&(y||Q)})}function $x(x){try{let w=`${S}${x}`,$=window.localStorage.getItem(w)?.trim()??"",y=/^\d+$/.test($??""),Q=$.trim()!=="";if(y)return Number($)>0;return Q}catch{return!1}}var u=lw();var aw=ew();async function ew(){try{let x=await W1(),w=await b1();if(w.length>0&&!x)return w;if(w.length>0)q("Cache mismatch, loading allowed apps data...");let $=await v1();return await z1($,5),$}catch(x){return Y("Unable to load allowed apps data...",x),[]}}async function v1(x=!1){if((await m(x)).find((y)=>y.Title==="EnableAppWhiteList")?.Data!=="true")return[{Id:1,Title:"All apps allowed",EntryPointUrl:"*",date:(/*@__PURE__*/new Date()).toISOString(),expires:(/*@__PURE__*/new Date()).toISOString()}];return x9()}async function x9(){let x=`${H}/_api/web/lists/getByTitle('${d}')/Items?$select=Id,Title,EntryPointUrl&$top=1000`;return await w9(x)}async function w9(x){let w=x,$=[];while(w){let Q=await(await fetch(w,{method:"GET",headers:{Accept:"application/json;odata=verbose"}})).json();if(Q.error)throw Error(JSON.stringify(Q.error));$.push(...Q.d.results),w=Q.d.__next}return $}function $9(x,w){if(w.some((Q)=>Q.EntryPointUrl==="*"))return!0;let y=(x.origin+x.pathname).toLowerCase();return w.some((Q)=>{try{let Z=new URL(Q.EntryPointUrl),_=Z.origin+Z.pathname;return y===_.toLowerCase()}catch(Z){return Y("Error while parsing allowed entry URL",Q.EntryPointUrl,Z),!1}})}async function T1(x,w,$=!1){if($x(w))return!0;let y=$?await v1($):await aw;if(!$9(x,y))return k("File",x,`is not allowed to be executed. Please add it to whitelist @ ${H}.`),k(`If you are a developer you can enable this app by adding window.localStorage item ${S}${w} with a number value corresponding to development port of the localhost server or a base URL where manifest.txt resides.`),!1;return!0}function N1(){return window.__SPFxExtensions.__CurrentContext.contextType==="SPOModernContext"?window.__SPFxExtensions.__CurrentContext.context.web.id.toString():Px(window.__SPFxExtensions.__CurrentContext.context.webId)}function yx(){return(window.__SPFxExtensions.__CurrentContext.contextType==="SPOModernContext"?window.__SPFxExtensions.__CurrentContext.context.web.absoluteUrl:window.__SPFxExtensions.__CurrentContext.context.webAbsoluteUrl).replace(/\/$/,"")}function Qx(){return window.__SPFxExtensions.__CurrentContext.contextType==="SPOModernContext"?window.__SPFxExtensions.__CurrentContext.context.site.id.toString():Px(window.__SPFxExtensions.__CurrentContext.context.siteId)}function Zx(){return window.__SPFxExtensions.__CurrentContext.contextType==="SPOModernContext"?window.__SPFxExtensions.__CurrentContext.context.site.absoluteUrl:window.__SPFxExtensions.__CurrentContext.context.siteAbsoluteUrl}function _x(){return(window.__SPFxExtensions.__CurrentContext.contextType==="SPOModernContext"?window.__SPFxExtensions.__CurrentContext.context.legacyPageContext.hubSiteId?.toString():window.__SPFxExtensions.__CurrentContext.context.hubSiteId)??o}function g1(){return window.__SPFxExtensions.__CurrentContext.contextType==="SPOModernContext"?window.__SPFxExtensions.__CurrentContext.context.legacyPageContext.isHubSite:window.__SPFxExtensions.__CurrentContext.context.isHubSite}async function Yx(){if(g1())return"";let w=_x(),$=Qx();if(!w||w===o||w===$)return"";await H1();let y=await q1(w);if(!y){q("Getting Hub data for HubSiteId:",w);try{let Z=await(await fetch(`/_api/hubsites/GetById?hubSiteId='${w}'`,{headers:{accept:"application/json;odata=nometadata"}})).json();return await V1(Z),Z.SiteUrl}catch(Q){return Y("Error fetching hub site data.",Q),""}}return y.SiteUrl}function y9(x){if(!Array.isArray(x.enabledAppCollections))throw`${P} ${X} enabledAppCollections should be an array`;if(!Array.isArray(x.urlMap))throw`${P} ${X} urlMap should be an array`}async function M(x,w=!1,$=60){let y=x.url.toLowerCase(),Q=x.type==="hub";if(!w&&!u){let V=await O1(y);if(V)return V.type=Q?"hub":V.type,V}let Z=`${y}?v=${Date.now()}`,_=await Q9(Z),j=await N(JSON.stringify(_)),B={...x,url:y,type:Q?"site":x.type,hash:j,lastCheck:(/*@__PURE__*/new Date()).toISOString()},K={manifest:_,...B};return await G1(K,u?1:$),K.type=Q?"hub":K.type,K}async function Q9(x){let w=Dx;try{W(`Fetching ${X} from`,x);let y=await(await fetch(x)).text();w=JSON.parse(y)}catch($){k(`Unable to fetch ${X} from`,x)}try{y9(w)}catch($){Y(`Error while parsing ${X} from`,x,$),w=Dx}return w}async function C1(x=!1){let w=Zx(),$=yx(),y=await Yx(),Q=[],Z=await wx(),_=jx(Z,"root");if(Q.push(M(_,x)),y){let Wx=y+L,e1=jx(Wx,"hub");Q.push(M(e1,x))}let j=w+L,B=jx(j,"site");Q.push(M(B,x));let K=$+L,V=w.toLowerCase()===$.toLowerCase(),b=K.toLowerCase()===Z.toLowerCase();if(!V&&!b){let Wx=jx(K,"web");Q.push(M(Wx,x))}return await Promise.all(Q)}function jx(x,w){return{url:`${x}${X}`,name:X,type:w}}function u1(x){if(!x.appDefinitionMap)x.appDefinitionMap=[];if(!x.appRelativeEntryPointUrls)x.appRelativeEntryPointUrls=[];if(!x.manualEntries)x.manualEntries=[];return x}function Z9(x){if(Array.isArray(x)||typeof x!=="object")throw`${P} App manifest has to be an object.`;if(!x.appRelativeEntryPointUrls)throw Y("Manifest does not have appRelativeEntryPointUrl property.",x),`${P} Manifest does not have appRelativeEntryPointUrl property.`;if(!x.appDefinitionMap)throw Y("Manifest does not have enabledApps property.",x),`${P} Manifest does not have enabledApps property.`}async function _9(x,w=!1,$=60){let y={...kx},Q=x.url.toLowerCase(),Z=x.type==="hub";if(!w&&!u){let V=await k1(Q);if(V)return V.type=Z?"hub":V.type,V}let _=`${Q}?v=${Date.now()}`;try{W(`Fetching ${O} from`,_);let b=await(await fetch(_)).text();y=JSON.parse(b),u1(y)}catch(V){k(`Unable to fetch ${O} from`,_,V)}try{Z9(y)}catch(V){Y(`Error while parsing ${O} from`,_,V),y={...kx}}let j=await N(JSON.stringify(y)),K={...{...x,url:Q,type:Z?"site":x.type,hash:j},manifest:y,lastCheck:(/*@__PURE__*/new Date()).toISOString()};return await D1(K,u?1:$),K.type=Z?"hub":K.type,K}function Y9(x,w){let $=`${x}${w}/${O}`,y=`${S}${w}`,Q=window.localStorage.getItem(y)??"",Z=/^\d+$/.test(Q??""),_=Q.trim()!=="";if(Z){let j=`https://localhost:${Q}/${O}`;return q(`<${w}> App is in debug port mode, loading from`,j),j}if(_){let j=`${Q}/${O}`;return q(`<${w}> App is in debug url mode, loading from`,j),j}return $}function Jx(x,w=!1){if(x.length===0)return[];let $=[];for(let y of x){let Q=y.url.toLowerCase().replace(X.toLowerCase(),"");for(let Z of y.manifest.enabledAppCollections){let _=bx(Q,Z,y.type,w);$.push(_)}}return $}function bx(x,w,$,y){let Q=Y9(x,w);return _9({name:w,url:Q,type:$},y)}function f1(x,w=!1){let $=x.filter((b)=>b.type==="root"),y=Jx($,w),Q=x.filter((b)=>b.type==="hub"),Z=Jx(Q,w),_=x.filter((b)=>b.type==="site"),j=Jx(_,w),B=x.filter((b)=>b.type==="web"),K=Jx(B,w);return[...y,...Z,...j,...K]}var Cx=!1,Kx=[];async function j9(x,w,$){let y=$.appDefinitionMap.find((Z)=>Z.appId===w);if(!y){let Z=`Could not find app configuration item for Manual app ${w}`;return Y(Z),[]}if(!o1(y))return q(`App ${w} is not enabled in current context. Skipping...`),[];try{k("Manual module detected. Make sure to call window.__SPFxExtensions.RegisterApp and window.__SPFxExtensions.InstantiateApp in code.",x),await import(x)}catch(Z){let _=`Error while importing or executing ${x} ${Z}`;Y(_)}return[]}async function J9(x,w){try{let y=(await import(x)).default;if(!y)return Y(`No default export found in ${x}, only ESM modules are supported.`),[];return K9(y,w,x)}catch($){return Y("Error while importing or executing",x,$),[]}}async function I1(x,w,$,y,Q){let Z=x.replace(/\.\.\/?/g,"./").replace(/^\.\//,""),_=`${w}${Z}`.toLowerCase();W("EntryPoint JS: ",_);let j=new URL(_);if($)j.searchParams.set("v",`${$}`);if(!await T1(j,y.name))return;let K=`${j.origin}${j.pathname}`,V=`${j}`;if(Kx.includes(K)){q("EntryPoint already loaded:",V);return}return Kx.push(K),()=>{if(Q)return j9(V,Q,y.manifest);return J9(V,y.manifest)}}async function Bx(x){let w=[],$=x.url.replace(O,"");W("Parsing",x.type,"manifest:",x.manifest);let y="";if(x.manifest.cacheString&&x.manifest.enableCaching)y=$x(x.name)?`${(/*@__PURE__*/new Date()).getTime()}`:x.manifest.cacheString;for(let Q of x.manifest.appRelativeEntryPointUrls){let Z=await I1(Q,$,y,x);if(Z)w.push(Z())}for(let Q of x.manifest.manualEntries){let Z=await I1(Q.entryPoint,$,y,x,Q.appId);if(Z)w.push(Z())}return w}async function ux(x=!1){if(x)b9();if(Cx)return;Cx=!0;let w=await C1(),$=f1(w);window.__SPFxExtensions.Utils.appManifestPromises=$,window.__SPFxExtensions.Utils.spAppInitializationPromiseResolver();let Q=(await Promise.allSettled($)).filter((b)=>b.status==="fulfilled"),Z=[],_=Q.filter((b)=>b.value.type==="root"),j=Q.filter((b)=>b.value.type==="hub"),B=Q.filter((b)=>b.value.type==="site"),K=Q.filter((b)=>b.value.type==="web");for(let b of _){let E=await Bx(b.value);Z.push(...E)}W("Root apps loaded.");for(let b of j){let E=await Bx(b.value);Z.push(...E)}W("Hub apps loaded.");for(let b of B){let E=await Bx(b.value);Z.push(...E)}W("Site apps loaded.");for(let b of K){let E=await Bx(b.value);Z.push(...E)}W("SiteWeb apps loaded.");let V=(await Promise.allSettled(Z)).filter((b)=>b.status==="fulfilled").flatMap((b)=>b.value);await B9(V),window.__SPFxExtensions.AllAppAssetsLoadedResolver(),q("SPFx Extensions Core Components Loaded.")}function b9(){Cx=!1;let x=ix();Kx.splice(0,Kx.length),rx(x);let{promise:w,resolve:$}=Promise.withResolvers();window.__SPFxExtensions.AllAppAssetsLoadedPromise=w,window.__SPFxExtensions.AllAppAssetsLoadedResolver=$}async function B9(x){let w=[];for(let $ of window.__SPFxExtensions.Apps)if(!x.find((Q)=>Q.id===$.id)&&!$.isManual&&$.id!==A)w.push($.id);for(let $ of w){let y=await window.__SPFxExtensions.UnregisterApp($);if(y)k(`Unregistered App ${y.id} (${y.name}) as it does not belong in this context`)}}async function K9(x,w,$){if(!Array.isArray(x))Y("Default export of entry point should be an array of App definitions. TODO: add documentation url",$);let y=[];for(let Q of x){if(!Q.id){Y("App definition does not have an id. Make sure that returned array is in proper format. TODO: add documentation url",$,Q);continue}let Z=w.appDefinitionMap.find((K)=>K.appId.toLowerCase()===Q.id.toLowerCase()),_=`App with id ${Q.id} (${Q.name}) is not enabled for current web. Skipping...`;if(!Z){q(_);continue}if(!o1(Z)){q(_);continue}let B=await window.__SPFxExtensions.RegisterApp(Q);if(y.push(Q),!Q.isWebPartApp&&Q.autoExecute){if(B.instances.length<(Q.maxInstances??1/0))window.__SPFxExtensions.InstantiateApp(Q.id,{})}}return y}function o1(x){let w=N1().toLowerCase(),$=Qx().toLowerCase(),y=_x().toLowerCase(),Q=x.config.enabledEverywhere,Z=x.config.excludedIds.indexOf(w)===-1&&x.config.excludedIds.indexOf($)===-1&&x.config.excludedHubIds.indexOf(y)===-1,_=x.config.includedIds.indexOf(w)!==-1||x.config.includedIds.indexOf($)!==-1||x.config.includedHubIds.indexOf(y)!==-1;return Q?Z:_}var c1=!1;function t1(){if(window.moduleLoaderPromise&&!c1)c1=!0,window.moduleLoaderPromise.then((x)=>{let w=x.context.pageContext.initialize;x.context.pageContext.initialize=function($,y){let Q=x.context.pageContext._initializationData;w.call(this,$,y);let Z={initializationData:$,legacyContext:y,previousContext:Q},_=Q.web.id===$.web.id,j=Q.site.id===$.site.id;if(_&&j){p1("contextRefresh",Z);return}p1("contextChange",Z)}})}function p1(x,w){let $=new CustomEvent(x,{detail:w});window.dispatchEvent($),window.__SPFxExtensions.Apps.forEach((y)=>{y.instances.forEach((Q)=>{Q.executeListeners(x,w)})})}function q9(x){let w=window.__SPFxExtensions.AppEventListeners.findIndex(($)=>$.key===x.key);if(w>-1)W("Removing event listener",x),window.__SPFxExtensions.AppEventListeners.splice(w,1)}function s1(){if(!window.__SPFxExtensions.AppEventListeners)window.__SPFxExtensions.AppEventListeners=[];if(!window.__SPFxExtensions.AddAppEventListener)window.__SPFxExtensions.AddAppEventListener=(x,w)=>{let $={key:window.crypto.randomUUID(),eventName:x,handler:w};return window.__SPFxExtensions.AppEventListeners.push($),()=>{q9($)}};if(!window.__SPFxExtensions.RemoveAppEventListener)window.__SPFxExtensions.RemoveAppEventListener=(x)=>{let w=window.__SPFxExtensions.AppEventListeners.findIndex(($)=>$.key===x.key);if(w>-1)window.__SPFxExtensions.AppEventListeners.splice(w,1)}}var V9=window.history.pushState,z9=window.history.replaceState,W9=window.history.back,H9=window.history.forward,F9=window.history.go;function X9(){let x=window.history.state,w=window.location.href;return{currentState:x,previousUrl:w}}function f(x,w){let $={...X9(),...w},y=new CustomEvent(x,{detail:$});window.dispatchEvent(y)}function k9(){function x(w,$,y){V9.call(this,w,$,y),f("historyPush",{newState:w,newUrl:y})}window.history.pushState=x}function D9(){function x(w,$,y){z9.call(this,w,$,y),f("historyReplace",{newState:w,newUrl:y})}window.history.replaceState=x}function G9(){function x(){W9.call(this),f("historyBack",{})}window.history.back=x}function O9(){function x(){H9.call(this),f("historyForward",{})}window.history.forward=x}function P9(){function x(w){F9.call(this,w),f("historyGo",{delta:w})}window.history.go=x}var i1=!1;function r1(){if(i1)return;i1=!0,D9(),k9(),O9(),G9(),P9()}var fx=window.localStorage.getItem(v)?.trim()?1e4:90000,qx=0;function Ix(x=!1){if(x)window.clearInterval(qx),qx=0;if(qx>0)return;qx=window.setInterval(l1,fx),l1()}async function l1(){try{let x=Zx(),w=yx(),$=await Yx(),y=await wx(),Q=x.toLowerCase()===w.toLowerCase(),Z=w+L,_=Z.toLowerCase()===y.toLowerCase();if(await Vx(y,"root"),$)await Vx($+L,"hub");if(await Vx(x+L,"site"),!Q&&!_)await Vx(Z,"web")}catch(x){Y("Error checking for manifest updates",x)}}async function Vx(x,w){let y={url:(x+X).toLowerCase(),type:w,name:X},Q=await M(y),Z=/*@__PURE__*/new Date,_=new Date(Q.lastCheck);if(Z.getTime()-_.getTime()>fx)Q=await M(y,!0);let B=Q.url.toLowerCase().replace(X.toLowerCase(),"");for(let K of Q.manifest.enabledAppCollections){let V=await bx(B,K,Q.type,!1),b=new Date(V.lastCheck);if(Z.getTime()-b.getTime()>fx)await bx(B,K,Q.type,!0)}}var zx;async function R9(){if(zx)return zx;return zx=E9(),zx}async function L9(){window.__SPFxExtensions.__CurrentContext=await tx()}async function E9(){if(await gx(),(await m()).find((Q)=>Q.Title==="InterceptHistory")?.Data==="true")r1();t1(),s1(),lx(),ax();let{promise:$,resolve:y}=Promise.withResolvers();if(!window.__SPFxExtensions.AllAppAssetsLoadedPromise)window.__SPFxExtensions.AllAppAssetsLoadedPromise=$,window.__SPFxExtensions.AllAppAssetsLoadedResolver=y}async function a1(){await d1(),await R9(),await L9(),window.__SPFxExtensions.__CorePromiseResolver(),await ux(),window.addEventListener("contextChange",async(x)=>{q("Context changed, reloading apps..."),await ux(!0),Ix(!0)}),Ix(),q("SPFx Extensions Core Has Been initialized.")}var A9={id:A,description:"Allows configuring custom apps",isWebPartApp:!1,hideAppSelectorWhenAppLoaded:!0,hideConfiguratorButton:!0,name:"SPFx Extensions Configurator",async onInstanceRequested(x){let w=window.localStorage.getItem(v)??"",$=/^\d+$/.test(w??""),y=w.trim()!=="",Q=$||y;if(Q)W("Core is in debug mode");let Z=Q?import.meta.resolve(`./${px}?v=${Date.now()}`):window.__SPFxExtensions.__ConfiguratorUrl;try{return(await import(Z)).launch(x)}catch(_){if(Y("Error launching configurator app",_),x.domElement)x.domElement.innerHTML=`<div style="text-align: center; padding: 20px; color: red;">Error launching configurator app. ${_}</div>`;return()=>{}}}},S9="2026-03-21T16:19:46.226Z";async function U9(){q("Initializing SPFxExtensions Core Built:",S9),await a1();try{await window.__SPFxExtensions.RegisterApp(A9)}catch(x){Y("Error registering configurator app",x)}}U9();
1
+ var ww=Object.create;var{getPrototypeOf:$w,defineProperty:Wx,getOwnPropertyNames:yw}=Object;var Qw=Object.prototype.hasOwnProperty;function Zw(x){return this[x]}var Yw,_w,M9=(x,w,$)=>{var y=x!=null&&typeof x==="object";if(y){var Q=w?Yw??=/*@__PURE__*/new WeakMap:_w??=/*@__PURE__*/new WeakMap,Z=Q.get(x);if(Z)return Z}$=x!=null?ww($w(x)):{};let Y=w||!x||!x.__esModule?Wx($,"default",{value:x,enumerable:!0}):$;for(let j of yw(x))if(!Qw.call(Y,j))Wx(Y,j,{get:Zw.bind(x,j),enumerable:!0});if(y)Q.set(x,Y);return Y};var n9=(x,w)=>()=>(w||x((w={exports:{}}).exports,w),w.exports);var jw=(x)=>x;function Jw(x,w){this[x]=jw.bind(null,w)}var d9=(x,w)=>{for(var $ in w)Wx(x,$,{get:w[$],enumerable:!0,configurable:!0,set:Jw.bind(w,$)})};var ox="7d56fff0-e90e-40a7-98cf-fcdbc63a9b01",Fx="d6ca1fc2-0591-4c6d-8a25-cae3262c017b",A="45e75137-13c5-4bb2-a2b3-8ab6382682ee",px="SPFxExtensionsConfigurator",f="SitePages/SPFxExtensionsConfigurator.aspx",O="manifest.json",X="collectionconfig.json",Xx="Loading...",n="SPFxExtensionsConfiguration",d="SPFxExtensionsWhiteList",T9="SPFxExtensions",E="/SPFxExtensions/",cx="public-cdn.sharepointonline.com",F="SPFxExtensionsData",R="[SPFxExtensionCore]",kx={appDefinitionMap:[],appRelativeEntryPointUrls:[],manualEntries:[]},g9={enabledEverywhere:!1,excludedHubIds:[],excludedIds:[],includedHubIds:[],includedIds:[]},Dx={enabledAppCollections:[],urlMap:[]},u="00000000-0000-0000-0000-000000000000";var C9="[SPFxExtensions/Loader]";var f9="spfx-extensions-core.js",tx="spfx-extensions-coreconfigurator.js",u9="https://localhost",I="SPFXEXT",S="SPFXEXT_";async function o9(){if(window.moduleLoaderPromise)return(await window.moduleLoaderPromise)?.context;console.error("Unable to retrieve Modern SP Context...")}async function sx(){if(window.moduleLoaderPromise){let x=await window.moduleLoaderPromise;if(x?.context?.pageContext)return{contextType:"SPOModernContext",context:x.context.pageContext};throw"It seems this is a modern page, however it was not possible to retrieve SP Context..."}if(window._spPageContextInfo)return{contextType:"ClassicContext",context:window._spPageContextInfo};throw"It was not possible to retrieve SP Context either through modern or through classic means..."}function J(x,w,$=x){return(y)=>{let Q=""+y,Z=Q.indexOf(w,x.length);return~Z?x+Bw(Q,w,$,Z)+w:x+Q+w}}function Bw(x,w,$,y){let Q="",Z=0;do Q+=x.substring(Z,y)+$,Z=y+w.length,y=x.indexOf(w,Z);while(~y);return Q+x.substring(Z)}var c9=J("\x1B[0m","\x1B[0m"),t9=J("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),s9=J("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),i9=J("\x1B[3m","\x1B[23m"),r9=J("\x1B[4m","\x1B[24m"),l9=J("\x1B[7m","\x1B[27m"),a9=J("\x1B[8m","\x1B[28m"),e9=J("\x1B[9m","\x1B[29m"),x3=J("\x1B[30m","\x1B[39m"),w3=J("\x1B[31m","\x1B[39m"),$3=J("\x1B[32m","\x1B[39m"),y3=J("\x1B[33m","\x1B[39m"),Q3=J("\x1B[34m","\x1B[39m"),Z3=J("\x1B[35m","\x1B[39m"),Y3=J("\x1B[36m","\x1B[39m"),_3=J("\x1B[37m","\x1B[39m"),j3=J("\x1B[90m","\x1B[39m"),J3=J("\x1B[40m","\x1B[49m"),B3=J("\x1B[41m","\x1B[49m"),b3=J("\x1B[42m","\x1B[49m"),K3=J("\x1B[43m","\x1B[49m"),q3=J("\x1B[44m","\x1B[49m"),V3=J("\x1B[45m","\x1B[49m"),z3=J("\x1B[46m","\x1B[49m"),H3=J("\x1B[47m","\x1B[49m"),W3=J("\x1B[90m","\x1B[39m"),F3=J("\x1B[91m","\x1B[39m"),o=J("\x1B[92m","\x1B[39m"),X3=J("\x1B[93m","\x1B[39m"),k3=J("\x1B[94m","\x1B[39m"),D3=J("\x1B[95m","\x1B[39m"),G3=J("\x1B[96m","\x1B[39m"),O3=J("\x1B[97m","\x1B[39m"),R3=J("\x1B[100m","\x1B[49m"),P3=J("\x1B[101m","\x1B[49m"),L3=J("\x1B[102m","\x1B[49m"),E3=J("\x1B[103m","\x1B[49m"),A3=J("\x1B[104m","\x1B[49m"),S3=J("\x1B[105m","\x1B[49m"),U3=J("\x1B[106m","\x1B[49m"),h3=J("\x1B[107m","\x1B[49m");function _(...x){console.error(o(R),(/*@__PURE__*/new Date()).toISOString(),...x)}function k(...x){console.warn(o(R),(/*@__PURE__*/new Date()).toISOString(),...x)}function q(...x){console.info(o(R),(/*@__PURE__*/new Date()).toISOString(),...x)}function H(...x){}function Gx(x,w,$){_("Error while executing onInstanceRequested for app",x.id,"with name",x.name,$?`Additional Data: ${$}`:"",w)}function v(){return k("The app instance event was called before app instance was initialized."),()=>{}}var Ox=window.crypto.randomUUID();function ix(){return Ox}function rx(){return Ox=window.crypto.randomUUID(),Ox}function Rx(x){return x.replace("{","").replace("}","")}function T3(x){return JSON.parse(JSON.stringify(x))}function bw(x,w,$){let y=x.instances.findIndex((Q)=>Q.key===w);if(y>-1){let Q=x.instances.splice(y,1);if(Q.length<1)return;let Z=Q[0];Z.executeListeners("onConfigurationClose",{domElement:void 0}),Z.allEventListeners.splice(0,Z.allEventListeners.length),$?.()}}function lx(x){let w=window.__SPFxExtensions.Apps.filter(($)=>!$.isWebPartApp&&!$.keepOnContextChange&&$.id!==A);for(let $ of w)for(let y of $.instances.filter((Q)=>Q.contextId!==x))if(y.instanceExecuted)y.unmount()}function p(x,w){if(w.instanceRequested)return;try{w.instanceRequested=!0,x.onInstanceRequested(w).then(($)=>{w.unmount=()=>{bw(x,w.key,$)},w.instanceLoadPromiseResolver(),w.instanceExecuted=!0}).catch(($)=>{Gx(x,$)})}catch($){Gx(x,$)}}function Kw(x){H("Executing appAdded event for",x.id),window.__SPFxExtensions.AppEventListeners.filter((w)=>w.eventName==="appAdded").forEach((w)=>{try{w.handler(x)}catch($){_("Error executing appAdded event",$)}})}function Px(x){let w=window.__SPFxExtensions.Apps.find(($)=>$.id===x);if(!w)H("Registering new app",x),w={id:x,name:Xx,description:Xx,isWebPartApp:!1,unmountOnRender:!0,keepOnContextChange:!1,autoExecute:!1,maxInstances:1/0,hideAppSelectorWhenAppLoaded:!1,hideConfiguratorButton:!1,registrationCompleted:!1,isManual:!1,instances:[],async onInstanceRequested(){return v}},window.__SPFxExtensions.Apps.push(w);return w}function ax(){if(!window.__SPFxExtensions.Apps)window.__SPFxExtensions.Apps=[];if(!window.__SPFxExtensions.RegisterApp)window.__SPFxExtensions.RegisterApp=async(x)=>{let w=Px(x.id);if(w.registrationCompleted)return w;return w.name=x.name,w.description=x.description,w.isWebPartApp=x.isWebPartApp,w.keepOnContextChange=x.keepOnContextChange??!1,w.autoExecute=x.autoExecute??!1,w.isManual=x.isManual??!1,w.unmountOnRender=x.unmountOnRender??!0,w.maxInstances=x.maxInstances??1/0,w.hideAppSelectorWhenAppLoaded=x.hideAppSelectorWhenAppLoaded??!1,w.hideConfiguratorButton=x.hideConfiguratorButton??!1,w.icon=x.icon,w.onInstanceRequested=x.onInstanceRequested,w.registrationCompleted=!0,Kw(w),w.instances.forEach(($)=>{p(w,$)}),w};if(!window.__SPFxExtensions.UnregisterApp)window.__SPFxExtensions.UnregisterApp=async(x)=>{let w=window.__SPFxExtensions.Apps.findIndex((y)=>y.id===x);if(w<0)return;let $=window.__SPFxExtensions.Apps.splice(w,1);if($.length<1)return;return H("Unregistering app",$[0].id,$[0].name),$[0].instances.forEach((y)=>{if(y.instanceExecuted)y.unmount()}),$[0]}}function qw(x){let w=(Q)=>{let Z=x.allEventListeners.findIndex((Y)=>Y.key===Q.key);if(Z>-1)H("Removing event listener",Q),x.allEventListeners.splice(Z,1)},$=(Q,Z)=>{let Y={key:window.crypto.randomUUID(),eventName:Q,handler:Z};return x.allEventListeners.push(Y),()=>{w(Y)}},y=(Q,Z)=>{for(let Y of x.allEventListeners){if(Y.eventName!=Q)continue;if(Y.handler)Y.handler(Z)}};x.addEventListener=$,x.executeListeners=y}function Vw(x,w){H("Executing instanceAdded event for app",x.id,"instance",w.key),window.__SPFxExtensions.AppEventListeners.filter(($)=>$.eventName==="instanceAdded").forEach(($)=>{try{$.handler({app:x,instance:w})}catch(y){_("Error executing instanceAdded event",y)}})}function zw(x){let{promise:w,resolve:$}=Promise.withResolvers(),y={...x,key:window.crypto.randomUUID(),contextId:ix(),instanceRequested:!1,instanceExecuted:!1,unmountOnRender:!0,unmount:v,allEventListeners:[],addEventListener:v,executeListeners:v,instanceLoadPromise:w,instanceLoadPromiseResolver:$};return qw(y),y}function ex(){if(!window.__SPFxExtensions.InstantiateApp)window.__SPFxExtensions.InstantiateApp=async(x,w)=>{let $=Px(x);H("Creating app instance for app",x);let y=zw(w);if(y.unmountOnRender=$.unmountOnRender??!0,$.instances.push(y),Vw($,y),$.registrationCompleted)p($,y);return y}}async function T(x,w=0){let y=(/*@__PURE__*/new TextEncoder()).encode(x),Q=await window.crypto.subtle.digest("SHA-1",y),Y=Array.from(new Uint8Array(Q)).map((j)=>j.toString(16).padStart(2,"0")).join("");return w>0?Y.substring(0,w):Y}var Ax=(x,w)=>w.some(($)=>x instanceof $),x1,w1;function Hw(){return x1||(x1=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ww(){return w1||(w1=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Sx=/*@__PURE__*/new WeakMap,Lx=/*@__PURE__*/new WeakMap,c=/*@__PURE__*/new WeakMap;function Fw(x){let w=new Promise(($,y)=>{let Q=()=>{x.removeEventListener("success",Z),x.removeEventListener("error",Y)},Z=()=>{$(U(x.result)),Q()},Y=()=>{y(x.error),Q()};x.addEventListener("success",Z),x.addEventListener("error",Y)});return c.set(w,x),w}function Xw(x){if(Sx.has(x))return;let w=new Promise(($,y)=>{let Q=()=>{x.removeEventListener("complete",Z),x.removeEventListener("error",Y),x.removeEventListener("abort",Y)},Z=()=>{$(),Q()},Y=()=>{y(x.error||new DOMException("AbortError","AbortError")),Q()};x.addEventListener("complete",Z),x.addEventListener("error",Y),x.addEventListener("abort",Y)});Sx.set(x,w)}var Ux={get(x,w,$){if(x instanceof IDBTransaction){if(w==="done")return Sx.get(x);if(w==="store")return $.objectStoreNames[1]?void 0:$.objectStore($.objectStoreNames[0])}return U(x[w])},set(x,w,$){return x[w]=$,!0},has(x,w){if(x instanceof IDBTransaction&&(w==="done"||w==="store"))return!0;return w in x}};function Z1(x){Ux=x(Ux)}function kw(x){if(Ww().includes(x))return function(...w){return x.apply(hx(this),w),U(this.request)};return function(...w){return U(x.apply(hx(this),w))}}function Dw(x){if(typeof x==="function")return kw(x);if(x instanceof IDBTransaction)Xw(x);if(Ax(x,Hw()))return new Proxy(x,Ux);return x}function U(x){if(x instanceof IDBRequest)return Fw(x);if(Lx.has(x))return Lx.get(x);let w=Dw(x);if(w!==x)Lx.set(x,w),c.set(w,x);return w}var hx=(x)=>c.get(x);function Y1(x,w,{blocked:$,upgrade:y,blocking:Q,terminated:Z}={}){let Y=indexedDB.open(x,w),j=U(Y);if(y)Y.addEventListener("upgradeneeded",(K)=>{y(U(Y.result),K.oldVersion,K.newVersion,U(Y.transaction),K)});if($)Y.addEventListener("blocked",(K)=>$(K.oldVersion,K.newVersion,K));return j.then((K)=>{if(Z)K.addEventListener("close",()=>Z());if(Q)K.addEventListener("versionchange",(b)=>Q(b.oldVersion,b.newVersion,b))}).catch(()=>{}),j}function _1(x,{blocked:w}={}){let $=indexedDB.deleteDatabase(x);if(w)$.addEventListener("blocked",(y)=>w(y.oldVersion,y));return U($).then(()=>{return})}var Gw=["get","getKey","getAll","getAllKeys","count"],Ow=["put","add","delete","clear"],Ex=/*@__PURE__*/new Map;function $1(x,w){if(!(x instanceof IDBDatabase&&!(w in x)&&typeof w==="string"))return;if(Ex.get(w))return Ex.get(w);let $=w.replace(/FromIndex$/,""),y=w!==$,Q=Ow.includes($);if(!($ in(y?IDBIndex:IDBObjectStore).prototype)||!(Q||Gw.includes($)))return;let Z=async function(Y,...j){let K=this.transaction(Y,Q?"readwrite":"readonly"),b=K.store;if(y)b=b.index(j.shift());return(await Promise.all([b[$](...j),Q&&K.done]))[0]};return Ex.set(w,Z),Z}Z1((x)=>({...x,get:(w,$,y)=>$1(w,$)||x.get(w,$,y),has:(w,$)=>!!$1(w,$)||x.has(w,$)}));var Rw=["continue","continuePrimaryKey","advance"],y1={},mx=/*@__PURE__*/new WeakMap,j1=/*@__PURE__*/new WeakMap,Pw={get(x,w){if(!Rw.includes(w))return x[w];let $=y1[w];if(!$)$=y1[w]=function(...y){mx.set(this,j1.get(this)[w](...y))};return $}};async function*Lw(...x){let w=this;if(!(w instanceof IDBCursor))w=await w.openCursor(...x);if(!w)return;w=w;let $=new Proxy(w,Pw);j1.set($,w),c.set($,hx(w));while(w)yield $,w=await(mx.get($)||w.continue()),mx.delete($)}function Q1(x,w){return w===Symbol.asyncIterator&&Ax(x,[IDBIndex,IDBObjectStore,IDBCursor])||w==="iterate"&&Ax(x,[IDBIndex,IDBObjectStore])}Z1((x)=>({...x,get(w,$,y){if(Q1(w,$))return Lw;return x.get(w,$,y)},has(w,$){return Q1(w,$)||x.has(w,$)}}));var V={AppFolderManifestCache:"AppFolderManifestCache",AppCollectionManifestCache:"AppCollectionManifestCache",AllowedApps:"AllowedApps",HubSiteData:"HubSiteData",SPFxExtensionConfig:"SPFxExtensionConfig"},J1=`${S}COREDB`,Mx=Y1(J1,1,{blocking(x,w,$){Mx.then((y)=>y.close()),alert("A new version of this page is ready. Please reload the page.")},async upgrade(x,w,$,y,Q){if(w===0)x.createObjectStore(V.AppFolderManifestCache,{keyPath:"url"}),x.createObjectStore(V.AppCollectionManifestCache,{keyPath:"url"}),x.createObjectStore(V.AllowedApps,{keyPath:"Id"}),x.createObjectStore(V.HubSiteData,{keyPath:"SiteId"}),x.createObjectStore(V.SPFxExtensionConfig,{keyPath:"Title"})}});Mx.catch((x)=>{throw _("Error opening database for Core, please contact your administrator."),_1(J1).then(()=>{window.location.reload()}),x});var D=await Mx;function g(x){let w="never";if(x!==1/0){let $=/*@__PURE__*/new Date;$.setMinutes($.getMinutes()+x),w=$.toISOString()}return{expires:w}}async function N(x,w){let $=await D.getAll(x),y=/*@__PURE__*/new Date,Q=$.filter((Y)=>{if(Y.expires==="never")return!1;let j=new Date(Y.expires);return y>=j}),Z=Q.length;if(Z>0){let Y=D.transaction(x,"readwrite"),j=Y.objectStore(x);Q.forEach((K)=>j.delete(K[w])),await Y.done,k(`Evicted ${Z} items from ${x} cache.`)}return Z}async function nx(){return await N(V.SPFxExtensionConfig,"Title"),D.getAll(V.SPFxExtensionConfig)}async function h(x){return await N(V.SPFxExtensionConfig,"Title"),D.get(V.SPFxExtensionConfig,x)}async function P(x,w=60){await D.put(V.SPFxExtensionConfig,{...x,...g(w)})}async function B1(x,w){let $=D.transaction(V.SPFxExtensionConfig,"readwrite"),y=$.objectStore(V.SPFxExtensionConfig);return x.forEach((Q)=>y.put({...Q,...g(w)})),$.done}async function b1(){return D.getAll(V.AllowedApps)}async function K1(x){return D.get(V.AppFolderManifestCache,x)}async function q1(x){return D.get(V.AppCollectionManifestCache,x)}async function V1(x){return D.get(V.HubSiteData,x)}async function z1(x,w=60){await D.put(V.HubSiteData,{...x,...g(w)})}async function H1(x,w=5){let $=g(w),y=D.transaction(V.AllowedApps,"readwrite"),Q=y.objectStore(V.AllowedApps);return x.forEach((Z)=>Q.put({...Z,...$})),y.done}async function Ew(x){return D.delete(V.AppCollectionManifestCache,x)}async function Aw(x){return D.delete(V.AppFolderManifestCache,x)}async function W1(){return N(V.AllowedApps,"Id")}async function F1(){return N(V.HubSiteData,"SiteId")}async function X1(x){if(x){let w=await K1(x.url);if(w){if(w.hash!==x.hash){await Aw(x.url);let $=x.url.toLowerCase().replace(`/${O}`,"");await t([$],!1),k(`Evicted ${O} ${w.url} from cache. Because of hash mismatch.`)}}}return N(V.AppFolderManifestCache,"url")}async function k1(x){if(x){let w=await q1(x.url);if(w){if(w.hash!==x.hash)await Ew(x.url),await t([x.url],!1),k(`Evicted ${X} ${w.url} from cache. Because of hash mismatch.`)}}return N(V.AppCollectionManifestCache,"url")}async function D1(x){return await X1(),K1(x)}async function G1(x,w){await X1(x),await D.put(V.AppFolderManifestCache,{...x,...g(w)})}async function O1(x,w){await k1(x),await D.put(V.AppCollectionManifestCache,{...x,...g(w)})}async function R1(x){return await k1(),q1(x)}var dx=/*@__PURE__*/new Map;async function P1(x,w=!1){let $="";if(dx.has(x)&&!w)$=dx.get(x)||"";if($)return $;let y=await fetch(`${x}/_api/contextinfo`,{method:"POST",headers:{Accept:"application/json;odata=verbose","Content-Type":"application/json"}});if(y.status===200){let Z=(await y.json()).d.GetContextWebInformation.FormDigestValue;return dx.set(x,Z),Z}else _("Error while getting digest",y.status);return""}var vx=(x)=>{},s;async function i(x=""){if(s)return s;s=new Promise((w)=>{vx=w});try{let y=(await(await fetch(`${x}/_api/SP_TenantSettings_Current`,{headers:{Accept:"application/json;odata=verbose"}})).json()).d.CorporateCatalogUrl;vx(y)}catch(w){_("Error while getting app catalog url. Trying default /sites/appcatalog",w);let $=`${window.location.origin}/sites/appcatalog`;vx($)}return s}async function L1(x=""){let w=await h("AppCatalogUrl");if(w?.Data)return w.Data;let $=await i(x);return await P({Title:"AppCatalogUrl",Data:$},240),$}async function G(x=""){let $=`${await L1()}${x?`/${x}`:""}`;return P1($)}var Sw=await L1(),W=`${Sw}/${F}`;var A1={RootCDNLocation:"RootCDNLocation",InterceptHistory:"InterceptHistory",EnableAppWhiteList:"EnableAppWhiteList",AppCatalogUrl:"AppCatalogUrl",SPFxDataSite:"SPFxDataSite",ConfiguratorPageData:"ConfiguratorPageData",AppWhiteList:"AppWhiteList",Version:"2026-06-21T09:36:29.602Z"},E1=[{Title:"InterceptHistory",Data:"true"},{Title:"EnableAppWhiteList",Data:"false"},{Title:"RootCDNLocation",Data:`/sites/appcatalog/${F}`}];function S1(x){let w=E1.find(($)=>$.Title==="RootCDNLocation");if(w)w.Data=x;return E1}var Uw=Object.keys(A1).length,r;async function hw(){let x=`${W}/_api/web/lists/GetByTitle('${n}')/fields`;try{let w=await fetch(x,{headers:{Accept:"application/json;odata=verbose"}});if(w.status===200){let y=(await w.json()).d.results,Q=y.map((Y)=>Y.InternalName),Z=y.find((Y)=>Y.InternalName==="Title");if(!Z){_("Title field not found.");return}if(!Z.EnforceUniqueValues){let Y=await G(F);if((await fetch(`${W}/_api/web/lists/GetByTitle('${n}')/fields('${Z.Id}')`,{method:"POST",headers:{Accept:"application/json;odata=verbose","Content-Type":"application/json;odata=verbose","X-RequestDigest":Y,"X-HTTP-Method":"MERGE","If-Match":"*"},body:JSON.stringify({__metadata:{type:"SP.Field"},Indexed:!0,EnforceUniqueValues:!0})})).status===204)q("Title field updated successfully.");else _("Unable to update Title field.")}if(!Q.includes("Data")){let Y=await G(F);if((await fetch(x,{method:"POST",headers:{Accept:"application/json;odata=verbose","Content-Type":"application/json;odata=verbose","X-RequestDigest":Y},body:JSON.stringify({__metadata:{type:"SP.Field"},Title:"Data",FieldTypeKind:2,Required:!0})})).status===201)q("Data field added successfully.");else _("Unable to add Data field.")}}}catch(w){_("Error while ensuring configuration list data fields.",w)}}async function mw(){let x=!1;try{if(x=(await fetch(`${W}/_api/web/lists/GetByTitle('${n}')`)).status===404,x){let $=await G(F);if(q("Creating configuration list."),(await fetch(`${W}/_api/web/lists`,{method:"POST",headers:{Accept:"application/json;odata=verbose","Content-Type":"application/json;odata=verbose","X-RequestDigest":$},body:JSON.stringify({__metadata:{type:"SP.List"},BaseTemplate:100,Title:"SPFxExtensionsConfiguration",Description:"Configuration list for SPFxExtensions"})})).status===201)q("Configuration list created successfully.");else _("Unable to create configuration list.")}await hw()}catch(w){_("Error while ensuring configuration list.",w)}return x}async function U1(){let x=`${W}/_api/web/lists/GetByTitle('${n}')/items?$select=Title,Data`,$=await fetch(x,{...{headers:{Accept:"application/json;odata=verbose"}}});if($.status!==200)return _("Unable to fetch configuration list items."),[];return(await $.json()).d.results}async function Mw(){let x=await G(F);for(let w of S1(W))if((await fetch(`${W}/_api/web/lists/GetByTitle('${n}')/items`,{method:"POST",headers:{Accept:"application/json;odata=verbose","Content-Type":"application/json;odata=verbose","X-RequestDigest":x},body:JSON.stringify({__metadata:{type:"SP.Data.SPFxExtensionsConfigurationListItem"},...w})})).status===201)q(`Item ${w.Title} added successfully.`);else _(`Unable to add item ${w.Title}.`)}function h1(x=!1){if(x)return U1();if(r)return r;return r=nw(),r}async function nw(){let x=await nx();if(x.length<Uw){if(await mw())await Mw();let $=await U1();await B1($,240),x=await nx()}return x}async function dw(x){let w=await i(),$=await G(),y=await fetch(`${w}/_api/web/webs/add`,{method:"POST",headers:{Accept:"application/json;odata=nometadata","Content-Type":"application/json","X-RequestDigest":$},body:JSON.stringify({parameters:{Description:"Site that stores SPFxExtensions Data and global apps",Language:1033,Title:"SPFxExtensions Data",Url:x,UseSamePermissionsAsParentSite:!0,WebTemplate:"STS"}})});if(!y.ok)throw Error(`Failed to create SPFxExtensionsData web in ${w}`);return await y.json()}async function vw(){let x=await i(),w=await G(),$=await fetch(`${x}/${F}/_api/web`,{method:"GET",headers:{Accept:"application/json;odata=nometadata","X-RequestDigest":w}});if(!$.ok){if($.status===404)return{data:void 0,isError:!1,error:"",warnings:[`SPFxExtensionsData web not found in ${x}`]};return _(`Failed to fetch data from ${x}/${F}/_api/web`),{data:void 0,isError:!0,error:`Failed to fetch data from ${x}/${F}/_api/web`,warnings:[]}}return{data:await $.json(),isError:!1,error:"",warnings:[]}}async function Tw(){return(await h("SPFxDataSite"))?.Data}var l;function m1(){if(l)return l;return l=gw(),l}async function gw(){let x=await Tw();if(!x){let w=await vw();if(!w.isError&&!w.data){let $=await dw(F);w.data=$}return await P({Title:"SPFxDataSite",Data:w.data},240),w.data}return x}var Tx="f3ab710f-2c08-422e-a7ad-5d93eb51e7a3",a={accept:"application/json"},Nw={"Content-Type":"application/json"};async function Cw(){let w={"X-RequestDigest":await G(F)};return(await(await fetch(`${W}/_api/sitepages/pages`,{headers:{...a,...w,...Nw},body:JSON.stringify({PageLayoutType:"SingleWebPartAppPage",PromotedState:0}),method:"POST"})).json()).Id}async function gx(){let x=await fetch(`${W}/_api/sitepages/pages/GetByUrl('${f}')`,{headers:{...a},method:"GET"});if(x.status===404)return;return await x.json()}var fw=[{dataVersion:"1.4",description:"Title Region Description",id:"cbe7b0a9-3504-44dd-a3a3-0e5cacd07788",instanceId:"cbe7b0a9-3504-44dd-a3a3-0e5cacd07788",properties:{authorByline:[],authors:[],layoutType:"FullWidthImage",showPublishDate:!1,showTopicHeader:!1,textAlignment:"Left",title:"SPFx Extensions Configurator",topicHeader:"",enableGradientEffect:!0},reservedHeight:280,serverProcessedContent:{htmlStrings:{},searchablePlainTexts:{},imageSources:{},links:{}},title:"Title area"}],uw=[{addedFromPersistedData:!1,controlType:3,displayMode:2,emphasis:{},id:Tx,position:{controlIndex:1,layoutIndex:1,sectionFactor:12,sectionIndex:1,zoneIndex:1},reservedHeight:500,reservedWidth:500,webPartData:{dataVersion:"1.0",description:"Allows you to add a custom developed app",id:Fx,instanceId:Tx,properties:{description:"Select an app to load from the dropdown below",selectedApp:A,SPFxExtensionAppConfiguration:void 0},title:"SPFx Extension Loader"},webPartId:Fx},{controlType:0,pageSettingsSlice:{isDefaultDescription:!0,isDefaultThumbnail:!0}}],Iw={CanvasContent1:`${JSON.stringify(uw)}`,LayoutWebpartsContent:`${JSON.stringify(fw)}`,Title:px};async function M1(x){let $={"X-RequestDigest":await G(F)};await fetch(`${W}/_api/sitepages/pages(${x})/savepage`,{headers:{"Content-Type":"application/json",...a,...$},body:JSON.stringify(Iw),method:"POST"}),await fetch(`${W}/_api/sitepages/pages(${x})/publish`,{headers:{...a,...$},method:"POST"})}async function ow(){let x=await Cw();return await M1(x),gx()}async function pw(){let x=await h("ConfiguratorPageData");if(x?.Data)return x.Data;let w=await gx();if(w)await P({Title:"ConfiguratorPageData",Data:w},480);return w}async function n1(){let x=await pw();if(!x)return ow();if(x.CanvasContent1.indexOf(Tx)===-1){await M1(x.Id);let w=await gx();return await P({Title:"ConfiguratorPageData",Data:w},480),w}return x}async function cw(){let x=`${W}/_api/web/lists/GetByTitle('${d}')/fields`;try{let w=await fetch(x,{headers:{Accept:"application/json;odata=verbose"}});if(w.status===200){if(!(await w.json()).d.results.map((Z)=>Z.InternalName).some((Z)=>Z==="EntryPointUrl"))await tw(x,"EntryPointUrl","Full URL to the Entrypoint JS file, if * is specified all entries will be allowed.",!0)}}catch(w){_("Error while ensuring list fields.",w)}}async function tw(x,w,$,y){let Q=await G(F);if((await fetch(x,{method:"POST",headers:{Accept:"application/json;odata=verbose","Content-Type":"application/json;odata=verbose","X-RequestDigest":Q},body:JSON.stringify({__metadata:{type:"SP.Field"},Title:w,FieldTypeKind:3,Required:y,Description:$})})).status===201)q(w,"field added successfully.");else _(w,"Unable to add field.")}async function sw(){try{let x=await fetch(`${W}/_api/web/lists/GetByTitle('${d}')?$select=*`,{method:"GET",headers:{Accept:"application/json;odata=verbose"}});if(x.status===404){q("Creating app white list.");let $=await G(F),y=await fetch(`${W}/_api/web/lists`,{method:"POST",headers:{Accept:"application/json;odata=verbose","Content-Type":"application/json;odata=verbose","X-RequestDigest":$},body:JSON.stringify({__metadata:{type:"SP.List"},BaseTemplate:100,Title:d,Description:"App whitelist for SPFxExtensions"})});if(y.status===201)return q("App whitelist created successfully."),y.json();else{_("Unable to create app whitelist.");return}}return await cw(),x.json()}catch(x){_("Error while ensuring app whitelist.",x)}return}async function d1(){let x=await h("AppWhiteList");if(x?.Data)return x.Data;let w=await sw();if(w)await P({Title:"AppWhiteList",Data:w},480);return w}var e;async function Nx(){if(e)return e;return e=iw(),e}async function iw(){await m1(),await d1(),await n1(),window.__SPFxExtensions.Utils.ConfiguratorPageUrl=`${W}/${f}`}async function m(x=!1){return await Nx(),h1(x)}async function xx(){return`${(await m()).find((y)=>y.Title==="RootCDNLocation")?.Data??`${W}`}${E}`}async function v1(){let x=await m(),w=[ox];if(x.find(($)=>$.Title==="Version")?.Data!=="2026-06-21T09:36:29.602Z")await P({Title:"Version",Data:"2026-06-21T09:36:29.602Z"},1/0),await t(w,!0)}async function t(x,w){let $=await window.caches.keys(),y=!1;for(let Q of $){let Z=await window.caches.open(Q),Y=await Z.keys(),j=[];for(let K of Y){let b=K.url.toLowerCase();if(x.some((z)=>b.indexOf(z.toLowerCase())>-1))q("Deleting cache key",K,"from",Q),y=!0,j.push(Z.delete(K,{ignoreMethod:!0,ignoreSearch:!0,ignoreVary:!0}))}await Promise.allSettled(j)}if(y&&w)window.location.reload()}function t4(){return T(`${Date.now()}`,13)}function rw(){try{let x=[];for(let w=0;w<window.localStorage.length;w++){let $=window.localStorage.key(w);if($)x.push($)}return x}catch{return[]}}function lw(x){try{return window.localStorage.getItem(x)}catch{return null}}function aw(){return rw().some((x)=>{let w=x.indexOf(I)>-1,$=lw(x)??"",y=/^\d+$/.test($),Q=$.trim()!=="";return w&&(y||Q)})}function wx(x){try{let w=`${S}${x}`,$=window.localStorage.getItem(w)?.trim()??"",y=/^\d+$/.test($??""),Q=$.trim()!=="";if(y)return Number($)>0;return Q}catch{return!1}}var $x=aw();var ew=x9();async function x9(){try{let x=await W1(),w=await b1();if(w.length>0&&!x)return w;if(w.length>0)q("Cache mismatch, loading allowed apps data...");let $=await T1();return await H1($,5),$}catch(x){return _("Unable to load allowed apps data...",x),[]}}async function T1(x=!1){if((await m(x)).find((y)=>y.Title==="EnableAppWhiteList")?.Data!=="true")return[{Id:1,Title:"All apps allowed",EntryPointUrl:"*",date:(/*@__PURE__*/new Date()).toISOString(),expires:(/*@__PURE__*/new Date()).toISOString()}];return w9()}async function w9(){let x=`${W}/_api/web/lists/getByTitle('${d}')/Items?$select=Id,Title,EntryPointUrl&$top=1000`;return await $9(x)}async function $9(x){let w=x,$=[];while(w){let Q=await(await fetch(w,{method:"GET",headers:{Accept:"application/json;odata=verbose"}})).json();if(Q.error)throw Error(JSON.stringify(Q.error));$.push(...Q.d.results),w=Q.d.__next}return $}function y9(x,w){if(w.some((Q)=>Q.EntryPointUrl==="*"))return!0;let y=(x.origin+x.pathname).toLowerCase();return w.some((Q)=>{try{let Z=new URL(Q.EntryPointUrl),Y=Z.origin+Z.pathname;return y===Y.toLowerCase()}catch(Z){return _("Error while parsing allowed entry URL",Q.EntryPointUrl,Z),!1}})}async function g1(x,w,$=!1){if(wx(w))return!0;let y=$?await T1($):await ew;if(!y9(x,y))return k("File",x,`is not allowed to be executed. Please add it to whitelist @ ${W}.`),k(`If you are a developer you can enable this app by adding window.localStorage item ${S}${w} with a number value corresponding to development port of the localhost server or a base URL where manifest.json resides.`),!1;return!0}function N1(){return window.__SPFxExtensions.__CurrentContext.contextType==="SPOModernContext"?window.__SPFxExtensions.__CurrentContext.context.web.id.toString():Rx(window.__SPFxExtensions.__CurrentContext.context.webId)}function yx(){return(window.__SPFxExtensions.__CurrentContext.contextType==="SPOModernContext"?window.__SPFxExtensions.__CurrentContext.context.web.absoluteUrl:window.__SPFxExtensions.__CurrentContext.context.webAbsoluteUrl).replace(/\/$/,"")}function Qx(){return window.__SPFxExtensions.__CurrentContext.contextType==="SPOModernContext"?window.__SPFxExtensions.__CurrentContext.context.site.id.toString():Rx(window.__SPFxExtensions.__CurrentContext.context.siteId)}function Zx(){return window.__SPFxExtensions.__CurrentContext.contextType==="SPOModernContext"?window.__SPFxExtensions.__CurrentContext.context.site.absoluteUrl:window.__SPFxExtensions.__CurrentContext.context.siteAbsoluteUrl}function Yx(){return(window.__SPFxExtensions.__CurrentContext.contextType==="SPOModernContext"?window.__SPFxExtensions.__CurrentContext.context.legacyPageContext.hubSiteId?.toString():window.__SPFxExtensions.__CurrentContext.context.hubSiteId)??u}function C1(){return window.__SPFxExtensions.__CurrentContext.contextType==="SPOModernContext"?window.__SPFxExtensions.__CurrentContext.context.legacyPageContext.isHubSite:window.__SPFxExtensions.__CurrentContext.context.isHubSite}async function _x(){if(C1())return"";let w=Yx(),$=Qx();if(!w||w===u||w===$)return"";await F1();let y=await V1(w);if(!y){q("Getting Hub data for HubSiteId:",w);try{let Z=await(await fetch(`/_api/hubsites/GetById?hubSiteId='${w}'`,{headers:{accept:"application/json;odata=nometadata"}})).json();return await z1(Z),Z.SiteUrl}catch(Q){return _("Error fetching hub site data.",Q),""}}return y.SiteUrl}function Q9(x){if(!Array.isArray(x.enabledAppCollections))throw`${R} ${X} enabledAppCollections should be an array`;if(!Array.isArray(x.urlMap))throw`${R} ${X} urlMap should be an array`}async function M(x,w=!1,$=60){let y=x.url.toLowerCase(),Q=x.type==="hub";if(!w){let z=await R1(y);if(z)return z.type=Q?"hub":z.type,z}let Z=`${y}?v=${Date.now()}`,Y=await Z9(Z),j=await T(JSON.stringify(Y)),K={...x,url:y,type:Q?"site":x.type,hash:j,lastCheck:(/*@__PURE__*/new Date()).toISOString()},b={manifest:Y,...K};return await O1(b,$x?1:$),b.type=Q?"hub":b.type,b}async function Z9(x){let w=Dx;try{H(`Fetching ${X} from`,x),w=await(await fetch(x)).json()}catch($){k(`Unable to fetch ${X} from`,x)}try{Q9(w)}catch($){_(`Error while parsing ${X} from`,x,$),w=Dx}return w}async function f1(x=!1){let w=Zx(),$=yx(),y=await _x(),Q=[],Z=await xx(),Y=jx(Z,"root");if(Q.push(M(Y,x)),y){let Hx=y+E,xw=jx(Hx,"hub");Q.push(M(xw,x))}let j=w+E,K=jx(j,"site");Q.push(M(K,x));let b=$+E,z=w.toLowerCase()===$.toLowerCase(),B=b.toLowerCase()===Z.toLowerCase();if(!z&&!B){let Hx=jx(b,"web");Q.push(M(Hx,x))}return await Promise.all(Q)}function jx(x,w){return{url:`${x}${X}`,name:X,type:w}}function u1(x){if(!x.appDefinitionMap)x.appDefinitionMap=[];if(!x.appRelativeEntryPointUrls)x.appRelativeEntryPointUrls=[];if(!x.manualEntries)x.manualEntries=[];return x}function Y9(x){if(Array.isArray(x)||typeof x!=="object")throw`${R} App manifest has to be an object.`;if(!x.appRelativeEntryPointUrls)throw _("Manifest does not have appRelativeEntryPointUrl property.",x),`${R} Manifest does not have appRelativeEntryPointUrl property.`;if(!x.appDefinitionMap)throw _("Manifest does not have enabledApps property.",x),`${R} Manifest does not have enabledApps property.`}async function _9(x,w=!1,$=60){let y={...kx},Q=x.url.toLowerCase(),Z=x.type==="hub";if(!w){let z=await D1(Q);if(z)return z.type=Z?"hub":z.type,z}let Y=`${Q}?v=${Date.now()}`;try{H(`Fetching ${O} from`,Y),y=await(await fetch(Y)).json(),u1(y)}catch(z){k(`Unable to fetch ${O} from`,Y,z)}try{Y9(y)}catch(z){_(`Error while parsing ${O} from`,Y,z),y={...kx}}let j=await T(JSON.stringify(y)),b={...{...x,url:Q,type:Z?"site":x.type,hash:j},manifest:y,lastCheck:(/*@__PURE__*/new Date()).toISOString()};return await G1(b,$x?1:$),b.type=Z?"hub":b.type,b}function j9(x,w){let $=`${x}${w}/${O}`,y=`${S}${w}`,Q=window.localStorage.getItem(y)??"",Z=/^\d+$/.test(Q??""),Y=Q.trim()!=="";if(Z){let j=`https://localhost:${Q}/${O}`;return q(`<${w}> App is in debug port mode, loading from`,j),j}if(Y){let j=`${Q}/${O}`;return q(`<${w}> App is in debug url mode, loading from`,j),j}return $}function Jx(x,w=!1){if(x.length===0)return[];let $=[];for(let y of x){let Q=y.url.toLowerCase().replace(X.toLowerCase(),"");for(let Z of y.manifest.enabledAppCollections){let Y=Bx(Q,Z,y.type,w);$.push(Y)}}return $}function Bx(x,w,$,y){let Q=j9(x,w);return _9({name:w,url:Q,type:$},y)}function I1(x,w=!1){let $=x.filter((B)=>B.type==="root"),y=Jx($,w),Q=x.filter((B)=>B.type==="hub"),Z=Jx(Q,w),Y=x.filter((B)=>B.type==="site"),j=Jx(Y,w),K=x.filter((B)=>B.type==="web"),b=Jx(K,w);return[...y,...Z,...j,...b]}var Cx=!1,Kx=[];function J9(x){let w=new URL(`https://${cx}/${x.host}${x.pathname}`);return w.search=x.search,w}async function B9(x,w,$){let y=$.appDefinitionMap.find((Z)=>Z.appId===w);if(!y){let Z=`Could not find app configuration item for Manual app ${w}`;return _(Z),[]}if(!p1(y))return q(`App ${w} is not enabled in current context. Skipping...`),[];try{k("Manual module detected. Make sure to call window.__SPFxExtensions.RegisterApp and window.__SPFxExtensions.InstantiateApp in code.",x),await import(x)}catch(Z){let Y=`Error while importing or executing ${x} ${Z}`;_(Y)}return[]}async function b9(x,w){try{let y=(await import(x)).default;if(!y)return _(`No default export found in ${x}, only ESM modules are supported.`),[];return V9(y,w,x)}catch($){return _("Error while importing or executing",x,$),[]}}async function o1(x,w,$,y,Q){let Z=x.replace(/\.\.\/?/g,"./").replace(/^\.\//,""),Y=`${w}${Z}`.toLowerCase();H("EntryPoint JS: ",Y);let j=new URL(Y);if($)j.searchParams.set("v",`${$}`);if(!await g1(j,y.name))return;let b=y.manifest.usePublicCDN?J9(j):j,z=`${b.origin}${b.pathname}`,B=`${b}`;if(Kx.includes(z)){q("EntryPoint already loaded:",B);return}return Kx.push(z),()=>{if(Q)return B9(B,Q,y.manifest);return b9(B,y.manifest)}}async function bx(x){let w=[],$=x.url.replace(O,"");H("Parsing",x.type,"manifest:",x.manifest);let y="";if(x.manifest.cacheString&&x.manifest.enableCaching)y=wx(x.name)?`${(/*@__PURE__*/new Date()).getTime()}`:x.manifest.cacheString;for(let Q of x.manifest.appRelativeEntryPointUrls){let Z=await o1(Q,$,y,x);if(Z)w.push(Z())}for(let Q of x.manifest.manualEntries){let Z=await o1(Q.entryPoint,$,y,x,Q.appId);if(Z)w.push(Z())}return w}async function fx(x=!1){if(x)K9();if(Cx)return;Cx=!0;let w=await f1(),$=I1(w);window.__SPFxExtensions.Utils.appManifestPromises=$,window.__SPFxExtensions.Utils.spAppInitializationPromiseResolver();let Q=(await Promise.allSettled($)).filter((B)=>B.status==="fulfilled"),Z=[],Y=Q.filter((B)=>B.value.type==="root"),j=Q.filter((B)=>B.value.type==="hub"),K=Q.filter((B)=>B.value.type==="site"),b=Q.filter((B)=>B.value.type==="web");for(let B of Y){let L=await bx(B.value);Z.push(...L)}H("Root apps loaded.");for(let B of j){let L=await bx(B.value);Z.push(...L)}H("Hub apps loaded.");for(let B of K){let L=await bx(B.value);Z.push(...L)}H("Site apps loaded.");for(let B of b){let L=await bx(B.value);Z.push(...L)}H("SiteWeb apps loaded.");let z=(await Promise.allSettled(Z)).filter((B)=>B.status==="fulfilled").flatMap((B)=>B.value);await q9(z),window.__SPFxExtensions.AllAppAssetsLoadedResolver(),q("SPFx Extensions Core Components Loaded.")}function K9(){Cx=!1;let x=rx();Kx.splice(0,Kx.length),lx(x);let{promise:w,resolve:$}=Promise.withResolvers();window.__SPFxExtensions.AllAppAssetsLoadedPromise=w,window.__SPFxExtensions.AllAppAssetsLoadedResolver=$}async function q9(x){let w=[];for(let $ of window.__SPFxExtensions.Apps)if(!x.find((Q)=>Q.id===$.id)&&!$.isManual&&$.id!==A)w.push($.id);for(let $ of w){let y=await window.__SPFxExtensions.UnregisterApp($);if(y)k(`Unregistered App ${y.id} (${y.name}) as it does not belong in this context`)}}async function V9(x,w,$){if(!Array.isArray(x))_("Default export of entry point should be an array of App definitions. TODO: add documentation url",$);let y=[];for(let Q of x){if(!Q.id){_("App definition does not have an id. Make sure that returned array is in proper format. TODO: add documentation url",$,Q);continue}let Z=w.appDefinitionMap.find((b)=>b.appId.toLowerCase()===Q.id.toLowerCase()),Y=`App with id ${Q.id} (${Q.name}) is not enabled for current web. Skipping...`;if(!Z){q(Y);continue}if(!p1(Z)){q(Y);continue}let K=await window.__SPFxExtensions.RegisterApp(Q);if(y.push(Q),!Q.isWebPartApp&&Q.autoExecute){if(K.instances.length<(Q.maxInstances??1/0))window.__SPFxExtensions.InstantiateApp(Q.id,{})}}return y}function p1(x){let w=N1().toLowerCase(),$=Qx().toLowerCase(),y=Yx().toLowerCase(),Q=x.config.enabledEverywhere,Z=x.config.excludedIds.indexOf(w)===-1&&x.config.excludedIds.indexOf($)===-1&&x.config.excludedHubIds.indexOf(y)===-1,Y=x.config.includedIds.indexOf(w)!==-1||x.config.includedIds.indexOf($)!==-1||x.config.includedHubIds.indexOf(y)!==-1;return Q?Z:Y}var c1=!1;function s1(){if(window.moduleLoaderPromise&&!c1)c1=!0,window.moduleLoaderPromise.then((x)=>{let w=x.context.pageContext.initialize;x.context.pageContext.initialize=function($,y){let Q=x.context.pageContext._initializationData;w.call(this,$,y);let Z={initializationData:$,legacyContext:y,previousContext:Q},Y=Q.web.id===$.web.id,j=Q.site.id===$.site.id;if(Y&&j){t1("contextRefresh",Z);return}t1("contextChange",Z)}})}function t1(x,w){let $=new CustomEvent(x,{detail:w});window.dispatchEvent($),window.__SPFxExtensions.Apps.forEach((y)=>{y.instances.forEach((Q)=>{Q.executeListeners(x,w)})})}function z9(x){let w=window.__SPFxExtensions.AppEventListeners.findIndex(($)=>$.key===x.key);if(w>-1)H("Removing event listener",x),window.__SPFxExtensions.AppEventListeners.splice(w,1)}function i1(){if(!window.__SPFxExtensions.AppEventListeners)window.__SPFxExtensions.AppEventListeners=[];if(!window.__SPFxExtensions.AddAppEventListener)window.__SPFxExtensions.AddAppEventListener=(x,w)=>{let $={key:window.crypto.randomUUID(),eventName:x,handler:w};return window.__SPFxExtensions.AppEventListeners.push($),()=>{z9($)}};if(!window.__SPFxExtensions.RemoveAppEventListener)window.__SPFxExtensions.RemoveAppEventListener=(x)=>{let w=window.__SPFxExtensions.AppEventListeners.findIndex(($)=>$.key===x.key);if(w>-1)window.__SPFxExtensions.AppEventListeners.splice(w,1)}}var H9=window.history.pushState,W9=window.history.replaceState,F9=window.history.back,X9=window.history.forward,k9=window.history.go;function D9(){let x=window.history.state,w=window.location.href;return{currentState:x,previousUrl:w}}function C(x,w){let $={...D9(),...w},y=new CustomEvent(x,{detail:$});window.dispatchEvent(y)}function G9(){function x(w,$,y){H9.call(this,w,$,y),C("historyPush",{newState:w,newUrl:y})}window.history.pushState=x}function O9(){function x(w,$,y){W9.call(this,w,$,y),C("historyReplace",{newState:w,newUrl:y})}window.history.replaceState=x}function R9(){function x(){F9.call(this),C("historyBack",{})}window.history.back=x}function P9(){function x(){X9.call(this),C("historyForward",{})}window.history.forward=x}function L9(){function x(w){k9.call(this,w),C("historyGo",{delta:w})}window.history.go=x}var r1=!1;function l1(){if(r1)return;r1=!0,O9(),G9(),P9(),R9(),L9()}var ux=90000,qx=0;function Ix(x=!1){if(x)window.clearInterval(qx),qx=0;if(qx>0)return;qx=window.setInterval(a1,ux),a1()}async function a1(){try{let x=Zx(),w=yx(),$=await _x(),y=await xx(),Q=x.toLowerCase()===w.toLowerCase(),Z=w+E,Y=Z.toLowerCase()===y.toLowerCase();if(await Vx(y,"root"),$)await Vx($+E,"hub");if(await Vx(x+E,"site"),!Q&&!Y)await Vx(Z,"web")}catch(x){_("Error checking for manifest updates",x)}}async function Vx(x,w){let y={url:(x+X).toLowerCase(),type:w,name:X},Q=await M(y),Z=/*@__PURE__*/new Date,Y=new Date(Q.lastCheck);if(Z.getTime()-Y.getTime()>ux)Q=await M(y,!0);let K=Q.url.toLowerCase().replace(X.toLowerCase(),"");for(let b of Q.manifest.enabledAppCollections){let z=await Bx(K,b,Q.type,!1),B=new Date(z.lastCheck);if(Z.getTime()-B.getTime()>ux)await Bx(K,b,Q.type,!0)}}var zx;async function E9(){if(zx)return zx;return zx=S9(),zx}async function A9(){window.__SPFxExtensions.__CurrentContext=await sx()}async function S9(){if(await Nx(),(await m()).find((Q)=>Q.Title==="InterceptHistory")?.Data==="true")l1();s1(),i1(),ax(),ex();let{promise:$,resolve:y}=Promise.withResolvers();if(!window.__SPFxExtensions.AllAppAssetsLoadedPromise)window.__SPFxExtensions.AllAppAssetsLoadedPromise=$,window.__SPFxExtensions.AllAppAssetsLoadedResolver=y}async function e1(){await v1(),await E9(),await A9(),window.__SPFxExtensions.__CorePromiseResolver(),await fx(),window.addEventListener("contextChange",async(x)=>{q("Context changed, reloading apps..."),await fx(!0),Ix(!0)}),Ix(),q("SPFx Extensions Core Has Been initialized.")}var U9={id:A,description:"Allows configuring custom apps",isWebPartApp:!1,hideAppSelectorWhenAppLoaded:!0,hideConfiguratorButton:!0,name:"SPFx Extensions Configurator",async onInstanceRequested(x){let w=window.localStorage.getItem(I)??"",$=/^\d+$/.test(w??""),y=w.trim()!=="",Q=$||y;if(Q)H("Core is in debug mode");let Z=Q?import.meta.resolve(`./${tx}?v=${Date.now()}`):window.__SPFxExtensions.__ConfiguratorUrl;try{return(await import(Z)).launch(x)}catch(Y){if(_("Error launching configurator app",Y),x.domElement)x.domElement.innerHTML=`<div style="text-align: center; padding: 20px; color: red;">Error launching configurator app. ${Y}</div>`;return()=>{}}}},h9="2026-06-21T09:36:29.602Z";async function m9(){q("Initializing SPFxExtensions Core Built:",h9),await e1();try{await window.__SPFxExtensions.RegisterApp(U9)}catch(x){_("Error registering configurator app",x)}}m9();