@arcgis/lumina-compiler 4.32.0-next.1 → 4.32.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +75 -75
  2. package/package.json +15 -15
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
1
- import{a as _t,b as Me,c as E,d as Q,e as c}from"./chunk-BQ4U6HQL.js";import{a as $}from"./chunk-JFKSI6I7.js";import{nodeExternals as Os}from"rollup-plugin-node-externals";function rr(e){let{externalize:t=[],bundleIn:n=[],...r}=e.options?.build?.dependencies??{},i={...Os({...r,include:[/^lit[-/]/u,/^@lit[-/]/u,/^lit$/u,...Array.isArray(t)?t.map(nr):[]],exclude:Array.isArray(n)?n.map(nr):[]}),configResolved(){e.isInStorybook&&(i.resolveId=void 0)}};return i}var nr=e=>e?typeof e=="string"?new RegExp(`^${e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&")}`,"u"):e:void 0;import ba from"vite-plugin-dts";var ke="customElement.js",or="customElement.d.ts",Ve=new WeakMap,ir="playwright";function sr(e,t){let r=e.sourcePath.split(c.sep).slice(2),o=t.componentPathMapping;return r.forEach((i,s)=>{s===r.length-1?o[""]??=e.tagName:(o[i]??={},o=o[i])}),o[""]}function ie(e,t,n){if(!e.startsWith(t))return e;let r=e.slice(t.length),o=Js(r,n);return`${t}${o}`}function Js(e,t){let n=e.split(c.sep);n.push(".");let r=t.componentPathMapping,o=0;for(let i of n)if(r[i]===void 0){let s=r[""];return typeof s=="string"?[s,...n.slice(o,-1)].join(c.sep):e}else r=r[i],o+=1;return e}var ar=({filePath:e,content:t},n)=>{let r=e.startsWith(n.dir.distComponents)?ie(pr(e),n.dir.distComponents,n):e,o=c.dirname(e);return{filePath:r,content:Xt(t,n,e===r?o:c.dirname(r),o)}};function pr(e,t=".d.ts"){let r=(t===""?e:e.slice(0,-t.length)).split(c.sep);return r.at(Bs)!==r.at(Ws)?e:c.join(r.slice(0,-1).join(c.sep),t===""?ke:or)}var Bs=-1,Ws=-2,Ks=/["']\.\.?\/[^'"]+/gu,Xt=(e,t,n,r)=>e.replaceAll(Ks,o=>{let i=o.slice(1);if(!i.startsWith("./")&&!i.startsWith("../"))return o;let s=c.join(r,i),a=!i.endsWith(".js")&&!i.split("/").at(-1).includes(".")?pr(s,""):s,p=ie(a,t.dir.distComponents,t);if(n===r&&s===p)return o;let l=Y(n,p);return`${o[0]}${l}`}),Y=(e,t)=>{let n=c.relative(e,t);return n.startsWith(".")?n:`.${c.sep}${n}`};import{mappedFind as Hs}from"@arcgis/components-utils";import Z from"typescript";function Te(e,t){let n=Us(t.getJsDocTags()),r=Z.displayPartsToString(t.getDocumentationComment(e))||void 0,o=n.at(-1);if(o?.text){let i=o?.text?.indexOf(`
1
+ import{a as _t,b as ke,c as E,d as Q,e as c}from"./chunk-BQ4U6HQL.js";import{a as $}from"./chunk-JFKSI6I7.js";import{nodeExternals as Js}from"rollup-plugin-node-externals";function or(e){let{externalize:t=[],bundleIn:n=[],...r}=e.options?.build?.dependencies??{},i={...Js({...r,include:[/^lit[-/]/u,/^@lit[-/]/u,/^lit$/u,...Array.isArray(t)?t.map(rr):[]],exclude:Array.isArray(n)?n.map(rr):[]}),configResolved(){e.isInStorybook&&(i.resolveId=void 0)}};return i}var rr=e=>e?typeof e=="string"?new RegExp(`^${e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&")}`,"u"):e:void 0;import va from"vite-plugin-dts";var Fe="customElement.js",ir="customElement.d.ts",Ve=new WeakMap,sr="playwright";function ar(e,t){let r=e.sourcePath.split(c.sep).slice(2),o=t.componentPathMapping;return r.forEach((i,s)=>{s===r.length-1?o[""]??=e.tagName:(o[i]??={},o=o[i])}),o[""]}function ae(e,t,n){if(!e.startsWith(t))return e;let r=e.slice(t.length),o=Bs(r,n);return`${t}${o}`}function Bs(e,t){let n=e.split(c.sep);n.push(".");let r=t.componentPathMapping,o=0;for(let i of n)if(r[i]===void 0){let s=r[""];return typeof s=="string"?[s,...n.slice(o,-1)].join(c.sep):e}else r=r[i],o+=1;return e}var pr=({filePath:e,content:t},n)=>{let r=e.startsWith(n.dir.distComponents)?ae(lr(e),n.dir.distComponents,n):e,o=c.dirname(e);return{filePath:r,content:Xt(t,n,e===r?o:c.dirname(r),o)}};function lr(e,t=".d.ts"){let r=(t===""?e:e.slice(0,-t.length)).split(c.sep);return r.at(Ws)!==r.at(Ks)?e:c.join(r.slice(0,-1).join(c.sep),t===""?Fe:ir)}var Ws=-1,Ks=-2,Hs=/["']\.\.?\/[^'"]+/gu,Xt=(e,t,n,r)=>e.replaceAll(Hs,o=>{let i=o.slice(1);if(!i.startsWith("./")&&!i.startsWith("../"))return o;let s=c.join(r,i),a=!i.endsWith(".js")&&!i.split("/").at(-1).includes(".")?lr(s,""):s,p=ae(a,t.dir.distComponents,t);if(n===r&&s===p)return o;let l=Y(n,p);return`${o[0]}${l}`}),Y=(e,t)=>{let n=c.relative(e,t);return n.startsWith(".")?n:`.${c.sep}${n}`};import{mappedFind as Us}from"@arcgis/components-utils";import Z from"typescript";function be(e,t){let n=Vs(t.getJsDocTags()),r=Z.displayPartsToString(t.getDocumentationComment(e))||void 0,o=n.at(-1);if(o?.text){let i=o?.text?.indexOf(`
2
2
 
3
- `);i!==-1&&(r=`${r}${o.text.slice(i)}`,o.text=o.text.slice(0,i))}return{docsTags:n,description:r}}var ze="notPublic",ee="internal",Us=e=>e.map(t=>({name:t.name.toLowerCase()===ze.toLowerCase()?ee:t.name,text:t.text?.map(n=>n.text).join("")})),pt=({modifiers:e=[]},t)=>Hs(e,n=>Z.isDecorator(n)&&Z.isCallExpression(n.expression)&&Z.isIdentifier(n.expression.expression)&&n.expression.expression.text===t?n.expression:void 0),Qt=e=>e!==void 0&&(Z.isLiteralExpression(e)||e.kind===Z.SyntaxKind.TrueKeyword||e.kind===Z.SyntaxKind.FalseKeyword||Z.isPrefixUnaryExpression(e)&&Z.isLiteralExpression(e.operand));function lr(e){let t=e.split("|").filter(n=>{let r=n.trim();return r!=="undefined"&&r!=="null"}).join("|").trim();return t.length===0?e:t}var mr=e=>(t,n)=>[Vs,qs,Gs,zs,ar,_s,Xs,Qs,...e.options.types?.declarationTextTransformers??[],...e.declarationTextTransformers].reduce((r,o)=>r===!1?!1:o(r,e),{filePath:t,content:n}),Vs=(e,t)=>t.isInStorybook?!1:e,zs=(e,t)=>e.filePath.endsWith(dr)&&e.filePath===c.join(t.dir.dist,dr)?!1:e,dr="lumina.d.ts",qs=(e,t)=>{let n=t.dir.dist,r=`${n}src/`;return e.filePath.startsWith(r)?{...e,filePath:`${n}${e.filePath.slice(r.length)}`}:!1},Yt=e=>e.includes("__test")||e.includes(".e2e.")||e.includes(".spec.")||e.includes(".test."),Gs=e=>Yt(e.filePath)?!1:e,_s=e=>({filePath:e.filePath,content:e.content.replaceAll(`* @${ze}`,`* @${ee}`)}),Xs=e=>e.content.includes("__esri.")?{filePath:e.filePath,content:`/// <reference types="@arcgis/core/interfaces.d.ts" />
4
- ${e.content}`}:e,cr=new WeakMap,Qs=(e,t)=>{let n=cr.get(t);return n||(n={regex:new RegExp(`(${t.manifestComponents.map(r=>r.name).join("|")})\\[['"\`]el['"\`]\\]`,"ug"),replacements:Object.fromEntries(t.manifestComponents.map(r=>[r.name,r.typeName]))},cr.set(t,n)),{filePath:e.filePath,content:e.content.replace(n.regex,(r,o)=>n.replacements[o])}};import Ys from"typescript";import fr from"typescript";var U=(e,t=!1)=>e.declarations?.filter(n=>n.kind==="class"&&(!t||"tagName"in n&&"customElement"in n))??[];function ur(e,t){return e===void 0?void 0:U(t).find(({name:r})=>r===e)}function Fe(e,t){let n=lt(t);return e.members?.find(r=>r.name===n)}function lt(e){if(!(!fr.isIdentifier(e.name)&&!fr.isStringLiteralLike(e.name)))return e.name.text}function yr(e,t,n){let r=c.relative(t,e);return n.modules.find(o=>o.path===r)}function dt(e,t,n,r){let o={compiler:e,fileManifest:e.isInPuppeteerTestBackEnd?void 0:yr(n.fileName,e.dir.root,e.manifest),transformation:t},i=n.statements,s=n.statements;return Object.defineProperty(n,"statements",{get:()=>s,configurable:!0}),r.forEach(a=>{s=a(n,o)}),Object.defineProperty(n,"statements",{value:i}),Zs(n,s)}var Zs=(e,t)=>Ys.factory.updateSourceFile(e,t,e.isDeclarationFile,e.referencedFiles,e.typeReferenceDirectives,e.hasNoDefaultLib,e.libReferenceDirectives),xr=e=>`${gr}${" ".repeat(e.length-gr.length-hr.length)}${hr}`,gr="/*",hr="*/";import se from"typescript";var Cr=e=>e.statements.map(ra),ea="@arcgis/lumina",ta="LitElement",na="PublicLitElement";function ra(e){if(se.isImportDeclaration(e)&&se.isStringLiteral(e.moduleSpecifier)&&e.moduleSpecifier.text===ea&&e.importClause?.namedBindings&&se.isNamedImports(e.importClause.namedBindings)){let t=e.importClause.namedBindings.elements.findIndex(r=>(r.propertyName??r.name).text===ta);if(t===-1)return e;let n=e.importClause.namedBindings.elements[t];return se.factory.updateImportDeclaration(e,e.modifiers,se.factory.updateImportClause(e.importClause,e.importClause.isTypeOnly,e.importClause.name,se.factory.updateNamedImports(e.importClause.namedBindings,[...e.importClause.namedBindings.elements.slice(0,t),se.factory.updateImportSpecifier(n,n.isTypeOnly,se.factory.createIdentifier(na),n.name),...e.importClause.namedBindings.elements.slice(t+1)])),e.moduleSpecifier,e.attributes)}else return e}import j from"typescript";import{isNotUndefined as ma}from"@arcgis/components-utils";import J from"typescript";import oa from"typescript";var Tr=5,br=1,vr=1,Sr=3,Er=4,ct=oa;ia(ct.createSourceMapGenerator);sa(ct.createTextWriter);aa(ct.getNewLineCharacter);var be=ct;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!==Tr)throw new Error(`ts.createSourceMapGenerator() signature changed. Expected ${Tr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function sa(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!==br)throw new Error(`ts.createTextWriter() signature changed. Expected ${br} arguments. Lumina needs to be updated to support the new TypeScript version`)}function aa(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!==vr)throw new Error(`ts.getNewLineCharacter() signature changed. Expected ${vr} argument. Lumina needs to be updated to support the new TypeScript version`)}function pa(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!==Sr)throw new Error(`ts.Printer.writeFile() signature changed. Expected ${Sr} 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.Printer.writeNode() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Er)throw new Error(`ts.Printer.writeNode() signature changed. Expected ${Er} arguments. Lumina needs to be updated to support the new TypeScript version`)}function De(e){let t=Pr.get(e);return t===void 0&&(t=da(e),Pr.set(e,t)),t}function da(e){let t=be.createPrinter(e);return pa(t.writeFile),la(t.writeNode),t}var Pr=new WeakMap;var Zt="_setterTypes";function wr(e,t,n){let r=De(n.typeScriptConfig.options);return J.factory.createPropertyDeclaration([J.factory.createModifier(J.SyntaxKind.ReadonlyKeyword)],J.factory.createIdentifier(Zt),void 0,J.factory.createTypeLiteralNode(e.map(o=>{let[i,s]=ca(o.name,o.type,r,t);return J.factory.createPropertySignature(void 0,i,o.isRequired?J.factory.createToken(J.SyntaxKind.QuestionToken):void 0,s)})),void 0)}function ca(e,t,n,r){let o=n.printNode(J.EmitHint.Unspecified,e,r),i=n.printNode(J.EmitHint.Unspecified,t,r),s=`declare class A { ${o}: ${i} }`,l=J.createSourceFile("a.d.ts",s,J.ScriptTarget.Latest,!1,J.ScriptKind.TS).statements[0].members[0];return[l.name,l.type]}var kr=(e,t)=>t.fileManifest===void 0?e.statements:e.statements.map(n=>fa(n,e,t));function fa(e,t,n){if(j.isClassDeclaration(e)){let r=e,o=r.name?.text,i=n.fileManifest.declarations?.find(p=>p.name===o&&p.tagName);if(i===void 0)return e;let s=[],a=r.members.map(p=>ua(p,i,s)).filter(ma);return s.length>0&&a.push(wr(s,t,n.compiler)),j.factory.updateClassDeclaration(r,r.modifiers,r.name,r.typeParameters,r.heritageClauses,a)}else return e}function ua(e,t,n){if(j.isPropertyDeclaration(e)){if(en(e))return;let r=tn(e),o=nn(t,r);return o===void 0?ya(t,r)===void 0?void 0:j.factory.updatePropertyDeclaration(e,Mr(e.modifiers),e.name,void 0,ga(e.type),e.initializer):o.readonly?j.factory.updatePropertyDeclaration(e,Mr(e.modifiers),e.name,void 0,e.type,e.initializer):e}else if(j.isGetAccessor(e)||j.isSetAccessor(e)){if(en(e))return;let r=nn(t,tn(e));if(r===void 0)return;if(j.isSetAccessor(e)){if(r.readonly)return;let o=r.getterType!==void 0,s=e.parameters[0].type;o&&s&&n.push({name:e.name,type:s,isRequired:r.docsTags?.some(a=>a.name==="required")??!1})}return e}else if(j.isMethodDeclaration(e))return en(e)||nn(t,tn(e))===void 0?void 0:e}var en=e=>e.modifiers?.some(t=>t.kind===j.SyntaxKind.StaticKeyword)??!1,tn=e=>j.isIdentifier(e.name)||j.isStringLiteralLike(e.name)?e.name.text:void 0,nn=(e,t)=>t===void 0?void 0:e.members?.find(n=>n.name===t),ya=(e,t)=>t===void 0?void 0:e.events?.find(n=>n.name===t);function Mr(e){return e?.some(n=>n.kind===j.SyntaxKind.ReadonlyKeyword)?e:[j.factory.createModifier(j.SyntaxKind.ReadonlyKeyword),...e??[]]}function ga(e){if(e!==void 0)return j.isImportTypeNode(e)&&e.qualifier&&j.isIdentifier(e.qualifier)&&e.qualifier.escapedText==="EventEmitter"?j.factory.createTypeReferenceNode("CustomEvent",e.typeArguments):e}var ha=[Cr,kr];function Fr(e){let t,n=xa(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 o=e.typeScriptProgram.getSourceFile(r);if(!o)throw new Error(`Could not find source file: ${E(r)}`);let i=[];return e.typeScriptProgram.emit(o,(p,l)=>{i.push({path:p,content:l})},void 0,!0,{afterDeclarations:[n]}),i}}}var xa=e=>t=>n=>dt(e,t,n,[...ha,...e.options.types?.declarationAstTransformers??[]]);var Dr=e=>new Proxy(e,{get:Ca,set:Ta});function Ca(e,t,n){if(t in e)return Reflect.get(e,t,n);throw new Error(`Requested unexpected property ${String(t)}`)}function Ta(e,t){throw new Error(`Unexpectedly tried to set the ${String(t)} property.`)}function $r(e){let t=e.options.types??{},n=!1,r={...t?.compilerOptions,rootDir:"."},o=ba({...t,compilerOptions:r,tsconfigPath:e.typeScriptConfigPath,strictOutput:!0,afterDiagnostic(i){let s=i.length>0,a=e.viteCommand==="build";if(s&&a)throw new Error("TypeScript errors reported. See error messages above");return t?.afterDiagnostic?.(i)},beforeWriteFile:mr(e),resolvers:[{name:"@arcgis/lumina:getHostReference",supports:()=>!n,transform({program:i,host:s}){return n=!0,e.typeScriptProgram=i,e.typeScriptTypeChecker=i.getTypeChecker(),e.typeScriptHost=s,t?.typeScriptInstanceCreated?.(i,s),[]}},...t?.resolvers??[],Fr(e)]});return{...o,apply:()=>e.viteCommand==="build",async configResolved(i){r.sourceMap=i.build.sourcemap!==!1;let s=o.configResolved;if(typeof s!="function")throw new Error("Expected configResolved to be a function");await s.call(this,i)},async buildStart(i){let s=o.buildStart;if(typeof s!="function")throw new Error("Expected buildStart to be a function");let a=o.transform;if(typeof a!="function")throw new Error("Expected transform to be a function");if(await s.call(this,i),await a.call(Dr({}),"",c.join(e.dir.src,"__fakeFile.ts")),!n)throw new Error("Expected resolver to get called")}}}import{isNotUndefined as rc}from"@arcgis/components-utils";var va=/\r\n|[\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/gu,Sa=new Map(Object.entries({" ":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":`
5
- `,"\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085","\r\n":"\\r\\n"}));function Nr(e){return`\\u${`0000${e.toString(Ea).toUpperCase()}`.slice(-Pa)}`}var Ea=16,Pa=4;function wa(e,t,n){if(e.charCodeAt(0)===Fa){let r=n.charCodeAt(t+e.length);return r>=Da&&r<=$a?"\\x00":"\\0"}return Sa.get(e)||Nr(e.charCodeAt(0))}var Ma=e=>e.replace(va,wa),Ar=/[^\u0000-\u007F]/g;function ka(e){return e=Ma(e),Ar.test(e)?e.replace(Ar,t=>Nr(t.charCodeAt(0))):e}var Lr=ka,Fa=0,Da=48,$a=57,Aa=/\$\{/gu,Ir=e=>e.replace(Aa,"\\${");function jr(e){if(e.length===0)return"";let t=e[0];if(e.includes(`
3
+ `);i!==-1&&(r=`${r}${o.text.slice(i)}`,o.text=o.text.slice(0,i))}return{docsTags:n,description:r}}var ze="notPublic",ee="internal",Vs=e=>e.map(t=>({name:t.name.toLowerCase()===ze.toLowerCase()?ee:t.name,text:t.text?.map(n=>n.text).join("")})),lt=({modifiers:e=[]},t)=>Us(e,n=>Z.isDecorator(n)&&Z.isCallExpression(n.expression)&&Z.isIdentifier(n.expression.expression)&&n.expression.expression.text===t?n.expression:void 0),Qt=e=>e!==void 0&&(Z.isLiteralExpression(e)||e.kind===Z.SyntaxKind.TrueKeyword||e.kind===Z.SyntaxKind.FalseKeyword||Z.isPrefixUnaryExpression(e)&&Z.isLiteralExpression(e.operand));function dr(e){let t=e.split("|").filter(n=>{let r=n.trim();return r!=="undefined"&&r!=="null"}).join("|").trim();return t.length===0?e:t}var fr=e=>(t,n)=>[zs,Gs,_s,qs,pr,Xs,Qs,Ys,...e.options.types?.declarationTextTransformers??[],...e.declarationTextTransformers].reduce((r,o)=>r===!1?!1:o(r,e),{filePath:t,content:n}),zs=(e,t)=>t.isInStorybook?!1:e,qs=(e,t)=>e.filePath.endsWith(cr)&&e.filePath===c.join(t.dir.dist,cr)?!1:e,cr="lumina.d.ts",Gs=(e,t)=>{let n=t.dir.dist,r=`${n}src/`;return e.filePath.startsWith(r)?{...e,filePath:`${n}${e.filePath.slice(r.length)}`}:!1},Yt=e=>e.includes("__test")||e.includes(".e2e.")||e.includes(".spec.")||e.includes(".test."),_s=e=>Yt(e.filePath)?!1:e,Xs=e=>({filePath:e.filePath,content:e.content.replaceAll(`* @${ze}`,`* @${ee}`)}),Qs=e=>e.content.includes("__esri.")?{filePath:e.filePath,content:`/// <reference types="@arcgis/core/interfaces.d.ts" />
4
+ ${e.content}`}:e,mr=new WeakMap,Ys=(e,t)=>{let n=mr.get(t);return n||(n={regex:new RegExp(`(${t.manifestComponents.map(r=>r.name).join("|")})\\[['"\`]el['"\`]\\]`,"ug"),replacements:Object.fromEntries(t.manifestComponents.map(r=>[r.name,r.typeName]))},mr.set(t,n)),{filePath:e.filePath,content:e.content.replace(n.regex,(r,o)=>n.replacements[o])}};import Zs from"typescript";import ur from"typescript";var V=(e,t=!1)=>e.declarations?.filter(n=>n.kind==="class"&&(!t||"tagName"in n&&"customElement"in n))??[];function yr(e,t){return e===void 0?void 0:V(t).find(({name:r})=>r===e)}function De(e,t){let n=dt(t);return e.members?.find(r=>r.name===n)}function dt(e){if(!(!ur.isIdentifier(e.name)&&!ur.isStringLiteralLike(e.name)))return e.name.text}function gr(e,t,n){let r=c.relative(t,e);return n.modules.find(o=>o.path===r)}function ct(e,t,n,r){let o={compiler:e,fileManifest:e.isInPuppeteerTestBackEnd?void 0:gr(n.fileName,e.dir.root,e.manifest),transformation:t},i=n.statements,s=n.statements;return Object.defineProperty(n,"statements",{get:()=>s,configurable:!0}),r.forEach(a=>{s=a(n,o)}),Object.defineProperty(n,"statements",{value:i}),ea(n,s)}var ea=(e,t)=>Zs.factory.updateSourceFile(e,t,e.isDeclarationFile,e.referencedFiles,e.typeReferenceDirectives,e.hasNoDefaultLib,e.libReferenceDirectives),Cr=e=>`${hr}${" ".repeat(e.length-hr.length-xr.length)}${xr}`,hr="/*",xr="*/";import pe from"typescript";var Tr=e=>e.statements.map(oa),ta="@arcgis/lumina",na="LitElement",ra="PublicLitElement";function oa(e){if(pe.isImportDeclaration(e)&&pe.isStringLiteral(e.moduleSpecifier)&&e.moduleSpecifier.text===ta&&e.importClause?.namedBindings&&pe.isNamedImports(e.importClause.namedBindings)){let t=e.importClause.namedBindings.elements.findIndex(r=>(r.propertyName??r.name).text===na);if(t===-1)return e;let n=e.importClause.namedBindings.elements[t];return pe.factory.updateImportDeclaration(e,e.modifiers,pe.factory.updateImportClause(e.importClause,e.importClause.isTypeOnly,e.importClause.name,pe.factory.updateNamedImports(e.importClause.namedBindings,[...e.importClause.namedBindings.elements.slice(0,t),pe.factory.updateImportSpecifier(n,n.isTypeOnly,pe.factory.createIdentifier(ra),n.name),...e.importClause.namedBindings.elements.slice(t+1)])),e.moduleSpecifier,e.attributes)}else return e}import j from"typescript";import{isNotUndefined as fa}from"@arcgis/components-utils";import J from"typescript";import ia from"typescript";var br=5,vr=1,Sr=1,Er=3,Pr=4,mt=ia;sa(mt.createSourceMapGenerator);aa(mt.createTextWriter);pa(mt.getNewLineCharacter);var ve=mt;function sa(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!==br)throw new Error(`ts.createSourceMapGenerator() signature changed. Expected ${br} arguments. Lumina needs to be updated to support the new TypeScript version`)}function aa(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!==vr)throw new Error(`ts.createTextWriter() signature changed. Expected ${vr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function pa(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!==Sr)throw new Error(`ts.getNewLineCharacter() signature changed. Expected ${Sr} argument. 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.Printer.writeFile() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Er)throw new Error(`ts.Printer.writeFile() signature changed. Expected ${Er} arguments. Lumina needs to be updated to support the new TypeScript version`)}function da(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!==Pr)throw new Error(`ts.Printer.writeNode() signature changed. Expected ${Pr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function $e(e){let t=wr.get(e);return t===void 0&&(t=ca(e),wr.set(e,t)),t}function ca(e){let t=ve.createPrinter(e);return la(t.writeFile),da(t.writeNode),t}var wr=new WeakMap;var Zt="_setterTypes";function Mr(e,t,n){let r=$e(n.typeScriptConfig.options);return J.factory.createPropertyDeclaration([J.factory.createModifier(J.SyntaxKind.ReadonlyKeyword)],J.factory.createIdentifier(Zt),void 0,J.factory.createTypeLiteralNode(e.map(o=>{let[i,s]=ma(o.name,o.type,r,t);return J.factory.createPropertySignature(void 0,i,o.isRequired?J.factory.createToken(J.SyntaxKind.QuestionToken):void 0,s)})),void 0)}function ma(e,t,n,r){let o=n.printNode(J.EmitHint.Unspecified,e,r),i=n.printNode(J.EmitHint.Unspecified,t,r),s=`declare class A { ${o}: ${i} }`,l=J.createSourceFile("a.d.ts",s,J.ScriptTarget.Latest,!1,J.ScriptKind.TS).statements[0].members[0];return[l.name,l.type]}var Fr=(e,t)=>t.fileManifest===void 0?e.statements:e.statements.map(n=>ua(n,e,t));function ua(e,t,n){if(j.isClassDeclaration(e)){let r=e,o=r.name?.text,i=n.fileManifest.declarations?.find(p=>p.name===o&&p.tagName);if(i===void 0)return e;let s=[],a=r.members.map(p=>ya(p,i,s)).filter(fa);return s.length>0&&a.push(Mr(s,t,n.compiler)),j.factory.updateClassDeclaration(r,r.modifiers,r.name,r.typeParameters,r.heritageClauses,a)}else return e}function ya(e,t,n){if(j.isPropertyDeclaration(e)){if(en(e))return;let r=tn(e),o=nn(t,r);return o===void 0?ga(t,r)===void 0?void 0:j.factory.updatePropertyDeclaration(e,kr(e.modifiers),e.name,void 0,ha(e.type),e.initializer):o.readonly?j.factory.updatePropertyDeclaration(e,kr(e.modifiers),e.name,void 0,e.type,e.initializer):e}else if(j.isGetAccessor(e)||j.isSetAccessor(e)){if(en(e))return;let r=nn(t,tn(e));if(r===void 0)return;if(j.isSetAccessor(e)){if(r.readonly)return;let o=r.getterType!==void 0,s=e.parameters[0].type;o&&s&&n.push({name:e.name,type:s,isRequired:r.docsTags?.some(a=>a.name==="required")??!1})}return e}else if(j.isMethodDeclaration(e))return en(e)||nn(t,tn(e))===void 0?void 0:e}var en=e=>e.modifiers?.some(t=>t.kind===j.SyntaxKind.StaticKeyword)??!1,tn=e=>j.isIdentifier(e.name)||j.isStringLiteralLike(e.name)?e.name.text:void 0,nn=(e,t)=>t===void 0?void 0:e.members?.find(n=>n.name===t),ga=(e,t)=>t===void 0?void 0:e.events?.find(n=>n.name===t);function kr(e){return e?.some(n=>n.kind===j.SyntaxKind.ReadonlyKeyword)?e:[j.factory.createModifier(j.SyntaxKind.ReadonlyKeyword),...e??[]]}function ha(e){if(e!==void 0)return j.isImportTypeNode(e)&&e.qualifier&&j.isIdentifier(e.qualifier)&&e.qualifier.escapedText==="EventEmitter"?j.factory.createTypeReferenceNode("CustomEvent",e.typeArguments):e}var xa=[Tr,Fr];function Dr(e){let t,n=Ca(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 o=e.typeScriptProgram.getSourceFile(r);if(!o)throw new Error(`Could not find source file: ${E(r)}`);let i=[];return e.typeScriptProgram.emit(o,(p,l)=>{i.push({path:p,content:l})},void 0,!0,{afterDeclarations:[n]}),i}}}var Ca=e=>t=>n=>ct(e,t,n,[...xa,...e.options.types?.declarationAstTransformers??[]]);var $r=e=>new Proxy(e,{get:Ta,set:ba});function Ta(e,t,n){if(t in e)return Reflect.get(e,t,n);throw new Error(`Requested unexpected property ${String(t)}`)}function ba(e,t){throw new Error(`Unexpectedly tried to set the ${String(t)} property.`)}function Ar(e){let t=e.options.types??{},n=!1,r={...t?.compilerOptions,rootDir:"."},o=va({...t,compilerOptions:r,tsconfigPath:e.typeScriptConfigPath,strictOutput:!0,afterDiagnostic(i){let s=i.length>0,a=e.viteCommand==="build";if(s&&a)throw new Error("TypeScript errors reported. See error messages above");return t?.afterDiagnostic?.(i)},beforeWriteFile:fr(e),resolvers:[{name:"@arcgis/lumina:getHostReference",supports:()=>!n,transform({program:i,host:s}){return n=!0,e.typeScriptProgram=i,e.typeScriptTypeChecker=i.getTypeChecker(),e.typeScriptHost=s,t?.typeScriptInstanceCreated?.(i,s),[]}},...t?.resolvers??[],Dr(e)]});return{...o,apply:()=>e.viteCommand==="build",async configResolved(i){r.sourceMap=i.build.sourcemap!==!1;let s=o.configResolved;if(typeof s!="function")throw new Error("Expected configResolved to be a function");await s.call(this,i)},async buildStart(i){let s=o.buildStart;if(typeof s!="function")throw new Error("Expected buildStart to be a function");let a=o.transform;if(typeof a!="function")throw new Error("Expected transform to be a function");if(await s.call(this,i),await a.call($r({}),"",c.join(e.dir.src,"__fakeFile.ts")),!n)throw new Error("Expected resolver to get called")}}}import{isNotUndefined as oc}from"@arcgis/components-utils";var Sa=/\r\n|[\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/gu,Ea=new Map(Object.entries({" ":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":`
5
+ `,"\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085","\r\n":"\\r\\n"}));function Lr(e){return`\\u${`0000${e.toString(Pa).toUpperCase()}`.slice(-wa)}`}var Pa=16,wa=4;function Ma(e,t,n){if(e.charCodeAt(0)===Da){let r=n.charCodeAt(t+e.length);return r>=$a&&r<=Aa?"\\x00":"\\0"}return Ea.get(e)||Lr(e.charCodeAt(0))}var ka=e=>e.replace(Sa,Ma),Nr=/[^\u0000-\u007F]/g;function Fa(e){return e=ka(e),Nr.test(e)?e.replace(Nr,t=>Lr(t.charCodeAt(0))):e}var Ir=Fa,Da=0,$a=48,Aa=57,Na=/\$\{/gu,jr=e=>e.replace(Na,"\\${");function Rr(e){if(e.length===0)return"";let t=e[0];if(e.includes(`
6
6
  `)){let o=t===`
7
7
  `,i=e.lastIndexOf(`
8
- `),a=e.slice(i+1).trim().length===0,p=o?e.trimStart():e;return a?p.trimEnd():p}return e.trim().length===0?t:e}var ve=e=>Ir(Lr(e)),Rr=e=>!Na.test(e),Na=/^[^\s"'=<>`]+$/u,La=/[&<>]/gu,Ia={"&":"&amp;","<":"&lt;",">":"&gt;"},mt=e=>e.replace(La,t=>Ia[t]);import N from"typescript";import{existsSync as ja,readFileSync as em}from"node:fs";import{access as Ra,constants as Oa,mkdir as nm,writeFile as rm}from"node:fs/promises";import{dirname as Or,join as Jr,resolve as Br,sep as ft}from"node:path";import{fileURLToPath as Wr}from"node:url";function ut(e,t=process.cwd()){let r=(t.startsWith("file:///")?Or(Wr(t)):Br(t)).split(ft);for(;r.length>2;){let o=Jr(...ft==="/"?["/"]:[],...r,e);if(ja(o))return o;r.pop()}}async function Kr(e,t=process.cwd()){let r=(t.startsWith("file:///")?Or(Wr(t)):Br(t)).split(ft);for(;r.length>2;){let o=Jr(...ft==="/"?["/"]:[],...r,e);if(await B(o))return o;r.pop()}}var B=async e=>await Ra(e,Oa.F_OK).then(()=>!0).catch(()=>!1);import{readFileSync as Ja}from"node:fs";import{readFile as Ba}from"node:fs/promises";var qe={},Hr={},Wa;function A(e){let t=e?c.resolve(e,"package.json"):Wa??=ut("package.json");return qe[t]??=JSON.parse(Ja(t,"utf-8")),qe[t]}async function ae(e=Q()){let t=c.resolve(e,"package.json");if(t in qe)return qe[t];Hr[t]??=Ka(t);let n=await Hr[t];return qe[t]??=n,n}var Ka=async e=>JSON.parse(await Ba(e,"utf-8")),yt={},Ur={};async function pe(e,t){if(e in yt)return yt[e];Ur[e]??=Kr(c.join("node_modules",e,"package.json"),t).then(r=>{if(r===void 0)throw new Error(`@arcgis/lumina-compiler: Unable to resolve package.json location for "${e}" package. Current working directory: ${process.cwd()}`);return c.dirname(r)});let n=await Ur[e];return yt[e]??=n,yt[e]}import{isNotUndefined as Ha}from"@arcgis/components-utils";import{readdir as Ua}from"node:fs/promises";var Vr=async e=>Object.fromEntries((await e.componentFilesPromise).map(t=>[rn(t),t])),rn=(e,t=c.resolve("src"))=>c.relative(t,c.join(e,"..",ke.slice(0,-3))),Ge=async(e,t,n=t)=>await Ua(n,{recursive:!0}).then(r=>{let o=r.map(i=>{if(!i.endsWith(".tsx"))return;let s=c.join(n,i);return le(s,t)?s:void 0}).filter(Ha);return e.componentFiles=o,o}).catch(r=>{if(String(r).includes("ENOENT"))return console.log("Unable to find the src/components/ directory"),[];throw r});function le(e,t){if(!e.startsWith(t)||!e.endsWith(".tsx"))return!1;let[n,r]=e.slice(0,-4).split(c.sep).slice(Va);return n===r}var Va=-2;function zr(e){return e==="boolean"?{type:"boolean",raw:e}:Number.isNaN(Number.parseFloat(e))?(e.startsWith('"')||e.startsWith("'"))&&e.startsWith(e.at(-1))?{value:e.slice(1,-1),type:"string",raw:e}:{type:e,raw:e}:{value:e,type:"number",raw:e}}var sn="@arcgis/lumina:addPropMetadata";function ht(e){let t=N.isUnionTypeNode(e)?e.types.map(gt):[gt(e)],n=new Set(t),r=n.delete("true"),o=n.delete("false");(r||o)&&n.add("boolean");let i=Array.from(n).sort();return i.length>1&&(i=i.map(s=>s.includes("=>")?`(${s})`:s)),i.map(zr)}var xt=e=>e.map(t=>t.raw).join(" | ");function gt(e){za.writeNode(N.EmitHint.Unspecified,e,void 0,on);let t=on.getText();return on.clear(),t}var za=De({removeComments:!0}),on=be.createTextWriter(`
9
- `),an=N.TypeFormatFlags.NoTruncation|N.TypeFormatFlags.WriteArrayAsGenericType|N.TypeFormatFlags.SuppressAnyReturnType|N.TypeFormatFlags.MultilineObjectLiterals|N.TypeFormatFlags.InTypeAlias,qa=an&N.TypeFormatFlags.NodeBuilderFlagsMask,Ga=qa|N.NodeBuilderFlags.IgnoreErrors|N.NodeBuilderFlags.NoTruncation;function _a(e,t,n){let r=new Map;_e(t,r,n);let o=t.flags&N.TypeFlags.Union?t.types.every(qr):qr(t),i=e.typeToTypeNode(t,void 0,Ga&(o?~N.TypeFormatFlags.MultilineObjectLiterals:-1));return r.forEach(Xa),i===void 0?(console.error("Failed to convert type to type node."),N.factory.createTypeReferenceNode(N.factory.createIdentifier("unknown"),void 0)):i}var qr=e=>e.flags&N.TypeFlags.Object?e.getProperties().length===1:!!(e.flags&N.TypeFlags.PossiblyFalsy);function Se(e,t,n,r){let o=[],i=new Set;function s(p,l){if(!p.symbol)return;let d=l?p.aliasTypeArguments?.[0]?.symbol?.escapedName??"":p.symbol.name;if(d.startsWith("_")){let y=p.symbol.declarations?.[0];if(y?.kind===N.SyntaxKind.FunctionType){let f=y;if(f.parameters.forEach(g=>{if(!g.type)return;let C=e.getTypeFromTypeNode(g.type);_e(C,new Map,s,!0)}),f.type){let g=e.getTypeFromTypeNode(f.type);_e(g,new Map,s,!0)}}return}if(i.has(d))return;let m=l?{name:d,package:void 0,module:"index.js"}:Qa(p.symbol,d,n,r);o.push(m),i.add(d)}return{typeNode:_a(e,t,s),references:o}}function _e(e,t,n,r=!1){if(typeof e!="object"||e===null||!("checker"in e))return;let o=e;if(t.has(o))return;let i=(o.flags&N.TypeFlags.Object)!==0&&(o.aliasTypeArguments?.[0]?.objectFlags??0&N.ObjectFlags.Class)!==0&&o.aliasSymbol?.escapedName==="ToElement";if(n?.(o,i),i||r)t.set(o,{origin:void 0,aliasSymbol:void 0,aliasTypeArguments:void 0});else{let s=o.origin,a=o.aliasSymbol,p=o.aliasTypeArguments;s&&(o.origin=void 0),a&&(o.aliasSymbol=void 0),p&&(o.aliasTypeArguments=void 0),t.set(o,{origin:s,aliasSymbol:a,aliasTypeArguments:p})}Object.entries(o).forEach(([s,a])=>{(s.includes("type")||s.includes("Type")||s==="constraint")&&s!=="resolvedBaseConstructorType"&&s!=="resolvedBaseTypes"&&s!=="typeParameters"&&s!=="typeParameter"&&(Array.isArray(a)?a.forEach(p=>_e(p,t,n,r)):_e(a,t,n,r))})}function Xa(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 Qa(e,t,n,r){let o=e?.declarations?.map(a=>a.getSourceFile())??[];if(o.length===0){if(t==="Array")return{name:"Array",package:"typescript",module:"lib/lib.es5.d.ts"};console.error(`${sn} Unable to resolve the declaration file name for type ${t} in ${E(n.fileName)}`)}if(o.length===0)return{name:t,package:pn,module:void 0};let{packageName:i,moduleName:s}=Ya(o[0].fileName,r);return i?{name:t,package:i,module:s.length>0?s:void 0}:{name:t,package:void 0,module:s}}var pn="global:";function Ya(e,t){let n=e.split("/node_modules/");if(n.length>1){let s=n.at(-1);return ln(s)}let o=e.split("/dist/");if(o.length>1){let s=o.slice(0,-1).join("/"),p=A(s).name,l=o.at(-1);return{packageName:p,moduleName:l}}return{packageName:void 0,moduleName:c.relative(t.root,ep(Za(e,t)))}}function Za(e,t){return le(e,t.srcComponents)?c.join(t.dist,rn(e,t.src)):e.startsWith(t.src)?c.join(t.dist,e.slice(t.src.length)):e}var ep=e=>e.endsWith(".js")?e:`${e.endsWith(".ts")?e.slice(0,-3):e.endsWith(".tsx")?e.slice(0,-4):e}.d.ts`;function ln(e){let t=e.split("/"),r=e[0].startsWith("@")?2:1,o=t.slice(0,r).join("/"),i=t.slice(r).join("/");return{packageName:o,moduleName:i}}var Gr=e=>e.includes("/node_modules/")||e.includes("/dist/");var tp=["css","less","sass","scss","styl","stylus","pcss","postcss","sss"],_r=new RegExp(`\\.(${tp.join("|")})(\\?|$)`,"u"),np=/^import ["'](?<specifier>[^"']+)["'];$/gmu,rp=()=>"throwError",Xr="@arcgis/lumina:loadLitCss",de="?layered",Xe="?global",Qr=e=>({name:Xr,enforce:"pre",configResolved(t){let n=t.plugins.find(({name:o})=>o==="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(i,s){let a=s.endsWith(de);a&&(s=s.slice(0,-de.length));let p=s.endsWith(Xe);if(p&&(s=s.slice(0,-Xe.length)),!_r.test(s)||s.includes("?"))return await r.call(this,i,s);let l=`${s}?inline`,d=await r.call(this,i,l),{code:m,...y}=typeof d=="string"?{code:d}:d??{};return typeof m!="string"||!m.startsWith(Yr)||!m.endsWith(Zr)?(console.warn(`${Xr} Expected vite:css-post to return a JS module with a string literal for ${E(s)}.`),console.log(d),d):p?(e.globalCssString=eo(m),{code:"",map:{mappings:""}}):{...y,code:ap(m,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 o=0,i=Gr(n);return{code:t.replaceAll(np,(a,p)=>{if(!_r.test(p)||p.includes("?"))return a;if(i){if((e.options.css?.sideEffectImportHandling??rp)(p,n)==="drop")return xr(a);{let m=E(c.relative(Q(),n));throw new Error(`Found a side-effect CSS import \`${a}\` 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&&lp(n,e)){let l=`storybookCss$${o}`;return o+=1,["import ",l," from ",a.slice(6),`
10
- `,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, ",l,".styleSheet];"].join("")}else{if(p.endsWith(Xe))return a;{let l=E(c.relative(Q(),n));throw new Error(`Found a side-effect CSS import \`${a}\` in "${l}". 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`)}}}),map:null}}}),Yr='export default "',Zr='"',op="import { css } from '@lit/reactive-element/css-tag.js';\nexport const styles = css`",ip="`;\nexport default styles;",sp=`
8
+ `),a=e.slice(i+1).trim().length===0,p=o?e.trimStart():e;return a?p.trimEnd():p}return e.trim().length===0?t:e}var Se=e=>jr(Ir(e)),Or=e=>!La.test(e),La=/^[^\s"'=<>`]+$/u,Ia=/[&<>]/gu,ja={"&":"&amp;","<":"&lt;",">":"&gt;"},ft=e=>e.replace(Ia,t=>ja[t]);import N from"typescript";import{existsSync as Ra,readFileSync as tm}from"node:fs";import{access as Oa,constants as Ja,mkdir as rm,writeFile as om}from"node:fs/promises";import{dirname as Jr,join as Br,resolve as Wr,sep as ut}from"node:path";import{fileURLToPath as Kr}from"node:url";function yt(e,t=process.cwd()){let r=(t.startsWith("file:///")?Jr(Kr(t)):Wr(t)).split(ut);for(;r.length>2;){let o=Br(...ut==="/"?["/"]:[],...r,e);if(Ra(o))return o;r.pop()}}async function Hr(e,t=process.cwd()){let r=(t.startsWith("file:///")?Jr(Kr(t)):Wr(t)).split(ut);for(;r.length>2;){let o=Br(...ut==="/"?["/"]:[],...r,e);if(await B(o))return o;r.pop()}}var B=async e=>await Oa(e,Ja.F_OK).then(()=>!0).catch(()=>!1);import{readFileSync as Ba}from"node:fs";import{readFile as Wa}from"node:fs/promises";var qe={},Ur={},Ka;function A(e){let t=e?c.resolve(e,"package.json"):Ka??=yt("package.json");return qe[t]??=JSON.parse(Ba(t,"utf-8")),qe[t]}async function le(e=Q()){let t=c.resolve(e,"package.json");if(t in qe)return qe[t];Ur[t]??=Ha(t);let n=await Ur[t];return qe[t]??=n,n}var Ha=async e=>JSON.parse(await Wa(e,"utf-8")),gt={},Vr={};async function de(e,t){if(e in gt)return gt[e];Vr[e]??=Hr(c.join("node_modules",e,"package.json"),t).then(r=>{if(r===void 0)throw new Error(`@arcgis/lumina-compiler: Unable to resolve package.json location for "${e}" package. Current working directory: ${process.cwd()}`);return c.dirname(r)});let n=await Vr[e];return gt[e]??=n,gt[e]}import{isNotUndefined as Ua}from"@arcgis/components-utils";import{readdir as Va}from"node:fs/promises";var zr=async e=>Object.fromEntries((await e.componentFilesPromise).map(t=>[rn(t),t])),rn=(e,t=c.resolve("src"))=>c.relative(t,c.join(e,"..",Fe.slice(0,-3))),Ge=async(e,t,n=t)=>await Va(n,{recursive:!0}).then(r=>{let o=r.map(i=>{if(!i.endsWith(".tsx"))return;let s=c.join(n,i);return ce(s,t)?s:void 0}).filter(Ua);return e.componentFiles=o,o}).catch(r=>{if(String(r).includes("ENOENT"))return console.log("Unable to find the src/components/ directory"),[];throw r});function ce(e,t){if(!e.startsWith(t)||!e.endsWith(".tsx"))return!1;let[n,r]=e.slice(0,-4).split(c.sep).slice(za);return n===r}var za=-2;function qr(e){return e==="boolean"?{type:"boolean",raw:e}:Number.isNaN(Number.parseFloat(e))?(e.startsWith('"')||e.startsWith("'"))&&e.startsWith(e.at(-1))?{value:e.slice(1,-1),type:"string",raw:e}:{type:e,raw:e}:{value:e,type:"number",raw:e}}var sn="@arcgis/lumina:addPropMetadata";function xt(e){let t=N.isUnionTypeNode(e)?e.types.map(ht):[ht(e)],n=new Set(t),r=n.delete("true"),o=n.delete("false");(r||o)&&n.add("boolean");let i=Array.from(n).sort();return i.length>1&&(i=i.map(s=>s.includes("=>")?`(${s})`:s)),i.map(qr)}var Ct=e=>e.map(t=>t.raw).join(" | ");function ht(e){qa.writeNode(N.EmitHint.Unspecified,e,void 0,on);let t=on.getText();return on.clear(),t}var qa=$e({removeComments:!0}),on=ve.createTextWriter(`
9
+ `),an=N.TypeFormatFlags.NoTruncation|N.TypeFormatFlags.WriteArrayAsGenericType|N.TypeFormatFlags.SuppressAnyReturnType|N.TypeFormatFlags.MultilineObjectLiterals|N.TypeFormatFlags.InTypeAlias,Ga=an&N.TypeFormatFlags.NodeBuilderFlagsMask,_a=Ga|N.NodeBuilderFlags.IgnoreErrors|N.NodeBuilderFlags.NoTruncation;function Xa(e,t,n){let r=new Map;_e(t,r,n);let o=t.flags&N.TypeFlags.Union?t.types.every(Gr):Gr(t),i=e.typeToTypeNode(t,void 0,_a&(o?~N.TypeFormatFlags.MultilineObjectLiterals:-1));return r.forEach(Qa),i===void 0?(console.error("Failed to convert type to type node."),N.factory.createTypeReferenceNode(N.factory.createIdentifier("unknown"),void 0)):i}var Gr=e=>e.flags&N.TypeFlags.Object?e.getProperties().length===1:!!(e.flags&N.TypeFlags.PossiblyFalsy);function Ee(e,t,n,r){let o=[],i=new Set;function s(p,l){if(!p.symbol)return;let d=l?p.aliasTypeArguments?.[0]?.symbol?.escapedName??"":p.symbol.name;if(d.startsWith("_")){let y=p.symbol.declarations?.[0];if(y?.kind===N.SyntaxKind.FunctionType){let f=y;if(f.parameters.forEach(g=>{if(!g.type)return;let C=e.getTypeFromTypeNode(g.type);_e(C,new Map,s,!0)}),f.type){let g=e.getTypeFromTypeNode(f.type);_e(g,new Map,s,!0)}}return}if(i.has(d))return;let m=l?{name:d,package:void 0,module:"index.js"}:Ya(p.symbol,d,n,r);o.push(m),i.add(d)}return{typeNode:Xa(e,t,s),references:o}}function _e(e,t,n,r=!1){if(typeof e!="object"||e===null||!("checker"in e))return;let o=e;if(t.has(o))return;let i=(o.flags&N.TypeFlags.Object)!==0&&(o.aliasTypeArguments?.[0]?.objectFlags??0&N.ObjectFlags.Class)!==0&&o.aliasSymbol?.escapedName==="ToElement";if(n?.(o,i),i||r)t.set(o,{origin:void 0,aliasSymbol:void 0,aliasTypeArguments:void 0});else{let s=o.origin,a=o.aliasSymbol,p=o.aliasTypeArguments;s&&(o.origin=void 0),a&&(o.aliasSymbol=void 0),p&&(o.aliasTypeArguments=void 0),t.set(o,{origin:s,aliasSymbol:a,aliasTypeArguments:p})}Object.entries(o).forEach(([s,a])=>{(s.includes("type")||s.includes("Type")||s==="constraint")&&s!=="resolvedBaseConstructorType"&&s!=="resolvedBaseTypes"&&s!=="typeParameters"&&s!=="typeParameter"&&(Array.isArray(a)?a.forEach(p=>_e(p,t,n,r)):_e(a,t,n,r))})}function Qa(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 Ya(e,t,n,r){let o=e?.declarations?.map(a=>a.getSourceFile())??[];if(o.length===0){if(t==="Array")return{name:"Array",package:"typescript",module:"lib/lib.es5.d.ts"};console.error(`${sn} Unable to resolve the declaration file name for type ${t} in ${E(n.fileName)}`)}if(o.length===0)return{name:t,package:pn,module:void 0};let{packageName:i,moduleName:s}=Za(o[0].fileName,r);return i?{name:t,package:i,module:s.length>0?s:void 0}:{name:t,package:void 0,module:s}}var pn="global:";function Za(e,t){let n=e.split("/node_modules/");if(n.length>1){let s=n.at(-1);return ln(s)}let o=e.split("/dist/");if(o.length>1){let s=o.slice(0,-1).join("/"),p=A(s).name,l=o.at(-1);return{packageName:p,moduleName:l}}return{packageName:void 0,moduleName:c.relative(t.root,tp(ep(e,t)))}}function ep(e,t){return ce(e,t.srcComponents)?c.join(t.dist,rn(e,t.src)):e.startsWith(t.src)?c.join(t.dist,e.slice(t.src.length)):e}var tp=e=>e.endsWith(".js")?e:`${e.endsWith(".ts")?e.slice(0,-3):e.endsWith(".tsx")?e.slice(0,-4):e}.d.ts`;function ln(e){let t=e.split("/"),r=e[0].startsWith("@")?2:1,o=t.slice(0,r).join("/"),i=t.slice(r).join("/");return{packageName:o,moduleName:i}}var _r=e=>e.includes("/node_modules/")||e.includes("/dist/");var np=["css","less","sass","scss","styl","stylus","pcss","postcss","sss"],Xr=new RegExp(`\\.(${np.join("|")})(\\?|$)`,"u"),rp=/^import ["'](?<specifier>[^"']+)["'];$/gmu,op=()=>"throwError",Qr="@arcgis/lumina:loadLitCss",me="?layered",Xe="?global",Yr=e=>({name:Qr,enforce:"pre",configResolved(t){let n=t.plugins.find(({name:o})=>o==="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(i,s){let a=s.endsWith(me);a&&(s=s.slice(0,-me.length));let p=s.endsWith(Xe);if(p&&(s=s.slice(0,-Xe.length)),!Xr.test(s)||s.includes("?"))return await r.call(this,i,s);let l=`${s}?inline`,d=await r.call(this,i,l),{code:m,...y}=typeof d=="string"?{code:d}:d??{};return typeof m!="string"||!m.startsWith(Zr)||!m.endsWith(eo)?(console.warn(`${Qr} Expected vite:css-post to return a JS module with a string literal for ${E(s)}.`),console.log(d),d):p?(e.globalCssString=to(m),{code:"",map:{mappings:""}}):{...y,code:pp(m,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 o=0,i=_r(n);return{code:t.replaceAll(rp,(a,p)=>{if(!Xr.test(p)||p.includes("?"))return a;if(i){if((e.options.css?.sideEffectImportHandling??op)(p,n)==="drop")return Cr(a);{let m=E(c.relative(Q(),n));throw new Error(`Found a side-effect CSS import \`${a}\` 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)){let l=`storybookCss$${o}`;return o+=1,["import ",l," from ",a.slice(6),`
10
+ `,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, ",l,".styleSheet];"].join("")}else{if(p.endsWith(Xe))return a;{let l=E(c.relative(Q(),n));throw new Error(`Found a side-effect CSS import \`${a}\` in "${l}". 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`)}}}),map:null}}}),Zr='export default "',eo='"',ip="import { css } from '@lit/reactive-element/css-tag.js';\nexport const styles = css`",sp="`;\nexport default styles;",ap=`
11
11
 
12
12
  if(import.meta.hot) {
13
13
  import.meta.hot.data.styles ??= styles;
@@ -18,74 +18,74 @@ if(import.meta.hot) {
18
18
  }
19
19
  import.meta.hot.data.styles.styleSheet.replaceSync(nextExports.styles.cssText);
20
20
  });
21
- }`,eo=e=>e.slice(Yr.length,-Zr.length);function ap(e,t,n,r){let i=eo(e).replaceAll('\\"','"').replaceAll("`","\\`"),s=ve(pp(i)),a=r?`@layer{${n?"":`
21
+ }`,to=e=>e.slice(Zr.length,-eo.length);function pp(e,t,n,r){let i=to(e).replaceAll('\\"','"').replaceAll("`","\\`"),s=Se(lp(i)),a=r?`@layer{${n?"":`
22
22
  `}${s}${n?"":`
23
- `}}`:s;return`${op}${a}${ip}${t?sp:""}`}var pp=e=>e.replaceAll("\\n",`
24
- `),lp=(e,t)=>e.endsWith(".mdx")||e.includes(".stories.")||e.includes(".story.")||e.startsWith(`${t.dir.root}stories/`);import{camelToKebab as Ep}from"@arcgis/components-utils";import{lazyMetaSubItemJoiner as Pp,lazyMetaItemJoiner as un,lazyMetaGroupJoiner as wp}from"@arcgis/lumina/config";import{create as dp}from"@custom-elements-manifest/analyzer/src/browser-entrypoint.js";import cp from"typescript";import{isNotUndefined as mp,kebabToPascal as fp,uncapitalize as up}from"@arcgis/components-utils";var $e="@arcgis/lumina-compiler",no="4.32.0-next.1";function dn(e,t,n){e.modules.sort((s,a)=>{let p=s.fileName.split("/"),l=p.pop(),d=p.join("/"),m=a.fileName.split("/"),y=m.pop(),f=m.join("/");return d===f?l<y?-1:1:d.startsWith(f)?1:f.startsWith(d)||d<f?-1:1});let r=dp(e);r.modules.forEach(s=>{s.path=c.relative(t.dir.root,s.path),s.exports?.forEach(a=>{typeof a.declaration.module=="string"&&(a.declaration.module=c.relative(t.dir.root,a.declaration.module))})});let o={timestamp:new Date().toISOString().split(".")[0],compiler:{name:$e,version:no,typescriptVersion:cp.version},...r};n||(t.componentPathMapping={});let i=o.modules.flatMap(s=>U(s,!0).map(a=>{a.sourcePath=s.path;let p=sr(a,t);return a.importPath=["components",p].join(c.sep),a.typeName=`HTML${fp(a.tagName)}Element`,a}));return n?r:(t.manifest=o,t.manifestComponents=i,t.viteCommand==="build"?t.manifestComponents.forEach(s=>{yp(s,t)}):t.manifestComponents.forEach(s=>s.members?.forEach(a=>{a.kind==="field"&&a.readonly&&(a.readonly=void 0)})),t.options.manifests?.afterManifestCreate?.(o),o)}var cn=new Set(["componentOnReady"]);function yp(e,t){let n=new Map(t.manifestComponents.map(r=>[r.name,r.typeName]));e.attributes=e.attributes?.map(r=>{let o=r.fieldName,i=e.members?.find(l=>l.kind==="field"&&l.name===o);if(i===void 0)throw new Error(`Unable to find the "${o}" property for the "${r.name}" attribute in ${e.name}`);if(r.type=i.type,r.inheritedFrom=i.inheritedFrom,r.default=i.default,r.description=i.description,i.readonly&&i.reflects!==!0){i.attribute=void 0;return}if(!i.isAttributeEligible){i.attribute=void 0;return}return r}).filter(mp),e.members?.forEach(r=>{if(r.kind==="field"){let s=r;s.isAttributeEligible=void 0}if(ro(r.type,n,t),!r.inheritedFrom)return;let i=r.kind==="method"&&r.name==="componentOnReady";if(i&&(r.inheritedFrom.module=void 0,r.inheritedFrom.package="@arcgis/lumina"),i){let s=up(e.name);r.docsTags=[{name:"example",text:`const ${s} = document.createElement("${e.tagName}");
23
+ `}}`:s;return`${ip}${a}${sp}${t?ap:""}`}var lp=e=>e.replaceAll("\\n",`
24
+ `),dp=(e,t)=>e.endsWith(".mdx")||e.includes(".stories.")||e.includes(".story.")||e.startsWith(`${t.dir.root}stories/`);import{camelToKebab as Pp}from"@arcgis/components-utils";import{lazyMetaSubItemJoiner as wp,lazyMetaItemJoiner as un,lazyMetaGroupJoiner as Mp}from"@arcgis/lumina/config";import{create as cp}from"@custom-elements-manifest/analyzer/src/browser-entrypoint.js";import mp from"typescript";import{isNotUndefined as fp,kebabToPascal as up,uncapitalize as yp}from"@arcgis/components-utils";var Ae="@arcgis/lumina-compiler",ro="4.32.0-next.2";function dn(e,t,n){e.modules.sort((s,a)=>{let p=s.fileName.split("/"),l=p.pop(),d=p.join("/"),m=a.fileName.split("/"),y=m.pop(),f=m.join("/");return d===f?l<y?-1:1:d.startsWith(f)?1:f.startsWith(d)||d<f?-1:1});let r=cp(e);r.modules.forEach(s=>{s.path=c.relative(t.dir.root,s.path),s.exports?.forEach(a=>{typeof a.declaration.module=="string"&&(a.declaration.module=c.relative(t.dir.root,a.declaration.module))})});let o={timestamp:new Date().toISOString().split(".")[0],compiler:{name:Ae,version:ro,typescriptVersion:mp.version},...r};n||(t.componentPathMapping={});let i=o.modules.flatMap(s=>V(s,!0).map(a=>{a.sourcePath=s.path;let p=ar(a,t);return a.importPath=["components",p].join(c.sep),a.typeName=`HTML${up(a.tagName)}Element`,a}));return n?r:(t.manifest=o,t.manifestComponents=i,t.viteCommand==="build"?t.manifestComponents.forEach(s=>{gp(s,t)}):t.manifestComponents.forEach(s=>s.members?.forEach(a=>{a.kind==="field"&&a.readonly&&(a.readonly=void 0)})),t.options.manifests?.afterManifestCreate?.(o),o)}var cn=new Set(["componentOnReady"]);function gp(e,t){let n=new Map(t.manifestComponents.map(r=>[r.name,r.typeName]));e.attributes=e.attributes?.map(r=>{let o=r.fieldName,i=e.members?.find(l=>l.kind==="field"&&l.name===o);if(i===void 0)throw new Error(`Unable to find the "${o}" property for the "${r.name}" attribute in ${e.name}`);if(r.type=i.type,r.inheritedFrom=i.inheritedFrom,r.default=i.default,r.description=i.description,i.readonly&&i.reflects!==!0){i.attribute=void 0;return}if(!i.isAttributeEligible){i.attribute=void 0;return}return r}).filter(fp),e.members?.forEach(r=>{if(r.kind==="field"){let s=r;s.isAttributeEligible=void 0}if(oo(r.type,n,t),!r.inheritedFrom)return;let i=r.kind==="method"&&r.name==="componentOnReady";if(i&&(r.inheritedFrom.module=void 0,r.inheritedFrom.package="@arcgis/lumina"),i){let s=yp(e.name);r.docsTags=[{name:"example",text:`const ${s} = document.createElement("${e.tagName}");
25
25
  document.body.append(${s});
26
26
  ${s}.componentOnReady().then(() => {
27
27
  console.log("${e.tagName} is ready to go!");
28
- });`}]}r.inheritedFrom?.module&&c.isAbsolute(r.inheritedFrom.module)&&(r.inheritedFrom.module=c.relative(t.dir.root,r.inheritedFrom.module))}),e.events?.forEach(r=>{r.inheritedFrom?.module&&c.isAbsolute(r.inheritedFrom.module)&&(r.inheritedFrom.module=c.relative(t.dir.root,r.inheritedFrom.module)),ro(r.type,n,t)})}function ro(e,t,n){e&&(e.references?.forEach(r=>gp(r,t,n)),typeof e.text=="string"&&(e.text=e.text.replaceAll(xp,(r,o)=>t.get(o)??r)),e.values?.forEach(hp,t))}function gp(e,t,n){e.package===void 0&&(e.module?.startsWith("dist/components/")?e.module=ie(e.module,"dist/components/",n):e.module==="index.js"&&e.name&&(e.name=t.get(e.name)??e.name))}function hp(e){e.type.startsWith("ToElement<")&&(e.type=this.get(e.type.slice(10,-1))??e.type)}var xp=/ToElement<(\w+)>/gu,Cp={kind:"method",name:"componentOnReady",return:{type:{text:"Promise<void>"}},description:"Create a promise that resolves once component is fully loaded.",type:{signature:"(): Promise<void>",references:[{name:"Promise",package:"typescript",module:"lib/lib.es5.d.ts"}]},async:!0},Tp={kind:"class",description:"The base public interface for all `@arcgis/lumina` components",name:"LitElement",typeName:"LitElement",members:[Cp],attributes:[],docsTags:[],tagName:"lit-element",customElement:!0,sourcePath:"src/LitElement.ts",importPath:"",encapsulation:"shadow"},bp={timestamp:"2000-00-00T00:00:00",compiler:{name:"@arcgis/lumina",version:"X.X.X",typescriptVersion:"X.X.X"},schemaVersion:"1.0.0",modules:[{kind:"javascript-module",path:"dist/index.js",declarations:[Tp],exports:[{kind:"custom-element-definition",name:"lit-element",declaration:{name:"LitElement",module:"dist/index.js"}}]}]},oo={thirdPartyCEMs:[bp],states:[]};function io(e){return`import("@storybook/web-components").then(({ setCustomElementsManifest }) => {
29
- setCustomElementsManifest(${vp(e)});
30
- });`}var vp=e=>`JSON.parse(\`${JSON.stringify(JSON.stringify(e)).slice(1,-1).replaceAll('\\"','"').replaceAll("`","\\`")}\`)`;function so(e){Sp(e);let t=e.options.css?.globalStylesPath;if(!t)return"";let n=Y(e.dir.src,t);return e.viteCommand==="serve"?[`import globalStyles from "${n}${de}";`,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, globalStyles.styleSheet!];",fn("",e)].join(`
31
- `):`import "${n}${Xe}";`}var mn="hydrated";function Sp(e){e.globalHydratedCssString=[":not([",e.options.css?.hydratedAttribute??mn,"]):is(",e.manifestComponents.map(t=>t.tagName).join(","),"){visibility:hidden}"].join("")}function fn(e,t){return["const globalCss = new CSSStyleSheet();",`globalCss.replaceSync("@layer{${`${t.globalHydratedCssString}${t.shouldMinify?"":"\\n\\n"}${e||""}`}}");`,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, globalCss];"].join(`
32
- `)}var ao=e=>`${e.globalHydratedCssString}${e.shouldMinify?"":`
33
-
34
- `}${e.globalCssString?JSON.parse(`"${e.globalCssString}"`):""}`;function po(e){let t=e.manifestComponents.map(r=>Mp(r,e));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";',so(e),e.hmrEnabled?Fp:"","",e.isInStorybook?io(e.manifest):"","","export const defineCustomElements = makeDefineCustomElements(runtime, {",t.join(`,
35
- `),"});",e.hmrEnabled?Dp(e.manifestComponents.map(r=>r.sourcePath)):""].join(`
36
- `)}var lo=`import "./index";
37
- export declare const defineCustomElements: import("@arcgis/lumina").DefineCustomElements;`,Mp=(e,t)=>[` "${e.tagName}": [`,`()=>import("${c.join(t.dir.root,e.sourcePath)}"),`,kp(e),"]"].join("");function kp(e){let{properties:t,asyncMethods:n,syncMethods:r}=yn(e),o=t.map(d=>d.join(Pp)).join(un),i=n.join(un),s=r.join(un),a=[o,i,s],p=a.findLastIndex(d=>d.length>0),l=a.slice(0,p+1);return l.length>0?`"${l.join(wp)}"`:""}function yn(e){let t=(e.members??[]).filter(i=>i.kind==="field"&&!cn.has(i.name)).map(i=>{let s=i,a=typeof s.attribute=="string",p=a&&s.attribute!==Ep(s.name);return a&&!p?[s.name]:[s.name,p?String(s.attribute):""]}),n=(e.members??[]).filter(i=>i.kind==="method"&&!cn.has(i.name)),r=n.filter(i=>i.async===!0).map(i=>i.name),o=n.filter(i=>i.async!==!0).map(i=>i.name);return{tagName:e.tagName,properties:t,asyncMethods:r,syncMethods:o}}var Fp=`import { handleHmrUpdate, handleComponentMetaUpdate } from "@arcgis/lumina";
38
- `,Dp=e=>`
28
+ });`}]}r.inheritedFrom?.module&&c.isAbsolute(r.inheritedFrom.module)&&(r.inheritedFrom.module=c.relative(t.dir.root,r.inheritedFrom.module))}),e.events?.forEach(r=>{r.inheritedFrom?.module&&c.isAbsolute(r.inheritedFrom.module)&&(r.inheritedFrom.module=c.relative(t.dir.root,r.inheritedFrom.module)),oo(r.type,n,t)})}function oo(e,t,n){e&&(e.references?.forEach(r=>hp(r,t,n)),typeof e.text=="string"&&(e.text=e.text.replaceAll(Cp,(r,o)=>t.get(o)??r)),e.values?.forEach(xp,t))}function hp(e,t,n){e.package===void 0&&(e.module?.startsWith("dist/components/")?e.module=ae(e.module,"dist/components/",n):e.module==="index.js"&&e.name&&(e.name=t.get(e.name)??e.name))}function xp(e){e.type.startsWith("ToElement<")&&(e.type=this.get(e.type.slice(10,-1))??e.type)}var Cp=/ToElement<(\w+)>/gu,Tp={kind:"method",name:"componentOnReady",return:{type:{text:"Promise<void>"}},description:"Create a promise that resolves once component is fully loaded.",type:{signature:"(): Promise<void>",references:[{name:"Promise",package:"typescript",module:"lib/lib.es5.d.ts"}]},async:!0},bp={kind:"class",description:"The base public interface for all `@arcgis/lumina` components",name:"LitElement",typeName:"LitElement",members:[Tp],attributes:[],docsTags:[],tagName:"lit-element",customElement:!0,sourcePath:"src/LitElement.ts",importPath:"",encapsulation:"shadow"},vp={timestamp:"2000-00-00T00:00:00",compiler:{name:"@arcgis/lumina",version:"X.X.X",typescriptVersion:"X.X.X"},schemaVersion:"1.0.0",modules:[{kind:"javascript-module",path:"dist/index.js",declarations:[bp],exports:[{kind:"custom-element-definition",name:"lit-element",declaration:{name:"LitElement",module:"dist/index.js"}}]}]},io={thirdPartyCEMs:[vp],states:[]};function so(e){return`import("@storybook/web-components").then(({ setCustomElementsManifest }) => {
29
+ setCustomElementsManifest(${Sp(e)});
30
+ });`}var Sp=e=>`JSON.parse(\`${JSON.stringify(JSON.stringify(e)).slice(1,-1).replaceAll('\\"','"').replaceAll("`","\\`")}\`)`;function ao(e){Ep(e);let t=e.options.css?.globalStylesPath;if(!t)return"";let n=Y(e.dir.src,t);return e.viteCommand==="serve"?[`import globalStyles from "${n}${me}";`,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, globalStyles.styleSheet!];",fn("",e)].join(`
31
+ `):`import "${n}${Xe}";`}var mn="hydrated";function Ep(e){e.globalHydratedCssString=[":not([",e.options.css?.hydratedAttribute??mn,"]):is(",e.manifestComponents.map(t=>t.tagName).join(","),"){visibility:hidden}"].join("")}function fn(e,t){return["const globalCss = new CSSStyleSheet();",`globalCss.replaceSync("@layer{${`${t.globalHydratedCssString}${t.shouldMinify?"":"\\n\\n"}${e||""}`}}");`,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, globalCss];"].join(`
32
+ `)}var po=e=>`${e.globalHydratedCssString}${e.shouldMinify?"":`
33
+
34
+ `}${e.globalCssString?JSON.parse(`"${e.globalCssString}"`):""}`;function lo(e){let t=e.manifestComponents.map(r=>kp(r,e));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";',ao(e),e.hmrEnabled?Dp:"","",e.isInStorybook?so(e.manifest):"","","export const defineCustomElements = makeDefineCustomElements(runtime, {",t.join(`,
35
+ `),"});",e.hmrEnabled?$p(e.manifestComponents.map(r=>r.sourcePath)):""].join(`
36
+ `)}var co=`import "./index";
37
+ export declare const defineCustomElements: import("@arcgis/lumina").DefineCustomElements;`,kp=(e,t)=>[` "${e.tagName}": [`,`()=>import("${c.join(t.dir.root,e.sourcePath)}"),`,Fp(e),"]"].join("");function Fp(e){let{properties:t,asyncMethods:n,syncMethods:r}=yn(e),o=t.map(d=>d.join(wp)).join(un),i=n.join(un),s=r.join(un),a=[o,i,s],p=a.findLastIndex(d=>d.length>0),l=a.slice(0,p+1);return l.length>0?`"${l.join(Mp)}"`:""}function yn(e){let t=(e.members??[]).filter(i=>i.kind==="field"&&!cn.has(i.name)).map(i=>{let s=i,a=typeof s.attribute=="string",p=a&&s.attribute!==Pp(s.name);return a&&!p?[s.name]:[s.name,p?String(s.attribute):""]}),n=(e.members??[]).filter(i=>i.kind==="method"&&!cn.has(i.name)),r=n.filter(i=>i.async===!0).map(i=>i.name),o=n.filter(i=>i.async!==!0).map(i=>i.name);return{tagName:e.tagName,properties:t,asyncMethods:r,syncMethods:o}}var Dp=`import { handleHmrUpdate, handleComponentMetaUpdate } from "@arcgis/lumina";
38
+ `,$p=e=>`
39
39
  if(import.meta.hot) {
40
40
  import.meta.hot.on("component-meta-update", handleComponentMetaUpdate);
41
41
  import.meta.hot.accept([
42
42
  ${Array.from(new Set(e)).map(t=>` "/${t}",`).join(`
43
43
  `)}
44
44
  ], handleHmrUpdate);
45
- }`;import Ee from"typescript";import V from"typescript";import{isNotUndefined as $p}from"@arcgis/components-utils";import{defaultEventBubbles as co,defaultEventCancelable as mo,defaultEventComposed as fo}from"@arcgis/lumina/config";function uo(e,t,n,r,o){let i=n.getProperty("emit");if(!i?.valueDeclaration)return;let s=i.valueDeclaration,l=e.getTypeOfSymbolAtLocation(i,s).getCallSignatures().map(m=>{let y=m.getReturnType();if(y.symbol?.name!=="CustomEvent")return;let f=e.getTypeArguments(y)?.at(0);if(f===void 0)return{original:"any",resolved:"any",references:[]};let{typeNode:g,references:C}=Se(e,f,r,o),u=gt(g);return{original:u,resolved:u,references:C}}).filter($p);if(l.length===0)return;let d=Ap(r,t);return{...Np(l),...d}}var Ct="createEvent";function Ap(e,t){if(!V.isIdentifier(t.name)&&!V.isStringLiteral(t.name))throw new Error(`Expected event property name to be an identifier or a string literal. Found ${t.name.getText(e)}`);let n=t.name.text,r={eventName:n,cancelable:mo,bubbles:co,composed:fo};if(!t.initializer||!V.isCallExpression(t.initializer))return r;let o=t.initializer;if(!V.isIdentifier(o.expression)||o.expression.text!==Ct)return r;let i=o.arguments[0];if(!i)return r;if(!V.isObjectLiteralExpression(i))throw new Error(`Expected object literal expression as first argument of ${Ct}(). Found ${n} = createEvent(${i.getText(e)})`);if(i.properties.some(s=>V.isSpreadAssignment(s)))throw new Error(`Unexpected spread syntax in ${Ct}() argument. ${Ct}() arguments must be statically parsable at compile time`);return r.cancelable=Qe(i,"cancelable")??mo,r.bubbles=Qe(i,"bubbles")??co,r.composed=Qe(i,"composed")??fo,r}function Qe(e,t){let n=e.properties.find(o=>V.isPropertyAssignment(o)&&V.isIdentifier(o.name)&&o.name.text===t);if(n===void 0)return;if(!V.isPropertyAssignment(n))throw new Error(`Expected boolean literal as ${t} property. Found ${n.getText()}`);let r=n.initializer;if(r.kind===V.SyntaxKind.TrueKeyword)return!0;if(r.kind===V.SyntaxKind.FalseKeyword)return!1;throw new Error(`Expected boolean literal as ${t} property. Found ${n.getText()}`)}var Np=e=>({isReadonly:!1,values:void 0,original:e.map(t=>t.original).join(" | "),resolved:e.map(t=>t.resolved).join(" | "),references:e.flatMap(t=>t.references),isAttributeEligible:!1});var yo=(e,t,n,r)=>{let o=Ee.isSetAccessor(r)?r.parameters[0]:r,i=n.getSourceFile(),s=e.getTypeAtLocation(o),{typeNode:a,references:p}=Se(e,s,i,t),l=Ee.isGetAccessor(r)||Ee.isSetAccessor(r)?void 0:uo(e,r,s,i,t);if(l)return l;let d=pt(n,"property");if(!d)return;let m=ht(a),y=xt(m),f=o.type?Lp(o.type.getText(i)):y,g=o.questionToken!==void 0;return{isReadonly:Ip(d),original:g&&!f.includes("null")&&!f.includes("undefined")&&!f.includes("Nil")?`${f} | undefined`:f,resolved:y,references:p,values:m.map(({raw:C,...u})=>u),isAttributeEligible:jp(d,m)}},Lp=e=>e.startsWith("| ")?e.slice(2):e;function Ip(e){let t=e.arguments[0];return!t||!Ee.isObjectLiteralExpression(t)?!1:Qe(t,"readOnly")??!1}function jp(e,t){let n=gn(t),r=e.arguments[0];return!r||!Ee.isObjectLiteralExpression(r)?n:r.properties.some(i=>Ee.isPropertyAssignment(i)&&Ee.isIdentifier(i.name)&&(i.name.text==="type"||i.name.text==="converter"||i.name.text==="attribute"))||n}var gn=e=>e.some(t=>t.type==="number"||t.type==="boolean"||t.type==="string");import ce from"typescript";function go(e){return{name:sn,analyzePhase({ts:t,node:n,context:r}){if(!t.isPropertyDeclaration(n)&&!t.isAccessor(n))return;let o=r;if(o.state===void 0)return;let{component:i,events:s}=o.state,a=Fe(i,n);if(a===void 0||a.kind!=="field")return;let p=e.typeScriptTypeChecker,l=p.getSymbolAtLocation(n.name),d=l===void 0?{}:Te(p,l);a.description=d.description??a.description;let m=ce.isGetAccessor(n)?l?.declarations?.find(ce.isSetAccessor)??n:n,y=yo(p,e.dir,n,m);if(!(typeof y=="object")){let u=o.lastAccessors[a.name];if(u!==void 0)if(u===n){if("original"in a.type)return}else return;let x=i.members.indexOf(a);i.members.splice(x,1);return}if(a.name.startsWith("on"))throw new Error(`Do not start property names with "on" as that can confuse third-party frameworks and lint rules. Found ${a.name} in ${i.name}`);let g=d.docsTags?.some(u=>u.name==="readonly")??!1,C=y.isReadonly||o.lonelyGetters.has(a.name);if(n.questionToken&&(a.hasQuestionToken=!0),a.type={text:y.resolved,original:y.original,values:y.values,references:[...a.type?.references??[],...y.references]},m!==n&&ce.isSetAccessor(m)&&ce.isGetAccessor(n)){let u=n.type,b=m.parameters[0].type?.getText(),v=u?.getText();b!==v&&v!==void 0&&(a.getterType={text:v,original:v,values:[{type:v}]})}if(a.default&&"initializer"in n&&n.initializer&&!Qt(ho(n.initializer))&&!d.docsTags?.some(u=>u.name==="default")&&(a.default=void 0),"eventName"in y){s.push(y);return}if(!g&&!C&&!d.docsTags?.some(u=>u.name==="required")&&(a.type.text=lr(a.type.text),a.type.values)){let u=a.type.values.filter(x=>x.type!=="null"&&x.type!=="undefined");u.length>0&&(a.type.values=u)}if(a.isAttributeEligible=y.isAttributeEligible,"initializer"in n&&n.initializer&&(!a.default||!a.description)){let u=n.initializer,x=p.getSymbolAtLocation(u),b=x!==void 0&&(x.flags??0)&ce.SymbolFlags.Alias?p.getAliasedSymbol(x):x,v=b?.getDeclarations()??[];if(b){let F=Te(p,b);if(F.description&&(a.description||=F?.description),(F.docsTags?.length??0)>0){let K=new Set(d.docsTags?.map(D=>D.name));d.docsTags=[...d.docsTags??[],...F.docsTags?.filter(D=>D.name==="default"?(a.default||(a.default=D.text),!1):!K.has(D.name))??[]]}}v.forEach(F=>{if(!("initializer"in F))return;let K=F;if(g||=K.modifiers?.some(D=>D.kind===ce.SyntaxKind.ReadonlyKeyword)??!1,!a.default){let D=K.initializer;Qt(D)&&(a.default=D.getText(K.getSourceFile()))}})}d.docsTags=d.docsTags?.filter(u=>u.name!=="readonly"&&u.name!=="default"&&u.name!=="deprecated"),(d.docsTags?.length??0)>0&&(a.docsTags=d.docsTags),g||C?a.readonly=!0:a.readonly=void 0,g&&!C&&(a.docsOnlyReadonly=!0),!a.default&&a.type.values&&a.type.values.length>0&&a.type.values?.every(u=>u.type==="boolean")&&(a.default="false")},moduleLinkPhase({context:t}){let{states:n}=t;n.forEach(({component:r,events:o})=>{let i=r.members??[];o?.forEach(({eventName:s,bubbles:a,cancelable:p,composed:l})=>{let d=i.findIndex(v=>v.name===s);if(d===-1)throw new Error(`Event property ${s} not found in component ${r.name}`);let m=i[d];if(m.kind!=="field")throw new Error(`Event property ${s} in ${r.name} is not a field`);if(i.splice(d,1),r.events??=[],r.events.some(v=>v.name===s))throw new Error(`Event ${s} included in ${r.name} twice`);let{default:f,kind:g,static:C,type:u,...x}=m;if(u===void 0)throw new Error(`Event property ${s} in ${r.name} is missing a type`);let b={...x,name:s,type:u,bubbles:a,cancelable:p,composed:l};r.events.push(b)})})}}}function ho(e){return ce.isSatisfiesExpression(e)||ce.isParenthesizedExpression(e)?ho(e.expression):e}import hn from"typescript";var xn="@arcgis/lumina:addMethodMetadata";function xo(e){return{name:xn,analyzePhase({node:t,ts:n,context:r}){if(!n.isMethodDeclaration(t))return;let o=r,{sourceFile:i,state:{component:s}={}}=o;if(i===void 0||s===void 0)return;let a=Fe(s,t);if(!(a===void 0||a.kind!=="method")){if(!pt(t,"method")){let p=s.members.indexOf(a);s.members.splice(p,1);return}if(e.viteCommand==="build"){let p=e.typeScriptTypeChecker,l=Rp(t,a.parameters,p,i,e.dir);a.description=l?.description??a.description,a.docsTags=l?.docsTags,a.type=l?.type??{signature:`(): ${a.return?.type?.text??"void"}`,references:[]}}Op(t)&&(a.async=!0)}}}}function Rp(e,t,n,r,o){let i=n.getSignatureFromDeclaration(e);if(i===void 0)return;e.parameters.forEach(l=>{let d=l.name;if(!hn.isIdentifier(d)){console.warn(`${xn}: Object binding patterns are not yet supported in the docs. Found ${d?.getText()} in ${e.name.getText()} in ${E(r.fileName)}`);return}let m=t?.find(x=>x.name===d.text);if(!m){console.warn(`${xn}: Unable to find the parameter ${d?.getText()} for ${e.name.getText()} in the manifest`);return}let y=n.getTypeAtLocation(l),{typeNode:f,references:g}=Se(n,y,r,o),C=ht(f),u={original:m.type?.text??l.type?.getText(r)??"unknown",text:xt(C),references:g,values:void 0};m.type=u});let s=n.getReturnTypeOfSignature(i),a=Se(n,s,r,o),p=n.signatureToString(i,e,an,hn.SignatureKind.Call);return{...Te(n,i),type:{signature:p.replace(" =>",":"),references:a.references}}}var Op=e=>e.modifiers?.some?.(t=>t.kind===hn.SyntaxKind.AsyncKeyword)??!1;import{camelToKebab as Co}from"@arcgis/components-utils";function To(e){e.members?.forEach(t=>{"attribute"in t&&typeof t.attribute=="string"&&t.attribute.toLowerCase()!==t.attribute&&(t.attribute=Co(t.attribute))}),e.attributes?.forEach(t=>{"name"in t&&typeof t.name=="string"&&t.name.toLowerCase()!==t.name&&(t.name=Co(t.name))})}import Ye from"typescript";function bo(e){return{name:"@arcgis/lumina:addComponentMetadata",analyzePhase({moduleDoc:t,node:n,ts:r,context:o}){if(!r.isClassDeclaration(n))return;let i=ur(n.name?.text,t);if(i===void 0)return;let s=o;s.state={component:i,events:[]},s.states.push(s.state);let a=!1;s.lastAccessors={};let p=new Set;if(s.lonelyGetters=new Set,n.members.forEach(l=>{if(Ye.isAccessor(l)){let d=l.name.getText();s.lastAccessors[d]=l,Ye.isSetAccessor(l)?(p.add(d),s.lonelyGetters.delete(d)):p.has(d)||s.lonelyGetters.add(d)}a||=e.viteCommand==="build"&&Ye.isPropertyDeclaration(l)&&Ye.isIdentifier(l.name)&&l.name.text==="shadowRootOptions"&&l.initializer!==void 0&&Ye.isIdentifier(l.initializer)&&l.initializer.text==="noShadowRoot"}),i.members=i.members?.filter(Cn),i.members?.forEach(l=>{l.name=Tt(l.name),"attribute"in l&&typeof l.attribute=="string"&&(l.attribute=Tt(l.attribute))}),i.attributes?.forEach(l=>{l.name=Tt(l.name),typeof l.fieldName=="string"&&(l.fieldName=Tt(l.fieldName))}),e.viteCommand==="build"){let l=e.typeScriptTypeChecker,d=i,m=n.name===void 0?void 0:l.getSymbolAtLocation(n.name),y=m===void 0?void 0:Te(l,m);d.description=y?.description??d.description,d.docsTags=y?.docsTags?.filter(f=>f.name!=="cssprop"&&f.name!=="cssproperty"&&f.name!=="csspart"&&f.name!=="slot"),d.encapsulation=a?"none":"shadow"}},moduleLinkPhase({moduleDoc:t}){U(t).forEach(n=>{To(n),e.viteCommand==="build"&&(n.members?.sort((r,o)=>r.name.localeCompare(o.name)),n.attributes?.sort((r,o)=>r.name.localeCompare(o.name)),n.events?.sort((r,o)=>r.name.localeCompare(o.name))),n.superclass?.module&&c.isAbsolute(n.superclass.module)&&(n.superclass.module=c.relative(e.dir.root,n.superclass.module))})}}}function Tt(e){return e.startsWith("'")||e.startsWith('"')?e.slice(1,-1):e.startsWith('\\"')||e.startsWith("\\'")?e.slice(2,-1*2):e}var Cn=e=>!e.name.startsWith("_")&&!e.name.startsWith("#")&&!e.static&&e.privacy!=="private"&&e.privacy!=="protected",vo=e=>e.kind==="method"&&Cn(e),Ae=e=>e.kind==="field"&&Cn(e);import{litPlugin as sl}from"@custom-elements-manifest/analyzer/src/browser-entrypoint.js";import al from"typescript";import q from"typescript";var So="Fragment",bt="DynamicHtmlTag",vt="DynamicSvgTag",Ne=Symbol("dynamic html tag name"),Ze=Symbol("dynamic svg tag name"),Eo=!0,St=new Set(["class","itemProp","itemScope","itemType","itemId","itemRef","about","datatype","inlist","property","resource","typeof","vocab"]),Et=new Set(["width","height","href","hreflang","form","download","rowSpan","colSpan","viewBox","src","exportParts","hreflang","media"]),et={button:new Set(["popoverTarget"]),input:new Set(["list","capture"]),meta:new Set(["charset"]),math:new Set(["dir","displaystyle","scriptlevel"]),menu:new Set(["label","type"]),results:new Set(["input"]),textarea:new Set(["dirname"]),quote:new Set(["cite"])},z={common:{normal:{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"},stringified:{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"}},perElement:{a:{stringified:{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"}},area:{normal:{noHref:"nohref"},stringified:{alt:"alt",coords:"coords",download:"download",shape:"shape",target:"target",ping:"ping",rel:"rel",referrerPolicy:"referrerpolicy",href:"href",interestAction:"interestaction"}},audio:{normal:{crossOrigin:"crossorigin",autoplay:"autoplay",loop:"loop",controls:"controls",defaultMuted:"muted",disableRemotePlayback:"disableremoteplayback"},stringified:{src:"src",preload:"preload"}},base:{stringified:{href:"href",target:"target"}},blockquote:{stringified:{cite:"cite"}},body:{stringified:{text:"text",link:"link",vLink:"vlink",aLink:"alink",bgColor:"bgcolor",background:"background"}},br:{stringified:{clear:"clear"}},button:{normal:{disabled:"disabled",formNoValidate:"formnovalidate"},stringified:{formAction:"formaction",formEnctype:"formenctype",formMethod:"formmethod",formTarget:"formtarget",name:"name",type:"type",value:"value",popoverTargetAction:"popovertargetaction",command:"command",interestAction:"interestaction"}},canvas:{stringified:{width:"width",height:"height"}},caption:{stringified:{align:"align"}},col:{stringified:{span:"span",align:"align",ch:"char",chOff:"charoff",vAlign:"valign",width:"width"}},colgroup:{stringified:{span:"span",align:"align",ch:"char",chOff:"charoff",vAlign:"valign",width:"width"}},data:{stringified:{value:"value"}},del:{stringified:{cite:"cite",dateTime:"datetime"}},details:{normal:{open:"open"},stringified:{name:"name"}},dialog:{normal:{open:"open"}},div:{stringified:{align:"align"}},dl:{normal:{compact:"compact"}},embed:{stringified:{src:"src",type:"type",width:"width",height:"height",align:"align",name:"name"}},fieldset:{normal:{disabled:"disabled"},stringified:{name:"name"}},form:{normal:{noValidate:"novalidate"},stringified:{acceptCharset:"accept-charset",action:"action",autocomplete:"autocomplete",enctype:"enctype",encoding:"enctype",method:"method",name:"name",target:"target",rel:"rel"}},h1:{stringified:{align:"align"}},h2:{stringified:{align:"align"}},h3:{stringified:{align:"align"}},h4:{stringified:{align:"align"}},h5:{stringified:{align:"align"}},h6:{stringified:{align:"align"}},hr:{normal:{noShade:"noshade"},stringified:{align:"align",color:"color",size:"size",width:"width"}},html:{stringified:{version:"version"}},iframe:{normal:{allowFullscreen:"allowfullscreen",credentialless:"credentialless",allowPaymentRequest:"allowpaymentrequest",browsingTopics:"browsingtopics",adAuctionHeaders:"adauctionheaders",sharedStorageWritable:"sharedstoragewritable"},stringified:{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:{normal:{crossOrigin:"crossorigin",isMap:"ismap",width:"width",height:"height",hspace:"hspace",vspace:"vspace",sharedStorageWritable:"sharedstoragewritable"},stringified:{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:{normal:{defaultChecked:"checked",disabled:"disabled",formNoValidate:"formnovalidate",height:"height",multiple:"multiple",readOnly:"readonly",required:"required",size:"size",width:"width",webkitdirectory:"webkitdirectory",incremental:"incremental"},stringified:{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"}},ins:{stringified:{cite:"cite",dateTime:"datetime"}},label:{stringified:{htmlFor:"for"}},legend:{stringified:{align:"align"}},li:{normal:{value:"value"},stringified:{type:"type"}},link:{normal:{disabled:"disabled",crossOrigin:"crossorigin"},stringified:{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:{stringified:{name:"name"}},menu:{normal:{compact:"compact"}},meta:{stringified:{name:"name",httpEquiv:"http-equiv",content:"content",media:"media",scheme:"scheme"}},meter:{normal:{value:"value",min:"min",max:"max",low:"low",high:"high",optimum:"optimum"}},object:{normal:{declare:"declare",hspace:"hspace",vspace:"vspace"},stringified:{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:{normal:{reversed:"reversed",compact:"compact"},stringified:{start:"start",type:"type"}},optgroup:{normal:{disabled:"disabled"},stringified:{label:"label"}},option:{normal:{disabled:"disabled",defaultSelected:"selected"},stringified:{label:"label",value:"value"}},output:{stringified:{name:"name"}},p:{stringified:{align:"align"}},pre:{normal:{width:"width"}},progress:{normal:{value:"value",max:"max"}},q:{stringified:{cite:"cite"}},script:{normal:{noModule:"nomodule",async:"async",defer:"defer",crossOrigin:"crossorigin",referrerPolicy:"referrerpolicy"},stringified:{src:"src",type:"type",charset:"charset",fetchPriority:"fetchpriority",event:"event",htmlFor:"for",integrity:"integrity",attributionSrc:"attributionsrc"}},select:{normal:{disabled:"disabled",multiple:"multiple",required:"required",size:"size"},stringified:{autocomplete:"autocomplete",name:"name"}},slot:{stringified:{name:"name"}},source:{normal:{width:"width",height:"height"},stringified:{src:"src",type:"type",srcset:"srcset",sizes:"sizes",media:"media"}},style:{stringified:{media:"media",type:"type"}},table:{stringified:{align:"align",border:"border",frame:"frame",rules:"rules",summary:"summary",width:"width",bgColor:"bgcolor",cellPadding:"cellpadding",cellSpacing:"cellspacing"}},tbody:{stringified:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},td:{normal:{noWrap:"nowrap"},stringified:{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:{normal:{shadowRootDelegatesFocus:"shadowrootdelegatesfocus",shadowRootClonable:"shadowrootclonable",shadowRootSerializable:"shadowrootserializable",parseparts:"parseparts"},stringified:{shadowRootMode:"shadowrootmode"}},textarea:{normal:{cols:"cols",disabled:"disabled",readOnly:"readonly",required:"required",rows:"rows"},stringified:{autocomplete:"autocomplete",dirName:"dirname",maxLength:"maxlength",minLength:"minlength",name:"name",placeholder:"placeholder",wrap:"wrap"}},tfoot:{stringified:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},th:{normal:{noWrap:"nowrap"},stringified:{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:{stringified:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},time:{stringified:{dateTime:"datetime"}},tr:{stringified:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor"}},track:{normal:{default:"default"},stringified:{kind:"kind",src:"src",srclang:"srclang",label:"label"}},ul:{normal:{compact:"compact"},stringified:{type:"type"}},video:{normal:{width:"width",height:"height",playsInline:"playsinline",disablePictureInPicture:"disablepictureinpicture",crossOrigin:"crossorigin",autoplay:"autoplay",loop:"loop",controls:"controls",defaultMuted:"muted",disableRemotePlayback:"disableremoteplayback"},stringified:{poster:"poster",src:"src",preload:"preload"}}},ambiguousReflectedProperties:["value","defaultValue"]};Po(z.common);Object.values(z.perElement).forEach(Po);function Po(e){e?.normal&&(e.normal=Object.assign(Object.create(null),e.normal)),e?.stringified&&(e.stringified=Object.assign(Object.create(null),e.stringified))}var Tn=new Set(["itemScope"]),Pt=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"]),wo=new Set(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),Le=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"]),Mo=new Set(["title","svg","a","script","style"]),Ie=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"]),je=new Set(["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"]);var ko="customElement",wt=new WeakMap,Ao=e=>({name:"@arcgis/lumina:addCustomElementDecorator",initialize(){wt.has(e)||wt.set(e,{}),e.declarationTextTransformers.includes(Fo)||e.declarationTextTransformers.push(Fo)},analyzePhase({node:t,moduleDoc:n,ts:r,context:o}){if(!r.isSourceFile(t)||!t.fileName.endsWith(".tsx"))return;let i=o;i.sourceFile=t,i.states=[],i.state=void 0;let s=t.text;if(s.includes(`
45
+ }`;import Pe from"typescript";import z from"typescript";import{isNotUndefined as Ap}from"@arcgis/components-utils";import{defaultEventBubbles as mo,defaultEventCancelable as fo,defaultEventComposed as uo}from"@arcgis/lumina/config";function yo(e,t,n,r,o){let i=n.getProperty("emit");if(!i?.valueDeclaration)return;let s=i.valueDeclaration,l=e.getTypeOfSymbolAtLocation(i,s).getCallSignatures().map(m=>{let y=m.getReturnType();if(y.symbol?.name!=="CustomEvent")return;let f=e.getTypeArguments(y)?.at(0);if(f===void 0)return{original:"any",resolved:"any",references:[]};let{typeNode:g,references:C}=Ee(e,f,r,o),u=ht(g);return{original:u,resolved:u,references:C}}).filter(Ap);if(l.length===0)return;let d=Np(r,t);return{...Lp(l),...d}}var Tt="createEvent";function Np(e,t){if(!z.isIdentifier(t.name)&&!z.isStringLiteral(t.name))throw new Error(`Expected event property name to be an identifier or a string literal. Found ${t.name.getText(e)}`);let n=t.name.text,r={eventName:n,cancelable:fo,bubbles:mo,composed:uo};if(!t.initializer||!z.isCallExpression(t.initializer))return r;let o=t.initializer;if(!z.isIdentifier(o.expression)||o.expression.text!==Tt)return r;let i=o.arguments[0];if(!i)return r;if(!z.isObjectLiteralExpression(i))throw new Error(`Expected object literal expression as first argument of ${Tt}(). Found ${n} = createEvent(${i.getText(e)})`);if(i.properties.some(s=>z.isSpreadAssignment(s)))throw new Error(`Unexpected spread syntax in ${Tt}() argument. ${Tt}() arguments must be statically parsable at compile time`);return r.cancelable=Qe(i,"cancelable")??fo,r.bubbles=Qe(i,"bubbles")??mo,r.composed=Qe(i,"composed")??uo,r}function Qe(e,t){let n=e.properties.find(o=>z.isPropertyAssignment(o)&&z.isIdentifier(o.name)&&o.name.text===t);if(n===void 0)return;if(!z.isPropertyAssignment(n))throw new Error(`Expected boolean literal as ${t} property. Found ${n.getText()}`);let r=n.initializer;if(r.kind===z.SyntaxKind.TrueKeyword)return!0;if(r.kind===z.SyntaxKind.FalseKeyword)return!1;throw new Error(`Expected boolean literal as ${t} property. Found ${n.getText()}`)}var Lp=e=>({isReadonly:!1,values:void 0,original:e.map(t=>t.original).join(" | "),resolved:e.map(t=>t.resolved).join(" | "),references:e.flatMap(t=>t.references),isAttributeEligible:!1});var go=(e,t,n,r)=>{let o=Pe.isSetAccessor(r)?r.parameters[0]:r,i=n.getSourceFile(),s=e.getTypeAtLocation(o),{typeNode:a,references:p}=Ee(e,s,i,t),l=Pe.isGetAccessor(r)||Pe.isSetAccessor(r)?void 0:yo(e,r,s,i,t);if(l)return l;let d=lt(n,"property");if(!d)return;let m=xt(a),y=Ct(m),f=o.type?Ip(o.type.getText(i)):y,g=o.questionToken!==void 0;return{isReadonly:jp(d),original:g&&!f.includes("null")&&!f.includes("undefined")&&!f.includes("Nil")?`${f} | undefined`:f,resolved:y,references:p,values:m.map(({raw:C,...u})=>u),isAttributeEligible:Rp(d,m)}},Ip=e=>e.startsWith("| ")?e.slice(2):e;function jp(e){let t=e.arguments[0];return!t||!Pe.isObjectLiteralExpression(t)?!1:Qe(t,"readOnly")??!1}function Rp(e,t){let n=gn(t),r=e.arguments[0];return!r||!Pe.isObjectLiteralExpression(r)?n:r.properties.some(i=>Pe.isPropertyAssignment(i)&&Pe.isIdentifier(i.name)&&(i.name.text==="type"||i.name.text==="converter"||i.name.text==="attribute"))||n}var gn=e=>e.some(t=>t.type==="number"||t.type==="boolean"||t.type==="string");import fe from"typescript";function ho(e){return{name:sn,analyzePhase({ts:t,node:n,context:r}){if(!t.isPropertyDeclaration(n)&&!t.isAccessor(n))return;let o=r;if(o.state===void 0)return;let{component:i,events:s}=o.state,a=De(i,n);if(a===void 0||a.kind!=="field")return;let p=e.typeScriptTypeChecker,l=p.getSymbolAtLocation(n.name),d=l===void 0?{}:be(p,l);a.description=d.description??a.description;let m=fe.isGetAccessor(n)?l?.declarations?.find(fe.isSetAccessor)??n:n,y=go(p,e.dir,n,m);if(!(typeof y=="object")){let u=o.lastAccessors[a.name];if(u!==void 0)if(u===n){if("original"in a.type)return}else return;let x=i.members.indexOf(a);i.members.splice(x,1);return}if(a.name.startsWith("on"))throw new Error(`Do not start property names with "on" as that can confuse third-party frameworks and lint rules. Found ${a.name} in ${i.name}`);let g=d.docsTags?.some(u=>u.name==="readonly")??!1,C=y.isReadonly||o.lonelyGetters.has(a.name);if(n.questionToken&&(a.hasQuestionToken=!0),a.type={text:y.resolved,original:y.original,values:y.values,references:[...a.type?.references??[],...y.references]},m!==n&&fe.isSetAccessor(m)&&fe.isGetAccessor(n)){let u=n.type,b=m.parameters[0].type?.getText(),v=u?.getText();b!==v&&v!==void 0&&(a.getterType={text:v,original:v,values:[{type:v}]})}if(a.default&&"initializer"in n&&n.initializer&&!Qt(xo(n.initializer))&&!d.docsTags?.some(u=>u.name==="default")&&(a.default=void 0),"eventName"in y){s.push(y);return}if(!g&&!C&&!d.docsTags?.some(u=>u.name==="required")&&(a.type.text=dr(a.type.text),a.type.values)){let u=a.type.values.filter(x=>x.type!=="null"&&x.type!=="undefined");u.length>0&&(a.type.values=u)}if(a.isAttributeEligible=y.isAttributeEligible,"initializer"in n&&n.initializer&&(!a.default||!a.description)){let u=n.initializer,x=p.getSymbolAtLocation(u),b=x!==void 0&&(x.flags??0)&fe.SymbolFlags.Alias?p.getAliasedSymbol(x):x,v=b?.getDeclarations()??[];if(b){let F=be(p,b);if(F.description&&(a.description||=F?.description),(F.docsTags?.length??0)>0){let K=new Set(d.docsTags?.map(D=>D.name));d.docsTags=[...d.docsTags??[],...F.docsTags?.filter(D=>D.name==="default"?(a.default||(a.default=D.text),!1):!K.has(D.name))??[]]}}v.forEach(F=>{if(!("initializer"in F))return;let K=F;if(g||=K.modifiers?.some(D=>D.kind===fe.SyntaxKind.ReadonlyKeyword)??!1,!a.default){let D=K.initializer;Qt(D)&&(a.default=D.getText(K.getSourceFile()))}})}d.docsTags=d.docsTags?.filter(u=>u.name!=="readonly"&&u.name!=="default"&&u.name!=="deprecated"),(d.docsTags?.length??0)>0&&(a.docsTags=d.docsTags),g||C?a.readonly=!0:a.readonly=void 0,g&&!C&&(a.docsOnlyReadonly=!0),!a.default&&a.type.values&&a.type.values.length>0&&a.type.values?.every(u=>u.type==="boolean")&&(a.default="false")},moduleLinkPhase({context:t}){let{states:n}=t;n.forEach(({component:r,events:o})=>{let i=r.members??[];o?.forEach(({eventName:s,bubbles:a,cancelable:p,composed:l})=>{let d=i.findIndex(v=>v.name===s);if(d===-1)throw new Error(`Event property ${s} not found in component ${r.name}`);let m=i[d];if(m.kind!=="field")throw new Error(`Event property ${s} in ${r.name} is not a field`);if(i.splice(d,1),r.events??=[],r.events.some(v=>v.name===s))throw new Error(`Event ${s} included in ${r.name} twice`);let{default:f,kind:g,static:C,type:u,...x}=m;if(u===void 0)throw new Error(`Event property ${s} in ${r.name} is missing a type`);let b={...x,name:s,type:u,bubbles:a,cancelable:p,composed:l};r.events.push(b)})})}}}function xo(e){return fe.isSatisfiesExpression(e)||fe.isParenthesizedExpression(e)?xo(e.expression):e}import hn from"typescript";var xn="@arcgis/lumina:addMethodMetadata";function Co(e){return{name:xn,analyzePhase({node:t,ts:n,context:r}){if(!n.isMethodDeclaration(t))return;let o=r,{sourceFile:i,state:{component:s}={}}=o;if(i===void 0||s===void 0)return;let a=De(s,t);if(!(a===void 0||a.kind!=="method")){if(!lt(t,"method")){let p=s.members.indexOf(a);s.members.splice(p,1);return}if(e.viteCommand==="build"){let p=e.typeScriptTypeChecker,l=Op(t,a.parameters,p,i,e.dir);a.description=l?.description??a.description,a.docsTags=l?.docsTags,a.type=l?.type??{signature:`(): ${a.return?.type?.text??"void"}`,references:[]}}Jp(t)&&(a.async=!0)}}}}function Op(e,t,n,r,o){let i=n.getSignatureFromDeclaration(e);if(i===void 0)return;e.parameters.forEach(l=>{let d=l.name;if(!hn.isIdentifier(d)){console.warn(`${xn}: Object binding patterns are not yet supported in the docs. Found ${d?.getText()} in ${e.name.getText()} in ${E(r.fileName)}`);return}let m=t?.find(x=>x.name===d.text);if(!m){console.warn(`${xn}: Unable to find the parameter ${d?.getText()} for ${e.name.getText()} in the manifest`);return}let y=n.getTypeAtLocation(l),{typeNode:f,references:g}=Ee(n,y,r,o),C=xt(f),u={original:m.type?.text??l.type?.getText(r)??"unknown",text:Ct(C),references:g,values:void 0};m.type=u});let s=n.getReturnTypeOfSignature(i),a=Ee(n,s,r,o),p=n.signatureToString(i,e,an,hn.SignatureKind.Call);return{...be(n,i),type:{signature:p.replace(" =>",":"),references:a.references}}}var Jp=e=>e.modifiers?.some?.(t=>t.kind===hn.SyntaxKind.AsyncKeyword)??!1;import{camelToKebab as To}from"@arcgis/components-utils";function bo(e){e.members?.forEach(t=>{"attribute"in t&&typeof t.attribute=="string"&&t.attribute.toLowerCase()!==t.attribute&&(t.attribute=To(t.attribute))}),e.attributes?.forEach(t=>{"name"in t&&typeof t.name=="string"&&t.name.toLowerCase()!==t.name&&(t.name=To(t.name))})}import Ye from"typescript";function vo(e){return{name:"@arcgis/lumina:addComponentMetadata",analyzePhase({moduleDoc:t,node:n,ts:r,context:o}){if(!r.isClassDeclaration(n))return;let i=yr(n.name?.text,t);if(i===void 0)return;let s=o;s.state={component:i,events:[]},s.states.push(s.state);let a=!1;s.lastAccessors={};let p=new Set;if(s.lonelyGetters=new Set,n.members.forEach(l=>{if(Ye.isAccessor(l)){let d=l.name.getText();s.lastAccessors[d]=l,Ye.isSetAccessor(l)?(p.add(d),s.lonelyGetters.delete(d)):p.has(d)||s.lonelyGetters.add(d)}a||=e.viteCommand==="build"&&Ye.isPropertyDeclaration(l)&&Ye.isIdentifier(l.name)&&l.name.text==="shadowRootOptions"&&l.initializer!==void 0&&Ye.isIdentifier(l.initializer)&&l.initializer.text==="noShadowRoot"}),i.members=i.members?.filter(Cn),i.members?.forEach(l=>{l.name=bt(l.name),"attribute"in l&&typeof l.attribute=="string"&&(l.attribute=bt(l.attribute))}),i.attributes?.forEach(l=>{l.name=bt(l.name),typeof l.fieldName=="string"&&(l.fieldName=bt(l.fieldName))}),e.viteCommand==="build"){let l=e.typeScriptTypeChecker,d=i,m=n.name===void 0?void 0:l.getSymbolAtLocation(n.name),y=m===void 0?void 0:be(l,m);d.description=y?.description??d.description,d.docsTags=y?.docsTags?.filter(f=>f.name!=="cssprop"&&f.name!=="cssproperty"&&f.name!=="csspart"&&f.name!=="slot"),d.encapsulation=a?"none":"shadow"}},moduleLinkPhase({moduleDoc:t}){V(t).forEach(n=>{bo(n),e.viteCommand==="build"&&(n.members?.sort((r,o)=>r.name.localeCompare(o.name)),n.attributes?.sort((r,o)=>r.name.localeCompare(o.name)),n.events?.sort((r,o)=>r.name.localeCompare(o.name))),n.superclass?.module&&c.isAbsolute(n.superclass.module)&&(n.superclass.module=c.relative(e.dir.root,n.superclass.module))})}}}function bt(e){return e.startsWith("'")||e.startsWith('"')?e.slice(1,-1):e.startsWith('\\"')||e.startsWith("\\'")?e.slice(2,-1*2):e}var Cn=e=>!e.name.startsWith("_")&&!e.name.startsWith("#")&&!e.static&&e.privacy!=="private"&&e.privacy!=="protected",So=e=>e.kind==="method"&&Cn(e),Ne=e=>e.kind==="field"&&Cn(e);import{litPlugin as al}from"@custom-elements-manifest/analyzer/src/browser-entrypoint.js";import pl from"typescript";import G from"typescript";var Eo="Fragment",vt="DynamicHtmlTag",St="DynamicSvgTag",Le=Symbol("dynamic html tag name"),Ze=Symbol("dynamic svg tag name"),Po=!0,Et=new Set(["class","itemProp","itemScope","itemType","itemId","itemRef","about","datatype","inlist","property","resource","typeof","vocab"]),Pt=new Set(["width","height","href","hreflang","form","download","rowSpan","colSpan","viewBox","src","exportParts","hreflang","media"]),et={button:new Set(["popoverTarget"]),input:new Set(["list","capture"]),meta:new Set(["charset"]),math:new Set(["dir","displaystyle","scriptlevel"]),menu:new Set(["label","type"]),results:new Set(["input"]),textarea:new Set(["dirname"]),quote:new Set(["cite"])},q={common:{normal:{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"},stringified:{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"}},perElement:{a:{stringified:{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"}},area:{normal:{noHref:"nohref"},stringified:{alt:"alt",coords:"coords",download:"download",shape:"shape",target:"target",ping:"ping",rel:"rel",referrerPolicy:"referrerpolicy",href:"href",interestAction:"interestaction"}},audio:{normal:{crossOrigin:"crossorigin",autoplay:"autoplay",loop:"loop",controls:"controls",defaultMuted:"muted",disableRemotePlayback:"disableremoteplayback"},stringified:{src:"src",preload:"preload"}},base:{stringified:{href:"href",target:"target"}},blockquote:{stringified:{cite:"cite"}},body:{stringified:{text:"text",link:"link",vLink:"vlink",aLink:"alink",bgColor:"bgcolor",background:"background"}},br:{stringified:{clear:"clear"}},button:{normal:{disabled:"disabled",formNoValidate:"formnovalidate"},stringified:{formAction:"formaction",formEnctype:"formenctype",formMethod:"formmethod",formTarget:"formtarget",name:"name",type:"type",value:"value",popoverTargetAction:"popovertargetaction",command:"command",interestAction:"interestaction"}},canvas:{stringified:{width:"width",height:"height"}},caption:{stringified:{align:"align"}},col:{stringified:{span:"span",align:"align",ch:"char",chOff:"charoff",vAlign:"valign",width:"width"}},colgroup:{stringified:{span:"span",align:"align",ch:"char",chOff:"charoff",vAlign:"valign",width:"width"}},data:{stringified:{value:"value"}},del:{stringified:{cite:"cite",dateTime:"datetime"}},details:{normal:{open:"open"},stringified:{name:"name"}},dialog:{normal:{open:"open"}},div:{stringified:{align:"align"}},dl:{normal:{compact:"compact"}},embed:{stringified:{src:"src",type:"type",width:"width",height:"height",align:"align",name:"name"}},fieldset:{normal:{disabled:"disabled"},stringified:{name:"name"}},form:{normal:{noValidate:"novalidate"},stringified:{acceptCharset:"accept-charset",action:"action",autocomplete:"autocomplete",enctype:"enctype",encoding:"enctype",method:"method",name:"name",target:"target",rel:"rel"}},h1:{stringified:{align:"align"}},h2:{stringified:{align:"align"}},h3:{stringified:{align:"align"}},h4:{stringified:{align:"align"}},h5:{stringified:{align:"align"}},h6:{stringified:{align:"align"}},hr:{normal:{noShade:"noshade"},stringified:{align:"align",color:"color",size:"size",width:"width"}},html:{stringified:{version:"version"}},iframe:{normal:{allowFullscreen:"allowfullscreen",credentialless:"credentialless",allowPaymentRequest:"allowpaymentrequest",browsingTopics:"browsingtopics",adAuctionHeaders:"adauctionheaders",sharedStorageWritable:"sharedstoragewritable"},stringified:{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:{normal:{crossOrigin:"crossorigin",isMap:"ismap",width:"width",height:"height",hspace:"hspace",vspace:"vspace",sharedStorageWritable:"sharedstoragewritable"},stringified:{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:{normal:{defaultChecked:"checked",disabled:"disabled",formNoValidate:"formnovalidate",height:"height",multiple:"multiple",readOnly:"readonly",required:"required",size:"size",width:"width",webkitdirectory:"webkitdirectory",incremental:"incremental"},stringified:{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"}},ins:{stringified:{cite:"cite",dateTime:"datetime"}},label:{stringified:{htmlFor:"for"}},legend:{stringified:{align:"align"}},li:{normal:{value:"value"},stringified:{type:"type"}},link:{normal:{disabled:"disabled",crossOrigin:"crossorigin"},stringified:{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:{stringified:{name:"name"}},menu:{normal:{compact:"compact"}},meta:{stringified:{name:"name",httpEquiv:"http-equiv",content:"content",media:"media",scheme:"scheme"}},meter:{normal:{value:"value",min:"min",max:"max",low:"low",high:"high",optimum:"optimum"}},object:{normal:{declare:"declare",hspace:"hspace",vspace:"vspace"},stringified:{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:{normal:{reversed:"reversed",compact:"compact"},stringified:{start:"start",type:"type"}},optgroup:{normal:{disabled:"disabled"},stringified:{label:"label"}},option:{normal:{disabled:"disabled",defaultSelected:"selected"},stringified:{label:"label",value:"value"}},output:{stringified:{name:"name"}},p:{stringified:{align:"align"}},pre:{normal:{width:"width"}},progress:{normal:{value:"value",max:"max"}},q:{stringified:{cite:"cite"}},script:{normal:{noModule:"nomodule",async:"async",defer:"defer",crossOrigin:"crossorigin",referrerPolicy:"referrerpolicy"},stringified:{src:"src",type:"type",charset:"charset",fetchPriority:"fetchpriority",event:"event",htmlFor:"for",integrity:"integrity",attributionSrc:"attributionsrc"}},select:{normal:{disabled:"disabled",multiple:"multiple",required:"required",size:"size"},stringified:{autocomplete:"autocomplete",name:"name"}},slot:{stringified:{name:"name"}},source:{normal:{width:"width",height:"height"},stringified:{src:"src",type:"type",srcset:"srcset",sizes:"sizes",media:"media"}},style:{stringified:{media:"media",type:"type"}},table:{stringified:{align:"align",border:"border",frame:"frame",rules:"rules",summary:"summary",width:"width",bgColor:"bgcolor",cellPadding:"cellpadding",cellSpacing:"cellspacing"}},tbody:{stringified:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},td:{normal:{noWrap:"nowrap"},stringified:{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:{normal:{shadowRootDelegatesFocus:"shadowrootdelegatesfocus",shadowRootClonable:"shadowrootclonable",shadowRootSerializable:"shadowrootserializable",parseparts:"parseparts"},stringified:{shadowRootMode:"shadowrootmode"}},textarea:{normal:{cols:"cols",disabled:"disabled",readOnly:"readonly",required:"required",rows:"rows"},stringified:{autocomplete:"autocomplete",dirName:"dirname",maxLength:"maxlength",minLength:"minlength",name:"name",placeholder:"placeholder",wrap:"wrap"}},tfoot:{stringified:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},th:{normal:{noWrap:"nowrap"},stringified:{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:{stringified:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},time:{stringified:{dateTime:"datetime"}},tr:{stringified:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor"}},track:{normal:{default:"default"},stringified:{kind:"kind",src:"src",srclang:"srclang",label:"label"}},ul:{normal:{compact:"compact"},stringified:{type:"type"}},video:{normal:{width:"width",height:"height",playsInline:"playsinline",disablePictureInPicture:"disablepictureinpicture",crossOrigin:"crossorigin",autoplay:"autoplay",loop:"loop",controls:"controls",defaultMuted:"muted",disableRemotePlayback:"disableremoteplayback"},stringified:{poster:"poster",src:"src",preload:"preload"}}},ambiguousReflectedProperties:["value","defaultValue"]};wo(q.common);Object.values(q.perElement).forEach(wo);function wo(e){e?.normal&&(e.normal=Object.assign(Object.create(null),e.normal)),e?.stringified&&(e.stringified=Object.assign(Object.create(null),e.stringified))}var Tn=new Set(["itemScope"]),wt=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"]),Mo=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"]),ko=new Set(["title","svg","a","script","style"]),je=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"]),Re=new Set(["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"]);var Fo="customElement",Mt=new WeakMap,No=e=>({name:"@arcgis/lumina:addCustomElementDecorator",initialize(){Mt.has(e)||Mt.set(e,{}),e.declarationTextTransformers.includes(Do)||e.declarationTextTransformers.push(Do)},analyzePhase({node:t,moduleDoc:n,ts:r,context:o}){if(!r.isSourceFile(t)||!t.fileName.endsWith(".tsx"))return;let i=o;i.sourceFile=t,i.states=[],i.state=void 0;let s=t.text;if(s.includes(`
46
46
  @customElement(`))throw new Error(`You shouldn't call @customElement() decorator directly in your component file as it will be added automatically at build time. Found in ${E(t.fileName)}. Instead, make sure your component file has the following:
47
47
  declare global {
48
48
  interface DeclareElements {
49
49
  "arcgis-your-component": ArcgisYourComponent;
50
50
  }
51
- }`);let p=bn(s);p&&(wt.get(e)[t.fileName]=p);let l=new Set;p?.forEach(([d,m])=>{if(Jp(d,m),l.has(m))throw new Error(`Unexpectedly ${m} was used to define multiple custom elements (${d} and others). Expected one tag name to correspond to one class`);l.add(m),n.exports??=[],n.exports.some(f=>f.kind==="custom-element-definition"&&f.name===d)||n.exports.push({kind:"custom-element-definition",name:d,declaration:{name:m,module:n.path}})})},packageLinkPhase({customElementsManifest:t}){t.modules.forEach(n=>{if(!n.exports)return;let r=new Set(n.exports.map(o=>o.kind==="custom-element-definition"?o.declaration.name:""));n.exports=n.exports.filter(o=>o.kind!=="js"||!r.has(o.name))})}}),Fo=(e,t)=>{let{filePath:n,content:r}=e;if(!n.startsWith(t.dir.distComponents))return e;let o=Lo(r);if(o){let i=r.replace(o,"");return{filePath:n,content:i}}else return e},No=(e,t)=>{let n=e.fileName,r=wt.get(t.compiler)??{};if(!(n in r))return e.statements;let o=r[n],i=c.relative(c.dirname(n),c.join(t.compiler.dir.src,"runtime")),s=q.factory.createImportDeclaration(void 0,q.factory.createImportClause(!1,void 0,q.factory.createNamedImports([q.factory.createImportSpecifier(!1,void 0,q.factory.createIdentifier(ko))])),q.factory.createStringLiteral(i)),a=o.map(([p,l])=>{let d=e.text.indexOf(`class ${l} `);if(d===-1&&(d=e.text.indexOf(`class ${l}
52
- `)),d===-1&&(d=e.text.indexOf(`class ${l}<`)),d===-1)throw new Error(`Unable to find the declaration of the "${l}" class in ${E(n)}`);return q.factory.createExpressionStatement(q.factory.createCallExpression(q.factory.createIdentifier(ko),void 0,[q.factory.createStringLiteral(p),q.factory.createIdentifier(l)]))});return[s,...e.statements,...a]};function bn(e){let t=Lo(e);return t===void 0?void 0:t.split(`
53
- `).filter(r=>r.includes(":")).map(r=>r.replace(";","").replaceAll('"',"").split(":")).map(([r,o])=>[r.trim(),o.trim()]).filter(([r])=>!r.startsWith("/")&&!r.startsWith("*"))}function Jp(e,t){if(!e.includes("-"))throw new Error(`Expected custom element tag name to include a hyphen. Found "${e}"`);if(e.toLowerCase()!==e)throw new Error(`Expected custom element tag name to be lowercase. Found "${e}"`);if(!Do.test(e))throw new Error(`Potentially invalid custom element name: "${e}". Expected tag name to match regex: ${Do.toString()}. This regex is stricter than what the custom elements spec allows in order to catch possible typos. Please contact Lumina maintainers if you need to loosen this check.`);if(je.has(e))throw new Error(`"${e}" is a reserved html element tag name. Declaring components with this name is forbidden by the custom elements specification.`);let n=$o(e),r=$o(e.split("-").slice(1).join("-"));if(n!==t.toLowerCase()&&r!==t.toLowerCase())throw new Error(`The custom element tag name "${e}" does not seem to match the class name it is assigned to: "${t}". Make sure tag name and class name use the same characters in the same order (case insensitive, hyphens removed). The class name may omit the "Arcgis"/"Calcite" prefix if desired.`)}var Do=/^[a-z]+(?:-[a-z\d]+)+$/u,$o=e=>e.replaceAll("-","").toLowerCase();function Lo(e){let t=e.indexOf("declare global {");if(t===-1)return;let n=e.indexOf(`
51
+ }`);let p=bn(s);p&&(Mt.get(e)[t.fileName]=p);let l=new Set;p?.forEach(([d,m])=>{if(Bp(d,m),l.has(m))throw new Error(`Unexpectedly ${m} was used to define multiple custom elements (${d} and others). Expected one tag name to correspond to one class`);l.add(m),n.exports??=[],n.exports.some(f=>f.kind==="custom-element-definition"&&f.name===d)||n.exports.push({kind:"custom-element-definition",name:d,declaration:{name:m,module:n.path}})})},packageLinkPhase({customElementsManifest:t}){t.modules.forEach(n=>{if(!n.exports)return;let r=new Set(n.exports.map(o=>o.kind==="custom-element-definition"?o.declaration.name:""));n.exports=n.exports.filter(o=>o.kind!=="js"||!r.has(o.name))})}}),Do=(e,t)=>{let{filePath:n,content:r}=e;if(!n.startsWith(t.dir.distComponents))return e;let o=Io(r);if(o){let i=r.replace(o,"");return{filePath:n,content:i}}else return e},Lo=(e,t)=>{let n=e.fileName,r=Mt.get(t.compiler)??{};if(!(n in r))return e.statements;let o=r[n],i=c.relative(c.dirname(n),c.join(t.compiler.dir.src,"runtime")),s=G.factory.createImportDeclaration(void 0,G.factory.createImportClause(!1,void 0,G.factory.createNamedImports([G.factory.createImportSpecifier(!1,void 0,G.factory.createIdentifier(Fo))])),G.factory.createStringLiteral(i)),a=o.map(([p,l])=>{let d=e.text.indexOf(`class ${l} `);if(d===-1&&(d=e.text.indexOf(`class ${l}
52
+ `)),d===-1&&(d=e.text.indexOf(`class ${l}<`)),d===-1)throw new Error(`Unable to find the declaration of the "${l}" class in ${E(n)}`);return G.factory.createExpressionStatement(G.factory.createCallExpression(G.factory.createIdentifier(Fo),void 0,[G.factory.createStringLiteral(p),G.factory.createIdentifier(l)]))});return[s,...e.statements,...a]};function bn(e){let t=Io(e);return t===void 0?void 0:t.split(`
53
+ `).filter(r=>r.includes(":")).map(r=>r.replace(";","").replaceAll('"',"").split(":")).map(([r,o])=>[r.trim(),o.trim()]).filter(([r])=>!r.startsWith("/")&&!r.startsWith("*"))}function Bp(e,t){if(!e.includes("-"))throw new Error(`Expected custom element tag name to include a hyphen. Found "${e}"`);if(e.toLowerCase()!==e)throw new Error(`Expected custom element tag name to be lowercase. Found "${e}"`);if(!$o.test(e))throw new Error(`Potentially invalid custom element name: "${e}". Expected tag name to match regex: ${$o.toString()}. This regex is stricter than what the custom elements spec allows in order to catch possible typos. Please contact Lumina maintainers if you need to loosen this check.`);if(Re.has(e))throw new Error(`"${e}" is a reserved html element tag name. Declaring components with this name is forbidden by the custom elements specification.`);let n=Ao(e),r=Ao(e.split("-").slice(1).join("-"));if(n!==t.toLowerCase()&&r!==t.toLowerCase())throw new Error(`The custom element tag name "${e}" does not seem to match the class name it is assigned to: "${t}". Make sure tag name and class name use the same characters in the same order (case insensitive, hyphens removed). The class name may omit the "Arcgis"/"Calcite" prefix if desired.`)}var $o=/^[a-z]+(?:-[a-z\d]+)+$/u,Ao=e=>e.replaceAll("-","").toLowerCase();function Io(e){let t=e.indexOf("declare global {");if(t===-1)return;let n=e.indexOf(`
54
54
  }`,t)+2;if(e.indexOf("declare global {",n)!==-1)throw new Error(`Detected multiple "declare global {" in a single file. Declaring multiple components in a single file is supported, but they should share the same "declare global {" block. Example:
55
55
  declare global {
56
56
  interface DeclareElements {
57
57
  "arcgis-test1": ArcgisTest1;
58
58
  "arcgis-test2": ArcgisTest2;
59
59
  }
60
- }`);return e.slice(t,n)}import{readFile as Zo,writeFile as pl}from"node:fs/promises";import{isNotUndefined as _o}from"@arcgis/components-utils";import{isNotUndefined as Sn}from"@arcgis/components-utils";import{readFile as vn,readdir as Bp}from"node:fs/promises";async function Mt(e){return me??=Wp(e),await me}function jo(){if(En===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return En}function kt(){if(Pn===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return Pn}async function Wp(e){let n=A(e).peerDependencies??{},o=(await Promise.all(Object.keys(n).flatMap(async i=>await wn(i,e)))).filter(Sn);return En??=o,Pn=Object.fromEntries(o.flatMap(i=>Object.entries(i.components))),o}var En,Pn,me;async function wn(e,t){let n=await pe(e,t),r=await ae(n),o="exports"in r,i=qp.bind(void 0,o),s="@stencil/core"in(r.dependencies??{})||"@stencil/core"in(r.devDependencies??{}),a=c.join(n,"dist/esm/loader.js");if(s?await B(a):!1){let f=await vn(a,"utf8"),g=Kp(f,"bootstrapLazy("),C=f.indexOf(", options",g),u=f.slice(g,C),x=u.startsWith('JSON.parse("')?u.slice(12,-2).replaceAll('\\"','"'):u;try{let b=JSON.parse(x),v=Vp(b,{packageName:e,getImportPath:i});return{packageName:e,type:"stencil",components:v}}catch(b){console.warn(`@arcgis/lit: Failed to parse dist/esm/loader.js for ${e}.
61
- Error: ${String(b)}`)}}let l=Io(r.customElements);if(l){let f=c.join(n,l),g=JSON.parse(await vn(f,"utf-8")),C=Hp(g),u=Mn(g,{packageName:e,getImportPath:i});return{type:C?"@arcgis/lumina":"unknown",packageName:e,components:u}}let d=Io(r["web-types"]);if(d){let f=c.join(n,d),g=JSON.parse(await vn(f,"utf-8")),C=Up(g,{packageName:e,getImportPath:i,packageRoot:n});return{type:"unknown",packageName:e,components:C}}let m=c.join(n,"dist/components");if(await B(m)){let f=await zp(m,{packageName:e,getImportPath:i});return{type:"unknown",packageName:e,components:f}}}var Io=e=>Array.isArray(e)?e[0]:e;function Kp(e,t){let n=e.indexOf(t);return n===-1?-1:n+t.length}var Mn=(e,t)=>Object.fromEntries(e.modules.flatMap(n=>n.declarations?.filter(r=>r.kind==="class"&&"tagName"in r&&"customElement"in r).map(r=>{let o=r,i=o,s=o.tagName;return[s,{packageName:t.packageName,moduleName:i.importPath??t.getImportPath(s),propToAttribute:Object.fromEntries((o.attributes??[]).map(a=>[a.fieldName??a.name,a.name]).filter(Sn))}]})).filter(Sn)),Hp=e=>e.compiler?.name===$e,Up=(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 Vp=(e,t)=>Object.fromEntries(e.flatMap(([n,r])=>r.map(([o,i,s={}])=>[i,{packageName:t.packageName,moduleName:t.getImportPath(i),propToAttribute:Object.fromEntries(Object.entries(s).filter(([a,[p]])=>p&15).map(([a,[p,l=a]])=>[a,l]))}]))),zp=async(e,t)=>Object.fromEntries((await Bp(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:{}}]})),qp=(e,t)=>e?`components/${t}`:`dist/components/${t}`;var Gp=e=>e.startsWith("/")?e:`/${e}`,Re=(e,t)=>`${e}@fs${Gp(t)}`;function te(e=A(),t=!1,n=e.name==="@esri/calcite-components"){let r=e.version.includes("next"),o=t||r?"jsdev.arcgis.com":"js.arcgis.com",i=_p(e.name),s=Xp(e.version,n);return["https://",o,i.length>0?"/":"",i,"/",s,"/"].join("")}var _p=e=>e.split("/").pop()??e;function Xp(e,t){if(/\d+\.\d+\.\d+-(?:.*)$/u.test(e))return"next";let r=/^(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)/u,o=e.match(r);if(o?.groups){let{major:i,minor:s,patch:a}=o.groups,p=`${i}.${s}`;return t?`${p}.${a}`:p}return"next"}import{isNotUndefined as el}from"@arcgis/components-utils";import{readdir as tl}from"node:fs/promises";import{build as Zp}from"esbuild";import{getPreamble as Qp,identity as Yp}from"@arcgis/components-utils";import fe from"typescript";function Ro(e){let t=e&&c.isAbsolute(e)?e:ut(e??"tsconfig.json");if(!t)throw new Error(`Unable to find ${E(String(e))} in ${process.cwd()}. Please make sure the file exists, or provide types.tsconfigPath option to useLumina()`);let n=fe.readConfigFile(t,fe.sys.readFile);if(n.error)throw new Error(fe.formatDiagnosticsWithColorAndContext([n.error],{getCanonicalFileName:Yp,getCurrentDirectory:fe.sys.getCurrentDirectory,getNewLine:()=>fe.sys.newLine}));let r=fe.parseJsonConfigFileContent(n.config,fe.sys,c.dirname(t));return{path:t,config:r}}function Oo(e=A()){let t=e.version??"0.0.1";return Qp(t)}var Jo=e=>`/*!
60
+ }`);return e.slice(t,n)}import{readFile as ei,writeFile as ll}from"node:fs/promises";import{isNotUndefined as Xo}from"@arcgis/components-utils";import{isNotUndefined as Sn}from"@arcgis/components-utils";import{readFile as vn,readdir as Wp}from"node:fs/promises";async function kt(e){return ue??=Kp(e),await ue}function Ro(){if(En===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return En}function Ft(){if(Pn===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return Pn}async function Kp(e){let t=A(e),n=t.dependencies??{},r=t.peerDependencies??{},i=(await Promise.all([...Object.keys(n),...Object.keys(r)].filter(s=>!Hp.has(s)).flatMap(async s=>await wn(s,e)))).filter(Sn);return En??=i,Pn=Object.fromEntries(i.flatMap(s=>Object.entries(s.components))),i}var Hp=new Set(["@arcgis/arcade-languageservice","@arcgis/components-controllers","@arcgis/components-utils","@arcgis/core","@arcgis/languages-api-utils","@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"]),En,Pn,ue;async function wn(e,t){let n=await de(e,t),r=await le(n),o="exports"in r,i=_p.bind(void 0,o),s="@stencil/core"in(r.dependencies??{})||"@stencil/core"in(r.devDependencies??{}),a=c.join(n,"dist/esm/loader.js");if(s?await B(a):!1){let f=await vn(a,"utf8"),g=Up(f,"bootstrapLazy("),C=f.indexOf(", options",g),u=f.slice(g,C),x=u.startsWith('JSON.parse("')?u.slice(12,-2).replaceAll('\\"','"'):u;try{let b=JSON.parse(x),v=qp(b,{packageName:e,getImportPath:i});return{packageName:e,type:"stencil",components:v}}catch(b){console.warn(`@arcgis/lit: Failed to parse dist/esm/loader.js for ${e}.
61
+ Error: ${String(b)}`)}}let l=jo(r.customElements);if(l){let f=c.join(n,l),g=JSON.parse(await vn(f,"utf-8")),C=Vp(g),u=Mn(g,{packageName:e,getImportPath:i});return{type:C?"@arcgis/lumina":"unknown",packageName:e,components:u}}let d=jo(r["web-types"]);if(d){let f=c.join(n,d),g=JSON.parse(await vn(f,"utf-8")),C=zp(g,{packageName:e,getImportPath:i,packageRoot:n});return{type:"unknown",packageName:e,components:C}}let m=c.join(n,"dist/components");if(await B(m)){let f=await Gp(m,{packageName:e,getImportPath:i});return{type:"unknown",packageName:e,components:f}}}var jo=e=>Array.isArray(e)?e[0]:e;function Up(e,t){let n=e.indexOf(t);return n===-1?-1:n+t.length}var Mn=(e,t)=>Object.fromEntries(e.modules.flatMap(n=>n.declarations?.filter(r=>r.kind==="class"&&"tagName"in r&&"customElement"in r).map(r=>{let o=r,i=o,s=o.tagName;return[s,{packageName:t.packageName,moduleName:i.importPath??t.getImportPath(s),propToAttribute:Object.fromEntries((o.attributes??[]).map(a=>[a.fieldName??a.name,a.name]).filter(Sn))}]})).filter(Sn)),Vp=e=>e.compiler?.name===Ae,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 qp=(e,t)=>Object.fromEntries(e.flatMap(([n,r])=>r.map(([o,i,s={}])=>[i,{packageName:t.packageName,moduleName:t.getImportPath(i),propToAttribute:Object.fromEntries(Object.entries(s).filter(([a,[p]])=>p&15).map(([a,[p,l=a]])=>[a,l]))}]))),Gp=async(e,t)=>Object.fromEntries((await Wp(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:{}}]})),_p=(e,t)=>e?`components/${t}`:`dist/components/${t}`;var Xp=e=>e.startsWith("/")?e:`/${e}`,Oe=(e,t)=>`${e}@fs${Xp(t)}`;function te(e=A(),t=!1,n=e.name==="@esri/calcite-components"){let r=e.version.includes("next"),o=t||r?"jsdev.arcgis.com":"js.arcgis.com",i=Qp(e.name),s=Yp(e.version,n);return["https://",o,i.length>0?"/":"",i,"/",s,"/"].join("")}var Qp=e=>e.split("/").pop()??e;function Yp(e,t){if(/\d+\.\d+\.\d+-(?:.*)$/u.test(e))return"next";let r=/^(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)/u,o=e.match(r);if(o?.groups){let{major:i,minor:s,patch:a}=o.groups,p=`${i}.${s}`;return t?`${p}.${a}`:p}return"next"}import{isNotUndefined as nl}from"@arcgis/components-utils";import{readdir as rl}from"node:fs/promises";import{build as tl}from"esbuild";import{getPreamble as Zp,identity as el}from"@arcgis/components-utils";import ye from"typescript";function Oo(e){let t=e&&c.isAbsolute(e)?e:yt(e??"tsconfig.json");if(!t)throw new Error(`Unable to find ${E(String(e))} in ${process.cwd()}. Please make sure the file exists, or provide types.tsconfigPath option to useLumina()`);let n=ye.readConfigFile(t,ye.sys.readFile);if(n.error)throw new Error(ye.formatDiagnosticsWithColorAndContext([n.error],{getCanonicalFileName:el,getCurrentDirectory:ye.sys.getCurrentDirectory,getNewLine:()=>ye.sys.newLine}));let r=ye.parseJsonConfigFileContent(n.config,ye.sys,c.dirname(t));return{path:t,config:r}}function Jo(e=A()){let t=e.version??"0.0.1";return Zp(t)}var Bo=e=>`/*!
62
62
  ${e.split(`
63
63
  `).map(t=>` * ${t}`).join(`
64
64
  `)}
65
- */`,L=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(o){Object.defineProperty(t,n,{value:o,configurable:!0,writable:!0,enumerable:!0})},configurable:!0,enumerable:!0})};function Ft(e){let t=e.options.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=fe.ScriptTarget[t].toLowerCase();return n==="latest"?"esnext":n}function Oe(e){if(c.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 Me(e)}var kn=new Set(["chunks","components","docs","types","controllers","cjs","esm","loader","utils","collection","extras","support"]),Je="cdn";function Bo(e){let{skip:t=!1,namespace:n=Je,esbuildOptions:r={}}=e.options.build?.cdn??{};if(n.toLowerCase()!==n)throw new Error(`Expected CDN namespace to be all lowercase. Received: ${n}`);if(kn.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 o=n===Je?"index":n;if(e.provideAssets([{type:"dynamic",source:()=>ao(e),destination:`../${o}.css`}]),!t)return{name:"@arcgis/lumina:buildCdn",async writeBundle(){if(e.isInStorybook)return;let i=e.environment,s=Date.now();await Zp({bundle:!0,minify:i==="production",treeShaking:!0,sourcemap:i==="development"?"inline":e.options.build?.enableSourceMapsInProduction?"linked":!1,format:"esm",splitting:!0,outdir:e.dir.distCdn,legalComments:"none",logLevel:"warning",external:["@arcgis/core"],chunkNames:"[hash]",resolveExtensions:[".js",".json"],entryNames:`${o}.esm`,banner:{js:e.banner},target:Ft(e.typeScriptConfig),...r,define:{"process.env.CDN":"true",...r.define},stdin:{contents:['import { defineCustomElements } from "./loader";',fn(e.globalCssString,e),"defineCustomElements();"].join(`
66
- `),sourcefile:`${o}.esm.js`,resolveDir:"dist",loader:"js",...r.stdin}});let a=Date.now();console.log(`CDN was built in ${a-s}ms`)}}}async function Ko(e,t,n,r){let o=await pe(t),{hasCss:i,cdnName:s}=await Fn(c.join(o,"dist"))??{};if(n==="storybookBuild"){let d=await ae(o),m=te(d,!0);return[...i?[{tag:"link",attrs:{rel:"stylesheet",src:`${m}${s}.css`}}]:[],{tag:"script",attrs:{type:"module",src:`${m}${s}.esm.js`}}]}let a=`${t}/dist/${s}/${s}.css${de}`,p=i?[`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: "${Re(e,o)}/dist/${s}/",`,"});"]}]}async function Fn(e){let n=(await tl(e)).filter(o=>!kn.has(o)&&!o.includes(".")),r=n.find(o=>o.startsWith("arcgis-"));return r?await Wo(e,r):await Promise.all(n.map(async o=>await Wo(e,o))).then(o=>o.find(el))}async function Wo(e,t){let n=c.join(e,t,`${t}.css`),r=c.join(e,t,"assets"),[o,i]=await Promise.all([B(n),B(r)]);return o||i?{hasCss:o,cdnName:t}:void 0}async function Ho(e,t,n,r){let o=await pe(t),i=await Fn(c.join(o,"dist"));if(i===void 0)throw new Error(`Failed to infer the CDN namespace name for the ${t}`);let{cdnName:s}=i;if(n==="storybookBuild"){let p=await ae(o);return{tag:"script",attrs:{type:"module",src:`${te(p,!0)}${s}.esm.js`}}}let a=`${t}/loader`;return{optimizableImports:[a],javascriptCode:[`import { defineCustomElements as defineCustomElements$${r} } from "${a}";`,`defineCustomElements$${r}({`,` resourcesUrl: "${Re(e,o)}/dist/${s}/",`,"});"]}}var Vo="@arcgis/core",nl=A(),Dn=Vo in(nl.peerDependencies??{});async function zo(e,t){if(!Dn)return[];let n=await pe(Vo);if(t==="storybookBuild"){let r=await ae(n),o=te({name:"",version:r.version},!0);return[{tag:"script",attrs:{type:"importmap"},children:JSON.stringify({imports:{"@arcgis/core/":`${o}@arcgis/core/`}})},Uo(o)]}else return[Uo(Re(e,`${n}/assets/`))]}var Uo=e=>({cssHref:`${e}esri/themes/light/main.css`,id:"arcgisCoreStylesheet"});async function Pe(e){let t=qo.get(e);return t||(t=rl(e),qo.set(e,t)),await t}var qo=new WeakMap;async function rl(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 Ko(n,p.packageName,t,l):p.type==="@arcgis/lumina"?await Ho(n,p.packageName,t,l):void 0))).filter(_o).flat(),o=await Promise.all([me.then(r),An(e).then(r),zo(n,t)]),i=c.join(e.dir.src,"loader.ts");return[...e.viteCommand==="serve"?[$n]:[],...o.flat(),{optimizableImports:[],javascriptCode:[`import { defineCustomElements } from "${i}";`,`defineCustomElements(${t==="storybookBuild"?`{resourcesUrl:"./${e.options.build?.cdn?.namespace??Je}/"}`:""});`]}]}var $n={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.",',");"]},Go=new WeakMap;async function An(e){let t=e.options?.serve?.extraDependencies??[];if(t.length===0)return[];let n=Go.get(e);return n||(n=Promise.all(t.map(async r=>await wn(r))).then(r=>r.filter(_o)),Go.set(e,n)),await n}var Nn="/@arcgis/lumina-compiler/testLitSetupFile",Ln="/@arcgis/lumina-compiler/testSetupFile",Dt=[Nn,Ln],Qo=$n.javascriptCode.join(`
67
- `);async function Yo(e){if(!e.viteConfig.test?.browser?.enabled)return Xo(e);let n=(await Pe(e)).map((r,o)=>{if("javascriptCode"in r)return r.javascriptCode.join(`
68
- `);if("cssHref"in r)return[`import styles$t${o} from "${r.cssHref}${de}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$t${o}.styleSheet];`].join(`
65
+ */`,L=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(o){Object.defineProperty(t,n,{value:o,configurable:!0,writable:!0,enumerable:!0})},configurable:!0,enumerable:!0})};function Dt(e){let t=e.options.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=ye.ScriptTarget[t].toLowerCase();return n==="latest"?"esnext":n}function Je(e){if(c.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 ke(e)}var kn=new Set(["chunks","components","docs","types","controllers","cjs","esm","loader","utils","collection","extras","support"]),Be="cdn";function Wo(e){let{skip:t=!1,namespace:n=Be,esbuildOptions:r={}}=e.options.build?.cdn??{};if(n.toLowerCase()!==n)throw new Error(`Expected CDN namespace to be all lowercase. Received: ${n}`);if(kn.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 o=n===Be?"index":n;if(e.provideAssets([{type:"dynamic",source:()=>po(e),destination:`../${o}.css`}]),!t)return{name:"@arcgis/lumina:buildCdn",async writeBundle(){if(e.isInStorybook)return;let i=e.environment,s=Date.now();await tl({bundle:!0,minify:i==="production",treeShaking:!0,sourcemap:i==="development"?"inline":e.options.build?.enableSourceMapsInProduction?"linked":!1,format:"esm",splitting:!0,outdir:e.dir.distCdn,legalComments:"none",logLevel:"warning",external:["@arcgis/core"],chunkNames:"[hash]",resolveExtensions:[".js",".json"],entryNames:`${o}.esm`,banner:{js:e.banner},target:Dt(e.typeScriptConfig),...r,define:{"process.env.CDN":"true",...r.define},stdin:{contents:['import { defineCustomElements } from "./loader";',fn(e.globalCssString,e),"defineCustomElements();"].join(`
66
+ `),sourcefile:`${o}.esm.js`,resolveDir:"dist",loader:"js",...r.stdin}});let a=Date.now();console.log(`CDN was built in ${a-s}ms`)}}}async function Ho(e,t,n,r){let o=await de(t),{hasCss:i,cdnName:s}=await Fn(c.join(o,"dist"))??{};if(n==="storybookBuild"){let d=await le(o),m=te(d,!0);return[...i?[{tag:"link",attrs:{rel:"stylesheet",src:`${m}${s}.css`}}]:[],{tag:"script",attrs:{type:"module",src:`${m}${s}.esm.js`}}]}let a=`${t}/dist/${s}/${s}.css${me}`,p=i?[`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: "${Oe(e,o)}/dist/${s}/",`,"});"]}]}async function Fn(e){let n=(await rl(e)).filter(o=>!kn.has(o)&&!o.includes(".")),r=n.find(o=>o.startsWith("arcgis-"));return r?await Ko(e,r):await Promise.all(n.map(async o=>await Ko(e,o))).then(o=>o.find(nl))}async function Ko(e,t){let n=c.join(e,t,`${t}.css`),r=c.join(e,t,"assets"),[o,i]=await Promise.all([B(n),B(r)]);return o||i?{hasCss:o,cdnName:t}:void 0}async function Uo(e,t,n,r){let o=await de(t),i=await Fn(c.join(o,"dist"));if(i===void 0)throw new Error(`Failed to infer the CDN namespace name for the ${t}`);let{cdnName:s}=i;if(n==="storybookBuild"){let p=await le(o);return{tag:"script",attrs:{type:"module",src:`${te(p,!0)}${s}.esm.js`}}}let a=`${t}/loader`;return{optimizableImports:[a],javascriptCode:[`import { defineCustomElements as defineCustomElements$${r} } from "${a}";`,`defineCustomElements$${r}({`,` resourcesUrl: "${Oe(e,o)}/dist/${s}/",`,"});"]}}var Dn="@arcgis/core",Vo=A(),$n=Dn in(Vo.dependencies??{})||Dn in(Vo.peerDependencies??{});async function qo(e,t){if(!$n)return[];let n=await de(Dn);if(t==="storybookBuild"){let r=await le(n),o=te({name:"",version:r.version},!0);return[{tag:"script",attrs:{type:"importmap"},children:JSON.stringify({imports:{"@arcgis/core/":`${o}@arcgis/core/`}})},zo(o)]}else return[zo(Oe(e,`${n}/assets/`))]}var zo=e=>({cssHref:`${e}esri/themes/light/main.css`,id:"arcgisCoreStylesheet"});async function we(e){let t=Go.get(e);return t||(t=ol(e),Go.set(e,t)),await t}var Go=new WeakMap;async function ol(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 Ho(n,p.packageName,t,l):p.type==="@arcgis/lumina"?await Uo(n,p.packageName,t,l):void 0))).filter(Xo).flat(),o=await Promise.all([ue.then(r),Nn(e).then(r),qo(n,t)]),i=c.join(e.dir.src,"loader.ts");return[...e.viteCommand==="serve"?[An]:[],...o.flat(),{optimizableImports:[],javascriptCode:[`import { defineCustomElements } from "${i}";`,`defineCustomElements(${t==="storybookBuild"?`{resourcesUrl:"./${e.options.build?.cdn?.namespace??Be}/"}`:""});`]}]}var An={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.",',");"]},_o=new WeakMap;async function Nn(e){let t=e.options?.serve?.extraDependencies??[];if(t.length===0)return[];let n=_o.get(e);return n||(n=Promise.all(t.map(async r=>await wn(r))).then(r=>r.filter(Xo)),_o.set(e,n)),await n}var Ln="/@arcgis/lumina-compiler/testLitSetupFile",In="/@arcgis/lumina-compiler/testSetupFile",$t=[Ln,In],Yo=An.javascriptCode.join(`
67
+ `);async function Zo(e){if(!e.viteConfig.test?.browser?.enabled)return Qo(e);let n=(await we(e)).map((r,o)=>{if("javascriptCode"in r)return r.javascriptCode.join(`
68
+ `);if("cssHref"in r)return[`import styles$t${o} from "${r.cssHref}${me}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$t${o}.styleSheet];`].join(`
69
69
  `);throw new Error(`Unexpected loader type for the browser test environment: ${JSON.stringify(r)}`)}).join(`
70
70
 
71
- `);return[Xo(e),n].join("")}var Xo=e=>[e.isInPuppeteerTestBackEnd?ol:"",il].join(""),ol=`import { setupPuppeteerTest } from "@arcgis/lumina-compiler/puppeteerTesting";
71
+ `);return[Qo(e),n].join("")}var Qo=e=>[e.isInPuppeteerTestBackEnd?il:"",sl].join(""),il=`import { setupPuppeteerTest } from "@arcgis/lumina-compiler/puppeteerTesting";
72
72
  setupPuppeteerTest();
73
- `,il=`import { setupLuminaTest } from "@arcgis/lumina-compiler/testing";
73
+ `,sl=`import { setupLuminaTest } from "@arcgis/lumina-compiler/testing";
74
74
  setupLuminaTest();
75
- `;function ei(e){let t;async function n(){let u=t===void 0;u&&e.viteCommand==="serve"&&(e.typeScriptHost=al.createCompilerHost(e.typeScriptConfig.options,!1)),t??=[sl().find(({name:v})=>v==="CORE - LIT-PROPERTY-DECORATOR"),Ao(e),bo(e),...e.viteCommand==="build"?[go(e)]:[],xo(e),...e.options.manifests?.plugins??[]],u||(e.componentFilesPromise=Ge(e,e.dir.srcComponents));let x=await e.componentFilesPromise,b=await ll(e,x);return dn({plugins:t,modules:b,context:oo},e,!1)}function r(u,x){if(s===void 0)return!1;let b=e.getSourceFile(u,x),{modules:[v]}=dn({plugins:t,modules:[b]},e,!0),F=e.manifest.modules.findIndex(H=>H.path===v.path),K=e.manifest.modules[F],D=Array.from(e.manifest.modules);D.splice(F,1,v),e.manifest={...e.manifest,modules:D};let X=[],Ce=U(v,!0);e.manifestComponents=e.manifestComponents.filter(H=>H.sourcePath===K.path?(X.push(H),!1):!0);let Ue=Ce.length!==X.length,Gt=Ce.map(H=>{let js=X.find(Rs=>Rs.tagName===H.tagName)===void 0;return Ue||=js,H});return Ue?!1:(Gt.forEach(H=>{let tr=yn(H);e.server.ws.send({type:"custom",event:"component-meta-update",data:tr}),e.manifestComponents.push(H),H.sourcePath=v.path}),g(),!0)}let o=!1,i,s,a,p,l,d="@arcgis/lumina:generateManifestPlugin",m={name:d,configResolved(){p=c.join(e.dir.root,"src","loader.ts"),l=E(p)},resolveId:u=>u===p||u===l?p:void 0,async load(u){let x=u.startsWith(Nn),b=u.startsWith(Ln);if(!(!u.endsWith(".tsx")&&u!==p&&!x&&!b)){if(!s&&!e.isInPuppeteerTestBackEnd){a||clearTimeout(i),a??=n().catch(F=>{throw o=!0,F});let v=await a;s??=v}return u===p?po(e):x?Qo:b?await Yo(e):void 0}},async writeBundle(){e.isInStorybook||await pl(c.join(e.dir.dist,"loader.d.ts"),lo)},async handleHotUpdate({file:u,modules:x,read:b}){let v=await y(u,b);return v===void 0?void 0:v?x:(f(),[])},configureServer(u){if(e.isInPuppeteerTestBackEnd)return;e.isInTest&&u.watcher.on("change",b=>{y(b,async()=>await Zo(b,"utf8")).catch(console.error)}),u.watcher.on("add",x),u.watcher.on("unlink",x),u.watcher.on("addDir",b=>b.startsWith(e.dir.srcComponents)?void Ge(e,e.dir.srcComponents,b).then(v=>v.length>0?f():void 0):void 0),u.watcher.on("unlinkDir",b=>{e.componentFiles.some(F=>F.startsWith(b))&&f()});function x(b){le(b,e.dir.srcComponents)&&f()}u.watcher.on("change",()=>{if(!o)return;o=!1,i=setTimeout(()=>f(!0),1e3)})}};async function y(u,x){if(!le(u,e.dir.srcComponents))return;let v=await x();return r(u,v)}function f(u=!1){!u&&s===void 0||(s=void 0,a=void 0,g(),C())}function g(){let u=e.server.moduleGraph.getModuleById(p);u?e.server.moduleGraph.invalidateModule(u):(console.warn(`${d}: Failed to find HMR module for src/loader.ts`),e.server.moduleGraph.invalidateAll())}let C=()=>e.server.ws.send({type:"full-reload",path:c.join("/",c.relative(e.dir.root,p))});return m}async function ll(e,t){if(e.viteCommand==="build"){let n=e.typeScriptProgram.getSourceFiles(),r=new Set(t);return n.filter(o=>r.has(o.fileName))}else return await Promise.all(t.map(async n=>{let r=await Zo(n,"utf8");return e.getSourceFile(n,r)}))}import dl from"mime-types";import{copyFile as cl,readFile as ni,readdir as ml,mkdir as In,writeFile as ri}from"node:fs/promises";var fl="@arcgis/lumina:provideAssets";function ue(e,t,n=At){if(e.viteCommand!=="serve")throw new Error("serveAssets() is only available when Vite is running in serve mode");let r=e.serverConfigured,o=e.server.middlewares.stack.length;if(t.forEach(i=>{let s=oi(i),a=si(e.dir,ii(s)),p=yl(e.viteConfig.base,a,e.dir.distCdn);e.server.middlewares.use(p,(l,d,m)=>{let y=gl(l.url),f=s.type==="directory"?c.resolve(s.source,y.slice(1)):s.source,g=c.join(a,y),C=n.find(u=>u.match(g,e));return(typeof f=="function"?Promise.resolve(f()):ni(f)).then(u=>{let x=(typeof f=="function"?void 0:C?.transform(u.toString("utf8"),g,e))??u;d.setHeader("Cache-Control","max-age=31536000, immutable"),d.setHeader("Content-Type",dl.lookup(y)||"application/octet-stream"),d.write(x),d.end()}).catch(u=>{(s.type!=="directory"||process.env.DEBUG)&&console.error(fl,`Error occurred when trying to serve a file in response to request for "${l.originalUrl??y}":`,u),m()}),!0})}),r){let i=e.server.middlewares.stack.splice(o);e.server.middlewares.stack.splice(0,0,...i)}}async function $t(e,t,n=At){await Promise.all(t.map(async r=>{let o=oi(r),i=si(e.dir,ii(o));if(o.type==="directory"){let s=c.resolve(o.source),p=(await ml(s,{recursive:!0,withFileTypes:!0})).filter(l=>l.isFile()).map(l=>{let d=c.resolve(l.path,l.name),m=c.relative(s,d),y=c.join(i,m);return[d,y]});await jn(p.map(([l,d])=>d)),await Promise.all(p.map(async([l,d])=>await ti(l,d,n,e)))}else if(o.type==="file")await In(c.dirname(i),{recursive:!0}),await ti(o.source,i,n,e);else if(o.type==="dynamic"){await In(c.dirname(i),{recursive:!0});let s=await Promise.resolve(o.source());await ri(i,s)}}))}var oi=_t?e=>e:e=>e.type==="dynamic"?{...e,destination:Me(e.destination)}:{...e,source:Me(e.source),destination:Me(e.destination)};async function ti(e,t,n,r){let o=n.find(i=>i.match(t,r));if(o===void 0)await cl(e,t);else{let i=await ni(e,"utf8"),s=o.transform(i,t,r);await ri(t,s)}}function ii(e){if(e.type==="dynamic")return e.destination;if(e.source.endsWith(c.sep)){if(e.type==="file")throw new Error(`Unexpectedly tried to provide an asset with type "file", whose source looks like a directory: ${E(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===""?c.basename(e.source):e.destination.endsWith(c.sep)?e.type==="directory"&&e.destination===c.sep?e.destination:c.join(e.destination,c.basename(e.source)):e.destination}function si({dist:e,distCdnAssets:t},n){let r=ul(n),o=c.join(t,r?c.relative(t,n):n),i=c.relative(e,o),s=ai(i);return c.join(e,s)}function ul(e){if(e.startsWith(c.sep)){let t=Q(),n=t.startsWith(c.sep)?t.split(c.sep)[1]??"":"";return e.startsWith(`/${n}/`)||e.startsWith("/Users/")}else return!!(!_t&&c.isAbsolute(e))}function yl(e,t,n){let r=ai(c.relative(n,t)),o=r.startsWith("/")?r.slice(1):r;return`${e}${o}`}var ai=e=>e.replaceAll("../",""),gl=(e="")=>e.split("?")[0].split("#")[0];async function jn(e){let t=new Set(e.map(c.dirname));await Promise.all(Array.from(t,async n=>await In(n,{recursive:!0})))}var hl={match:(e,t)=>t.environment==="production"&&e.endsWith(".json"),transform:e=>JSON.stringify(JSON.parse(e))},At=[hl];import{isNotUndefined as xl}from"@arcgis/components-utils";function pi(e){let t,n=()=>[...e.options.assets?.transformers??[],...At];return{name:"@arcgis/lumina:handleStaticAssets",configResolved(){t=Cl(e)},async configureServer(r){e.server=r,!e.isInPuppeteerTestBackEnd&&(ue(e,await t,n()),r.watcher.on("addDir",o=>{if(o.endsWith("assets")){let i=c.dirname(o);c.join(i,"/")===e.dir.root?ue(e,[di],n()):o.startsWith(e.dir.srcComponents)&&ue(e,[li(o,i,e.dir.srcComponents)],n())}}))},async writeBundle(){await $t(e,await t,n())}}}async function Cl(e){let t=B("assets"),n=await e.componentFilesPromise,r=await Promise.all(n.map(async o=>{let i=c.dirname(o),s=c.join(i,"assets");return await B(s)?li(s,i,e.dir.srcComponents):void 0}));return await t&&r.push(di),r.filter(xl)}var li=(e,t,n)=>({type:"directory",source:e,destination:c.relative(n,t)}),di={type:"directory",source:"assets/",destination:""};import{mkdir as Tl,writeFile as Nt}from"node:fs/promises";function ci(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=A()?.name??e.options.build?.cdn?.namespace??c.basename(e.dir.root),r=`${n}/hydrate`,o=c.resolve(e.dir.root,t.path??"hydrate"),i="index.d.ts",s="index.js",a="index.mjs",p=c.join(o,"index.d.ts"),l=c.join(o,"index.js"),d=c.join(o,"index.mjs"),m=Y(o,e.dir.dist),f=`${Array.from(new Set(e.manifestComponents.map(g=>`import "${m}/${g.importPath}";`))).join(`
75
+ `;function ti(e){let t;async function n(){let u=t===void 0;u&&e.viteCommand==="serve"&&(e.typeScriptHost=pl.createCompilerHost(e.typeScriptConfig.options,!1)),t??=[al().find(({name:v})=>v==="CORE - LIT-PROPERTY-DECORATOR"),No(e),vo(e),...e.viteCommand==="build"?[ho(e)]:[],Co(e),...e.options.manifests?.plugins??[]],u||(e.componentFilesPromise=Ge(e,e.dir.srcComponents));let x=await e.componentFilesPromise,b=await dl(e,x);return dn({plugins:t,modules:b,context:io},e,!1)}function r(u,x){if(s===void 0)return!1;let b=e.getSourceFile(u,x),{modules:[v]}=dn({plugins:t,modules:[b]},e,!0),F=e.manifest.modules.findIndex(U=>U.path===v.path),K=e.manifest.modules[F],D=Array.from(e.manifest.modules);D.splice(F,1,v),e.manifest={...e.manifest,modules:D};let H=[],ie=V(v,!0);e.manifestComponents=e.manifestComponents.filter(U=>U.sourcePath===K.path?(H.push(U),!1):!0);let se=ie.length!==H.length,pt=ie.map(U=>{let Rs=H.find(Os=>Os.tagName===U.tagName)===void 0;return se||=Rs,U});return se?!1:(pt.forEach(U=>{let nr=yn(U);e.server.ws.send({type:"custom",event:"component-meta-update",data:nr}),e.manifestComponents.push(U),U.sourcePath=v.path}),g(),!0)}let o=!1,i,s,a,p,l,d="@arcgis/lumina:generateManifestPlugin",m={name:d,configResolved(){p=c.join(e.dir.root,"src","loader.ts"),l=E(p)},resolveId:u=>u===p||u===l?p:void 0,async load(u){let x=u.startsWith(Ln),b=u.startsWith(In);if(!(!u.endsWith(".tsx")&&u!==p&&!x&&!b)){if(!s&&!e.isInPuppeteerTestBackEnd){a||clearTimeout(i),a??=n().catch(F=>{throw o=!0,F});let v=await a;s??=v}return u===p?lo(e):x?Yo:b?await Zo(e):void 0}},async writeBundle(){e.isInStorybook||await ll(c.join(e.dir.dist,"loader.d.ts"),co)},async handleHotUpdate({file:u,modules:x,read:b}){let v=await y(u,b);return v===void 0?void 0:v?x:(f(),[])},configureServer(u){if(e.isInPuppeteerTestBackEnd)return;e.isInTest&&u.watcher.on("change",b=>{y(b,async()=>await ei(b,"utf8")).catch(console.error)}),u.watcher.on("add",x),u.watcher.on("unlink",x),u.watcher.on("addDir",b=>b.startsWith(e.dir.srcComponents)?void Ge(e,e.dir.srcComponents,b).then(v=>v.length>0?f():void 0):void 0),u.watcher.on("unlinkDir",b=>{e.componentFiles.some(F=>F.startsWith(b))&&f()});function x(b){ce(b,e.dir.srcComponents)&&f()}u.watcher.on("change",()=>{if(!o)return;o=!1,i=setTimeout(()=>f(!0),1e3)})}};async function y(u,x){if(!ce(u,e.dir.srcComponents))return;let v=await x();return r(u,v)}function f(u=!1){!u&&s===void 0||(s=void 0,a=void 0,g(),C())}function g(){let u=e.server.moduleGraph.getModuleById(p);u?e.server.moduleGraph.invalidateModule(u):(console.warn(`${d}: Failed to find HMR module for src/loader.ts`),e.server.moduleGraph.invalidateAll())}let C=()=>e.server.ws.send({type:"full-reload",path:c.join("/",c.relative(e.dir.root,p))});return m}async function dl(e,t){if(e.viteCommand==="build"){let n=e.typeScriptProgram.getSourceFiles(),r=new Set(t);return n.filter(o=>r.has(o.fileName))}else return await Promise.all(t.map(async n=>{let r=await ei(n,"utf8");return e.getSourceFile(n,r)}))}import cl from"mime-types";import{copyFile as ml,readFile as ri,readdir as fl,mkdir as jn,writeFile as oi}from"node:fs/promises";var ul="@arcgis/lumina:provideAssets";function ge(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,o=e.server.middlewares.stack.length;if(t.forEach(i=>{let s=ii(i),a=ai(e.dir,si(s)),p=gl(e.viteConfig.base,a,e.dir.distCdn);e.server.middlewares.use(p,(l,d,m)=>{let y=hl(l.url),f=s.type==="directory"?c.resolve(s.source,y.slice(1)):s.source,g=c.join(a,y),C=n.find(u=>u.match(g,e));return(typeof f=="function"?Promise.resolve(f()):ri(f)).then(u=>{let x=(typeof f=="function"?void 0:C?.transform(u.toString("utf8"),g,e))??u;d.setHeader("Cache-Control","max-age=31536000, immutable"),d.setHeader("Content-Type",cl.lookup(y)||"application/octet-stream"),d.write(x),d.end()}).catch(u=>{(s.type!=="directory"||process.env.DEBUG)&&console.error(ul,`Error occurred when trying to serve a file in response to request for "${l.originalUrl??y}":`,u),m()}),!0})}),r){let i=e.server.middlewares.stack.splice(o);e.server.middlewares.stack.splice(0,0,...i)}}async function At(e,t,n=Nt){await Promise.all(t.map(async r=>{let o=ii(r),i=ai(e.dir,si(o));if(o.type==="directory"){let s=c.resolve(o.source),p=(await fl(s,{recursive:!0,withFileTypes:!0})).filter(l=>l.isFile()).map(l=>{let d=c.resolve(l.path,l.name),m=c.relative(s,d),y=c.join(i,m);return[d,y]});await Rn(p.map(([l,d])=>d)),await Promise.all(p.map(async([l,d])=>await ni(l,d,n,e)))}else if(o.type==="file")await jn(c.dirname(i),{recursive:!0}),await ni(o.source,i,n,e);else if(o.type==="dynamic"){await jn(c.dirname(i),{recursive:!0});let s=await Promise.resolve(o.source());await oi(i,s)}}))}var ii=_t?e=>e:e=>e.type==="dynamic"?{...e,destination:ke(e.destination)}:{...e,source:ke(e.source),destination:ke(e.destination)};async function ni(e,t,n,r){let o=n.find(i=>i.match(t,r));if(o===void 0)await ml(e,t);else{let i=await ri(e,"utf8"),s=o.transform(i,t,r);await oi(t,s)}}function si(e){if(e.type==="dynamic")return e.destination;if(e.source.endsWith(c.sep)){if(e.type==="file")throw new Error(`Unexpectedly tried to provide an asset with type "file", whose source looks like a directory: ${E(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===""?c.basename(e.source):e.destination.endsWith(c.sep)?e.type==="directory"&&e.destination===c.sep?e.destination:c.join(e.destination,c.basename(e.source)):e.destination}function ai({dist:e,distCdnAssets:t},n){let r=yl(n),o=c.join(t,r?c.relative(t,n):n),i=c.relative(e,o),s=pi(i);return c.join(e,s)}function yl(e){if(e.startsWith(c.sep)){let t=Q(),n=t.startsWith(c.sep)?t.split(c.sep)[1]??"":"";return e.startsWith(`/${n}/`)||e.startsWith("/Users/")}else return!!(!_t&&c.isAbsolute(e))}function gl(e,t,n){let r=pi(c.relative(n,t)),o=r.startsWith("/")?r.slice(1):r;return`${e}${o}`}var pi=e=>e.replaceAll("../",""),hl=(e="")=>e.split("?")[0].split("#")[0];async function Rn(e){let t=new Set(e.map(c.dirname));await Promise.all(Array.from(t,async n=>await jn(n,{recursive:!0})))}var xl={match:(e,t)=>t.environment==="production"&&e.endsWith(".json"),transform:e=>JSON.stringify(JSON.parse(e))},Nt=[xl];import{isNotUndefined as Cl}from"@arcgis/components-utils";function li(e){let t,n=()=>[...e.options.assets?.transformers??[],...Nt];return{name:"@arcgis/lumina:handleStaticAssets",configResolved(){t=Tl(e)},async configureServer(r){e.server=r,!e.isInPuppeteerTestBackEnd&&(ge(e,await t,n()),r.watcher.on("addDir",o=>{if(o.endsWith("assets")){let i=c.dirname(o);c.join(i,"/")===e.dir.root?ge(e,[ci],n()):o.startsWith(e.dir.srcComponents)&&ge(e,[di(o,i,e.dir.srcComponents)],n())}}))},async writeBundle(){await At(e,await t,n())}}}async function Tl(e){let t=B("assets"),n=await e.componentFilesPromise,r=await Promise.all(n.map(async o=>{let i=c.dirname(o),s=c.join(i,"assets");return await B(s)?di(s,i,e.dir.srcComponents):void 0}));return await t&&r.push(ci),r.filter(Cl)}var di=(e,t,n)=>({type:"directory",source:e,destination:c.relative(n,t)}),ci={type:"directory",source:"assets/",destination:""};import{mkdir as bl,writeFile as Lt}from"node:fs/promises";function mi(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=A()?.name??e.options.build?.cdn?.namespace??c.basename(e.dir.root),r=`${n}/hydrate`,o=c.resolve(e.dir.root,t.path??"hydrate"),i="index.d.ts",s="index.js",a="index.mjs",p=c.join(o,"index.d.ts"),l=c.join(o,"index.js"),d=c.join(o,"index.mjs"),m=Y(o,e.dir.dist),f=`${Array.from(new Set(e.manifestComponents.map(g=>`import "${m}/${g.importPath}";`))).join(`
76
76
  `)}
77
- export * from "@arcgis/lumina/stencil-ssr-compatibility";`;await Tl(o,{recursive:!0}),await Promise.all([Nt(c.join(o,"package.json"),`${JSON.stringify({name:r,description:`${n} component hydration app.`,type:"module",main:s,module:a,types:i,exports:{".":{types:`./${i}`,import:`./${a}`,require:`./${s}`}},dependencies:{"@arcgis/lumina":"*"}},null,2)}
78
- `),Nt(p,f),Nt(l,f),Nt(d,f)])}}}var yi=e=>({name:"@arcgis/lumina:printTotalBuildSize",apply:()=>e.viteCommand==="build",configResolved(t){let n=t.plugins.find(({name:o})=>o==="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(i,s){let a=0,p=0,l=0,d=0,m=console.log;console.log=function(...f){if(m.apply(console,f),f.length===1&&typeof f[0]=="string"){let[g,C]=f[0].match(vl)??[];if(!g)return;d||(d=f[0].slice(0,f[0].indexOf(g)+g.length).replaceAll(Sl,"").length);let u=Number.parseFloat(g.replace(" kB","").replaceAll(",",""));C?(l+=Number.parseFloat(C.replace(" kB","").replaceAll(",","")),p+=u):a+=u}};try{await r.call(this,i,s)}finally{console.log=m}if(p>0){let f=l>0?p:a,g=ui(f),C=e.dir.relativeDist;console.log([fi,C,bl,"*"," ".repeat(d-`${C}*`.length-g.length),g,mi,l>0?` ${fi}\u2502 gzip: ${ui(l)}${mi}`:""].join(""))}}}}),mi="\x1B[22m\x1B[1m\x1B[22m",fi="\x1B[2m",bl="\x1B[22m\x1B[36m",vl=/\d+(?:,\d+)?\.\d{2} kB/gu,Sl=/\x1B\[\d+m/gu,El=new Intl.NumberFormat("en",{maximumFractionDigits:2,minimumFractionDigits:2}),ui=e=>`${El.format(e)} kB`;import I from"typescript";import Rn from"typescript";var Pl=["keyed","ref","repeat"],ye="staticHtml",ne="staticSvg",re="html",ge="svg",On=Symbol("maybe HTML namespace or maybe SVG"),Jn="css",Bn="mathml",gi=[Jn,re,Bn,ye,ne,ge],hi=new Set(gi),wl=["dynamicValueDirective","safeClassMap","safeStyleMap"],Ml="nothing",xi=[...Pl,...gi,...wl,Ml],Be=e=>Rn.isJsxElement(e)||Rn.isJsxSelfClosingElement(e)||Rn.isJsxFragment(e);var Ci=e=>e.reduce((t,[n,r])=>(t[n]??=[],t[n].push(r),t),{}),tt={[re]:["lit-html","lit/html.js","lit"],[ye]:["lit-html/static.js","lit/static-html.js"],[ge]:["lit-html","lit/html.js","lit"],[ne]:["lit-html/static.js","lit/static-html.js"],[Bn]:["lit-html","lit/html.js","lit"],[Jn]:["@lit/reactive-element/css-tag.js","@lit/reactive-element","lit"],safeClassMap:["@arcgis/lumina"],safeStyleMap:["@arcgis/lumina"],dynamicValueDirective:["@arcgis/lumina"],keyed:["lit-html/directives/keyed.js","lit/directives/keyed.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"]},Ti=Ci(Object.entries(tt).flatMap(([e,t])=>t.map(n=>[n,e]))),Lt=new Set(Object.keys(Ti));function bi(e,t){let n=t.importClause,r=t.moduleSpecifier;if(!I.isStringLiteral(r))return t;let o=kl(e.sourceFile.fileName,r.text,""),i=!n?.isTypeOnly;if(i&&e.existingImportedModules.add(o),!n)return t;if(n.name){let p=n.name.text,l=n.name.text.startsWith(p[0].toUpperCase()),d=c.isAbsolute(o);i&&!n.isTypeOnly&&l&&d&&e.importedFunctionComponentsFromModules.add(o)}let s=n.namedBindings;if(!s||!I.isNamedImports(s))return t;let a=Lt.has(r.text);return s.elements.forEach(p=>{let l=(p.propertyName??p.name).text,d=tt[l];if(a&&d?.some(f=>f===r.text)){let f=vi(l,o);e.existingLitImports.add(f),e.importRenames[f]=p.name?.text??f}let m=l.startsWith(l[0].toUpperCase()),y=c.isAbsolute(o);i&&!p.isTypeOnly&&m&&y&&e.importedFunctionComponentsFromModules.add(o)}),t}var vi=(e,t)=>e===re&&tt.staticHtml.includes(t)?ye:e===ge&&tt.staticSvg.includes(t)?ne:e,kl=(e,t,n)=>t.startsWith(".")?c.resolve(e,"..",`${t}${n}`):t;function Si(e){return I.isImportDeclaration(e)?Fl(this,e):e}function Fl(e,t){let n=t.importClause,r=n?.namedBindings,o=t.moduleSpecifier;if(!I.isStringLiteral(o)||!r||!I.isNamedImports(r)||!Lt.has(o.text))return t;let i=n.isTypeOnly,s=!1,a=r.elements.map(p=>{let l=(p.propertyName??p.name).text,d=vi(l,o.text);return e.neededImports.has(d)?(e.existingLitImports.delete(d),e.neededImports.delete(d),s=!0,I.factory.updateImportSpecifier(p,!1,p.propertyName,p.name)):i?I.factory.updateImportSpecifier(p,!0,p.propertyName,p.name):p});return Ti[o.text]?.forEach(p=>{!e.neededImports.has(p)||e.existingLitImports.has(p)||(e.neededImports.delete(p),s=!0,a.push(Pi(p,e)))}),s?I.factory.updateImportDeclaration(t,t.modifiers,I.factory.updateImportClause(n,!1,n.name,I.factory.updateNamedImports(r,a)),t.moduleSpecifier,t.attributes):t}function Ei(e){let t=Ci(Array.from(e.neededImports,n=>[tt[n][0],n]));return Object.entries(t).map(([n,r])=>I.factory.createImportDeclaration(void 0,I.factory.createImportClause(!1,void 0,I.factory.createNamedImports(r.map(o=>(e.neededImports.delete(o),Pi(o,e))))),I.factory.createStringLiteral(n)))}function Pi(e,t){let n=e===ye?re:e===ne?ge:e,r=t.importRenames[e];return r===n?I.factory.createImportSpecifier(!1,void 0,I.factory.createIdentifier(n)):I.factory.createImportSpecifier(!1,I.factory.createIdentifier(n),I.factory.createIdentifier(r))}var wi=e=>({name:"@arcgis/lumina:configureVite",async config({server:t,publicDir:n,build:{target:r,sourcemap:o,lib:i,rollupOptions:{output:s=[]}={}}={},test:a={},css:p}){let{include:l,browser:d,environment:m}=a,y={index:"src/index.ts",loader:"src/loader.ts",...await Vr(e)},{loader:f,...g}=y,C={entries:Object.values(g),include:Array.from(Lt).filter(x=>!x.startsWith("@arcgis"))};typeof a.setupFiles=="string"?a.setupFiles=[...Dt,a.setupFiles]:Array.isArray(a.setupFiles)?a.setupFiles=[...Dt,...a.setupFiles]:a.setupFiles=[...Dt];let u={preprocessorOptions:{scss:{api:p?.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:l??["**/*.e2e.?(c|m)[jt]s?(x)"],environment:m??"happy-dom"},css:u}}return{server:{open:t?.open??!0},publicDir:n??!1,build:{target:r??Ft(e.typeScriptConfig),sourcemap:o??(e.environment==="development"?"inline":e.options.build?.enableSourceMapsInProduction??!1),lib:{entry:y,formats:(i?i.formats:void 0)??["es"]},rollupOptions:{output:{chunkFileNames:(Array.isArray(s)?void 0:s.chunkFileNames)||"chunks/[name].js",banner:(Array.isArray(s)?void 0:s.banner)||e.banner,generatedCode:(Array.isArray(s)?void 0:s.generatedCode)??"es2015"}}},optimizeDeps:C,test:{include:l??[d?.enabled??!0?"**/*.e2e.?(c|m)[jt]s?(x)":"**/*.{test,spec}.?(c|m)[jt]s?(x)"],browser:{enabled:d?.enabled??!0,name:d?.name??"chromium",provider:d?.provider??ir}},css:u}}});var Mi=e=>({name:"@arcgis/lumina:setAssetPath",apply:()=>e.viteCommand==="build",config:t=>({base:t.base??e.options.assets?.defaultPath??te()})});import Wn from"typescript";var We={vsCodeHtml:"docs/vscode.html-custom-data.json",vsCodeCss:"docs/vscode.css-custom-data.json",webTypes:"docs/web-types.json",manifest:"docs/manifest.json",stencilLikeDocsJson:"docs/docs.json"};import{readFile as Dl,writeFile as $l}from"node:fs/promises";async function It(e,t,n,r,o=A()){let i=Al(e,n,r,o),s=c.join(t,"lumina.ts");(await B(s)?await Dl(s,"utf8"):"")!==i&&await $l(s,i)}function Al(e,t,n,r=A()){let o=e.filter(m=>m.type==="@arcgis/lumina").map(m=>`
77
+ export * from "@arcgis/lumina/stencilSsrCompatibility";`;await bl(o,{recursive:!0}),await Promise.all([Lt(c.join(o,"package.json"),`${JSON.stringify({name:r,description:`${n} component hydration app.`,type:"module",main:s,module:a,types:i,exports:{".":{types:`./${i}`,import:`./${a}`,require:`./${s}`}},dependencies:{"@arcgis/lumina":"*"}},null,2)}
78
+ `),Lt(p,f),Lt(l,f),Lt(d,f)])}}}var gi=e=>({name:"@arcgis/lumina:printTotalBuildSize",apply:()=>e.viteCommand==="build",configResolved(t){let n=t.plugins.find(({name:o})=>o==="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(i,s){let a=0,p=0,l=0,d=0,m=console.log;console.log=function(...f){if(m.apply(console,f),f.length===1&&typeof f[0]=="string"){let[g,C]=f[0].match(Sl)??[];if(!g)return;d||(d=f[0].slice(0,f[0].indexOf(g)+g.length).replaceAll(El,"").length);let u=Number.parseFloat(g.replace(" kB","").replaceAll(",",""));C?(l+=Number.parseFloat(C.replace(" kB","").replaceAll(",","")),p+=u):a+=u}};try{await r.call(this,i,s)}finally{console.log=m}if(p>0){let f=l>0?p:a,g=yi(f),C=e.dir.relativeDist;console.log([ui,C,vl,"*"," ".repeat(d-`${C}*`.length-g.length),g,fi,l>0?` ${ui}\u2502 gzip: ${yi(l)}${fi}`:""].join(""))}}}}),fi="\x1B[22m\x1B[1m\x1B[22m",ui="\x1B[2m",vl="\x1B[22m\x1B[36m",Sl=/\d+(?:,\d+)?\.\d{2} kB/gu,El=/\x1B\[\d+m/gu,Pl=new Intl.NumberFormat("en",{maximumFractionDigits:2,minimumFractionDigits:2}),yi=e=>`${Pl.format(e)} kB`;import I from"typescript";import On from"typescript";var wl=["keyed","ref","repeat"],he="staticHtml",ne="staticSvg",re="html",xe="svg",Jn=Symbol("maybe HTML namespace or maybe SVG"),Bn="css",Wn="mathml",hi=[Bn,re,Wn,he,ne,xe],xi=new Set(hi),Ml=["dynamicValueDirective","safeClassMap","safeStyleMap"],kl="nothing",Ci=[...wl,...hi,...Ml,kl],We=e=>On.isJsxElement(e)||On.isJsxSelfClosingElement(e)||On.isJsxFragment(e);var Ti=e=>e.reduce((t,[n,r])=>(t[n]??=[],t[n].push(r),t),{}),tt={[re]:["lit-html","lit/html.js","lit"],[he]:["lit-html/static.js","lit/static-html.js"],[xe]:["lit-html","lit/html.js","lit"],[ne]:["lit-html/static.js","lit/static-html.js"],[Wn]:["lit-html","lit/html.js","lit"],[Bn]:["@lit/reactive-element/css-tag.js","@lit/reactive-element","lit"],safeClassMap:["@arcgis/lumina"],safeStyleMap:["@arcgis/lumina"],dynamicValueDirective:["@arcgis/lumina"],keyed:["lit-html/directives/keyed.js","lit/directives/keyed.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"]},bi=Ti(Object.entries(tt).flatMap(([e,t])=>t.map(n=>[n,e]))),It=new Set(Object.keys(bi));function vi(e,t){let n=t.importClause,r=t.moduleSpecifier;if(!I.isStringLiteral(r))return t;let o=Fl(e.sourceFile.fileName,r.text,""),i=!n?.isTypeOnly;if(i&&e.existingImportedModules.add(o),!n)return t;if(n.name){let p=n.name.text,l=n.name.text.startsWith(p[0].toUpperCase()),d=c.isAbsolute(o);i&&!n.isTypeOnly&&l&&d&&e.importedFunctionComponentsFromModules.add(o)}let s=n.namedBindings;if(!s||!I.isNamedImports(s))return t;let a=It.has(r.text);return s.elements.forEach(p=>{let l=(p.propertyName??p.name).text,d=tt[l];if(a&&d?.some(f=>f===r.text)){let f=Si(l,o);e.existingLitImports.add(f),e.importRenames[f]=p.name?.text??f}let m=l.startsWith(l[0].toUpperCase()),y=c.isAbsolute(o);i&&!p.isTypeOnly&&m&&y&&e.importedFunctionComponentsFromModules.add(o)}),t}var Si=(e,t)=>e===re&&tt.staticHtml.includes(t)?he:e===xe&&tt.staticSvg.includes(t)?ne:e,Fl=(e,t,n)=>t.startsWith(".")?c.resolve(e,"..",`${t}${n}`):t;function Ei(e){return I.isImportDeclaration(e)?Dl(this,e):e}function Dl(e,t){let n=t.importClause,r=n?.namedBindings,o=t.moduleSpecifier;if(!I.isStringLiteral(o)||!r||!I.isNamedImports(r)||!It.has(o.text))return t;let i=n.isTypeOnly,s=!1,a=r.elements.map(p=>{let l=(p.propertyName??p.name).text,d=Si(l,o.text);return e.neededImports.has(d)?(e.existingLitImports.delete(d),e.neededImports.delete(d),s=!0,I.factory.updateImportSpecifier(p,!1,p.propertyName,p.name)):i?I.factory.updateImportSpecifier(p,!0,p.propertyName,p.name):p});return bi[o.text]?.forEach(p=>{!e.neededImports.has(p)||e.existingLitImports.has(p)||(e.neededImports.delete(p),s=!0,a.push(wi(p,e)))}),s?I.factory.updateImportDeclaration(t,t.modifiers,I.factory.updateImportClause(n,!1,n.name,I.factory.updateNamedImports(r,a)),t.moduleSpecifier,t.attributes):t}function Pi(e){let t=Ti(Array.from(e.neededImports,n=>[tt[n][0],n]));return Object.entries(t).map(([n,r])=>I.factory.createImportDeclaration(void 0,I.factory.createImportClause(!1,void 0,I.factory.createNamedImports(r.map(o=>(e.neededImports.delete(o),wi(o,e))))),I.factory.createStringLiteral(n)))}function wi(e,t){let n=e===he?re:e===ne?xe:e,r=t.importRenames[e];return r===n?I.factory.createImportSpecifier(!1,void 0,I.factory.createIdentifier(n)):I.factory.createImportSpecifier(!1,I.factory.createIdentifier(n),I.factory.createIdentifier(r))}var Mi=e=>({name:"@arcgis/lumina:configureVite",async config({server:t,publicDir:n,build:{target:r,sourcemap:o,lib:i,rollupOptions:{output:s=[]}={}}={},test:a={},css:p}){let{include:l,browser:d,environment:m}=a,y={index:"src/index.ts",loader:"src/loader.ts",...await zr(e)},{loader:f,...g}=y,C={entries:Object.values(g),include:Array.from(It).filter(x=>!x.startsWith("@arcgis"))};typeof a.setupFiles=="string"?a.setupFiles=[...$t,a.setupFiles]:Array.isArray(a.setupFiles)?a.setupFiles=[...$t,...a.setupFiles]:a.setupFiles=[...$t];let u={preprocessorOptions:{scss:{api:p?.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:l??["**/*.e2e.?(c|m)[jt]s?(x)"],environment:m??"happy-dom"},css:u}}return{server:{open:t?.open??!0},publicDir:n??!1,build:{target:r??Dt(e.typeScriptConfig),sourcemap:o??(e.environment==="development"?"inline":e.options.build?.enableSourceMapsInProduction??!1),lib:{entry:y,formats:(i?i.formats:void 0)??["es"]},rollupOptions:{output:{chunkFileNames:(Array.isArray(s)?void 0:s.chunkFileNames)||"chunks/[name].js",banner:(Array.isArray(s)?void 0:s.banner)||e.banner,generatedCode:(Array.isArray(s)?void 0:s.generatedCode)??"es2015"}}},optimizeDeps:C,test:{include:l??[d?.enabled??!0?"**/*.e2e.?(c|m)[jt]s?(x)":"**/*.{test,spec}.?(c|m)[jt]s?(x)"],browser:{enabled:d?.enabled??!0,name:d?.name??"chromium",provider:d?.provider??sr}},css:u}}});var ki=e=>({name:"@arcgis/lumina:setAssetPath",apply:()=>e.viteCommand==="build",config:t=>({base:t.base??e.options.assets?.defaultPath??te()})});import Kn from"typescript";var Ke={vsCodeHtml:"docs/vscode.html-custom-data.json",vsCodeCss:"docs/vscode.css-custom-data.json",webTypes:"docs/web-types.json",manifest:"docs/manifest.json",stencilLikeDocsJson:"docs/docs.json"};import{readFile as $l,writeFile as Al}from"node:fs/promises";async function jt(e,t,n,r,o=A()){let i=Nl(e,n,r,o),s=c.join(t,"lumina.ts");(await B(s)?await $l(s,"utf8"):"")!==i&&await Al(s,i)}function Nl(e,t,n,r=A()){let o=e.filter(m=>m.type==="@arcgis/lumina").map(m=>`
79
79
  /// <reference types="${m.packageName}/types/lumina" />`),i=e.filter(m=>m.type==="stencil"),s=i.map((m,y)=>`
80
80
  import type { JSX as JSX$${y} } from "${m.packageName}/dist/types/components";`),a=i.length===0?"":`
81
81
 
82
82
  declare global {
83
83
  interface ImportStencilElements extends ${i.map((m,y)=>`JSX$${y}.IntrinsicElements`).join(", ")} {}
84
- }`,p=r.devDependencies??{},l=n==="preview"?"matchers":n==="webdriverio"?"webdriverio":"playwright";return[...Nl,t?Ll:"","vitest"in p?`
85
- /// <reference types="vitest/config" />`:"","@vitest/browser"in p?`
86
- /// <reference types="@vitest/browser/jest-dom.d.ts" />`:"","@vitest/browser"in p?`
84
+ }`,p=r.devDependencies??{},l=n==="preview"?"matchers":n==="webdriverio"?"webdriverio":"playwright";return[...Ll,t?Il:"",p.vitest?`
85
+ /// <reference types="vitest/config" />`:"",p["@vitest/browser"]?`
86
+ /// <reference types="@vitest/browser/jest-dom.d.ts" />`:"",p["@vitest/browser"]?`
87
87
  /// <reference types="@vitest/browser/providers/${l}" />`:"",...o,...s,a,`
88
- `].join("")}var Nl=`/**
88
+ `].join("")}var Ll=`/**
89
89
  * This file is autogenerated by \`@arcgis/lumina-compiler\` - do not edit it manually.
90
90
  * Manual edits will be overwritten.
91
91
  *
@@ -94,19 +94,19 @@ declare global {
94
94
  *
95
95
  * If you need to provide additional typings, create a separate file.
96
96
  */
97
- /// <reference types="@arcgis/lumina/typings" />`,Ll=`
98
- /// <reference types="@arcgis/core/interfaces" />`;var ki="@arcgis/lumina:dependencySupport",jt=(e,t)=>e.viteCommand==="serve"||e.isInStorybook&&(t===void 0||t.path==="/iframe.html"),Fi=e=>({name:ki,configResolved(){jt(e)&&e.environment==="development"&&!e.isInTest&&Il(e).catch(t=>console.error(`${ki}: Failed to update package's src/lumina.ts`,t))},transformIndexHtml:{order:"pre",async handler(t,n){return jt(e,n)?(await Pe(e)).map(o=>"javascriptCode"in o?{tag:"script",attrs:{type:"module"},children:o.javascriptCode.join(`
99
- `)}:"cssHref"in o?{tag:"link",attrs:{rel:"stylesheet",href:o.cssHref,id:o.id}}:o):void 0}},async buildStart(){if(e.viteCommand!=="serve")return;let n=(await Pe(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 function Il(e){let n=(await Promise.all([me,An(e)])).flat();await It(n,e.dir.src,Dn,e.viteConfig.test?.browser?.provider)}var Rt="@arcgis/lumina:compilerContextPlugin",M=class{constructor(t){this._typeScriptSourceFiles={};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",this.shouldMinifyStrict=n&&(this.viteCommand!=="serve"||this.isInTest);let r=c.join(t.root,c.sep),o=c.join(r,"src",c.sep),i=c.join(o,"components",c.sep),s=c.join(c.resolve(r,t.build.outDir),c.sep),a=c.join(c.relative(r,s),c.sep),p=c.join(s,"components",c.sep),l=c.join(s,this.options.build?.cdn?.namespace??Je,c.sep),d=c.join(l,"assets",c.sep);this.dir={root:r,src:o,srcComponents:i,relativeDist:a,dist:s,distComponents:p,distCdn:l,distCdnAssets:d},t.root!==Q()?console.warn(`${Rt}: Vite's config.root is not equal process.cwd(). This is not officially supported by Lumina and may lead to unexpected behavior. Contact Lumina maintainers if you need this to be supported.`):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.typeScriptConfig.options.sourceMap=t.build.sourcemap!==!1,this.isInStorybook=t.resolve.conditions.includes("storybook"),this.hmrEnabled=this.viteCommand==="serve"&&!this.isInTest&&!!(t.server?.hmr??!0),jt(this)&&Pe(this).catch(console.error)}},configureServer:{order:"post",handler:()=>{this.serverConfigured=!0}}};this.isInCi=!!process.env.CI;this.declarationTextTransformers=[];this.serverConfigured=!1;this.assetsToProvide=[];this.options=t;let n=t.documentation??{};this.documentationFileNames={manifest:n.manifestFileName?Oe(n.manifestFileName):We.manifest,stencilLikeDocsJson:n.stencilLikeDocsJsonFileName?Oe(n.stencilLikeDocsJsonFileName):We.stencilLikeDocsJson,webTypes:n.jetBrains?.webTypesFileName?Oe(n.jetBrains.webTypesFileName):We.webTypes,vsCodeHtml:n.vsCode?.htmlFileName?Oe(n.vsCode.htmlFileName):We.vsCodeHtml,vsCodeCss:n.vsCode?.cssFileName?Oe(n.vsCode.cssFileName):We.vsCodeCss},Mt().catch(console.error),this.componentFilesPromise=Ge(this,c.resolve("src/components"));let r=Ro(t.types?.tsconfigPath);this.typeScriptConfigPath=r.path,this.typeScriptConfig=r.config;let o=t.build?.preamble??Oo();this.banner=Jo(o)}_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(`${$e}: Vite is running in unknown mode "${n}". Assuming development`),this.environment="development"),this.viteCommand=t;let o=r?.__IS_IN_PUPPETEER__===!0,i=this.viteCommand==="serve"&&this.isInTest&&this.options.puppeteerTesting?.enabled===!0;this.isInPuppeteerTestBackEnd=i&&!o,this.isInPuppeteerTestFrontEnd=i&&o}getSourceFile(t,n){let r=this.typeScriptProgram?.getSourceFile(t);if(!r){if(this.viteCommand==="build")throw new Error(`Unable to find the TypeScript source file for ${t}`);{let i=this._typeScriptSourceFiles[t];i!==void 0&&i.text===n&&(r=i)}}return n!==r?.text&&(r=Wn.createSourceFile(t,n,r?.languageVersion??this.typeScriptConfig.options.target??Wn.ScriptTarget.Latest,!0,Wn.ScriptKind.TSX),this.viteCommand==="serve"&&(this._typeScriptSourceFiles[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"&&ue(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()")}};$([L("buildStart() in build mode or load() serve mode")],M.prototype,"typeScriptHost",2),$([L("configResolved()")],M.prototype,"shouldMinify",2),$([L("configResolved()")],M.prototype,"shouldMinifyStrict",2),$([L("configResolved()")],M.prototype,"dir",2),$([L("load()")],M.prototype,"manifest",2),$([L("load()")],M.prototype,"manifestComponents",2),$([L("load() when in build mode")],M.prototype,"componentPathMapping",2),$([L("apply()")],M.prototype,"environment",2),$([L("apply()")],M.prototype,"isInTest",2),$([L("apply()")],M.prototype,"isInPuppeteerTestBackEnd",2),$([L("apply()")],M.prototype,"isInPuppeteerTestFrontEnd",2),$([L("configResolved()")],M.prototype,"isInStorybook",2),$([L("configResolved()")],M.prototype,"hmrEnabled",2),$([L("apply()")],M.prototype,"viteCommand",2),$([L("configResolved()")],M.prototype,"viteConfig",2),$([L("configResolved()")],M.prototype,"server",2),$([L("transform()")],M.prototype,"globalHydratedCssString",2),$([L("config()")],M.prototype,"componentFiles",2);import{writeFile as Ni}from"node:fs/promises";function $i(e,t,n){let r=kt()[t]??Kn(e.manifest)[t];if(r===void 0){let o=E(n);throw new Error(`Unable to resolve the definition of the "${t}" custom element. Used in ${o}. If this is coming from an external package, make sure that package is installed as a peerDependency. 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 Ai(e,t){return e.packageName===void 0?Y(t,e.moduleName):c.join(e.packageName,e.moduleName)}var Di=new WeakMap;function Kn(e){let t=Di.get(e);if(t)return t;let n=Mn(e,{packageName:void 0,getImportPath(){throw new Error("not supposed to be called for local components")}});return Di.set(e,n),n}var Li=e=>({name:"@arcgis/lumina:addNonLazyImports",apply:()=>e.viteCommand==="build",generateBundle(t,n){Object.entries(n).forEach(([r,o])=>{let i=ie(r,"components/",e);if(i!==r&&(o.fileName=i),o.type==="chunk"){let s=c.dirname(c.join(e.dir.dist,r)),a=i===r?s:c.dirname(c.join(e.dir.dist,i));o.code=Xt(o.code,e,a,s)}})},async writeBundle(){if(e.isInStorybook)return;let t=Ve.get(e)??{},n=Object.entries(t),r=new Set(n.map(([i])=>i).filter(i=>le(i,e.dir.srcComponents)));n.forEach(([i,{referencedTagNames:s,referencedBy:a}])=>{if(r.has(i)||s.length===0)return;let p=Ii(t,a,r);if(p.forEach(l=>{t[l].referencedTagNames.splice(0,0,...s)}),s.length>0&&p.length===0){let l=E(i);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 o=n.flatMap(([i,{referencedTagNames:s}])=>{if(!r.has(i))return[];let a=c.dirname(i),p=ie(a,e.dir.srcComponents,e),l=c.relative(e.dir.src,p),d=s.map(f=>Ai($i(e,f,i),l)).filter(f=>f!==`./${l}`),y=`${Array.from(new Set(d),f=>`import "${f}";
100
- `).join("").trimStart()}export * from "./${ke}";`;return[Ni(c.join(e.dir.dist,l,jl),y),Ni(c.join(e.dir.dist,l,Rl),y)]});await Promise.all(o)}}),jl="index.js",Rl="index.d.ts",Ii=(e,t,n,r=new Set)=>t.flatMap(o=>n.has(o)?[o]:r.has(o)?[]:(r.add(o),Ii(e,e[o].referencedBy,n,r)));import xd from"typescript";import nd from"typescript";import T from"typescript";import P from"typescript";import{mappedFind as Bl,uncapitalize as ji}from"@arcgis/components-utils";import h from"typescript";function Hn(e,t){if(Ke(e))return e;{t.neededImports.add("nothing");let n=t.importRenames.nothing;return h.factory.createParenthesizedExpression(h.factory.createBinaryExpression(h.factory.createParenthesizedExpression(e),h.factory.createToken(h.SyntaxKind.QuestionQuestionToken),h.factory.createIdentifier(n)))}}function Ke(e){return typeof e=="string"||Ol.has(e.kind)||h.isConditionalExpression(e)&&Ke(e.whenTrue)&&Ke(e.whenFalse)||h.isBinaryExpression(e)&&(Jl.has(e.operatorToken.kind)||Ke(e.left)&&Ke(e.right))||(h.isParenthesizedExpression(e)||h.isSatisfiesExpression(e)||h.isAsExpression(e))&&Ke(e.expression)||h.isTaggedTemplateExpression(e)&&h.isIdentifier(e.tag)&&hi.has(e.tag.text)}var Ol=new Set([h.SyntaxKind.NumericLiteral,h.SyntaxKind.BigIntLiteral,h.SyntaxKind.StringLiteral,h.SyntaxKind.RegularExpressionLiteral,h.SyntaxKind.NoSubstitutionTemplateLiteral,h.SyntaxKind.FalseKeyword,h.SyntaxKind.NullKeyword,h.SyntaxKind.TrueKeyword,h.SyntaxKind.ArrayLiteralExpression,h.SyntaxKind.ObjectLiteralExpression,h.SyntaxKind.FunctionExpression,h.SyntaxKind.ArrowFunction,h.SyntaxKind.TypeOfExpression,h.SyntaxKind.PrefixUnaryExpression,h.SyntaxKind.PostfixUnaryExpression,h.SyntaxKind.TemplateExpression,h.SyntaxKind.ClassExpression,h.SyntaxKind.NonNullExpression]),Jl=new Set([h.SyntaxKind.PlusEqualsToken,h.SyntaxKind.MinusEqualsToken,h.SyntaxKind.AsteriskAsteriskEqualsToken,h.SyntaxKind.AsteriskEqualsToken,h.SyntaxKind.SlashEqualsToken,h.SyntaxKind.PercentEqualsToken,h.SyntaxKind.AmpersandEqualsToken,h.SyntaxKind.BarEqualsToken,h.SyntaxKind.CaretEqualsToken,h.SyntaxKind.LessThanLessThanEqualsToken,h.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken,h.SyntaxKind.GreaterThanGreaterThanEqualsToken,h.SyntaxKind.AmpersandToken,h.SyntaxKind.BarToken,h.SyntaxKind.CaretToken,h.SyntaxKind.EqualsEqualsToken,h.SyntaxKind.EqualsEqualsEqualsToken,h.SyntaxKind.ExclamationEqualsEqualsToken,h.SyntaxKind.ExclamationEqualsToken,h.SyntaxKind.LessThanToken,h.SyntaxKind.LessThanEqualsToken,h.SyntaxKind.GreaterThanToken,h.SyntaxKind.GreaterThanEqualsToken,h.SyntaxKind.InstanceOfKeyword,h.SyntaxKind.InKeyword,h.SyntaxKind.LessThanLessThanToken,h.SyntaxKind.GreaterThanGreaterThanToken,h.SyntaxKind.GreaterThanGreaterThanGreaterThanToken,h.SyntaxKind.PlusToken,h.SyntaxKind.MinusToken,h.SyntaxKind.AsteriskToken,h.SyntaxKind.SlashToken,h.SyntaxKind.PercentToken,h.SyntaxKind.AsteriskAsteriskToken]);var Ji={property(e,t,n,r){let o=Wl(r,n,e),i=o!==void 0;if(i){let p=Vn(t);if(p===!0)return[o.attributeName];if(p===!1)return[]}let s=t===void 0?["=",P.factory.createToken(P.SyntaxKind.TrueKeyword)]:Ot(e,t,i),a=s[0]!=="=";if(i){if(a)return[o.attributeName,...s];if(o.type==="stringified"){let[l,d]=s,m=Hn(d,e);if(!(m===d))return[o.attributeName,l,m]}}return[`.${n}`,...s]},attribute(e,t,n){let r=t===void 0||Vn(t);if(r===!0)return[n];if(r===!1)return[];let o=Ot(e,t,!0),s=o[0]!=="="?o:[o[0],Hn(o[1],e)];return[n,...s]},booleanAttribute(e,t,n){let r=t===void 0||Vn(t);return r===!0?[n]:r===!1?[]:[`?${n}`,...Ot(e,t,!1)]},event(e,t,n){if(!t||!P.isJsxExpression(t)||!t.expression)throw new Error(`Event prop value must be an expression. Found ${String(t?.getText())}`);let r=n.slice(2),o=ji(r);return[`@${Pt.has(o)?r.toLowerCase():Eo?ji(r):r}=`,...Jt(e,t)]},directives(e,t){if(!t||!P.isJsxExpression(t))throw new Error(`Directives prop must be an expression. Found ${String(t?.getText())}`);if(!t.expression||!P.isArrayLiteralExpression(t.expression))throw new Error(`Directives prop must be an array rather than a variable or ternary expression. This limitation can be relaxed in the future if needed. Still, the following are allowed: directives={[directiveA, condition ? a : b, c()]}. Found ${String(t.expression?.getText())}`);return t.expression.elements.flatMap(o=>{if(P.isSpreadElement(o))throw new Error(`Directives prop cannot contain a spread argument - it needs to be statically analyzable. This limitation can be relaxed in the future if needed. Still, the following are allowed: directives={[directiveA, condition ? a : b, c()]}. Found ${String(t.expression?.getText())}`);return G(e,o)})},ref(e,t){e.neededImports.add("ref");let n=e.importRenames.ref;if(!t||!P.isJsxExpression(t)||!t.expression)throw new Error(`ref prop value must be an expression. Found ${String(t?.getText())}`);return[P.factory.createCallExpression(P.factory.createIdentifier(n),void 0,[G(e,t.expression)])]},class:Oi,style:Oi,key:(e,t)=>[nt(t)],dynamicValue(e,t,n){e.neededImports.add("dynamicValueDirective");let r=e.importRenames.dynamicValueDirective;return[P.factory.createCallExpression(P.factory.createIdentifier(r),void 0,[P.factory.createStringLiteral(n),...t===void 0?[]:[G(e,P.isJsxExpression(t)?t.expression??P.factory.createIdentifier("undefined"):t)]])]}};function Wl(e,t,n){if(typeof e=="string"){let i=(n.externalComponents[e]??n.localComponents[e])?.propToAttribute?.[t];if(i)return{attributeName:i,type:"normal"}}let r=Un(z.common,t);if(r)return r;if(typeof e=="string"){let o=Un(z.perElement[e],t);if(o)return o}else{let o=Bl(Object.values(z.perElement),i=>{let s=Un(i,t);return s?.type==="stringified"?s:void 0});if(o)return o}}function Un(e,t){let n=e?.normal?.[t];if(n)return{attributeName:n,type:"normal"};let r=e?.stringified?.[t];if(r)return{attributeName:r,type:"stringified"}}function nt(e){if(e&&P.isJsxExpression(e)&&e.expression)return e.expression;if(e&&P.isStringLiteral(e))return e;throw new Error(`key prop value must be an expression. Found ${String(e?.getText())}`)}function Vn(e){if(e===void 0)return!0;if(e&&P.isJsxExpression(e)){if(e.expression?.kind===P.SyntaxKind.TrueKeyword||e.expression===void 0)return!0;if(e.expression?.kind===P.SyntaxKind.FalseKeyword)return!1}}function Ot(e,t,n=!1){if(Be(t))throw new Error(`Invalid JSX syntax detected or there is a bug in Lumina. Found ${t.getText()}. Expected JSX attribute value to be wrapped in { }`);if(P.isStringLiteral(t))return Ri(t,n);if(P.isJsxExpression(t)&&t.expression){if(P.isStringLiteral(t.expression))return Ri(t.expression,n);if(n){if(P.isNumericLiteral(t.expression))return[`=${t.expression.text}`];if(P.isPrefixUnaryExpression(t.expression)&&P.isNumericLiteral(t.expression.operand))return[`=${t.expression.getText(e.sourceFile)}`]}}return["=",...Jt(e,t)]}function Ri(e,t){if(!t)return["=",e];let n=e.text;if(n.length===0)return[];let r=mt(n);if(Rr(r)){let o=r.replaceAll('"',"&#34;");if(o.length>r.length){let i=r.replaceAll("'","&#39;");if(i.length<o.length)return[`='${i}'`]}return[`="${o}"`]}else return[`=${r}`]}function Oi(e,t,n){if(t&&P.isStringLiteral(t))return[`${n}="${t.text}"`];if(!t||!P.isJsxExpression(t)||!t.expression)throw new Error(`${n} prop value must be an expression. Found ${String(t?.getText())}`);let r=t.expression;if(Kl(r)){let i=n==="class"?"safeClassMap":"safeStyleMap";e.neededImports.add(i);let s=e.importRenames[i],a=P.factory.createCallExpression(P.factory.createIdentifier(s),void 0,[G(e,r)]);return[`${n}=`,a]}else return[n,...Ot(e,t,!0)]}var Kl=e=>P.isObjectLiteralExpression(e)||P.isPropertyAccessExpression(e)||P.isIdentifier(e)||P.isCallExpression(e)||P.isBinaryExpression(e)||P.isConditionalExpression(e);import rt from"typescript";function Wi(e){if(e&&rt.isJsxExpression(e)&&e.expression&&rt.isCallExpression(e.expression)&&rt.isIdentifier(e.expression.expression)&&e.expression.expression.text in Bi&&e.expression.arguments.length<=1)return{propType:Bi[e.expression.expression.text],initializer:rt.factory.createJsxExpression(void 0,e.expression.arguments[0])}}var Bi={bindProperty:"property",bindAttribute:"attribute",bindBooleanAttribute:"booleanAttribute",bindEvent:"event"};function Ki(e,t,n){return Ul.has(e)?e:e.startsWith("on")&&t!==void 0&&rt.isJsxExpression(t)&&t.expression!==void 0?"event":St.has(e)||e.includes("-")?"attribute":!(typeof n=="string"&&n.includes("-")&&!je.has(n))&&(Et.has(e)||(n===Ze?!1:n===Ne?Object.values(et).some(s=>s.has(e)):et[n]?.has(e)===!0))?Tn.has(e)?"booleanAttribute":"attribute":n==="svg"||n==="math"||n===Ze||n!==Ne&&(Le.has(n)||Ie.has(n))?e in z.common.normal||e in z.common.stringified?"property":Tn.has(e)?"booleanAttribute":"attribute":n===Ne&&(e==="value"||e==="defaultValue")?"dynamicValue":"property"}var Hl=["class","style","ref","directives","key"],Ul=new Set(Hl);import W from"typescript";var Hi=e=>typeof e!="string"||e.trim().length>0;function ot({key:e,parts:t,litTag:n},r){let o=Vl(t);if(o.length%2===0)throw new Error("Normalized template parts array length must be odd");let[i,...s]=o;if(typeof i!="string")throw new Error("First normalized template part must be a string");if(n===void 0){if(s.length===0)return zn(r,e,W.factory.createStringLiteral(i));if(i===""&&s.length===2&&s[1]==="")return zn(r,e,typeof s[0]=="string"?W.factory.createStringLiteral(i):s[0])}let a=typeof n=="string"?n:re;r.neededImports.add(a);let p=r.importRenames[a],l=ve(i),d=W.factory.createTaggedTemplateExpression(W.factory.createIdentifier(p),void 0,s.length===0?W.factory.createNoSubstitutionTemplateLiteral(l,l):W.factory.createTemplateExpression(W.factory.createTemplateHead(l,l),zl(s)));return zn(r,e,d)}var Vl=e=>e.reduce((t,n,r)=>{let o=t.at(-1),i=typeof o=="string",s=typeof n=="string";if(i&&s)return[...t.slice(0,-1),`${o}${n}`];let p=r===e.length-1;return!s&&p?[...t,n,""]:!s&&!p?[...t,n,""]:[...t,n]},[""]);function zl(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,o)=>{let i=o*2,s=e[i];if(typeof s=="string")throw new Error("Expected to receive a normalized array of parts");let a=i+1,p=e[a];if(typeof p!="string")throw new Error("Expected to receive a normalized array of parts");let l=o===n-1,d=ve(p);return W.factory.createTemplateSpan(s,l?W.factory.createTemplateTail(d,d):W.factory.createTemplateMiddle(d,d))})}function zn(e,t,n){if(t===void 0)return n;e.neededImports.add("keyed");let r=e.importRenames.keyed;return W.factory.createCallExpression(W.factory.createIdentifier(r),void 0,[t,n])}import Gn from"typescript";var _n=(e,t)=>e.getFullText(t.sourceFile).slice(0,e.getLeadingTriviaWidth(t.sourceFile));function Xn(e,t){let n=Bt(e);return n.length===0?t:Gn.setSyntheticLeadingComments(t,n.map(r=>({...r,pos:-1,end:-1,text:Vi(e.slice(r.pos,r.end))})))}var Bt=e=>e.trim().length===0?[]:Gn.getLeadingCommentRanges(e,0)??[];function Ui(e){let t=Bt(e);if(t.length===0)return[e];let n=t.reduceRight(([o,...i],s)=>{let a=ve(Vi(qn(o).slice(s.pos,s.end)));return[qn(o).slice(0,s.pos),Gn.factory.createNoSubstitutionTemplateLiteral(a,a),qn(o).slice(s.end),...i]},[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 Vi=e=>e.startsWith("//")?e.slice(2):e.slice(2,-2);function qn(e){if(typeof e=="string")return e;throw new Error(`Expected string, got ${typeof e}: ${String(e)}`)}import{isNotUndefined as Yl}from"@arcgis/components-utils";import S from"typescript";function qi(e,t){if(!(S.isPropertyAccessExpression(t.expression)&&t.expression.name.text==="map"))return t;let r=t.arguments[0];if(!(t.arguments.length===1&&S.isArrowFunction(r)))return t;let i=r.parameters.at(0);if(!(typeof i=="object"&&r.parameters.length<=2))return t;let a=Wt(r.body),p=!0,l;if(zi(a))l=a;else{if(!S.isBlock(a))return t;let u=a.statements.at(-1);if(!(u&&S.isReturnStatement(u)&&u.expression))return t;let b=Wt(u.expression);if(!zi(b))return t;let v=a.statements.slice(0,-1);if(v.some(Gi))return t;p=v.length===0,l=b}let d=S.isJsxElement(l)?l.openingElement:l,m=Yn(d);if(m===-1)return t;let y=d.attributes.properties[m];if(!y||!S.isJsxAttribute(y))return t;let f=nt(y.initializer),g=ql(i,f,p);if(g===void 0)return t;e.liftedKeys.add(y.name),e.neededImports.add("repeat");let C=e.importRenames.repeat;return S.factory.updateCallExpression(t,S.factory.createIdentifier(C),t.typeArguments,[t.expression.expression,S.factory.createArrowFunction(void 0,void 0,[g],void 0,void 0,f),S.factory.updateArrowFunction(r,r.modifiers,r.typeParameters,r.parameters,r.type,r.equalsGreaterThanToken,a)])}var zi=e=>S.isJsxElement(e)||S.isJsxSelfClosingElement(e);function Gi(e){if(S.isReturnStatement(e))return!0;let t=!1;return S.visitEachChild(e,n=>(t||=Gi(n),n),void 0),t}function ql(e,t,n){let r=S.isObjectBindingPattern(e.name)?Xl(e.name,t.getText()):e.name;if(!n){let o=oe(t);if(!o||!o.every(_i,r))return}return S.factory.updateParameterDeclaration(e,e.modifiers,e.dotDotDotToken,r,e.questionToken,e.type,e.initializer)}function oe(e){if(S.isIdentifier(e))return[e.text];if(S.isPropertyAccessExpression(e))return oe(e.expression);if(S.isElementAccessExpression(e))return oe(e.argumentExpression);if(S.isConditionalExpression(e)){let t=oe(e.condition),n=oe(e.whenTrue),r=oe(e.whenFalse);return t===void 0||n===void 0||r===void 0?void 0:[...t,...n,...r]}else if(S.isBinaryExpression(e)){let t=oe(e.left),n=oe(e.right);return t===void 0||n===void 0?void 0:[...t,...n]}else{if(Gl.has(e.kind))return[];{let t=Wt(e);return t!==e?oe(t):void 0}}}var Gl=new Set([S.SyntaxKind.NumericLiteral,S.SyntaxKind.BigIntLiteral,S.SyntaxKind.StringLiteral,S.SyntaxKind.RegularExpressionLiteral,S.SyntaxKind.NoSubstitutionTemplateLiteral,S.SyntaxKind.FalseKeyword,S.SyntaxKind.NullKeyword,S.SyntaxKind.TrueKeyword]),Wt=e=>S.isAsExpression(e)||S.isNonNullExpression(e)||S.isSatisfiesExpression(e)||S.isParenthesizedExpression(e)?Wt(e.expression):e;function _i(e){let t=this;return S.isIdentifier(t)?t.text===e:t.elements.some(_l,e)}function _l(e){let t=this;return S.isOmittedExpression(e)?!1:_i.call(e.name,t)}function Xl(e,t){let n=!1,r=e.elements.filter(o=>S.isIdentifier(o.name)?t.includes(o.name.getText())||o.propertyName&&t.includes(o.name.getText()):(n=!0,!0));return n||r.length===0?e:S.factory.updateObjectBindingPattern(e,r)}var Qn=(e,t)=>t.liftedKeys.has(e);var Qi=e=>e.manifestComponents.map(({name:t,importPath:n})=>`import type { ${t} } from "./${n}";`).join(`
101
- `),Ql=/^[a-zA-Z_$][a-zA-Z\d_$]*$/u,we=e=>!Ql.test(e),_=e=>we(e)?`"${e}"`:e;function he(e,t=[]){let n=t?.filter(m=>m.kind==="field"&&m.readonly!==!0),r=[],o=[],i=!1;n.forEach(m=>{let y=m;if(y.getterType){i=!0;return}y.docsTags?.some(g=>g.name==="required")?r.push(m.name):o.push(m.name)});let s=Xi(r),a=Xi(o),p=[s?`Required<Pick<${e}, ${s}>>`:"",a?`Partial<Pick<${e}, ${a}>>`:"",i?`${e}SetterTypes`:""],l=i?`
102
- type ${e}SetterTypes = ${e}["${Zt}"]`:"",d=p.filter(Boolean).join(", ");return[d.length===0?"":`${d}, `,l]}var Xi=e=>e.map(t=>`'${t}'`).join(" | ");function G(e,t){return Yi(e,t)}function Yi(e,t){if(Be(t))return Zi(e,t);let n=T.isCallExpression(t)?qi(e,t):t;return T.visitEachChild(n,Yi.bind(null,e),e.transformationContext)}function Zi(e,t){let n=es(e,t);return ot(n,e)}function es(e,t){let n="children"in t?t.children:[];if(T.isJsxFragment(t))return{key:void 0,...Kt(n,e)};let o=T.isJsxElement(t)?t.openingElement:t,i=o.tagName;if(T.isJsxNamespacedName(i)){let x=E(e.sourceFile.fileName);throw new Error(`JSX namespaced elements are not supported. Found ${i.getText()} in "${x}"`)}if(!T.isIdentifier(i)||!i.text.startsWith(i.text[0].toLowerCase())&&i.text!==bt&&i.text!==vt){let b=T.isIdentifier(i)&&i.text===So?Kt(n,e):{litTag:void 0,parts:[ed(e,t,i,n)]};return{key:Zl(o,e),...b}}let a=i.text===bt?Ne:i.text===vt?Ze:i.text,p=i.text===bt?ye:i.text===vt?ne:Mo.has(a)?On:Le.has(a)?ge:re;typeof a=="string"&&a.includes("-")&&!je.has(a)&&e.customElementsToImport.add(a);let l,d=[],m=o.attributes.properties.flatMap(x=>{if(T.isJsxSpreadAttribute(x))throw new Error(`JSX spread attribute syntax is not supported. See alternatives: https://qawebgis.esri.com/arcgis-components/?path=/docs/references-lumina-jsx--docs#spread-attributes
103
- Found ${x.getText()}`);let{name:b,initializer:v}=x;if(T.isJsxNamespacedName(b)){let Gt=E(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${b.getText()} in "${Gt}"`)}let F=b.text,K=Wi(v),D=K?.propType??Ki(F,v,a),X=Ji[D](e,K?.initializer??v,F,a);if(X.length===0)return[];let Ce=e.compiler.shouldMinifyStrict?" ":Ui(_n(b,e));if(D==="key")return l=typeof X[0]=="object"&&!Qn(b,e)?X[0]:void 0,Array.isArray(Ce)&&Ce.some(Hi)?Ce:[];let Ue=[...Ce,...X];return D==="directives"||D==="ref"||D==="dynamicValue"?(d.push(...Ue),[]):Ue});if(d.length>0&&m.push(...d),typeof a=="string"&&Ie.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 y=typeof a=="string"&&wo.has(a),f=Kt(n,e);if(y&&f.parts.length>0){let x=E(e.sourceFile.fileName);throw new Error(`Void HTML elements like <${a}> cannot have children. Found ${t.getText()} in "${x}"`)}let g=(p===ge||p===ne)&&f.parts.length===0,C=["<",typeof a=="string"?a:i,...m,g?`${m.length===0?"":" "}/>`:">"],u=y||g?C:[...C,...f.litTag!==void 0&&f.litTag!==p?[ot({key:void 0,...f},e)]:f.parts,"</",typeof a=="string"?a:i,">"];return{key:l,parts:u,litTag:p}}function Zl(e,t){let n=e.attributes.properties[Yn(e)];return n&&T.isJsxAttribute(n)&&!Qn(n.name,t)?nt(n.initializer):void 0}var Yn=e=>e.attributes.properties.findIndex(({name:t})=>t&&T.isIdentifier(t)&&t.text==="key");function ed(e,t,n,r){let i=(T.isJsxElement(t)?t.openingElement:t).attributes.properties.map(p=>{if(T.isJsxSpreadAttribute(p))return Xn(_n(p,e),T.factory.createSpreadAssignment(p.expression));let{name:l,initializer:d}=p;if(T.isJsxNamespacedName(l)){let f=E(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${l.getText(e.sourceFile)} in "${f}"`)}if(l.text==="key")return;let m=d===void 0?T.factory.createTrue():T.isStringLiteral(d)?d:Be(d)?Zi(e,d):G(e,d.expression??T.factory.createIdentifier("undefined")),y=we(l.text)?T.factory.createStringLiteral(l.text):l;return T.factory.createPropertyAssignment(y,m)}),{parts:s,litTag:a}=Kt(r,e);return s.length>0&&i.push(T.factory.createPropertyAssignment(T.factory.createIdentifier("children"),ot({key:void 0,parts:s,litTag:a},e))),T.factory.createCallExpression(n,void 0,[T.factory.createObjectLiteralExpression(i.filter(Yl))])}function Kt(e,t){let n,r=e.flatMap(o=>{if(T.isJsxText(o))return[t.compiler.shouldMinifyStrict?jr(o.text):o.text];if(T.isJsxExpression(o))return Jt(t,td(o));{let i=es(t,o);if(i.key===void 0&&i.litTag!==ye&&i.litTag!==ne){if(i.litTag===On)return i.parts;if(n!==void 0&&i.litTag!==void 0&&n!==i.litTag)throw new Error(`Unexpectedly found both ${n} and ${i.litTag} child elements inside the same element.`);return n=i.litTag,i.parts}else return[ot(i,t)]}});return{litTag:n,parts:r}}function td(e){return e.expression&&T.isBinaryExpression(e.expression)&&(e.expression.operatorToken.kind===T.SyntaxKind.AmpersandAmpersandToken||e.expression.operatorToken.kind===T.SyntaxKind.QuestionQuestionToken||e.expression.operatorToken.kind===T.SyntaxKind.BarBarToken)?e.expression.operatorToken.kind===T.SyntaxKind.BarBarToken&&(T.isStringLiteral(e.expression.right)||Be(e.expression.right)||T.isNumericLiteral(e.expression.right)||T.isPrefixUnaryExpression(e.expression.right)||T.isNoSubstitutionTemplateLiteral(e.expression.right)||T.isTemplateExpression(e.expression.right))?e:T.factory.updateJsxExpression(e,T.factory.createBinaryExpression(e.expression,T.factory.createToken(T.SyntaxKind.BarBarToken),T.factory.createStringLiteral(""))):e}function Jt(e,t){if(t.expression===void 0){if(e.compiler.shouldMinifyStrict)return[];let n=t.getText(e.sourceFile).slice(1,-1);return Bt(n).length===0?[]:[Xn(n,T.factory.createIdentifier("undefined"))]}return T.isStringLiteral(t.expression)?[mt(t.expression.text)]:e.compiler.viteCommand==="serve"&&e.compiler.typeScriptConfig.options.sourceMap&&!e.compiler.shouldMinifyStrict&&T.isArrowFunction(t.expression)&&!T.isBlock(t.expression.body)?[G(e,T.factory.updateArrowFunction(t.expression,t.expression.modifiers,t.expression.typeParameters,t.expression.parameters,t.expression.type,t.expression.equalsGreaterThanToken,T.factory.createBlock([T.factory.createReturnStatement(t.expression.body)],!0)))]:[G(e,t.expression)]}function ts(e){let t=jo().map(({packageName:n})=>n);return e.existingImportedModules.forEach(n=>{if(c.isAbsolute(n))return;let{packageName:r,moduleName:o}=ln(n);if(t.includes(r??"")&&(o.startsWith("dist/components")||o.startsWith("components"))){let i=E(e.sourceFile.fileName);throw new Error(`Did not expect to find any explicit imports for "${n}". Found import in ${i}. 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 ns(e){if(e.compiler.viteCommand==="serve")return e.customElementsToImport.clear(),[];let t=Ve.get(e.compiler);return t||(t={},Ve.set(e.compiler,t)),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)}),[]}var rs=(e,t)=>{let n=e.pragmas;if(n?.has("jsx")??n?.has("jsxImportSource"))return e.statements;let r={compiler:t.compiler,externalComponents:kt(),localComponents:t.compiler.isInPuppeteerTestBackEnd?{}:Kn(t.compiler.manifest),sourceFile:e,transformationContext:t.transformation,importRenames:rd(e),existingImportedModules:new Set,importedFunctionComponentsFromModules:new Set,existingLitImports:new Set,customElementsToImport:new Set,neededImports:new Set,liftedKeys:new Set};e.statements.forEach(a=>{nd.isImportDeclaration(a)&&bi(r,a)});let i=G(r,e).statements;if(r.neededImports.size>0&&(i=i.map(Si,r),r.existingLitImports.size>0))throw new Error(`Expected context.existingLitImports to be empty by now. Found: ${Array.from(r.existingLitImports).join(", ")}`);let s=[Ei,ts,ns].flatMap(a=>a(r));if(r.neededImports.size>0)throw new Error(`Expected context.neededLitImports to be empty by now. Found: ${Array.from(r.neededImports).join(", ")}`);return[...s,...i]};function rd(e){return od(e),Object.fromEntries(xi.map(t=>[t,e.identifiers.has(t)?`${t}$jsx`:t]))}function od(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.")}var os=(e,t)=>{if(t.fileManifest!==void 0&&e.text.includes(`* @${ee}`))throw new Error(`Do not use @${ee} JSDoc tag as it is not yet handled correctly by doc extraction (see https://github.com/open-wc/custom-elements-manifest/issues/263). Please use @${ze} instead. Found @${ee} in ${E(c.relative(t.compiler.dir.root,e.fileName))}`);return e.statements};import k from"typescript";import R from"typescript";import{PropertyFlags as xe}from"@arcgis/lumina/config";function is(e,t,n){return t.size===0?e:[R.factory.createPropertyDeclaration([R.factory.createModifier(R.SyntaxKind.StaticKeyword),R.factory.createModifier(R.SyntaxKind.OverrideKeyword)],"properties",void 0,void 0,R.factory.createObjectLiteralExpression(Array.from(t.entries()).map(([r,o])=>R.factory.createPropertyAssignment(we(r)?R.factory.createStringLiteral(r):r,id(o,n))))),...e]}function id(e,t){let n=0,r=!0,o=e.properties.filter(a=>{if(!R.isPropertyAssignment(a)||!R.isIdentifier(a.name))return!0;let p=a.name.text,l=a.initializer,d=l.kind===R.SyntaxKind.TrueKeyword,m=l.kind===R.SyntaxKind.FalseKeyword;if(p==="attribute")return r=!1,n|=d?xe.ATTRIBUTE:0,!d&&!m;if(p==="reflect")return n|=d?xe.REFLECT:0,!1;if(p==="type"&&R.isIdentifier(l)){if(l.text==="Boolean")return n|=xe.BOOLEAN,!1;if(l.text==="Number")return n|=xe.NUMBER,!1}else{if(p==="state")return r=!1,n|=d?xe.STATE:0,!1;if(p==="readOnly")return n|=d?xe.READ_ONLY:0,!1;p==="noAccessor"&&(n|=d?xe.NO_ACCESSOR:0)}return!0});r&&(n|=xe.ATTRIBUTE);let i=t?o:e.properties,s=R.factory.createNumericLiteral(n);return i.length===0?s:R.factory.createArrayLiteralExpression([s,R.factory.createObjectLiteralExpression(i)])}import{identity as ud}from"@arcgis/components-utils";import{readFileSync as md,writeFileSync as fd}from"node:fs";import it from"typescript";import O from"typescript";import w from"typescript";import{camelToKebab as sd}from"@arcgis/components-utils";function ss(e,t,n,r,o,i){let s=-1,a=!1,p=-1,l=-1;t.options?.properties.forEach((g,C)=>{if(w.isSpreadAssignment(g))throw new Error(`Spread property assignment is not allowed in @property() as that is not statically analyzable. Found ${g.getText(r)}`);if(w.isIdentifier(g.name)){let u=g.name.text;u==="type"?s=C:u==="converter"?a=!0:u==="attribute"?p=C:u==="readOnly"&&(l=C)}});let d=i?.attribute===void 0&&p===-1,m=i?.readonly===!0&&i.docsOnlyReadonly!==!0&&l===-1,y=ad(e,t,n,r,o,i,s,p,a),f=[...d?[w.factory.createPropertyAssignment("attribute",w.factory.createFalse())]:[],...m?[w.factory.createPropertyAssignment("readOnly",w.factory.createTrue())]:[],...y!==void 0?[y]:[]];return f.length>0?t.options===void 0?w.factory.createObjectLiteralExpression(f,!1):w.factory.updateObjectLiteralExpression(t.options,[...t.options.properties,...f]):t.options}function ad(e,t,n,r,o,i,s,a,p){if(i?.attribute===void 0)return;if(t.options&&t.options.properties.length===0&&o(t.options.getStart(r),t.options.getEnd(),""),a!==-1){let g=t.options.properties[a],C=sd(i.name);if(w.isPropertyAssignment(g)&&(g.initializer.kind===w.SyntaxKind.TrueKeyword||w.isStringLiteral(g.initializer)&&g.initializer.text===C)&&gn(i.type?.values??[])){let x=t.options.properties[a+1]?.getFullStart()??g.getEnd();o(g.getFullStart(),x,"")}}let l=ld(e),d=n.compiler.viteCommand==="serve"||l!=="Other"?l:pd(i.type?.values);if(d==="Other"||i.readonly&&(d!=="Boolean"||!i.reflects))return;let m=t.options?.properties[s];if(m){let g="initializer"in m?m.initializer:void 0;if(!p&&g&&w.isIdentifier(g)){let C=`Found property "${i.name}" in "${E(r.fileName)}" that has @property({ type: ${g.text} })`,u='. If this is a false warning, you can silence it by adding "converter: undefined" option to @property()';if(g.text==="Boolean"&&d==="Number")console.warn(`${C} where as expected to see @property({ type: Number }) because the property type is number${u}`);else if(g.text==="Number"&&d==="Boolean")console.warn(`${C} where as expected to see @property({ type: Boolean }) because the property type is boolean${u}`);else if(!dd.has(g.text))console.warn(`${C}. The default Lit attribute<-->property converter does not define any behavior for @property({ type: ${g.text} }). Consider removing this "type", or adding a custom converter @property({ converter: ... }) to handle this type${u}`);else if(l!=="Other"&&g.text===l){let b=t.options.properties[s+1]?.getFullStart()??m.getEnd();o(m.getFullStart(),b,"")}}return}if(l==="Other"){let g=`type: ${d}`;if(t.options===void 0){let C=t.decorator.getEnd()-1;o(C,C,`{ ${g} }`)}else{let C=t.options.getStart(r)+1;o(C,C,` ${g},`)}}return w.factory.createPropertyAssignment(w.factory.createIdentifier("type"),w.factory.createIdentifier(d))}function pd(e){let t=!1,n=!1,r=!1;if(e?.forEach(o=>{t||=o.type==="number",n||=o.type==="boolean",r||=o.type==="string"||o.type==="any"||o.type==="unknown"}),r||=t&&n,!r){if(t)return"Number";if(n)return"Boolean"}return"Other"}function ld(e){let t=e.type??(w.isSetAccessor(e)?e.parameters[0].type:void 0);if(t===void 0){if("initializer"in e&&e.initializer){if(w.isNumericLiteral(e.initializer)||w.isPrefixUnaryExpression(e.initializer)&&e.initializer.operator===w.SyntaxKind.MinusToken&&w.isNumericLiteral(e.initializer.operand))return"Number";if(e.initializer.kind===w.SyntaxKind.FalseKeyword||e.initializer.kind===w.SyntaxKind.TrueKeyword)return"Boolean"}}else{if(t.kind===w.SyntaxKind.NumberKeyword)return"Number";if(t.kind===w.SyntaxKind.BooleanKeyword)return"Boolean"}return"Other"}var dd=new Set(["Number","Boolean","Array","Object"]);function Ht(e,t,n,r,o,i){if(t.modifiers===void 0)return t;let s=-1,a=-1;if(t.modifiers.forEach((p,l)=>{if(O.isDecorator(p)&&O.isCallExpression(p.expression)&&O.isIdentifier(p.expression.expression)){let d=p.expression.expression.text;d==="property"&&(s=l),d==="state"&&(a=l)}}),s!==-1&&a!==-1)throw new Error(`Property cannot have both @property and @state decorators. Found property that has both: ${t.getText(r)}`);if(s!==-1){let p=cd(e,t,n,r),l=as(t,s,r),d=ss(t,l,e,r,o,p),m=!1;return i!==void 0&&p&&(i.set(p.name,d??O.factory.createObjectLiteralExpression()),m=!0),l.options=d,ps(t,l,s,m)}else if(a!==-1&&i!==void 0){let p=as(t,a,r),l=O.factory.createPropertyAssignment("state",O.factory.createTrue()),d=p.options===void 0?O.factory.createObjectLiteralExpression([l]):O.factory.updateObjectLiteralExpression(p.options,[...p.options.properties,l]),m=lt(t);if(m===void 0)throw new Error("Failed to statically determine the state property name");return i.set(m,d),ps(t,p,a,!0)}else return t}function cd(e,t,n,r){let o=U(e.fileManifest??{},!0).find(s=>s.name===n)??(e.compiler.isInTest?{name:""}:void 0);if(o===void 0)return;let i=Fe(o,t)??(e.compiler.isInTest?{kind:"field",attribute:"",readonly:!1,name:"",type:void 0}:void 0);if(!(i===void 0||i.kind!=="field")){if(i.name===""){let s=lt(t);if(s===void 0)throw new Error(`Failed to statically determine the property name: ${t.getText(r)}`);i.name=s}return i}}function as(e,t,n){let r=e.modifiers[t],o=r.expression,i=o.arguments.at(0);if(i&&!O.isObjectLiteralExpression(i))throw new Error(`First argument to @property() or @state() decorator must be an object literal as otherwise it is not statically analyzable. Found ${i.getText(n)}`);return{decorator:r,callExpression:o,options:i}}function ps(e,t,n,r){if(t.callExpression.arguments.length>1)throw new Error(`Expected at most 1 argument to @property() or @state() decorator. Found ${t.callExpression.arguments.length} in ${e.getText()}`);let o=r?void 0:O.factory.updateDecorator(t.decorator,O.factory.updateCallExpression(t.callExpression,t.callExpression.expression,t.callExpression.typeArguments,t.options===void 0?[]:[t.options])),i=[...e.modifiers.slice(0,n),...o===void 0?[]:[o],...e.modifiers.slice(n+1)];return O.isGetAccessorDeclaration(e)?O.factory.updateGetAccessorDeclaration(e,i,e.name,e.parameters,e.type,e.body):O.isSetAccessorDeclaration(e)?O.factory.updateSetAccessorDeclaration(e,i,e.name,e.parameters,e.body):O.factory.updatePropertyDeclaration(e,i,e.name,e.questionToken??e.exclamationToken,e.type,e.initializer)}function ls(e,t){try{let n=md(t,"utf-8"),r=it.createSourceFile(t,n,e.compiler.typeScriptConfig.options.target??it.ScriptTarget.Latest,!1,it.ScriptKind.TSX),o=[],i=(p,l)=>it.isPropertyDeclaration(p)||it.isAccessor(p)?Ht(e,p,l,r,(...d)=>o.push(d)):p;r.statements.forEach(p=>Ut(i,p,e));let a=o.sort((p,l)=>l[0]-p[0]).reduce((p,[l,d,m])=>`${p.slice(0,l)}${m}${p.slice(d)}`,n);fd(t,a)}catch(n){console.error(`Failed applying automated edits to the ${E(t)} file.: Error ${String(n)}`)}}var ds=(e,t)=>{if(t.fileManifest===void 0&&!t.compiler.isInTest)return e.statements;let n=!1;function r(){n=!0}let o;function i(){o=new Map}let s=l=>is(l,o,t.compiler.shouldMinify),a=(l,d)=>gd(t,l,d,e,r,o),p=e.statements.map(l=>Ut(a,l,t,i,s));return!t.compiler.isInCi&&!t.compiler.isInTest&&n&&ls(t,e.fileName),p};function Ut(e,t,n,r,o=ud){if(k.isClassDeclaration(t)&&t.heritageClauses?.some(s=>s.token===k.SyntaxKind.ExtendsKeyword)){let s=!1,a=t.name?.text;r?.();let p=o(t.members.map(d=>{let m=e(d,a);return s||=m!==d,m}));return s?k.factory.updateClassDeclaration(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,p):t}return n.compiler.isInTest?k.visitEachChild(t,s=>Ut(e,s,n,r,o),n.transformation):t}var yd=new Set(["connectedCallback","disconnectedCallback"]);function gd(e,t,n,r,o,i){if(k.isMethodDeclaration(t)){let s=t.modifiers?.filter(a=>!k.isDecorator(a)||!hd(a));if(s?.length!==t.modifiers?.length)return k.factory.updateMethodDeclaration(t,s,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,t.body);if("text"in t.name&&yd.has(t.name.text)&&t.body){let a=t.name.text;return t.body.statements.some(l=>k.isExpressionStatement(l)&&k.isCallExpression(l.expression)&&k.isPropertyAccessExpression(l.expression.expression)&&l.expression.expression.expression.kind===k.SyntaxKind.SuperKeyword&&l.expression.expression.name.text===a)?t:k.factory.updateMethodDeclaration(t,t.modifiers,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,k.factory.updateBlock(t.body,[k.factory.createExpressionStatement(k.factory.createCallExpression(k.factory.createPropertyAccessExpression(k.factory.createSuper(),a),void 0,[])),...t.body.statements]))}}return k.isPropertyDeclaration(t)||k.isAccessor(t)?Ht(e,t,n,r,o,i):t}var hd=e=>k.isCallExpression(e.expression)&&k.isIdentifier(e.expression.expression)&&e.expression.expression.text==="method";var cs="makeRuntime(";function ms(e,t){let n=e.indexOf(cs);if(n===-1)throw new Error("Failed to find makeRuntime() function call in src/runtime.ts");let r=n+cs.length,o=t.options.css?.commonStylesPath;return{code:[o===void 0?"":`import commonStyles from "${Y(t.dir.src,o)}";`,e.slice(0,r),"{","defaultAssetPath:import.meta.env.BASE_URL,",'hydratedAttribute:"',t.options.css?.hydratedAttribute??mn,'",',o===void 0?"":"commonStyles","}",e.slice(r)].join(""),map:null}}var Cd=[os,rs,No,ds],us=e=>({name:"@arcgis/lumina:transformComponents",transform:{order:"pre",async handler(t,n){if(!n.endsWith(".tsx")){if(e.isInTest&&n.endsWith(".ts")&&Yt(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 ms(t,e);return}let r=e.getSourceFile(n,t);await me;let i=xd.transform(r,[y=>()=>dt(e,y,r,[...e.options.types?.sourceFileTransformers??[],...Cd])]).transformed[0],s=Td(e),a=De(s),p=s.sourceMap?be.createSourceMapGenerator(e.typeScriptHost,c.basename(n),"",c.dirname(n),s):void 0,l=be.createTextWriter(be.getNewLineCharacter(s));a.writeFile(i,l,p);let d=l.getText(),m=p?.toJSON();return{code:d,map:m??null}}}}),fs=new WeakMap;function Td(e){let t=fs.get(e);if(!t){let n=e.typeScriptConfig.options;t={...n,declaration:!1,declarationMap:!1,emitDeclarationOnly:!1,sourceMap:n.sourceMap??n.inlineSourceMap,inlineSourceMap:!1,allowSyntheticDefaultImports:!0,suppressOutputPathCheck:!0,noLib:!0,noResolve:!0,skipLibCheck:!0},fs.set(e,t)}return t}var gs=e=>({name:"@arcgis/lumina:handleDynamicAssets",configureServer(t){e.server=t,!e.isInPuppeteerTestBackEnd&&ys(e).forEach(({assets:n,transformers:r})=>ue(e,n,r))},async writeBundle(){await Promise.all(ys(e).map(async({assets:t,transformers:n})=>await $t(e,t,n)))}});function ys(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 bd}from"node:fs/promises";import{writeFileSync as vd}from"node:fs";var hs="@arcgis/lumina:updatePackageJson",xs=e=>({name:hs,apply:()=>e.viteCommand==="serve"&&e.environment==="development"&&!e.isInTest&&!e.isInCi,configResolved(){Sd(e).catch(t=>console.error(`${hs}: Failed to update package's package.json`,t))}});async function Sd(e){let t=c.join(e.dir.root,"package.json"),n=JSON.parse(await bd(t,"utf-8")),r=Ed(n,e);r&&vd(t,JSON.stringify(r,null,2))}function Ed(e,t){let n=e?.devDependencies??{};Object.keys(e?.peerDependencies??{}).forEach(y=>{y in n||console.error(`Every peerDependency must also be a devDependency, or else some tools will get confused (like Turbo Build). Found "${y}" that is not a devDependency. Please edit your package.json`)});let r=!1,o=y=>c.relative(t.dir.root,c.join(t.dir.dist,y)),i=e["css.customData"]??[],s=t.documentationFileNames,a=o(s.vsCodeCss);i.includes(a)||(e["css.customData"]=[...i,a],r=!0);let p=o(s.manifest);e.customElements!==p&&(e.customElements=p,r=!0);let l=e["html.customData"]??[],d=o(s.vsCodeHtml);l.includes(d)||(e["html.customData"]=[...l,d],r=!0);let m=o(s.webTypes);if(e["web-types"]!==m&&(r=!0,e["web-types"]=m),r)return e}import{isNotUndefined as Cs}from"@arcgis/components-utils";import{defaultEventBubbles as Pd,defaultEventCancelable as wd,defaultEventComposed as Md}from"@arcgis/lumina/config";var Ts=e=>({timestamp:e.manifest.timestamp,compiler:e.manifest.compiler,components:e.manifestComponents.map(kd),typeLibrary:{}});function kd(e){let t=e.superclass?[{name:"superclass",text:JSON.stringify(e.superclass)}]:[];return{filePath:e.sourcePath,tag:e.tagName??"",overview:"",readme:"",usage:{},docs:e.description??"",docsTags:[...e.docsTags??[],...t],encapsulation:e.encapsulation??"shadow",dependents:[],dependencies:[],dependencyGraph:{},deprecation:typeof e.deprecated=="boolean"?e.deprecated?"":void 0:e.deprecated,props:e.members?.map(Fd).filter(Cs)??[],methods:e.members?.map(Dd).filter(Cs)??[],events:e.events?.map($d)??[],styles:e.cssProperties?.map(n=>({name:n.name,annotation:"prop",docs:n.description??"",mode:void 0}))??[],slots:e.slots?.map(({name:n,description:r=""})=>({name:n,docs:r}))??[],parts:e.cssParts?.map(({name:n,description:r=""})=>({name:n,docs:r}))??[],listeners:[]}}function Fd(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:""}]:[];return{name:t.name,type:t.type?.text??"unknown",complexType:t.type===void 0?void 0:{original:t.type.original,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:t.hasQuestionToken??!1,required:t.docsTags?.some(o=>o.name==="required")??!1}}var Zn=e=>Object.fromEntries(e?.map(t=>[t.name,{location:t.package===pn?"global":t.package===void 0?"local":"import",path:typeof t.module=="string"&&typeof t.package=="string"?c.join(t.package,t.module):t.module??t.package,id:"notImplemented"}])??[]);function Dd(e){if(e.kind!=="method")return;let t=e,n=e.inheritedFrom?[{name:"inheritedFrom",text:JSON.stringify(e.inheritedFrom)}]:[],r=t.parameters?.map(({name:o,type:i,description:s})=>({name:o,type:i?.text??"unknown",docs:s??""}))??[];return{name:t.name,returns:{type:t.return?.type?.text??"void",docs:t.docsTags?.filter(({name:o})=>o==="return"||o==="returns").map(({text:o})=>o).join(`
104
- `)??""},complexType:{signature:"()=>unknown",parameters:r,...t.type,return:t.return?.type?.text??"void",references:Zn(t.type?.references)},signature:`${t.name}${t.type?.signature??"()=>unknown"}`,parameters:r,docs:t.description??"",docsTags:[...t.docsTags??[],...n],deprecation:typeof t.deprecated=="boolean"?t.deprecated?"":void 0:t.deprecated}}function $d(e){let t=e,n=t.inheritedFrom?[{name:"inheritedFrom",text:JSON.stringify(t.inheritedFrom)}]:[];return{event:t.name,detail:t.type.text,bubbles:t.bubbles??Pd,complexType:{original:t.type.original,resolved:t.type.text,references:Zn(t.type.references)},cancelable:t.cancelable??wd,composed:t.composed??Md,docs:t.description??"",docsTags:[...t.docsTags??[],...n],deprecation:typeof t.deprecated=="boolean"?t.deprecated?"":void 0:t.deprecated}}import{writeFile as er}from"node:fs/promises";var Vt=e=>e.flatMap(t=>t.cssProperties?.map(n=>({name:n.name,description:n.description||void 0}))??[]),zt=e=>e.flatMap(t=>t.cssParts?.map(n=>({name:`::part(${n.name})`,description:n.description||void 0}))??[]),bs=e=>e.members?.filter(Ae).map(t=>({name:t.attribute??"",description:He(t.description,t.deprecated)||void 0,default:t.default,required:t.docsTags?.some(n=>n.name==="required")||void 0,value:{type:Ad(t.type?.values?.map(n=>n.type==="string"&&n.value?`"${n.value}"`:n.value??n.type))}})).filter(t=>t.name)??[],Ad=e=>e?.length===1?e[0]:e,He=(e="",t=!1)=>t===!1?e:`**Deprecated**${typeof t=="string"?`: ${t}`:""}. ${e}`;var st={slots:"Slots",events:"Events",cssProperties:"CSS Properties",cssParts:"CSS Parts",methods:"Methods"};function qt(e){let t=Nd(e?.slots),n=Ld(e?.events),r=Id(e?.cssProperties),o=jd(e?.cssParts),i=Rd(e?.members),s=He(e.description,e.deprecated).trim();return[...s?[`${s}
97
+ /// <reference types="@arcgis/lumina/typings" />`,Il=`
98
+ /// <reference types="@arcgis/core/interfaces" />`;var Fi="@arcgis/lumina:dependencySupport",Rt=(e,t)=>e.viteCommand==="serve"||e.isInStorybook&&(t===void 0||t.path==="/iframe.html"),Di=e=>({name:Fi,configResolved(){Rt(e)&&e.environment==="development"&&!e.isInTest&&jl(e).catch(t=>console.error(`${Fi}: Failed to update package's src/lumina.ts`,t))},transformIndexHtml:{order:"pre",async handler(t,n){return Rt(e,n)?(await we(e)).map(o=>"javascriptCode"in o?{tag:"script",attrs:{type:"module"},children:o.javascriptCode.join(`
99
+ `)}:"cssHref"in o?{tag:"link",attrs:{rel:"stylesheet",href:o.cssHref,id:o.id}}:o):void 0}},async buildStart(){if(e.viteCommand!=="serve")return;let n=(await we(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 function jl(e){let n=(await Promise.all([ue,Nn(e)])).flat();await jt(n,e.dir.src,$n,e.viteConfig.test?.browser?.provider)}var Ot="@arcgis/lumina:compilerContextPlugin",M=class{constructor(t){this._typeScriptSourceFiles={};this.plugin={name:Ot,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",this.shouldMinifyStrict=n&&(this.viteCommand!=="serve"||this.isInTest);let r=c.join(t.root,c.sep),o=c.join(r,"src",c.sep),i=c.join(o,"components",c.sep),s=c.join(c.resolve(r,t.build.outDir),c.sep),a=c.join(c.relative(r,s),c.sep),p=c.join(s,"components",c.sep),l=c.join(s,this.options.build?.cdn?.namespace??Be,c.sep),d=c.join(l,"assets",c.sep);this.dir={root:r,src:o,srcComponents:i,relativeDist:a,dist:s,distComponents:p,distCdn:l,distCdnAssets:d},t.root!==Q()?console.warn(`${Ot}: Vite's config.root is not equal process.cwd(). This is not officially supported by Lumina and may lead to unexpected behavior. Contact Lumina maintainers if you need this to be supported.`):s===r?console.warn(`${Ot}: 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(`${Ot}: 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.typeScriptConfig.options.sourceMap=t.build.sourcemap!==!1,this.isInStorybook=t.resolve.conditions.includes("storybook"),this.hmrEnabled=this.viteCommand==="serve"&&!this.isInTest&&!!(t.server?.hmr??!0),Rt(this)&&we(this).catch(console.error)}},configureServer:{order:"post",handler:()=>{this.serverConfigured=!0}}};this.isInCi=!!process.env.CI;this.declarationTextTransformers=[];this.serverConfigured=!1;this.assetsToProvide=[];this.options=t;let n=t.documentation??{};this.documentationFileNames={manifest:n.manifestFileName?Je(n.manifestFileName):Ke.manifest,stencilLikeDocsJson:n.stencilLikeDocsJsonFileName?Je(n.stencilLikeDocsJsonFileName):Ke.stencilLikeDocsJson,webTypes:n.jetBrains?.webTypesFileName?Je(n.jetBrains.webTypesFileName):Ke.webTypes,vsCodeHtml:n.vsCode?.htmlFileName?Je(n.vsCode.htmlFileName):Ke.vsCodeHtml,vsCodeCss:n.vsCode?.cssFileName?Je(n.vsCode.cssFileName):Ke.vsCodeCss},kt().catch(console.error),this.componentFilesPromise=Ge(this,c.resolve("src/components"));let r=Oo(t.types?.tsconfigPath);this.typeScriptConfigPath=r.path,this.typeScriptConfig=r.config;let o=t.build?.preamble??Jo();this.banner=Bo(o)}_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(`${Ae}: Vite is running in unknown mode "${n}". Assuming development`),this.environment="development"),this.viteCommand=t;let o=r?.__IS_IN_PUPPETEER__===!0,i=this.viteCommand==="serve"&&this.isInTest&&this.options.puppeteerTesting?.enabled===!0;this.isInPuppeteerTestBackEnd=i&&!o,this.isInPuppeteerTestFrontEnd=i&&o}getSourceFile(t,n){let r=this.typeScriptProgram?.getSourceFile(t);if(!r){if(this.viteCommand==="build")throw new Error(`Unable to find the TypeScript source file for ${t}`);{let i=this._typeScriptSourceFiles[t];i!==void 0&&i.text===n&&(r=i)}}return n!==r?.text&&(r=Kn.createSourceFile(t,n,r?.languageVersion??this.typeScriptConfig.options.target??Kn.ScriptTarget.Latest,!0,Kn.ScriptKind.TSX),this.viteCommand==="serve"&&(this._typeScriptSourceFiles[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"&&ge(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()")}};$([L("buildStart() in build mode or load() serve mode")],M.prototype,"typeScriptHost",2),$([L("configResolved()")],M.prototype,"shouldMinify",2),$([L("configResolved()")],M.prototype,"shouldMinifyStrict",2),$([L("configResolved()")],M.prototype,"dir",2),$([L("load()")],M.prototype,"manifest",2),$([L("load()")],M.prototype,"manifestComponents",2),$([L("load() when in build mode")],M.prototype,"componentPathMapping",2),$([L("apply()")],M.prototype,"environment",2),$([L("apply()")],M.prototype,"isInTest",2),$([L("apply()")],M.prototype,"isInPuppeteerTestBackEnd",2),$([L("apply()")],M.prototype,"isInPuppeteerTestFrontEnd",2),$([L("configResolved()")],M.prototype,"isInStorybook",2),$([L("configResolved()")],M.prototype,"hmrEnabled",2),$([L("apply()")],M.prototype,"viteCommand",2),$([L("configResolved()")],M.prototype,"viteConfig",2),$([L("configResolved()")],M.prototype,"server",2),$([L("transform()")],M.prototype,"globalHydratedCssString",2),$([L("config()")],M.prototype,"componentFiles",2);import{writeFile as Li}from"node:fs/promises";function Ai(e,t,n){let r=Ft()[t]??Hn(e.manifest)[t];if(r===void 0){let o=E(n);throw new Error(`Unable to resolve the definition of the "${t}" custom element. Used in ${o}. If this is coming from an external package, make sure that package is installed as a peerDependency. 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 Ni(e,t){return e.packageName===void 0?Y(t,e.moduleName):c.join(e.packageName,e.moduleName)}var $i=new WeakMap;function Hn(e){let t=$i.get(e);if(t)return t;let n=Mn(e,{packageName:void 0,getImportPath(){throw new Error("not supposed to be called for local components")}});return $i.set(e,n),n}var Ii=e=>({name:"@arcgis/lumina:addNonLazyImports",apply:()=>e.viteCommand==="build",generateBundle(t,n){Object.entries(n).forEach(([r,o])=>{let i=ae(r,"components/",e);if(i!==r&&(o.fileName=i),o.type==="chunk"){let s=c.dirname(c.join(e.dir.dist,r)),a=i===r?s:c.dirname(c.join(e.dir.dist,i));o.code=Xt(o.code,e,a,s)}})},async writeBundle(){if(e.isInStorybook)return;let t=Ve.get(e)??{},n=Object.entries(t),r=new Set(n.map(([i])=>i).filter(i=>ce(i,e.dir.srcComponents)));n.forEach(([i,{referencedTagNames:s,referencedBy:a}])=>{if(r.has(i)||s.length===0)return;let p=ji(t,a,r);if(p.forEach(l=>{t[l].referencedTagNames.splice(0,0,...s)}),s.length>0&&p.length===0){let l=E(i);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 o=n.flatMap(([i,{referencedTagNames:s}])=>{if(!r.has(i))return[];let a=c.dirname(i),p=ae(a,e.dir.srcComponents,e),l=c.relative(e.dir.src,p),d=s.map(f=>Ni(Ai(e,f,i),l)).filter(f=>f!==`./${l}`),y=`${Array.from(new Set(d),f=>`import "${f}";
100
+ `).join("").trimStart()}export * from "./${Fe}";`;return[Li(c.join(e.dir.dist,l,Rl),y),Li(c.join(e.dir.dist,l,Ol),y)]});await Promise.all(o)}}),Rl="index.js",Ol="index.d.ts",ji=(e,t,n,r=new Set)=>t.flatMap(o=>n.has(o)?[o]:r.has(o)?[]:(r.add(o),ji(e,e[o].referencedBy,n,r)));import Cd from"typescript";import rd from"typescript";import T from"typescript";import P from"typescript";import{mappedFind as Wl,uncapitalize as Ri}from"@arcgis/components-utils";import h from"typescript";function Un(e,t){if(He(e))return e;{t.neededImports.add("nothing");let n=t.importRenames.nothing;return h.factory.createParenthesizedExpression(h.factory.createBinaryExpression(h.factory.createParenthesizedExpression(e),h.factory.createToken(h.SyntaxKind.QuestionQuestionToken),h.factory.createIdentifier(n)))}}function He(e){return typeof e=="string"||Jl.has(e.kind)||h.isConditionalExpression(e)&&He(e.whenTrue)&&He(e.whenFalse)||h.isBinaryExpression(e)&&(Bl.has(e.operatorToken.kind)||He(e.left)&&He(e.right))||(h.isParenthesizedExpression(e)||h.isSatisfiesExpression(e)||h.isAsExpression(e))&&He(e.expression)||h.isTaggedTemplateExpression(e)&&h.isIdentifier(e.tag)&&xi.has(e.tag.text)}var Jl=new Set([h.SyntaxKind.NumericLiteral,h.SyntaxKind.BigIntLiteral,h.SyntaxKind.StringLiteral,h.SyntaxKind.RegularExpressionLiteral,h.SyntaxKind.NoSubstitutionTemplateLiteral,h.SyntaxKind.FalseKeyword,h.SyntaxKind.NullKeyword,h.SyntaxKind.TrueKeyword,h.SyntaxKind.ArrayLiteralExpression,h.SyntaxKind.ObjectLiteralExpression,h.SyntaxKind.FunctionExpression,h.SyntaxKind.ArrowFunction,h.SyntaxKind.TypeOfExpression,h.SyntaxKind.PrefixUnaryExpression,h.SyntaxKind.PostfixUnaryExpression,h.SyntaxKind.TemplateExpression,h.SyntaxKind.ClassExpression,h.SyntaxKind.NonNullExpression]),Bl=new Set([h.SyntaxKind.PlusEqualsToken,h.SyntaxKind.MinusEqualsToken,h.SyntaxKind.AsteriskAsteriskEqualsToken,h.SyntaxKind.AsteriskEqualsToken,h.SyntaxKind.SlashEqualsToken,h.SyntaxKind.PercentEqualsToken,h.SyntaxKind.AmpersandEqualsToken,h.SyntaxKind.BarEqualsToken,h.SyntaxKind.CaretEqualsToken,h.SyntaxKind.LessThanLessThanEqualsToken,h.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken,h.SyntaxKind.GreaterThanGreaterThanEqualsToken,h.SyntaxKind.AmpersandToken,h.SyntaxKind.BarToken,h.SyntaxKind.CaretToken,h.SyntaxKind.EqualsEqualsToken,h.SyntaxKind.EqualsEqualsEqualsToken,h.SyntaxKind.ExclamationEqualsEqualsToken,h.SyntaxKind.ExclamationEqualsToken,h.SyntaxKind.LessThanToken,h.SyntaxKind.LessThanEqualsToken,h.SyntaxKind.GreaterThanToken,h.SyntaxKind.GreaterThanEqualsToken,h.SyntaxKind.InstanceOfKeyword,h.SyntaxKind.InKeyword,h.SyntaxKind.LessThanLessThanToken,h.SyntaxKind.GreaterThanGreaterThanToken,h.SyntaxKind.GreaterThanGreaterThanGreaterThanToken,h.SyntaxKind.PlusToken,h.SyntaxKind.MinusToken,h.SyntaxKind.AsteriskToken,h.SyntaxKind.SlashToken,h.SyntaxKind.PercentToken,h.SyntaxKind.AsteriskAsteriskToken]);var Bi={property(e,t,n,r){let o=Kl(r,n,e),i=o!==void 0;if(i){let p=zn(t);if(p===!0)return[o.attributeName];if(p===!1)return[]}let s=t===void 0?["=",P.factory.createToken(P.SyntaxKind.TrueKeyword)]:Jt(e,t,i),a=s[0]!=="=";if(i){if(a)return[o.attributeName,...s];if(o.type==="stringified"){let[l,d]=s,m=Un(d,e);if(!(m===d))return[o.attributeName,l,m]}}return[`.${n}`,...s]},attribute(e,t,n){let r=t===void 0||zn(t);if(r===!0)return[n];if(r===!1)return[];let o=Jt(e,t,!0),s=o[0]!=="="?o:[o[0],Un(o[1],e)];return[n,...s]},booleanAttribute(e,t,n){let r=t===void 0||zn(t);return r===!0?[n]:r===!1?[]:[`?${n}`,...Jt(e,t,!1)]},event(e,t,n){if(!t||!P.isJsxExpression(t)||!t.expression)throw new Error(`Event prop value must be an expression. Found ${String(t?.getText())}`);let r=n.slice(2),o=Ri(r);return[`@${wt.has(o)?r.toLowerCase():Po?Ri(r):r}=`,...Bt(e,t)]},directives(e,t){if(!t||!P.isJsxExpression(t))throw new Error(`Directives prop must be an expression. Found ${String(t?.getText())}`);if(!t.expression||!P.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())}`);return t.expression.elements.flatMap(o=>{if(P.isSpreadElement(o))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())}`);return _(e,o)})},ref(e,t){e.neededImports.add("ref");let n=e.importRenames.ref;if(!t||!P.isJsxExpression(t)||!t.expression)throw new Error(`ref prop value must be an expression. Found ${String(t?.getText())}`);return[P.factory.createCallExpression(P.factory.createIdentifier(n),void 0,[_(e,t.expression)])]},class:Ji,style:Ji,key:(e,t)=>[nt(t)],dynamicValue(e,t,n){e.neededImports.add("dynamicValueDirective");let r=e.importRenames.dynamicValueDirective;return[P.factory.createCallExpression(P.factory.createIdentifier(r),void 0,[P.factory.createStringLiteral(n),...t===void 0?[]:[_(e,P.isJsxExpression(t)?t.expression??P.factory.createIdentifier("undefined"):t)]])]}};function Kl(e,t,n){if(typeof e=="string"){let i=(n.externalComponents[e]??n.localComponents[e])?.propToAttribute?.[t];if(i)return{attributeName:i,type:"normal"}}let r=Vn(q.common,t);if(r)return r;if(typeof e=="string"){let o=Vn(q.perElement[e],t);if(o)return o}else{let o=Wl(Object.values(q.perElement),i=>{let s=Vn(i,t);return s?.type==="stringified"?s:void 0});if(o)return o}}function Vn(e,t){let n=e?.normal?.[t];if(n)return{attributeName:n,type:"normal"};let r=e?.stringified?.[t];if(r)return{attributeName:r,type:"stringified"}}function nt(e){if(e&&P.isJsxExpression(e)&&e.expression)return e.expression;if(e&&P.isStringLiteral(e))return e;throw new Error(`key prop value must be an expression. Found ${String(e?.getText())}`)}function zn(e){if(e===void 0)return!0;if(e&&P.isJsxExpression(e)){if(e.expression?.kind===P.SyntaxKind.TrueKeyword||e.expression===void 0)return!0;if(e.expression?.kind===P.SyntaxKind.FalseKeyword)return!1}}function Jt(e,t,n=!1){if(We(t))throw new Error(`Invalid JSX syntax detected or there is a bug in Lumina. Found ${t.getText()}. Expected JSX attribute value to be wrapped in { }`);if(P.isStringLiteral(t))return Oi(t,n);if(P.isJsxExpression(t)&&t.expression){if(P.isStringLiteral(t.expression))return Oi(t.expression,n);if(n){if(P.isNumericLiteral(t.expression))return[`=${t.expression.text}`];if(P.isPrefixUnaryExpression(t.expression)&&P.isNumericLiteral(t.expression.operand))return[`=${t.expression.getText(e.sourceFile)}`]}}return["=",...Bt(e,t)]}function Oi(e,t){if(!t)return["=",e];let n=e.text;if(n.length===0)return[];let r=ft(n);if(Or(r)){let o=r.replaceAll('"',"&#34;");if(o.length>r.length){let i=r.replaceAll("'","&#39;");if(i.length<o.length)return[`='${i}'`]}return[`="${o}"`]}else return[`=${r}`]}function Ji(e,t,n){if(t&&P.isStringLiteral(t))return[`${n}="${t.text}"`];if(!t||!P.isJsxExpression(t)||!t.expression)throw new Error(`${n} prop value must be an expression. Found ${String(t?.getText())}`);let r=t.expression;if(Hl(r)){let i=n==="class"?"safeClassMap":"safeStyleMap";e.neededImports.add(i);let s=e.importRenames[i],a=P.factory.createCallExpression(P.factory.createIdentifier(s),void 0,[_(e,r)]);return[`${n}=`,a]}else return[n,...Jt(e,t,!0)]}var Hl=e=>P.isObjectLiteralExpression(e)||P.isPropertyAccessExpression(e)||P.isIdentifier(e)||P.isCallExpression(e)||P.isBinaryExpression(e)||P.isConditionalExpression(e);import rt from"typescript";function Ki(e){if(e&&rt.isJsxExpression(e)&&e.expression&&rt.isCallExpression(e.expression)&&rt.isIdentifier(e.expression.expression)&&e.expression.expression.text in Wi&&e.expression.arguments.length<=1)return{propType:Wi[e.expression.expression.text],initializer:rt.factory.createJsxExpression(void 0,e.expression.arguments[0])}}var Wi={bindProperty:"property",bindAttribute:"attribute",bindBooleanAttribute:"booleanAttribute",bindEvent:"event"};function Hi(e,t,n){let r=typeof n=="string"&&n[0].startsWith(n[0].toUpperCase());return Vl.has(e)&&(!r||e==="key")?e:e.startsWith("on")&&t!==void 0&&rt.isJsxExpression(t)&&t.expression!==void 0?"event":Et.has(e)||e.includes("-")?"attribute":!(typeof n=="string"&&n.includes("-")&&!Re.has(n))&&(Pt.has(e)||(n===Ze?!1:n===Le?Object.values(et).some(a=>a.has(e)):et[n]?.has(e)===!0))?Tn.has(e)?"booleanAttribute":"attribute":n==="svg"||n==="math"||n===Ze||n!==Le&&(Ie.has(n)||je.has(n))?e in q.common.normal||e in q.common.stringified?"property":Tn.has(e)?"booleanAttribute":"attribute":n===Le&&(e==="value"||e==="defaultValue")?"dynamicValue":"property"}var Ul=["class","style","ref","directives","key"],Vl=new Set(Ul);import W from"typescript";var Ui=e=>typeof e!="string"||e.trim().length>0;function ot({key:e,parts:t,litTag:n},r){let o=zl(t);if(o.length%2===0)throw new Error("Normalized template parts array length must be odd");let[i,...s]=o;if(typeof i!="string")throw new Error("First normalized template part must be a string");if(n===void 0){if(s.length===0)return qn(r,e,W.factory.createStringLiteral(i));if(i===""&&s.length===2&&s[1]==="")return qn(r,e,typeof s[0]=="string"?W.factory.createStringLiteral(i):s[0])}let a=typeof n=="string"?n:re;r.neededImports.add(a);let p=r.importRenames[a],l=Se(i),d=W.factory.createTaggedTemplateExpression(W.factory.createIdentifier(p),void 0,s.length===0?W.factory.createNoSubstitutionTemplateLiteral(l,l):W.factory.createTemplateExpression(W.factory.createTemplateHead(l,l),ql(s)));return qn(r,e,d)}var zl=e=>e.reduce((t,n,r)=>{let o=t.at(-1),i=typeof o=="string",s=typeof n=="string";if(i&&s)return[...t.slice(0,-1),`${o}${n}`];let p=r===e.length-1;return!s&&p?[...t,n,""]:!s&&!p?[...t,n,""]:[...t,n]},[""]);function ql(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,o)=>{let i=o*2,s=e[i];if(typeof s=="string")throw new Error("Expected to receive a normalized array of parts");let a=i+1,p=e[a];if(typeof p!="string")throw new Error("Expected to receive a normalized array of parts");let l=o===n-1,d=Se(p);return W.factory.createTemplateSpan(s,l?W.factory.createTemplateTail(d,d):W.factory.createTemplateMiddle(d,d))})}function qn(e,t,n){if(t===void 0)return n;e.neededImports.add("keyed");let r=e.importRenames.keyed;return W.factory.createCallExpression(W.factory.createIdentifier(r),void 0,[t,n])}import _n from"typescript";var Xn=(e,t)=>e.getFullText(t.sourceFile).slice(0,e.getLeadingTriviaWidth(t.sourceFile));function Qn(e,t){let n=Wt(e);return n.length===0?t:_n.setSyntheticLeadingComments(t,n.map(r=>({...r,pos:-1,end:-1,text:zi(e.slice(r.pos,r.end))})))}var Wt=e=>e.trim().length===0?[]:_n.getLeadingCommentRanges(e,0)??[];function Vi(e){let t=Wt(e);if(t.length===0)return[e||" "];let n=t.reduceRight(([o,...i],s)=>{let a=Se(zi(Gn(o).slice(s.pos,s.end)));return[Gn(o).slice(0,s.pos),_n.factory.createNoSubstitutionTemplateLiteral(a,a),Gn(o).slice(s.end),...i]},[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 zi=e=>e.startsWith("//")?e.slice(2):e.slice(2,-2);function Gn(e){if(typeof e=="string")return e;throw new Error(`Expected string, got ${typeof e}: ${String(e)}`)}import{isNotUndefined as Zl}from"@arcgis/components-utils";import S from"typescript";function Gi(e,t){if(!(S.isPropertyAccessExpression(t.expression)&&t.expression.name.text==="map"))return t;let r=t.arguments[0];if(!(t.arguments.length===1&&S.isArrowFunction(r)))return t;let i=r.parameters.at(0);if(!(typeof i=="object"&&r.parameters.length<=2))return t;let a=Kt(r.body),p=!0,l;if(qi(a))l=a;else{if(!S.isBlock(a))return t;let u=a.statements.at(-1);if(!(u&&S.isReturnStatement(u)&&u.expression))return t;let b=Kt(u.expression);if(!qi(b))return t;let v=a.statements.slice(0,-1);if(v.some(_i))return t;p=v.length===0,l=b}let d=S.isJsxElement(l)?l.openingElement:l,m=Zn(d);if(m===-1)return t;let y=d.attributes.properties[m];if(!y||!S.isJsxAttribute(y))return t;let f=nt(y.initializer),g=Gl(i,f,p);if(g===void 0)return t;e.liftedKeys.add(y.name),e.neededImports.add("repeat");let C=e.importRenames.repeat;return S.factory.updateCallExpression(t,S.factory.createIdentifier(C),t.typeArguments,[t.expression.expression,S.factory.createArrowFunction(void 0,void 0,[g],void 0,void 0,f),S.factory.updateArrowFunction(r,r.modifiers,r.typeParameters,r.parameters,r.type,r.equalsGreaterThanToken,a)])}var qi=e=>S.isJsxElement(e)||S.isJsxSelfClosingElement(e);function _i(e){if(S.isReturnStatement(e))return!0;let t=!1;return S.visitEachChild(e,n=>(t||=_i(n),n),void 0),t}function Gl(e,t,n){let r=S.isObjectBindingPattern(e.name)?Ql(e.name,t.getText()):e.name;if(!n){let o=oe(t);if(!o||!o.every(Xi,r))return}return S.factory.updateParameterDeclaration(e,e.modifiers,e.dotDotDotToken,r,e.questionToken,e.type,e.initializer)}function oe(e){if(S.isIdentifier(e))return[e.text];if(S.isPropertyAccessExpression(e))return oe(e.expression);if(S.isElementAccessExpression(e))return oe(e.argumentExpression);if(S.isConditionalExpression(e)){let t=oe(e.condition),n=oe(e.whenTrue),r=oe(e.whenFalse);return t===void 0||n===void 0||r===void 0?void 0:[...t,...n,...r]}else if(S.isBinaryExpression(e)){let t=oe(e.left),n=oe(e.right);return t===void 0||n===void 0?void 0:[...t,...n]}else{if(_l.has(e.kind))return[];{let t=Kt(e);return t!==e?oe(t):void 0}}}var _l=new Set([S.SyntaxKind.NumericLiteral,S.SyntaxKind.BigIntLiteral,S.SyntaxKind.StringLiteral,S.SyntaxKind.RegularExpressionLiteral,S.SyntaxKind.NoSubstitutionTemplateLiteral,S.SyntaxKind.FalseKeyword,S.SyntaxKind.NullKeyword,S.SyntaxKind.TrueKeyword]),Kt=e=>S.isAsExpression(e)||S.isNonNullExpression(e)||S.isSatisfiesExpression(e)||S.isParenthesizedExpression(e)?Kt(e.expression):e;function Xi(e){let t=this;return S.isIdentifier(t)?t.text===e:t.elements.some(Xl,e)}function Xl(e){let t=this;return S.isOmittedExpression(e)?!1:Xi.call(e.name,t)}function Ql(e,t){let n=!1,r=e.elements.filter(o=>S.isIdentifier(o.name)?t.includes(o.name.getText())||o.propertyName&&t.includes(o.name.getText()):(n=!0,!0));return n||r.length===0?e:S.factory.updateObjectBindingPattern(e,r)}var Yn=(e,t)=>t.liftedKeys.has(e);var Yi=e=>e.manifestComponents.map(({name:t,importPath:n})=>`import type { ${t} } from "./${n}";`).join(`
101
+ `),Yl=/^[a-zA-Z_$][a-zA-Z\d_$]*$/u,Me=e=>!Yl.test(e),X=e=>Me(e)?`"${e}"`:e;function Ce(e,t=[]){let n=t?.filter(m=>m.kind==="field"&&m.readonly!==!0),r=[],o=[],i=!1;n.forEach(m=>{let y=m;if(y.getterType){i=!0;return}y.docsTags?.some(g=>g.name==="required")?r.push(m.name):o.push(m.name)});let s=Qi(r),a=Qi(o),p=[s?`Required<Pick<${e}, ${s}>>`:"",a?`Partial<Pick<${e}, ${a}>>`:"",i?`${e}SetterTypes`:""],l=i?`
102
+ type ${e}SetterTypes = ${e}["${Zt}"]`:"",d=p.filter(Boolean).join(", ");return[d.length===0?"":`${d}, `,l]}var Qi=e=>e.map(t=>`'${t}'`).join(" | ");function _(e,t){return Zi(e,t)}function Zi(e,t){if(We(t))return es(e,t);let n=T.isCallExpression(t)?Gi(e,t):t;return T.visitEachChild(n,Zi.bind(null,e),e.transformationContext)}function es(e,t){let n=ts(e,t);return ot(n,e)}function ts(e,t){let n="children"in t?t.children:[];if(T.isJsxFragment(t))return{key:void 0,...Ht(n,e)};let o=T.isJsxElement(t)?t.openingElement:t,i=o.tagName;if(T.isJsxNamespacedName(i)){let x=E(e.sourceFile.fileName);throw new Error(`JSX namespaced elements are not supported. Found ${i.getText()} in "${x}"`)}if(!T.isIdentifier(i)||!i.text.startsWith(i.text[0].toLowerCase())&&i.text!==vt&&i.text!==St){let b=T.isIdentifier(i)&&i.text===Eo?Ht(n,e):{litTag:void 0,parts:[td(e,t,i,n)]};return{key:ed(o,e),...b}}let a=i.text===vt?Le:i.text===St?Ze:i.text,p=i.text===vt?he:i.text===St?ne:ko.has(a)?Jn:Ie.has(a)?xe:re;typeof a=="string"&&a.includes("-")&&!Re.has(a)&&e.customElementsToImport.add(a);let l,d=[],m=o.attributes.properties.flatMap(x=>{if(T.isJsxSpreadAttribute(x))throw new Error(`JSX spread attribute syntax is not supported. See alternatives: https://qawebgis.esri.com/arcgis-components/?path=/docs/references-lumina-jsx--docs#spread-attributes
103
+ Found ${x.getText()}`);let{name:b,initializer:v}=x;if(T.isJsxNamespacedName(b)){let se=E(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${b.getText()} in "${se}"`)}let F=b.text,K=Ki(v),D=K?.propType??Hi(F,v,a),H=Bi[D](e,K?.initializer??v,F,a);if(H.length===0)return[];let ie=e.compiler.shouldMinifyStrict?" ":Vi(Xn(b,e));return D==="key"?(l=typeof H[0]=="object"&&!Yn(b,e)?H[0]:void 0,Array.isArray(ie)&&ie.some(Ui)?ie:[]):D==="directives"||D==="ref"||D==="dynamicValue"?(d.push(...ie,...H.flatMap((se,pt)=>typeof se=="string"||pt===0||typeof H[pt-1]=="string"?se:[" ",se])),[]):[...ie,...H]});if(d.length>0&&m.push(...d),typeof a=="string"&&je.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 y=typeof a=="string"&&Mo.has(a),f=Ht(n,e);if(y&&f.parts.length>0){let x=E(e.sourceFile.fileName);throw new Error(`Void HTML elements like <${a}> cannot have children. Found ${t.getText()} in "${x}"`)}let g=(p===xe||p===ne)&&f.parts.length===0,C=["<",typeof a=="string"?a:i,...m,g?`${m.length===0?"":" "}/>`:">"],u=y||g?C:[...C,...f.litTag!==void 0&&f.litTag!==p?[ot({key:void 0,...f},e)]:f.parts,"</",typeof a=="string"?a:i,">"];return{key:l,parts:u,litTag:p}}function ed(e,t){let n=e.attributes.properties[Zn(e)];return n&&T.isJsxAttribute(n)&&!Yn(n.name,t)?nt(n.initializer):void 0}var Zn=e=>e.attributes.properties.findIndex(({name:t})=>t&&T.isIdentifier(t)&&t.text==="key");function td(e,t,n,r){let i=(T.isJsxElement(t)?t.openingElement:t).attributes.properties.map(p=>{if(T.isJsxSpreadAttribute(p))return Qn(Xn(p,e),T.factory.createSpreadAssignment(p.expression));let{name:l,initializer:d}=p;if(T.isJsxNamespacedName(l)){let f=E(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${l.getText(e.sourceFile)} in "${f}"`)}if(l.text==="key")return;let m=d===void 0?T.factory.createTrue():T.isStringLiteral(d)?d:We(d)?es(e,d):_(e,d.expression??T.factory.createIdentifier("undefined")),y=Me(l.text)?T.factory.createStringLiteral(l.text):l;return T.factory.createPropertyAssignment(y,m)}),{parts:s,litTag:a}=Ht(r,e);return s.length>0&&i.push(T.factory.createPropertyAssignment(T.factory.createIdentifier("children"),ot({key:void 0,parts:s,litTag:a},e))),T.factory.createCallExpression(n,void 0,[T.factory.createObjectLiteralExpression(i.filter(Zl))])}function Ht(e,t){let n,r=e.flatMap(o=>{if(T.isJsxText(o))return[t.compiler.shouldMinifyStrict?Rr(o.text):o.text];if(T.isJsxExpression(o))return Bt(t,nd(o));{let i=ts(t,o);if(i.key===void 0&&i.litTag!==he&&i.litTag!==ne){if(i.litTag===Jn)return i.parts;if(n!==void 0&&i.litTag!==void 0&&n!==i.litTag)throw new Error(`Unexpectedly found both ${n} and ${i.litTag} child elements inside the same element.`);return n=i.litTag,i.parts}else return[ot(i,t)]}});return{litTag:n,parts:r}}function nd(e){return e.expression&&T.isBinaryExpression(e.expression)&&(e.expression.operatorToken.kind===T.SyntaxKind.AmpersandAmpersandToken||e.expression.operatorToken.kind===T.SyntaxKind.QuestionQuestionToken||e.expression.operatorToken.kind===T.SyntaxKind.BarBarToken)?e.expression.operatorToken.kind===T.SyntaxKind.BarBarToken&&(T.isStringLiteral(e.expression.right)||We(e.expression.right)||T.isNumericLiteral(e.expression.right)||T.isPrefixUnaryExpression(e.expression.right)||T.isNoSubstitutionTemplateLiteral(e.expression.right)||T.isTemplateExpression(e.expression.right))?e:T.factory.updateJsxExpression(e,T.factory.createBinaryExpression(e.expression,T.factory.createToken(T.SyntaxKind.BarBarToken),T.factory.createStringLiteral(""))):e}function Bt(e,t){if(t.expression===void 0){if(e.compiler.shouldMinifyStrict)return[];let n=t.getText(e.sourceFile).slice(1,-1);return Wt(n).length===0?[]:[Qn(n,T.factory.createIdentifier("undefined"))]}return T.isStringLiteral(t.expression)?[ft(t.expression.text)]:e.compiler.viteCommand==="serve"&&e.compiler.typeScriptConfig.options.sourceMap&&!e.compiler.shouldMinifyStrict&&T.isArrowFunction(t.expression)&&!T.isBlock(t.expression.body)?[_(e,T.factory.updateArrowFunction(t.expression,t.expression.modifiers,t.expression.typeParameters,t.expression.parameters,t.expression.type,t.expression.equalsGreaterThanToken,T.factory.createBlock([T.factory.createReturnStatement(t.expression.body)],!0)))]:[_(e,t.expression)]}function ns(e){let t=Ro().map(({packageName:n})=>n);return e.existingImportedModules.forEach(n=>{if(c.isAbsolute(n))return;let{packageName:r,moduleName:o}=ln(n);if(t.includes(r??"")&&(o.startsWith("dist/components")||o.startsWith("components"))){let i=E(e.sourceFile.fileName);throw new Error(`Did not expect to find any explicit imports for "${n}". Found import in ${i}. 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 rs(e){if(e.compiler.viteCommand==="serve")return e.customElementsToImport.clear(),[];let t=Ve.get(e.compiler);return t||(t={},Ve.set(e.compiler,t)),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)}),[]}var os=(e,t)=>{let n=e.pragmas;if(n?.has("jsx")??n?.has("jsxImportSource"))return e.statements;let r={compiler:t.compiler,externalComponents:Ft(),localComponents:t.compiler.isInPuppeteerTestBackEnd?{}:Hn(t.compiler.manifest),sourceFile:e,transformationContext:t.transformation,importRenames:od(e),existingImportedModules:new Set,importedFunctionComponentsFromModules:new Set,existingLitImports:new Set,customElementsToImport:new Set,neededImports:new Set,liftedKeys:new Set};e.statements.forEach(a=>{rd.isImportDeclaration(a)&&vi(r,a)});let i=_(r,e).statements;if(r.neededImports.size>0&&(i=i.map(Ei,r),r.existingLitImports.size>0))throw new Error(`Expected context.existingLitImports to be empty by now. Found: ${Array.from(r.existingLitImports).join(", ")}`);let s=[Pi,ns,rs].flatMap(a=>a(r));if(r.neededImports.size>0)throw new Error(`Expected context.neededLitImports to be empty by now. Found: ${Array.from(r.neededImports).join(", ")}`);return[...s,...i]};function od(e){return id(e),Object.fromEntries(Ci.map(t=>[t,e.identifiers.has(t)?`${t}$jsx`:t]))}function id(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.")}var is=(e,t)=>{if(t.fileManifest!==void 0&&e.text.includes(`* @${ee}`))throw new Error(`Do not use @${ee} JSDoc tag as it is not yet handled correctly by doc extraction (see https://github.com/open-wc/custom-elements-manifest/issues/263). Please use @${ze} instead. Found @${ee} in ${E(c.relative(t.compiler.dir.root,e.fileName))}`);return e.statements};import k from"typescript";import R from"typescript";import{PropertyFlags as Te}from"@arcgis/lumina/config";function ss(e,t,n){return t.size===0?e:[R.factory.createPropertyDeclaration([R.factory.createModifier(R.SyntaxKind.StaticKeyword),R.factory.createModifier(R.SyntaxKind.OverrideKeyword)],"properties",void 0,void 0,R.factory.createObjectLiteralExpression(Array.from(t.entries()).map(([r,o])=>R.factory.createPropertyAssignment(Me(r)?R.factory.createStringLiteral(r):r,sd(o,n))))),...e]}function sd(e,t){let n=0,r=!0,o=e.properties.filter(a=>{if(!R.isPropertyAssignment(a)||!R.isIdentifier(a.name))return!0;let p=a.name.text,l=a.initializer,d=l.kind===R.SyntaxKind.TrueKeyword,m=l.kind===R.SyntaxKind.FalseKeyword;if(p==="attribute")return r=!1,n|=d?Te.ATTRIBUTE:0,!d&&!m;if(p==="reflect")return n|=d?Te.REFLECT:0,!1;if(p==="type"&&R.isIdentifier(l)){if(l.text==="Boolean")return n|=Te.BOOLEAN,!1;if(l.text==="Number")return n|=Te.NUMBER,!1}else{if(p==="state")return r=!1,n|=d?Te.STATE:0,!1;if(p==="readOnly")return n|=d?Te.READ_ONLY:0,!1;p==="noAccessor"&&(n|=d?Te.NO_ACCESSOR:0)}return!0});r&&(n|=Te.ATTRIBUTE);let i=t?o:e.properties,s=R.factory.createNumericLiteral(n);return i.length===0?s:R.factory.createArrayLiteralExpression([s,R.factory.createObjectLiteralExpression(i)])}import{identity as yd}from"@arcgis/components-utils";import{readFileSync as fd,writeFileSync as ud}from"node:fs";import it from"typescript";import O from"typescript";import w from"typescript";import{camelToKebab as ad}from"@arcgis/components-utils";function as(e,t,n,r,o,i){let s=-1,a=!1,p=-1,l=-1;t.options?.properties.forEach((g,C)=>{if(w.isSpreadAssignment(g))throw new Error(`Spread property assignment is not allowed in @property() as that is not statically analyzable. Found ${g.getText(r)}`);if(w.isIdentifier(g.name)){let u=g.name.text;u==="type"?s=C:u==="converter"?a=!0:u==="attribute"?p=C:u==="readOnly"&&(l=C)}});let d=i?.attribute===void 0&&p===-1,m=i?.readonly===!0&&i.docsOnlyReadonly!==!0&&l===-1,y=pd(e,t,n,r,o,i,s,p,a),f=[...d?[w.factory.createPropertyAssignment("attribute",w.factory.createFalse())]:[],...m?[w.factory.createPropertyAssignment("readOnly",w.factory.createTrue())]:[],...y!==void 0?[y]:[]];return f.length>0?t.options===void 0?w.factory.createObjectLiteralExpression(f,!1):w.factory.updateObjectLiteralExpression(t.options,[...t.options.properties,...f]):t.options}function pd(e,t,n,r,o,i,s,a,p){if(i?.attribute===void 0)return;if(t.options&&t.options.properties.length===0&&o(t.options.getStart(r),t.options.getEnd(),""),a!==-1){let g=t.options.properties[a],C=ad(i.name);if(w.isPropertyAssignment(g)&&(g.initializer.kind===w.SyntaxKind.TrueKeyword||w.isStringLiteral(g.initializer)&&g.initializer.text===C)&&gn(i.type?.values??[])){let x=t.options.properties[a+1]?.getFullStart()??g.getEnd();o(g.getFullStart(),x,"")}}let l=dd(e),d=n.compiler.viteCommand==="serve"||l!=="Other"?l:ld(i.type?.values);if(d==="Other"||i.readonly&&(d!=="Boolean"||!i.reflects))return;let m=t.options?.properties[s];if(m){let g="initializer"in m?m.initializer:void 0;if(!p&&g&&w.isIdentifier(g)){let C=`Found property "${i.name}" in "${E(r.fileName)}" that has @property({ type: ${g.text} })`,u='. If this is a false warning, you can silence it by adding "converter: undefined" option to @property()';if(g.text==="Boolean"&&d==="Number")console.warn(`${C} where as expected to see @property({ type: Number }) because the property type is number${u}`);else if(g.text==="Number"&&d==="Boolean")console.warn(`${C} where as expected to see @property({ type: Boolean }) because the property type is boolean${u}`);else if(!cd.has(g.text))console.warn(`${C}. The default Lit attribute<-->property converter does not define any behavior for @property({ type: ${g.text} }). Consider removing this "type", or adding a custom converter @property({ converter: ... }) to handle this type${u}`);else if(l!=="Other"&&g.text===l){let b=t.options.properties[s+1]?.getFullStart()??m.getEnd();o(m.getFullStart(),b,"")}}return}if(l==="Other"){let g=`type: ${d}`;if(t.options===void 0){let C=t.decorator.getEnd()-1;o(C,C,`{ ${g} }`)}else{let C=t.options.getStart(r)+1;o(C,C,` ${g},`)}}return w.factory.createPropertyAssignment(w.factory.createIdentifier("type"),w.factory.createIdentifier(d))}function ld(e){let t=!1,n=!1,r=!1;if(e?.forEach(o=>{t||=o.type==="number",n||=o.type==="boolean",r||=o.type==="string"||o.type==="any"||o.type==="unknown"}),r||=t&&n,!r){if(t)return"Number";if(n)return"Boolean"}return"Other"}function dd(e){let t=e.type??(w.isSetAccessor(e)?e.parameters[0].type:void 0);if(t===void 0){if("initializer"in e&&e.initializer){if(w.isNumericLiteral(e.initializer)||w.isPrefixUnaryExpression(e.initializer)&&e.initializer.operator===w.SyntaxKind.MinusToken&&w.isNumericLiteral(e.initializer.operand))return"Number";if(e.initializer.kind===w.SyntaxKind.FalseKeyword||e.initializer.kind===w.SyntaxKind.TrueKeyword)return"Boolean"}}else{if(t.kind===w.SyntaxKind.NumberKeyword)return"Number";if(t.kind===w.SyntaxKind.BooleanKeyword)return"Boolean"}return"Other"}var cd=new Set(["Number","Boolean","Array","Object"]);function Ut(e,t,n,r,o,i){if(t.modifiers===void 0)return t;let s=-1,a=-1;if(t.modifiers.forEach((p,l)=>{if(O.isDecorator(p)&&O.isCallExpression(p.expression)&&O.isIdentifier(p.expression.expression)){let d=p.expression.expression.text;d==="property"&&(s=l),d==="state"&&(a=l)}}),s!==-1&&a!==-1)throw new Error(`Property cannot have both @property and @state decorators. Found property that has both: ${t.getText(r)}`);if(s!==-1){let p=md(e,t,n,r),l=ps(t,s,r),d=as(t,l,e,r,o,p),m=!1;return i!==void 0&&p&&(i.set(p.name,d??O.factory.createObjectLiteralExpression()),m=!0),l.options=d,ls(t,l,s,m)}else if(a!==-1&&i!==void 0){let p=ps(t,a,r),l=O.factory.createPropertyAssignment("state",O.factory.createTrue()),d=p.options===void 0?O.factory.createObjectLiteralExpression([l]):O.factory.updateObjectLiteralExpression(p.options,[...p.options.properties,l]),m=dt(t);if(m===void 0)throw new Error("Failed to statically determine the state property name");return i.set(m,d),ls(t,p,a,!0)}else return t}function md(e,t,n,r){let o=V(e.fileManifest??{},!0).find(s=>s.name===n)??(e.compiler.isInTest?{name:""}:void 0);if(o===void 0)return;let i=De(o,t)??(e.compiler.isInTest?{kind:"field",attribute:"",readonly:!1,name:"",type:void 0}:void 0);if(!(i===void 0||i.kind!=="field")){if(i.name===""){let s=dt(t);if(s===void 0)throw new Error(`Failed to statically determine the property name: ${t.getText(r)}`);i.name=s}return i}}function ps(e,t,n){let r=e.modifiers[t],o=r.expression,i=o.arguments.at(0);if(i&&!O.isObjectLiteralExpression(i))throw new Error(`First argument to @property() or @state() decorator must be an object literal as otherwise it is not statically analyzable. Found ${i.getText(n)}`);return{decorator:r,callExpression:o,options:i}}function ls(e,t,n,r){if(t.callExpression.arguments.length>1)throw new Error(`Expected at most 1 argument to @property() or @state() decorator. Found ${t.callExpression.arguments.length} in ${e.getText()}`);let o=r?void 0:O.factory.updateDecorator(t.decorator,O.factory.updateCallExpression(t.callExpression,t.callExpression.expression,t.callExpression.typeArguments,t.options===void 0?[]:[t.options])),i=[...e.modifiers.slice(0,n),...o===void 0?[]:[o],...e.modifiers.slice(n+1)];return O.isGetAccessorDeclaration(e)?O.factory.updateGetAccessorDeclaration(e,i,e.name,e.parameters,e.type,e.body):O.isSetAccessorDeclaration(e)?O.factory.updateSetAccessorDeclaration(e,i,e.name,e.parameters,e.body):O.factory.updatePropertyDeclaration(e,i,e.name,e.questionToken??e.exclamationToken,e.type,e.initializer)}function ds(e,t){try{let n=fd(t,"utf-8"),r=it.createSourceFile(t,n,e.compiler.typeScriptConfig.options.target??it.ScriptTarget.Latest,!1,it.ScriptKind.TSX),o=[],i=(p,l)=>it.isPropertyDeclaration(p)||it.isAccessor(p)?Ut(e,p,l,r,(...d)=>o.push(d)):p;r.statements.forEach(p=>Vt(i,p,e));let a=o.sort((p,l)=>l[0]-p[0]).reduce((p,[l,d,m])=>`${p.slice(0,l)}${m}${p.slice(d)}`,n);ud(t,a)}catch(n){console.error(`Failed applying automated edits to the ${E(t)} file.: Error ${String(n)}`)}}var cs=(e,t)=>{if(t.fileManifest===void 0&&!t.compiler.isInTest)return e.statements;let n=!1;function r(){n=!0}let o;function i(){o=new Map}let s=l=>ss(l,o,t.compiler.shouldMinify),a=(l,d)=>hd(t,l,d,e,r,o),p=e.statements.map(l=>Vt(a,l,t,i,s));return!t.compiler.isInCi&&!t.compiler.isInTest&&n&&ds(t,e.fileName),p};function Vt(e,t,n,r,o=yd){if(k.isClassDeclaration(t)&&t.heritageClauses?.some(s=>s.token===k.SyntaxKind.ExtendsKeyword)){let s=!1,a=t.name?.text;r?.();let p=o(t.members.map(d=>{let m=e(d,a);return s||=m!==d,m}));return s?k.factory.updateClassDeclaration(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,p):t}return n.compiler.isInTest?k.visitEachChild(t,s=>Vt(e,s,n,r,o),n.transformation):t}var gd=new Set(["connectedCallback","disconnectedCallback"]);function hd(e,t,n,r,o,i){if(k.isMethodDeclaration(t)){let s=t.modifiers?.filter(a=>!k.isDecorator(a)||!xd(a));if(s?.length!==t.modifiers?.length)return k.factory.updateMethodDeclaration(t,s,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,t.body);if("text"in t.name&&gd.has(t.name.text)&&t.body){let a=t.name.text;return t.body.statements.some(l=>k.isExpressionStatement(l)&&k.isCallExpression(l.expression)&&k.isPropertyAccessExpression(l.expression.expression)&&l.expression.expression.expression.kind===k.SyntaxKind.SuperKeyword&&l.expression.expression.name.text===a)?t:k.factory.updateMethodDeclaration(t,t.modifiers,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,k.factory.updateBlock(t.body,[k.factory.createExpressionStatement(k.factory.createCallExpression(k.factory.createPropertyAccessExpression(k.factory.createSuper(),a),void 0,[])),...t.body.statements]))}}return k.isPropertyDeclaration(t)||k.isAccessor(t)?Ut(e,t,n,r,o,i):t}var xd=e=>k.isCallExpression(e.expression)&&k.isIdentifier(e.expression.expression)&&e.expression.expression.text==="method";var ms="makeRuntime(";function fs(e,t){let n=e.indexOf(ms);if(n===-1)throw new Error("Failed to find makeRuntime() function call in src/runtime.ts");let r=n+ms.length,o=t.options.css?.commonStylesPath;return{code:[o===void 0?"":`import commonStyles from "${Y(t.dir.src,o)}";`,e.slice(0,r),"{","defaultAssetPath:import.meta.env.BASE_URL,",'hydratedAttribute:"',t.options.css?.hydratedAttribute??mn,'",',o===void 0?"":"commonStyles","}",e.slice(r)].join(""),map:null}}var Td=[is,os,Lo,cs],ys=e=>({name:"@arcgis/lumina:transformComponents",transform:{order:"pre",async handler(t,n){if(!n.endsWith(".tsx")){if(e.isInTest&&n.endsWith(".ts")&&Yt(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 fs(t,e);return}let r=e.getSourceFile(n,t);await ue;let i=Cd.transform(r,[y=>()=>ct(e,y,r,[...e.options.types?.sourceFileTransformers??[],...Td])]).transformed[0],s=bd(e),a=$e(s),p=s.sourceMap?ve.createSourceMapGenerator(e.typeScriptHost,c.basename(n),"",c.dirname(n),s):void 0,l=ve.createTextWriter(ve.getNewLineCharacter(s));a.writeFile(i,l,p);let d=l.getText(),m=p?.toJSON();return{code:d,map:m??null}}}}),us=new WeakMap;function bd(e){let t=us.get(e);if(!t){let n=e.typeScriptConfig.options;t={...n,declaration:!1,declarationMap:!1,emitDeclarationOnly:!1,sourceMap:n.sourceMap??n.inlineSourceMap,inlineSourceMap:!1,allowSyntheticDefaultImports:!0,suppressOutputPathCheck:!0,noLib:!0,noResolve:!0,skipLibCheck:!0},us.set(e,t)}return t}var hs=e=>({name:"@arcgis/lumina:handleDynamicAssets",configureServer(t){e.server=t,!e.isInPuppeteerTestBackEnd&&gs(e).forEach(({assets:n,transformers:r})=>ge(e,n,r))},async writeBundle(){await Promise.all(gs(e).map(async({assets:t,transformers:n})=>await At(e,t,n)))}});function gs(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 vd}from"node:fs/promises";import{writeFileSync as Sd}from"node:fs";var xs="@arcgis/lumina:updatePackageJson",Cs=e=>({name:xs,apply:()=>e.viteCommand==="serve"&&e.environment==="development"&&!e.isInTest&&!e.isInCi,configResolved(){Ed(e).catch(t=>console.error(`${xs}: Failed to update package's package.json`,t))}});async function Ed(e){let t=c.join(e.dir.root,"package.json"),n=JSON.parse(await vd(t,"utf-8")),r=Pd(n,e);r&&Sd(t,JSON.stringify(r,null,2))}function Pd(e,t){let n=e?.devDependencies??{};Object.keys(e?.peerDependencies??{}).forEach(y=>{y in n||console.error(`Every peerDependency must also be a devDependency, or else some tools will get confused (like Turbo Build). Found "${y}" that is not a devDependency. Please edit your package.json`)});let r=!1,o=y=>c.relative(t.dir.root,c.join(t.dir.dist,y)),i=e["css.customData"]??[],s=t.documentationFileNames,a=o(s.vsCodeCss);i.includes(a)||(e["css.customData"]=[...i,a],r=!0);let p=o(s.manifest);e.customElements!==p&&(e.customElements=p,r=!0);let l=e["html.customData"]??[],d=o(s.vsCodeHtml);l.includes(d)||(e["html.customData"]=[...l,d],r=!0);let m=o(s.webTypes);if(e["web-types"]!==m&&(r=!0,e["web-types"]=m),r)return e}import{isNotUndefined as Ts}from"@arcgis/components-utils";import{defaultEventBubbles as wd,defaultEventCancelable as Md,defaultEventComposed as kd}from"@arcgis/lumina/config";var bs=e=>({timestamp:e.manifest.timestamp,compiler:e.manifest.compiler,components:e.manifestComponents.map(Fd),typeLibrary:{}});function Fd(e){let t=e.superclass?[{name:"superclass",text:JSON.stringify(e.superclass)}]:[];return{filePath:e.sourcePath,tag:e.tagName??"",overview:"",readme:"",usage:{},docs:e.description??"",docsTags:[...e.docsTags??[],...t],encapsulation:e.encapsulation??"shadow",dependents:[],dependencies:[],dependencyGraph:{},deprecation:typeof e.deprecated=="boolean"?e.deprecated?"":void 0:e.deprecated,props:e.members?.map(Dd).filter(Ts)??[],methods:e.members?.map($d).filter(Ts)??[],events:e.events?.map(Ad)??[],styles:e.cssProperties?.map(n=>({name:n.name,annotation:"prop",docs:n.description??"",mode:void 0}))??[],slots:e.slots?.map(({name:n,description:r=""})=>({name:n,docs:r}))??[],parts:e.cssParts?.map(({name:n,description:r=""})=>({name:n,docs:r}))??[],listeners:[]}}function Dd(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:""}]:[];return{name:t.name,type:t.type?.text??"unknown",complexType:t.type===void 0?void 0:{original:t.type.original,resolved:t.type.text,references:er(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:t.hasQuestionToken??!1,required:t.docsTags?.some(o=>o.name==="required")??!1}}var er=e=>Object.fromEntries(e?.map(t=>[t.name,{location:t.package===pn?"global":t.package===void 0?"local":"import",path:typeof t.module=="string"&&typeof t.package=="string"?c.join(t.package,t.module):t.module??t.package,id:"notImplemented"}])??[]);function $d(e){if(e.kind!=="method")return;let t=e,n=e.inheritedFrom?[{name:"inheritedFrom",text:JSON.stringify(e.inheritedFrom)}]:[],r=t.parameters?.map(({name:o,type:i,description:s})=>({name:o,type:i?.text??"unknown",docs:s??""}))??[];return{name:t.name,returns:{type:t.return?.type?.text??"void",docs:t.docsTags?.filter(({name:o})=>o==="return"||o==="returns").map(({text:o})=>o).join(`
104
+ `)??""},complexType:{signature:"()=>unknown",parameters:r,...t.type,return:t.return?.type?.text??"void",references:er(t.type?.references)},signature:`${t.name}${t.type?.signature??"()=>unknown"}`,parameters:r,docs:t.description??"",docsTags:[...t.docsTags??[],...n],deprecation:typeof t.deprecated=="boolean"?t.deprecated?"":void 0:t.deprecated}}function Ad(e){let t=e,n=t.inheritedFrom?[{name:"inheritedFrom",text:JSON.stringify(t.inheritedFrom)}]:[];return{event:t.name,detail:t.type.text,bubbles:t.bubbles??wd,complexType:{original:t.type.original,resolved:t.type.text,references:er(t.type.references)},cancelable:t.cancelable??Md,composed:t.composed??kd,docs:t.description??"",docsTags:[...t.docsTags??[],...n],deprecation:typeof t.deprecated=="boolean"?t.deprecated?"":void 0:t.deprecated}}import{writeFile as tr}from"node:fs/promises";var zt=e=>e.flatMap(t=>t.cssProperties?.map(n=>({name:n.name,description:n.description||void 0}))??[]),qt=e=>e.flatMap(t=>t.cssParts?.map(n=>({name:`::part(${n.name})`,description:n.description||void 0}))??[]),vs=e=>e.members?.filter(Ne).map(t=>({name:t.attribute??"",description:Ue(t.description,t.deprecated)||void 0,default:t.default,required:t.docsTags?.some(n=>n.name==="required")||void 0,value:{type:Nd(t.type?.values?.map(n=>n.type==="string"&&n.value?`"${n.value}"`:n.value??n.type))}})).filter(t=>t.name)??[],Nd=e=>e?.length===1?e[0]:e,Ue=(e="",t=!1)=>t===!1?e:`**Deprecated**${typeof t=="string"?`: ${t}`:""}. ${e}`;var st={slots:"Slots",events:"Events",cssProperties:"CSS Properties",cssParts:"CSS Parts",methods:"Methods"};function Gt(e){let t=Ld(e?.slots),n=Id(e?.events),r=jd(e?.cssProperties),o=Rd(e?.cssParts),i=Od(e?.members),s=Ue(e.description,e.deprecated).trim();return[...s?[`${s}
105
105
  --`]:[],n,i,t,r,o].filter(Boolean).join(`
106
106
 
107
107
  `)}var at=(e,t)=>t===void 0||t.length===0?"":`### ${e}
108
108
  ${t.join(`
109
- `)}`,Nd=e=>at(st.slots,e?.map(t=>`- ${t.name?`**${t.name}**`:"_default_"} - ${t.description}`)),Ld=e=>at(st.events,e?.filter(t=>t.name!==null&&t.name!==void 0).map(t=>`- **${t.name}**${t.description?` - ${t.description}`:""}`)),Id=(e=[])=>at(st.cssProperties,e?.map(t=>`- **${t.name}** - ${t.description} ${t.default?`_(default: ${t.default})_}`:""}`)),jd=e=>at(st.cssParts,e?.map(t=>`- **${t.name}** - ${t.description}`)),Rd=e=>at(st.methods,e?.filter(vo).map(t=>[`- \`${t.name}${t.type.signature}\``,He(t.description,t.deprecated)].filter(Boolean).join(" - ")));function Ss(e,t){let n=Od(e,t),r=Vt(e),o=zt(e),i=A();return{$schema:"https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",name:i.name,version:i.version,"description-markup":"markdown","default-icon":t.defaultIcon,contributions:{html:{elements:n},css:{properties:r,"pseudo-elements":o}}}}var Od=(e,t)=>e.map(n=>{let r=t.referenceTemplate?.(n.name,n.tagName);return{name:n.tagName,description:qt(n),"doc-url":r?.url||"",attributes:bs(n),slots:n.slots?.map(o=>({name:o.name,description:o.description})),events:vs(n),js:{properties:Jd(n),events:vs(n)}}}),Jd=e=>e.members?.filter(Ae).map(t=>({name:t.name,description:t.description,type:t.type?.text}))??[],vs=e=>e.events?.map(t=>({name:t.name,type:t.type?.text,description:t.description}))??[];var Es=(e,t)=>e?.map(n=>({name:n.tagName,description:qt(n),attributes:Bd(n),references:t.referencesTemplate?.(n.name,n.tagName)??[]})),Bd=e=>e?.members?.filter(Ae).map(t=>({name:t.attribute??"",description:He(t.description,t.deprecated)||void 0,values:Wd(t)})).filter(t=>t.name)??[],Wd=e=>e.type?.values?.map(t=>t.value??"").filter(Boolean).map(t=>({name:t}))??[];var Ps=(e,t)=>({$schema:"https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/main/docs/customData.schema.json",version:1.1,tags:Es(e,t)}),ws=e=>({$schema:"https://raw.githubusercontent.com/microsoft/vscode-css-languageservice/main/docs/customData.schema.json",version:1.1,properties:Vt(e),pseudoElements:zt(e)});var Kd="@arcgis/lumina:generateDocs";function Ms(e){return e.provideAssets([{type:"dynamic",source:()=>JSON.stringify(Ts(e),null,2),destination:c.join("../..",e.documentationFileNames.stencilLikeDocsJson)},{type:"dynamic",source:()=>JSON.stringify(e.manifest,null,2),destination:c.join("../..",e.documentationFileNames.manifest)}]),{name:Kd,async writeBundle(){if(e.isInStorybook)return;let t=c.join(e.dir.dist,e.documentationFileNames.vsCodeHtml),n=c.join(e.dir.dist,e.documentationFileNames.vsCodeCss),r=c.join(e.dir.dist,e.documentationFileNames.webTypes);await jn([t,n,r]);let{vsCode:o,jetBrains:i,getComponentDocsUrl:s,getComponentDemoUrl:a}=e.options.documentation??{},p="",l="",d="",m={referencesTemplate:typeof s=="function"||typeof a=="function"?(f,g)=>s===void 0?[{name:"Demo",url:a(g,f)}]:a===void 0?[{name:"Docs",url:s(g,f)}]:[{name:"Docs",url:s(g,f)},{name:"Demo",url:a(g,f)}]:void 0,...o};p=JSON.stringify(Ps(e.manifestComponents,m),null,2),l=JSON.stringify(ws(e.manifestComponents),null,2);let y=m.referencesTemplate;d=JSON.stringify(Ss(e.manifestComponents,{referenceTemplate:typeof y=="function"?(f,g)=>y(f,g)?.[0]:void 0,...i}),null,2),await Promise.all([er(t,p),er(n,l),er(r,d)])}}}var ks=e=>`import { h } from "@arcgis/lumina";
109
+ `)}`,Ld=e=>at(st.slots,e?.map(t=>`- ${t.name?`**${t.name}**`:"_default_"} - ${t.description}`)),Id=e=>at(st.events,e?.filter(t=>t.name!==null&&t.name!==void 0).map(t=>`- **${t.name}**${t.description?` - ${t.description}`:""}`)),jd=(e=[])=>at(st.cssProperties,e?.map(t=>`- **${t.name}** - ${t.description} ${t.default?`_(default: ${t.default})_}`:""}`)),Rd=e=>at(st.cssParts,e?.map(t=>`- **${t.name}** - ${t.description}`)),Od=e=>at(st.methods,e?.filter(So).map(t=>[`- \`${t.name}${t.type.signature}\``,Ue(t.description,t.deprecated)].filter(Boolean).join(" - ")));function Es(e,t){let n=Jd(e,t),r=zt(e),o=qt(e),i=A();return{$schema:"https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",name:i.name,version:i.version,"description-markup":"markdown","default-icon":t.defaultIcon,contributions:{html:{elements:n},css:{properties:r,"pseudo-elements":o}}}}var Jd=(e,t)=>e.map(n=>{let r=t.referenceTemplate?.(n.name,n.tagName);return{name:n.tagName,description:Gt(n),"doc-url":r?.url||"",attributes:vs(n),slots:n.slots?.map(o=>({name:o.name,description:o.description})),events:Ss(n),js:{properties:Bd(n),events:Ss(n)}}}),Bd=e=>e.members?.filter(Ne).map(t=>({name:t.name,description:t.description,type:t.type?.text}))??[],Ss=e=>e.events?.map(t=>({name:t.name,type:t.type?.text,description:t.description}))??[];var Ps=(e,t)=>e?.map(n=>({name:n.tagName,description:Gt(n),attributes:Wd(n),references:t.referencesTemplate?.(n.name,n.tagName)??[]})),Wd=e=>e?.members?.filter(Ne).map(t=>({name:t.attribute??"",description:Ue(t.description,t.deprecated)||void 0,values:Kd(t)})).filter(t=>t.name)??[],Kd=e=>e.type?.values?.map(t=>t.value??"").filter(Boolean).map(t=>({name:t}))??[];var ws=(e,t)=>({$schema:"https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/main/docs/customData.schema.json",version:1.1,tags:Ps(e,t)}),Ms=e=>({$schema:"https://raw.githubusercontent.com/microsoft/vscode-css-languageservice/main/docs/customData.schema.json",version:1.1,properties:zt(e),pseudoElements:qt(e)});var Hd="@arcgis/lumina:generateDocs";function ks(e){return e.provideAssets([{type:"dynamic",source:()=>JSON.stringify(bs(e),null,2),destination:c.join("../..",e.documentationFileNames.stencilLikeDocsJson)},{type:"dynamic",source:()=>JSON.stringify(e.manifest,null,2),destination:c.join("../..",e.documentationFileNames.manifest)}]),{name:Hd,async writeBundle(){if(e.isInStorybook)return;let t=c.join(e.dir.dist,e.documentationFileNames.vsCodeHtml),n=c.join(e.dir.dist,e.documentationFileNames.vsCodeCss),r=c.join(e.dir.dist,e.documentationFileNames.webTypes);await Rn([t,n,r]);let{vsCode:o,jetBrains:i,getComponentDocsUrl:s,getComponentDemoUrl:a}=e.options.documentation??{},p="",l="",d="",m={referencesTemplate:typeof s=="function"||typeof a=="function"?(f,g)=>s===void 0?[{name:"Demo",url:a(g,f)}]:a===void 0?[{name:"Docs",url:s(g,f)}]:[{name:"Docs",url:s(g,f)},{name:"Demo",url:a(g,f)}]:void 0,...o};p=JSON.stringify(ws(e.manifestComponents,m),null,2),l=JSON.stringify(Ms(e.manifestComponents),null,2);let y=m.referencesTemplate;d=JSON.stringify(Es(e.manifestComponents,{referenceTemplate:typeof y=="function"?(f,g)=>y(f,g)?.[0]:void 0,...i}),null,2),await Promise.all([tr(t,p),tr(n,l),tr(r,d)])}}}var Fs=e=>`import { h } from "@arcgis/lumina";
110
110
 
111
111
  type EventHandler<E> = { bivarianceHack(event: E): void }["bivarianceHack"];
112
112
 
@@ -117,7 +117,7 @@ type TargetedEvent<Target extends EventTarget = EventTarget, TypedEvent extends
117
117
  readonly currentTarget: Target;
118
118
  };
119
119
 
120
- ${e.map(Hd).join(`
120
+ ${e.map(Ud).join(`
121
121
 
122
122
  `)}
123
123
 
@@ -128,14 +128,14 @@ ${e.map(({name:t,tagName:n})=>` "${n}": Lumina${t};`).join(`
128
128
  `)}
129
129
  }
130
130
  }
131
- }`;function Hd({name:e,typeName:t,members:n,events:r=[]}){let[o,i]=he(e,n);return[`interface Lumina${e} extends ${o}h.JSX.HTMLAttributes<${t}> {
132
- `,r.map(s=>` ${_(`on${s.name}`)}?: EventHandler<TargetedEvent<${t}, CustomEvent<${e}["${s.name}"]["detail"]>>>;
133
- `).join(""),"}",i].join("")}function Fs(e){let t=` interface IntrinsicElements extends PreactJsx.IntrinsicElements {
131
+ }`;function Ud({name:e,typeName:t,members:n,events:r=[]}){let[o,i]=Ce(e,n);return[`interface Lumina${e} extends ${o}h.JSX.HTMLAttributes<${t}> {
132
+ `,r.map(s=>` ${X(`on${s.name}`)}?: EventHandler<TargetedEvent<${t}, CustomEvent<${e}["${s.name}"]["detail"]>>>;
133
+ `).join(""),"}",i].join("")}function Ds(e){let t=` interface IntrinsicElements extends PreactJsx.IntrinsicElements {
134
134
  ${e.map(({name:n,tagName:r})=>` "${r}": Preact${n};`).join(`
135
135
  `)}
136
136
  }`;return`import { JSX as PreactJsx } from "preact";
137
137
 
138
- ${e.map(Ud).join(`
138
+ ${e.map(Vd).join(`
139
139
 
140
140
  `)}
141
141
 
@@ -146,12 +146,12 @@ ${t}
146
146
  namespace h.JSX {
147
147
  ${t}
148
148
  }
149
- }`}function Ud({name:e,typeName:t,members:n,events:r=[]}){let[o,i]=he(e,n);return[`interface Preact${e} extends ${o}PreactJsx.HTMLAttributes<${t}> {
150
- `,r.map(s=>` ${_(`on${s.name}`)}?: PreactJsx.EventHandler<PreactJsx.TargetedEvent<${t}, CustomEvent<${e}["${s.name}"]["detail"]>>>;
151
- `).join(""),"}",i].join("")}function Ds(e){let t=e.map(({name:n,tagName:r})=>` "${r}": React${n};`).join(`
149
+ }`}function Vd({name:e,typeName:t,members:n,events:r=[]}){let[o,i]=Ce(e,n);return[`interface Preact${e} extends ${o}PreactJsx.HTMLAttributes<${t}> {
150
+ `,r.map(s=>` ${X(`on${s.name}`)}?: PreactJsx.EventHandler<PreactJsx.TargetedEvent<${t}, CustomEvent<${e}["${s.name}"]["detail"]>>>;
151
+ `).join(""),"}",i].join("")}function $s(e){let t=e.map(({name:n,tagName:r})=>` "${r}": React${n};`).join(`
152
152
  `);return`import type { Ref, HTMLAttributes, EventHandler, SyntheticEvent } from 'react';
153
153
 
154
- ${e.map(Vd).join(`
154
+ ${e.map(zd).join(`
155
155
 
156
156
  `)}
157
157
 
@@ -175,10 +175,10 @@ declare module "react/jsx-dev-runtime" {
175
175
  ${t}
176
176
  }
177
177
  }
178
- }`}function Vd({name:e,typeName:t,members:n,events:r=[]}){let[o,i]=he(e,n);return[`interface React${e} extends ${o}HTMLAttributes<${t}> {
178
+ }`}function zd({name:e,typeName:t,members:n,events:r=[]}){let[o,i]=Ce(e,n);return[`interface React${e} extends ${o}HTMLAttributes<${t}> {
179
179
  `,` ref?: Ref<${t}>;
180
- `,r.map(s=>` ${_(`on${s.name}`)}?: EventHandler<SyntheticEvent<${t}, CustomEvent<${e}["${s.name}"]["detail"]>>>;
181
- `).join(""),"}",i].join("")}var $s=e=>`import { JSXBase as StencilJsx } from "@stencil/core/internal";
180
+ `,r.map(s=>` ${X(`on${s.name}`)}?: EventHandler<SyntheticEvent<${t}, CustomEvent<${e}["${s.name}"]["detail"]>>>;
181
+ `).join(""),"}",i].join("")}var As=e=>`import { JSXBase as StencilJsx } from "@stencil/core/internal";
182
182
 
183
183
  type EventHandler<E> = { bivarianceHack(event: E): void }["bivarianceHack"];
184
184
 
@@ -189,7 +189,7 @@ type TargetedEvent<Target extends EventTarget = EventTarget, TypedEvent extends
189
189
  readonly currentTarget: Target;
190
190
  };
191
191
 
192
- ${e.map(zd).join(`
192
+ ${e.map(qd).join(`
193
193
 
194
194
  `)}
195
195
 
@@ -200,25 +200,25 @@ ${e.map(({name:t,tagName:n})=>` "${n}": Stencil${t};`).join(`
200
200
  `)}
201
201
  }
202
202
  }
203
- }`;function zd({name:e,typeName:t,members:n,events:r=[]}){let[o,i]=he(e,n);return[`interface Stencil${e} extends ${o}StencilJsx.HTMLAttributes<${t}> {
204
- `,r.map(s=>` ${_(`on${s.name[0].toUpperCase()}${s.name.slice(1)}`)}?: EventHandler<TargetedEvent<${t}, CustomEvent<${e}["${s.name}"]["detail"]>>>;
205
- `).join(""),"}",i].join("")}import{mkdir as Xd,writeFile as Ns}from"node:fs/promises";var As=(e,t,n)=>[n,t,qd(e),Gd(e)].join(`
203
+ }`;function qd({name:e,typeName:t,members:n,events:r=[]}){let[o,i]=Ce(e,n);return[`interface Stencil${e} extends ${o}StencilJsx.HTMLAttributes<${t}> {
204
+ `,r.map(s=>` ${X(`on${s.name[0].toUpperCase()}${s.name.slice(1)}`)}?: EventHandler<TargetedEvent<${t}, CustomEvent<${e}["${s.name}"]["detail"]>>>;
205
+ `).join(""),"}",i].join("")}import{mkdir as Qd,writeFile as Ls}from"node:fs/promises";var Ns=(e,t,n)=>[n,t,Gd(e),_d(e)].join(`
206
206
 
207
- `),qd=e=>e.filter(t=>(t.events?.length??0)>0).map(({name:t,typeName:n})=>`export interface ${t}CustomEvent<T> extends CustomEvent<T> {
207
+ `),Gd=e=>e.filter(t=>(t.events?.length??0)>0).map(({name:t,typeName:n})=>`export interface ${t}CustomEvent<T> extends CustomEvent<T> {
208
208
  detail: T;
209
209
  target: ${n};
210
210
  }`).join(`
211
- `),Gd=e=>`declare global {
211
+ `),_d=e=>`declare global {
212
212
  interface HTMLElementTagNameMap {
213
213
  ${e.map(({typeName:t,tagName:n})=>` "${n}": ${t};`).join(`
214
214
  `)}
215
215
  }
216
216
 
217
- ${e.map(_d).join(`
217
+ ${e.map(Xd).join(`
218
218
  `).split(`
219
219
  `).map(t=>t.length>0?` ${t}`:t).join(`
220
220
  `)}
221
- }`;function _d({name:e,typeName:t,events:n=[]}){let r=n.length>0;return[r?`interface ${t}EventMap {
221
+ }`;function Xd({name:e,typeName:t,events:n=[]}){let r=n.length>0;return[r?`interface ${t}EventMap {
222
222
  ${n.map(o=>` "${o.name}": ${e}["${o.name}"]["detail"];`).join(`
223
223
  `)}
224
224
  }
@@ -230,18 +230,18 @@ ${r?` addEventListener<K extends keyof ${t}EventMap>(type: K, listener: (this:
230
230
  removeEventListener<K extends keyof ${t}EventMap>(type: K, listener: (this: ${t}, ev: ${e}CustomEvent<${t}EventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
231
231
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
232
232
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;`:""}
233
- }`].join("")}function Ls(e){let t;return{name:"@arcgis/lumina:generateFrameworkTypes",generateBundle(){if(e.isInStorybook)return;t=Qi(e);let n=c.join(e.dir.dist,"index.d.ts");e.declarationTextTransformers.push(r=>{let{filePath:o,content:i}=r;return o===n?{filePath:o,content:As(e.manifestComponents,i,t)}:r})},async writeBundle(){if(e.isInStorybook)return;let n=c.join(e.dir.dist,"types");await Xd(n);let r=`/// <reference types="../index.d.ts" />
234
- ${t.replaceAll("./","../")}`,o=Object.entries({react:Ds(e.manifestComponents),preact:Fs(e.manifestComponents),stencil:$s(e.manifestComponents),lumina:ks(e.manifestComponents)}).map(async([i,s])=>await Ns(c.join(n,`${i}.d.ts`),`${r}
235
- ${s}`));o.push(Ns(c.join(n,"components.d.ts"),`/**
233
+ }`].join("")}function Is(e){let t;return{name:"@arcgis/lumina:generateFrameworkTypes",generateBundle(){if(e.isInStorybook)return;t=Yi(e);let n=c.join(e.dir.dist,"index.d.ts");e.declarationTextTransformers.push(r=>{let{filePath:o,content:i}=r;return o===n?{filePath:o,content:Ns(e.manifestComponents,i,t)}:r})},async writeBundle(){if(e.isInStorybook)return;let n=c.join(e.dir.dist,"types");await Qd(n);let r=`/// <reference types="../index.d.ts" />
234
+ ${t.replaceAll("./","../")}`,o=Object.entries({react:$s(e.manifestComponents),preact:Ds(e.manifestComponents),stencil:As(e.manifestComponents),lumina:Fs(e.manifestComponents)}).map(async([i,s])=>await Ls(c.join(n,`${i}.d.ts`),`${r}
235
+ ${s}`));o.push(Ls(c.join(n,"components.d.ts"),`/**
236
236
  * This file exists only for backwards-compatibility. Going
237
237
  * forward, import from the package root index.d.ts file instead
238
238
  */
239
- export * from "../";`)),await Promise.all(o)}}}import{mkdir as Qd,writeFile as Yd}from"node:fs/promises";import{isNotUndefined as Zd}from"@arcgis/components-utils";function Is(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 tc(e,t)})??[])}}}var ec=`
239
+ export * from "../";`)),await Promise.all(o)}}}import{mkdir as Yd,writeFile as Zd}from"node:fs/promises";import{isNotUndefined as ec}from"@arcgis/components-utils";function js(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 nc(e,t)})??[])}}}var tc=`
240
240
  import React from "react";
241
241
  import { createComponent } from "@lit/react";
242
242
  import type { EventName } from "@lit/react";
243
243
  import { createPrototypeProxy } from "@arcgis/lumina";
244
- `;async function tc(e,t){let{name:n}=A(),r=e.manifest.modules.flatMap(s=>U(s,!0).map(a=>a.docsTags?.some(p=>p.name===ee)?void 0:nc(a))).filter(Zd),o=[`/// <reference types="${n}" preserve="true" />`,ec,...r].join(""),i=c.resolve(t.proxiesFile);await Qd(c.dirname(i),{recursive:!0}),await Yd(i,o)}function nc(e){let t=e.events?.map(n=>` ${_(`on${n.name}`)}: "${n.name}" as EventName<${e.typeName}["${n.name}"]>,`).join(`
244
+ `;async function nc(e,t){let{name:n}=A(),r=e.manifest.modules.flatMap(s=>V(s,!0).map(a=>a.docsTags?.some(p=>p.name===ee)?void 0:rc(a))).filter(ec),o=[`/// <reference types="${n}" preserve="true" />`,tc,...r].join(""),i=c.resolve(t.proxiesFile);await Yd(c.dirname(i),{recursive:!0}),await Zd(i,o)}function rc(e){let t=e.events?.map(n=>` ${X(`on${n.name}`)}: "${n.name}" as EventName<${e.typeName}["${n.name}"]>,`).join(`
245
245
  `);return`
246
246
  export const ${e.name} = /*@__PURE__*/ createComponent({
247
247
  react: React,
@@ -251,4 +251,4 @@ export const ${e.name} = /*@__PURE__*/ createComponent({
251
251
  ${t}
252
252
  `:""}},
253
253
  });
254
- `}function oc(e={}){let t=new M(e),n=[t.plugin,wi(t),Mi(t),xs(t),$r(t),ei(t),Ls(t),Ms(t),us(t),Qr(t),pi(t),gs(t),Li(t),Fi(t),rr(t),Bo(t),ci(t),Is(t),yi(t)].filter(rc);return n.context=t,n}var MC={initializeComponentDependencies:Mt,updateLuminaTs:It,propertyToAttributeMappings:z,findDeclaredComponents:bn,nativeEvents:Pt,svgElements:Le,mathMlElements:Ie,alwaysAttributes:St,nativeAlwaysAttributes:Et,htmlAlwaysAttributes:et,isPropertyEscapeNeeded:we};export{MC as exportsForCodemod,te as inferCdnUrl,oc as useLumina};
254
+ `}function ic(e={}){let t=new M(e),n=[t.plugin,Mi(t),ki(t),Cs(t),Ar(t),ti(t),Is(t),ks(t),ys(t),Yr(t),li(t),hs(t),Ii(t),Di(t),or(t),Wo(t),mi(t),js(t),gi(t)].filter(oc);return n.context=t,n}var kC={initializeComponentDependencies:kt,updateLuminaTs:jt,propertyToAttributeMappings:q,findDeclaredComponents:bn,nativeEvents:wt,svgElements:Ie,mathMlElements:je,alwaysAttributes:Et,nativeAlwaysAttributes:Pt,htmlAlwaysAttributes:et,isPropertyEscapeNeeded:Me};export{kC as exportsForCodemod,te as inferCdnUrl,ic as useLumina};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/lumina-compiler",
3
- "version": "4.32.0-next.1",
3
+ "version": "4.32.0-next.2",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -38,42 +38,42 @@
38
38
  "clean": "rimraf ./dist ./build ./turbo ./node_modules"
39
39
  },
40
40
  "dependencies": {
41
- "@arcgis/components-utils": "4.32.0-next.1",
41
+ "@arcgis/components-utils": "4.32.0-next.2",
42
42
  "@custom-elements-manifest/analyzer": "^0.10.3",
43
43
  "custom-elements-manifest": "^2.1.0",
44
44
  "esbuild": "^0.24.0",
45
45
  "js-beautify": "^1.15.1",
46
46
  "mime-types": "^2.1.35",
47
- "rollup": "^4.22.5",
47
+ "rollup": "^4.24.0",
48
48
  "rollup-plugin-node-externals": "^7.1.3",
49
49
  "sass-embedded": "^1.79.3",
50
50
  "tslib": "^2.7.0",
51
51
  "typescript": "~5.4.0",
52
52
  "vite": "^5.4.8",
53
- "vite-plugin-dts": "^4.2.2",
54
- "vitest": "^2.1.1",
53
+ "vite-plugin-dts": "^4.2.3",
54
+ "vitest": "^2.1.2",
55
55
  "vitest-fail-on-console": "^0.7.1"
56
56
  },
57
57
  "devDependencies": {
58
- "@arcgis/components-build-utils": "4.32.0-next.1",
59
- "@arcgis/lumina": "4.32.0-next.1",
60
- "@arcgis/typescript-config": "4.32.0-next.1",
58
+ "@arcgis/components-build-utils": "4.32.0-next.2",
59
+ "@arcgis/lumina": "4.32.0-next.2",
60
+ "@arcgis/typescript-config": "4.32.0-next.2",
61
61
  "@stencil/core": "4.20.0",
62
62
  "@types/js-beautify": "^1",
63
63
  "@types/mime-types": "^2",
64
64
  "@types/node": "^20.2.5",
65
- "@vitest/coverage-v8": "^2.1.1",
65
+ "@vitest/coverage-v8": "^2.1.2",
66
66
  "concurrently": "^8.2.2",
67
67
  "eslint": "^8.55.0",
68
- "puppeteer": "^23.3.0",
68
+ "puppeteer": "^23.4.1",
69
69
  "rimraf": "^5.0.0",
70
- "rollup": "^4.22.5",
70
+ "rollup": "^4.24.0",
71
71
  "tsup": "^8.3.0",
72
- "vitest": "^2.1.1"
72
+ "vitest": "^2.1.2"
73
73
  },
74
74
  "peerDependencies": {
75
- "@arcgis/components-controllers": "4.32.0-next.1",
76
- "@arcgis/lumina": "4.32.0-next.1"
75
+ "@arcgis/components-controllers": "4.32.0-next.2",
76
+ "@arcgis/lumina": "4.32.0-next.2"
77
77
  },
78
- "gitHead": "e5c61e5426551da5fa01c269b3b138133e620ca0"
78
+ "gitHead": "8c9d6f7c0e88ea1b6ddbc00ebdb1c89069b0cbbf"
79
79
  }