@arcgis/lumina-compiler 4.33.0-next.8 → 4.33.0-next.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import{a as A}from"./chunk-JFKSI6I7.js";import{nodeExternals as ks}from"rollup-plugin-node-externals";function Yn(e){let{externalize:t=[],bundleIn:n=[],...r}=e.options?.build?.dependencies??{},o={...ks({...r,include:[/^lit[-/]/u,/^@lit[-/]/u,/^lit$/u,...Array.isArray(t)?t.map(Qn):[]],exclude:Array.isArray(n)?n.map(Qn):[]}),configResolved(){e.isInStorybook&&(o.resolveId=void 0)}};return o}var Qn=e=>e?typeof e=="string"?new RegExp(`^${e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&")}`,"u"):e:void 0;import da from"vite-plugin-dts";var Te="customElement.js",Wt="customElement.d.ts",Zn="playwright";import{path as te}from"@arcgis/components-build-utils";import{path as Ht}from"@arcgis/components-build-utils";function er(e,t,n){let i=n.split(Ht.sep).slice(2),o=t._componentPathMapping;return i.forEach((s,a)=>{a===i.length-1?o[""]??=e:(o[s]??={},o=o[s])}),o[""]}function ee(e,t,n){if(!e.startsWith(t))return e;let r=e.slice(t.length),i=Is(r,n);return`${t}${i}`}function Is(e,t){let n=e.split(Ht.sep);n.push(".");let r=t._componentPathMapping,i=0;for(let o of n)if(r[o]===void 0){let s=r[""];return typeof s=="string"?[s,...n.slice(i,-1)].join(Ht.sep):e}else r=r[o],i+=1;return e}var tr=({filePath:e,content:t},n)=>{let r=e.startsWith(n.dir.distComponents)?ee(nr(e),n.dir.distComponents,n):e,i=te.dirname(e),o=r.endsWith(Wt),s=Kt(t,n,e===r?i:te.dirname(r),i),a=o?$s(s):s;return{filePath:r,content:a}};function nr(e,t=".d.ts"){let r=(t===""?e:e.slice(0,-t.length)).split(te.sep);return r.at(Ns)!==r.at(Ls)?e:te.join(r.slice(0,-1).join(te.sep),t===""?Te:Wt)}var Ns=-1,Ls=-2,Rs=/["']\.\.?\/[^'"]+/gu,Kt=(e,t,n,r)=>e.replaceAll(Rs,i=>{let o=i.slice(1);if(!o.startsWith("./")&&!o.startsWith("../"))return i;let s=te.join(r,o),a=!o.endsWith(".js")&&!o.split("/").at(-1).includes(".")?nr(s,""):s,p=ee(a,t.dir.distComponents,t);if(n===r&&s===p)return i;let l=q(n,p);return`${i[0]}${l}`}),q=(e,t)=>{let n=te.relative(e,t);return n.startsWith(".")?n:`.${te.sep}${n}`};function $s(e){return`/// <reference types="../../index.d.ts" />
2
- ${e}`}import{path as Ms}from"@arcgis/components-build-utils";import K from"typescript";import{path as _t}from"@arcgis/components-build-utils";var rr="customElement",ir=(e,t)=>{let{filePath:n,content:r}=e;if(!n.startsWith(t.dir.distComponents))return e;let i=sr(r);if(i===void 0)return e;{let o=r.replace(i,"");return{filePath:n,content:o}}},or=(e,t)=>{let n=[];if(t.apiModule?.declarations.forEach(o=>{"customElement"in o&&n.push(K.factory.createExpressionStatement(K.factory.createCallExpression(K.factory.createIdentifier(rr),void 0,[K.factory.createStringLiteral(o.tagName),K.factory.createIdentifier(o.name)])))}),n.length===0)return e.statements;let r=_t.relative(_t.dirname(e.fileName),_t.join(t.compiler.dir.src,"runtime"));return[K.factory.createImportDeclaration(void 0,K.factory.createImportClause(!1,void 0,K.factory.createNamedImports([K.factory.createImportSpecifier(!1,void 0,K.factory.createIdentifier(rr))])),K.factory.createStringLiteral(r)),...e.statements,...n]};function Ze(e){let t=sr(e);return t===void 0?void 0:t.split(`
2
+ ${e}`}import{path as Ms}from"@arcgis/components-build-utils";import _ from"typescript";import{path as _t}from"@arcgis/components-build-utils";var rr="customElement",ir=(e,t)=>{let{filePath:n,content:r}=e;if(!n.startsWith(t.dir.distComponents))return e;let i=sr(r);if(i===void 0)return e;{let o=r.replace(i,"");return{filePath:n,content:o}}},or=(e,t)=>{let n=[];if(t.apiModule?.declarations.forEach(o=>{"customElement"in o&&n.push(_.factory.createExpressionStatement(_.factory.createCallExpression(_.factory.createIdentifier(rr),void 0,[_.factory.createStringLiteral(o.tagName),_.factory.createIdentifier(o.name)])))}),n.length===0)return e.statements;let r=_t.relative(_t.dirname(e.fileName),_t.join(t.compiler.dir.src,"runtime"));return[_.factory.createImportDeclaration(void 0,_.factory.createImportClause(!1,void 0,_.factory.createNamedImports([_.factory.createImportSpecifier(!1,void 0,_.factory.createIdentifier(rr))])),_.factory.createStringLiteral(r)),...e.statements,...n]};function et(e){let t=sr(e);return t===void 0?void 0:t.split(`
3
3
  `).filter(r=>r.includes(":")).map(r=>r.replace(";","").replaceAll('"',"").replaceAll("'","").split(":")).map(([r,i])=>[r.trim(),i.trim()]).filter(([r])=>!r.startsWith("/")&&!r.startsWith("*"))}function sr(e){let t=e.indexOf("declare global {");if(t===-1)return;let n=e.indexOf(`
4
- }`,t)+2;return e.slice(t,n)}var pr=e=>(t,n)=>[Js,Os,Bs,js,tr,Ws,Hs,ir,...e.options.types?.declarationTextTransformers??[],...e._declarationTextTransformers].reduce((r,i)=>r===!1?!1:i(r,e),{filePath:t,content:n}),Js=(e,t)=>t.isInStorybook?!1:e,js=(e,t)=>e.filePath.endsWith(ar)&&e.filePath===Ms.join(t.dir.dist,ar)?!1:e,ar="lumina.d.ts",Os=(e,t)=>{let n=t.dir.dist,r=`${n}src/`;return e.filePath.startsWith(r)?{...e,filePath:`${n}${e.filePath.slice(r.length)}`}:!1},Je=e=>e.includes("__test")||e.includes(".e2e.")||e.includes(".spec.")||e.includes(".test."),Bs=e=>Je(e.filePath)?!1:e,Ws=e=>e.content.includes("__esri.")?{filePath:e.filePath,content:`/// <reference types="@arcgis/core/interfaces.d.ts" />
5
- ${e.content}`}:e,Hs=(e,t)=>{t._htmlElementReferencesReplacer??={regex:new RegExp(`(${t.apiJsonComponents.map(r=>r.name).join("|")})\\[['"\`]el['"\`]\\]`,"ug"),replacements:Object.fromEntries(t.apiJsonComponents.map(r=>[r.name,`HTML${r.pascalCaseName}Element`]))};let n=t._htmlElementReferencesReplacer;return{filePath:e.filePath,content:e.content.replace(n.regex,(r,i)=>n.replacements[i])}};import Us from"typescript";import{path as Ks}from"@arcgis/components-build-utils";import{getMemberName as _s}from"@arcgis/api-extractor";function lr(e,t){let n=_s(t.name);return e.members.find(r=>r.name===n)}function cr(e,t,n){let r=Ks.relative(t,e);return n.modules.find(i=>i.path===r)}function et(e,t,n,r){let i={compiler:e,apiModule:e.isInPuppeteerTestBackEnd?void 0:cr(n.fileName,e.dir.root,e.privateApiJson),transformation:t},o=n.statements,s=n.statements;return Object.defineProperty(n,"statements",{get:()=>s,configurable:!0}),r.forEach(a=>{s=a(n,i)}),Object.defineProperty(n,"statements",{value:o}),Vs(n,s)}var Vs=(e,t)=>Us.factory.updateSourceFile(e,t,e.isDeclarationFile,e.referencedFiles,e.typeReferenceDirectives,e.hasNoDefaultLib,e.libReferenceDirectives),ur=e=>`${dr}${" ".repeat(e.length-dr.length-mr.length)}${mr}`,dr="/*",mr="*/";import _ from"typescript";var fr=e=>e.statements.map(Xs),zs="@arcgis/lumina",qs="LitElement",Gs="PublicLitElement",Ut="TargetedEvent";function Xs(e){if(_.isImportDeclaration(e)&&_.isStringLiteral(e.moduleSpecifier)&&e.moduleSpecifier.text===zs&&e.importClause?.namedBindings&&_.isNamedImports(e.importClause.namedBindings)){let t=e.importClause.namedBindings.elements.findIndex(r=>(r.propertyName??r.name).text===qs);if(t===-1)return e;let n=e.importClause.namedBindings.elements[t];return _.factory.updateImportDeclaration(e,e.modifiers,_.factory.updateImportClause(e.importClause,e.importClause.isTypeOnly,e.importClause.name,_.factory.updateNamedImports(e.importClause.namedBindings,[...e.importClause.namedBindings.elements.slice(0,t),_.factory.updateImportSpecifier(n,n.isTypeOnly,_.factory.createIdentifier(Gs),n.name),...e.importClause.namedBindings.elements.slice(t+1),_.factory.createImportSpecifier(!e.importClause.isTypeOnly,void 0,_.factory.createIdentifier(Ut))])),e.moduleSpecifier,e.attributes)}else return e}import v from"typescript";import{isNotUndefined as Ys}from"@arcgis/components-utils";import O from"typescript";var Vt="_setterTypes";function yr(e,t,n){return O.factory.createPropertyDeclaration([O.factory.createModifier(O.SyntaxKind.ReadonlyKeyword)],O.factory.createIdentifier(Vt),void 0,O.factory.createTypeLiteralNode(e.map(r=>{let[i,o]=Qs(r.name,r.type,n._typeScriptPrinter,t);return O.factory.createPropertySignature(void 0,i,r.isRequired?void 0:O.factory.createToken(O.SyntaxKind.QuestionToken),o)})),void 0)}function Qs(e,t,n,r){let i=n.printNode(O.EmitHint.Unspecified,e,r),o=n.printNode(O.EmitHint.Unspecified,t,r),s=`declare class A { ${i}: ${o} }`,l=O.createSourceFile("a.d.ts",s,O.ScriptTarget.Latest,!1,O.ScriptKind.TS).statements[0].members[0];return[l.name,l.type]}import{getMemberName as Zs}from"@arcgis/api-extractor";import{toSystemPathSeparators as ea}from"@arcgis/components-build-utils";var hr=(e,t)=>t.apiModule===void 0?e.statements:e.statements.map(n=>ta(n,e,t));function ta(e,t,n){if(v.isClassDeclaration(e)){let r=e,i=r.name?.text,o=n.apiModule.declarations.find(l=>l.name===i&&"customElement"in l);if(o===void 0)return e;let s=n.compiler._typeDependencies.get(o.tagName),a=[],p=r.members.map(l=>na(l,o,a,s,t)).filter(Ys);return a.length>0&&p.push(yr(a,t,n.compiler)),v.factory.updateClassDeclaration(r,r.modifiers,r.name,r.typeParameters,r.heritageClauses?.filter(l=>l.token!==v.SyntaxKind.ImplementsKeyword),p)}else return e}function na(e,t,n,r,i){let o=e.name===void 0?void 0:Zs(e.name);if(o===void 0)return;let s=r?.has(o)??!1,a=t.members.find(p=>p.name===o);if(a?.privacy!==void 0)return s?tt(e):void 0;if(v.isPropertyDeclaration(e))return a===void 0?t.events?.find(l=>l.name===o)===void 0?s?tt(e):void 0:v.factory.updatePropertyDeclaration(e,gr(e.modifiers),e.name,void 0,ra(e.type,i),e.initializer):a.readonly===!0?v.factory.updatePropertyDeclaration(e,gr(e.modifiers),e.name,void 0,e.type,e.initializer):e;if(v.isGetAccessor(e)||v.isSetAccessor(e)){if(a===void 0)return s?tt(e):void 0;if(v.isSetAccessor(e)){if(a.readonly===!0)return;let p=a.getterTypeDiffers!==void 0,c=e.parameters[0].type;p&&c!==void 0&&n.push({name:e.name,type:c,isRequired:a.docsTags?.some(d=>d.name==="required")??!1})}return e}else if(v.isMethodDeclaration(e))return a===void 0?s?tt(e):void 0:e}function tt(e){if(v.isPropertyDeclaration(e)){let t=nt(e.modifiers);if(t!==e.modifiers)return v.factory.updatePropertyDeclaration(e,t,e.name,e.questionToken,e.type,e.initializer)}else if(v.isGetAccessor(e)){let t=nt(e.modifiers);if(t!==e.modifiers)return v.factory.updateGetAccessorDeclaration(e,t,e.name,e.parameters,e.type,e.body)}else if(v.isSetAccessor(e)){let t=nt(e.modifiers);if(t!==e.modifiers)return v.factory.updateSetAccessorDeclaration(e,t,e.name,e.parameters,e.body)}else if(v.isMethodDeclaration(e)){let t=nt(e.modifiers);if(t!==e.modifiers)return v.factory.updateMethodDeclaration(e,t,e.asteriskToken,e.name,e.questionToken,e.typeParameters,e.parameters,e.type,e.body)}return e}function gr(e){return e?.some(n=>n.kind===v.SyntaxKind.ReadonlyKeyword)?e:[v.factory.createModifier(v.SyntaxKind.ReadonlyKeyword),...e??[]]}function nt(e){return e?.some(n=>n.kind===v.SyntaxKind.PrivateKeyword)?e:[v.factory.createModifier(v.SyntaxKind.PrivateKeyword),...(e??[]).filter(n=>n.kind!==v.SyntaxKind.PublicKeyword&&n.kind!==v.SyntaxKind.ProtectedKeyword)]}function ra(e,t){if(e===void 0)return;let n=v.isImportTypeNode(e)&&e.qualifier&&v.isIdentifier(e.qualifier)&&e.qualifier.escapedText==="EventEmitter"?e.typeArguments??[]:v.isTypeReferenceNode(e)&&v.isIdentifier(e.typeName)&&e.typeName.escapedText==="EventEmitter"?e.typeArguments??[]:void 0;return typeof n=="object"?v.factory.createTypeReferenceNode(Ut,[v.factory.createThisTypeNode(),...n]):(console.warn(`Unhandled event type node: ${e.getFullText(t)} (in ${ea(t.fileName)}). Double check you are using events correctly or report this issue to Lumina maintainers`),e)}import{toSystemPathSeparators as sa}from"@arcgis/components-build-utils";import ia from"typescript";var Cr=e=>e.statements.map(oa);function oa(e){if(ia.isImportDeclaration(e)){let t=e.moduleSpecifier.text;if(t.endsWith(".json"))throw new Error(`Found a .json import (${t}) in a .d.ts file. This can cause TypeScript errors for consumers of your package. See alternative options: https://devtopia.esri.com/WebGIS/arcgis-web-components/issues/2047`)}return e}var aa=[fr,hr,Cr];function xr(e){let t,n=pa(e);return{name:"@arcgis/lumina:componentDtsTransformer",supports(r){return t??=new Set(e.componentFiles),r.endsWith(".tsx")&&t.has(r)},transform({id:r}){if(e.isInStorybook)return[];let i=e.typeScriptProgram.getSourceFile(r);if(i===void 0)throw new Error(`Could not find source file: ${sa(r)}`);let o=[];return e.typeScriptProgram.emit(i,(p,l)=>{o.push({path:p,content:l})},void 0,!0,{afterDeclarations:[n]}),o}}}var pa=e=>t=>n=>et(e,t,n,[...aa,...e.options.types?.declarationAstTransformers??[]]);import{path as ma}from"@arcgis/components-build-utils";var Tr=e=>new Proxy(e,{get:la,set:ca});function la(e,t,n){if(t in e)return Reflect.get(e,t,n);throw new Error(`Requested unexpected property ${String(t)}`)}function ca(e,t){throw new Error(`Unexpectedly tried to set the ${String(t)} property.`)}function br(e){let t=e.options.types??{},n=!1,r={...t?.compilerOptions,rootDir:"."},i=da({...t,compilerOptions:r,tsconfigPath:e.options.types?.tsconfigPath,strictOutput:!0,afterDiagnostic(o){let s=o.length>0,a=e.viteCommand==="build";if(s&&a)throw new Error("TypeScript errors reported. See error messages above");return t?.afterDiagnostic?.(o)},beforeWriteFile:pr(e),resolvers:[{name:"@arcgis/lumina:getHostReference",supports:()=>!n,transform({program:o,host:s}){return n=!0,e.typeScriptProgram=o,e.typeScriptTypeChecker=o.getTypeChecker(),e.typeScriptHost=s,t?.typeScriptInstanceCreated?.(o,s),[]}},...t?.resolvers??[],xr(e)]});return{...i,apply:()=>e.viteCommand==="build",async configResolved(o){r.sourceMap=o.build.sourcemap!==!1;let s=i.configResolved;if(typeof s!="function")throw new Error("Expected configResolved to be a function");await s.call(this,o)},async buildStart(o){let s=i.buildStart;if(typeof s!="function")throw new Error("Expected buildStart to be a function");let a=i.transform;if(typeof a!="function")throw new Error("Expected transform to be a function");if(await s.call(this,o),await a.call(Tr({}),"",ma.join(e.dir.src,"__fakeFile.ts")),!n)throw new Error("Expected resolver to get called")}}}import{isNotUndefined as Gd}from"@arcgis/components-utils";var ua=/\r\n|[\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/gu,fa=new Map(Object.entries({" ":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":`
4
+ }`,t)+2;return e.slice(t,n)}var pr=e=>(t,n)=>[Js,Os,Bs,js,tr,Ws,Hs,ir,...e.options.types?.declarationTextTransformers??[],...e._declarationTextTransformers].reduce((r,i)=>r===!1?!1:i(r,e),{filePath:t,content:n}),Js=(e,t)=>t.isInStorybook?!1:e,js=(e,t)=>e.filePath.endsWith(ar)&&e.filePath===Ms.join(t.dir.dist,ar)?!1:e,ar="lumina.d.ts",Os=(e,t)=>{let n=t.dir.dist,r=`${n}src/`;return e.filePath.startsWith(r)?{...e,filePath:`${n}${e.filePath.slice(r.length)}`}:!1},je=e=>e.includes("__test")||e.includes(".e2e.")||e.includes(".spec.")||e.includes(".test."),Bs=e=>je(e.filePath)?!1:e,Ws=e=>e.content.includes("__esri.")?{filePath:e.filePath,content:`/// <reference types="@arcgis/core/interfaces.d.ts" />
5
+ ${e.content}`}:e,Hs=(e,t)=>{t._htmlElementReferencesReplacer??={regex:new RegExp(`(${t.apiJsonComponents.map(r=>r.name).join("|")})\\[['"\`]el['"\`]\\]`,"ug"),replacements:Object.fromEntries(t.apiJsonComponents.map(r=>[r.name,`HTML${r.pascalCaseName}Element`]))};let n=t._htmlElementReferencesReplacer;return{filePath:e.filePath,content:e.content.replace(n.regex,(r,i)=>n.replacements[i])}};import Us from"typescript";import{path as Ks}from"@arcgis/components-build-utils";import{getMemberName as _s}from"@arcgis/api-extractor";function lr(e,t){let n=_s(t.name);return e.members.find(r=>r.name===n)}function cr(e,t,n){let r=Ks.relative(t,e);return n.modules.find(i=>i.path===r)}function tt(e,t,n,r){let i={compiler:e,apiModule:e.isInPuppeteerTestBackEnd?void 0:cr(n.fileName,e.dir.root,e.privateApiJson),transformation:t},o=n.statements,s=n.statements;return Object.defineProperty(n,"statements",{get:()=>s,configurable:!0}),r.forEach(a=>{s=a(n,i)}),Object.defineProperty(n,"statements",{value:o}),Vs(n,s)}var Vs=(e,t)=>Us.factory.updateSourceFile(e,t,e.isDeclarationFile,e.referencedFiles,e.typeReferenceDirectives,e.hasNoDefaultLib,e.libReferenceDirectives),ur=e=>`${dr}${" ".repeat(e.length-dr.length-mr.length)}${mr}`,dr="/*",mr="*/";import U from"typescript";var fr=e=>e.statements.map(Xs),zs="@arcgis/lumina",qs="LitElement",Gs="PublicLitElement",Ut="TargetedEvent";function Xs(e){if(U.isImportDeclaration(e)&&U.isStringLiteral(e.moduleSpecifier)&&e.moduleSpecifier.text===zs&&e.importClause?.namedBindings&&U.isNamedImports(e.importClause.namedBindings)){let t=e.importClause.namedBindings.elements.findIndex(r=>(r.propertyName??r.name).text===qs);if(t===-1)return e;let n=e.importClause.namedBindings.elements[t];return U.factory.updateImportDeclaration(e,e.modifiers,U.factory.updateImportClause(e.importClause,e.importClause.isTypeOnly,e.importClause.name,U.factory.updateNamedImports(e.importClause.namedBindings,[...e.importClause.namedBindings.elements.slice(0,t),U.factory.updateImportSpecifier(n,n.isTypeOnly,U.factory.createIdentifier(Gs),n.name),...e.importClause.namedBindings.elements.slice(t+1),U.factory.createImportSpecifier(!e.importClause.isTypeOnly,void 0,U.factory.createIdentifier(Ut))])),e.moduleSpecifier,e.attributes)}else return e}import v from"typescript";import{isNotUndefined as Ys}from"@arcgis/components-utils";import O from"typescript";var Vt="_setterTypes";function yr(e,t,n){return O.factory.createPropertyDeclaration([O.factory.createModifier(O.SyntaxKind.ReadonlyKeyword)],O.factory.createIdentifier(Vt),void 0,O.factory.createTypeLiteralNode(e.map(r=>{let[i,o]=Qs(r.name,r.type,n._typeScriptPrinter,t);return O.factory.createPropertySignature(void 0,i,r.isRequired?void 0:O.factory.createToken(O.SyntaxKind.QuestionToken),o)})),void 0)}function Qs(e,t,n,r){let i=n.printNode(O.EmitHint.Unspecified,e,r),o=n.printNode(O.EmitHint.Unspecified,t,r),s=`declare class A { ${i}: ${o} }`,l=O.createSourceFile("a.d.ts",s,O.ScriptTarget.Latest,!1,O.ScriptKind.TS).statements[0].members[0];return[l.name,l.type]}import{getMemberName as Zs}from"@arcgis/api-extractor";import{toSystemPathSeparators as ea}from"@arcgis/components-build-utils";var hr=(e,t)=>t.apiModule===void 0?e.statements:e.statements.map(n=>ta(n,e,t));function ta(e,t,n){if(v.isClassDeclaration(e)){let r=e,i=r.name?.text,o=n.apiModule.declarations.find(l=>l.name===i&&"customElement"in l);if(o===void 0)return e;let s=n.compiler._typeDependencies.get(o.tagName),a=[],p=r.members.map(l=>na(l,o,a,s,t)).filter(Ys);return a.length>0&&p.push(yr(a,t,n.compiler)),v.factory.updateClassDeclaration(r,r.modifiers,r.name,r.typeParameters,r.heritageClauses?.filter(l=>l.token!==v.SyntaxKind.ImplementsKeyword),p)}else return e}function na(e,t,n,r,i){let o=e.name===void 0?void 0:Zs(e.name);if(o===void 0)return;let s=r?.has(o)??!1,a=t.members.find(p=>p.name===o);if(a?.privacy!==void 0)return s?nt(e):void 0;if(v.isPropertyDeclaration(e))return a===void 0?t.events?.find(l=>l.name===o)===void 0?s?nt(e):void 0:v.factory.updatePropertyDeclaration(e,gr(e.modifiers),e.name,void 0,ra(e.type,i),e.initializer):a.readonly===!0?v.factory.updatePropertyDeclaration(e,gr(e.modifiers),e.name,void 0,e.type,e.initializer):e;if(v.isGetAccessor(e)||v.isSetAccessor(e)){if(a===void 0)return s?nt(e):void 0;if(v.isSetAccessor(e)){if(a.readonly===!0)return;let p=a.getterTypeDiffers!==void 0,c=e.parameters[0].type;p&&c!==void 0&&n.push({name:e.name,type:c,isRequired:a.docsTags?.some(d=>d.name==="required")??!1})}return e}else if(v.isMethodDeclaration(e))return a===void 0?s?nt(e):void 0:e}function nt(e){if(v.isPropertyDeclaration(e)){let t=rt(e.modifiers);if(t!==e.modifiers)return v.factory.updatePropertyDeclaration(e,t,e.name,e.questionToken,e.type,e.initializer)}else if(v.isGetAccessor(e)){let t=rt(e.modifiers);if(t!==e.modifiers)return v.factory.updateGetAccessorDeclaration(e,t,e.name,e.parameters,e.type,e.body)}else if(v.isSetAccessor(e)){let t=rt(e.modifiers);if(t!==e.modifiers)return v.factory.updateSetAccessorDeclaration(e,t,e.name,e.parameters,e.body)}else if(v.isMethodDeclaration(e)){let t=rt(e.modifiers);if(t!==e.modifiers)return v.factory.updateMethodDeclaration(e,t,e.asteriskToken,e.name,e.questionToken,e.typeParameters,e.parameters,e.type,e.body)}return e}function gr(e){return e?.some(n=>n.kind===v.SyntaxKind.ReadonlyKeyword)?e:[v.factory.createModifier(v.SyntaxKind.ReadonlyKeyword),...e??[]]}function rt(e){return e?.some(n=>n.kind===v.SyntaxKind.PrivateKeyword)?e:[v.factory.createModifier(v.SyntaxKind.PrivateKeyword),...(e??[]).filter(n=>n.kind!==v.SyntaxKind.PublicKeyword&&n.kind!==v.SyntaxKind.ProtectedKeyword)]}function ra(e,t){if(e===void 0)return;let n=v.isImportTypeNode(e)&&e.qualifier&&v.isIdentifier(e.qualifier)&&e.qualifier.escapedText==="EventEmitter"?e.typeArguments??[]:v.isTypeReferenceNode(e)&&v.isIdentifier(e.typeName)&&e.typeName.escapedText==="EventEmitter"?e.typeArguments??[]:void 0;return typeof n=="object"?v.factory.createTypeReferenceNode(Ut,[v.factory.createThisTypeNode(),...n]):(console.warn(`Unhandled event type node: ${e.getFullText(t)} (in ${ea(t.fileName)}). Double check you are using events correctly or report this issue to Lumina maintainers`),e)}import{toSystemPathSeparators as sa}from"@arcgis/components-build-utils";import ia from"typescript";var Cr=e=>e.statements.map(oa);function oa(e){if(ia.isImportDeclaration(e)){let t=e.moduleSpecifier.text;if(t.endsWith(".json"))throw new Error(`Found a .json import (${t}) in a .d.ts file. This can cause TypeScript errors for consumers of your package. See alternative options: https://devtopia.esri.com/WebGIS/arcgis-web-components/issues/2047`)}return e}var aa=[fr,hr,Cr];function xr(e){let t,n=pa(e);return{name:"@arcgis/lumina:componentDtsTransformer",supports(r){return t??=new Set(e.componentFiles),r.endsWith(".tsx")&&t.has(r)},transform({id:r}){if(e.isInStorybook)return[];let i=e.typeScriptProgram.getSourceFile(r);if(i===void 0)throw new Error(`Could not find source file: ${sa(r)}`);let o=[];return e.typeScriptProgram.emit(i,(p,l)=>{o.push({path:p,content:l})},void 0,!0,{afterDeclarations:[n]}),o}}}var pa=e=>t=>n=>tt(e,t,n,[...aa,...e.options.types?.declarationAstTransformers??[]]);import{path as ma}from"@arcgis/components-build-utils";var Tr=e=>new Proxy(e,{get:la,set:ca});function la(e,t,n){if(t in e)return Reflect.get(e,t,n);throw new Error(`Requested unexpected property ${String(t)}`)}function ca(e,t){throw new Error(`Unexpectedly tried to set the ${String(t)} property.`)}function br(e){let t=e.options.types??{},n=!1,r={...t?.compilerOptions,rootDir:"."},i=da({...t,compilerOptions:r,tsconfigPath:e.options.types?.tsconfigPath,strictOutput:!0,afterDiagnostic(o){let s=o.length>0,a=e.viteCommand==="build";if(s&&a)throw new Error("TypeScript errors reported. See error messages above");return t?.afterDiagnostic?.(o)},beforeWriteFile:pr(e),resolvers:[{name:"@arcgis/lumina:getHostReference",supports:()=>!n,transform({program:o,host:s}){return n=!0,e.typeScriptProgram=o,e.typeScriptTypeChecker=o.getTypeChecker(),e.typeScriptHost=s,t?.typeScriptInstanceCreated?.(o,s),[]}},...t?.resolvers??[],xr(e)]});return{...i,apply:()=>e.viteCommand==="build",async configResolved(o){r.sourceMap=o.build.sourcemap!==!1;let s=i.configResolved;if(typeof s!="function")throw new Error("Expected configResolved to be a function");await s.call(this,o)},async buildStart(o){let s=i.buildStart;if(typeof s!="function")throw new Error("Expected buildStart to be a function");let a=i.transform;if(typeof a!="function")throw new Error("Expected transform to be a function");if(await s.call(this,o),await a.call(Tr({}),"",ma.join(e.dir.src,"__fakeFile.ts")),!n)throw new Error("Expected resolver to get called")}}}import{isNotUndefined as Gd}from"@arcgis/components-utils";var ua=/\r\n|[\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/gu,fa=new Map(Object.entries({" ":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":`
6
6
  `,"\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085","\r\n":"\\r\\n"}));function vr(e){return`\\u${`0000${e.toString(ya).toUpperCase()}`.slice(-ga)}`}var ya=16,ga=4;function ha(e,t,n){if(e.charCodeAt(0)===Ta){let r=n.charCodeAt(t+e.length);return r>=ba&&r<=Sa?"\\x00":"\\0"}return fa.get(e)||vr(e.charCodeAt(0))}var Ca=e=>e.replace(ua,ha),Sr=/[^\u0000-\u007F]/g;function xa(e){return e=Ca(e),Sr.test(e)?e.replace(Sr,t=>vr(t.charCodeAt(0))):e}var Er=xa,Ta=0,ba=48,Sa=57,va=/\$\{/gu,wr=e=>e.replace(va,"\\${");function Pr(e){if(e.length===0)return"";let t=e[0];if(e.includes(`
7
7
  `)){let i=t===`
8
8
  `,o=e.lastIndexOf(`
9
- `),a=e.slice(o+1).trim().length===0,p=i?e.trimStart():e;return a?p.trimEnd():p}return e.trim().length===0?t:e}var ue=e=>wr(Er(e)),Ar=e=>!Ea.test(e),Ea=/^[^\s"'=<>`]+$/u,wa=/[&<>]/gu,Pa={"&":"&amp;","<":"&lt;",">":"&gt;"},rt=e=>e.replace(wa,t=>Pa[t]);import R from"typescript";import{path as Yt,toSystemPathSeparators as Wa,retrievePackageJson as Ha}from"@arcgis/components-build-utils";import{isNotUndefined as Aa}from"@arcgis/components-utils";import{readdir as Da}from"node:fs/promises";import{path as je}from"@arcgis/components-build-utils";var Dr=async e=>Object.fromEntries((await e.componentFilesPromise).map(t=>[zt(t),t])),zt=(e,t=je.resolve("src"))=>je.relative(t,je.join(e,"..",Te.slice(0,-3))),be=async(e,t,n=t)=>await Da(n,{recursive:!0}).catch(r=>{if(String(r).includes("ENOENT"))return console.error(`@arcgis/lumina: Unable to find the ${n} directory (cwd: ${process.cwd()})`),[];throw r}).then(r=>{let i=r.map(o=>{if(!o.endsWith(".tsx"))return;let s=je.join(n,o);return ne(s,t)?s:void 0}).filter(Aa);return e.componentFiles=i,i});function ne(e,t){if(!e.startsWith(t)||!e.endsWith(".tsx"))return!1;let[n,r]=e.slice(0,-4).split(je.sep).slice(Fa);return n===r}var Fa=-2;import ka from"typescript";var Fr=5,kr=1,Ir=1,Nr=3,Lr=4,it=ka;Ia(it.createSourceMapGenerator);Na(it.createTextWriter);La(it.getNewLineCharacter);var fe=it;function Ia(e){if(typeof e!="function")throw new Error("Failed to find ts.createSourceMapGenerator() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Fr)throw new Error(`ts.createSourceMapGenerator() signature changed. Expected ${Fr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function Na(e){if(typeof e!="function")throw new Error("Failed to find ts.createTextWriter() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==kr)throw new Error(`ts.createTextWriter() signature changed. Expected ${kr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function La(e){if(typeof e!="function")throw new Error("Failed to find ts.getNewLineCharacter() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Ir)throw new Error(`ts.getNewLineCharacter() signature changed. Expected ${Ir} argument. Lumina needs to be updated to support the new TypeScript version`)}function Ra(e){if(typeof e!="function")throw new Error("Failed to find ts.Printer.writeFile() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Nr)throw new Error(`ts.Printer.writeFile() signature changed. Expected ${Nr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function $a(e){if(typeof e!="function")throw new Error("Failed to find ts.Printer.writeNode() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Lr)throw new Error(`ts.Printer.writeNode() signature changed. Expected ${Lr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function ot(e){let t=fe.createPrinter(e);return Ra(t.writeFile),$a(t.writeNode),t}import{globalPackageIdentifier as Ka}from"@arcgis/api-extractor";import{mappedFind as _a}from"@arcgis/components-utils";import Ma from"typescript";function Gt(e){let t=Ma.isUnionTypeNode(e)?e.types.map(qt):[qt(e)],n=new Set(t),r=n.delete("true"),i=n.delete("false");(r||i)&&n.add("boolean");let o=Array.from(n).sort();if(o.length>1&&(o=o.map(s=>s.includes("=>")?`(${s})`:s)),!(o.length>Ja))return o.map(ja)}var Ja=40,Rr=e=>e?.some(t=>t.type==="number"||t.type==="boolean"||t.type==="string"||t.type==="any")??!1,$r=e=>e.length===1&&e[0].type!=="string"&&e[0].type!=="number"&&e[0].type!=="boolean"&&e[0].type!=="any"?void 0:e,st=e=>e.map(Xt).join(" | "),Xt=e=>e.type==="string"&&e.value!==void 0?`"${e.value}"`:e.value??e.type;function ja(e){return e==="boolean"?{type:"boolean"}:Number.isNaN(Number.parseFloat(e))?e.startsWith('"')||e.startsWith("'")?{value:e.slice(1,-1),type:"string"}:{type:e}:{value:e,type:"number"}}import Oa from"typescript";var Mr=(e,t,n,r)=>{let i=e.typeScriptTypeChecker,o=Oa.isSetAccessor(t)?t.parameters[0]:t,s=i.getTypeAtLocation(o),a=!n;return ye(i,s,r,e.dir,a)};function Jr(e,t){if(e.length===0)return;let n=t.matchAll(Ba),r=[];for(let i of n){let o=e.find(s=>s.name===i[0]);o!==void 0&&r.push({...o,start:i.index,end:i.index+o.name.length})}return r.length===0?void 0:r}var Ba=/"[^"]+"|'[^"]+'|\w+/gu;function ye(e,t,n,r,i=!1){let{typeNode:o,references:s}=Or(e,t,n,r),a=Gt(o);a===void 0&&({typeNode:o,references:s}=Or(e,t,n,r,!1),a=Gt(o)??[]);let p=i?a.filter(m=>m.type!=="null"&&m.type!=="undefined"):a,l=st(p),c=$r(p),d=Jr(s,l);return{text:l,references:d,values:c}}function qt(e){Ua.writeNode(R.EmitHint.Unspecified,e,void 0,Qt);let t=Qt.getText();return Qt.clear(),t}var Ua=ot({removeComments:!0}),Qt=fe.createTextWriter(`
10
- `),Zt=R.TypeFormatFlags.NoTruncation|R.TypeFormatFlags.WriteArrayAsGenericType|R.TypeFormatFlags.SuppressAnyReturnType|R.TypeFormatFlags.MultilineObjectLiterals,Va=Zt&R.TypeFormatFlags.NodeBuilderFlagsMask,za=Va|R.NodeBuilderFlags.IgnoreErrors|R.NodeBuilderFlags.NoTruncation;function qa(e,t,n,r=!0){let i=new Map;Se(t,i,n,r);let o=t.flags&R.TypeFlags.Union?t.types.every(jr):jr(t),s=e.typeToTypeNode(t,void 0,za&(o?~R.TypeFormatFlags.MultilineObjectLiterals:-1));return i.forEach(Ga),s===void 0?(console.error("Failed to convert type to type node."),R.factory.createTypeReferenceNode(R.factory.createIdentifier("unknown"),void 0)):s}var jr=e=>e.flags&R.TypeFlags.Object?e.getProperties().length===1:!!(e.flags&R.TypeFlags.PossiblyFalsy);function Or(e,t,n,r,i=!0){let o=[],s=new Set;function a(l,c){let d=l.aliasSymbol??l.symbol;if(d===void 0)return;let m=c?l.aliasTypeArguments?.[0]?.symbol?.escapedName??"":d.name;if(m.startsWith("_")){let f=d.declarations?.[0];if(f?.kind===R.SyntaxKind.FunctionType){let h=f;if(h.parameters.forEach(y=>{if(y.type===void 0)return;let T=e.getTypeFromTypeNode(y.type);Se(T,new Map,a,!1)}),h.type!==void 0){let y=e.getTypeFromTypeNode(h.type);Se(y,new Map,a,!1)}}return}if(s.has(m))return;let u=c?{name:m,package:void 0,module:"index.js"}:Xa(d,m,n,r);o.push(u),s.add(m)}return{typeNode:qa(e,t,a,i),references:o}}function Se(e,t,n,r=!0){if(typeof e!="object"||e===null||!("checker"in e))return;let i=e;if(t.has(i))return;let o=(i.flags&R.TypeFlags.Object)!==0&&(i.aliasTypeArguments?.[0]?.objectFlags??0&R.ObjectFlags.Class)!==0&&i.aliasSymbol?.escapedName==="ToElement";n?.(i,o);let s=i.origin;if(o||!r)t.set(i,{origin:void 0,aliasSymbol:void 0,aliasTypeArguments:void 0}),Se(s,t,n,r);else{let a=i.aliasSymbol,p=i.aliasTypeArguments;s!==void 0&&(i.origin=void 0),a!==void 0&&(i.aliasSymbol=void 0),p!==void 0&&(i.aliasTypeArguments=void 0),t.set(i,{origin:s,aliasSymbol:a,aliasTypeArguments:p})}Object.entries(i).forEach(([a,p])=>{(a.includes("type")||a.includes("Type")||a==="constraint")&&a!=="resolvedBaseConstructorType"&&a!=="resolvedBaseTypes"&&a!=="typeParameters"&&a!=="typeParameter"&&(Array.isArray(p)?p.forEach(l=>Se(l,t,n,r)):Se(p,t,n,r))})}function Ga(e,t){e.origin!==void 0&&(t.origin=e.origin),e.aliasSymbol!==void 0&&(t.aliasSymbol=e.aliasSymbol),e.aliasTypeArguments!==void 0&&(t.aliasTypeArguments=e.aliasTypeArguments)}function Xa(e,t,n,r){let i=e?.declarations?.map(a=>a.getSourceFile())??[];if(i.length===0){if(t==="Array")return{name:"Array",package:"typescript",module:"lib/lib.es5.d.ts"};console.error(`@arcgis/lumina: Unable to resolve the declaration file name for type ${t} in ${Wa(n.fileName)}`)}if(i.length===0)return{name:t,package:Ka,module:void 0};let{packageName:o,moduleName:s}=Qa(i[0].fileName,r);return o?{name:t,package:o,module:s.length>0?s:void 0,viewUrl:o==="@arcgis/core"&&s==="interfaces.d.ts"?ep(e,i[0]):void 0}:{name:t,package:void 0,module:s}}function Qa(e,t){let n=e.split("/node_modules/");if(n.length>1){let s=n.at(-1);return en(s)}let i=e.split("/dist/");if(i.length>1){let s=i.slice(0,-1).join("/"),p=Ha(s).name,l=i.at(-1);return{packageName:p,moduleName:l}}return{packageName:void 0,moduleName:Yt.relative(t.root,Za(Ya(e,t)))}}function Ya(e,t){return ne(e,t.srcComponents)?Yt.join(t.dist,zt(e,t.src)):e.startsWith(t.src)?Yt.join(t.dist,e.slice(t.src.length)):e}var Za=e=>e.endsWith(".js")||e.endsWith(".d.ts")?e:`${e.endsWith(".ts")?e.slice(0,-3):e.endsWith(".tsx")?e.slice(0,-4):e}.d.ts`;function en(e){let t=e.split("/"),r=e[0].startsWith("@")?2:1,i=t.slice(0,r).join("/"),o=t.slice(r).join("/");return{packageName:i,moduleName:o}}var Wr=e=>e.includes("/node_modules/")||e.includes("/dist/");function ep(e,t){let n=e.declarations;if(n!==void 0)for(let r of n){let i=Br(r,t);if(i!==void 0)return i;if(!("members"in r))continue;let o=r.members;for(let s of o){let a=Br(s,t);if(a!==void 0)return a}}}function Br(e,t){let n=e.jsDoc?.[0]?.comment;if(Array.isArray(n))return _a(n,r=>{if(!R.isJSDocLinkLike(r))return;let i=r.getText(t);if(i.endsWith("Read more...}"))return i.split(" ")[1]?.split("#")[0]})}import{getCwd as Kr,path as _r,toSystemPathSeparators as tn}from"@arcgis/components-build-utils";function Hr(e){let t=[];for(let n of e.matchAll(tp)){let r=n.groups.name,i=n.groups.description.replaceAll(np," ").trim();t.push({name:r,description:i.endsWith("*")?i.slice(0,-1).trim():i})}return t.length===0?void 0:t}var tp=/@prop\s+(?<name>--[\w-]+)\s*:(?<description>[^@/]+)/gu,np=/\n\s+\*? ?/gu;var rp=["css","less","sass","scss","styl","stylus","pcss","postcss","sss"],at=new RegExp(`\\.(${rp.join("|")})(\\?|$)`,"u"),ip=/^import ["'](?<specifier>[^"']+)["'];$/gmu,op=()=>"throwError",Ur="@arcgis/lumina:loadLitCss",U="?layered",Oe="?global",Vr=e=>({name:Ur,enforce:"pre",configResolved(t){let n=t.plugins.find(({name:i})=>i==="vite:css-post");if(n===void 0)throw new Error("Unable to find the vite's built-in vite:css-post plugin");let r=n.transform;if(typeof r!="function")throw new Error("Expected vite:css-post to declare a transform() function");n.transform=async function(o,s){let a=s.endsWith(U);a&&(s=s.slice(0,-U.length));let p=s.endsWith(Oe);if(p&&(s=s.slice(0,-Oe.length)),!at.test(s)||s.includes("?"))return await r.call(this,o,s);let l=`${s}?inline`,c=await r.call(this,o,l),{code:d,...m}=typeof c=="string"?{code:c}:c??{};if(typeof d!="string"||!d.startsWith(zr)||!d.endsWith(qr))return console.warn(`${Ur} Expected vite:css-post to return a JS module with a string literal for ${tn(s)}.`),console.log(c),c;if(p)return e._globalCssString=Gr(d),{code:"",map:{mappings:""}};{let u=e.isFullApiExtraction?Hr(o):void 0;if(u!==void 0){e._cssDocs??=new Map,e._cssDocs.set(s,u);let f=e._cssImports.get(s);if(f!==void 0){for(let h of e.apiJsonComponents)if(f.has(h.tagName))if(h.cssProperties===void 0)h.cssProperties=Array.from(u);else{let y=new Set(h.cssProperties.map(T=>T.name));h.cssProperties=[...h.cssProperties,...u.filter(T=>!y.has(T.name))]}}}return{...m,code:lp(d,e.hmrEnabled,e.shouldMinify,a),map:{mappings:""}}}}},transform(t,n){if(!(n.endsWith(".js")||n.endsWith(".ts")||n.endsWith(".tsx")||e.isInStorybook&&n.endsWith(".mdx")))return;let i=0,o=Wr(n),s=!1,a=t.replaceAll(ip,(p,l)=>{if(!at.test(l)||l.includes("?"))return p;if(o){if((e.options.css?.sideEffectImportHandling??op)(l,n)==="drop")return s=!0,ur(p);{let m=tn(_r.relative(Kr(),n));throw new Error(`Found a side-effect CSS import \`${p}\` in "${m}". Such import is not allowed as it won't work with shadow DOM. This file appears to be external so such import may not be under your control. To ignore this import, please set the css.sideEffectImportHandling property in useLumina() plugin to a function that will return "drop" for this import to indicate that you wish to have this style import dropped. Then, you would have to import the dropped manually in your component like so: \`import { styles } from "example.css";\` and then add \`static override styles = styles;\` to your component`)}}else if(e.isInStorybook&&dp(n,e)){s=!0;let c=`storybookCss$${i}`;return i+=1,["import ",c," from ",p.slice(6),`
11
- `,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, ",c,".styleSheet];"].join("")}else{if(l.endsWith(Oe))return p;{let c=tn(_r.relative(Kr(),n));throw new Error(`Found a side-effect CSS import \`${p}\` in "${c}". Such import is not allowed as it won't work with shadow DOM. Please use \`import { styles } from "example.css";\` instead and then add \`static override styles = styles;\` to your component`)}}});return s?{code:a,map:null}:void 0}}),zr='export default "',qr='"',sp="import { css } from '@lit/reactive-element/css-tag.js';\nexport const styles = css`",ap="`;\nexport default styles;",pp=`
9
+ `),a=e.slice(o+1).trim().length===0,p=i?e.trimStart():e;return a?p.trimEnd():p}return e.trim().length===0?t:e}var ue=e=>wr(Er(e)),Ar=e=>!Ea.test(e),Ea=/^[^\s"'=<>`]+$/u,wa=/[&<>]/gu,Pa={"&":"&amp;","<":"&lt;",">":"&gt;"},it=e=>e.replace(wa,t=>Pa[t]);import R from"typescript";import{path as Yt,toSystemPathSeparators as Wa,retrievePackageJson as Ha}from"@arcgis/components-build-utils";import{isNotUndefined as Aa}from"@arcgis/components-utils";import{readdir as Da}from"node:fs/promises";import{path as Oe}from"@arcgis/components-build-utils";var Dr=async e=>Object.fromEntries((await e.componentFilesPromise).map(t=>[zt(t),t])),zt=(e,t=Oe.resolve("src"))=>Oe.relative(t,Oe.join(e,"..",Te.slice(0,-3))),be=async(e,t,n=t)=>await Da(n,{recursive:!0}).catch(r=>{if(String(r).includes("ENOENT"))return console.error(`@arcgis/lumina: Unable to find the ${n} directory (cwd: ${process.cwd()})`),[];throw r}).then(r=>{let i=r.map(o=>{if(!o.endsWith(".tsx"))return;let s=Oe.join(n,o);return ne(s,t)?s:void 0}).filter(Aa);return e.componentFiles=i,i});function ne(e,t){if(!e.startsWith(t)||!e.endsWith(".tsx"))return!1;let[n,r]=e.slice(0,-4).split(Oe.sep).slice(Fa);return n===r}var Fa=-2;import ka from"typescript";var Fr=5,kr=1,Ir=1,Nr=3,Lr=4,ot=ka;Ia(ot.createSourceMapGenerator);Na(ot.createTextWriter);La(ot.getNewLineCharacter);var fe=ot;function Ia(e){if(typeof e!="function")throw new Error("Failed to find ts.createSourceMapGenerator() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Fr)throw new Error(`ts.createSourceMapGenerator() signature changed. Expected ${Fr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function Na(e){if(typeof e!="function")throw new Error("Failed to find ts.createTextWriter() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==kr)throw new Error(`ts.createTextWriter() signature changed. Expected ${kr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function La(e){if(typeof e!="function")throw new Error("Failed to find ts.getNewLineCharacter() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Ir)throw new Error(`ts.getNewLineCharacter() signature changed. Expected ${Ir} argument. Lumina needs to be updated to support the new TypeScript version`)}function Ra(e){if(typeof e!="function")throw new Error("Failed to find ts.Printer.writeFile() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Nr)throw new Error(`ts.Printer.writeFile() signature changed. Expected ${Nr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function $a(e){if(typeof e!="function")throw new Error("Failed to find ts.Printer.writeNode() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Lr)throw new Error(`ts.Printer.writeNode() signature changed. Expected ${Lr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function st(e){let t=fe.createPrinter(e);return Ra(t.writeFile),$a(t.writeNode),t}import{globalPackageIdentifier as Ka}from"@arcgis/api-extractor";import{mappedFind as _a}from"@arcgis/components-utils";import Ma from"typescript";function Gt(e){let t=Ma.isUnionTypeNode(e)?e.types.map(qt):[qt(e)],n=new Set(t),r=n.delete("true"),i=n.delete("false");(r||i)&&n.add("boolean");let o=Array.from(n).sort();if(o.length>1&&(o=o.map(s=>s.includes("=>")?`(${s})`:s)),!(o.length>Ja))return o.map(ja)}var Ja=40,Rr=e=>e?.some(t=>t.type==="number"||t.type==="boolean"||t.type==="string"||t.type==="any")??!1,$r=e=>e.length===1&&e[0].type!=="string"&&e[0].type!=="number"&&e[0].type!=="boolean"&&e[0].type!=="any"?void 0:e,at=e=>e.map(Xt).join(" | "),Xt=e=>e.type==="string"&&e.value!==void 0?`"${e.value}"`:e.value??e.type;function ja(e){return e==="boolean"?{type:"boolean"}:Number.isNaN(Number.parseFloat(e))?e.startsWith('"')||e.startsWith("'")?{value:e.slice(1,-1),type:"string"}:{type:e}:{value:e,type:"number"}}import Oa from"typescript";var Mr=(e,t,n,r)=>{let i=e.typeScriptTypeChecker,o=Oa.isSetAccessor(t)?t.parameters[0]:t,s=i.getTypeAtLocation(o),a=!n;return ye(i,s,r,e.dir,a)};function Jr(e,t){if(e.length===0)return;let n=t.matchAll(Ba),r=[];for(let i of n){let o=e.find(s=>s.name===i[0]);o!==void 0&&r.push({...o,start:i.index,end:i.index+o.name.length})}return r.length===0?void 0:r}var Ba=/"[^"]+"|'[^"]+'|\w+/gu;function ye(e,t,n,r,i=!1){let{typeNode:o,references:s}=Or(e,t,n,r),a=Gt(o);a===void 0&&({typeNode:o,references:s}=Or(e,t,n,r,!1),a=Gt(o)??[]);let p=i?a.filter(m=>m.type!=="null"&&m.type!=="undefined"):a,l=at(p),c=$r(p),d=Jr(s,l);return{text:l,references:d,values:c}}function qt(e){Ua.writeNode(R.EmitHint.Unspecified,e,void 0,Qt);let t=Qt.getText();return Qt.clear(),t}var Ua=st({removeComments:!0}),Qt=fe.createTextWriter(`
10
+ `),Zt=R.TypeFormatFlags.NoTruncation|R.TypeFormatFlags.WriteArrayAsGenericType|R.TypeFormatFlags.SuppressAnyReturnType|R.TypeFormatFlags.MultilineObjectLiterals,Va=Zt&R.TypeFormatFlags.NodeBuilderFlagsMask,za=Va|R.NodeBuilderFlags.IgnoreErrors|R.NodeBuilderFlags.NoTruncation;function qa(e,t,n,r=!0){let i=new Map;Se(t,i,n,r);let o=t.flags&R.TypeFlags.Union?t.types.every(jr):jr(t),s=e.typeToTypeNode(t,void 0,za&(o?~R.TypeFormatFlags.MultilineObjectLiterals:-1));return i.forEach(Ga),s===void 0?(console.error("Failed to convert type to type node."),R.factory.createTypeReferenceNode(R.factory.createIdentifier("unknown"),void 0)):s}var jr=e=>e.flags&R.TypeFlags.Object?e.getProperties().length===1:!!(e.flags&R.TypeFlags.PossiblyFalsy);function Or(e,t,n,r,i=!0){let o=[],s=new Set;function a(l,c){let d=l.aliasSymbol??l.symbol;if(d===void 0)return;let m=c?l.aliasTypeArguments?.[0]?.symbol?.escapedName??"":d.name;if(m.startsWith("_")){let f=d.declarations?.[0];if(f?.kind===R.SyntaxKind.FunctionType){let h=f;if(h.parameters.forEach(y=>{if(y.type===void 0)return;let T=e.getTypeFromTypeNode(y.type);Se(T,new Map,a,!1)}),h.type!==void 0){let y=e.getTypeFromTypeNode(h.type);Se(y,new Map,a,!1)}}return}if(s.has(m))return;let u=c?{name:m,package:void 0,module:"index.js"}:Xa(d,m,n,r);o.push(u),s.add(m)}return{typeNode:qa(e,t,a,i),references:o}}function Se(e,t,n,r=!0){if(typeof e!="object"||e===null||!("checker"in e))return;let i=e;if(t.has(i))return;let o=(i.flags&R.TypeFlags.Object)!==0&&(i.aliasTypeArguments?.[0]?.objectFlags??0&R.ObjectFlags.Class)!==0&&i.aliasSymbol?.escapedName==="ToElement";n?.(i,o);let s=i.origin;if(o||!r)t.set(i,{origin:void 0,aliasSymbol:void 0,aliasTypeArguments:void 0}),Se(s,t,n,r);else{let a=i.aliasSymbol,p=i.aliasTypeArguments;s!==void 0&&(i.origin=void 0),a!==void 0&&(i.aliasSymbol=void 0),p!==void 0&&(i.aliasTypeArguments=void 0),t.set(i,{origin:s,aliasSymbol:a,aliasTypeArguments:p})}Object.entries(i).forEach(([a,p])=>{(a.includes("type")||a.includes("Type")||a==="constraint")&&a!=="resolvedBaseConstructorType"&&a!=="resolvedBaseTypes"&&a!=="typeParameters"&&a!=="typeParameter"&&(Array.isArray(p)?p.forEach(l=>Se(l,t,n,r)):Se(p,t,n,r))})}function Ga(e,t){e.origin!==void 0&&(t.origin=e.origin),e.aliasSymbol!==void 0&&(t.aliasSymbol=e.aliasSymbol),e.aliasTypeArguments!==void 0&&(t.aliasTypeArguments=e.aliasTypeArguments)}function Xa(e,t,n,r){let i=e?.declarations?.map(a=>a.getSourceFile())??[];if(i.length===0){if(t==="Array")return{name:"Array",package:"typescript",module:"lib/lib.es5.d.ts"};console.error(`@arcgis/lumina: Unable to resolve the declaration file name for type ${t} in ${Wa(n.fileName)}`)}if(i.length===0)return{name:t,package:Ka,module:void 0};let{packageName:o,moduleName:s}=Qa(i[0].fileName,r);return o?{name:t,package:o,module:s.length>0?s:void 0,viewUrl:o==="@arcgis/core"&&s==="interfaces.d.ts"?ep(e,i[0]):void 0}:{name:t,package:void 0,module:s}}function Qa(e,t){let n=e.split("/node_modules/");if(n.length>1){let s=n.at(-1);return en(s)}let i=e.split("/dist/");if(i.length>1){let s=i.slice(0,-1).join("/"),p=Ha(s).name,l=i.at(-1);return{packageName:p,moduleName:l}}return{packageName:void 0,moduleName:Yt.relative(t.root,Za(Ya(e,t)))}}function Ya(e,t){return ne(e,t.srcComponents)?Yt.join(t.dist,zt(e,t.src)):e.startsWith(t.src)?Yt.join(t.dist,e.slice(t.src.length)):e}var Za=e=>e.endsWith(".js")||e.endsWith(".d.ts")?e:`${e.endsWith(".ts")?e.slice(0,-3):e.endsWith(".tsx")?e.slice(0,-4):e}.d.ts`;function en(e){let t=e.split("/"),r=e[0].startsWith("@")?2:1,i=t.slice(0,r).join("/"),o=t.slice(r).join("/");return{packageName:i,moduleName:o}}var Wr=e=>e.includes("/node_modules/")||e.includes("/dist/");function ep(e,t){let n=e.declarations;if(n!==void 0)for(let r of n){let i=Br(r,t);if(i!==void 0)return i;if(!("members"in r))continue;let o=r.members;for(let s of o){let a=Br(s,t);if(a!==void 0)return a}}}function Br(e,t){let n=e.jsDoc?.[0]?.comment;if(Array.isArray(n))return _a(n,r=>{if(!R.isJSDocLinkLike(r))return;let i=r.getText(t);if(i.endsWith("Read more...}"))return i.split(" ")[1]?.split("#")[0]})}import{getCwd as Kr,path as _r,toSystemPathSeparators as tn}from"@arcgis/components-build-utils";function Hr(e){let t=[];for(let n of e.matchAll(tp)){let r=n.groups.name,i=n.groups.description.replaceAll(np," ").trim();t.push({name:r,description:i.endsWith("*")?i.slice(0,-1).trim():i})}return t.length===0?void 0:t}var tp=/@prop\s+(?<name>--[\w-]+)\s*:(?<description>[^@/]+)/gu,np=/\n\s+\*? ?/gu;var rp=["css","less","sass","scss","styl","stylus","pcss","postcss","sss"],ve=new RegExp(`\\.(${rp.join("|")})(\\?|$)`,"u"),ip=/^import ["'](?<specifier>[^"']+)["'];$/gmu,op=()=>"throwError",Ur="@arcgis/lumina:loadLitCss",B="?layered",Be="?global",Vr=e=>({name:Ur,enforce:"pre",configResolved(t){let n=t.plugins.find(({name:i})=>i==="vite:css-post");if(n===void 0)throw new Error("Unable to find the vite's built-in vite:css-post plugin");let r=n.transform;if(typeof r!="function")throw new Error("Expected vite:css-post to declare a transform() function");n.transform=async function(o,s){let a=s.endsWith(B);a&&(s=s.slice(0,-B.length));let p=s.endsWith(Be);if(p&&(s=s.slice(0,-Be.length)),!ve.test(s)||s.includes("?"))return await r.call(this,o,s);let l=`${s}?inline`,c=await r.call(this,o,l),{code:d,...m}=typeof c=="string"?{code:c}:c??{};if(typeof d!="string"||!d.startsWith(zr)||!d.endsWith(qr))return console.warn(`${Ur} Expected vite:css-post to return a JS module with a string literal for ${tn(s)}.`),console.log(c),c;if(p)return e._globalCssString=Gr(d),{code:"",map:{mappings:""}};{let u=e.isFullApiExtraction?Hr(o):void 0;if(u!==void 0){e._cssDocs??=new Map,e._cssDocs.set(s,u);let f=e._cssImports.get(s);if(f!==void 0){for(let h of e.apiJsonComponents)if(f.has(h.tagName))if(h.cssProperties===void 0)h.cssProperties=Array.from(u);else{let y=new Set(h.cssProperties.map(T=>T.name));h.cssProperties=[...h.cssProperties,...u.filter(T=>!y.has(T.name))]}}}return{...m,code:lp(d,e.hmrEnabled,e.shouldMinify,a),map:{mappings:""}}}}},transform(t,n){if(!(n.endsWith(".js")||n.endsWith(".ts")||n.endsWith(".tsx")||e.isInStorybook&&n.endsWith(".mdx")))return;let i=0,o=Wr(n),s=!1,a=t.replaceAll(ip,(p,l)=>{if(!ve.test(l)||l.includes("?"))return p;if(o){if((e.options.css?.sideEffectImportHandling??op)(l,n)==="drop")return s=!0,ur(p);{let m=tn(_r.relative(Kr(),n));throw new Error(`Found a side-effect CSS import \`${p}\` in "${m}". Such import is not allowed as it won't work with shadow DOM. This file appears to be external so such import may not be under your control. To ignore this import, please set the css.sideEffectImportHandling property in useLumina() plugin to a function that will return "drop" for this import to indicate that you wish to have this style import dropped. Then, you would have to import the dropped manually in your component like so: \`import { styles } from "example.css";\` and then add \`static override styles = styles;\` to your component`)}}else if(e.isInStorybook&&dp(n,e)){s=!0;let c=`storybookCss$${i}`;return i+=1,["import ",c," from ",p.slice(6),`
11
+ `,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, ",c,".styleSheet];"].join("")}else{if(l.endsWith(Be))return p;{let c=tn(_r.relative(Kr(),n));throw new Error(`Found a side-effect CSS import \`${p}\` in "${c}". Such import is not allowed as it won't work with shadow DOM. Please use \`import { styles } from "example.css";\` instead and then add \`static override styles = styles;\` to your component`)}}});return s?{code:a,map:null}:void 0}}),zr='export default "',qr='"',sp="import { css } from '@lit/reactive-element/css-tag.js';\nexport const styles = css`",ap="`;\nexport default styles;",pp=`
12
12
 
13
13
  if(import.meta.hot) {
14
14
  import.meta.hot.data.styles ??= styles;
@@ -24,8 +24,8 @@ if(import.meta.hot) {
24
24
  `}}`:s;return`${sp}${a}${ap}${t?pp:""}`}var cp=e=>e.replaceAll("\\n",`
25
25
  `),dp=(e,t)=>e.endsWith(".mdx")||e.includes(".stories.")||e.includes(".story.")||e.startsWith(`${t.dir.root}stories/`);import{camelToKebab as fp}from"@arcgis/components-utils";import{lazyMetaSubItemJoiner as yp,lazyMetaItemJoiner as on,lazyMetaGroupJoiner as gp}from"@arcgis/lumina/config";import{path as hp}from"@arcgis/components-build-utils";function Xr(e){return`import("@storybook/web-components").then(({ setCustomElementsManifest }) => {
26
26
  setCustomElementsManifest(${mp(e)});
27
- });`}var mp=e=>`JSON.parse(\`${JSON.stringify(JSON.stringify(e)).slice(1,-1).replaceAll('\\"','"').replaceAll("`","\\`")}\`)`;function Qr(e){up(e);let t=e.options.css?.globalStylesPath;if(t===void 0)return"";let n=q(e.dir.src,t);return e.viteCommand==="serve"||e.isInStorybook?[`import globalStyles from "${n}${U}";`,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, globalStyles.styleSheet!];",rn("",e)].join(`
28
- `):`import "${n}${Oe}";`}var nn="hydrated";function up(e){e._globalHydratedCssString=[":not([",e.options.css?.hydratedAttribute??nn,"]):is(",e.apiJsonComponents.map(t=>t.tagName).join(","),"){visibility:hidden}"].join("")}function rn(e,t){return["const globalCss = new CSSStyleSheet();",`globalCss.replaceSync("@layer{${`${t._globalHydratedCssString}${t.shouldMinify?"":"\\n\\n"}${e||""}`}}");`,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, globalCss];"].join(`
27
+ });`}var mp=e=>`JSON.parse(\`${JSON.stringify(JSON.stringify(e)).slice(1,-1).replaceAll('\\"','"').replaceAll("`","\\`")}\`)`;function Qr(e){up(e);let t=e.options.css?.globalStylesPath;if(t===void 0)return"";let n=q(e.dir.src,t);return e.viteCommand==="serve"||e.isInStorybook?[`import globalStyles from "${n}${B}";`,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, globalStyles.styleSheet!];",rn("",e)].join(`
28
+ `):`import "${n}${Be}";`}var nn="hydrated";function up(e){e._globalHydratedCssString=[":not([",e.options.css?.hydratedAttribute??nn,"]):is(",e.apiJsonComponents.map(t=>t.tagName).join(","),"){visibility:hidden}"].join("")}function rn(e,t){return["const globalCss = new CSSStyleSheet();",`globalCss.replaceSync("@layer{${`${t._globalHydratedCssString}${t.shouldMinify?"":"\\n\\n"}${e||""}`}}");`,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, globalCss];"].join(`
29
29
  `)}var Yr=e=>`${e._globalHydratedCssString}${e.shouldMinify?"":`
30
30
 
31
31
  `}${e._globalCssString?JSON.parse(`"${e._globalCssString}"`):""}`;function Zr(e){let t=[],n=[];for(let i of e.privateApiJson.modules){t.push(i.path);for(let o of i.declarations)"customElement"in o&&n.push(Cp(o,e,i.path))}return[e.viteCommand==="build"&&e.options.build?.ssr?.stencilCompatibility?.enabled===!0?'import "@lit-labs/ssr-client/lit-element-hydrate-support.js";':"",'import { runtime } from "./runtime";','import { makeDefineCustomElements } from "@arcgis/lumina";',Qr(e),e.hmrEnabled?Tp:"","",e.isInStorybook?Xr(e.apiJson):"","","export const defineCustomElements = makeDefineCustomElements(runtime, {",n.join(`,
@@ -41,34 +41,34 @@ ${e.map(t=>` "/${t}",`).join(`
41
41
  ], handleHmrUpdate);
42
42
  }`;import Jp from"typescript";import D from"typescript";import{ApiExtractor as kp,getMemberName as si,hasIgnoredModifier as Ip,setDefaultFromInitializer as ai}from"@arcgis/api-extractor";import{camelToKebab as Np,kebabToPascal as Lp,uncapitalize as Rp}from"@arcgis/components-utils";import{mappedFind as Sp}from"@arcgis/components-utils";import pt from"typescript";function lt(e,t){let n=wp(t.getJsDocTags()),r=pt.displayPartsToString(t.getDocumentationComment(e));r=r.replaceAll(ti,ni);{let i=n.at(-1),o=i?.text?.indexOf(vp);o!==void 0&&o!==-1&&(r+=i.text.slice(o),i.text=i.text?.slice(0,o))}return{docsTags:n,description:r||void 0}}var vp=`
43
43
 
44
- [Read more...]`,Ep="internal",ti=/\{@link(?:code|plain)? ([^}]+)\}/gu;function ni(e,t){let n=t.indexOf(" ");n===-1&&(n=t.length);let r=t.slice(0,n);return`[${t.slice(n+1)||r}](${r})`}var wp=e=>e.map(t=>({name:t.name,text:t.text?.map(n=>n.text).join("").replaceAll(ti,ni)})),pn=({modifiers:e=[]},t)=>Sp(e,n=>pt.isDecorator(n)&&pt.isCallExpression(n.expression)&&pt.isIdentifier(n.expression.expression)&&n.expression.expression.text===t?n.expression:void 0);function re(e,t,n,r){let i=t.getSymbolAtLocation(e);if(r??=i===void 0?void 0:lt(t,i),r!==void 0){for(let o of r.docsTags){let{name:s,text:a}=o;s==="deprecated"?n.deprecated=a||!0:s==="summary"?n.summary=a:s==="default"?n.default=a:s==="readonly"?n.readonly=!0:s==="notPublic"?(console.warn("The @notPublic JSDoc tag is deprecated. Use @internal or @private instead."),n.docsTags??=[],n.docsTags.push({name:Ep,text:a})):s==="private"?n.privacy="private":s==="csspart"?n.cssParts.push(an(a)):s==="cssstate"?n.cssStates.push(an(a)):s==="slot"?n.slots.push(an(a)):(n.docsTags??=[],n.docsTags.push(o))}n.description=r.description}}function an(e){if(e===void 0)return{name:""};let t=e.indexOf(" - ");if(t===-1)return e.startsWith("- ")?{name:"",description:e.slice(2)}:{name:e};let n,r=e.slice(0,t);if(r.startsWith("[")&&r.endsWith("]")){let o=r.slice(1,-1),s=o.indexOf("=");r=o.slice(0,s),n=o.slice(s+1)}let i=e.slice(t+3);return{name:r,default:n,description:i}}import ln from"typescript";import{toSystemPathSeparators as Pp}from"@arcgis/components-build-utils";var Ap="@arcgis/lumina:addMethodMetadata";function ri(e,t,n,r,i){let o=n.getSignatureFromDeclaration(e);if(o===void 0)return;for(let l of e.parameters){if(!ln.isIdentifier(l.name)){console.warn(`${Ap}: Object binding patterns are not yet supported in the docs. Found ${l.name?.getText(r)} in ${e.name.getText(r)} in ${Pp(r.fileName)}`);return}let c=n.getTypeAtLocation(l),d=ye(n,c,r,i);t.parameters.push({name:l.name.text,default:l.initializer?.getText(r),optional:l.questionToken?!0:void 0,rest:l.dotDotDotToken?!0:void 0,type:d})}t.parameters.length===0&&(t.parameters=void 0);let s=n.getReturnTypeOfSignature(o),a=ye(n,s,r,i),p=n.signatureToString(o,e,Zt,ln.SignatureKind.Call);re(e.name,n,t),t.return={type:a},t.signature=p.replace(" =>",":")}var ii=e=>e.modifiers?.some?.(t=>t.kind===ln.SyntaxKind.AsyncKeyword)??!1;import ie from"typescript";function oi(e,t,n,r){let i=n.typeScriptTypeChecker,s=i.getTypeAtLocation(e).getProperty("emit");if(s?.valueDeclaration===void 0)return;let a=s.valueDeclaration,p=i.getTypeOfSymbolAtLocation(s,a);for(let l of p.getCallSignatures()){let c=l.getReturnType();if(c.symbol?.name!=="CustomEvent")continue;let d=i.getTypeArguments(c)?.at(0);if(d===void 0)continue;let m=ye(i,d,r,n.dir),u={name:t,summary:void 0,description:void 0,type:m,inheritedFrom:void 0,deprecated:void 0,docsTags:void 0,bubbles:void 0,cancelable:void 0,composed:void 0,privacy:void 0};return re(e.name,i,u),Dp(e,u,r),u.privacy===void 0?u:void 0}}var ct="createEvent";function Dp(e,t,n){if(!e.initializer||!ie.isCallExpression(e.initializer))return;let r=e.initializer;if(!ie.isIdentifier(r.expression)||r.expression.text!==ct)return;let i=r.arguments[0];if(i!==void 0){if(!ie.isObjectLiteralExpression(i))throw new Error(`Expected object literal expression as first argument of ${ct}(). Found ${t.name} = createEvent(${i.getText(n)})`);if(i.properties.some(o=>ie.isSpreadAssignment(o)))throw new Error(`Unexpected spread syntax in ${ct}() argument. ${ct}() arguments must be statically parsable at compile time`);for(let o of i.properties)!ie.isPropertyAssignment(o)||!ie.isIdentifier(o.name)||(o.name.text==="cancelable"&&!ge(o.initializer,n)&&(t.cancelable=!1),o.name.text==="bubbles"&&!ge(o.initializer,n)&&(t.bubbles=!1),o.name.text==="composed"&&!ge(o.initializer,n)&&(t.composed=!1))}}function ge(e,t){if(e.kind===ie.SyntaxKind.TrueKeyword)return!0;if(e.kind===ie.SyntaxKind.FalseKeyword)return!1;throw new Error(`Expected boolean literal. Instead found ${e?.getText(t)}`)}var ve="@arcgis/lumina-compiler";import{path as $p}from"@arcgis/components-build-utils";var We=class extends kp{constructor(n,r){super({isFullApiExtraction:n.isFullApiExtraction,cwd:n.dir.root});this.context=n;this.isPathOnly=r;this.localCssImports=void 0;this.localDeclaredComponents=void 0;this.componentHtmlTypes=new Map;this.apiComponent=void 0;this.pairedSetter=void 0;this._resolvedInheritance=new Map}extract(n){let r=super.extract(n);return r.compiler.name=ve,r}extractModules(n){let r=super.extractModules(n);for(let i of r)for(let o of i.declarations)"customElement"in o&&(this.context.isFullApiExtraction&&pi(o,this.context,this.componentHtmlTypes),this.inheritMembers(o,r),this.context.isFullApiExtraction&&(o.members.sort(cn),o.attributes?.sort(cn),o.events?.sort(cn)));return r}extractDeclarations(n){return this.localDeclaredComponents=new Map(Ze(n.text)?.map(([r,i])=>[i,r])??[]),this.localDeclaredComponents.size===0?[]:super.extractDeclarations(n)}extractDeclaration(n){if(this.context.isFullApiExtraction&&D.isImportDeclaration(n)){this.collectCssImports(n);return}if(D.isClassDeclaration(n))return this.extractComponentDeclaration(n)}collectCssImports(n){let r=n.moduleSpecifier.text;if(!(r.startsWith(".")&&at.test(r)))return;let o=$p.join(this.file.fileName,"..",r);this.localCssImports??=new Set,this.localCssImports.add(o)}extractComponentDeclaration(n){if(n.name===void 0)return;let r=n.name.text,i=this.localDeclaredComponents.get(r);if(i===void 0)return;let o={kind:"class",customElement:!0,name:r,tagName:i,deprecated:void 0,summary:void 0,description:void 0,demos:void 0,docsTags:void 0,superclass:Be,encapsulation:void 0,pascalCaseName:Lp(i),privacy:void 0,importPath:"",members:[],attributes:[],events:[],slots:[],cssParts:[],cssProperties:[],cssStates:[]},s=n.heritageClauses?.find(a=>a.token===D.SyntaxKind.ExtendsKeyword)?.types[0]?.expression;if(s===void 0)throw new Error(`Lumina component must extend LitElement class. Found ${r} in ${this.apiModule.path} that does not extend any class.`);if(D.isIdentifier(s)){let a=s.text;a!==Be.name&&(o.superclass={name:a})}if(this.apiComponent=o,o.members=this.extractComponentMembers(n),this.context.isFullApiExtraction){o.attributes=this.inferAttributes(o.members),this.componentHtmlTypes.set(r,`HTML${o.pascalCaseName}Element`);let a=er(i,this.context,this.apiModule.path);if(o.importPath=`components/${a}`,this.localCssImports!==void 0){for(let m of this.localCssImports){let u=this.context._cssImports.get(m);u===void 0?this.context._cssImports.set(m,new Set([o.tagName])):u.add(o.tagName);let f=this.context._cssDocs?.get(m);f!==void 0&&(o.cssProperties=f)}this.localCssImports=void 0}re(n.name,this.context.typeScriptTypeChecker,o);let p=Rp(o.name);o.members.push({kind:"method",name:"componentOnReady",return:{type:{text:"Promise<void>",references:[{module:"lib/lib.es5.d.ts",name:"Promise",package:"typescript",start:0,end:7}]}},description:"Create a promise that resolves once component is fully loaded.",signature:"(): Promise<void>",async:!0,inheritedFrom:Be,docsTags:[{name:"example",text:`const ${p} = document.createElement("${o.tagName}");
44
+ [Read more...]`,Ep="internal",ti=/\{@link(?:code|plain)? ([^}]+)\}/gu;function ni(e,t){let n=t.indexOf(" ");n===-1&&(n=t.length);let r=t.slice(0,n);return`[${t.slice(n+1)||r}](${r})`}var wp=e=>e.map(t=>({name:t.name,text:t.text?.map(n=>n.text).join("").replaceAll(ti,ni)})),pn=({modifiers:e=[]},t)=>Sp(e,n=>pt.isDecorator(n)&&pt.isCallExpression(n.expression)&&pt.isIdentifier(n.expression.expression)&&n.expression.expression.text===t?n.expression:void 0);function re(e,t,n,r){let i=t.getSymbolAtLocation(e);if(r??=i===void 0?void 0:lt(t,i),r!==void 0){for(let o of r.docsTags){let{name:s,text:a}=o;s==="deprecated"?n.deprecated=a||!0:s==="summary"?n.summary=a:s==="default"?n.default=a:s==="readonly"?n.readonly=!0:s==="notPublic"?(console.warn("The @notPublic JSDoc tag is deprecated. Use @internal or @private instead."),n.docsTags??=[],n.docsTags.push({name:Ep,text:a})):s==="private"?n.privacy="private":s==="csspart"?n.cssParts.push(an(a)):s==="cssstate"?n.cssStates.push(an(a)):s==="slot"?n.slots.push(an(a)):(n.docsTags??=[],n.docsTags.push(o))}n.description=r.description}}function an(e){if(e===void 0)return{name:""};let t=e.indexOf(" - ");if(t===-1)return e.startsWith("- ")?{name:"",description:e.slice(2)}:{name:e};let n,r=e.slice(0,t);if(r.startsWith("[")&&r.endsWith("]")){let o=r.slice(1,-1),s=o.indexOf("=");r=o.slice(0,s),n=o.slice(s+1)}let i=e.slice(t+3);return{name:r,default:n,description:i}}import ln from"typescript";import{toSystemPathSeparators as Pp}from"@arcgis/components-build-utils";var Ap="@arcgis/lumina:addMethodMetadata";function ri(e,t,n,r,i){let o=n.getSignatureFromDeclaration(e);if(o===void 0)return;for(let l of e.parameters){if(!ln.isIdentifier(l.name)){console.warn(`${Ap}: Object binding patterns are not yet supported in the docs. Found ${l.name?.getText(r)} in ${e.name.getText(r)} in ${Pp(r.fileName)}`);return}let c=n.getTypeAtLocation(l),d=ye(n,c,r,i);t.parameters.push({name:l.name.text,default:l.initializer?.getText(r),optional:l.questionToken?!0:void 0,rest:l.dotDotDotToken?!0:void 0,type:d})}t.parameters.length===0&&(t.parameters=void 0);let s=n.getReturnTypeOfSignature(o),a=ye(n,s,r,i),p=n.signatureToString(o,e,Zt,ln.SignatureKind.Call);re(e.name,n,t),t.return={type:a},t.signature=p.replace(" =>",":")}var ii=e=>e.modifiers?.some?.(t=>t.kind===ln.SyntaxKind.AsyncKeyword)??!1;import ie from"typescript";function oi(e,t,n,r){let i=n.typeScriptTypeChecker,s=i.getTypeAtLocation(e).getProperty("emit");if(s?.valueDeclaration===void 0)return;let a=s.valueDeclaration,p=i.getTypeOfSymbolAtLocation(s,a);for(let l of p.getCallSignatures()){let c=l.getReturnType();if(c.symbol?.name!=="CustomEvent")continue;let d=i.getTypeArguments(c)?.at(0);if(d===void 0)continue;let m=ye(i,d,r,n.dir),u={name:t,summary:void 0,description:void 0,type:m,inheritedFrom:void 0,deprecated:void 0,docsTags:void 0,bubbles:void 0,cancelable:void 0,composed:void 0,privacy:void 0};return re(e.name,i,u),Dp(e,u,r),u.privacy===void 0?u:void 0}}var ct="createEvent";function Dp(e,t,n){if(!e.initializer||!ie.isCallExpression(e.initializer))return;let r=e.initializer;if(!ie.isIdentifier(r.expression)||r.expression.text!==ct)return;let i=r.arguments[0];if(i!==void 0){if(!ie.isObjectLiteralExpression(i))throw new Error(`Expected object literal expression as first argument of ${ct}(). Found ${t.name} = createEvent(${i.getText(n)})`);if(i.properties.some(o=>ie.isSpreadAssignment(o)))throw new Error(`Unexpected spread syntax in ${ct}() argument. ${ct}() arguments must be statically parsable at compile time`);for(let o of i.properties)!ie.isPropertyAssignment(o)||!ie.isIdentifier(o.name)||(o.name.text==="cancelable"&&!ge(o.initializer,n)&&(t.cancelable=!1),o.name.text==="bubbles"&&!ge(o.initializer,n)&&(t.bubbles=!1),o.name.text==="composed"&&!ge(o.initializer,n)&&(t.composed=!1))}}function ge(e,t){if(e.kind===ie.SyntaxKind.TrueKeyword)return!0;if(e.kind===ie.SyntaxKind.FalseKeyword)return!1;throw new Error(`Expected boolean literal. Instead found ${e?.getText(t)}`)}var Ee="@arcgis/lumina-compiler";import{path as $p}from"@arcgis/components-build-utils";var He=class extends kp{constructor(n,r){super({isFullApiExtraction:n.isFullApiExtraction,cwd:n.dir.root});this.context=n;this.isPathOnly=r;this.localCssImports=void 0;this.localDeclaredComponents=void 0;this.componentHtmlTypes=new Map;this.apiComponent=void 0;this.pairedSetter=void 0;this._resolvedInheritance=new Map}extract(n){let r=super.extract(n);return r.compiler.name=Ee,r}extractModules(n){let r=super.extractModules(n);for(let i of r)for(let o of i.declarations)"customElement"in o&&(this.context.isFullApiExtraction&&pi(o,this.context,this.componentHtmlTypes),this.inheritMembers(o,r),this.context.isFullApiExtraction&&(o.members.sort(cn),o.attributes?.sort(cn),o.events?.sort(cn)));return r}extractDeclarations(n){return this.localDeclaredComponents=new Map(et(n.text)?.map(([r,i])=>[i,r])??[]),this.localDeclaredComponents.size===0?[]:super.extractDeclarations(n)}extractDeclaration(n){if(this.context.isFullApiExtraction&&D.isImportDeclaration(n)){this.collectCssImports(n);return}if(D.isClassDeclaration(n))return this.extractComponentDeclaration(n)}collectCssImports(n){let r=n.moduleSpecifier.text;if(!(r.startsWith(".")&&ve.test(r)))return;let o=$p.join(this.file.fileName,"..",r);this.localCssImports??=new Set,this.localCssImports.add(o)}extractComponentDeclaration(n){if(n.name===void 0)return;let r=n.name.text,i=this.localDeclaredComponents.get(r);if(i===void 0)return;let o={kind:"class",customElement:!0,name:r,tagName:i,deprecated:void 0,summary:void 0,description:void 0,demos:void 0,docsTags:void 0,superclass:We,encapsulation:void 0,pascalCaseName:Lp(i),privacy:void 0,importPath:"",members:[],attributes:[],events:[],slots:[],cssParts:[],cssProperties:[],cssStates:[]},s=n.heritageClauses?.find(a=>a.token===D.SyntaxKind.ExtendsKeyword)?.types[0]?.expression;if(s===void 0)throw new Error(`Lumina component must extend LitElement class. Found ${r} in ${this.apiModule.path} that does not extend any class.`);if(D.isIdentifier(s)){let a=s.text;a!==We.name&&(o.superclass={name:a})}if(this.apiComponent=o,o.members=this.extractComponentMembers(n),this.context.isFullApiExtraction){o.attributes=this.inferAttributes(o.members),this.componentHtmlTypes.set(r,`HTML${o.pascalCaseName}Element`);let a=er(i,this.context,this.apiModule.path);if(o.importPath=`components/${a}`,this.localCssImports!==void 0){for(let m of this.localCssImports){let u=this.context._cssImports.get(m);u===void 0?this.context._cssImports.set(m,new Set([o.tagName])):u.add(o.tagName);let f=this.context._cssDocs?.get(m);f!==void 0&&(o.cssProperties=f)}this.localCssImports=void 0}re(n.name,this.context.typeScriptTypeChecker,o);let p=Rp(o.name);o.members.push({kind:"method",name:"componentOnReady",return:{type:{text:"Promise<void>",references:[{module:"lib/lib.es5.d.ts",name:"Promise",package:"typescript",start:0,end:7}]}},description:"Create a promise that resolves once component is fully loaded.",signature:"(): Promise<void>",async:!0,inheritedFrom:We,docsTags:[{name:"example",text:`const ${p} = document.createElement("${o.tagName}");
45
45
  document.body.append(${p});
46
46
  ${p}.componentOnReady().then(() => {
47
47
  console.log("${o.tagName} is ready to go!");
48
- });`}]});let l=[],c=this.context.options.documentation?.getComponentDocsUrl,d=this.context.options.documentation?.getComponentDemoUrl;typeof c=="function"&&l.push({description:"Docs",url:c(i,r)}),typeof d=="function"&&l.push({description:"Demo",url:d(i,r)}),l.length>0&&(o.demos=l),o.cssProperties.length===0&&(o.cssProperties=void 0),o.cssParts.length===0&&(o.cssParts=void 0),o.slots.length===0&&(o.slots=void 0),o.attributes.length===0&&(o.attributes=void 0),o.events.length===0&&(o.events=void 0),o.cssStates.length===0&&(o.cssStates=void 0)}return o}extractComponentMembers(n){let r=[],i=n.members.length,o,s=n.members[0],a,p=s?.name!==void 0?si(s.name):void 0;for(let l=0;l<i;l++){if(o=s,s=n.members[l+1],a=p,p=s?.name!==void 0?si(s.name):void 0,this.pairedSetter!==void 0){this.pairedSetter=void 0;continue}s!==void 0&&a===p&&(D.isGetAccessor(s)?(this.pairedSetter=o,o=s):D.isSetAccessor(s)&&(this.pairedSetter=s));let c=this.extractComponentMember(o,a);c!==void 0&&r.push(c)}return r}extractComponentMember(n,r){if(Ip(n)||r===void 0){this.context.isFullApiExtraction&&D.isPropertyDeclaration(n)&&D.isIdentifier(n.name)&&n.name.text==="shadowRootOptions"&&n.initializer!==void 0&&D.isIdentifier(n.initializer)&&n.initializer.text==="noShadowRoot"&&(this.apiComponent.encapsulation="none");return}return D.isPropertyDeclaration(n)||D.isGetAccessor(n)||D.isSetAccessor(n)?this.extractComponentField(n,r):D.isMethodDeclaration(n)?this.extractComponentMethod(n,r):void 0}extractComponentField(n,r){let i=this.findPropertyOptions(n);this.pairedSetter!==void 0&&(i??=this.findPropertyOptions(this.pairedSetter));let o=D.isPropertyDeclaration(n);if(i===void 0){if(o&&this.context.isFullApiExtraction){let c=this.extractComponentEvent(n,r);c!==void 0&&this.apiComponent.events.push(c)}return}let s,a=!1,p=!1;for(let c of i)!D.isPropertyAssignment(c)||!D.isIdentifier(c.name)||(c.name.text==="attribute"&&(D.isStringLiteral(c.initializer)?s=c.initializer.text:s=ge(c.initializer,this.file)),c.name.text==="reflect"&&ge(c.initializer,this.file)&&(a=!0),c.name.text==="readOnly"&&ge(c.initializer,this.file)&&(p=!0),(c.name.text==="type"||c.name.text==="converter")&&(s??=!0));let l={kind:"field",name:r,summary:void 0,description:void 0,type:{text:""},default:void 0,deprecated:void 0,readonly:p||(o?n.modifiers?.some(c=>c.kind===D.SyntaxKind.ReadonlyKeyword):D.isGetAccessor(n)&&this.pairedSetter===void 0)?!0:void 0,attribute:s===!1?void 0:typeof s=="string"?s:Np(r),reflects:a||void 0,docsTags:void 0,getterTypeDiffers:void 0,docsOnlyReadonly:void 0,inheritedFrom:void 0,privacy:void 0};return this.context.isFullApiExtraction&&(this.extractComponentFieldDetails(n,l),(s===void 0&&(l.type.values===void 0||!Rr(l.type.values))||l.readonly&&!l.reflects)&&(l.attribute=void 0)),l}extractComponentEvent(n,r){return oi(n,r,this.context,this.file)}extractComponentFieldDetails(n,r){let i=r.readonly===!0,o=this.context.typeScriptTypeChecker,s=o.getSymbolAtLocation(n.name),a=s===void 0?void 0:lt(o,s),p=new Set(a?.docsTags.map(h=>h.name)??[]);re(n.name,this.context.typeScriptTypeChecker,r,a);let l=!i&&r.readonly===!0;if(this.context.viteCommand==="build"){let T=(D.isSetAccessor(n)?n.parameters[0]?.type:n.type)?.getText(this.file)?.match(Mp)??[];for(let E of T){let b=this.context._typeDependencies.get(this.apiComponent.tagName);b===void 0?this.context._typeDependencies.set(this.apiComponent.tagName,new Set([E])):b.add(E)}}let c=this.pairedSetter??n,d=r.docsTags?.some(h=>h.name==="required")??!1;r.type=Mr(this.context,c,d,this.file);let m=r.default;ai(n,r,this.file);let u=m===void 0&&r.default==="true";if("initializer"in n&&n.initializer!==void 0&&(!r.default||!r.description)){let h=n.initializer,y=o.getSymbolAtLocation(h),T=y!==void 0&&(y.flags??0)&D.SymbolFlags.Alias?o.getAliasedSymbol(y):y,E=T?.getDeclarations()??[];if(T!==void 0){let b=lt(o,T);if(b.docsTags.length>0){b.docsTags=b.docsTags.filter(j=>!p.has(j.name));let $=r.description;re(n.name,o,r,b),b.docsTags.forEach(j=>{p.add(j.name)}),r.description=$??r.description}else r.description||=b.description}E.forEach(b=>{if(!("initializer"in b))return;let $=b;l||=$.modifiers?.some(j=>j.kind===D.SyntaxKind.ReadonlyKeyword)??!1,ai($,r,$.getSourceFile())})}if(l&&(r.readonly=!0,i||(r.docsOnlyReadonly=!0)),r.type.values&&r.type.values.length>0&&r.type.values?.every(h=>h.type==="boolean")&&(r.default?u&&this.context.viteCommand==="build"&&r.deprecated===void 0&&this.context.logLintError("booleanMustDefaultFalse",this.file.fileName,`Boolean properties must default to "false". Found default value "true" in ${this.apiComponent.name}.${r.name}`):r.default="false"),this.pairedSetter!==void 0&&!r.readonly){let h=this.pairedSetter.parameters.at(0)?.type?.getText(this.file),y=n.type?.getText(this.file);h!==y&&y!==void 0&&h!==void 0&&(r.getterTypeDiffers=!0)}}findPropertyOptions(n){let r=pn(n,"property");return r===void 0?void 0:r.arguments?.find(D.isObjectLiteralExpression)?.properties??[]}extractComponentMethod(n,r){if(pn(n,"method")===void 0)return;let i={kind:"method",name:r,summary:void 0,description:void 0,deprecated:void 0,parameters:[],return:void 0,inheritedFrom:void 0,docsTags:void 0,signature:"",async:ii(n)?!0:void 0,privacy:void 0};if(this.context.isFullApiExtraction){let o=this.context.typeScriptTypeChecker;ri(n,i,o,this.file,this.context.dir)}return i}inferAttributes(n){let r=[];for(let i of n){if(i.kind!=="field"||i.attribute===void 0||i.privacy!==void 0)continue;let o=i.type.values?.filter(s=>s.type==="number"||s.type==="string"||s.type==="boolean");r.push({name:i.attribute,summary:i.summary,description:i.description,inheritedFrom:i.inheritedFrom,type:o===void 0||o.length===0?i.type:{text:st(o),references:void 0,values:o},default:i.default,fieldName:i.name,deprecated:i.deprecated})}return r}inferExport(n){if("customElement"in n)return this.inferCustomElementExport(n)}inferCustomElementExport(n){return{kind:"custom-element-definition",name:n.tagName,declaration:{name:n.name,module:this.apiModule.path}}}inheritMembers(n,r,i,o,s){let a=n.superclass,p=a.name;if(p===void 0||p===Be.name)return;let l=this._resolvedInheritance.get(p)??this.resolveInheritance(p,r)??(this.isPathOnly?this.resolveInheritance(p,this.context.privateApiJson.modules):void 0);if(l!==void 0){i??=new Set(n.members.map(c=>c.name));for(let c of l.members)i.has(c.name)||(n.members.push({...c,inheritedFrom:a}),i.add(c.name));if(l.attributes!==void 0){n.attributes??=[],o??=new Set(n.attributes.map(c=>c.name));for(let c of l.attributes)o.has(c.name)||(n.attributes.push({...c,inheritedFrom:a}),o.add(c.name))}if(l.events!==void 0){n.events??=[],s=new Set(n.events.map(c=>c.name));for(let c of l.events)s.has(c.name)||(n.events.push({...c,inheritedFrom:a}),s.add(c.name))}l.superclass.name!==Be.name&&this.inheritMembers(n,r,i,o,s),a.module=l.importPath}}resolveInheritance(n,r){for(let i of r)for(let o of i.declarations)if("customElement"in o&&n===o.name)return this._resolvedInheritance.set(n,o),o;this._resolvedInheritance.set(n,void 0)}},Be={name:"LitElement",package:"@arcgis/lumina"},cn=(e,t)=>e.name.localeCompare(t.name),Mp=/(?<=this.)[\w$]+/gu;import{readFile as jp}from"node:fs/promises";async function li(e,t){t||(e.componentFilesPromise=be(e,e.dir.srcComponents));let n=await e.componentFilesPromise,r=await Hp(e,n);e._componentPathMapping={},e._localDefinedComponents=void 0;let i=di(r,e,!1);e.privateApiJson=i;let[o,s]=mi(i);return e.apiJsonComponents=s,e.apiJson=o,i}function ci(e,t,n){let r=e.getSourceFile(t,n),i=di([r],e,!0),o=i.modules[0];{let m=mi(i)[0].modules[0],u=e.apiJson.modules.findIndex(y=>y.path===m.path),f=e.apiJson.modules[u],h=Array.from(e.apiJson.modules);h.splice(u,1,m),e.apiJson={...e.apiJson,modules:h},e.apiJsonComponents=e.apiJsonComponents.filter(y=>!f.declarations.includes(y));for(let y of m.declarations)"customElement"in y&&e.apiJsonComponents.push(y)}let s=e.privateApiJson.modules.findIndex(m=>m.path===o.path),a=e.privateApiJson.modules[s],p=Array.from(e.privateApiJson.modules);p.splice(s,1,o),e.privateApiJson={...e.privateApiJson,modules:p};let l=!1,c=a.declarations.filter(m=>"customElement"in m),d=[];for(let m of o.declarations)if("customElement"in m){let f=c.find(h=>h.tagName===m.tagName)===void 0;l||=f,d.push(m)}return l||=d.length!==c.length,l?void 0:d}function di(e,t,n){let r=t.options.apiJson?.Extractor??We,o=new r(t,n).extract(e);return t.options.apiJson?.afterCreate?.(o,n),o}function mi(e){let t={...e,modules:[]},n=[];for(let r of e.modules){let i={...r,declarations:[]};for(let o of r.declarations)if("customElement"in o&&o.privacy===void 0){let s={...o,members:o.members.filter(a=>a.privacy===void 0)};i.declarations.push(s),n.push(s)}i.declarations.length>0&&t.modules.push(i)}return[t,n]}function pi(e,t,n){e.members.forEach(r=>{if(r.kind==="field")dt(r.type,n,t);else if(dt(r.return?.type,n,t),r.parameters!==void 0)for(let i of r.parameters)dt(i.type,n,t)}),e.events?.forEach(r=>{dt(r.type,n,t)})}function dt(e,t,n){e!==void 0&&(e.references?.forEach(r=>Op(r,t,n)),e.text=e.text.replaceAll(Wp,(r,i)=>t.get(i)??r),e.values?.forEach(Bp,t))}function Op(e,t,n){e.package===void 0&&(e.module?.startsWith("dist/components/")===!0?e.module=ee(e.module,"dist/components/",n):e.module==="index.js"&&e.name&&(e.name=t.get(e.name)??e.name))}function Bp(e){e.type.startsWith("ToElement<")&&(e.type=this.get(e.type.slice(10,-1))??e.type)}var Wp=/ToElement<(\w+)>/gu;async function Hp(e,t){if(e.viteCommand==="serve"&&(Object.hasOwn(e,"typeScriptHost")||(e.typeScriptHost=Jp.createCompilerHost(e.typeScriptConfig,!1))),e.typeScriptProgram!==void 0){let n=e.typeScriptProgram.getSourceFiles(),r=new Set(t);return n.filter(i=>r.has(i.fileName))}else return await Promise.all(t.map(async n=>{let r=await jp(n,"utf8");return e.getSourceFile(n,r)}))}import{readFile as Ec,writeFile as wc}from"node:fs/promises";import{path as kt,toSystemPathSeparators as Pc}from"@arcgis/components-build-utils";import{isNotUndefined as Fo}from"@arcgis/components-utils";import{isNotUndefined as Kp}from"@arcgis/components-utils";import{existsAsync as ui}from"@arcgis/components-build-utils";import{readFile as dn,readdir as _p}from"node:fs/promises";import{asyncRetrievePackageJson as Up,fetchPackageLocation as Vp,retrievePackageJson as zp,path as mt}from"@arcgis/components-build-utils";async function ut(e){return oe??=qp(e),await oe}function yi(){if(mn===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return mn}function ft(){if(un===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return un}async function qp(e){let t=zp(e),n=t.dependencies??{},r=t.peerDependencies??{},o=(await Promise.all([...Object.keys(n),...Object.keys(r)].filter(s=>!Gp.has(s)).flatMap(async s=>await fn(s,e)))).filter(Kp);return mn??=o,un=Object.fromEntries(o.flatMap(s=>Object.entries(s.components))),o}var Gp=new Set(["@arcgis/arcade-languageservice","@arcgis/components-controllers","@arcgis/components-build-utils","@arcgis/components-utils","@arcgis/core","@arcgis/core-adapter","@arcgis/languages-api-utils","@arcgis/languages-sdk-specs","@arcgis/lumina","@commander-js/extra-typings","@custom-elements-manifest/analyzer","@esri/calcite-ui-icons","@floating-ui/dom","@lit-labs/ssr","@lit-labs/ssr-client","@lit/react","@types/color","@types/sortablejs","color","composed-offset-position","custom-elements-manifest","dayjs","focus-trap","interactjs","lit","lodash-es","monaco-editor","sortablejs","storybook","timezone-groups","type-fest","tslib","typescript","vscode-languageserver-textdocument","vscode-languageserver-types"]),mn,un,oe;async function fn(e,t){let n=await Vp(e,t),r=await Up(n),i="exports"in r,o=tl.bind(void 0,i),s="@stencil/core"in(r.dependencies??{})||"@stencil/core"in(r.devDependencies??{}),a=mt.join(n,"dist/esm/loader.js");if(s?await ui(a):!1){let u=await dn(a,"utf8"),f=Xp(u,"bootstrapLazy("),h=u.indexOf(", options",f),y=u.slice(f,h),T=y.startsWith('JSON.parse("')?y.slice(12,-2).replaceAll('\\"','"'):y;try{let E=JSON.parse(T),b=Zp(E,{packageName:e,getImportPath:o});return{packageName:e,type:"stencil",components:b}}catch(E){console.warn(`@arcgis/lumina: Failed to parse dist/esm/loader.js for ${e}.
49
- Error: ${String(E)}`)}}let l=fi(r.customElements);if(l!=null){let u=mt.join(n,l),f=JSON.parse(await dn(u,"utf-8")),h=Qp(f),y=yn(f,{packageName:e,getImportPath:o});return{type:h?"@arcgis/lumina":"unknown",packageName:e,components:y}}let c=fi(r["web-types"]);if(c!=null){let u=mt.join(n,c),f=JSON.parse(await dn(u,"utf-8")),h=Yp(f,{packageName:e,getImportPath:o,packageRoot:n});return{type:"unknown",packageName:e,components:h}}let d=mt.join(n,"dist/components");if(await ui(d)){let u=await el(d,{packageName:e,getImportPath:o});return{type:"unknown",packageName:e,components:u}}}var fi=e=>Array.isArray(e)?e[0]:e;function Xp(e,t){let n=e.indexOf(t);return n===-1?-1:n+t.length}function yn(e,t){let n={};for(let r of e.modules)if(r.declarations!==void 0)for(let i of r.declarations){if(!("tagName"in i))continue;let o=i,s=o,a=o.tagName;n[a]={packageName:t.packageName,moduleName:s.importPath??t.getImportPath(a),propToAttribute:Object.fromEntries((o.attributes??[]).map(p=>[p.fieldName??p.name,p.name]))}}return n}var Qp=e=>e.compiler?.name===ve,Yp=(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 Zp=(e,t)=>Object.fromEntries(e.flatMap(([n,r])=>r.map(([i,o,s={}])=>[o,{packageName:t.packageName,moduleName:t.getImportPath(o),propToAttribute:Object.fromEntries(Object.entries(s).filter(([a,[p]])=>p&15).map(([a,[p,l=a]])=>[a,l]))}]))),el=async(e,t)=>Object.fromEntries((await _p(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:{}}]})),tl=(e,t)=>e?`components/${t}`:`dist/components/${t}.js`;import{asyncRetrievePackageJson as hc,fetchPackageLocation as Cc}from"@arcgis/components-build-utils";var nl=e=>e.startsWith("/")?e:`/${e}`,Ee=(e,t)=>`${e}@fs${nl(t)}`;import{retrievePackageJson as rl}from"@arcgis/components-build-utils";function G(e=rl(),t=!1,n=e.name==="@esri/calcite-components"){let r=e.version.includes("next");if(e.name==="@esri/calcite-components"&&r)return`https://cdn.jsdelivr.net/npm/@esri/calcite-components@${e.version}/dist/calcite/`;let i=t||r?"jsdev.arcgis.com":"js.arcgis.com",o=il(e.name),s=ol(e.version,n);return["https://",i,o.length>0?"/":"",o,"/",s,"/"].join("")}var il=e=>e.split("/").pop()??e;function ol(e,t){if(/\d+\.\d+\.\d+-(?:.*)$/u.test(e))return"next";let r=/^(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)/u,i=e.match(r);if(i?.groups!==void 0){let{major:o,minor:s,patch:a}=i.groups,p=`${o}.${s}`;return t?`${p}.${a}`:p}return"next"}import{isNotUndefined as uc}from"@arcgis/components-utils";import{readdir as fc}from"node:fs/promises";import{path as Mn}from"@arcgis/components-build-utils";import{existsAsync as wo}from"@arcgis/components-build-utils";import{asyncRetrievePackageJson as yc,fetchPackageLocation as gc}from"@arcgis/components-build-utils";import{build as oc}from"esbuild";import{findPath as Yl,path as yo,toSystemPathSeparators as Zl}from"@arcgis/components-build-utils";import{Deferred as ec,identity as tc}from"@arcgis/components-utils";import H from"typescript";import Xl from"typescript";import jl from"typescript";import gn from"typescript";var sl=["keyed","ref","repeat","live"],se="staticHtml",X="staticSvg",Q="html",ae="svg",hn=Symbol("maybe HTML namespace or maybe SVG"),Cn="css",xn="mathml",gi=[Cn,Q,xn,se,X,ae],hi=new Set(gi),al=["safeClassMap","safeStyleMap"],pl="nothing",Ci=[...sl,...gi,...al,pl],we=e=>gn.isJsxElement(e)||gn.isJsxSelfClosingElement(e)||gn.isJsxFragment(e);import x from"typescript";import S from"typescript";var xi="Fragment",yt="DynamicHtmlTag",gt="DynamicSvgTag",he=Symbol("dynamic html tag name"),He=Symbol("dynamic svg tag name"),Ti=!0,ht=new Set(["class","itemProp","itemScope","itemType","itemId","itemRef","about","datatype","inlist","property","resource","typeof","vocab"]),Ct=new Set(["width","height","href","hreflang","form","download","rowSpan","colSpan","viewBox","src","exportParts","hreflang","media"]),Ke={button:new Set(["popoverTarget"]),input:new Set(["list","capture"]),iframe:new Set(["sandbox"]),link:new Set(["sizes"]),meta:new Set(["charset"]),math:new Set(["dir","displaystyle","scriptlevel"]),menu:new Set(["label","type"])},B={common:{reflected:{hidden:"hidden",inert:"inert",draggable:"draggable",contentEditable:"contenteditable",popover:"popover",autofocus:"autofocus",role:"role",ariaAtomic:"aria-atomic",ariaAutoComplete:"aria-autocomplete",ariaBusy:"aria-busy",ariaBrailleLabel:"aria-braillelabel",ariaBrailleRoleDescription:"aria-brailleroledescription",ariaChecked:"aria-checked",ariaColCount:"aria-colcount",ariaColIndex:"aria-colindex",ariaColSpan:"aria-colspan",ariaCurrent:"aria-current",ariaDescription:"aria-description",ariaDisabled:"aria-disabled",ariaExpanded:"aria-expanded",ariaHasPopup:"aria-haspopup",ariaHidden:"aria-hidden",ariaInvalid:"aria-invalid",ariaKeyShortcuts:"aria-keyshortcuts",ariaLabel:"aria-label",ariaLevel:"aria-level",ariaLive:"aria-live",ariaModal:"aria-modal",ariaMultiLine:"aria-multiline",ariaMultiSelectable:"aria-multiselectable",ariaOrientation:"aria-orientation",ariaPlaceholder:"aria-placeholder",ariaPosInSet:"aria-posinset",ariaPressed:"aria-pressed",ariaReadOnly:"aria-readonly",ariaRelevant:"aria-relevant",ariaRequired:"aria-required",ariaRoleDescription:"aria-roledescription",ariaRowCount:"aria-rowcount",ariaRowIndex:"aria-rowindex",ariaRowSpan:"aria-rowspan",ariaSelected:"aria-selected",ariaSetSize:"aria-setsize",ariaSort:"aria-sort",ariaValueMax:"aria-valuemax",ariaValueMin:"aria-valuemin",ariaValueNow:"aria-valuenow",ariaValueText:"aria-valuetext",ariaColIndexText:"aria-colindextext",ariaRowIndexText:"aria-rowindextext",ariaVirtualContent:"aria-virtualcontent"},stringifiedReflected:{title:"title",lang:"lang",translate:"translate",dir:"dir",accessKey:"accesskey",spellcheck:"spellcheck",autocapitalize:"autocapitalize",enterKeyHint:"enterkeyhint",inputMode:"inputmode",virtualKeyboardPolicy:"virtualkeyboardpolicy",tabIndex:"tabindex",writingSuggestions:"writingsuggestions",focusgroup:"focusgroup",id:"id",className:"class",slot:"slot",elementTiming:"elementtiming"},stringifiedNonReflected:{innerText:"",nonce:"",innerHTML:""}},perElement:{a:{stringifiedReflected:{target:"target",download:"download",ping:"ping",rel:"rel",hreflang:"hreflang",type:"type",referrerPolicy:"referrerpolicy",coords:"coords",charset:"charset",name:"name",rev:"rev",shape:"shape",href:"href",interestAction:"interestaction",hrefTranslate:"hreftranslate",attributionSrc:"attributionsrc"},stringifiedNonReflected:{text:""}},area:{reflected:{noHref:"nohref"},stringifiedReflected:{alt:"alt",coords:"coords",download:"download",shape:"shape",target:"target",ping:"ping",rel:"rel",referrerPolicy:"referrerpolicy",href:"href",interestAction:"interestaction"}},audio:{reflected:{crossOrigin:"crossorigin",autoplay:"autoplay",loop:"loop",controls:"controls",defaultMuted:"muted",disableRemotePlayback:"disableremoteplayback"},stringifiedReflected:{src:"src",preload:"preload"}},base:{stringifiedReflected:{href:"href",target:"target"}},blockquote:{stringifiedReflected:{cite:"cite"}},body:{stringifiedReflected:{text:"text",link:"link",vLink:"vlink",aLink:"alink",bgColor:"bgcolor",background:"background"}},br:{stringifiedReflected:{clear:"clear"}},button:{reflected:{disabled:"disabled",formNoValidate:"formnovalidate"},stringifiedReflected:{formAction:"formaction",formEnctype:"formenctype",formMethod:"formmethod",formTarget:"formtarget",name:"name",type:"type",value:"value",popoverTargetAction:"popovertargetaction",command:"command",interestAction:"interestaction"}},canvas:{stringifiedReflected:{width:"width",height:"height"}},caption:{stringifiedReflected:{align:"align"}},col:{stringifiedReflected:{span:"span",align:"align",ch:"char",chOff:"charoff",vAlign:"valign",width:"width"}},colgroup:{stringifiedReflected:{span:"span",align:"align",ch:"char",chOff:"charoff",vAlign:"valign",width:"width"}},data:{stringifiedReflected:{value:"value"}},del:{stringifiedReflected:{cite:"cite",dateTime:"datetime"}},details:{reflected:{open:"open"},stringifiedReflected:{name:"name"}},dialog:{reflected:{open:"open"},stringifiedNonReflected:{returnValue:""}},div:{stringifiedReflected:{align:"align"}},dl:{reflected:{compact:"compact"}},embed:{stringifiedReflected:{src:"src",type:"type",width:"width",height:"height",align:"align",name:"name"}},fieldset:{reflected:{disabled:"disabled"},stringifiedReflected:{name:"name"}},form:{reflected:{noValidate:"novalidate"},stringifiedReflected:{acceptCharset:"accept-charset",action:"action",autocomplete:"autocomplete",enctype:"enctype",encoding:"enctype",method:"method",name:"name",target:"target",rel:"rel"}},h1:{stringifiedReflected:{align:"align"}},h2:{stringifiedReflected:{align:"align"}},h3:{stringifiedReflected:{align:"align"}},h4:{stringifiedReflected:{align:"align"}},h5:{stringifiedReflected:{align:"align"}},h6:{stringifiedReflected:{align:"align"}},hr:{reflected:{noShade:"noshade"},stringifiedReflected:{align:"align",color:"color",size:"size",width:"width"}},html:{stringifiedReflected:{version:"version"}},iframe:{reflected:{allowFullscreen:"allowfullscreen",credentialless:"credentialless",allowPaymentRequest:"allowpaymentrequest",browsingTopics:"browsingtopics",adAuctionHeaders:"adauctionheaders",sharedStorageWritable:"sharedstoragewritable"},stringifiedReflected:{src:"src",srcdoc:"srcdoc",name:"name",width:"width",height:"height",referrerPolicy:"referrerpolicy",csp:"csp",allow:"allow",loading:"loading",align:"align",scrolling:"scrolling",frameBorder:"frameborder",longDesc:"longdesc",marginHeight:"marginheight",marginWidth:"marginwidth",policy:"policy",privateToken:"privatetoken"}},img:{reflected:{crossOrigin:"crossorigin",isMap:"ismap",width:"width",height:"height",hspace:"hspace",vspace:"vspace",sharedStorageWritable:"sharedstoragewritable"},stringifiedReflected:{alt:"alt",src:"src",srcset:"srcset",sizes:"sizes",useMap:"usemap",referrerPolicy:"referrerpolicy",decoding:"decoding",fetchPriority:"fetchpriority",loading:"loading",name:"name",lowsrc:"lowsrc",align:"align",longDesc:"longdesc",border:"border",attributionSrc:"attributionsrc"}},input:{reflected:{defaultChecked:"checked",disabled:"disabled",formNoValidate:"formnovalidate",height:"height",multiple:"multiple",readOnly:"readonly",required:"required",size:"size",width:"width",webkitdirectory:"webkitdirectory",incremental:"incremental"},stringifiedReflected:{accept:"accept",alt:"alt",autocomplete:"autocomplete",dirName:"dirname",formAction:"formaction",formEnctype:"formenctype",formMethod:"formmethod",formTarget:"formtarget",max:"max",maxLength:"maxlength",min:"min",minLength:"minlength",name:"name",pattern:"pattern",placeholder:"placeholder",src:"src",step:"step",type:"type",defaultValue:"value",align:"align",useMap:"usemap",popoverTargetAction:"popovertargetaction",command:"command",interestAction:"interestaction"},stringifiedNonReflected:{value:""}},ins:{stringifiedReflected:{cite:"cite",dateTime:"datetime"}},label:{stringifiedReflected:{htmlFor:"for"}},legend:{stringifiedReflected:{align:"align"}},li:{reflected:{value:"value"},stringifiedReflected:{type:"type"}},link:{reflected:{disabled:"disabled",crossOrigin:"crossorigin"},stringifiedReflected:{href:"href",rel:"rel",media:"media",hreflang:"hreflang",type:"type",as:"as",referrerPolicy:"referrerpolicy",fetchPriority:"fetchpriority",imageSrcset:"imagesrcset",imageSizes:"imagesizes",charset:"charset",rev:"rev",target:"target",integrity:"integrity"}},map:{stringifiedReflected:{name:"name"}},menu:{reflected:{compact:"compact"}},meta:{stringifiedReflected:{name:"name",httpEquiv:"http-equiv",content:"content",media:"media",scheme:"scheme"}},meter:{reflected:{value:"value",min:"min",max:"max",low:"low",high:"high",optimum:"optimum"}},object:{reflected:{declare:"declare",hspace:"hspace",vspace:"vspace"},stringifiedReflected:{data:"data",type:"type",name:"name",useMap:"usemap",width:"width",height:"height",align:"align",archive:"archive",code:"code",standby:"standby",codeBase:"codebase",codeType:"codetype",border:"border"}},ol:{reflected:{reversed:"reversed",compact:"compact"},stringifiedReflected:{start:"start",type:"type"}},optgroup:{reflected:{disabled:"disabled"},stringifiedReflected:{label:"label"}},option:{reflected:{disabled:"disabled",defaultSelected:"selected"},stringifiedReflected:{label:"label",value:"value"},stringifiedNonReflected:{text:""}},output:{stringifiedReflected:{name:"name"},stringifiedNonReflected:{defaultValue:"",value:""}},p:{stringifiedReflected:{align:"align"}},pre:{reflected:{width:"width"}},progress:{reflected:{value:"value",max:"max"}},q:{stringifiedReflected:{cite:"cite"}},script:{reflected:{noModule:"nomodule",async:"async",defer:"defer",crossOrigin:"crossorigin",referrerPolicy:"referrerpolicy"},stringifiedReflected:{src:"src",type:"type",charset:"charset",fetchPriority:"fetchpriority",event:"event",htmlFor:"for",integrity:"integrity",attributionSrc:"attributionsrc"},stringifiedNonReflected:{text:""}},select:{reflected:{disabled:"disabled",multiple:"multiple",required:"required",size:"size"},stringifiedReflected:{autocomplete:"autocomplete",name:"name"}},slot:{stringifiedReflected:{name:"name"}},source:{reflected:{width:"width",height:"height"},stringifiedReflected:{src:"src",type:"type",srcset:"srcset",sizes:"sizes",media:"media"}},style:{stringifiedReflected:{media:"media",type:"type"}},table:{stringifiedReflected:{align:"align",border:"border",frame:"frame",rules:"rules",summary:"summary",width:"width",bgColor:"bgcolor",cellPadding:"cellpadding",cellSpacing:"cellspacing"}},tbody:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},td:{reflected:{noWrap:"nowrap"},stringifiedReflected:{colSpan:"colspan",rowSpan:"rowspan",headers:"headers",align:"align",axis:"axis",height:"height",width:"width",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor",abbr:"abbr",scope:"scope"}},template:{reflected:{shadowRootDelegatesFocus:"shadowrootdelegatesfocus",shadowRootClonable:"shadowrootclonable",shadowRootSerializable:"shadowrootserializable",parseparts:"parseparts"},stringifiedReflected:{shadowRootMode:"shadowrootmode"}},textarea:{reflected:{cols:"cols",disabled:"disabled",readOnly:"readonly",required:"required",rows:"rows"},stringifiedReflected:{autocomplete:"autocomplete",dirName:"dirname",maxLength:"maxlength",minLength:"minlength",name:"name",placeholder:"placeholder",wrap:"wrap"},stringifiedNonReflected:{defaultValue:"",value:""}},tfoot:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},th:{reflected:{noWrap:"nowrap"},stringifiedReflected:{colSpan:"colspan",rowSpan:"rowspan",headers:"headers",align:"align",axis:"axis",height:"height",width:"width",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor",abbr:"abbr",scope:"scope"}},thead:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},time:{stringifiedReflected:{dateTime:"datetime"}},title:{stringifiedNonReflected:{text:""}},tr:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor"}},track:{reflected:{default:"default"},stringifiedReflected:{kind:"kind",src:"src",srclang:"srclang",label:"label"}},ul:{reflected:{compact:"compact"},stringifiedReflected:{type:"type"}},video:{reflected:{width:"width",height:"height",playsInline:"playsinline",disablePictureInPicture:"disablepictureinpicture",crossOrigin:"crossorigin",autoplay:"autoplay",loop:"loop",controls:"controls",defaultMuted:"muted",disableRemotePlayback:"disableremoteplayback"},stringifiedReflected:{poster:"poster",src:"src",preload:"preload"}}}};bi(B.common);Object.values(B.perElement).forEach(bi);function bi(e){e?.reflected!==void 0&&(e.reflected=Object.assign(Object.create(null),e.reflected)),e?.stringifiedReflected!==void 0&&(e.stringifiedReflected=Object.assign(Object.create(null),e.stringifiedReflected)),e?.stringifiedNonReflected!==void 0&&(e.stringifiedNonReflected=Object.assign(Object.create(null),e.stringifiedNonReflected))}var Tn=new Set(["itemScope"]),xt=new Set(["abort","animationCancel","animationEnd","animationIteration","animationStart","auxClick","beforeInput","blur","canPlay","canPlayThrough","cancel","change","click","close","compositionEnd","compositionStart","compositionUpdate","contextMenu","copy","cueChange","cut","dblClick","drag","dragEnd","dragEnter","dragLeave","dragOver","dragStart","drop","durationChange","emptied","encrypted","error","focus","focusIn","focusOut","formData","fullscreenChange","fullscreenError","gotPointerCapture","input","invalid","keyDown","keyUp","load","loadStart","loadedData","loadedMetadata","lostPointerCapture","mouseDown","mouseEnter","mouseLeave","mouseMove","mouseOut","mouseOver","mouseUp","paste","pause","play","playing","pointerCancel","pointerDown","pointerEnter","pointerLeave","pointerMove","pointerOut","pointerOver","pointerUp","progress","rateChange","reset","resize","scroll","scrollEnd","securityPolicyViolation","seeked","seeking","select","selectStart","slotChange","stalled","submit","suspend","timeUpdate","toggle","touchCancel","touchEnd","touchMove","touchStart","transitionCancel","transitionEnd","transitionRun","transitionStart","volumeChange","waiting","wheel"]),Si=new Set(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),Pe=new Set(["animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","switch","symbol","text","textPath","tspan","use","view"]),vi=new Set(["title","svg","a","script","style"]),Ae=new Set(["annotation-xml","annotation","maction","menclose","merror","mfenced","mfrac","mi","mmultiscripts","mn","mo","mover","mpadded","mphantom","mprescripts","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msubsup","msup","mtable","mtd","mtext","mtr","munder","munderover","semantics"]),Tt=new Set(["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"]);import{mappedFind as Ei,uncapitalize as wi}from"@arcgis/components-utils";import g from"typescript";function bn(e,t,n){if(De(e))return e;{n===void 0&&t.neededImports.add("nothing");let r=t.importRenames.nothing;return g.factory.createParenthesizedExpression(g.factory.createBinaryExpression(g.factory.createParenthesizedExpression(e),g.factory.createToken(g.SyntaxKind.QuestionQuestionToken),typeof n=="string"?g.factory.createStringLiteral(n):g.factory.createIdentifier(r)))}}function De(e){return typeof e=="string"||ll.has(e.kind)||g.isConditionalExpression(e)&&De(e.whenTrue)&&De(e.whenFalse)||g.isBinaryExpression(e)&&(cl.has(e.operatorToken.kind)||De(e.left)&&De(e.right))||(g.isParenthesizedExpression(e)||g.isSatisfiesExpression(e)||g.isAsExpression(e))&&De(e.expression)||g.isTaggedTemplateExpression(e)&&g.isIdentifier(e.tag)&&hi.has(e.tag.text)}var ll=new Set([g.SyntaxKind.NumericLiteral,g.SyntaxKind.BigIntLiteral,g.SyntaxKind.StringLiteral,g.SyntaxKind.RegularExpressionLiteral,g.SyntaxKind.NoSubstitutionTemplateLiteral,g.SyntaxKind.FalseKeyword,g.SyntaxKind.TrueKeyword,g.SyntaxKind.ArrayLiteralExpression,g.SyntaxKind.ObjectLiteralExpression,g.SyntaxKind.FunctionExpression,g.SyntaxKind.ArrowFunction,g.SyntaxKind.TypeOfExpression,g.SyntaxKind.PrefixUnaryExpression,g.SyntaxKind.PostfixUnaryExpression,g.SyntaxKind.TemplateExpression,g.SyntaxKind.ClassExpression,g.SyntaxKind.NonNullExpression]),cl=new Set([g.SyntaxKind.PlusEqualsToken,g.SyntaxKind.MinusEqualsToken,g.SyntaxKind.AsteriskAsteriskEqualsToken,g.SyntaxKind.AsteriskEqualsToken,g.SyntaxKind.SlashEqualsToken,g.SyntaxKind.PercentEqualsToken,g.SyntaxKind.AmpersandEqualsToken,g.SyntaxKind.BarEqualsToken,g.SyntaxKind.CaretEqualsToken,g.SyntaxKind.LessThanLessThanEqualsToken,g.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken,g.SyntaxKind.GreaterThanGreaterThanEqualsToken,g.SyntaxKind.AmpersandToken,g.SyntaxKind.BarToken,g.SyntaxKind.CaretToken,g.SyntaxKind.EqualsEqualsToken,g.SyntaxKind.EqualsEqualsEqualsToken,g.SyntaxKind.ExclamationEqualsEqualsToken,g.SyntaxKind.ExclamationEqualsToken,g.SyntaxKind.LessThanToken,g.SyntaxKind.LessThanEqualsToken,g.SyntaxKind.GreaterThanToken,g.SyntaxKind.GreaterThanEqualsToken,g.SyntaxKind.InstanceOfKeyword,g.SyntaxKind.InKeyword,g.SyntaxKind.LessThanLessThanToken,g.SyntaxKind.GreaterThanGreaterThanToken,g.SyntaxKind.GreaterThanGreaterThanGreaterThanToken,g.SyntaxKind.PlusToken,g.SyntaxKind.MinusToken,g.SyntaxKind.AsteriskToken,g.SyntaxKind.SlashToken,g.SyntaxKind.PercentToken,g.SyntaxKind.AsteriskAsteriskToken]);var Di={property(e,t,n,r){let i=dl(r,n,e),o=i?.type==="stringifiedReflected",s=i?.type==="reflected"||o;if(s){let m=vn(t);if(m===!0)return[i.name];if(m===!1)return[]}let a=t===void 0?["=",S.factory.createToken(S.SyntaxKind.TrueKeyword)]:bt(e,t,s),p=a[0]!=="=";if(s&&p)return[i.name,...a];let[l,c]=a,d=i?.type==="stringifiedNonReflected";if(o||d){let m=bn(c,e,d?"":void 0),f=n==="value"&&(r==="input"||r==="textarea"||r===he)?ul(m,e):m;if(f!==c)return[d?`.${n}`:i.name,l,f]}return[`.${n}`,...a]},attribute(e,t,n){let r=t===void 0||vn(t);if(r===!0)return[n];if(r===!1)return[];let i=bt(e,t,!0),s=i[0]!=="="?i:[i[0],bn(i[1],e)];return[n,...s]},booleanAttribute(e,t,n){let r=t===void 0||vn(t);return r===!0?[n]:r===!1?[]:[`?${n}`,...bt(e,t,!1)]},event(e,t,n){if(t===void 0||!S.isJsxExpression(t)||t.expression===void 0)throw new Error(`Event prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);let r=n.slice(2),i=wi(r);return[`@${xt.has(i)?r.toLowerCase():Ti?wi(r):r}=`,...St(e,t,void 0)]},directives(e,t){if(t===void 0||!S.isJsxExpression(t))throw new Error(`Directives prop must be an expression. Found ${String(t?.getText(e.sourceFile))}`);if(t.expression===void 0||!S.isArrayLiteralExpression(t.expression))throw new Error(`Directives prop must be an array rather than a variable or ternary expression. Still, the following are allowed: directives={[directiveA, condition ? a : b, c()]}. Found ${String(t.expression?.getText(e.sourceFile))}`);return t.expression.elements.flatMap(i=>{if(S.isSpreadElement(i))throw new Error(`Directives prop cannot contain a spread argument - it needs to be statically analyzable. Still, the following are allowed: directives={[directiveA, condition ? a : b, c()]}. Found ${String(t.expression?.getText(e.sourceFile))}`);return V(e,void 0,i)})},ref(e,t){e.neededImports.add("ref");let n=e.importRenames.ref;if(t===void 0||!S.isJsxExpression(t)||t.expression===void 0)throw new Error(`ref prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);return[S.factory.createCallExpression(S.factory.createIdentifier(n),void 0,[V(e,void 0,t.expression)])]},class:Ai,style:Ai,key:(e,t)=>[_e(t,e.sourceFile)]};function dl(e,t,n){if(typeof e=="string"){let o=(n.externalComponents[e]??n.localComponents[e])?.propToAttribute?.[t];if(o!==void 0)return{name:o,type:"reflected"}}let r=Sn(B.common,t);if(r!==void 0)return r;if(typeof e=="string"){let i=Sn(B.perElement[e],t);if(i!==void 0)return i}else{let i=Object.values(B.perElement).map(s=>Sn(s,t)),o=Ei(i,s=>s?.type==="stringifiedNonReflected"?s:void 0)??Ei(i,s=>s?.type==="stringifiedReflected"?s:void 0);if(o!==void 0)return o}}function Sn(e,t){let n=e?.reflected?.[t];if(n!==void 0)return{name:n,type:"reflected"};let r=e?.stringifiedReflected?.[t];if(r!==void 0)return{name:r,type:"stringifiedReflected"};let i=e?.stringifiedNonReflected?.[t];if(i!==void 0)return{name:i,type:"stringifiedNonReflected"}}function _e(e,t){if(e!==void 0&&S.isJsxExpression(e)&&e.expression!==void 0)return e.expression;if(e!==void 0&&S.isStringLiteral(e))return e;throw new Error(`key prop value must be an expression. Found ${String(e?.getText(t))}`)}function vn(e){if(e===void 0)return!0;if(S.isJsxExpression(e)){if(e.expression?.kind===S.SyntaxKind.TrueKeyword||e.expression===void 0)return!0;if(e.expression?.kind===S.SyntaxKind.FalseKeyword)return!1}}function bt(e,t,n=!1){if(we(t))throw new Error(`Invalid JSX syntax detected or there is a bug in Lumina. Found ${t.getText(e.sourceFile)}. Expected JSX attribute value to be wrapped in { }`);if(S.isStringLiteral(t))return Pi(t,n);if(S.isJsxExpression(t)&&t.expression){if(S.isStringLiteral(t.expression))return Pi(t.expression,n);if(n){if(S.isNumericLiteral(t.expression))return[`=${t.expression.text}`];if(S.isPrefixUnaryExpression(t.expression)&&S.isNumericLiteral(t.expression.operand))return[`=${t.expression.getText(e.sourceFile)}`]}}return["=",...St(e,t,void 0)]}function Pi(e,t){if(!t)return["=",e];let n=e.text;if(n.length===0)return[];let r=rt(n);if(Ar(r)){let i=r.replaceAll('"',"&#34;");if(i.length>r.length){let o=r.replaceAll("'","&#39;");if(o.length<i.length)return[`='${o}'`]}return[`="${i}"`]}else return[`=${r}`]}function Ai(e,t,n){if(t!==void 0&&S.isStringLiteral(t))return[`${n}="${t.text}"`];if(t===void 0||!S.isJsxExpression(t)||t.expression===void 0)throw new Error(`${n} prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);let r=t.expression;if(ml(r)){let o=n==="class"?"safeClassMap":"safeStyleMap";e.neededImports.add(o);let s=e.importRenames[o],a=S.factory.createCallExpression(S.factory.createIdentifier(s),void 0,[V(e,void 0,r)]);return[`${n}=`,a]}else return[n,...bt(e,t,!0)]}var ml=e=>S.isObjectLiteralExpression(e)||S.isPropertyAccessExpression(e)||S.isIdentifier(e)||S.isCallExpression(e)||S.isBinaryExpression(e)||S.isConditionalExpression(e);function ul(e,t){t.neededImports.add("live");let n=t.importRenames.live;return S.factory.createCallExpression(S.factory.createIdentifier(n),void 0,[typeof e=="string"?S.factory.createStringLiteral(e):e])}import Ue from"typescript";function ki(e){if(e&&Ue.isJsxExpression(e)&&e.expression&&Ue.isCallExpression(e.expression)&&Ue.isIdentifier(e.expression.expression)&&e.expression.expression.text in Fi&&e.expression.arguments.length<=1)return{propType:Fi[e.expression.expression.text],initializer:Ue.factory.createJsxExpression(void 0,e.expression.arguments[0])}}var Fi={bindProperty:"property",bindAttribute:"attribute",bindBooleanAttribute:"booleanAttribute",bindEvent:"event"};function Ii(e,t,n){return yl.has(e)?e:e.startsWith("on")&&t!==void 0&&Ue.isJsxExpression(t)&&t.expression!==void 0?"event":(ht.has(e)||e.includes("-"))&&(e!=="itemId"||n!=="arcgis-map"&&n!=="arcgis-scene")?"attribute":!(typeof n=="string"&&n.includes("-")&&!Tt.has(n))&&(Ct.has(e)||(n===He?!1:n===he?Object.values(Ke).some(s=>s.has(e)):Ke[n]?.has(e)===!0))?Tn.has(e)?"booleanAttribute":"attribute":n==="svg"||n==="math"||n===He||n!==he&&(Pe.has(n)||Ae.has(n))?e in B.common.reflected||e in B.common.stringifiedReflected||e in B.common.stringifiedNonReflected?"property":Tn.has(e)?"booleanAttribute":"attribute":"property"}var fl=["class","style","ref","directives","key"],yl=new Set(fl);import W from"typescript";var Ni=e=>typeof e!="string"||e.trim().length>0;function Ve({key:e,parts:t,litTag:n},r){let i=gl(t);if(i.length%2===0)throw new Error("Normalized template parts array length must be odd");let[o,...s]=i;if(typeof o!="string")throw new Error("First normalized template part must be a string");if(n===void 0){if(s.length===0)return En(r,e,W.factory.createStringLiteral(o));if(o===""&&s.length===2&&s[1]==="")return En(r,e,typeof s[0]=="string"?W.factory.createStringLiteral(o):s[0])}let a=typeof n=="string"?n:Q;r.neededImports.add(a);let p=r.importRenames[a],l=ue(o),c=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),hl(s)));return En(r,e,c)}var gl=e=>e.reduce((t,n,r)=>{let i=t.at(-1),o=typeof i=="string",s=typeof n=="string";if(o&&s)return[...t.slice(0,-1),`${i}${n}`];let p=r===e.length-1;return!s&&p?[...t,n,""]:!s&&!p?[...t,n,""]:[...t,n]},[""]);function hl(e){if(!(e.length%2===0))throw new Error("templatePartsToSpans should be called with normalized parts array without the first item");let n=e.length/2;return Array.from({length:n},(r,i)=>{let o=i*2,s=e[o];if(typeof s=="string")throw new Error("Expected to receive a normalized array of parts");let a=o+1,p=e[a];if(typeof p!="string")throw new Error("Expected to receive a normalized array of parts");let l=i===n-1,c=ue(p);return W.factory.createTemplateSpan(s,l?W.factory.createTemplateTail(c,c):W.factory.createTemplateMiddle(c,c))})}function En(e,t,n){if(t===void 0)return n;e.neededImports.add("keyed");let r=e.importRenames.keyed;return W.factory.createCallExpression(W.factory.createIdentifier(r),void 0,[t,n])}import Pn from"typescript";var An=(e,t)=>e.getFullText(t.sourceFile).slice(0,e.getLeadingTriviaWidth(t.sourceFile));function Dn(e,t){let n=vt(e);return n.length===0?t:Pn.setSyntheticLeadingComments(t,n.map(r=>({...r,pos:-1,end:-1,text:Ri(e.slice(r.pos,r.end))})))}var vt=e=>e.trim().length===0?[]:Pn.getLeadingCommentRanges(e,0)??[];function Li(e){let t=vt(e);if(t.length===0)return[e||" "];let n=t.reduceRight(([i,...o],s)=>{let a=ue(Ri(wn(i).slice(s.pos,s.end)));return[wn(i).slice(0,s.pos),Pn.factory.createNoSubstitutionTemplateLiteral(a,a),wn(i).slice(s.end),...o]},[e]);(typeof n[0]!="string"||n[0].trim()!=="")&&n.unshift(" ");let r=n.at(-1);return(typeof r!="string"||r.trim()!=="")&&n.push(" "),n}var Ri=e=>e.startsWith("//")?e.slice(2):e.slice(2,-2);function wn(e){if(typeof e=="string")return e;throw new Error(`Expected string, got ${typeof e}: ${String(e)}`)}import{isNotUndefined as Al}from"@arcgis/components-utils";import C from"typescript";import{mappedFind as Cl}from"@arcgis/components-utils";import{toSystemPathSeparators as xl}from"@arcgis/components-build-utils";function Mi(e,t){if(!(C.isPropertyAccessExpression(t.expression)&&t.expression.name.text==="map"))return t;let r=t.arguments[0];if(!(t.arguments.length===1&&C.isArrowFunction(r)))return t;let o=r.parameters.at(0);if(!(typeof o=="object"&&r.parameters.length<=2))return t;let a=Fe(r.body),p=!0,l;if($i(a))l=a;else{if(!C.isBlock(a))return t;let y=a.statements.at(-1);if(!(y&&C.isReturnStatement(y)&&y.expression))return t;let E=Fe(y.expression);if(!$i(E))return t;let b=a.statements.slice(0,-1);if(b.some(Ji))return t;p=b.length===0,l=E}let c=C.isJsxElement(l)?l.openingElement:l,d=kn(c);if(d===-1)return t;let m=c.attributes.properties[d];if(m===void 0||!C.isJsxAttribute(m))return t;let u=_e(m.initializer,e.sourceFile),f=Tl(o,r,u,p,e);if(f===void 0)return t;e.liftedKeys.add(m.name),e.neededImports.add("repeat");let h=e.importRenames.repeat;return C.factory.updateCallExpression(t,C.factory.createIdentifier(h),t.typeArguments,[t.expression.expression,C.factory.createArrowFunction(void 0,void 0,[f],void 0,void 0,u),C.factory.updateArrowFunction(r,r.modifiers,r.typeParameters,r.parameters,r.type,r.equalsGreaterThanToken,a)])}var $i=e=>C.isJsxElement(e)||C.isJsxSelfClosingElement(e);function Ji(e){if(C.isReturnStatement(e))return!0;let t=!1;return C.visitEachChild(e,n=>(t||=Ji(n),n),void 0),t}function Tl(e,t,n,r,i){let o=Y(n);if(o===void 0)return;let s=ji(e.name,o),a=t.parameters.at(1);if(a!==void 0&&C.isIdentifier(a.name)&&o.every(Et,a.name)){console.warn(`It looks like you are trying to use .map() index as a key={} prop value in ${xl(i.sourceFile.fileName)}. Doing so is potentially pointless and may cause performance degradation. In Lit it is safe to omit the key={} prop. If you really mean to use index as the key, then use the keyed() Lit directive directly, rather than the JSX key={} prop.`);return}if(!r){let p=Sl(o,s,t);if(p===void 0)return;s=p}return C.factory.updateParameterDeclaration(e,e.modifiers,e.dotDotDotToken,s,e.questionToken,e.type,e.initializer)}function Y(e){if(C.isIdentifier(e))return[e.text];if(C.isPropertyAccessExpression(e))return Y(e.expression);if(C.isElementAccessExpression(e))return Y(e.argumentExpression);if(C.isConditionalExpression(e)){let t=Y(e.condition),n=Y(e.whenTrue),r=Y(e.whenFalse);return t===void 0||n===void 0||r===void 0?void 0:[...t,...n,...r]}else if(C.isBinaryExpression(e)){let t=Y(e.left),n=Y(e.right);return t===void 0||n===void 0?void 0:[...t,...n]}else{if(bl.has(e.kind))return[];{let t=Fe(e);return t!==e?Y(t):void 0}}}var bl=new Set([C.SyntaxKind.NumericLiteral,C.SyntaxKind.BigIntLiteral,C.SyntaxKind.StringLiteral,C.SyntaxKind.RegularExpressionLiteral,C.SyntaxKind.NoSubstitutionTemplateLiteral,C.SyntaxKind.FalseKeyword,C.SyntaxKind.NullKeyword,C.SyntaxKind.TrueKeyword]),Fe=e=>C.isAsExpression(e)||C.isNonNullExpression(e)||C.isSatisfiesExpression(e)||C.isParenthesizedExpression(e)?Fe(e.expression):e,ji=(e,t)=>C.isObjectBindingPattern(e)?wl(e,t):e;function Sl(e,t,n){if(e.every(Et,t))return t;if(C.isIdentifier(t)){let r=C.isBlock(n.body)?Cl(n.body.statements,o=>vl(o,t)):void 0;if(r===void 0)return;let i=ji(r,e);if(e.every(Et,i))return i}}function vl(e,t){if(!C.isVariableStatement(e)||!(e.declarationList.flags&C.NodeFlags.Const))return;let n=e.declarationList.declarations[0];return n?.initializer&&C.isIdentifier(n.initializer)&&n.initializer.text===t.text?n.name:void 0}function Et(e){let t=this;return C.isIdentifier(t)?t.text===e:t.elements.some(El,e)}function El(e){let t=this;return C.isOmittedExpression(e)?!1:Et.call(e.name,t)}function wl(e,t){let n=!1,r=e.elements.filter(i=>C.isIdentifier(i.name)?t.includes(i.name.text):(n=!0,!0));return n||r.length===0?e:C.factory.updateObjectBindingPattern(e,r)}var Fn=(e,t)=>t.liftedKeys.has(e);import{toSystemPathSeparators as wt}from"@arcgis/components-build-utils";var Bi=e=>e.apiJsonComponents.map(({name:t,importPath:n})=>`import type { ${t} } from "./${n}";`).join(`
48
+ });`}]});let l=[],c=this.context.options.documentation?.getComponentDocsUrl,d=this.context.options.documentation?.getComponentDemoUrl;typeof c=="function"&&l.push({description:"Docs",url:c(i,r)}),typeof d=="function"&&l.push({description:"Demo",url:d(i,r)}),l.length>0&&(o.demos=l),o.cssProperties.length===0&&(o.cssProperties=void 0),o.cssParts.length===0&&(o.cssParts=void 0),o.slots.length===0&&(o.slots=void 0),o.attributes.length===0&&(o.attributes=void 0),o.events.length===0&&(o.events=void 0),o.cssStates.length===0&&(o.cssStates=void 0)}return o}extractComponentMembers(n){let r=[],i=n.members.length,o,s=n.members[0],a,p=s?.name!==void 0?si(s.name):void 0;for(let l=0;l<i;l++){if(o=s,s=n.members[l+1],a=p,p=s?.name!==void 0?si(s.name):void 0,this.pairedSetter!==void 0){this.pairedSetter=void 0;continue}s!==void 0&&a===p&&(D.isGetAccessor(s)?(this.pairedSetter=o,o=s):D.isSetAccessor(s)&&(this.pairedSetter=s));let c=this.extractComponentMember(o,a);c!==void 0&&r.push(c)}return r}extractComponentMember(n,r){if(Ip(n)||r===void 0){D.isPropertyDeclaration(n)&&D.isIdentifier(n.name)&&n.name.text==="shadowRootOptions"&&n.initializer!==void 0&&D.isIdentifier(n.initializer)&&n.initializer.text==="noShadowRoot"&&(this.apiComponent.encapsulation="none");return}return D.isPropertyDeclaration(n)||D.isGetAccessor(n)||D.isSetAccessor(n)?this.extractComponentField(n,r):D.isMethodDeclaration(n)?this.extractComponentMethod(n,r):void 0}extractComponentField(n,r){let i=this.findPropertyOptions(n);this.pairedSetter!==void 0&&(i??=this.findPropertyOptions(this.pairedSetter));let o=D.isPropertyDeclaration(n);if(i===void 0){if(o&&this.context.isFullApiExtraction){let c=this.extractComponentEvent(n,r);c!==void 0&&this.apiComponent.events.push(c)}return}let s,a=!1,p=!1;for(let c of i)!D.isPropertyAssignment(c)||!D.isIdentifier(c.name)||(c.name.text==="attribute"&&(D.isStringLiteral(c.initializer)?s=c.initializer.text:s=ge(c.initializer,this.file)),c.name.text==="reflect"&&ge(c.initializer,this.file)&&(a=!0),c.name.text==="readOnly"&&ge(c.initializer,this.file)&&(p=!0),(c.name.text==="type"||c.name.text==="converter")&&(s??=!0));let l={kind:"field",name:r,summary:void 0,description:void 0,type:{text:""},default:void 0,deprecated:void 0,readonly:p||(o?n.modifiers?.some(c=>c.kind===D.SyntaxKind.ReadonlyKeyword):D.isGetAccessor(n)&&this.pairedSetter===void 0)?!0:void 0,attribute:s===!1?void 0:typeof s=="string"?s:Np(r),reflects:a||void 0,docsTags:void 0,getterTypeDiffers:void 0,docsOnlyReadonly:void 0,inheritedFrom:void 0,privacy:void 0};return this.context.isFullApiExtraction&&(this.extractComponentFieldDetails(n,l),(s===void 0&&(l.type.values===void 0||!Rr(l.type.values))||l.readonly&&!l.reflects)&&(l.attribute=void 0)),l}extractComponentEvent(n,r){return oi(n,r,this.context,this.file)}extractComponentFieldDetails(n,r){let i=r.readonly===!0,o=this.context.typeScriptTypeChecker,s=o.getSymbolAtLocation(n.name),a=s===void 0?void 0:lt(o,s),p=new Set(a?.docsTags.map(h=>h.name)??[]);re(n.name,this.context.typeScriptTypeChecker,r,a);let l=!i&&r.readonly===!0;if(this.context.viteCommand==="build"){let T=(D.isSetAccessor(n)?n.parameters[0]?.type:n.type)?.getText(this.file)?.match(Mp)??[];for(let E of T){let b=this.context._typeDependencies.get(this.apiComponent.tagName);b===void 0?this.context._typeDependencies.set(this.apiComponent.tagName,new Set([E])):b.add(E)}}let c=this.pairedSetter??n,d=r.docsTags?.some(h=>h.name==="required")??!1;r.type=Mr(this.context,c,d,this.file);let m=r.default;ai(n,r,this.file);let u=m===void 0&&r.default==="true";if("initializer"in n&&n.initializer!==void 0&&(!r.default||!r.description)){let h=n.initializer,y=o.getSymbolAtLocation(h),T=y!==void 0&&(y.flags??0)&D.SymbolFlags.Alias?o.getAliasedSymbol(y):y,E=T?.getDeclarations()??[];if(T!==void 0){let b=lt(o,T);if(b.docsTags.length>0){b.docsTags=b.docsTags.filter(j=>!p.has(j.name));let $=r.description;re(n.name,o,r,b),b.docsTags.forEach(j=>{p.add(j.name)}),r.description=$??r.description}else r.description||=b.description}E.forEach(b=>{if(!("initializer"in b))return;let $=b;l||=$.modifiers?.some(j=>j.kind===D.SyntaxKind.ReadonlyKeyword)??!1,ai($,r,$.getSourceFile())})}if(l&&(r.readonly=!0,i||(r.docsOnlyReadonly=!0)),r.type.values&&r.type.values.length>0&&r.type.values?.every(h=>h.type==="boolean")&&(r.default?u&&this.context.viteCommand==="build"&&r.deprecated===void 0&&this.context.logLintError("booleanMustDefaultFalse",this.file.fileName,`Boolean properties must default to "false". Found default value "true" in ${this.apiComponent.name}.${r.name}`):r.default="false"),this.pairedSetter!==void 0&&!r.readonly){let h=this.pairedSetter.parameters.at(0)?.type?.getText(this.file),y=n.type?.getText(this.file);h!==y&&y!==void 0&&h!==void 0&&(r.getterTypeDiffers=!0)}}findPropertyOptions(n){let r=pn(n,"property");return r===void 0?void 0:r.arguments?.find(D.isObjectLiteralExpression)?.properties??[]}extractComponentMethod(n,r){if(pn(n,"method")===void 0)return;let i={kind:"method",name:r,summary:void 0,description:void 0,deprecated:void 0,parameters:[],return:void 0,inheritedFrom:void 0,docsTags:void 0,signature:"",async:ii(n)?!0:void 0,privacy:void 0};if(this.context.isFullApiExtraction){let o=this.context.typeScriptTypeChecker;ri(n,i,o,this.file,this.context.dir)}return i}inferAttributes(n){let r=[];for(let i of n){if(i.kind!=="field"||i.attribute===void 0||i.privacy!==void 0)continue;let o=i.type.values?.filter(s=>s.type==="number"||s.type==="string"||s.type==="boolean");r.push({name:i.attribute,summary:i.summary,description:i.description,inheritedFrom:i.inheritedFrom,type:o===void 0||o.length===0?i.type:{text:at(o),references:void 0,values:o},default:i.default,fieldName:i.name,deprecated:i.deprecated})}return r}inferExport(n){if("customElement"in n)return this.inferCustomElementExport(n)}inferCustomElementExport(n){return{kind:"custom-element-definition",name:n.tagName,declaration:{name:n.name,module:this.apiModule.path}}}inheritMembers(n,r,i,o,s){let a=n.superclass,p=a.name;if(p===void 0||p===We.name)return;let l=this._resolvedInheritance.get(p)??this.resolveInheritance(p,r)??(this.isPathOnly?this.resolveInheritance(p,this.context.privateApiJson.modules):void 0);if(l!==void 0){i??=new Set(n.members.map(c=>c.name));for(let c of l.members)i.has(c.name)||(n.members.push({...c,inheritedFrom:a}),i.add(c.name));if(l.attributes!==void 0){n.attributes??=[],o??=new Set(n.attributes.map(c=>c.name));for(let c of l.attributes)o.has(c.name)||(n.attributes.push({...c,inheritedFrom:a}),o.add(c.name))}if(l.events!==void 0){n.events??=[],s=new Set(n.events.map(c=>c.name));for(let c of l.events)s.has(c.name)||(n.events.push({...c,inheritedFrom:a}),s.add(c.name))}l.superclass.name!==We.name&&this.inheritMembers(n,r,i,o,s),a.module=l.importPath}}resolveInheritance(n,r){for(let i of r)for(let o of i.declarations)if("customElement"in o&&n===o.name)return this._resolvedInheritance.set(n,o),o;this._resolvedInheritance.set(n,void 0)}},We={name:"LitElement",package:"@arcgis/lumina"},cn=(e,t)=>e.name.localeCompare(t.name),Mp=/(?<=this.)[\w$]+/gu;import{readFile as jp}from"node:fs/promises";async function li(e,t){t||(e.componentFilesPromise=be(e,e.dir.srcComponents));let n=await e.componentFilesPromise,r=await Hp(e,n);e._componentPathMapping={},e._localDefinedComponents=void 0;let i=di(r,e,!1);e.privateApiJson=i;let[o,s]=mi(i);return e.apiJsonComponents=s,e.apiJson=o,i}function ci(e,t,n){let r=e.getSourceFile(t,n),i=di([r],e,!0),o=i.modules[0];{let m=mi(i)[0].modules[0],u=e.apiJson.modules.findIndex(y=>y.path===m.path),f=e.apiJson.modules[u],h=Array.from(e.apiJson.modules);h.splice(u,1,m),e.apiJson={...e.apiJson,modules:h},e.apiJsonComponents=e.apiJsonComponents.filter(y=>!f.declarations.includes(y));for(let y of m.declarations)"customElement"in y&&e.apiJsonComponents.push(y)}let s=e.privateApiJson.modules.findIndex(m=>m.path===o.path),a=e.privateApiJson.modules[s],p=Array.from(e.privateApiJson.modules);p.splice(s,1,o),e.privateApiJson={...e.privateApiJson,modules:p};let l=!1,c=a.declarations.filter(m=>"customElement"in m),d=[];for(let m of o.declarations)if("customElement"in m){let f=c.find(h=>h.tagName===m.tagName)===void 0;l||=f,d.push(m)}return l||=d.length!==c.length,l?void 0:d}function di(e,t,n){let r=t.options.apiJson?.Extractor??He,o=new r(t,n).extract(e);return t.options.apiJson?.afterCreate?.(o,n),o}function mi(e){let t={...e,modules:[]},n=[];for(let r of e.modules){let i={...r,declarations:[]};for(let o of r.declarations)if("customElement"in o&&o.privacy===void 0){let s={...o,members:o.members.filter(a=>a.privacy===void 0)};i.declarations.push(s),n.push(s)}i.declarations.length>0&&t.modules.push(i)}return[t,n]}function pi(e,t,n){e.members.forEach(r=>{if(r.kind==="field")dt(r.type,n,t);else if(dt(r.return?.type,n,t),r.parameters!==void 0)for(let i of r.parameters)dt(i.type,n,t)}),e.events?.forEach(r=>{dt(r.type,n,t)})}function dt(e,t,n){e!==void 0&&(e.references?.forEach(r=>Op(r,t,n)),e.text=e.text.replaceAll(Wp,(r,i)=>t.get(i)??r),e.values?.forEach(Bp,t))}function Op(e,t,n){e.package===void 0&&(e.module?.startsWith("dist/components/")===!0?e.module=ee(e.module,"dist/components/",n):e.module==="index.js"&&e.name&&(e.name=t.get(e.name)??e.name))}function Bp(e){e.type.startsWith("ToElement<")&&(e.type=this.get(e.type.slice(10,-1))??e.type)}var Wp=/ToElement<(\w+)>/gu;async function Hp(e,t){if(e.viteCommand==="serve"&&(Object.hasOwn(e,"typeScriptHost")||(e.typeScriptHost=Jp.createCompilerHost(e.typeScriptConfig,!1))),e.typeScriptProgram!==void 0){let n=e.typeScriptProgram.getSourceFiles(),r=new Set(t);return n.filter(i=>r.has(i.fileName))}else return await Promise.all(t.map(async n=>{let r=await jp(n,"utf8");return e.getSourceFile(n,r)}))}import{readFile as Ec,writeFile as wc}from"node:fs/promises";import{path as kt,toSystemPathSeparators as Pc}from"@arcgis/components-build-utils";import{isNotUndefined as Fo}from"@arcgis/components-utils";import{isNotUndefined as Kp}from"@arcgis/components-utils";import{existsAsync as ui}from"@arcgis/components-build-utils";import{readFile as dn,readdir as _p}from"node:fs/promises";import{asyncRetrievePackageJson as Up,fetchPackageLocation as Vp,retrievePackageJson as zp,path as mt}from"@arcgis/components-build-utils";async function ut(e){return oe??=qp(e),await oe}function yi(){if(mn===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return mn}function ft(){if(un===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return un}async function qp(e){let t=zp(e),n=t.dependencies??{},r=t.peerDependencies??{},o=(await Promise.all([...Object.keys(n),...Object.keys(r)].filter(s=>!Gp.has(s)).flatMap(async s=>await fn(s,e)))).filter(Kp);return mn??=o,un=Object.fromEntries(o.flatMap(s=>Object.entries(s.components))),o}var Gp=new Set(["@arcgis/arcade-languageservice","@arcgis/components-controllers","@arcgis/components-build-utils","@arcgis/components-utils","@arcgis/core","@arcgis/core-adapter","@arcgis/languages-api-utils","@arcgis/languages-sdk-specs","@arcgis/lumina","@commander-js/extra-typings","@custom-elements-manifest/analyzer","@esri/calcite-ui-icons","@floating-ui/dom","@lit-labs/ssr","@lit-labs/ssr-client","@lit/react","@types/color","@types/sortablejs","color","composed-offset-position","custom-elements-manifest","dayjs","focus-trap","interactjs","lit","lodash-es","monaco-editor","sortablejs","storybook","timezone-groups","type-fest","tslib","typescript","vscode-languageserver-textdocument","vscode-languageserver-types"]),mn,un,oe;async function fn(e,t){let n=await Vp(e,t),r=await Up(n),i="exports"in r,o=tl.bind(void 0,i),s="@stencil/core"in(r.dependencies??{})||"@stencil/core"in(r.devDependencies??{}),a=mt.join(n,"dist/esm/loader.js");if(s?await ui(a):!1){let u=await dn(a,"utf8"),f=Xp(u,"bootstrapLazy("),h=u.indexOf(", options",f),y=u.slice(f,h),T=y.startsWith('JSON.parse("')?y.slice(12,-2).replaceAll('\\"','"'):y;try{let E=JSON.parse(T),b=Zp(E,{packageName:e,getImportPath:o});return{packageName:e,type:"stencil",components:b}}catch(E){console.warn(`@arcgis/lumina: Failed to parse dist/esm/loader.js for ${e}.
49
+ Error: ${String(E)}`)}}let l=fi(r.customElements);if(l!=null){let u=mt.join(n,l),f=JSON.parse(await dn(u,"utf-8")),h=Qp(f),y=yn(f,{packageName:e,getImportPath:o});return{type:h?"@arcgis/lumina":"unknown",packageName:e,components:y}}let c=fi(r["web-types"]);if(c!=null){let u=mt.join(n,c),f=JSON.parse(await dn(u,"utf-8")),h=Yp(f,{packageName:e,getImportPath:o,packageRoot:n});return{type:"unknown",packageName:e,components:h}}let d=mt.join(n,"dist/components");if(await ui(d)){let u=await el(d,{packageName:e,getImportPath:o});return{type:"unknown",packageName:e,components:u}}}var fi=e=>Array.isArray(e)?e[0]:e;function Xp(e,t){let n=e.indexOf(t);return n===-1?-1:n+t.length}function yn(e,t){let n={};for(let r of e.modules)if(r.declarations!==void 0)for(let i of r.declarations){if(!("tagName"in i))continue;let o=i,s=o,a=o.tagName;n[a]={packageName:t.packageName,moduleName:s.importPath??t.getImportPath(a),propToAttribute:Object.fromEntries((o.attributes??[]).map(p=>[p.fieldName??p.name,p.name]))}}return n}var Qp=e=>e.compiler?.name===Ee,Yp=(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 Zp=(e,t)=>Object.fromEntries(e.flatMap(([n,r])=>r.map(([i,o,s={}])=>[o,{packageName:t.packageName,moduleName:t.getImportPath(o),propToAttribute:Object.fromEntries(Object.entries(s).filter(([a,[p]])=>p&15).map(([a,[p,l=a]])=>[a,l]))}]))),el=async(e,t)=>Object.fromEntries((await _p(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:{}}]})),tl=(e,t)=>e?`components/${t}`:`dist/components/${t}.js`;import{asyncRetrievePackageJson as hc,fetchPackageLocation as Cc}from"@arcgis/components-build-utils";var nl=e=>e.startsWith("/")?e:`/${e}`,we=(e,t)=>`${e}@fs${nl(t)}`;import{retrievePackageJson as rl}from"@arcgis/components-build-utils";function G(e=rl(),t=!1,n=e.name==="@esri/calcite-components"){let r=e.version.includes("next");if(e.name==="@esri/calcite-components"&&r)return`https://cdn.jsdelivr.net/npm/@esri/calcite-components@${e.version}/dist/calcite/`;let i=t||r?"jsdev.arcgis.com":"js.arcgis.com",o=il(e.name),s=ol(e.version,n);return["https://",i,o.length>0?"/":"",o,"/",s,"/"].join("")}var il=e=>e.split("/").pop()??e;function ol(e,t){if(/\d+\.\d+\.\d+-(?:.*)$/u.test(e))return"next";let r=/^(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)/u,i=e.match(r);if(i?.groups!==void 0){let{major:o,minor:s,patch:a}=i.groups,p=`${o}.${s}`;return t?`${p}.${a}`:p}return"next"}import{isNotUndefined as uc}from"@arcgis/components-utils";import{readdir as fc}from"node:fs/promises";import{path as Mn}from"@arcgis/components-build-utils";import{existsAsync as wo}from"@arcgis/components-build-utils";import{asyncRetrievePackageJson as yc,fetchPackageLocation as gc}from"@arcgis/components-build-utils";import{build as oc}from"esbuild";import{findPath as Yl,path as yo,toSystemPathSeparators as Zl}from"@arcgis/components-build-utils";import{Deferred as ec,identity as tc}from"@arcgis/components-utils";import K from"typescript";import Xl from"typescript";import jl from"typescript";import gn from"typescript";var sl=["keyed","ref","repeat","live"],se="staticHtml",X="staticSvg",Q="html",ae="svg",hn=Symbol("maybe HTML namespace or maybe SVG"),Cn="css",xn="mathml",gi=[Cn,Q,xn,se,X,ae],hi=new Set(gi),al=["safeClassMap","safeStyleMap"],pl="nothing",Ci=[...sl,...gi,...al,pl],Pe=e=>gn.isJsxElement(e)||gn.isJsxSelfClosingElement(e)||gn.isJsxFragment(e);import x from"typescript";import S from"typescript";var xi="Fragment",yt="DynamicHtmlTag",gt="DynamicSvgTag",he=Symbol("dynamic html tag name"),Ke=Symbol("dynamic svg tag name"),Ti=!0,ht=new Set(["class","itemProp","itemScope","itemType","itemId","itemRef","about","datatype","inlist","property","resource","typeof","vocab"]),Ct=new Set(["width","height","href","hreflang","form","download","rowSpan","colSpan","viewBox","src","exportParts","hreflang","media"]),_e={button:new Set(["popoverTarget"]),input:new Set(["list","capture"]),iframe:new Set(["sandbox"]),link:new Set(["sizes"]),meta:new Set(["charset"]),math:new Set(["dir","displaystyle","scriptlevel"]),menu:new Set(["label","type"])},W={common:{reflected:{hidden:"hidden",inert:"inert",draggable:"draggable",contentEditable:"contenteditable",popover:"popover",autofocus:"autofocus",role:"role",ariaAtomic:"aria-atomic",ariaAutoComplete:"aria-autocomplete",ariaBusy:"aria-busy",ariaBrailleLabel:"aria-braillelabel",ariaBrailleRoleDescription:"aria-brailleroledescription",ariaChecked:"aria-checked",ariaColCount:"aria-colcount",ariaColIndex:"aria-colindex",ariaColSpan:"aria-colspan",ariaCurrent:"aria-current",ariaDescription:"aria-description",ariaDisabled:"aria-disabled",ariaExpanded:"aria-expanded",ariaHasPopup:"aria-haspopup",ariaHidden:"aria-hidden",ariaInvalid:"aria-invalid",ariaKeyShortcuts:"aria-keyshortcuts",ariaLabel:"aria-label",ariaLevel:"aria-level",ariaLive:"aria-live",ariaModal:"aria-modal",ariaMultiLine:"aria-multiline",ariaMultiSelectable:"aria-multiselectable",ariaOrientation:"aria-orientation",ariaPlaceholder:"aria-placeholder",ariaPosInSet:"aria-posinset",ariaPressed:"aria-pressed",ariaReadOnly:"aria-readonly",ariaRelevant:"aria-relevant",ariaRequired:"aria-required",ariaRoleDescription:"aria-roledescription",ariaRowCount:"aria-rowcount",ariaRowIndex:"aria-rowindex",ariaRowSpan:"aria-rowspan",ariaSelected:"aria-selected",ariaSetSize:"aria-setsize",ariaSort:"aria-sort",ariaValueMax:"aria-valuemax",ariaValueMin:"aria-valuemin",ariaValueNow:"aria-valuenow",ariaValueText:"aria-valuetext",ariaColIndexText:"aria-colindextext",ariaRowIndexText:"aria-rowindextext",ariaVirtualContent:"aria-virtualcontent"},stringifiedReflected:{title:"title",lang:"lang",translate:"translate",dir:"dir",accessKey:"accesskey",spellcheck:"spellcheck",autocapitalize:"autocapitalize",enterKeyHint:"enterkeyhint",inputMode:"inputmode",virtualKeyboardPolicy:"virtualkeyboardpolicy",tabIndex:"tabindex",writingSuggestions:"writingsuggestions",focusgroup:"focusgroup",id:"id",className:"class",slot:"slot",elementTiming:"elementtiming"},stringifiedNonReflected:{innerText:"",nonce:"",innerHTML:""}},perElement:{a:{stringifiedReflected:{target:"target",download:"download",ping:"ping",rel:"rel",hreflang:"hreflang",type:"type",referrerPolicy:"referrerpolicy",coords:"coords",charset:"charset",name:"name",rev:"rev",shape:"shape",href:"href",interestAction:"interestaction",hrefTranslate:"hreftranslate",attributionSrc:"attributionsrc"},stringifiedNonReflected:{text:""}},area:{reflected:{noHref:"nohref"},stringifiedReflected:{alt:"alt",coords:"coords",download:"download",shape:"shape",target:"target",ping:"ping",rel:"rel",referrerPolicy:"referrerpolicy",href:"href",interestAction:"interestaction"}},audio:{reflected:{crossOrigin:"crossorigin",autoplay:"autoplay",loop:"loop",controls:"controls",defaultMuted:"muted",disableRemotePlayback:"disableremoteplayback"},stringifiedReflected:{src:"src",preload:"preload"}},base:{stringifiedReflected:{href:"href",target:"target"}},blockquote:{stringifiedReflected:{cite:"cite"}},body:{stringifiedReflected:{text:"text",link:"link",vLink:"vlink",aLink:"alink",bgColor:"bgcolor",background:"background"}},br:{stringifiedReflected:{clear:"clear"}},button:{reflected:{disabled:"disabled",formNoValidate:"formnovalidate"},stringifiedReflected:{formAction:"formaction",formEnctype:"formenctype",formMethod:"formmethod",formTarget:"formtarget",name:"name",type:"type",value:"value",popoverTargetAction:"popovertargetaction",command:"command",interestAction:"interestaction"}},canvas:{stringifiedReflected:{width:"width",height:"height"}},caption:{stringifiedReflected:{align:"align"}},col:{stringifiedReflected:{span:"span",align:"align",ch:"char",chOff:"charoff",vAlign:"valign",width:"width"}},colgroup:{stringifiedReflected:{span:"span",align:"align",ch:"char",chOff:"charoff",vAlign:"valign",width:"width"}},data:{stringifiedReflected:{value:"value"}},del:{stringifiedReflected:{cite:"cite",dateTime:"datetime"}},details:{reflected:{open:"open"},stringifiedReflected:{name:"name"}},dialog:{reflected:{open:"open"},stringifiedNonReflected:{returnValue:""}},div:{stringifiedReflected:{align:"align"}},dl:{reflected:{compact:"compact"}},embed:{stringifiedReflected:{src:"src",type:"type",width:"width",height:"height",align:"align",name:"name"}},fieldset:{reflected:{disabled:"disabled"},stringifiedReflected:{name:"name"}},form:{reflected:{noValidate:"novalidate"},stringifiedReflected:{acceptCharset:"accept-charset",action:"action",autocomplete:"autocomplete",enctype:"enctype",encoding:"enctype",method:"method",name:"name",target:"target",rel:"rel"}},h1:{stringifiedReflected:{align:"align"}},h2:{stringifiedReflected:{align:"align"}},h3:{stringifiedReflected:{align:"align"}},h4:{stringifiedReflected:{align:"align"}},h5:{stringifiedReflected:{align:"align"}},h6:{stringifiedReflected:{align:"align"}},hr:{reflected:{noShade:"noshade"},stringifiedReflected:{align:"align",color:"color",size:"size",width:"width"}},html:{stringifiedReflected:{version:"version"}},iframe:{reflected:{allowFullscreen:"allowfullscreen",credentialless:"credentialless",allowPaymentRequest:"allowpaymentrequest",browsingTopics:"browsingtopics",adAuctionHeaders:"adauctionheaders",sharedStorageWritable:"sharedstoragewritable"},stringifiedReflected:{src:"src",srcdoc:"srcdoc",name:"name",width:"width",height:"height",referrerPolicy:"referrerpolicy",csp:"csp",allow:"allow",loading:"loading",align:"align",scrolling:"scrolling",frameBorder:"frameborder",longDesc:"longdesc",marginHeight:"marginheight",marginWidth:"marginwidth",policy:"policy",privateToken:"privatetoken"}},img:{reflected:{crossOrigin:"crossorigin",isMap:"ismap",width:"width",height:"height",hspace:"hspace",vspace:"vspace",sharedStorageWritable:"sharedstoragewritable"},stringifiedReflected:{alt:"alt",src:"src",srcset:"srcset",sizes:"sizes",useMap:"usemap",referrerPolicy:"referrerpolicy",decoding:"decoding",fetchPriority:"fetchpriority",loading:"loading",name:"name",lowsrc:"lowsrc",align:"align",longDesc:"longdesc",border:"border",attributionSrc:"attributionsrc"}},input:{reflected:{defaultChecked:"checked",disabled:"disabled",formNoValidate:"formnovalidate",height:"height",multiple:"multiple",readOnly:"readonly",required:"required",size:"size",width:"width",webkitdirectory:"webkitdirectory",incremental:"incremental"},stringifiedReflected:{accept:"accept",alt:"alt",autocomplete:"autocomplete",dirName:"dirname",formAction:"formaction",formEnctype:"formenctype",formMethod:"formmethod",formTarget:"formtarget",max:"max",maxLength:"maxlength",min:"min",minLength:"minlength",name:"name",pattern:"pattern",placeholder:"placeholder",src:"src",step:"step",type:"type",defaultValue:"value",align:"align",useMap:"usemap",popoverTargetAction:"popovertargetaction",command:"command",interestAction:"interestaction"},stringifiedNonReflected:{value:""}},ins:{stringifiedReflected:{cite:"cite",dateTime:"datetime"}},label:{stringifiedReflected:{htmlFor:"for"}},legend:{stringifiedReflected:{align:"align"}},li:{reflected:{value:"value"},stringifiedReflected:{type:"type"}},link:{reflected:{disabled:"disabled",crossOrigin:"crossorigin"},stringifiedReflected:{href:"href",rel:"rel",media:"media",hreflang:"hreflang",type:"type",as:"as",referrerPolicy:"referrerpolicy",fetchPriority:"fetchpriority",imageSrcset:"imagesrcset",imageSizes:"imagesizes",charset:"charset",rev:"rev",target:"target",integrity:"integrity"}},map:{stringifiedReflected:{name:"name"}},menu:{reflected:{compact:"compact"}},meta:{stringifiedReflected:{name:"name",httpEquiv:"http-equiv",content:"content",media:"media",scheme:"scheme"}},meter:{reflected:{value:"value",min:"min",max:"max",low:"low",high:"high",optimum:"optimum"}},object:{reflected:{declare:"declare",hspace:"hspace",vspace:"vspace"},stringifiedReflected:{data:"data",type:"type",name:"name",useMap:"usemap",width:"width",height:"height",align:"align",archive:"archive",code:"code",standby:"standby",codeBase:"codebase",codeType:"codetype",border:"border"}},ol:{reflected:{reversed:"reversed",compact:"compact"},stringifiedReflected:{start:"start",type:"type"}},optgroup:{reflected:{disabled:"disabled"},stringifiedReflected:{label:"label"}},option:{reflected:{disabled:"disabled",defaultSelected:"selected"},stringifiedReflected:{label:"label",value:"value"},stringifiedNonReflected:{text:""}},output:{stringifiedReflected:{name:"name"},stringifiedNonReflected:{defaultValue:"",value:""}},p:{stringifiedReflected:{align:"align"}},pre:{reflected:{width:"width"}},progress:{reflected:{value:"value",max:"max"}},q:{stringifiedReflected:{cite:"cite"}},script:{reflected:{noModule:"nomodule",async:"async",defer:"defer",crossOrigin:"crossorigin",referrerPolicy:"referrerpolicy"},stringifiedReflected:{src:"src",type:"type",charset:"charset",fetchPriority:"fetchpriority",event:"event",htmlFor:"for",integrity:"integrity",attributionSrc:"attributionsrc"},stringifiedNonReflected:{text:""}},select:{reflected:{disabled:"disabled",multiple:"multiple",required:"required",size:"size"},stringifiedReflected:{autocomplete:"autocomplete",name:"name"}},slot:{stringifiedReflected:{name:"name"}},source:{reflected:{width:"width",height:"height"},stringifiedReflected:{src:"src",type:"type",srcset:"srcset",sizes:"sizes",media:"media"}},style:{stringifiedReflected:{media:"media",type:"type"}},table:{stringifiedReflected:{align:"align",border:"border",frame:"frame",rules:"rules",summary:"summary",width:"width",bgColor:"bgcolor",cellPadding:"cellpadding",cellSpacing:"cellspacing"}},tbody:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},td:{reflected:{noWrap:"nowrap"},stringifiedReflected:{colSpan:"colspan",rowSpan:"rowspan",headers:"headers",align:"align",axis:"axis",height:"height",width:"width",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor",abbr:"abbr",scope:"scope"}},template:{reflected:{shadowRootDelegatesFocus:"shadowrootdelegatesfocus",shadowRootClonable:"shadowrootclonable",shadowRootSerializable:"shadowrootserializable",parseparts:"parseparts"},stringifiedReflected:{shadowRootMode:"shadowrootmode"}},textarea:{reflected:{cols:"cols",disabled:"disabled",readOnly:"readonly",required:"required",rows:"rows"},stringifiedReflected:{autocomplete:"autocomplete",dirName:"dirname",maxLength:"maxlength",minLength:"minlength",name:"name",placeholder:"placeholder",wrap:"wrap"},stringifiedNonReflected:{defaultValue:"",value:""}},tfoot:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},th:{reflected:{noWrap:"nowrap"},stringifiedReflected:{colSpan:"colspan",rowSpan:"rowspan",headers:"headers",align:"align",axis:"axis",height:"height",width:"width",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor",abbr:"abbr",scope:"scope"}},thead:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},time:{stringifiedReflected:{dateTime:"datetime"}},title:{stringifiedNonReflected:{text:""}},tr:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor"}},track:{reflected:{default:"default"},stringifiedReflected:{kind:"kind",src:"src",srclang:"srclang",label:"label"}},ul:{reflected:{compact:"compact"},stringifiedReflected:{type:"type"}},video:{reflected:{width:"width",height:"height",playsInline:"playsinline",disablePictureInPicture:"disablepictureinpicture",crossOrigin:"crossorigin",autoplay:"autoplay",loop:"loop",controls:"controls",defaultMuted:"muted",disableRemotePlayback:"disableremoteplayback"},stringifiedReflected:{poster:"poster",src:"src",preload:"preload"}}}};bi(W.common);Object.values(W.perElement).forEach(bi);function bi(e){e?.reflected!==void 0&&(e.reflected=Object.assign(Object.create(null),e.reflected)),e?.stringifiedReflected!==void 0&&(e.stringifiedReflected=Object.assign(Object.create(null),e.stringifiedReflected)),e?.stringifiedNonReflected!==void 0&&(e.stringifiedNonReflected=Object.assign(Object.create(null),e.stringifiedNonReflected))}var Tn=new Set(["itemScope"]),xt=new Set(["abort","animationCancel","animationEnd","animationIteration","animationStart","auxClick","beforeInput","blur","canPlay","canPlayThrough","cancel","change","click","close","compositionEnd","compositionStart","compositionUpdate","contextMenu","copy","cueChange","cut","dblClick","drag","dragEnd","dragEnter","dragLeave","dragOver","dragStart","drop","durationChange","emptied","encrypted","error","focus","focusIn","focusOut","formData","fullscreenChange","fullscreenError","gotPointerCapture","input","invalid","keyDown","keyUp","load","loadStart","loadedData","loadedMetadata","lostPointerCapture","mouseDown","mouseEnter","mouseLeave","mouseMove","mouseOut","mouseOver","mouseUp","paste","pause","play","playing","pointerCancel","pointerDown","pointerEnter","pointerLeave","pointerMove","pointerOut","pointerOver","pointerUp","progress","rateChange","reset","resize","scroll","scrollEnd","securityPolicyViolation","seeked","seeking","select","selectStart","slotChange","stalled","submit","suspend","timeUpdate","toggle","touchCancel","touchEnd","touchMove","touchStart","transitionCancel","transitionEnd","transitionRun","transitionStart","volumeChange","waiting","wheel"]),Si=new Set(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),Ae=new Set(["animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","switch","symbol","text","textPath","tspan","use","view"]),vi=new Set(["title","svg","a","script","style"]),De=new Set(["annotation-xml","annotation","maction","menclose","merror","mfenced","mfrac","mi","mmultiscripts","mn","mo","mover","mpadded","mphantom","mprescripts","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msubsup","msup","mtable","mtd","mtext","mtr","munder","munderover","semantics"]),Tt=new Set(["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"]);import{mappedFind as Ei,uncapitalize as wi}from"@arcgis/components-utils";import g from"typescript";function bn(e,t,n){if(Fe(e))return e;{n===void 0&&t.neededImports.add("nothing");let r=t.importRenames.nothing;return g.factory.createParenthesizedExpression(g.factory.createBinaryExpression(g.factory.createParenthesizedExpression(e),g.factory.createToken(g.SyntaxKind.QuestionQuestionToken),typeof n=="string"?g.factory.createStringLiteral(n):g.factory.createIdentifier(r)))}}function Fe(e){return typeof e=="string"||ll.has(e.kind)||g.isConditionalExpression(e)&&Fe(e.whenTrue)&&Fe(e.whenFalse)||g.isBinaryExpression(e)&&(cl.has(e.operatorToken.kind)||Fe(e.left)&&Fe(e.right))||(g.isParenthesizedExpression(e)||g.isSatisfiesExpression(e)||g.isAsExpression(e))&&Fe(e.expression)||g.isTaggedTemplateExpression(e)&&g.isIdentifier(e.tag)&&hi.has(e.tag.text)}var ll=new Set([g.SyntaxKind.NumericLiteral,g.SyntaxKind.BigIntLiteral,g.SyntaxKind.StringLiteral,g.SyntaxKind.RegularExpressionLiteral,g.SyntaxKind.NoSubstitutionTemplateLiteral,g.SyntaxKind.FalseKeyword,g.SyntaxKind.TrueKeyword,g.SyntaxKind.ArrayLiteralExpression,g.SyntaxKind.ObjectLiteralExpression,g.SyntaxKind.FunctionExpression,g.SyntaxKind.ArrowFunction,g.SyntaxKind.TypeOfExpression,g.SyntaxKind.PrefixUnaryExpression,g.SyntaxKind.PostfixUnaryExpression,g.SyntaxKind.TemplateExpression,g.SyntaxKind.ClassExpression,g.SyntaxKind.NonNullExpression]),cl=new Set([g.SyntaxKind.PlusEqualsToken,g.SyntaxKind.MinusEqualsToken,g.SyntaxKind.AsteriskAsteriskEqualsToken,g.SyntaxKind.AsteriskEqualsToken,g.SyntaxKind.SlashEqualsToken,g.SyntaxKind.PercentEqualsToken,g.SyntaxKind.AmpersandEqualsToken,g.SyntaxKind.BarEqualsToken,g.SyntaxKind.CaretEqualsToken,g.SyntaxKind.LessThanLessThanEqualsToken,g.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken,g.SyntaxKind.GreaterThanGreaterThanEqualsToken,g.SyntaxKind.AmpersandToken,g.SyntaxKind.BarToken,g.SyntaxKind.CaretToken,g.SyntaxKind.EqualsEqualsToken,g.SyntaxKind.EqualsEqualsEqualsToken,g.SyntaxKind.ExclamationEqualsEqualsToken,g.SyntaxKind.ExclamationEqualsToken,g.SyntaxKind.LessThanToken,g.SyntaxKind.LessThanEqualsToken,g.SyntaxKind.GreaterThanToken,g.SyntaxKind.GreaterThanEqualsToken,g.SyntaxKind.InstanceOfKeyword,g.SyntaxKind.InKeyword,g.SyntaxKind.LessThanLessThanToken,g.SyntaxKind.GreaterThanGreaterThanToken,g.SyntaxKind.GreaterThanGreaterThanGreaterThanToken,g.SyntaxKind.PlusToken,g.SyntaxKind.MinusToken,g.SyntaxKind.AsteriskToken,g.SyntaxKind.SlashToken,g.SyntaxKind.PercentToken,g.SyntaxKind.AsteriskAsteriskToken]);var Di={property(e,t,n,r){let i=dl(r,n,e),o=i?.type==="stringifiedReflected",s=i?.type==="reflected"||o;if(s){let m=vn(t);if(m===!0)return[i.name];if(m===!1)return[]}let a=t===void 0?["=",S.factory.createToken(S.SyntaxKind.TrueKeyword)]:bt(e,t,s),p=a[0]!=="=";if(s&&p)return[i.name,...a];let[l,c]=a,d=i?.type==="stringifiedNonReflected";if(o||d){let m=bn(c,e,d?"":void 0),f=n==="value"&&(r==="input"||r==="textarea"||r===he)?ul(m,e):m;if(f!==c)return[d?`.${n}`:i.name,l,f]}return[`.${n}`,...a]},attribute(e,t,n){let r=t===void 0||vn(t);if(r===!0)return[n];if(r===!1)return[];let i=bt(e,t,!0),s=i[0]!=="="?i:[i[0],bn(i[1],e)];return[n,...s]},booleanAttribute(e,t,n){let r=t===void 0||vn(t);return r===!0?[n]:r===!1?[]:[`?${n}`,...bt(e,t,!1)]},event(e,t,n){if(t===void 0||!S.isJsxExpression(t)||t.expression===void 0)throw new Error(`Event prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);let r=n.slice(2),i=wi(r);return[`@${xt.has(i)?r.toLowerCase():Ti?wi(r):r}=`,...St(e,t,void 0)]},directives(e,t){if(t===void 0||!S.isJsxExpression(t))throw new Error(`Directives prop must be an expression. Found ${String(t?.getText(e.sourceFile))}`);if(t.expression===void 0||!S.isArrayLiteralExpression(t.expression))throw new Error(`Directives prop must be an array rather than a variable or ternary expression. Still, the following are allowed: directives={[directiveA, condition ? a : b, c()]}. Found ${String(t.expression?.getText(e.sourceFile))}`);return t.expression.elements.flatMap(i=>{if(S.isSpreadElement(i))throw new Error(`Directives prop cannot contain a spread argument - it needs to be statically analyzable. Still, the following are allowed: directives={[directiveA, condition ? a : b, c()]}. Found ${String(t.expression?.getText(e.sourceFile))}`);return V(e,void 0,i)})},ref(e,t){e.neededImports.add("ref");let n=e.importRenames.ref;if(t===void 0||!S.isJsxExpression(t)||t.expression===void 0)throw new Error(`ref prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);return[S.factory.createCallExpression(S.factory.createIdentifier(n),void 0,[V(e,void 0,t.expression)])]},class:Ai,style:Ai,key:(e,t)=>[Ue(t,e.sourceFile)]};function dl(e,t,n){if(typeof e=="string"){let o=(n.externalComponents[e]??n.localComponents[e])?.propToAttribute?.[t];if(o!==void 0)return{name:o,type:"reflected"}}let r=Sn(W.common,t);if(r!==void 0)return r;if(typeof e=="string"){let i=Sn(W.perElement[e],t);if(i!==void 0)return i}else{let i=Object.values(W.perElement).map(s=>Sn(s,t)),o=Ei(i,s=>s?.type==="stringifiedNonReflected"?s:void 0)??Ei(i,s=>s?.type==="stringifiedReflected"?s:void 0);if(o!==void 0)return o}}function Sn(e,t){let n=e?.reflected?.[t];if(n!==void 0)return{name:n,type:"reflected"};let r=e?.stringifiedReflected?.[t];if(r!==void 0)return{name:r,type:"stringifiedReflected"};let i=e?.stringifiedNonReflected?.[t];if(i!==void 0)return{name:i,type:"stringifiedNonReflected"}}function Ue(e,t){if(e!==void 0&&S.isJsxExpression(e)&&e.expression!==void 0)return e.expression;if(e!==void 0&&S.isStringLiteral(e))return e;throw new Error(`key prop value must be an expression. Found ${String(e?.getText(t))}`)}function vn(e){if(e===void 0)return!0;if(S.isJsxExpression(e)){if(e.expression?.kind===S.SyntaxKind.TrueKeyword||e.expression===void 0)return!0;if(e.expression?.kind===S.SyntaxKind.FalseKeyword)return!1}}function bt(e,t,n=!1){if(Pe(t))throw new Error(`Invalid JSX syntax detected or there is a bug in Lumina. Found ${t.getText(e.sourceFile)}. Expected JSX attribute value to be wrapped in { }`);if(S.isStringLiteral(t))return Pi(t,n);if(S.isJsxExpression(t)&&t.expression){if(S.isStringLiteral(t.expression))return Pi(t.expression,n);if(n){if(S.isNumericLiteral(t.expression))return[`=${t.expression.text}`];if(S.isPrefixUnaryExpression(t.expression)&&S.isNumericLiteral(t.expression.operand))return[`=${t.expression.getText(e.sourceFile)}`]}}return["=",...St(e,t,void 0)]}function Pi(e,t){if(!t)return["=",e];let n=e.text;if(n.length===0)return[];let r=it(n);if(Ar(r)){let i=r.replaceAll('"',"&#34;");if(i.length>r.length){let o=r.replaceAll("'","&#39;");if(o.length<i.length)return[`='${o}'`]}return[`="${i}"`]}else return[`=${r}`]}function Ai(e,t,n){if(t!==void 0&&S.isStringLiteral(t))return[`${n}="${t.text}"`];if(t===void 0||!S.isJsxExpression(t)||t.expression===void 0)throw new Error(`${n} prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);let r=t.expression;if(ml(r)){let o=n==="class"?"safeClassMap":"safeStyleMap";e.neededImports.add(o);let s=e.importRenames[o],a=S.factory.createCallExpression(S.factory.createIdentifier(s),void 0,[V(e,void 0,r)]);return[`${n}=`,a]}else return[n,...bt(e,t,!0)]}var ml=e=>S.isObjectLiteralExpression(e)||S.isPropertyAccessExpression(e)||S.isIdentifier(e)||S.isCallExpression(e)||S.isBinaryExpression(e)||S.isConditionalExpression(e);function ul(e,t){t.neededImports.add("live");let n=t.importRenames.live;return S.factory.createCallExpression(S.factory.createIdentifier(n),void 0,[typeof e=="string"?S.factory.createStringLiteral(e):e])}import Ve from"typescript";function ki(e){if(e&&Ve.isJsxExpression(e)&&e.expression&&Ve.isCallExpression(e.expression)&&Ve.isIdentifier(e.expression.expression)&&e.expression.expression.text in Fi&&e.expression.arguments.length<=1)return{propType:Fi[e.expression.expression.text],initializer:Ve.factory.createJsxExpression(void 0,e.expression.arguments[0])}}var Fi={bindProperty:"property",bindAttribute:"attribute",bindBooleanAttribute:"booleanAttribute",bindEvent:"event"};function Ii(e,t,n){return yl.has(e)?e:e.startsWith("on")&&t!==void 0&&Ve.isJsxExpression(t)&&t.expression!==void 0?"event":(ht.has(e)||e.includes("-"))&&(e!=="itemId"||n!=="arcgis-map"&&n!=="arcgis-scene")?"attribute":!(typeof n=="string"&&n.includes("-")&&!Tt.has(n))&&(Ct.has(e)||(n===Ke?!1:n===he?Object.values(_e).some(s=>s.has(e)):_e[n]?.has(e)===!0))?Tn.has(e)?"booleanAttribute":"attribute":n==="svg"||n==="math"||n===Ke||n!==he&&(Ae.has(n)||De.has(n))?e in W.common.reflected||e in W.common.stringifiedReflected||e in W.common.stringifiedNonReflected?"property":Tn.has(e)?"booleanAttribute":"attribute":"property"}var fl=["class","style","ref","directives","key"],yl=new Set(fl);import H from"typescript";var Ni=e=>typeof e!="string"||e.trim().length>0;function ze({key:e,parts:t,litTag:n},r){let i=gl(t);if(i.length%2===0)throw new Error("Normalized template parts array length must be odd");let[o,...s]=i;if(typeof o!="string")throw new Error("First normalized template part must be a string");if(n===void 0){if(s.length===0)return En(r,e,H.factory.createStringLiteral(o));if(o===""&&s.length===2&&s[1]==="")return En(r,e,typeof s[0]=="string"?H.factory.createStringLiteral(o):s[0])}let a=typeof n=="string"?n:Q;r.neededImports.add(a);let p=r.importRenames[a],l=ue(o),c=H.factory.createTaggedTemplateExpression(H.factory.createIdentifier(p),void 0,s.length===0?H.factory.createNoSubstitutionTemplateLiteral(l,l):H.factory.createTemplateExpression(H.factory.createTemplateHead(l,l),hl(s)));return En(r,e,c)}var gl=e=>e.reduce((t,n,r)=>{let i=t.at(-1),o=typeof i=="string",s=typeof n=="string";if(o&&s)return[...t.slice(0,-1),`${i}${n}`];let p=r===e.length-1;return!s&&p?[...t,n,""]:!s&&!p?[...t,n,""]:[...t,n]},[""]);function hl(e){if(!(e.length%2===0))throw new Error("templatePartsToSpans should be called with normalized parts array without the first item");let n=e.length/2;return Array.from({length:n},(r,i)=>{let o=i*2,s=e[o];if(typeof s=="string")throw new Error("Expected to receive a normalized array of parts");let a=o+1,p=e[a];if(typeof p!="string")throw new Error("Expected to receive a normalized array of parts");let l=i===n-1,c=ue(p);return H.factory.createTemplateSpan(s,l?H.factory.createTemplateTail(c,c):H.factory.createTemplateMiddle(c,c))})}function En(e,t,n){if(t===void 0)return n;e.neededImports.add("keyed");let r=e.importRenames.keyed;return H.factory.createCallExpression(H.factory.createIdentifier(r),void 0,[t,n])}import Pn from"typescript";var An=(e,t)=>e.getFullText(t.sourceFile).slice(0,e.getLeadingTriviaWidth(t.sourceFile));function Dn(e,t){let n=vt(e);return n.length===0?t:Pn.setSyntheticLeadingComments(t,n.map(r=>({...r,pos:-1,end:-1,text:Ri(e.slice(r.pos,r.end))})))}var vt=e=>e.trim().length===0?[]:Pn.getLeadingCommentRanges(e,0)??[];function Li(e){let t=vt(e);if(t.length===0)return[e||" "];let n=t.reduceRight(([i,...o],s)=>{let a=ue(Ri(wn(i).slice(s.pos,s.end)));return[wn(i).slice(0,s.pos),Pn.factory.createNoSubstitutionTemplateLiteral(a,a),wn(i).slice(s.end),...o]},[e]);(typeof n[0]!="string"||n[0].trim()!=="")&&n.unshift(" ");let r=n.at(-1);return(typeof r!="string"||r.trim()!=="")&&n.push(" "),n}var Ri=e=>e.startsWith("//")?e.slice(2):e.slice(2,-2);function wn(e){if(typeof e=="string")return e;throw new Error(`Expected string, got ${typeof e}: ${String(e)}`)}import{isNotUndefined as Al}from"@arcgis/components-utils";import C from"typescript";import{mappedFind as Cl}from"@arcgis/components-utils";import{toSystemPathSeparators as xl}from"@arcgis/components-build-utils";function Mi(e,t){if(!(C.isPropertyAccessExpression(t.expression)&&t.expression.name.text==="map"))return t;let r=t.arguments[0];if(!(t.arguments.length===1&&C.isArrowFunction(r)))return t;let o=r.parameters.at(0);if(!(typeof o=="object"&&r.parameters.length<=2))return t;let a=ke(r.body),p=!0,l;if($i(a))l=a;else{if(!C.isBlock(a))return t;let y=a.statements.at(-1);if(!(y&&C.isReturnStatement(y)&&y.expression))return t;let E=ke(y.expression);if(!$i(E))return t;let b=a.statements.slice(0,-1);if(b.some(Ji))return t;p=b.length===0,l=E}let c=C.isJsxElement(l)?l.openingElement:l,d=kn(c);if(d===-1)return t;let m=c.attributes.properties[d];if(m===void 0||!C.isJsxAttribute(m))return t;let u=Ue(m.initializer,e.sourceFile),f=Tl(o,r,u,p,e);if(f===void 0)return t;e.liftedKeys.add(m.name),e.neededImports.add("repeat");let h=e.importRenames.repeat;return C.factory.updateCallExpression(t,C.factory.createIdentifier(h),t.typeArguments,[t.expression.expression,C.factory.createArrowFunction(void 0,void 0,[f],void 0,void 0,u),C.factory.updateArrowFunction(r,r.modifiers,r.typeParameters,r.parameters,r.type,r.equalsGreaterThanToken,a)])}var $i=e=>C.isJsxElement(e)||C.isJsxSelfClosingElement(e);function Ji(e){if(C.isReturnStatement(e))return!0;let t=!1;return C.visitEachChild(e,n=>(t||=Ji(n),n),void 0),t}function Tl(e,t,n,r,i){let o=Y(n);if(o===void 0)return;let s=ji(e.name,o),a=t.parameters.at(1);if(a!==void 0&&C.isIdentifier(a.name)&&o.every(Et,a.name)){console.warn(`It looks like you are trying to use .map() index as a key={} prop value in ${xl(i.sourceFile.fileName)}. Doing so is potentially pointless and may cause performance degradation. In Lit it is safe to omit the key={} prop. If you really mean to use index as the key, then use the keyed() Lit directive directly, rather than the JSX key={} prop.`);return}if(!r){let p=Sl(o,s,t);if(p===void 0)return;s=p}return C.factory.updateParameterDeclaration(e,e.modifiers,e.dotDotDotToken,s,e.questionToken,e.type,e.initializer)}function Y(e){if(C.isIdentifier(e))return[e.text];if(C.isPropertyAccessExpression(e))return Y(e.expression);if(C.isElementAccessExpression(e))return Y(e.argumentExpression);if(C.isConditionalExpression(e)){let t=Y(e.condition),n=Y(e.whenTrue),r=Y(e.whenFalse);return t===void 0||n===void 0||r===void 0?void 0:[...t,...n,...r]}else if(C.isBinaryExpression(e)){let t=Y(e.left),n=Y(e.right);return t===void 0||n===void 0?void 0:[...t,...n]}else{if(bl.has(e.kind))return[];{let t=ke(e);return t!==e?Y(t):void 0}}}var bl=new Set([C.SyntaxKind.NumericLiteral,C.SyntaxKind.BigIntLiteral,C.SyntaxKind.StringLiteral,C.SyntaxKind.RegularExpressionLiteral,C.SyntaxKind.NoSubstitutionTemplateLiteral,C.SyntaxKind.FalseKeyword,C.SyntaxKind.NullKeyword,C.SyntaxKind.TrueKeyword]),ke=e=>C.isAsExpression(e)||C.isNonNullExpression(e)||C.isSatisfiesExpression(e)||C.isParenthesizedExpression(e)?ke(e.expression):e,ji=(e,t)=>C.isObjectBindingPattern(e)?wl(e,t):e;function Sl(e,t,n){if(e.every(Et,t))return t;if(C.isIdentifier(t)){let r=C.isBlock(n.body)?Cl(n.body.statements,o=>vl(o,t)):void 0;if(r===void 0)return;let i=ji(r,e);if(e.every(Et,i))return i}}function vl(e,t){if(!C.isVariableStatement(e)||!(e.declarationList.flags&C.NodeFlags.Const))return;let n=e.declarationList.declarations[0];return n?.initializer&&C.isIdentifier(n.initializer)&&n.initializer.text===t.text?n.name:void 0}function Et(e){let t=this;return C.isIdentifier(t)?t.text===e:t.elements.some(El,e)}function El(e){let t=this;return C.isOmittedExpression(e)?!1:Et.call(e.name,t)}function wl(e,t){let n=!1,r=e.elements.filter(i=>C.isIdentifier(i.name)?t.includes(i.name.text):(n=!0,!0));return n||r.length===0?e:C.factory.updateObjectBindingPattern(e,r)}var Fn=(e,t)=>t.liftedKeys.has(e);import{toSystemPathSeparators as wt}from"@arcgis/components-build-utils";var Bi=e=>e.apiJsonComponents.map(({name:t,importPath:n})=>`import type { ${t} } from "./${n}";`).join(`
50
50
  `),Pl=/^[a-zA-Z_$][a-zA-Z\d_$]*$/u,Ce=e=>!Pl.test(e),z=e=>Ce(e)?`"${e}"`:e;function pe(e,t){let n=[],r=[],i=!1;t?.forEach(c=>{if(c.kind!=="field"||c.readonly)return;let d=c;if(d.getterTypeDiffers){i=!0;return}d.docsTags?.some(u=>u.name==="required")?n.push(c.name):r.push(c.name)});let o=Oi(n),s=Oi(r),a=[o?`Required<Pick<${e}, ${o}>>`:"",s?`Partial<Pick<${e}, ${s}>>`:"",i?`${e}SetterTypes`:""],p=i?`
51
- type ${e}SetterTypes = ${e}["${Vt}"]`:"",l=a.filter(Boolean).join(", ");return[l.length===0?"":`${l}, `,p]}var Oi=e=>e.map(t=>`'${t}'`).join(" | ");function V(e,t,n){if(we(n))return Wi(e,n);let r=x.isCallExpression(n)?Mi(e,n):n,i=x.visitEachChild(r,V.bind(null,e,t!==void 0&&x.isBinaryExpression(t)?void 0:n),e.transformationContext);return t!==void 0&&x.isBinaryExpression(n)&&(x.isJsxExpression(t)||we(Fe(n.right)))?kl(i):i}function Wi(e,t){let n=Hi(e,t);return Ve(n,e)}function Hi(e,t){let n="children"in t?t.children:[];if(x.isJsxFragment(t))return{key:void 0,...Pt(n,e)};let i=x.isJsxElement(t)?t.openingElement:t,o=i.tagName;if(x.isJsxNamespacedName(o)){let E=wt(e.sourceFile.fileName);throw new Error(`JSX namespaced elements are not supported. Found ${o.getText(e.sourceFile)} in "${E}"`)}if(!x.isIdentifier(o)||!o.text.startsWith(o.text[0].toLowerCase())&&o.text!==yt&&o.text!==gt){let b=x.isIdentifier(o)&&o.text===xi?Pt(n,e):{litTag:void 0,parts:[Fl(e,t,o,n)]};return{key:Dl(i,e),...b}}let a=o.text===yt?he:o.text===gt?He:o.text,p=o.text===yt?se:o.text===gt?X:vi.has(a)?hn:Pe.has(a)?ae:Q,l;typeof a=="string"&&a.includes("-")&&!Tt.has(a)&&(e.customElementsToImport.add(a),e.compiler.viteCommand==="build"&&(l=Il(e,a)));let c,d=[],m=i.attributes.properties.flatMap(E=>{if(x.isJsxSpreadAttribute(E))throw new Error(`JSX spread attribute syntax is not supported. See alternatives: https://qawebgis.esri.com/components/lumina/jsx#spread-attributes
52
- Found ${E.getText(e.sourceFile)}`);let{name:b,initializer:$}=E;if(x.isJsxNamespacedName(b)){let Me=wt(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${b.getText(e.sourceFile)} in "${Me}"`)}let j=b.text,Bt=ki($),me=Bt?.propType??Ii(j,$,a);l?.delete(j);let Z=Di[me](e,Bt?.initializer??$,j,a);if(Z.length===0)return[];let $e=e.compiler.shouldMinifyJsx?" ":Li(An(b,e));return me==="key"?(c=typeof Z[0]=="object"&&!Fn(b,e)?Z[0]:void 0,Array.isArray($e)&&$e.some(Ni)?$e:[]):me==="directives"||me==="ref"?(d.push(...$e,...Z.flatMap((Me,Xn)=>typeof Me=="string"||Xn===0||typeof Z[Xn-1]=="string"?Me:[" ",Me])),[]):[...$e,...Z]});if(l!==void 0&&l.size>0&&e.compiler.logLintError("mustIncludeAllRequiredProperties",e.sourceFile.fileName,`Missing required properties for <${a}> in ${e.sourceFile.fileName.slice(e.compiler.dir.root.length)}: ${Array.from(l).join(", ")}`),d.length>0&&m.push(...d),typeof a=="string"&&Ae.has(a))throw new Error(`JSX syntax for MathML elements is not yet supported. If you need it, please request it. Otherwise, use the \`math\` function from Lit directly. Tried to use the "${a}" element`);let u=typeof a=="string"&&Si.has(a),f=Pt(n,e);if(u&&f.parts.length>0){let E=wt(e.sourceFile.fileName);throw new Error(`Void HTML elements like <${a}> cannot have children. Found ${t.getText(e.sourceFile)} in "${E}"`)}let h=(p===ae||p===X)&&f.parts.length===0,y=["<",typeof a=="string"?a:o,...m,h?`${m.length===0?"":" "}/>`:">"],T=u||h?y:[...y,...f.litTag!==void 0&&f.litTag!==p?[Ve({key:void 0,...f},e)]:f.parts,"</",typeof a=="string"?a:o,">"];return{key:c,parts:T,litTag:p}}function Dl(e,t){let n=e.attributes.properties[kn(e)];return n&&x.isJsxAttribute(n)&&!Fn(n.name,t)?_e(n.initializer,t.sourceFile):void 0}var kn=e=>e.attributes.properties.findIndex(({name:t})=>t&&x.isIdentifier(t)&&t.text==="key");function Fl(e,t,n,r){let o=(x.isJsxElement(t)?t.openingElement:t).attributes.properties.map(p=>{if(x.isJsxSpreadAttribute(p))return Dn(An(p,e),x.factory.createSpreadAssignment(p.expression));let{name:l,initializer:c}=p;if(x.isJsxNamespacedName(l)){let u=wt(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${l.getText(e.sourceFile)} in "${u}"`)}if(l.text==="key")return;let d=c===void 0?x.factory.createTrue():x.isStringLiteral(c)?c:we(c)?Wi(e,c):V(e,void 0,c.expression??x.factory.createIdentifier("undefined")),m=Ce(l.text)?x.factory.createStringLiteral(l.text):l;return x.factory.createPropertyAssignment(m,d)}),{parts:s,litTag:a}=Pt(r,e);return s.length>0&&o.push(x.factory.createPropertyAssignment(x.factory.createIdentifier("children"),Ve({key:void 0,parts:s,litTag:a},e))),x.factory.createCallExpression(n,void 0,[x.factory.createObjectLiteralExpression(o.filter(Al))])}function Pt(e,t){let n,r=e.flatMap(i=>{if(x.isJsxText(i))return[t.compiler.shouldMinifyJsx?Pr(i.text):i.text];if(x.isJsxExpression(i))return St(t,i,i);{let o=Hi(t,i);if(o.key===void 0&&o.litTag!==se&&o.litTag!==X){if(o.litTag===hn)return o.parts;if(n!==void 0&&o.litTag!==void 0&&n!==o.litTag)throw new Error(`Unexpectedly found both ${n} and ${o.litTag} child elements inside the same element.`);return n=o.litTag,o.parts}else return[Ve(o,t)]}});return{litTag:n,parts:r}}function kl(e){return e.operatorToken.kind===x.SyntaxKind.AmpersandAmpersandToken?x.factory.createBinaryExpression(e,x.factory.createToken(x.SyntaxKind.BarBarToken),x.factory.createStringLiteral("")):e}function St(e,t,n){if(t.expression===void 0){if(e.compiler.shouldMinifyJsx)return[];let r=t.getText(e.sourceFile).slice(1,-1);return vt(r).length===0?[]:[Dn(r,x.factory.createIdentifier("undefined"))]}return x.isStringLiteral(t.expression)?[rt(t.expression.text)]:e.compiler.viteCommand==="serve"&&e.compiler.typeScriptConfig.sourceMap&&!e.compiler.shouldMinifyJsx&&x.isArrowFunction(t.expression)&&!x.isBlock(t.expression.body)?[V(e,n,x.factory.updateArrowFunction(t.expression,t.expression.modifiers,t.expression.typeParameters,t.expression.parameters,t.expression.type,t.expression.equalsGreaterThanToken,x.factory.createBlock([x.factory.createReturnStatement(t.expression.body)],!0)))]:[V(e,n,t.expression)]}function Il(e,t){if(t in e.localComponents)for(let r of e.compiler.privateApiJson.modules)for(let i of r.declarations){if(!("customElement"in i)||i.tagName!==t)continue;let o=new Set;for(let s of i.members)s.kind==="field"&&s.docsTags?.some(a=>a.name==="required")===!0&&o.add(s.name);return o}}import N from"typescript";import{path as In}from"@arcgis/components-build-utils";var Ki=e=>e.reduce((t,[n,r])=>(t[n]??=[],t[n].push(r),t),{}),ze={[Q]:["lit-html","lit/html.js","lit"],[se]:["lit-html/static.js","lit/static-html.js"],[ae]:["lit-html","lit/html.js","lit"],[X]:["lit-html/static.js","lit/static-html.js"],[xn]:["lit-html","lit/html.js","lit"],[Cn]:["@lit/reactive-element/css-tag.js","@lit/reactive-element","lit"],safeClassMap:["@arcgis/lumina"],safeStyleMap:["@arcgis/lumina"],keyed:["lit-html/directives/keyed.js","lit/directives/keyed.js"],live:["lit-html/directives/live.js","lit/directives/live.js"],repeat:["lit-html/directives/repeat.js","lit/directives/repeat.js"],ref:["lit-html/directives/ref.js","lit/directives/ref.js"],nothing:["lit-html","lit/html.js","lit-element/lit-element.js","lit","@arcgis/lumina"]},_i=Ki(Object.entries(ze).flatMap(([e,t])=>t.map(n=>[n,e]))),At=new Set(Object.keys(_i));function Ui(e,t){let n=t.importClause,r=t.moduleSpecifier;if(!N.isStringLiteral(r))return t;let i=Nl(e.sourceFile.fileName,r.text,""),o=!n?.isTypeOnly;if(o&&e.existingImportedModules.add(i),n===void 0)return t;if(n.name!==void 0){let p=n.name.text,l=n.name.text.startsWith(p[0].toUpperCase()),c=In.isAbsolute(i);o&&!n.isTypeOnly&&l&&c&&e.importedFunctionComponentsFromModules.add(i)}let s=n.namedBindings;if(s===void 0||!N.isNamedImports(s))return t;let a=At.has(r.text);return s.elements.forEach(p=>{let l=(p.propertyName??p.name).text,c=ze[l];if(a){if(c?.some(u=>u===r.text)){let u=Vi(l,i);e.existingLitImports.add(u),e.importRenames[u]=p.name?.text??u}}else(p.name.text==="h"||p.name.text==="createElement")&&(e.hasNonLuminaJsxImport=!0);let d=l.startsWith(l[0].toUpperCase()),m=In.isAbsolute(i);o&&!p.isTypeOnly&&d&&m&&e.importedFunctionComponentsFromModules.add(i)}),t}var Vi=(e,t)=>e===Q&&ze.staticHtml.includes(t)?se:e===ae&&ze.staticSvg.includes(t)?X:e,Nl=(e,t,n)=>t.startsWith(".")?In.resolve(e,"..",`${t}${n}`):t;function zi(e){return N.isImportDeclaration(e)?Ll(this,e):e}function Ll(e,t){let n=t.importClause,r=n?.namedBindings,i=t.moduleSpecifier;if(!N.isStringLiteral(i)||!r||!N.isNamedImports(r)||!At.has(i.text))return t;let o=n.isTypeOnly,s=!1,a=r.elements.map(p=>{let l=(p.propertyName??p.name).text,c=Vi(l,i.text);return e.neededImports.has(c)?(e.existingLitImports.delete(c),e.neededImports.delete(c),s=!0,N.factory.updateImportSpecifier(p,!1,p.propertyName,p.name)):o?N.factory.updateImportSpecifier(p,!0,p.propertyName,p.name):p});return _i[i.text]?.forEach(p=>{!e.neededImports.has(p)||e.existingLitImports.has(p)||(e.neededImports.delete(p),s=!0,a.push(Gi(p,e)))}),s?N.factory.updateImportDeclaration(t,t.modifiers,N.factory.updateImportClause(n,!1,n.name,N.factory.updateNamedImports(r,a)),t.moduleSpecifier,t.attributes):t}function qi(e){let t=Ki(Array.from(e.neededImports,n=>[ze[n][0],n]));return Object.entries(t).map(([n,r])=>N.factory.createImportDeclaration(void 0,N.factory.createImportClause(!1,void 0,N.factory.createNamedImports(r.map(i=>(e.neededImports.delete(i),Gi(i,e))))),N.factory.createStringLiteral(n)))}function Gi(e,t){let n=e===se?Q:e===X?ae:e,r=t.importRenames[e];return r===n?N.factory.createImportSpecifier(!1,void 0,N.factory.createIdentifier(n)):N.factory.createImportSpecifier(!1,N.factory.createIdentifier(n),N.factory.createIdentifier(r))}import{path as Rl,toSystemPathSeparators as $l}from"@arcgis/components-build-utils";function Xi(e){let t=yi().map(({packageName:n})=>n);return e.existingImportedModules.forEach(n=>{if(Rl.isAbsolute(n))return;let{packageName:r,moduleName:i}=en(n);if(t.includes(r??"")&&(i.startsWith("dist/components")||i.startsWith("components"))){let o=$l(e.sourceFile.fileName);throw new Error(`Did not expect to find any explicit imports for "${n}". Found import in ${o}. Imports for web components that your component consumes will be added automatically at build-time as appropriate for a given output target. Type-only imports are still allowed. If you believe this is an error, please notify Lumina maintainers.`)}}),[]}function Qi(e){if(e.compiler.viteCommand==="serve")return e.customElementsToImport.clear(),[];let t=e.compiler._customElementDependencies;return t[e.sourceFile.fileName]??={referencedBy:[],referencedTagNames:[]},t[e.sourceFile.fileName].referencedTagNames=Array.from(e.customElementsToImport),e.customElementsToImport.clear(),e.importedFunctionComponentsFromModules.forEach(n=>{let r=`${n}.tsx`;t[r]??={referencedBy:[],referencedTagNames:[]},t[r].referencedBy.push(e.sourceFile.fileName)}),[]}import{path as Ml,toSystemPathSeparators as Jl}from"@arcgis/components-build-utils";function Yi(e,t,n){let r=ft()[t]??Nn(e)[t];if(r===void 0){let i=Jl(n);throw new Error(`Unable to resolve the definition of the "${t}" custom element. Used in ${i}. If this is coming from an external package, make sure that package is installed as a peerDependency or a dependency. If in development-only you wish to use a component package that is defined as a devDependency, then provide serve.extraDependencies option to useLumina()`)}return r}function Zi(e,t){return e.packageName===void 0?q(t,e.moduleName):Ml.join(e.packageName,e.moduleName)}function Nn(e){return e._localDefinedComponents??=yn(e.privateApiJson,{packageName:void 0,getImportPath(){throw new Error("Not supposed to be called for local components")}}),e._localDefinedComponents}var eo=(e,t)=>{let n=e.pragmas;if(n?.has("jsx")===!0||n?.has("jsxImportSource")===!0)return e.statements;let r={compiler:t.compiler,externalComponents:ft(),localComponents:t.compiler.isInPuppeteerTestBackEnd?{}:Nn(t.compiler),sourceFile:e,transformationContext:t.transformation,importRenames:Ol(e),existingImportedModules:new Set,importedFunctionComponentsFromModules:new Set,existingLitImports:new Set,customElementsToImport:new Set,neededImports:new Set,liftedKeys:new Set,hasNonLuminaJsxImport:!1};if(e.statements.forEach(a=>{jl.isImportDeclaration(a)&&Ui(r,a)}),r.hasNonLuminaJsxImport)return e.statements;let o=V(r,void 0,e).statements;if(r.neededImports.size>0&&(o=o.map(zi,r),r.existingLitImports.size>0))throw new Error(`Expected context.existingLitImports to be empty by now. Found: ${Array.from(r.existingLitImports).join(", ")}`);let s=[qi,Xi,Qi].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,...o]};function Ol(e){return Bl(e),Object.fromEntries(Ci.map(t=>[t,e.identifiers.has(t)?`${t}$jsx`:t]))}function Bl(e){if(!("identifiers"in e))throw new Error("Expected sourceFile to have an undocumented identifiers property that is a Map<string,string>. If this error is thrown, it may mean Lumina Compiler needs to be updated to support the version of TypeScript being used.")}import k from"typescript";import M from"typescript";import{PropertyFlags as le}from"@arcgis/lumina/config";function to(e,t,n){return t.size===0?e:[M.factory.createPropertyDeclaration([M.factory.createModifier(M.SyntaxKind.StaticKeyword),M.factory.createModifier(M.SyntaxKind.OverrideKeyword)],"properties",void 0,void 0,M.factory.createObjectLiteralExpression(Array.from(t.entries()).map(([r,i])=>M.factory.createPropertyAssignment(Ce(r)?M.factory.createStringLiteral(r):r,Wl(i,n))))),...e]}function Wl(e,t){let n=0,r=!0,i=e.properties.filter(a=>{if(!M.isPropertyAssignment(a)||!M.isIdentifier(a.name))return!0;let p=a.name.text,l=a.initializer,c=l.kind===M.SyntaxKind.TrueKeyword,d=l.kind===M.SyntaxKind.FalseKeyword;if(p==="attribute")return r=!1,n|=c?le.ATTRIBUTE:0,!c&&!d;if(p==="reflect")return n|=c?le.REFLECT:0,!1;if(p==="type"&&M.isIdentifier(l)){if(l.text==="Boolean")return n|=le.BOOLEAN,!1;if(l.text==="Number")return n|=le.NUMBER,!1}else{if(p==="state")return r=!1,n|=c?le.STATE:0,!1;if(p==="readOnly")return n|=c?le.READ_ONLY:0,!1;p==="noAccessor"&&(n|=c?le.NO_ACCESSOR:0)}return!0});r&&(n|=le.ATTRIBUTE);let o=t?i:e.properties,s=M.factory.createNumericLiteral(n);return o.length===0?s:M.factory.createArrayLiteralExpression([s,M.factory.createObjectLiteralExpression(o)])}import{identity as Vl}from"@arcgis/components-utils";import J from"typescript";import I from"typescript";function no(e,t,n,r,i){let o=-1,s=-1,a=-1;t.options?.properties.forEach((m,u)=>{if(I.isSpreadAssignment(m))throw new Error(`Spread property assignment is not allowed in @property() as that is not statically analyzable. Found ${m.getText(r)}`);if(I.isIdentifier(m.name)){let f=m.name.text;f==="type"?o=u:f==="attribute"?s=u:f==="readOnly"&&(a=u)}});let p=i?.attribute===void 0&&s===-1,l=i?.readonly===!0&&i.docsOnlyReadonly!==!0&&a===-1,c=Hl(e,t,n,i,o),d=[...p?[I.factory.createPropertyAssignment("attribute",I.factory.createFalse())]:[],...l?[I.factory.createPropertyAssignment("readOnly",I.factory.createTrue())]:[],...c!==void 0?[c]:[]];return d.length>0?t.options===void 0?I.factory.createObjectLiteralExpression(d,!1):I.factory.updateObjectLiteralExpression(t.options,[...t.options.properties,...d]):t.options}function Hl(e,t,n,r,i){if(r?.attribute===void 0)return;let o=_l(e),s=n.compiler.viteCommand==="serve"||o!=="Other"?o:Kl(r.type.values);return s==="Other"||r.readonly&&(s!=="Boolean"||!r.reflects)||t.options?.properties[i]!==void 0?void 0:I.factory.createPropertyAssignment(I.factory.createIdentifier("type"),I.factory.createIdentifier(s))}function Kl(e){let t=!1,n=!1,r=!1;if(e?.forEach(i=>{t||=i.type==="number",n||=i.type==="boolean",r||=i.type==="string"||i.type==="any"||i.type==="unknown"}),r||=t&&n,!r){if(t)return"Number";if(n)return"Boolean"}return"Other"}function _l(e){let t=e.type??(I.isSetAccessor(e)?e.parameters[0].type:void 0);if(t===void 0){if("initializer"in e&&e.initializer!==void 0){if(I.isNumericLiteral(e.initializer)||I.isPrefixUnaryExpression(e.initializer)&&e.initializer.operator===I.SyntaxKind.MinusToken&&I.isNumericLiteral(e.initializer.operand))return"Number";if(e.initializer.kind===I.SyntaxKind.FalseKeyword||e.initializer.kind===I.SyntaxKind.TrueKeyword)return"Boolean"}}else{if(t.kind===I.SyntaxKind.NumberKeyword)return"Number";if(t.kind===I.SyntaxKind.BooleanKeyword)return"Boolean"}return"Other"}import{getMemberName as oo}from"@arcgis/api-extractor";function so(e,t,n,r,i){if(t.modifiers===void 0)return t;let o=-1,s=-1;if(t.modifiers.forEach((a,p)=>{if(J.isDecorator(a)&&J.isCallExpression(a.expression)&&J.isIdentifier(a.expression.expression)){let l=a.expression.expression.text;l==="property"&&(o=p),l==="state"&&(s=p)}}),o!==-1){let a=Ul(e,t,n,r),p=ro(t,o,r),l=no(t,p,e,r,a),c=!1;return i!==void 0&&a&&(i.set(a.name,l??J.factory.createObjectLiteralExpression()),c=!0),p.options=l,io(t,p,o,c)}else if(s!==-1&&i!==void 0){let a=ro(t,s,r),p=J.factory.createPropertyAssignment("state",J.factory.createTrue()),l=a.options===void 0?J.factory.createObjectLiteralExpression([p]):J.factory.updateObjectLiteralExpression(a.options,[...a.options.properties,p]),c=oo(t.name);if(c===void 0)throw new Error("Failed to statically determine the state property name");return i.set(c,l),io(t,a,s,!0)}else return t}function Ul(e,t,n,r){let i=e.apiModule?.declarations.find(s=>s.name===n)??(e.compiler.isInTest?{name:"",members:[]}:void 0);if(i===void 0)return;let o=lr(i,t)??(e.compiler.isInTest?{kind:"field",attribute:"",readonly:!1,name:"",type:{text:""}}:void 0);if(!(o===void 0||o.kind!=="field")){if(o.name===""){let s=oo(t.name);if(s===void 0)throw new Error(`Failed to statically determine the property name: ${t.getText(r)}`);o.name=s}return o}}function ro(e,t,n){let r=e.modifiers[t],i=r.expression,o=i.arguments.at(0);if(o&&!J.isObjectLiteralExpression(o))throw new Error(`First argument to @property() or @state() decorator must be an object literal as otherwise it is not statically analyzable. Found ${o.getText(n)}`);return{decorator:r,callExpression:i,options:o}}function io(e,t,n,r){let i=r?void 0:J.factory.updateDecorator(t.decorator,J.factory.updateCallExpression(t.callExpression,t.callExpression.expression,t.callExpression.typeArguments,t.options===void 0?[]:[t.options])),o=[...e.modifiers.slice(0,n),...i===void 0?[]:[i],...e.modifiers.slice(n+1)];return J.isGetAccessorDeclaration(e)?J.factory.updateGetAccessorDeclaration(e,o,e.name,e.parameters,e.type,e.body):J.isSetAccessorDeclaration(e)?J.factory.updateSetAccessorDeclaration(e,o,e.name,e.parameters,e.body):J.factory.updatePropertyDeclaration(e,o,e.name,e.questionToken??e.exclamationToken,e.type,e.initializer)}var ao=(e,t)=>{if(t.apiModule===void 0&&!t.compiler.isInTest)return e.statements;let n;function r(){n=new Map}let i=a=>to(a,n,t.compiler.shouldMinify),o=(a,p)=>ql(t,a,p,e,n);return e.statements.map(a=>po(o,a,t,r,i))};function po(e,t,n,r,i=Vl){if(k.isClassDeclaration(t)&&t.heritageClauses?.some(s=>s.token===k.SyntaxKind.ExtendsKeyword)){let s=!1,a=t.name?.text;r?.();let p=i(t.members.map(c=>{let d=e(c,a);return s||=d!==c,d}));return s?k.factory.updateClassDeclaration(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,p):t}return n.compiler.isInTest?k.visitEachChild(t,s=>po(e,s,n,r,i),n.transformation):t}var zl=new Set(["connectedCallback","disconnectedCallback"]);function ql(e,t,n,r,i){if(k.isMethodDeclaration(t)){let o=t.modifiers?.filter(s=>!k.isDecorator(s)||!Gl(s));if(o?.length!==t.modifiers?.length)return k.factory.updateMethodDeclaration(t,o,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,t.body);if("text"in t.name&&zl.has(t.name.text)&&t.body){let s=t.name.text;return t.body.statements.some(p=>k.isExpressionStatement(p)&&k.isCallExpression(p.expression)&&k.isPropertyAccessExpression(p.expression.expression)&&p.expression.expression.expression.kind===k.SyntaxKind.SuperKeyword&&p.expression.expression.name.text===s)?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(),s),void 0,[])),...t.body.statements]))}}return k.isPropertyDeclaration(t)||k.isAccessor(t)?so(e,t,n,r,i):t}var Gl=e=>k.isCallExpression(e.expression)&&k.isIdentifier(e.expression.expression)&&e.expression.expression.text==="method";import{path as mo}from"@arcgis/components-build-utils";var lo="makeRuntime(";function co(e,t){let n=e.indexOf(lo);if(n===-1)throw new Error("Failed to find makeRuntime() function call in src/runtime.ts");let r=n+lo.length,i=t.options.css?.commonStylesPath;return{code:[i===void 0?"":`import commonStyles from "${q(t.dir.src,i)}";`,e.slice(0,r),"{","defaultAssetPath:import.meta.env.BASE_URL,",'hydratedAttribute:"',t.options.css?.hydratedAttribute??nn,'",',i===void 0?"":"commonStyles","}",e.slice(r)].join(""),map:null}}var Ql=[eo,or,ao],uo=e=>({name:"@arcgis/lumina:transformComponents",transform:{order:"pre",async handler(t,n){if(!n.endsWith(".tsx")){if(e.isInTest&&n.endsWith(".ts")&&Je(n)&&t.includes("extends LitElement"))console.warn("It looks like you may be trying to define a component inside a test file. This is supported, but you must use the .tsx file extension for you test");else if(n===`${e.dir.src}runtime.ts`)return co(t,e);return}let r=e.getSourceFile(n,t);await oe;let o=Xl.transform(r,[m=>()=>et(e,m,r,[...e.options.types?.sourceFileTransformers??[],...Ql])]).transformed[0],s=e._compilerOptionsForPrinter,a=e._typeScriptPrinter,p=s.sourceMap?fe.createSourceMapGenerator(e.typeScriptHost,mo.basename(n),"",mo.dirname(n),s):void 0,l=fe.createTextWriter(fe.getNewLineCharacter(s));a.writeFile(o,l,p);let c=l.getText(),d=p?.toJSON();return{code:c,map:d??null}}}});function fo(e){let t=e.typeScriptConfig;return{...t,declaration:!1,declarationMap:!1,emitDeclarationOnly:!1,sourceMap:t.sourceMap??t.inlineSourceMap,inlineSourceMap:!1,allowSyntheticDefaultImports:!0,suppressOutputPathCheck:!0,noLib:!0,noResolve:!0,skipLibCheck:!0}}function go(e){let t=e.options.types?.tsconfigPath,n=t&&yo.isAbsolute(t)?t:Yl(t??"tsconfig.json");if(n===void 0)throw new Error(`Unable to find ${Zl(String(t))} in ${process.cwd()}. Please make sure the file exists, or provide types.tsconfigPath option to useLumina()`);let r=H.readConfigFile(n,H.sys.readFile);if(r.error!==void 0)throw new Error(H.formatDiagnosticsWithColorAndContext([r.error],{getCanonicalFileName:tc,getCurrentDirectory:H.sys.getCurrentDirectory,getNewLine:()=>H.sys.newLine}));let i={...r.config,include:[],files:[],exclude:[]},o=H.parseJsonConfigFileContent(i,H.sys,yo.dirname(n));e.typeScriptConfig=o.options,e.typeScriptConfigPath=n}function Dt(e){let t=e.target;if(t===void 0)throw new Error('TypeScript config must have a "target" property specified (or any parent tsconfig.json file if this config is extending another tsconfig.json)');let n=H.ScriptTarget[t].toLowerCase();return n==="latest"?"esnext":n}function ho(e,t){if(e.isInStorybook&&e.viteCommand==="serve"){let n=(s,a,p,...l)=>{let c=s.filter(d=>(!d.includes(".stories.")||d.endsWith(".tsx"))&&!Je(d));return e.typeScriptHost=p,H.createAbstractBuilder(c,a,p,...l)},r=H.createWatchCompilerHost(e.typeScriptConfigPath,{preserveWatchOutput:!0},H.sys,n),i=50,o=r.setTimeout;r.setTimeout=o===void 0?void 0:(s,a,...p)=>o(s,p[0]==="timerToUpdateProgram"?i:a,...p),r.afterProgramCreate=s=>{e.typeScriptProgram=s.getProgram(),e.typeScriptTypeChecker=e.typeScriptProgram.getTypeChecker(),e._typeScriptReload?.resolve(),e._typeScriptReload=new ec},e.typeScriptWatchProgram=H.createWatchProgram(r),e.typeScriptConfig=e.typeScriptProgram.getCompilerOptions()}e.typeScriptConfig.sourceMap=t,e._compilerOptionsForPrinter=fo(e),e._typeScriptPrinter=ot(e._compilerOptionsForPrinter)}import{writeFile as sc}from"node:fs/promises";import{asyncRetrievePackageJson as nc,fetchPackageLocation as rc,retrievePackageJson as ic}from"@arcgis/components-build-utils";var Ln="@arcgis/core",Co=ic(),qe=Ln in(Co.dependencies??{})||Ln in(Co.peerDependencies??{});async function To(e,t){if(!qe)return[];let n=await rc(Ln);if(t==="storybookBuild"){let r=await nc(n),i=G({name:"",version:r.version},!0);return[{tag:"script",attrs:{type:"importmap"},children:JSON.stringify({imports:{"@arcgis/core/":`${i}@arcgis/core/`}})},xo(i)]}else return[xo(Ee(e,`${n}/assets/`))]}var xo=e=>({cssHref:`${e}esri/themes/light/main.css`,id:"arcgisCoreStylesheet"});var $n=new Set(["chunks","components","docs","types","controllers","cjs","esm","loader","utils","collection","extras","support"]),ke="cdn";function So(e){let{skip:t=!1,namespace:n=ke,esbuildOptions:r={}}=e.options.build?.cdn??{};if(n.toLowerCase()!==n)throw new Error(`Expected CDN namespace to be all lowercase. Received: ${n}`);if($n.has(n))throw new Error(`Namespace name "${n}" is restricted as it collides with a well-known Lumina dist/ folder name or Stencil dist/ folder name.`);let i=n===ke?"index":n;if(e.provideAssets([{type:"dynamic",source:()=>Yr(e),destination:`../${i}.css`}]),!t)return{name:"@arcgis/lumina:buildCdn",async writeBundle(){if(e.isInStorybook)return;let o=Date.now(),s=await ac(e,i,r);await pc(s,i);let a=Date.now();console.log(`CDN was built in ${a-o}ms`)}}}async function ac(e,t,n){let r=e.environment;return await oc({bundle:!0,minify:r==="production",treeShaking:!0,sourcemap:r==="development"?"inline":e.options.build?.enableSourceMapsInProduction?"linked":!1,format:"esm",splitting:!0,write:!1,outdir:e.dir.distCdn,legalComments:"none",logLevel:"warning",external:["@arcgis/core"],chunkNames:"[hash]",resolveExtensions:[".js",".json"],entryNames:Eo(t),banner:{js:e.banner},target:Dt(e.typeScriptConfig),...n,plugins:[...e.options.build?.ssr?.stencilCompatibility?.enabled===!0?[{name:"@arcgis/lumina:drop-lit-ssr-import",setup(i){i.onResolve({filter:/^@lit-labs\/ssr-client\//u},o=>({path:o.path,namespace:"@arcgis/lumina:drop-lit-ssr-import"})),i.onLoad({filter:/^/u,namespace:"@arcgis/lumina:drop-lit-ssr-import"},()=>({contents:'""',loader:"json"}))}}]:[],...n?.plugins??[]],define:{"process.env.CDN":"true",...n.define},stdin:{contents:`import { defineCustomElements } from "./loader";
51
+ type ${e}SetterTypes = ${e}["${Vt}"]`:"",l=a.filter(Boolean).join(", ");return[l.length===0?"":`${l}, `,p]}var Oi=e=>e.map(t=>`'${t}'`).join(" | ");function V(e,t,n){if(Pe(n))return Wi(e,n);let r=x.isCallExpression(n)?Mi(e,n):n,i=x.visitEachChild(r,V.bind(null,e,t!==void 0&&x.isBinaryExpression(t)?void 0:n),e.transformationContext);return t!==void 0&&x.isBinaryExpression(n)&&(x.isJsxExpression(t)||Pe(ke(n.right)))?kl(i):i}function Wi(e,t){let n=Hi(e,t);return ze(n,e)}function Hi(e,t){let n="children"in t?t.children:[];if(x.isJsxFragment(t))return{key:void 0,...Pt(n,e)};let i=x.isJsxElement(t)?t.openingElement:t,o=i.tagName;if(x.isJsxNamespacedName(o)){let E=wt(e.sourceFile.fileName);throw new Error(`JSX namespaced elements are not supported. Found ${o.getText(e.sourceFile)} in "${E}"`)}if(!x.isIdentifier(o)||!o.text.startsWith(o.text[0].toLowerCase())&&o.text!==yt&&o.text!==gt){let b=x.isIdentifier(o)&&o.text===xi?Pt(n,e):{litTag:void 0,parts:[Fl(e,t,o,n)]};return{key:Dl(i,e),...b}}let a=o.text===yt?he:o.text===gt?Ke:o.text,p=o.text===yt?se:o.text===gt?X:vi.has(a)?hn:Ae.has(a)?ae:Q,l;typeof a=="string"&&a.includes("-")&&!Tt.has(a)&&(e.customElementsToImport.add(a),e.compiler.viteCommand==="build"&&(l=Il(e,a)));let c,d=[],m=i.attributes.properties.flatMap(E=>{if(x.isJsxSpreadAttribute(E))throw new Error(`JSX spread attribute syntax is not supported. See alternatives: https://qawebgis.esri.com/components/lumina/jsx#spread-attributes
52
+ Found ${E.getText(e.sourceFile)}`);let{name:b,initializer:$}=E;if(x.isJsxNamespacedName(b)){let Je=wt(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${b.getText(e.sourceFile)} in "${Je}"`)}let j=b.text,Bt=ki($),me=Bt?.propType??Ii(j,$,a);l?.delete(j);let Z=Di[me](e,Bt?.initializer??$,j,a);if(Z.length===0)return[];let Me=e.compiler.shouldMinifyJsx?" ":Li(An(b,e));return me==="key"?(c=typeof Z[0]=="object"&&!Fn(b,e)?Z[0]:void 0,Array.isArray(Me)&&Me.some(Ni)?Me:[]):me==="directives"||me==="ref"?(d.push(...Me,...Z.flatMap((Je,Xn)=>typeof Je=="string"||Xn===0||typeof Z[Xn-1]=="string"?Je:[" ",Je])),[]):[...Me,...Z]});if(l!==void 0&&l.size>0&&e.compiler.logLintError("mustIncludeAllRequiredProperties",e.sourceFile.fileName,`Missing required properties for <${a}> in ${e.sourceFile.fileName.slice(e.compiler.dir.root.length)}: ${Array.from(l).join(", ")}`),d.length>0&&m.push(...d),typeof a=="string"&&De.has(a))throw new Error(`JSX syntax for MathML elements is not yet supported. If you need it, please request it. Otherwise, use the \`math\` function from Lit directly. Tried to use the "${a}" element`);let u=typeof a=="string"&&Si.has(a),f=Pt(n,e);if(u&&f.parts.length>0){let E=wt(e.sourceFile.fileName);throw new Error(`Void HTML elements like <${a}> cannot have children. Found ${t.getText(e.sourceFile)} in "${E}"`)}let h=(p===ae||p===X)&&f.parts.length===0,y=["<",typeof a=="string"?a:o,...m,h?`${m.length===0?"":" "}/>`:">"],T=u||h?y:[...y,...f.litTag!==void 0&&f.litTag!==p?[ze({key:void 0,...f},e)]:f.parts,"</",typeof a=="string"?a:o,">"];return{key:c,parts:T,litTag:p}}function Dl(e,t){let n=e.attributes.properties[kn(e)];return n&&x.isJsxAttribute(n)&&!Fn(n.name,t)?Ue(n.initializer,t.sourceFile):void 0}var kn=e=>e.attributes.properties.findIndex(({name:t})=>t&&x.isIdentifier(t)&&t.text==="key");function Fl(e,t,n,r){let o=(x.isJsxElement(t)?t.openingElement:t).attributes.properties.map(p=>{if(x.isJsxSpreadAttribute(p))return Dn(An(p,e),x.factory.createSpreadAssignment(p.expression));let{name:l,initializer:c}=p;if(x.isJsxNamespacedName(l)){let u=wt(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${l.getText(e.sourceFile)} in "${u}"`)}if(l.text==="key")return;let d=c===void 0?x.factory.createTrue():x.isStringLiteral(c)?c:Pe(c)?Wi(e,c):V(e,void 0,c.expression??x.factory.createIdentifier("undefined")),m=Ce(l.text)?x.factory.createStringLiteral(l.text):l;return x.factory.createPropertyAssignment(m,d)}),{parts:s,litTag:a}=Pt(r,e);return s.length>0&&o.push(x.factory.createPropertyAssignment(x.factory.createIdentifier("children"),ze({key:void 0,parts:s,litTag:a},e))),x.factory.createCallExpression(n,void 0,[x.factory.createObjectLiteralExpression(o.filter(Al))])}function Pt(e,t){let n,r=e.flatMap(i=>{if(x.isJsxText(i))return[t.compiler.shouldMinifyJsx?Pr(i.text):i.text];if(x.isJsxExpression(i))return St(t,i,i);{let o=Hi(t,i);if(o.key===void 0&&o.litTag!==se&&o.litTag!==X){if(o.litTag===hn)return o.parts;if(n!==void 0&&o.litTag!==void 0&&n!==o.litTag)throw new Error(`Unexpectedly found both ${n} and ${o.litTag} child elements inside the same element.`);return n=o.litTag,o.parts}else return[ze(o,t)]}});return{litTag:n,parts:r}}function kl(e){return e.operatorToken.kind===x.SyntaxKind.AmpersandAmpersandToken?x.factory.createBinaryExpression(e,x.factory.createToken(x.SyntaxKind.BarBarToken),x.factory.createStringLiteral("")):e}function St(e,t,n){if(t.expression===void 0){if(e.compiler.shouldMinifyJsx)return[];let r=t.getText(e.sourceFile).slice(1,-1);return vt(r).length===0?[]:[Dn(r,x.factory.createIdentifier("undefined"))]}return x.isStringLiteral(t.expression)?[it(t.expression.text)]:e.compiler.viteCommand==="serve"&&e.compiler.typeScriptConfig.sourceMap&&!e.compiler.shouldMinifyJsx&&x.isArrowFunction(t.expression)&&!x.isBlock(t.expression.body)?[V(e,n,x.factory.updateArrowFunction(t.expression,t.expression.modifiers,t.expression.typeParameters,t.expression.parameters,t.expression.type,t.expression.equalsGreaterThanToken,x.factory.createBlock([x.factory.createReturnStatement(t.expression.body)],!0)))]:[V(e,n,t.expression)]}function Il(e,t){if(t in e.localComponents)for(let r of e.compiler.privateApiJson.modules)for(let i of r.declarations){if(!("customElement"in i)||i.tagName!==t)continue;let o=new Set;for(let s of i.members)s.kind==="field"&&s.docsTags?.some(a=>a.name==="required")===!0&&o.add(s.name);return o}}import k from"typescript";import{path as In}from"@arcgis/components-build-utils";var Ki=e=>e.reduce((t,[n,r])=>(t[n]??=[],t[n].push(r),t),{}),qe={[Q]:["lit-html","lit/html.js","lit"],[se]:["lit-html/static.js","lit/static-html.js"],[ae]:["lit-html","lit/html.js","lit"],[X]:["lit-html/static.js","lit/static-html.js"],[xn]:["lit-html","lit/html.js","lit"],[Cn]:["@lit/reactive-element/css-tag.js","@lit/reactive-element","lit"],safeClassMap:["@arcgis/lumina"],safeStyleMap:["@arcgis/lumina"],keyed:["lit-html/directives/keyed.js","lit/directives/keyed.js"],live:["lit-html/directives/live.js","lit/directives/live.js"],repeat:["lit-html/directives/repeat.js","lit/directives/repeat.js"],ref:["lit-html/directives/ref.js","lit/directives/ref.js"],nothing:["lit-html","lit/html.js","lit-element/lit-element.js","lit","@arcgis/lumina"]},_i=Ki(Object.entries(qe).flatMap(([e,t])=>t.map(n=>[n,e]))),At=new Set(Object.keys(_i));function Ui(e,t){let n=t.importClause,r=t.moduleSpecifier;if(!k.isStringLiteral(r))return t;let i=Nl(e.sourceFile.fileName,r.text,""),o=!n?.isTypeOnly;if(o&&e.existingImportedModules.add(i),n===void 0)return t;if(e.isInLightDomComponent&&r.text.startsWith(".")&&ve.test(r.text)&&!r.text.includes("?"))return k.factory.updateImportDeclaration(t,t.modifiers,n,k.factory.createStringLiteral(r.text+B),t.attributes);if(n.name!==void 0){let p=n.name.text,l=n.name.text.startsWith(p[0].toUpperCase()),c=In.isAbsolute(i);o&&!n.isTypeOnly&&l&&c&&e.importedFunctionComponentsFromModules.add(i)}let s=n.namedBindings;if(s===void 0||!k.isNamedImports(s))return t;let a=At.has(r.text);return s.elements.forEach(p=>{let l=(p.propertyName??p.name).text,c=qe[l];if(a){if(c?.some(u=>u===r.text)){let u=Vi(l,i);e.existingLitImports.add(u),e.importRenames[u]=p.name?.text??u}}else(p.name.text==="h"||p.name.text==="createElement")&&(e.hasNonLuminaJsxImport=!0);let d=l.startsWith(l[0].toUpperCase()),m=In.isAbsolute(i);o&&!p.isTypeOnly&&d&&m&&e.importedFunctionComponentsFromModules.add(i)}),t}var Vi=(e,t)=>e===Q&&qe.staticHtml.includes(t)?se:e===ae&&qe.staticSvg.includes(t)?X:e,Nl=(e,t,n)=>t.startsWith(".")?In.resolve(e,"..",`${t}${n}`):t;function zi(e){return k.isImportDeclaration(e)?Ll(this,e):e}function Ll(e,t){let n=t.importClause,r=n?.namedBindings,i=t.moduleSpecifier;if(!k.isStringLiteral(i)||!r||!k.isNamedImports(r)||!At.has(i.text))return t;let o=n.isTypeOnly,s=!1,a=r.elements.map(p=>{let l=(p.propertyName??p.name).text,c=Vi(l,i.text);return e.neededImports.has(c)?(e.existingLitImports.delete(c),e.neededImports.delete(c),s=!0,k.factory.updateImportSpecifier(p,!1,p.propertyName,p.name)):o?k.factory.updateImportSpecifier(p,!0,p.propertyName,p.name):p});return _i[i.text]?.forEach(p=>{!e.neededImports.has(p)||e.existingLitImports.has(p)||(e.neededImports.delete(p),s=!0,a.push(Gi(p,e)))}),s?k.factory.updateImportDeclaration(t,t.modifiers,k.factory.updateImportClause(n,!1,n.name,k.factory.updateNamedImports(r,a)),t.moduleSpecifier,t.attributes):t}function qi(e){let t=Ki(Array.from(e.neededImports,n=>[qe[n][0],n]));return Object.entries(t).map(([n,r])=>k.factory.createImportDeclaration(void 0,k.factory.createImportClause(!1,void 0,k.factory.createNamedImports(r.map(i=>(e.neededImports.delete(i),Gi(i,e))))),k.factory.createStringLiteral(n)))}function Gi(e,t){let n=e===se?Q:e===X?ae:e,r=t.importRenames[e];return r===n?k.factory.createImportSpecifier(!1,void 0,k.factory.createIdentifier(n)):k.factory.createImportSpecifier(!1,k.factory.createIdentifier(n),k.factory.createIdentifier(r))}import{path as Rl,toSystemPathSeparators as $l}from"@arcgis/components-build-utils";function Xi(e){let t=yi().map(({packageName:n})=>n);return e.existingImportedModules.forEach(n=>{if(Rl.isAbsolute(n))return;let{packageName:r,moduleName:i}=en(n);if(t.includes(r??"")&&(i.startsWith("dist/components")||i.startsWith("components"))){let o=$l(e.sourceFile.fileName);throw new Error(`Did not expect to find any explicit imports for "${n}". Found import in ${o}. Imports for web components that your component consumes will be added automatically at build-time as appropriate for a given output target. Type-only imports are still allowed. If you believe this is an error, please notify Lumina maintainers.`)}}),[]}function Qi(e){if(e.compiler.viteCommand==="serve")return e.customElementsToImport.clear(),[];let t=e.compiler._customElementDependencies;return t[e.sourceFile.fileName]??={referencedBy:[],referencedTagNames:[]},t[e.sourceFile.fileName].referencedTagNames=Array.from(e.customElementsToImport),e.customElementsToImport.clear(),e.importedFunctionComponentsFromModules.forEach(n=>{let r=`${n}.tsx`;t[r]??={referencedBy:[],referencedTagNames:[]},t[r].referencedBy.push(e.sourceFile.fileName)}),[]}import{path as Ml,toSystemPathSeparators as Jl}from"@arcgis/components-build-utils";function Yi(e,t,n){let r=ft()[t]??Nn(e)[t];if(r===void 0){let i=Jl(n);throw new Error(`Unable to resolve the definition of the "${t}" custom element. Used in ${i}. If this is coming from an external package, make sure that package is installed as a peerDependency or a dependency. If in development-only you wish to use a component package that is defined as a devDependency, then provide serve.extraDependencies option to useLumina()`)}return r}function Zi(e,t){return e.packageName===void 0?q(t,e.moduleName):Ml.join(e.packageName,e.moduleName)}function Nn(e){return e._localDefinedComponents??=yn(e.privateApiJson,{packageName:void 0,getImportPath(){throw new Error("Not supposed to be called for local components")}}),e._localDefinedComponents}var eo=(e,t)=>{let n=e.pragmas;if(n?.has("jsx")===!0||n?.has("jsxImportSource")===!0)return e.statements;let r={compiler:t.compiler,externalComponents:ft(),localComponents:t.compiler.isInPuppeteerTestBackEnd?{}:Nn(t.compiler),sourceFile:e,transformationContext:t.transformation,importRenames:Ol(e),existingImportedModules:new Set,importedFunctionComponentsFromModules:new Set,existingLitImports:new Set,customElementsToImport:new Set,neededImports:new Set,liftedKeys:new Set,hasNonLuminaJsxImport:!1,isInLightDomComponent:t.apiModule?.declarations.some(s=>"customElement"in s&&s.encapsulation!==void 0)??!1},i=[];if(e.statements.every(s=>{if(jl.isImportDeclaration(s)){if(i.push(Ui(r,s)),r.hasNonLuminaJsxImport)return!1}else i.push(V(r,void 0,s));return!0}),r.hasNonLuminaJsxImport)return e.statements;if(r.neededImports.size>0&&(i=i.map(zi,r),r.existingLitImports.size>0))throw new Error(`Expected context.existingLitImports to be empty by now. Found: ${Array.from(r.existingLitImports).join(", ")}`);let o=[qi,Xi,Qi].flatMap(s=>s(r));if(r.neededImports.size>0)throw new Error(`Expected context.neededLitImports to be empty by now. Found: ${Array.from(r.neededImports).join(", ")}`);return[...o,...i]};function Ol(e){return Bl(e),Object.fromEntries(Ci.map(t=>[t,e.identifiers.has(t)?`${t}$jsx`:t]))}function Bl(e){if(!("identifiers"in e))throw new Error("Expected sourceFile to have an undocumented identifiers property that is a Map<string,string>. If this error is thrown, it may mean Lumina Compiler needs to be updated to support the version of TypeScript being used.")}import I from"typescript";import M from"typescript";import{PropertyFlags as le}from"@arcgis/lumina/config";function to(e,t,n){return t.size===0?e:[M.factory.createPropertyDeclaration([M.factory.createModifier(M.SyntaxKind.StaticKeyword),M.factory.createModifier(M.SyntaxKind.OverrideKeyword)],"properties",void 0,void 0,M.factory.createObjectLiteralExpression(Array.from(t.entries()).map(([r,i])=>M.factory.createPropertyAssignment(Ce(r)?M.factory.createStringLiteral(r):r,Wl(i,n))))),...e]}function Wl(e,t){let n=0,r=!0,i=e.properties.filter(a=>{if(!M.isPropertyAssignment(a)||!M.isIdentifier(a.name))return!0;let p=a.name.text,l=a.initializer,c=l.kind===M.SyntaxKind.TrueKeyword,d=l.kind===M.SyntaxKind.FalseKeyword;if(p==="attribute")return r=!1,n|=c?le.ATTRIBUTE:0,!c&&!d;if(p==="reflect")return n|=c?le.REFLECT:0,!1;if(p==="type"&&M.isIdentifier(l)){if(l.text==="Boolean")return n|=le.BOOLEAN,!1;if(l.text==="Number")return n|=le.NUMBER,!1}else{if(p==="state")return r=!1,n|=c?le.STATE:0,!1;if(p==="readOnly")return n|=c?le.READ_ONLY:0,!1;p==="noAccessor"&&(n|=c?le.NO_ACCESSOR:0)}return!0});r&&(n|=le.ATTRIBUTE);let o=t?i:e.properties,s=M.factory.createNumericLiteral(n);return o.length===0?s:M.factory.createArrayLiteralExpression([s,M.factory.createObjectLiteralExpression(o)])}import{identity as Vl}from"@arcgis/components-utils";import J from"typescript";import N from"typescript";function no(e,t,n,r,i){let o=-1,s=-1,a=-1;t.options?.properties.forEach((m,u)=>{if(N.isSpreadAssignment(m))throw new Error(`Spread property assignment is not allowed in @property() as that is not statically analyzable. Found ${m.getText(r)}`);if(N.isIdentifier(m.name)){let f=m.name.text;f==="type"?o=u:f==="attribute"?s=u:f==="readOnly"&&(a=u)}});let p=i?.attribute===void 0&&s===-1,l=i?.readonly===!0&&i.docsOnlyReadonly!==!0&&a===-1,c=Hl(e,t,n,i,o),d=[...p?[N.factory.createPropertyAssignment("attribute",N.factory.createFalse())]:[],...l?[N.factory.createPropertyAssignment("readOnly",N.factory.createTrue())]:[],...c!==void 0?[c]:[]];return d.length>0?t.options===void 0?N.factory.createObjectLiteralExpression(d,!1):N.factory.updateObjectLiteralExpression(t.options,[...t.options.properties,...d]):t.options}function Hl(e,t,n,r,i){if(r?.attribute===void 0)return;let o=_l(e),s=n.compiler.viteCommand==="serve"||o!=="Other"?o:Kl(r.type.values);return s==="Other"||r.readonly&&(s!=="Boolean"||!r.reflects)||t.options?.properties[i]!==void 0?void 0:N.factory.createPropertyAssignment(N.factory.createIdentifier("type"),N.factory.createIdentifier(s))}function Kl(e){let t=!1,n=!1,r=!1;if(e?.forEach(i=>{t||=i.type==="number",n||=i.type==="boolean",r||=i.type==="string"||i.type==="any"||i.type==="unknown"}),r||=t&&n,!r){if(t)return"Number";if(n)return"Boolean"}return"Other"}function _l(e){let t=e.type??(N.isSetAccessor(e)?e.parameters[0].type:void 0);if(t===void 0){if("initializer"in e&&e.initializer!==void 0){if(N.isNumericLiteral(e.initializer)||N.isPrefixUnaryExpression(e.initializer)&&e.initializer.operator===N.SyntaxKind.MinusToken&&N.isNumericLiteral(e.initializer.operand))return"Number";if(e.initializer.kind===N.SyntaxKind.FalseKeyword||e.initializer.kind===N.SyntaxKind.TrueKeyword)return"Boolean"}}else{if(t.kind===N.SyntaxKind.NumberKeyword)return"Number";if(t.kind===N.SyntaxKind.BooleanKeyword)return"Boolean"}return"Other"}import{getMemberName as oo}from"@arcgis/api-extractor";function so(e,t,n,r,i){if(t.modifiers===void 0)return t;let o=-1,s=-1;if(t.modifiers.forEach((a,p)=>{if(J.isDecorator(a)&&J.isCallExpression(a.expression)&&J.isIdentifier(a.expression.expression)){let l=a.expression.expression.text;l==="property"&&(o=p),l==="state"&&(s=p)}}),o!==-1){let a=Ul(e,t,n,r),p=ro(t,o,r),l=no(t,p,e,r,a),c=!1;return i!==void 0&&a&&(i.set(a.name,l??J.factory.createObjectLiteralExpression()),c=!0),p.options=l,io(t,p,o,c)}else if(s!==-1&&i!==void 0){let a=ro(t,s,r),p=J.factory.createPropertyAssignment("state",J.factory.createTrue()),l=a.options===void 0?J.factory.createObjectLiteralExpression([p]):J.factory.updateObjectLiteralExpression(a.options,[...a.options.properties,p]),c=oo(t.name);if(c===void 0)throw new Error("Failed to statically determine the state property name");return i.set(c,l),io(t,a,s,!0)}else return t}function Ul(e,t,n,r){let i=e.apiModule?.declarations.find(s=>s.name===n)??(e.compiler.isInTest?{name:"",members:[]}:void 0);if(i===void 0)return;let o=lr(i,t)??(e.compiler.isInTest?{kind:"field",attribute:"",readonly:!1,name:"",type:{text:""}}:void 0);if(!(o===void 0||o.kind!=="field")){if(o.name===""){let s=oo(t.name);if(s===void 0)throw new Error(`Failed to statically determine the property name: ${t.getText(r)}`);o.name=s}return o}}function ro(e,t,n){let r=e.modifiers[t],i=r.expression,o=i.arguments.at(0);if(o&&!J.isObjectLiteralExpression(o))throw new Error(`First argument to @property() or @state() decorator must be an object literal as otherwise it is not statically analyzable. Found ${o.getText(n)}`);return{decorator:r,callExpression:i,options:o}}function io(e,t,n,r){let i=r?void 0:J.factory.updateDecorator(t.decorator,J.factory.updateCallExpression(t.callExpression,t.callExpression.expression,t.callExpression.typeArguments,t.options===void 0?[]:[t.options])),o=[...e.modifiers.slice(0,n),...i===void 0?[]:[i],...e.modifiers.slice(n+1)];return J.isGetAccessorDeclaration(e)?J.factory.updateGetAccessorDeclaration(e,o,e.name,e.parameters,e.type,e.body):J.isSetAccessorDeclaration(e)?J.factory.updateSetAccessorDeclaration(e,o,e.name,e.parameters,e.body):J.factory.updatePropertyDeclaration(e,o,e.name,e.questionToken??e.exclamationToken,e.type,e.initializer)}var ao=(e,t)=>{if(t.apiModule===void 0&&!t.compiler.isInTest)return e.statements;let n;function r(){n=new Map}let i=a=>to(a,n,t.compiler.shouldMinify),o=(a,p)=>ql(t,a,p,e,n);return e.statements.map(a=>po(o,a,t,r,i))};function po(e,t,n,r,i=Vl){if(I.isClassDeclaration(t)&&t.heritageClauses?.some(s=>s.token===I.SyntaxKind.ExtendsKeyword)){let s=!1,a=t.name?.text;r?.();let p=i(t.members.map(c=>{let d=e(c,a);return s||=d!==c,d}));return s?I.factory.updateClassDeclaration(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,p):t}return n.compiler.isInTest?I.visitEachChild(t,s=>po(e,s,n,r,i),n.transformation):t}var zl=new Set(["connectedCallback","disconnectedCallback"]);function ql(e,t,n,r,i){if(I.isMethodDeclaration(t)){let o=t.modifiers?.filter(s=>!I.isDecorator(s)||!Gl(s));if(o?.length!==t.modifiers?.length)return I.factory.updateMethodDeclaration(t,o,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,t.body);if("text"in t.name&&zl.has(t.name.text)&&t.body){let s=t.name.text;return t.body.statements.some(p=>I.isExpressionStatement(p)&&I.isCallExpression(p.expression)&&I.isPropertyAccessExpression(p.expression.expression)&&p.expression.expression.expression.kind===I.SyntaxKind.SuperKeyword&&p.expression.expression.name.text===s)?t:I.factory.updateMethodDeclaration(t,t.modifiers,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,I.factory.updateBlock(t.body,[I.factory.createExpressionStatement(I.factory.createCallExpression(I.factory.createPropertyAccessExpression(I.factory.createSuper(),s),void 0,[])),...t.body.statements]))}}return I.isPropertyDeclaration(t)||I.isAccessor(t)?so(e,t,n,r,i):t}var Gl=e=>I.isCallExpression(e.expression)&&I.isIdentifier(e.expression.expression)&&e.expression.expression.text==="method";import{path as mo}from"@arcgis/components-build-utils";var lo="makeRuntime(";function co(e,t){let n=e.indexOf(lo);if(n===-1)throw new Error("Failed to find makeRuntime() function call in src/runtime.ts");let r=n+lo.length,i=t.options.css?.commonStylesPath;return{code:[i===void 0?"":`import commonStyles from "${q(t.dir.src,i)}";`,e.slice(0,r),"{","defaultAssetPath:import.meta.env.BASE_URL,",'hydratedAttribute:"',t.options.css?.hydratedAttribute??nn,'",',i===void 0?"":"commonStyles","}",e.slice(r)].join(""),map:null}}var Ql=[eo,or,ao],uo=e=>({name:"@arcgis/lumina:transformComponents",transform:{order:"pre",async handler(t,n){if(!n.endsWith(".tsx")){if(e.isInTest&&n.endsWith(".ts")&&je(n)&&t.includes("extends LitElement"))console.warn("It looks like you may be trying to define a component inside a test file. This is supported, but you must use the .tsx file extension for you test");else if(n===`${e.dir.src}runtime.ts`)return co(t,e);return}let r=e.getSourceFile(n,t);await oe;let o=Xl.transform(r,[m=>()=>tt(e,m,r,[...e.options.types?.sourceFileTransformers??[],...Ql])]).transformed[0],s=e._compilerOptionsForPrinter,a=e._typeScriptPrinter,p=s.sourceMap?fe.createSourceMapGenerator(e.typeScriptHost,mo.basename(n),"",mo.dirname(n),s):void 0,l=fe.createTextWriter(fe.getNewLineCharacter(s));a.writeFile(o,l,p);let c=l.getText(),d=p?.toJSON();return{code:c,map:d??null}}}});function fo(e){let t=e.typeScriptConfig;return{...t,declaration:!1,declarationMap:!1,emitDeclarationOnly:!1,sourceMap:t.sourceMap??t.inlineSourceMap,inlineSourceMap:!1,allowSyntheticDefaultImports:!0,suppressOutputPathCheck:!0,noLib:!0,noResolve:!0,skipLibCheck:!0}}function go(e){let t=e.options.types?.tsconfigPath,n=t&&yo.isAbsolute(t)?t:Yl(t??"tsconfig.json");if(n===void 0)throw new Error(`Unable to find ${Zl(String(t))} in ${process.cwd()}. Please make sure the file exists, or provide types.tsconfigPath option to useLumina()`);let r=K.readConfigFile(n,K.sys.readFile);if(r.error!==void 0)throw new Error(K.formatDiagnosticsWithColorAndContext([r.error],{getCanonicalFileName:tc,getCurrentDirectory:K.sys.getCurrentDirectory,getNewLine:()=>K.sys.newLine}));let i={...r.config,include:[],files:[],exclude:[]},o=K.parseJsonConfigFileContent(i,K.sys,yo.dirname(n));e.typeScriptConfig=o.options,e.typeScriptConfigPath=n}function Dt(e){let t=e.target;if(t===void 0)throw new Error('TypeScript config must have a "target" property specified (or any parent tsconfig.json file if this config is extending another tsconfig.json)');let n=K.ScriptTarget[t].toLowerCase();return n==="latest"?"esnext":n}function ho(e,t){if(e.isInStorybook&&e.viteCommand==="serve"){let n=(s,a,p,...l)=>{let c=s.filter(d=>(!d.includes(".stories.")||d.endsWith(".tsx"))&&!je(d));return e.typeScriptHost=p,K.createAbstractBuilder(c,a,p,...l)},r=K.createWatchCompilerHost(e.typeScriptConfigPath,{preserveWatchOutput:!0},K.sys,n),i=50,o=r.setTimeout;r.setTimeout=o===void 0?void 0:(s,a,...p)=>o(s,p[0]==="timerToUpdateProgram"?i:a,...p),r.afterProgramCreate=s=>{e.typeScriptProgram=s.getProgram(),e.typeScriptTypeChecker=e.typeScriptProgram.getTypeChecker(),e._typeScriptReload?.resolve(),e._typeScriptReload=new ec},e.typeScriptWatchProgram=K.createWatchProgram(r),e.typeScriptConfig=e.typeScriptProgram.getCompilerOptions()}e.typeScriptConfig.sourceMap=t,e._compilerOptionsForPrinter=fo(e),e._typeScriptPrinter=st(e._compilerOptionsForPrinter)}import{writeFile as sc}from"node:fs/promises";import{asyncRetrievePackageJson as nc,fetchPackageLocation as rc,retrievePackageJson as ic}from"@arcgis/components-build-utils";var Ln="@arcgis/core",Co=ic(),Ge=Ln in(Co.dependencies??{})||Ln in(Co.peerDependencies??{});async function To(e,t){if(!Ge)return[];let n=await rc(Ln);if(t==="storybookBuild"){let r=await nc(n),i=G({name:"",version:r.version},!0);return[{tag:"script",attrs:{type:"importmap"},children:JSON.stringify({imports:{"@arcgis/core/":`${i}@arcgis/core/`}})},xo(i)]}else return[xo(we(e,`${n}/assets/`))]}var xo=e=>({cssHref:`${e}esri/themes/light/main.css`,id:"arcgisCoreStylesheet"});var $n=new Set(["chunks","components","docs","types","controllers","cjs","esm","loader","utils","collection","extras","support"]),Ie="cdn";function So(e){let{skip:t=!1,namespace:n=Ie,esbuildOptions:r={}}=e.options.build?.cdn??{};if(n.toLowerCase()!==n)throw new Error(`Expected CDN namespace to be all lowercase. Received: ${n}`);if($n.has(n))throw new Error(`Namespace name "${n}" is restricted as it collides with a well-known Lumina dist/ folder name or Stencil dist/ folder name.`);let i=n===Ie?"index":n;if(e.provideAssets([{type:"dynamic",source:()=>Yr(e),destination:`../${i}.css`}]),!t)return{name:"@arcgis/lumina:buildCdn",async writeBundle(){if(e.isInStorybook)return;let o=Date.now(),s=await ac(e,i,r);await pc(s,i);let a=Date.now();console.log(`CDN was built in ${a-o}ms`)}}}async function ac(e,t,n){let r=e.environment;return await oc({bundle:!0,minify:r==="production",treeShaking:!0,sourcemap:r==="development"?"inline":e.options.build?.enableSourceMapsInProduction?"linked":!1,format:"esm",splitting:!0,write:!1,outdir:e.dir.distCdn,legalComments:"none",logLevel:"warning",external:["@arcgis/core"],chunkNames:"[hash]",resolveExtensions:[".js",".json"],entryNames:Eo(t),banner:{js:e.banner},target:Dt(e.typeScriptConfig),...n,plugins:[...e.options.build?.ssr?.stencilCompatibility?.enabled===!0?[{name:"@arcgis/lumina:drop-lit-ssr-import",setup(i){i.onResolve({filter:/^@lit-labs\/ssr-client\//u},o=>({path:o.path,namespace:"@arcgis/lumina:drop-lit-ssr-import"})),i.onLoad({filter:/^/u,namespace:"@arcgis/lumina:drop-lit-ssr-import"},()=>({contents:'""',loader:"json"}))}}]:[],...n?.plugins??[]],define:{"process.env.CDN":"true",...n.define},stdin:{contents:`import { defineCustomElements } from "./loader";
53
53
  ${rn(e._globalCssString,e)}
54
54
  /**
55
55
  * We use import.meta.url to get the path to the current file
56
56
  * and pass it to defineCustomElements to set the resources url.
57
57
  * The script's file name will be stripped inside defineCustomElements.
58
58
  **/
59
- defineCustomElements({resourcesUrl: import.meta.url});`,sourcefile:`${t}-entry.js`,resolveDir:"dist",loader:"js",...n.stdin}})}async function pc(e,t){let n=`${Eo(t)}.js`;await Promise.all(e.outputFiles.map(async r=>{let i=r.text;r.path.endsWith(n)&&qe&&(i=`${i.trimEnd()}${lc}`),i=cc(i),i=mc(i),await sc(r.path,i)}))}var lc='{window.$arcgis||Object.defineProperty(window,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{},});var a=$arcgis;a.l=x=>x.map?Promise.all(x.map(a.l)):(!a?.forceESM&&a?.import||(x=>import(x+".js").then(m=>m.default??m)))("@arcgis/core/"+x)}';function cc(e){return e.replaceAll(dc,(t,n)=>`$arcgis.l("${vo(n)}")`)}var dc=/(?<![.\w\d])import\("@arcgis\/core\/([^"]+)"\)/gu,vo=e=>e.endsWith(".js")?e.slice(0,-3):e;function mc(e){let t=e.length,n=[];for(;t>-1&&(t=e.lastIndexOf(Rn,t-1),t!==-1);){let r=t,i=e.indexOf('"',t+Rn.length)+1;if(i===0)continue;let o=vo(e.slice(t+Rn.length,i-1));for(!(n.length>0)||e.slice(i,n.at(0).from)===";"||(e=bo(e,n.splice(0)));t>-1;){t=e.lastIndexOf("import",t-1);let p=e.slice(t+6,r);if(p.startsWith(" ")){let l=e.slice(t+7,r-1);n.unshift({clause:l,specifier:o,from:t,to:i});break}else if(p.startsWith("*as ")){let l=e.slice(t+10,r-1);n.unshift({clause:l,specifier:o,from:t,to:i});break}else if(p.startsWith("{")){let l=e.slice(t+6,r).replaceAll(" as ",":");n.unshift({clause:l,specifier:o,from:t,to:i});break}}}return e=bo(e,n),e}var Rn='from"@arcgis/core/';function bo(e,t){if(t.length===0)return e;if(t.length===1){let{clause:n,specifier:r,from:i,to:o}=t[0],s=e.slice(0,i),a=e.slice(o),l=`var${n.startsWith("{")?"":" "}${n}=await $arcgis.l("${r}")`;return`${s}${l}${a}`}else{let n=t[0].from,r=t.at(-1).to,i=e.slice(0,n),o=e.slice(r),s=t.map(({clause:l})=>l).join(","),a=t.map(({specifier:l})=>`"${l}"`).join(","),p=`var[${s}]=await $arcgis.l([${a}])`;return`${i}${p}${o}`}}function Eo(e){return`${e}.esm`}async function Ao(e,t,n,r){let i=await gc(t),{hasCss:o,cdnName:s}=await Jn(Mn.join(i,"dist"))??{};if(n==="storybookBuild"){let c=await yc(i),d=G(c,!0);return[...o?[{tag:"link",attrs:{rel:"stylesheet",src:`${d}${s}.css`}}]:[],{tag:"script",attrs:{type:"module",src:`${d}${s}.esm.js`}}]}let a=`${t}/dist/${s}/${s}.css${U}`,p=o?[`import styles$${r} from "${a}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$${r}.styleSheet];`]:[],l=`${t}/dist/esm/loader.js`;return[{optimizableImports:[l],javascriptCode:[...p,`import { defineCustomElements as defineCustomElements$${r} } from "${l}";`,`defineCustomElements$${r}(globalThis.window, {`,` resourcesUrl: "${Ee(e,i)}/dist/${s}/",`,"});"]}]}async function Jn(e){let n=(await fc(e)).filter(i=>!$n.has(i)&&!i.includes(".")),r=n.find(i=>i.startsWith("arcgis-"));return r===void 0?await Promise.all(n.map(async i=>await Po(e,i))).then(i=>i.find(uc)):await Po(e,r)}async function Po(e,t){let n=Mn.join(e,t,`${t}.css`),r=Mn.join(e,t,"assets"),[i,o]=await Promise.all([wo(n),wo(r)]);return i||o?{hasCss:i,cdnName:t}:void 0}import{path as xc}from"@arcgis/components-build-utils";async function Do(e,t,n,r){let i=await Cc(t),o=await Jn(xc.join(i,"dist"));if(o===void 0)throw new Error(`Failed to infer the CDN namespace name for the ${t}`);let{cdnName:s,hasCss:a}=o;if(n==="storybookBuild"){let d=await hc(i);return{tag:"script",attrs:{type:"module",src:`${G(d,!0)}${s}.esm.js`}}}let p=`${t}/${s}/${s}.css${U}`,l=a?[`import styles$${r} from "${p}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$${r}.styleSheet];`]:[],c=`${t}/loader`;return{optimizableImports:[c,p],javascriptCode:[...l,`import { defineCustomElements as defineCustomElements$${r} } from "${c}";`,`defineCustomElements$${r}({`,` resourcesUrl: "${Ee(e,i)}/dist/${s}/",`,"});"]}}import{path as Tc}from"@arcgis/components-build-utils";async function xe(e){return e._loadersCache??=bc(e),await e._loadersCache}async function bc(e){let t=e.isInStorybook&&e.viteCommand==="build"?"storybookBuild":"lazy",n=e.viteConfig.base,r=async a=>(await Promise.all(a.map(async(p,l)=>p.type==="stencil"?await Ao(n,p.packageName,t,l):p.type==="@arcgis/lumina"?await Do(n,p.packageName,t,l):void 0))).filter(Fo).flat(),i=await Promise.all([oe.then(r),On(e).then(r),To(n,t)]),o=Tc.join(e.dir.src,"loader.ts");return[...e.viteCommand==="serve"?[jn]:[],...i.flat(),{optimizableImports:[],javascriptCode:[`import { defineCustomElements } from "${o}";`,"window.devOnly$ownTagNames = new Set();",`defineCustomElements(${t==="storybookBuild"?`{resourcesUrl:"./${e.options.build?.cdn?.namespace??ke}/"}`:""});`]}]}var jn={optimizableImports:[],javascriptCode:["globalThis.litIssuedWarnings ??= new Set();","globalThis.litIssuedWarnings.add(",'"Lit is in dev mode. Not recommended for production! See https://lit.dev/msg/dev-mode for more information.",',");"]};async function On(e){let t=e.options?.serve?.extraDependencies??[];return t.length===0?[]:(e._serveOnlyDependencies??=Promise.all(t.map(async n=>await fn(n))).then(n=>n.filter(Fo)),await e._serveOnlyDependencies)}var Bn="/@arcgis/lumina-compiler/testLitSetupFile",Wn="/@arcgis/lumina-compiler/testSetupFile",Ft=[Bn,Wn],Io=jn.javascriptCode.join(`
59
+ defineCustomElements({resourcesUrl: import.meta.url});`,sourcefile:`${t}-entry.js`,resolveDir:"dist",loader:"js",...n.stdin}})}async function pc(e,t){let n=`${Eo(t)}.js`;await Promise.all(e.outputFiles.map(async r=>{let i=r.text;r.path.endsWith(n)&&Ge&&(i=`${i.trimEnd()}${lc}`),i=cc(i),i=mc(i),await sc(r.path,i)}))}var lc='{window.$arcgis||Object.defineProperty(window,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{},});var a=$arcgis;a.l=x=>x.map?Promise.all(x.map(a.l)):(!a?.forceESM&&a?.import||(x=>import(x+".js").then(m=>m.default??m)))("@arcgis/core/"+x)}';function cc(e){return e.replaceAll(dc,(t,n)=>`$arcgis.l("${vo(n)}")`)}var dc=/(?<![.\w\d])import\("@arcgis\/core\/([^"]+)"\)/gu,vo=e=>e.endsWith(".js")?e.slice(0,-3):e;function mc(e){let t=e.length,n=[];for(;t>-1&&(t=e.lastIndexOf(Rn,t-1),t!==-1);){let r=t,i=e.indexOf('"',t+Rn.length)+1;if(i===0)continue;let o=vo(e.slice(t+Rn.length,i-1));for(!(n.length>0)||e.slice(i,n.at(0).from)===";"||(e=bo(e,n.splice(0)));t>-1;){t=e.lastIndexOf("import",t-1);let p=e.slice(t+6,r);if(p.startsWith(" ")){let l=e.slice(t+7,r-1);n.unshift({clause:l,specifier:o,from:t,to:i});break}else if(p.startsWith("*as ")){let l=e.slice(t+10,r-1);n.unshift({clause:l,specifier:o,from:t,to:i});break}else if(p.startsWith("{")){let l=e.slice(t+6,r).replaceAll(" as ",":");n.unshift({clause:l,specifier:o,from:t,to:i});break}}}return e=bo(e,n),e}var Rn='from"@arcgis/core/';function bo(e,t){if(t.length===0)return e;if(t.length===1){let{clause:n,specifier:r,from:i,to:o}=t[0],s=e.slice(0,i),a=e.slice(o),l=`var${n.startsWith("{")?"":" "}${n}=await $arcgis.l("${r}")`;return`${s}${l}${a}`}else{let n=t[0].from,r=t.at(-1).to,i=e.slice(0,n),o=e.slice(r),s=t.map(({clause:l})=>l).join(","),a=t.map(({specifier:l})=>`"${l}"`).join(","),p=`var[${s}]=await $arcgis.l([${a}])`;return`${i}${p}${o}`}}function Eo(e){return`${e}.esm`}async function Ao(e,t,n,r){let i=await gc(t),{hasCss:o,cdnName:s}=await Jn(Mn.join(i,"dist"))??{};if(n==="storybookBuild"){let c=await yc(i),d=G(c,!0);return[...o?[{tag:"link",attrs:{rel:"stylesheet",src:`${d}${s}.css`}}]:[],{tag:"script",attrs:{type:"module",src:`${d}${s}.esm.js`}}]}let a=`${t}/dist/${s}/${s}.css${B}`,p=o?[`import styles$${r} from "${a}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$${r}.styleSheet];`]:[],l=`${t}/dist/esm/loader.js`;return[{optimizableImports:[l],javascriptCode:[...p,`import { defineCustomElements as defineCustomElements$${r} } from "${l}";`,`defineCustomElements$${r}(globalThis.window, {`,` resourcesUrl: "${we(e,i)}/dist/${s}/",`,"});"]}]}async function Jn(e){let n=(await fc(e)).filter(i=>!$n.has(i)&&!i.includes(".")),r=n.find(i=>i.startsWith("arcgis-"));return r===void 0?await Promise.all(n.map(async i=>await Po(e,i))).then(i=>i.find(uc)):await Po(e,r)}async function Po(e,t){let n=Mn.join(e,t,`${t}.css`),r=Mn.join(e,t,"assets"),[i,o]=await Promise.all([wo(n),wo(r)]);return i||o?{hasCss:i,cdnName:t}:void 0}import{path as xc}from"@arcgis/components-build-utils";async function Do(e,t,n,r){let i=await Cc(t),o=await Jn(xc.join(i,"dist"));if(o===void 0)throw new Error(`Failed to infer the CDN namespace name for the ${t}`);let{cdnName:s,hasCss:a}=o;if(n==="storybookBuild"){let d=await hc(i);return{tag:"script",attrs:{type:"module",src:`${G(d,!0)}${s}.esm.js`}}}let p=`${t}/${s}/${s}.css${B}`,l=a?[`import styles$${r} from "${p}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$${r}.styleSheet];`]:[],c=`${t}/loader`;return{optimizableImports:[c,p],javascriptCode:[...l,`import { defineCustomElements as defineCustomElements$${r} } from "${c}";`,`defineCustomElements$${r}({`,` resourcesUrl: "${we(e,i)}/dist/${s}/",`,"});"]}}import{path as Tc}from"@arcgis/components-build-utils";async function xe(e){return e._loadersCache??=bc(e),await e._loadersCache}async function bc(e){let t=e.isInStorybook&&e.viteCommand==="build"?"storybookBuild":"lazy",n=e.viteConfig.base,r=async a=>(await Promise.all(a.map(async(p,l)=>p.type==="stencil"?await Ao(n,p.packageName,t,l):p.type==="@arcgis/lumina"?await Do(n,p.packageName,t,l):void 0))).filter(Fo).flat(),i=await Promise.all([oe.then(r),On(e).then(r),To(n,t)]),o=Tc.join(e.dir.src,"loader.ts");return[...e.viteCommand==="serve"?[jn]:[],...i.flat(),{optimizableImports:[],javascriptCode:[`import { defineCustomElements } from "${o}";`,"window.devOnly$ownTagNames = new Set();",`defineCustomElements(${t==="storybookBuild"?`{resourcesUrl:"./${e.options.build?.cdn?.namespace??Ie}/"}`:""});`]}]}var jn={optimizableImports:[],javascriptCode:["globalThis.litIssuedWarnings ??= new Set();","globalThis.litIssuedWarnings.add(",'"Lit is in dev mode. Not recommended for production! See https://lit.dev/msg/dev-mode for more information.",',");"]};async function On(e){let t=e.options?.serve?.extraDependencies??[];return t.length===0?[]:(e._serveOnlyDependencies??=Promise.all(t.map(async n=>await fn(n))).then(n=>n.filter(Fo)),await e._serveOnlyDependencies)}var Bn="/@arcgis/lumina-compiler/testLitSetupFile",Wn="/@arcgis/lumina-compiler/testSetupFile",Ft=[Bn,Wn],Io=jn.javascriptCode.join(`
60
60
  `);async function No(e){if(!e.viteConfig.test?.browser?.enabled)return ko(e);let n=(await xe(e)).map((r,i)=>{if("javascriptCode"in r)return r.javascriptCode.join(`
61
- `);if("cssHref"in r)return[`import styles$t${i} from "${r.cssHref}${U}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$t${i}.styleSheet];`].join(`
61
+ `);if("cssHref"in r)return[`import styles$t${i} from "${r.cssHref}${B}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$t${i}.styleSheet];`].join(`
62
62
  `);throw new Error(`Unexpected loader type for the browser test environment: ${JSON.stringify(r)}`)}).join(`
63
63
 
64
64
  `);return[ko(e),n].join("")}var ko=e=>[e.isInPuppeteerTestBackEnd?Sc:"",vc].join(""),Sc=`import { setupPuppeteerTest } from "@arcgis/lumina-compiler/puppeteerTesting";
65
65
  setupPuppeteerTest();
66
66
  `,vc=`import { setupLuminaTest } from "@arcgis/lumina-compiler/testing";
67
67
  setupLuminaTest();
68
- `;function Lo(e){let t=!0,n=!1,r,i,o,s,a,p="@arcgis/lumina:generateVirtualFiles",l={name:p,configResolved(){s=kt.join(e.dir.root,"src","loader.ts"),a=Pc(s)},resolveId:f=>f===s||f===a?s:void 0,async load(f){let h=f.startsWith(Bn),y=f.startsWith(Wn);if(!(!f.endsWith(".tsx")&&f!==s&&!h&&!y)){if(i===void 0&&!e.isInPuppeteerTestBackEnd){o===void 0&&clearTimeout(r),o??=li(e,t).catch(E=>{throw n=!0,E}),t=!1;let T=await o;i??=T}return f===s?Zr(e):h?Io:y?await No(e):void 0}},async writeBundle(){e.isInStorybook||await wc(kt.join(e.dir.dist,"loader.d.ts"),ei)},async handleHotUpdate({file:f,modules:h,read:y}){let T=await c(f,y);return T===void 0?void 0:T?h:(d(),[])},configureServer(f){if(e.isInPuppeteerTestBackEnd)return;e.isInTest&&f.watcher.on("change",y=>{c(y,async()=>await Ec(y,"utf8")).catch(console.error)}),f.watcher.on("add",h),f.watcher.on("unlink",h),f.watcher.on("addDir",y=>y.startsWith(e.dir.srcComponents)?void be(e,e.dir.srcComponents,y).then(T=>T.length>0?d():void 0):void 0),f.watcher.on("unlinkDir",y=>{e.componentFiles.some(E=>E.startsWith(y))&&d()});function h(y){ne(y,e.dir.srcComponents)&&d()}f.watcher.on("change",()=>{if(!n)return;n=!1,r=setTimeout(()=>d(!0),1e3)})},buildEnd(){e.typeScriptWatchProgram?.close()}};async function c(f,h){if(i===void 0)return!1;let y;if(e.isInStorybook){y=await h();let b=e.typeScriptProgram.getSourceFile(f);if(b===void 0)return;if(!(b.text===y)){let me;await Promise.race([e._typeScriptReload.promise,new Promise(Z=>{me=setTimeout(()=>{console.log("Timed out waiting for TypeScript to finish type-checking. This may be a bug"),Z(void 0)},1e4)})]),clearTimeout(me)}}if(!ne(f,e.dir.srcComponents))return;y??=await h();let E=ci(e,f,y);if(E===void 0)return!1;for(let b of E){let $=sn(b);e.server.ws.send({type:"custom",event:"component-meta-update",data:$})}return m(),!0}function d(f=!1){!f&&i===void 0||(i=void 0,o=void 0,m(),u())}function m(){let f=e.server.moduleGraph.getModuleById(s);f===void 0?(console.warn(`${p}: Failed to find HMR module for src/loader.ts`),e.server.moduleGraph.invalidateAll()):e.server.moduleGraph.invalidateModule(f)}let u=()=>e.server.ws.send({type:"full-reload",path:kt.join("/",kt.relative(e.dir.root,s))});return l}import Ac from"mime-types";import{copyFile as Dc,readFile as $o,readdir as Fc,mkdir as Kn,writeFile as Mo}from"node:fs/promises";import{getCwd as kc,path as P,toPosixPathSeparators as Hn,toSystemPathSeparators as Ic}from"@arcgis/components-build-utils";import{isPosix as Jo}from"@arcgis/components-build-utils";var Nc="@arcgis/lumina:provideAssets";function ce(e,t,n=Nt){if(e.viteCommand!=="serve")throw new Error("serveAssets() is only available when Vite is running in serve mode");let r=e._serverConfigured,i=e.server.middlewares.stack.length;if(t.forEach(o=>{let s=jo(o),a=Bo(e.dir,Oo(s)),p=Rc(e.viteConfig.base,a,e.dir.distCdn);e.server.middlewares.use(p,(l,c,d)=>{let m=$c(l.url),u=s.type==="directory"?P.resolve(s.source,m.slice(1)):s.source,f=P.join(a,m),h=n.find(y=>y.match(f,e));return(typeof u=="function"?Promise.resolve(u()):$o(u)).then(y=>{let T=(typeof u=="function"?void 0:h?.transform(y.toString("utf8"),f,e))??y;c.setHeader("Cache-Control","max-age=31536000, immutable"),c.setHeader("Content-Type",Ac.lookup(m)||"application/octet-stream"),c.write(T),c.end()}).catch(y=>{(s.type!=="directory"||process.env.DEBUG)&&console.error(Nc,`Error occurred when trying to serve a file in response to request for "${l.originalUrl??m}":`,y),d()}),!0})}),r){let o=e.server.middlewares.stack.splice(i);e.server.middlewares.stack.splice(0,0,...o)}}async function It(e,t,n=Nt){await Promise.all(t.map(async r=>{let i=jo(r),o=Bo(e.dir,Oo(i));if(i.type==="directory"){let s=P.resolve(i.source),p=(await Fc(s,{recursive:!0,withFileTypes:!0})).filter(l=>l.isFile()).map(l=>{let c=P.resolve(l.parentPath,l.name),d=P.relative(s,c),m=P.join(o,d);return[c,m]});await _n(p.map(([l,c])=>c)),await Promise.all(p.map(async([l,c])=>await Ro(l,c,n,e)))}else if(i.type==="file")await Kn(P.dirname(o),{recursive:!0}),await Ro(i.source,o,n,e);else if(i.type==="dynamic"){await Kn(P.dirname(o),{recursive:!0});let s=await Promise.resolve(i.source());await Mo(o,s)}}))}var jo=Jo?e=>e:e=>e.type==="dynamic"?{...e,destination:Hn(e.destination)}:{...e,source:Hn(e.source),destination:Hn(e.destination)};async function Ro(e,t,n,r){let i=n.find(o=>o.match(t,r));if(i===void 0)await Dc(e,t);else{let o=await $o(e,"utf8"),s=i.transform(o,t,r);await Mo(t,s)}}function Oo(e){if(e.type==="dynamic")return e.destination;if(e.source.endsWith(P.sep)){if(e.type==="file")throw new Error(`Unexpectedly tried to provide an asset with type "file", whose source looks like a directory: ${Ic(e.source)}. If source is meant to be a directory, change to "type":"directory". If source is a file, make sure source path does not end with / or \\`);return e.destination}return e.destination===""?P.basename(e.source):e.destination.endsWith(P.sep)?e.type==="directory"&&e.destination===P.sep?e.destination:P.join(e.destination,P.basename(e.source)):e.destination}function Bo({dist:e,distCdnAssets:t},n){let r=Lc(n),i=P.join(t,r?P.relative(t,n):n),o=P.relative(e,i),s=Wo(o);return P.join(e,s)}function Lc(e){if(e.startsWith(P.sep)){let t=kc(),n=t.startsWith(P.sep)?t.split(P.sep)[1]??"":"";return e.startsWith(`/${n}/`)||e.startsWith("/Users/")}else return!!(!Jo&&P.isAbsolute(e))}function Rc(e,t,n){let r=Wo(P.relative(n,t)),i=r.startsWith("/")?r.slice(1):r;return`${e}${i}`}var Wo=e=>e.replaceAll("../",""),$c=(e="")=>e.split("?")[0].split("#")[0];async function _n(e){let t=new Set(e.map(P.dirname));await Promise.all(Array.from(t,async n=>await Kn(n,{recursive:!0})))}var Mc={match:(e,t)=>t.environment==="production"&&e.endsWith(".json"),transform:e=>JSON.stringify(JSON.parse(e))},Nt=[Mc];import{isNotUndefined as Jc}from"@arcgis/components-utils";import{existsAsync as Ho}from"@arcgis/components-build-utils";import{path as Ge}from"@arcgis/components-build-utils";function Ko(e){let t,n=()=>[...e.options.assets?.transformers??[],...Nt];return{name:"@arcgis/lumina:handleStaticAssets",configResolved(){t=jc(e)},async configureServer(r){e.server=r,!e.isInPuppeteerTestBackEnd&&(ce(e,await t,n()),r.watcher.on("addDir",i=>{if(i.endsWith("assets")){let o=Ge.dirname(i);Ge.join(o,"/")===e.dir.root?ce(e,[Uo],n()):i.startsWith(e.dir.srcComponents)&&ce(e,[_o(i,o)],n())}}))},async writeBundle(){await It(e,await t,n())}}}async function jc(e){let t=Ho("assets"),n=await e.componentFilesPromise,r=await Promise.all(n.map(async i=>{let o=Ge.dirname(i),s=Ge.join(o,"assets");return await Ho(s)?_o(s,o):void 0}));return await t&&r.push(Uo),r.filter(Jc)}var _o=(e,t)=>({type:"directory",source:e,destination:Ge.basename(t)}),Uo={type:"directory",source:"assets/",destination:""};import{path as Ie}from"@arcgis/components-build-utils";import{mkdir as Oc,writeFile as Lt}from"node:fs/promises";import{retrievePackageJson as Bc}from"@arcgis/components-build-utils";function Vo(e){let{stencilCompatibility:t}=e.options.build?.ssr??{};if(t?.enabled===!0)return{name:"@arcgis/lumina:buildStencilHydrate",async writeBundle(){if(e.isInStorybook)return;let n=Bc()?.name??e.options.build?.cdn?.namespace??Ie.basename(e.dir.root),r=`${n}/hydrate`,i=Ie.resolve(e.dir.root,t.path??"hydrate"),o="index.d.ts",s="index.js",a="index.mjs",p=Ie.join(i,"index.d.ts"),l=Ie.join(i,"index.js"),c=Ie.join(i,"index.mjs"),d=q(i,e.dir.dist),u=`${Array.from(new Set(e.apiJsonComponents.map(f=>`import "${d}/${f.importPath}";`))).join(`
68
+ `;function Lo(e){let t=!0,n=!1,r,i,o,s,a,p="@arcgis/lumina:generateVirtualFiles",l={name:p,configResolved(){s=kt.join(e.dir.root,"src","loader.ts"),a=Pc(s)},resolveId:f=>f===s||f===a?s:void 0,async load(f){let h=f.startsWith(Bn),y=f.startsWith(Wn);if(!(!f.endsWith(".tsx")&&f!==s&&!h&&!y)){if(i===void 0&&!e.isInPuppeteerTestBackEnd){o===void 0&&clearTimeout(r),o??=li(e,t).catch(E=>{throw n=!0,E}),t=!1;let T=await o;i??=T}return f===s?Zr(e):h?Io:y?await No(e):void 0}},async writeBundle(){e.isInStorybook||await wc(kt.join(e.dir.dist,"loader.d.ts"),ei)},async handleHotUpdate({file:f,modules:h,read:y}){let T=await c(f,y);return T===void 0?void 0:T?h:(d(),[])},configureServer(f){if(e.isInPuppeteerTestBackEnd)return;e.isInTest&&f.watcher.on("change",y=>{c(y,async()=>await Ec(y,"utf8")).catch(console.error)}),f.watcher.on("add",h),f.watcher.on("unlink",h),f.watcher.on("addDir",y=>y.startsWith(e.dir.srcComponents)?void be(e,e.dir.srcComponents,y).then(T=>T.length>0?d():void 0):void 0),f.watcher.on("unlinkDir",y=>{e.componentFiles.some(E=>E.startsWith(y))&&d()});function h(y){ne(y,e.dir.srcComponents)&&d()}f.watcher.on("change",()=>{if(!n)return;n=!1,r=setTimeout(()=>d(!0),1e3)})},buildEnd(){e.typeScriptWatchProgram?.close()}};async function c(f,h){if(i===void 0)return!1;let y;if(e.isInStorybook){y=await h();let b=e.typeScriptProgram.getSourceFile(f);if(b===void 0)return;if(!(b.text===y)){let me;await Promise.race([e._typeScriptReload.promise,new Promise(Z=>{me=setTimeout(()=>{console.log("Timed out waiting for TypeScript to finish type-checking. This may be a bug"),Z(void 0)},1e4)})]),clearTimeout(me)}}if(!ne(f,e.dir.srcComponents))return;y??=await h();let E=ci(e,f,y);if(E===void 0)return!1;for(let b of E){let $=sn(b);e.server.ws.send({type:"custom",event:"component-meta-update",data:$})}return m(),!0}function d(f=!1){!f&&i===void 0||(i=void 0,o=void 0,m(),u())}function m(){let f=e.server.moduleGraph.getModuleById(s);f===void 0?(console.warn(`${p}: Failed to find HMR module for src/loader.ts`),e.server.moduleGraph.invalidateAll()):e.server.moduleGraph.invalidateModule(f)}let u=()=>e.server.ws.send({type:"full-reload",path:kt.join("/",kt.relative(e.dir.root,s))});return l}import Ac from"mime-types";import{copyFile as Dc,readFile as $o,readdir as Fc,mkdir as Kn,writeFile as Mo}from"node:fs/promises";import{getCwd as kc,path as P,toPosixPathSeparators as Hn,toSystemPathSeparators as Ic}from"@arcgis/components-build-utils";import{isPosix as Jo}from"@arcgis/components-build-utils";var Nc="@arcgis/lumina:provideAssets";function ce(e,t,n=Nt){if(e.viteCommand!=="serve")throw new Error("serveAssets() is only available when Vite is running in serve mode");let r=e._serverConfigured,i=e.server.middlewares.stack.length;if(t.forEach(o=>{let s=jo(o),a=Bo(e.dir,Oo(s)),p=Rc(e.viteConfig.base,a,e.dir.distCdn);e.server.middlewares.use(p,(l,c,d)=>{let m=$c(l.url),u=s.type==="directory"?P.resolve(s.source,m.slice(1)):s.source,f=P.join(a,m),h=n.find(y=>y.match(f,e));return(typeof u=="function"?Promise.resolve(u()):$o(u)).then(y=>{let T=(typeof u=="function"?void 0:h?.transform(y.toString("utf8"),f,e))??y;c.setHeader("Cache-Control","max-age=31536000, immutable"),c.setHeader("Content-Type",Ac.lookup(m)||"application/octet-stream"),c.write(T),c.end()}).catch(y=>{(s.type!=="directory"||process.env.DEBUG)&&console.error(Nc,`Error occurred when trying to serve a file in response to request for "${l.originalUrl??m}":`,y),d()}),!0})}),r){let o=e.server.middlewares.stack.splice(i);e.server.middlewares.stack.splice(0,0,...o)}}async function It(e,t,n=Nt){await Promise.all(t.map(async r=>{let i=jo(r),o=Bo(e.dir,Oo(i));if(i.type==="directory"){let s=P.resolve(i.source),p=(await Fc(s,{recursive:!0,withFileTypes:!0})).filter(l=>l.isFile()).map(l=>{let c=P.resolve(l.parentPath,l.name),d=P.relative(s,c),m=P.join(o,d);return[c,m]});await _n(p.map(([l,c])=>c)),await Promise.all(p.map(async([l,c])=>await Ro(l,c,n,e)))}else if(i.type==="file")await Kn(P.dirname(o),{recursive:!0}),await Ro(i.source,o,n,e);else if(i.type==="dynamic"){await Kn(P.dirname(o),{recursive:!0});let s=await Promise.resolve(i.source());await Mo(o,s)}}))}var jo=Jo?e=>e:e=>e.type==="dynamic"?{...e,destination:Hn(e.destination)}:{...e,source:Hn(e.source),destination:Hn(e.destination)};async function Ro(e,t,n,r){let i=n.find(o=>o.match(t,r));if(i===void 0)await Dc(e,t);else{let o=await $o(e,"utf8"),s=i.transform(o,t,r);await Mo(t,s)}}function Oo(e){if(e.type==="dynamic")return e.destination;if(e.source.endsWith(P.sep)){if(e.type==="file")throw new Error(`Unexpectedly tried to provide an asset with type "file", whose source looks like a directory: ${Ic(e.source)}. If source is meant to be a directory, change to "type":"directory". If source is a file, make sure source path does not end with / or \\`);return e.destination}return e.destination===""?P.basename(e.source):e.destination.endsWith(P.sep)?e.type==="directory"&&e.destination===P.sep?e.destination:P.join(e.destination,P.basename(e.source)):e.destination}function Bo({dist:e,distCdnAssets:t},n){let r=Lc(n),i=P.join(t,r?P.relative(t,n):n),o=P.relative(e,i),s=Wo(o);return P.join(e,s)}function Lc(e){if(e.startsWith(P.sep)){let t=kc(),n=t.startsWith(P.sep)?t.split(P.sep)[1]??"":"";return e.startsWith(`/${n}/`)||e.startsWith("/Users/")}else return!!(!Jo&&P.isAbsolute(e))}function Rc(e,t,n){let r=Wo(P.relative(n,t)),i=r.startsWith("/")?r.slice(1):r;return`${e}${i}`}var Wo=e=>e.replaceAll("../",""),$c=(e="")=>e.split("?")[0].split("#")[0];async function _n(e){let t=new Set(e.map(P.dirname));await Promise.all(Array.from(t,async n=>await Kn(n,{recursive:!0})))}var Mc={match:(e,t)=>t.environment==="production"&&e.endsWith(".json"),transform:e=>JSON.stringify(JSON.parse(e))},Nt=[Mc];import{isNotUndefined as Jc}from"@arcgis/components-utils";import{existsAsync as Ho}from"@arcgis/components-build-utils";import{path as Xe}from"@arcgis/components-build-utils";function Ko(e){let t,n=()=>[...e.options.assets?.transformers??[],...Nt];return{name:"@arcgis/lumina:handleStaticAssets",configResolved(){t=jc(e)},async configureServer(r){e.server=r,!e.isInPuppeteerTestBackEnd&&(ce(e,await t,n()),r.watcher.on("addDir",i=>{if(i.endsWith("assets")){let o=Xe.dirname(i);Xe.join(o,"/")===e.dir.root?ce(e,[Uo],n()):i.startsWith(e.dir.srcComponents)&&ce(e,[_o(i,o)],n())}}))},async writeBundle(){await It(e,await t,n())}}}async function jc(e){let t=Ho("assets"),n=await e.componentFilesPromise,r=await Promise.all(n.map(async i=>{let o=Xe.dirname(i),s=Xe.join(o,"assets");return await Ho(s)?_o(s,o):void 0}));return await t&&r.push(Uo),r.filter(Jc)}var _o=(e,t)=>({type:"directory",source:e,destination:Xe.basename(t)}),Uo={type:"directory",source:"assets/",destination:""};import{path as Ne}from"@arcgis/components-build-utils";import{mkdir as Oc,writeFile as Lt}from"node:fs/promises";import{retrievePackageJson as Bc}from"@arcgis/components-build-utils";function Vo(e){let{stencilCompatibility:t}=e.options.build?.ssr??{};if(t?.enabled===!0)return{name:"@arcgis/lumina:buildStencilHydrate",async writeBundle(){if(e.isInStorybook)return;let n=Bc()?.name??e.options.build?.cdn?.namespace??Ne.basename(e.dir.root),r=`${n}/hydrate`,i=Ne.resolve(e.dir.root,t.path??"hydrate"),o="index.d.ts",s="index.js",a="index.mjs",p=Ne.join(i,"index.d.ts"),l=Ne.join(i,"index.js"),c=Ne.join(i,"index.mjs"),d=q(i,e.dir.dist),u=`${Array.from(new Set(e.apiJsonComponents.map(f=>`import "${d}/${f.importPath}";`))).join(`
69
69
  `)}
70
- export * from "@arcgis/lumina/stencilSsrCompatibility";`;await Oc(i,{recursive:!0}),await Promise.all([Lt(Ie.join(i,"package.json"),`${JSON.stringify({name:r,description:`${n} component hydration app.`,type:"module",main:s,module:a,types:o,exports:{".":{types:`./${o}`,import:`./${a}`,require:`./${s}`}},dependencies:{"@arcgis/lumina":"*"}},null,2)}
71
- `),Lt(p,u),Lt(l,u),Lt(c,u)])}}}var Xo=e=>({name:"@arcgis/lumina:printTotalBuildSize",apply:()=>e.viteCommand==="build",configResolved(t){let n=t.plugins.find(({name:i})=>i==="vite:reporter");if(n===void 0){console.warn("Unable to find the vite's built-in vite:reporter plugin");return}let r=n.writeBundle;if(typeof r!="function")throw new Error("Expected vite:reporter to declare a writeBundle() function");n.writeBundle=async function(o,s){let a=0,p=0,l=0,c=0,d=console.log;console.log=function(...u){if(d.apply(console,u),u.length===1&&typeof u[0]=="string"){let[f,h]=u[0].match(Hc)??[];if(!f)return;c||(c=u[0].slice(0,u[0].indexOf(f)+f.length).replaceAll(Kc,"").length);let y=Number.parseFloat(f.replace(" kB","").replaceAll(",",""));h?(l+=Number.parseFloat(h.replace(" kB","").replaceAll(",","")),p+=y):a+=y}};try{await r.call(this,o,s)}finally{console.log=d}if(p>0){let u=l>0?p:a,f=Go(u),h=e.dir.relativeDist;console.log([qo,h,Wc,"*"," ".repeat(c-`${h}*`.length-f.length),f,zo,l>0?` ${qo}\u2502 gzip: ${Go(l)}${zo}`:""].join(""))}}}}),zo="\x1B[22m\x1B[1m\x1B[22m",qo="\x1B[2m",Wc="\x1B[22m\x1B[36m",Hc=/\d+(?:,\d+)?\.\d{2} kB/gu,Kc=/\x1B\[\d+m/gu,_c=new Intl.NumberFormat("en",{maximumFractionDigits:2,minimumFractionDigits:2}),Go=e=>`${_c.format(e)} kB`;var Qo=e=>({name:"@arcgis/lumina:configureVite",async config({server:t,publicDir:n,build:{cssMinify:r,target:i,sourcemap:o,lib:s,rollupOptions:{output:a=[]}={}}={},test:p={},css:l}){let{include:c,browser:d,environment:m,forceRerunTriggers:u}=p,f={index:"src/index.ts",loader:"src/loader.ts",...await Dr(e)},{loader:h,...y}=f,T=e.environment==="development"||e.isInTest?{"process.env.ESRI_INTERNAL":"true"}:void 0,E=!import.meta.url.includes("node_modules"),b={entries:Object.values(y),include:Array.from(At).filter(j=>!j.startsWith("@arcgis")),exclude:E?["@arcgis/lumina","@arcgis/components-controllers","@arcgis/components-utils","@arcgis/core-adapter"]:void 0};typeof p.setupFiles=="string"?p.setupFiles=[...Ft,p.setupFiles]:Array.isArray(p.setupFiles)?p.setupFiles=[...Ft,...p.setupFiles]:p.setupFiles=[...Ft];let $={preprocessorOptions:{scss:{api:l?.preprocessorOptions?.scss?.api??"modern-compiler"}}};if(e.isInPuppeteerTestBackEnd){if(d?.enabled===!0)throw new Error("Can't enable both Vitest browser mode and Puppeteer testing at the same time");return{test:{puppeteerLaunchOptions:e.options.puppeteerTesting?.launchOptions,puppeteerWaitForChangesDelay:e.options.puppeteerTesting?.waitForChangesDelay,globalSetup:["@arcgis/lumina-compiler/puppeteerTesting/globalSetup"],runner:"@arcgis/lumina-compiler/puppeteerTesting/runner",include:c?void 0:["**/*.{e2e,spec}.?(c|m)[jt]s?(x)"],environment:m??"happy-dom",forceRerunTriggers:u===void 0?["**/*.{ts,tsx}"]:void 0},css:$,optimizeDeps:b,define:T}}return{server:{open:t?.open??!0},publicDir:n??!1,build:{cssMinify:r??(e.environment==="production"?!0:void 0),target:i??Dt(e.typeScriptConfig),sourcemap:o??(e.environment==="development"?"inline":e.options.build?.enableSourceMapsInProduction??!1),lib:{entry:f,formats:(s?s.formats:void 0)??["es"]},rollupOptions:{output:{chunkFileNames:(Array.isArray(a)?void 0:a.chunkFileNames)||"chunks/[name].js",banner:(Array.isArray(a)?void 0:a.banner)||e.banner,generatedCode:(Array.isArray(a)?void 0:a.generatedCode)??"es2015"}}},optimizeDeps:b,define:T,test:{include:c?void 0:[d?.enabled??!0?"**/*.e2e.?(c|m)[jt]s?(x)":"**/*.{test,spec}.?(c|m)[jt]s?(x)"],browser:{enabled:e.isInPuppeteerTestFrontEnd?!1:d?.enabled??!0,name:d?.name??"chromium",provider:d?.provider??Zn}},css:$}}});var Yo=e=>({name:"@arcgis/lumina:setAssetPath",apply:()=>e.viteCommand==="build",config:t=>({base:t.base??e.options.assets?.defaultPath??G()})});import Vn from"typescript";import{path as Uc,retrievePackageJson as Vc,toPosixPathSeparators as zc}from"@arcgis/components-build-utils";import{getPreamble as qc}from"@arcgis/components-utils";function Zo(e=Vc()){let t=e.version??"0.0.1";return qc(t)}var es=e=>`/*! ${e} */`,F=e=>(t,n)=>{Object.defineProperty(t,n,{get(){throw new Error(`Tried to access '${String(n)}' before it was set. You can't access this property in global scope. However, it will be accessible by the time the following Vite plugin hook is called: ${e}`)},set(i){Object.defineProperty(this,n,{value:i,configurable:!0,writable:!0,enumerable:!0})},configurable:!0,enumerable:!0})};function Ne(e){if(Uc.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 zc(e)}var Le={vsCodeHtml:"docs/vscode.html-custom-data.json",vsCodeCss:"docs/vscode.css-custom-data.json",webTypes:"docs/web-types.json",apiJson:"docs/api.json",stencilLikeDocsJson:"docs/docs.json"};import{existsAsync as Gc}from"@arcgis/components-build-utils";import{readFile as Xc}from"node:fs/promises";import{retrievePackageJson as ts}from"@arcgis/components-build-utils";import{path as Qc}from"@arcgis/components-build-utils";import{writeFileSync as Yc}from"node:fs";async function Rt(e,t,n,r,i=ts()){let o=Zc(e,n,r,i),s=Qc.join(t,"lumina.ts");if((await Gc(s)?await Xc(s,"utf8"):"")===o)return!1;if(process.env.CI)throw new Error("lumina.ts is out of date. Start the vite dev server or build locally at least once to update lumina.ts and commit the updated file");return Yc(s,o),!0}function Zc(e,t,n,r=ts()){let i=e.filter(d=>d.type==="@arcgis/lumina").map(d=>`
70
+ export * from "@arcgis/lumina/stencilSsrCompatibility";`;await Oc(i,{recursive:!0}),await Promise.all([Lt(Ne.join(i,"package.json"),`${JSON.stringify({name:r,description:`${n} component hydration app.`,type:"module",main:s,module:a,types:o,exports:{".":{types:`./${o}`,import:`./${a}`,require:`./${s}`}},dependencies:{"@arcgis/lumina":"*"}},null,2)}
71
+ `),Lt(p,u),Lt(l,u),Lt(c,u)])}}}var Xo=e=>({name:"@arcgis/lumina:printTotalBuildSize",apply:()=>e.viteCommand==="build",configResolved(t){let n=t.plugins.find(({name:i})=>i==="vite:reporter");if(n===void 0){console.warn("Unable to find the vite's built-in vite:reporter plugin");return}let r=n.writeBundle;if(typeof r!="function")throw new Error("Expected vite:reporter to declare a writeBundle() function");n.writeBundle=async function(o,s){let a=0,p=0,l=0,c=0,d=console.log;console.log=function(...u){if(d.apply(console,u),u.length===1&&typeof u[0]=="string"){let[f,h]=u[0].match(Hc)??[];if(!f)return;c||(c=u[0].slice(0,u[0].indexOf(f)+f.length).replaceAll(Kc,"").length);let y=Number.parseFloat(f.replace(" kB","").replaceAll(",",""));h?(l+=Number.parseFloat(h.replace(" kB","").replaceAll(",","")),p+=y):a+=y}};try{await r.call(this,o,s)}finally{console.log=d}if(p>0){let u=l>0?p:a,f=Go(u),h=e.dir.relativeDist;console.log([qo,h,Wc,"*"," ".repeat(c-`${h}*`.length-f.length),f,zo,l>0?` ${qo}\u2502 gzip: ${Go(l)}${zo}`:""].join(""))}}}}),zo="\x1B[22m\x1B[1m\x1B[22m",qo="\x1B[2m",Wc="\x1B[22m\x1B[36m",Hc=/\d+(?:,\d+)?\.\d{2} kB/gu,Kc=/\x1B\[\d+m/gu,_c=new Intl.NumberFormat("en",{maximumFractionDigits:2,minimumFractionDigits:2}),Go=e=>`${_c.format(e)} kB`;var Qo=e=>({name:"@arcgis/lumina:configureVite",async config({server:t,publicDir:n,build:{cssMinify:r,target:i,sourcemap:o,lib:s,rollupOptions:{output:a=[]}={}}={},test:p={},css:l}){let{include:c,browser:d,environment:m,forceRerunTriggers:u}=p,f={index:"src/index.ts",loader:"src/loader.ts",...await Dr(e)},{loader:h,...y}=f,T=e.environment==="development"||e.isInTest?{"process.env.ESRI_INTERNAL":"true"}:void 0,E=!import.meta.url.includes("node_modules"),b={entries:Object.values(y),include:Array.from(At).filter(j=>!j.startsWith("@arcgis")),exclude:E?["@arcgis/lumina","@arcgis/components-controllers","@arcgis/components-utils","@arcgis/core-adapter"]:void 0};typeof p.setupFiles=="string"?p.setupFiles=[...Ft,p.setupFiles]:Array.isArray(p.setupFiles)?p.setupFiles=[...Ft,...p.setupFiles]:p.setupFiles=[...Ft];let $={preprocessorOptions:{scss:{api:l?.preprocessorOptions?.scss?.api??"modern-compiler"}}};if(e.isInPuppeteerTestBackEnd){if(d?.enabled===!0)throw new Error("Can't enable both Vitest browser mode and Puppeteer testing at the same time");return{test:{puppeteerLaunchOptions:e.options.puppeteerTesting?.launchOptions,puppeteerWaitForChangesDelay:e.options.puppeteerTesting?.waitForChangesDelay,globalSetup:["@arcgis/lumina-compiler/puppeteerTesting/globalSetup"],runner:"@arcgis/lumina-compiler/puppeteerTesting/runner",include:c?void 0:["**/*.{e2e,spec}.?(c|m)[jt]s?(x)"],environment:m??"happy-dom",forceRerunTriggers:u===void 0?["**/*.{ts,tsx}"]:void 0},css:$,optimizeDeps:b,define:T}}return{server:{open:t?.open??!0},publicDir:n??!1,build:{cssMinify:r??(e.environment==="production"?!0:void 0),target:i??Dt(e.typeScriptConfig),sourcemap:o??(e.environment==="development"?"inline":e.options.build?.enableSourceMapsInProduction??!1),lib:{entry:f,formats:(s?s.formats:void 0)??["es"]},rollupOptions:{output:{chunkFileNames:(Array.isArray(a)?void 0:a.chunkFileNames)||"chunks/[name].js",banner:(Array.isArray(a)?void 0:a.banner)||e.banner,generatedCode:(Array.isArray(a)?void 0:a.generatedCode)??"es2015"}}},optimizeDeps:b,define:T,test:{include:c?void 0:[d?.enabled??!0?"**/*.e2e.?(c|m)[jt]s?(x)":"**/*.{test,spec}.?(c|m)[jt]s?(x)"],browser:{enabled:e.isInPuppeteerTestFrontEnd?!1:d?.enabled??!0,name:d?.name??"chromium",provider:d?.provider??Zn}},css:$}}});var Yo=e=>({name:"@arcgis/lumina:setAssetPath",apply:()=>e.viteCommand==="build",config:t=>({base:t.base??e.options.assets?.defaultPath??G()})});import Vn from"typescript";import{path as Uc,retrievePackageJson as Vc,toPosixPathSeparators as zc}from"@arcgis/components-build-utils";import{getPreamble as qc}from"@arcgis/components-utils";function Zo(e=Vc()){let t=e.version??"0.0.1";return qc(t)}var es=e=>`/*! ${e} */`,F=e=>(t,n)=>{Object.defineProperty(t,n,{get(){throw new Error(`Tried to access '${String(n)}' before it was set. You can't access this property in global scope. However, it will be accessible by the time the following Vite plugin hook is called: ${e}`)},set(i){Object.defineProperty(this,n,{value:i,configurable:!0,writable:!0,enumerable:!0})},configurable:!0,enumerable:!0})};function Le(e){if(Uc.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 zc(e)}var Re={vsCodeHtml:"docs/vscode.html-custom-data.json",vsCodeCss:"docs/vscode.css-custom-data.json",webTypes:"docs/web-types.json",apiJson:"docs/api.json",stencilLikeDocsJson:"docs/docs.json"};import{existsAsync as Gc}from"@arcgis/components-build-utils";import{readFile as Xc}from"node:fs/promises";import{retrievePackageJson as ts}from"@arcgis/components-build-utils";import{path as Qc}from"@arcgis/components-build-utils";import{writeFileSync as Yc}from"node:fs";async function Rt(e,t,n,r,i=ts()){let o=Zc(e,n,r,i),s=Qc.join(t,"lumina.ts");if((await Gc(s)?await Xc(s,"utf8"):"")===o)return!1;if(process.env.CI)throw new Error("lumina.ts is out of date. Start the vite dev server or build locally at least once to update lumina.ts and commit the updated file");return Yc(s,o),!0}function Zc(e,t,n,r=ts()){let i=e.filter(d=>d.type==="@arcgis/lumina").map(d=>`
72
72
  /// <reference types="${d.packageName}/types/lumina" />`),o=e.filter(d=>d.type==="stencil"),s=o.map((d,m)=>`
73
73
  import type { JSX as JSX$${m} } from "${d.packageName}/dist/types/components";`),a=o.length===0?"":`
74
74
 
@@ -89,15 +89,15 @@ declare module "@arcgis/lumina" {
89
89
  */
90
90
  /// <reference types="@arcgis/lumina/typings" />`,td=`
91
91
  /// <reference types="@arcgis/core/interfaces" />`;import nd from"chalk";var ns="@arcgis/lumina:dependencySupport",Un=(e,t)=>e.viteCommand==="serve"&&(!e.isInTest||!e.viteConfig.test?.browser?.enabled)||e.isInStorybook&&(t===void 0||t.path==="/iframe.html"),rs=e=>({name:ns,configResolved(){!e.isInTest&&!e.isInStorybook&&(e._updateLuminaTsPromise=rd(e).catch(t=>console.error(`${ns}: Failed to update package's src/lumina.ts`,t)))},transformIndexHtml:{order:"pre",async handler(t,n){return Un(e,n)?(await xe(e)).map(i=>"javascriptCode"in i?{tag:"script",attrs:{type:"module"},children:i.javascriptCode.join(`
92
- `)}:"cssHref"in i?{tag:"link",attrs:{rel:"stylesheet",href:i.cssHref,id:i.id}}:i):void 0}},async buildStart(){if(e.viteCommand!=="serve")return;let n=(await xe(e)).flatMap(r=>{if("javascriptCode"in r)return r.optimizableImports;if("cssHref"in r)return[];throw new Error(`Unexpected loader type: ${JSON.stringify(r)}`)});e.viteConfig.optimizeDeps.include??=[],e.viteConfig.optimizeDeps.include.push(...n)},async buildEnd(){await e._updateLuminaTsPromise}});async function rd(e){let n=(await Promise.all([oe,On(e)])).flat();if(!await Rt(n,e.dir.src,qe,e.viteConfig.test?.browser?.provider))return;let i=!1;function o(){i||console.warn(id),i=!0}process.on("exit",()=>{o(),clearTimeout(a)});let a=setTimeout(o,2e3)}var id=nd.greenBright(`lumina.ts has been updated (potentially because your dependencies changed). Please commit the updated file.
93
- If build failed with TypeScript errors, try running the build again to check whether new lumina.ts resolves the errors.`);import{getCwd as od,path as L}from"@arcgis/components-build-utils";var $t="@arcgis/lumina:compilerContextPlugin",w=class{constructor(t){this.typeScriptProgram=void 0;this.typeScriptTypeChecker=void 0;this.typeScriptWatchProgram=void 0;this._typeScriptSourceFiles=new Map;this._typeScriptReload=void 0;this._plugin={name:$t,enforce:"pre",apply:(t,n)=>(this._inferBuildSetup(n,t.define),!0),configResolved:{order:"pre",handler:t=>{this.viteConfig=t;let n=t.build.minify!==!1;this.shouldMinify=n&&this.viteCommand!=="serve",Object.hasOwn(this,"shouldMinifyJsx")||(this.shouldMinifyJsx=this.viteCommand!=="serve"||this.isInTest);let r=L.join(t.root,L.sep),i=L.join(r,"src",L.sep),o=L.join(i,"components",L.sep),s=L.join(L.resolve(r,t.build.outDir),L.sep),a=L.join(L.relative(r,s),L.sep),p=L.join(s,"components",L.sep),l=L.join(s,this.options.build?.cdn?.namespace??ke,L.sep),c=L.join(l,"assets",L.sep);if(this.dir={root:r,src:i,srcComponents:o,relativeDist:a,dist:s,distComponents:p,distCdn:l,distCdnAssets:c},t.root!==od())throw new Error(`${$t}: Vite's config.root is not equal process.cwd(). This is not officially supported by Lumina and may lead to unexpected behavior. If you need this to be supported, comment on https://devtopia.esri.com/WebGIS/arcgis-web-components/issues/2126 or contact Lumina maintainers.`);s===r?console.warn(`${$t}: 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(`${$t}: Vite output directory is outside the root directory. This is not officially supported by Lumina and may lead to unexpected behavior. Contact Lumina maintainers if you need this to be supported.`),this.isInStorybook=t.resolve.conditions.includes("storybook"),this.isFullApiExtraction=this.viteCommand==="build"||this.isInStorybook,this.hmrEnabled=this.viteCommand==="serve"&&!this.isInTest&&!!(t.server?.hmr??!0),ho(this,t.build.sourcemap!==!1),Un(this)&&xe(this).catch(console.error)}},configureServer:{order:"post",handler:()=>{this._serverConfigured=!0}}};this._localDefinedComponents=void 0;this._cssImports=new Map;this._cssDocs=void 0;this.isInCi=!!process.env.CI;this._declarationTextTransformers=[];this._serverConfigured=!1;this.assetsToProvide=[];this._globalCssString=void 0;this._loadersCache=void 0;this._serveOnlyDependencies=void 0;this._customElementDependencies={};this._htmlElementReferencesReplacer=void 0;this._typeDependencies=new Map;this._silencedRules=void 0;this._updateLuminaTsPromise=void 0;this.options=t;let n=t.documentation??{};this._documentationFileNames={apiJson:n.apiJsonFileName===!1?void 0:n.apiJsonFileName?Ne(n.apiJsonFileName):Le.apiJson,stencilLikeDocsJson:n.stencilLikeDocsJsonFileName===!1?void 0:n.stencilLikeDocsJsonFileName?Ne(n.stencilLikeDocsJsonFileName):Le.stencilLikeDocsJson,webTypes:n.jetBrains===!1?void 0:n.jetBrains?.webTypesFileName?Ne(n.jetBrains.webTypesFileName):Le.webTypes,vsCodeHtml:n.vsCode===!1?void 0:n.vsCode?.htmlFileName?Ne(n.vsCode.htmlFileName):Le.vsCodeHtml,vsCodeCss:n.vsCode===!1?void 0:n.vsCode?.cssFileName?Ne(n.vsCode.cssFileName):Le.vsCodeCss},ut().catch(console.error),this.componentFilesPromise=be(this,L.resolve("src/components")),go(this);let r=t.build?.preamble??Zo();this.banner=es(r)}_inferBuildSetup({command:t,mode:n},r){this.isInTest=process.env.NODE_ENV==="test",n==="production"||n==="development"?this.environment=n:n==="test"||n==="benchmark"?(this.environment="development",this.isInTest=!0):(console.warn(`${ve}: Vite is running in unknown mode "${n}". Assuming development`),this.environment="development"),this.viteCommand=t;let i=r?.__IS_IN_PUPPETEER__===!0,o=this.viteCommand==="serve"&&this.isInTest&&this.options.puppeteerTesting?.enabled===!0;this.isInPuppeteerTestBackEnd=o&&!i,this.isInPuppeteerTestFrontEnd=o&&i,n==="production"&&(this._silencedRules=this.options.linting?.silence)}getSourceFile(t,n){let r=this.typeScriptProgram?.getSourceFile(t);if(r!==void 0){if(this.isInStorybook&&this.viteCommand==="serve")return r}else{if(this.viteCommand==="build"||this.isInStorybook)throw new Error(`Unable to find the TypeScript source file for ${t}`);{let o=this._typeScriptSourceFiles.get(t);o!==void 0&&o.text===n&&(r=o)}}return n!==r?.text&&(r=Vn.createSourceFile(t,n,r?.languageVersion??this.typeScriptConfig.target??Vn.ScriptTarget.Latest,!1,Vn.ScriptKind.TSX),this.viteCommand==="serve"&&this._typeScriptSourceFiles.set(t,r)),r}provideAssets(t,n,r){if(Array.isArray(this.assetsToProvide))this.assetsToProvide.push({assets:t,transformers:n,apply:r});else if(this.viteCommand==="serve")r==="serve"&&ce(this,t,n);else throw new Error("It is too late to call provideAssets() as Vite already wrote the bundle to disk. Please call provideAssets() before Vite's writeBundle()")}logLintError(t,n,r){let i=this._silencedRules?.[t]?.includes(n.slice(this.dir.root.length))!==!0;console.error(r),i&&(process.exitCode=1)}};A([F("buildStart() in build mode or load() serve mode")],w.prototype,"typeScriptHost",2),A([F("configResolved()")],w.prototype,"shouldMinify",2),A([F("configResolved()")],w.prototype,"shouldMinifyJsx",2),A([F("configResolved()")],w.prototype,"dir",2),A([F("load()")],w.prototype,"apiJson",2),A([F("load()")],w.prototype,"apiJsonComponents",2),A([F("load()")],w.prototype,"privateApiJson",2),A([F("load() when in build mode")],w.prototype,"_componentPathMapping",2),A([F("apply()")],w.prototype,"environment",2),A([F("apply()")],w.prototype,"isInTest",2),A([F("apply()")],w.prototype,"isInPuppeteerTestBackEnd",2),A([F("apply()")],w.prototype,"isInPuppeteerTestFrontEnd",2),A([F("configResolved()")],w.prototype,"isInStorybook",2),A([F("configResolved()")],w.prototype,"hmrEnabled",2),A([F("apply()")],w.prototype,"viteCommand",2),A([F("configResolved()")],w.prototype,"isFullApiExtraction",2),A([F("configResolved()")],w.prototype,"viteConfig",2),A([F("configResolved()")],w.prototype,"server",2),A([F("transform()")],w.prototype,"_globalHydratedCssString",2),A([F("config()")],w.prototype,"componentFiles",2),A([F("configResolved()")],w.prototype,"_compilerOptionsForPrinter",2),A([F("configResolved()")],w.prototype,"_typeScriptPrinter",2);import{path as de,toSystemPathSeparators as sd}from"@arcgis/components-build-utils";import{writeFile as is}from"node:fs/promises";var ss=e=>({name:"@arcgis/lumina:addNonLazyImports",apply:()=>e.viteCommand==="build",generateBundle(t,n){Object.entries(n).forEach(([r,i])=>{let o=ee(r,"components/",e);if(o!==r&&(i.fileName=o),i.type==="chunk"){let s=de.dirname(de.join(e.dir.dist,r)),a=o===r?s:de.dirname(de.join(e.dir.dist,o));i.code=Kt(i.code,e,a,s)}})},async writeBundle(){if(e.isInStorybook)return;let t=e._customElementDependencies,n=Object.entries(t),r=new Set(n.map(([o])=>o).filter(o=>ne(o,e.dir.srcComponents)));n.forEach(([o,{referencedTagNames:s,referencedBy:a}])=>{if(r.has(o)||s.length===0)return;let p=as(t,a,r);if(p.forEach(l=>{t[l].referencedTagNames.splice(0,0,...s)}),s.length>0&&p.length===0){let l=sd(o);throw new Error(`Unable to determine what files imported ${l}. This is necessary because this file referenced other web components (${s.join(", ")}), and so the compiler needs to know what component entrypoints these imports should be added to. Please double check if you are referencing ${l} in the code dynamically in the way that Lumina cannot detect, and report this issue to the Lumina maintainers.`)}});let i=n.flatMap(([o,{referencedTagNames:s}])=>{if(!r.has(o))return[];let a=de.dirname(o),p=ee(a,e.dir.srcComponents,e),l=de.relative(e.dir.src,p),c=s.map(u=>Zi(Yi(e,u,o),l)).filter(u=>u!==`./${l}`).map(u=>u.startsWith(".")?`${u}/${os}`:u),m=`${Array.from(new Set(c),u=>`import "${u}";
92
+ `)}:"cssHref"in i?{tag:"link",attrs:{rel:"stylesheet",href:i.cssHref,id:i.id}}:i):void 0}},async buildStart(){if(e.viteCommand!=="serve")return;let n=(await xe(e)).flatMap(r=>{if("javascriptCode"in r)return r.optimizableImports;if("cssHref"in r)return[];throw new Error(`Unexpected loader type: ${JSON.stringify(r)}`)});e.viteConfig.optimizeDeps.include??=[],e.viteConfig.optimizeDeps.include.push(...n)},async buildEnd(){await e._updateLuminaTsPromise}});async function rd(e){let n=(await Promise.all([oe,On(e)])).flat();if(!await Rt(n,e.dir.src,Ge,e.viteConfig.test?.browser?.provider))return;let i=!1;function o(){i||console.warn(id),i=!0}process.on("exit",()=>{o(),clearTimeout(a)});let a=setTimeout(o,2e3)}var id=nd.greenBright(`lumina.ts has been updated (potentially because your dependencies changed). Please commit the updated file.
93
+ If build failed with TypeScript errors, try running the build again to check whether new lumina.ts resolves the errors.`);import{getCwd as od,path as L}from"@arcgis/components-build-utils";var $t="@arcgis/lumina:compilerContextPlugin",w=class{constructor(t){this.typeScriptProgram=void 0;this.typeScriptTypeChecker=void 0;this.typeScriptWatchProgram=void 0;this._typeScriptSourceFiles=new Map;this._typeScriptReload=void 0;this._plugin={name:$t,enforce:"pre",apply:(t,n)=>(this._inferBuildSetup(n,t.define),!0),configResolved:{order:"pre",handler:t=>{this.viteConfig=t;let n=t.build.minify!==!1;this.shouldMinify=n&&this.viteCommand!=="serve",Object.hasOwn(this,"shouldMinifyJsx")||(this.shouldMinifyJsx=this.viteCommand!=="serve"||this.isInTest);let r=L.join(t.root,L.sep),i=L.join(r,"src",L.sep),o=L.join(i,"components",L.sep),s=L.join(L.resolve(r,t.build.outDir),L.sep),a=L.join(L.relative(r,s),L.sep),p=L.join(s,"components",L.sep),l=L.join(s,this.options.build?.cdn?.namespace??Ie,L.sep),c=L.join(l,"assets",L.sep);if(this.dir={root:r,src:i,srcComponents:o,relativeDist:a,dist:s,distComponents:p,distCdn:l,distCdnAssets:c},t.root!==od())throw new Error(`${$t}: Vite's config.root is not equal process.cwd(). This is not officially supported by Lumina and may lead to unexpected behavior. If you need this to be supported, comment on https://devtopia.esri.com/WebGIS/arcgis-web-components/issues/2126 or contact Lumina maintainers.`);s===r?console.warn(`${$t}: 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(`${$t}: Vite output directory is outside the root directory. This is not officially supported by Lumina and may lead to unexpected behavior. Contact Lumina maintainers if you need this to be supported.`),this.isInStorybook=t.resolve.conditions.includes("storybook"),this.isFullApiExtraction=this.viteCommand==="build"||this.isInStorybook,this.hmrEnabled=this.viteCommand==="serve"&&!this.isInTest&&!!(t.server?.hmr??!0),ho(this,t.build.sourcemap!==!1),Un(this)&&xe(this).catch(console.error)}},configureServer:{order:"post",handler:()=>{this._serverConfigured=!0}}};this._localDefinedComponents=void 0;this._cssImports=new Map;this._cssDocs=void 0;this.isInCi=!!process.env.CI;this._declarationTextTransformers=[];this._serverConfigured=!1;this.assetsToProvide=[];this._globalCssString=void 0;this._loadersCache=void 0;this._serveOnlyDependencies=void 0;this._customElementDependencies={};this._htmlElementReferencesReplacer=void 0;this._typeDependencies=new Map;this._silencedRules=void 0;this._updateLuminaTsPromise=void 0;this.options=t;let n=t.documentation??{};this._documentationFileNames={apiJson:n.apiJsonFileName===!1?void 0:n.apiJsonFileName?Le(n.apiJsonFileName):Re.apiJson,stencilLikeDocsJson:n.stencilLikeDocsJsonFileName===!1?void 0:n.stencilLikeDocsJsonFileName?Le(n.stencilLikeDocsJsonFileName):Re.stencilLikeDocsJson,webTypes:n.jetBrains===!1?void 0:n.jetBrains?.webTypesFileName?Le(n.jetBrains.webTypesFileName):Re.webTypes,vsCodeHtml:n.vsCode===!1?void 0:n.vsCode?.htmlFileName?Le(n.vsCode.htmlFileName):Re.vsCodeHtml,vsCodeCss:n.vsCode===!1?void 0:n.vsCode?.cssFileName?Le(n.vsCode.cssFileName):Re.vsCodeCss},ut().catch(console.error),this.componentFilesPromise=be(this,L.resolve("src/components")),go(this);let r=t.build?.preamble??Zo();this.banner=es(r)}_inferBuildSetup({command:t,mode:n},r){this.isInTest=process.env.NODE_ENV==="test",n==="production"||n==="development"?this.environment=n:n==="test"||n==="benchmark"?(this.environment="development",this.isInTest=!0):(console.warn(`${Ee}: Vite is running in unknown mode "${n}". Assuming development`),this.environment="development"),this.viteCommand=t;let i=r?.__IS_IN_PUPPETEER__===!0,o=this.viteCommand==="serve"&&this.isInTest&&this.options.puppeteerTesting?.enabled===!0;this.isInPuppeteerTestBackEnd=o&&!i,this.isInPuppeteerTestFrontEnd=o&&i,n==="production"&&(this._silencedRules=this.options.linting?.silence)}getSourceFile(t,n){let r=this.typeScriptProgram?.getSourceFile(t);if(r!==void 0){if(this.isInStorybook&&this.viteCommand==="serve")return r}else{if(this.viteCommand==="build"||this.isInStorybook)throw new Error(`Unable to find the TypeScript source file for ${t}`);{let o=this._typeScriptSourceFiles.get(t);o!==void 0&&o.text===n&&(r=o)}}return n!==r?.text&&(r=Vn.createSourceFile(t,n,r?.languageVersion??this.typeScriptConfig.target??Vn.ScriptTarget.Latest,!1,Vn.ScriptKind.TSX),this.viteCommand==="serve"&&this._typeScriptSourceFiles.set(t,r)),r}provideAssets(t,n,r){if(Array.isArray(this.assetsToProvide))this.assetsToProvide.push({assets:t,transformers:n,apply:r});else if(this.viteCommand==="serve")r==="serve"&&ce(this,t,n);else throw new Error("It is too late to call provideAssets() as Vite already wrote the bundle to disk. Please call provideAssets() before Vite's writeBundle()")}logLintError(t,n,r){let i=this._silencedRules?.[t]?.includes(n.slice(this.dir.root.length))!==!0;console.error(r),i&&(process.exitCode=1)}};A([F("buildStart() in build mode or load() serve mode")],w.prototype,"typeScriptHost",2),A([F("configResolved()")],w.prototype,"shouldMinify",2),A([F("configResolved()")],w.prototype,"shouldMinifyJsx",2),A([F("configResolved()")],w.prototype,"dir",2),A([F("load()")],w.prototype,"apiJson",2),A([F("load()")],w.prototype,"apiJsonComponents",2),A([F("load()")],w.prototype,"privateApiJson",2),A([F("load() when in build mode")],w.prototype,"_componentPathMapping",2),A([F("apply()")],w.prototype,"environment",2),A([F("apply()")],w.prototype,"isInTest",2),A([F("apply()")],w.prototype,"isInPuppeteerTestBackEnd",2),A([F("apply()")],w.prototype,"isInPuppeteerTestFrontEnd",2),A([F("configResolved()")],w.prototype,"isInStorybook",2),A([F("configResolved()")],w.prototype,"hmrEnabled",2),A([F("apply()")],w.prototype,"viteCommand",2),A([F("configResolved()")],w.prototype,"isFullApiExtraction",2),A([F("configResolved()")],w.prototype,"viteConfig",2),A([F("configResolved()")],w.prototype,"server",2),A([F("transform()")],w.prototype,"_globalHydratedCssString",2),A([F("config()")],w.prototype,"componentFiles",2),A([F("configResolved()")],w.prototype,"_compilerOptionsForPrinter",2),A([F("configResolved()")],w.prototype,"_typeScriptPrinter",2);import{path as de,toSystemPathSeparators as sd}from"@arcgis/components-build-utils";import{writeFile as is}from"node:fs/promises";var ss=e=>({name:"@arcgis/lumina:addNonLazyImports",apply:()=>e.viteCommand==="build",generateBundle(t,n){Object.entries(n).forEach(([r,i])=>{let o=ee(r,"components/",e);if(o!==r&&(i.fileName=o),i.type==="chunk"){let s=de.dirname(de.join(e.dir.dist,r)),a=o===r?s:de.dirname(de.join(e.dir.dist,o));i.code=Kt(i.code,e,a,s)}})},async writeBundle(){if(e.isInStorybook)return;let t=e._customElementDependencies,n=Object.entries(t),r=new Set(n.map(([o])=>o).filter(o=>ne(o,e.dir.srcComponents)));n.forEach(([o,{referencedTagNames:s,referencedBy:a}])=>{if(r.has(o)||s.length===0)return;let p=as(t,a,r);if(p.forEach(l=>{t[l].referencedTagNames.splice(0,0,...s)}),s.length>0&&p.length===0){let l=sd(o);throw new Error(`Unable to determine what files imported ${l}. This is necessary because this file referenced other web components (${s.join(", ")}), and so the compiler needs to know what component entrypoints these imports should be added to. Please double check if you are referencing ${l} in the code dynamically in the way that Lumina cannot detect, and report this issue to the Lumina maintainers.`)}});let i=n.flatMap(([o,{referencedTagNames:s}])=>{if(!r.has(o))return[];let a=de.dirname(o),p=ee(a,e.dir.srcComponents,e),l=de.relative(e.dir.src,p),c=s.map(u=>Zi(Yi(e,u,o),l)).filter(u=>u!==`./${l}`).map(u=>u.startsWith(".")?`${u}/${os}`:u),m=`${Array.from(new Set(c),u=>`import "${u}";
94
94
  `).join("").trimStart()}export * from "./${Te}";`;return[is(de.join(e.dir.dist,l,os),m),is(de.join(e.dir.dist,l,ad),m)]});await Promise.all(i)}}),os="index.js",ad="index.d.ts",as=(e,t,n,r=new Set)=>t.flatMap(i=>n.has(i)?[i]:r.has(i)?[]:(r.add(i),as(e,e[i].referencedBy,n,r)));var ls=e=>({name:"@arcgis/lumina:handleDynamicAssets",configureServer(t){e.server=t,!e.isInPuppeteerTestBackEnd&&ps(e).forEach(({assets:n,transformers:r})=>ce(e,n,r))},async writeBundle(){await Promise.all(ps(e).map(async({assets:t,transformers:n})=>await It(e,t,n)))}});function ps(e){let t=[],n=e.assetsToProvide?.filter(r=>r.apply===void 0||r.apply===e.viteCommand)??[];return e.options.assets?.extra?.forEach(r=>{"type"in r?t.push(r):"assets"in r&&t.push(...r.assets)}),t.length>1&&n.push({assets:t}),e.assetsToProvide=void 0,n}import{readFile as pd}from"node:fs/promises";import{writeFileSync as ld}from"node:fs";import{path as zn}from"@arcgis/components-build-utils";var cs="@arcgis/lumina:updatePackageJson",ds=e=>({name:cs,apply:()=>e.viteCommand==="serve"&&e.environment==="development"&&!e.isInTest&&!e.isInCi,configResolved(){cd(e).catch(t=>console.error(`${cs}: Failed to update package's package.json`,t))}});async function cd(e){let t=zn.join(e.dir.root,"package.json"),n=JSON.parse(await pd(t,"utf-8")),r=dd(n,e);r&&ld(t,JSON.stringify(r,null,2))}function dd(e,t){let n=e?.devDependencies??{};Object.keys(e?.peerDependencies??{}).forEach(s=>{s in n||console.error(`Every peerDependency must also be a devDependency, or else some tools will get confused (like Turbo Build). Found "${s}" that is not a devDependency. Please edit your package.json`)});let r=!1,i=s=>zn.relative(t.dir.root,zn.join(t.dir.dist,s)),o=t._documentationFileNames;if(o.vsCodeCss!==void 0){let s=e["css.customData"]??[],a=i(o.vsCodeCss);s.includes(a)||(e["css.customData"]=[...s,a],r=!0)}if(o.apiJson!==void 0){let s=i(o.apiJson);e.customElements!==s&&(e.customElements=s,r=!0)}if(o.vsCodeHtml!==void 0){let s=e["html.customData"]??[],a=i(o.vsCodeHtml);s.includes(a)||(e["html.customData"]=[...s,a],r=!0)}if(o.webTypes!==void 0){let s=i(o.webTypes);e["web-types"]!==s&&(r=!0,e["web-types"]=s)}if(r)return e}import{isNotUndefined as ms}from"@arcgis/components-utils";import{path as md}from"@arcgis/components-build-utils";import{globalPackageIdentifier as ud}from"@arcgis/api-extractor";var us=e=>({timestamp:e.apiJson.timestamp,compiler:e.apiJson.compiler,components:fd(e),typeLibrary:{}});function fd(e){let t=[];for(let n of e.apiJson.modules)for(let r of n.declarations)"customElement"in r&&t.push(yd(r,n.path));return t}function yd(e,t){let n=e.superclass?[{name:"superclass",text:JSON.stringify(e.superclass)}]:[];return{filePath:t,tag:e.tagName??"",overview:"",readme:"",usage:{},docs:e.description??"",docsTags:[...e.docsTags??[],...n],encapsulation:e.encapsulation??"shadow",dependents:[],dependencies:[],dependencyGraph:{},deprecation:typeof e.deprecated=="boolean"?e.deprecated?"":void 0:e.deprecated,props:e.members.map(gd).filter(ms),methods:e.members.map(hd).filter(ms),events:e.events?.map(Cd)??[],styles:e.cssProperties?.map(r=>({name:r.name,annotation:"prop",docs:r.description??"",mode:void 0}))??[],slots:e.slots?.map(({name:r,description:i=""})=>({name:r,docs:i}))??[],parts:e.cssParts?.map(({name:r,description:i=""})=>({name:r,docs:i}))??[],listeners:[]}}function gd(e){if(e.kind!=="field")return;let t=e,n=t.inheritedFrom?[{name:"inheritedFrom",text:JSON.stringify(t.inheritedFrom)}]:[],r=t.readonly?[{name:"readonly",text:""}]:[],i=t.docsTags?.some(o=>o.name==="required")??!1;return{name:e.name,type:t.type?.text??"unknown",complexType:t.type===void 0?void 0:{original:t.type.text,resolved:t.type.text,references:qn(t.type.references)},mutable:!0,attr:"attribute"in t&&typeof t.attribute=="string"?t.attribute:void 0,reflectToAttr:"reflects"in t&&t.reflects===!0,docs:t.description??"",docsTags:[...t.docsTags??[],...r,...n],default:t.default??void 0,deprecation:typeof t.deprecated=="boolean"?t.deprecated?"":void 0:t.deprecated,values:t.type?.values??[],optional:!i,required:i}}var qn=e=>Object.fromEntries(e?.map(t=>[t.name,{location:t.package===ud?"global":t.package===void 0?"local":"import",path:typeof t.module=="string"&&typeof t.package=="string"?md.join(t.package,t.module):t.module??t.package,id:"notImplemented"}])??[]);function hd(e){if(e.kind!=="method")return;let t=e,n=e.inheritedFrom?[{name:"inheritedFrom",text:JSON.stringify(e.inheritedFrom)}]:[],r=t.parameters?.map(({name:i,type:o,description:s})=>({name:i,type:o?.text??"unknown",docs:s??""}))??[];return{name:e.name,returns:{type:t.return?.type?.text??"void",docs:t.docsTags?.filter(({name:i})=>i==="return"||i==="returns").map(({text:i})=>i).join(`
95
- `)??""},complexType:{signature:t.signature??"()=>unknown",parameters:r,return:t.return?.type?.text??"void",references:qn([...t.return?.type?.references??[],...t.parameters?.flatMap(i=>i.type.references??[])??[]])},signature:`${t.name}${t.signature??"()=>unknown"}`,parameters:r,docs:t.description??"",docsTags:[...t.docsTags??[],...n],deprecation:typeof t.deprecated=="boolean"?t.deprecated?"":void 0:t.deprecated}}function Cd(e){let t=e.inheritedFrom?[{name:"inheritedFrom",text:JSON.stringify(e.inheritedFrom)}]:[];return{event:e.name,detail:e.type.text,bubbles:e.bubbles??!0,complexType:{original:e.type.text,resolved:e.type.text,references:qn(e.type.references)},cancelable:e.cancelable??!0,composed:e.composed??!0,docs:e.description??"",docsTags:[...e.docsTags??[],...t],deprecation:typeof e.deprecated=="boolean"?e.deprecated?"":void 0:e.deprecated}}import{path as Ye}from"@arcgis/components-build-utils";import{writeFile as Gn}from"node:fs/promises";import{retrievePackageJson as Pd}from"@arcgis/components-build-utils";var Mt=e=>e.flatMap(t=>t.cssProperties?.map(n=>({name:n.name,description:n.description||void 0}))??[]),Jt=e=>e.flatMap(t=>t.cssParts?.map(n=>({name:`::part(${n.name})`,description:n.description||void 0}))??[]),fs=e=>e.attributes?.map(t=>({name:t.name??"",description:Re(t.description,t.deprecated)||void 0,default:t.default,value:{type:xd(t.type.values?.map(Xt))}}))??[],xd=e=>e?.length===1?e[0]:e,Re=(e="",t=!1)=>t===!1?e:`**Deprecated**${typeof t=="string"?`: ${t}`:""}. ${e}`;import{isApiMethod as Td}from"@arcgis/api-extractor";var Xe={slots:"Slots",events:"Events",cssProperties:"CSS Properties",cssParts:"CSS Parts",methods:"Methods"};function jt(e){let t=bd(e.slots),n=Sd(e.events),r=vd(e.cssProperties),i=Ed(e.cssParts),o=wd(e.members),s=Re(e.description,e.deprecated).trim();return[...s?[`${s}
95
+ `)??""},complexType:{signature:t.signature??"()=>unknown",parameters:r,return:t.return?.type?.text??"void",references:qn([...t.return?.type?.references??[],...t.parameters?.flatMap(i=>i.type.references??[])??[]])},signature:`${t.name}${t.signature??"()=>unknown"}`,parameters:r,docs:t.description??"",docsTags:[...t.docsTags??[],...n],deprecation:typeof t.deprecated=="boolean"?t.deprecated?"":void 0:t.deprecated}}function Cd(e){let t=e.inheritedFrom?[{name:"inheritedFrom",text:JSON.stringify(e.inheritedFrom)}]:[];return{event:e.name,detail:e.type.text,bubbles:e.bubbles??!0,complexType:{original:e.type.text,resolved:e.type.text,references:qn(e.type.references)},cancelable:e.cancelable??!0,composed:e.composed??!0,docs:e.description??"",docsTags:[...e.docsTags??[],...t],deprecation:typeof e.deprecated=="boolean"?e.deprecated?"":void 0:e.deprecated}}import{path as Ze}from"@arcgis/components-build-utils";import{writeFile as Gn}from"node:fs/promises";import{retrievePackageJson as Pd}from"@arcgis/components-build-utils";var Mt=e=>e.flatMap(t=>t.cssProperties?.map(n=>({name:n.name,description:n.description||void 0}))??[]),Jt=e=>e.flatMap(t=>t.cssParts?.map(n=>({name:`::part(${n.name})`,description:n.description||void 0}))??[]),fs=e=>e.attributes?.map(t=>({name:t.name??"",description:$e(t.description,t.deprecated)||void 0,default:t.default,value:{type:xd(t.type.values?.map(Xt))}}))??[],xd=e=>e?.length===1?e[0]:e,$e=(e="",t=!1)=>t===!1?e:`**Deprecated**${typeof t=="string"?`: ${t}`:""}. ${e}`;import{isApiMethod as Td}from"@arcgis/api-extractor";var Qe={slots:"Slots",events:"Events",cssProperties:"CSS Properties",cssParts:"CSS Parts",methods:"Methods"};function jt(e){let t=bd(e.slots),n=Sd(e.events),r=vd(e.cssProperties),i=Ed(e.cssParts),o=wd(e.members),s=$e(e.description,e.deprecated).trim();return[...s?[`${s}
96
96
  --`]:[],n,o,t,r,i].filter(Boolean).join(`
97
97
 
98
- `)}var Qe=(e,t)=>t===void 0||t.length===0?"":`### ${e}
98
+ `)}var Ye=(e,t)=>t===void 0||t.length===0?"":`### ${e}
99
99
  ${t.join(`
100
- `)}`,bd=e=>Qe(Xe.slots,e?.map(t=>`- ${t.name?`**${t.name}**`:"_default_"} - ${t.description}`)),Sd=e=>Qe(Xe.events,e?.filter(t=>t.name!==null&&t.name!==void 0).map(t=>`- **${t.name}**${t.description?` - ${t.description}`:""}`)),vd=(e=[])=>Qe(Xe.cssProperties,e?.map(t=>`- **${t.name}** - ${t.description} ${t.default?`_(default: ${t.default})_}`:""}`)),Ed=e=>Qe(Xe.cssParts,e?.map(t=>`- **${t.name}** - ${t.description}`)),wd=e=>Qe(Xe.methods,e.filter(Td).map(t=>[`- \`${t.name}${t.signature}\``,Re(t.description,t.deprecated)].filter(Boolean).join(" - ")));import{isApiProperty as Ad}from"@arcgis/api-extractor";function gs(e,t){let n=Dd(e),r=Mt(e),i=Jt(e),o=Pd();return{$schema:"https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",name:o.name,version:o.version,"description-markup":"markdown","default-icon":t.defaultIcon,contributions:{html:{elements:n},css:{properties:r,"pseudo-elements":i}}}}var Dd=e=>e.map(t=>({name:t.tagName,description:jt(t),"doc-url":t.demos?.[0]?.url,attributes:fs(t),slots:t.slots?.map(n=>({name:n.name,description:n.description})),events:ys(t),js:{properties:Fd(t),events:ys(t)}})),Fd=e=>e.members.filter(Ad).map(t=>({name:t.name,description:t.description,type:t.type?.text}))??[],ys=e=>e.events?.map(t=>({name:t.name,type:t.type?.text,description:t.description}))??[];var hs=e=>e.map(t=>({name:t.tagName,description:jt(t),attributes:kd(t),references:t.demos?.map(n=>({name:n.description,url:n.url}))??[]})),kd=e=>e.attributes?.map(t=>({name:t.name,description:Re(t.description,t.deprecated)||void 0,values:Id(t)}))??[],Id=e=>e.type.values?.map(t=>t.value??"").filter(Boolean).map(t=>({name:t}))??[];var Cs=e=>({$schema:"https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/main/docs/customData.schema.json",version:1.1,tags:hs(e)}),xs=e=>({$schema:"https://raw.githubusercontent.com/microsoft/vscode-css-languageservice/main/docs/customData.schema.json",version:1.1,properties:Mt(e),pseudoElements:Jt(e)});import{isNotUndefined as Nd}from"@arcgis/components-utils";var Ld="@arcgis/lumina:generateDocs";function Ts(e){return e._documentationFileNames.stencilLikeDocsJson!==void 0&&e.provideAssets([{type:"dynamic",source:()=>JSON.stringify(us(e),null,2),destination:Ye.join("../..",e._documentationFileNames.stencilLikeDocsJson)}]),e._documentationFileNames.apiJson!==void 0&&e.provideAssets([{type:"dynamic",source:()=>JSON.stringify(e.apiJson,null,2),destination:Ye.join("../..",e._documentationFileNames.apiJson)}]),{name:Ld,async writeBundle(){if(e.isInStorybook)return;let{jetBrains:t}=e.options.documentation??{},n=e._documentationFileNames,r=n.vsCodeHtml===void 0?void 0:Ye.join(e.dir.dist,n.vsCodeHtml),i=n.vsCodeCss===void 0?void 0:Ye.join(e.dir.dist,n.vsCodeCss),o=n.webTypes===void 0?void 0:Ye.join(e.dir.dist,n.webTypes),s=[r,i,o].filter(Nd);if(s.length===0)return;await _n(s);let a=[];if(r!==void 0){let p=JSON.stringify(Cs(e.apiJsonComponents),null,2);a.push(Gn(r,p))}if(i!==void 0){let p=JSON.stringify(xs(e.apiJsonComponents),null,2);a.push(Gn(i,p))}if(o!==void 0){let p=gs(e.apiJsonComponents,typeof t=="object"?t:{});a.push(Gn(o,JSON.stringify(p,null,2)))}await Promise.all(a)}}}var bs=e=>`import type { h, EventHandler } from "@arcgis/lumina";
100
+ `)}`,bd=e=>Ye(Qe.slots,e?.map(t=>`- ${t.name?`**${t.name}**`:"_default_"} - ${t.description}`)),Sd=e=>Ye(Qe.events,e?.filter(t=>t.name!==null&&t.name!==void 0).map(t=>`- **${t.name}**${t.description?` - ${t.description}`:""}`)),vd=(e=[])=>Ye(Qe.cssProperties,e?.map(t=>`- **${t.name}** - ${t.description} ${t.default?`_(default: ${t.default})_}`:""}`)),Ed=e=>Ye(Qe.cssParts,e?.map(t=>`- **${t.name}** - ${t.description}`)),wd=e=>Ye(Qe.methods,e.filter(Td).map(t=>[`- \`${t.name}${t.signature}\``,$e(t.description,t.deprecated)].filter(Boolean).join(" - ")));import{isApiProperty as Ad}from"@arcgis/api-extractor";function gs(e,t){let n=Dd(e),r=Mt(e),i=Jt(e),o=Pd();return{$schema:"https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",name:o.name,version:o.version,"description-markup":"markdown","default-icon":t.defaultIcon,contributions:{html:{elements:n},css:{properties:r,"pseudo-elements":i}}}}var Dd=e=>e.map(t=>({name:t.tagName,description:jt(t),"doc-url":t.demos?.[0]?.url,attributes:fs(t),slots:t.slots?.map(n=>({name:n.name,description:n.description})),events:ys(t),js:{properties:Fd(t),events:ys(t)}})),Fd=e=>e.members.filter(Ad).map(t=>({name:t.name,description:t.description,type:t.type?.text}))??[],ys=e=>e.events?.map(t=>({name:t.name,type:t.type?.text,description:t.description}))??[];var hs=e=>e.map(t=>({name:t.tagName,description:jt(t),attributes:kd(t),references:t.demos?.map(n=>({name:n.description,url:n.url}))??[]})),kd=e=>e.attributes?.map(t=>({name:t.name,description:$e(t.description,t.deprecated)||void 0,values:Id(t)}))??[],Id=e=>e.type.values?.map(t=>t.value??"").filter(Boolean).map(t=>({name:t}))??[];var Cs=e=>({$schema:"https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/main/docs/customData.schema.json",version:1.1,tags:hs(e)}),xs=e=>({$schema:"https://raw.githubusercontent.com/microsoft/vscode-css-languageservice/main/docs/customData.schema.json",version:1.1,properties:Mt(e),pseudoElements:Jt(e)});import{isNotUndefined as Nd}from"@arcgis/components-utils";var Ld="@arcgis/lumina:generateDocs";function Ts(e){return e._documentationFileNames.stencilLikeDocsJson!==void 0&&e.provideAssets([{type:"dynamic",source:()=>JSON.stringify(us(e),null,2),destination:Ze.join("../..",e._documentationFileNames.stencilLikeDocsJson)}]),e._documentationFileNames.apiJson!==void 0&&e.provideAssets([{type:"dynamic",source:()=>JSON.stringify(e.apiJson,null,2),destination:Ze.join("../..",e._documentationFileNames.apiJson)}]),{name:Ld,async writeBundle(){if(e.isInStorybook)return;let{jetBrains:t}=e.options.documentation??{},n=e._documentationFileNames,r=n.vsCodeHtml===void 0?void 0:Ze.join(e.dir.dist,n.vsCodeHtml),i=n.vsCodeCss===void 0?void 0:Ze.join(e.dir.dist,n.vsCodeCss),o=n.webTypes===void 0?void 0:Ze.join(e.dir.dist,n.webTypes),s=[r,i,o].filter(Nd);if(s.length===0)return;await _n(s);let a=[];if(r!==void 0){let p=JSON.stringify(Cs(e.apiJsonComponents),null,2);a.push(Gn(r,p))}if(i!==void 0){let p=JSON.stringify(xs(e.apiJsonComponents),null,2);a.push(Gn(i,p))}if(o!==void 0){let p=gs(e.apiJsonComponents,typeof t=="object"?t:{});a.push(Gn(o,JSON.stringify(p,null,2)))}await Promise.all(a)}}}var bs=e=>`import type { h, EventHandler } from "@arcgis/lumina";
101
101
 
102
102
  ${e.map(Rd).join(`
103
103
 
@@ -233,4 +233,4 @@ ${t}
233
233
  `:""}}
234
234
  )
235
235
  );
236
- `}function Xd(e={}){let t=new w(e),n=[t._plugin,Qo(t),Yo(t),ds(t),br(t),Lo(t),As(t),Ts(t),uo(t),Vr(t),Ko(t),ls(t),ss(t),rs(t),Yn(t),So(t),Vo(t),Fs(t),Xo(t)].filter(Gd);return n.context=t,n}var Yx={initializeComponentDependencies:ut,updateLuminaTs:Rt,propertyToAttributeMappings:B,findDeclaredComponents:Ze,nativeEvents:xt,svgElements:Pe,mathMlElements:Ae,alwaysAttributes:ht,nativeAlwaysAttributes:Ct,htmlAlwaysAttributes:Ke,isPropertyEscapeNeeded:Ce};export{We as LuminaApiExtractor,Yx as exportsForCodemod,G as inferCdnUrl,Xd as useLumina};
236
+ `}function Xd(e={}){let t=new w(e),n=[t._plugin,Qo(t),Yo(t),ds(t),br(t),Lo(t),As(t),Ts(t),uo(t),Vr(t),Ko(t),ls(t),ss(t),rs(t),Yn(t),So(t),Vo(t),Fs(t),Xo(t)].filter(Gd);return n.context=t,n}var Zx={initializeComponentDependencies:ut,updateLuminaTs:Rt,propertyToAttributeMappings:W,findDeclaredComponents:et,nativeEvents:xt,svgElements:Ae,mathMlElements:De,alwaysAttributes:ht,nativeAlwaysAttributes:Ct,htmlAlwaysAttributes:_e,isPropertyEscapeNeeded:Ce};export{He as LuminaApiExtractor,Zx as exportsForCodemod,G as inferCdnUrl,Xd as useLumina};
@@ -48,6 +48,7 @@ export type JsxContext = {
48
48
  * not be converted to `keyed()` directives.
49
49
  */
50
50
  readonly liftedKeys: Set<ts.JsxAttributeName>;
51
+ readonly isInLightDomComponent: boolean;
51
52
  hasNonLuminaJsxImport: boolean;
52
53
  };
53
54
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/lumina-compiler",
3
- "version": "4.33.0-next.8",
3
+ "version": "4.33.0-next.9",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -18,9 +18,9 @@
18
18
  ],
19
19
  "license": "SEE LICENSE IN LICENSE.md",
20
20
  "dependencies": {
21
- "@arcgis/api-extractor": "4.33.0-next.8",
22
- "@arcgis/components-build-utils": "4.33.0-next.8",
23
- "@arcgis/components-utils": "4.33.0-next.8",
21
+ "@arcgis/api-extractor": "4.33.0-next.9",
22
+ "@arcgis/components-build-utils": "4.33.0-next.9",
23
+ "@arcgis/components-utils": "4.33.0-next.9",
24
24
  "chalk": "^5.3.0",
25
25
  "esbuild": "^0.24.0",
26
26
  "js-beautify": "^1.15.1",
@@ -36,6 +36,6 @@
36
36
  "vitest-fail-on-console": "^0.7.1"
37
37
  },
38
38
  "peerDependencies": {
39
- "@arcgis/lumina": "~4.33.0-next.8"
39
+ "@arcgis/lumina": "~4.33.0-next.9"
40
40
  }
41
41
  }