openc3-cosmos-init/plugins/openc3-tool-base/public/js/import-map-overrides-3.1.1.min.js.map
{"version":3,"file":"import-map-overrides.js","sources":["../src/util/includes.js","../src/api/js-api.js","../src/util/string-regex.js","../src/util/url-parameter.js","../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../node_modules/.pnpm/preact@10.5.14/node_modules/preact/dist/preact.mjs","../src/ui/list/module-dialog.component.js","../src/ui/list/external-importmap-dialog.component.js","../src/ui/dev-lib-overrides.component.js","../src/ui/list/list.component.js","../src/ui/popup.component.js","../src/ui/full-ui.component.js","../src/ui/custom-elements.js"],"sourcesContent":["export function includes(obj, item) {\n if (Array.isArray(obj)) {\n for (let i = 0; i < obj.length; i++) {\n if (obj[i] === item) {\n return true;\n }\n }\n return false;\n } else if (typeof obj === \"string\") {\n return obj.indexOf(item) >= 0;\n } else {\n throw Error(`Can't call includes on ${typeof obj}`);\n }\n}\n","import { escapeStringRegexp } from \"../util/string-regex\";\nimport { includes } from \"../util/includes.js\";\nimport { getParameterByName } from \"../util/url-parameter\";\n\nconst localStoragePrefix = \"import-map-override:\";\nconst disabledOverridesLocalStorageKey = \"import-map-overrides-disabled\";\nconst externalOverridesLocalStorageKey = \"import-map-overrides-external-maps\";\nconst overrideAttribute = \"data-is-importmap-override\";\nconst domainsMeta = \"import-map-overrides-domains\";\nconst allowListPrefix = \"allowlist:\";\nconst denyListPrefix = \"denylist:\";\nexport const queryParamOverridesName = \"imo\";\n\nconst importMapMetaElement = document.querySelector(\n 'meta[name=\"importmap-type\"]'\n);\n\nconst domainsElement = document.querySelector(`meta[name=\"${domainsMeta}\"]`);\n\nconst externalOverrideMapPromises = {};\n\nexport const importMapType = importMapMetaElement\n ? importMapMetaElement.getAttribute(\"content\")\n : \"importmap\";\n\nexport let isDisabled;\n\nif (domainsElement) {\n const content = domainsElement.getAttribute(\"content\");\n if (!content) {\n console.warn(`Invalid ${domainsMeta} meta element - content required.`);\n }\n\n const matchHostname = (domain) =>\n new RegExp(escapeStringRegexp(domain).replace(\"\\\\*\", \".+\")).test(\n window.location.hostname\n );\n\n if (content.indexOf(allowListPrefix) === 0) {\n const allowedDomains = content.slice(allowListPrefix.length).split(\",\");\n isDisabled = !allowedDomains.some(matchHostname);\n } else if (content.indexOf(denyListPrefix) === 0) {\n const deniedDomains = content.slice(denyListPrefix.length).split(\",\");\n isDisabled = deniedDomains.some(matchHostname);\n } else {\n // eslint-disable-next-line no-console\n console.log(\n `Invalid ${domainsMeta} meta content attribute - must start with ${allowListPrefix} or ${denyListPrefix}`\n );\n }\n} else {\n isDisabled = false;\n}\n\nif (!canAccessLocalStorage()) {\n console.warn(\n \"Disabling import-map-overrides, since local storage is not readable\"\n );\n isDisabled = true;\n}\n\nif (!isDisabled) {\n init();\n}\n\nfunction init() {\n const serverOverrides = importMapMetaElement\n ? importMapMetaElement.hasAttribute(\"server-cookie\")\n : false;\n const serverOnly = importMapMetaElement\n ? importMapMetaElement.hasAttribute(\"server-only\")\n : false;\n\n let defaultMapPromise;\n\n window.importMapOverrides = {\n addOverride(moduleName, url) {\n const portRegex = /^\\d+$/g;\n if (portRegex.test(url)) {\n url = imo.getUrlFromPort(moduleName, url);\n }\n const key = localStoragePrefix + moduleName;\n localStorage.setItem(key, url);\n if (serverOverrides) {\n document.cookie = `${key}=${url}`;\n }\n fireChangedEvent();\n return imo.getOverrideMap();\n },\n getOverrideMap(includeDisabled = false) {\n const overrides = createEmptyImportMap();\n const disabledOverrides = imo.getDisabledOverrides();\n\n const setOverride = (moduleName, path) => {\n if (includeDisabled || !(disabledOverrides.indexOf(moduleName) >= 0)) {\n overrides.imports[moduleName] = path;\n }\n };\n\n // get from localstorage\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n if (key.indexOf(localStoragePrefix) === 0) {\n setOverride(\n key.slice(localStoragePrefix.length),\n localStorage.getItem(key)\n );\n }\n }\n\n // get from url if query param exist\n const queryParam = getParameterByName(\n queryParamOverridesName,\n window.location != window.parent.location\n ? document.referrer\n : window.location.href\n );\n\n if (queryParam) {\n let queryParamImportMap;\n try {\n queryParamImportMap = JSON.parse(queryParam);\n } catch (e) {\n throw Error(\n `Invalid importMap query param - text content must be json`\n );\n }\n Object.keys(queryParamImportMap.imports).forEach((moduleName) => {\n setOverride(moduleName, queryParamImportMap.imports[moduleName]);\n });\n }\n\n return overrides;\n },\n removeOverride(moduleName) {\n const key = localStoragePrefix + moduleName;\n const hasItem = localStorage.getItem(key) !== null;\n localStorage.removeItem(key);\n if (serverOverrides) {\n document.cookie = `${key}=; expires=Thu, 01 Jan 1970 00:00:01 GMT;`;\n }\n imo.enableOverride(moduleName);\n fireChangedEvent();\n return hasItem;\n },\n resetOverrides() {\n Object.keys(imo.getOverrideMap(true).imports).forEach((moduleName) => {\n imo.removeOverride(moduleName);\n });\n localStorage.removeItem(disabledOverridesLocalStorageKey);\n localStorage.removeItem(externalOverridesLocalStorageKey);\n fireChangedEvent();\n return imo.getOverrideMap();\n },\n hasOverrides() {\n return Object.keys(imo.getOverrideMap().imports).length > 0;\n },\n getUrlFromPort(moduleName, port) {\n const fileName = moduleName.replace(/@/g, \"\").replace(/\\//g, \"-\");\n return `//localhost:${port}/${fileName}.js`;\n },\n enableUI() {\n const customElementName = \"import-map-overrides-full\";\n const showWhenLocalStorage = \"show-when-local-storage\";\n let customElement = document.querySelector(customElementName);\n\n if (!customElement) {\n customElement = document.createElement(customElementName);\n customElement.setAttribute(showWhenLocalStorage, \"true\");\n document.body.appendChild(customElement);\n }\n\n const localStorageKey = customElement.getAttribute(showWhenLocalStorage);\n if (localStorageKey) {\n localStorage.setItem(localStorageKey, true);\n customElement.renderWithPreact();\n }\n },\n mergeImportMap(originalMap, newMap) {\n const outMap = createEmptyImportMap();\n for (let i in originalMap.imports) {\n outMap.imports[i] = originalMap.imports[i];\n }\n for (let i in newMap.imports) {\n outMap.imports[i] = newMap.imports[i];\n }\n for (let i in originalMap.scopes) {\n outMap.scopes[i] = originalMap.scopes[i];\n }\n for (let i in newMap.scopes) {\n outMap.scopes[i] = newMap.scopes[i];\n }\n return outMap;\n },\n getDefaultMap() {\n return (\n defaultMapPromise ||\n (defaultMapPromise = Array.prototype.reduce.call(\n document.querySelectorAll(\n `script[type=\"${importMapType}\"], script[type=\"overridable-importmap\"]`\n ),\n (promise, scriptEl) => {\n if (scriptEl.hasAttribute(overrideAttribute)) {\n return promise;\n } else {\n let nextPromise;\n if (scriptEl.src) {\n nextPromise = fetchExternalMap(scriptEl.src);\n } else {\n nextPromise = Promise.resolve(JSON.parse(scriptEl.textContent));\n }\n\n return Promise.all([promise, nextPromise]).then(\n ([originalMap, newMap]) =>\n imo.mergeImportMap(originalMap, newMap)\n );\n }\n },\n Promise.resolve(createEmptyImportMap())\n ))\n );\n },\n getCurrentPageMap() {\n return Promise.all([\n imo.getDefaultMap(),\n imo.getExternalOverrideMap(imo.getCurrentPageExternalOverrides()),\n ]).then(([defaultMap, externalOverridesMap]) => {\n return imo.mergeImportMap(\n imo.mergeImportMap(defaultMap, externalOverridesMap),\n initialOverrideMap\n );\n });\n },\n getCurrentPageExternalOverrides() {\n const currentPageExternalOverrides = [];\n document\n .querySelectorAll(\n `[${overrideAttribute}]:not([id=\"import-map-overrides\"])`\n )\n .forEach((externalOverrideEl) => {\n currentPageExternalOverrides.push(externalOverrideEl.src);\n });\n return currentPageExternalOverrides;\n },\n getNextPageMap() {\n return Promise.all([\n imo.getDefaultMap(),\n imo.getExternalOverrideMap(),\n ]).then(([defaultMap, externalOverridesMap]) => {\n return imo.mergeImportMap(\n imo.mergeImportMap(defaultMap, externalOverridesMap),\n imo.getOverrideMap()\n );\n });\n },\n disableOverride(moduleName) {\n const disabledOverrides = imo.getDisabledOverrides();\n if (!includes(disabledOverrides, moduleName)) {\n localStorage.setItem(\n disabledOverridesLocalStorageKey,\n JSON.stringify(disabledOverrides.concat(moduleName))\n );\n fireChangedEvent();\n return true;\n } else {\n return false;\n }\n },\n enableOverride(moduleName) {\n const disabledOverrides = imo.getDisabledOverrides();\n const index = disabledOverrides.indexOf(moduleName);\n if (index >= 0) {\n disabledOverrides.splice(index, 1);\n localStorage.setItem(\n disabledOverridesLocalStorageKey,\n JSON.stringify(disabledOverrides)\n );\n fireChangedEvent();\n return true;\n } else {\n return false;\n }\n },\n getDisabledOverrides() {\n const disabledOverrides = localStorage.getItem(\n disabledOverridesLocalStorageKey\n );\n return disabledOverrides ? JSON.parse(disabledOverrides) : [];\n },\n isDisabled(moduleName) {\n return includes(imo.getDisabledOverrides(), moduleName);\n },\n getExternalOverrides() {\n let localStorageValue = localStorage.getItem(\n externalOverridesLocalStorageKey\n );\n return localStorageValue ? JSON.parse(localStorageValue).sort() : [];\n },\n addExternalOverride(url) {\n url = new URL(url, document.baseURI).href;\n const overrides = imo.getExternalOverrides();\n if (includes(overrides, url)) {\n return false;\n } else {\n localStorage.setItem(\n externalOverridesLocalStorageKey,\n JSON.stringify(overrides.concat(url))\n );\n fireChangedEvent();\n return true;\n }\n },\n removeExternalOverride(url) {\n const overrides = imo.getExternalOverrides();\n if (includes(overrides, url)) {\n localStorage.setItem(\n externalOverridesLocalStorageKey,\n JSON.stringify(overrides.filter((override) => override !== url))\n );\n fireChangedEvent();\n return true;\n } else {\n return false;\n }\n },\n getExternalOverrideMap(externalOverrides = imo.getExternalOverrides()) {\n return externalOverrides.reduce((result, externalOverride) => {\n const fetchPromise =\n externalOverrideMapPromises[externalOverride] ||\n (externalOverrideMapPromises[externalOverride] =\n fetchExternalMap(externalOverride));\n return Promise.all([result, fetchPromise]).then(\n ([firstMap, secondMap]) => {\n return imo.mergeImportMap(firstMap, secondMap);\n }\n );\n }, Promise.resolve(createEmptyImportMap()));\n },\n isExternalMapValid(importMapUrl) {\n const promise =\n externalOverrideMapPromises[importMapUrl] ||\n (externalOverrideMapPromises[importMapUrl] =\n fetchExternalMap(importMapUrl));\n return promise.then(\n () => !includes(imo.invalidExternalMaps, importMapUrl)\n );\n },\n invalidExternalMaps: [],\n };\n\n const imo = window.importMapOverrides;\n\n let canFireCustomEvents = true;\n try {\n if (CustomEvent) {\n new CustomEvent(\"a\");\n } else {\n canFireCustomEvents = false;\n }\n } catch (err) {\n canFireCustomEvents = false;\n }\n\n function fireChangedEvent() {\n fireEvent(\"change\");\n }\n\n function fireEvent(type) {\n // Set timeout so that event fires after the change has totally finished\n setTimeout(() => {\n const eventType = `import-map-overrides:${type}`;\n const event = canFireCustomEvents\n ? new CustomEvent(eventType)\n : document.createEvent(\"CustomEvent\");\n if (!canFireCustomEvents) {\n event.initCustomEvent(eventType, true, true, null);\n }\n window.dispatchEvent(event);\n });\n }\n\n const initialOverrideMap = imo.getOverrideMap();\n const initialExternalOverrideMaps = imo.getExternalOverrides();\n\n let referenceNode;\n\n if (!serverOnly) {\n const overridableImportMap = document.querySelector(\n 'script[type=\"overridable-importmap\"]'\n );\n\n referenceNode = overridableImportMap;\n\n if (!referenceNode) {\n const importMaps = document.querySelectorAll(\n `script[type=\"${importMapType}\"]`\n );\n referenceNode = importMaps ? importMaps[importMaps.length - 1] : null;\n }\n\n if (overridableImportMap) {\n if (overridableImportMap.src) {\n throw Error(\n `import-map-overrides: external import maps with type=\"overridable-importmap\" are not supported`\n );\n }\n let originalMap;\n try {\n originalMap = JSON.parse(overridableImportMap.textContent);\n } catch (e) {\n throw Error(\n `Invalid <script type=\"overridable-importmap\"> - text content must be json`\n );\n }\n\n referenceNode = insertOverrideMap(\n imo.mergeImportMap(originalMap, initialOverrideMap),\n `import-map-overrides`,\n referenceNode\n );\n insertAllExternalOverrideMaps();\n } else {\n insertAllExternalOverrideMaps();\n if (Object.keys(initialOverrideMap.imports).length > 0) {\n referenceNode = insertOverrideMap(\n initialOverrideMap,\n `import-map-overrides`,\n referenceNode\n );\n }\n }\n }\n\n fireEvent(\"init\");\n\n function insertOverrideMap(map, id, referenceNode) {\n const overrideMapElement = document.createElement(\"script\");\n overrideMapElement.type = importMapType;\n overrideMapElement.id = id; // for debugging and for UI to identify this import map as special\n overrideMapElement.setAttribute(overrideAttribute, \"\");\n if (typeof map === \"string\") {\n overrideMapElement.src = map;\n } else {\n overrideMapElement.textContent = JSON.stringify(map, null, 2);\n }\n\n if (referenceNode) {\n referenceNode.insertAdjacentElement(\"afterend\", overrideMapElement);\n } else {\n document.head.appendChild(overrideMapElement);\n }\n\n return overrideMapElement;\n }\n\n function fetchExternalMap(url) {\n return fetch(url)\n .then(\n (r) => {\n if (r.ok) {\n return r.json().catch((err) => {\n console.warn(\n Error(\n `External override import map contained invalid json, at url ${r.url}. ${err}`\n )\n );\n imo.invalidExternalMaps.push(r.url);\n return createEmptyImportMap();\n });\n } else {\n console.warn(\n Error(\n `Unable to download external override import map from url ${r.url}. Server responded with status ${r.status}`\n )\n );\n imo.invalidExternalMaps.push(r.url);\n return createEmptyImportMap();\n }\n },\n () => {\n console.warn(\n Error(`Unable to download external import map at url '${url}'`)\n );\n imo.invalidExternalMaps.push(new URL(url, document.baseURI).href);\n return createEmptyImportMap();\n }\n )\n .then((importMap) => expandRelativeUrlsInImportMap(importMap, url));\n }\n\n function createEmptyImportMap() {\n return { imports: {}, scopes: {} };\n }\n\n function insertAllExternalOverrideMaps() {\n if (initialExternalOverrideMaps.length > 0) {\n initialExternalOverrideMaps.forEach((mapUrl, index) => {\n referenceNode = insertOverrideMap(\n mapUrl,\n `import-map-overrides-external-${index}`\n );\n });\n }\n }\n}\n\nfunction expandRelativeUrl(url, baseUrl) {\n try {\n const outUrl = new URL(url, baseUrl);\n return outUrl.href;\n } catch (err) {\n return url;\n }\n}\n\nfunction expandRelativeUrlImports(imports, baseUrl) {\n return Object.entries(imports).reduce((result, [key, value]) => {\n result[key] = expandRelativeUrl(value, baseUrl);\n return result;\n }, {});\n}\n\nfunction expandRelativeUrlsInImportMap(importMap, baseUrl) {\n return {\n imports: expandRelativeUrlImports(importMap.imports || {}, baseUrl),\n scopes: Object.keys(importMap.scopes || {}).reduce((result, scopeKey) => {\n result[scopeKey] = expandRelativeUrlImports(\n importMap.scopes[scopeKey],\n baseUrl\n );\n return result;\n }, {}),\n };\n}\n\nfunction canAccessLocalStorage() {\n try {\n localStorage.getItem(\"test\");\n return true;\n } catch {\n return false;\n }\n}\n","// from https://github.com/sindresorhus/escape-string-regexp\nexport const escapeStringRegexp = (string) => {\n if (typeof string !== \"string\") {\n throw new TypeError(\"Expected a string\");\n }\n\n // Escape characters with special meaning either inside or outside character sets.\n // Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\").replace(/-/g, \"\\\\x2d\");\n};\n","// https://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript\nexport function getParameterByName(name, url = window.location.href) {\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return \"\";\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","var n,l,u,i,t,o,r,f,e={},c=[],s=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function a(n,l){for(var u in l)n[u]=l[u];return n}function h(n){var l=n.parentNode;l&&l.removeChild(n)}function v(l,u,i){var t,o,r,f={};for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return y(l,f,t,o,null)}function y(n,i,t,o,r){var f={type:n,props:i,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null!=l.vnode&&l.vnode(f),f}function p(){return{current:null}}function d(n){return n.children}function _(n,l){this.props=n,this.context=l}function k(n,l){if(null==l)return n.__?k(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?k(n):null}function b(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return b(n)}}function m(n){(!n.__d&&(n.__d=!0)&&t.push(n)&&!g.__r++||r!==l.debounceRendering)&&((r=l.debounceRendering)||o)(g)}function g(){for(var n;g.__r=t.length;)n=t.sort(function(n,l){return n.__v.__b-l.__v.__b}),t=[],n.some(function(n){var l,u,i,t,o,r;n.__d&&(o=(t=(l=n).__v).__e,(r=l.__P)&&(u=[],(i=a({},t)).__v=t.__v+1,j(r,t,i,l.__n,void 0!==r.ownerSVGElement,null!=t.__h?[o]:null,u,null==o?k(t):o,t.__h),z(u,t),t.__e!=o&&b(t)))})}function w(n,l,u,i,t,o,r,f,s,a){var h,v,p,_,b,m,g,w=i&&i.__k||c,A=w.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(_=u.__k[h]=null==(_=l[h])||\"boolean\"==typeof _?null:\"string\"==typeof _||\"number\"==typeof _||\"bigint\"==typeof _?y(null,_,null,null,_):Array.isArray(_)?y(d,{children:_},null,null,null):_.__b>0?y(_.type,_.props,_.key,null,_.__v):_)){if(_.__=u,_.__b=u.__b+1,null===(p=w[h])||p&&_.key==p.key&&_.type===p.type)w[h]=void 0;else for(v=0;v<A;v++){if((p=w[v])&&_.key==p.key&&_.type===p.type){w[v]=void 0;break}p=null}j(n,_,p=p||e,t,o,r,f,s,a),b=_.__e,(v=_.ref)&&p.ref!=v&&(g||(g=[]),p.ref&&g.push(p.ref,null,_),g.push(v,_.__c||b,_)),null!=b?(null==m&&(m=b),\"function\"==typeof _.type&&null!=_.__k&&_.__k===p.__k?_.__d=s=x(_,s,n):s=P(n,_,p,w,b,s),a||\"option\"!==u.type?\"function\"==typeof u.type&&(u.__d=s):n.value=\"\"):s&&p.__e==s&&s.parentNode!=n&&(s=k(p))}for(u.__e=m,h=A;h--;)null!=w[h]&&(\"function\"==typeof u.type&&null!=w[h].__e&&w[h].__e==u.__d&&(u.__d=k(i,h+1)),N(w[h],w[h]));if(g)for(h=0;h<g.length;h++)M(g[h],g[++h],g[++h])}function x(n,l,u){var i,t;for(i=0;i<n.__k.length;i++)(t=n.__k[i])&&(t.__=n,l=\"function\"==typeof t.type?x(t,l,u):P(u,t,t,n.__k,t.__e,l));return l}function A(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(Array.isArray(n)?n.some(function(n){A(n,l)}):l.push(n)),l}function P(n,l,u,i,t,o){var r,f,e;if(void 0!==l.__d)r=l.__d,l.__d=void 0;else if(null==u||t!=o||null==t.parentNode)n:if(null==o||o.parentNode!==n)n.appendChild(t),r=null;else{for(f=o,e=0;(f=f.nextSibling)&&e<i.length;e+=2)if(f==t)break n;n.insertBefore(t,o),r=o}return void 0!==r?r:t.nextSibling}function C(n,l,u,i,t){var o;for(o in u)\"children\"===o||\"key\"===o||o in l||H(n,o,null,u[o],i);for(o in l)t&&\"function\"!=typeof l[o]||\"children\"===o||\"key\"===o||\"value\"===o||\"checked\"===o||u[o]===l[o]||H(n,o,l[o],u[o],i)}function $(n,l,u){\"-\"===l[0]?n.setProperty(l,u):n[l]=null==u?\"\":\"number\"!=typeof u||s.test(l)?u:u+\"px\"}function H(n,l,u,i,t){var o;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof i&&(n.style.cssText=i=\"\"),i)for(l in i)u&&l in u||$(n.style,l,\"\");if(u)for(l in u)i&&u[l]===i[l]||$(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])o=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?i||n.addEventListener(l,o?T:I,o):n.removeEventListener(l,o?T:I,o);else if(\"dangerouslySetInnerHTML\"!==l){if(t)l=l.replace(/xlink[H:h]/,\"h\").replace(/sName$/,\"s\");else if(\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null!=u&&(!1!==u||\"a\"===l[0]&&\"r\"===l[1])?n.setAttribute(l,u):n.removeAttribute(l))}}function I(n){this.l[n.type+!1](l.event?l.event(n):n)}function T(n){this.l[n.type+!0](l.event?l.event(n):n)}function j(n,u,i,t,o,r,f,e,c){var s,h,v,y,p,k,b,m,g,x,A,P=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,r=[e]),(s=l.__b)&&s(u);try{n:if(\"function\"==typeof P){if(m=u.props,g=(s=P.contextType)&&t[s.__c],x=s?g?g.props.value:s.__:t,i.__c?b=(h=u.__c=i.__c).__=h.__E:(\"prototype\"in P&&P.prototype.render?u.__c=h=new P(m,x):(u.__c=h=new _(m,x),h.constructor=P,h.render=O),g&&g.sub(h),h.props=m,h.state||(h.state={}),h.context=x,h.__n=t,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=P.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=a({},h.__s)),a(h.__s,P.getDerivedStateFromProps(m,h.__s))),y=h.props,p=h.state,v)null==P.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==P.getDerivedStateFromProps&&m!==y&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,x),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,x)||u.__v===i.__v){h.props=m,h.state=h.__s,u.__v!==i.__v&&(h.__d=!1),h.__v=u,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,x),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(y,p,k)})}h.context=x,h.props=m,h.state=h.__s,(s=l.__r)&&s(u),h.__d=!1,h.__v=u,h.__P=n,s=h.render(h.props,h.state,h.context),h.state=h.__s,null!=h.getChildContext&&(t=a(a({},t),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(k=h.getSnapshotBeforeUpdate(y,p)),A=null!=s&&s.type===d&&null==s.key?s.props.children:s,w(n,Array.isArray(A)?A:[A],u,i,t,o,r,f,e,c),h.base=u.__e,u.__h=null,h.__h.length&&f.push(h),b&&(h.__E=h.__=null),h.__e=!1}else null==r&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=L(i.__e,u,i,t,o,r,f,c);(s=l.diffed)&&s(u)}catch(n){u.__v=null,(c||null!=r)&&(u.__e=e,u.__h=!!c,r[r.indexOf(e)]=null),l.__e(n,u,i)}}function z(n,u){l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function L(l,u,i,t,o,r,f,c){var s,a,v,y=i.props,p=u.props,d=u.type,_=0;if(\"svg\"===d&&(o=!0),null!=r)for(;_<r.length;_++)if((s=r[_])&&(s===l||(d?s.localName==d:3==s.nodeType))){l=s,r[_]=null;break}if(null==l){if(null===d)return document.createTextNode(p);l=o?document.createElementNS(\"http://www.w3.org/2000/svg\",d):document.createElement(d,p.is&&p),r=null,c=!1}if(null===d)y===p||c&&l.data===p||(l.data=p);else{if(r=r&&n.call(l.childNodes),a=(y=i.props||e).dangerouslySetInnerHTML,v=p.dangerouslySetInnerHTML,!c){if(null!=r)for(y={},_=0;_<l.attributes.length;_++)y[l.attributes[_].name]=l.attributes[_].value;(v||a)&&(v&&(a&&v.__html==a.__html||v.__html===l.innerHTML)||(l.innerHTML=v&&v.__html||\"\"))}if(C(l,p,y,o,c),v)u.__k=[];else if(_=u.props.children,w(l,Array.isArray(_)?_:[_],u,i,t,o&&\"foreignObject\"!==d,r,f,r?r[0]:i.__k&&k(i,0),c),null!=r)for(_=r.length;_--;)null!=r[_]&&h(r[_]);c||(\"value\"in p&&void 0!==(_=p.value)&&(_!==l.value||\"progress\"===d&&!_)&&H(l,\"value\",_,y.value,!1),\"checked\"in p&&void 0!==(_=p.checked)&&_!==l.checked&&H(l,\"checked\",_,y.checked,!1))}return l}function M(n,u,i){try{\"function\"==typeof n?n(u):n.current=u}catch(n){l.__e(n,i)}}function N(n,u,i){var t,o;if(l.unmount&&l.unmount(n),(t=n.ref)&&(t.current&&t.current!==n.__e||M(t,null,u)),null!=(t=n.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(n){l.__e(n,u)}t.base=t.__P=null}if(t=n.__k)for(o=0;o<t.length;o++)t[o]&&N(t[o],u,\"function\"!=typeof n.type);i||null==n.__e||h(n.__e),n.__e=n.__d=void 0}function O(n,l,u){return this.constructor(n,u)}function S(u,i,t){var o,r,f;l.__&&l.__(u,i),r=(o=\"function\"==typeof t)?null:t&&t.__k||i.__k,f=[],j(i,u=(!o&&t||i).__k=v(d,null,[u]),r||e,e,void 0!==i.ownerSVGElement,!o&&t?[t]:r?null:i.firstChild?n.call(i.childNodes):null,f,!o&&t?t:r?r.__e:i.firstChild,o),z(f,u)}function q(n,l){S(n,l,q)}function B(l,u,i){var t,o,r,f=a({},l.props);for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),y(l.type,f,t||l.key,o||l.ref,null)}function D(n,l){var u={__c:l=\"__cC\"+f++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(m)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=c.slice,l={__e:function(n,l){for(var u,i,t;l=l.__;)if((u=l.__c)&&!u.__)try{if((i=u.constructor)&&null!=i.getDerivedStateFromError&&(u.setState(i.getDerivedStateFromError(n)),t=u.__d),null!=u.componentDidCatch&&(u.componentDidCatch(n),t=u.__d),t)return u.__E=u}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},_.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=a({},this.state),\"function\"==typeof n&&(n=n(a({},u),this.props)),n&&a(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),m(this))},_.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),m(this))},_.prototype.render=d,t=[],o=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,g.__r=0,f=0;export{S as render,q as hydrate,v as createElement,v as h,d as Fragment,p as createRef,i as isValidElement,_ as Component,B as cloneElement,D as createContext,A as toChildArray,l as options};\n//# sourceMappingURL=preact.module.js.map\n","import { h, Component } from \"preact\";\n\nexport default class ModuleDialog extends Component {\n getInitialOverrideUrl = () => {\n const regex = new RegExp(`//localhost:([0-9]+)/`);\n const match = regex.exec(this.props.module.overrideUrl);\n if (\n match &&\n this.props.module.overrideUrl ===\n window.importMapOverrides.getUrlFromPort(\n this.props.module.moduleName,\n match[1]\n )\n ) {\n return match[1];\n } else if (this.props.module.overrideUrl) {\n return this.props.module.overrideUrl;\n } else {\n return \"\";\n }\n };\n state = {\n overrideUrl: this.getInitialOverrideUrl(),\n moduleName: \"\",\n };\n inputEl = null;\n moduleNameEl = null;\n componentDidMount() {\n this.focusFirstInput();\n this.dialogEl.addEventListener(\"keydown\", this.keyDown);\n }\n componentDidUpdate(prevProps, prevState) {\n if (this.props.module !== prevProps.module) {\n this.setState(\n { overrideUrl: this.props.module.overrideUrl || \"\" },\n () => {\n this.focusFirstInput();\n }\n );\n }\n }\n componentWillUnmount() {\n this.dialogEl.removeEventListener(\"keydown\", this.keyDown);\n }\n render({ module }) {\n return (\n <div className=\"imo-modal-container\">\n <div className=\"imo-modal\" />\n <dialog\n className={`imo-module-dialog ${\n this.state.overrideUrl.length > 0 ? \"imo-overridden\" : \"imo-default\"\n }`}\n open\n ref={this.dialogRef}\n >\n <form method=\"dialog\" onSubmit={this.handleSubmit}>\n <h3 style={{ marginTop: 0 }}>{module.moduleName}</h3>\n <table>\n <tbody>\n {!module.isNew && (\n <tr>\n <td>Default URL:</td>\n <td>{module.defaultUrl}</td>\n </tr>\n )}\n {module.isNew && (\n <tr>\n <td>\n <span id=\"module-name-label\">Module Name:</span>\n </td>\n <td style={{ position: \"relative\" }}>\n <input\n type=\"text\"\n tabIndex={1}\n value={this.state.moduleName}\n aria-labelledby=\"module-name-label\"\n onInput={(evt) =>\n this.setState({ moduleName: evt.target.value })\n }\n ref={this.handleModuleNameRef}\n required\n />\n <div\n role=\"button\"\n tabIndex={3}\n className=\"imo-clear-input\"\n onClick={this.clearModuleName}\n >\n <div>{\"\\u24E7\"}</div>\n </div>\n </td>\n </tr>\n )}\n <tr>\n <td>\n <span id=\"override-url-label\">Override URL:</span>\n </td>\n <td style={{ position: \"relative\" }}>\n <input\n ref={this.handleInputRef}\n type=\"text\"\n value={this.state.overrideUrl}\n aria-labelledby=\"override-url-label\"\n tabIndex={2}\n onInput={(evt) =>\n this.setState({ overrideUrl: evt.target.value })\n }\n />\n <div\n role=\"button\"\n tabIndex={4}\n className=\"imo-clear-input\"\n onClick={this.clearInput}\n >\n <div>{\"\\u24E7\"}</div>\n </div>\n </td>\n </tr>\n {portRegex.test(this.state.overrideUrl) && (\n <tr>\n <td>Derived url:</td>\n <td>{this.getDerivedUrl()}</td>\n </tr>\n )}\n </tbody>\n </table>\n <div className=\"imo-dialog-actions\">\n <button\n type=\"button\"\n tabIndex={5}\n onClick={this.props.cancel}\n style={{ marginRight: \"16px\" }}\n >\n Cancel\n </button>\n {this.props.module.overrideUrl && !this.props.module.disabled && (\n <button\n type=\"button\"\n onClick={() => {\n if (this.props.module.disabled) {\n window.importMapOverrides.enableOverride(\n this.props.module.moduleName\n );\n } else {\n window.importMapOverrides.disableOverride(\n this.props.module.moduleName\n );\n }\n this.props.cancel();\n }}\n tabIndex={6}\n style={{ marginRight: \"16px\" }}\n >\n {this.props.module.disabled ? \"Enable\" : \"Disable\"} Override\n </button>\n )}\n <button\n type=\"submit\"\n tabIndex={7}\n className={\n this.state.overrideUrl ? \"imo-overridden\" : \"imo-default\"\n }\n >\n {this.state.overrideUrl ? \"Apply override\" : \"Reset to default\"}\n </button>\n </div>\n </form>\n </dialog>\n </div>\n );\n }\n\n handleInputRef = (el) => {\n this.inputEl = el;\n };\n\n handleModuleNameRef = (el) => {\n this.moduleNameEl = el;\n };\n\n dialogRef = (el) => {\n this.dialogEl = el;\n };\n\n handleSubmit = (evt) => {\n evt.preventDefault();\n if (\n this.props.module.moduleName &&\n window.importMapOverrides.isDisabled(this.props.module.moduleName)\n ) {\n window.importMapOverrides.enableOverride(this.props.module.moduleName);\n }\n if (this.props.module.isNew) {\n this.props.addNewModule(this.state.moduleName, this.state.overrideUrl);\n } else {\n this.props.updateModuleUrl(this.state.overrideUrl);\n }\n };\n\n getDerivedUrl = () => {\n const moduleName = this.props.module.isNew\n ? this.state.moduleName\n : this.props.module.moduleName;\n return portRegex.test(this.state.overrideUrl)\n ? window.importMapOverrides.getUrlFromPort(\n moduleName,\n this.state.overrideUrl\n )\n : this.state.overrideUrl;\n };\n\n keyDown = (evt) => {\n if (evt.key === \"Escape\") {\n evt.stopPropagation();\n this.props.cancel();\n }\n };\n\n focusFirstInput = () => {\n const firstInput = this.moduleNameEl || this.inputEl;\n firstInput.select();\n };\n\n clearModuleName = () => {\n this.setState({ moduleName: \"\" }, () => {\n this.focusFirstInput();\n });\n };\n\n clearInput = () => {\n this.setState({ overrideUrl: \"\" }, () => {\n this.focusFirstInput();\n });\n };\n}\n\nconst portRegex = /^\\d+$/;\n","import { h, Component } from \"preact\";\n\nexport default class ExternalImportMap extends Component {\n state = {\n url: this.props.dialogExternalMap.isNew\n ? \"\"\n : this.props.dialogExternalMap.url,\n };\n inputEl = null;\n componentDidMount() {\n this.inputEl.focus();\n this.dialogEl.addEventListener(\"keydown\", this.keyDown);\n }\n componentWillUnmount() {\n this.dialogEl.removeEventListener(\"keydown\", this.keyDown);\n }\n render() {\n return (\n <div className=\"imo-modal-container\">\n <div className=\"imo-modal\" />\n <dialog\n className=\"imo-module-dialog\"\n open\n ref={(el) => (this.dialogEl = el)}\n >\n <form method=\"dialog\" onSubmit={this.handleSubmit}>\n <h3 style={{ marginTop: 0 }}>\n {this.props.dialogExternalMap.isNew\n ? \"Add External Import Map\"\n : \"Edit External Import Map\"}\n </h3>\n <div style={{ marginBottom: \"20px\" }}>\n <label htmlFor=\"external-importmap-url\">URL to import map:</label>\n <span style={{ position: \"relative\" }}>\n <input\n id=\"external-importmap-url\"\n type=\"text\"\n value={this.state.url}\n onInput={(evt) => this.setState({ url: evt.target.value })}\n ref={(el) => (this.inputEl = el)}\n required={this.props.dialogExternalMap.isNew}\n />\n <div\n role=\"button\"\n tabIndex={0}\n className=\"imo-clear-input\"\n onClick={() => this.setState({ url: \"\" })}\n >\n <div>{\"\\u24E7\"}</div>\n </div>\n </span>\n </div>\n <div className=\"imo-dialog-actions\">\n <button\n type=\"button\"\n onClick={this.props.cancel}\n style={{ marginRight: \"16px\" }}\n >\n Cancel\n </button>\n <button\n type=\"submit\"\n className={this.state.url ? \"imo-overridden\" : \"imo-default\"}\n >\n {this.state.url || this.props.dialogExternalMap.isNew\n ? \"Apply override\"\n : \"Remove override\"}\n </button>\n </div>\n </form>\n </dialog>\n </div>\n );\n }\n handleSubmit = (evt) => {\n evt.preventDefault();\n\n if (!this.props.dialogExternalMap.isNew) {\n window.importMapOverrides.removeExternalOverride(\n this.props.dialogExternalMap.url\n );\n }\n\n if (this.state.url) {\n window.importMapOverrides.addExternalOverride(this.state.url);\n }\n\n this.props.cancel();\n };\n keyDown = (evt) => {\n if (evt.key === \"Escape\") {\n evt.stopPropagation();\n this.props.cancel();\n }\n };\n}\n","import { h, Component } from \"preact\";\n\nexport default class DevLibOverrides extends Component {\n componentDidMount() {\n window.importMapOverrides.getCurrentPageMap().then(addDevLibOverrides);\n }\n render() {\n return null;\n }\n}\n\nconst removeMin = (url) => url.replace(\".min.js\", \".js\");\n\nexport const devLibs = {\n react: (url) => url.replace(\"production.min\", \"development\"),\n \"react-dom\": (url) => url.replace(\"production.min\", \"development\"),\n \"single-spa\": (url) => url.replace(\"single-spa.min.js\", \"single-spa.dev.js\"),\n vue: removeMin,\n \"vue-router\": removeMin,\n \"@angular/core\": removeMin,\n \"@angular/common\": removeMin,\n \"@angular/router\": removeMin,\n \"@angular/platform-browser\": removeMin,\n};\n\nfunction addDevLibOverrides(notOverriddenMap) {\n Object.keys(notOverriddenMap.imports)\n .filter((libName) => devLibs[libName])\n .forEach((libName) => {\n window.importMapOverrides.addOverride(\n libName,\n devLibs[libName](notOverriddenMap.imports[libName])\n );\n });\n}\n\nexport function overridesBesidesDevLibs() {\n return (\n Object.keys(window.importMapOverrides.getOverrideMap().imports).filter(\n (k) => !devLibs[k]\n ).length > 0\n );\n}\n","import { h, Component, render } from \"preact\";\nimport { includes } from \"../../util/includes.js\";\nimport ModuleDialog from \"./module-dialog.component\";\nimport ExternalImportMap from \"./external-importmap-dialog.component\";\nimport { devLibs } from \"../dev-lib-overrides.component\";\n\nexport default class List extends Component {\n state = {\n notOverriddenMap: { imports: {} },\n currentPageMap: { imports: {} },\n nextPageMap: { imports: {} },\n dialogModule: null,\n dialogExternalMap: null,\n searchVal: \"\",\n };\n componentDidMount() {\n window.importMapOverrides.getDefaultMap().then((notOverriddenMap) => {\n this.setState({ notOverriddenMap });\n });\n window.importMapOverrides.getCurrentPageMap().then((currentPageMap) => {\n this.setState({ currentPageMap });\n });\n window.importMapOverrides.getNextPageMap().then((nextPageMap) => {\n this.setState({ nextPageMap });\n });\n window.addEventListener(\"import-map-overrides:change\", this.doUpdate);\n this.inputRef.focus();\n }\n componentWillUnmount() {\n window.removeEventListener(\"import-map-overrides:change\", this.doUpdate);\n }\n componentDidUpdate(prevProps, prevState) {\n if (!prevState.dialogModule && this.state.dialogModule) {\n this.dialogContainer = document.createElement(\"div\");\n document.body.appendChild(this.dialogContainer);\n render(\n <ModuleDialog\n module={this.state.dialogModule}\n cancel={this.cancel}\n updateModuleUrl={this.updateModuleUrl}\n addNewModule={this.addNewModule}\n />,\n this.dialogContainer\n );\n } else if (prevState.dialogModule && !this.state.dialogModule) {\n render(null, this.dialogContainer);\n this.dialogContainer.remove();\n delete this.dialogContainer;\n }\n\n if (!prevState.dialogExternalMap && this.state.dialogExternalMap) {\n this.dialogContainer = document.createElement(\"div\");\n document.body.appendChild(this.dialogContainer);\n render(\n <ExternalImportMap\n dialogExternalMap={this.state.dialogExternalMap}\n cancel={this.cancel}\n />,\n this.dialogContainer\n );\n } else if (prevState.dialogExternalMap && !this.state.dialogExternalMap) {\n render(null, this.dialogContainer);\n this.dialogContainer.remove();\n delete this.dialogContainer;\n }\n }\n render() {\n const overriddenModules = [],\n nextOverriddenModules = [],\n disabledOverrides = [],\n defaultModules = [],\n externalOverrideModules = [],\n pendingRefreshDefaultModules = [],\n devLibModules = [];\n\n const overrideMap = window.importMapOverrides.getOverrideMap(true).imports;\n\n const notOverriddenKeys = Object.keys(this.state.notOverriddenMap.imports);\n\n const disabledModules = window.importMapOverrides.getDisabledOverrides();\n\n notOverriddenKeys.filter(this.filterModuleNames).forEach((moduleName) => {\n const mod = {\n moduleName,\n defaultUrl: this.state.notOverriddenMap.imports[moduleName],\n overrideUrl: overrideMap[moduleName],\n disabled: includes(disabledModules, moduleName),\n };\n if (mod.disabled) {\n disabledOverrides.push(mod);\n } else if (overrideMap[moduleName]) {\n if (\n this.state.currentPageMap.imports[moduleName] ===\n overrideMap[moduleName]\n ) {\n if (\n devLibs[moduleName] &&\n devLibs[moduleName](\n this.state.currentPageMap.imports[moduleName]\n ) === overrideMap[moduleName]\n ) {\n devLibModules.push(mod);\n } else {\n overriddenModules.push(mod);\n }\n } else {\n nextOverriddenModules.push(mod);\n }\n } else if (\n this.state.notOverriddenMap.imports[moduleName] ===\n this.state.currentPageMap.imports[moduleName]\n ) {\n defaultModules.push(mod);\n } else if (\n this.state.notOverriddenMap.imports[moduleName] ===\n this.state.nextPageMap.imports[moduleName]\n ) {\n pendingRefreshDefaultModules.push(mod);\n } else {\n externalOverrideModules.push({\n ...mod,\n overrideUrl: this.state.currentPageMap.imports[moduleName],\n });\n }\n });\n\n Object.keys(overrideMap)\n .filter(this.filterModuleNames)\n .forEach((moduleName) => {\n if (!includes(notOverriddenKeys, moduleName)) {\n const mod = {\n moduleName,\n defaultUrl: null,\n overrideUrl: overrideMap[moduleName],\n disabled: includes(disabledModules, moduleName),\n };\n\n if (mod.disabled) {\n disabledOverrides.push(mod);\n } else if (\n this.state.currentPageMap.imports[moduleName] ===\n overrideMap[moduleName]\n ) {\n overriddenModules.push(mod);\n } else {\n nextOverriddenModules.push(mod);\n }\n }\n });\n\n overriddenModules.sort(sorter);\n defaultModules.sort(sorter);\n nextOverriddenModules.sort(sorter);\n\n const { brokenMaps, workingCurrentPageMaps, workingNextPageMaps } =\n getExternalMaps();\n\n return (\n <div className=\"imo-list-container\">\n <div className=\"imo-table-header-actions\">\n <input\n className=\"imo-list-search\"\n aria-label=\"Search modules\"\n placeholder=\"Search modules\"\n value={this.state.searchVal}\n onInput={(evt) => this.setState({ searchVal: evt.target.value })}\n ref={(ref) => (this.inputRef = ref)}\n />\n <div className=\"imo-add-new\">\n <button\n onClick={() =>\n this.setState({\n dialogModule: { moduleName: \"New module\", isNew: true },\n })\n }\n >\n Add new module\n </button>\n </div>\n <div className=\"imo-add-new\">\n <button\n onClick={() => {\n this.setState({\n dialogExternalMap: { url: \"\", isNew: true },\n });\n }}\n >\n Add import map\n </button>\n </div>\n <div className=\"imo-add-new\">\n <button onClick={() => window.importMapOverrides.resetOverrides()}>\n Reset all overrides\n </button>\n </div>\n </div>\n <table className=\"imo-overrides-table\">\n <thead>\n <tr>\n <th>Module Status</th>\n <th>Module Name</th>\n <th>Domain</th>\n <th>Filename</th>\n </tr>\n </thead>\n <tbody>\n {nextOverriddenModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td onClick={this.reload} role=\"button\" tabIndex={0}>\n <div className=\"imo-status imo-next-override\" />\n <div>Inline Override</div>\n <div className=\"imo-needs-refresh\" />\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {pendingRefreshDefaultModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td style={{ position: \"relative\" }}>\n <div className=\"imo-status imo-next-default\" />\n <div>Default</div>\n <div className=\"imo-needs-refresh\" />\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {disabledOverrides.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td>\n <div className=\"imo-status imo-disabled-override\" />\n <div>Override disabled</div>\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {overriddenModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td>\n <div className=\"imo-status imo-current-override\" />\n <div>Inline Override</div>\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {externalOverrideModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td>\n <div className=\"imo-status imo-external-override\" />\n <div>External Override</div>\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {devLibModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n title=\"Automatically use dev version of certain npm libs\"\n >\n <td>\n <div className=\"imo-status imo-dev-lib-override\" />\n <div>Dev Lib Override</div>\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {defaultModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td>\n <div className=\"imo-status imo-default-module\" />\n <div>Default</div>\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n </tbody>\n </table>\n {(brokenMaps.length > 0 ||\n workingCurrentPageMaps.length > 0 ||\n workingNextPageMaps.length > 0) && (\n <table className=\"imo-overrides-table\">\n <thead>\n <th>Import Map Status</th>\n <th>URL</th>\n </thead>\n <tbody>\n {brokenMaps.map((url) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() =>\n this.setState({ dialogExternalMap: { isNew: false, url } })\n }\n key={url}\n >\n <td>\n <div className=\"imo-status imo-disabled-override\" />\n <div>Invalid</div>\n </td>\n <td>{url}</td>\n </tr>\n ))}\n {workingNextPageMaps.map((url) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() =>\n this.setState({ dialogExternalMap: { isNew: false, url } })\n }\n key={url}\n >\n <td>\n <div className=\"imo-status imo-next-override\" />\n <div>Pending refresh</div>\n </td>\n <td>{url}</td>\n </tr>\n ))}\n {workingCurrentPageMaps.map((url) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() =>\n this.setState({ dialogExternalMap: { isNew: false, url } })\n }\n key={url}\n >\n <td>\n <div className=\"imo-status imo-current-override\" />\n <div>Override</div>\n </td>\n <td>{url}</td>\n </tr>\n ))}\n </tbody>\n </table>\n )}\n </div>\n );\n }\n\n reload = (evt) => {\n evt.stopPropagation();\n window.location.reload();\n };\n\n cancel = () => {\n this.setState({ dialogModule: null, dialogExternalMap: null });\n };\n\n updateModuleUrl = (newUrl) => {\n newUrl = newUrl || null;\n\n if (newUrl === null) {\n window.importMapOverrides.removeOverride(\n this.state.dialogModule.moduleName\n );\n } else {\n window.importMapOverrides.addOverride(\n this.state.dialogModule.moduleName,\n newUrl\n );\n }\n\n this.setState({ dialogModule: null });\n };\n\n doUpdate = () => {\n this.forceUpdate();\n window.importMapOverrides.getNextPageMap().then((nextPageMap) => {\n this.setState({ nextPageMap });\n });\n };\n\n addNewModule = (name, url) => {\n if (name && url) {\n window.importMapOverrides.addOverride(name, url);\n }\n this.setState({ dialogModule: null });\n };\n\n filterModuleNames = (moduleName) => {\n return this.state.searchVal.trim().length > 0\n ? includes(moduleName, this.state.searchVal)\n : true;\n };\n}\n\nfunction sorter(first, second) {\n return first.moduleName > second.moduleName;\n}\n\nconst currentBase =\n (document.querySelector(\"base\") && document.querySelector(\"base\").href) ||\n location.origin + \"/\";\n\nfunction toDomain(mod) {\n const urlStr = toUrlStr(mod);\n const url = toURL(urlStr);\n return url ? url.host : urlStr;\n}\n\nfunction toFileName(mod) {\n const urlStr = toUrlStr(mod);\n const url = toURL(urlStr);\n return url ? url.pathname.slice(url.pathname.lastIndexOf(\"/\") + 1) : urlStr;\n}\n\nfunction toUrlStr(mod) {\n return mod.overrideUrl || mod.defaultUrl;\n}\n\nfunction toURL(urlStr) {\n try {\n return new URL(urlStr, currentBase);\n } catch {\n return null;\n }\n}\n\nfunction getExternalMaps() {\n const allExternalMaps = window.importMapOverrides.getExternalOverrides();\n const allCurrentPageMaps =\n window.importMapOverrides.getCurrentPageExternalOverrides();\n const brokenMaps = [],\n workingCurrentPageMaps = [],\n workingNextPageMaps = [];\n\n for (let externalMap of allExternalMaps) {\n if (includes(window.importMapOverrides.invalidExternalMaps, externalMap)) {\n brokenMaps.push(externalMap);\n } else {\n if (includes(allCurrentPageMaps, externalMap)) {\n workingCurrentPageMaps.push(externalMap);\n } else {\n workingNextPageMaps.push(externalMap);\n }\n }\n }\n\n return {\n brokenMaps,\n workingCurrentPageMaps,\n workingNextPageMaps,\n };\n}\n","import { h, Component } from \"preact\";\nimport List from \"./list/list.component\";\n\nexport default class Popup extends Component {\n componentDidMount() {\n window.addEventListener(\"keydown\", this.keydownListener);\n window.addEventListener(\"import-map-overrides:change\", this.doUpdate);\n }\n componentWillUnmount() {\n window.removeEventListener(\"keydown\", this.keydownListener);\n window.removeEventListener(\"import-map-overrides:change\", this.doUpdate);\n }\n doUpdate = () => this.forceUpdate();\n render(props) {\n return (\n <div className=\"imo-popup\">\n <div className=\"imo-header\">\n <div>\n <h1>Import Map Overrides</h1>\n <p>\n This developer tool allows you to view and override your import\n maps. Start by clicking on a module that you'd like to override.{\" \"}\n <a\n target=\"_blank\"\n href=\"https://github.com/joeldenning/import-map-overrides\"\n >\n See documentation for more info\n </a>\n .\n </p>\n </div>\n <button className=\"imo-unstyled\" onClick={props.close}>\n {\"\\u24E7\"}\n </button>\n </div>\n <List importMapChanged={this.props.importMapChanged} />\n </div>\n );\n }\n keydownListener = (evt) => {\n if (evt.key === \"Escape\" && this.props.close) {\n this.props.close();\n }\n };\n}\n","import { h, Component } from \"preact\";\nimport Popup from \"./popup.component\";\nimport DevLibOverrides, {\n overridesBesidesDevLibs,\n} from \"./dev-lib-overrides.component\";\n\nfunction validateTriggerPosition(position) {\n const validPositions = [\n \"top-left\",\n \"top-right\",\n \"bottom-left\",\n \"bottom-right\",\n ];\n\n return validPositions.indexOf(position) >= 0 ? position : \"bottom-right\";\n}\n\nconst validPositions = [\"top-left\", \"top-right\", \"bottom-left\", \"bottom-right\"];\nexport default class FullUI extends Component {\n state = {\n showingPopup: false,\n };\n componentDidMount() {\n window.addEventListener(\"import-map-overrides:change\", this.doUpdate);\n }\n componentWillUnmount() {\n window.removeEventListener(\"import-map-overrides:change\", this.doUpdate);\n }\n doUpdate = () => this.forceUpdate();\n render(props, state) {\n const shouldShow =\n !props.customElement.hasAttribute(\"show-when-local-storage\") ||\n localStorage.getItem(\n props.customElement.getAttribute(\"show-when-local-storage\")\n ) === \"true\";\n\n const triggerPosition = validateTriggerPosition(\n props.customElement.getAttribute(\"trigger-position\")\n );\n\n if (!shouldShow) {\n return null;\n }\n\n return (\n <div>\n <button\n onClick={this.toggleTrigger}\n className={`imo-unstyled imo-trigger imo-trigger-${triggerPosition} ${\n this.atLeastOneOverride() ? \"imo-current-override\" : \"\"\n }`}\n >\n {\"{\\u00B7\\u00B7\\u00B7}\"}\n </button>\n {this.useDevLibs() && <DevLibOverrides />}\n {state.showingPopup && (\n <Popup\n close={this.toggleTrigger}\n importMapChanged={this.importMapChanged}\n />\n )}\n </div>\n );\n }\n toggleTrigger = () => {\n this.setState((prevState) => ({\n showingPopup: !prevState.showingPopup,\n }));\n };\n importMapChanged = () => {\n this.forceUpdate();\n };\n useDevLibs = () => {\n const localStorageValue = localStorage.getItem(\n \"import-map-overrides-dev-libs\"\n );\n return localStorageValue\n ? localStorageValue === \"true\"\n : this.props.customElement.hasAttribute(\"dev-libs\");\n };\n atLeastOneOverride = () => {\n if (this.useDevLibs()) {\n return overridesBesidesDevLibs();\n } else {\n return (\n Object.keys(window.importMapOverrides.getOverrideMap().imports).length >\n 0\n );\n }\n };\n}\n","import styles from \"./import-map-overrides.css\";\nimport { render, h } from \"preact\";\nimport FullUI from \"./full-ui.component\";\nimport Popup from \"./popup.component\";\nimport List from \"./list/list.component\";\nimport { isDisabled } from \"../api/js-api\";\n\nif (window.customElements && !isDisabled) {\n window.customElements.define(\n \"import-map-overrides-full\",\n preactCustomElement(FullUI, [\"show-when-local-storage\", \"trigger-position\"])\n );\n window.customElements.define(\n \"import-map-overrides-popup\",\n preactCustomElement(Popup)\n );\n window.customElements.define(\n \"import-map-overrides-list\",\n preactCustomElement(List)\n );\n}\n\nfunction preactCustomElement(Comp, observedAttributes = []) {\n return class PreactCustomElement extends HTMLElement {\n connectedCallback() {\n this.renderWithPreact();\n }\n disconnectedCallback() {\n render(null, this);\n this.renderedEl = null;\n }\n static get observedAttributes() {\n return observedAttributes;\n }\n attributeChangedCallback() {\n this.renderWithPreact();\n }\n renderWithPreact() {\n if (!this.shadowRoot) {\n this.shadow = this.attachShadow({ mode: \"open\" });\n const style = document.createElement(\"style\");\n style.textContent = styles.toString();\n this.shadow.appendChild(style);\n } else {\n this.shadow = this.shadowRoot;\n }\n this.renderedEl = render(\n h(Comp, { customElement: this }),\n this.shadow,\n this.renderedEl\n );\n }\n };\n}\n"],"names":["includes","obj","item","Array","isArray","i","length","indexOf","Error","concat","_typeof","isDisabled","localStoragePrefix","disabledOverridesLocalStorageKey","externalOverridesLocalStorageKey","overrideAttribute","domainsMeta","allowListPrefix","denyListPrefix","importMapMetaElement","document","querySelector","domainsElement","externalOverrideMapPromises","importMapType","getAttribute","content","console","warn","matchHostname","domain","RegExp","string","TypeError","replace","escapeStringRegexp","test","window","location","hostname","slice","split","some","log","expandRelativeUrlImports","imports","baseUrl","Object","entries","reduce","result","_ref9","_ref10","_slicedToArray","key","value","url","URL","href","err","expandRelativeUrl","localStorage","getItem","_unused","canAccessLocalStorage","defaultMapPromise","serverOverrides","hasAttribute","serverOnly","importMapOverrides","addOverride","moduleName","imo","getUrlFromPort","setItem","cookie","fireChangedEvent","getOverrideMap","includeDisabled","arguments","undefined","overrides","scopes","disabledOverrides","getDisabledOverrides","setOverride","path","queryParam","name","results","exec","decodeURIComponent","getParameterByName","parent","referrer","queryParamImportMap","JSON","parse","e","keys","forEach","removeOverride","hasItem","removeItem","enableOverride","resetOverrides","hasOverrides","port","fileName","enableUI","customElementName","showWhenLocalStorage","customElement","createElement","setAttribute","body","appendChild","localStorageKey","renderWithPreact","mergeImportMap","originalMap","newMap","outMap","getDefaultMap","prototype","call","querySelectorAll","promise","scriptEl","nextPromise","src","fetchExternalMap","Promise","resolve","textContent","all","then","_ref","_ref2","getCurrentPageMap","getExternalOverrideMap","getCurrentPageExternalOverrides","_ref3","_ref4","defaultMap","externalOverridesMap","initialOverrideMap","currentPageExternalOverrides","externalOverrideEl","push","getNextPageMap","_ref5","_ref6","disableOverride","stringify","index","splice","getExternalOverrides","localStorageValue","sort","addExternalOverride","baseURI","removeExternalOverride","filter","override","externalOverride","fetchPromise","_ref7","_ref8","firstMap","secondMap","isExternalMapValid","importMapUrl","invalidExternalMaps","canFireCustomEvents","CustomEvent","fireEvent","type","setTimeout","eventType","event","createEvent","initCustomEvent","dispatchEvent","referenceNode","initialExternalOverrideMaps","overridableImportMap","importMaps","insertOverrideMap","insertAllExternalOverrideMaps","map","id","overrideMapElement","insertAdjacentElement","head","fetch","r","ok","json","catch","status","importMap","scopeKey","expandRelativeUrlsInImportMap","mapUrl","init","css","ref","insertAt","getElementsByTagName","style","firstChild","insertBefore","styleSheet","cssText","createTextNode","n","l","u","t","o","c","s","a","h","parentNode","removeChild","v","f","children","defaultProps","y","props","__k","__","__b","__e","__d","__c","__h","constructor","__v","vnode","d","_","this","context","k","b","base","m","g","__r","debounceRendering","__P","j","__n","ownerSVGElement","z","w","p","A","x","P","N","M","nextSibling","$","setProperty","H","toLowerCase","addEventListener","T","I","removeEventListener","removeAttribute","contextType","__E","render","O","sub","state","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","L","diffed","localName","nodeType","createElementNS","is","data","childNodes","dangerouslySetInnerHTML","attributes","__html","innerHTML","C","checked","current","unmount","componentWillUnmount","S","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","bind","ModuleDialog","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","_key","_defineProperty","_assertThisInitialized","apply","match","module","overrideUrl","getInitialOverrideUrl","el","inputEl","moduleNameEl","dialogEl","evt","preventDefault","isNew","addNewModule","updateModuleUrl","portRegex","stopPropagation","cancel","select","focusFirstInput","_createClass","keyDown","prevProps","prevState","_this2","_this3","className","open","dialogRef","method","onSubmit","handleSubmit","marginTop","defaultUrl","position","tabIndex","onInput","target","handleModuleNameRef","required","role","onClick","clearModuleName","handleInputRef","clearInput","getDerivedUrl","marginRight","disabled","Component","ExternalImportMap","dialogExternalMap","focus","marginBottom","htmlFor","DevLibOverrides","addDevLibOverrides","removeMin","devLibs","react","vue","notOverriddenMap","libName","List","currentPageMap","nextPageMap","dialogModule","searchVal","reload","newUrl","trim","doUpdate","inputRef","dialogContainer","remove","overriddenModules","nextOverriddenModules","defaultModules","externalOverrideModules","pendingRefreshDefaultModules","devLibModules","overrideMap","notOverriddenKeys","disabledModules","filterModuleNames","mod","_objectSpread","sorter","_getExternalMaps","_step","allExternalMaps","allCurrentPageMaps","brokenMaps","workingCurrentPageMaps","workingNextPageMaps","_iterator","_createForOfIteratorHelper","done","externalMap","getExternalMaps","placeholder","toDomain","toFileName","title","first","second","currentBase","origin","urlStr","toUrlStr","toURL","host","pathname","lastIndexOf","Popup","close","keydownListener","importMapChanged","FullUI","showingPopup","useDevLibs","shouldShow","triggerPosition","toggleTrigger","atLeastOneOverride","preactCustomElement","Comp","observedAttributes","_HTMLElement","PreactCustomElement","renderedEl","shadowRoot","shadow","attachShadow","mode","styles","toString","get","_wrapNativeSuper","HTMLElement","customElements","define"],"mappings":"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"}