@arcgis/lumina-compiler 4.33.0-next.29 → 4.33.0-next.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
- import{a as A}from"./chunk-JFKSI6I7.js";import{nodeExternals as ks}from"rollup-plugin-node-externals";function Yn(e){let{externalize:t=[],bundleIn:n=[],...r}=e.options?.build?.dependencies??{},o={...ks({...r,include:[/^lit[-/]/u,/^@lit[-/]/u,/^lit$/u,...Array.isArray(t)?t.map(Qn):[]],exclude:Array.isArray(n)?n.map(Qn):[]}),configResolved(){e.isInStorybook&&(o.resolveId=void 0)}};return o}var Qn=e=>e?typeof e=="string"?new RegExp(`^${e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&")}`,"u"):e:void 0;import da from"vite-plugin-dts";var Te="customElement.js",Wt="customElement.d.ts",Zn="playwright";import{path as te}from"@arcgis/components-build-utils";import{path as Ht}from"@arcgis/components-build-utils";function er(e,t,n){let i=n.split(Ht.sep).slice(2),o=t._componentPathMapping;return i.forEach((s,a)=>{a===i.length-1?o[""]??=e:(o[s]??={},o=o[s])}),o[""]}function ee(e,t,n){if(!e.startsWith(t))return e;let r=e.slice(t.length),i=Is(r,n);return`${t}${i}`}function Is(e,t){let n=e.split(Ht.sep);n.push(".");let r=t._componentPathMapping,i=0;for(let o of n)if(r[o]===void 0){let s=r[""];return typeof s=="string"?[s,...n.slice(i,-1)].join(Ht.sep):e}else r=r[o],i+=1;return e}var tr=({filePath:e,content:t},n)=>{let r=e.startsWith(n.dir.distComponents)?ee(nr(e),n.dir.distComponents,n):e,i=te.dirname(e),o=r.endsWith(Wt),s=Kt(t,n,e===r?i:te.dirname(r),i),a=o?Rs(s):s;return{filePath:r,content:a}};function nr(e,t=".d.ts"){let r=(t===""?e:e.slice(0,-t.length)).split(te.sep);return r.at(Ns)!==r.at(Ls)?e:te.join(r.slice(0,-1).join(te.sep),t===""?Te:Wt)}var Ns=-1,Ls=-2,$s=/["']\.\.?\/[^'"]+/gu,Kt=(e,t,n,r)=>e.replaceAll($s,i=>{let o=i.slice(1);if(!o.startsWith("./")&&!o.startsWith("../"))return i;let s=te.join(r,o),a=!o.endsWith(".js")&&!o.split("/").at(-1).includes(".")?nr(s,""):s,p=ee(a,t.dir.distComponents,t);if(n===r&&s===p)return i;let l=q(n,p);return`${i[0]}${l}`}),q=(e,t)=>{let n=te.relative(e,t);return n.startsWith(".")?n:`.${te.sep}${n}`};function Rs(e){return`/// <reference types="../../index.d.ts" />
2
- ${e}`}import{path as Ms}from"@arcgis/components-build-utils";import _ from"typescript";import{path as _t}from"@arcgis/components-build-utils";var rr="customElement",ir=(e,t)=>{let{filePath:n,content:r}=e;if(!n.startsWith(t.dir.distComponents))return e;let i=sr(r);if(i===void 0)return e;{let o=r.replace(i,"");return{filePath:n,content:o}}},or=(e,t)=>{let n=[];if(t.apiModule?.declarations.forEach(o=>{"customElement"in o&&n.push(_.factory.createExpressionStatement(_.factory.createCallExpression(_.factory.createIdentifier(rr),void 0,[_.factory.createStringLiteral(o.tagName),_.factory.createIdentifier(o.name)])))}),n.length===0)return e.statements;let r=_t.relative(_t.dirname(e.fileName),_t.join(t.compiler.dir.src,"runtime"));return[_.factory.createImportDeclaration(void 0,_.factory.createImportClause(!1,void 0,_.factory.createNamedImports([_.factory.createImportSpecifier(!1,void 0,_.factory.createIdentifier(rr))])),_.factory.createStringLiteral(r)),...e.statements,...n]};function et(e){let t=sr(e);return t===void 0?void 0:t.split(`
3
- `).filter(r=>r.includes(":")).map(r=>r.replace(";","").replaceAll('"',"").replaceAll("'","").split(":")).map(([r,i])=>[r.trim(),i.trim()]).filter(([r])=>!r.startsWith("/")&&!r.startsWith("*"))}function sr(e){let t=e.indexOf("declare global {");if(t===-1)return;let n=e.indexOf(`
4
- }`,t)+2;return e.slice(t,n)}var pr=e=>(t,n)=>[Js,Os,Bs,js,tr,Ws,Hs,ir,...e.options.types?.declarationTextTransformers??[],...e._declarationTextTransformers].reduce((r,i)=>r===!1?!1:i(r,e),{filePath:t,content:n}),Js=(e,t)=>t.isInStorybook?!1:e,js=(e,t)=>e.filePath.endsWith(ar)&&e.filePath===Ms.join(t.dir.dist,ar)?!1:e,ar="lumina.d.ts",Os=(e,t)=>{let n=t.dir.dist,r=`${n}src/`;return e.filePath.startsWith(r)?{...e,filePath:`${n}${e.filePath.slice(r.length)}`}:!1},je=e=>e.includes("__test")||e.includes(".e2e.")||e.includes(".spec.")||e.includes(".test."),Bs=e=>je(e.filePath)?!1:e,Ws=e=>e.content.includes("__esri.")?{filePath:e.filePath,content:`/// <reference types="@arcgis/core/interfaces.d.ts" />
5
- ${e.content}`}:e,Hs=(e,t)=>{t._htmlElementReferencesReplacer??={regex:new RegExp(`(${t.apiJsonComponents.map(r=>r.name).join("|")})\\[['"\`]el['"\`]\\]`,"ug"),replacements:Object.fromEntries(t.apiJsonComponents.map(r=>[r.name,`HTML${r.pascalCaseName}Element`]))};let n=t._htmlElementReferencesReplacer;return{filePath:e.filePath,content:e.content.replace(n.regex,(r,i)=>n.replacements[i])}};import Us from"typescript";import{path as Ks}from"@arcgis/components-build-utils";import{getMemberName as _s}from"@arcgis/api-extractor";function lr(e,t){let n=_s(t.name);return e.members.find(r=>r.name===n)}function cr(e,t,n){let r=Ks.relative(t,e);return n.modules.find(i=>i.path===r)}function tt(e,t,n,r){let i={compiler:e,apiModule:e.isInPuppeteerTestBackEnd?void 0:cr(n.fileName,e.dir.root,e.privateApiJson),transformation:t},o=n.statements,s=n.statements;return Object.defineProperty(n,"statements",{get:()=>s,configurable:!0}),r.forEach(a=>{s=a(n,i)}),Object.defineProperty(n,"statements",{value:o}),Vs(n,s)}var Vs=(e,t)=>Us.factory.updateSourceFile(e,t,e.isDeclarationFile,e.referencedFiles,e.typeReferenceDirectives,e.hasNoDefaultLib,e.libReferenceDirectives),ur=e=>`${dr}${" ".repeat(e.length-dr.length-mr.length)}${mr}`,dr="/*",mr="*/";import U from"typescript";var fr=e=>e.statements.map(Xs),zs="@arcgis/lumina",qs="LitElement",Gs="PublicLitElement",Ut="TargetedEvent";function Xs(e){if(U.isImportDeclaration(e)&&U.isStringLiteral(e.moduleSpecifier)&&e.moduleSpecifier.text===zs&&e.importClause?.namedBindings&&U.isNamedImports(e.importClause.namedBindings)){let t=e.importClause.namedBindings.elements.findIndex(r=>(r.propertyName??r.name).text===qs);if(t===-1)return e;let n=e.importClause.namedBindings.elements[t];return U.factory.updateImportDeclaration(e,e.modifiers,U.factory.updateImportClause(e.importClause,e.importClause.isTypeOnly,e.importClause.name,U.factory.updateNamedImports(e.importClause.namedBindings,[...e.importClause.namedBindings.elements.slice(0,t),U.factory.updateImportSpecifier(n,n.isTypeOnly,U.factory.createIdentifier(Gs),n.name),...e.importClause.namedBindings.elements.slice(t+1),U.factory.createImportSpecifier(!e.importClause.isTypeOnly,void 0,U.factory.createIdentifier(Ut))])),e.moduleSpecifier,e.attributes)}else return e}import v from"typescript";import{isNotUndefined as Ys}from"@arcgis/components-utils";import O from"typescript";var Vt="_setterTypes";function yr(e,t,n){return O.factory.createPropertyDeclaration([O.factory.createModifier(O.SyntaxKind.ReadonlyKeyword)],O.factory.createIdentifier(Vt),void 0,O.factory.createTypeLiteralNode(e.map(r=>{let[i,o]=Qs(r.name,r.type,n._typeScriptPrinter,t);return O.factory.createPropertySignature(void 0,i,r.isRequired?void 0:O.factory.createToken(O.SyntaxKind.QuestionToken),o)})),void 0)}function Qs(e,t,n,r){let i=n.printNode(O.EmitHint.Unspecified,e,r),o=n.printNode(O.EmitHint.Unspecified,t,r),s=`declare class A { ${i}: ${o} }`,l=O.createSourceFile("a.d.ts",s,O.ScriptTarget.Latest,!1,O.ScriptKind.TS).statements[0].members[0];return[l.name,l.type]}import{getMemberName as Zs}from"@arcgis/api-extractor";import{toSystemPathSeparators as ea}from"@arcgis/components-build-utils";var hr=(e,t)=>t.apiModule===void 0?e.statements:e.statements.map(n=>ta(n,e,t));function ta(e,t,n){if(v.isClassDeclaration(e)){let r=e,i=r.name?.text,o=n.apiModule.declarations.find(l=>l.name===i&&"customElement"in l);if(o===void 0)return e;let s=n.compiler._typeDependencies.get(o.tagName),a=[],p=r.members.map(l=>na(l,o,a,s,t)).filter(Ys);return a.length>0&&p.push(yr(a,t,n.compiler)),v.factory.updateClassDeclaration(r,r.modifiers,r.name,r.typeParameters,r.heritageClauses?.filter(l=>l.token!==v.SyntaxKind.ImplementsKeyword),p)}else return e}function na(e,t,n,r,i){let o=e.name===void 0?void 0:Zs(e.name);if(o===void 0)return;let s=r?.has(o)??!1,a=t.members.find(p=>p.name===o);if(a?.privacy!==void 0)return s?nt(e):void 0;if(v.isPropertyDeclaration(e))return a===void 0?t.events?.find(l=>l.name===o)===void 0?s?nt(e):void 0:v.factory.updatePropertyDeclaration(e,gr(e.modifiers),e.name,void 0,ra(e.type,i),e.initializer):a.readonly===!0?v.factory.updatePropertyDeclaration(e,gr(e.modifiers),e.name,void 0,e.type,e.initializer):e;if(v.isGetAccessor(e)||v.isSetAccessor(e)){if(a===void 0)return s?nt(e):void 0;if(v.isSetAccessor(e)){if(a.readonly===!0)return;let p=a.getterTypeDiffers!==void 0,c=e.parameters[0].type;p&&c!==void 0&&n.push({name:e.name,type:c,isRequired:a.docsTags?.some(d=>d.name==="required")??!1})}return e}else if(v.isMethodDeclaration(e))return a===void 0?s?nt(e):void 0:e}function nt(e){if(v.isPropertyDeclaration(e)){let t=rt(e.modifiers);if(t!==e.modifiers)return v.factory.updatePropertyDeclaration(e,t,e.name,e.questionToken,e.type,e.initializer)}else if(v.isGetAccessor(e)){let t=rt(e.modifiers);if(t!==e.modifiers)return v.factory.updateGetAccessorDeclaration(e,t,e.name,e.parameters,e.type,e.body)}else if(v.isSetAccessor(e)){let t=rt(e.modifiers);if(t!==e.modifiers)return v.factory.updateSetAccessorDeclaration(e,t,e.name,e.parameters,e.body)}else if(v.isMethodDeclaration(e)){let t=rt(e.modifiers);if(t!==e.modifiers)return v.factory.updateMethodDeclaration(e,t,e.asteriskToken,e.name,e.questionToken,e.typeParameters,e.parameters,e.type,e.body)}return e}function gr(e){return e?.some(n=>n.kind===v.SyntaxKind.ReadonlyKeyword)?e:[v.factory.createModifier(v.SyntaxKind.ReadonlyKeyword),...e??[]]}function rt(e){return e?.some(n=>n.kind===v.SyntaxKind.PrivateKeyword)?e:[v.factory.createModifier(v.SyntaxKind.PrivateKeyword),...(e??[]).filter(n=>n.kind!==v.SyntaxKind.PublicKeyword&&n.kind!==v.SyntaxKind.ProtectedKeyword)]}function ra(e,t){if(e===void 0)return;let n=v.isImportTypeNode(e)&&e.qualifier&&v.isIdentifier(e.qualifier)&&e.qualifier.escapedText==="EventEmitter"?e.typeArguments??[]:v.isTypeReferenceNode(e)&&v.isIdentifier(e.typeName)&&e.typeName.escapedText==="EventEmitter"?e.typeArguments??[]:void 0;return typeof n=="object"?v.factory.createTypeReferenceNode(Ut,[v.factory.createThisTypeNode(),...n]):(console.warn(`Unhandled event type node: ${e.getFullText(t)} (in ${ea(t.fileName)}). Double check you are using events correctly or report this issue to Lumina maintainers`),e)}import{toSystemPathSeparators as sa}from"@arcgis/components-build-utils";import ia from"typescript";var Cr=e=>e.statements.map(oa);function oa(e){if(ia.isImportDeclaration(e)){let t=e.moduleSpecifier.text;if(t.endsWith(".json"))throw new Error(`Found a .json import (${t}) in a .d.ts file. This can cause TypeScript errors for consumers of your package. See alternative options: https://devtopia.esri.com/WebGIS/arcgis-web-components/issues/2047`)}return e}var aa=[fr,hr,Cr];function xr(e){let t,n=pa(e);return{name:"@arcgis/lumina:componentDtsTransformer",supports(r){return t??=new Set(e.componentFiles),r.endsWith(".tsx")&&t.has(r)},transform({id:r}){if(e.isInStorybook)return[];let i=e.typeScriptProgram.getSourceFile(r);if(i===void 0)throw new Error(`Could not find source file: ${sa(r)}`);let o=[];return e.typeScriptProgram.emit(i,(p,l)=>{o.push({path:p,content:l})},void 0,!0,{afterDeclarations:[n]}),o}}}var pa=e=>t=>n=>tt(e,t,n,[...aa,...e.options.types?.declarationAstTransformers??[]]);import{path as ma}from"@arcgis/components-build-utils";var Tr=e=>new Proxy(e,{get:la,set:ca});function la(e,t,n){if(t in e)return Reflect.get(e,t,n);throw new Error(`Requested unexpected property ${String(t)}`)}function ca(e,t){throw new Error(`Unexpectedly tried to set the ${String(t)} property.`)}function br(e){let t=e.options.types??{},n=!1,r={...t?.compilerOptions,rootDir:"."},i=da({...t,compilerOptions:r,tsconfigPath:e.options.types?.tsconfigPath,strictOutput:!0,afterDiagnostic(o){let s=o.length>0,a=e.viteCommand==="build";if(s&&a)throw new Error("TypeScript errors reported. See error messages above");return t?.afterDiagnostic?.(o)},beforeWriteFile:pr(e),resolvers:[{name:"@arcgis/lumina:getHostReference",supports:()=>!n,transform({program:o,host:s}){return n=!0,e.typeScriptProgram=o,e.typeScriptTypeChecker=o.getTypeChecker(),e.typeScriptHost=s,t?.typeScriptInstanceCreated?.(o,s),[]}},...t?.resolvers??[],xr(e)]});return{...i,apply:()=>e.viteCommand==="build",async configResolved(o){r.sourceMap=o.build.sourcemap!==!1;let s=i.configResolved;if(typeof s!="function")throw new Error("Expected configResolved to be a function");await s.call(this,o)},async buildStart(o){let s=i.buildStart;if(typeof s!="function")throw new Error("Expected buildStart to be a function");let a=i.transform;if(typeof a!="function")throw new Error("Expected transform to be a function");if(await s.call(this,o),await a.call(Tr({}),"",ma.join(e.dir.src,"__fakeFile.ts")),!n)throw new Error("Expected resolver to get called")}}}import{isNotUndefined as Xd}from"@arcgis/components-utils";var ua=/\r\n|[\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/gu,fa=new Map(Object.entries({" ":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":`
6
- `,"\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085","\r\n":"\\r\\n"}));function vr(e){return`\\u${`0000${e.toString(ya).toUpperCase()}`.slice(-ga)}`}var ya=16,ga=4;function ha(e,t,n){if(e.charCodeAt(0)===Ta){let r=n.charCodeAt(t+e.length);return r>=ba&&r<=Sa?"\\x00":"\\0"}return fa.get(e)||vr(e.charCodeAt(0))}var Ca=e=>e.replace(ua,ha),Sr=/[^\u0000-\u007F]/g;function xa(e){return e=Ca(e),Sr.test(e)?e.replace(Sr,t=>vr(t.charCodeAt(0))):e}var Er=xa,Ta=0,ba=48,Sa=57,va=/\$\{/gu,wr=e=>e.replace(va,"\\${");function Pr(e){if(e.length===0)return"";let t=e[0];if(e.includes(`
1
+ import{a as D}from"./chunk-JFKSI6I7.js";import{nodeExternals as Ms}from"rollup-plugin-node-externals";function nr(e){let{externalize:t=[],bundleIn:n=[],...r}=e.options?.build?.dependencies??{},o={...Ms({...r,include:[/^lit[-/]/u,/^@lit[-/]/u,/^lit$/u,...Array.isArray(t)?t.map(tr):[]],exclude:Array.isArray(n)?n.map(tr):[]}),configResolved(){e.isInStorybook&&(o.resolveId=void 0)}};return o}var tr=e=>e?typeof e=="string"?new RegExp(`^${e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&")}`,"u"):e:void 0;import ha from"vite-plugin-dts";var Ee="customElement.js",zt="customElement.d.ts",rr="playwright";import{path as oe}from"@arcgis/components-build-utils";import{path as qt}from"@arcgis/components-build-utils";function ir(e,t,n){let i=n.split(qt.sep).slice(2),o=t._componentPathMapping;return i.forEach((s,a)=>{a===i.length-1?o[""]??=e:(o[s]??={},o=o[s])}),o[""]}function ie(e,t,n){if(!e.startsWith(t))return e;let r=e.slice(t.length),i=Js(r,n);return`${t}${i}`}function Js(e,t){let n=e.split(qt.sep);n.push(".");let r=t._componentPathMapping,i=0;for(let o of n)if(r[o]===void 0){let s=r[""];return typeof s=="string"?[s,...n.slice(i,-1)].join(qt.sep):e}else r=r[o],i+=1;return e}var or=({filePath:e,content:t},n)=>{let r=e.startsWith(n.dir.distComponents)?ie(sr(e),n.dir.distComponents,n):e,i=oe.dirname(e),o=r.endsWith(zt),s=Gt(t,n,e===r?i:oe.dirname(r),i),a=o?Ws(s):s;return{filePath:r,content:a}};function sr(e,t=".d.ts"){let r=(t===""?e:e.slice(0,-t.length)).split(oe.sep);return r.at(js)!==r.at(Os)?e:oe.join(r.slice(0,-1).join(oe.sep),t===""?Ee:zt)}var js=-1,Os=-2,Bs=/["']\.\.?\/[^'"]+/gu,Gt=(e,t,n,r)=>e.replaceAll(Bs,i=>{let o=i.slice(1);if(!o.startsWith("./")&&!o.startsWith("../"))return i;let s=oe.join(r,o),a=!o.endsWith(".js")&&!o.split("/").at(-1).includes(".")?sr(s,""):s,p=ie(a,t.dir.distComponents,t);if(n===r&&s===p)return i;let l=Z(n,p);return`${i[0]}${l}`}),Z=(e,t)=>{let n=oe.relative(e,t);return n.startsWith(".")?n:`.${oe.sep}${n}`};function Ws(e){return`/// <reference types="../../index.d.ts" />
2
+ ${e}`}import{path as Hs}from"@arcgis/components-build-utils";import z from"typescript";import{path as Xt}from"@arcgis/components-build-utils";var ar="customElement",pr=(e,t)=>{let{filePath:n,content:r}=e;if(!n.startsWith(t.dir.distComponents))return e;let i=cr(r);if(i===void 0)return e;{let o=r.replace(i,"");return{filePath:n,content:o}}},lr=(e,t)=>{let n=[];if(t.apiModule?.declarations.forEach(o=>{"customElement"in o&&n.push(z.factory.createExpressionStatement(z.factory.createCallExpression(z.factory.createIdentifier(ar),void 0,[z.factory.createStringLiteral(o.tagName),z.factory.createIdentifier(o.name)])))}),n.length===0)return e.statements;let r=Xt.relative(Xt.dirname(e.fileName),Xt.join(t.compiler.dir.src,"runtime"));return[z.factory.createImportDeclaration(void 0,z.factory.createImportClause(!1,void 0,z.factory.createNamedImports([z.factory.createImportSpecifier(!1,void 0,z.factory.createIdentifier(ar))])),z.factory.createStringLiteral(r)),...e.statements,...n]};function rt(e){let t=cr(e);return t===void 0?void 0:t.split(`
3
+ `).filter(r=>r.includes(":")).map(r=>r.replace(";","").replaceAll('"',"").replaceAll("'","").split(":")).map(([r,i])=>[r.trim(),i.trim()]).filter(([r])=>!r.startsWith("/")&&!r.startsWith("*"))}function cr(e){let t=e.indexOf("declare global {");if(t===-1)return;let n=e.indexOf(`
4
+ }`,t)+2;return e.slice(t,n)}var mr=e=>(t,n)=>[Ks,Us,Vs,_s,or,zs,qs,pr,...e.options.types?.declarationTextTransformers??[],...e._declarationTextTransformers].reduce((r,i)=>r===!1?!1:i(r,e),{filePath:t,content:n}),Ks=(e,t)=>t.isInStorybook?!1:e,_s=(e,t)=>e.filePath.endsWith(dr)&&e.filePath===Hs.join(t.dir.dist,dr)?!1:e,dr="lumina.d.ts",Us=(e,t)=>{let n=t.dir.dist,r=`${n}src/`;return e.filePath.startsWith(r)?{...e,filePath:`${n}${e.filePath.slice(r.length)}`}:!1},We=e=>e.includes("__test")||e.includes(".e2e.")||e.includes(".spec.")||e.includes(".test."),Vs=e=>We(e.filePath)?!1:e,zs=e=>e.content.includes("__esri.")?{filePath:e.filePath,content:`/// <reference types="@arcgis/core/interfaces.d.ts" />
5
+ ${e.content}`}:e,qs=(e,t)=>{t._htmlElementReferencesReplacer??={regex:new RegExp(`(${t.apiJsonComponents.map(r=>r.name).join("|")})\\[['"\`]el['"\`]\\]`,"ug"),replacements:Object.fromEntries(t.apiJsonComponents.map(r=>[r.name,`HTML${r.pascalCaseName}Element`]))};let n=t._htmlElementReferencesReplacer;return{filePath:e.filePath,content:e.content.replace(n.regex,(r,i)=>n.replacements[i])}};import Qs from"typescript";import{path as Gs}from"@arcgis/components-build-utils";import{getMemberName as Xs}from"@arcgis/api-extractor";function ur(e,t){let n=Xs(t.name);return e.members.find(r=>r.name===n)}function fr(e,t,n){let r=Gs.relative(t,e);return n.modules.find(i=>i.path===r)}function it(e,t,n,r){let i={compiler:e,apiModule:e.isInPuppeteerTestBackEnd?void 0:fr(n.fileName,e.dir.root,e.privateApiJson),transformation:t},o=n.statements,s=n.statements;return Object.defineProperty(n,"statements",{get:()=>s,configurable:!0}),r.forEach(a=>{s=a(n,i)}),Object.defineProperty(n,"statements",{value:o}),Ys(n,s)}var Ys=(e,t)=>Qs.factory.updateSourceFile(e,t,e.isDeclarationFile,e.referencedFiles,e.typeReferenceDirectives,e.hasNoDefaultLib,e.libReferenceDirectives),hr=e=>`${yr}${" ".repeat(e.length-yr.length-gr.length)}${gr}`,yr="/*",gr="*/";import G from"typescript";var Cr=e=>e.statements.map(na),Zs="@arcgis/lumina",ea="LitElement",ta="PublicLitElement",Qt="TargetedEvent";function na(e){if(G.isImportDeclaration(e)&&G.isStringLiteral(e.moduleSpecifier)&&e.moduleSpecifier.text===Zs&&e.importClause?.namedBindings&&G.isNamedImports(e.importClause.namedBindings)){let t=e.importClause.namedBindings.elements.findIndex(r=>(r.propertyName??r.name).text===ea);if(t===-1)return e;let n=e.importClause.namedBindings.elements[t];return G.factory.updateImportDeclaration(e,e.modifiers,G.factory.updateImportClause(e.importClause,e.importClause.isTypeOnly,e.importClause.name,G.factory.updateNamedImports(e.importClause.namedBindings,[...e.importClause.namedBindings.elements.slice(0,t),G.factory.updateImportSpecifier(n,n.isTypeOnly,G.factory.createIdentifier(ta),n.name),...e.importClause.namedBindings.elements.slice(t+1),G.factory.createImportSpecifier(!e.importClause.isTypeOnly,void 0,G.factory.createIdentifier(Qt))])),e.moduleSpecifier,e.attributes)}else return e}import E from"typescript";import{isNotUndefined as ia}from"@arcgis/components-utils";import H from"typescript";var Yt="_setterTypes";function xr(e,t,n){return H.factory.createPropertyDeclaration([H.factory.createModifier(H.SyntaxKind.ReadonlyKeyword)],H.factory.createIdentifier(Yt),void 0,H.factory.createTypeLiteralNode(e.map(r=>{let[i,o]=ra(r.name,r.type,n._typeScriptPrinter,t);return H.factory.createPropertySignature(void 0,i,r.isRequired?void 0:H.factory.createToken(H.SyntaxKind.QuestionToken),o)})),void 0)}function ra(e,t,n,r){let i=n.printNode(H.EmitHint.Unspecified,e,r),o=n.printNode(H.EmitHint.Unspecified,t,r),s=`declare class A { ${i}: ${o} }`,l=H.createSourceFile("a.d.ts",s,H.ScriptTarget.Latest,!1,H.ScriptKind.TS).statements[0].members[0];return[l.name,l.type]}import{getMemberName as oa}from"@arcgis/api-extractor";import{toSystemPathSeparators as sa}from"@arcgis/components-build-utils";var br=(e,t)=>t.apiModule===void 0?e.statements:e.statements.map(n=>aa(n,e,t));function aa(e,t,n){if(E.isClassDeclaration(e)){let r=e,i=r.name?.text,o=n.apiModule.declarations.find(l=>l.name===i&&"customElement"in l);if(o===void 0)return e;let s=n.compiler._typeDependencies.get(o.tagName),a=[],p=r.members.map(l=>pa(l,o,a,s,t)).filter(ia);return a.length>0&&p.push(xr(a,t,n.compiler)),E.factory.updateClassDeclaration(r,r.modifiers,r.name,r.typeParameters,r.heritageClauses?.filter(l=>l.token!==E.SyntaxKind.ImplementsKeyword),p)}else return e}function pa(e,t,n,r,i){let o=e.name===void 0?void 0:oa(e.name);if(o===void 0)return;let s=r?.has(o)??!1,a=t.members.find(p=>p.name===o);if(a?.privacy!==void 0)return s?ot(e):void 0;if(E.isPropertyDeclaration(e))return a===void 0?t.events?.find(l=>l.name===o)===void 0?s?ot(e):void 0:E.factory.updatePropertyDeclaration(e,Tr(e.modifiers),e.name,void 0,la(e.type,i),e.initializer):a.readonly===!0?E.factory.updatePropertyDeclaration(e,Tr(e.modifiers),e.name,void 0,e.type,e.initializer):e;if(E.isGetAccessor(e)||E.isSetAccessor(e)){if(a===void 0)return s?ot(e):void 0;if(E.isSetAccessor(e)){if(a.readonly===!0)return;let p=a.getterTypeDiffers!==void 0,c=e.parameters[0].type;p&&c!==void 0&&n.push({name:e.name,type:c,isRequired:a.docsTags?.some(d=>d.name==="required")??!1})}return e}else if(E.isMethodDeclaration(e))return a===void 0?s?ot(e):void 0:e}function ot(e){if(E.isPropertyDeclaration(e)){let t=st(e.modifiers);if(t!==e.modifiers)return E.factory.updatePropertyDeclaration(e,t,e.name,e.questionToken,e.type,e.initializer)}else if(E.isGetAccessor(e)){let t=st(e.modifiers);if(t!==e.modifiers)return E.factory.updateGetAccessorDeclaration(e,t,e.name,e.parameters,e.type,e.body)}else if(E.isSetAccessor(e)){let t=st(e.modifiers);if(t!==e.modifiers)return E.factory.updateSetAccessorDeclaration(e,t,e.name,e.parameters,e.body)}else if(E.isMethodDeclaration(e)){let t=st(e.modifiers);if(t!==e.modifiers)return E.factory.updateMethodDeclaration(e,t,e.asteriskToken,e.name,e.questionToken,e.typeParameters,e.parameters,e.type,e.body)}return e}function Tr(e){return e?.some(n=>n.kind===E.SyntaxKind.ReadonlyKeyword)?e:[E.factory.createModifier(E.SyntaxKind.ReadonlyKeyword),...e??[]]}function st(e){return e?.some(n=>n.kind===E.SyntaxKind.PrivateKeyword)?e:[E.factory.createModifier(E.SyntaxKind.PrivateKeyword),...(e??[]).filter(n=>n.kind!==E.SyntaxKind.PublicKeyword&&n.kind!==E.SyntaxKind.ProtectedKeyword)]}function la(e,t){if(e===void 0)return;let n=E.isImportTypeNode(e)&&e.qualifier&&E.isIdentifier(e.qualifier)&&e.qualifier.escapedText==="EventEmitter"?e.typeArguments??[]:E.isTypeReferenceNode(e)&&E.isIdentifier(e.typeName)&&e.typeName.escapedText==="EventEmitter"?e.typeArguments??[]:void 0;return typeof n=="object"?E.factory.createTypeReferenceNode(Qt,[E.factory.createThisTypeNode(),...n]):(console.warn(`Unhandled event type node: ${e.getFullText(t)} (in ${sa(t.fileName)}). Double check you are using events correctly or report this issue to Lumina maintainers`),e)}import{toSystemPathSeparators as ma}from"@arcgis/components-build-utils";import ca from"typescript";var Sr=e=>e.statements.map(da);function da(e){if(ca.isImportDeclaration(e)){let t=e.moduleSpecifier.text;if(t.endsWith(".json"))throw new Error(`Found a .json import (${t}) in a .d.ts file. This can cause TypeScript errors for consumers of your package. See alternative options: https://devtopia.esri.com/WebGIS/arcgis-web-components/issues/2047`)}return e}var ua=[Cr,br,Sr];function vr(e){let t,n=fa(e);return{name:"@arcgis/lumina:componentDtsTransformer",supports(r){return t??=new Set(e.componentFiles),r.endsWith(".tsx")&&t.has(r)},transform({id:r}){if(e.isInStorybook)return[];let i=e.typeScriptProgram.getSourceFile(r);if(i===void 0)throw new Error(`Could not find source file: ${ma(r)}`);let o=[];return e.typeScriptProgram.emit(i,(p,l)=>{o.push({path:p,content:l})},void 0,!0,{afterDeclarations:[n]}),o}}}var fa=e=>t=>n=>it(e,t,n,[...ua,...e.options.types?.declarationAstTransformers??[]]);import{path as Ca}from"@arcgis/components-build-utils";var Er=e=>new Proxy(e,{get:ya,set:ga});function ya(e,t,n){if(t in e)return Reflect.get(e,t,n);throw new Error(`Requested unexpected property ${String(t)}`)}function ga(e,t){throw new Error(`Unexpectedly tried to set the ${String(t)} property.`)}function wr(e){let t=e.options.types??{},n=!1,r={...t?.compilerOptions,rootDir:"."},i=ha({...t,compilerOptions:r,tsconfigPath:e.options.types?.tsconfigPath,strictOutput:!0,afterDiagnostic(o){let s=o.length>0,a=e.viteCommand==="build";if(s&&a)throw new Error("TypeScript errors reported. See error messages above");return t?.afterDiagnostic?.(o)},beforeWriteFile:mr(e),resolvers:[{name:"@arcgis/lumina:getHostReference",supports:()=>!n,transform({program:o,host:s}){return n=!0,e.typeScriptProgram=o,e.typeScriptTypeChecker=o.getTypeChecker(),e.typeScriptHost=s,t?.typeScriptInstanceCreated?.(o,s),[]}},...t?.resolvers??[],vr(e)]});return{...i,apply:()=>e.viteCommand==="build",async configResolved(o){r.sourceMap=o.build.sourcemap!==!1;let s=i.configResolved;if(typeof s!="function")throw new Error("Expected configResolved to be a function");await s.call(this,o)},async buildStart(o){let s=i.buildStart;if(typeof s!="function")throw new Error("Expected buildStart to be a function");let a=i.transform;if(typeof a!="function")throw new Error("Expected transform to be a function");if(await s.call(this,o),await a.call(Er({}),"",Ca.join(e.dir.src,"__fakeFile.ts")),!n)throw new Error("Expected resolver to get called")}}}import{isNotUndefined as nm}from"@arcgis/components-utils";var xa=/\r\n|[\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/gu,Ta=new Map(Object.entries({" ":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":`
6
+ `,"\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085","\r\n":"\\r\\n"}));function Ar(e){return`\\u${`0000${e.toString(ba).toUpperCase()}`.slice(-Sa)}`}var ba=16,Sa=4;function va(e,t,n){if(e.charCodeAt(0)===Pa){let r=n.charCodeAt(t+e.length);return r>=Aa&&r<=Da?"\\x00":"\\0"}return Ta.get(e)||Ar(e.charCodeAt(0))}var Ea=e=>e.replace(xa,va),Pr=/[^\u0000-\u007F]/g;function wa(e){return e=Ea(e),Pr.test(e)?e.replace(Pr,t=>Ar(t.charCodeAt(0))):e}var Dr=wa,Pa=0,Aa=48,Da=57,Fa=/\$\{/gu,Fr=e=>e.replace(Fa,"\\${");function kr(e){if(e.length===0)return"";let t=e[0];if(e.includes(`
7
7
  `)){let i=t===`
8
8
  `,o=e.lastIndexOf(`
9
- `),a=e.slice(o+1).trim().length===0,p=i?e.trimStart():e;return a?p.trimEnd():p}return e.trim().length===0?t:e}var ue=e=>wr(Er(e)),Ar=e=>!Ea.test(e),Ea=/^[^\s"'=<>`]+$/u,wa=/[&<>]/gu,Pa={"&":"&amp;","<":"&lt;",">":"&gt;"},it=e=>e.replace(wa,t=>Pa[t]);import $ from"typescript";import{path as Yt,toSystemPathSeparators as Wa,retrievePackageJson as Ha}from"@arcgis/components-build-utils";import{isNotUndefined as Aa}from"@arcgis/components-utils";import{readdir as Da}from"node:fs/promises";import{path as Oe}from"@arcgis/components-build-utils";var Dr=async e=>Object.fromEntries((await e.componentFilesPromise).map(t=>[zt(t),t])),zt=(e,t=Oe.resolve("src"))=>Oe.relative(t,Oe.join(e,"..",Te.slice(0,-3))),be=async(e,t,n=t)=>await Da(n,{recursive:!0}).catch(r=>{if(String(r).includes("ENOENT"))return console.error(`@arcgis/lumina: Unable to find the ${n} directory (cwd: ${process.cwd()})`),[];throw r}).then(r=>{let i=r.map(o=>{if(!o.endsWith(".tsx"))return;let s=Oe.join(n,o);return ne(s,t)?s:void 0}).filter(Aa);return e.componentFiles=i,i});function ne(e,t){if(!e.startsWith(t)||!e.endsWith(".tsx"))return!1;let[n,r]=e.slice(0,-4).split(Oe.sep).slice(Fa);return n===r}var Fa=-2;import ka from"typescript";var Fr=5,kr=1,Ir=1,Nr=3,Lr=4,ot=ka;Ia(ot.createSourceMapGenerator);Na(ot.createTextWriter);La(ot.getNewLineCharacter);var fe=ot;function Ia(e){if(typeof e!="function")throw new Error("Failed to find ts.createSourceMapGenerator() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Fr)throw new Error(`ts.createSourceMapGenerator() signature changed. Expected ${Fr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function Na(e){if(typeof e!="function")throw new Error("Failed to find ts.createTextWriter() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==kr)throw new Error(`ts.createTextWriter() signature changed. Expected ${kr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function La(e){if(typeof e!="function")throw new Error("Failed to find ts.getNewLineCharacter() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Ir)throw new Error(`ts.getNewLineCharacter() signature changed. Expected ${Ir} argument. Lumina needs to be updated to support the new TypeScript version`)}function $a(e){if(typeof e!="function")throw new Error("Failed to find ts.Printer.writeFile() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Nr)throw new Error(`ts.Printer.writeFile() signature changed. Expected ${Nr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function Ra(e){if(typeof e!="function")throw new Error("Failed to find ts.Printer.writeNode() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Lr)throw new Error(`ts.Printer.writeNode() signature changed. Expected ${Lr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function st(e){let t=fe.createPrinter(e);return $a(t.writeFile),Ra(t.writeNode),t}import{globalPackageIdentifier as Ka}from"@arcgis/api-extractor";import{mappedFind as _a}from"@arcgis/components-utils";import Ma from"typescript";function Gt(e){let t=Ma.isUnionTypeNode(e)?e.types.map(qt):[qt(e)],n=new Set(t),r=n.delete("true"),i=n.delete("false");(r||i)&&n.add("boolean");let o=Array.from(n).sort();if(o.length>1&&(o=o.map(s=>s.includes("=>")?`(${s})`:s)),!(o.length>Ja))return o.map(ja)}var Ja=40,$r=e=>e?.some(t=>t.type==="number"||t.type==="boolean"||t.type==="string"||t.type==="any")??!1,Rr=e=>e.length===1&&e[0].type!=="string"&&e[0].type!=="number"&&e[0].type!=="boolean"&&e[0].type!=="any"?void 0:e,at=e=>e.map(Xt).join(" | "),Xt=e=>e.type==="string"&&e.value!==void 0?`"${e.value}"`:e.value??e.type;function ja(e){return e==="boolean"?{type:"boolean"}:Number.isNaN(Number.parseFloat(e))?e.startsWith('"')||e.startsWith("'")?{value:e.slice(1,-1),type:"string"}:{type:e}:{value:e,type:"number"}}import Oa from"typescript";var Mr=(e,t,n,r)=>{let i=e.typeScriptTypeChecker,o=Oa.isSetAccessor(t)?t.parameters[0]:t,s=i.getTypeAtLocation(o),a=!n;return ye(i,s,r,e.dir,a)};function Jr(e,t){if(e.length===0)return;let n=t.matchAll(Ba),r=[];for(let i of n){let o=e.find(s=>s.name===i[0]);o!==void 0&&r.push({...o,start:i.index,end:i.index+o.name.length})}return r.length===0?void 0:r}var Ba=/"[^"]+"|'[^"]+'|\w+/gu;function ye(e,t,n,r,i=!1){let{typeNode:o,references:s}=Or(e,t,n,r),a=Gt(o);a===void 0&&({typeNode:o,references:s}=Or(e,t,n,r,!1),a=Gt(o)??[]);let p=i?a.filter(m=>m.type!=="null"&&m.type!=="undefined"):a,l=at(p),c=Rr(p),d=Jr(s,l);return{text:l,references:d,values:c}}function qt(e){Ua.writeNode($.EmitHint.Unspecified,e,void 0,Qt);let t=Qt.getText();return Qt.clear(),t}var Ua=st({removeComments:!0}),Qt=fe.createTextWriter(`
10
- `),Zt=$.TypeFormatFlags.NoTruncation|$.TypeFormatFlags.WriteArrayAsGenericType|$.TypeFormatFlags.SuppressAnyReturnType|$.TypeFormatFlags.MultilineObjectLiterals,Va=Zt&$.TypeFormatFlags.NodeBuilderFlagsMask,za=Va|$.NodeBuilderFlags.IgnoreErrors|$.NodeBuilderFlags.NoTruncation;function qa(e,t,n,r=!0){let i=new Map;Se(t,i,n,r);let o=t.flags&$.TypeFlags.Union?t.types.every(jr):jr(t),s=e.typeToTypeNode(t,void 0,za&(o?~$.TypeFormatFlags.MultilineObjectLiterals:-1));return i.forEach(Ga),s===void 0?(console.error("Failed to convert type to type node."),$.factory.createTypeReferenceNode($.factory.createIdentifier("unknown"),void 0)):s}var jr=e=>e.flags&$.TypeFlags.Object?e.getProperties().length===1:!!(e.flags&$.TypeFlags.PossiblyFalsy);function Or(e,t,n,r,i=!0){let o=[],s=new Set;function a(l,c){let d=l.aliasSymbol??l.symbol;if(d===void 0)return;let m=c?l.aliasTypeArguments?.[0]?.symbol?.escapedName??"":d.name;if(m.startsWith("_")){let f=d.declarations?.[0];if(f?.kind===$.SyntaxKind.FunctionType){let h=f;if(h.parameters.forEach(y=>{if(y.type===void 0)return;let T=e.getTypeFromTypeNode(y.type);Se(T,new Map,a,!1)}),h.type!==void 0){let y=e.getTypeFromTypeNode(h.type);Se(y,new Map,a,!1)}}return}if(s.has(m))return;let u=c?{name:m,package:void 0,module:"index.js"}:Xa(d,m,n,r);o.push(u),s.add(m)}return{typeNode:qa(e,t,a,i),references:o}}function Se(e,t,n,r=!0){if(typeof e!="object"||e===null||!("checker"in e))return;let i=e;if(t.has(i))return;let o=(i.flags&$.TypeFlags.Object)!==0&&(i.aliasTypeArguments?.[0]?.objectFlags??0&$.ObjectFlags.Class)!==0&&i.aliasSymbol?.escapedName==="ToElement";n?.(i,o);let s=i.origin;if(o||!r)t.set(i,{origin:void 0,aliasSymbol:void 0,aliasTypeArguments:void 0}),Se(s,t,n,r);else{let a=i.aliasSymbol,p=i.aliasTypeArguments;s!==void 0&&(i.origin=void 0),a!==void 0&&(i.aliasSymbol=void 0),p!==void 0&&(i.aliasTypeArguments=void 0),t.set(i,{origin:s,aliasSymbol:a,aliasTypeArguments:p})}Object.entries(i).forEach(([a,p])=>{(a.includes("type")||a.includes("Type")||a==="constraint")&&a!=="resolvedBaseConstructorType"&&a!=="resolvedBaseTypes"&&a!=="typeParameters"&&a!=="typeParameter"&&(Array.isArray(p)?p.forEach(l=>Se(l,t,n,r)):Se(p,t,n,r))})}function Ga(e,t){e.origin!==void 0&&(t.origin=e.origin),e.aliasSymbol!==void 0&&(t.aliasSymbol=e.aliasSymbol),e.aliasTypeArguments!==void 0&&(t.aliasTypeArguments=e.aliasTypeArguments)}function Xa(e,t,n,r){let i=e?.declarations?.map(a=>a.getSourceFile())??[];if(i.length===0){if(t==="Array")return{name:"Array",package:"typescript",module:"lib/lib.es5.d.ts"};console.error(`@arcgis/lumina: Unable to resolve the declaration file name for type ${t} in ${Wa(n.fileName)}`)}if(i.length===0)return{name:t,package:Ka,module:void 0};let{packageName:o,moduleName:s}=Qa(i[0].fileName,r);return o?{name:t,package:o,module:s.length>0?s:void 0,viewUrl:o==="@arcgis/core"&&s==="interfaces.d.ts"?ep(e,i[0]):void 0}:{name:t,package:void 0,module:s}}function Qa(e,t){let n=e.split("/node_modules/");if(n.length>1){let s=n.at(-1);return en(s)}let i=e.split("/dist/");if(i.length>1){let s=i.slice(0,-1).join("/"),p=Ha(s).name,l=i.at(-1);return{packageName:p,moduleName:l}}return{packageName:void 0,moduleName:Yt.relative(t.root,Za(Ya(e,t)))}}function Ya(e,t){return ne(e,t.srcComponents)?Yt.join(t.dist,zt(e,t.src)):e.startsWith(t.src)?Yt.join(t.dist,e.slice(t.src.length)):e}var Za=e=>e.endsWith(".js")||e.endsWith(".d.ts")?e:`${e.endsWith(".ts")?e.slice(0,-3):e.endsWith(".tsx")?e.slice(0,-4):e}.d.ts`;function en(e){let t=e.split("/"),r=e[0].startsWith("@")?2:1,i=t.slice(0,r).join("/"),o=t.slice(r).join("/");return{packageName:i,moduleName:o}}var Wr=e=>e.includes("/node_modules/")||e.includes("/dist/");function ep(e,t){let n=e.declarations;if(n!==void 0)for(let r of n){let i=Br(r,t);if(i!==void 0)return i;if(!("members"in r))continue;let o=r.members;for(let s of o){let a=Br(s,t);if(a!==void 0)return a}}}function Br(e,t){let n=e.jsDoc?.[0]?.comment;if(Array.isArray(n))return _a(n,r=>{if(!$.isJSDocLinkLike(r))return;let i=r.getText(t);if(i.endsWith("Read more...}"))return i.split(" ")[1]})}import{getCwd as Kr,path as _r,toSystemPathSeparators as tn}from"@arcgis/components-build-utils";function Hr(e){let t=[];for(let n of e.matchAll(tp)){let r=n.groups.name,i=n.groups.description.replaceAll(np," ").trim();t.push({name:r,description:i.endsWith("*")?i.slice(0,-1).trim():i})}return t.length===0?void 0:t}var tp=/@prop\s+(?<name>--[\w-]+)\s*:(?<description>[^@/]+)/gu,np=/\n\s+\*? ?/gu;var rp=["css","less","sass","scss","styl","stylus","pcss","postcss","sss"],ve=new RegExp(`\\.(${rp.join("|")})(\\?|$)`,"u"),ip=/^import ["'](?<specifier>[^"']+)["'];$/gmu,op=()=>"throwError",Ur="@arcgis/lumina:loadLitCss",B="?layered",Be="?global",Vr=e=>({name:Ur,enforce:"pre",configResolved(t){let n=t.plugins.find(({name:i})=>i==="vite:css-post");if(n===void 0)throw new Error("Unable to find the vite's built-in vite:css-post plugin");let r=n.transform;if(typeof r!="function")throw new Error("Expected vite:css-post to declare a transform() function");n.transform=async function(o,s){let a=s.endsWith(B);a&&(s=s.slice(0,-B.length));let p=s.endsWith(Be);if(p&&(s=s.slice(0,-Be.length)),!ve.test(s)||s.includes("?"))return await r.call(this,o,s);let l=`${s}?inline`,c=await r.call(this,o,l),{code:d,...m}=typeof c=="string"?{code:c}:c??{};if(typeof d!="string"||!d.startsWith(zr)||!d.endsWith(qr))return console.warn(`${Ur} Expected vite:css-post to return a JS module with a string literal for ${tn(s)}.`),console.log(c),c;if(p)return e._globalCssString=Gr(d),{code:"",map:{mappings:""}};{let u=e.isFullApiExtraction?Hr(o):void 0;if(u!==void 0){e._cssDocs??=new Map,e._cssDocs.set(s,u);let f=e._cssImports.get(s);if(f!==void 0){for(let h of e.apiJsonComponents)if(f.has(h.tagName))if(h.cssProperties===void 0)h.cssProperties=Array.from(u);else{let y=new Set(h.cssProperties.map(T=>T.name));h.cssProperties=[...h.cssProperties,...u.filter(T=>!y.has(T.name))]}}}return{...m,code:lp(d,e.hmrEnabled,e.shouldMinify,a),map:{mappings:""}}}}},transform(t,n){if(!(n.endsWith(".js")||n.endsWith(".ts")||n.endsWith(".tsx")||e.isInStorybook&&n.endsWith(".mdx")))return;let i=0,o=Wr(n),s=!1,a=t.replaceAll(ip,(p,l)=>{if(!ve.test(l)||l.includes("?"))return p;if(o){if((e.options.css?.sideEffectImportHandling??op)(l,n)==="drop")return s=!0,ur(p);{let m=tn(_r.relative(Kr(),n));throw new Error(`Found a side-effect CSS import \`${p}\` in "${m}". Such import is not allowed as it won't work with shadow DOM. This file appears to be external so such import may not be under your control. To ignore this import, please set the css.sideEffectImportHandling property in useLumina() plugin to a function that will return "drop" for this import to indicate that you wish to have this style import dropped. Then, you would have to import the dropped manually in your component like so: \`import { styles } from "example.css";\` and then add \`static override styles = styles;\` to your component`)}}else if(e.isInStorybook&&dp(n,e)){s=!0;let c=`storybookCss$${i}`;return i+=1,["import ",c," from ",p.slice(6),`
11
- `,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, ",c,".styleSheet];"].join("")}else{if(l.endsWith(Be))return p;{let c=tn(_r.relative(Kr(),n));throw new Error(`Found a side-effect CSS import \`${p}\` in "${c}". Such import is not allowed as it won't work with shadow DOM. Please use \`import { styles } from "example.css";\` instead and then add \`static override styles = styles;\` to your component`)}}});return s?{code:a,map:null}:void 0}}),zr='export default "',qr='"',sp="import { css } from '@lit/reactive-element/css-tag.js';\nexport const styles = css`",ap="`;\nexport default styles;",pp=`
9
+ `),a=e.slice(o+1).trim().length===0,p=i?e.trimStart():e;return a?p.trimEnd():p}return e.trim().length===0?t:e}var ge=e=>Fr(Dr(e)),Ir=e=>!ka.test(e),ka=/^[^\s"'=<>`]+$/u,Ia=/[&<>]/gu,Na={"&":"&amp;","<":"&lt;",">":"&gt;"},at=e=>e.replace(Ia,t=>Na[t]);import J from"typescript";import{path as on,toSystemPathSeparators as za,retrievePackageJson as qa}from"@arcgis/components-build-utils";import{isNotUndefined as La}from"@arcgis/components-utils";import{readdir as $a}from"node:fs/promises";import{path as He}from"@arcgis/components-build-utils";var Nr=async e=>Object.fromEntries((await e.componentFilesPromise).map(t=>[Zt(t),t])),Zt=(e,t=He.resolve("src"))=>He.relative(t,He.join(e,"..",Ee.slice(0,-3))),we=async(e,t,n=t)=>await $a(n,{recursive:!0}).catch(r=>{if(String(r).includes("ENOENT"))return console.error(`@arcgis/lumina: Unable to find the ${n} directory (cwd: ${process.cwd()})`),[];throw r}).then(r=>{let i=r.map(o=>{if(!o.endsWith(".tsx"))return;let s=He.join(n,o);return se(s,t)?s:void 0}).filter(La);return e.componentFiles=i,i});function se(e,t){if(!e.startsWith(t)||!e.endsWith(".tsx"))return!1;let[n,r]=e.slice(0,-4).split(He.sep).slice(Ra);return n===r}var Ra=-2;import Ma from"typescript";var Lr=5,$r=1,Rr=1,Mr=3,Jr=4,pt=Ma;Ja(pt.createSourceMapGenerator);ja(pt.createTextWriter);Oa(pt.getNewLineCharacter);var he=pt;function Ja(e){if(typeof e!="function")throw new Error("Failed to find ts.createSourceMapGenerator() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Lr)throw new Error(`ts.createSourceMapGenerator() signature changed. Expected ${Lr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function ja(e){if(typeof e!="function")throw new Error("Failed to find ts.createTextWriter() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==$r)throw new Error(`ts.createTextWriter() signature changed. Expected ${$r} arguments. Lumina needs to be updated to support the new TypeScript version`)}function Oa(e){if(typeof e!="function")throw new Error("Failed to find ts.getNewLineCharacter() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Rr)throw new Error(`ts.getNewLineCharacter() signature changed. Expected ${Rr} argument. Lumina needs to be updated to support the new TypeScript version`)}function Ba(e){if(typeof e!="function")throw new Error("Failed to find ts.Printer.writeFile() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Mr)throw new Error(`ts.Printer.writeFile() signature changed. Expected ${Mr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function Wa(e){if(typeof e!="function")throw new Error("Failed to find ts.Printer.writeNode() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Jr)throw new Error(`ts.Printer.writeNode() signature changed. Expected ${Jr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function lt(e){let t=he.createPrinter(e);return Ba(t.writeFile),Wa(t.writeNode),t}import{globalPackageIdentifier as Ga}from"@arcgis/api-extractor";import{mappedFind as Xa}from"@arcgis/components-utils";import Ha from"typescript";function tn(e){let t=Ha.isUnionTypeNode(e)?e.types.map(en):[en(e)],n=new Set(t),r=n.delete("true"),i=n.delete("false");(r||i)&&n.add("boolean");let o=Array.from(n).sort();if(o.length>1&&(o=o.map(s=>s.includes("=>")?`(${s})`:s)),!(o.length>Ka))return o.map(_a)}var Ka=40,jr=e=>e?.some(t=>t.type==="number"||t.type==="boolean"||t.type==="string"||t.type==="any")??!1,Or=e=>e.length===1&&e[0].type!=="string"&&e[0].type!=="number"&&e[0].type!=="boolean"&&e[0].type!=="any"?void 0:e,ct=e=>e.map(nn).join(" | "),nn=e=>e.type==="string"&&e.value!==void 0?`"${e.value}"`:e.value??e.type;function _a(e){return e==="boolean"?{type:"boolean"}:Number.isNaN(Number.parseFloat(e))?e.startsWith('"')||e.startsWith("'")?{value:e.slice(1,-1),type:"string"}:{type:e}:{value:e,type:"number"}}import Ua from"typescript";var Br=(e,t,n,r)=>{let i=e.typeScriptTypeChecker,o=Ua.isSetAccessor(t)?t.parameters[0]:t,s=i.getTypeAtLocation(o),a=!n;return Ce(i,s,r,e.dir,a)};function Wr(e,t){if(e.length===0)return;let n=t.matchAll(Va),r=[];for(let i of n){let o=e.find(s=>s.name===i[0]);o!==void 0&&r.push({...o,start:i.index,end:i.index+o.name.length})}return r.length===0?void 0:r}var Va=/"[^"]+"|'[^"]+'|\w+/gu;function Ce(e,t,n,r,i=!1){let{typeNode:o,references:s}=Kr(e,t,n,r),a=tn(o);a===void 0&&({typeNode:o,references:s}=Kr(e,t,n,r,!1),a=tn(o)??[]);let p=i?a.filter(m=>m.type!=="null"&&m.type!=="undefined"):a,l=ct(p),c=Or(p),d=Wr(s,l);return{text:l,references:d,values:c}}function en(e){Qa.writeNode(J.EmitHint.Unspecified,e,void 0,rn);let t=rn.getText();return rn.clear(),t}var Qa=lt({removeComments:!0}),rn=he.createTextWriter(`
10
+ `),sn=J.TypeFormatFlags.NoTruncation|J.TypeFormatFlags.WriteArrayAsGenericType|J.TypeFormatFlags.SuppressAnyReturnType|J.TypeFormatFlags.MultilineObjectLiterals,Ya=sn&J.TypeFormatFlags.NodeBuilderFlagsMask,Za=Ya|J.NodeBuilderFlags.IgnoreErrors|J.NodeBuilderFlags.NoTruncation;function ep(e,t,n,r=!0){let i=new Map;Pe(t,i,n,r);let o=t.flags&J.TypeFlags.Union?t.types.every(Hr):Hr(t),s=e.typeToTypeNode(t,void 0,Za&(o?~J.TypeFormatFlags.MultilineObjectLiterals:-1));return i.forEach(tp),s===void 0?(console.error("Failed to convert type to type node."),J.factory.createTypeReferenceNode(J.factory.createIdentifier("unknown"),void 0)):s}var Hr=e=>e.flags&J.TypeFlags.Object?e.getProperties().length===1:!!(e.flags&J.TypeFlags.PossiblyFalsy);function Kr(e,t,n,r,i=!0){let o=[],s=new Set;function a(l,c){let d=l.aliasSymbol??l.symbol;if(d===void 0)return;let m=c?l.aliasTypeArguments?.[0]?.symbol?.escapedName??"":d.name;if(m.startsWith("_")){let f=d.declarations?.[0];if(f?.kind===J.SyntaxKind.FunctionType){let h=f;if(h.parameters.forEach(y=>{if(y.type===void 0)return;let T=e.getTypeFromTypeNode(y.type);Pe(T,new Map,a,!1)}),h.type!==void 0){let y=e.getTypeFromTypeNode(h.type);Pe(y,new Map,a,!1)}}return}if(s.has(m))return;let u=c?{name:m,package:void 0,module:"index.js"}:np(d,m,n,r);o.push(u),s.add(m)}return{typeNode:ep(e,t,a,i),references:o}}function Pe(e,t,n,r=!0){if(typeof e!="object"||e===null||!("checker"in e))return;let i=e;if(t.has(i))return;let o=(i.flags&J.TypeFlags.Object)!==0&&(i.aliasTypeArguments?.[0]?.objectFlags??0&J.ObjectFlags.Class)!==0&&i.aliasSymbol?.escapedName==="ToElement";n?.(i,o);let s=i.origin;if(o||!r)t.set(i,{origin:void 0,aliasSymbol:void 0,aliasTypeArguments:void 0}),Pe(s,t,n,r);else{let a=i.aliasSymbol,p=i.aliasTypeArguments;s!==void 0&&(i.origin=void 0),a!==void 0&&(i.aliasSymbol=void 0),p!==void 0&&(i.aliasTypeArguments=void 0),t.set(i,{origin:s,aliasSymbol:a,aliasTypeArguments:p})}Object.entries(i).forEach(([a,p])=>{(a.includes("type")||a.includes("Type")||a==="constraint")&&a!=="resolvedBaseConstructorType"&&a!=="resolvedBaseTypes"&&a!=="typeParameters"&&a!=="typeParameter"&&(Array.isArray(p)?p.forEach(l=>Pe(l,t,n,r)):Pe(p,t,n,r))})}function tp(e,t){e.origin!==void 0&&(t.origin=e.origin),e.aliasSymbol!==void 0&&(t.aliasSymbol=e.aliasSymbol),e.aliasTypeArguments!==void 0&&(t.aliasTypeArguments=e.aliasTypeArguments)}function np(e,t,n,r){let i=e?.declarations?.map(a=>a.getSourceFile())??[];if(i.length===0){if(t==="Array")return{name:"Array",package:"typescript",module:"lib/lib.es5.d.ts"};console.error(`@arcgis/lumina: Unable to resolve the declaration file name for type ${t} in ${za(n.fileName)}`)}if(i.length===0)return{name:t,package:Ga,module:void 0};let{packageName:o,moduleName:s}=rp(i[0].fileName,r);return o?{name:t,package:o,module:s.length>0?s:void 0,viewUrl:o==="@arcgis/core"&&s==="interfaces.d.ts"?sp(e,i[0]):void 0}:{name:t,package:void 0,module:s}}function rp(e,t){let n=e.split("/node_modules/");if(n.length>1){let s=n.at(-1);return an(s)}let i=e.split("/dist/");if(i.length>1){let s=i.slice(0,-1).join("/"),p=qa(s).name,l=i.at(-1);return{packageName:p,moduleName:l}}return{packageName:void 0,moduleName:on.relative(t.root,op(ip(e,t)))}}function ip(e,t){return se(e,t.srcComponents)?on.join(t.dist,Zt(e,t.src)):e.startsWith(t.src)?on.join(t.dist,e.slice(t.src.length)):e}var op=e=>e.endsWith(".js")||e.endsWith(".d.ts")?e:`${e.endsWith(".ts")?e.slice(0,-3):e.endsWith(".tsx")?e.slice(0,-4):e}.d.ts`;function an(e){let t=e.split("/"),r=e[0].startsWith("@")?2:1,i=t.slice(0,r).join("/"),o=t.slice(r).join("/");return{packageName:i,moduleName:o}}var Ur=e=>e.includes("/node_modules/")||e.includes("/dist/");function sp(e,t){let n=e.declarations;if(n!==void 0)for(let r of n){let i=_r(r,t);if(i!==void 0)return i;if(!("members"in r))continue;let o=r.members;for(let s of o){let a=_r(s,t);if(a!==void 0)return a}}}function _r(e,t){let n=e.jsDoc?.[0]?.comment;if(Array.isArray(n))return Xa(n,r=>{if(!J.isJSDocLinkLike(r))return;let i=r.getText(t);if(i.endsWith("Read more...}"))return i.split(" ")[1]})}import{getCwd as zr,path as qr,toSystemPathSeparators as pn}from"@arcgis/components-build-utils";function Vr(e){let t=[];for(let n of e.matchAll(ap)){let r=n.groups.name,i=n.groups.description.replaceAll(pp," ").trim();t.push({name:r,description:i.endsWith("*")?i.slice(0,-1).trim():i})}return t.length===0?void 0:t}var ap=/@prop\s+(?<name>--[\w-]+)\s*:(?<description>[^@/]+)/gu,pp=/\n\s+\*? ?/gu;var lp=["css","less","sass","scss","styl","stylus","pcss","postcss","sss"],Ae=new RegExp(`\\.(${lp.join("|")})(\\?|$)`,"u"),cp=/^import ["'](?<specifier>[^"']+)["'];$/gmu,dp=()=>"throwError",Gr="@arcgis/lumina:loadLitCss",K="?layered",Ke="?global",Xr=e=>({name:Gr,enforce:"pre",configResolved(t){let n=t.plugins.find(({name:i})=>i==="vite:css-post");if(n===void 0)throw new Error("Unable to find the vite's built-in vite:css-post plugin");let r=n.transform;if(typeof r!="function")throw new Error("Expected vite:css-post to declare a transform() function");n.transform=async function(o,s){let a=s.endsWith(K);a&&(s=s.slice(0,-K.length));let p=s.endsWith(Ke);if(p&&(s=s.slice(0,-Ke.length)),!Ae.test(s)||s.includes("?"))return await r.call(this,o,s);let l=`${s}?inline`,c=await r.call(this,o,l),{code:d,...m}=typeof c=="string"?{code:c}:c??{};if(typeof d!="string"||!d.startsWith(Qr)||!d.endsWith(Yr))return console.warn(`${Gr} Expected vite:css-post to return a JS module with a string literal for ${pn(s)}.`),console.log(c),c;if(p)return e._globalCssString=Zr(d),{code:"",map:{mappings:""}};{let u=e.isFullApiExtraction?Vr(o):void 0;if(u!==void 0){e._cssDocs??=new Map,e._cssDocs.set(s,u);let f=e._cssImports.get(s);if(f!==void 0){for(let h of e.apiJsonComponents)if(f.has(h.tagName))if(h.cssProperties===void 0)h.cssProperties=Array.from(u);else{let y=new Set(h.cssProperties.map(T=>T.name));h.cssProperties=[...h.cssProperties,...u.filter(T=>!y.has(T.name))]}}}return{...m,code:yp(d,e.hmrEnabled,e.shouldMinify,a),map:{mappings:""}}}}},transform(t,n){if(!(n.endsWith(".js")||n.endsWith(".ts")||n.endsWith(".tsx")||e.isInStorybook&&n.endsWith(".mdx")))return;let i=0,o=Ur(n),s=!1,a=t.replaceAll(cp,(p,l)=>{if(!Ae.test(l)||l.includes("?"))return p;if(o){if((e.options.css?.sideEffectImportHandling??dp)(l,n)==="drop")return s=!0,hr(p);{let m=pn(qr.relative(zr(),n));throw new Error(`Found a side-effect CSS import \`${p}\` in "${m}". Such import is not allowed as it won't work with shadow DOM. This file appears to be external so such import may not be under your control. To ignore this import, please set the css.sideEffectImportHandling property in useLumina() plugin to a function that will return "drop" for this import to indicate that you wish to have this style import dropped. Then, you would have to import the dropped manually in your component like so: \`import { styles } from "example.css";\` and then add \`static override styles = styles;\` to your component`)}}else if(e.isInStorybook&&hp(n,e)){s=!0;let c=`storybookCss$${i}`;return i+=1,["import ",c," from ",p.slice(6),`
11
+ `,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, ",c,".styleSheet];"].join("")}else{if(l.endsWith(Ke))return p;{let c=pn(qr.relative(zr(),n));throw new Error(`Found a side-effect CSS import \`${p}\` in "${c}". Such import is not allowed as it won't work with shadow DOM. Please use \`import { styles } from "example.css";\` instead and then add \`static override styles = styles;\` to your component`)}}});return s?{code:a,map:null}:void 0}}),Qr='export default "',Yr='"',mp="import { css } from '@lit/reactive-element/css-tag.js';\nexport const styles = css`",up="`;\nexport default styles;",fp=`
12
12
 
13
13
  if(import.meta.hot) {
14
14
  import.meta.hot.data.styles ??= styles;
@@ -19,66 +19,68 @@ if(import.meta.hot) {
19
19
  }
20
20
  import.meta.hot.data.styles.styleSheet.replaceSync(nextExports.styles.cssText);
21
21
  });
22
- }`,Gr=e=>e.slice(zr.length,-qr.length);function lp(e,t,n,r){let o=Gr(e).replaceAll('\\"','"').replaceAll("`","\\`").replaceAll("\\r",""),s=ue(cp(o)),a=r?`@layer{${n?"":`
22
+ }`,Zr=e=>e.slice(Qr.length,-Yr.length);function yp(e,t,n,r){let o=Zr(e).replaceAll('\\"','"').replaceAll("`","\\`").replaceAll("\\r",""),s=ge(gp(o)),a=r?`@layer{${n?"":`
23
23
  `}${s}${n?"":`
24
- `}}`:s;return`${sp}${a}${ap}${t?pp:""}`}var cp=e=>e.replaceAll("\\n",`
25
- `),dp=(e,t)=>e.endsWith(".mdx")||e.includes(".stories.")||e.includes(".story.")||e.startsWith(`${t.dir.root}stories/`);import{camelToKebab as yp}from"@arcgis/components-utils";import{lazyMetaSubItemJoiner as gp,lazyMetaItemJoiner as on,lazyMetaGroupJoiner as hp}from"@arcgis/lumina/config";import{path as Cp}from"@arcgis/components-build-utils";function Xr(e){return`import("@storybook/web-components").then(({ setCustomElementsManifest }) => {
26
- setCustomElementsManifest(${mp(e)});
27
- });`}var mp=e=>`JSON.parse(\`${up(JSON.stringify(JSON.stringify(e)).slice(1,-1))}\`)`;function up(e){return e.replaceAll('\\"','"').replaceAll("`","\\`").replaceAll("${","\\${")}function Qr(e){fp(e);let t=e.options.css?.globalStylesPath;if(t===void 0)return"";let n=q(e.dir.src,t);return e.viteCommand==="serve"||e.isInStorybook?[`import globalStyles from "${n}${B}";`,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, globalStyles.styleSheet!];",rn("",e)].join(`
28
- `):`import "${n}${Be}";`}var nn="hydrated";function fp(e){e._globalHydratedCssString=[":not([",e.options.css?.hydratedAttribute??nn,"]):is(",e.apiJsonComponents.map(t=>t.tagName).join(","),"){visibility:hidden}"].join("")}function rn(e,t){return["const globalCss = new CSSStyleSheet();",`globalCss.replaceSync("@layer{${`${t._globalHydratedCssString}${t.shouldMinify?"":"\\n\\n"}${e||""}`}}");`,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, globalCss];"].join(`
29
- `)}var Yr=e=>`${e._globalHydratedCssString}${e.shouldMinify?"":`
30
-
31
- `}${e._globalCssString?JSON.parse(`"${e._globalCssString}"`):""}`;function Zr(e){let t=[],n=[];for(let i of e.privateApiJson.modules){t.push(i.path);for(let o of i.declarations)"customElement"in o&&n.push(xp(o,e,i.path))}return[e.viteCommand==="build"&&e.options.build?.ssr?.stencilCompatibility?.enabled===!0?'import "@lit-labs/ssr-client/lit-element-hydrate-support.js";':"",'import { runtime } from "./runtime";','import { makeDefineCustomElements } from "@arcgis/lumina";',Qr(e),e.hmrEnabled?bp:"","",e.isInStorybook?Xr(e.apiJson):"","","export const defineCustomElements = makeDefineCustomElements(runtime, {",n.join(`,
32
- `),"});",e.hmrEnabled?Sp(t):""].join(`
33
- `)}var ei=`import "./index";
34
- export declare const defineCustomElements: import("@arcgis/lumina").DefineCustomElements;`,xp=(e,t,n)=>[` "${e.tagName}": [`,`()=>import("${Cp.join(t.dir.root,n)}"),`,Tp(e),"]"].join("");function Tp(e){let{properties:t,asyncMethods:n,syncMethods:r}=sn(e),i=t.map(c=>c.join(gp)).join(on),o=n.join(on),s=r.join(on),a=[i,o,s],p=a.findLastIndex(c=>c.length>0),l=a.slice(0,p+1);return l.length>0?`"${l.join(hp)}"`:""}function sn(e){let t=e.members.filter(o=>o.kind==="field").map(o=>{let s=typeof o.attribute=="string",a=s&&o.attribute!==yp(o.name);return s&&!a?[o.name]:[o.name,a?String(o.attribute):""]}),n=e.members.filter(o=>o.kind==="method"&&o.name!=="componentOnReady"),r=n.filter(o=>o.async===!0).map(o=>o.name),i=n.filter(o=>o.async!==!0).map(o=>o.name);return{tagName:e.tagName,properties:t,asyncMethods:r,syncMethods:i}}var bp=`import { handleHmrUpdate, handleComponentMetaUpdate } from "@arcgis/lumina/hmrSupport";
35
- `,Sp=e=>`
24
+ `}}`:s;return`${mp}${a}${up}${t?fp:""}`}var gp=e=>e.replaceAll("\\n",`
25
+ `),hp=(e,t)=>e.endsWith(".mdx")||e.includes(".stories.")||e.includes(".story.")||e.startsWith(`${t.dir.root}stories/`);import{camelToKebab as bp}from"@arcgis/components-utils";import{lazyMetaSubItemJoiner as Sp,lazyMetaItemJoiner as dn,lazyMetaGroupJoiner as vp}from"@arcgis/lumina/config";import{path as Ep}from"@arcgis/components-build-utils";function ei(e){return`import("@storybook/web-components").then(({ setCustomElementsManifest }) => {
26
+ setCustomElementsManifest(${Cp(e)});
27
+ });`}var Cp=e=>`JSON.parse(\`${xp(JSON.stringify(JSON.stringify(e)).slice(1,-1))}\`)`;function xp(e){return e.replaceAll('\\"','"').replaceAll("`","\\`").replaceAll("${","\\${")}function ti(e){Tp(e);let t=e.options.css?.globalStylesPath;if(t===void 0)return"";let n=Z(e.dir.src,t);return e.viteCommand==="serve"||e.isInStorybook?[`import globalStyles from "${n}${K}";`,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, globalStyles.styleSheet!];",cn("",e)].join(`
28
+ `):`import "${n}${Ke}";`}var ln="hydrated";function Tp(e){e._globalHydratedCssString=[":not([",e.options.css?.hydratedAttribute??ln,"]):is(",e.apiJsonComponents.map(t=>t.tagName).join(","),"){visibility:hidden}"].join("")}function cn(e,t){return["const globalCss = new CSSStyleSheet();",`globalCss.replaceSync("@layer{${`${t._globalHydratedCssString}${t.shouldMinify?"":"\\n\\n"}${e||""}`}}");`,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, globalCss];"].join(`
29
+ `)}var ni=e=>`${e._globalHydratedCssString}${e.shouldMinify?"":`
30
+
31
+ `}${e._globalCssString?JSON.parse(`"${e._globalCssString}"`):""}`;function ri(e){let t=[],n=[];for(let i of e.privateApiJson.modules){t.push(i.path);for(let o of i.declarations)"customElement"in o&&n.push(wp(o,e,i.path))}return[e.viteCommand==="build"&&e.options.build?.ssr?.stencilCompatibility?.enabled===!0?'import "@lit-labs/ssr-client/lit-element-hydrate-support.js";':"",'import { runtime } from "./runtime";','import { makeDefineCustomElements } from "@arcgis/lumina";',ti(e),e.hmrEnabled?Ap:"","",e.isInStorybook?ei(e.apiJson):"","","export const defineCustomElements = makeDefineCustomElements(runtime, {",n.join(`,
32
+ `),"});",e.hmrEnabled?Dp(t):""].join(`
33
+ `)}var ii=`import "./index";
34
+ export declare const defineCustomElements: import("@arcgis/lumina").DefineCustomElements;`,wp=(e,t,n)=>[` "${e.tagName}": [`,`()=>import("${Ep.join(t.dir.root,n)}"),`,Pp(e),"]"].join("");function Pp(e){let{properties:t,asyncMethods:n,syncMethods:r}=mn(e),i=t.map(c=>c.join(Sp)).join(dn),o=n.join(dn),s=r.join(dn),a=[i,o,s],p=a.findLastIndex(c=>c.length>0),l=a.slice(0,p+1);return l.length>0?`"${l.join(vp)}"`:""}function mn(e){let t=e.members.filter(o=>o.kind==="field").map(o=>{let s=typeof o.attribute=="string",a=s&&o.attribute!==bp(o.name);return s&&!a?[o.name]:[o.name,a?String(o.attribute):""]}),n=e.members.filter(o=>o.kind==="method"&&o.name!=="componentOnReady"),r=n.filter(o=>o.async===!0).map(o=>o.name),i=n.filter(o=>o.async!==!0).map(o=>o.name);return{tagName:e.tagName,properties:t,asyncMethods:r,syncMethods:i}}var Ap=`import { handleHmrUpdate, handleComponentMetaUpdate } from "@arcgis/lumina/hmrSupport";
35
+ `,Dp=e=>`
36
36
  if(import.meta.hot) {
37
37
  import.meta.hot.on("component-meta-update", handleComponentMetaUpdate);
38
38
  import.meta.hot.accept([
39
39
  ${e.map(t=>` "/${t}",`).join(`
40
40
  `)}
41
41
  ], handleHmrUpdate);
42
- }`;import jp from"typescript";import D from"typescript";import{ApiExtractor as Ip,getMemberName as si,hasIgnoredModifier as Np,setDefaultFromInitializer as ai}from"@arcgis/api-extractor";import{camelToKebab as Lp,kebabToPascal as $p,uncapitalize as Rp}from"@arcgis/components-utils";import{mappedFind as vp}from"@arcgis/components-utils";import pt from"typescript";function lt(e,t){let n=Pp(t.getJsDocTags()),r=pt.displayPartsToString(t.getDocumentationComment(e));r=r.replaceAll(ti,ni);{let i=n.at(-1),o=i?.text?.indexOf(Ep);o!==void 0&&o!==-1&&(r+=i.text.slice(o),i.text=i.text?.slice(0,o))}return{docsTags:n,description:r||void 0}}var Ep=`
42
+ }`;import _p from"typescript";import F from"typescript";import{ApiExtractor as Jp,getMemberName as ci,hasIgnoredModifier as jp,setDefaultFromInitializer as di}from"@arcgis/api-extractor";import{camelToKebab as Op,kebabToPascal as Bp,uncapitalize as Wp}from"@arcgis/components-utils";import{mappedFind as Fp}from"@arcgis/components-utils";import dt from"typescript";function mt(e,t){let n=Np(t.getJsDocTags()),r=dt.displayPartsToString(t.getDocumentationComment(e));r=r.replaceAll(oi,si);{let i=n.at(-1),o=i?.text?.indexOf(kp);o!==void 0&&o!==-1&&(r+=i.text.slice(o),i.text=i.text?.slice(0,o))}return{docsTags:n,description:r||void 0}}var kp=`
43
43
 
44
- [Read more...]`,wp="internal",ti=/\{@link(?:code|plain)? ([^}]+)\}/gu;function ni(e,t){let n=t.indexOf(" ");n===-1&&(n=t.length);let r=t.slice(0,n);return`[${t.slice(n+1)||r}](${r})`}var Pp=e=>e.map(t=>({name:t.name,text:t.text?.map(n=>n.text).join("").replaceAll(ti,ni)})),pn=({modifiers:e=[]},t)=>vp(e,n=>pt.isDecorator(n)&&pt.isCallExpression(n.expression)&&pt.isIdentifier(n.expression.expression)&&n.expression.expression.text===t?n.expression:void 0);function re(e,t,n,r){let i=t.getSymbolAtLocation(e);if(r??=i===void 0?void 0:lt(t,i),r!==void 0){for(let o of r.docsTags){let{name:s,text:a}=o;s==="deprecated"?n.deprecated=a||!0:s==="summary"?n.summary=a:s==="default"?n.default=a:s==="readonly"?n.readonly=!0:s==="notPublic"?(console.warn("The @notPublic JSDoc tag is deprecated. Use @internal or @private instead."),n.docsTags??=[],n.docsTags.push({name:wp,text:a})):s==="private"?n.privacy="private":s==="csspart"?n.cssParts.push(an(a)):s==="cssstate"?n.cssStates.push(an(a)):s==="slot"?n.slots.push(an(a)):(n.docsTags??=[],n.docsTags.push(o))}n.description=r.description}}function an(e){if(e===void 0)return{name:""};let t=e.indexOf(" - ");if(t===-1)return e.startsWith("- ")?{name:"",description:e.slice(2)}:{name:e};let n,r=e.slice(0,t);if(r.startsWith("[")&&r.endsWith("]")){let o=r.slice(1,-1),s=o.indexOf("=");r=o.slice(0,s),n=o.slice(s+1)}let i=e.slice(t+3);return{name:r,default:n,description:i}}import ln from"typescript";import{toSystemPathSeparators as Ap}from"@arcgis/components-build-utils";var Dp="@arcgis/lumina:addMethodMetadata";function ri(e,t,n,r,i){let o=n.getSignatureFromDeclaration(e);if(o===void 0)return;for(let l of e.parameters){if(!ln.isIdentifier(l.name)){console.warn(`${Dp}: Object binding patterns are not yet supported in the docs. Found ${l.name?.getText(r)} in ${e.name.getText(r)} in ${Ap(r.fileName)}`);return}let c=n.getTypeAtLocation(l),d=ye(n,c,r,i);t.parameters.push({name:l.name.text,default:l.initializer?.getText(r),optional:l.questionToken?!0:void 0,rest:l.dotDotDotToken?!0:void 0,type:d})}t.parameters.length===0&&(t.parameters=void 0);let s=n.getReturnTypeOfSignature(o),a=ye(n,s,r,i),p=n.signatureToString(o,e,Zt,ln.SignatureKind.Call);re(e.name,n,t),t.return={type:a},t.signature=p.replace(" =>",":")}var ii=e=>e.modifiers?.some?.(t=>t.kind===ln.SyntaxKind.AsyncKeyword)??!1;import ie from"typescript";function oi(e,t,n,r){let i=n.typeScriptTypeChecker,s=i.getTypeAtLocation(e).getProperty("emit");if(s?.valueDeclaration===void 0)return;let a=s.valueDeclaration,p=i.getTypeOfSymbolAtLocation(s,a);for(let l of p.getCallSignatures()){let c=l.getReturnType();if(c.symbol?.name!=="CustomEvent")continue;let d=i.getTypeArguments(c)?.at(0);if(d===void 0)continue;let m=ye(i,d,r,n.dir),u={name:t,summary:void 0,description:void 0,type:m,inheritedFrom:void 0,deprecated:void 0,docsTags:void 0,bubbles:void 0,cancelable:void 0,composed:void 0,privacy:void 0};return re(e.name,i,u),Fp(e,u,r),u.privacy===void 0?u:void 0}}var ct="createEvent";function Fp(e,t,n){if(!e.initializer||!ie.isCallExpression(e.initializer))return;let r=e.initializer;if(!ie.isIdentifier(r.expression)||r.expression.text!==ct)return;let i=r.arguments[0];if(i!==void 0){if(!ie.isObjectLiteralExpression(i))throw new Error(`Expected object literal expression as first argument of ${ct}(). Found ${t.name} = createEvent(${i.getText(n)})`);if(i.properties.some(o=>ie.isSpreadAssignment(o)))throw new Error(`Unexpected spread syntax in ${ct}() argument. ${ct}() arguments must be statically parsable at compile time`);for(let o of i.properties)!ie.isPropertyAssignment(o)||!ie.isIdentifier(o.name)||(o.name.text==="cancelable"&&!ge(o.initializer,n)&&(t.cancelable=!1),o.name.text==="bubbles"&&!ge(o.initializer,n)&&(t.bubbles=!1),o.name.text==="composed"&&!ge(o.initializer,n)&&(t.composed=!1))}}function ge(e,t){if(e.kind===ie.SyntaxKind.TrueKeyword)return!0;if(e.kind===ie.SyntaxKind.FalseKeyword)return!1;throw new Error(`Expected boolean literal. Instead found ${e?.getText(t)}`)}var Ee="@arcgis/lumina-compiler";import{path as Mp}from"@arcgis/components-build-utils";var He=class extends Ip{constructor(n,r){super({isFullApiExtraction:n.isFullApiExtraction,cwd:n.dir.root});this.context=n;this.isPathOnly=r;this.localCssImports=void 0;this.localDeclaredComponents=void 0;this.componentHtmlTypes=new Map;this.apiComponent=void 0;this.pairedSetter=void 0;this._resolvedInheritance=new Map}extract(n){let r=super.extract(n);return r.compiler.name=Ee,r}extractModules(n){let r=super.extractModules(n);for(let i of r)for(let o of i.declarations)"customElement"in o&&(this.context.isFullApiExtraction&&pi(o,this.context,this.componentHtmlTypes),this.inheritMembers(o,r),this.context.isFullApiExtraction&&(o.members.sort(cn),o.attributes?.sort(cn),o.events?.sort(cn)));return r}extractDeclarations(n){return this.localDeclaredComponents=new Map(et(n.text)?.map(([r,i])=>[i,r])??[]),this.localDeclaredComponents.size===0?[]:super.extractDeclarations(n)}extractDeclaration(n){if(this.context.isFullApiExtraction&&D.isImportDeclaration(n)){this.collectCssImports(n);return}if(D.isClassDeclaration(n))return this.extractComponentDeclaration(n)}collectCssImports(n){let r=n.moduleSpecifier.text;if(!(r.startsWith(".")&&ve.test(r)))return;let o=Mp.join(this.file.fileName,"..",r);this.localCssImports??=new Set,this.localCssImports.add(o)}extractComponentDeclaration(n){if(n.name===void 0)return;let r=n.name.text,i=this.localDeclaredComponents.get(r);if(i===void 0)return;let o={kind:"class",customElement:!0,name:r,tagName:i,deprecated:void 0,summary:void 0,description:void 0,demos:void 0,docsTags:void 0,superclass:We,encapsulation:void 0,pascalCaseName:$p(i),privacy:void 0,importPath:"",members:[],attributes:[],events:[],slots:[],cssParts:[],cssProperties:[],cssStates:[]},s=n.heritageClauses?.find(a=>a.token===D.SyntaxKind.ExtendsKeyword)?.types[0]?.expression;if(s===void 0)throw new Error(`Lumina component must extend LitElement class. Found ${r} in ${this.apiModule.path} that does not extend any class.`);if(D.isIdentifier(s)){let a=s.text;a!==We.name&&(o.superclass={name:a})}if(this.apiComponent=o,o.members=this.extractComponentMembers(n),this.context.isFullApiExtraction){o.attributes=this.inferAttributes(o.members),this.componentHtmlTypes.set(r,`HTML${o.pascalCaseName}Element`);let a=er(i,this.context,this.apiModule.path);if(o.importPath=`components/${a}`,this.localCssImports!==void 0){for(let m of this.localCssImports){let u=this.context._cssImports.get(m);u===void 0?this.context._cssImports.set(m,new Set([o.tagName])):u.add(o.tagName);let f=this.context._cssDocs?.get(m);f!==void 0&&(o.cssProperties=f)}this.localCssImports=void 0}re(n.name,this.context.typeScriptTypeChecker,o);let p=Rp(o.name);o.members.push({kind:"method",name:"componentOnReady",return:{type:{text:"Promise<void>",references:[{module:"lib/lib.es5.d.ts",name:"Promise",package:"typescript",start:0,end:7}]}},description:"Create a promise that resolves once component is fully loaded.",signature:"(): Promise<void>",async:!0,inheritedFrom:We,docsTags:[{name:"example",text:`const ${p} = document.createElement("${o.tagName}");
44
+ [Read more...]`,Ip="internal",oi=/\{@link(?:code|plain)? ([^}]+)\}/gu;function si(e,t){let n=t.indexOf(" ");n===-1&&(n=t.length);let r=t.slice(0,n);return`[${t.slice(n+1)||r}](${r})`}var Np=e=>e.map(t=>({name:t.name,text:t.text?.map(n=>n.text).join("").replaceAll(oi,si)})),fn=({modifiers:e=[]},t)=>Fp(e,n=>dt.isDecorator(n)&&dt.isCallExpression(n.expression)&&dt.isIdentifier(n.expression.expression)&&n.expression.expression.text===t?n.expression:void 0);function ae(e,t,n,r){let i=t.getSymbolAtLocation(e);if(r??=i===void 0?void 0:mt(t,i),r!==void 0){for(let o of r.docsTags){let{name:s,text:a}=o;s==="deprecated"?n.deprecated=a||!0:s==="summary"?n.summary=a:s==="default"?n.default=a:s==="readonly"?n.readonly=!0:s==="notPublic"?(console.warn("The @notPublic JSDoc tag is deprecated. Use @internal or @private instead."),n.docsTags??=[],n.docsTags.push({name:Ip,text:a})):s==="private"?n.privacy="private":s==="csspart"?n.cssParts.push(un(a)):s==="cssstate"?n.cssStates.push(un(a)):s==="slot"?n.slots.push(un(a)):(n.docsTags??=[],n.docsTags.push(o))}n.description=r.description}}function un(e){if(e===void 0)return{name:""};let t=e.indexOf(" - ");if(t===-1)return e.startsWith("- ")?{name:"",description:e.slice(2)}:{name:e};let n,r=e.slice(0,t);if(r.startsWith("[")&&r.endsWith("]")){let o=r.slice(1,-1),s=o.indexOf("=");r=o.slice(0,s),n=o.slice(s+1)}let i=e.slice(t+3);return{name:r,default:n,description:i}}import yn from"typescript";import{toSystemPathSeparators as Lp}from"@arcgis/components-build-utils";var $p="@arcgis/lumina:addMethodMetadata";function ai(e,t,n,r,i){let o=n.getSignatureFromDeclaration(e);if(o===void 0)return;for(let l of e.parameters){if(!yn.isIdentifier(l.name)){console.warn(`${$p}: Object binding patterns are not yet supported in the docs. Found ${l.name?.getText(r)} in ${e.name.getText(r)} in ${Lp(r.fileName)}`);return}let c=n.getTypeAtLocation(l),d=Ce(n,c,r,i);t.parameters.push({name:l.name.text,default:l.initializer?.getText(r),optional:l.questionToken?!0:void 0,rest:l.dotDotDotToken?!0:void 0,type:d})}t.parameters.length===0&&(t.parameters=void 0);let s=n.getReturnTypeOfSignature(o),a=Ce(n,s,r,i),p=n.signatureToString(o,e,sn,yn.SignatureKind.Call);ae(e.name,n,t),t.return={type:a},t.signature=p.replace(" =>",":")}var pi=e=>e.modifiers?.some?.(t=>t.kind===yn.SyntaxKind.AsyncKeyword)??!1;import pe from"typescript";function li(e,t,n,r){let i=n.typeScriptTypeChecker,s=i.getTypeAtLocation(e).getProperty("emit");if(s?.valueDeclaration===void 0)return;let a=s.valueDeclaration,p=i.getTypeOfSymbolAtLocation(s,a);for(let l of p.getCallSignatures()){let c=l.getReturnType();if(c.symbol?.name!=="CustomEvent")continue;let d=i.getTypeArguments(c)?.at(0);if(d===void 0)continue;let m=Ce(i,d,r,n.dir),u={name:t,summary:void 0,description:void 0,type:m,inheritedFrom:void 0,deprecated:void 0,docsTags:void 0,bubbles:void 0,cancelable:void 0,composed:void 0,privacy:void 0};return ae(e.name,i,u),Rp(e,u,r),u.privacy===void 0?u:void 0}}var ut="createEvent";function Rp(e,t,n){if(!e.initializer||!pe.isCallExpression(e.initializer))return;let r=e.initializer;if(!pe.isIdentifier(r.expression)||r.expression.text!==ut)return;let i=r.arguments[0];if(i!==void 0){if(!pe.isObjectLiteralExpression(i))throw new Error(`Expected object literal expression as first argument of ${ut}(). Found ${t.name} = createEvent(${i.getText(n)})`);if(i.properties.some(o=>pe.isSpreadAssignment(o)))throw new Error(`Unexpected spread syntax in ${ut}() argument. ${ut}() arguments must be statically parsable at compile time`);for(let o of i.properties)!pe.isPropertyAssignment(o)||!pe.isIdentifier(o.name)||(o.name.text==="cancelable"&&!xe(o.initializer,n)&&(t.cancelable=!1),o.name.text==="bubbles"&&!xe(o.initializer,n)&&(t.bubbles=!1),o.name.text==="composed"&&!xe(o.initializer,n)&&(t.composed=!1))}}function xe(e,t){if(e.kind===pe.SyntaxKind.TrueKeyword)return!0;if(e.kind===pe.SyntaxKind.FalseKeyword)return!1;throw new Error(`Expected boolean literal. Instead found ${e?.getText(t)}`)}var De="@arcgis/lumina-compiler";import{path as Hp}from"@arcgis/components-build-utils";var Ue=class extends Jp{constructor(n,r){super({isFullApiExtraction:n.isFullApiExtraction,cwd:n.dir.root});this.context=n;this.isPathOnly=r;this.localCssImports=void 0;this.localDeclaredComponents=void 0;this.componentHtmlTypes=new Map;this.apiComponent=void 0;this.pairedSetter=void 0;this._resolvedInheritance=new Map}extract(n){let r=super.extract(n);return r.compiler.name=De,r}extractModules(n){let r=super.extractModules(n);for(let i of r)for(let o of i.declarations)"customElement"in o&&(this.context.isFullApiExtraction&&mi(o,this.context,this.componentHtmlTypes),this.inheritMembers(o,r),this.context.isFullApiExtraction&&(o.members.sort(gn),o.attributes?.sort(gn),o.events?.sort(gn)));return r}extractDeclarations(n){return this.localDeclaredComponents=new Map(rt(n.text)?.map(([r,i])=>[i,r])??[]),this.localDeclaredComponents.size===0?[]:super.extractDeclarations(n)}extractDeclaration(n){if(this.context.isFullApiExtraction&&F.isImportDeclaration(n)){this.collectCssImports(n);return}if(F.isClassDeclaration(n))return this.extractComponentDeclaration(n)}collectCssImports(n){let r=n.moduleSpecifier.text;if(!(r.startsWith(".")&&Ae.test(r)))return;let o=Hp.join(this.file.fileName,"..",r);this.localCssImports??=new Set,this.localCssImports.add(o)}extractComponentDeclaration(n){if(n.name===void 0)return;let r=n.name.text,i=this.localDeclaredComponents.get(r);if(i===void 0)return;let o={kind:"class",customElement:!0,name:r,tagName:i,deprecated:void 0,summary:void 0,description:void 0,demos:void 0,docsTags:void 0,superclass:_e,encapsulation:void 0,pascalCaseName:Bp(i),privacy:void 0,importPath:"",members:[],attributes:[],events:[],slots:[],cssParts:[],cssProperties:[],cssStates:[]},s=n.heritageClauses?.find(a=>a.token===F.SyntaxKind.ExtendsKeyword)?.types[0]?.expression;if(s===void 0)throw new Error(`Lumina component must extend LitElement class. Found ${r} in ${this.apiModule.path} that does not extend any class.`);if(F.isIdentifier(s)){let a=s.text;a!==_e.name&&(o.superclass={name:a})}if(this.apiComponent=o,o.members=this.extractComponentMembers(n),this.context.isFullApiExtraction){o.attributes=this.inferAttributes(o.members),this.componentHtmlTypes.set(r,`HTML${o.pascalCaseName}Element`);let a=ir(i,this.context,this.apiModule.path);if(o.importPath=`components/${a}`,this.localCssImports!==void 0){for(let m of this.localCssImports){let u=this.context._cssImports.get(m);u===void 0?this.context._cssImports.set(m,new Set([o.tagName])):u.add(o.tagName);let f=this.context._cssDocs?.get(m);f!==void 0&&(o.cssProperties=f)}this.localCssImports=void 0}ae(n.name,this.context.typeScriptTypeChecker,o);let p=Wp(o.name);o.members.push({kind:"method",name:"componentOnReady",return:{type:{text:"Promise<void>",references:[{module:"lib/lib.es5.d.ts",name:"Promise",package:"typescript",start:0,end:7}]}},description:"Create a promise that resolves once component is fully loaded.",signature:"(): Promise<void>",async:!0,inheritedFrom:_e,docsTags:[{name:"example",text:`const ${p} = document.createElement("${o.tagName}");
45
45
  document.body.append(${p});
46
46
  ${p}.componentOnReady().then(() => {
47
47
  console.log("${o.tagName} is ready to go!");
48
- });`}]});let l=[],c=this.context.options.documentation?.getComponentDocsUrl?.(i,r),d=this.context.options.documentation?.getComponentDemoUrl?.(i,r);typeof c=="string"&&l.push({description:"Docs",url:c}),typeof d=="string"&&l.push({description:"Demo",url:d}),l.length>0&&(o.demos=l),o.cssProperties.length===0&&(o.cssProperties=void 0),o.cssParts.length===0&&(o.cssParts=void 0),o.slots.length===0&&(o.slots=void 0),o.attributes.length===0&&(o.attributes=void 0),o.events.length===0&&(o.events=void 0),o.cssStates.length===0&&(o.cssStates=void 0)}return o}extractComponentMembers(n){let r=[],i=n.members.length,o,s=n.members[0],a,p=s?.name!==void 0?si(s.name):void 0;for(let l=0;l<i;l++){if(o=s,s=n.members[l+1],a=p,p=s?.name!==void 0?si(s.name):void 0,this.pairedSetter!==void 0){this.pairedSetter=void 0;continue}s!==void 0&&a===p&&(D.isGetAccessor(s)?(this.pairedSetter=o,o=s):D.isSetAccessor(s)&&(this.pairedSetter=s));let c=this.extractComponentMember(o,a);c!==void 0&&r.push(c)}return r}extractComponentMember(n,r){if(Np(n)||r===void 0){D.isPropertyDeclaration(n)&&D.isIdentifier(n.name)&&n.name.text==="shadowRootOptions"&&n.initializer!==void 0&&D.isIdentifier(n.initializer)&&n.initializer.text==="noShadowRoot"&&(this.apiComponent.encapsulation="none");return}return D.isPropertyDeclaration(n)||D.isGetAccessor(n)||D.isSetAccessor(n)?this.extractComponentField(n,r):D.isMethodDeclaration(n)?this.extractComponentMethod(n,r):void 0}extractComponentField(n,r){let i=this.findPropertyOptions(n);this.pairedSetter!==void 0&&(i??=this.findPropertyOptions(this.pairedSetter));let o=D.isPropertyDeclaration(n);if(i===void 0){if(o&&this.context.isFullApiExtraction){let c=this.extractComponentEvent(n,r);c!==void 0&&this.apiComponent.events.push(c)}return}let s,a=!1,p=!1;for(let c of i)!D.isPropertyAssignment(c)||!D.isIdentifier(c.name)||(c.name.text==="attribute"&&(D.isStringLiteral(c.initializer)?s=c.initializer.text:s=ge(c.initializer,this.file)),c.name.text==="reflect"&&ge(c.initializer,this.file)&&(a=!0),c.name.text==="readOnly"&&ge(c.initializer,this.file)&&(p=!0),(c.name.text==="type"||c.name.text==="converter")&&(s??=!0));let l={kind:"field",name:r,summary:void 0,description:void 0,type:{text:""},default:void 0,deprecated:void 0,readonly:p||(o?n.modifiers?.some(c=>c.kind===D.SyntaxKind.ReadonlyKeyword):D.isGetAccessor(n)&&this.pairedSetter===void 0)?!0:void 0,attribute:s===!1?void 0:typeof s=="string"?s:Lp(r),reflects:a||void 0,docsTags:void 0,getterTypeDiffers:void 0,docsOnlyReadonly:void 0,inheritedFrom:void 0,privacy:void 0};return this.context.isFullApiExtraction&&(this.extractComponentFieldDetails(n,l),(s===void 0&&(l.type.values===void 0||!$r(l.type.values))||l.readonly&&!l.reflects)&&(l.attribute=void 0)),l}extractComponentEvent(n,r){return oi(n,r,this.context,this.file)}extractComponentFieldDetails(n,r){let i=r.readonly===!0,o=this.context.typeScriptTypeChecker,s=o.getSymbolAtLocation(n.name),a=s===void 0?void 0:lt(o,s),p=new Set(a?.docsTags.map(h=>h.name)??[]);re(n.name,this.context.typeScriptTypeChecker,r,a);let l=!i&&r.readonly===!0;if(this.context.viteCommand==="build"){let T=(D.isSetAccessor(n)?n.parameters[0]?.type:n.type)?.getText(this.file)?.match(Jp)??[];for(let E of T){let b=this.context._typeDependencies.get(this.apiComponent.tagName);b===void 0?this.context._typeDependencies.set(this.apiComponent.tagName,new Set([E])):b.add(E)}}let c=this.pairedSetter??n,d=r.docsTags?.some(h=>h.name==="required")??!1;r.type=Mr(this.context,c,d,this.file);let m=r.default;ai(n,r,this.file);let u=m===void 0&&r.default==="true";if("initializer"in n&&n.initializer!==void 0&&(!r.default||!r.description)){let h=n.initializer,y=o.getSymbolAtLocation(h),T=y!==void 0&&(y.flags??0)&D.SymbolFlags.Alias?o.getAliasedSymbol(y):y,E=T?.getDeclarations()??[];if(T!==void 0){let b=lt(o,T);if(b.docsTags.length>0){b.docsTags=b.docsTags.filter(j=>!p.has(j.name));let R=r.description;re(n.name,o,r,b),b.docsTags.forEach(j=>{p.add(j.name)}),r.description=R??r.description}else r.description||=b.description}E.forEach(b=>{if(!("initializer"in b))return;let R=b;l||=R.modifiers?.some(j=>j.kind===D.SyntaxKind.ReadonlyKeyword)??!1,ai(R,r,R.getSourceFile())})}if(l&&(r.readonly=!0,i||(r.docsOnlyReadonly=!0)),r.type.values&&r.type.values.length>0&&r.type.values?.every(h=>h.type==="boolean")&&(r.default?u&&this.context.viteCommand==="build"&&r.deprecated===void 0&&this.context.logLintError("booleanMustDefaultFalse",this.file.fileName,`Boolean properties must default to "false". Found default value "true" in ${this.apiComponent.name}.${r.name}`):r.default="false"),this.pairedSetter!==void 0&&!r.readonly){let h=this.pairedSetter.parameters.at(0)?.type?.getText(this.file),y=n.type?.getText(this.file);h!==y&&y!==void 0&&h!==void 0&&(r.getterTypeDiffers=!0)}}findPropertyOptions(n){let r=pn(n,"property");return r===void 0?void 0:r.arguments?.find(D.isObjectLiteralExpression)?.properties??[]}extractComponentMethod(n,r){if(pn(n,"method")===void 0)return;let i={kind:"method",name:r,summary:void 0,description:void 0,deprecated:void 0,parameters:[],return:void 0,inheritedFrom:void 0,docsTags:void 0,signature:"",async:ii(n)?!0:void 0,privacy:void 0};if(this.context.isFullApiExtraction){let o=this.context.typeScriptTypeChecker;ri(n,i,o,this.file,this.context.dir)}return i}inferAttributes(n){let r=[];for(let i of n){if(i.kind!=="field"||i.attribute===void 0||i.privacy!==void 0)continue;let o=i.type.values?.filter(s=>s.type==="number"||s.type==="string"||s.type==="boolean");r.push({name:i.attribute,summary:i.summary,description:i.description,inheritedFrom:i.inheritedFrom,type:o===void 0||o.length===0?i.type:{text:at(o),references:void 0,values:o},default:i.default,fieldName:i.name,deprecated:i.deprecated})}return r}inferExport(n){if("customElement"in n)return this.inferCustomElementExport(n)}inferCustomElementExport(n){return{kind:"custom-element-definition",name:n.tagName,declaration:{name:n.name,module:this.apiModule.path}}}inheritMembers(n,r,i=n.superclass,o,s,a){let p=i.name;if(p===void 0||p===We.name)return;let l=this._resolvedInheritance.get(p)??this.resolveInheritance(p,r)??(this.isPathOnly?this.resolveInheritance(p,this.context.privateApiJson.modules):void 0);if(l!==void 0){o??=new Set(n.members.map(c=>c.name));for(let c of l.members)o.has(c.name)||(n.members.push({...c,inheritedFrom:i}),o.add(c.name));if(l.attributes!==void 0){n.attributes??=[],s??=new Set(n.attributes.map(c=>c.name));for(let c of l.attributes)s.has(c.name)||(n.attributes.push({...c,inheritedFrom:i}),s.add(c.name))}if(l.events!==void 0){n.events??=[],a=new Set(n.events.map(c=>c.name));for(let c of l.events)a.has(c.name)||(n.events.push({...c,inheritedFrom:i}),a.add(c.name))}l.superclass.name!==We.name&&this.inheritMembers(n,r,l.superclass,o,s,a),i.module=l.importPath}}resolveInheritance(n,r){for(let i of r)for(let o of i.declarations)if("customElement"in o&&n===o.name)return this._resolvedInheritance.set(n,o),o;this._resolvedInheritance.set(n,void 0)}},We={name:"LitElement",package:"@arcgis/lumina"},cn=(e,t)=>e.name.localeCompare(t.name),Jp=/(?<=this.)[\w$]+/gu;import{readFile as Op}from"node:fs/promises";async function li(e,t){t||(e.componentFilesPromise=be(e,e.dir.srcComponents));let n=await e.componentFilesPromise,r=await Kp(e,n);e._componentPathMapping={},e._localDefinedComponents=void 0;let i=di(r,e,!1);e.privateApiJson=i;let[o,s]=mi(i);return e.apiJsonComponents=s,e.apiJson=o,i}function ci(e,t,n){let r=e.getSourceFile(t,n),i=di([r],e,!0),o=i.modules[0];{let m=mi(i)[0].modules[0],u=e.apiJson.modules.findIndex(y=>y.path===m.path),f=e.apiJson.modules[u],h=Array.from(e.apiJson.modules);h.splice(u,1,m),e.apiJson={...e.apiJson,modules:h},e.apiJsonComponents=e.apiJsonComponents.filter(y=>!f.declarations.includes(y));for(let y of m.declarations)"customElement"in y&&e.apiJsonComponents.push(y)}let s=e.privateApiJson.modules.findIndex(m=>m.path===o.path),a=e.privateApiJson.modules[s],p=Array.from(e.privateApiJson.modules);p.splice(s,1,o),e.privateApiJson={...e.privateApiJson,modules:p};let l=!1,c=a.declarations.filter(m=>"customElement"in m),d=[];for(let m of o.declarations)if("customElement"in m){let f=c.find(h=>h.tagName===m.tagName)===void 0;l||=f,d.push(m)}return l||=d.length!==c.length,l?void 0:d}function di(e,t,n){let r=t.options.apiJson?.Extractor??He,o=new r(t,n).extract(e);return t.options.apiJson?.afterCreate?.(o,n),o}function mi(e){let t={...e,modules:[]},n=[];for(let r of e.modules){let i={...r,declarations:[]};for(let o of r.declarations)if("customElement"in o&&o.privacy===void 0){let s={...o,members:o.members.filter(a=>a.privacy===void 0)};i.declarations.push(s),n.push(s)}i.declarations.length>0&&t.modules.push(i)}return[t,n]}function pi(e,t,n){e.members.forEach(r=>{if(r.kind==="field")dt(r.type,n,t);else if(dt(r.return?.type,n,t),r.parameters!==void 0)for(let i of r.parameters)dt(i.type,n,t)}),e.events?.forEach(r=>{dt(r.type,n,t)})}function dt(e,t,n){e!==void 0&&(e.references?.forEach(r=>Bp(r,t,n)),e.text=e.text.replaceAll(Hp,(r,i)=>t.get(i)??r),e.values?.forEach(Wp,t))}function Bp(e,t,n){e.package===void 0&&(e.module?.startsWith("dist/components/")===!0?e.module=ee(e.module,"dist/components/",n):e.module==="index.js"&&e.name&&(e.name=t.get(e.name)??e.name))}function Wp(e){e.type.startsWith("ToElement<")&&(e.type=this.get(e.type.slice(10,-1))??e.type)}var Hp=/ToElement<(\w+)>/gu;async function Kp(e,t){if(e.viteCommand==="serve"&&(Object.hasOwn(e,"typeScriptHost")||(e.typeScriptHost=jp.createCompilerHost(e.typeScriptConfig,!1))),e.typeScriptProgram!==void 0){let n=e.typeScriptProgram.getSourceFiles(),r=new Set(t);return n.filter(i=>r.has(i.fileName))}else return await Promise.all(t.map(async n=>{let r=await Op(n,"utf8");return e.getSourceFile(n,r)}))}import{readFile as wc,writeFile as Pc}from"node:fs/promises";import{path as kt,toSystemPathSeparators as Ac}from"@arcgis/components-build-utils";import{isNotUndefined as Fo}from"@arcgis/components-utils";import{isNotUndefined as _p}from"@arcgis/components-utils";import{existsAsync as ui}from"@arcgis/components-build-utils";import{readFile as dn,readdir as Up}from"node:fs/promises";import{asyncRetrievePackageJson as Vp,fetchPackageLocation as zp,retrievePackageJson as qp,path as mt}from"@arcgis/components-build-utils";async function ut(e){return oe??=Gp(e),await oe}function yi(){if(mn===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return mn}function ft(){if(un===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return un}async function Gp(e){let t=qp(e),n=t.dependencies??{},r=t.peerDependencies??{},o=(await Promise.all([...Object.keys(n),...Object.keys(r)].filter(s=>!Xp.has(s)).flatMap(async s=>await fn(s,e)))).filter(_p);return mn??=o,un=Object.fromEntries(o.flatMap(s=>Object.entries(s.components))),o}var Xp=new Set(["@arcgis/arcade-languageservice","@arcgis/components-controllers","@arcgis/components-build-utils","@arcgis/components-utils","@arcgis/core","@arcgis/core-adapter","@arcgis/languages-api-utils","@arcgis/languages-sdk-specs","@arcgis/lumina","@commander-js/extra-typings","@custom-elements-manifest/analyzer","@esri/calcite-ui-icons","@floating-ui/dom","@lit-labs/ssr","@lit-labs/ssr-client","@lit/react","@types/color","@types/sortablejs","color","composed-offset-position","custom-elements-manifest","dayjs","focus-trap","interactjs","lit","lodash-es","monaco-editor","sortablejs","storybook","timezone-groups","type-fest","tslib","typescript","vscode-languageserver-textdocument","vscode-languageserver-types"]),mn,un,oe;async function fn(e,t){let n=await zp(e,t),r=await Vp(n),i="exports"in r,o=nl.bind(void 0,i),s="@stencil/core"in(r.dependencies??{})||"@stencil/core"in(r.devDependencies??{}),a=mt.join(n,"dist/esm/loader.js");if(s?await ui(a):!1){let u=await dn(a,"utf8"),f=Qp(u,"bootstrapLazy("),h=u.indexOf(", options",f),y=u.slice(f,h),T=y.startsWith('JSON.parse("')?y.slice(12,-2).replaceAll('\\"','"'):y;try{let E=JSON.parse(T),b=el(E,{packageName:e,getImportPath:o});return{packageName:e,type:"stencil",components:b}}catch(E){console.warn(`@arcgis/lumina: Failed to parse dist/esm/loader.js for ${e}.
49
- Error: ${String(E)}`)}}let l=fi(r.customElements);if(l!=null){let u=mt.join(n,l),f=JSON.parse(await dn(u,"utf-8")),h=Yp(f),y=yn(f,{packageName:e,getImportPath:o});return{type:h?"@arcgis/lumina":"unknown",packageName:e,components:y}}let c=fi(r["web-types"]);if(c!=null){let u=mt.join(n,c),f=JSON.parse(await dn(u,"utf-8")),h=Zp(f,{packageName:e,getImportPath:o,packageRoot:n});return{type:"unknown",packageName:e,components:h}}let d=mt.join(n,"dist/components");if(await ui(d)){let u=await tl(d,{packageName:e,getImportPath:o});return{type:"unknown",packageName:e,components:u}}}var fi=e=>Array.isArray(e)?e[0]:e;function Qp(e,t){let n=e.indexOf(t);return n===-1?-1:n+t.length}function yn(e,t){let n={};for(let r of e.modules)if(r.declarations!==void 0)for(let i of r.declarations){if(!("tagName"in i))continue;let o=i,s=o,a=o.tagName;n[a]={packageName:t.packageName,moduleName:s.importPath??t.getImportPath(a),propToAttribute:Object.fromEntries((o.attributes??[]).map(p=>[p.fieldName??p.name,p.name]))}}return n}var Yp=e=>e.compiler?.name===Ee,Zp=(e,t)=>Object.fromEntries((e.contributions?.html?.elements??e.contributions?.html?.tags)?.map(n=>[n.name,{packageName:t.packageName,moduleName:t.getImportPath(n.name),propToAttribute:{}}])??[]);var el=(e,t)=>Object.fromEntries(e.flatMap(([n,r])=>r.map(([i,o,s={}])=>[o,{packageName:t.packageName,moduleName:t.getImportPath(o),propToAttribute:Object.fromEntries(Object.entries(s).filter(([a,[p]])=>p&15).map(([a,[p,l=a]])=>[a,l]))}]))),tl=async(e,t)=>Object.fromEntries((await Up(e)).filter(n=>n.endsWith(".d.ts")).map(n=>{let r=n.slice(0,-5);return[r,{packageName:t.packageName,moduleName:t.getImportPath(r),propToAttribute:{}}]})),nl=(e,t)=>e?`components/${t}`:`dist/components/${t}.js`;import{asyncRetrievePackageJson as Cc,fetchPackageLocation as xc}from"@arcgis/components-build-utils";var rl=e=>e.startsWith("/")?e:`/${e}`,we=(e,t)=>`${e}@fs${rl(t)}`;import{retrievePackageJson as il}from"@arcgis/components-build-utils";function G(e=il(),t=!1,n=e.name==="@esri/calcite-components"){let r=e.version.includes("next");if(e.name==="@esri/calcite-components"&&r)return`https://cdn.jsdelivr.net/npm/@esri/calcite-components@${e.version}/dist/calcite/`;let i=t||r?"jsdev.arcgis.com":"js.arcgis.com",o=ol(e.name),s=sl(e.version,n);return["https://",i,o.length>0?"/":"",o,"/",s,"/"].join("")}var ol=e=>e.split("/").pop()??e;function sl(e,t){if(/\d+\.\d+\.\d+-(?:.*)$/u.test(e))return"next";let r=/^(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)/u,i=e.match(r);if(i?.groups!==void 0){let{major:o,minor:s,patch:a}=i.groups,p=`${o}.${s}`;return t?`${p}.${a}`:p}return"next"}import{isNotUndefined as fc}from"@arcgis/components-utils";import{readdir as yc}from"node:fs/promises";import{path as Mn}from"@arcgis/components-build-utils";import{existsAsync as wo}from"@arcgis/components-build-utils";import{asyncRetrievePackageJson as gc,fetchPackageLocation as hc}from"@arcgis/components-build-utils";import{build as sc}from"esbuild";import{findPath as Zl,path as yo,toSystemPathSeparators as ec}from"@arcgis/components-build-utils";import{Deferred as tc,identity as nc}from"@arcgis/components-utils";import K from"typescript";import Ql from"typescript";import Ol from"typescript";import gn from"typescript";var al=["keyed","ref","repeat","live"],se="staticHtml",X="staticSvg",Q="html",ae="svg",hn=Symbol("maybe HTML namespace or maybe SVG"),Cn="css",xn="mathml",gi=[Cn,Q,xn,se,X,ae],hi=new Set(gi),pl=["safeClassMap","safeStyleMap"],ll="nothing",Ci=[...al,...gi,...pl,ll],Pe=e=>gn.isJsxElement(e)||gn.isJsxSelfClosingElement(e)||gn.isJsxFragment(e);import x from"typescript";import S from"typescript";var xi="Fragment",yt="DynamicHtmlTag",gt="DynamicSvgTag",he=Symbol("dynamic html tag name"),Ke=Symbol("dynamic svg tag name"),Ti=!0,ht=new Set(["class","itemProp","itemScope","itemType","itemId","itemRef","about","datatype","inlist","property","resource","typeof","vocab"]),Ct=new Set(["width","height","href","hreflang","form","download","rowSpan","colSpan","viewBox","src","exportParts","hreflang","media"]),_e={button:new Set(["popoverTarget"]),input:new Set(["list","capture"]),iframe:new Set(["sandbox"]),link:new Set(["sizes"]),meta:new Set(["charset"]),math:new Set(["dir","displaystyle","scriptlevel"]),menu:new Set(["label","type"])},W={common:{reflected:{hidden:"hidden",inert:"inert",draggable:"draggable",contentEditable:"contenteditable",popover:"popover",autofocus:"autofocus",role:"role",ariaAtomic:"aria-atomic",ariaAutoComplete:"aria-autocomplete",ariaBusy:"aria-busy",ariaBrailleLabel:"aria-braillelabel",ariaBrailleRoleDescription:"aria-brailleroledescription",ariaChecked:"aria-checked",ariaColCount:"aria-colcount",ariaColIndex:"aria-colindex",ariaColSpan:"aria-colspan",ariaCurrent:"aria-current",ariaDescription:"aria-description",ariaDisabled:"aria-disabled",ariaExpanded:"aria-expanded",ariaHasPopup:"aria-haspopup",ariaHidden:"aria-hidden",ariaInvalid:"aria-invalid",ariaKeyShortcuts:"aria-keyshortcuts",ariaLabel:"aria-label",ariaLevel:"aria-level",ariaLive:"aria-live",ariaModal:"aria-modal",ariaMultiLine:"aria-multiline",ariaMultiSelectable:"aria-multiselectable",ariaOrientation:"aria-orientation",ariaPlaceholder:"aria-placeholder",ariaPosInSet:"aria-posinset",ariaPressed:"aria-pressed",ariaReadOnly:"aria-readonly",ariaRelevant:"aria-relevant",ariaRequired:"aria-required",ariaRoleDescription:"aria-roledescription",ariaRowCount:"aria-rowcount",ariaRowIndex:"aria-rowindex",ariaRowSpan:"aria-rowspan",ariaSelected:"aria-selected",ariaSetSize:"aria-setsize",ariaSort:"aria-sort",ariaValueMax:"aria-valuemax",ariaValueMin:"aria-valuemin",ariaValueNow:"aria-valuenow",ariaValueText:"aria-valuetext",ariaColIndexText:"aria-colindextext",ariaRowIndexText:"aria-rowindextext",ariaVirtualContent:"aria-virtualcontent"},stringifiedReflected:{title:"title",lang:"lang",translate:"translate",dir:"dir",accessKey:"accesskey",spellcheck:"spellcheck",autocapitalize:"autocapitalize",enterKeyHint:"enterkeyhint",inputMode:"inputmode",virtualKeyboardPolicy:"virtualkeyboardpolicy",tabIndex:"tabindex",writingSuggestions:"writingsuggestions",focusgroup:"focusgroup",id:"id",className:"class",slot:"slot",elementTiming:"elementtiming"},stringifiedNonReflected:{innerText:"",nonce:"",innerHTML:""}},perElement:{a:{stringifiedReflected:{target:"target",download:"download",ping:"ping",rel:"rel",hreflang:"hreflang",type:"type",referrerPolicy:"referrerpolicy",coords:"coords",charset:"charset",name:"name",rev:"rev",shape:"shape",href:"href",interestAction:"interestaction",hrefTranslate:"hreftranslate",attributionSrc:"attributionsrc"},stringifiedNonReflected:{text:""}},area:{reflected:{noHref:"nohref"},stringifiedReflected:{alt:"alt",coords:"coords",download:"download",shape:"shape",target:"target",ping:"ping",rel:"rel",referrerPolicy:"referrerpolicy",href:"href",interestAction:"interestaction"}},audio:{reflected:{crossOrigin:"crossorigin",autoplay:"autoplay",loop:"loop",controls:"controls",defaultMuted:"muted",disableRemotePlayback:"disableremoteplayback"},stringifiedReflected:{src:"src",preload:"preload"}},base:{stringifiedReflected:{href:"href",target:"target"}},blockquote:{stringifiedReflected:{cite:"cite"}},body:{stringifiedReflected:{text:"text",link:"link",vLink:"vlink",aLink:"alink",bgColor:"bgcolor",background:"background"}},br:{stringifiedReflected:{clear:"clear"}},button:{reflected:{disabled:"disabled",formNoValidate:"formnovalidate"},stringifiedReflected:{formAction:"formaction",formEnctype:"formenctype",formMethod:"formmethod",formTarget:"formtarget",name:"name",type:"type",value:"value",popoverTargetAction:"popovertargetaction",command:"command",interestAction:"interestaction"}},canvas:{stringifiedReflected:{width:"width",height:"height"}},caption:{stringifiedReflected:{align:"align"}},col:{stringifiedReflected:{span:"span",align:"align",ch:"char",chOff:"charoff",vAlign:"valign",width:"width"}},colgroup:{stringifiedReflected:{span:"span",align:"align",ch:"char",chOff:"charoff",vAlign:"valign",width:"width"}},data:{stringifiedReflected:{value:"value"}},del:{stringifiedReflected:{cite:"cite",dateTime:"datetime"}},details:{reflected:{open:"open"},stringifiedReflected:{name:"name"}},dialog:{reflected:{open:"open"},stringifiedNonReflected:{returnValue:""}},div:{stringifiedReflected:{align:"align"}},dl:{reflected:{compact:"compact"}},embed:{stringifiedReflected:{src:"src",type:"type",width:"width",height:"height",align:"align",name:"name"}},fieldset:{reflected:{disabled:"disabled"},stringifiedReflected:{name:"name"}},form:{reflected:{noValidate:"novalidate"},stringifiedReflected:{acceptCharset:"accept-charset",action:"action",autocomplete:"autocomplete",enctype:"enctype",encoding:"enctype",method:"method",name:"name",target:"target",rel:"rel"}},h1:{stringifiedReflected:{align:"align"}},h2:{stringifiedReflected:{align:"align"}},h3:{stringifiedReflected:{align:"align"}},h4:{stringifiedReflected:{align:"align"}},h5:{stringifiedReflected:{align:"align"}},h6:{stringifiedReflected:{align:"align"}},hr:{reflected:{noShade:"noshade"},stringifiedReflected:{align:"align",color:"color",size:"size",width:"width"}},html:{stringifiedReflected:{version:"version"}},iframe:{reflected:{allowFullscreen:"allowfullscreen",credentialless:"credentialless",allowPaymentRequest:"allowpaymentrequest",browsingTopics:"browsingtopics",adAuctionHeaders:"adauctionheaders",sharedStorageWritable:"sharedstoragewritable"},stringifiedReflected:{src:"src",srcdoc:"srcdoc",name:"name",width:"width",height:"height",referrerPolicy:"referrerpolicy",csp:"csp",allow:"allow",loading:"loading",align:"align",scrolling:"scrolling",frameBorder:"frameborder",longDesc:"longdesc",marginHeight:"marginheight",marginWidth:"marginwidth",policy:"policy",privateToken:"privatetoken"}},img:{reflected:{crossOrigin:"crossorigin",isMap:"ismap",width:"width",height:"height",hspace:"hspace",vspace:"vspace",sharedStorageWritable:"sharedstoragewritable"},stringifiedReflected:{alt:"alt",src:"src",srcset:"srcset",sizes:"sizes",useMap:"usemap",referrerPolicy:"referrerpolicy",decoding:"decoding",fetchPriority:"fetchpriority",loading:"loading",name:"name",lowsrc:"lowsrc",align:"align",longDesc:"longdesc",border:"border",attributionSrc:"attributionsrc"}},input:{reflected:{defaultChecked:"checked",disabled:"disabled",formNoValidate:"formnovalidate",height:"height",multiple:"multiple",readOnly:"readonly",required:"required",size:"size",width:"width",webkitdirectory:"webkitdirectory",incremental:"incremental"},stringifiedReflected:{accept:"accept",alt:"alt",autocomplete:"autocomplete",dirName:"dirname",formAction:"formaction",formEnctype:"formenctype",formMethod:"formmethod",formTarget:"formtarget",max:"max",maxLength:"maxlength",min:"min",minLength:"minlength",name:"name",pattern:"pattern",placeholder:"placeholder",src:"src",step:"step",type:"type",defaultValue:"value",align:"align",useMap:"usemap",popoverTargetAction:"popovertargetaction",command:"command",interestAction:"interestaction"},stringifiedNonReflected:{value:""}},ins:{stringifiedReflected:{cite:"cite",dateTime:"datetime"}},label:{stringifiedReflected:{htmlFor:"for"}},legend:{stringifiedReflected:{align:"align"}},li:{reflected:{value:"value"},stringifiedReflected:{type:"type"}},link:{reflected:{disabled:"disabled",crossOrigin:"crossorigin"},stringifiedReflected:{href:"href",rel:"rel",media:"media",hreflang:"hreflang",type:"type",as:"as",referrerPolicy:"referrerpolicy",fetchPriority:"fetchpriority",imageSrcset:"imagesrcset",imageSizes:"imagesizes",charset:"charset",rev:"rev",target:"target",integrity:"integrity"}},map:{stringifiedReflected:{name:"name"}},menu:{reflected:{compact:"compact"}},meta:{stringifiedReflected:{name:"name",httpEquiv:"http-equiv",content:"content",media:"media",scheme:"scheme"}},meter:{reflected:{value:"value",min:"min",max:"max",low:"low",high:"high",optimum:"optimum"}},object:{reflected:{declare:"declare",hspace:"hspace",vspace:"vspace"},stringifiedReflected:{data:"data",type:"type",name:"name",useMap:"usemap",width:"width",height:"height",align:"align",archive:"archive",code:"code",standby:"standby",codeBase:"codebase",codeType:"codetype",border:"border"}},ol:{reflected:{reversed:"reversed",compact:"compact"},stringifiedReflected:{start:"start",type:"type"}},optgroup:{reflected:{disabled:"disabled"},stringifiedReflected:{label:"label"}},option:{reflected:{disabled:"disabled",defaultSelected:"selected"},stringifiedReflected:{label:"label",value:"value"},stringifiedNonReflected:{text:""}},output:{stringifiedReflected:{name:"name"},stringifiedNonReflected:{defaultValue:"",value:""}},p:{stringifiedReflected:{align:"align"}},pre:{reflected:{width:"width"}},progress:{reflected:{value:"value",max:"max"}},q:{stringifiedReflected:{cite:"cite"}},script:{reflected:{noModule:"nomodule",async:"async",defer:"defer",crossOrigin:"crossorigin",referrerPolicy:"referrerpolicy"},stringifiedReflected:{src:"src",type:"type",charset:"charset",fetchPriority:"fetchpriority",event:"event",htmlFor:"for",integrity:"integrity",attributionSrc:"attributionsrc"},stringifiedNonReflected:{text:""}},select:{reflected:{disabled:"disabled",multiple:"multiple",required:"required",size:"size"},stringifiedReflected:{autocomplete:"autocomplete",name:"name"}},slot:{stringifiedReflected:{name:"name"}},source:{reflected:{width:"width",height:"height"},stringifiedReflected:{src:"src",type:"type",srcset:"srcset",sizes:"sizes",media:"media"}},style:{stringifiedReflected:{media:"media",type:"type"}},table:{stringifiedReflected:{align:"align",border:"border",frame:"frame",rules:"rules",summary:"summary",width:"width",bgColor:"bgcolor",cellPadding:"cellpadding",cellSpacing:"cellspacing"}},tbody:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},td:{reflected:{noWrap:"nowrap"},stringifiedReflected:{colSpan:"colspan",rowSpan:"rowspan",headers:"headers",align:"align",axis:"axis",height:"height",width:"width",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor",abbr:"abbr",scope:"scope"}},template:{reflected:{shadowRootDelegatesFocus:"shadowrootdelegatesfocus",shadowRootClonable:"shadowrootclonable",shadowRootSerializable:"shadowrootserializable",parseparts:"parseparts"},stringifiedReflected:{shadowRootMode:"shadowrootmode"}},textarea:{reflected:{cols:"cols",disabled:"disabled",readOnly:"readonly",required:"required",rows:"rows"},stringifiedReflected:{autocomplete:"autocomplete",dirName:"dirname",maxLength:"maxlength",minLength:"minlength",name:"name",placeholder:"placeholder",wrap:"wrap"},stringifiedNonReflected:{defaultValue:"",value:""}},tfoot:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},th:{reflected:{noWrap:"nowrap"},stringifiedReflected:{colSpan:"colspan",rowSpan:"rowspan",headers:"headers",align:"align",axis:"axis",height:"height",width:"width",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor",abbr:"abbr",scope:"scope"}},thead:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},time:{stringifiedReflected:{dateTime:"datetime"}},title:{stringifiedNonReflected:{text:""}},tr:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor"}},track:{reflected:{default:"default"},stringifiedReflected:{kind:"kind",src:"src",srclang:"srclang",label:"label"}},ul:{reflected:{compact:"compact"},stringifiedReflected:{type:"type"}},video:{reflected:{width:"width",height:"height",playsInline:"playsinline",disablePictureInPicture:"disablepictureinpicture",crossOrigin:"crossorigin",autoplay:"autoplay",loop:"loop",controls:"controls",defaultMuted:"muted",disableRemotePlayback:"disableremoteplayback"},stringifiedReflected:{poster:"poster",src:"src",preload:"preload"}}}};bi(W.common);Object.values(W.perElement).forEach(bi);function bi(e){e?.reflected!==void 0&&(e.reflected=Object.assign(Object.create(null),e.reflected)),e?.stringifiedReflected!==void 0&&(e.stringifiedReflected=Object.assign(Object.create(null),e.stringifiedReflected)),e?.stringifiedNonReflected!==void 0&&(e.stringifiedNonReflected=Object.assign(Object.create(null),e.stringifiedNonReflected))}var Tn=new Set(["itemScope"]),xt=new Set(["abort","animationCancel","animationEnd","animationIteration","animationStart","auxClick","beforeInput","blur","canPlay","canPlayThrough","cancel","change","click","close","compositionEnd","compositionStart","compositionUpdate","contextMenu","copy","cueChange","cut","dblClick","drag","dragEnd","dragEnter","dragLeave","dragOver","dragStart","drop","durationChange","emptied","encrypted","error","focus","focusIn","focusOut","formData","fullscreenChange","fullscreenError","gotPointerCapture","input","invalid","keyDown","keyUp","load","loadStart","loadedData","loadedMetadata","lostPointerCapture","mouseDown","mouseEnter","mouseLeave","mouseMove","mouseOut","mouseOver","mouseUp","paste","pause","play","playing","pointerCancel","pointerDown","pointerEnter","pointerLeave","pointerMove","pointerOut","pointerOver","pointerUp","progress","rateChange","reset","resize","scroll","scrollEnd","securityPolicyViolation","seeked","seeking","select","selectStart","slotChange","stalled","submit","suspend","timeUpdate","toggle","touchCancel","touchEnd","touchMove","touchStart","transitionCancel","transitionEnd","transitionRun","transitionStart","volumeChange","waiting","wheel"]),Si=new Set(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),Ae=new Set(["animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","switch","symbol","text","textPath","tspan","use","view"]),vi=new Set(["title","svg","a","script","style"]),De=new Set(["annotation-xml","annotation","maction","menclose","merror","mfenced","mfrac","mi","mmultiscripts","mn","mo","mover","mpadded","mphantom","mprescripts","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msubsup","msup","mtable","mtd","mtext","mtr","munder","munderover","semantics"]),Tt=new Set(["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"]);import{mappedFind as Ei,uncapitalize as wi}from"@arcgis/components-utils";import g from"typescript";function bn(e,t,n){if(Fe(e))return e;{n===void 0&&t.neededImports.add("nothing");let r=t.importRenames.nothing;return g.factory.createParenthesizedExpression(g.factory.createBinaryExpression(g.factory.createParenthesizedExpression(e),g.factory.createToken(g.SyntaxKind.QuestionQuestionToken),typeof n=="string"?g.factory.createStringLiteral(n):g.factory.createIdentifier(r)))}}function Fe(e){return typeof e=="string"||cl.has(e.kind)||g.isConditionalExpression(e)&&Fe(e.whenTrue)&&Fe(e.whenFalse)||g.isBinaryExpression(e)&&(dl.has(e.operatorToken.kind)||Fe(e.left)&&Fe(e.right))||(g.isParenthesizedExpression(e)||g.isSatisfiesExpression(e)||g.isAsExpression(e))&&Fe(e.expression)||g.isTaggedTemplateExpression(e)&&g.isIdentifier(e.tag)&&hi.has(e.tag.text)}var cl=new Set([g.SyntaxKind.NumericLiteral,g.SyntaxKind.BigIntLiteral,g.SyntaxKind.StringLiteral,g.SyntaxKind.RegularExpressionLiteral,g.SyntaxKind.NoSubstitutionTemplateLiteral,g.SyntaxKind.FalseKeyword,g.SyntaxKind.TrueKeyword,g.SyntaxKind.ArrayLiteralExpression,g.SyntaxKind.ObjectLiteralExpression,g.SyntaxKind.FunctionExpression,g.SyntaxKind.ArrowFunction,g.SyntaxKind.TypeOfExpression,g.SyntaxKind.PrefixUnaryExpression,g.SyntaxKind.PostfixUnaryExpression,g.SyntaxKind.TemplateExpression,g.SyntaxKind.ClassExpression,g.SyntaxKind.NonNullExpression]),dl=new Set([g.SyntaxKind.PlusEqualsToken,g.SyntaxKind.MinusEqualsToken,g.SyntaxKind.AsteriskAsteriskEqualsToken,g.SyntaxKind.AsteriskEqualsToken,g.SyntaxKind.SlashEqualsToken,g.SyntaxKind.PercentEqualsToken,g.SyntaxKind.AmpersandEqualsToken,g.SyntaxKind.BarEqualsToken,g.SyntaxKind.CaretEqualsToken,g.SyntaxKind.LessThanLessThanEqualsToken,g.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken,g.SyntaxKind.GreaterThanGreaterThanEqualsToken,g.SyntaxKind.AmpersandToken,g.SyntaxKind.BarToken,g.SyntaxKind.CaretToken,g.SyntaxKind.EqualsEqualsToken,g.SyntaxKind.EqualsEqualsEqualsToken,g.SyntaxKind.ExclamationEqualsEqualsToken,g.SyntaxKind.ExclamationEqualsToken,g.SyntaxKind.LessThanToken,g.SyntaxKind.LessThanEqualsToken,g.SyntaxKind.GreaterThanToken,g.SyntaxKind.GreaterThanEqualsToken,g.SyntaxKind.InstanceOfKeyword,g.SyntaxKind.InKeyword,g.SyntaxKind.LessThanLessThanToken,g.SyntaxKind.GreaterThanGreaterThanToken,g.SyntaxKind.GreaterThanGreaterThanGreaterThanToken,g.SyntaxKind.PlusToken,g.SyntaxKind.MinusToken,g.SyntaxKind.AsteriskToken,g.SyntaxKind.SlashToken,g.SyntaxKind.PercentToken,g.SyntaxKind.AsteriskAsteriskToken]);var Di={property(e,t,n,r){let i=ml(r,n,e),o=i?.type==="stringifiedReflected",s=i?.type==="reflected"||o;if(s){let m=vn(t);if(m===!0)return[i.name];if(m===!1)return[]}let a=t===void 0?["=",S.factory.createToken(S.SyntaxKind.TrueKeyword)]:bt(e,t,s),p=a[0]!=="=";if(s&&p)return[i.name,...a];let[l,c]=a,d=i?.type==="stringifiedNonReflected";if(o||d){let m=bn(c,e,d?"":void 0),f=n==="value"&&(r==="input"||r==="textarea"||r===he)?fl(m,e):m;if(f!==c)return[d?`.${n}`:i.name,l,f]}return[`.${n}`,...a]},attribute(e,t,n){let r=t===void 0||vn(t);if(r===!0)return[n];if(r===!1)return[];let i=bt(e,t,!0),s=i[0]!=="="?i:[i[0],bn(i[1],e)];return[n,...s]},booleanAttribute(e,t,n){let r=t===void 0||vn(t);return r===!0?[n]:r===!1?[]:[`?${n}`,...bt(e,t,!1)]},event(e,t,n){if(t===void 0||!S.isJsxExpression(t)||t.expression===void 0)throw new Error(`Event prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);let r=n.slice(2),i=wi(r);return[`@${xt.has(i)?r.toLowerCase():Ti?wi(r):r}=`,...St(e,t,void 0)]},directives(e,t){if(t===void 0||!S.isJsxExpression(t))throw new Error(`Directives prop must be an expression. Found ${String(t?.getText(e.sourceFile))}`);if(t.expression===void 0||!S.isArrayLiteralExpression(t.expression))throw new Error(`Directives prop must be an array rather than a variable or ternary expression. Still, the following are allowed: directives={[directiveA, condition ? a : b, c()]}. Found ${String(t.expression?.getText(e.sourceFile))}`);return t.expression.elements.flatMap(i=>{if(S.isSpreadElement(i))throw new Error(`Directives prop cannot contain a spread argument - it needs to be statically analyzable. Still, the following are allowed: directives={[directiveA, condition ? a : b, c()]}. Found ${String(t.expression?.getText(e.sourceFile))}`);return V(e,void 0,i)})},ref(e,t){e.neededImports.add("ref");let n=e.importRenames.ref;if(t===void 0||!S.isJsxExpression(t)||t.expression===void 0)throw new Error(`ref prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);return[S.factory.createCallExpression(S.factory.createIdentifier(n),void 0,[V(e,void 0,t.expression)])]},class:Ai,style:Ai,key:(e,t)=>[Ue(t,e.sourceFile)]};function ml(e,t,n){if(typeof e=="string"){let o=(n.externalComponents[e]??n.localComponents[e])?.propToAttribute?.[t];if(o!==void 0)return{name:o,type:"reflected"}}let r=Sn(W.common,t);if(r!==void 0)return r;if(typeof e=="string"){let i=Sn(W.perElement[e],t);if(i!==void 0)return i}else{let i=Object.values(W.perElement).map(s=>Sn(s,t)),o=Ei(i,s=>s?.type==="stringifiedNonReflected"?s:void 0)??Ei(i,s=>s?.type==="stringifiedReflected"?s:void 0);if(o!==void 0)return o}}function Sn(e,t){let n=e?.reflected?.[t];if(n!==void 0)return{name:n,type:"reflected"};let r=e?.stringifiedReflected?.[t];if(r!==void 0)return{name:r,type:"stringifiedReflected"};let i=e?.stringifiedNonReflected?.[t];if(i!==void 0)return{name:i,type:"stringifiedNonReflected"}}function Ue(e,t){if(e!==void 0&&S.isJsxExpression(e)&&e.expression!==void 0)return e.expression;if(e!==void 0&&S.isStringLiteral(e))return e;throw new Error(`key prop value must be an expression. Found ${String(e?.getText(t))}`)}function vn(e){if(e===void 0)return!0;if(S.isJsxExpression(e)){if(e.expression?.kind===S.SyntaxKind.TrueKeyword||e.expression===void 0)return!0;if(e.expression?.kind===S.SyntaxKind.FalseKeyword)return!1}}function bt(e,t,n=!1){if(Pe(t))throw new Error(`Invalid JSX syntax detected or there is a bug in Lumina. Found ${t.getText(e.sourceFile)}. Expected JSX attribute value to be wrapped in { }`);if(S.isStringLiteral(t))return Pi(t,n);if(S.isJsxExpression(t)&&t.expression){if(S.isStringLiteral(t.expression))return Pi(t.expression,n);if(n){if(S.isNumericLiteral(t.expression))return[`=${t.expression.text}`];if(S.isPrefixUnaryExpression(t.expression)&&S.isNumericLiteral(t.expression.operand))return[`=${t.expression.getText(e.sourceFile)}`]}}return["=",...St(e,t,void 0)]}function Pi(e,t){if(!t)return["=",e];let n=e.text;if(n.length===0)return[];let r=it(n);if(Ar(r)){let i=r.replaceAll('"',"&#34;");if(i.length>r.length){let o=r.replaceAll("'","&#39;");if(o.length<i.length)return[`='${o}'`]}return[`="${i}"`]}else return[`=${r}`]}function Ai(e,t,n){if(t!==void 0&&S.isStringLiteral(t))return[`${n}="${t.text}"`];if(t===void 0||!S.isJsxExpression(t)||t.expression===void 0)throw new Error(`${n} prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);let r=t.expression;if(ul(r)){let o=n==="class"?"safeClassMap":"safeStyleMap";e.neededImports.add(o);let s=e.importRenames[o],a=S.factory.createCallExpression(S.factory.createIdentifier(s),void 0,[V(e,void 0,r)]);return[`${n}=`,a]}else return[n,...bt(e,t,!0)]}var ul=e=>S.isObjectLiteralExpression(e)||S.isPropertyAccessExpression(e)||S.isIdentifier(e)||S.isCallExpression(e)||S.isBinaryExpression(e)||S.isConditionalExpression(e);function fl(e,t){t.neededImports.add("live");let n=t.importRenames.live;return S.factory.createCallExpression(S.factory.createIdentifier(n),void 0,[typeof e=="string"?S.factory.createStringLiteral(e):e])}import Ve from"typescript";function ki(e){if(e&&Ve.isJsxExpression(e)&&e.expression&&Ve.isCallExpression(e.expression)&&Ve.isIdentifier(e.expression.expression)&&e.expression.expression.text in Fi&&e.expression.arguments.length<=1)return{propType:Fi[e.expression.expression.text],initializer:Ve.factory.createJsxExpression(void 0,e.expression.arguments[0])}}var Fi={bindProperty:"property",bindAttribute:"attribute",bindBooleanAttribute:"booleanAttribute",bindEvent:"event"};function Ii(e,t,n){return gl.has(e)?e:e.startsWith("on")&&t!==void 0&&Ve.isJsxExpression(t)&&t.expression!==void 0?"event":(ht.has(e)||e.includes("-"))&&(e!=="itemId"||n!=="arcgis-map"&&n!=="arcgis-scene")?"attribute":!(typeof n=="string"&&n.includes("-")&&!Tt.has(n))&&(Ct.has(e)||(n===Ke?!1:n===he?Object.values(_e).some(s=>s.has(e)):_e[n]?.has(e)===!0))?Tn.has(e)?"booleanAttribute":"attribute":n==="svg"||n==="math"||n===Ke||n!==he&&(Ae.has(n)||De.has(n))?e in W.common.reflected||e in W.common.stringifiedReflected||e in W.common.stringifiedNonReflected?"property":Tn.has(e)?"booleanAttribute":"attribute":"property"}var yl=["class","style","ref","directives","key"],gl=new Set(yl);import H from"typescript";var Ni=e=>typeof e!="string"||e.trim().length>0;function ze({key:e,parts:t,litTag:n},r){let i=hl(t);if(i.length%2===0)throw new Error("Normalized template parts array length must be odd");let[o,...s]=i;if(typeof o!="string")throw new Error("First normalized template part must be a string");if(n===void 0){if(s.length===0)return En(r,e,H.factory.createStringLiteral(o));if(o===""&&s.length===2&&s[1]==="")return En(r,e,typeof s[0]=="string"?H.factory.createStringLiteral(o):s[0])}let a=typeof n=="string"?n:Q;r.neededImports.add(a);let p=r.importRenames[a],l=ue(o),c=H.factory.createTaggedTemplateExpression(H.factory.createIdentifier(p),void 0,s.length===0?H.factory.createNoSubstitutionTemplateLiteral(l,l):H.factory.createTemplateExpression(H.factory.createTemplateHead(l,l),Cl(s)));return En(r,e,c)}var hl=e=>e.reduce((t,n,r)=>{let i=t.at(-1),o=typeof i=="string",s=typeof n=="string";if(o&&s)return[...t.slice(0,-1),`${i}${n}`];let p=r===e.length-1;return!s&&p?[...t,n,""]:!s&&!p?[...t,n,""]:[...t,n]},[""]);function Cl(e){if(!(e.length%2===0))throw new Error("templatePartsToSpans should be called with normalized parts array without the first item");let n=e.length/2;return Array.from({length:n},(r,i)=>{let o=i*2,s=e[o];if(typeof s=="string")throw new Error("Expected to receive a normalized array of parts");let a=o+1,p=e[a];if(typeof p!="string")throw new Error("Expected to receive a normalized array of parts");let l=i===n-1,c=ue(p);return H.factory.createTemplateSpan(s,l?H.factory.createTemplateTail(c,c):H.factory.createTemplateMiddle(c,c))})}function En(e,t,n){if(t===void 0)return n;e.neededImports.add("keyed");let r=e.importRenames.keyed;return H.factory.createCallExpression(H.factory.createIdentifier(r),void 0,[t,n])}import Pn from"typescript";var An=(e,t)=>e.getFullText(t.sourceFile).slice(0,e.getLeadingTriviaWidth(t.sourceFile));function Dn(e,t){let n=vt(e);return n.length===0?t:Pn.setSyntheticLeadingComments(t,n.map(r=>({...r,pos:-1,end:-1,text:$i(e.slice(r.pos,r.end))})))}var vt=e=>e.trim().length===0?[]:Pn.getLeadingCommentRanges(e,0)??[];function Li(e){let t=vt(e);if(t.length===0)return[e||" "];let n=t.reduceRight(([i,...o],s)=>{let a=ue($i(wn(i).slice(s.pos,s.end)));return[wn(i).slice(0,s.pos),Pn.factory.createNoSubstitutionTemplateLiteral(a,a),wn(i).slice(s.end),...o]},[e]);(typeof n[0]!="string"||n[0].trim()!=="")&&n.unshift(" ");let r=n.at(-1);return(typeof r!="string"||r.trim()!=="")&&n.push(" "),n}var $i=e=>e.startsWith("//")?e.slice(2):e.slice(2,-2);function wn(e){if(typeof e=="string")return e;throw new Error(`Expected string, got ${typeof e}: ${String(e)}`)}import{isNotUndefined as Dl}from"@arcgis/components-utils";import C from"typescript";import{mappedFind as xl}from"@arcgis/components-utils";import{toSystemPathSeparators as Tl}from"@arcgis/components-build-utils";function Mi(e,t){if(!(C.isPropertyAccessExpression(t.expression)&&t.expression.name.text==="map"))return t;let r=t.arguments[0];if(!(t.arguments.length===1&&C.isArrowFunction(r)))return t;let o=r.parameters.at(0);if(!(typeof o=="object"&&r.parameters.length<=2))return t;let a=ke(r.body),p=!0,l;if(Ri(a))l=a;else{if(!C.isBlock(a))return t;let y=a.statements.at(-1);if(!(y&&C.isReturnStatement(y)&&y.expression))return t;let E=ke(y.expression);if(!Ri(E))return t;let b=a.statements.slice(0,-1);if(b.some(Ji))return t;p=b.length===0,l=E}let c=C.isJsxElement(l)?l.openingElement:l,d=kn(c);if(d===-1)return t;let m=c.attributes.properties[d];if(m===void 0||!C.isJsxAttribute(m))return t;let u=Ue(m.initializer,e.sourceFile),f=bl(o,r,u,p,e);if(f===void 0)return t;e.liftedKeys.add(m.name),e.neededImports.add("repeat");let h=e.importRenames.repeat;return C.factory.updateCallExpression(t,C.factory.createIdentifier(h),t.typeArguments,[t.expression.expression,C.factory.createArrowFunction(void 0,void 0,[f],void 0,void 0,u),C.factory.updateArrowFunction(r,r.modifiers,r.typeParameters,r.parameters,r.type,r.equalsGreaterThanToken,a)])}var Ri=e=>C.isJsxElement(e)||C.isJsxSelfClosingElement(e);function Ji(e){if(C.isReturnStatement(e))return!0;let t=!1;return C.visitEachChild(e,n=>(t||=Ji(n),n),void 0),t}function bl(e,t,n,r,i){let o=Y(n);if(o===void 0)return;let s=ji(e.name,o),a=t.parameters.at(1);if(a!==void 0&&C.isIdentifier(a.name)&&o.every(Et,a.name)){console.warn(`It looks like you are trying to use .map() index as a key={} prop value in ${Tl(i.sourceFile.fileName)}. Doing so is potentially pointless and may cause performance degradation. In Lit it is safe to omit the key={} prop. If you really mean to use index as the key, then use the keyed() Lit directive directly, rather than the JSX key={} prop.`);return}if(!r){let p=vl(o,s,t);if(p===void 0)return;s=p}return C.factory.updateParameterDeclaration(e,e.modifiers,e.dotDotDotToken,s,e.questionToken,e.type,e.initializer)}function Y(e){if(C.isIdentifier(e))return[e.text];if(C.isPropertyAccessExpression(e))return Y(e.expression);if(C.isElementAccessExpression(e))return Y(e.argumentExpression);if(C.isConditionalExpression(e)){let t=Y(e.condition),n=Y(e.whenTrue),r=Y(e.whenFalse);return t===void 0||n===void 0||r===void 0?void 0:[...t,...n,...r]}else if(C.isBinaryExpression(e)){let t=Y(e.left),n=Y(e.right);return t===void 0||n===void 0?void 0:[...t,...n]}else{if(Sl.has(e.kind))return[];{let t=ke(e);return t!==e?Y(t):void 0}}}var Sl=new Set([C.SyntaxKind.NumericLiteral,C.SyntaxKind.BigIntLiteral,C.SyntaxKind.StringLiteral,C.SyntaxKind.RegularExpressionLiteral,C.SyntaxKind.NoSubstitutionTemplateLiteral,C.SyntaxKind.FalseKeyword,C.SyntaxKind.NullKeyword,C.SyntaxKind.TrueKeyword]),ke=e=>C.isAsExpression(e)||C.isNonNullExpression(e)||C.isSatisfiesExpression(e)||C.isParenthesizedExpression(e)?ke(e.expression):e,ji=(e,t)=>C.isObjectBindingPattern(e)?Pl(e,t):e;function vl(e,t,n){if(e.every(Et,t))return t;if(C.isIdentifier(t)){let r=C.isBlock(n.body)?xl(n.body.statements,o=>El(o,t)):void 0;if(r===void 0)return;let i=ji(r,e);if(e.every(Et,i))return i}}function El(e,t){if(!C.isVariableStatement(e)||!(e.declarationList.flags&C.NodeFlags.Const))return;let n=e.declarationList.declarations[0];return n?.initializer&&C.isIdentifier(n.initializer)&&n.initializer.text===t.text?n.name:void 0}function Et(e){let t=this;return C.isIdentifier(t)?t.text===e:t.elements.some(wl,e)}function wl(e){let t=this;return C.isOmittedExpression(e)?!1:Et.call(e.name,t)}function Pl(e,t){let n=!1,r=e.elements.filter(i=>C.isIdentifier(i.name)?t.includes(i.name.text):(n=!0,!0));return n||r.length===0?e:C.factory.updateObjectBindingPattern(e,r)}var Fn=(e,t)=>t.liftedKeys.has(e);import{toSystemPathSeparators as wt}from"@arcgis/components-build-utils";var Bi=e=>e.apiJsonComponents.map(({name:t,importPath:n})=>`import type { ${t} } from "./${n}";`).join(`
50
- `),Al=/^[a-zA-Z_$][a-zA-Z\d_$]*$/u,Ce=e=>!Al.test(e),z=e=>Ce(e)?`"${e}"`:e;function pe(e,t){let n=[],r=[],i=!1;t?.forEach(c=>{if(c.kind!=="field"||c.readonly)return;let d=c;if(d.getterTypeDiffers){i=!0;return}d.docsTags?.some(u=>u.name==="required")?n.push(c.name):r.push(c.name)});let o=Oi(n),s=Oi(r),a=[o?`Required<Pick<${e}, ${o}>>`:"",s?`Partial<Pick<${e}, ${s}>>`:"",i?`${e}SetterTypes`:""],p=i?`
51
- type ${e}SetterTypes = ${e}["${Vt}"]`:"",l=a.filter(Boolean).join(", ");return[l.length===0?"":`${l}, `,p]}var Oi=e=>e.map(t=>`'${t}'`).join(" | ");function V(e,t,n){if(Pe(n))return Wi(e,n);let r=x.isCallExpression(n)?Mi(e,n):n,i=x.visitEachChild(r,V.bind(null,e,t!==void 0&&x.isBinaryExpression(t)?void 0:n),e.transformationContext);return t!==void 0&&x.isBinaryExpression(n)&&(x.isJsxExpression(t)||Pe(ke(n.right)))?Il(i):i}function Wi(e,t){let n=Hi(e,t);return ze(n,e)}function Hi(e,t){let n="children"in t?t.children:[];if(x.isJsxFragment(t))return{key:void 0,...Pt(n,e)};let i=x.isJsxElement(t)?t.openingElement:t,o=i.tagName;if(x.isJsxNamespacedName(o)){let E=wt(e.sourceFile.fileName);throw new Error(`JSX namespaced elements are not supported. Found ${o.getText(e.sourceFile)} in "${E}"`)}if(!x.isIdentifier(o)||!o.text.startsWith(o.text[0].toLowerCase())&&o.text!==yt&&o.text!==gt){let b=x.isIdentifier(o)&&o.text===xi?Pt(n,e):{litTag:void 0,parts:[kl(e,t,o,n)]};return{key:Fl(i,e),...b}}let a=o.text===yt?he:o.text===gt?Ke:o.text,p=o.text===yt?se:o.text===gt?X:vi.has(a)?hn:Ae.has(a)?ae:Q,l;typeof a=="string"&&a.includes("-")&&!Tt.has(a)&&(e.customElementsToImport.add(a),e.compiler.viteCommand==="build"&&(l=Nl(e,a)));let c,d=[],m=i.attributes.properties.flatMap(E=>{if(x.isJsxSpreadAttribute(E))throw new Error(`JSX spread attribute syntax is not supported. See alternatives: https://qawebgis.esri.com/components/lumina/jsx#spread-attributes
52
- Found ${E.getText(e.sourceFile)}`);let{name:b,initializer:R}=E;if(x.isJsxNamespacedName(b)){let Je=wt(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${b.getText(e.sourceFile)} in "${Je}"`)}let j=b.text,Bt=ki(R),me=Bt?.propType??Ii(j,R,a);l?.delete(j);let Z=Di[me](e,Bt?.initializer??R,j,a);if(Z.length===0)return[];let Me=e.compiler.shouldMinifyJsx?" ":Li(An(b,e));return me==="key"?(c=typeof Z[0]=="object"&&!Fn(b,e)?Z[0]:void 0,Array.isArray(Me)&&Me.some(Ni)?Me:[]):me==="directives"||me==="ref"?(d.push(...Me,...Z.flatMap((Je,Xn)=>typeof Je=="string"||Xn===0||typeof Z[Xn-1]=="string"?Je:[" ",Je])),[]):[...Me,...Z]});if(l!==void 0&&l.size>0&&e.compiler.logLintError("mustIncludeAllRequiredProperties",e.sourceFile.fileName,`Missing required properties for <${a}> in ${e.sourceFile.fileName.slice(e.compiler.dir.root.length)}: ${Array.from(l).join(", ")}`),d.length>0&&m.push(...d),typeof a=="string"&&De.has(a))throw new Error(`JSX syntax for MathML elements is not yet supported. If you need it, please request it. Otherwise, use the \`math\` function from Lit directly. Tried to use the "${a}" element`);let u=typeof a=="string"&&Si.has(a),f=Pt(n,e);if(u&&f.parts.length>0){let E=wt(e.sourceFile.fileName);throw new Error(`Void HTML elements like <${a}> cannot have children. Found ${t.getText(e.sourceFile)} in "${E}"`)}let h=(p===ae||p===X)&&f.parts.length===0,y=["<",typeof a=="string"?a:o,...m,h?`${m.length===0?"":" "}/>`:">"],T=u||h?y:[...y,...f.litTag!==void 0&&f.litTag!==p?[ze({key:void 0,...f},e)]:f.parts,"</",typeof a=="string"?a:o,">"];return{key:c,parts:T,litTag:p}}function Fl(e,t){let n=e.attributes.properties[kn(e)];return n&&x.isJsxAttribute(n)&&!Fn(n.name,t)?Ue(n.initializer,t.sourceFile):void 0}var kn=e=>e.attributes.properties.findIndex(({name:t})=>t&&x.isIdentifier(t)&&t.text==="key");function kl(e,t,n,r){let o=(x.isJsxElement(t)?t.openingElement:t).attributes.properties.map(p=>{if(x.isJsxSpreadAttribute(p))return Dn(An(p,e),x.factory.createSpreadAssignment(p.expression));let{name:l,initializer:c}=p;if(x.isJsxNamespacedName(l)){let u=wt(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${l.getText(e.sourceFile)} in "${u}"`)}if(l.text==="key")return;let d=c===void 0?x.factory.createTrue():x.isStringLiteral(c)?c:Pe(c)?Wi(e,c):V(e,void 0,c.expression??x.factory.createIdentifier("undefined")),m=Ce(l.text)?x.factory.createStringLiteral(l.text):l;return x.factory.createPropertyAssignment(m,d)}),{parts:s,litTag:a}=Pt(r,e);return s.length>0&&o.push(x.factory.createPropertyAssignment(x.factory.createIdentifier("children"),ze({key:void 0,parts:s,litTag:a},e))),x.factory.createCallExpression(n,void 0,[x.factory.createObjectLiteralExpression(o.filter(Dl))])}function Pt(e,t){let n,r=e.flatMap(i=>{if(x.isJsxText(i))return[t.compiler.shouldMinifyJsx?Pr(i.text):i.text];if(x.isJsxExpression(i))return St(t,i,i);{let o=Hi(t,i);if(o.key===void 0&&o.litTag!==se&&o.litTag!==X){if(o.litTag===hn)return o.parts;if(n!==void 0&&o.litTag!==void 0&&n!==o.litTag)throw new Error(`Unexpectedly found both ${n} and ${o.litTag} child elements inside the same element.`);return n=o.litTag,o.parts}else return[ze(o,t)]}});return{litTag:n,parts:r}}function Il(e){return e.operatorToken.kind===x.SyntaxKind.AmpersandAmpersandToken?x.factory.createBinaryExpression(e,x.factory.createToken(x.SyntaxKind.BarBarToken),x.factory.createStringLiteral("")):e}function St(e,t,n){if(t.expression===void 0){if(e.compiler.shouldMinifyJsx)return[];let r=t.getText(e.sourceFile).slice(1,-1);return vt(r).length===0?[]:[Dn(r,x.factory.createIdentifier("undefined"))]}return x.isStringLiteral(t.expression)?[it(t.expression.text)]:e.compiler.viteCommand==="serve"&&e.compiler.typeScriptConfig.sourceMap&&!e.compiler.shouldMinifyJsx&&x.isArrowFunction(t.expression)&&!x.isBlock(t.expression.body)?[V(e,n,x.factory.updateArrowFunction(t.expression,t.expression.modifiers,t.expression.typeParameters,t.expression.parameters,t.expression.type,t.expression.equalsGreaterThanToken,x.factory.createBlock([x.factory.createReturnStatement(t.expression.body)],!0)))]:[V(e,n,t.expression)]}function Nl(e,t){if(t in e.localComponents)for(let r of e.compiler.privateApiJson.modules)for(let i of r.declarations){if(!("customElement"in i)||i.tagName!==t)continue;let o=new Set;for(let s of i.members)s.kind==="field"&&s.docsTags?.some(a=>a.name==="required")===!0&&o.add(s.name);return o}}import k from"typescript";import{path as In}from"@arcgis/components-build-utils";var Ki=e=>e.reduce((t,[n,r])=>(t[n]??=[],t[n].push(r),t),{}),qe={[Q]:["lit-html","lit/html.js","lit"],[se]:["lit-html/static.js","lit/static-html.js"],[ae]:["lit-html","lit/html.js","lit"],[X]:["lit-html/static.js","lit/static-html.js"],[xn]:["lit-html","lit/html.js","lit"],[Cn]:["@lit/reactive-element/css-tag.js","@lit/reactive-element","lit"],safeClassMap:["@arcgis/lumina"],safeStyleMap:["@arcgis/lumina"],keyed:["lit-html/directives/keyed.js","lit/directives/keyed.js"],live:["lit-html/directives/live.js","lit/directives/live.js"],repeat:["lit-html/directives/repeat.js","lit/directives/repeat.js"],ref:["lit-html/directives/ref.js","lit/directives/ref.js"],nothing:["lit-html","lit/html.js","lit-element/lit-element.js","lit","@arcgis/lumina"]},_i=Ki(Object.entries(qe).flatMap(([e,t])=>t.map(n=>[n,e]))),At=new Set(Object.keys(_i));function Ui(e,t){let n=t.importClause,r=t.moduleSpecifier;if(!k.isStringLiteral(r))return t;let i=Ll(e.sourceFile.fileName,r.text,""),o=!n?.isTypeOnly;if(o&&e.existingImportedModules.add(i),n===void 0)return t;if(e.isInLightDomComponent&&r.text.startsWith(".")&&ve.test(r.text)&&!r.text.includes("?"))return k.factory.updateImportDeclaration(t,t.modifiers,n,k.factory.createStringLiteral(r.text+B),t.attributes);if(n.name!==void 0){let p=n.name.text,l=n.name.text.startsWith(p[0].toUpperCase()),c=In.isAbsolute(i);o&&!n.isTypeOnly&&l&&c&&e.importedFunctionComponentsFromModules.add(i)}let s=n.namedBindings;if(s===void 0||!k.isNamedImports(s))return t;let a=At.has(r.text);return s.elements.forEach(p=>{let l=(p.propertyName??p.name).text,c=qe[l];if(a){if(c?.some(u=>u===r.text)){let u=Vi(l,i);e.existingLitImports.add(u),e.importRenames[u]=p.name?.text??u}}else(p.name.text==="h"||p.name.text==="createElement")&&(e.hasNonLuminaJsxImport=!0);let d=l.startsWith(l[0].toUpperCase()),m=In.isAbsolute(i);o&&!p.isTypeOnly&&d&&m&&e.importedFunctionComponentsFromModules.add(i)}),t}var Vi=(e,t)=>e===Q&&qe.staticHtml.includes(t)?se:e===ae&&qe.staticSvg.includes(t)?X:e,Ll=(e,t,n)=>t.startsWith(".")?In.resolve(e,"..",`${t}${n}`):t;function zi(e){return k.isImportDeclaration(e)?$l(this,e):e}function $l(e,t){let n=t.importClause,r=n?.namedBindings,i=t.moduleSpecifier;if(!k.isStringLiteral(i)||!r||!k.isNamedImports(r)||!At.has(i.text))return t;let o=n.isTypeOnly,s=!1,a=r.elements.map(p=>{let l=(p.propertyName??p.name).text,c=Vi(l,i.text);return e.neededImports.has(c)?(e.existingLitImports.delete(c),e.neededImports.delete(c),s=!0,k.factory.updateImportSpecifier(p,!1,p.propertyName,p.name)):o?k.factory.updateImportSpecifier(p,!0,p.propertyName,p.name):p});return _i[i.text]?.forEach(p=>{!e.neededImports.has(p)||e.existingLitImports.has(p)||(e.neededImports.delete(p),s=!0,a.push(Gi(p,e)))}),s?k.factory.updateImportDeclaration(t,t.modifiers,k.factory.updateImportClause(n,!1,n.name,k.factory.updateNamedImports(r,a)),t.moduleSpecifier,t.attributes):t}function qi(e){let t=Ki(Array.from(e.neededImports,n=>[qe[n][0],n]));return Object.entries(t).map(([n,r])=>k.factory.createImportDeclaration(void 0,k.factory.createImportClause(!1,void 0,k.factory.createNamedImports(r.map(i=>(e.neededImports.delete(i),Gi(i,e))))),k.factory.createStringLiteral(n)))}function Gi(e,t){let n=e===se?Q:e===X?ae:e,r=t.importRenames[e];return r===n?k.factory.createImportSpecifier(!1,void 0,k.factory.createIdentifier(n)):k.factory.createImportSpecifier(!1,k.factory.createIdentifier(n),k.factory.createIdentifier(r))}import{path as Rl,toSystemPathSeparators as Ml}from"@arcgis/components-build-utils";function Xi(e){let t=yi().map(({packageName:n})=>n);return e.existingImportedModules.forEach(n=>{if(Rl.isAbsolute(n))return;let{packageName:r,moduleName:i}=en(n);if(t.includes(r??"")&&(i.startsWith("dist/components")||i.startsWith("components"))){let o=Ml(e.sourceFile.fileName);throw new Error(`Did not expect to find any explicit imports for "${n}". Found import in ${o}. Imports for web components that your component consumes will be added automatically at build-time as appropriate for a given output target. Type-only imports are still allowed. If you believe this is an error, please notify Lumina maintainers.`)}}),[]}function Qi(e){if(e.compiler.viteCommand==="serve")return e.customElementsToImport.clear(),[];let t=e.compiler._customElementDependencies;return t[e.sourceFile.fileName]??={referencedBy:[],referencedTagNames:[]},t[e.sourceFile.fileName].referencedTagNames=Array.from(e.customElementsToImport),e.customElementsToImport.clear(),e.importedFunctionComponentsFromModules.forEach(n=>{let r=`${n}.tsx`;t[r]??={referencedBy:[],referencedTagNames:[]},t[r].referencedBy.push(e.sourceFile.fileName)}),[]}import{path as Jl,toSystemPathSeparators as jl}from"@arcgis/components-build-utils";function Yi(e,t,n){let r=ft()[t]??Nn(e)[t];if(r===void 0){let i=jl(n);throw new Error(`Unable to resolve the definition of the "${t}" custom element. Used in ${i}. If this is coming from an external package, make sure that package is installed as a peerDependency or a dependency. If in development-only you wish to use a component package that is defined as a devDependency, then provide serve.extraDependencies option to useLumina()`)}return r}function Zi(e,t){return e.packageName===void 0?q(t,e.moduleName):Jl.join(e.packageName,e.moduleName)}function Nn(e){return e._localDefinedComponents??=yn(e.privateApiJson,{packageName:void 0,getImportPath(){throw new Error("Not supposed to be called for local components")}}),e._localDefinedComponents}var eo=(e,t)=>{let n=e.pragmas;if(n?.has("jsx")===!0||n?.has("jsxImportSource")===!0)return e.statements;let r={compiler:t.compiler,externalComponents:ft(),localComponents:t.compiler.isInPuppeteerTestBackEnd?{}:Nn(t.compiler),sourceFile:e,transformationContext:t.transformation,importRenames:Bl(e),existingImportedModules:new Set,importedFunctionComponentsFromModules:new Set,existingLitImports:new Set,customElementsToImport:new Set,neededImports:new Set,liftedKeys:new Set,hasNonLuminaJsxImport:!1,isInLightDomComponent:t.apiModule?.declarations.some(s=>"customElement"in s&&s.encapsulation!==void 0)??!1},i=[];if(e.statements.every(s=>{if(Ol.isImportDeclaration(s)){if(i.push(Ui(r,s)),r.hasNonLuminaJsxImport)return!1}else i.push(V(r,void 0,s));return!0}),r.hasNonLuminaJsxImport)return e.statements;if(r.neededImports.size>0&&(i=i.map(zi,r),r.existingLitImports.size>0))throw new Error(`Expected context.existingLitImports to be empty by now. Found: ${Array.from(r.existingLitImports).join(", ")}`);let o=[qi,Xi,Qi].flatMap(s=>s(r));if(r.neededImports.size>0)throw new Error(`Expected context.neededLitImports to be empty by now. Found: ${Array.from(r.neededImports).join(", ")}`);return[...o,...i]};function Bl(e){return Wl(e),Object.fromEntries(Ci.map(t=>[t,e.identifiers.has(t)?`${t}$jsx`:t]))}function Wl(e){if(!("identifiers"in e))throw new Error("Expected sourceFile to have an undocumented identifiers property that is a Map<string,string>. If this error is thrown, it may mean Lumina Compiler needs to be updated to support the version of TypeScript being used.")}import I from"typescript";import M from"typescript";import{PropertyFlags as le}from"@arcgis/lumina/config";function to(e,t,n){return t.size===0?e:[M.factory.createPropertyDeclaration([M.factory.createModifier(M.SyntaxKind.StaticKeyword),M.factory.createModifier(M.SyntaxKind.OverrideKeyword)],"properties",void 0,void 0,M.factory.createObjectLiteralExpression(Array.from(t.entries()).map(([r,i])=>M.factory.createPropertyAssignment(Ce(r)?M.factory.createStringLiteral(r):r,Hl(i,n))))),...e]}function Hl(e,t){let n=0,r=!0,i=e.properties.filter(a=>{if(!M.isPropertyAssignment(a)||!M.isIdentifier(a.name))return!0;let p=a.name.text,l=a.initializer,c=l.kind===M.SyntaxKind.TrueKeyword,d=l.kind===M.SyntaxKind.FalseKeyword;if(p==="attribute")return r=!1,n|=c?le.ATTRIBUTE:0,!c&&!d;if(p==="reflect")return n|=c?le.REFLECT:0,!1;if(p==="type"&&M.isIdentifier(l)){if(l.text==="Boolean")return n|=le.BOOLEAN,!1;if(l.text==="Number")return n|=le.NUMBER,!1}else{if(p==="state")return r=!1,n|=c?le.STATE:0,!1;if(p==="readOnly")return n|=c?le.READ_ONLY:0,!1;p==="noAccessor"&&(n|=c?le.NO_ACCESSOR:0)}return!0});r&&(n|=le.ATTRIBUTE);let o=t?i:e.properties,s=M.factory.createNumericLiteral(n);return o.length===0?s:M.factory.createArrayLiteralExpression([s,M.factory.createObjectLiteralExpression(o)])}import{identity as zl}from"@arcgis/components-utils";import J from"typescript";import N from"typescript";function no(e,t,n,r,i){let o=-1,s=-1,a=-1;t.options?.properties.forEach((m,u)=>{if(N.isSpreadAssignment(m))throw new Error(`Spread property assignment is not allowed in @property() as that is not statically analyzable. Found ${m.getText(r)}`);if(N.isIdentifier(m.name)){let f=m.name.text;f==="type"?o=u:f==="attribute"?s=u:f==="readOnly"&&(a=u)}});let p=i?.attribute===void 0&&s===-1,l=i?.readonly===!0&&i.docsOnlyReadonly!==!0&&a===-1,c=Kl(e,t,n,i,o),d=[...p?[N.factory.createPropertyAssignment("attribute",N.factory.createFalse())]:[],...l?[N.factory.createPropertyAssignment("readOnly",N.factory.createTrue())]:[],...c!==void 0?[c]:[]];return d.length>0?t.options===void 0?N.factory.createObjectLiteralExpression(d,!1):N.factory.updateObjectLiteralExpression(t.options,[...t.options.properties,...d]):t.options}function Kl(e,t,n,r,i){if(r?.attribute===void 0)return;let o=Ul(e),s=n.compiler.viteCommand==="serve"||o!=="Other"?o:_l(r.type.values);return s==="Other"||r.readonly&&(s!=="Boolean"||!r.reflects)||t.options?.properties[i]!==void 0?void 0:N.factory.createPropertyAssignment(N.factory.createIdentifier("type"),N.factory.createIdentifier(s))}function _l(e){let t=!1,n=!1,r=!1;if(e?.forEach(i=>{t||=i.type==="number",n||=i.type==="boolean",r||=i.type==="string"||i.type==="any"||i.type==="unknown"}),r||=t&&n,!r){if(t)return"Number";if(n)return"Boolean"}return"Other"}function Ul(e){let t=e.type??(N.isSetAccessor(e)?e.parameters[0].type:void 0);if(t===void 0){if("initializer"in e&&e.initializer!==void 0){if(N.isNumericLiteral(e.initializer)||N.isPrefixUnaryExpression(e.initializer)&&e.initializer.operator===N.SyntaxKind.MinusToken&&N.isNumericLiteral(e.initializer.operand))return"Number";if(e.initializer.kind===N.SyntaxKind.FalseKeyword||e.initializer.kind===N.SyntaxKind.TrueKeyword)return"Boolean"}}else{if(t.kind===N.SyntaxKind.NumberKeyword)return"Number";if(t.kind===N.SyntaxKind.BooleanKeyword)return"Boolean"}return"Other"}import{getMemberName as oo}from"@arcgis/api-extractor";function so(e,t,n,r,i){if(t.modifiers===void 0)return t;let o=-1,s=-1;if(t.modifiers.forEach((a,p)=>{if(J.isDecorator(a)&&J.isCallExpression(a.expression)&&J.isIdentifier(a.expression.expression)){let l=a.expression.expression.text;l==="property"&&(o=p),l==="state"&&(s=p)}}),o!==-1){let a=Vl(e,t,n,r),p=ro(t,o,r),l=no(t,p,e,r,a),c=!1;return i!==void 0&&a&&(i.set(a.name,l??J.factory.createObjectLiteralExpression()),c=!0),p.options=l,io(t,p,o,c)}else if(s!==-1&&i!==void 0){let a=ro(t,s,r),p=J.factory.createPropertyAssignment("state",J.factory.createTrue()),l=a.options===void 0?J.factory.createObjectLiteralExpression([p]):J.factory.updateObjectLiteralExpression(a.options,[...a.options.properties,p]),c=oo(t.name);if(c===void 0)throw new Error("Failed to statically determine the state property name");return i.set(c,l),io(t,a,s,!0)}else return t}function Vl(e,t,n,r){let i=e.apiModule?.declarations.find(s=>s.name===n)??(e.compiler.isInTest?{name:"",members:[]}:void 0);if(i===void 0)return;let o=lr(i,t)??(e.compiler.isInTest?{kind:"field",attribute:"",readonly:!1,name:"",type:{text:""}}:void 0);if(!(o===void 0||o.kind!=="field")){if(o.name===""){let s=oo(t.name);if(s===void 0)throw new Error(`Failed to statically determine the property name: ${t.getText(r)}`);o.name=s}return o}}function ro(e,t,n){let r=e.modifiers[t],i=r.expression,o=i.arguments.at(0);if(o&&!J.isObjectLiteralExpression(o))throw new Error(`First argument to @property() or @state() decorator must be an object literal as otherwise it is not statically analyzable. Found ${o.getText(n)}`);return{decorator:r,callExpression:i,options:o}}function io(e,t,n,r){let i=r?void 0:J.factory.updateDecorator(t.decorator,J.factory.updateCallExpression(t.callExpression,t.callExpression.expression,t.callExpression.typeArguments,t.options===void 0?[]:[t.options])),o=[...e.modifiers.slice(0,n),...i===void 0?[]:[i],...e.modifiers.slice(n+1)];return J.isGetAccessorDeclaration(e)?J.factory.updateGetAccessorDeclaration(e,o,e.name,e.parameters,e.type,e.body):J.isSetAccessorDeclaration(e)?J.factory.updateSetAccessorDeclaration(e,o,e.name,e.parameters,e.body):J.factory.updatePropertyDeclaration(e,o,e.name,e.questionToken??e.exclamationToken,e.type,e.initializer)}var ao=(e,t)=>{if(t.apiModule===void 0&&!t.compiler.isInTest)return e.statements;let n;function r(){n=new Map}let i=a=>to(a,n,t.compiler.shouldMinify),o=(a,p)=>Gl(t,a,p,e,n);return e.statements.map(a=>po(o,a,t,r,i))};function po(e,t,n,r,i=zl){if(I.isClassDeclaration(t)&&t.heritageClauses?.some(s=>s.token===I.SyntaxKind.ExtendsKeyword)){let s=!1,a=t.name?.text;r?.();let p=i(t.members.map(c=>{let d=e(c,a);return s||=d!==c,d}));return s?I.factory.updateClassDeclaration(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,p):t}return n.compiler.isInTest?I.visitEachChild(t,s=>po(e,s,n,r,i),n.transformation):t}var ql=new Set(["connectedCallback","disconnectedCallback"]);function Gl(e,t,n,r,i){if(I.isMethodDeclaration(t)){let o=t.modifiers?.filter(s=>!I.isDecorator(s)||!Xl(s));if(o?.length!==t.modifiers?.length)return I.factory.updateMethodDeclaration(t,o,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,t.body);if("text"in t.name&&ql.has(t.name.text)&&t.body){let s=t.name.text;return t.body.statements.some(p=>I.isExpressionStatement(p)&&I.isCallExpression(p.expression)&&I.isPropertyAccessExpression(p.expression.expression)&&p.expression.expression.expression.kind===I.SyntaxKind.SuperKeyword&&p.expression.expression.name.text===s)?t:I.factory.updateMethodDeclaration(t,t.modifiers,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,I.factory.updateBlock(t.body,[I.factory.createExpressionStatement(I.factory.createCallExpression(I.factory.createPropertyAccessExpression(I.factory.createSuper(),s),void 0,[])),...t.body.statements]))}}return I.isPropertyDeclaration(t)||I.isAccessor(t)?so(e,t,n,r,i):t}var Xl=e=>I.isCallExpression(e.expression)&&I.isIdentifier(e.expression.expression)&&e.expression.expression.text==="method";import{path as mo}from"@arcgis/components-build-utils";var lo="makeRuntime(";function co(e,t){let n=e.indexOf(lo);if(n===-1)throw new Error("Failed to find makeRuntime() function call in src/runtime.ts");let r=n+lo.length,i=t.options.css?.commonStylesPath;return{code:[i===void 0?"":`import commonStyles from "${q(t.dir.src,i)}";`,e.slice(0,r),"{","defaultAssetPath:import.meta.env.BASE_URL,",'hydratedAttribute:"',t.options.css?.hydratedAttribute??nn,'",',i===void 0?"":"commonStyles","}",e.slice(r)].join(""),map:null}}var Yl=[eo,or,ao],uo=e=>({name:"@arcgis/lumina:transformComponents",transform:{order:"pre",async handler(t,n){if(!n.endsWith(".tsx")){if(e.isInTest&&n.endsWith(".ts")&&je(n)&&t.includes("extends LitElement"))console.warn("It looks like you may be trying to define a component inside a test file. This is supported, but you must use the .tsx file extension for you test");else if(n===`${e.dir.src}runtime.ts`)return co(t,e);return}let r=e.getSourceFile(n,t);await oe;let o=Ql.transform(r,[m=>()=>tt(e,m,r,[...e.options.types?.sourceFileTransformers??[],...Yl])]).transformed[0],s=e._compilerOptionsForPrinter,a=e._typeScriptPrinter,p=s.sourceMap?fe.createSourceMapGenerator(e.typeScriptHost,mo.basename(n),"",mo.dirname(n),s):void 0,l=fe.createTextWriter(fe.getNewLineCharacter(s));a.writeFile(o,l,p);let c=l.getText(),d=p?.toJSON();return{code:c,map:d??null}}}});function fo(e){let t=e.typeScriptConfig;return{...t,declaration:!1,declarationMap:!1,emitDeclarationOnly:!1,sourceMap:t.sourceMap??t.inlineSourceMap,inlineSourceMap:!1,allowSyntheticDefaultImports:!0,suppressOutputPathCheck:!0,noLib:!0,noResolve:!0,skipLibCheck:!0}}function go(e){let t=e.options.types?.tsconfigPath,n=t&&yo.isAbsolute(t)?t:Zl(t??"tsconfig.json");if(n===void 0)throw new Error(`Unable to find ${ec(String(t))} in ${process.cwd()}. Please make sure the file exists, or provide types.tsconfigPath option to useLumina()`);let r=K.readConfigFile(n,K.sys.readFile);if(r.error!==void 0)throw new Error(K.formatDiagnosticsWithColorAndContext([r.error],{getCanonicalFileName:nc,getCurrentDirectory:K.sys.getCurrentDirectory,getNewLine:()=>K.sys.newLine}));let i={...r.config,include:[],files:[],exclude:[]},o=K.parseJsonConfigFileContent(i,K.sys,yo.dirname(n));e.typeScriptConfig=o.options,e.typeScriptConfigPath=n}function Dt(e){let t=e.target;if(t===void 0)throw new Error('TypeScript config must have a "target" property specified (or any parent tsconfig.json file if this config is extending another tsconfig.json)');let n=K.ScriptTarget[t].toLowerCase();return n==="latest"?"esnext":n}function ho(e,t){if(e.isInStorybook&&e.viteCommand==="serve"){let n=(s,a,p,...l)=>{let c=s.filter(d=>(!d.includes(".stories.")||d.endsWith(".tsx"))&&!je(d));return e.typeScriptHost=p,K.createAbstractBuilder(c,a,p,...l)},r=K.createWatchCompilerHost(e.typeScriptConfigPath,{preserveWatchOutput:!0},K.sys,n),i=50,o=r.setTimeout;r.setTimeout=o===void 0?void 0:(s,a,...p)=>o(s,p[0]==="timerToUpdateProgram"?i:a,...p),r.afterProgramCreate=s=>{e.typeScriptProgram=s.getProgram(),e.typeScriptTypeChecker=e.typeScriptProgram.getTypeChecker(),e._typeScriptReload?.resolve(),e._typeScriptReload=new tc},e.typeScriptWatchProgram=K.createWatchProgram(r),e.typeScriptConfig=e.typeScriptProgram.getCompilerOptions()}e.typeScriptConfig.sourceMap=t,e._compilerOptionsForPrinter=fo(e),e._typeScriptPrinter=st(e._compilerOptionsForPrinter)}import{writeFile as ac}from"node:fs/promises";import{asyncRetrievePackageJson as rc,fetchPackageLocation as ic,retrievePackageJson as oc}from"@arcgis/components-build-utils";var Ln="@arcgis/core",Co=oc(),Ge=Ln in(Co.dependencies??{})||Ln in(Co.peerDependencies??{});async function To(e,t){if(!Ge)return[];let n=await ic(Ln);if(t==="storybookBuild"){let r=await rc(n),i=G({name:"",version:r.version},!0);return[{tag:"script",attrs:{type:"importmap"},children:JSON.stringify({imports:{"@arcgis/core/":`${i}@arcgis/core/`}})},xo(i)]}else return[xo(we(e,`${n}/assets/`))]}var xo=e=>({cssHref:`${e}esri/themes/light/main.css`,id:"arcgisCoreStylesheet"});var Rn=new Set(["chunks","components","docs","types","controllers","cjs","esm","loader","utils","collection","extras","support"]),Ie="cdn";function So(e){let{skip:t=!1,namespace:n=Ie,esbuildOptions:r={}}=e.options.build?.cdn??{};if(n.toLowerCase()!==n)throw new Error(`Expected CDN namespace to be all lowercase. Received: ${n}`);if(Rn.has(n))throw new Error(`Namespace name "${n}" is restricted as it collides with a well-known Lumina dist/ folder name or Stencil dist/ folder name.`);let i=n===Ie?"index":n;if(e.provideAssets([{type:"dynamic",source:()=>Yr(e),destination:`../${i}.css`}]),!t)return{name:"@arcgis/lumina:buildCdn",async writeBundle(){if(e.isInStorybook)return;let o=Date.now(),s=await pc(e,i,r);await lc(s,i);let a=Date.now();console.log(`CDN was built in ${a-o}ms`)}}}async function pc(e,t,n){let r=e.environment;return await sc({bundle:!0,minify:r==="production",treeShaking:!0,sourcemap:r==="development"?"inline":e.options.build?.enableSourceMapsInProduction?"linked":!1,format:"esm",splitting:!0,write:!1,outdir:e.dir.distCdn,legalComments:"external",logLevel:"warning",external:["@arcgis/core"],chunkNames:"[hash]",resolveExtensions:[".js",".json"],entryNames:Eo(t),banner:{js:e.banner},target:Dt(e.typeScriptConfig),...n,plugins:[...e.options.build?.ssr?.stencilCompatibility?.enabled===!0?[{name:"@arcgis/lumina:drop-lit-ssr-import",setup(i){i.onResolve({filter:/^@lit-labs\/ssr-client\//u},o=>({path:o.path,namespace:"@arcgis/lumina:drop-lit-ssr-import"})),i.onLoad({filter:/^/u,namespace:"@arcgis/lumina:drop-lit-ssr-import"},()=>({contents:'""',loader:"json"}))}}]:[],...n?.plugins??[]],define:{"process.env.CDN":"true",...n.define},stdin:{contents:`import { defineCustomElements } from "./loader";
53
- ${rn(e._globalCssString,e)}
48
+ });`}]});let l=[],c=this.context.options.documentation?.getComponentDocsUrl?.(i,r),d=this.context.options.documentation?.getComponentDemoUrl?.(i,r);typeof c=="string"&&l.push({description:"Docs",url:c}),typeof d=="string"&&l.push({description:"Demo",url:d}),l.length>0&&(o.demos=l),o.cssProperties.length===0&&(o.cssProperties=void 0),o.cssParts.length===0&&(o.cssParts=void 0),o.slots.length===0&&(o.slots=void 0),o.attributes.length===0&&(o.attributes=void 0),o.events.length===0&&(o.events=void 0),o.cssStates.length===0&&(o.cssStates=void 0)}return o}extractComponentMembers(n){let r=[],i=n.members.length,o,s=n.members[0],a,p=s?.name!==void 0?ci(s.name):void 0;for(let l=0;l<i;l++){if(o=s,s=n.members[l+1],a=p,p=s?.name!==void 0?ci(s.name):void 0,this.pairedSetter!==void 0){this.pairedSetter=void 0;continue}s!==void 0&&a===p&&(F.isGetAccessor(s)?(this.pairedSetter=o,o=s):F.isSetAccessor(s)&&(this.pairedSetter=s));let c=this.extractComponentMember(o,a);c!==void 0&&r.push(c)}return r}extractComponentMember(n,r){if(jp(n)||r===void 0){F.isPropertyDeclaration(n)&&F.isIdentifier(n.name)&&n.name.text==="shadowRootOptions"&&n.initializer!==void 0&&F.isIdentifier(n.initializer)&&n.initializer.text==="noShadowRoot"&&(this.apiComponent.encapsulation="none");return}return F.isPropertyDeclaration(n)||F.isGetAccessor(n)||F.isSetAccessor(n)?this.extractComponentField(n,r):F.isMethodDeclaration(n)?this.extractComponentMethod(n,r):void 0}extractComponentField(n,r){let i=this.findPropertyOptions(n);this.pairedSetter!==void 0&&(i??=this.findPropertyOptions(this.pairedSetter));let o=F.isPropertyDeclaration(n);if(i===void 0){if(o&&this.context.isFullApiExtraction){let c=this.extractComponentEvent(n,r);c!==void 0&&this.apiComponent.events.push(c)}return}let s,a=!1,p=!1;for(let c of i)!F.isPropertyAssignment(c)||!F.isIdentifier(c.name)||(c.name.text==="attribute"&&(F.isStringLiteral(c.initializer)?s=c.initializer.text:s=xe(c.initializer,this.file)),c.name.text==="reflect"&&xe(c.initializer,this.file)&&(a=!0),c.name.text==="readOnly"&&xe(c.initializer,this.file)&&(p=!0),(c.name.text==="type"||c.name.text==="converter")&&(s??=!0));let l={kind:"field",name:r,summary:void 0,description:void 0,type:{text:""},default:void 0,deprecated:void 0,readonly:p||(o?n.modifiers?.some(c=>c.kind===F.SyntaxKind.ReadonlyKeyword):F.isGetAccessor(n)&&this.pairedSetter===void 0)?!0:void 0,attribute:s===!1?void 0:typeof s=="string"?s:Op(r),reflects:a||void 0,docsTags:void 0,getterTypeDiffers:void 0,docsOnlyReadonly:void 0,inheritedFrom:void 0,privacy:void 0};return this.context.isFullApiExtraction&&(this.extractComponentFieldDetails(n,l),(s===void 0&&(l.type.values===void 0||!jr(l.type.values))||l.readonly&&!l.reflects)&&(l.attribute=void 0)),l}extractComponentEvent(n,r){return li(n,r,this.context,this.file)}extractComponentFieldDetails(n,r){let i=r.readonly===!0,o=this.context.typeScriptTypeChecker,s=o.getSymbolAtLocation(n.name),a=s===void 0?void 0:mt(o,s),p=new Set(a?.docsTags.map(h=>h.name)??[]);ae(n.name,this.context.typeScriptTypeChecker,r,a);let l=!i&&r.readonly===!0;if(this.context.viteCommand==="build"){let T=(F.isSetAccessor(n)?n.parameters[0]?.type:n.type)?.getText(this.file)?.match(Kp)??[];for(let S of T){let b=this.context._typeDependencies.get(this.apiComponent.tagName);b===void 0?this.context._typeDependencies.set(this.apiComponent.tagName,new Set([S])):b.add(S)}}let c=this.pairedSetter??n,d=r.docsTags?.some(h=>h.name==="required")??!1;r.type=Br(this.context,c,d,this.file);let m=r.default;di(n,r,this.file);let u=m===void 0&&r.default==="true";if("initializer"in n&&n.initializer!==void 0&&(!r.default||!r.description)){let h=n.initializer,y=o.getSymbolAtLocation(h),T=y!==void 0&&(y.flags??0)&F.SymbolFlags.Alias?o.getAliasedSymbol(y):y,S=T?.getDeclarations()??[];if(T!==void 0){let b=mt(o,T);if(b.docsTags.length>0){b.docsTags=b.docsTags.filter(j=>!p.has(j.name));let M=r.description;ae(n.name,o,r,b),b.docsTags.forEach(j=>{p.add(j.name)}),r.description=M??r.description}else r.description||=b.description}S.forEach(b=>{if(!("initializer"in b))return;let M=b;l||=M.modifiers?.some(j=>j.kind===F.SyntaxKind.ReadonlyKeyword)??!1,di(M,r,M.getSourceFile())})}if(l&&(r.readonly=!0,i||(r.docsOnlyReadonly=!0)),r.type.values&&r.type.values.length>0&&r.type.values?.every(h=>h.type==="boolean")&&(r.default?u&&this.context.viteCommand==="build"&&r.deprecated===void 0&&this.context.logLintError("booleanMustDefaultFalse",this.file.fileName,`Boolean properties must default to "false". Found default value "true" in ${this.apiComponent.name}.${r.name}`):r.default="false"),this.pairedSetter!==void 0&&!r.readonly){let h=this.pairedSetter.parameters.at(0)?.type?.getText(this.file),y=n.type?.getText(this.file);h!==y&&y!==void 0&&h!==void 0&&(r.getterTypeDiffers=!0)}}findPropertyOptions(n){let r=fn(n,"property");return r===void 0?void 0:r.arguments?.find(F.isObjectLiteralExpression)?.properties??[]}extractComponentMethod(n,r){if(fn(n,"method")===void 0)return;let i={kind:"method",name:r,summary:void 0,description:void 0,deprecated:void 0,parameters:[],return:void 0,inheritedFrom:void 0,docsTags:void 0,signature:"",async:pi(n)?!0:void 0,privacy:void 0};if(this.context.isFullApiExtraction){let o=this.context.typeScriptTypeChecker;ai(n,i,o,this.file,this.context.dir)}return i}inferAttributes(n){let r=[];for(let i of n){if(i.kind!=="field"||i.attribute===void 0||i.privacy!==void 0)continue;let o=i.type.values?.filter(s=>s.type==="number"||s.type==="string"||s.type==="boolean");r.push({name:i.attribute,summary:i.summary,description:i.description,inheritedFrom:i.inheritedFrom,type:o===void 0||o.length===0?i.type:{text:ct(o),references:void 0,values:o},default:i.default,fieldName:i.name,deprecated:i.deprecated})}return r}inferExport(n){if("customElement"in n)return this.inferCustomElementExport(n)}inferCustomElementExport(n){return{kind:"custom-element-definition",name:n.tagName,declaration:{name:n.name,module:this.apiModule.path}}}inheritMembers(n,r,i=n.superclass,o,s,a){let p=i.name;if(p===void 0||p===_e.name)return;let l=this._resolvedInheritance.get(p)??this.resolveInheritance(p,r)??(this.isPathOnly?this.resolveInheritance(p,this.context.privateApiJson.modules):void 0);if(l!==void 0){o??=new Set(n.members.map(c=>c.name));for(let c of l.members)o.has(c.name)||(n.members.push({...c,inheritedFrom:i}),o.add(c.name));if(l.attributes!==void 0){n.attributes??=[],s??=new Set(n.attributes.map(c=>c.name));for(let c of l.attributes)s.has(c.name)||(n.attributes.push({...c,inheritedFrom:i}),s.add(c.name))}if(l.events!==void 0){n.events??=[],a=new Set(n.events.map(c=>c.name));for(let c of l.events)a.has(c.name)||(n.events.push({...c,inheritedFrom:i}),a.add(c.name))}l.superclass.name!==_e.name&&this.inheritMembers(n,r,l.superclass,o,s,a),i.module=l.importPath}}resolveInheritance(n,r){for(let i of r)for(let o of i.declarations)if("customElement"in o&&n===o.name)return this._resolvedInheritance.set(n,o),o;this._resolvedInheritance.set(n,void 0)}},_e={name:"LitElement",package:"@arcgis/lumina"},gn=(e,t)=>e.name.localeCompare(t.name),Kp=/(?<=this.)[\w$]+/gu;import{readFile as Up}from"node:fs/promises";async function ui(e,t){t||(e.componentFilesPromise=we(e,e.dir.srcComponents));let n=await e.componentFilesPromise,r=await Gp(e,n);e._componentPathMapping={},e._localDefinedComponents=void 0;let i=yi(r,e,!1);e.privateApiJson=i;let[o,s]=gi(i);return e.apiJsonComponents=s,e.apiJson=o,i}function fi(e,t,n){let r=e.getSourceFile(t,n),i=yi([r],e,!0),o=i.modules[0];{let m=gi(i)[0].modules[0],u=e.apiJson.modules.findIndex(y=>y.path===m.path),f=e.apiJson.modules[u],h=Array.from(e.apiJson.modules);h.splice(u,1,m),e.apiJson={...e.apiJson,modules:h},e.apiJsonComponents=e.apiJsonComponents.filter(y=>!f.declarations.includes(y));for(let y of m.declarations)"customElement"in y&&e.apiJsonComponents.push(y)}let s=e.privateApiJson.modules.findIndex(m=>m.path===o.path),a=e.privateApiJson.modules[s],p=Array.from(e.privateApiJson.modules);p.splice(s,1,o),e.privateApiJson={...e.privateApiJson,modules:p};let l=!1,c=a.declarations.filter(m=>"customElement"in m),d=[];for(let m of o.declarations)if("customElement"in m){let f=c.find(h=>h.tagName===m.tagName)===void 0;l||=f,d.push(m)}return l||=d.length!==c.length,l?void 0:d}function yi(e,t,n){let r=t.options.apiJson?.Extractor??Ue,o=new r(t,n).extract(e);return t.options.apiJson?.afterCreate?.(o,n),o}function gi(e){let t={...e,modules:[]},n=[];for(let r of e.modules){let i={...r,declarations:[]};for(let o of r.declarations)if("customElement"in o&&o.privacy===void 0){let s={...o,members:o.members.filter(a=>a.privacy===void 0)};i.declarations.push(s),n.push(s)}i.declarations.length>0&&t.modules.push(i)}return[t,n]}function mi(e,t,n){e.members.forEach(r=>{if(r.kind==="field")ft(r.type,n,t);else if(ft(r.return?.type,n,t),r.parameters!==void 0)for(let i of r.parameters)ft(i.type,n,t)}),e.events?.forEach(r=>{ft(r.type,n,t)})}function ft(e,t,n){e!==void 0&&(e.references?.forEach(r=>Vp(r,t,n)),e.text=e.text.replaceAll(qp,(r,i)=>t.get(i)??r),e.values?.forEach(zp,t))}function Vp(e,t,n){e.package===void 0&&(e.module?.startsWith("dist/components/")===!0?e.module=ie(e.module,"dist/components/",n):e.module==="index.js"&&e.name&&(e.name=t.get(e.name)??e.name))}function zp(e){e.type.startsWith("ToElement<")&&(e.type=this.get(e.type.slice(10,-1))??e.type)}var qp=/ToElement<(\w+)>/gu;async function Gp(e,t){if(e.viteCommand==="serve"&&(Object.hasOwn(e,"typeScriptHost")||(e.typeScriptHost=_p.createCompilerHost(e.typeScriptConfig,!1))),e.typeScriptProgram!==void 0){let n=e.typeScriptProgram.getSourceFiles(),r=new Set(t);return n.filter(i=>r.has(i.fileName))}else return await Promise.all(t.map(async n=>{let r=await Up(n,"utf8");return e.getSourceFile(n,r)}))}import{readFile as Ic,writeFile as Nc}from"node:fs/promises";import{path as Mt,toSystemPathSeparators as Lc}from"@arcgis/components-build-utils";import{isNotUndefined as $o}from"@arcgis/components-utils";import{isNotUndefined as Xp}from"@arcgis/components-utils";import{existsAsync as hi}from"@arcgis/components-build-utils";import{readFile as hn,readdir as Qp}from"node:fs/promises";import{asyncRetrievePackageJson as Yp,fetchPackageLocation as Zp,retrievePackageJson as el,path as yt}from"@arcgis/components-build-utils";async function gt(e){return le??=tl(e),await le}function xi(){if(Cn===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return Cn}function ht(){if(xn===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return xn}async function tl(e){let t=el(e),n=t.dependencies??{},r=t.peerDependencies??{},o=(await Promise.all([...Object.keys(n),...Object.keys(r)].filter(s=>!nl.has(s)).flatMap(async s=>await Tn(s,e)))).filter(Xp);return Cn??=o,xn=Object.fromEntries(o.flatMap(s=>Object.entries(s.components))),o}var nl=new Set(["@arcgis/arcade-languageservice","@arcgis/components-controllers","@arcgis/components-build-utils","@arcgis/components-utils","@arcgis/core","@arcgis/core-adapter","@arcgis/languages-api-utils","@arcgis/languages-sdk-specs","@arcgis/lumina","@commander-js/extra-typings","@custom-elements-manifest/analyzer","@esri/calcite-ui-icons","@floating-ui/dom","@lit-labs/ssr","@lit-labs/ssr-client","@lit/react","@types/color","@types/sortablejs","color","composed-offset-position","custom-elements-manifest","dayjs","focus-trap","interactjs","lit","lodash-es","monaco-editor","sortablejs","storybook","timezone-groups","type-fest","tslib","typescript","vscode-languageserver-textdocument","vscode-languageserver-types"]),Cn,xn,le;async function Tn(e,t){let n=await Zp(e,t),r=await Yp(n),i="exports"in r,o=pl.bind(void 0,i),s="@stencil/core"in(r.dependencies??{})||"@stencil/core"in(r.devDependencies??{}),a=yt.join(n,"dist/esm/loader.js");if(s?await hi(a):!1){let u=await hn(a,"utf8"),f=rl(u,"bootstrapLazy("),h=u.indexOf(", options",f),y=u.slice(f,h),T=y.startsWith('JSON.parse("')?y.slice(12,-2).replaceAll('\\"','"'):y;try{let S=JSON.parse(T),b=sl(S,{packageName:e,getImportPath:o});return{packageName:e,type:"stencil",components:b}}catch(S){console.warn(`@arcgis/lumina: Failed to parse dist/esm/loader.js for ${e}.
49
+ Error: ${String(S)}`)}}let l=Ci(r.customElements);if(l!=null){let u=yt.join(n,l),f=JSON.parse(await hn(u,"utf-8")),h=il(f),y=bn(f,{packageName:e,getImportPath:o});return{type:h?"@arcgis/lumina":"unknown",packageName:e,components:y}}let c=Ci(r["web-types"]);if(c!=null){let u=yt.join(n,c),f=JSON.parse(await hn(u,"utf-8")),h=ol(f,{packageName:e,getImportPath:o,packageRoot:n});return{type:"unknown",packageName:e,components:h}}let d=yt.join(n,"dist/components");if(await hi(d)){let u=await al(d,{packageName:e,getImportPath:o});return{type:"unknown",packageName:e,components:u}}}var Ci=e=>Array.isArray(e)?e[0]:e;function rl(e,t){let n=e.indexOf(t);return n===-1?-1:n+t.length}function bn(e,t){let n={};for(let r of e.modules)if(r.declarations!==void 0)for(let i of r.declarations){if(!("tagName"in i))continue;let o=i,s=o,a=o.tagName;n[a]={packageName:t.packageName,moduleName:s.importPath??t.getImportPath(a),propToAttribute:Object.fromEntries((o.attributes??[]).map(p=>[p.fieldName??p.name,p.name]))}}return n}var il=e=>e.compiler?.name===De,ol=(e,t)=>Object.fromEntries((e.contributions?.html?.elements??e.contributions?.html?.tags)?.map(n=>[n.name,{packageName:t.packageName,moduleName:t.getImportPath(n.name),propToAttribute:{}}])??[]);var sl=(e,t)=>Object.fromEntries(e.flatMap(([n,r])=>r.map(([i,o,s={}])=>[o,{packageName:t.packageName,moduleName:t.getImportPath(o),propToAttribute:Object.fromEntries(Object.entries(s).filter(([a,[p]])=>p&15).map(([a,[p,l=a]])=>[a,l]))}]))),al=async(e,t)=>Object.fromEntries((await Qp(e)).filter(n=>n.endsWith(".d.ts")).map(n=>{let r=n.slice(0,-5);return[r,{packageName:t.packageName,moduleName:t.getImportPath(r),propToAttribute:{}}]})),pl=(e,t)=>e?`components/${t}`:`dist/components/${t}.js`;import{asyncRetrievePackageJson as Ec,fetchPackageLocation as wc}from"@arcgis/components-build-utils";var ll=e=>e.startsWith("/")?e:`/${e}`,Fe=(e,t)=>`${e}@fs${ll(t)}`;import{retrievePackageJson as cl}from"@arcgis/components-build-utils";function ee(e=cl(),t=!1,n=e.name==="@esri/calcite-components"){let r=e.version.includes("next");if(e.name==="@esri/calcite-components"&&r)return`https://cdn.jsdelivr.net/npm/@esri/calcite-components@${e.version}/dist/calcite/`;let i=t||r?"jsdev.arcgis.com":"js.arcgis.com",o=dl(e.name),s=ml(e.version,n);return["https://",i,o.length>0?"/":"",o,"/",s,"/"].join("")}var dl=e=>e.split("/").pop()??e;function ml(e,t){if(/\d+\.\d+\.\d+-(?:.*)$/u.test(e))return"next";let r=/^(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)/u,i=e.match(r);if(i?.groups!==void 0){let{major:o,minor:s,patch:a}=i.groups,p=`${o}.${s}`;return t?`${p}.${a}`:p}return"next"}import{isNotUndefined as Tc}from"@arcgis/components-utils";import{readdir as bc}from"node:fs/promises";import{path as Wn}from"@arcgis/components-build-utils";import{existsAsync as ko}from"@arcgis/components-build-utils";import{asyncRetrievePackageJson as Sc,fetchPackageLocation as vc}from"@arcgis/components-build-utils";import{build as mc}from"esbuild";import{findPath as oc,path as xo,toSystemPathSeparators as sc}from"@arcgis/components-build-utils";import{Deferred as ac,identity as pc}from"@arcgis/components-utils";import V from"typescript";import rc from"typescript";import Ul from"typescript";import Sn from"typescript";var ul=["keyed","ref","repeat","live"],ce="staticHtml",te="staticSvg",ne="html",de="svg",vn=Symbol("maybe HTML namespace or maybe SVG"),En="css",wn="mathml",Ti=[En,ne,wn,ce,te,de],bi=new Set(Ti),fl=["safeClassMap","safeStyleMap"],yl="nothing",Si=[...ul,...Ti,...fl,yl],ke=e=>Sn.isJsxElement(e)||Sn.isJsxSelfClosingElement(e)||Sn.isJsxFragment(e);import x from"typescript";import v from"typescript";var vi="Fragment",Ct="DynamicHtmlTag",xt="DynamicSvgTag",Te=Symbol("dynamic html tag name"),Ve=Symbol("dynamic svg tag name"),Ei=!0,Tt=new Set(["class","itemProp","itemScope","itemType","itemId","itemRef","about","datatype","inlist","property","resource","typeof","vocab"]),bt=new Set(["width","height","href","hreflang","form","download","rowSpan","colSpan","viewBox","src","exportParts","hreflang","media"]),ze={button:new Set(["popoverTarget"]),input:new Set(["list","capture"]),iframe:new Set(["sandbox"]),link:new Set(["sizes"]),meta:new Set(["charset"]),math:new Set(["dir","displaystyle","scriptlevel"]),menu:new Set(["label","type"])},_={common:{reflected:{hidden:"hidden",inert:"inert",draggable:"draggable",contentEditable:"contenteditable",popover:"popover",autofocus:"autofocus",role:"role",ariaAtomic:"aria-atomic",ariaAutoComplete:"aria-autocomplete",ariaBusy:"aria-busy",ariaBrailleLabel:"aria-braillelabel",ariaBrailleRoleDescription:"aria-brailleroledescription",ariaChecked:"aria-checked",ariaColCount:"aria-colcount",ariaColIndex:"aria-colindex",ariaColSpan:"aria-colspan",ariaCurrent:"aria-current",ariaDescription:"aria-description",ariaDisabled:"aria-disabled",ariaExpanded:"aria-expanded",ariaHasPopup:"aria-haspopup",ariaHidden:"aria-hidden",ariaInvalid:"aria-invalid",ariaKeyShortcuts:"aria-keyshortcuts",ariaLabel:"aria-label",ariaLevel:"aria-level",ariaLive:"aria-live",ariaModal:"aria-modal",ariaMultiLine:"aria-multiline",ariaMultiSelectable:"aria-multiselectable",ariaOrientation:"aria-orientation",ariaPlaceholder:"aria-placeholder",ariaPosInSet:"aria-posinset",ariaPressed:"aria-pressed",ariaReadOnly:"aria-readonly",ariaRelevant:"aria-relevant",ariaRequired:"aria-required",ariaRoleDescription:"aria-roledescription",ariaRowCount:"aria-rowcount",ariaRowIndex:"aria-rowindex",ariaRowSpan:"aria-rowspan",ariaSelected:"aria-selected",ariaSetSize:"aria-setsize",ariaSort:"aria-sort",ariaValueMax:"aria-valuemax",ariaValueMin:"aria-valuemin",ariaValueNow:"aria-valuenow",ariaValueText:"aria-valuetext",ariaColIndexText:"aria-colindextext",ariaRowIndexText:"aria-rowindextext",ariaVirtualContent:"aria-virtualcontent"},stringifiedReflected:{title:"title",lang:"lang",translate:"translate",dir:"dir",accessKey:"accesskey",spellcheck:"spellcheck",autocapitalize:"autocapitalize",enterKeyHint:"enterkeyhint",inputMode:"inputmode",virtualKeyboardPolicy:"virtualkeyboardpolicy",tabIndex:"tabindex",writingSuggestions:"writingsuggestions",focusgroup:"focusgroup",id:"id",className:"class",slot:"slot",elementTiming:"elementtiming"},stringifiedNonReflected:{innerText:"",nonce:"",innerHTML:""}},perElement:{a:{stringifiedReflected:{target:"target",download:"download",ping:"ping",rel:"rel",hreflang:"hreflang",type:"type",referrerPolicy:"referrerpolicy",coords:"coords",charset:"charset",name:"name",rev:"rev",shape:"shape",href:"href",interestAction:"interestaction",hrefTranslate:"hreftranslate",attributionSrc:"attributionsrc"},stringifiedNonReflected:{text:""}},area:{reflected:{noHref:"nohref"},stringifiedReflected:{alt:"alt",coords:"coords",download:"download",shape:"shape",target:"target",ping:"ping",rel:"rel",referrerPolicy:"referrerpolicy",href:"href",interestAction:"interestaction"}},audio:{reflected:{crossOrigin:"crossorigin",autoplay:"autoplay",loop:"loop",controls:"controls",defaultMuted:"muted",disableRemotePlayback:"disableremoteplayback"},stringifiedReflected:{src:"src",preload:"preload"}},base:{stringifiedReflected:{href:"href",target:"target"}},blockquote:{stringifiedReflected:{cite:"cite"}},body:{stringifiedReflected:{text:"text",link:"link",vLink:"vlink",aLink:"alink",bgColor:"bgcolor",background:"background"}},br:{stringifiedReflected:{clear:"clear"}},button:{reflected:{disabled:"disabled",formNoValidate:"formnovalidate"},stringifiedReflected:{formAction:"formaction",formEnctype:"formenctype",formMethod:"formmethod",formTarget:"formtarget",name:"name",type:"type",value:"value",popoverTargetAction:"popovertargetaction",command:"command",interestAction:"interestaction"}},canvas:{stringifiedReflected:{width:"width",height:"height"}},caption:{stringifiedReflected:{align:"align"}},col:{stringifiedReflected:{span:"span",align:"align",ch:"char",chOff:"charoff",vAlign:"valign",width:"width"}},colgroup:{stringifiedReflected:{span:"span",align:"align",ch:"char",chOff:"charoff",vAlign:"valign",width:"width"}},data:{stringifiedReflected:{value:"value"}},del:{stringifiedReflected:{cite:"cite",dateTime:"datetime"}},details:{reflected:{open:"open"},stringifiedReflected:{name:"name"}},dialog:{reflected:{open:"open"},stringifiedNonReflected:{returnValue:""}},div:{stringifiedReflected:{align:"align"}},dl:{reflected:{compact:"compact"}},embed:{stringifiedReflected:{src:"src",type:"type",width:"width",height:"height",align:"align",name:"name"}},fieldset:{reflected:{disabled:"disabled"},stringifiedReflected:{name:"name"}},form:{reflected:{noValidate:"novalidate"},stringifiedReflected:{acceptCharset:"accept-charset",action:"action",autocomplete:"autocomplete",enctype:"enctype",encoding:"enctype",method:"method",name:"name",target:"target",rel:"rel"}},h1:{stringifiedReflected:{align:"align"}},h2:{stringifiedReflected:{align:"align"}},h3:{stringifiedReflected:{align:"align"}},h4:{stringifiedReflected:{align:"align"}},h5:{stringifiedReflected:{align:"align"}},h6:{stringifiedReflected:{align:"align"}},hr:{reflected:{noShade:"noshade"},stringifiedReflected:{align:"align",color:"color",size:"size",width:"width"}},html:{stringifiedReflected:{version:"version"}},iframe:{reflected:{allowFullscreen:"allowfullscreen",credentialless:"credentialless",allowPaymentRequest:"allowpaymentrequest",browsingTopics:"browsingtopics",adAuctionHeaders:"adauctionheaders",sharedStorageWritable:"sharedstoragewritable"},stringifiedReflected:{src:"src",srcdoc:"srcdoc",name:"name",width:"width",height:"height",referrerPolicy:"referrerpolicy",csp:"csp",allow:"allow",loading:"loading",align:"align",scrolling:"scrolling",frameBorder:"frameborder",longDesc:"longdesc",marginHeight:"marginheight",marginWidth:"marginwidth",policy:"policy",privateToken:"privatetoken"}},img:{reflected:{crossOrigin:"crossorigin",isMap:"ismap",width:"width",height:"height",hspace:"hspace",vspace:"vspace",sharedStorageWritable:"sharedstoragewritable"},stringifiedReflected:{alt:"alt",src:"src",srcset:"srcset",sizes:"sizes",useMap:"usemap",referrerPolicy:"referrerpolicy",decoding:"decoding",fetchPriority:"fetchpriority",loading:"loading",name:"name",lowsrc:"lowsrc",align:"align",longDesc:"longdesc",border:"border",attributionSrc:"attributionsrc"}},input:{reflected:{defaultChecked:"checked",disabled:"disabled",formNoValidate:"formnovalidate",height:"height",multiple:"multiple",readOnly:"readonly",required:"required",size:"size",width:"width",webkitdirectory:"webkitdirectory",incremental:"incremental"},stringifiedReflected:{accept:"accept",alt:"alt",autocomplete:"autocomplete",dirName:"dirname",formAction:"formaction",formEnctype:"formenctype",formMethod:"formmethod",formTarget:"formtarget",max:"max",maxLength:"maxlength",min:"min",minLength:"minlength",name:"name",pattern:"pattern",placeholder:"placeholder",src:"src",step:"step",type:"type",defaultValue:"value",align:"align",useMap:"usemap",popoverTargetAction:"popovertargetaction",command:"command",interestAction:"interestaction"},stringifiedNonReflected:{value:""}},ins:{stringifiedReflected:{cite:"cite",dateTime:"datetime"}},label:{stringifiedReflected:{htmlFor:"for"}},legend:{stringifiedReflected:{align:"align"}},li:{reflected:{value:"value"},stringifiedReflected:{type:"type"}},link:{reflected:{disabled:"disabled",crossOrigin:"crossorigin"},stringifiedReflected:{href:"href",rel:"rel",media:"media",hreflang:"hreflang",type:"type",as:"as",referrerPolicy:"referrerpolicy",fetchPriority:"fetchpriority",imageSrcset:"imagesrcset",imageSizes:"imagesizes",charset:"charset",rev:"rev",target:"target",integrity:"integrity"}},map:{stringifiedReflected:{name:"name"}},menu:{reflected:{compact:"compact"}},meta:{stringifiedReflected:{name:"name",httpEquiv:"http-equiv",content:"content",media:"media",scheme:"scheme"}},meter:{reflected:{value:"value",min:"min",max:"max",low:"low",high:"high",optimum:"optimum"}},object:{reflected:{declare:"declare",hspace:"hspace",vspace:"vspace"},stringifiedReflected:{data:"data",type:"type",name:"name",useMap:"usemap",width:"width",height:"height",align:"align",archive:"archive",code:"code",standby:"standby",codeBase:"codebase",codeType:"codetype",border:"border"}},ol:{reflected:{reversed:"reversed",compact:"compact"},stringifiedReflected:{start:"start",type:"type"}},optgroup:{reflected:{disabled:"disabled"},stringifiedReflected:{label:"label"}},option:{reflected:{disabled:"disabled",defaultSelected:"selected"},stringifiedReflected:{label:"label",value:"value"},stringifiedNonReflected:{text:""}},output:{stringifiedReflected:{name:"name"},stringifiedNonReflected:{defaultValue:"",value:""}},p:{stringifiedReflected:{align:"align"}},pre:{reflected:{width:"width"}},progress:{reflected:{value:"value",max:"max"}},q:{stringifiedReflected:{cite:"cite"}},script:{reflected:{noModule:"nomodule",async:"async",defer:"defer",crossOrigin:"crossorigin",referrerPolicy:"referrerpolicy"},stringifiedReflected:{src:"src",type:"type",charset:"charset",fetchPriority:"fetchpriority",event:"event",htmlFor:"for",integrity:"integrity",attributionSrc:"attributionsrc"},stringifiedNonReflected:{text:""}},select:{reflected:{disabled:"disabled",multiple:"multiple",required:"required",size:"size"},stringifiedReflected:{autocomplete:"autocomplete",name:"name"}},slot:{stringifiedReflected:{name:"name"}},source:{reflected:{width:"width",height:"height"},stringifiedReflected:{src:"src",type:"type",srcset:"srcset",sizes:"sizes",media:"media"}},style:{stringifiedReflected:{media:"media",type:"type"}},table:{stringifiedReflected:{align:"align",border:"border",frame:"frame",rules:"rules",summary:"summary",width:"width",bgColor:"bgcolor",cellPadding:"cellpadding",cellSpacing:"cellspacing"}},tbody:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},td:{reflected:{noWrap:"nowrap"},stringifiedReflected:{colSpan:"colspan",rowSpan:"rowspan",headers:"headers",align:"align",axis:"axis",height:"height",width:"width",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor",abbr:"abbr",scope:"scope"}},template:{reflected:{shadowRootDelegatesFocus:"shadowrootdelegatesfocus",shadowRootClonable:"shadowrootclonable",shadowRootSerializable:"shadowrootserializable",parseparts:"parseparts"},stringifiedReflected:{shadowRootMode:"shadowrootmode"}},textarea:{reflected:{cols:"cols",disabled:"disabled",readOnly:"readonly",required:"required",rows:"rows"},stringifiedReflected:{autocomplete:"autocomplete",dirName:"dirname",maxLength:"maxlength",minLength:"minlength",name:"name",placeholder:"placeholder",wrap:"wrap"},stringifiedNonReflected:{defaultValue:"",value:""}},tfoot:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},th:{reflected:{noWrap:"nowrap"},stringifiedReflected:{colSpan:"colspan",rowSpan:"rowspan",headers:"headers",align:"align",axis:"axis",height:"height",width:"width",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor",abbr:"abbr",scope:"scope"}},thead:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},time:{stringifiedReflected:{dateTime:"datetime"}},title:{stringifiedNonReflected:{text:""}},tr:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor"}},track:{reflected:{default:"default"},stringifiedReflected:{kind:"kind",src:"src",srclang:"srclang",label:"label"}},ul:{reflected:{compact:"compact"},stringifiedReflected:{type:"type"}},video:{reflected:{width:"width",height:"height",playsInline:"playsinline",disablePictureInPicture:"disablepictureinpicture",crossOrigin:"crossorigin",autoplay:"autoplay",loop:"loop",controls:"controls",defaultMuted:"muted",disableRemotePlayback:"disableremoteplayback"},stringifiedReflected:{poster:"poster",src:"src",preload:"preload"}}}};wi(_.common);Object.values(_.perElement).forEach(wi);function wi(e){e?.reflected!==void 0&&(e.reflected=Object.assign(Object.create(null),e.reflected)),e?.stringifiedReflected!==void 0&&(e.stringifiedReflected=Object.assign(Object.create(null),e.stringifiedReflected)),e?.stringifiedNonReflected!==void 0&&(e.stringifiedNonReflected=Object.assign(Object.create(null),e.stringifiedNonReflected))}var Pn=new Set(["itemScope"]),St=new Set(["abort","animationCancel","animationEnd","animationIteration","animationStart","auxClick","beforeInput","blur","canPlay","canPlayThrough","cancel","change","click","close","compositionEnd","compositionStart","compositionUpdate","contextMenu","copy","cueChange","cut","dblClick","drag","dragEnd","dragEnter","dragLeave","dragOver","dragStart","drop","durationChange","emptied","encrypted","error","focus","focusIn","focusOut","formData","fullscreenChange","fullscreenError","gotPointerCapture","input","invalid","keyDown","keyUp","load","loadStart","loadedData","loadedMetadata","lostPointerCapture","mouseDown","mouseEnter","mouseLeave","mouseMove","mouseOut","mouseOver","mouseUp","paste","pause","play","playing","pointerCancel","pointerDown","pointerEnter","pointerLeave","pointerMove","pointerOut","pointerOver","pointerUp","progress","rateChange","reset","resize","scroll","scrollEnd","securityPolicyViolation","seeked","seeking","select","selectStart","slotChange","stalled","submit","suspend","timeUpdate","toggle","touchCancel","touchEnd","touchMove","touchStart","transitionCancel","transitionEnd","transitionRun","transitionStart","volumeChange","waiting","wheel"]),Pi=new Set(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),Ie=new Set(["animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","switch","symbol","text","textPath","tspan","use","view"]),Ai=new Set(["title","svg","a","script","style"]),Ne=new Set(["annotation-xml","annotation","maction","menclose","merror","mfenced","mfrac","mi","mmultiscripts","mn","mo","mover","mpadded","mphantom","mprescripts","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msubsup","msup","mtable","mtd","mtext","mtr","munder","munderover","semantics"]),vt=new Set(["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"]);import{mappedFind as Di,uncapitalize as Fi}from"@arcgis/components-utils";import g from"typescript";function An(e,t,n){if(Le(e))return e;{n===void 0&&t.neededImports.add("nothing");let r=t.importRenames.nothing;return g.factory.createParenthesizedExpression(g.factory.createBinaryExpression(g.factory.createParenthesizedExpression(e),g.factory.createToken(g.SyntaxKind.QuestionQuestionToken),typeof n=="string"?g.factory.createStringLiteral(n):g.factory.createIdentifier(r)))}}function Le(e){return typeof e=="string"||gl.has(e.kind)||g.isConditionalExpression(e)&&Le(e.whenTrue)&&Le(e.whenFalse)||g.isBinaryExpression(e)&&(hl.has(e.operatorToken.kind)||Le(e.left)&&Le(e.right))||(g.isParenthesizedExpression(e)||g.isSatisfiesExpression(e)||g.isAsExpression(e))&&Le(e.expression)||g.isTaggedTemplateExpression(e)&&g.isIdentifier(e.tag)&&bi.has(e.tag.text)}var gl=new Set([g.SyntaxKind.NumericLiteral,g.SyntaxKind.BigIntLiteral,g.SyntaxKind.StringLiteral,g.SyntaxKind.RegularExpressionLiteral,g.SyntaxKind.NoSubstitutionTemplateLiteral,g.SyntaxKind.FalseKeyword,g.SyntaxKind.TrueKeyword,g.SyntaxKind.ArrayLiteralExpression,g.SyntaxKind.ObjectLiteralExpression,g.SyntaxKind.FunctionExpression,g.SyntaxKind.ArrowFunction,g.SyntaxKind.TypeOfExpression,g.SyntaxKind.PrefixUnaryExpression,g.SyntaxKind.PostfixUnaryExpression,g.SyntaxKind.TemplateExpression,g.SyntaxKind.ClassExpression,g.SyntaxKind.NonNullExpression]),hl=new Set([g.SyntaxKind.PlusEqualsToken,g.SyntaxKind.MinusEqualsToken,g.SyntaxKind.AsteriskAsteriskEqualsToken,g.SyntaxKind.AsteriskEqualsToken,g.SyntaxKind.SlashEqualsToken,g.SyntaxKind.PercentEqualsToken,g.SyntaxKind.AmpersandEqualsToken,g.SyntaxKind.BarEqualsToken,g.SyntaxKind.CaretEqualsToken,g.SyntaxKind.LessThanLessThanEqualsToken,g.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken,g.SyntaxKind.GreaterThanGreaterThanEqualsToken,g.SyntaxKind.AmpersandToken,g.SyntaxKind.BarToken,g.SyntaxKind.CaretToken,g.SyntaxKind.EqualsEqualsToken,g.SyntaxKind.EqualsEqualsEqualsToken,g.SyntaxKind.ExclamationEqualsEqualsToken,g.SyntaxKind.ExclamationEqualsToken,g.SyntaxKind.LessThanToken,g.SyntaxKind.LessThanEqualsToken,g.SyntaxKind.GreaterThanToken,g.SyntaxKind.GreaterThanEqualsToken,g.SyntaxKind.InstanceOfKeyword,g.SyntaxKind.InKeyword,g.SyntaxKind.LessThanLessThanToken,g.SyntaxKind.GreaterThanGreaterThanToken,g.SyntaxKind.GreaterThanGreaterThanGreaterThanToken,g.SyntaxKind.PlusToken,g.SyntaxKind.MinusToken,g.SyntaxKind.AsteriskToken,g.SyntaxKind.SlashToken,g.SyntaxKind.PercentToken,g.SyntaxKind.AsteriskAsteriskToken]);var Ni={property(e,t,n,r){let i=Cl(r,n,e),o=i?.type==="stringifiedReflected",s=i?.type==="reflected"||o;if(s){let m=Fn(t);if(m===!0)return[i.name];if(m===!1)return[]}let a=t===void 0?["=",v.factory.createToken(v.SyntaxKind.TrueKeyword)]:Et(e,t,s),p=a[0]!=="=";if(s&&p)return[i.name,...a];let[l,c]=a,d=i?.type==="stringifiedNonReflected";if(o||d){let m=An(c,e,d?"":void 0),f=n==="value"&&(r==="input"||r==="textarea"||r===Te)?Tl(m,e):m;if(f!==c)return[d?`.${n}`:i.name,l,f]}return[`.${n}`,...a]},attribute(e,t,n){let r=t===void 0||Fn(t);if(r===!0)return[n];if(r===!1)return[];let i=Et(e,t,!0),s=i[0]!=="="?i:[i[0],An(i[1],e)];return[n,...s]},booleanAttribute(e,t,n){let r=t===void 0||Fn(t);return r===!0?[n]:r===!1?[]:[`?${n}`,...Et(e,t,!1)]},event(e,t,n){if(t===void 0||!v.isJsxExpression(t)||t.expression===void 0)throw new Error(`Event prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);let r=n.slice(2),i=Fi(r);return[`@${St.has(i)?r.toLowerCase():Ei?Fi(r):r}=`,...wt(e,t,void 0)]},directives(e,t){if(t===void 0||!v.isJsxExpression(t))throw new Error(`Directives prop must be an expression. Found ${String(t?.getText(e.sourceFile))}`);if(t.expression===void 0||!v.isArrayLiteralExpression(t.expression))throw new Error(`Directives prop must be an array rather than a variable or ternary expression. Still, the following are allowed: directives={[directiveA, condition ? a : b, c()]}. Found ${String(t.expression?.getText(e.sourceFile))}`);return t.expression.elements.flatMap(i=>{if(v.isSpreadElement(i))throw new Error(`Directives prop cannot contain a spread argument - it needs to be statically analyzable. Still, the following are allowed: directives={[directiveA, condition ? a : b, c()]}. Found ${String(t.expression?.getText(e.sourceFile))}`);return X(e,void 0,i)})},ref(e,t){e.neededImports.add("ref");let n=e.importRenames.ref;if(t===void 0||!v.isJsxExpression(t)||t.expression===void 0)throw new Error(`ref prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);return[v.factory.createCallExpression(v.factory.createIdentifier(n),void 0,[X(e,void 0,t.expression)])]},class:Ii,style:Ii,key:(e,t)=>[qe(t,e.sourceFile)]};function Cl(e,t,n){if(typeof e=="string"){let o=(n.externalComponents[e]??n.localComponents[e])?.propToAttribute?.[t];if(o!==void 0)return{name:o,type:"reflected"}}let r=Dn(_.common,t);if(r!==void 0)return r;if(typeof e=="string"){let i=Dn(_.perElement[e],t);if(i!==void 0)return i}else{let i=Object.values(_.perElement).map(s=>Dn(s,t)),o=Di(i,s=>s?.type==="stringifiedNonReflected"?s:void 0)??Di(i,s=>s?.type==="stringifiedReflected"?s:void 0);if(o!==void 0)return o}}function Dn(e,t){let n=e?.reflected?.[t];if(n!==void 0)return{name:n,type:"reflected"};let r=e?.stringifiedReflected?.[t];if(r!==void 0)return{name:r,type:"stringifiedReflected"};let i=e?.stringifiedNonReflected?.[t];if(i!==void 0)return{name:i,type:"stringifiedNonReflected"}}function qe(e,t){if(e!==void 0&&v.isJsxExpression(e)&&e.expression!==void 0)return e.expression;if(e!==void 0&&v.isStringLiteral(e))return e;throw new Error(`key prop value must be an expression. Found ${String(e?.getText(t))}`)}function Fn(e){if(e===void 0)return!0;if(v.isJsxExpression(e)){if(e.expression?.kind===v.SyntaxKind.TrueKeyword||e.expression===void 0)return!0;if(e.expression?.kind===v.SyntaxKind.FalseKeyword)return!1}}function Et(e,t,n=!1){if(ke(t))throw new Error(`Invalid JSX syntax detected or there is a bug in Lumina. Found ${t.getText(e.sourceFile)}. Expected JSX attribute value to be wrapped in { }`);if(v.isStringLiteral(t))return ki(t,n);if(v.isJsxExpression(t)&&t.expression){if(v.isStringLiteral(t.expression))return ki(t.expression,n);if(n){if(v.isNumericLiteral(t.expression))return[`=${t.expression.text}`];if(v.isPrefixUnaryExpression(t.expression)&&v.isNumericLiteral(t.expression.operand))return[`=${t.expression.getText(e.sourceFile)}`]}}return["=",...wt(e,t,void 0)]}function ki(e,t){if(!t)return["=",e];let n=e.text;if(n.length===0)return[];let r=at(n);if(Ir(r)){let i=r.replaceAll('"',"&#34;");if(i.length>r.length){let o=r.replaceAll("'","&#39;");if(o.length<i.length)return[`='${o}'`]}return[`="${i}"`]}else return[`=${r}`]}function Ii(e,t,n){if(t!==void 0&&v.isStringLiteral(t))return[`${n}="${t.text}"`];if(t===void 0||!v.isJsxExpression(t)||t.expression===void 0)throw new Error(`${n} prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);let r=t.expression;if(xl(r)){let o=n==="class"?"safeClassMap":"safeStyleMap";e.neededImports.add(o);let s=e.importRenames[o],a=v.factory.createCallExpression(v.factory.createIdentifier(s),void 0,[X(e,void 0,r)]);return[`${n}=`,a]}else return[n,...Et(e,t,!0)]}var xl=e=>v.isObjectLiteralExpression(e)||v.isPropertyAccessExpression(e)||v.isIdentifier(e)||v.isCallExpression(e)||v.isBinaryExpression(e)||v.isConditionalExpression(e);function Tl(e,t){t.neededImports.add("live");let n=t.importRenames.live;return v.factory.createCallExpression(v.factory.createIdentifier(n),void 0,[typeof e=="string"?v.factory.createStringLiteral(e):e])}import Ge from"typescript";function $i(e){if(e&&Ge.isJsxExpression(e)&&e.expression&&Ge.isCallExpression(e.expression)&&Ge.isIdentifier(e.expression.expression)&&e.expression.expression.text in Li&&e.expression.arguments.length<=1)return{propType:Li[e.expression.expression.text],initializer:Ge.factory.createJsxExpression(void 0,e.expression.arguments[0])}}var Li={bindProperty:"property",bindAttribute:"attribute",bindBooleanAttribute:"booleanAttribute",bindEvent:"event"};function Ri(e,t,n){return Sl.has(e)?e:e.startsWith("on")&&t!==void 0&&Ge.isJsxExpression(t)&&t.expression!==void 0?"event":(Tt.has(e)||e.includes("-"))&&(e!=="itemId"||n!=="arcgis-map"&&n!=="arcgis-scene")?"attribute":!(typeof n=="string"&&n.includes("-")&&!vt.has(n))&&(bt.has(e)||(n===Ve?!1:n===Te?Object.values(ze).some(s=>s.has(e)):ze[n]?.has(e)===!0))?Pn.has(e)?"booleanAttribute":"attribute":n==="svg"||n==="math"||n===Ve||n!==Te&&(Ie.has(n)||Ne.has(n))?e in _.common.reflected||e in _.common.stringifiedReflected||e in _.common.stringifiedNonReflected?"property":Pn.has(e)?"booleanAttribute":"attribute":"property"}var bl=["class","style","ref","directives","key"],Sl=new Set(bl);import U from"typescript";var Mi=e=>typeof e!="string"||e.trim().length>0;function Xe({key:e,parts:t,litTag:n},r){let i=vl(t);if(i.length%2===0)throw new Error("Normalized template parts array length must be odd");let[o,...s]=i;if(typeof o!="string")throw new Error("First normalized template part must be a string");if(n===void 0){if(s.length===0)return kn(r,e,U.factory.createStringLiteral(o));if(o===""&&s.length===2&&s[1]==="")return kn(r,e,typeof s[0]=="string"?U.factory.createStringLiteral(o):s[0])}let a=typeof n=="string"?n:ne;r.neededImports.add(a);let p=r.importRenames[a],l=ge(o),c=U.factory.createTaggedTemplateExpression(U.factory.createIdentifier(p),void 0,s.length===0?U.factory.createNoSubstitutionTemplateLiteral(l,l):U.factory.createTemplateExpression(U.factory.createTemplateHead(l,l),El(s)));return kn(r,e,c)}var vl=e=>e.reduce((t,n,r)=>{let i=t.at(-1),o=typeof i=="string",s=typeof n=="string";if(o&&s)return[...t.slice(0,-1),`${i}${n}`];let p=r===e.length-1;return!s&&p?[...t,n,""]:!s&&!p?[...t,n,""]:[...t,n]},[""]);function El(e){if(!(e.length%2===0))throw new Error("templatePartsToSpans should be called with normalized parts array without the first item");let n=e.length/2;return Array.from({length:n},(r,i)=>{let o=i*2,s=e[o];if(typeof s=="string")throw new Error("Expected to receive a normalized array of parts");let a=o+1,p=e[a];if(typeof p!="string")throw new Error("Expected to receive a normalized array of parts");let l=i===n-1,c=ge(p);return U.factory.createTemplateSpan(s,l?U.factory.createTemplateTail(c,c):U.factory.createTemplateMiddle(c,c))})}function kn(e,t,n){if(t===void 0)return n;e.neededImports.add("keyed");let r=e.importRenames.keyed;return U.factory.createCallExpression(U.factory.createIdentifier(r),void 0,[t,n])}import Nn from"typescript";var Ln=(e,t)=>e.getFullText(t.sourceFile).slice(0,e.getLeadingTriviaWidth(t.sourceFile));function $n(e,t){let n=Pt(e);return n.length===0?t:Nn.setSyntheticLeadingComments(t,n.map(r=>({...r,pos:-1,end:-1,text:ji(e.slice(r.pos,r.end))})))}var Pt=e=>e.trim().length===0?[]:Nn.getLeadingCommentRanges(e,0)??[];function Ji(e){let t=Pt(e);if(t.length===0)return[e||" "];let n=t.reduceRight(([i,...o],s)=>{let a=ge(ji(In(i).slice(s.pos,s.end)));return[In(i).slice(0,s.pos),Nn.factory.createNoSubstitutionTemplateLiteral(a,a),In(i).slice(s.end),...o]},[e]);(typeof n[0]!="string"||n[0].trim()!=="")&&n.unshift(" ");let r=n.at(-1);return(typeof r!="string"||r.trim()!=="")&&n.push(" "),n}var ji=e=>e.startsWith("//")?e.slice(2):e.slice(2,-2);function In(e){if(typeof e=="string")return e;throw new Error(`Expected string, got ${typeof e}: ${String(e)}`)}import{isNotUndefined as $l}from"@arcgis/components-utils";import C from"typescript";import{mappedFind as wl}from"@arcgis/components-utils";import{toSystemPathSeparators as Pl}from"@arcgis/components-build-utils";function Bi(e,t){if(!(C.isPropertyAccessExpression(t.expression)&&t.expression.name.text==="map"))return t;let r=t.arguments[0];if(!(t.arguments.length===1&&C.isArrowFunction(r)))return t;let o=r.parameters.at(0);if(!(typeof o=="object"&&r.parameters.length<=2))return t;let a=$e(r.body),p=!0,l;if(Oi(a))l=a;else{if(!C.isBlock(a))return t;let y=a.statements.at(-1);if(!(y&&C.isReturnStatement(y)&&y.expression))return t;let S=$e(y.expression);if(!Oi(S))return t;let b=a.statements.slice(0,-1);if(b.some(Wi))return t;p=b.length===0,l=S}let c=C.isJsxElement(l)?l.openingElement:l,d=Mn(c);if(d===-1)return t;let m=c.attributes.properties[d];if(m===void 0||!C.isJsxAttribute(m))return t;let u=qe(m.initializer,e.sourceFile),f=Al(o,r,u,p,e);if(f===void 0)return t;e.liftedKeys.add(m.name),e.neededImports.add("repeat");let h=e.importRenames.repeat;return C.factory.updateCallExpression(t,C.factory.createIdentifier(h),t.typeArguments,[t.expression.expression,C.factory.createArrowFunction(void 0,void 0,[f],void 0,void 0,u),C.factory.updateArrowFunction(r,r.modifiers,r.typeParameters,r.parameters,r.type,r.equalsGreaterThanToken,a)])}var Oi=e=>C.isJsxElement(e)||C.isJsxSelfClosingElement(e);function Wi(e){if(C.isReturnStatement(e))return!0;let t=!1;return C.visitEachChild(e,n=>(t||=Wi(n),n),void 0),t}function Al(e,t,n,r,i){let o=re(n);if(o===void 0)return;let s=Hi(e.name,o),a=t.parameters.at(1);if(a!==void 0&&C.isIdentifier(a.name)&&o.every(At,a.name)){console.warn(`It looks like you are trying to use .map() index as a key={} prop value in ${Pl(i.sourceFile.fileName)}. Doing so is potentially pointless and may cause performance degradation. In Lit it is safe to omit the key={} prop. If you really mean to use index as the key, then use the keyed() Lit directive directly, rather than the JSX key={} prop.`);return}if(!r){let p=Fl(o,s,t);if(p===void 0)return;s=p}return C.factory.updateParameterDeclaration(e,e.modifiers,e.dotDotDotToken,s,e.questionToken,e.type,e.initializer)}function re(e){if(C.isIdentifier(e))return[e.text];if(C.isPropertyAccessExpression(e))return re(e.expression);if(C.isElementAccessExpression(e))return re(e.argumentExpression);if(C.isConditionalExpression(e)){let t=re(e.condition),n=re(e.whenTrue),r=re(e.whenFalse);return t===void 0||n===void 0||r===void 0?void 0:[...t,...n,...r]}else if(C.isBinaryExpression(e)){let t=re(e.left),n=re(e.right);return t===void 0||n===void 0?void 0:[...t,...n]}else{if(Dl.has(e.kind))return[];{let t=$e(e);return t!==e?re(t):void 0}}}var Dl=new Set([C.SyntaxKind.NumericLiteral,C.SyntaxKind.BigIntLiteral,C.SyntaxKind.StringLiteral,C.SyntaxKind.RegularExpressionLiteral,C.SyntaxKind.NoSubstitutionTemplateLiteral,C.SyntaxKind.FalseKeyword,C.SyntaxKind.NullKeyword,C.SyntaxKind.TrueKeyword]),$e=e=>C.isAsExpression(e)||C.isNonNullExpression(e)||C.isSatisfiesExpression(e)||C.isParenthesizedExpression(e)?$e(e.expression):e,Hi=(e,t)=>C.isObjectBindingPattern(e)?Nl(e,t):e;function Fl(e,t,n){if(e.every(At,t))return t;if(C.isIdentifier(t)){let r=C.isBlock(n.body)?wl(n.body.statements,o=>kl(o,t)):void 0;if(r===void 0)return;let i=Hi(r,e);if(e.every(At,i))return i}}function kl(e,t){if(!C.isVariableStatement(e)||!(e.declarationList.flags&C.NodeFlags.Const))return;let n=e.declarationList.declarations[0];return n?.initializer&&C.isIdentifier(n.initializer)&&n.initializer.text===t.text?n.name:void 0}function At(e){let t=this;return C.isIdentifier(t)?t.text===e:t.elements.some(Il,e)}function Il(e){let t=this;return C.isOmittedExpression(e)?!1:At.call(e.name,t)}function Nl(e,t){let n=!1,r=e.elements.filter(i=>C.isIdentifier(i.name)?t.includes(i.name.text):(n=!0,!0));return n||r.length===0?e:C.factory.updateObjectBindingPattern(e,r)}var Rn=(e,t)=>t.liftedKeys.has(e);import{toSystemPathSeparators as Dt}from"@arcgis/components-build-utils";var _i=e=>e.apiJsonComponents.map(({name:t,importPath:n})=>`import type { ${t} } from "./${n}";`).join(`
50
+ `),Ll=/^[a-zA-Z_$][a-zA-Z\d_$]*$/u,be=e=>!Ll.test(e),Q=e=>be(e)?`"${e}"`:e;function me(e,t){let n=[],r=[],i=!1;t?.forEach(c=>{if(c.kind!=="field"||c.readonly)return;let d=c;if(d.getterTypeDiffers){i=!0;return}d.docsTags?.some(u=>u.name==="required")?n.push(c.name):r.push(c.name)});let o=Ki(n),s=Ki(r),a=[o?`Required<Pick<${e}, ${o}>>`:"",s?`Partial<Pick<${e}, ${s}>>`:"",i?`${e}SetterTypes`:""],p=i?`
51
+ type ${e}SetterTypes = ${e}["${Yt}"]`:"",l=a.filter(Boolean).join(", ");return[l.length===0?"":`${l}, `,p]}var Ki=e=>e.map(t=>`'${t}'`).join(" | ");function X(e,t,n){if(ke(n))return Ui(e,n);let r=x.isCallExpression(n)?Bi(e,n):n,i=x.visitEachChild(r,X.bind(null,e,t!==void 0&&x.isBinaryExpression(t)?void 0:n),e.transformationContext);return t!==void 0&&x.isBinaryExpression(n)&&(x.isJsxExpression(t)||ke($e(n.right)))?Jl(i):i}function Ui(e,t){let n=Vi(e,t);return Xe(n,e)}function Vi(e,t){let n="children"in t?t.children:[];if(x.isJsxFragment(t))return{key:void 0,...Ft(n,e)};let i=x.isJsxElement(t)?t.openingElement:t,o=i.tagName;if(x.isJsxNamespacedName(o)){let S=Dt(e.sourceFile.fileName);throw new Error(`JSX namespaced elements are not supported. Found ${o.getText(e.sourceFile)} in "${S}"`)}if(!x.isIdentifier(o)||!o.text.startsWith(o.text[0].toLowerCase())&&o.text!==Ct&&o.text!==xt){let b=x.isIdentifier(o)&&o.text===vi?Ft(n,e):{litTag:void 0,parts:[Ml(e,t,o,n)]};return{key:Rl(i,e),...b}}let a=o.text===Ct?Te:o.text===xt?Ve:o.text,p=o.text===Ct?ce:o.text===xt?te:Ai.has(a)?vn:Ie.has(a)?de:ne,l;typeof a=="string"&&a.includes("-")&&!vt.has(a)&&(e.customElementsToImport.add(a),e.compiler.viteCommand==="build"&&(l=jl(e,a)));let c,d=[],m=i.attributes.properties.flatMap(S=>{if(x.isJsxSpreadAttribute(S))throw new Error(`JSX spread attribute syntax is not supported. See alternatives: https://qawebgis.esri.com/components/lumina/jsx#spread-attributes
52
+ Found ${S.getText(e.sourceFile)}`);let{name:b,initializer:M}=S;if(x.isJsxNamespacedName(b)){let q=Dt(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${b.getText(e.sourceFile)} in "${q}"`)}let j=b.text,Be=$i(M),P=Be?.propType??Ri(j,M,a);l?.delete(j);let I=Ni[P](e,Be?.initializer??M,j,a);if(I.length===0)return[];let W=e.compiler.shouldMinifyJsx?" ":Ji(Ln(b,e));return P==="key"?(c=typeof I[0]=="object"&&!Rn(b,e)?I[0]:void 0,Array.isArray(W)&&W.some(Mi)?W:[]):P==="directives"||P==="ref"?(d.push(...W,...I.flatMap((q,ve)=>typeof q=="string"||ve===0||typeof I[ve-1]=="string"?q:[" ",q])),[]):[...W,...I]});if(l!==void 0&&l.size>0&&e.compiler.logLintError("mustIncludeAllRequiredProperties",e.sourceFile.fileName,`Missing required properties for <${a}> in ${e.sourceFile.fileName.slice(e.compiler.dir.root.length)}: ${Array.from(l).join(", ")}`),d.length>0&&m.push(...d),typeof a=="string"&&Ne.has(a))throw new Error(`JSX syntax for MathML elements is not yet supported. If you need it, please request it. Otherwise, use the \`math\` function from Lit directly. Tried to use the "${a}" element`);let u=typeof a=="string"&&Pi.has(a),f=Ft(n,e);if(u&&f.parts.length>0){let S=Dt(e.sourceFile.fileName);throw new Error(`Void HTML elements like <${a}> cannot have children. Found ${t.getText(e.sourceFile)} in "${S}"`)}let h=(p===de||p===te)&&f.parts.length===0,y=["<",typeof a=="string"?a:o,...m,h?`${m.length===0?"":" "}/>`:">"],T=u||h?y:[...y,...f.litTag!==void 0&&f.litTag!==p?[Xe({key:void 0,...f},e)]:f.parts,"</",typeof a=="string"?a:o,">"];return{key:c,parts:T,litTag:p}}function Rl(e,t){let n=e.attributes.properties[Mn(e)];return n&&x.isJsxAttribute(n)&&!Rn(n.name,t)?qe(n.initializer,t.sourceFile):void 0}var Mn=e=>e.attributes.properties.findIndex(({name:t})=>t&&x.isIdentifier(t)&&t.text==="key");function Ml(e,t,n,r){let o=(x.isJsxElement(t)?t.openingElement:t).attributes.properties.map(p=>{if(x.isJsxSpreadAttribute(p))return $n(Ln(p,e),x.factory.createSpreadAssignment(p.expression));let{name:l,initializer:c}=p;if(x.isJsxNamespacedName(l)){let u=Dt(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${l.getText(e.sourceFile)} in "${u}"`)}if(l.text==="key")return;let d=c===void 0?x.factory.createTrue():x.isStringLiteral(c)?c:ke(c)?Ui(e,c):X(e,void 0,c.expression??x.factory.createIdentifier("undefined")),m=be(l.text)?x.factory.createStringLiteral(l.text):l;return x.factory.createPropertyAssignment(m,d)}),{parts:s,litTag:a}=Ft(r,e);return s.length>0&&o.push(x.factory.createPropertyAssignment(x.factory.createIdentifier("children"),Xe({key:void 0,parts:s,litTag:a},e))),x.factory.createCallExpression(n,void 0,[x.factory.createObjectLiteralExpression(o.filter($l))])}function Ft(e,t){let n,r=e.flatMap(i=>{if(x.isJsxText(i))return[t.compiler.shouldMinifyJsx?kr(i.text):i.text];if(x.isJsxExpression(i))return wt(t,i,i);{let o=Vi(t,i);if(o.key===void 0&&o.litTag!==ce&&o.litTag!==te){if(o.litTag===vn)return o.parts;if(n!==void 0&&o.litTag!==void 0&&n!==o.litTag)throw new Error(`Unexpectedly found both ${n} and ${o.litTag} child elements inside the same element.`);return n=o.litTag,o.parts}else return[Xe(o,t)]}});return{litTag:n,parts:r}}function Jl(e){return e.operatorToken.kind===x.SyntaxKind.AmpersandAmpersandToken?x.factory.createBinaryExpression(e,x.factory.createToken(x.SyntaxKind.BarBarToken),x.factory.createStringLiteral("")):e}function wt(e,t,n){if(t.expression===void 0){if(e.compiler.shouldMinifyJsx)return[];let r=t.getText(e.sourceFile).slice(1,-1);return Pt(r).length===0?[]:[$n(r,x.factory.createIdentifier("undefined"))]}return x.isStringLiteral(t.expression)?[at(t.expression.text)]:e.compiler.viteCommand==="serve"&&e.compiler.typeScriptConfig.sourceMap&&!e.compiler.shouldMinifyJsx&&x.isArrowFunction(t.expression)&&!x.isBlock(t.expression.body)?[X(e,n,x.factory.updateArrowFunction(t.expression,t.expression.modifiers,t.expression.typeParameters,t.expression.parameters,t.expression.type,t.expression.equalsGreaterThanToken,x.factory.createBlock([x.factory.createReturnStatement(t.expression.body)],!0)))]:[X(e,n,t.expression)]}function jl(e,t){if(t in e.localComponents)for(let r of e.compiler.privateApiJson.modules)for(let i of r.declarations){if(!("customElement"in i)||i.tagName!==t)continue;let o=new Set;for(let s of i.members)s.kind==="field"&&s.docsTags?.some(a=>a.name==="required")===!0&&o.add(s.name);return o}}import N from"typescript";import{path as Jn}from"@arcgis/components-build-utils";var zi=e=>e.reduce((t,[n,r])=>(t[n]??=[],t[n].push(r),t),{}),Qe={[ne]:["lit-html","lit/html.js","lit"],[ce]:["lit-html/static.js","lit/static-html.js"],[de]:["lit-html","lit/html.js","lit"],[te]:["lit-html/static.js","lit/static-html.js"],[wn]:["lit-html","lit/html.js","lit"],[En]:["@lit/reactive-element/css-tag.js","@lit/reactive-element","lit"],safeClassMap:["@arcgis/lumina"],safeStyleMap:["@arcgis/lumina"],keyed:["lit-html/directives/keyed.js","lit/directives/keyed.js"],live:["lit-html/directives/live.js","lit/directives/live.js"],repeat:["lit-html/directives/repeat.js","lit/directives/repeat.js"],ref:["lit-html/directives/ref.js","lit/directives/ref.js"],nothing:["lit-html","lit/html.js","lit-element/lit-element.js","lit","@arcgis/lumina"]},qi=zi(Object.entries(Qe).flatMap(([e,t])=>t.map(n=>[n,e]))),kt=new Set(Object.keys(qi));function Gi(e,t){let n=t.importClause,r=t.moduleSpecifier;if(!N.isStringLiteral(r))return t;let i=Ol(e.sourceFile.fileName,r.text,""),o=!n?.isTypeOnly;if(o&&e.existingImportedModules.add(i),n===void 0)return t;if(e.isInLightDomComponent&&r.text.startsWith(".")&&Ae.test(r.text)&&!r.text.includes("?"))return N.factory.updateImportDeclaration(t,t.modifiers,n,N.factory.createStringLiteral(r.text+K),t.attributes);if(n.name!==void 0){let p=n.name.text,l=n.name.text.startsWith(p[0].toUpperCase()),c=Jn.isAbsolute(i);o&&!n.isTypeOnly&&l&&c&&e.importedFunctionComponentsFromModules.add(i)}let s=n.namedBindings;if(s===void 0||!N.isNamedImports(s))return t;let a=kt.has(r.text);return s.elements.forEach(p=>{let l=(p.propertyName??p.name).text,c=Qe[l];if(a){if(c?.some(u=>u===r.text)){let u=Xi(l,i);e.existingLitImports.add(u),e.importRenames[u]=p.name?.text??u}}else(p.name.text==="h"||p.name.text==="createElement")&&(e.hasNonLuminaJsxImport=!0);let d=l.startsWith(l[0].toUpperCase()),m=Jn.isAbsolute(i);o&&!p.isTypeOnly&&d&&m&&e.importedFunctionComponentsFromModules.add(i)}),t}var Xi=(e,t)=>e===ne&&Qe.staticHtml.includes(t)?ce:e===de&&Qe.staticSvg.includes(t)?te:e,Ol=(e,t,n)=>t.startsWith(".")?Jn.resolve(e,"..",`${t}${n}`):t;function Qi(e){return N.isImportDeclaration(e)?Bl(this,e):e}function Bl(e,t){let n=t.importClause,r=n?.namedBindings,i=t.moduleSpecifier;if(!N.isStringLiteral(i)||!r||!N.isNamedImports(r)||!kt.has(i.text))return t;let o=n.isTypeOnly,s=!1,a=r.elements.map(p=>{let l=(p.propertyName??p.name).text,c=Xi(l,i.text);return e.neededImports.has(c)?(e.existingLitImports.delete(c),e.neededImports.delete(c),s=!0,N.factory.updateImportSpecifier(p,!1,p.propertyName,p.name)):o?N.factory.updateImportSpecifier(p,!0,p.propertyName,p.name):p});return qi[i.text]?.forEach(p=>{!e.neededImports.has(p)||e.existingLitImports.has(p)||(e.neededImports.delete(p),s=!0,a.push(Zi(p,e)))}),s?N.factory.updateImportDeclaration(t,t.modifiers,N.factory.updateImportClause(n,!1,n.name,N.factory.updateNamedImports(r,a)),t.moduleSpecifier,t.attributes):t}function Yi(e){let t=zi(Array.from(e.neededImports,n=>[Qe[n][0],n]));return Object.entries(t).map(([n,r])=>N.factory.createImportDeclaration(void 0,N.factory.createImportClause(!1,void 0,N.factory.createNamedImports(r.map(i=>(e.neededImports.delete(i),Zi(i,e))))),N.factory.createStringLiteral(n)))}function Zi(e,t){let n=e===ce?ne:e===te?de:e,r=t.importRenames[e];return r===n?N.factory.createImportSpecifier(!1,void 0,N.factory.createIdentifier(n)):N.factory.createImportSpecifier(!1,N.factory.createIdentifier(n),N.factory.createIdentifier(r))}import{path as Wl,toSystemPathSeparators as Hl}from"@arcgis/components-build-utils";function eo(e){let t=xi().map(({packageName:n})=>n);return e.existingImportedModules.forEach(n=>{if(Wl.isAbsolute(n))return;let{packageName:r,moduleName:i}=an(n);if(t.includes(r??"")&&(i.startsWith("dist/components")||i.startsWith("components"))){let o=Hl(e.sourceFile.fileName);throw new Error(`Did not expect to find any explicit imports for "${n}". Found import in ${o}. Imports for web components that your component consumes will be added automatically at build-time as appropriate for a given output target. Type-only imports are still allowed. If you believe this is an error, please notify Lumina maintainers.`)}}),[]}function to(e){if(e.compiler.viteCommand==="serve")return e.customElementsToImport.clear(),[];let t=e.compiler._customElementDependencies;return t[e.sourceFile.fileName]??={referencedBy:[],referencedTagNames:[]},t[e.sourceFile.fileName].referencedTagNames=Array.from(e.customElementsToImport),e.customElementsToImport.clear(),e.importedFunctionComponentsFromModules.forEach(n=>{let r=`${n}.tsx`;t[r]??={referencedBy:[],referencedTagNames:[]},t[r].referencedBy.push(e.sourceFile.fileName)}),[]}import{path as Kl,toSystemPathSeparators as _l}from"@arcgis/components-build-utils";function no(e,t,n){let r=ht()[t]??jn(e)[t];if(r===void 0){let i=_l(n);throw new Error(`Unable to resolve the definition of the "${t}" custom element. Used in ${i}. If this is coming from an external package, make sure that package is installed as a peerDependency or a dependency. If in development-only you wish to use a component package that is defined as a devDependency, then provide serve.extraDependencies option to useLumina()`)}return r}function ro(e,t){return e.packageName===void 0?Z(t,e.moduleName):Kl.join(e.packageName,e.moduleName)}function jn(e){return e._localDefinedComponents??=bn(e.privateApiJson,{packageName:void 0,getImportPath(){throw new Error("Not supposed to be called for local components")}}),e._localDefinedComponents}var io=(e,t)=>{let n=e.pragmas;if(n?.has("jsx")===!0||n?.has("jsxImportSource")===!0)return e.statements;let r={compiler:t.compiler,externalComponents:ht(),localComponents:t.compiler.isInPuppeteerTestBackEnd?{}:jn(t.compiler),sourceFile:e,transformationContext:t.transformation,importRenames:Vl(e),existingImportedModules:new Set,importedFunctionComponentsFromModules:new Set,existingLitImports:new Set,customElementsToImport:new Set,neededImports:new Set,liftedKeys:new Set,hasNonLuminaJsxImport:!1,isInLightDomComponent:t.apiModule?.declarations.some(s=>"customElement"in s&&s.encapsulation!==void 0)??!1},i=[];if(e.statements.every(s=>{if(Ul.isImportDeclaration(s)){if(i.push(Gi(r,s)),r.hasNonLuminaJsxImport)return!1}else i.push(X(r,void 0,s));return!0}),r.hasNonLuminaJsxImport)return e.statements;if(r.neededImports.size>0&&(i=i.map(Qi,r),r.existingLitImports.size>0))throw new Error(`Expected context.existingLitImports to be empty by now. Found: ${Array.from(r.existingLitImports).join(", ")}`);let o=[Yi,eo,to].flatMap(s=>s(r));if(r.neededImports.size>0)throw new Error(`Expected context.neededLitImports to be empty by now. Found: ${Array.from(r.neededImports).join(", ")}`);return[...o,...i]};function Vl(e){return zl(e),Object.fromEntries(Si.map(t=>[t,e.identifiers.has(t)?`${t}$jsx`:t]))}function zl(e){if(!("identifiers"in e))throw new Error("Expected sourceFile to have an undocumented identifiers property that is a Map<string,string>. If this error is thrown, it may mean Lumina Compiler needs to be updated to support the version of TypeScript being used.")}import L from"typescript";import O from"typescript";import{PropertyFlags as ue}from"@arcgis/lumina/config";function oo(e,t,n){return t.size===0?e:[O.factory.createPropertyDeclaration([O.factory.createModifier(O.SyntaxKind.StaticKeyword),O.factory.createModifier(O.SyntaxKind.OverrideKeyword)],"properties",void 0,void 0,O.factory.createObjectLiteralExpression(Array.from(t.entries()).map(([r,i])=>O.factory.createPropertyAssignment(be(r)?O.factory.createStringLiteral(r):r,ql(i,n))))),...e]}function ql(e,t){let n=0,r=!0,i=e.properties.filter(a=>{if(!O.isPropertyAssignment(a)||!O.isIdentifier(a.name))return!0;let p=a.name.text,l=a.initializer,c=l.kind===O.SyntaxKind.TrueKeyword,d=l.kind===O.SyntaxKind.FalseKeyword;if(p==="attribute")return r=!1,n|=c?ue.ATTRIBUTE:0,!c&&!d;if(p==="reflect")return n|=c?ue.REFLECT:0,!1;if(p==="type"&&O.isIdentifier(l)){if(l.text==="Boolean")return n|=ue.BOOLEAN,!1;if(l.text==="Number")return n|=ue.NUMBER,!1}else{if(p==="state")return r=!1,n|=c?ue.STATE:0,!1;if(p==="readOnly")return n|=c?ue.READ_ONLY:0,!1;p==="noAccessor"&&(n|=c?ue.NO_ACCESSOR:0)}return!0});r&&(n|=ue.ATTRIBUTE);let o=t?i:e.properties,s=O.factory.createNumericLiteral(n);return o.length===0?s:O.factory.createArrayLiteralExpression([s,O.factory.createObjectLiteralExpression(o)])}import{identity as Zl}from"@arcgis/components-utils";import B from"typescript";import $ from"typescript";function so(e,t,n,r,i){let o=-1,s=-1,a=-1;t.options?.properties.forEach((m,u)=>{if($.isSpreadAssignment(m))throw new Error(`Spread property assignment is not allowed in @property() as that is not statically analyzable. Found ${m.getText(r)}`);if($.isIdentifier(m.name)){let f=m.name.text;f==="type"?o=u:f==="attribute"?s=u:f==="readOnly"&&(a=u)}});let p=i?.attribute===void 0&&s===-1,l=i?.readonly===!0&&i.docsOnlyReadonly!==!0&&a===-1,c=Gl(e,t,n,i,o),d=[...p?[$.factory.createPropertyAssignment("attribute",$.factory.createFalse())]:[],...l?[$.factory.createPropertyAssignment("readOnly",$.factory.createTrue())]:[],...c!==void 0?[c]:[]];return d.length>0?t.options===void 0?$.factory.createObjectLiteralExpression(d,!1):$.factory.updateObjectLiteralExpression(t.options,[...t.options.properties,...d]):t.options}function Gl(e,t,n,r,i){if(r?.attribute===void 0)return;let o=Ql(e),s=n.compiler.viteCommand==="serve"||o!=="Other"?o:Xl(r.type.values);return s==="Other"||r.readonly&&(s!=="Boolean"||!r.reflects)||t.options?.properties[i]!==void 0?void 0:$.factory.createPropertyAssignment($.factory.createIdentifier("type"),$.factory.createIdentifier(s))}function Xl(e){let t=!1,n=!1,r=!1;if(e?.forEach(i=>{t||=i.type==="number",n||=i.type==="boolean",r||=i.type==="string"||i.type==="any"||i.type==="unknown"}),r||=t&&n,!r){if(t)return"Number";if(n)return"Boolean"}return"Other"}function Ql(e){let t=e.type??($.isSetAccessor(e)?e.parameters[0].type:void 0);if(t===void 0){if("initializer"in e&&e.initializer!==void 0){if($.isNumericLiteral(e.initializer)||$.isPrefixUnaryExpression(e.initializer)&&e.initializer.operator===$.SyntaxKind.MinusToken&&$.isNumericLiteral(e.initializer.operand))return"Number";if(e.initializer.kind===$.SyntaxKind.FalseKeyword||e.initializer.kind===$.SyntaxKind.TrueKeyword)return"Boolean"}}else{if(t.kind===$.SyntaxKind.NumberKeyword)return"Number";if(t.kind===$.SyntaxKind.BooleanKeyword)return"Boolean"}return"Other"}import{getMemberName as lo}from"@arcgis/api-extractor";function co(e,t,n,r,i){if(t.modifiers===void 0)return t;let o=-1,s=-1;if(t.modifiers.forEach((a,p)=>{if(B.isDecorator(a)&&B.isCallExpression(a.expression)&&B.isIdentifier(a.expression.expression)){let l=a.expression.expression.text;l==="property"&&(o=p),l==="state"&&(s=p)}}),o!==-1){let a=Yl(e,t,n,r),p=ao(t,o,r),l=so(t,p,e,r,a),c=!1;return i!==void 0&&a&&(i.set(a.name,l??B.factory.createObjectLiteralExpression()),c=!0),p.options=l,po(t,p,o,c)}else if(s!==-1&&i!==void 0){let a=ao(t,s,r),p=B.factory.createPropertyAssignment("state",B.factory.createTrue()),l=a.options===void 0?B.factory.createObjectLiteralExpression([p]):B.factory.updateObjectLiteralExpression(a.options,[...a.options.properties,p]),c=lo(t.name);if(c===void 0)throw new Error("Failed to statically determine the state property name");return i.set(c,l),po(t,a,s,!0)}else return t}function Yl(e,t,n,r){let i=e.apiModule?.declarations.find(s=>s.name===n)??(e.compiler.isInTest?{name:"",members:[]}:void 0);if(i===void 0)return;let o=ur(i,t)??(e.compiler.isInTest?{kind:"field",attribute:"",readonly:!1,name:"",type:{text:""}}:void 0);if(!(o===void 0||o.kind!=="field")){if(o.name===""){let s=lo(t.name);if(s===void 0)throw new Error(`Failed to statically determine the property name: ${t.getText(r)}`);o.name=s}return o}}function ao(e,t,n){let r=e.modifiers[t],i=r.expression,o=i.arguments.at(0);if(o&&!B.isObjectLiteralExpression(o))throw new Error(`First argument to @property() or @state() decorator must be an object literal as otherwise it is not statically analyzable. Found ${o.getText(n)}`);return{decorator:r,callExpression:i,options:o}}function po(e,t,n,r){let i=r?void 0:B.factory.updateDecorator(t.decorator,B.factory.updateCallExpression(t.callExpression,t.callExpression.expression,t.callExpression.typeArguments,t.options===void 0?[]:[t.options])),o=[...e.modifiers.slice(0,n),...i===void 0?[]:[i],...e.modifiers.slice(n+1)];return B.isGetAccessorDeclaration(e)?B.factory.updateGetAccessorDeclaration(e,o,e.name,e.parameters,e.type,e.body):B.isSetAccessorDeclaration(e)?B.factory.updateSetAccessorDeclaration(e,o,e.name,e.parameters,e.body):B.factory.updatePropertyDeclaration(e,o,e.name,e.questionToken??e.exclamationToken,e.type,e.initializer)}var mo=(e,t)=>{if(t.apiModule===void 0&&!t.compiler.isInTest)return e.statements;let n;function r(){n=new Map}let i=a=>oo(a,n,t.compiler.shouldMinify),o=(a,p)=>tc(t,a,p,e,n);return e.statements.map(a=>uo(o,a,t,r,i))};function uo(e,t,n,r,i=Zl){if(L.isClassDeclaration(t)&&t.heritageClauses?.some(s=>s.token===L.SyntaxKind.ExtendsKeyword)){let s=!1,a=t.name?.text;r?.();let p=i(t.members.map(c=>{let d=e(c,a);return s||=d!==c,d}));return s?L.factory.updateClassDeclaration(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,p):t}return n.compiler.isInTest?L.visitEachChild(t,s=>uo(e,s,n,r,i),n.transformation):t}var ec=new Set(["connectedCallback","disconnectedCallback"]);function tc(e,t,n,r,i){if(L.isMethodDeclaration(t)){let o=t.modifiers?.filter(s=>!L.isDecorator(s)||!nc(s));if(o?.length!==t.modifiers?.length)return L.factory.updateMethodDeclaration(t,o,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,t.body);if("text"in t.name&&ec.has(t.name.text)&&t.body){let s=t.name.text;return t.body.statements.some(p=>L.isExpressionStatement(p)&&L.isCallExpression(p.expression)&&L.isPropertyAccessExpression(p.expression.expression)&&p.expression.expression.expression.kind===L.SyntaxKind.SuperKeyword&&p.expression.expression.name.text===s)?t:L.factory.updateMethodDeclaration(t,t.modifiers,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,L.factory.updateBlock(t.body,[L.factory.createExpressionStatement(L.factory.createCallExpression(L.factory.createPropertyAccessExpression(L.factory.createSuper(),s),void 0,[])),...t.body.statements]))}}return L.isPropertyDeclaration(t)||L.isAccessor(t)?co(e,t,n,r,i):t}var nc=e=>L.isCallExpression(e.expression)&&L.isIdentifier(e.expression.expression)&&e.expression.expression.text==="method";import{path as go}from"@arcgis/components-build-utils";var fo="makeRuntime(";function yo(e,t){let n=e.indexOf(fo);if(n===-1)throw new Error("Failed to find makeRuntime() function call in src/runtime.ts");let r=n+fo.length,i=t.options.css?.commonStylesPath;return{code:[i===void 0?"":`import commonStyles from "${Z(t.dir.src,i)}";`,e.slice(0,r),"{","defaultAssetPath:import.meta.env.BASE_URL,",'hydratedAttribute:"',t.options.css?.hydratedAttribute??ln,'",',i===void 0?"":"commonStyles","}",e.slice(r)].join(""),map:null}}var ic=[io,lr,mo],ho=e=>({name:"@arcgis/lumina:transformComponents",transform:{order:"pre",async handler(t,n){if(!n.endsWith(".tsx")){if(e.isInTest&&n.endsWith(".ts")&&We(n)&&t.includes("extends LitElement"))console.warn("It looks like you may be trying to define a component inside a test file. This is supported, but you must use the .tsx file extension for you test");else if(n===`${e.dir.src}runtime.ts`)return yo(t,e);return}let r=e.getSourceFile(n,t);await le;let o=rc.transform(r,[m=>()=>it(e,m,r,[...e.options.types?.sourceFileTransformers??[],...ic])]).transformed[0],s=e._compilerOptionsForPrinter,a=e._typeScriptPrinter,p=s.sourceMap?he.createSourceMapGenerator(e.typeScriptHost,go.basename(n),"",go.dirname(n),s):void 0,l=he.createTextWriter(he.getNewLineCharacter(s));a.writeFile(o,l,p);let c=l.getText(),d=p?.toJSON();return{code:c,map:d??null}}}});function Co(e){let t=e.typeScriptConfig;return{...t,declaration:!1,declarationMap:!1,emitDeclarationOnly:!1,sourceMap:t.sourceMap??t.inlineSourceMap,inlineSourceMap:!1,allowSyntheticDefaultImports:!0,suppressOutputPathCheck:!0,noLib:!0,noResolve:!0,skipLibCheck:!0}}function To(e){let t=e.options.types?.tsconfigPath,n=t&&xo.isAbsolute(t)?t:oc(t??"tsconfig.json");if(n===void 0)throw new Error(`Unable to find ${sc(String(t))} in ${process.cwd()}. Please make sure the file exists, or provide types.tsconfigPath option to useLumina()`);let r=V.readConfigFile(n,V.sys.readFile);if(r.error!==void 0)throw new Error(V.formatDiagnosticsWithColorAndContext([r.error],{getCanonicalFileName:pc,getCurrentDirectory:V.sys.getCurrentDirectory,getNewLine:()=>V.sys.newLine}));let i={...r.config,include:[],files:[],exclude:[]},o=V.parseJsonConfigFileContent(i,V.sys,xo.dirname(n));e.typeScriptConfig=o.options,e.typeScriptConfigPath=n}function It(e){let t=e.target;if(t===void 0)throw new Error('TypeScript config must have a "target" property specified (or any parent tsconfig.json file if this config is extending another tsconfig.json)');let n=V.ScriptTarget[t].toLowerCase();return n==="latest"?"esnext":n}function bo(e,t){if(e.isInStorybook&&e.viteCommand==="serve"){let n=(s,a,p,...l)=>{let c=s.filter(d=>(!d.includes(".stories.")||d.endsWith(".tsx"))&&!We(d));return e.typeScriptHost=p,V.createAbstractBuilder(c,a,p,...l)},r=V.createWatchCompilerHost(e.typeScriptConfigPath,{preserveWatchOutput:!0},V.sys,n),i=50,o=r.setTimeout;r.setTimeout=o===void 0?void 0:(s,a,...p)=>o(s,p[0]==="timerToUpdateProgram"?i:a,...p),r.afterProgramCreate=s=>{e.typeScriptProgram=s.getProgram(),e.typeScriptTypeChecker=e.typeScriptProgram.getTypeChecker(),e._typeScriptReload?.resolve(),e._typeScriptReload=new ac},e.typeScriptWatchProgram=V.createWatchProgram(r),e.typeScriptConfig=e.typeScriptProgram.getCompilerOptions()}e.typeScriptConfig.sourceMap=t,e._compilerOptionsForPrinter=Co(e),e._typeScriptPrinter=lt(e._compilerOptionsForPrinter)}import{writeFile as uc}from"node:fs/promises";import{asyncRetrievePackageJson as lc,fetchPackageLocation as cc,retrievePackageJson as dc}from"@arcgis/components-build-utils";var On="@arcgis/core",So=dc(),Y=On in(So.dependencies??{})||On in(So.peerDependencies??{});async function Eo(e,t){if(!Y)return[];let n=await cc(On);if(t==="storybookBuild"){let r=await lc(n),i=ee({name:"",version:r.version},!0);return[{tag:"script",attrs:{type:"importmap"},children:JSON.stringify({imports:{"@arcgis/core/":`${i}@arcgis/core/`}})},vo(i)]}else return[vo(Fe(e,`${n}/assets/`))]}var vo=e=>({cssHref:`${e}esri/themes/light/main.css`,id:"arcgisCoreStylesheet"});var Bn=new Set(["chunks","components","docs","types","controllers","cjs","esm","loader","utils","collection","extras","support"]),Re="cdn";function wo(e){let{skip:t=!1,namespace:n=Re,esbuildOptions:r={}}=e.options.build?.cdn??{};if(n.toLowerCase()!==n)throw new Error(`Expected CDN namespace to be all lowercase. Received: ${n}`);if(Bn.has(n))throw new Error(`Namespace name "${n}" is restricted as it collides with a well-known Lumina dist/ folder name or Stencil dist/ folder name.`);let i=n===Re?"index":n;if(e.provideAssets([{type:"dynamic",source:()=>ni(e),destination:`../${i}.css`}]),!t)return{name:"@arcgis/lumina:buildCdn",async writeBundle(){if(e.isInStorybook)return;let o=Date.now(),s=await fc(e,i,r);await yc(s,e.dir.distCdn,i);let a=Date.now();console.log(`CDN was built in ${a-o}ms`)}}}async function fc(e,t,n){let r=e.environment;if(n.minify&&Y)throw Error("Unminified CDN build is not yet supported - open a feature request with Lumina maintainers if it is needed");if(n.sourcemap&&Y)throw Error("Source maps in the CDN build are not yet supported - open a feature request with Lumina maintainers if it is needed");return await mc({bundle:!0,minify:Y?!0:r==="production",treeShaking:!0,sourcemap:Y?!1:r==="development"?"inline":e.options.build?.enableSourceMapsInProduction?"linked":!1,format:"esm",splitting:!0,write:!1,outdir:e.dir.distCdn,legalComments:"external",logLevel:"warning",external:["@arcgis/core"],chunkNames:"[hash]",resolveExtensions:[".js",".json"],entryNames:Fo(t),banner:{js:e.banner},target:It(e.typeScriptConfig),...n,plugins:[...e.options.build?.ssr?.stencilCompatibility?.enabled===!0?[{name:"@arcgis/lumina:drop-lit-ssr-import",setup(i){i.onResolve({filter:/^@lit-labs\/ssr-client\//u},o=>({path:o.path,namespace:"@arcgis/lumina:drop-lit-ssr-import"})),i.onLoad({filter:/^/u,namespace:"@arcgis/lumina:drop-lit-ssr-import"},()=>({contents:'""',loader:"json"}))}}]:[],...n?.plugins??[]],define:{"process.env.CDN":"true",...n.define},stdin:{contents:`import { defineCustomElements } from "./loader";
53
+ ${cn(e._globalCssString,e)}
54
54
  /**
55
55
  * We use import.meta.url to get the path to the current file
56
56
  * and pass it to defineCustomElements to set the resources url.
57
57
  * The script's file name will be stripped inside defineCustomElements.
58
58
  **/
59
- defineCustomElements({resourcesUrl: import.meta.url});`,sourcefile:`${t}-entry.js`,resolveDir:"dist",loader:"js",...n.stdin}})}async function lc(e,t){let n=`${Eo(t)}.js`;await Promise.all(e.outputFiles.map(async r=>{let i=r.text;r.path.endsWith(n)&&Ge?i=`${i.trimEnd()}${cc}`:(i=dc(i),i=uc(i)),await ac(r.path,i)}))}var cc='{window.$arcgis||Object.defineProperty(window,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{},});var a=$arcgis;a.l=x=>x.map?Promise.all(x.map(a.l)):(!a?.forceESM&&a?.import||(x=>import(x+".js").then(m=>m.default??m)))("@arcgis/core/"+x)}';function dc(e){return e.replaceAll(mc,(t,n)=>`$arcgis.l("${vo(n)}")`)}var mc=/(?<![.\w\d])import\("@arcgis\/core\/([^"]+)"\)/gu,vo=e=>e.endsWith(".js")?e.slice(0,-3):e;function uc(e){let t=e.length,n=[];for(;t>-1&&(t=e.lastIndexOf($n,t-1),t!==-1);){if(e.slice(t-4,t)!=="from"&&e.slice(t-6,t)!=="import")continue;let r=t-4,i=e.indexOf('"',t+$n.length)+1;if(i===0)continue;let o=vo(e.slice(t+$n.length,i-1));if(o.length===0)continue;for(!(n.length>0)||e.slice(i,n.at(0).from)===";"||(e=bo(e,n.splice(0)));t>-1;){t=e.lastIndexOf("import",t-1);let p=e.slice(t+6,r);if(p.startsWith(" ")){let l=e.slice(t+7,r-1);n.unshift({clause:l,specifier:o,from:t,to:i});break}else if(p.startsWith("*as ")){let l=e.slice(t+10,r-1);n.unshift({clause:l,specifier:o,from:t,to:i});break}else if(p.startsWith("{")){let l=e.slice(t+6,r).replaceAll(" as ",":");n.unshift({clause:l,specifier:o,from:t,to:i});break}else if(p===""){n.unshift({clause:"",specifier:o,from:t,to:i});break}}}return e=bo(e,n),e}var $n='"@arcgis/core/';function bo(e,t){if(t.length===0)return e;if(t.length===1){let{clause:n,specifier:r,from:i,to:o}=t[0],s=e.slice(0,i),a=e.slice(o),p=n.startsWith("{")?"":" ",c=`${n===""?"":`var${p}${n}=`}await $arcgis.l("${r}")`;return`${s}${c}${a}`}else{let n=t[0].from,r=t.at(-1).to,i=e.slice(0,n),o=e.slice(r),s=t.findLastIndex(({clause:d})=>d.length>0),a=t.slice(0,s+1).map(({clause:d})=>d).join(","),p=t.map(({specifier:d})=>`"${d}"`).join(","),c=`${a===""?"":`var[${a}]=`}await $arcgis.l([${p}])`;return`${i}${c}${o}`}}function Eo(e){return`${e}.esm`}async function Ao(e,t,n,r){let i=await hc(t),{hasCss:o,cdnName:s}=await Jn(Mn.join(i,"dist"))??{};if(n==="storybookBuild"){let c=await gc(i),d=G(c,!0);return[...o?[{tag:"link",attrs:{rel:"stylesheet",src:`${d}${s}.css`}}]:[],{tag:"script",attrs:{type:"module",src:`${d}${s}.esm.js`}}]}let a=`${t}/dist/${s}/${s}.css${B}`,p=o?[`import styles$${r} from "${a}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$${r}.styleSheet];`]:[],l=`${t}/dist/esm/loader.js`;return[{optimizableImports:[l],javascriptCode:[...p,`import { defineCustomElements as defineCustomElements$${r} } from "${l}";`,`defineCustomElements$${r}(globalThis.window, {`,` resourcesUrl: "${we(e,i)}/dist/${s}/",`,"});"]}]}async function Jn(e){let n=(await yc(e)).filter(i=>!Rn.has(i)&&!i.includes(".")),r=n.find(i=>i.startsWith("arcgis-"));return r===void 0?await Promise.all(n.map(async i=>await Po(e,i))).then(i=>i.find(fc)):await Po(e,r)}async function Po(e,t){let n=Mn.join(e,t,`${t}.css`),r=Mn.join(e,t,"assets"),[i,o]=await Promise.all([wo(n),wo(r)]);return i||o?{hasCss:i,cdnName:t}:void 0}import{path as Tc}from"@arcgis/components-build-utils";async function Do(e,t,n,r){let i=await xc(t),o=await Jn(Tc.join(i,"dist"));if(o===void 0)throw new Error(`Failed to infer the CDN namespace name for the ${t}`);let{cdnName:s,hasCss:a}=o;if(n==="storybookBuild"){let d=await Cc(i);return{tag:"script",attrs:{type:"module",src:`${G(d,!0)}${s}.esm.js`}}}let p=`${t}/${s}/${s}.css${B}`,l=a?[`import styles$${r} from "${p}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$${r}.styleSheet];`]:[],c=`${t}/loader`;return{optimizableImports:[c,p],javascriptCode:[...l,`import { defineCustomElements as defineCustomElements$${r} } from "${c}";`,`defineCustomElements$${r}({`,` resourcesUrl: "${we(e,i)}/dist/${s}/",`,"});"]}}import{path as bc}from"@arcgis/components-build-utils";async function xe(e){return e._loadersCache??=Sc(e),await e._loadersCache}async function Sc(e){let t=e.isInStorybook&&e.viteCommand==="build"?"storybookBuild":"lazy",n=e.viteConfig.base,r=async a=>(await Promise.all(a.map(async(p,l)=>p.type==="stencil"?await Ao(n,p.packageName,t,l):p.type==="@arcgis/lumina"?await Do(n,p.packageName,t,l):void 0))).filter(Fo).flat(),i=await Promise.all([oe.then(r),On(e).then(r),To(n,t)]),o=bc.join(e.dir.src,"loader.ts");return[...e.viteCommand==="serve"?[jn]:[],...i.flat(),{optimizableImports:[],javascriptCode:[`import { defineCustomElements } from "${o}";`,"window.devOnly$ownTagNames = new Set();",`defineCustomElements(${t==="storybookBuild"?`{resourcesUrl:"./${e.options.build?.cdn?.namespace??Ie}/"}`:""});`]}]}var jn={optimizableImports:[],javascriptCode:["globalThis.litIssuedWarnings ??= new Set();","globalThis.litIssuedWarnings.add(",'"Lit is in dev mode. Not recommended for production! See https://lit.dev/msg/dev-mode for more information.",',");"]};async function On(e){let t=e.options?.serve?.extraDependencies??[];return t.length===0?[]:(e._serveOnlyDependencies??=Promise.all(t.map(async n=>await fn(n))).then(n=>n.filter(Fo)),await e._serveOnlyDependencies)}var Bn="/@arcgis/lumina-compiler/testLitSetupFile",Wn="/@arcgis/lumina-compiler/testSetupFile",Ft=[Bn,Wn],Io=jn.javascriptCode.join(`
60
- `);async function No(e){if(!e.viteConfig.test?.browser?.enabled)return ko(e);let n=(await xe(e)).map((r,i)=>{if("javascriptCode"in r)return r.javascriptCode.join(`
61
- `);if("cssHref"in r)return[`import styles$t${i} from "${r.cssHref}${B}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$t${i}.styleSheet];`].join(`
59
+ defineCustomElements({resourcesUrl: import.meta.url});`,sourcefile:`${t}-entry.js`,resolveDir:"dist",loader:"js",...n.stdin}})}async function yc(e,t,n){let r=`${Fo(n)}.js`,i=new Map(e.outputFiles.map(o=>{let s={code:o.text,isAsync:void 0},a=o.path.slice(t.length);return a===r&&Y&&(s.code=`${s.code.trimEnd()}${gc}`,s.isAsync=!1),[a,s]}));Y&&i.entries().forEach(([o,s])=>{s.isAsync===void 0&&(o.endsWith(".js")?Po(s,i):s.isAsync=!1)}),await Promise.all(i.entries().map(async([o,{code:s}])=>await uc(t+o,s)))}var gc='{window.$arcgis||Object.defineProperty(window,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{},});var a=$arcgis;a.t=(c,...x)=>Promise.all(x.map(x=>x.then?x:(!a?.forceESM&&a?.import||(x=>import(x+".js").then(m=>m.default??m)))("@arcgis/core/"+x))).then(c)}';function Po(e,t){let n=[],r=[],i=[],o=Math.max(0,e.code.startsWith("/*")?e.code.indexOf(`*/
60
+ `)+3:0);Nt.lastIndex=o;let s,a=0;for(;(s=Nt.exec(e.code))!==null;){let[P,I,W,q,ve]=s;if(a=Nt.lastIndex,ve.startsWith($t))i.push([s.index,P.length,""]),r.push({clause:I?.replaceAll(" as ",":")??W??q??"",specifier:Do(ve.slice($t.length))});else{let Rs=Ao(ve,t);if(Nt.lastIndex=a,Rs){let Vt=Lt(n.length);if(n.push(Vt),I!==void 0)i.push([s.index+7,0,`${Ye} as ${Vt},`]);else if(W===void 0&&q===void 0)i.push([s.index+6,0,`{${Ye} as ${Vt}}from`]);else throw Error(`Expected local import specifiers to use only named or side-effect import syntax. Found ${P}`)}}}if(e.isAsync=i.length>0,!e.isAsync)return;let p=e.code.slice(0,a);p=i.reduceRight((P,[I,W,q])=>P.slice(0,I)+q+P.slice(I+W),p);let l=[],c=hc.exec(e.code),d=c?.index??e.code.length;if(c!==null){let[P,I]=c;l=I.split(",").map(W=>W.split(" as "))}let m=[...l.map((P,I)=>Lt(n.length+I)),Ye],u=r.findLastIndex(({clause:P})=>P.length>0),f=r.slice(0,u+1).map(({clause:P})=>P).join(","),h=f.length===0?"_":`([${f}])`,y=`var ${m.join(",")}=$arcgis.t(${h}=>{`,T=l.map(([P],I)=>`${Lt(n.length+I)}=${P}`).join(";"),S=[...r.map(P=>`"${P.specifier}"`),...n].join(","),b=[Ye,...l.map(([P,I],W)=>`${Lt(n.length+W)} as ${I}`)].join(","),M=`${T}},${S})
61
+ export{${b}}`,j=e.code.slice(a,d);j=Cc(j,t);let Be=`${p}${y}${j}${M}`;e.code=Be}var Nt=/import(?:(\{[^}]+\})from|\*as (\w+) from| (\w+) from)?"([^"]+)";/uy,hc=/export\{([^}]+)\};\n$/u,$t="@arcgis/core/",Lt=e=>`_${e}`,Ye="$$";function Ao(e,t){if(!e.startsWith("./"))return!1;let n=e.slice(2),r=t.get(n);if(r===void 0)throw Error(`Failed to find the ${e} module`);if(r.isAsync===void 0&&Po(r,t),r.isAsync===void 0)throw Error(`Failed to infer whether the ${e} module has top-level await`);return r.isAsync}function Cc(e,t){return e.replaceAll(xc,(n,r)=>r.startsWith($t)?`$arcgis.t(_=>_[0],"${Do(r.slice($t.length))}")`:r.startsWith("./")&&Ao(r,t)?`${n}.then(m=>m.${Ye}.then(_=>m))`:n)}var xc=/(?<![.\w\d])import\("([^"]+)"\)/gu,Do=e=>e.endsWith(".js")?e.slice(0,-3):e;function Fo(e){return`${e}.esm`}async function No(e,t,n,r){let i=await vc(t),{hasCss:o,cdnName:s}=await Hn(Wn.join(i,"dist"))??{};if(n==="storybookBuild"){let c=await Sc(i),d=ee(c,!0);return[...o?[{tag:"link",attrs:{rel:"stylesheet",src:`${d}${s}.css`}}]:[],{tag:"script",attrs:{type:"module",src:`${d}${s}.esm.js`}}]}let a=`${t}/dist/${s}/${s}.css${K}`,p=o?[`import styles$${r} from "${a}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$${r}.styleSheet];`]:[],l=`${t}/dist/esm/loader.js`;return[{optimizableImports:[l],javascriptCode:[...p,`import { defineCustomElements as defineCustomElements$${r} } from "${l}";`,`defineCustomElements$${r}(globalThis.window, {`,` resourcesUrl: "${Fe(e,i)}/dist/${s}/",`,"});"]}]}async function Hn(e){let n=(await bc(e)).filter(i=>!Bn.has(i)&&!i.includes(".")),r=n.find(i=>i.startsWith("arcgis-"));return r===void 0?await Promise.all(n.map(async i=>await Io(e,i))).then(i=>i.find(Tc)):await Io(e,r)}async function Io(e,t){let n=Wn.join(e,t,`${t}.css`),r=Wn.join(e,t,"assets"),[i,o]=await Promise.all([ko(n),ko(r)]);return i||o?{hasCss:i,cdnName:t}:void 0}import{path as Pc}from"@arcgis/components-build-utils";async function Lo(e,t,n,r){let i=await wc(t),o=await Hn(Pc.join(i,"dist"));if(o===void 0)throw new Error(`Failed to infer the CDN namespace name for the ${t}`);let{cdnName:s,hasCss:a}=o;if(n==="storybookBuild"){let d=await Ec(i);return{tag:"script",attrs:{type:"module",src:`${ee(d,!0)}${s}.esm.js`}}}let p=`${t}/${s}/${s}.css${K}`,l=a?[`import styles$${r} from "${p}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$${r}.styleSheet];`]:[],c=`${t}/loader`;return{optimizableImports:[c,p],javascriptCode:[...l,`import { defineCustomElements as defineCustomElements$${r} } from "${c}";`,`defineCustomElements$${r}({`,` resourcesUrl: "${Fe(e,i)}/dist/${s}/",`,"});"]}}import{path as Ac}from"@arcgis/components-build-utils";async function Se(e){return e._loadersCache??=Dc(e),await e._loadersCache}async function Dc(e){let t=e.isInStorybook&&e.viteCommand==="build"?"storybookBuild":"lazy",n=e.viteConfig.base,r=async a=>(await Promise.all(a.map(async(p,l)=>p.type==="stencil"?await No(n,p.packageName,t,l):p.type==="@arcgis/lumina"?await Lo(n,p.packageName,t,l):void 0))).filter($o).flat(),i=await Promise.all([le.then(r),_n(e).then(r),Eo(n,t)]),o=Ac.join(e.dir.src,"loader.ts");return[...e.viteCommand==="serve"?[Kn]:[],...i.flat(),{optimizableImports:[],javascriptCode:[`import { defineCustomElements } from "${o}";`,"window.devOnly$ownTagNames = new Set();",`defineCustomElements(${t==="storybookBuild"?`{resourcesUrl:"./${e.options.build?.cdn?.namespace??Re}/"}`:""});`]}]}var Kn={optimizableImports:[],javascriptCode:["globalThis.litIssuedWarnings ??= new Set();","globalThis.litIssuedWarnings.add(",'"Lit is in dev mode. Not recommended for production! See https://lit.dev/msg/dev-mode for more information.",',");"]};async function _n(e){let t=e.options?.serve?.extraDependencies??[];return t.length===0?[]:(e._serveOnlyDependencies??=Promise.all(t.map(async n=>await Tn(n))).then(n=>n.filter($o)),await e._serveOnlyDependencies)}var Un="/@arcgis/lumina-compiler/testLitSetupFile",Vn="/@arcgis/lumina-compiler/testSetupFile",Rt=[Un,Vn],Mo=Kn.javascriptCode.join(`
62
+ `);async function Jo(e){if(!e.viteConfig.test?.browser?.enabled)return Ro(e);let n=(await Se(e)).map((r,i)=>{if("javascriptCode"in r)return r.javascriptCode.join(`
63
+ `);if("cssHref"in r)return[`import styles$t${i} from "${r.cssHref}${K}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$t${i}.styleSheet];`].join(`
62
64
  `);throw new Error(`Unexpected loader type for the browser test environment: ${JSON.stringify(r)}`)}).join(`
63
65
 
64
- `);return[ko(e),n].join("")}var ko=e=>[e.isInPuppeteerTestBackEnd?vc:"",Ec].join(""),vc=`import { setupPuppeteerTest } from "@arcgis/lumina-compiler/puppeteerTesting";
66
+ `);return[Ro(e),n].join("")}var Ro=e=>[e.isInPuppeteerTestBackEnd?Fc:"",kc].join(""),Fc=`import { setupPuppeteerTest } from "@arcgis/lumina-compiler/puppeteerTesting";
65
67
  setupPuppeteerTest();
66
- `,Ec=`import { setupLuminaTest } from "@arcgis/lumina-compiler/testing";
68
+ `,kc=`import { setupLuminaTest } from "@arcgis/lumina-compiler/testing";
67
69
  setupLuminaTest();
68
- `;function Lo(e){let t=!0,n=!1,r,i,o,s,a,p="@arcgis/lumina:generateVirtualFiles",l={name:p,configResolved(){s=kt.join(e.dir.root,"src","loader.ts"),a=Ac(s)},resolveId:f=>f===s||f===a?s:void 0,async load(f){let h=f.startsWith(Bn),y=f.startsWith(Wn);if(!(!f.endsWith(".tsx")&&f!==s&&!h&&!y)){if(i===void 0&&!e.isInPuppeteerTestBackEnd){o===void 0&&clearTimeout(r),o??=li(e,t).catch(E=>{throw n=!0,E}),t=!1;let T=await o;i??=T}return f===s?Zr(e):h?Io:y?await No(e):void 0}},async writeBundle(){e.isInStorybook||await Pc(kt.join(e.dir.dist,"loader.d.ts"),ei)},async handleHotUpdate({file:f,modules:h,read:y}){let T=await c(f,y);return T===void 0?void 0:T?h:(d(),[])},configureServer(f){if(e.isInPuppeteerTestBackEnd)return;e.isInTest&&f.watcher.on("change",y=>{c(y,async()=>await wc(y,"utf8")).catch(console.error)}),f.watcher.on("add",h),f.watcher.on("unlink",h),f.watcher.on("addDir",y=>y.startsWith(e.dir.srcComponents)?void be(e,e.dir.srcComponents,y).then(T=>T.length>0?d():void 0):void 0),f.watcher.on("unlinkDir",y=>{e.componentFiles.some(E=>E.startsWith(y))&&d()});function h(y){ne(y,e.dir.srcComponents)&&d()}f.watcher.on("change",()=>{if(!n)return;n=!1,r=setTimeout(()=>d(!0),1e3)})},buildEnd(){e.typeScriptWatchProgram?.close()}};async function c(f,h){if(i===void 0)return!1;let y;if(e.isInStorybook){y=await h();let b=e.typeScriptProgram.getSourceFile(f);if(b===void 0)return;if(!(b.text===y)){let me;await Promise.race([e._typeScriptReload.promise,new Promise(Z=>{me=setTimeout(()=>{console.log("Timed out waiting for TypeScript to finish type-checking. This may be a bug"),Z(void 0)},1e4)})]),clearTimeout(me)}}if(!ne(f,e.dir.srcComponents))return;y??=await h();let E=ci(e,f,y);if(E===void 0)return!1;for(let b of E){let R=sn(b);e.server.ws.send({type:"custom",event:"component-meta-update",data:R})}return m(),!0}function d(f=!1){!f&&i===void 0||(i=void 0,o=void 0,m(),u())}function m(){let f=e.server.moduleGraph.getModuleById(s);f===void 0?(console.warn(`${p}: Failed to find HMR module for src/loader.ts`),e.server.moduleGraph.invalidateAll()):e.server.moduleGraph.invalidateModule(f)}let u=()=>e.server.ws.send({type:"full-reload",path:kt.join("/",kt.relative(e.dir.root,s))});return l}import Dc from"mime-types";import{copyFile as Fc,readFile as Ro,readdir as kc,mkdir as Kn,writeFile as Mo}from"node:fs/promises";import{getCwd as Ic,path as P,toPosixPathSeparators as Hn,toSystemPathSeparators as Nc}from"@arcgis/components-build-utils";import{isPosix as Jo}from"@arcgis/components-build-utils";var Lc="@arcgis/lumina:provideAssets";function ce(e,t,n=Nt){if(e.viteCommand!=="serve")throw new Error("serveAssets() is only available when Vite is running in serve mode");let r=e._serverConfigured,i=e.server.middlewares.stack.length;if(t.forEach(o=>{let s=jo(o),a=Bo(e.dir,Oo(s)),p=Rc(e.viteConfig.base,a,e.dir.distCdn);e.server.middlewares.use(p,(l,c,d)=>{let m=Mc(l.url),u=s.type==="directory"?P.resolve(s.source,m.slice(1)):s.source,f=P.join(a,m),h=n.find(y=>y.match(f,e));return(typeof u=="function"?Promise.resolve(u()):Ro(u)).then(y=>{let T=(typeof u=="function"?void 0:h?.transform(y.toString("utf8"),f,e))??y;c.setHeader("Cache-Control","max-age=31536000, immutable"),c.setHeader("Content-Type",Dc.lookup(m)||"application/octet-stream"),c.write(T),c.end()}).catch(y=>{(s.type!=="directory"||process.env.DEBUG)&&console.error(Lc,`Error occurred when trying to serve a file in response to request for "${l.originalUrl??m}":`,y),d()}),!0})}),r){let o=e.server.middlewares.stack.splice(i);e.server.middlewares.stack.splice(0,0,...o)}}async function It(e,t,n=Nt){await Promise.all(t.map(async r=>{let i=jo(r),o=Bo(e.dir,Oo(i));if(i.type==="directory"){let s=P.resolve(i.source),p=(await kc(s,{recursive:!0,withFileTypes:!0})).filter(l=>l.isFile()).map(l=>{let c=P.resolve(l.parentPath,l.name),d=P.relative(s,c),m=P.join(o,d);return[c,m]});await _n(p.map(([l,c])=>c)),await Promise.all(p.map(async([l,c])=>await $o(l,c,n,e)))}else if(i.type==="file")await Kn(P.dirname(o),{recursive:!0}),await $o(i.source,o,n,e);else if(i.type==="dynamic"){await Kn(P.dirname(o),{recursive:!0});let s=await Promise.resolve(i.source());await Mo(o,s)}}))}var jo=Jo?e=>e:e=>e.type==="dynamic"?{...e,destination:Hn(e.destination)}:{...e,source:Hn(e.source),destination:Hn(e.destination)};async function $o(e,t,n,r){let i=n.find(o=>o.match(t,r));if(i===void 0)await Fc(e,t);else{let o=await Ro(e,"utf8"),s=i.transform(o,t,r);await Mo(t,s)}}function Oo(e){if(e.type==="dynamic")return e.destination;if(e.source.endsWith(P.sep)){if(e.type==="file")throw new Error(`Unexpectedly tried to provide an asset with type "file", whose source looks like a directory: ${Nc(e.source)}. If source is meant to be a directory, change to "type":"directory". If source is a file, make sure source path does not end with / or \\`);return e.destination}return e.destination===""?P.basename(e.source):e.destination.endsWith(P.sep)?e.type==="directory"&&e.destination===P.sep?e.destination:P.join(e.destination,P.basename(e.source)):e.destination}function Bo({dist:e,distCdnAssets:t},n){let r=$c(n),i=P.join(t,r?P.relative(t,n):n),o=P.relative(e,i),s=Wo(o);return P.join(e,s)}function $c(e){if(e.startsWith(P.sep)){let t=Ic(),n=t.startsWith(P.sep)?t.split(P.sep)[1]??"":"";return e.startsWith(`/${n}/`)||e.startsWith("/Users/")}else return!!(!Jo&&P.isAbsolute(e))}function Rc(e,t,n){let r=Wo(P.relative(n,t)),i=r.startsWith("/")?r.slice(1):r;return`${e}${i}`}var Wo=e=>e.replaceAll("../",""),Mc=(e="")=>e.split("?")[0].split("#")[0];async function _n(e){let t=new Set(e.map(P.dirname));await Promise.all(Array.from(t,async n=>await Kn(n,{recursive:!0})))}var Jc={match:(e,t)=>t.environment==="production"&&e.endsWith(".json"),transform:e=>JSON.stringify(JSON.parse(e))},Nt=[Jc];import{isNotUndefined as jc}from"@arcgis/components-utils";import{existsAsync as Ho}from"@arcgis/components-build-utils";import{path as Xe}from"@arcgis/components-build-utils";function Ko(e){let t,n=()=>[...e.options.assets?.transformers??[],...Nt];return{name:"@arcgis/lumina:handleStaticAssets",configResolved(){t=Oc(e)},async configureServer(r){e.server=r,!e.isInPuppeteerTestBackEnd&&(ce(e,await t,n()),r.watcher.on("addDir",i=>{if(i.endsWith("assets")){let o=Xe.dirname(i);Xe.join(o,"/")===e.dir.root?ce(e,[Uo],n()):i.startsWith(e.dir.srcComponents)&&ce(e,[_o(i,o)],n())}}))},async writeBundle(){await It(e,await t,n())}}}async function Oc(e){let t=Ho("assets"),n=await e.componentFilesPromise,r=await Promise.all(n.map(async i=>{let o=Xe.dirname(i),s=Xe.join(o,"assets");return await Ho(s)?_o(s,o):void 0}));return await t&&r.push(Uo),r.filter(jc)}var _o=(e,t)=>({type:"directory",source:e,destination:Xe.basename(t)}),Uo={type:"directory",source:"assets/",destination:""};import{path as Ne}from"@arcgis/components-build-utils";import{mkdir as Bc,writeFile as Lt}from"node:fs/promises";import{retrievePackageJson as Wc}from"@arcgis/components-build-utils";function Vo(e){let{stencilCompatibility:t}=e.options.build?.ssr??{};if(t?.enabled===!0)return{name:"@arcgis/lumina:buildStencilHydrate",async writeBundle(){if(e.isInStorybook)return;let n=Wc()?.name??e.options.build?.cdn?.namespace??Ne.basename(e.dir.root),r=`${n}/hydrate`,i=Ne.resolve(e.dir.root,t.path??"hydrate"),o="index.d.ts",s="index.js",a="index.mjs",p=Ne.join(i,"index.d.ts"),l=Ne.join(i,"index.js"),c=Ne.join(i,"index.mjs"),d=q(i,e.dir.dist),u=`${Array.from(new Set(e.apiJsonComponents.map(f=>`import "${d}/${f.importPath}";`))).join(`
70
+ `;function jo(e){let t=!0,n=!1,r,i,o,s,a,p="@arcgis/lumina:generateVirtualFiles",l={name:p,configResolved(){s=Mt.join(e.dir.root,"src","loader.ts"),a=Lc(s)},resolveId:f=>f===s||f===a?s:void 0,async load(f){let h=f.startsWith(Un),y=f.startsWith(Vn);if(!(!f.endsWith(".tsx")&&f!==s&&!h&&!y)){if(i===void 0&&!e.isInPuppeteerTestBackEnd){o===void 0&&clearTimeout(r),o??=ui(e,t).catch(S=>{throw n=!0,S}),t=!1;let T=await o;i??=T}return f===s?ri(e):h?Mo:y?await Jo(e):void 0}},async writeBundle(){e.isInStorybook||await Nc(Mt.join(e.dir.dist,"loader.d.ts"),ii)},async handleHotUpdate({file:f,modules:h,read:y}){let T=await c(f,y);return T===void 0?void 0:T?h:(d(),[])},configureServer(f){if(e.isInPuppeteerTestBackEnd)return;e.isInTest&&f.watcher.on("change",y=>{c(y,async()=>await Ic(y,"utf8")).catch(console.error)}),f.watcher.on("add",h),f.watcher.on("unlink",h),f.watcher.on("addDir",y=>y.startsWith(e.dir.srcComponents)?void we(e,e.dir.srcComponents,y).then(T=>T.length>0?d():void 0):void 0),f.watcher.on("unlinkDir",y=>{e.componentFiles.some(S=>S.startsWith(y))&&d()});function h(y){se(y,e.dir.srcComponents)&&d()}f.watcher.on("change",()=>{if(!n)return;n=!1,r=setTimeout(()=>d(!0),1e3)})},buildEnd(){e.typeScriptWatchProgram?.close()}};async function c(f,h){if(i===void 0)return!1;let y;if(e.isInStorybook){y=await h();let b=e.typeScriptProgram.getSourceFile(f);if(b===void 0)return;if(!(b.text===y)){let P;await Promise.race([e._typeScriptReload.promise,new Promise(I=>{P=setTimeout(()=>{console.log("Timed out waiting for TypeScript to finish type-checking. This may be a bug"),I(void 0)},1e4)})]),clearTimeout(P)}}if(!se(f,e.dir.srcComponents))return;y??=await h();let S=fi(e,f,y);if(S===void 0)return!1;for(let b of S){let M=mn(b);e.server.ws.send({type:"custom",event:"component-meta-update",data:M})}return m(),!0}function d(f=!1){!f&&i===void 0||(i=void 0,o=void 0,m(),u())}function m(){let f=e.server.moduleGraph.getModuleById(s);f===void 0?(console.warn(`${p}: Failed to find HMR module for src/loader.ts`),e.server.moduleGraph.invalidateAll()):e.server.moduleGraph.invalidateModule(f)}let u=()=>e.server.ws.send({type:"full-reload",path:Mt.join("/",Mt.relative(e.dir.root,s))});return l}import $c from"mime-types";import{copyFile as Rc,readFile as Bo,readdir as Mc,mkdir as qn,writeFile as Wo}from"node:fs/promises";import{getCwd as Jc,path as A,toPosixPathSeparators as zn,toSystemPathSeparators as jc}from"@arcgis/components-build-utils";import{isPosix as Ho}from"@arcgis/components-build-utils";var Oc="@arcgis/lumina:provideAssets";function fe(e,t,n=jt){if(e.viteCommand!=="serve")throw new Error("serveAssets() is only available when Vite is running in serve mode");let r=e._serverConfigured,i=e.server.middlewares.stack.length;if(t.forEach(o=>{let s=Ko(o),a=Uo(e.dir,_o(s)),p=Wc(e.viteConfig.base,a,e.dir.distCdn);e.server.middlewares.use(p,(l,c,d)=>{let m=Hc(l.url),u=s.type==="directory"?A.resolve(s.source,m.slice(1)):s.source,f=A.join(a,m),h=n.find(y=>y.match(f,e));return(typeof u=="function"?Promise.resolve(u()):Bo(u)).then(y=>{let T=(typeof u=="function"?void 0:h?.transform(y.toString("utf8"),f,e))??y;c.setHeader("Cache-Control","max-age=31536000, immutable"),c.setHeader("Content-Type",$c.lookup(m)||"application/octet-stream"),c.write(T),c.end()}).catch(y=>{(s.type!=="directory"||process.env.DEBUG)&&console.error(Oc,`Error occurred when trying to serve a file in response to request for "${l.originalUrl??m}":`,y),d()}),!0})}),r){let o=e.server.middlewares.stack.splice(i);e.server.middlewares.stack.splice(0,0,...o)}}async function Jt(e,t,n=jt){await Promise.all(t.map(async r=>{let i=Ko(r),o=Uo(e.dir,_o(i));if(i.type==="directory"){let s=A.resolve(i.source),p=(await Mc(s,{recursive:!0,withFileTypes:!0})).filter(l=>l.isFile()).map(l=>{let c=A.resolve(l.parentPath,l.name),d=A.relative(s,c),m=A.join(o,d);return[c,m]});await Gn(p.map(([l,c])=>c)),await Promise.all(p.map(async([l,c])=>await Oo(l,c,n,e)))}else if(i.type==="file")await qn(A.dirname(o),{recursive:!0}),await Oo(i.source,o,n,e);else if(i.type==="dynamic"){await qn(A.dirname(o),{recursive:!0});let s=await Promise.resolve(i.source());await Wo(o,s)}}))}var Ko=Ho?e=>e:e=>e.type==="dynamic"?{...e,destination:zn(e.destination)}:{...e,source:zn(e.source),destination:zn(e.destination)};async function Oo(e,t,n,r){let i=n.find(o=>o.match(t,r));if(i===void 0)await Rc(e,t);else{let o=await Bo(e,"utf8"),s=i.transform(o,t,r);await Wo(t,s)}}function _o(e){if(e.type==="dynamic")return e.destination;if(e.source.endsWith(A.sep)){if(e.type==="file")throw new Error(`Unexpectedly tried to provide an asset with type "file", whose source looks like a directory: ${jc(e.source)}. If source is meant to be a directory, change to "type":"directory". If source is a file, make sure source path does not end with / or \\`);return e.destination}return e.destination===""?A.basename(e.source):e.destination.endsWith(A.sep)?e.type==="directory"&&e.destination===A.sep?e.destination:A.join(e.destination,A.basename(e.source)):e.destination}function Uo({dist:e,distCdnAssets:t},n){let r=Bc(n),i=A.join(t,r?A.relative(t,n):n),o=A.relative(e,i),s=Vo(o);return A.join(e,s)}function Bc(e){if(e.startsWith(A.sep)){let t=Jc(),n=t.startsWith(A.sep)?t.split(A.sep)[1]??"":"";return e.startsWith(`/${n}/`)||e.startsWith("/Users/")}else return!!(!Ho&&A.isAbsolute(e))}function Wc(e,t,n){let r=Vo(A.relative(n,t)),i=r.startsWith("/")?r.slice(1):r;return`${e}${i}`}var Vo=e=>e.replaceAll("../",""),Hc=(e="")=>e.split("?")[0].split("#")[0];async function Gn(e){let t=new Set(e.map(A.dirname));await Promise.all(Array.from(t,async n=>await qn(n,{recursive:!0})))}var Kc={match:(e,t)=>t.environment==="production"&&e.endsWith(".json"),transform:e=>JSON.stringify(JSON.parse(e))},jt=[Kc];import{isNotUndefined as _c}from"@arcgis/components-utils";import{existsAsync as zo}from"@arcgis/components-build-utils";import{path as Ze}from"@arcgis/components-build-utils";function qo(e){let t,n=()=>[...e.options.assets?.transformers??[],...jt];return{name:"@arcgis/lumina:handleStaticAssets",configResolved(){t=Uc(e)},async configureServer(r){e.server=r,!e.isInPuppeteerTestBackEnd&&(fe(e,await t,n()),r.watcher.on("addDir",i=>{if(i.endsWith("assets")){let o=Ze.dirname(i);Ze.join(o,"/")===e.dir.root?fe(e,[Xo],n()):i.startsWith(e.dir.srcComponents)&&fe(e,[Go(i,o)],n())}}))},async writeBundle(){await Jt(e,await t,n())}}}async function Uc(e){let t=zo("assets"),n=await e.componentFilesPromise,r=await Promise.all(n.map(async i=>{let o=Ze.dirname(i),s=Ze.join(o,"assets");return await zo(s)?Go(s,o):void 0}));return await t&&r.push(Xo),r.filter(_c)}var Go=(e,t)=>({type:"directory",source:e,destination:Ze.basename(t)}),Xo={type:"directory",source:"assets/",destination:""};import{path as Me}from"@arcgis/components-build-utils";import{mkdir as Vc,writeFile as Ot}from"node:fs/promises";import{retrievePackageJson as zc}from"@arcgis/components-build-utils";function Qo(e){let{stencilCompatibility:t}=e.options.build?.ssr??{};if(t?.enabled===!0)return{name:"@arcgis/lumina:buildStencilHydrate",async writeBundle(){if(e.isInStorybook)return;let n=zc()?.name??e.options.build?.cdn?.namespace??Me.basename(e.dir.root),r=`${n}/hydrate`,i=Me.resolve(e.dir.root,t.path??"hydrate"),o="index.d.ts",s="index.js",a="index.mjs",p=Me.join(i,"index.d.ts"),l=Me.join(i,"index.js"),c=Me.join(i,"index.mjs"),d=Z(i,e.dir.dist),u=`${Array.from(new Set(e.apiJsonComponents.map(f=>`import "${d}/${f.importPath}";`))).join(`
69
71
  `)}
70
- export * from "@arcgis/lumina/stencilSsrCompatibility";`;await Bc(i,{recursive:!0}),await Promise.all([Lt(Ne.join(i,"package.json"),`${JSON.stringify({name:r,description:`${n} component hydration app.`,type:"module",main:s,module:a,types:o,exports:{".":{types:`./${o}`,import:`./${a}`,require:`./${s}`}},dependencies:{"@arcgis/lumina":"*"}},null,2)}
71
- `),Lt(p,u),Lt(l,u),Lt(c,u)])}}}var Xo=e=>({name:"@arcgis/lumina:printTotalBuildSize",apply:()=>e.viteCommand==="build",configResolved(t){let n=t.plugins.find(({name:i})=>i==="vite:reporter");if(n===void 0){console.warn("Unable to find the vite's built-in vite:reporter plugin");return}let r=n.writeBundle;if(typeof r!="function")throw new Error("Expected vite:reporter to declare a writeBundle() function");n.writeBundle=async function(o,s){let a=0,p=0,l=0,c=0,d=console.log;console.log=function(...u){if(d.apply(console,u),u.length===1&&typeof u[0]=="string"){let[f,h]=u[0].match(Kc)??[];if(!f)return;c||(c=u[0].slice(0,u[0].indexOf(f)+f.length).replaceAll(_c,"").length);let y=Number.parseFloat(f.replace(" kB","").replaceAll(",",""));h?(l+=Number.parseFloat(h.replace(" kB","").replaceAll(",","")),p+=y):a+=y}};try{await r.call(this,o,s)}finally{console.log=d}if(p>0){let u=l>0?p:a,f=Go(u),h=e.dir.relativeDist;console.log([qo,h,Hc,"*"," ".repeat(c-`${h}*`.length-f.length),f,zo,l>0?` ${qo}\u2502 gzip: ${Go(l)}${zo}`:""].join(""))}}}}),zo="\x1B[22m\x1B[1m\x1B[22m",qo="\x1B[2m",Hc="\x1B[22m\x1B[36m",Kc=/\d+(?:,\d+)?\.\d{2} kB/gu,_c=/\x1B\[\d+m/gu,Uc=new Intl.NumberFormat("en",{maximumFractionDigits:2,minimumFractionDigits:2}),Go=e=>`${Uc.format(e)} kB`;var Qo=e=>({name:"@arcgis/lumina:configureVite",async config({server:t,publicDir:n,build:{cssMinify:r,target:i,sourcemap:o,lib:s,rollupOptions:{output:a=[]}={}}={},test:p={},css:l}){let{include:c,browser:d,environment:m,forceRerunTriggers:u}=p,f={index:"src/index.ts",loader:"src/loader.ts",...await Dr(e)},{loader:h,...y}=f,T=e.environment==="development"||e.isInTest?{"process.env.ESRI_INTERNAL":"true"}:void 0,E=!import.meta.url.includes("node_modules"),b={entries:Object.values(y),include:Array.from(At).filter(j=>!j.startsWith("@arcgis")),exclude:E?["@arcgis/lumina","@arcgis/components-controllers","@arcgis/components-utils","@arcgis/core-adapter"]:void 0};typeof p.setupFiles=="string"?p.setupFiles=[...Ft,p.setupFiles]:Array.isArray(p.setupFiles)?p.setupFiles=[...Ft,...p.setupFiles]:p.setupFiles=[...Ft];let R={preprocessorOptions:{scss:{api:l?.preprocessorOptions?.scss?.api??"modern-compiler"}}};if(e.isInPuppeteerTestBackEnd){if(d?.enabled===!0)throw new Error("Can't enable both Vitest browser mode and Puppeteer testing at the same time");return{test:{puppeteerLaunchOptions:e.options.puppeteerTesting?.launchOptions,puppeteerWaitForChangesDelay:e.options.puppeteerTesting?.waitForChangesDelay,globalSetup:["@arcgis/lumina-compiler/puppeteerTesting/globalSetup"],runner:"@arcgis/lumina-compiler/puppeteerTesting/runner",include:c?void 0:["**/*.{e2e,spec}.?(c|m)[jt]s?(x)"],environment:m??"happy-dom",forceRerunTriggers:u===void 0?["**/*.{ts,tsx}"]:void 0},css:R,optimizeDeps:b,define:T}}return{server:{open:t?.open??!0},publicDir:n??!1,build:{cssMinify:r??(e.environment==="production"?!0:void 0),target:i??Dt(e.typeScriptConfig),sourcemap:o??(e.environment==="development"?"inline":e.options.build?.enableSourceMapsInProduction??!1),lib:{entry:f,formats:(s?s.formats:void 0)??["es"]},rollupOptions:{output:{chunkFileNames:(Array.isArray(a)?void 0:a.chunkFileNames)||"chunks/[name].js",banner:(Array.isArray(a)?void 0:a.banner)||e.banner,generatedCode:(Array.isArray(a)?void 0:a.generatedCode)??"es2015"}}},optimizeDeps:b,define:T,test:{include:c?void 0:[d?.enabled??!0?"**/*.e2e.?(c|m)[jt]s?(x)":"**/*.{test,spec}.?(c|m)[jt]s?(x)"],browser:{enabled:e.isInPuppeteerTestFrontEnd?!1:d?.enabled??!0,name:d?.name??"chromium",provider:d?.provider??Zn}},css:R}}});var Yo=e=>({name:"@arcgis/lumina:setAssetPath",apply:()=>e.viteCommand==="build",config:t=>({base:t.base??e.options.assets?.defaultPath??G()})});import Vn from"typescript";import{path as Vc,retrievePackageJson as zc,toPosixPathSeparators as qc}from"@arcgis/components-build-utils";import{getPreamble as Gc}from"@arcgis/components-utils";function Zo(e=zc()){let t=e.version??"0.0.1";return Gc(t)}var es=e=>`/*! ${e} */`,F=e=>(t,n)=>{Object.defineProperty(t,n,{get(){throw new Error(`Tried to access '${String(n)}' before it was set. You can't access this property in global scope. However, it will be accessible by the time the following Vite plugin hook is called: ${e}`)},set(i){Object.defineProperty(this,n,{value:i,configurable:!0,writable:!0,enumerable:!0})},configurable:!0,enumerable:!0})};function Le(e){if(Vc.isAbsolute(e))throw new Error(`Documentation file name was expected to be a relative path (relative to dist). Instead, received an absolute path: ${e}`);return qc(e)}var $e={vsCodeHtml:"docs/vscode.html-custom-data.json",vsCodeCss:"docs/vscode.css-custom-data.json",webTypes:"docs/web-types.json",apiJson:"docs/api.json",stencilLikeDocsJson:"docs/docs.json"};import{existsAsync as Xc}from"@arcgis/components-build-utils";import{readFile as Qc}from"node:fs/promises";import{retrievePackageJson as ts}from"@arcgis/components-build-utils";import{path as Yc}from"@arcgis/components-build-utils";import{writeFileSync as Zc}from"node:fs";async function $t(e,t,n,r,i=ts()){let o=ed(e,n,r,i),s=Yc.join(t,"lumina.ts");if((await Xc(s)?await Qc(s,"utf8"):"")===o)return!1;if(process.env.CI)throw new Error("lumina.ts is out of date. Start the vite dev server or build locally at least once to update lumina.ts and commit the updated file");return Zc(s,o),!0}function ed(e,t,n,r=ts()){let i=e.filter(d=>d.type==="@arcgis/lumina").map(d=>`
72
+ export * from "@arcgis/lumina/stencilSsrCompatibility";`;await Vc(i,{recursive:!0}),await Promise.all([Ot(Me.join(i,"package.json"),`${JSON.stringify({name:r,description:`${n} component hydration app.`,type:"module",main:s,module:a,types:o,exports:{".":{types:`./${o}`,import:`./${a}`,require:`./${s}`}},dependencies:{"@arcgis/lumina":"*"}},null,2)}
73
+ `),Ot(p,u),Ot(l,u),Ot(c,u)])}}}var ts=e=>({name:"@arcgis/lumina:printTotalBuildSize",apply:()=>e.viteCommand==="build",configResolved(t){let n=t.plugins.find(({name:i})=>i==="vite:reporter");if(n===void 0){console.warn("Unable to find the vite's built-in vite:reporter plugin");return}let r=n.writeBundle;if(typeof r!="function")throw new Error("Expected vite:reporter to declare a writeBundle() function");n.writeBundle=async function(o,s){let a=0,p=0,l=0,c=0,d=console.log;console.log=function(...u){if(d.apply(console,u),u.length===1&&typeof u[0]=="string"){let[f,h]=u[0].match(Gc)??[];if(!f)return;c||(c=u[0].slice(0,u[0].indexOf(f)+f.length).replaceAll(Xc,"").length);let y=Number.parseFloat(f.replace(" kB","").replaceAll(",",""));h?(l+=Number.parseFloat(h.replace(" kB","").replaceAll(",","")),p+=y):a+=y}};try{await r.call(this,o,s)}finally{console.log=d}if(p>0){let u=l>0?p:a,f=es(u),h=e.dir.relativeDist;console.log([Zo,h,qc,"*"," ".repeat(c-`${h}*`.length-f.length),f,Yo,l>0?` ${Zo}\u2502 gzip: ${es(l)}${Yo}`:""].join(""))}}}}),Yo="\x1B[22m\x1B[1m\x1B[22m",Zo="\x1B[2m",qc="\x1B[22m\x1B[36m",Gc=/\d+(?:,\d+)?\.\d{2} kB/gu,Xc=/\x1B\[\d+m/gu,Qc=new Intl.NumberFormat("en",{maximumFractionDigits:2,minimumFractionDigits:2}),es=e=>`${Qc.format(e)} kB`;var ns=e=>({name:"@arcgis/lumina:configureVite",async config({server:t,publicDir:n,build:{cssMinify:r,target:i,sourcemap:o,lib:s,rollupOptions:{output:a=[]}={}}={},test:p={},css:l}){let{include:c,browser:d,environment:m,forceRerunTriggers:u}=p,f={index:"src/index.ts",loader:"src/loader.ts",...await Nr(e)},{loader:h,...y}=f,T=e.environment==="development"||e.isInTest?{"process.env.ESRI_INTERNAL":"true"}:void 0,S=!import.meta.url.includes("node_modules"),b={entries:Object.values(y),include:Array.from(kt).filter(j=>!j.startsWith("@arcgis")),exclude:S?["@arcgis/lumina","@arcgis/components-controllers","@arcgis/components-utils","@arcgis/core-adapter"]:void 0};typeof p.setupFiles=="string"?p.setupFiles=[...Rt,p.setupFiles]:Array.isArray(p.setupFiles)?p.setupFiles=[...Rt,...p.setupFiles]:p.setupFiles=[...Rt];let M={preprocessorOptions:{scss:{api:l?.preprocessorOptions?.scss?.api??"modern-compiler"}}};if(e.isInPuppeteerTestBackEnd){if(d?.enabled===!0)throw new Error("Can't enable both Vitest browser mode and Puppeteer testing at the same time");return{test:{puppeteerLaunchOptions:e.options.puppeteerTesting?.launchOptions,puppeteerWaitForChangesDelay:e.options.puppeteerTesting?.waitForChangesDelay,globalSetup:["@arcgis/lumina-compiler/puppeteerTesting/globalSetup"],runner:"@arcgis/lumina-compiler/puppeteerTesting/runner",include:c?void 0:["**/*.{e2e,spec}.?(c|m)[jt]s?(x)"],environment:m??"happy-dom",forceRerunTriggers:u===void 0?["**/*.{ts,tsx}"]:void 0},css:M,optimizeDeps:b,define:T}}return{server:{open:t?.open??!0},publicDir:n??!1,build:{cssMinify:r??(e.environment==="production"?!0:void 0),target:i??It(e.typeScriptConfig),sourcemap:o??(e.environment==="development"?"inline":e.options.build?.enableSourceMapsInProduction??!1),lib:{entry:f,formats:(s?s.formats:void 0)??["es"]},rollupOptions:{output:{chunkFileNames:(Array.isArray(a)?void 0:a.chunkFileNames)||"chunks/[name].js",banner:(Array.isArray(a)?void 0:a.banner)||e.banner,generatedCode:(Array.isArray(a)?void 0:a.generatedCode)??"es2015"}}},optimizeDeps:b,define:T,test:{include:c?void 0:[d?.enabled??!0?"**/*.e2e.?(c|m)[jt]s?(x)":"**/*.{test,spec}.?(c|m)[jt]s?(x)"],browser:{enabled:e.isInPuppeteerTestFrontEnd?!1:d?.enabled??!0,name:d?.name??"chromium",provider:d?.provider??rr}},css:M}}});var rs=e=>({name:"@arcgis/lumina:setAssetPath",apply:()=>e.viteCommand==="build",config:t=>({base:t.base??e.options.assets?.defaultPath??ee()})});import Qn from"typescript";import{path as Yc,retrievePackageJson as Zc,toPosixPathSeparators as ed}from"@arcgis/components-build-utils";import{getPreamble as td}from"@arcgis/components-utils";function is(e=Zc()){let t=e.version??"0.0.1";return td(t)}var os=e=>`/*! ${e} */`,k=e=>(t,n)=>{Object.defineProperty(t,n,{get(){throw new Error(`Tried to access '${String(n)}' before it was set. You can't access this property in global scope. However, it will be accessible by the time the following Vite plugin hook is called: ${e}`)},set(i){Object.defineProperty(this,n,{value:i,configurable:!0,writable:!0,enumerable:!0})},configurable:!0,enumerable:!0})};function Je(e){if(Yc.isAbsolute(e))throw new Error(`Documentation file name was expected to be a relative path (relative to dist). Instead, received an absolute path: ${e}`);return ed(e)}var je={vsCodeHtml:"docs/vscode.html-custom-data.json",vsCodeCss:"docs/vscode.css-custom-data.json",webTypes:"docs/web-types.json",apiJson:"docs/api.json",stencilLikeDocsJson:"docs/docs.json"};import{existsAsync as nd}from"@arcgis/components-build-utils";import{readFile as rd}from"node:fs/promises";import{retrievePackageJson as ss}from"@arcgis/components-build-utils";import{path as id}from"@arcgis/components-build-utils";import{writeFileSync as od}from"node:fs";async function Bt(e,t,n,r,i=ss()){let o=sd(e,n,r,i),s=id.join(t,"lumina.ts");if((await nd(s)?await rd(s,"utf8"):"")===o)return!1;if(process.env.CI)throw new Error("lumina.ts is out of date. Start the vite dev server or build locally at least once to update lumina.ts and commit the updated file");return od(s,o),!0}function sd(e,t,n,r=ss()){let i=e.filter(d=>d.type==="@arcgis/lumina").map(d=>`
72
74
  /// <reference types="${d.packageName}/types/lumina" />`),o=e.filter(d=>d.type==="stencil"),s=o.map((d,m)=>`
73
75
  import type { JSX as JSX$${m} } from "${d.packageName}/dist/types/components";`),a=o.length===0?"":`
74
76
 
75
77
  declare module "@arcgis/lumina" {
76
78
  interface ImportStencilElements extends ${o.map((d,m)=>`JSX$${m}.IntrinsicElements`).join(", ")} {}
77
- }`,p=r.devDependencies??{},l=n==="preview"?"matchers":n==="webdriverio"?"webdriverio":"playwright";return[...td,t?nd:"",p.vitest?`
79
+ }`,p=r.devDependencies??{},l=n==="preview"?"matchers":n==="webdriverio"?"webdriverio":"playwright";return[...ad,t?pd:"",p.vitest?`
78
80
  /// <reference types="vitest/config" />`:"",p["@vitest/browser"]?`
79
81
  /// <reference types="@vitest/browser/jest-dom.d.ts" />`:"",p["@vitest/browser"]?`
80
82
  /// <reference types="@vitest/browser/providers/${l}" />`:"",...i,...s,a,`
81
- `].join("")}var td=`/**
83
+ `].join("")}var ad=`/**
82
84
  * This file is autogenerated by \`@arcgis/lumina-compiler\` - do not edit it manually.
83
85
  * Manual edits will be overwritten.
84
86
  *
@@ -87,19 +89,19 @@ declare module "@arcgis/lumina" {
87
89
  *
88
90
  * If you need to provide additional typings, create a separate file.
89
91
  */
90
- /// <reference types="@arcgis/lumina/typings" />`,nd=`
91
- /// <reference types="@arcgis/core/interfaces" />`;import rd from"chalk";var ns="@arcgis/lumina:dependencySupport",Un=(e,t)=>e.viteCommand==="serve"&&(!e.isInTest||!e.viteConfig.test?.browser?.enabled)||e.isInStorybook&&(t===void 0||t.path==="/iframe.html"),rs=e=>({name:ns,configResolved(){!e.isInTest&&!e.isInStorybook&&(e._updateLuminaTsPromise=id(e).catch(t=>console.error(`${ns}: Failed to update package's src/lumina.ts`,t)))},transformIndexHtml:{order:"pre",async handler(t,n){return Un(e,n)?(await xe(e)).map(i=>"javascriptCode"in i?{tag:"script",attrs:{type:"module"},children:i.javascriptCode.join(`
92
- `)}:"cssHref"in i?{tag:"link",attrs:{rel:"stylesheet",href:i.cssHref,id:i.id}}:i):void 0}},async buildStart(){if(e.viteCommand!=="serve")return;let n=(await xe(e)).flatMap(r=>{if("javascriptCode"in r)return r.optimizableImports;if("cssHref"in r)return[];throw new Error(`Unexpected loader type: ${JSON.stringify(r)}`)});e.viteConfig.optimizeDeps.include??=[],e.viteConfig.optimizeDeps.include.push(...n)},async buildEnd(){await e._updateLuminaTsPromise}});async function id(e){let n=(await Promise.all([oe,On(e)])).flat();if(!await $t(n,e.dir.src,Ge,e.viteConfig.test?.browser?.provider))return;let i=!1;function o(){i||console.warn(od),i=!0}process.on("exit",()=>{o(),clearTimeout(a)});let a=setTimeout(o,2e3)}var od=rd.greenBright(`lumina.ts has been updated (potentially because your dependencies changed). Please commit the updated file.
93
- If build failed with TypeScript errors, try running the build again to check whether new lumina.ts resolves the errors.`);import{getCwd as sd,path as L}from"@arcgis/components-build-utils";var Rt="@arcgis/lumina:compilerContextPlugin",w=class{constructor(t){this.typeScriptProgram=void 0;this.typeScriptTypeChecker=void 0;this.typeScriptWatchProgram=void 0;this._typeScriptSourceFiles=new Map;this._typeScriptReload=void 0;this._plugin={name:Rt,enforce:"pre",apply:(t,n)=>(this._inferBuildSetup(n,t.define),!0),configResolved:{order:"pre",handler:t=>{this.viteConfig=t;let n=t.build.minify!==!1;this.shouldMinify=n&&this.viteCommand!=="serve",Object.hasOwn(this,"shouldMinifyJsx")||(this.shouldMinifyJsx=this.viteCommand!=="serve"||this.isInTest);let r=L.join(t.root,L.sep),i=L.join(r,"src",L.sep),o=L.join(i,"components",L.sep),s=L.join(L.resolve(r,t.build.outDir),L.sep),a=L.join(L.relative(r,s),L.sep),p=L.join(s,"components",L.sep),l=L.join(s,this.options.build?.cdn?.namespace??Ie,L.sep),c=L.join(l,"assets",L.sep);if(this.dir={root:r,src:i,srcComponents:o,relativeDist:a,dist:s,distComponents:p,distCdn:l,distCdnAssets:c},t.root!==sd())throw new Error(`${Rt}: Vite's config.root is not equal process.cwd(). This is not officially supported by Lumina and may lead to unexpected behavior. If you need this to be supported, comment on https://devtopia.esri.com/WebGIS/arcgis-web-components/issues/2126 or contact Lumina maintainers.`);s===r?console.warn(`${Rt}: Vite output directory is set to the root directory. This can produce unexpected behavior. Please set the output directory to a subdirectory of the root directory (i.e dist/)`):a.startsWith("..")&&console.warn(`${Rt}: Vite output directory is outside the root directory. This is not officially supported by Lumina and may lead to unexpected behavior. Contact Lumina maintainers if you need this to be supported.`),this.isInStorybook=t.resolve.conditions.includes("storybook"),this.isFullApiExtraction=this.viteCommand==="build"||this.isInStorybook,this.hmrEnabled=this.viteCommand==="serve"&&!this.isInTest&&!!(t.server?.hmr??!0),ho(this,t.build.sourcemap!==!1),Un(this)&&xe(this).catch(console.error)}},configureServer:{order:"post",handler:()=>{this._serverConfigured=!0}}};this._localDefinedComponents=void 0;this._cssImports=new Map;this._cssDocs=void 0;this.isInCi=!!process.env.CI;this._declarationTextTransformers=[];this._serverConfigured=!1;this.assetsToProvide=[];this._globalCssString=void 0;this._loadersCache=void 0;this._serveOnlyDependencies=void 0;this._customElementDependencies={};this._htmlElementReferencesReplacer=void 0;this._typeDependencies=new Map;this._silencedRules=void 0;this._updateLuminaTsPromise=void 0;this.options=t;let n=t.documentation??{};this._documentationFileNames={apiJson:n.apiJsonFileName===!1?void 0:n.apiJsonFileName?Le(n.apiJsonFileName):$e.apiJson,stencilLikeDocsJson:n.stencilLikeDocsJsonFileName===!1?void 0:n.stencilLikeDocsJsonFileName?Le(n.stencilLikeDocsJsonFileName):$e.stencilLikeDocsJson,webTypes:n.jetBrains===!1?void 0:n.jetBrains?.webTypesFileName?Le(n.jetBrains.webTypesFileName):$e.webTypes,vsCodeHtml:n.vsCode===!1?void 0:n.vsCode?.htmlFileName?Le(n.vsCode.htmlFileName):$e.vsCodeHtml,vsCodeCss:n.vsCode===!1?void 0:n.vsCode?.cssFileName?Le(n.vsCode.cssFileName):$e.vsCodeCss},ut().catch(console.error),this.componentFilesPromise=be(this,L.resolve("src/components")),go(this);let r=t.build?.preamble??Zo();this.banner=es(r)}_inferBuildSetup({command:t,mode:n},r){this.isInTest=process.env.NODE_ENV==="test",n==="production"||n==="development"?this.environment=n:n==="test"||n==="benchmark"?(this.environment="development",this.isInTest=!0):(console.warn(`${Ee}: Vite is running in unknown mode "${n}". Assuming development`),this.environment="development"),this.viteCommand=t;let i=r?.__IS_IN_PUPPETEER__===!0,o=this.viteCommand==="serve"&&this.isInTest&&this.options.puppeteerTesting?.enabled===!0;this.isInPuppeteerTestBackEnd=o&&!i,this.isInPuppeteerTestFrontEnd=o&&i,n==="production"&&(this._silencedRules=this.options.linting?.silence)}getSourceFile(t,n){let r=this.typeScriptProgram?.getSourceFile(t);if(r!==void 0){if(this.isInStorybook&&this.viteCommand==="serve")return r}else{if(this.viteCommand==="build"||this.isInStorybook)throw new Error(`Unable to find the TypeScript source file for ${t}`);{let o=this._typeScriptSourceFiles.get(t);o!==void 0&&o.text===n&&(r=o)}}return n!==r?.text&&(r=Vn.createSourceFile(t,n,r?.languageVersion??this.typeScriptConfig.target??Vn.ScriptTarget.Latest,!1,Vn.ScriptKind.TSX),this.viteCommand==="serve"&&this._typeScriptSourceFiles.set(t,r)),r}provideAssets(t,n,r){if(Array.isArray(this.assetsToProvide))this.assetsToProvide.push({assets:t,transformers:n,apply:r});else if(this.viteCommand==="serve")r==="serve"&&ce(this,t,n);else throw new Error("It is too late to call provideAssets() as Vite already wrote the bundle to disk. Please call provideAssets() before Vite's writeBundle()")}logLintError(t,n,r){let i=this._silencedRules?.[t]?.includes(n.slice(this.dir.root.length))!==!0;console.error(r),i&&(process.exitCode=1)}};A([F("buildStart() in build mode or load() serve mode")],w.prototype,"typeScriptHost",2),A([F("configResolved()")],w.prototype,"shouldMinify",2),A([F("configResolved()")],w.prototype,"shouldMinifyJsx",2),A([F("configResolved()")],w.prototype,"dir",2),A([F("load()")],w.prototype,"apiJson",2),A([F("load()")],w.prototype,"apiJsonComponents",2),A([F("load()")],w.prototype,"privateApiJson",2),A([F("load() when in build mode")],w.prototype,"_componentPathMapping",2),A([F("apply()")],w.prototype,"environment",2),A([F("apply()")],w.prototype,"isInTest",2),A([F("apply()")],w.prototype,"isInPuppeteerTestBackEnd",2),A([F("apply()")],w.prototype,"isInPuppeteerTestFrontEnd",2),A([F("configResolved()")],w.prototype,"isInStorybook",2),A([F("configResolved()")],w.prototype,"hmrEnabled",2),A([F("apply()")],w.prototype,"viteCommand",2),A([F("configResolved()")],w.prototype,"isFullApiExtraction",2),A([F("configResolved()")],w.prototype,"viteConfig",2),A([F("configResolved()")],w.prototype,"server",2),A([F("transform()")],w.prototype,"_globalHydratedCssString",2),A([F("config()")],w.prototype,"componentFiles",2),A([F("configResolved()")],w.prototype,"_compilerOptionsForPrinter",2),A([F("configResolved()")],w.prototype,"_typeScriptPrinter",2);import{path as de,toSystemPathSeparators as ad}from"@arcgis/components-build-utils";import{writeFile as is}from"node:fs/promises";var ss=e=>({name:"@arcgis/lumina:addNonLazyImports",apply:()=>e.viteCommand==="build",generateBundle(t,n){Object.entries(n).forEach(([r,i])=>{let o=ee(r,"components/",e);if(o!==r&&(i.fileName=o),i.type==="chunk"){let s=de.dirname(de.join(e.dir.dist,r)),a=o===r?s:de.dirname(de.join(e.dir.dist,o));i.code=Kt(i.code,e,a,s)}})},async writeBundle(){if(e.isInStorybook)return;let t=e._customElementDependencies,n=Object.entries(t),r=new Set(n.map(([o])=>o).filter(o=>ne(o,e.dir.srcComponents)));n.forEach(([o,{referencedTagNames:s,referencedBy:a}])=>{if(r.has(o)||s.length===0)return;let p=as(t,a,r);if(p.forEach(l=>{t[l].referencedTagNames.splice(0,0,...s)}),s.length>0&&p.length===0){let l=ad(o);throw new Error(`Unable to determine what files imported ${l}. This is necessary because this file referenced other web components (${s.join(", ")}), and so the compiler needs to know what component entrypoints these imports should be added to. Please double check if you are referencing ${l} in the code dynamically in the way that Lumina cannot detect, and report this issue to the Lumina maintainers.`)}});let i=n.flatMap(([o,{referencedTagNames:s}])=>{if(!r.has(o))return[];let a=de.dirname(o),p=ee(a,e.dir.srcComponents,e),l=de.relative(e.dir.src,p),c=s.map(u=>Zi(Yi(e,u,o),l)).filter(u=>u!==`./${l}`).map(u=>u.startsWith(".")?`${u}/${os}`:u),m=`${Array.from(new Set(c),u=>`import "${u}";
94
- `).join("").trimStart()}export * from "./${Te}";`;return[is(de.join(e.dir.dist,l,os),m),is(de.join(e.dir.dist,l,pd),m)]});await Promise.all(i)}}),os="index.js",pd="index.d.ts",as=(e,t,n,r=new Set)=>t.flatMap(i=>n.has(i)?[i]:r.has(i)?[]:(r.add(i),as(e,e[i].referencedBy,n,r)));var ls=e=>({name:"@arcgis/lumina:handleDynamicAssets",configureServer(t){e.server=t,!e.isInPuppeteerTestBackEnd&&ps(e).forEach(({assets:n,transformers:r})=>ce(e,n,r))},async writeBundle(){await Promise.all(ps(e).map(async({assets:t,transformers:n})=>await It(e,t,n)))}});function ps(e){let t=[],n=e.assetsToProvide?.filter(r=>r.apply===void 0||r.apply===e.viteCommand)??[];return e.options.assets?.extra?.forEach(r=>{"type"in r?t.push(r):"assets"in r&&t.push(...r.assets)}),t.length>1&&n.push({assets:t}),e.assetsToProvide=void 0,n}import{readFile as ld}from"node:fs/promises";import{writeFileSync as cd}from"node:fs";import{path as zn}from"@arcgis/components-build-utils";var cs="@arcgis/lumina:updatePackageJson",ds=e=>({name:cs,apply:()=>e.viteCommand==="serve"&&e.environment==="development"&&!e.isInTest&&!e.isInCi,configResolved(){dd(e).catch(t=>console.error(`${cs}: Failed to update package's package.json`,t))}});async function dd(e){let t=zn.join(e.dir.root,"package.json"),n=JSON.parse(await ld(t,"utf-8")),r=md(n,e);r&&cd(t,JSON.stringify(r,null,2))}function md(e,t){let n=e?.devDependencies??{};Object.keys(e?.peerDependencies??{}).forEach(s=>{s in n||console.error(`Every peerDependency must also be a devDependency, or else some tools will get confused (like Turbo Build). Found "${s}" that is not a devDependency. Please edit your package.json`)});let r=!1,i=s=>zn.relative(t.dir.root,zn.join(t.dir.dist,s)),o=t._documentationFileNames;if(o.vsCodeCss!==void 0){let s=e["css.customData"]??[],a=i(o.vsCodeCss);s.includes(a)||(e["css.customData"]=[...s,a],r=!0)}if(o.apiJson!==void 0){let s=i(o.apiJson);e.customElements!==s&&(e.customElements=s,r=!0)}if(o.vsCodeHtml!==void 0){let s=e["html.customData"]??[],a=i(o.vsCodeHtml);s.includes(a)||(e["html.customData"]=[...s,a],r=!0)}if(o.webTypes!==void 0){let s=i(o.webTypes);e["web-types"]!==s&&(r=!0,e["web-types"]=s)}if(r)return e}import{isNotUndefined as ms}from"@arcgis/components-utils";import{path as ud}from"@arcgis/components-build-utils";import{globalPackageIdentifier as fd}from"@arcgis/api-extractor";var us=e=>({timestamp:e.apiJson.timestamp,compiler:e.apiJson.compiler,components:yd(e),typeLibrary:{}});function yd(e){let t=[];for(let n of e.apiJson.modules)for(let r of n.declarations)"customElement"in r&&t.push(gd(r,n.path));return t}function gd(e,t){let n=e.superclass?[{name:"superclass",text:JSON.stringify(e.superclass)}]:[];return{filePath:t,tag:e.tagName??"",overview:"",readme:"",usage:{},docs:e.description??"",docsTags:[...e.docsTags??[],...n],encapsulation:e.encapsulation??"shadow",dependents:[],dependencies:[],dependencyGraph:{},deprecation:typeof e.deprecated=="boolean"?e.deprecated?"":void 0:e.deprecated,props:e.members.map(hd).filter(ms),methods:e.members.map(Cd).filter(ms),events:e.events?.map(xd)??[],styles:e.cssProperties?.map(r=>({name:r.name,annotation:"prop",docs:r.description??"",mode:void 0}))??[],slots:e.slots?.map(({name:r,description:i=""})=>({name:r,docs:i}))??[],parts:e.cssParts?.map(({name:r,description:i=""})=>({name:r,docs:i}))??[],listeners:[]}}function hd(e){if(e.kind!=="field")return;let t=e,n=t.inheritedFrom?[{name:"inheritedFrom",text:JSON.stringify(t.inheritedFrom)}]:[],r=t.readonly?[{name:"readonly",text:""}]:[],i=t.docsTags?.some(o=>o.name==="required")??!1;return{name:e.name,type:t.type?.text??"unknown",complexType:t.type===void 0?void 0:{original:t.type.text,resolved:t.type.text,references:qn(t.type.references)},mutable:!0,attr:"attribute"in t&&typeof t.attribute=="string"?t.attribute:void 0,reflectToAttr:"reflects"in t&&t.reflects===!0,docs:t.description??"",docsTags:[...t.docsTags??[],...r,...n],default:t.default??void 0,deprecation:typeof t.deprecated=="boolean"?t.deprecated?"":void 0:t.deprecated,values:t.type?.values??[],optional:!i,required:i}}var qn=e=>Object.fromEntries(e?.map(t=>[t.name,{location:t.package===fd?"global":t.package===void 0?"local":"import",path:typeof t.module=="string"&&typeof t.package=="string"?ud.join(t.package,t.module):t.module??t.package,id:"notImplemented"}])??[]);function Cd(e){if(e.kind!=="method")return;let t=e,n=e.inheritedFrom?[{name:"inheritedFrom",text:JSON.stringify(e.inheritedFrom)}]:[],r=t.parameters?.map(({name:i,type:o,description:s})=>({name:i,type:o?.text??"unknown",docs:s??""}))??[];return{name:e.name,returns:{type:t.return?.type?.text??"void",docs:t.docsTags?.filter(({name:i})=>i==="return"||i==="returns").map(({text:i})=>i).join(`
95
- `)??""},complexType:{signature:t.signature??"()=>unknown",parameters:r,return:t.return?.type?.text??"void",references:qn([...t.return?.type?.references??[],...t.parameters?.flatMap(i=>i.type.references??[])??[]])},signature:`${t.name}${t.signature??"()=>unknown"}`,parameters:r,docs:t.description??"",docsTags:[...t.docsTags??[],...n],deprecation:typeof t.deprecated=="boolean"?t.deprecated?"":void 0:t.deprecated}}function xd(e){let t=e.inheritedFrom?[{name:"inheritedFrom",text:JSON.stringify(e.inheritedFrom)}]:[];return{event:e.name,detail:e.type.text,bubbles:e.bubbles??!0,complexType:{original:e.type.text,resolved:e.type.text,references:qn(e.type.references)},cancelable:e.cancelable??!0,composed:e.composed??!0,docs:e.description??"",docsTags:[...e.docsTags??[],...t],deprecation:typeof e.deprecated=="boolean"?e.deprecated?"":void 0:e.deprecated}}import{path as Ze}from"@arcgis/components-build-utils";import{writeFile as Gn}from"node:fs/promises";import{retrievePackageJson as Ad}from"@arcgis/components-build-utils";var Mt=e=>e.flatMap(t=>t.cssProperties?.map(n=>({name:n.name,description:n.description||void 0}))??[]),Jt=e=>e.flatMap(t=>t.cssParts?.map(n=>({name:`::part(${n.name})`,description:n.description||void 0}))??[]),fs=e=>e.attributes?.map(t=>({name:t.name??"",description:Re(t.description,t.deprecated)||void 0,default:t.default,value:{type:Td(t.type.values?.map(Xt))}}))??[],Td=e=>e?.length===1?e[0]:e,Re=(e="",t=!1)=>t===!1?e:`**Deprecated**${typeof t=="string"?`: ${t}`:""}. ${e}`;import{isApiMethod as bd}from"@arcgis/api-extractor";var Qe={slots:"Slots",events:"Events",cssProperties:"CSS Properties",cssParts:"CSS Parts",methods:"Methods"};function jt(e){let t=Sd(e.slots),n=vd(e.events),r=Ed(e.cssProperties),i=wd(e.cssParts),o=Pd(e.members),s=Re(e.description,e.deprecated).trim();return[...s?[`${s}
92
+ /// <reference types="@arcgis/lumina/typings" />`,pd=`
93
+ /// <reference types="@arcgis/core/interfaces" />`;import ld from"chalk";var as="@arcgis/lumina:dependencySupport",Xn=(e,t)=>e.viteCommand==="serve"&&(!e.isInTest||!e.viteConfig.test?.browser?.enabled)||e.isInStorybook&&(t===void 0||t.path==="/iframe.html"),ps=e=>({name:as,configResolved(){!e.isInTest&&!e.isInStorybook&&(e._updateLuminaTsPromise=cd(e).catch(t=>console.error(`${as}: Failed to update package's src/lumina.ts`,t)))},transformIndexHtml:{order:"pre",async handler(t,n){return Xn(e,n)?(await Se(e)).map(i=>"javascriptCode"in i?{tag:"script",attrs:{type:"module"},children:i.javascriptCode.join(`
94
+ `)}:"cssHref"in i?{tag:"link",attrs:{rel:"stylesheet",href:i.cssHref,id:i.id}}:i):void 0}},async buildStart(){if(e.viteCommand!=="serve")return;let n=(await Se(e)).flatMap(r=>{if("javascriptCode"in r)return r.optimizableImports;if("cssHref"in r)return[];throw new Error(`Unexpected loader type: ${JSON.stringify(r)}`)});e.viteConfig.optimizeDeps.include??=[],e.viteConfig.optimizeDeps.include.push(...n)},async buildEnd(){await e._updateLuminaTsPromise}});async function cd(e){let n=(await Promise.all([le,_n(e)])).flat();if(!await Bt(n,e.dir.src,Y,e.viteConfig.test?.browser?.provider))return;let i=!1;function o(){i||console.warn(dd),i=!0}process.on("exit",()=>{o(),clearTimeout(a)});let a=setTimeout(o,2e3)}var dd=ld.greenBright(`lumina.ts has been updated (potentially because your dependencies changed). Please commit the updated file.
95
+ If build failed with TypeScript errors, try running the build again to check whether new lumina.ts resolves the errors.`);import{getCwd as md,path as R}from"@arcgis/components-build-utils";var Wt="@arcgis/lumina:compilerContextPlugin",w=class{constructor(t){this.typeScriptProgram=void 0;this.typeScriptTypeChecker=void 0;this.typeScriptWatchProgram=void 0;this._typeScriptSourceFiles=new Map;this._typeScriptReload=void 0;this._plugin={name:Wt,enforce:"pre",apply:(t,n)=>(this._inferBuildSetup(n,t.define),!0),configResolved:{order:"pre",handler:t=>{this.viteConfig=t;let n=t.build.minify!==!1;this.shouldMinify=n&&this.viteCommand!=="serve",Object.hasOwn(this,"shouldMinifyJsx")||(this.shouldMinifyJsx=this.viteCommand!=="serve"||this.isInTest);let r=R.join(t.root,R.sep),i=R.join(r,"src",R.sep),o=R.join(i,"components",R.sep),s=R.join(R.resolve(r,t.build.outDir),R.sep),a=R.join(R.relative(r,s),R.sep),p=R.join(s,"components",R.sep),l=R.join(s,this.options.build?.cdn?.namespace??Re,R.sep),c=R.join(l,"assets",R.sep);if(this.dir={root:r,src:i,srcComponents:o,relativeDist:a,dist:s,distComponents:p,distCdn:l,distCdnAssets:c},t.root!==md())throw new Error(`${Wt}: Vite's config.root is not equal process.cwd(). This is not officially supported by Lumina and may lead to unexpected behavior. If you need this to be supported, comment on https://devtopia.esri.com/WebGIS/arcgis-web-components/issues/2126 or contact Lumina maintainers.`);s===r?console.warn(`${Wt}: Vite output directory is set to the root directory. This can produce unexpected behavior. Please set the output directory to a subdirectory of the root directory (i.e dist/)`):a.startsWith("..")&&console.warn(`${Wt}: Vite output directory is outside the root directory. This is not officially supported by Lumina and may lead to unexpected behavior. Contact Lumina maintainers if you need this to be supported.`),this.isInStorybook=t.resolve.conditions.includes("storybook"),this.isFullApiExtraction=this.viteCommand==="build"||this.isInStorybook,this.hmrEnabled=this.viteCommand==="serve"&&!this.isInTest&&!!(t.server?.hmr??!0),bo(this,t.build.sourcemap!==!1),Xn(this)&&Se(this).catch(console.error)}},configureServer:{order:"post",handler:()=>{this._serverConfigured=!0}}};this._localDefinedComponents=void 0;this._cssImports=new Map;this._cssDocs=void 0;this.isInCi=!!process.env.CI;this._declarationTextTransformers=[];this._serverConfigured=!1;this.assetsToProvide=[];this._globalCssString=void 0;this._loadersCache=void 0;this._serveOnlyDependencies=void 0;this._customElementDependencies={};this._htmlElementReferencesReplacer=void 0;this._typeDependencies=new Map;this._silencedRules=void 0;this._updateLuminaTsPromise=void 0;this.options=t;let n=t.documentation??{};this._documentationFileNames={apiJson:n.apiJsonFileName===!1?void 0:n.apiJsonFileName?Je(n.apiJsonFileName):je.apiJson,stencilLikeDocsJson:n.stencilLikeDocsJsonFileName===!1?void 0:n.stencilLikeDocsJsonFileName?Je(n.stencilLikeDocsJsonFileName):je.stencilLikeDocsJson,webTypes:n.jetBrains===!1?void 0:n.jetBrains?.webTypesFileName?Je(n.jetBrains.webTypesFileName):je.webTypes,vsCodeHtml:n.vsCode===!1?void 0:n.vsCode?.htmlFileName?Je(n.vsCode.htmlFileName):je.vsCodeHtml,vsCodeCss:n.vsCode===!1?void 0:n.vsCode?.cssFileName?Je(n.vsCode.cssFileName):je.vsCodeCss},gt().catch(console.error),this.componentFilesPromise=we(this,R.resolve("src/components")),To(this);let r=t.build?.preamble??is();this.banner=os(r)}_inferBuildSetup({command:t,mode:n},r){this.isInTest=process.env.NODE_ENV==="test",n==="production"||n==="development"?this.environment=n:n==="test"||n==="benchmark"?(this.environment="development",this.isInTest=!0):(console.warn(`${De}: Vite is running in unknown mode "${n}". Assuming development`),this.environment="development"),this.viteCommand=t;let i=r?.__IS_IN_PUPPETEER__===!0,o=this.viteCommand==="serve"&&this.isInTest&&this.options.puppeteerTesting?.enabled===!0;this.isInPuppeteerTestBackEnd=o&&!i,this.isInPuppeteerTestFrontEnd=o&&i,n==="production"&&(this._silencedRules=this.options.linting?.silence)}getSourceFile(t,n){let r=this.typeScriptProgram?.getSourceFile(t);if(r!==void 0){if(this.isInStorybook&&this.viteCommand==="serve")return r}else{if(this.viteCommand==="build"||this.isInStorybook)throw new Error(`Unable to find the TypeScript source file for ${t}`);{let o=this._typeScriptSourceFiles.get(t);o!==void 0&&o.text===n&&(r=o)}}return n!==r?.text&&(r=Qn.createSourceFile(t,n,r?.languageVersion??this.typeScriptConfig.target??Qn.ScriptTarget.Latest,!1,Qn.ScriptKind.TSX),this.viteCommand==="serve"&&this._typeScriptSourceFiles.set(t,r)),r}provideAssets(t,n,r){if(Array.isArray(this.assetsToProvide))this.assetsToProvide.push({assets:t,transformers:n,apply:r});else if(this.viteCommand==="serve")r==="serve"&&fe(this,t,n);else throw new Error("It is too late to call provideAssets() as Vite already wrote the bundle to disk. Please call provideAssets() before Vite's writeBundle()")}logLintError(t,n,r){let i=this._silencedRules?.[t]?.includes(n.slice(this.dir.root.length))!==!0;console.error(r),i&&(process.exitCode=1)}};D([k("buildStart() in build mode or load() serve mode")],w.prototype,"typeScriptHost",2),D([k("configResolved()")],w.prototype,"shouldMinify",2),D([k("configResolved()")],w.prototype,"shouldMinifyJsx",2),D([k("configResolved()")],w.prototype,"dir",2),D([k("load()")],w.prototype,"apiJson",2),D([k("load()")],w.prototype,"apiJsonComponents",2),D([k("load()")],w.prototype,"privateApiJson",2),D([k("load() when in build mode")],w.prototype,"_componentPathMapping",2),D([k("apply()")],w.prototype,"environment",2),D([k("apply()")],w.prototype,"isInTest",2),D([k("apply()")],w.prototype,"isInPuppeteerTestBackEnd",2),D([k("apply()")],w.prototype,"isInPuppeteerTestFrontEnd",2),D([k("configResolved()")],w.prototype,"isInStorybook",2),D([k("configResolved()")],w.prototype,"hmrEnabled",2),D([k("apply()")],w.prototype,"viteCommand",2),D([k("configResolved()")],w.prototype,"isFullApiExtraction",2),D([k("configResolved()")],w.prototype,"viteConfig",2),D([k("configResolved()")],w.prototype,"server",2),D([k("transform()")],w.prototype,"_globalHydratedCssString",2),D([k("config()")],w.prototype,"componentFiles",2),D([k("configResolved()")],w.prototype,"_compilerOptionsForPrinter",2),D([k("configResolved()")],w.prototype,"_typeScriptPrinter",2);import{path as ye,toSystemPathSeparators as ud}from"@arcgis/components-build-utils";import{writeFile as ls}from"node:fs/promises";var ds=e=>({name:"@arcgis/lumina:addNonLazyImports",apply:()=>e.viteCommand==="build",generateBundle(t,n){Object.entries(n).forEach(([r,i])=>{let o=ie(r,"components/",e);if(o!==r&&(i.fileName=o),i.type==="chunk"){let s=ye.dirname(ye.join(e.dir.dist,r)),a=o===r?s:ye.dirname(ye.join(e.dir.dist,o));i.code=Gt(i.code,e,a,s)}})},async writeBundle(){if(e.isInStorybook)return;let t=e._customElementDependencies,n=Object.entries(t),r=new Set(n.map(([o])=>o).filter(o=>se(o,e.dir.srcComponents)));n.forEach(([o,{referencedTagNames:s,referencedBy:a}])=>{if(r.has(o)||s.length===0)return;let p=ms(t,a,r);if(p.forEach(l=>{t[l].referencedTagNames.splice(0,0,...s)}),s.length>0&&p.length===0){let l=ud(o);throw new Error(`Unable to determine what files imported ${l}. This is necessary because this file referenced other web components (${s.join(", ")}), and so the compiler needs to know what component entrypoints these imports should be added to. Please double check if you are referencing ${l} in the code dynamically in the way that Lumina cannot detect, and report this issue to the Lumina maintainers.`)}});let i=n.flatMap(([o,{referencedTagNames:s}])=>{if(!r.has(o))return[];let a=ye.dirname(o),p=ie(a,e.dir.srcComponents,e),l=ye.relative(e.dir.src,p),c=s.map(u=>ro(no(e,u,o),l)).filter(u=>u!==`./${l}`).map(u=>u.startsWith(".")?`${u}/${cs}`:u),m=`${Array.from(new Set(c),u=>`import "${u}";
96
+ `).join("").trimStart()}export * from "./${Ee}";`;return[ls(ye.join(e.dir.dist,l,cs),m),ls(ye.join(e.dir.dist,l,fd),m)]});await Promise.all(i)}}),cs="index.js",fd="index.d.ts",ms=(e,t,n,r=new Set)=>t.flatMap(i=>n.has(i)?[i]:r.has(i)?[]:(r.add(i),ms(e,e[i].referencedBy,n,r)));var fs=e=>({name:"@arcgis/lumina:handleDynamicAssets",configureServer(t){e.server=t,!e.isInPuppeteerTestBackEnd&&us(e).forEach(({assets:n,transformers:r})=>fe(e,n,r))},async writeBundle(){await Promise.all(us(e).map(async({assets:t,transformers:n})=>await Jt(e,t,n)))}});function us(e){let t=[],n=e.assetsToProvide?.filter(r=>r.apply===void 0||r.apply===e.viteCommand)??[];return e.options.assets?.extra?.forEach(r=>{"type"in r?t.push(r):"assets"in r&&t.push(...r.assets)}),t.length>1&&n.push({assets:t}),e.assetsToProvide=void 0,n}import{readFile as yd}from"node:fs/promises";import{writeFileSync as gd}from"node:fs";import{path as Yn}from"@arcgis/components-build-utils";var ys="@arcgis/lumina:updatePackageJson",gs=e=>({name:ys,apply:()=>e.viteCommand==="serve"&&e.environment==="development"&&!e.isInTest&&!e.isInCi,configResolved(){hd(e).catch(t=>console.error(`${ys}: Failed to update package's package.json`,t))}});async function hd(e){let t=Yn.join(e.dir.root,"package.json"),n=JSON.parse(await yd(t,"utf-8")),r=Cd(n,e);r&&gd(t,JSON.stringify(r,null,2))}function Cd(e,t){let n=e?.devDependencies??{};Object.keys(e?.peerDependencies??{}).forEach(s=>{s in n||console.error(`Every peerDependency must also be a devDependency, or else some tools will get confused (like Turbo Build). Found "${s}" that is not a devDependency. Please edit your package.json`)});let r=!1,i=s=>Yn.relative(t.dir.root,Yn.join(t.dir.dist,s)),o=t._documentationFileNames;if(o.vsCodeCss!==void 0){let s=e["css.customData"]??[],a=i(o.vsCodeCss);s.includes(a)||(e["css.customData"]=[...s,a],r=!0)}if(o.apiJson!==void 0){let s=i(o.apiJson);e.customElements!==s&&(e.customElements=s,r=!0)}if(o.vsCodeHtml!==void 0){let s=e["html.customData"]??[],a=i(o.vsCodeHtml);s.includes(a)||(e["html.customData"]=[...s,a],r=!0)}if(o.webTypes!==void 0){let s=i(o.webTypes);e["web-types"]!==s&&(r=!0,e["web-types"]=s)}if(r)return e}import{isNotUndefined as hs}from"@arcgis/components-utils";import{path as xd}from"@arcgis/components-build-utils";import{globalPackageIdentifier as Td}from"@arcgis/api-extractor";var Cs=e=>({timestamp:e.apiJson.timestamp,compiler:e.apiJson.compiler,components:bd(e),typeLibrary:{}});function bd(e){let t=[];for(let n of e.apiJson.modules)for(let r of n.declarations)"customElement"in r&&t.push(Sd(r,n.path));return t}function Sd(e,t){let n=e.superclass?[{name:"superclass",text:JSON.stringify(e.superclass)}]:[];return{filePath:t,tag:e.tagName??"",overview:"",readme:"",usage:{},docs:e.description??"",docsTags:[...e.docsTags??[],...n],encapsulation:e.encapsulation??"shadow",dependents:[],dependencies:[],dependencyGraph:{},deprecation:typeof e.deprecated=="boolean"?e.deprecated?"":void 0:e.deprecated,props:e.members.map(vd).filter(hs),methods:e.members.map(Ed).filter(hs),events:e.events?.map(wd)??[],styles:e.cssProperties?.map(r=>({name:r.name,annotation:"prop",docs:r.description??"",mode:void 0}))??[],slots:e.slots?.map(({name:r,description:i=""})=>({name:r,docs:i}))??[],parts:e.cssParts?.map(({name:r,description:i=""})=>({name:r,docs:i}))??[],listeners:[]}}function vd(e){if(e.kind!=="field")return;let t=e,n=t.inheritedFrom?[{name:"inheritedFrom",text:JSON.stringify(t.inheritedFrom)}]:[],r=t.readonly?[{name:"readonly",text:""}]:[],i=t.docsTags?.some(o=>o.name==="required")??!1;return{name:e.name,type:t.type?.text??"unknown",complexType:t.type===void 0?void 0:{original:t.type.text,resolved:t.type.text,references:Zn(t.type.references)},mutable:!0,attr:"attribute"in t&&typeof t.attribute=="string"?t.attribute:void 0,reflectToAttr:"reflects"in t&&t.reflects===!0,docs:t.description??"",docsTags:[...t.docsTags??[],...r,...n],default:t.default??void 0,deprecation:typeof t.deprecated=="boolean"?t.deprecated?"":void 0:t.deprecated,values:t.type?.values??[],optional:!i,required:i}}var Zn=e=>Object.fromEntries(e?.map(t=>[t.name,{location:t.package===Td?"global":t.package===void 0?"local":"import",path:typeof t.module=="string"&&typeof t.package=="string"?xd.join(t.package,t.module):t.module??t.package,id:"notImplemented"}])??[]);function Ed(e){if(e.kind!=="method")return;let t=e,n=e.inheritedFrom?[{name:"inheritedFrom",text:JSON.stringify(e.inheritedFrom)}]:[],r=t.parameters?.map(({name:i,type:o,description:s})=>({name:i,type:o?.text??"unknown",docs:s??""}))??[];return{name:e.name,returns:{type:t.return?.type?.text??"void",docs:t.docsTags?.filter(({name:i})=>i==="return"||i==="returns").map(({text:i})=>i).join(`
97
+ `)??""},complexType:{signature:t.signature??"()=>unknown",parameters:r,return:t.return?.type?.text??"void",references:Zn([...t.return?.type?.references??[],...t.parameters?.flatMap(i=>i.type.references??[])??[]])},signature:`${t.name}${t.signature??"()=>unknown"}`,parameters:r,docs:t.description??"",docsTags:[...t.docsTags??[],...n],deprecation:typeof t.deprecated=="boolean"?t.deprecated?"":void 0:t.deprecated}}function wd(e){let t=e.inheritedFrom?[{name:"inheritedFrom",text:JSON.stringify(e.inheritedFrom)}]:[];return{event:e.name,detail:e.type.text,bubbles:e.bubbles??!0,complexType:{original:e.type.text,resolved:e.type.text,references:Zn(e.type.references)},cancelable:e.cancelable??!0,composed:e.composed??!0,docs:e.description??"",docsTags:[...e.docsTags??[],...t],deprecation:typeof e.deprecated=="boolean"?e.deprecated?"":void 0:e.deprecated}}import{path as nt}from"@arcgis/components-build-utils";import{writeFile as er}from"node:fs/promises";import{retrievePackageJson as Ld}from"@arcgis/components-build-utils";var Ht=e=>e.flatMap(t=>t.cssProperties?.map(n=>({name:n.name,description:n.description||void 0}))??[]),Kt=e=>e.flatMap(t=>t.cssParts?.map(n=>({name:`::part(${n.name})`,description:n.description||void 0}))??[]),xs=e=>e.attributes?.map(t=>({name:t.name??"",description:Oe(t.description,t.deprecated)||void 0,default:t.default,value:{type:Pd(t.type.values?.map(nn))}}))??[],Pd=e=>e?.length===1?e[0]:e,Oe=(e="",t=!1)=>t===!1?e:`**Deprecated**${typeof t=="string"?`: ${t}`:""}. ${e}`;import{isApiMethod as Ad}from"@arcgis/api-extractor";var et={slots:"Slots",events:"Events",cssProperties:"CSS Properties",cssParts:"CSS Parts",methods:"Methods"};function _t(e){let t=Dd(e.slots),n=Fd(e.events),r=kd(e.cssProperties),i=Id(e.cssParts),o=Nd(e.members),s=Oe(e.description,e.deprecated).trim();return[...s?[`${s}
96
98
  --`]:[],n,o,t,r,i].filter(Boolean).join(`
97
99
 
98
- `)}var Ye=(e,t)=>t===void 0||t.length===0?"":`### ${e}
100
+ `)}var tt=(e,t)=>t===void 0||t.length===0?"":`### ${e}
99
101
  ${t.join(`
100
- `)}`,Sd=e=>Ye(Qe.slots,e?.map(t=>`- ${t.name?`**${t.name}**`:"_default_"} - ${t.description}`)),vd=e=>Ye(Qe.events,e?.filter(t=>t.name!==null&&t.name!==void 0).map(t=>`- **${t.name}**${t.description?` - ${t.description}`:""}`)),Ed=(e=[])=>Ye(Qe.cssProperties,e?.map(t=>`- **${t.name}** - ${t.description} ${t.default?`_(default: ${t.default})_}`:""}`)),wd=e=>Ye(Qe.cssParts,e?.map(t=>`- **${t.name}** - ${t.description}`)),Pd=e=>Ye(Qe.methods,e.filter(bd).map(t=>[`- \`${t.name}${t.signature}\``,Re(t.description,t.deprecated)].filter(Boolean).join(" - ")));import{isApiProperty as Dd}from"@arcgis/api-extractor";function gs(e,t){let n=Fd(e),r=Mt(e),i=Jt(e),o=Ad();return{$schema:"https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",name:o.name,version:o.version,"description-markup":"markdown","default-icon":t.defaultIcon,contributions:{html:{elements:n},css:{properties:r,"pseudo-elements":i}}}}var Fd=e=>e.map(t=>({name:t.tagName,description:jt(t),"doc-url":t.demos?.[0]?.url,attributes:fs(t),slots:t.slots?.map(n=>({name:n.name,description:n.description})),events:ys(t),js:{properties:kd(t),events:ys(t)}})),kd=e=>e.members.filter(Dd).map(t=>({name:t.name,description:t.description,type:t.type?.text}))??[],ys=e=>e.events?.map(t=>({name:t.name,type:t.type?.text,description:t.description}))??[];var hs=e=>e.map(t=>({name:t.tagName,description:jt(t),attributes:Id(t),references:t.demos?.map(n=>({name:n.description,url:n.url}))??[]})),Id=e=>e.attributes?.map(t=>({name:t.name,description:Re(t.description,t.deprecated)||void 0,values:Nd(t)}))??[],Nd=e=>e.type.values?.map(t=>t.value??"").filter(Boolean).map(t=>({name:t}))??[];var Cs=e=>({$schema:"https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/main/docs/customData.schema.json",version:1.1,tags:hs(e)}),xs=e=>({$schema:"https://raw.githubusercontent.com/microsoft/vscode-css-languageservice/main/docs/customData.schema.json",version:1.1,properties:Mt(e),pseudoElements:Jt(e)});import{isNotUndefined as Ld}from"@arcgis/components-utils";var $d="@arcgis/lumina:generateDocs";function Ts(e){return e._documentationFileNames.stencilLikeDocsJson!==void 0&&e.provideAssets([{type:"dynamic",source:()=>JSON.stringify(us(e),null,2),destination:Ze.join("../..",e._documentationFileNames.stencilLikeDocsJson)}]),e._documentationFileNames.apiJson!==void 0&&e.provideAssets([{type:"dynamic",source:()=>JSON.stringify(e.apiJson,null,2),destination:Ze.join("../..",e._documentationFileNames.apiJson)}]),{name:$d,async writeBundle(){if(e.isInStorybook)return;let{jetBrains:t}=e.options.documentation??{},n=e._documentationFileNames,r=n.vsCodeHtml===void 0?void 0:Ze.join(e.dir.dist,n.vsCodeHtml),i=n.vsCodeCss===void 0?void 0:Ze.join(e.dir.dist,n.vsCodeCss),o=n.webTypes===void 0?void 0:Ze.join(e.dir.dist,n.webTypes),s=[r,i,o].filter(Ld);if(s.length===0)return;await _n(s);let a=[];if(r!==void 0){let p=JSON.stringify(Cs(e.apiJsonComponents),null,2);a.push(Gn(r,p))}if(i!==void 0){let p=JSON.stringify(xs(e.apiJsonComponents),null,2);a.push(Gn(i,p))}if(o!==void 0){let p=gs(e.apiJsonComponents,typeof t=="object"?t:{});a.push(Gn(o,JSON.stringify(p,null,2)))}await Promise.all(a)}}}var bs=e=>`import type { h, EventHandler } from "@arcgis/lumina";
102
+ `)}`,Dd=e=>tt(et.slots,e?.map(t=>`- ${t.name?`**${t.name}**`:"_default_"} - ${t.description}`)),Fd=e=>tt(et.events,e?.filter(t=>t.name!==null&&t.name!==void 0).map(t=>`- **${t.name}**${t.description?` - ${t.description}`:""}`)),kd=(e=[])=>tt(et.cssProperties,e?.map(t=>`- **${t.name}** - ${t.description} ${t.default?`_(default: ${t.default})_}`:""}`)),Id=e=>tt(et.cssParts,e?.map(t=>`- **${t.name}** - ${t.description}`)),Nd=e=>tt(et.methods,e.filter(Ad).map(t=>[`- \`${t.name}${t.signature}\``,Oe(t.description,t.deprecated)].filter(Boolean).join(" - ")));import{isApiProperty as $d}from"@arcgis/api-extractor";function bs(e,t){let n=Rd(e),r=Ht(e),i=Kt(e),o=Ld();return{$schema:"https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",name:o.name,version:o.version,"description-markup":"markdown","default-icon":t.defaultIcon,contributions:{html:{elements:n},css:{properties:r,"pseudo-elements":i}}}}var Rd=e=>e.map(t=>({name:t.tagName,description:_t(t),"doc-url":t.demos?.[0]?.url,attributes:xs(t),slots:t.slots?.map(n=>({name:n.name,description:n.description})),events:Ts(t),js:{properties:Md(t),events:Ts(t)}})),Md=e=>e.members.filter($d).map(t=>({name:t.name,description:t.description,type:t.type?.text}))??[],Ts=e=>e.events?.map(t=>({name:t.name,type:t.type?.text,description:t.description}))??[];var Ss=e=>e.map(t=>({name:t.tagName,description:_t(t),attributes:Jd(t),references:t.demos?.map(n=>({name:n.description,url:n.url}))??[]})),Jd=e=>e.attributes?.map(t=>({name:t.name,description:Oe(t.description,t.deprecated)||void 0,values:jd(t)}))??[],jd=e=>e.type.values?.map(t=>t.value??"").filter(Boolean).map(t=>({name:t}))??[];var vs=e=>({$schema:"https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/main/docs/customData.schema.json",version:1.1,tags:Ss(e)}),Es=e=>({$schema:"https://raw.githubusercontent.com/microsoft/vscode-css-languageservice/main/docs/customData.schema.json",version:1.1,properties:Ht(e),pseudoElements:Kt(e)});import{isNotUndefined as Od}from"@arcgis/components-utils";var Bd="@arcgis/lumina:generateDocs";function ws(e){return e._documentationFileNames.stencilLikeDocsJson!==void 0&&e.provideAssets([{type:"dynamic",source:()=>JSON.stringify(Cs(e),null,2),destination:nt.join("../..",e._documentationFileNames.stencilLikeDocsJson)}]),e._documentationFileNames.apiJson!==void 0&&e.provideAssets([{type:"dynamic",source:()=>JSON.stringify(e.apiJson,null,2),destination:nt.join("../..",e._documentationFileNames.apiJson)}]),{name:Bd,async writeBundle(){if(e.isInStorybook)return;let{jetBrains:t}=e.options.documentation??{},n=e._documentationFileNames,r=n.vsCodeHtml===void 0?void 0:nt.join(e.dir.dist,n.vsCodeHtml),i=n.vsCodeCss===void 0?void 0:nt.join(e.dir.dist,n.vsCodeCss),o=n.webTypes===void 0?void 0:nt.join(e.dir.dist,n.webTypes),s=[r,i,o].filter(Od);if(s.length===0)return;await Gn(s);let a=[];if(r!==void 0){let p=JSON.stringify(vs(e.apiJsonComponents),null,2);a.push(er(r,p))}if(i!==void 0){let p=JSON.stringify(Es(e.apiJsonComponents),null,2);a.push(er(i,p))}if(o!==void 0){let p=bs(e.apiJsonComponents,typeof t=="object"?t:{});a.push(er(o,JSON.stringify(p,null,2)))}await Promise.all(a)}}}var Ps=e=>`import type { h, EventHandler } from "@arcgis/lumina";
101
103
 
102
- ${e.map(Rd).join(`
104
+ ${e.map(Wd).join(`
103
105
 
104
106
  `)}
105
107
 
@@ -110,15 +112,15 @@ ${e.map(({tagName:t,pascalCaseName:n})=>` "${t}": Lumina${n};`).join(`
110
112
  `)}
111
113
  }
112
114
  }
113
- }`;function Rd({name:e,pascalCaseName:t,members:n,events:r=[]}){let[i,o]=pe(e,n);return[`interface Lumina${t} extends ${i}h.JSX.HTMLAttributes<HTML${t}Element> {
114
- `,r.map(s=>` ${z(`on${s.name}`)}?: EventHandler<HTML${t}Element["${s.name}"]>;
115
- `).join(""),"}",o].join("")}function Ss(e){let t=` interface IntrinsicElements extends PreactJsx.IntrinsicElements {
115
+ }`;function Wd({name:e,pascalCaseName:t,members:n,events:r=[]}){let[i,o]=me(e,n);return[`interface Lumina${t} extends ${i}h.JSX.HTMLAttributes<HTML${t}Element> {
116
+ `,r.map(s=>` ${Q(`on${s.name}`)}?: EventHandler<HTML${t}Element["${s.name}"]>;
117
+ `).join(""),"}",o].join("")}function As(e){let t=` interface IntrinsicElements extends PreactJsx.IntrinsicElements {
116
118
  ${e.map(({pascalCaseName:n,tagName:r})=>` "${r}": Preact${n};`).join(`
117
119
  `)}
118
120
  }`;return`import { JSX as PreactJsx } from "preact";
119
121
  import type { EventHandler } from "@arcgis/lumina";
120
122
 
121
- ${e.map(Md).join(`
123
+ ${e.map(Hd).join(`
122
124
 
123
125
  `)}
124
126
 
@@ -129,13 +131,13 @@ ${t}
129
131
  namespace h.JSX {
130
132
  ${t}
131
133
  }
132
- }`}function Md({name:e,pascalCaseName:t,members:n,events:r=[]}){let[i,o]=pe(e,n);return[`interface Preact${t} extends ${i}PreactJsx.HTMLAttributes<HTML${t}Element> {
133
- `,r.map(s=>` ${z(`on${s.name}`)}?: EventHandler<HTML${t}Element["${s.name}"]>;
134
- `).join(""),"}",o].join("")}function vs(e){let t=e.map(({pascalCaseName:n,tagName:r})=>` "${r}": React${n};`).join(`
134
+ }`}function Hd({name:e,pascalCaseName:t,members:n,events:r=[]}){let[i,o]=me(e,n);return[`interface Preact${t} extends ${i}PreactJsx.HTMLAttributes<HTML${t}Element> {
135
+ `,r.map(s=>` ${Q(`on${s.name}`)}?: EventHandler<HTML${t}Element["${s.name}"]>;
136
+ `).join(""),"}",o].join("")}function Ds(e){let t=e.map(({pascalCaseName:n,tagName:r})=>` "${r}": React${n};`).join(`
135
137
  `);return`import type { HTMLProps } from 'react';
136
138
  import type { EventHandler } from "@arcgis/lumina";
137
139
 
138
- ${e.map(Jd).join(`
140
+ ${e.map(Kd).join(`
139
141
 
140
142
  `)}
141
143
 
@@ -159,12 +161,12 @@ declare module "react/jsx-dev-runtime" {
159
161
  ${t}
160
162
  }
161
163
  }
162
- }`}function Jd({name:e,pascalCaseName:t,members:n,events:r=[]}){let[i,o]=pe(e,n);return[`interface React${t} extends ${i}HTMLProps<HTML${t}Element> {
163
- `,r.map(s=>` ${z(`on${s.name}`)}?: EventHandler<HTML${t}Element["${s.name}"]>;
164
- `).join(""),"}",o].join("")}var Es=e=>`import { JSXBase as StencilJsx } from "@stencil/core/internal";
164
+ }`}function Kd({name:e,pascalCaseName:t,members:n,events:r=[]}){let[i,o]=me(e,n);return[`interface React${t} extends ${i}HTMLProps<HTML${t}Element> {
165
+ `,r.map(s=>` ${Q(`on${s.name}`)}?: EventHandler<HTML${t}Element["${s.name}"]>;
166
+ `).join(""),"}",o].join("")}var Fs=e=>`import { JSXBase as StencilJsx } from "@stencil/core/internal";
165
167
  import type { EventHandler } from "@arcgis/lumina";
166
168
 
167
- ${e.map(jd).join(`
169
+ ${e.map(_d).join(`
168
170
 
169
171
  `)}
170
172
 
@@ -181,16 +183,16 @@ declare module "@stencil/core/internal/stencil-public-runtime" {
181
183
  export namespace h.JSX {
182
184
  interface IntrinsicElements extends ExposedElements {}
183
185
  }
184
- }`;function jd({name:e,pascalCaseName:t,members:n,events:r=[]}){let[i,o]=pe(e,n);return[`interface Stencil${t} extends ${i}StencilJsx.HTMLAttributes<HTML${t}Element> {
185
- `,r.map(s=>` ${z(`on${s.name[0].toUpperCase()}${s.name.slice(1)}`)}?: EventHandler<HTML${t}Element["${s.name}"]>;
186
- `).join(""),"}",o].join("")}import{mkdir as Hd,writeFile as Ps}from"node:fs/promises";var ws=(e,t,n)=>[n,t,Od(e),Bd(e)].join(`
186
+ }`;function _d({name:e,pascalCaseName:t,members:n,events:r=[]}){let[i,o]=me(e,n);return[`interface Stencil${t} extends ${i}StencilJsx.HTMLAttributes<HTML${t}Element> {
187
+ `,r.map(s=>` ${Q(`on${s.name[0].toUpperCase()}${s.name.slice(1)}`)}?: EventHandler<HTML${t}Element["${s.name}"]>;
188
+ `).join(""),"}",o].join("")}import{mkdir as qd,writeFile as Is}from"node:fs/promises";var ks=(e,t,n)=>[n,t,Ud(e),Vd(e)].join(`
187
189
 
188
- `),Od=e=>e.filter(t=>(t.events?.length??0)>0).map(({pascalCaseName:t})=>`export interface ${t}CustomEvent<T> extends CustomEvent<T> {
190
+ `),Ud=e=>e.filter(t=>(t.events?.length??0)>0).map(({pascalCaseName:t})=>`export interface ${t}CustomEvent<T> extends CustomEvent<T> {
189
191
  detail: T;
190
192
  target: HTML${t}Element;
191
193
  currentTarget: HTML${t}Element;
192
194
  }`).join(`
193
- `),Bd=e=>`export { ToEvents, TargetedEvent } from "@arcgis/lumina";
195
+ `),Vd=e=>`export { ToEvents, TargetedEvent } from "@arcgis/lumina";
194
196
 
195
197
  declare global {
196
198
  interface HTMLElementTagNameMap {
@@ -198,11 +200,11 @@ ${e.map(({pascalCaseName:t,tagName:n})=>` "${n}": HTML${t}Element;`).join(`
198
200
  `)}
199
201
  }
200
202
 
201
- ${e.map(Wd).join(`
203
+ ${e.map(zd).join(`
202
204
  `).split(`
203
205
  `).map(t=>t.length>0?` ${t}`:t).join(`
204
206
  `)}
205
- }`;function Wd({name:e,pascalCaseName:t,events:n=[]}){let r=n.length>0,i=`${t}CustomEvent`,o=`HTML${t}Element`;return[r?`interface ${o}EventMap {
207
+ }`;function zd({name:e,pascalCaseName:t,events:n=[]}){let r=n.length>0,i=`${t}CustomEvent`,o=`HTML${t}Element`;return[r?`interface ${o}EventMap {
206
208
  ${n.map(s=>` "${s.name}": ${e}["${s.name}"]["detail"];`).join(`
207
209
  `)}
208
210
  }
@@ -214,16 +216,16 @@ ${r?` addEventListener<K extends keyof ${o}EventMap>(type: K, listener: (this:
214
216
  removeEventListener<K extends keyof ${o}EventMap>(type: K, listener: (this: ${o}, ev: ${i}<${o}EventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
215
217
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
216
218
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;`:""}
217
- }`].join("")}import{path as Ot}from"@arcgis/components-build-utils";function As(e){let t;return{name:"@arcgis/lumina:generateFrameworkTypes",generateBundle(){if(e.isInStorybook)return;t=Bi(e);let n=Ot.join(e.dir.dist,"index.d.ts");e._declarationTextTransformers.push(r=>{let{filePath:i,content:o}=r;return i===n?{filePath:i,content:ws(e.apiJsonComponents,o,t)}:r})},async writeBundle(){if(e.isInStorybook)return;let n=Ot.join(e.dir.dist,"types");await Hd(n);let r=`/// <reference types="../index.d.ts" />
218
- ${t.replaceAll("./","../")}`,i=Object.entries({react:vs(e.apiJsonComponents),preact:Ss(e.apiJsonComponents),stencil:Es(e.apiJsonComponents),lumina:bs(e.apiJsonComponents)}).map(async([o,s])=>await Ps(Ot.join(n,`${o}.d.ts`),`${r}
219
- ${s}`));i.push(Ps(Ot.join(n,"components.d.ts"),'export * from "./stencil";')),await Promise.all(i)}}}import{mkdir as Kd,writeFile as _d}from"node:fs/promises";import{retrievePackageJson as Ud}from"@arcgis/components-build-utils";import{path as Ds}from"@arcgis/components-build-utils";import{capitalize as Vd}from"@arcgis/components-utils";function Fs(e){return{name:"@arcgis/lumina:buildWrappers",apply:()=>e.viteCommand==="build"&&!!e.options.build?.wrappers?.length,async writeBundle(){e.isInStorybook||await Promise.all(e.options.build?.wrappers?.map(async t=>{t.type==="react18"&&await qd(e,t)})??[])}}}var zd=`
219
+ }`].join("")}import{path as Ut}from"@arcgis/components-build-utils";function Ns(e){let t;return{name:"@arcgis/lumina:generateFrameworkTypes",generateBundle(){if(e.isInStorybook)return;t=_i(e);let n=Ut.join(e.dir.dist,"index.d.ts");e._declarationTextTransformers.push(r=>{let{filePath:i,content:o}=r;return i===n?{filePath:i,content:ks(e.apiJsonComponents,o,t)}:r})},async writeBundle(){if(e.isInStorybook)return;let n=Ut.join(e.dir.dist,"types");await qd(n);let r=`/// <reference types="../index.d.ts" />
220
+ ${t.replaceAll("./","../")}`,i=Object.entries({react:Ds(e.apiJsonComponents),preact:As(e.apiJsonComponents),stencil:Fs(e.apiJsonComponents),lumina:Ps(e.apiJsonComponents)}).map(async([o,s])=>await Is(Ut.join(n,`${o}.d.ts`),`${r}
221
+ ${s}`));i.push(Is(Ut.join(n,"components.d.ts"),'export * from "./stencil";')),await Promise.all(i)}}}import{mkdir as Gd,writeFile as Xd}from"node:fs/promises";import{retrievePackageJson as Qd}from"@arcgis/components-build-utils";import{path as Ls}from"@arcgis/components-build-utils";import{capitalize as Yd}from"@arcgis/components-utils";function $s(e){return{name:"@arcgis/lumina:buildWrappers",apply:()=>e.viteCommand==="build"&&!!e.options.build?.wrappers?.length,async writeBundle(){e.isInStorybook||await Promise.all(e.options.build?.wrappers?.map(async t=>{t.type==="react18"&&await em(e,t)})??[])}}}var Zd=`
220
222
  import React from "react";
221
223
  import { createComponent } from "@lit/react";
222
224
  import type { EventName } from "@lit/react";
223
225
  import { makeReactWrapperFactory, getReactWrapperOptions } from "@arcgis/lumina";
224
226
 
225
227
  const createWrapper = /*@__PURE__*/ makeReactWrapperFactory(React, createComponent) as typeof createComponent;
226
- `;async function qd(e,t){let{name:n}=Ud(),r=[];for(let s of e.apiJson.modules)for(let a of s.declarations)"customElement"in a&&r.push(Gd(a));let i=[`/// <reference types="${n}" preserve="true" />`,zd,...r].join(""),o=Ds.resolve(t.proxiesFile);await Kd(Ds.dirname(o),{recursive:!0}),await _d(o,i)}function Gd(e){let t=e.events?.map(n=>` ${z(`on${Vd(n.name)}`)}: "${n.name}" as EventName<HTML${e.pascalCaseName}Element["${n.name}"]>,`).join(`
228
+ `;async function em(e,t){let{name:n}=Qd(),r=[];for(let s of e.apiJson.modules)for(let a of s.declarations)"customElement"in a&&r.push(tm(a));let i=[`/// <reference types="${n}" preserve="true" />`,Zd,...r].join(""),o=Ls.resolve(t.proxiesFile);await Gd(Ls.dirname(o),{recursive:!0}),await Xd(o,i)}function tm(e){let t=e.events?.map(n=>` ${Q(`on${Yd(n.name)}`)}: "${n.name}" as EventName<HTML${e.pascalCaseName}Element["${n.name}"]>,`).join(`
227
229
  `);return`
228
230
  export const ${e.pascalCaseName} = /*@__PURE__*/ createWrapper(
229
231
  getReactWrapperOptions(
@@ -233,4 +235,4 @@ ${t}
233
235
  `:""}}
234
236
  )
235
237
  );
236
- `}function Qd(e={}){let t=new w(e),n=[t._plugin,Qo(t),Yo(t),ds(t),br(t),Lo(t),As(t),Ts(t),uo(t),Vr(t),Ko(t),ls(t),ss(t),rs(t),Yn(t),So(t),Vo(t),Fs(t),Xo(t)].filter(Xd);return n.context=t,n}var eT={initializeComponentDependencies:ut,updateLuminaTs:$t,propertyToAttributeMappings:W,findDeclaredComponents:et,nativeEvents:xt,svgElements:Ae,mathMlElements:De,alwaysAttributes:ht,nativeAlwaysAttributes:Ct,htmlAlwaysAttributes:_e,isPropertyEscapeNeeded:Ce};export{He as LuminaApiExtractor,eT as exportsForCodemod,G as inferCdnUrl,Qd as useLumina};
238
+ `}function rm(e={}){let t=new w(e),n=[t._plugin,ns(t),rs(t),gs(t),wr(t),jo(t),Ns(t),ws(t),ho(t),Xr(t),qo(t),fs(t),ds(t),ps(t),nr(t),wo(t),Qo(t),$s(t),ts(t)].filter(nm);return n.context=t,n}var aT={initializeComponentDependencies:gt,updateLuminaTs:Bt,propertyToAttributeMappings:_,findDeclaredComponents:rt,nativeEvents:St,svgElements:Ie,mathMlElements:Ne,alwaysAttributes:Tt,nativeAlwaysAttributes:bt,htmlAlwaysAttributes:ze,isPropertyEscapeNeeded:be};export{Ue as LuminaApiExtractor,aT as exportsForCodemod,ee as inferCdnUrl,rm as useLumina};