@arcgis/lumina-compiler 4.33.0-next.6 → 4.33.0-next.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import{a as
|
|
2
|
-
${e}`}import{path as
|
|
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
|
|
4
|
-
}`,t)+2;return e.slice(t,n)}var
|
|
5
|
-
${e.content}`}:e,
|
|
6
|
-
`,"\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085","\r\n":"\\r\\n"}));function
|
|
1
|
+
import{a as D}from"./chunk-JFKSI6I7.js";import{nodeExternals as Os}from"rollup-plugin-node-externals";function rr(e){let{externalize:t=[],bundleIn:n=[],...r}=e.options?.build?.dependencies??{},o={...Os({...r,include:[/^lit[-/]/u,/^@lit[-/]/u,/^lit$/u,...Array.isArray(t)?t.map(nr):[]],exclude:Array.isArray(n)?n.map(nr):[]}),configResolved(){e.isInStorybook&&(o.resolveId=void 0)}};return o}var nr=e=>e?typeof e=="string"?new RegExp(`^${e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&")}`,"u"):e:void 0;import Ta from"vite-plugin-dts";var Ee="customElement.js",zt="customElement.d.ts",ir="playwright";import{path as oe}from"@arcgis/components-build-utils";import{path as qt}from"@arcgis/components-build-utils";function or(e,t,n){let i=n.split(qt.sep).slice(2),o=t._componentPathMapping;return i.forEach((s,a)=>{a===i.length-1?o[""]??=e:(o[s]??={},o=o[s])}),o[""]}function ie(e,t,n){if(!e.startsWith(t))return e;let r=e.slice(t.length),i=Bs(r,n);return`${t}${i}`}function Bs(e,t){let n=e.split(qt.sep);n.push(".");let r=t._componentPathMapping,i=0;for(let o of n)if(r[o]===void 0){let s=r[""];return typeof s=="string"?[s,...n.slice(i,-1)].join(qt.sep):e}else r=r[o],i+=1;return e}var sr=({filePath:e,content:t},n)=>{let r=e.startsWith(n.dir.distComponents)?ie(ar(e),n.dir.distComponents,n):e,i=oe.dirname(e),o=r.endsWith(zt),s=Gt(t,n,e===r?i:oe.dirname(r),i),a=o?_s(s):s;return{filePath:r,content:a}};function ar(e,t=".d.ts"){let r=(t===""?e:e.slice(0,-t.length)).split(oe.sep);return r.at(Ws)!==r.at(Hs)?e:oe.join(r.slice(0,-1).join(oe.sep),t===""?Ee:zt)}var Ws=-1,Hs=-2,Ks=/["']\.\.?\/[^'"]+/gu,Gt=(e,t,n,r)=>e.replaceAll(Ks,i=>{let o=i.slice(1);if(!o.startsWith("./")&&!o.startsWith("../"))return i;let s=oe.join(r,o),a=!o.endsWith(".js")&&!o.split("/").at(-1).includes(".")?ar(s,""):s,p=ie(a,t.dir.distComponents,t);if(n===r&&s===p)return i;let l=Z(n,p);return`${i[0]}${l}`}),Z=(e,t)=>{let n=oe.relative(e,t);return n.startsWith(".")?n:`.${oe.sep}${n}`};function _s(e){return`/// <reference types="../../index.d.ts" />
|
|
2
|
+
${e}`}import{path as Us}from"@arcgis/components-build-utils";import z from"typescript";import{path as Xt}from"@arcgis/components-build-utils";var pr="customElement",lr=(e,t)=>{let{filePath:n,content:r}=e;if(!n.startsWith(t.dir.distComponents))return e;let i=dr(r);if(i===void 0)return e;{let o=r.replace(i,"");return{filePath:n,content:o}}},cr=(e,t)=>{let n=[];if(t.apiModule?.declarations.forEach(o=>{"customElement"in o&&n.push(z.factory.createExpressionStatement(z.factory.createCallExpression(z.factory.createIdentifier(pr),void 0,[z.factory.createStringLiteral(o.tagName),z.factory.createIdentifier(o.name)])))}),n.length===0)return e.statements;let r=Xt.relative(Xt.dirname(e.fileName),Xt.join(t.compiler.dir.src,"runtime"));return[z.factory.createImportDeclaration(void 0,z.factory.createImportClause(!1,void 0,z.factory.createNamedImports([z.factory.createImportSpecifier(!1,void 0,z.factory.createIdentifier(pr))])),z.factory.createStringLiteral(r)),...e.statements,...n]};function rt(e){let t=dr(e);return t===void 0?void 0:t.split(`
|
|
3
|
+
`).filter(r=>r.includes(":")).map(r=>r.replace(";","").replaceAll('"',"").replaceAll("'","").split(":")).map(([r,i])=>[r.trim(),i.trim()]).filter(([r])=>!r.startsWith("/")&&!r.startsWith("*"))}function dr(e){let t=e.indexOf("declare global {");if(t===-1)return;let n=e.indexOf(`
|
|
4
|
+
}`,t)+2;return e.slice(t,n)}var ur=e=>(t,n)=>[Vs,qs,Gs,zs,sr,Xs,Qs,lr,...e.options.types?.declarationTextTransformers??[],...e._declarationTextTransformers].reduce((r,i)=>r===!1?!1:i(r,e),{filePath:t,content:n}),Vs=(e,t)=>t.isInStorybook?!1:e,zs=(e,t)=>e.filePath.endsWith(mr)&&e.filePath===Us.join(t.dir.dist,mr)?!1:e,mr="lumina.d.ts",qs=(e,t)=>{let n=t.dir.dist,r=`${n}src/`;return e.filePath.startsWith(r)?{...e,filePath:`${n}${e.filePath.slice(r.length)}`}:!1},We=e=>e.includes("__test")||e.includes(".e2e.")||e.includes(".spec.")||e.includes(".test."),Gs=e=>We(e.filePath)?!1:e,Xs=e=>e.content.includes("__esri.")?{filePath:e.filePath,content:`/// <reference types="@arcgis/core/interfaces.d.ts" />
|
|
5
|
+
${e.content}`}:e,Qs=(e,t)=>{t._htmlElementReferencesReplacer??={regex:new RegExp(`(${t.apiJsonComponents.map(r=>r.name).join("|")})\\[['"\`]el['"\`]\\]`,"ug"),replacements:Object.fromEntries(t.apiJsonComponents.map(r=>[r.name,`HTML${r.pascalCaseName}Element`]))};let n=t._htmlElementReferencesReplacer;return{filePath:e.filePath,content:e.content.replace(n.regex,(r,i)=>n.replacements[i])}};import ea from"typescript";import{path as Ys}from"@arcgis/components-build-utils";import{getMemberName as Zs}from"@arcgis/api-extractor";function fr(e,t){let n=Zs(t.name);return e.members.find(r=>r.name===n)}function yr(e,t,n){let r=Ys.relative(t,e);return n.modules.find(i=>i.path===r)}function it(e,t,n,r){let i={compiler:e,apiModule:e.isInPuppeteerTestBackEnd?void 0:yr(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}),ta(n,s)}var ta=(e,t)=>ea.factory.updateSourceFile(e,t,e.isDeclarationFile,e.referencedFiles,e.typeReferenceDirectives,e.hasNoDefaultLib,e.libReferenceDirectives),Cr=e=>`${gr}${" ".repeat(e.length-gr.length-hr.length)}${hr}`,gr="/*",hr="*/";import G from"typescript";var xr=e=>e.statements.map(oa),na="@arcgis/lumina",ra="LitElement",ia="PublicLitElement",Qt="TargetedEvent";function oa(e){if(G.isImportDeclaration(e)&&G.isStringLiteral(e.moduleSpecifier)&&e.moduleSpecifier.text===na&&e.importClause?.namedBindings&&G.isNamedImports(e.importClause.namedBindings)){let t=e.importClause.namedBindings.elements.findIndex(r=>(r.propertyName??r.name).text===ra);if(t===-1)return e;let n=e.importClause.namedBindings.elements[t];return G.factory.updateImportDeclaration(e,e.modifiers,G.factory.updateImportClause(e.importClause,e.importClause.isTypeOnly,e.importClause.name,G.factory.updateNamedImports(e.importClause.namedBindings,[...e.importClause.namedBindings.elements.slice(0,t),G.factory.updateImportSpecifier(n,n.isTypeOnly,G.factory.createIdentifier(ia),n.name),...e.importClause.namedBindings.elements.slice(t+1),G.factory.createImportSpecifier(!e.importClause.isTypeOnly,void 0,G.factory.createIdentifier(Qt))])),e.moduleSpecifier,e.attributes)}else return e}import E from"typescript";import{isNotUndefined as aa}from"@arcgis/components-utils";import H from"typescript";var Yt="_setterTypes";function Tr(e,t,n){return H.factory.createPropertyDeclaration([H.factory.createModifier(H.SyntaxKind.ReadonlyKeyword)],H.factory.createIdentifier(Yt),void 0,H.factory.createTypeLiteralNode(e.map(r=>{let[i,o]=sa(r.name,r.type,n._typeScriptPrinter,t);return H.factory.createPropertySignature(void 0,i,r.isRequired?void 0:H.factory.createToken(H.SyntaxKind.QuestionToken),o)})),void 0)}function sa(e,t,n,r){let i=n.printNode(H.EmitHint.Unspecified,e,r),o=n.printNode(H.EmitHint.Unspecified,t,r),s=`declare class A { ${i}: ${o} }`,l=H.createSourceFile("a.d.ts",s,H.ScriptTarget.Latest,!1,H.ScriptKind.TS).statements[0].members[0];return[l.name,l.type]}import{getMemberName as pa}from"@arcgis/api-extractor";import{toSystemPathSeparators as la}from"@arcgis/components-build-utils";var Sr=(e,t)=>t.apiModule===void 0?e.statements:e.statements.map(n=>ca(n,e,t));function ca(e,t,n){if(E.isClassDeclaration(e)){let r=e,i=r.name?.text,o=n.apiModule.declarations.find(l=>l.name===i&&"customElement"in l);if(o===void 0)return e;let s=n.compiler._typeDependencies.get(o.tagName),a=[],p=r.members.map(l=>da(l,o,a,s,t)).filter(aa);return a.length>0&&p.push(Tr(a,t,n.compiler)),E.factory.updateClassDeclaration(r,r.modifiers,r.name,r.typeParameters,r.heritageClauses?.filter(l=>l.token!==E.SyntaxKind.ImplementsKeyword),p)}else return e}function da(e,t,n,r,i){let o=e.name===void 0?void 0:pa(e.name);if(o===void 0)return;let s=r?.has(o)??!1,a=t.members.find(p=>p.name===o);if(a?.privacy!==void 0)return s?ot(e):void 0;if(E.isPropertyDeclaration(e))return a===void 0?t.events?.find(l=>l.name===o)===void 0?s?ot(e):void 0:E.factory.updatePropertyDeclaration(e,br(e.modifiers),e.name,void 0,ma(e.type,i),e.initializer):a.readonly===!0?E.factory.updatePropertyDeclaration(e,br(e.modifiers),e.name,void 0,e.type,e.initializer):e;if(E.isGetAccessor(e)||E.isSetAccessor(e)){if(a===void 0)return s?ot(e):void 0;if(E.isSetAccessor(e)){if(a.readonly===!0)return;let p=a.getterTypeDiffers!==void 0,c=e.parameters[0].type;p&&c!==void 0&&n.push({name:e.name,type:c,isRequired:a.docsTags?.some(d=>d.name==="required")??!1})}return e}else if(E.isMethodDeclaration(e))return a===void 0?s?ot(e):void 0:e}function ot(e){if(E.isPropertyDeclaration(e)){let t=st(e.modifiers);if(t!==e.modifiers)return E.factory.updatePropertyDeclaration(e,t,e.name,e.questionToken,e.type,e.initializer)}else if(E.isGetAccessor(e)){let t=st(e.modifiers);if(t!==e.modifiers)return E.factory.updateGetAccessorDeclaration(e,t,e.name,e.parameters,e.type,e.body)}else if(E.isSetAccessor(e)){let t=st(e.modifiers);if(t!==e.modifiers)return E.factory.updateSetAccessorDeclaration(e,t,e.name,e.parameters,e.body)}else if(E.isMethodDeclaration(e)){let t=st(e.modifiers);if(t!==e.modifiers)return E.factory.updateMethodDeclaration(e,t,e.asteriskToken,e.name,e.questionToken,e.typeParameters,e.parameters,e.type,e.body)}return e}function br(e){return e?.some(n=>n.kind===E.SyntaxKind.ReadonlyKeyword)?e:[E.factory.createModifier(E.SyntaxKind.ReadonlyKeyword),...e??[]]}function st(e){return e?.some(n=>n.kind===E.SyntaxKind.PrivateKeyword)?e:[E.factory.createModifier(E.SyntaxKind.PrivateKeyword),...(e??[]).filter(n=>n.kind!==E.SyntaxKind.PublicKeyword&&n.kind!==E.SyntaxKind.ProtectedKeyword)]}function ma(e,t){if(e===void 0)return;let n=E.isImportTypeNode(e)&&e.qualifier&&E.isIdentifier(e.qualifier)&&e.qualifier.escapedText==="EventEmitter"?e.typeArguments??[]:E.isTypeReferenceNode(e)&&E.isIdentifier(e.typeName)&&e.typeName.escapedText==="EventEmitter"?e.typeArguments??[]:void 0;return typeof n=="object"?E.factory.createTypeReferenceNode(Qt,[E.factory.createThisTypeNode(),...n]):(console.warn(`Unhandled event type node: ${e.getFullText(t)} (in ${la(t.fileName)}). Double check you are using events correctly or report this issue to Lumina maintainers`),e)}import{toSystemPathSeparators as ya}from"@arcgis/components-build-utils";import ua from"typescript";var vr=e=>e.statements.map(fa);function fa(e){if(ua.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 ga=[xr,Sr,vr];function Er(e){let t,n=ha(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: ${ya(r)}`);let o=[];return e.typeScriptProgram.emit(i,(p,l)=>{o.push({path:p,content:l})},void 0,!0,{afterDeclarations:[n]}),o}}}var ha=e=>t=>n=>it(e,t,n,[...ga,...e.options.types?.declarationAstTransformers??[]]);import{path as ba}from"@arcgis/components-build-utils";var wr=e=>new Proxy(e,{get:Ca,set:xa});function Ca(e,t,n){if(t in e)return Reflect.get(e,t,n);throw new Error(`Requested unexpected property ${String(t)}`)}function xa(e,t){throw new Error(`Unexpectedly tried to set the ${String(t)} property.`)}function Pr(e){let t=e.options.types??{},n=!1,r={...t?.compilerOptions,rootDir:"."},i=Ta({...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:ur(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??[],Er(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(wr({}),"",ba.join(e.dir.src,"__fakeFile.ts")),!n)throw new Error("Expected resolver to get called")}}}import{isNotUndefined as im}from"@arcgis/components-utils";var Sa=/\r\n|[\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/gu,va=new Map(Object.entries({" ":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":`
|
|
6
|
+
`,"\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085","\r\n":"\\r\\n"}));function Dr(e){return`\\u${`0000${e.toString(Ea).toUpperCase()}`.slice(-wa)}`}var Ea=16,wa=4;function Pa(e,t,n){if(e.charCodeAt(0)===Fa){let r=n.charCodeAt(t+e.length);return r>=ka&&r<=Ia?"\\x00":"\\0"}return va.get(e)||Dr(e.charCodeAt(0))}var Aa=e=>e.replace(Sa,Pa),Ar=/[^\u0000-\u007F]/g;function Da(e){return e=Aa(e),Ar.test(e)?e.replace(Ar,t=>Dr(t.charCodeAt(0))):e}var Fr=Da,Fa=0,ka=48,Ia=57,Na=/\$\{/gu,kr=e=>e.replace(Na,"\\${");function Ir(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
|
|
10
|
-
`),
|
|
11
|
-
`,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, ",c,".styleSheet];"].join("")}else{if(l.endsWith(
|
|
9
|
+
`),a=e.slice(o+1).trim().length===0,p=i?e.trimStart():e;return a?p.trimEnd():p}return e.trim().length===0?t:e}var ge=e=>kr(Fr(e)),Nr=e=>!La.test(e),La=/^[^\s"'=<>`]+$/u,$a=/[&<>]/gu,Ra={"&":"&","<":"<",">":">"},at=e=>e.replace($a,t=>Ra[t]);import J from"typescript";import{path as on,toSystemPathSeparators as Xa,retrievePackageJson as Qa}from"@arcgis/components-build-utils";import{isNotUndefined as Ma}from"@arcgis/components-utils";import{readdir as Ja}from"node:fs/promises";import{path as He}from"@arcgis/components-build-utils";var Lr=async e=>Object.fromEntries((await e.componentFilesPromise).map(t=>[Zt(t),t])),Zt=(e,t=He.resolve("src"))=>He.relative(t,He.join(e,"..",Ee.slice(0,-3))),we=async(e,t,n=t)=>await Ja(n,{recursive:!0}).catch(r=>{if(String(r).includes("ENOENT"))return console.error(`@arcgis/lumina: Unable to find the ${n} directory (cwd: ${process.cwd()})`),[];throw r}).then(r=>{let i=r.map(o=>{if(!o.endsWith(".tsx"))return;let s=He.join(n,o);return se(s,t)?s:void 0}).filter(Ma);return e.componentFiles=i,i});function se(e,t){if(!e.startsWith(t)||!e.endsWith(".tsx"))return!1;let[n,r]=e.slice(0,-4).split(He.sep).slice(ja);return n===r}var ja=-2;import Oa from"typescript";var $r=5,Rr=1,Mr=1,Jr=3,jr=4,pt=Oa;Ba(pt.createSourceMapGenerator);Wa(pt.createTextWriter);Ha(pt.getNewLineCharacter);var he=pt;function Ba(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!==$r)throw new Error(`ts.createSourceMapGenerator() signature changed. Expected ${$r} arguments. Lumina needs to be updated to support the new TypeScript version`)}function Wa(e){if(typeof e!="function")throw new Error("Failed to find ts.createTextWriter() function. Lumina needs to be updated to support the new TypeScript version");if(e.length!==Rr)throw new Error(`ts.createTextWriter() signature changed. Expected ${Rr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function Ha(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!==Mr)throw new Error(`ts.getNewLineCharacter() signature changed. Expected ${Mr} argument. Lumina needs to be updated to support the new TypeScript version`)}function Ka(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!==Jr)throw new Error(`ts.Printer.writeFile() signature changed. Expected ${Jr} 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!==jr)throw new Error(`ts.Printer.writeNode() signature changed. Expected ${jr} arguments. Lumina needs to be updated to support the new TypeScript version`)}function lt(e){let t=he.createPrinter(e);return Ka(t.writeFile),_a(t.writeNode),t}import{globalPackageIdentifier as Ya}from"@arcgis/api-extractor";import{mappedFind as Kr}from"@arcgis/components-utils";import Ua from"typescript";function tn(e){let t=Ua.isUnionTypeNode(e)?e.types.map(en):[en(e)],n=new Set(t),r=n.delete("true"),i=n.delete("false");(r||i)&&n.add("boolean");let o=Array.from(n).sort();if(o.length>1&&(o=o.map(s=>s.includes("=>")?`(${s})`:s)),!(o.length>Va))return o.map(za)}var Va=40,Or=e=>e?.some(t=>t.type==="number"||t.type==="boolean"||t.type==="string"||t.type==="any")??!1,Br=e=>e.length===1&&e[0].type!=="string"&&e[0].type!=="number"&&e[0].type!=="boolean"&&e[0].type!=="any"?void 0:e,ct=e=>e.map(nn).join(" | "),nn=e=>e.type==="string"&&e.value!==void 0?`"${e.value}"`:e.value??e.type;function za(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 qa from"typescript";var Wr=(e,t,n,r)=>{let i=e.typeScriptTypeChecker,o=qa.isSetAccessor(t)?t.parameters[0]:t,s=i.getTypeAtLocation(o),a=!n;return Ce(i,s,r,e.dir,a)};function Hr(e,t){if(e.length===0)return;let n=t.matchAll(Ga),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 Ga=/"[^"]+"|'[^"]+'|\w+/gu;function Ce(e,t,n,r,i=!1){let{typeNode:o,references:s}=Ur(e,t,n,r),a=tn(o);a===void 0&&({typeNode:o,references:s}=Ur(e,t,n,r,!1),a=tn(o)??[]);let p=i?a.filter(m=>m.type!=="null"&&m.type!=="undefined"):a,l=ct(p),c=Br(p),d=Hr(s,l);return{text:l,references:d,values:c}}function en(e){Za.writeNode(J.EmitHint.Unspecified,e,void 0,rn);let t=rn.getText();return rn.clear(),t}var Za=lt({removeComments:!0}),rn=he.createTextWriter(`
|
|
10
|
+
`),sn=J.TypeFormatFlags.NoTruncation|J.TypeFormatFlags.WriteArrayAsGenericType|J.TypeFormatFlags.SuppressAnyReturnType|J.TypeFormatFlags.MultilineObjectLiterals,ep=sn&J.TypeFormatFlags.NodeBuilderFlagsMask,tp=ep|J.NodeBuilderFlags.IgnoreErrors|J.NodeBuilderFlags.NoTruncation;function np(e,t,n,r=!0){let i=new Map;Pe(t,i,n,r);let o=t.flags&J.TypeFlags.Union?t.types.every(_r):_r(t),s=e.typeToTypeNode(t,void 0,tp&(o?~J.TypeFormatFlags.MultilineObjectLiterals:-1));return i.forEach(rp),s===void 0?(console.error("Failed to convert type to type node."),J.factory.createTypeReferenceNode(J.factory.createIdentifier("unknown"),void 0)):s}var _r=e=>e.flags&J.TypeFlags.Object?e.getProperties().length===1:!!(e.flags&J.TypeFlags.PossiblyFalsy);function Ur(e,t,n,r,i=!0){let o=[],s=new Set;function a(l,c){let d=l.aliasSymbol??l.symbol;if(d===void 0)return;let m=c?l.aliasTypeArguments?.[0]?.symbol?.escapedName??"":d.name;if(m.startsWith("_")){let f=d.declarations?.[0];if(f?.kind===J.SyntaxKind.FunctionType){let h=f;if(h.parameters.forEach(y=>{if(y.type===void 0)return;let T=e.getTypeFromTypeNode(y.type);Pe(T,new Map,a,!1)}),h.type!==void 0){let y=e.getTypeFromTypeNode(h.type);Pe(y,new Map,a,!1)}}return}if(s.has(m))return;let u=c?{name:m,package:void 0,module:"index.js"}:ip(d,m,n,r);o.push(u),s.add(m)}return{typeNode:np(e,t,a,i),references:o}}function Pe(e,t,n,r=!0){if(typeof e!="object"||e===null||!("checker"in e))return;let i=e;if(t.has(i))return;let o=(i.flags&J.TypeFlags.Object)!==0&&(i.aliasTypeArguments?.[0]?.objectFlags??0&J.ObjectFlags.Class)!==0&&i.aliasSymbol?.escapedName==="ToElement";n?.(i,o);let s=i.origin;if(o||!r)t.set(i,{origin:void 0,aliasSymbol:void 0,aliasTypeArguments:void 0}),Pe(s,t,n,r);else{let a=i.aliasSymbol,p=i.aliasTypeArguments;s!==void 0&&(i.origin=void 0),a!==void 0&&(i.aliasSymbol=void 0),p!==void 0&&(i.aliasTypeArguments=void 0),t.set(i,{origin:s,aliasSymbol:a,aliasTypeArguments:p})}Object.entries(i).forEach(([a,p])=>{(a.includes("type")||a.includes("Type")||a==="constraint")&&a!=="resolvedBaseConstructorType"&&a!=="resolvedBaseTypes"&&a!=="typeParameters"&&a!=="typeParameter"&&(Array.isArray(p)?p.forEach(l=>Pe(l,t,n,r)):Pe(p,t,n,r))})}function rp(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 ip(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 ${Xa(n.fileName)}`)}if(i.length===0)return{name:t,package:Ya,module:void 0};let{packageName:o,moduleName:s}=op(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"?Vr(e,i[0],"core"):o==="typescript"?Vr(e,i[0],"typescript"):void 0}:{name:t,package:void 0,module:s}}function op(e,t){let n=e.split("/node_modules/");if(n.length>1){let s=n.at(-1);return an(s)}let i=e.split("/dist/");if(i.length>1){let s=i.slice(0,-1).join("/"),p=Qa(s).name,l=i.at(-1);return{packageName:p,moduleName:l}}return{packageName:void 0,moduleName:on.relative(t.root,ap(sp(e,t)))}}function sp(e,t){return se(e,t.srcComponents)?on.join(t.dist,Zt(e,t.src)):e.startsWith(t.src)?on.join(t.dist,e.slice(t.src.length)):e}var ap=e=>e.endsWith(".js")||e.endsWith(".d.ts")?e:`${e.endsWith(".ts")?e.slice(0,-3):e.endsWith(".tsx")?e.slice(0,-4):e}.d.ts`;function an(e){let t=e.split("/"),r=e[0].startsWith("@")?2:1,i=t.slice(0,r).join("/"),o=t.slice(r).join("/");return{packageName:i,moduleName:o}}var qr=e=>e.includes("/node_modules/")||e.includes("/dist/");function Vr(e,t,n){let r=e.declarations;if(r!==void 0)for(let i of r){let o=zr(i,t,n);if(o!==void 0)return o;if(!("members"in i))continue;let s=i.members;for(let a of s){let p=zr(a,t,n);if(p!==void 0)return pp(p)}}}function zr(e,t,n){let r=e.jsDoc?.[0];if(r!==void 0)return Kr([r,...r.tags??[]],({comment:i})=>{if(n==="typescript"&&typeof i=="string"){let o=i.indexOf("[MDN Reference](");if(o===-1)return;let s=o+16,a=i.indexOf(")",s);return a===-1?void 0:i.slice(s,a)}else if(n==="core"&&Array.isArray(i))return Kr(i,o=>{if(!J.isJSDocLinkLike(o))return;let s=o.getText(t);if(s.endsWith("Read more...}"))return s.split(" ")[1]})})}var pp=e=>e.split("#")[0];import{getCwd as Xr,path as Qr,toSystemPathSeparators as pn}from"@arcgis/components-build-utils";function Gr(e){let t=[];for(let n of e.matchAll(lp)){let r=n.groups.name,i=n.groups.description.replaceAll(cp," ").trim();t.push({name:r,description:i.endsWith("*")?i.slice(0,-1).trim():i})}return t.length===0?void 0:t}var lp=/@prop\s+(?<name>--[\w-]+)\s*:(?<description>[^@/]+)/gu,cp=/\n\s+\*? ?/gu;var dp=["css","less","sass","scss","styl","stylus","pcss","postcss","sss"],Ae=new RegExp(`\\.(${dp.join("|")})(\\?|$)`,"u"),mp=/^import ["'](?<specifier>[^"']+)["'];$/gmu,up=()=>"throwError",Yr="@arcgis/lumina:loadLitCss",K="?layered",Ke="?global",Zr=e=>({name:Yr,enforce:"pre",configResolved(t){let n=t.plugins.find(({name:i})=>i==="vite:css-post");if(n===void 0)throw new Error("Unable to find the vite's built-in vite:css-post plugin");let r=n.transform;if(typeof r!="function")throw new Error("Expected vite:css-post to declare a transform() function");n.transform=async function(o,s){let a=s.endsWith(K);a&&(s=s.slice(0,-K.length));let p=s.endsWith(Ke);if(p&&(s=s.slice(0,-Ke.length)),!Ae.test(s)||s.includes("?"))return await r.call(this,o,s);let l=`${s}?inline`,c=await r.call(this,o,l),{code:d,...m}=typeof c=="string"?{code:c}:c??{};if(typeof d!="string"||!d.startsWith(ei)||!d.endsWith(ti))return console.warn(`${Yr} Expected vite:css-post to return a JS module with a string literal for ${pn(s)}.`),console.log(c),c;if(p)return e._globalCssString=ni(d),{code:"",map:{mappings:""}};{let u=e.isFullApiExtraction?Gr(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:hp(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=qr(n),s=!1,a=t.replaceAll(mp,(p,l)=>{if(!Ae.test(l)||l.includes("?"))return p;if(o){if((e.options.css?.sideEffectImportHandling??up)(l,n)==="drop")return s=!0,Cr(p);{let m=pn(Qr.relative(Xr(),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&&xp(n,e)){s=!0;let c=`storybookCss$${i}`;return i+=1,["import ",c," from ",p.slice(6),`
|
|
11
|
+
`,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, ",c,".styleSheet];"].join("")}else{if(l.endsWith(Ke))return p;{let c=pn(Qr.relative(Xr(),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}}),ei='export default "',ti='"',fp="import { css } from '@lit/reactive-element/css-tag.js';\nexport const styles = css`",yp="`;\nexport default styles;",gp=`
|
|
12
12
|
|
|
13
13
|
if(import.meta.hot) {
|
|
14
14
|
import.meta.hot.data.styles ??= styles;
|
|
@@ -19,66 +19,68 @@ if(import.meta.hot) {
|
|
|
19
19
|
}
|
|
20
20
|
import.meta.hot.data.styles.styleSheet.replaceSync(nextExports.styles.cssText);
|
|
21
21
|
});
|
|
22
|
-
}`,
|
|
22
|
+
}`,ni=e=>e.slice(ei.length,-ti.length);function hp(e,t,n,r){let o=ni(e).replaceAll('\\"','"').replaceAll("`","\\`").replaceAll("\\r",""),s=ge(Cp(o)),a=r?`@layer{${n?"":`
|
|
23
23
|
`}${s}${n?"":`
|
|
24
|
-
`}}`:s;return`${
|
|
25
|
-
`),
|
|
26
|
-
setCustomElementsManifest(${
|
|
27
|
-
});`}var
|
|
28
|
-
`):`import "${n}${
|
|
29
|
-
`)}var
|
|
30
|
-
|
|
31
|
-
`}${e._globalCssString?JSON.parse(`"${e._globalCssString}"`):""}`;function
|
|
32
|
-
`),"});",e.hmrEnabled?
|
|
33
|
-
`)}var
|
|
34
|
-
export declare const defineCustomElements: import("@arcgis/lumina").DefineCustomElements;`,
|
|
35
|
-
`,
|
|
24
|
+
`}}`:s;return`${fp}${a}${yp}${t?gp:""}`}var Cp=e=>e.replaceAll("\\n",`
|
|
25
|
+
`),xp=(e,t)=>e.endsWith(".mdx")||e.includes(".stories.")||e.includes(".story.")||e.startsWith(`${t.dir.root}stories/`);import{camelToKebab as vp}from"@arcgis/components-utils";import{lazyMetaSubItemJoiner as Ep,lazyMetaItemJoiner as dn,lazyMetaGroupJoiner as wp}from"@arcgis/lumina/config";import{path as Pp}from"@arcgis/components-build-utils";function ri(e){return`import("@storybook/web-components").then(({ setCustomElementsManifest }) => {
|
|
26
|
+
setCustomElementsManifest(${Tp(e)});
|
|
27
|
+
});`}var Tp=e=>`JSON.parse(\`${bp(JSON.stringify(JSON.stringify(e)).slice(1,-1))}\`)`;function bp(e){return e.replaceAll('\\"','"').replaceAll("`","\\`").replaceAll("${","\\${")}function ii(e){Sp(e);let t=e.options.css?.globalStylesPath;if(t===void 0)return"";let n=Z(e.dir.src,t);return e.viteCommand==="serve"||e.isInStorybook?[`import globalStyles from "${n}${K}";`,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, globalStyles.styleSheet!];",cn("",e)].join(`
|
|
28
|
+
`):`import "${n}${Ke}";`}var ln="hydrated";function Sp(e){e._globalHydratedCssString=[":not([",e.options.css?.hydratedAttribute??ln,"]):is(",e.apiJsonComponents.map(t=>t.tagName).join(","),"){visibility:hidden}"].join("")}function cn(e,t){return["const globalCss = new CSSStyleSheet();",`globalCss.replaceSync("@layer{${`${t._globalHydratedCssString}${t.shouldMinify?"":"\\n\\n"}${e||""}`}}");`,"document.adoptedStyleSheets = [...document.adoptedStyleSheets, globalCss];"].join(`
|
|
29
|
+
`)}var oi=e=>`${e._globalHydratedCssString}${e.shouldMinify?"":`
|
|
30
|
+
|
|
31
|
+
`}${e._globalCssString?JSON.parse(`"${e._globalCssString}"`):""}`;function si(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(Ap(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";',ii(e),e.hmrEnabled?Fp:"","",e.isInStorybook?ri(e.apiJson):"","","export const defineCustomElements = makeDefineCustomElements(runtime, {",n.join(`,
|
|
32
|
+
`),"});",e.hmrEnabled?kp(t):""].join(`
|
|
33
|
+
`)}var ai=`import "./index";
|
|
34
|
+
export declare const defineCustomElements: import("@arcgis/lumina").DefineCustomElements;`,Ap=(e,t,n)=>[` "${e.tagName}": [`,`()=>import("${Pp.join(t.dir.root,n)}"),`,Dp(e),"]"].join("");function Dp(e){let{properties:t,asyncMethods:n,syncMethods:r}=mn(e),i=t.map(c=>c.join(Ep)).join(dn),o=n.join(dn),s=r.join(dn),a=[i,o,s],p=a.findLastIndex(c=>c.length>0),l=a.slice(0,p+1);return l.length>0?`"${l.join(wp)}"`:""}function mn(e){let t=e.members.filter(o=>o.kind==="field").map(o=>{let s=typeof o.attribute=="string",a=s&&o.attribute!==vp(o.name);return s&&!a?[o.name]:[o.name,a?String(o.attribute):""]}),n=e.members.filter(o=>o.kind==="method"&&o.name!=="componentOnReady"),r=n.filter(o=>o.async===!0).map(o=>o.name),i=n.filter(o=>o.async!==!0).map(o=>o.name);return{tagName:e.tagName,properties:t,asyncMethods:r,syncMethods:i}}var Fp=`import { handleHmrUpdate, handleComponentMetaUpdate } from "@arcgis/lumina/hmrSupport";
|
|
35
|
+
`,kp=e=>`
|
|
36
36
|
if(import.meta.hot) {
|
|
37
37
|
import.meta.hot.on("component-meta-update", handleComponentMetaUpdate);
|
|
38
38
|
import.meta.hot.accept([
|
|
39
39
|
${e.map(t=>` "/${t}",`).join(`
|
|
40
40
|
`)}
|
|
41
41
|
], handleHmrUpdate);
|
|
42
|
-
}`;import
|
|
42
|
+
}`;import Vp from"typescript";import F from"typescript";import{ApiExtractor as Op,getMemberName as ui,hasIgnoredModifier as Bp,setDefaultFromInitializer as fi}from"@arcgis/api-extractor";import{camelToKebab as Wp,kebabToPascal as Hp,uncapitalize as Kp}from"@arcgis/components-utils";import{mappedFind as Ip}from"@arcgis/components-utils";import dt from"typescript";function mt(e,t){let n=$p(t.getJsDocTags()),r=dt.displayPartsToString(t.getDocumentationComment(e));r=r.replaceAll(pi,li);{let i=n.at(-1),o=i?.text?.indexOf(Np);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 Np=`
|
|
43
43
|
|
|
44
|
-
[Read more...]`,
|
|
44
|
+
[Read more...]`,Lp="internal",pi=/\{@link(?:code|plain)? ([^}]+)\}/gu;function li(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 $p=e=>e.map(t=>({name:t.name,text:t.text?.map(n=>n.text).join("").replaceAll(pi,li)})),fn=({modifiers:e=[]},t)=>Ip(e,n=>dt.isDecorator(n)&&dt.isCallExpression(n.expression)&&dt.isIdentifier(n.expression.expression)&&n.expression.expression.text===t?n.expression:void 0);function ae(e,t,n,r){let i=t.getSymbolAtLocation(e);if(r??=i===void 0?void 0:mt(t,i),r!==void 0){for(let o of r.docsTags){let{name:s,text:a}=o;s==="deprecated"?n.deprecated=a||!0:s==="summary"?n.summary=a:s==="default"?n.default=a:s==="readonly"?n.readonly=!0:s==="notPublic"?(console.warn("The @notPublic JSDoc tag is deprecated. Use @internal or @private instead."),n.docsTags??=[],n.docsTags.push({name:Lp,text:a})):s==="private"?n.privacy="private":s==="csspart"?n.cssParts.push(un(a)):s==="cssstate"?n.cssStates.push(un(a)):s==="slot"?n.slots.push(un(a)):(n.docsTags??=[],n.docsTags.push(o))}n.description=r.description}}function un(e){if(e===void 0)return{name:""};let t=e.indexOf(" - ");if(t===-1)return e.startsWith("- ")?{name:"",description:e.slice(2)}:{name:e};let n,r=e.slice(0,t);if(r.startsWith("[")&&r.endsWith("]")){let o=r.slice(1,-1),s=o.indexOf("=");r=o.slice(0,s),n=o.slice(s+1)}let i=e.slice(t+3);return{name:r,default:n,description:i}}import yn from"typescript";import{toSystemPathSeparators as Rp}from"@arcgis/components-build-utils";var Mp="@arcgis/lumina:addMethodMetadata";function ci(e,t,n,r,i){let o=n.getSignatureFromDeclaration(e);if(o===void 0)return;for(let l of e.parameters){if(!yn.isIdentifier(l.name)){console.warn(`${Mp}: Object binding patterns are not yet supported in the docs. Found ${l.name?.getText(r)} in ${e.name.getText(r)} in ${Rp(r.fileName)}`);return}let c=n.getTypeAtLocation(l),d=Ce(n,c,r,i);t.parameters.push({name:l.name.text,default:l.initializer?.getText(r),optional:l.questionToken?!0:void 0,rest:l.dotDotDotToken?!0:void 0,type:d})}t.parameters.length===0&&(t.parameters=void 0);let s=n.getReturnTypeOfSignature(o),a=Ce(n,s,r,i),p=n.signatureToString(o,e,sn,yn.SignatureKind.Call);ae(e.name,n,t),t.return={type:a},t.signature=p.replace(" =>",":")}var di=e=>e.modifiers?.some?.(t=>t.kind===yn.SyntaxKind.AsyncKeyword)??!1;import pe from"typescript";function mi(e,t,n,r){let i=n.typeScriptTypeChecker,s=i.getTypeAtLocation(e).getProperty("emit");if(s?.valueDeclaration===void 0)return;let a=s.valueDeclaration,p=i.getTypeOfSymbolAtLocation(s,a);for(let l of p.getCallSignatures()){let c=l.getReturnType();if(c.symbol?.name!=="CustomEvent")continue;let d=i.getTypeArguments(c)?.at(0);if(d===void 0)continue;let m=Ce(i,d,r,n.dir),u={name:t,summary:void 0,description:void 0,type:m,inheritedFrom:void 0,deprecated:void 0,docsTags:void 0,bubbles:void 0,cancelable:void 0,composed:void 0,privacy:void 0};return ae(e.name,i,u),Jp(e,u,r),u.privacy===void 0?u:void 0}}var ut="createEvent";function Jp(e,t,n){if(!e.initializer||!pe.isCallExpression(e.initializer))return;let r=e.initializer;if(!pe.isIdentifier(r.expression)||r.expression.text!==ut)return;let i=r.arguments[0];if(i!==void 0){if(!pe.isObjectLiteralExpression(i))throw new Error(`Expected object literal expression as first argument of ${ut}(). Found ${t.name} = createEvent(${i.getText(n)})`);if(i.properties.some(o=>pe.isSpreadAssignment(o)))throw new Error(`Unexpected spread syntax in ${ut}() argument. ${ut}() arguments must be statically parsable at compile time`);for(let o of i.properties)!pe.isPropertyAssignment(o)||!pe.isIdentifier(o.name)||(o.name.text==="cancelable"&&!xe(o.initializer,n)&&(t.cancelable=!1),o.name.text==="bubbles"&&!xe(o.initializer,n)&&(t.bubbles=!1),o.name.text==="composed"&&!xe(o.initializer,n)&&(t.composed=!1))}}function xe(e,t){if(e.kind===pe.SyntaxKind.TrueKeyword)return!0;if(e.kind===pe.SyntaxKind.FalseKeyword)return!1;throw new Error(`Expected boolean literal. Instead found ${e?.getText(t)}`)}var De="@arcgis/lumina-compiler";import{path as _p}from"@arcgis/components-build-utils";var Ue=class extends Op{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.indexedComponents=new Map;this.apiComponent=void 0;this.pairedSetter=void 0;this._resolvedInheritance=new Map}extract(n){let r=super.extract(n);return r.compiler.name=De,r}extractModules(n){let r=super.extractModules(n);for(let i of r)for(let o of i.declarations)"customElement"in o&&(this.context.isFullApiExtraction&&yi(o,this.context,this.indexedComponents),this.inheritMembers(o,r),this.context.isFullApiExtraction&&(o.members.sort(gn),o.attributes?.sort(gn),o.events?.sort(gn)));return r}extractDeclarations(n){return this.localDeclaredComponents=new Map(rt(n.text)?.map(([r,i])=>[i,r])??[]),this.localDeclaredComponents.size===0?[]:super.extractDeclarations(n)}extractDeclaration(n){if(this.context.isFullApiExtraction&&F.isImportDeclaration(n)){this.collectCssImports(n);return}if(F.isClassDeclaration(n))return this.extractComponentDeclaration(n)}collectCssImports(n){let r=n.moduleSpecifier.text;if(!(r.startsWith(".")&&Ae.test(r)))return;let o=_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:_e,encapsulation:void 0,pascalCaseName:Hp(i),privacy:void 0,importPath:"",members:[],attributes:[],events:[],slots:[],cssParts:[],cssProperties:[],cssStates:[]},s=n.heritageClauses?.find(a=>a.token===F.SyntaxKind.ExtendsKeyword)?.types[0]?.expression;if(s===void 0)throw new Error(`Lumina component must extend LitElement class. Found ${r} in ${this.apiModule.path} that does not extend any class.`);if(F.isIdentifier(s)){let a=s.text;a!==_e.name&&(o.superclass={name:a})}if(this.apiComponent=o,o.members=this.extractComponentMembers(n),this.context.isFullApiExtraction){o.attributes=this.inferAttributes(o.members),this.indexedComponents.set(r,o);let a=or(i,this.context,this.apiModule.path);if(o.importPath=`components/${a}`,this.localCssImports!==void 0){for(let m of this.localCssImports){let u=this.context._cssImports.get(m);u===void 0?this.context._cssImports.set(m,new Set([o.tagName])):u.add(o.tagName);let f=this.context._cssDocs?.get(m);f!==void 0&&(o.cssProperties=f)}this.localCssImports=void 0}ae(n.name,this.context.typeScriptTypeChecker,o);let p=Kp(o.name);o.members.push({kind:"method",name:"componentOnReady",return:{type:{text:"Promise<void>",references:[{module:"lib/lib.es5.d.ts",name:"Promise",package:"typescript",start:0,end:7}]}},description:"Create a promise that resolves once component is fully loaded.",signature:"(): Promise<void>",async:!0,inheritedFrom:_e,docsTags:[{name:"example",text:`const ${p} = document.createElement("${o.tagName}");
|
|
45
45
|
document.body.append(${p});
|
|
46
46
|
${p}.componentOnReady().then(() => {
|
|
47
47
|
console.log("${o.tagName} is ready to go!");
|
|
48
|
-
});`}]});let l=[],c=this.context.options.documentation?.getComponentDocsUrl,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('"',""");if(i.length>r.length){let o=r.replaceAll("'","'");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(`
|
|
50
|
-
`),
|
|
51
|
-
type ${e}SetterTypes = ${e}["${
|
|
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";
|
|
53
|
-
${
|
|
48
|
+
});`}]});let l=[],c=this.context.options.documentation?.getComponentDocsUrl?.(i,r),d=this.context.options.documentation?.getComponentDemoUrl?.(i,r);typeof c=="string"&&l.push({description:"Docs",url:c}),typeof d=="string"&&l.push({description:"Demo",url:d}),l.length>0&&(o.demos=l),o.cssProperties.length===0&&(o.cssProperties=void 0),o.cssParts.length===0&&(o.cssParts=void 0),o.slots.length===0&&(o.slots=void 0),o.attributes.length===0&&(o.attributes=void 0),o.events.length===0&&(o.events=void 0),o.cssStates.length===0&&(o.cssStates=void 0)}return o}extractComponentMembers(n){let r=[],i=n.members.length,o,s=n.members[0],a,p=s?.name!==void 0?ui(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?ui(s.name):void 0,this.pairedSetter!==void 0){this.pairedSetter=void 0;continue}s!==void 0&&a===p&&(F.isGetAccessor(s)?(this.pairedSetter=o,o=s):F.isSetAccessor(s)&&(this.pairedSetter=s));let c=this.extractComponentMember(o,a);c!==void 0&&r.push(c)}return r}extractComponentMember(n,r){if(Bp(n)||r===void 0){F.isPropertyDeclaration(n)&&F.isIdentifier(n.name)&&n.name.text==="shadowRootOptions"&&n.initializer!==void 0&&F.isIdentifier(n.initializer)&&n.initializer.text==="noShadowRoot"&&(this.apiComponent.encapsulation="none");return}return F.isPropertyDeclaration(n)||F.isGetAccessor(n)||F.isSetAccessor(n)?this.extractComponentField(n,r):F.isMethodDeclaration(n)?this.extractComponentMethod(n,r):void 0}extractComponentField(n,r){let i=this.findPropertyOptions(n);this.pairedSetter!==void 0&&(i??=this.findPropertyOptions(this.pairedSetter));let o=F.isPropertyDeclaration(n);if(i===void 0){if(o&&this.context.isFullApiExtraction){let c=this.extractComponentEvent(n,r);c!==void 0&&this.apiComponent.events.push(c)}return}let s,a=!1,p=!1;for(let c of i)!F.isPropertyAssignment(c)||!F.isIdentifier(c.name)||(c.name.text==="attribute"&&(F.isStringLiteral(c.initializer)?s=c.initializer.text:s=xe(c.initializer,this.file)),c.name.text==="reflect"&&xe(c.initializer,this.file)&&(a=!0),c.name.text==="readOnly"&&xe(c.initializer,this.file)&&(p=!0),(c.name.text==="type"||c.name.text==="converter")&&(s??=!0));let l={kind:"field",name:r,summary:void 0,description:void 0,type:{text:""},default:void 0,deprecated:void 0,readonly:p||(o?n.modifiers?.some(c=>c.kind===F.SyntaxKind.ReadonlyKeyword):F.isGetAccessor(n)&&this.pairedSetter===void 0)?!0:void 0,attribute:s===!1?void 0:typeof s=="string"?s:Wp(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||!Or(l.type.values))||l.readonly&&!l.reflects)&&(l.attribute=void 0)),l}extractComponentEvent(n,r){return mi(n,r,this.context,this.file)}extractComponentFieldDetails(n,r){let i=r.readonly===!0,o=this.context.typeScriptTypeChecker,s=o.getSymbolAtLocation(n.name),a=s===void 0?void 0:mt(o,s),p=new Set(a?.docsTags.map(h=>h.name)??[]);ae(n.name,this.context.typeScriptTypeChecker,r,a);let l=!i&&r.readonly===!0;if(this.context.viteCommand==="build"){let T=(F.isSetAccessor(n)?n.parameters[0]?.type:n.type)?.getText(this.file)?.match(Up)??[];for(let S of T){let b=this.context._typeDependencies.get(this.apiComponent.tagName);b===void 0?this.context._typeDependencies.set(this.apiComponent.tagName,new Set([S])):b.add(S)}}let c=this.pairedSetter??n,d=r.docsTags?.some(h=>h.name==="required")??!1;r.type=Wr(this.context,c,d,this.file);let m=r.default;fi(n,r,this.file);let u=m===void 0&&r.default==="true";if("initializer"in n&&n.initializer!==void 0&&(!r.default||!r.description)){let h=n.initializer,y=o.getSymbolAtLocation(h),T=y!==void 0&&((y.flags??0)&F.SymbolFlags.Alias)!==0?o.getAliasedSymbol(y):y,S=T?.getDeclarations()??[];if(T!==void 0){let b=mt(o,T);if(b.docsTags.length>0){b.docsTags=b.docsTags.filter(j=>!p.has(j.name));let M=r.description;ae(n.name,o,r,b),b.docsTags.forEach(j=>{p.add(j.name)}),r.description=M??r.description}else r.description||=b.description}S.forEach(b=>{if(!("initializer"in b))return;let M=b;l||=M.modifiers?.some(j=>j.kind===F.SyntaxKind.ReadonlyKeyword)??!1,fi(M,r,M.getSourceFile())})}if(l&&(r.readonly=!0,i||(r.docsOnlyReadonly=!0)),r.type.values&&r.type.values.length>0&&r.type.values?.every(h=>h.type==="boolean")&&(r.default?u&&this.context.viteCommand==="build"&&r.deprecated===void 0&&this.context.logLintError("booleanMustDefaultFalse",this.file.fileName,`Boolean properties must default to "false". Found default value "true" in ${this.apiComponent.name}.${r.name}`):r.default="false"),this.pairedSetter!==void 0&&!r.readonly){let h=this.pairedSetter.parameters.at(0)?.type?.getText(this.file),y=n.type?.getText(this.file);h!==y&&y!==void 0&&h!==void 0&&(r.getterTypeDiffers=!0)}}findPropertyOptions(n){let r=fn(n,"property");return r===void 0?void 0:r.arguments?.find(F.isObjectLiteralExpression)?.properties??[]}extractComponentMethod(n,r){if(fn(n,"method")===void 0)return;let i={kind:"method",name:r,summary:void 0,description:void 0,deprecated:void 0,parameters:[],return:void 0,inheritedFrom:void 0,docsTags:void 0,signature:"",async:di(n)?!0:void 0,privacy:void 0};if(this.context.isFullApiExtraction){let o=this.context.typeScriptTypeChecker;ci(n,i,o,this.file,this.context.dir)}return i}inferAttributes(n){let r=[];for(let i of n){if(i.kind!=="field"||i.attribute===void 0||i.privacy!==void 0)continue;let o=i.type.values?.filter(s=>s.type==="number"||s.type==="string"||s.type==="boolean");r.push({name:i.attribute,summary:i.summary,description:i.description,inheritedFrom:i.inheritedFrom,type:o===void 0||o.length===0?i.type:{text:ct(o),references:void 0,values:o},default:i.default,fieldName:i.name,deprecated:i.deprecated})}return r}inferExport(n){if("customElement"in n)return this.inferCustomElementExport(n)}inferCustomElementExport(n){return{kind:"custom-element-definition",name:n.tagName,declaration:{name:n.name,module:this.apiModule.path}}}inheritMembers(n,r,i=n.superclass,o,s,a){let p=i.name;if(p===void 0||p===_e.name)return;let l=this._resolvedInheritance.get(p)??this.resolveInheritance(p,r)??(this.isPathOnly?this.resolveInheritance(p,this.context.privateApiJson.modules):void 0);if(l!==void 0){o??=new Set(n.members.map(c=>c.name));for(let c of l.members)o.has(c.name)||(n.members.push({...c,inheritedFrom:i}),o.add(c.name));if(l.attributes!==void 0){n.attributes??=[],s??=new Set(n.attributes.map(c=>c.name));for(let c of l.attributes)s.has(c.name)||(n.attributes.push({...c,inheritedFrom:i}),s.add(c.name))}if(l.events!==void 0){n.events??=[],a=new Set(n.events.map(c=>c.name));for(let c of l.events)a.has(c.name)||(n.events.push({...c,inheritedFrom:i}),a.add(c.name))}l.superclass.name!==_e.name&&this.inheritMembers(n,r,l.superclass,o,s,a),i.module=l.importPath}}resolveInheritance(n,r){for(let i of r)for(let o of i.declarations)if("customElement"in o&&n===o.name)return this._resolvedInheritance.set(n,o),o;this._resolvedInheritance.set(n,void 0)}},_e={name:"LitElement",package:"@arcgis/lumina"},gn=(e,t)=>e.name.localeCompare(t.name),Up=/(?<=this.)[\w$]+/gu;import{readFile as zp}from"node:fs/promises";async function gi(e,t){t||(e.componentFilesPromise=we(e,e.dir.srcComponents));let n=await e.componentFilesPromise,r=await Qp(e,n);e._componentPathMapping={},e._localDefinedComponents=void 0;let i=Ci(r,e,!1);e.privateApiJson=i;let[o,s]=xi(i);return e.apiJsonComponents=s,e.apiJson=o,i}function hi(e,t,n){let r=e.getSourceFile(t,n),i=Ci([r],e,!0),o=i.modules[0];{let m=xi(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 Ci(e,t,n){let r=t.options.apiJson?.Extractor??Ue,o=new r(t,n).extract(e);return t.options.apiJson?.afterCreate?.(o,n),o}function xi(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 yi(e,t,n){e.members.forEach(r=>{if(r.kind==="field")ft(r.type,n,t);else if(ft(r.return?.type,n,t),r.parameters!==void 0)for(let i of r.parameters)ft(i.type,n,t)}),e.events?.forEach(r=>{ft(r.type,n,t)})}function ft(e,t,n){e!==void 0&&(e.references?.forEach(r=>qp(r,t,n)),e.text=e.text.replaceAll(Xp,(r,i)=>hn(t.get(i))??r),e.values?.forEach(Gp,t))}function qp(e,t,n){if(e.package===void 0){if(e.module?.startsWith("dist/components/")===!0)e.module=ie(e.module,"dist/components/",n);else if(e.module==="index.js"&&e.name){let r=t.get(e.name);r!==void 0&&(e.name=hn(r),e.viewUrl=r.demos?.at(0)?.url)}}}function Gp(e){e.type.startsWith("ToElement<")&&(e.type=hn(this.get(e.type.slice(10,-1)))??e.type)}var hn=e=>e?`HTML${e.pascalCaseName}Element`:void 0,Xp=/ToElement<(\w+)>/gu;async function Qp(e,t){if(e.viteCommand==="serve"&&(Object.hasOwn(e,"typeScriptHost")||(e.typeScriptHost=Vp.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 zp(n,"utf8");return e.getSourceFile(n,r)}))}import{readFile as Lc,writeFile as $c}from"node:fs/promises";import{path as Mt,toSystemPathSeparators as Rc}from"@arcgis/components-build-utils";import{isNotUndefined as Jo}from"@arcgis/components-utils";import{isNotUndefined as Yp}from"@arcgis/components-utils";import{existsAsync as Ti}from"@arcgis/components-build-utils";import{readFile as Cn,readdir as Zp}from"node:fs/promises";import{asyncRetrievePackageJson as el,fetchPackageLocation as tl,retrievePackageJson as nl,path as yt}from"@arcgis/components-build-utils";async function gt(e){return le??=rl(e),await le}function Si(){if(xn===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return xn}function ht(){if(Tn===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return Tn}async function rl(e){let t=nl(e),n=t.dependencies??{},r=t.peerDependencies??{},o=(await Promise.all([...Object.keys(n),...Object.keys(r)].filter(s=>!il.has(s)).flatMap(async s=>await bn(s,e)))).filter(Yp);return xn??=o,Tn=Object.fromEntries(o.flatMap(s=>Object.entries(s.components))),o}var il=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"]),xn,Tn,le;async function bn(e,t){let n=await tl(e,t),r=await el(n),i="exports"in r,o=cl.bind(void 0,i),s="@stencil/core"in(r.dependencies??{})||"@stencil/core"in(r.devDependencies??{}),a=yt.join(n,"dist/esm/loader.js");if(s?await Ti(a):!1){let u=await Cn(a,"utf8"),f=ol(u,"bootstrapLazy("),h=u.indexOf(", options",f),y=u.slice(f,h),T=y.startsWith('JSON.parse("')?y.slice(12,-2).replaceAll('\\"','"'):y;try{let S=JSON.parse(T),b=pl(S,{packageName:e,getImportPath:o});return{packageName:e,type:"stencil",components:b}}catch(S){console.warn(`@arcgis/lumina: Failed to parse dist/esm/loader.js for ${e}.
|
|
49
|
+
Error: ${String(S)}`)}}let l=bi(r.customElements);if(l!=null){let u=yt.join(n,l),f=JSON.parse(await Cn(u,"utf-8")),h=sl(f),y=Sn(f,{packageName:e,getImportPath:o});return{type:h?"@arcgis/lumina":"unknown",packageName:e,components:y}}let c=bi(r["web-types"]);if(c!=null){let u=yt.join(n,c),f=JSON.parse(await Cn(u,"utf-8")),h=al(f,{packageName:e,getImportPath:o,packageRoot:n});return{type:"unknown",packageName:e,components:h}}let d=yt.join(n,"dist/components");if(await Ti(d)){let u=await ll(d,{packageName:e,getImportPath:o});return{type:"unknown",packageName:e,components:u}}}var bi=e=>Array.isArray(e)?e[0]:e;function ol(e,t){let n=e.indexOf(t);return n===-1?-1:n+t.length}function Sn(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 sl=e=>e.compiler?.name===De,al=(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 pl=(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]))}]))),ll=async(e,t)=>Object.fromEntries((await Zp(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:{}}]})),cl=(e,t)=>e?`components/${t}`:`dist/components/${t}.js`;import{asyncRetrievePackageJson as Pc,fetchPackageLocation as Ac}from"@arcgis/components-build-utils";var dl=e=>e.startsWith("/")?e:`/${e}`,Fe=(e,t)=>`${e}@fs${dl(t)}`;import{retrievePackageJson as ml}from"@arcgis/components-build-utils";function ee(e=ml(),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=ul(e.name),s=fl(e.version,n);return["https://",i,o.length>0?"/":"",o,"/",s,"/"].join("")}var ul=e=>e.split("/").pop()??e;function fl(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 Sc}from"@arcgis/components-utils";import{readdir as vc}from"node:fs/promises";import{path as Hn}from"@arcgis/components-build-utils";import{existsAsync as Lo}from"@arcgis/components-build-utils";import{asyncRetrievePackageJson as Ec,fetchPackageLocation as wc}from"@arcgis/components-build-utils";import{build as fc}from"esbuild";import{findPath as ac,path as So,toSystemPathSeparators as pc}from"@arcgis/components-build-utils";import{Deferred as lc,identity as cc}from"@arcgis/components-utils";import V from"typescript";import oc from"typescript";import zl from"typescript";import vn from"typescript";var yl=["keyed","ref","repeat","live"],ce="staticHtml",te="staticSvg",ne="html",de="svg",En=Symbol("maybe HTML namespace or maybe SVG"),wn="css",Pn="mathml",vi=[wn,ne,Pn,ce,te,de],Ei=new Set(vi),gl=["safeClassMap","safeStyleMap"],hl="nothing",wi=[...yl,...vi,...gl,hl],ke=e=>vn.isJsxElement(e)||vn.isJsxSelfClosingElement(e)||vn.isJsxFragment(e);import x from"typescript";import v from"typescript";var Pi="Fragment",Ct="DynamicHtmlTag",xt="DynamicSvgTag",Te=Symbol("dynamic html tag name"),Ve=Symbol("dynamic svg tag name"),Ai=!0,Tt=new Set(["class","itemProp","itemScope","itemType","itemId","itemRef","about","datatype","inlist","property","resource","typeof","vocab"]),bt=new Set(["width","height","href","hreflang","form","download","rowSpan","colSpan","viewBox","src","exportParts","hreflang","media"]),ze={button:new Set(["popoverTarget"]),input:new Set(["list","capture"]),iframe:new Set(["sandbox"]),link:new Set(["sizes"]),meta:new Set(["charset"]),math:new Set(["dir","displaystyle","scriptlevel"]),menu:new Set(["label","type"])},_={common:{reflected:{hidden:"hidden",inert:"inert",draggable:"draggable",contentEditable:"contenteditable",popover:"popover",autofocus:"autofocus",role:"role",ariaAtomic:"aria-atomic",ariaAutoComplete:"aria-autocomplete",ariaBusy:"aria-busy",ariaBrailleLabel:"aria-braillelabel",ariaBrailleRoleDescription:"aria-brailleroledescription",ariaChecked:"aria-checked",ariaColCount:"aria-colcount",ariaColIndex:"aria-colindex",ariaColSpan:"aria-colspan",ariaCurrent:"aria-current",ariaDescription:"aria-description",ariaDisabled:"aria-disabled",ariaExpanded:"aria-expanded",ariaHasPopup:"aria-haspopup",ariaHidden:"aria-hidden",ariaInvalid:"aria-invalid",ariaKeyShortcuts:"aria-keyshortcuts",ariaLabel:"aria-label",ariaLevel:"aria-level",ariaLive:"aria-live",ariaModal:"aria-modal",ariaMultiLine:"aria-multiline",ariaMultiSelectable:"aria-multiselectable",ariaOrientation:"aria-orientation",ariaPlaceholder:"aria-placeholder",ariaPosInSet:"aria-posinset",ariaPressed:"aria-pressed",ariaReadOnly:"aria-readonly",ariaRelevant:"aria-relevant",ariaRequired:"aria-required",ariaRoleDescription:"aria-roledescription",ariaRowCount:"aria-rowcount",ariaRowIndex:"aria-rowindex",ariaRowSpan:"aria-rowspan",ariaSelected:"aria-selected",ariaSetSize:"aria-setsize",ariaSort:"aria-sort",ariaValueMax:"aria-valuemax",ariaValueMin:"aria-valuemin",ariaValueNow:"aria-valuenow",ariaValueText:"aria-valuetext",ariaColIndexText:"aria-colindextext",ariaRowIndexText:"aria-rowindextext",ariaVirtualContent:"aria-virtualcontent"},stringifiedReflected:{title:"title",lang:"lang",translate:"translate",dir:"dir",accessKey:"accesskey",spellcheck:"spellcheck",autocapitalize:"autocapitalize",enterKeyHint:"enterkeyhint",inputMode:"inputmode",virtualKeyboardPolicy:"virtualkeyboardpolicy",tabIndex:"tabindex",writingSuggestions:"writingsuggestions",focusgroup:"focusgroup",id:"id",className:"class",slot:"slot",elementTiming:"elementtiming"},stringifiedNonReflected:{innerText:"",nonce:"",innerHTML:""}},perElement:{a:{stringifiedReflected:{target:"target",download:"download",ping:"ping",rel:"rel",hreflang:"hreflang",type:"type",referrerPolicy:"referrerpolicy",coords:"coords",charset:"charset",name:"name",rev:"rev",shape:"shape",href:"href",interestAction:"interestaction",hrefTranslate:"hreftranslate",attributionSrc:"attributionsrc"},stringifiedNonReflected:{text:""}},area:{reflected:{noHref:"nohref"},stringifiedReflected:{alt:"alt",coords:"coords",download:"download",shape:"shape",target:"target",ping:"ping",rel:"rel",referrerPolicy:"referrerpolicy",href:"href",interestAction:"interestaction"}},audio:{reflected:{crossOrigin:"crossorigin",autoplay:"autoplay",loop:"loop",controls:"controls",defaultMuted:"muted",disableRemotePlayback:"disableremoteplayback"},stringifiedReflected:{src:"src",preload:"preload"}},base:{stringifiedReflected:{href:"href",target:"target"}},blockquote:{stringifiedReflected:{cite:"cite"}},body:{stringifiedReflected:{text:"text",link:"link",vLink:"vlink",aLink:"alink",bgColor:"bgcolor",background:"background"}},br:{stringifiedReflected:{clear:"clear"}},button:{reflected:{disabled:"disabled",formNoValidate:"formnovalidate"},stringifiedReflected:{formAction:"formaction",formEnctype:"formenctype",formMethod:"formmethod",formTarget:"formtarget",name:"name",type:"type",value:"value",popoverTargetAction:"popovertargetaction",command:"command",interestAction:"interestaction"}},canvas:{stringifiedReflected:{width:"width",height:"height"}},caption:{stringifiedReflected:{align:"align"}},col:{stringifiedReflected:{span:"span",align:"align",ch:"char",chOff:"charoff",vAlign:"valign",width:"width"}},colgroup:{stringifiedReflected:{span:"span",align:"align",ch:"char",chOff:"charoff",vAlign:"valign",width:"width"}},data:{stringifiedReflected:{value:"value"}},del:{stringifiedReflected:{cite:"cite",dateTime:"datetime"}},details:{reflected:{open:"open"},stringifiedReflected:{name:"name"}},dialog:{reflected:{open:"open"},stringifiedNonReflected:{returnValue:""}},div:{stringifiedReflected:{align:"align"}},dl:{reflected:{compact:"compact"}},embed:{stringifiedReflected:{src:"src",type:"type",width:"width",height:"height",align:"align",name:"name"}},fieldset:{reflected:{disabled:"disabled"},stringifiedReflected:{name:"name"}},form:{reflected:{noValidate:"novalidate"},stringifiedReflected:{acceptCharset:"accept-charset",action:"action",autocomplete:"autocomplete",enctype:"enctype",encoding:"enctype",method:"method",name:"name",target:"target",rel:"rel"}},h1:{stringifiedReflected:{align:"align"}},h2:{stringifiedReflected:{align:"align"}},h3:{stringifiedReflected:{align:"align"}},h4:{stringifiedReflected:{align:"align"}},h5:{stringifiedReflected:{align:"align"}},h6:{stringifiedReflected:{align:"align"}},hr:{reflected:{noShade:"noshade"},stringifiedReflected:{align:"align",color:"color",size:"size",width:"width"}},html:{stringifiedReflected:{version:"version"}},iframe:{reflected:{allowFullscreen:"allowfullscreen",credentialless:"credentialless",allowPaymentRequest:"allowpaymentrequest",browsingTopics:"browsingtopics",adAuctionHeaders:"adauctionheaders",sharedStorageWritable:"sharedstoragewritable"},stringifiedReflected:{src:"src",srcdoc:"srcdoc",name:"name",width:"width",height:"height",referrerPolicy:"referrerpolicy",csp:"csp",allow:"allow",loading:"loading",align:"align",scrolling:"scrolling",frameBorder:"frameborder",longDesc:"longdesc",marginHeight:"marginheight",marginWidth:"marginwidth",policy:"policy",privateToken:"privatetoken"}},img:{reflected:{crossOrigin:"crossorigin",isMap:"ismap",width:"width",height:"height",hspace:"hspace",vspace:"vspace",sharedStorageWritable:"sharedstoragewritable"},stringifiedReflected:{alt:"alt",src:"src",srcset:"srcset",sizes:"sizes",useMap:"usemap",referrerPolicy:"referrerpolicy",decoding:"decoding",fetchPriority:"fetchpriority",loading:"loading",name:"name",lowsrc:"lowsrc",align:"align",longDesc:"longdesc",border:"border",attributionSrc:"attributionsrc"}},input:{reflected:{defaultChecked:"checked",disabled:"disabled",formNoValidate:"formnovalidate",height:"height",multiple:"multiple",readOnly:"readonly",required:"required",size:"size",width:"width",webkitdirectory:"webkitdirectory",incremental:"incremental"},stringifiedReflected:{accept:"accept",alt:"alt",autocomplete:"autocomplete",dirName:"dirname",formAction:"formaction",formEnctype:"formenctype",formMethod:"formmethod",formTarget:"formtarget",max:"max",maxLength:"maxlength",min:"min",minLength:"minlength",name:"name",pattern:"pattern",placeholder:"placeholder",src:"src",step:"step",type:"type",defaultValue:"value",align:"align",useMap:"usemap",popoverTargetAction:"popovertargetaction",command:"command",interestAction:"interestaction"},stringifiedNonReflected:{value:""}},ins:{stringifiedReflected:{cite:"cite",dateTime:"datetime"}},label:{stringifiedReflected:{htmlFor:"for"}},legend:{stringifiedReflected:{align:"align"}},li:{reflected:{value:"value"},stringifiedReflected:{type:"type"}},link:{reflected:{disabled:"disabled",crossOrigin:"crossorigin"},stringifiedReflected:{href:"href",rel:"rel",media:"media",hreflang:"hreflang",type:"type",as:"as",referrerPolicy:"referrerpolicy",fetchPriority:"fetchpriority",imageSrcset:"imagesrcset",imageSizes:"imagesizes",charset:"charset",rev:"rev",target:"target",integrity:"integrity"}},map:{stringifiedReflected:{name:"name"}},menu:{reflected:{compact:"compact"}},meta:{stringifiedReflected:{name:"name",httpEquiv:"http-equiv",content:"content",media:"media",scheme:"scheme"}},meter:{reflected:{value:"value",min:"min",max:"max",low:"low",high:"high",optimum:"optimum"}},object:{reflected:{declare:"declare",hspace:"hspace",vspace:"vspace"},stringifiedReflected:{data:"data",type:"type",name:"name",useMap:"usemap",width:"width",height:"height",align:"align",archive:"archive",code:"code",standby:"standby",codeBase:"codebase",codeType:"codetype",border:"border"}},ol:{reflected:{reversed:"reversed",compact:"compact"},stringifiedReflected:{start:"start",type:"type"}},optgroup:{reflected:{disabled:"disabled"},stringifiedReflected:{label:"label"}},option:{reflected:{disabled:"disabled",defaultSelected:"selected"},stringifiedReflected:{label:"label",value:"value"},stringifiedNonReflected:{text:""}},output:{stringifiedReflected:{name:"name"},stringifiedNonReflected:{defaultValue:"",value:""}},p:{stringifiedReflected:{align:"align"}},pre:{reflected:{width:"width"}},progress:{reflected:{value:"value",max:"max"}},q:{stringifiedReflected:{cite:"cite"}},script:{reflected:{noModule:"nomodule",async:"async",defer:"defer",crossOrigin:"crossorigin",referrerPolicy:"referrerpolicy"},stringifiedReflected:{src:"src",type:"type",charset:"charset",fetchPriority:"fetchpriority",event:"event",htmlFor:"for",integrity:"integrity",attributionSrc:"attributionsrc"},stringifiedNonReflected:{text:""}},select:{reflected:{disabled:"disabled",multiple:"multiple",required:"required",size:"size"},stringifiedReflected:{autocomplete:"autocomplete",name:"name"}},slot:{stringifiedReflected:{name:"name"}},source:{reflected:{width:"width",height:"height"},stringifiedReflected:{src:"src",type:"type",srcset:"srcset",sizes:"sizes",media:"media"}},style:{stringifiedReflected:{media:"media",type:"type"}},table:{stringifiedReflected:{align:"align",border:"border",frame:"frame",rules:"rules",summary:"summary",width:"width",bgColor:"bgcolor",cellPadding:"cellpadding",cellSpacing:"cellspacing"}},tbody:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},td:{reflected:{noWrap:"nowrap"},stringifiedReflected:{colSpan:"colspan",rowSpan:"rowspan",headers:"headers",align:"align",axis:"axis",height:"height",width:"width",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor",abbr:"abbr",scope:"scope"}},template:{reflected:{shadowRootDelegatesFocus:"shadowrootdelegatesfocus",shadowRootClonable:"shadowrootclonable",shadowRootSerializable:"shadowrootserializable",parseparts:"parseparts"},stringifiedReflected:{shadowRootMode:"shadowrootmode"}},textarea:{reflected:{cols:"cols",disabled:"disabled",readOnly:"readonly",required:"required",rows:"rows"},stringifiedReflected:{autocomplete:"autocomplete",dirName:"dirname",maxLength:"maxlength",minLength:"minlength",name:"name",placeholder:"placeholder",wrap:"wrap"},stringifiedNonReflected:{defaultValue:"",value:""}},tfoot:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},th:{reflected:{noWrap:"nowrap"},stringifiedReflected:{colSpan:"colspan",rowSpan:"rowspan",headers:"headers",align:"align",axis:"axis",height:"height",width:"width",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor",abbr:"abbr",scope:"scope"}},thead:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},time:{stringifiedReflected:{dateTime:"datetime"}},title:{stringifiedNonReflected:{text:""}},tr:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor"}},track:{reflected:{default:"default"},stringifiedReflected:{kind:"kind",src:"src",srclang:"srclang",label:"label"}},ul:{reflected:{compact:"compact"},stringifiedReflected:{type:"type"}},video:{reflected:{width:"width",height:"height",playsInline:"playsinline",disablePictureInPicture:"disablepictureinpicture",crossOrigin:"crossorigin",autoplay:"autoplay",loop:"loop",controls:"controls",defaultMuted:"muted",disableRemotePlayback:"disableremoteplayback"},stringifiedReflected:{poster:"poster",src:"src",preload:"preload"}}}};Di(_.common);Object.values(_.perElement).forEach(Di);function Di(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 An=new Set(["itemScope"]),St=new Set(["abort","animationCancel","animationEnd","animationIteration","animationStart","auxClick","beforeInput","blur","canPlay","canPlayThrough","cancel","change","click","close","compositionEnd","compositionStart","compositionUpdate","contextMenu","copy","cueChange","cut","dblClick","drag","dragEnd","dragEnter","dragLeave","dragOver","dragStart","drop","durationChange","emptied","encrypted","error","focus","focusIn","focusOut","formData","fullscreenChange","fullscreenError","gotPointerCapture","input","invalid","keyDown","keyUp","load","loadStart","loadedData","loadedMetadata","lostPointerCapture","mouseDown","mouseEnter","mouseLeave","mouseMove","mouseOut","mouseOver","mouseUp","paste","pause","play","playing","pointerCancel","pointerDown","pointerEnter","pointerLeave","pointerMove","pointerOut","pointerOver","pointerUp","progress","rateChange","reset","resize","scroll","scrollEnd","securityPolicyViolation","seeked","seeking","select","selectStart","slotChange","stalled","submit","suspend","timeUpdate","toggle","touchCancel","touchEnd","touchMove","touchStart","transitionCancel","transitionEnd","transitionRun","transitionStart","volumeChange","waiting","wheel"]),Fi=new Set(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),Ie=new Set(["animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","switch","symbol","text","textPath","tspan","use","view"]),ki=new Set(["title","svg","a","script","style"]),Ne=new Set(["annotation-xml","annotation","maction","menclose","merror","mfenced","mfrac","mi","mmultiscripts","mn","mo","mover","mpadded","mphantom","mprescripts","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msubsup","msup","mtable","mtd","mtext","mtr","munder","munderover","semantics"]),vt=new Set(["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"]);import{mappedFind as Ii,uncapitalize as Ni}from"@arcgis/components-utils";import g from"typescript";function Dn(e,t,n){if(Le(e))return e;{n===void 0&&t.neededImports.add("nothing");let r=t.importRenames.nothing;return g.factory.createParenthesizedExpression(g.factory.createBinaryExpression(g.factory.createParenthesizedExpression(e),g.factory.createToken(g.SyntaxKind.QuestionQuestionToken),typeof n=="string"?g.factory.createStringLiteral(n):g.factory.createIdentifier(r)))}}function Le(e){return typeof e=="string"||Cl.has(e.kind)||g.isConditionalExpression(e)&&Le(e.whenTrue)&&Le(e.whenFalse)||g.isBinaryExpression(e)&&(xl.has(e.operatorToken.kind)||Le(e.left)&&Le(e.right))||(g.isParenthesizedExpression(e)||g.isSatisfiesExpression(e)||g.isAsExpression(e))&&Le(e.expression)||g.isTaggedTemplateExpression(e)&&g.isIdentifier(e.tag)&&Ei.has(e.tag.text)}var Cl=new Set([g.SyntaxKind.NumericLiteral,g.SyntaxKind.BigIntLiteral,g.SyntaxKind.StringLiteral,g.SyntaxKind.RegularExpressionLiteral,g.SyntaxKind.NoSubstitutionTemplateLiteral,g.SyntaxKind.FalseKeyword,g.SyntaxKind.TrueKeyword,g.SyntaxKind.ArrayLiteralExpression,g.SyntaxKind.ObjectLiteralExpression,g.SyntaxKind.FunctionExpression,g.SyntaxKind.ArrowFunction,g.SyntaxKind.TypeOfExpression,g.SyntaxKind.PrefixUnaryExpression,g.SyntaxKind.PostfixUnaryExpression,g.SyntaxKind.TemplateExpression,g.SyntaxKind.ClassExpression,g.SyntaxKind.NonNullExpression]),xl=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 Ri={property(e,t,n,r){let i=Tl(r,n,e),o=i?.type==="stringifiedReflected",s=i?.type==="reflected"||o;if(s){let m=kn(t);if(m===!0)return[i.name];if(m===!1)return[]}let a=t===void 0?["=",v.factory.createToken(v.SyntaxKind.TrueKeyword)]:Et(e,t,s),p=a[0]!=="=";if(s&&p)return[i.name,...a];let[l,c]=a,d=i?.type==="stringifiedNonReflected";if(o||d){let m=Dn(c,e,d?"":void 0),f=n==="value"&&(r==="input"||r==="textarea"||r===Te)?Sl(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||kn(t);if(r===!0)return[n];if(r===!1)return[];let i=Et(e,t,!0),s=i[0]!=="="?i:[i[0],Dn(i[1],e)];return[n,...s]},booleanAttribute(e,t,n){let r=t===void 0||kn(t);return r===!0?[n]:r===!1?[]:[`?${n}`,...Et(e,t,!1)]},event(e,t,n){if(t===void 0||!v.isJsxExpression(t)||t.expression===void 0)throw new Error(`Event prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);let r=n.slice(2),i=Ni(r);return[`@${St.has(i)?r.toLowerCase():Ai?Ni(r):r}=`,...wt(e,t,void 0)]},directives(e,t){if(t===void 0||!v.isJsxExpression(t))throw new Error(`Directives prop must be an expression. Found ${String(t?.getText(e.sourceFile))}`);if(t.expression===void 0||!v.isArrayLiteralExpression(t.expression))throw new Error(`Directives prop must be an array rather than a variable or ternary expression. Still, the following are allowed: directives={[directiveA, condition ? a : b, c()]}. Found ${String(t.expression?.getText(e.sourceFile))}`);return t.expression.elements.flatMap(i=>{if(v.isSpreadElement(i))throw new Error(`Directives prop cannot contain a spread argument - it needs to be statically analyzable. Still, the following are allowed: directives={[directiveA, condition ? a : b, c()]}. Found ${String(t.expression?.getText(e.sourceFile))}`);return X(e,void 0,i)})},ref(e,t){e.neededImports.add("ref");let n=e.importRenames.ref;if(t===void 0||!v.isJsxExpression(t)||t.expression===void 0)throw new Error(`ref prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);return[v.factory.createCallExpression(v.factory.createIdentifier(n),void 0,[X(e,void 0,t.expression)])]},class:$i,style:$i,key:(e,t)=>[qe(t,e.sourceFile)]};function Tl(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=Fn(_.common,t);if(r!==void 0)return r;if(typeof e=="string"){let i=Fn(_.perElement[e],t);if(i!==void 0)return i}else{let i=Object.values(_.perElement).map(s=>Fn(s,t)),o=Ii(i,s=>s?.type==="stringifiedNonReflected"?s:void 0)??Ii(i,s=>s?.type==="stringifiedReflected"?s:void 0);if(o!==void 0)return o}}function Fn(e,t){let n=e?.reflected?.[t];if(n!==void 0)return{name:n,type:"reflected"};let r=e?.stringifiedReflected?.[t];if(r!==void 0)return{name:r,type:"stringifiedReflected"};let i=e?.stringifiedNonReflected?.[t];if(i!==void 0)return{name:i,type:"stringifiedNonReflected"}}function qe(e,t){if(e!==void 0&&v.isJsxExpression(e)&&e.expression!==void 0)return e.expression;if(e!==void 0&&v.isStringLiteral(e))return e;throw new Error(`key prop value must be an expression. Found ${String(e?.getText(t))}`)}function kn(e){if(e===void 0)return!0;if(v.isJsxExpression(e)){if(e.expression?.kind===v.SyntaxKind.TrueKeyword||e.expression===void 0)return!0;if(e.expression?.kind===v.SyntaxKind.FalseKeyword)return!1}}function Et(e,t,n=!1){if(ke(t))throw new Error(`Invalid JSX syntax detected or there is a bug in Lumina. Found ${t.getText(e.sourceFile)}. Expected JSX attribute value to be wrapped in { }`);if(v.isStringLiteral(t))return Li(t,n);if(v.isJsxExpression(t)&&t.expression){if(v.isStringLiteral(t.expression))return Li(t.expression,n);if(n){if(v.isNumericLiteral(t.expression))return[`=${t.expression.text}`];if(v.isPrefixUnaryExpression(t.expression)&&v.isNumericLiteral(t.expression.operand))return[`=${t.expression.getText(e.sourceFile)}`]}}return["=",...wt(e,t,void 0)]}function Li(e,t){if(!t)return["=",e];let n=e.text;if(n.length===0)return[];let r=at(n);if(Nr(r)){let i=r.replaceAll('"',""");if(i.length>r.length){let o=r.replaceAll("'","'");if(o.length<i.length)return[`='${o}'`]}return[`="${i}"`]}else return[`=${r}`]}function $i(e,t,n){if(t!==void 0&&v.isStringLiteral(t))return[`${n}="${t.text}"`];if(t===void 0||!v.isJsxExpression(t)||t.expression===void 0)throw new Error(`${n} prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);let r=t.expression;if(bl(r)){let o=n==="class"?"safeClassMap":"safeStyleMap";e.neededImports.add(o);let s=e.importRenames[o],a=v.factory.createCallExpression(v.factory.createIdentifier(s),void 0,[X(e,void 0,r)]);return[`${n}=`,a]}else return[n,...Et(e,t,!0)]}var bl=e=>v.isObjectLiteralExpression(e)||v.isPropertyAccessExpression(e)||v.isIdentifier(e)||v.isCallExpression(e)||v.isBinaryExpression(e)||v.isConditionalExpression(e);function Sl(e,t){t.neededImports.add("live");let n=t.importRenames.live;return v.factory.createCallExpression(v.factory.createIdentifier(n),void 0,[typeof e=="string"?v.factory.createStringLiteral(e):e])}import Ge from"typescript";function Ji(e){if(e&&Ge.isJsxExpression(e)&&e.expression&&Ge.isCallExpression(e.expression)&&Ge.isIdentifier(e.expression.expression)&&e.expression.expression.text in Mi&&e.expression.arguments.length<=1)return{propType:Mi[e.expression.expression.text],initializer:Ge.factory.createJsxExpression(void 0,e.expression.arguments[0])}}var Mi={bindProperty:"property",bindAttribute:"attribute",bindBooleanAttribute:"booleanAttribute",bindEvent:"event"};function ji(e,t,n){return El.has(e)?e:e.startsWith("on")&&t!==void 0&&Ge.isJsxExpression(t)&&t.expression!==void 0?"event":(Tt.has(e)||e.includes("-"))&&(e!=="itemId"||n!=="arcgis-map"&&n!=="arcgis-scene")?"attribute":!(typeof n=="string"&&n.includes("-")&&!vt.has(n))&&(bt.has(e)||(n===Ve?!1:n===Te?Object.values(ze).some(s=>s.has(e)):ze[n]?.has(e)===!0))?An.has(e)?"booleanAttribute":"attribute":n==="svg"||n==="math"||n===Ve||n!==Te&&(Ie.has(n)||Ne.has(n))?e in _.common.reflected||e in _.common.stringifiedReflected||e in _.common.stringifiedNonReflected?"property":An.has(e)?"booleanAttribute":"attribute":"property"}var vl=["class","style","ref","directives","key"],El=new Set(vl);import U from"typescript";var Oi=e=>typeof e!="string"||e.trim().length>0;function Xe({key:e,parts:t,litTag:n},r){let i=wl(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 In(r,e,U.factory.createStringLiteral(o));if(o===""&&s.length===2&&s[1]==="")return In(r,e,typeof s[0]=="string"?U.factory.createStringLiteral(o):s[0])}let a=typeof n=="string"?n:ne;r.neededImports.add(a);let p=r.importRenames[a],l=ge(o),c=U.factory.createTaggedTemplateExpression(U.factory.createIdentifier(p),void 0,s.length===0?U.factory.createNoSubstitutionTemplateLiteral(l,l):U.factory.createTemplateExpression(U.factory.createTemplateHead(l,l),Pl(s)));return In(r,e,c)}var wl=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 Pl(e){if(!(e.length%2===0))throw new Error("templatePartsToSpans should be called with normalized parts array without the first item");let n=e.length/2;return Array.from({length:n},(r,i)=>{let o=i*2,s=e[o];if(typeof s=="string")throw new Error("Expected to receive a normalized array of parts");let a=o+1,p=e[a];if(typeof p!="string")throw new Error("Expected to receive a normalized array of parts");let l=i===n-1,c=ge(p);return U.factory.createTemplateSpan(s,l?U.factory.createTemplateTail(c,c):U.factory.createTemplateMiddle(c,c))})}function In(e,t,n){if(t===void 0)return n;e.neededImports.add("keyed");let r=e.importRenames.keyed;return U.factory.createCallExpression(U.factory.createIdentifier(r),void 0,[t,n])}import Ln from"typescript";var $n=(e,t)=>e.getFullText(t.sourceFile).slice(0,e.getLeadingTriviaWidth(t.sourceFile));function Rn(e,t){let n=Pt(e);return n.length===0?t:Ln.setSyntheticLeadingComments(t,n.map(r=>({...r,pos:-1,end:-1,text:Wi(e.slice(r.pos,r.end))})))}var Pt=e=>e.trim().length===0?[]:Ln.getLeadingCommentRanges(e,0)??[];function Bi(e){let t=Pt(e);if(t.length===0)return[e||" "];let n=t.reduceRight(([i,...o],s)=>{let a=ge(Wi(Nn(i).slice(s.pos,s.end)));return[Nn(i).slice(0,s.pos),Ln.factory.createNoSubstitutionTemplateLiteral(a,a),Nn(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 Wi=e=>e.startsWith("//")?e.slice(2):e.slice(2,-2);function Nn(e){if(typeof e=="string")return e;throw new Error(`Expected string, got ${typeof e}: ${String(e)}`)}import{isNotUndefined as Ml}from"@arcgis/components-utils";import C from"typescript";import{mappedFind as Al}from"@arcgis/components-utils";import{toSystemPathSeparators as Dl}from"@arcgis/components-build-utils";function Ki(e,t){if(!(C.isPropertyAccessExpression(t.expression)&&t.expression.name.text==="map"))return t;let r=t.arguments[0];if(!(t.arguments.length===1&&C.isArrowFunction(r)))return t;let o=r.parameters.at(0);if(!(typeof o=="object"&&r.parameters.length<=2))return t;let a=$e(r.body),p=!0,l;if(Hi(a))l=a;else{if(!C.isBlock(a))return t;let y=a.statements.at(-1);if(!(y&&C.isReturnStatement(y)&&y.expression))return t;let S=$e(y.expression);if(!Hi(S))return t;let b=a.statements.slice(0,-1);if(b.some(_i))return t;p=b.length===0,l=S}let c=C.isJsxElement(l)?l.openingElement:l,d=Jn(c);if(d===-1)return t;let m=c.attributes.properties[d];if(m===void 0||!C.isJsxAttribute(m))return t;let u=qe(m.initializer,e.sourceFile),f=Fl(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 Hi=e=>C.isJsxElement(e)||C.isJsxSelfClosingElement(e);function _i(e){if(C.isReturnStatement(e))return!0;let t=!1;return C.visitEachChild(e,n=>(t||=_i(n),n),void 0),t}function Fl(e,t,n,r,i){let o=re(n);if(o===void 0)return;let s=Ui(e.name,o),a=t.parameters.at(1);if(a!==void 0&&C.isIdentifier(a.name)&&o.every(At,a.name)){console.warn(`It looks like you are trying to use .map() index as a key={} prop value in ${Dl(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=Il(o,s,t);if(p===void 0)return;s=p}return C.factory.updateParameterDeclaration(e,e.modifiers,e.dotDotDotToken,s,e.questionToken,e.type,e.initializer)}function re(e){if(C.isIdentifier(e))return[e.text];if(C.isPropertyAccessExpression(e))return re(e.expression);if(C.isElementAccessExpression(e))return re(e.argumentExpression);if(C.isConditionalExpression(e)){let t=re(e.condition),n=re(e.whenTrue),r=re(e.whenFalse);return t===void 0||n===void 0||r===void 0?void 0:[...t,...n,...r]}else if(C.isBinaryExpression(e)){let t=re(e.left),n=re(e.right);return t===void 0||n===void 0?void 0:[...t,...n]}else{if(kl.has(e.kind))return[];{let t=$e(e);return t!==e?re(t):void 0}}}var kl=new Set([C.SyntaxKind.NumericLiteral,C.SyntaxKind.BigIntLiteral,C.SyntaxKind.StringLiteral,C.SyntaxKind.RegularExpressionLiteral,C.SyntaxKind.NoSubstitutionTemplateLiteral,C.SyntaxKind.FalseKeyword,C.SyntaxKind.NullKeyword,C.SyntaxKind.TrueKeyword]),$e=e=>C.isAsExpression(e)||C.isNonNullExpression(e)||C.isSatisfiesExpression(e)||C.isParenthesizedExpression(e)?$e(e.expression):e,Ui=(e,t)=>C.isObjectBindingPattern(e)?$l(e,t):e;function Il(e,t,n){if(e.every(At,t))return t;if(C.isIdentifier(t)){let r=C.isBlock(n.body)?Al(n.body.statements,o=>Nl(o,t)):void 0;if(r===void 0)return;let i=Ui(r,e);if(e.every(At,i))return i}}function Nl(e,t){if(!C.isVariableStatement(e)||!(e.declarationList.flags&C.NodeFlags.Const))return;let n=e.declarationList.declarations[0];return n?.initializer&&C.isIdentifier(n.initializer)&&n.initializer.text===t.text?n.name:void 0}function At(e){let t=this;return C.isIdentifier(t)?t.text===e:t.elements.some(Ll,e)}function Ll(e){let t=this;return C.isOmittedExpression(e)?!1:At.call(e.name,t)}function $l(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 Mn=(e,t)=>t.liftedKeys.has(e);import{toSystemPathSeparators as Dt}from"@arcgis/components-build-utils";var zi=e=>e.apiJsonComponents.map(({name:t,importPath:n})=>`import type { ${t} } from "./${n}";`).join(`
|
|
50
|
+
`),Rl=/^[a-zA-Z_$][a-zA-Z\d_$]*$/u,be=e=>!Rl.test(e),Q=e=>be(e)?`"${e}"`:e;function me(e,t){let n=[],r=[],i=!1;t?.forEach(c=>{if(c.kind!=="field"||c.readonly)return;let d=c;if(d.getterTypeDiffers){i=!0;return}d.docsTags?.some(u=>u.name==="required")?n.push(c.name):r.push(c.name)});let o=Vi(n),s=Vi(r),a=[o?`Required<Pick<${e}, ${o}>>`:"",s?`Partial<Pick<${e}, ${s}>>`:"",i?`${e}SetterTypes`:""],p=i?`
|
|
51
|
+
type ${e}SetterTypes = ${e}["${Yt}"]`:"",l=a.filter(Boolean).join(", ");return[l.length===0?"":`${l}, `,p]}var Vi=e=>e.map(t=>`'${t}'`).join(" | ");function X(e,t,n){if(ke(n))return qi(e,n);let r=x.isCallExpression(n)?Ki(e,n):n,i=x.visitEachChild(r,X.bind(null,e,t!==void 0&&x.isBinaryExpression(t)?void 0:n),e.transformationContext);return t!==void 0&&x.isBinaryExpression(n)&&(x.isJsxExpression(t)||ke($e(n.right)))?Ol(i):i}function qi(e,t){let n=Gi(e,t);return Xe(n,e)}function Gi(e,t){let n="children"in t?t.children:[];if(x.isJsxFragment(t))return{key:void 0,...Ft(n,e)};let i=x.isJsxElement(t)?t.openingElement:t,o=i.tagName;if(x.isJsxNamespacedName(o)){let S=Dt(e.sourceFile.fileName);throw new Error(`JSX namespaced elements are not supported. Found ${o.getText(e.sourceFile)} in "${S}"`)}if(!x.isIdentifier(o)||!o.text.startsWith(o.text[0].toLowerCase())&&o.text!==Ct&&o.text!==xt){let b=x.isIdentifier(o)&&o.text===Pi?Ft(n,e):{litTag:void 0,parts:[jl(e,t,o,n)]};return{key:Jl(i,e),...b}}let a=o.text===Ct?Te:o.text===xt?Ve:o.text,p=o.text===Ct?ce:o.text===xt?te:ki.has(a)?En:Ie.has(a)?de:ne,l;typeof a=="string"&&a.includes("-")&&!vt.has(a)&&(e.customElementsToImport.add(a),e.compiler.viteCommand==="build"&&(l=Bl(e,a)));let c,d=[],m=i.attributes.properties.flatMap(S=>{if(x.isJsxSpreadAttribute(S))throw new Error(`JSX spread attribute syntax is not supported. See alternatives: https://qawebgis.esri.com/components/lumina/jsx#spread-attributes
|
|
52
|
+
Found ${S.getText(e.sourceFile)}`);let{name:b,initializer:M}=S;if(x.isJsxNamespacedName(b)){let q=Dt(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${b.getText(e.sourceFile)} in "${q}"`)}let j=b.text,Be=Ji(M),P=Be?.propType??ji(j,M,a);l?.delete(j);let I=Ri[P](e,Be?.initializer??M,j,a);if(I.length===0)return[];let W=e.compiler.shouldMinifyJsx?" ":Bi($n(b,e));return P==="key"?(c=typeof I[0]=="object"&&!Mn(b,e)?I[0]:void 0,Array.isArray(W)&&W.some(Oi)?W:[]):P==="directives"||P==="ref"?(d.push(...W,...I.flatMap((q,ve)=>typeof q=="string"||ve===0||typeof I[ve-1]=="string"?q:[" ",q])),[]):[...W,...I]});if(l!==void 0&&l.size>0&&e.compiler.logLintError("mustIncludeAllRequiredProperties",e.sourceFile.fileName,`Missing required properties for <${a}> in ${e.sourceFile.fileName.slice(e.compiler.dir.root.length)}: ${Array.from(l).join(", ")}`),d.length>0&&m.push(...d),typeof a=="string"&&Ne.has(a))throw new Error(`JSX syntax for MathML elements is not yet supported. If you need it, please request it. Otherwise, use the \`math\` function from Lit directly. Tried to use the "${a}" element`);let u=typeof a=="string"&&Fi.has(a),f=Ft(n,e);if(u&&f.parts.length>0){let S=Dt(e.sourceFile.fileName);throw new Error(`Void HTML elements like <${a}> cannot have children. Found ${t.getText(e.sourceFile)} in "${S}"`)}let h=(p===de||p===te)&&f.parts.length===0,y=["<",typeof a=="string"?a:o,...m,h?`${m.length===0?"":" "}/>`:">"],T=u||h?y:[...y,...f.litTag!==void 0&&f.litTag!==p?[Xe({key:void 0,...f},e)]:f.parts,"</",typeof a=="string"?a:o,">"];return{key:c,parts:T,litTag:p}}function Jl(e,t){let n=e.attributes.properties[Jn(e)];return n&&x.isJsxAttribute(n)&&!Mn(n.name,t)?qe(n.initializer,t.sourceFile):void 0}var Jn=e=>e.attributes.properties.findIndex(({name:t})=>t&&x.isIdentifier(t)&&t.text==="key");function jl(e,t,n,r){let o=(x.isJsxElement(t)?t.openingElement:t).attributes.properties.map(p=>{if(x.isJsxSpreadAttribute(p))return Rn($n(p,e),x.factory.createSpreadAssignment(p.expression));let{name:l,initializer:c}=p;if(x.isJsxNamespacedName(l)){let u=Dt(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${l.getText(e.sourceFile)} in "${u}"`)}if(l.text==="key")return;let d=c===void 0?x.factory.createTrue():x.isStringLiteral(c)?c:ke(c)?qi(e,c):X(e,void 0,c.expression??x.factory.createIdentifier("undefined")),m=be(l.text)?x.factory.createStringLiteral(l.text):l;return x.factory.createPropertyAssignment(m,d)}),{parts:s,litTag:a}=Ft(r,e);return s.length>0&&o.push(x.factory.createPropertyAssignment(x.factory.createIdentifier("children"),Xe({key:void 0,parts:s,litTag:a},e))),x.factory.createCallExpression(n,void 0,[x.factory.createObjectLiteralExpression(o.filter(Ml))])}function Ft(e,t){let n,r=e.flatMap(i=>{if(x.isJsxText(i))return[t.compiler.shouldMinifyJsx?Ir(i.text):i.text];if(x.isJsxExpression(i))return wt(t,i,i);{let o=Gi(t,i);if(o.key===void 0&&o.litTag!==ce&&o.litTag!==te){if(o.litTag===En)return o.parts;if(n!==void 0&&o.litTag!==void 0&&n!==o.litTag)throw new Error(`Unexpectedly found both ${n} and ${o.litTag} child elements inside the same element.`);return n=o.litTag,o.parts}else return[Xe(o,t)]}});return{litTag:n,parts:r}}function Ol(e){return e.operatorToken.kind===x.SyntaxKind.AmpersandAmpersandToken?x.factory.createBinaryExpression(e,x.factory.createToken(x.SyntaxKind.BarBarToken),x.factory.createStringLiteral("")):e}function wt(e,t,n){if(t.expression===void 0){if(e.compiler.shouldMinifyJsx)return[];let r=t.getText(e.sourceFile).slice(1,-1);return Pt(r).length===0?[]:[Rn(r,x.factory.createIdentifier("undefined"))]}return x.isStringLiteral(t.expression)?[at(t.expression.text)]:e.compiler.viteCommand==="serve"&&e.compiler.typeScriptConfig.sourceMap&&!e.compiler.shouldMinifyJsx&&x.isArrowFunction(t.expression)&&!x.isBlock(t.expression.body)?[X(e,n,x.factory.updateArrowFunction(t.expression,t.expression.modifiers,t.expression.typeParameters,t.expression.parameters,t.expression.type,t.expression.equalsGreaterThanToken,x.factory.createBlock([x.factory.createReturnStatement(t.expression.body)],!0)))]:[X(e,n,t.expression)]}function Bl(e,t){if(t in e.localComponents)for(let r of e.compiler.privateApiJson.modules)for(let i of r.declarations){if(!("customElement"in i)||i.tagName!==t)continue;let o=new Set;for(let s of i.members)s.kind==="field"&&s.docsTags?.some(a=>a.name==="required")===!0&&o.add(s.name);return o}}import N from"typescript";import{path as jn}from"@arcgis/components-build-utils";var Xi=e=>e.reduce((t,[n,r])=>(t[n]??=[],t[n].push(r),t),{}),Qe={[ne]:["lit-html","lit/html.js","lit"],[ce]:["lit-html/static.js","lit/static-html.js"],[de]:["lit-html","lit/html.js","lit"],[te]:["lit-html/static.js","lit/static-html.js"],[Pn]:["lit-html","lit/html.js","lit"],[wn]:["@lit/reactive-element/css-tag.js","@lit/reactive-element","lit"],safeClassMap:["@arcgis/lumina"],safeStyleMap:["@arcgis/lumina"],keyed:["lit-html/directives/keyed.js","lit/directives/keyed.js"],live:["lit-html/directives/live.js","lit/directives/live.js"],repeat:["lit-html/directives/repeat.js","lit/directives/repeat.js"],ref:["lit-html/directives/ref.js","lit/directives/ref.js"],nothing:["lit-html","lit/html.js","lit-element/lit-element.js","lit","@arcgis/lumina"]},Qi=Xi(Object.entries(Qe).flatMap(([e,t])=>t.map(n=>[n,e]))),kt=new Set(Object.keys(Qi));function Yi(e,t){let n=t.importClause,r=t.moduleSpecifier;if(!N.isStringLiteral(r))return t;let i=Wl(e.sourceFile.fileName,r.text,""),o=!n?.isTypeOnly;if(o&&e.existingImportedModules.add(i),n===void 0)return t;if(e.isInLightDomComponent&&r.text.startsWith(".")&&Ae.test(r.text)&&!r.text.includes("?"))return N.factory.updateImportDeclaration(t,t.modifiers,n,N.factory.createStringLiteral(r.text+K),t.attributes);if(n.name!==void 0){let p=n.name.text,l=n.name.text.startsWith(p[0].toUpperCase()),c=jn.isAbsolute(i);o&&!n.isTypeOnly&&l&&c&&e.importedFunctionComponentsFromModules.add(i)}let s=n.namedBindings;if(s===void 0||!N.isNamedImports(s))return t;let a=kt.has(r.text);return s.elements.forEach(p=>{let l=(p.propertyName??p.name).text,c=Qe[l];if(a){if(c?.some(u=>u===r.text)){let u=Zi(l,i);e.existingLitImports.add(u),e.importRenames[u]=p.name?.text??u}}else(p.name.text==="h"||p.name.text==="createElement")&&(e.hasNonLuminaJsxImport=!0);let d=l.startsWith(l[0].toUpperCase()),m=jn.isAbsolute(i);o&&!p.isTypeOnly&&d&&m&&e.importedFunctionComponentsFromModules.add(i)}),t}var Zi=(e,t)=>e===ne&&Qe.staticHtml.includes(t)?ce:e===de&&Qe.staticSvg.includes(t)?te:e,Wl=(e,t,n)=>t.startsWith(".")?jn.resolve(e,"..",`${t}${n}`):t;function eo(e){return N.isImportDeclaration(e)?Hl(this,e):e}function Hl(e,t){let n=t.importClause,r=n?.namedBindings,i=t.moduleSpecifier;if(!N.isStringLiteral(i)||!r||!N.isNamedImports(r)||!kt.has(i.text))return t;let o=n.isTypeOnly,s=!1,a=r.elements.map(p=>{let l=(p.propertyName??p.name).text,c=Zi(l,i.text);return e.neededImports.has(c)?(e.existingLitImports.delete(c),e.neededImports.delete(c),s=!0,N.factory.updateImportSpecifier(p,!1,p.propertyName,p.name)):o?N.factory.updateImportSpecifier(p,!0,p.propertyName,p.name):p});return Qi[i.text]?.forEach(p=>{!e.neededImports.has(p)||e.existingLitImports.has(p)||(e.neededImports.delete(p),s=!0,a.push(no(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 to(e){let t=Xi(Array.from(e.neededImports,n=>[Qe[n][0],n]));return Object.entries(t).map(([n,r])=>N.factory.createImportDeclaration(void 0,N.factory.createImportClause(!1,void 0,N.factory.createNamedImports(r.map(i=>(e.neededImports.delete(i),no(i,e))))),N.factory.createStringLiteral(n)))}function no(e,t){let n=e===ce?ne:e===te?de:e,r=t.importRenames[e];return r===n?N.factory.createImportSpecifier(!1,void 0,N.factory.createIdentifier(n)):N.factory.createImportSpecifier(!1,N.factory.createIdentifier(n),N.factory.createIdentifier(r))}import{path as Kl,toSystemPathSeparators as _l}from"@arcgis/components-build-utils";function ro(e){let t=Si().map(({packageName:n})=>n);return e.existingImportedModules.forEach(n=>{if(Kl.isAbsolute(n))return;let{packageName:r,moduleName:i}=an(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 io(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 Ul,toSystemPathSeparators as Vl}from"@arcgis/components-build-utils";function oo(e,t,n){let r=ht()[t]??On(e)[t];if(r===void 0){let i=Vl(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 so(e,t){return e.packageName===void 0?Z(t,e.moduleName):Ul.join(e.packageName,e.moduleName)}function On(e){return e._localDefinedComponents??=Sn(e.privateApiJson,{packageName:void 0,getImportPath(){throw new Error("Not supposed to be called for local components")}}),e._localDefinedComponents}var ao=(e,t)=>{let n=e.pragmas;if(n?.has("jsx")===!0||n?.has("jsxImportSource")===!0)return e.statements;let r={compiler:t.compiler,externalComponents:ht(),localComponents:t.compiler.isInPuppeteerTestBackEnd?{}:On(t.compiler),sourceFile:e,transformationContext:t.transformation,importRenames:ql(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(zl.isImportDeclaration(s)){if(i.push(Yi(r,s)),r.hasNonLuminaJsxImport)return!1}else i.push(X(r,void 0,s));return!0}),r.hasNonLuminaJsxImport)return e.statements;if(r.neededImports.size>0&&(i=i.map(eo,r),r.existingLitImports.size>0))throw new Error(`Expected context.existingLitImports to be empty by now. Found: ${Array.from(r.existingLitImports).join(", ")}`);let o=[to,ro,io].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 ql(e){return Gl(e),Object.fromEntries(wi.map(t=>[t,e.identifiers.has(t)?`${t}$jsx`:t]))}function Gl(e){if(!("identifiers"in e))throw new Error("Expected sourceFile to have an undocumented identifiers property that is a Map<string,string>. If this error is thrown, it may mean Lumina Compiler needs to be updated to support the version of TypeScript being used.")}import L from"typescript";import O from"typescript";import{PropertyFlags as ue}from"@arcgis/lumina/config";function po(e,t,n){return t.size===0?e:[O.factory.createPropertyDeclaration([O.factory.createModifier(O.SyntaxKind.StaticKeyword),O.factory.createModifier(O.SyntaxKind.OverrideKeyword)],"properties",void 0,void 0,O.factory.createObjectLiteralExpression(Array.from(t.entries()).map(([r,i])=>O.factory.createPropertyAssignment(be(r)?O.factory.createStringLiteral(r):r,Xl(i,n))))),...e]}function Xl(e,t){let n=0,r=!0,i=e.properties.filter(a=>{if(!O.isPropertyAssignment(a)||!O.isIdentifier(a.name))return!0;let p=a.name.text,l=a.initializer,c=l.kind===O.SyntaxKind.TrueKeyword,d=l.kind===O.SyntaxKind.FalseKeyword;if(p==="attribute")return r=!1,n|=c?ue.ATTRIBUTE:0,!c&&!d;if(p==="reflect")return n|=c?ue.REFLECT:0,!1;if(p==="type"&&O.isIdentifier(l)){if(l.text==="Boolean")return n|=ue.BOOLEAN,!1;if(l.text==="Number")return n|=ue.NUMBER,!1}else{if(p==="state")return r=!1,n|=c?ue.STATE:0,!1;if(p==="readOnly")return n|=c?ue.READ_ONLY:0,!1;p==="noAccessor"&&(n|=c?ue.NO_ACCESSOR:0)}return!0});r&&(n|=ue.ATTRIBUTE);let o=t?i:e.properties,s=O.factory.createNumericLiteral(n);return o.length===0?s:O.factory.createArrayLiteralExpression([s,O.factory.createObjectLiteralExpression(o)])}import{identity as tc}from"@arcgis/components-utils";import B from"typescript";import $ from"typescript";function lo(e,t,n,r,i){let o=-1,s=-1,a=-1;t.options?.properties.forEach((m,u)=>{if($.isSpreadAssignment(m))throw new Error(`Spread property assignment is not allowed in @property() as that is not statically analyzable. Found ${m.getText(r)}`);if($.isIdentifier(m.name)){let f=m.name.text;f==="type"?o=u:f==="attribute"?s=u:f==="readOnly"&&(a=u)}});let p=i?.attribute===void 0&&s===-1,l=i?.readonly===!0&&i.docsOnlyReadonly!==!0&&a===-1,c=Ql(e,t,n,i,o),d=[...p?[$.factory.createPropertyAssignment("attribute",$.factory.createFalse())]:[],...l?[$.factory.createPropertyAssignment("readOnly",$.factory.createTrue())]:[],...c!==void 0?[c]:[]];return d.length>0?t.options===void 0?$.factory.createObjectLiteralExpression(d,!1):$.factory.updateObjectLiteralExpression(t.options,[...t.options.properties,...d]):t.options}function Ql(e,t,n,r,i){if(r?.attribute===void 0)return;let o=Zl(e),s=n.compiler.viteCommand==="serve"||o!=="Other"?o:Yl(r.type.values);return s==="Other"||r.readonly&&(s!=="Boolean"||!r.reflects)||t.options?.properties[i]!==void 0?void 0:$.factory.createPropertyAssignment($.factory.createIdentifier("type"),$.factory.createIdentifier(s))}function Yl(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 Zl(e){let t=e.type??($.isSetAccessor(e)?e.parameters[0].type:void 0);if(t===void 0){if("initializer"in e&&e.initializer!==void 0){if($.isNumericLiteral(e.initializer)||$.isPrefixUnaryExpression(e.initializer)&&e.initializer.operator===$.SyntaxKind.MinusToken&&$.isNumericLiteral(e.initializer.operand))return"Number";if(e.initializer.kind===$.SyntaxKind.FalseKeyword||e.initializer.kind===$.SyntaxKind.TrueKeyword)return"Boolean"}}else{if(t.kind===$.SyntaxKind.NumberKeyword)return"Number";if(t.kind===$.SyntaxKind.BooleanKeyword)return"Boolean"}return"Other"}import{getMemberName as uo}from"@arcgis/api-extractor";function fo(e,t,n,r,i){if(t.modifiers===void 0)return t;let o=-1,s=-1;if(t.modifiers.forEach((a,p)=>{if(B.isDecorator(a)&&B.isCallExpression(a.expression)&&B.isIdentifier(a.expression.expression)){let l=a.expression.expression.text;l==="property"&&(o=p),l==="state"&&(s=p)}}),o!==-1){let a=ec(e,t,n,r),p=co(t,o,r),l=lo(t,p,e,r,a),c=!1;return i!==void 0&&a&&(i.set(a.name,l??B.factory.createObjectLiteralExpression()),c=!0),p.options=l,mo(t,p,o,c)}else if(s!==-1&&i!==void 0){let a=co(t,s,r),p=B.factory.createPropertyAssignment("state",B.factory.createTrue()),l=a.options===void 0?B.factory.createObjectLiteralExpression([p]):B.factory.updateObjectLiteralExpression(a.options,[...a.options.properties,p]),c=uo(t.name);if(c===void 0)throw new Error("Failed to statically determine the state property name");return i.set(c,l),mo(t,a,s,!0)}else return t}function ec(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=fr(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=uo(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 co(e,t,n){let r=e.modifiers[t],i=r.expression,o=i.arguments.at(0);if(o&&!B.isObjectLiteralExpression(o))throw new Error(`First argument to @property() or @state() decorator must be an object literal as otherwise it is not statically analyzable. Found ${o.getText(n)}`);return{decorator:r,callExpression:i,options:o}}function mo(e,t,n,r){let i=r?void 0:B.factory.updateDecorator(t.decorator,B.factory.updateCallExpression(t.callExpression,t.callExpression.expression,t.callExpression.typeArguments,t.options===void 0?[]:[t.options])),o=[...e.modifiers.slice(0,n),...i===void 0?[]:[i],...e.modifiers.slice(n+1)];return B.isGetAccessorDeclaration(e)?B.factory.updateGetAccessorDeclaration(e,o,e.name,e.parameters,e.type,e.body):B.isSetAccessorDeclaration(e)?B.factory.updateSetAccessorDeclaration(e,o,e.name,e.parameters,e.body):B.factory.updatePropertyDeclaration(e,o,e.name,e.questionToken??e.exclamationToken,e.type,e.initializer)}var yo=(e,t)=>{if(t.apiModule===void 0&&!t.compiler.isInTest)return e.statements;let n;function r(){n=new Map}let i=a=>po(a,n,t.compiler.shouldMinify),o=(a,p)=>rc(t,a,p,e,n);return e.statements.map(a=>go(o,a,t,r,i))};function go(e,t,n,r,i=tc){if(L.isClassDeclaration(t)&&t.heritageClauses?.some(s=>s.token===L.SyntaxKind.ExtendsKeyword)){let s=!1,a=t.name?.text;r?.();let p=i(t.members.map(c=>{let d=e(c,a);return s||=d!==c,d}));return s?L.factory.updateClassDeclaration(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,p):t}return n.compiler.isInTest?L.visitEachChild(t,s=>go(e,s,n,r,i),n.transformation):t}var nc=new Set(["connectedCallback","disconnectedCallback"]);function rc(e,t,n,r,i){if(L.isMethodDeclaration(t)){let o=t.modifiers?.filter(s=>!L.isDecorator(s)||!ic(s));if(o?.length!==t.modifiers?.length)return L.factory.updateMethodDeclaration(t,o,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,t.body);if("text"in t.name&&nc.has(t.name.text)&&t.body){let s=t.name.text;return t.body.statements.some(p=>L.isExpressionStatement(p)&&L.isCallExpression(p.expression)&&L.isPropertyAccessExpression(p.expression.expression)&&p.expression.expression.expression.kind===L.SyntaxKind.SuperKeyword&&p.expression.expression.name.text===s)?t:L.factory.updateMethodDeclaration(t,t.modifiers,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,L.factory.updateBlock(t.body,[L.factory.createExpressionStatement(L.factory.createCallExpression(L.factory.createPropertyAccessExpression(L.factory.createSuper(),s),void 0,[])),...t.body.statements]))}}return L.isPropertyDeclaration(t)||L.isAccessor(t)?fo(e,t,n,r,i):t}var ic=e=>L.isCallExpression(e.expression)&&L.isIdentifier(e.expression.expression)&&e.expression.expression.text==="method";import{path as xo}from"@arcgis/components-build-utils";var ho="makeRuntime(";function Co(e,t){let n=e.indexOf(ho);if(n===-1)throw new Error("Failed to find makeRuntime() function call in src/runtime.ts");let r=n+ho.length,i=t.options.css?.commonStylesPath;return{code:[i===void 0?"":`import commonStyles from "${Z(t.dir.src,i)}";`,e.slice(0,r),"{","defaultAssetPath:import.meta.env.BASE_URL,",'hydratedAttribute:"',t.options.css?.hydratedAttribute??ln,'",',i===void 0?"":"commonStyles","}",e.slice(r)].join(""),map:null}}var sc=[ao,cr,yo],To=e=>({name:"@arcgis/lumina:transformComponents",transform:{order:"pre",async handler(t,n){if(!n.endsWith(".tsx")){if(e.isInTest&&n.endsWith(".ts")&&We(n)&&t.includes("extends LitElement"))console.warn("It looks like you may be trying to define a component inside a test file. This is supported, but you must use the .tsx file extension for you test");else if(n===`${e.dir.src}runtime.ts`)return Co(t,e);return}let r=e.getSourceFile(n,t);await le;let o=oc.transform(r,[m=>()=>it(e,m,r,[...e.options.types?.sourceFileTransformers??[],...sc])]).transformed[0],s=e._compilerOptionsForPrinter,a=e._typeScriptPrinter,p=s.sourceMap?he.createSourceMapGenerator(e.typeScriptHost,xo.basename(n),"",xo.dirname(n),s):void 0,l=he.createTextWriter(he.getNewLineCharacter(s));a.writeFile(o,l,p);let c=l.getText(),d=p?.toJSON();return{code:c,map:d??null}}}});function bo(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 vo(e){let t=e.options.types?.tsconfigPath,n=t&&So.isAbsolute(t)?t:ac(t??"tsconfig.json");if(n===void 0)throw new Error(`Unable to find ${pc(String(t))} in ${process.cwd()}. Please make sure the file exists, or provide types.tsconfigPath option to useLumina()`);let r=V.readConfigFile(n,V.sys.readFile);if(r.error!==void 0)throw new Error(V.formatDiagnosticsWithColorAndContext([r.error],{getCanonicalFileName:cc,getCurrentDirectory:V.sys.getCurrentDirectory,getNewLine:()=>V.sys.newLine}));let i={...r.config,include:[],files:[],exclude:[]},o=V.parseJsonConfigFileContent(i,V.sys,So.dirname(n));e.typeScriptConfig=o.options,e.typeScriptConfigPath=n}function It(e){let t=e.target;if(t===void 0)throw new Error('TypeScript config must have a "target" property specified (or any parent tsconfig.json file if this config is extending another tsconfig.json)');let n=V.ScriptTarget[t].toLowerCase();return n==="latest"?"esnext":n}function Eo(e,t){if(e.isInStorybook&&e.viteCommand==="serve"){let n=(s,a,p,...l)=>{let c=s.filter(d=>(!d.includes(".stories.")||d.endsWith(".tsx"))&&!We(d));return e.typeScriptHost=p,V.createAbstractBuilder(c,a,p,...l)},r=V.createWatchCompilerHost(e.typeScriptConfigPath,{preserveWatchOutput:!0},V.sys,n),i=50,o=r.setTimeout;r.setTimeout=o===void 0?void 0:(s,a,...p)=>o(s,p[0]==="timerToUpdateProgram"?i:a,...p),r.afterProgramCreate=s=>{e.typeScriptProgram=s.getProgram(),e.typeScriptTypeChecker=e.typeScriptProgram.getTypeChecker(),e._typeScriptReload?.resolve(),e._typeScriptReload=new lc},e.typeScriptWatchProgram=V.createWatchProgram(r),e.typeScriptConfig=e.typeScriptProgram.getCompilerOptions()}e.typeScriptConfig.sourceMap=t,e._compilerOptionsForPrinter=bo(e),e._typeScriptPrinter=lt(e._compilerOptionsForPrinter)}import{writeFile as yc}from"node:fs/promises";import{asyncRetrievePackageJson as dc,fetchPackageLocation as mc,retrievePackageJson as uc}from"@arcgis/components-build-utils";var Bn="@arcgis/core",wo=uc(),Y=Bn in(wo.dependencies??{})||Bn in(wo.peerDependencies??{});async function Ao(e,t){if(!Y)return[];let n=await mc(Bn);if(t==="storybookBuild"){let r=await dc(n),i=ee({name:"",version:r.version},!0);return[{tag:"script",attrs:{type:"importmap"},children:JSON.stringify({imports:{"@arcgis/core/":`${i}@arcgis/core/`}})},Po(i)]}else return[Po(Fe(e,`${n}/assets/`))]}var Po=e=>({cssHref:`${e}esri/themes/light/main.css`,id:"arcgisCoreStylesheet"});var Wn=new Set(["chunks","components","docs","types","controllers","cjs","esm","loader","utils","collection","extras","support"]),Re="cdn";function Do(e){let{skip:t=!1,namespace:n=Re,esbuildOptions:r={}}=e.options.build?.cdn??{};if(n.toLowerCase()!==n)throw new Error(`Expected CDN namespace to be all lowercase. Received: ${n}`);if(Wn.has(n))throw new Error(`Namespace name "${n}" is restricted as it collides with a well-known Lumina dist/ folder name or Stencil dist/ folder name.`);let i=n===Re?"index":n;if(e.provideAssets([{type:"dynamic",source:()=>oi(e),destination:`../${i}.css`}]),!t)return{name:"@arcgis/lumina:buildCdn",async writeBundle(){if(e.isInStorybook)return;let o=Date.now(),s=await gc(e,i,r);await hc(s,e.dir.distCdn,i);let a=Date.now();console.log(`CDN was built in ${a-o}ms`)}}}async function gc(e,t,n){let r=e.environment;if(n.minify&&Y)throw Error("Unminified CDN build is not yet supported - open a feature request with Lumina maintainers if it is needed");if(n.sourcemap&&Y)throw Error("Source maps in the CDN build are not yet supported - open a feature request with Lumina maintainers if it is needed");return await fc({bundle:!0,minify:Y?!0:r==="production",treeShaking:!0,sourcemap:Y?!1:r==="development"?"inline":e.options.build?.enableSourceMapsInProduction?"linked":!1,format:"esm",splitting:!0,write:!1,outdir:e.dir.distCdn,legalComments:"external",logLevel:"warning",external:["@arcgis/core"],chunkNames:"[hash]",resolveExtensions:[".js",".json"],entryNames:No(t),banner:{js:e.banner},target:It(e.typeScriptConfig),...n,plugins:[...e.options.build?.ssr?.stencilCompatibility?.enabled===!0?[{name:"@arcgis/lumina:drop-lit-ssr-import",setup(i){i.onResolve({filter:/^@lit-labs\/ssr-client\//u},o=>({path:o.path,namespace:"@arcgis/lumina:drop-lit-ssr-import"})),i.onLoad({filter:/^/u,namespace:"@arcgis/lumina:drop-lit-ssr-import"},()=>({contents:'""',loader:"json"}))}}]:[],...n?.plugins??[]],stdin:{contents:`import { defineCustomElements } from "./loader";
|
|
53
|
+
${cn(e._globalCssString,e)}
|
|
54
54
|
/**
|
|
55
55
|
* We use import.meta.url to get the path to the current file
|
|
56
56
|
* and pass it to defineCustomElements to set the resources url.
|
|
57
57
|
* The script's file name will be stripped inside defineCustomElements.
|
|
58
58
|
**/
|
|
59
|
-
defineCustomElements({resourcesUrl: import.meta.url});`,sourcefile:`${t}-entry.js`,resolveDir:"dist",loader:"js",...n.stdin}})}async function
|
|
60
|
-
`);
|
|
61
|
-
`);if("
|
|
59
|
+
defineCustomElements({resourcesUrl: import.meta.url});`,sourcefile:`${t}-entry.js`,resolveDir:"dist",loader:"js",...n.stdin}})}async function hc(e,t,n){let r=`${No(n)}.js`,i=new Map(e.outputFiles.map(o=>{let s={code:o.text,isAsync:void 0},a=o.path.slice(t.length);return a===r&&Y&&(s.code=`${s.code.trimEnd()}${Cc}`,s.isAsync=!1),[a,s]}));Y&&i.entries().forEach(([o,s])=>{s.isAsync===void 0&&(o.endsWith(".js")?Fo(s,i):s.isAsync=!1)}),await Promise.all(i.entries().map(async([o,{code:s}])=>await yc(t+o,s)))}var Cc='{window.$arcgis||Object.defineProperty(window,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{},});var a=$arcgis;a.t=(c,...x)=>Promise.all(x.map(x=>x.then?x:(!a?.forceESM&&a?.import||(x=>import(x+".js").then(m=>m.default??m)))("@arcgis/core/"+x))).then(c)}';function Fo(e,t){let n=[],r=[],i=[],o=Math.max(0,e.code.startsWith("/*")?e.code.indexOf(`*/
|
|
60
|
+
`)+3:0);Nt.lastIndex=o;let s,a=0;for(;(s=Nt.exec(e.code))!==null;){let[P,I,W,q,ve]=s;if(a=Nt.lastIndex,ve.startsWith($t))i.push([s.index,P.length,""]),r.push({clause:I?.replaceAll(" as ",":")??W??q??"",specifier:Io(ve.slice($t.length))});else{let js=ko(ve,t);if(Nt.lastIndex=a,js){let Vt=Lt(n.length);if(n.push(Vt),I!==void 0)i.push([s.index+7,0,`${Ye} as ${Vt},`]);else if(W===void 0&&q===void 0)i.push([s.index+6,0,`{${Ye} as ${Vt}}from`]);else throw Error(`Expected local import specifiers to use only named or side-effect import syntax. Found ${P}`)}}}if(e.isAsync=i.length>0,!e.isAsync)return;let p=e.code.slice(0,a);p=i.reduceRight((P,[I,W,q])=>P.slice(0,I)+q+P.slice(I+W),p);let l=[],c=xc.exec(e.code),d=c?.index??e.code.length;if(c!==null){let[P,I]=c;l=I.split(",").map(W=>W.split(" as "))}let m=[...l.map((P,I)=>Lt(n.length+I)),Ye],u=r.findLastIndex(({clause:P})=>P.length>0),f=r.slice(0,u+1).map(({clause:P})=>P).join(","),h=f.length===0?"_":`([${f}])`,y=`var ${m.join(",")}=$arcgis.t(${h}=>{`,T=l.map(([P],I)=>`${Lt(n.length+I)}=${P}`).join(";"),S=[...r.map(P=>`"${P.specifier}"`),...n].join(","),b=[Ye,...l.map(([P,I],W)=>`${Lt(n.length+W)} as ${I}`)].join(","),M=`${T}},${S})
|
|
61
|
+
export{${b}}`,j=e.code.slice(a,d);j=Tc(j,t);let Be=`${p}${y}${j}${M}`;e.code=Be}var Nt=/import(?:(\{[^}]+\})from|\*as (\w+) from| (\w+) from)?"([^"]+)";/uy,xc=/export\{([^}]+)\};\n$/u,$t="@arcgis/core/",Lt=e=>`_${e}`,Ye="$$";function ko(e,t){if(!e.startsWith("./"))return!1;let n=e.slice(2),r=t.get(n);if(r===void 0)throw Error(`Failed to find the ${e} module`);if(r.isAsync===void 0&&Fo(r,t),r.isAsync===void 0)throw Error(`Failed to infer whether the ${e} module has top-level await`);return r.isAsync}function Tc(e,t){return e.replaceAll(bc,(n,r)=>r.startsWith($t)?`$arcgis.t(_=>_[0],"${Io(r.slice($t.length))}")`:r.startsWith("./")&&ko(r,t)?`${n}.then(m=>m.${Ye}.then(_=>m))`:n)}var bc=/(?<![.\w\d])import\("([^"]+)"\)/gu,Io=e=>e.endsWith(".js")?e.slice(0,-3):e;function No(e){return`${e}.esm`}async function Ro(e,t,n,r){let i=await wc(t),{hasCss:o,cdnName:s}=await Kn(Hn.join(i,"dist"))??{};if(n==="storybookBuild"){let c=await Ec(i),d=ee(c,!0);return[...o?[{tag:"link",attrs:{rel:"stylesheet",src:`${d}${s}.css`}}]:[],{tag:"script",attrs:{type:"module",src:`${d}${s}.esm.js`}}]}let a=`${t}/dist/${s}/${s}.css${K}`,p=o?[`import styles$${r} from "${a}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$${r}.styleSheet];`]:[],l=`${t}/dist/esm/loader.js`;return[{optimizableImports:[l],javascriptCode:[...p,`import { defineCustomElements as defineCustomElements$${r} } from "${l}";`,`defineCustomElements$${r}(globalThis.window, {`,` resourcesUrl: "${Fe(e,i)}/dist/${s}/",`,"});"]}]}async function Kn(e){let n=(await vc(e)).filter(i=>!Wn.has(i)&&!i.includes(".")),r=n.find(i=>i.startsWith("arcgis-"));return r===void 0?await Promise.all(n.map(async i=>await $o(e,i))).then(i=>i.find(Sc)):await $o(e,r)}async function $o(e,t){let n=Hn.join(e,t,`${t}.css`),r=Hn.join(e,t,"assets"),[i,o]=await Promise.all([Lo(n),Lo(r)]);return i||o?{hasCss:i,cdnName:t}:void 0}import{path as Dc}from"@arcgis/components-build-utils";async function Mo(e,t,n,r){let i=await Ac(t),o=await Kn(Dc.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 Pc(i);return{tag:"script",attrs:{type:"module",src:`${ee(d,!0)}${s}.esm.js`}}}let p=`${t}/${s}/${s}.css${K}`,l=a?[`import styles$${r} from "${p}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$${r}.styleSheet];`]:[],c=`${t}/loader`;return{optimizableImports:[c,p],javascriptCode:[...l,`import { defineCustomElements as defineCustomElements$${r} } from "${c}";`,`defineCustomElements$${r}({`,` resourcesUrl: "${Fe(e,i)}/dist/${s}/",`,"});"]}}import{path as Fc}from"@arcgis/components-build-utils";async function Se(e){return e._loadersCache??=kc(e),await e._loadersCache}async function kc(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 Ro(n,p.packageName,t,l):p.type==="@arcgis/lumina"?await Mo(n,p.packageName,t,l):void 0))).filter(Jo).flat(),i=await Promise.all([le.then(r),Un(e).then(r),Ao(n,t)]),o=Fc.join(e.dir.src,"loader.ts");return[...e.viteCommand==="serve"?[_n]:[],...i.flat(),{optimizableImports:[],javascriptCode:[`import { defineCustomElements } from "${o}";`,"window.devOnly$ownTagNames = new Set();",`defineCustomElements(${t==="storybookBuild"?`{resourcesUrl:"./${e.options.build?.cdn?.namespace??Re}/"}`:""});`]}]}var _n={optimizableImports:[],javascriptCode:["globalThis.litIssuedWarnings ??= new Set();","globalThis.litIssuedWarnings.add(",'"Lit is in dev mode. Not recommended for production! See https://lit.dev/msg/dev-mode for more information.",',");"]};async function Un(e){let t=e.options?.serve?.extraDependencies??[];return t.length===0?[]:(e._serveOnlyDependencies??=Promise.all(t.map(async n=>await bn(n))).then(n=>n.filter(Jo)),await e._serveOnlyDependencies)}var Vn="/@arcgis/lumina-compiler/testLitSetupFile",zn="/@arcgis/lumina-compiler/testSetupFile",Rt=[Vn,zn],Oo=_n.javascriptCode.join(`
|
|
62
|
+
`);async function Bo(e){if(!e.viteConfig.test?.browser?.enabled)return jo(e);let n=(await Se(e)).map((r,i)=>{if("javascriptCode"in r)return r.javascriptCode.join(`
|
|
63
|
+
`);if("cssHref"in r)return[`import styles$t${i} from "${r.cssHref}${K}";`,`document.adoptedStyleSheets = [...document.adoptedStyleSheets, styles$t${i}.styleSheet];`].join(`
|
|
62
64
|
`);throw new Error(`Unexpected loader type for the browser test environment: ${JSON.stringify(r)}`)}).join(`
|
|
63
65
|
|
|
64
|
-
`);return[
|
|
66
|
+
`);return[jo(e),n].join("")}var jo=e=>[e.isInPuppeteerTestBackEnd?Ic:"",Nc].join(""),Ic=`import { setupPuppeteerTest } from "@arcgis/lumina-compiler/puppeteerTesting";
|
|
65
67
|
setupPuppeteerTest();
|
|
66
|
-
`,
|
|
68
|
+
`,Nc=`import { setupLuminaTest } from "@arcgis/lumina-compiler/testing";
|
|
67
69
|
setupLuminaTest();
|
|
68
|
-
`;function
|
|
70
|
+
`;function Wo(e){let t=!0,n=!1,r,i,o,s,a,p="@arcgis/lumina:generateVirtualFiles",l={name:p,configResolved(){s=Mt.join(e.dir.root,"src","loader.ts"),a=Rc(s)},resolveId:f=>f===s||f===a?s:void 0,async load(f){let h=f.startsWith(Vn),y=f.startsWith(zn);if(!(!f.endsWith(".tsx")&&f!==s&&!h&&!y)){if(i===void 0&&!e.isInPuppeteerTestBackEnd){o===void 0&&clearTimeout(r),o??=gi(e,t).catch(S=>{throw n=!0,S}),t=!1;let T=await o;i??=T}return f===s?si(e):h?Oo:y?await Bo(e):void 0}},async writeBundle(){e.isInStorybook||await $c(Mt.join(e.dir.dist,"loader.d.ts"),ai)},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 Lc(y,"utf8")).catch(console.error)}),f.watcher.on("add",h),f.watcher.on("unlink",h),f.watcher.on("addDir",y=>y.startsWith(e.dir.srcComponents)?void we(e,e.dir.srcComponents,y).then(T=>T.length>0?d():void 0):void 0),f.watcher.on("unlinkDir",y=>{e.componentFiles.some(S=>S.startsWith(y))&&d()});function h(y){se(y,e.dir.srcComponents)&&d()}f.watcher.on("change",()=>{if(!n)return;n=!1,r=setTimeout(()=>d(!0),1e3)})},buildEnd(){e.typeScriptWatchProgram?.close()}};async function c(f,h){if(i===void 0)return!1;let y;if(e.isInStorybook){y=await h();let b=e.typeScriptProgram.getSourceFile(f);if(b===void 0)return;if(!(b.text===y)){let P;await Promise.race([e._typeScriptReload.promise,new Promise(I=>{P=setTimeout(()=>{console.log("Timed out waiting for TypeScript to finish type-checking. This may be a bug"),I(void 0)},1e4)})]),clearTimeout(P)}}if(!se(f,e.dir.srcComponents))return;y??=await h();let S=hi(e,f,y);if(S===void 0)return!1;for(let b of S){let M=mn(b);e.server.ws.send({type:"custom",event:"component-meta-update",data:M})}return m(),!0}function d(f=!1){!f&&i===void 0||(i=void 0,o=void 0,m(),u())}function m(){let f=e.server.moduleGraph.getModuleById(s);f===void 0?(console.warn(`${p}: Failed to find HMR module for src/loader.ts`),e.server.moduleGraph.invalidateAll()):e.server.moduleGraph.invalidateModule(f)}let u=()=>e.server.ws.send({type:"full-reload",path:Mt.join("/",Mt.relative(e.dir.root,s))});return l}import Mc from"mime-types";import{copyFile as Jc,readFile as Ko,readdir as jc,mkdir as Gn,writeFile as _o}from"node:fs/promises";import{getCwd as Oc,path as A,toPosixPathSeparators as qn,toSystemPathSeparators as Bc}from"@arcgis/components-build-utils";import{isPosix as Uo}from"@arcgis/components-build-utils";var Wc="@arcgis/lumina:provideAssets";function fe(e,t,n=jt){if(e.viteCommand!=="serve")throw new Error("serveAssets() is only available when Vite is running in serve mode");let r=e._serverConfigured,i=e.server.middlewares.stack.length;if(t.forEach(o=>{let s=Vo(o),a=qo(e.dir,zo(s)),p=Kc(e.viteConfig.base,a,e.dir.distCdn);e.server.middlewares.use(p,(l,c,d)=>{let m=_c(l.url),u=s.type==="directory"?A.resolve(s.source,m.slice(1)):s.source,f=A.join(a,m),h=n.find(y=>y.match(f,e));return(typeof u=="function"?Promise.resolve(u()):Ko(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",Mc.lookup(m)||"application/octet-stream"),c.write(T),c.end()}).catch(y=>{(s.type!=="directory"||process.env.DEBUG)&&console.error(Wc,`Error occurred when trying to serve a file in response to request for "${l.originalUrl??m}":`,y),d()}),!0})}),r){let o=e.server.middlewares.stack.splice(i);e.server.middlewares.stack.splice(0,0,...o)}}async function Jt(e,t,n=jt){await Promise.all(t.map(async r=>{let i=Vo(r),o=qo(e.dir,zo(i));if(i.type==="directory"){let s=A.resolve(i.source),p=(await jc(s,{recursive:!0,withFileTypes:!0})).filter(l=>l.isFile()).map(l=>{let c=A.resolve(l.parentPath,l.name),d=A.relative(s,c),m=A.join(o,d);return[c,m]});await Xn(p.map(([l,c])=>c)),await Promise.all(p.map(async([l,c])=>await Ho(l,c,n,e)))}else if(i.type==="file")await Gn(A.dirname(o),{recursive:!0}),await Ho(i.source,o,n,e);else if(i.type==="dynamic"){await Gn(A.dirname(o),{recursive:!0});let s=await Promise.resolve(i.source());await _o(o,s)}}))}var Vo=Uo?e=>e:e=>e.type==="dynamic"?{...e,destination:qn(e.destination)}:{...e,source:qn(e.source),destination:qn(e.destination)};async function Ho(e,t,n,r){let i=n.find(o=>o.match(t,r));if(i===void 0)await Jc(e,t);else{let o=await Ko(e,"utf8"),s=i.transform(o,t,r);await _o(t,s)}}function zo(e){if(e.type==="dynamic")return e.destination;if(e.source.endsWith(A.sep)){if(e.type==="file")throw new Error(`Unexpectedly tried to provide an asset with type "file", whose source looks like a directory: ${Bc(e.source)}. If source is meant to be a directory, change to "type":"directory". If source is a file, make sure source path does not end with / or \\`);return e.destination}return e.destination===""?A.basename(e.source):e.destination.endsWith(A.sep)?e.type==="directory"&&e.destination===A.sep?e.destination:A.join(e.destination,A.basename(e.source)):e.destination}function qo({dist:e,distCdnAssets:t},n){let r=Hc(n),i=A.join(t,r?A.relative(t,n):n),o=A.relative(e,i),s=Go(o);return A.join(e,s)}function Hc(e){if(e.startsWith(A.sep)){let t=Oc(),n=t.startsWith(A.sep)?t.split(A.sep)[1]??"":"";return e.startsWith(`/${n}/`)||e.startsWith("/Users/")}else return!!(!Uo&&A.isAbsolute(e))}function Kc(e,t,n){let r=Go(A.relative(n,t)),i=r.startsWith("/")?r.slice(1):r;return`${e}${i}`}var Go=e=>e.replaceAll("../",""),_c=(e="")=>e.split("?")[0].split("#")[0];async function Xn(e){let t=new Set(e.map(A.dirname));await Promise.all(Array.from(t,async n=>await Gn(n,{recursive:!0})))}var Uc={match:(e,t)=>t.environment==="production"&&e.endsWith(".json"),transform:e=>JSON.stringify(JSON.parse(e))},jt=[Uc];import{isNotUndefined as Vc}from"@arcgis/components-utils";import{existsAsync as Xo}from"@arcgis/components-build-utils";import{path as Ze}from"@arcgis/components-build-utils";function Qo(e){let t,n=()=>[...e.options.assets?.transformers??[],...jt];return{name:"@arcgis/lumina:handleStaticAssets",configResolved(){t=zc(e)},async configureServer(r){e.server=r,!e.isInPuppeteerTestBackEnd&&(fe(e,await t,n()),r.watcher.on("addDir",i=>{if(i.endsWith("assets")){let o=Ze.dirname(i);Ze.join(o,"/")===e.dir.root?fe(e,[Zo],n()):i.startsWith(e.dir.srcComponents)&&fe(e,[Yo(i,o)],n())}}))},async writeBundle(){await Jt(e,await t,n())}}}async function zc(e){let t=Xo("assets"),n=await e.componentFilesPromise,r=await Promise.all(n.map(async i=>{let o=Ze.dirname(i),s=Ze.join(o,"assets");return await Xo(s)?Yo(s,o):void 0}));return await t&&r.push(Zo),r.filter(Vc)}var Yo=(e,t)=>({type:"directory",source:e,destination:Ze.basename(t)}),Zo={type:"directory",source:"assets/",destination:""};import{path as Me}from"@arcgis/components-build-utils";import{mkdir as qc,writeFile as Ot}from"node:fs/promises";import{retrievePackageJson as Gc}from"@arcgis/components-build-utils";function es(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=Gc()?.name??e.options.build?.cdn?.namespace??Me.basename(e.dir.root),r=`${n}/hydrate`,i=Me.resolve(e.dir.root,t.path??"hydrate"),o="index.d.ts",s="index.js",a="index.mjs",p=Me.join(i,"index.d.ts"),l=Me.join(i,"index.js"),c=Me.join(i,"index.mjs"),d=Z(i,e.dir.dist),u=`${Array.from(new Set(e.apiJsonComponents.map(f=>`import "${d}/${f.importPath}";`))).join(`
|
|
69
71
|
`)}
|
|
70
|
-
export * from "@arcgis/lumina/stencilSsrCompatibility";`;await
|
|
71
|
-
`),
|
|
72
|
+
export * from "@arcgis/lumina/stencilSsrCompatibility";`;await qc(i,{recursive:!0}),await Promise.all([Ot(Me.join(i,"package.json"),`${JSON.stringify({name:r,description:`${n} component hydration app.`,type:"module",main:s,module:a,types:o,exports:{".":{types:`./${o}`,import:`./${a}`,require:`./${s}`}},dependencies:{"@arcgis/lumina":"*"}},null,2)}
|
|
73
|
+
`),Ot(p,u),Ot(l,u),Ot(c,u)])}}}var is=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(Qc)??[];if(!f)return;c||(c=u[0].slice(0,u[0].indexOf(f)+f.length).replaceAll(Yc,"").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=rs(u),h=e.dir.relativeDist;console.log([ns,h,Xc,"*"," ".repeat(c-`${h}*`.length-f.length),f,ts,l>0?` ${ns}\u2502 gzip: ${rs(l)}${ts}`:""].join(""))}}}}),ts="\x1B[22m\x1B[1m\x1B[22m",ns="\x1B[2m",Xc="\x1B[22m\x1B[36m",Qc=/\d+(?:,\d+)?\.\d{2} kB/gu,Yc=/\x1B\[\d+m/gu,Zc=new Intl.NumberFormat("en",{maximumFractionDigits:2,minimumFractionDigits:2}),rs=e=>`${Zc.format(e)} kB`;var os=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 Lr(e)},{loader:h,...y}=f,T=e.environment==="development"||e.isInTest?{"process.env.ESRI_INTERNAL":"true"}:void 0,S=!import.meta.url.includes("node_modules"),b={entries:Object.values(y),include:Array.from(kt).filter(j=>!j.startsWith("@arcgis")),exclude:S?["@arcgis/lumina","@arcgis/components-controllers","@arcgis/components-utils","@arcgis/core-adapter"]:void 0};typeof p.setupFiles=="string"?p.setupFiles=[...Rt,p.setupFiles]:Array.isArray(p.setupFiles)?p.setupFiles=[...Rt,...p.setupFiles]:p.setupFiles=[...Rt];let M={preprocessorOptions:{scss:{api:l?.preprocessorOptions?.scss?.api??"modern-compiler"}}};if(e.isInPuppeteerTestBackEnd){if(d?.enabled===!0)throw new Error("Can't enable both Vitest browser mode and Puppeteer testing at the same time");return{test:{puppeteerLaunchOptions:e.options.puppeteerTesting?.launchOptions,puppeteerWaitForChangesDelay:e.options.puppeteerTesting?.waitForChangesDelay,globalSetup:["@arcgis/lumina-compiler/puppeteerTesting/globalSetup"],runner:"@arcgis/lumina-compiler/puppeteerTesting/runner",include:c?void 0:["**/*.{e2e,spec}.?(c|m)[jt]s?(x)"],environment:m??"happy-dom",forceRerunTriggers:u===void 0?["**/*.{ts,tsx}"]:void 0},css:M,optimizeDeps:b,define:T}}return{server:{open:t?.open??!0},publicDir:n??!1,build:{cssMinify:r??(e.environment==="production"?!0:void 0),target:i??It(e.typeScriptConfig),sourcemap:o??(e.environment==="development"?"inline":e.options.build?.enableSourceMapsInProduction??!1),lib:{entry:f,formats:(s?s.formats:void 0)??["es"]},rollupOptions:{output:{chunkFileNames:(Array.isArray(a)?void 0:a.chunkFileNames)||"chunks/[name].js",banner:(Array.isArray(a)?void 0:a.banner)||e.banner,generatedCode:(Array.isArray(a)?void 0:a.generatedCode)??"es2015"}}},optimizeDeps:b,define:T,test:{include:c?void 0:[d?.enabled??!0?"**/*.e2e.?(c|m)[jt]s?(x)":"**/*.{test,spec}.?(c|m)[jt]s?(x)"],browser:{enabled:e.isInPuppeteerTestFrontEnd?!1:d?.enabled??!0,name:d?.name??"chromium",provider:d?.provider??ir}},css:M}}});var ss=e=>({name:"@arcgis/lumina:setAssetPath",apply:()=>e.viteCommand==="build",config:t=>({base:t.base??e.options.assets?.defaultPath??ee()})});import Yn from"typescript";import{path as ed,retrievePackageJson as td,toPosixPathSeparators as nd}from"@arcgis/components-build-utils";import{getPreamble as rd}from"@arcgis/components-utils";function as(e=td()){let t=e.version??"0.0.1";return rd(t)}var ps=e=>`/*! ${e} */`,k=e=>(t,n)=>{Object.defineProperty(t,n,{get(){throw new Error(`Tried to access '${String(n)}' before it was set. You can't access this property in global scope. However, it will be accessible by the time the following Vite plugin hook is called: ${e}`)},set(i){Object.defineProperty(this,n,{value:i,configurable:!0,writable:!0,enumerable:!0})},configurable:!0,enumerable:!0})};function Je(e){if(ed.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 nd(e)}var je={vsCodeHtml:"docs/vscode.html-custom-data.json",vsCodeCss:"docs/vscode.css-custom-data.json",webTypes:"docs/web-types.json",apiJson:"docs/api.json",stencilLikeDocsJson:"docs/docs.json"};import{existsAsync as id}from"@arcgis/components-build-utils";import{readFile as od}from"node:fs/promises";import{retrievePackageJson as ls}from"@arcgis/components-build-utils";import{path as sd}from"@arcgis/components-build-utils";import{writeFileSync as ad}from"node:fs";async function Bt(e,t,n,r,i=ls()){let o=pd(e,n,r,i),s=sd.join(t,"lumina.ts");if((await id(s)?await od(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 ad(s,o),!0}function pd(e,t,n,r=ls()){let i=e.filter(d=>d.type==="@arcgis/lumina").map(d=>`
|
|
72
74
|
/// <reference types="${d.packageName}/types/lumina" />`),o=e.filter(d=>d.type==="stencil"),s=o.map((d,m)=>`
|
|
73
75
|
import type { JSX as JSX$${m} } from "${d.packageName}/dist/types/components";`),a=o.length===0?"":`
|
|
74
76
|
|
|
75
77
|
declare module "@arcgis/lumina" {
|
|
76
78
|
interface ImportStencilElements extends ${o.map((d,m)=>`JSX$${m}.IntrinsicElements`).join(", ")} {}
|
|
77
|
-
}`,p=r.devDependencies??{},l=n==="preview"?"matchers":n==="webdriverio"?"webdriverio":"playwright";return[...
|
|
79
|
+
}`,p=r.devDependencies??{},l=n==="preview"?"matchers":n==="webdriverio"?"webdriverio":"playwright";return[...ld,t?cd:"",p.vitest?`
|
|
78
80
|
/// <reference types="vitest/config" />`:"",p["@vitest/browser"]?`
|
|
79
81
|
/// <reference types="@vitest/browser/jest-dom.d.ts" />`:"",p["@vitest/browser"]?`
|
|
80
82
|
/// <reference types="@vitest/browser/providers/${l}" />`:"",...i,...s,a,`
|
|
81
|
-
`].join("")}var
|
|
83
|
+
`].join("")}var ld=`/**
|
|
82
84
|
* This file is autogenerated by \`@arcgis/lumina-compiler\` - do not edit it manually.
|
|
83
85
|
* Manual edits will be overwritten.
|
|
84
86
|
*
|
|
@@ -87,19 +89,19 @@ declare module "@arcgis/lumina" {
|
|
|
87
89
|
*
|
|
88
90
|
* If you need to provide additional typings, create a separate file.
|
|
89
91
|
*/
|
|
90
|
-
/// <reference types="@arcgis/lumina/typings" />`,
|
|
91
|
-
/// <reference types="@arcgis/core/interfaces" />`;import
|
|
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
|
|
93
|
-
If build failed with TypeScript errors, try running the build again to check whether new lumina.ts resolves the errors.`);import{getCwd as
|
|
94
|
-
`).join("").trimStart()}export * from "./${
|
|
95
|
-
`)??""},complexType:{signature:t.signature??"()=>unknown",parameters:r,return:t.return?.type?.text??"void",references:
|
|
92
|
+
/// <reference types="@arcgis/lumina/typings" />`,cd=`
|
|
93
|
+
/// <reference types="@arcgis/core/interfaces" />`;import dd from"chalk";var cs="@arcgis/lumina:dependencySupport",Qn=(e,t)=>e.viteCommand==="serve"&&(!e.isInTest||!e.viteConfig.test?.browser?.enabled)||e.isInStorybook&&(t===void 0||t.path==="/iframe.html"),ds=e=>({name:cs,configResolved(){!e.isInTest&&!e.isInStorybook&&(e._updateLuminaTsPromise=md(e).catch(t=>console.error(`${cs}: Failed to update package's src/lumina.ts`,t)))},transformIndexHtml:{order:"pre",async handler(t,n){return Qn(e,n)?(await Se(e)).map(i=>"javascriptCode"in i?{tag:"script",attrs:{type:"module"},children:i.javascriptCode.join(`
|
|
94
|
+
`)}:"cssHref"in i?{tag:"link",attrs:{rel:"stylesheet",href:i.cssHref,id:i.id}}:i):void 0}},async buildStart(){if(e.viteCommand!=="serve")return;let n=(await Se(e)).flatMap(r=>{if("javascriptCode"in r)return r.optimizableImports;if("cssHref"in r)return[];throw new Error(`Unexpected loader type: ${JSON.stringify(r)}`)});e.viteConfig.optimizeDeps.include??=[],e.viteConfig.optimizeDeps.include.push(...n)},async buildEnd(){await e._updateLuminaTsPromise}});async function md(e){let n=(await Promise.all([le,Un(e)])).flat();if(!await Bt(n,e.dir.src,Y,e.viteConfig.test?.browser?.provider))return;let i=!1;function o(){i||console.warn(ud),i=!0}process.on("exit",()=>{o(),clearTimeout(a)});let a=setTimeout(o,2e3)}var ud=dd.greenBright(`lumina.ts has been updated (potentially because your dependencies changed). Please commit the updated file.
|
|
95
|
+
If build failed with TypeScript errors, try running the build again to check whether new lumina.ts resolves the errors.`);import{getCwd as fd,path as R}from"@arcgis/components-build-utils";var Wt="@arcgis/lumina:compilerContextPlugin",w=class{constructor(t){this.typeScriptProgram=void 0;this.typeScriptTypeChecker=void 0;this.typeScriptWatchProgram=void 0;this._typeScriptSourceFiles=new Map;this._typeScriptReload=void 0;this._plugin={name:Wt,enforce:"pre",apply:(t,n)=>(this._inferBuildSetup(n,t.define),!0),configResolved:{order:"pre",handler:t=>{this.viteConfig=t;let n=t.build.minify!==!1;this.shouldMinify=n&&this.viteCommand!=="serve",Object.hasOwn(this,"shouldMinifyJsx")||(this.shouldMinifyJsx=this.viteCommand!=="serve"||this.isInTest);let r=R.join(t.root,R.sep),i=R.join(r,"src",R.sep),o=R.join(i,"components",R.sep),s=R.join(R.resolve(r,t.build.outDir),R.sep),a=R.join(R.relative(r,s),R.sep),p=R.join(s,"components",R.sep),l=R.join(s,this.options.build?.cdn?.namespace??Re,R.sep),c=R.join(l,"assets",R.sep);if(this.dir={root:r,src:i,srcComponents:o,relativeDist:a,dist:s,distComponents:p,distCdn:l,distCdnAssets:c},t.root!==fd())throw new Error(`${Wt}: Vite's config.root is not equal process.cwd(). This is not officially supported by Lumina and may lead to unexpected behavior. If you need this to be supported, comment on https://devtopia.esri.com/WebGIS/arcgis-web-components/issues/2126 or contact Lumina maintainers.`);s===r?console.warn(`${Wt}: Vite output directory is set to the root directory. This can produce unexpected behavior. Please set the output directory to a subdirectory of the root directory (i.e dist/)`):a.startsWith("..")&&console.warn(`${Wt}: Vite output directory is outside the root directory. This is not officially supported by Lumina and may lead to unexpected behavior. Contact Lumina maintainers if you need this to be supported.`),this.isInStorybook=t.resolve.conditions.includes("storybook"),this.isFullApiExtraction=this.viteCommand==="build"||this.isInStorybook,this.hmrEnabled=this.viteCommand==="serve"&&!this.isInTest&&!!(t.server?.hmr??!0),Eo(this,t.build.sourcemap!==!1),Qn(this)&&Se(this).catch(console.error)}},configureServer:{order:"post",handler:()=>{this._serverConfigured=!0}}};this._localDefinedComponents=void 0;this._cssImports=new Map;this._cssDocs=void 0;this.isInCi=!!process.env.CI;this._declarationTextTransformers=[];this._serverConfigured=!1;this.assetsToProvide=[];this._globalCssString=void 0;this._loadersCache=void 0;this._serveOnlyDependencies=void 0;this._customElementDependencies={};this._htmlElementReferencesReplacer=void 0;this._typeDependencies=new Map;this._silencedRules=void 0;this._updateLuminaTsPromise=void 0;this.options=t;let n=t.documentation??{};this._documentationFileNames={apiJson:n.apiJsonFileName===!1?void 0:n.apiJsonFileName?Je(n.apiJsonFileName):je.apiJson,stencilLikeDocsJson:n.stencilLikeDocsJsonFileName===!1?void 0:n.stencilLikeDocsJsonFileName?Je(n.stencilLikeDocsJsonFileName):je.stencilLikeDocsJson,webTypes:n.jetBrains===!1?void 0:n.jetBrains?.webTypesFileName?Je(n.jetBrains.webTypesFileName):je.webTypes,vsCodeHtml:n.vsCode===!1?void 0:n.vsCode?.htmlFileName?Je(n.vsCode.htmlFileName):je.vsCodeHtml,vsCodeCss:n.vsCode===!1?void 0:n.vsCode?.cssFileName?Je(n.vsCode.cssFileName):je.vsCodeCss},gt().catch(console.error),this.componentFilesPromise=we(this,R.resolve("src/components")),vo(this);let r=t.build?.preamble??as();this.banner=ps(r)}_inferBuildSetup({command:t,mode:n},r){this.isInTest=process.env.NODE_ENV==="test",n==="production"||n==="development"?this.environment=n:n==="test"||n==="benchmark"?(this.environment="development",this.isInTest=!0):(console.warn(`${De}: Vite is running in unknown mode "${n}". Assuming development`),this.environment="development"),this.viteCommand=t;let i=r?.__IS_IN_PUPPETEER__===!0,o=this.viteCommand==="serve"&&this.isInTest&&this.options.puppeteerTesting?.enabled===!0;this.isInPuppeteerTestBackEnd=o&&!i,this.isInPuppeteerTestFrontEnd=o&&i,n==="production"&&(this._silencedRules=this.options.linting?.silence)}getSourceFile(t,n){let r=this.typeScriptProgram?.getSourceFile(t);if(r!==void 0){if(this.isInStorybook&&this.viteCommand==="serve")return r}else{if(this.viteCommand==="build"||this.isInStorybook)throw new Error(`Unable to find the TypeScript source file for ${t}`);{let o=this._typeScriptSourceFiles.get(t);o!==void 0&&o.text===n&&(r=o)}}return n!==r?.text&&(r=Yn.createSourceFile(t,n,r?.languageVersion??this.typeScriptConfig.target??Yn.ScriptTarget.Latest,!1,Yn.ScriptKind.TSX),this.viteCommand==="serve"&&this._typeScriptSourceFiles.set(t,r)),r}provideAssets(t,n,r){if(Array.isArray(this.assetsToProvide))this.assetsToProvide.push({assets:t,transformers:n,apply:r});else if(this.viteCommand==="serve")r==="serve"&&fe(this,t,n);else throw new Error("It is too late to call provideAssets() as Vite already wrote the bundle to disk. Please call provideAssets() before Vite's writeBundle()")}logLintError(t,n,r){let i=this._silencedRules?.[t]?.includes(n.slice(this.dir.root.length))!==!0;console.error(r),i&&(process.exitCode=1)}};D([k("buildStart() in build mode or load() serve mode")],w.prototype,"typeScriptHost",2),D([k("configResolved()")],w.prototype,"shouldMinify",2),D([k("configResolved()")],w.prototype,"shouldMinifyJsx",2),D([k("configResolved()")],w.prototype,"dir",2),D([k("load()")],w.prototype,"apiJson",2),D([k("load()")],w.prototype,"apiJsonComponents",2),D([k("load()")],w.prototype,"privateApiJson",2),D([k("load() when in build mode")],w.prototype,"_componentPathMapping",2),D([k("apply()")],w.prototype,"environment",2),D([k("apply()")],w.prototype,"isInTest",2),D([k("apply()")],w.prototype,"isInPuppeteerTestBackEnd",2),D([k("apply()")],w.prototype,"isInPuppeteerTestFrontEnd",2),D([k("configResolved()")],w.prototype,"isInStorybook",2),D([k("configResolved()")],w.prototype,"hmrEnabled",2),D([k("apply()")],w.prototype,"viteCommand",2),D([k("configResolved()")],w.prototype,"isFullApiExtraction",2),D([k("configResolved()")],w.prototype,"viteConfig",2),D([k("configResolved()")],w.prototype,"server",2),D([k("transform()")],w.prototype,"_globalHydratedCssString",2),D([k("config()")],w.prototype,"componentFiles",2),D([k("configResolved()")],w.prototype,"_compilerOptionsForPrinter",2),D([k("configResolved()")],w.prototype,"_typeScriptPrinter",2);import{path as ye,toSystemPathSeparators as yd}from"@arcgis/components-build-utils";import{writeFile as ms}from"node:fs/promises";var fs=e=>({name:"@arcgis/lumina:addNonLazyImports",apply:()=>e.viteCommand==="build",generateBundle(t,n){Object.entries(n).forEach(([r,i])=>{let o=ie(r,"components/",e);if(o!==r&&(i.fileName=o),i.type==="chunk"){let s=ye.dirname(ye.join(e.dir.dist,r)),a=o===r?s:ye.dirname(ye.join(e.dir.dist,o));i.code=Gt(i.code,e,a,s)}})},async writeBundle(){if(e.isInStorybook)return;let t=e._customElementDependencies,n=Object.entries(t),r=new Set(n.map(([o])=>o).filter(o=>se(o,e.dir.srcComponents)));n.forEach(([o,{referencedTagNames:s,referencedBy:a}])=>{if(r.has(o)||s.length===0)return;let p=ys(t,a,r);if(p.forEach(l=>{t[l].referencedTagNames.splice(0,0,...s)}),s.length>0&&p.length===0){let l=yd(o);throw new Error(`Unable to determine what files imported ${l}. This is necessary because this file referenced other web components (${s.join(", ")}), and so the compiler needs to know what component entrypoints these imports should be added to. Please double check if you are referencing ${l} in the code dynamically in the way that Lumina cannot detect, and report this issue to the Lumina maintainers.`)}});let i=n.flatMap(([o,{referencedTagNames:s}])=>{if(!r.has(o))return[];let a=ye.dirname(o),p=ie(a,e.dir.srcComponents,e),l=ye.relative(e.dir.src,p),c=s.map(u=>so(oo(e,u,o),l)).filter(u=>u!==`./${l}`).map(u=>u.startsWith(".")?`${u}/${us}`:u),m=`${Array.from(new Set(c),u=>`import "${u}";
|
|
96
|
+
`).join("").trimStart()}export * from "./${Ee}";`;return[ms(ye.join(e.dir.dist,l,us),m),ms(ye.join(e.dir.dist,l,gd),m)]});await Promise.all(i)}}),us="index.js",gd="index.d.ts",ys=(e,t,n,r=new Set)=>t.flatMap(i=>n.has(i)?[i]:r.has(i)?[]:(r.add(i),ys(e,e[i].referencedBy,n,r)));var hs=e=>({name:"@arcgis/lumina:handleDynamicAssets",configureServer(t){e.server=t,!e.isInPuppeteerTestBackEnd&&gs(e).forEach(({assets:n,transformers:r})=>fe(e,n,r))},async writeBundle(){await Promise.all(gs(e).map(async({assets:t,transformers:n})=>await Jt(e,t,n)))}});function gs(e){let t=[],n=e.assetsToProvide?.filter(r=>r.apply===void 0||r.apply===e.viteCommand)??[];return e.options.assets?.extra?.forEach(r=>{"type"in r?t.push(r):"assets"in r&&t.push(...r.assets)}),t.length>1&&n.push({assets:t}),e.assetsToProvide=void 0,n}import{readFile as hd}from"node:fs/promises";import{writeFileSync as Cd}from"node:fs";import{path as Zn}from"@arcgis/components-build-utils";var Cs="@arcgis/lumina:updatePackageJson",xs=e=>({name:Cs,apply:()=>e.viteCommand==="serve"&&e.environment==="development"&&!e.isInTest&&!e.isInCi,configResolved(){xd(e).catch(t=>console.error(`${Cs}: Failed to update package's package.json`,t))}});async function xd(e){let t=Zn.join(e.dir.root,"package.json"),n=JSON.parse(await hd(t,"utf-8")),r=Td(n,e);r&&Cd(t,JSON.stringify(r,null,2))}function Td(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 Ts}from"@arcgis/components-utils";import{path as bd}from"@arcgis/components-build-utils";import{globalPackageIdentifier as Sd}from"@arcgis/api-extractor";var bs=e=>({timestamp:e.apiJson.timestamp,compiler:e.apiJson.compiler,components:vd(e),typeLibrary:{}});function vd(e){let t=[];for(let n of e.apiJson.modules)for(let r of n.declarations)"customElement"in r&&t.push(Ed(r,n.path));return t}function Ed(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(wd).filter(Ts),methods:e.members.map(Pd).filter(Ts),events:e.events?.map(Ad)??[],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 wd(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:er(t.type.references)},mutable:!0,attr:"attribute"in t&&typeof t.attribute=="string"?t.attribute:void 0,reflectToAttr:"reflects"in t&&t.reflects===!0,docs:t.description??"",docsTags:[...t.docsTags??[],...r,...n],default:t.default??void 0,deprecation:typeof t.deprecated=="boolean"?t.deprecated?"":void 0:t.deprecated,values:t.type?.values??[],optional:!i,required:i}}var er=e=>Object.fromEntries(e?.map(t=>[t.name,{location:t.package===Sd?"global":t.package===void 0?"local":"import",path:typeof t.module=="string"&&typeof t.package=="string"?bd.join(t.package,t.module):t.module??t.package,id:"notImplemented"}])??[]);function Pd(e){if(e.kind!=="method")return;let t=e,n=e.inheritedFrom?[{name:"inheritedFrom",text:JSON.stringify(e.inheritedFrom)}]:[],r=t.parameters?.map(({name:i,type:o,description:s})=>({name:i,type:o?.text??"unknown",docs:s??""}))??[];return{name:e.name,returns:{type:t.return?.type?.text??"void",docs:t.docsTags?.filter(({name:i})=>i==="return"||i==="returns").map(({text:i})=>i).join(`
|
|
97
|
+
`)??""},complexType:{signature:t.signature??"()=>unknown",parameters:r,return:t.return?.type?.text??"void",references:er([...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 Ad(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:er(e.type.references)},cancelable:e.cancelable??!0,composed:e.composed??!0,docs:e.description??"",docsTags:[...e.docsTags??[],...t],deprecation:typeof e.deprecated=="boolean"?e.deprecated?"":void 0:e.deprecated}}import{path as nt}from"@arcgis/components-build-utils";import{writeFile as tr}from"node:fs/promises";import{retrievePackageJson as Rd}from"@arcgis/components-build-utils";var Ht=e=>e.flatMap(t=>t.cssProperties?.map(n=>({name:n.name,description:n.description||void 0}))??[]),Kt=e=>e.flatMap(t=>t.cssParts?.map(n=>({name:`::part(${n.name})`,description:n.description||void 0}))??[]),Ss=e=>e.attributes?.map(t=>({name:t.name??"",description:Oe(t.description,t.deprecated)||void 0,default:t.default,value:{type:Dd(t.type.values?.map(nn))}}))??[],Dd=e=>e?.length===1?e[0]:e,Oe=(e="",t=!1)=>t===!1?e:`**Deprecated**${typeof t=="string"?`: ${t}`:""}. ${e}`;import{isApiMethod as Fd}from"@arcgis/api-extractor";var et={slots:"Slots",events:"Events",cssProperties:"CSS Properties",cssParts:"CSS Parts",methods:"Methods"};function _t(e){let t=kd(e.slots),n=Id(e.events),r=Nd(e.cssProperties),i=Ld(e.cssParts),o=$d(e.members),s=Oe(e.description,e.deprecated).trim();return[...s?[`${s}
|
|
96
98
|
--`]:[],n,o,t,r,i].filter(Boolean).join(`
|
|
97
99
|
|
|
98
|
-
`)}var
|
|
100
|
+
`)}var tt=(e,t)=>t===void 0||t.length===0?"":`### ${e}
|
|
99
101
|
${t.join(`
|
|
100
|
-
`)}`,
|
|
102
|
+
`)}`,kd=e=>tt(et.slots,e?.map(t=>`- ${t.name?`**${t.name}**`:"_default_"} - ${t.description}`)),Id=e=>tt(et.events,e?.filter(t=>t.name!==null&&t.name!==void 0).map(t=>`- **${t.name}**${t.description?` - ${t.description}`:""}`)),Nd=(e=[])=>tt(et.cssProperties,e?.map(t=>`- **${t.name}** - ${t.description} ${t.default?`_(default: ${t.default})_}`:""}`)),Ld=e=>tt(et.cssParts,e?.map(t=>`- **${t.name}** - ${t.description}`)),$d=e=>tt(et.methods,e.filter(Fd).map(t=>[`- \`${t.name}${t.signature}\``,Oe(t.description,t.deprecated)].filter(Boolean).join(" - ")));import{isApiProperty as Md}from"@arcgis/api-extractor";function Es(e,t){let n=Jd(e),r=Ht(e),i=Kt(e),o=Rd();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 Jd=e=>e.map(t=>({name:t.tagName,description:_t(t),"doc-url":t.demos?.[0]?.url,attributes:Ss(t),slots:t.slots?.map(n=>({name:n.name,description:n.description})),events:vs(t),js:{properties:jd(t),events:vs(t)}})),jd=e=>e.members.filter(Md).map(t=>({name:t.name,description:t.description,type:t.type?.text}))??[],vs=e=>e.events?.map(t=>({name:t.name,type:t.type?.text,description:t.description}))??[];var ws=e=>e.map(t=>({name:t.tagName,description:_t(t),attributes:Od(t),references:t.demos?.map(n=>({name:n.description,url:n.url}))??[]})),Od=e=>e.attributes?.map(t=>({name:t.name,description:Oe(t.description,t.deprecated)||void 0,values:Bd(t)}))??[],Bd=e=>e.type.values?.map(t=>t.value??"").filter(Boolean).map(t=>({name:t}))??[];var Ps=e=>({$schema:"https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/main/docs/customData.schema.json",version:1.1,tags:ws(e)}),As=e=>({$schema:"https://raw.githubusercontent.com/microsoft/vscode-css-languageservice/main/docs/customData.schema.json",version:1.1,properties:Ht(e),pseudoElements:Kt(e)});import{isNotUndefined as Wd}from"@arcgis/components-utils";var Hd="@arcgis/lumina:generateDocs";function Ds(e){return e._documentationFileNames.stencilLikeDocsJson!==void 0&&e.provideAssets([{type:"dynamic",source:()=>JSON.stringify(bs(e),null,2),destination:nt.join("../..",e._documentationFileNames.stencilLikeDocsJson)}]),e._documentationFileNames.apiJson!==void 0&&e.provideAssets([{type:"dynamic",source:()=>JSON.stringify(e.apiJson,null,2),destination:nt.join("../..",e._documentationFileNames.apiJson)}]),{name:Hd,async writeBundle(){if(e.isInStorybook)return;let{jetBrains:t}=e.options.documentation??{},n=e._documentationFileNames,r=n.vsCodeHtml===void 0?void 0:nt.join(e.dir.dist,n.vsCodeHtml),i=n.vsCodeCss===void 0?void 0:nt.join(e.dir.dist,n.vsCodeCss),o=n.webTypes===void 0?void 0:nt.join(e.dir.dist,n.webTypes),s=[r,i,o].filter(Wd);if(s.length===0)return;await Xn(s);let a=[];if(r!==void 0){let p=JSON.stringify(Ps(e.apiJsonComponents),null,2);a.push(tr(r,p))}if(i!==void 0){let p=JSON.stringify(As(e.apiJsonComponents),null,2);a.push(tr(i,p))}if(o!==void 0){let p=Es(e.apiJsonComponents,typeof t=="object"?t:{});a.push(tr(o,JSON.stringify(p,null,2)))}await Promise.all(a)}}}var Fs=e=>`import type { h, EventHandler } from "@arcgis/lumina";
|
|
101
103
|
|
|
102
|
-
${e.map(
|
|
104
|
+
${e.map(Kd).join(`
|
|
103
105
|
|
|
104
106
|
`)}
|
|
105
107
|
|
|
@@ -110,15 +112,15 @@ ${e.map(({tagName:t,pascalCaseName:n})=>` "${t}": Lumina${n};`).join(`
|
|
|
110
112
|
`)}
|
|
111
113
|
}
|
|
112
114
|
}
|
|
113
|
-
}`;function
|
|
114
|
-
`,r.map(s=>` ${
|
|
115
|
-
`).join(""),"}",o].join("")}function
|
|
115
|
+
}`;function Kd({name:e,pascalCaseName:t,members:n,events:r=[]}){let[i,o]=me(e,n);return[`interface Lumina${t} extends ${i}h.JSX.HTMLAttributes<HTML${t}Element> {
|
|
116
|
+
`,r.map(s=>` ${Q(`on${s.name}`)}?: EventHandler<HTML${t}Element["${s.name}"]>;
|
|
117
|
+
`).join(""),"}",o].join("")}function ks(e){let t=` interface IntrinsicElements extends PreactJsx.IntrinsicElements {
|
|
116
118
|
${e.map(({pascalCaseName:n,tagName:r})=>` "${r}": Preact${n};`).join(`
|
|
117
119
|
`)}
|
|
118
120
|
}`;return`import { JSX as PreactJsx } from "preact";
|
|
119
121
|
import type { EventHandler } from "@arcgis/lumina";
|
|
120
122
|
|
|
121
|
-
${e.map(
|
|
123
|
+
${e.map(_d).join(`
|
|
122
124
|
|
|
123
125
|
`)}
|
|
124
126
|
|
|
@@ -129,13 +131,13 @@ ${t}
|
|
|
129
131
|
namespace h.JSX {
|
|
130
132
|
${t}
|
|
131
133
|
}
|
|
132
|
-
}`}function
|
|
133
|
-
`,r.map(s=>` ${
|
|
134
|
-
`).join(""),"}",o].join("")}function
|
|
134
|
+
}`}function _d({name:e,pascalCaseName:t,members:n,events:r=[]}){let[i,o]=me(e,n);return[`interface Preact${t} extends ${i}PreactJsx.HTMLAttributes<HTML${t}Element> {
|
|
135
|
+
`,r.map(s=>` ${Q(`on${s.name}`)}?: EventHandler<HTML${t}Element["${s.name}"]>;
|
|
136
|
+
`).join(""),"}",o].join("")}function Is(e){let t=e.map(({pascalCaseName:n,tagName:r})=>` "${r}": React${n};`).join(`
|
|
135
137
|
`);return`import type { HTMLProps } from 'react';
|
|
136
138
|
import type { EventHandler } from "@arcgis/lumina";
|
|
137
139
|
|
|
138
|
-
${e.map(
|
|
140
|
+
${e.map(Ud).join(`
|
|
139
141
|
|
|
140
142
|
`)}
|
|
141
143
|
|
|
@@ -159,12 +161,12 @@ declare module "react/jsx-dev-runtime" {
|
|
|
159
161
|
${t}
|
|
160
162
|
}
|
|
161
163
|
}
|
|
162
|
-
}`}function
|
|
163
|
-
`,r.map(s=>` ${
|
|
164
|
-
`).join(""),"}",o].join("")}var
|
|
164
|
+
}`}function Ud({name:e,pascalCaseName:t,members:n,events:r=[]}){let[i,o]=me(e,n);return[`interface React${t} extends ${i}HTMLProps<HTML${t}Element> {
|
|
165
|
+
`,r.map(s=>` ${Q(`on${s.name}`)}?: EventHandler<HTML${t}Element["${s.name}"]>;
|
|
166
|
+
`).join(""),"}",o].join("")}var Ns=e=>`import { JSXBase as StencilJsx } from "@stencil/core/internal";
|
|
165
167
|
import type { EventHandler } from "@arcgis/lumina";
|
|
166
168
|
|
|
167
|
-
${e.map(
|
|
169
|
+
${e.map(Vd).join(`
|
|
168
170
|
|
|
169
171
|
`)}
|
|
170
172
|
|
|
@@ -181,16 +183,16 @@ declare module "@stencil/core/internal/stencil-public-runtime" {
|
|
|
181
183
|
export namespace h.JSX {
|
|
182
184
|
interface IntrinsicElements extends ExposedElements {}
|
|
183
185
|
}
|
|
184
|
-
}`;function
|
|
185
|
-
`,r.map(s=>` ${
|
|
186
|
-
`).join(""),"}",o].join("")}import{mkdir as
|
|
186
|
+
}`;function Vd({name:e,pascalCaseName:t,members:n,events:r=[]}){let[i,o]=me(e,n);return[`interface Stencil${t} extends ${i}StencilJsx.HTMLAttributes<HTML${t}Element> {
|
|
187
|
+
`,r.map(s=>` ${Q(`on${s.name[0].toUpperCase()}${s.name.slice(1)}`)}?: EventHandler<HTML${t}Element["${s.name}"]>;
|
|
188
|
+
`).join(""),"}",o].join("")}import{mkdir as Xd,writeFile as $s}from"node:fs/promises";var Ls=(e,t,n)=>[n,t,zd(e),qd(e)].join(`
|
|
187
189
|
|
|
188
|
-
`),
|
|
190
|
+
`),zd=e=>e.filter(t=>(t.events?.length??0)>0).map(({pascalCaseName:t})=>`export interface ${t}CustomEvent<T> extends CustomEvent<T> {
|
|
189
191
|
detail: T;
|
|
190
192
|
target: HTML${t}Element;
|
|
191
193
|
currentTarget: HTML${t}Element;
|
|
192
194
|
}`).join(`
|
|
193
|
-
`),
|
|
195
|
+
`),qd=e=>`export { ToEvents, TargetedEvent } from "@arcgis/lumina";
|
|
194
196
|
|
|
195
197
|
declare global {
|
|
196
198
|
interface HTMLElementTagNameMap {
|
|
@@ -198,11 +200,11 @@ ${e.map(({pascalCaseName:t,tagName:n})=>` "${n}": HTML${t}Element;`).join(`
|
|
|
198
200
|
`)}
|
|
199
201
|
}
|
|
200
202
|
|
|
201
|
-
${e.map(
|
|
203
|
+
${e.map(Gd).join(`
|
|
202
204
|
`).split(`
|
|
203
205
|
`).map(t=>t.length>0?` ${t}`:t).join(`
|
|
204
206
|
`)}
|
|
205
|
-
}`;function
|
|
207
|
+
}`;function Gd({name:e,pascalCaseName:t,events:n=[]}){let r=n.length>0,i=`${t}CustomEvent`,o=`HTML${t}Element`;return[r?`interface ${o}EventMap {
|
|
206
208
|
${n.map(s=>` "${s.name}": ${e}["${s.name}"]["detail"];`).join(`
|
|
207
209
|
`)}
|
|
208
210
|
}
|
|
@@ -214,16 +216,16 @@ ${r?` addEventListener<K extends keyof ${o}EventMap>(type: K, listener: (this:
|
|
|
214
216
|
removeEventListener<K extends keyof ${o}EventMap>(type: K, listener: (this: ${o}, ev: ${i}<${o}EventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
215
217
|
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
216
218
|
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;`:""}
|
|
217
|
-
}`].join("")}import{path as
|
|
218
|
-
${t.replaceAll("./","../")}`,i=Object.entries({react:
|
|
219
|
-
${s}`));i.push(
|
|
219
|
+
}`].join("")}import{path as Ut}from"@arcgis/components-build-utils";function Rs(e){let t;return{name:"@arcgis/lumina:generateFrameworkTypes",generateBundle(){if(e.isInStorybook)return;t=zi(e);let n=Ut.join(e.dir.dist,"index.d.ts");e._declarationTextTransformers.push(r=>{let{filePath:i,content:o}=r;return i===n?{filePath:i,content:Ls(e.apiJsonComponents,o,t)}:r})},async writeBundle(){if(e.isInStorybook)return;let n=Ut.join(e.dir.dist,"types");await Xd(n);let r=`/// <reference types="../index.d.ts" />
|
|
220
|
+
${t.replaceAll("./","../")}`,i=Object.entries({react:Is(e.apiJsonComponents),preact:ks(e.apiJsonComponents),stencil:Ns(e.apiJsonComponents),lumina:Fs(e.apiJsonComponents)}).map(async([o,s])=>await $s(Ut.join(n,`${o}.d.ts`),`${r}
|
|
221
|
+
${s}`));i.push($s(Ut.join(n,"components.d.ts"),'export * from "./stencil";')),await Promise.all(i)}}}import{mkdir as Qd,writeFile as Yd}from"node:fs/promises";import{retrievePackageJson as Zd}from"@arcgis/components-build-utils";import{path as Ms}from"@arcgis/components-build-utils";import{capitalize as em}from"@arcgis/components-utils";function Js(e){return{name:"@arcgis/lumina:buildWrappers",apply:()=>e.viteCommand==="build"&&!!e.options.build?.wrappers?.length,async writeBundle(){e.isInStorybook||await Promise.all(e.options.build?.wrappers?.map(async t=>{t.type==="react18"&&await nm(e,t)})??[])}}}var tm=`
|
|
220
222
|
import React from "react";
|
|
221
223
|
import { createComponent } from "@lit/react";
|
|
222
224
|
import type { EventName } from "@lit/react";
|
|
223
225
|
import { makeReactWrapperFactory, getReactWrapperOptions } from "@arcgis/lumina";
|
|
224
226
|
|
|
225
227
|
const createWrapper = /*@__PURE__*/ makeReactWrapperFactory(React, createComponent) as typeof createComponent;
|
|
226
|
-
`;async function
|
|
228
|
+
`;async function nm(e,t){let{name:n}=Zd(),r=[];for(let s of e.apiJson.modules)for(let a of s.declarations)"customElement"in a&&r.push(rm(a));let i=[`/// <reference types="${n}" preserve="true" />`,tm,...r].join(""),o=Ms.resolve(t.proxiesFile);await Qd(Ms.dirname(o),{recursive:!0}),await Yd(o,i)}function rm(e){let t=e.events?.map(n=>` ${Q(`on${em(n.name)}`)}: "${n.name}" as EventName<HTML${e.pascalCaseName}Element["${n.name}"]>,`).join(`
|
|
227
229
|
`);return`
|
|
228
230
|
export const ${e.pascalCaseName} = /*@__PURE__*/ createWrapper(
|
|
229
231
|
getReactWrapperOptions(
|
|
@@ -233,4 +235,4 @@ ${t}
|
|
|
233
235
|
`:""}}
|
|
234
236
|
)
|
|
235
237
|
);
|
|
236
|
-
`}function
|
|
238
|
+
`}function om(e={}){let t=new w(e),n=[t._plugin,os(t),ss(t),xs(t),Pr(t),Wo(t),Rs(t),Ds(t),To(t),Zr(t),Qo(t),hs(t),fs(t),ds(t),rr(t),Do(t),es(t),Js(t),is(t)].filter(im);return n.context=t,n}var lT={initializeComponentDependencies:gt,updateLuminaTs:Bt,propertyToAttributeMappings:_,findDeclaredComponents:rt,nativeEvents:St,svgElements:Ie,mathMlElements:Ne,alwaysAttributes:Tt,nativeAlwaysAttributes:bt,htmlAlwaysAttributes:ze,isPropertyEscapeNeeded:be};export{Ue as LuminaApiExtractor,lT as exportsForCodemod,ee as inferCdnUrl,om as useLumina};
|