@arcgis/lumina-compiler 4.33.0-next.32 → 4.33.0-next.34

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
@@ -45,11 +45,11 @@ ${e.map(t=>` "/${t}",`).join(`
45
45
  document.body.append(${p});
46
46
  ${p}.componentOnReady().then(() => {
47
47
  console.log("${o.tagName} is ready to go!");
48
- });`}]});let l=[],c=this.context.options.documentation?.getComponentDocsUrl?.(i,r),d=this.context.options.documentation?.getComponentDemoUrl?.(i,r);typeof c=="string"&&l.push({description:"Docs",url:c}),typeof d=="string"&&l.push({description:"Demo",url:d}),l.length>0&&(o.demos=l),o.cssProperties.length===0&&(o.cssProperties=void 0),o.cssParts.length===0&&(o.cssParts=void 0),o.slots.length===0&&(o.slots=void 0),o.attributes.length===0&&(o.attributes=void 0),o.events.length===0&&(o.events=void 0),o.cssStates.length===0&&(o.cssStates=void 0)}return o}extractComponentMembers(n){let r=[],i=n.members.length,o,s=n.members[0],a,p=s?.name!==void 0?ci(s.name):void 0;for(let l=0;l<i;l++){if(o=s,s=n.members[l+1],a=p,p=s?.name!==void 0?ci(s.name):void 0,this.pairedSetter!==void 0){this.pairedSetter=void 0;continue}s!==void 0&&a===p&&(F.isGetAccessor(s)?(this.pairedSetter=o,o=s):F.isSetAccessor(s)&&(this.pairedSetter=s));let c=this.extractComponentMember(o,a);c!==void 0&&r.push(c)}return r}extractComponentMember(n,r){if(jp(n)||r===void 0){F.isPropertyDeclaration(n)&&F.isIdentifier(n.name)&&n.name.text==="shadowRootOptions"&&n.initializer!==void 0&&F.isIdentifier(n.initializer)&&n.initializer.text==="noShadowRoot"&&(this.apiComponent.encapsulation="none");return}return F.isPropertyDeclaration(n)||F.isGetAccessor(n)||F.isSetAccessor(n)?this.extractComponentField(n,r):F.isMethodDeclaration(n)?this.extractComponentMethod(n,r):void 0}extractComponentField(n,r){let i=this.findPropertyOptions(n);this.pairedSetter!==void 0&&(i??=this.findPropertyOptions(this.pairedSetter));let o=F.isPropertyDeclaration(n);if(i===void 0){if(o&&this.context.isFullApiExtraction){let c=this.extractComponentEvent(n,r);c!==void 0&&this.apiComponent.events.push(c)}return}let s,a=!1,p=!1;for(let c of i)!F.isPropertyAssignment(c)||!F.isIdentifier(c.name)||(c.name.text==="attribute"&&(F.isStringLiteral(c.initializer)?s=c.initializer.text:s=xe(c.initializer,this.file)),c.name.text==="reflect"&&xe(c.initializer,this.file)&&(a=!0),c.name.text==="readOnly"&&xe(c.initializer,this.file)&&(p=!0),(c.name.text==="type"||c.name.text==="converter")&&(s??=!0));let l={kind:"field",name:r,summary:void 0,description:void 0,type:{text:""},default:void 0,deprecated:void 0,readonly:p||(o?n.modifiers?.some(c=>c.kind===F.SyntaxKind.ReadonlyKeyword):F.isGetAccessor(n)&&this.pairedSetter===void 0)?!0:void 0,attribute:s===!1?void 0:typeof s=="string"?s:Op(r),reflects:a||void 0,docsTags:void 0,getterTypeDiffers:void 0,docsOnlyReadonly:void 0,inheritedFrom:void 0,privacy:void 0};return this.context.isFullApiExtraction&&(this.extractComponentFieldDetails(n,l),(s===void 0&&(l.type.values===void 0||!jr(l.type.values))||l.readonly&&!l.reflects)&&(l.attribute=void 0)),l}extractComponentEvent(n,r){return li(n,r,this.context,this.file)}extractComponentFieldDetails(n,r){let i=r.readonly===!0,o=this.context.typeScriptTypeChecker,s=o.getSymbolAtLocation(n.name),a=s===void 0?void 0:mt(o,s),p=new Set(a?.docsTags.map(h=>h.name)??[]);ae(n.name,this.context.typeScriptTypeChecker,r,a);let l=!i&&r.readonly===!0;if(this.context.viteCommand==="build"){let T=(F.isSetAccessor(n)?n.parameters[0]?.type:n.type)?.getText(this.file)?.match(Kp)??[];for(let S of T){let b=this.context._typeDependencies.get(this.apiComponent.tagName);b===void 0?this.context._typeDependencies.set(this.apiComponent.tagName,new Set([S])):b.add(S)}}let c=this.pairedSetter??n,d=r.docsTags?.some(h=>h.name==="required")??!1;r.type=Br(this.context,c,d,this.file);let m=r.default;di(n,r,this.file);let u=m===void 0&&r.default==="true";if("initializer"in n&&n.initializer!==void 0&&(!r.default||!r.description)){let h=n.initializer,y=o.getSymbolAtLocation(h),T=y!==void 0&&(y.flags??0)&F.SymbolFlags.Alias?o.getAliasedSymbol(y):y,S=T?.getDeclarations()??[];if(T!==void 0){let b=mt(o,T);if(b.docsTags.length>0){b.docsTags=b.docsTags.filter(j=>!p.has(j.name));let M=r.description;ae(n.name,o,r,b),b.docsTags.forEach(j=>{p.add(j.name)}),r.description=M??r.description}else r.description||=b.description}S.forEach(b=>{if(!("initializer"in b))return;let M=b;l||=M.modifiers?.some(j=>j.kind===F.SyntaxKind.ReadonlyKeyword)??!1,di(M,r,M.getSourceFile())})}if(l&&(r.readonly=!0,i||(r.docsOnlyReadonly=!0)),r.type.values&&r.type.values.length>0&&r.type.values?.every(h=>h.type==="boolean")&&(r.default?u&&this.context.viteCommand==="build"&&r.deprecated===void 0&&this.context.logLintError("booleanMustDefaultFalse",this.file.fileName,`Boolean properties must default to "false". Found default value "true" in ${this.apiComponent.name}.${r.name}`):r.default="false"),this.pairedSetter!==void 0&&!r.readonly){let h=this.pairedSetter.parameters.at(0)?.type?.getText(this.file),y=n.type?.getText(this.file);h!==y&&y!==void 0&&h!==void 0&&(r.getterTypeDiffers=!0)}}findPropertyOptions(n){let r=fn(n,"property");return r===void 0?void 0:r.arguments?.find(F.isObjectLiteralExpression)?.properties??[]}extractComponentMethod(n,r){if(fn(n,"method")===void 0)return;let i={kind:"method",name:r,summary:void 0,description:void 0,deprecated:void 0,parameters:[],return:void 0,inheritedFrom:void 0,docsTags:void 0,signature:"",async:pi(n)?!0:void 0,privacy:void 0};if(this.context.isFullApiExtraction){let o=this.context.typeScriptTypeChecker;ai(n,i,o,this.file,this.context.dir)}return i}inferAttributes(n){let r=[];for(let i of n){if(i.kind!=="field"||i.attribute===void 0||i.privacy!==void 0)continue;let o=i.type.values?.filter(s=>s.type==="number"||s.type==="string"||s.type==="boolean");r.push({name:i.attribute,summary:i.summary,description:i.description,inheritedFrom:i.inheritedFrom,type:o===void 0||o.length===0?i.type:{text:ct(o),references:void 0,values:o},default:i.default,fieldName:i.name,deprecated:i.deprecated})}return r}inferExport(n){if("customElement"in n)return this.inferCustomElementExport(n)}inferCustomElementExport(n){return{kind:"custom-element-definition",name:n.tagName,declaration:{name:n.name,module:this.apiModule.path}}}inheritMembers(n,r,i=n.superclass,o,s,a){let p=i.name;if(p===void 0||p===_e.name)return;let l=this._resolvedInheritance.get(p)??this.resolveInheritance(p,r)??(this.isPathOnly?this.resolveInheritance(p,this.context.privateApiJson.modules):void 0);if(l!==void 0){o??=new Set(n.members.map(c=>c.name));for(let c of l.members)o.has(c.name)||(n.members.push({...c,inheritedFrom:i}),o.add(c.name));if(l.attributes!==void 0){n.attributes??=[],s??=new Set(n.attributes.map(c=>c.name));for(let c of l.attributes)s.has(c.name)||(n.attributes.push({...c,inheritedFrom:i}),s.add(c.name))}if(l.events!==void 0){n.events??=[],a=new Set(n.events.map(c=>c.name));for(let c of l.events)a.has(c.name)||(n.events.push({...c,inheritedFrom:i}),a.add(c.name))}l.superclass.name!==_e.name&&this.inheritMembers(n,r,l.superclass,o,s,a),i.module=l.importPath}}resolveInheritance(n,r){for(let i of r)for(let o of i.declarations)if("customElement"in o&&n===o.name)return this._resolvedInheritance.set(n,o),o;this._resolvedInheritance.set(n,void 0)}},_e={name:"LitElement",package:"@arcgis/lumina"},gn=(e,t)=>e.name.localeCompare(t.name),Kp=/(?<=this.)[\w$]+/gu;import{readFile as Up}from"node:fs/promises";async function ui(e,t){t||(e.componentFilesPromise=we(e,e.dir.srcComponents));let n=await e.componentFilesPromise,r=await Gp(e,n);e._componentPathMapping={},e._localDefinedComponents=void 0;let i=yi(r,e,!1);e.privateApiJson=i;let[o,s]=gi(i);return e.apiJsonComponents=s,e.apiJson=o,i}function fi(e,t,n){let r=e.getSourceFile(t,n),i=yi([r],e,!0),o=i.modules[0];{let m=gi(i)[0].modules[0],u=e.apiJson.modules.findIndex(y=>y.path===m.path),f=e.apiJson.modules[u],h=Array.from(e.apiJson.modules);h.splice(u,1,m),e.apiJson={...e.apiJson,modules:h},e.apiJsonComponents=e.apiJsonComponents.filter(y=>!f.declarations.includes(y));for(let y of m.declarations)"customElement"in y&&e.apiJsonComponents.push(y)}let s=e.privateApiJson.modules.findIndex(m=>m.path===o.path),a=e.privateApiJson.modules[s],p=Array.from(e.privateApiJson.modules);p.splice(s,1,o),e.privateApiJson={...e.privateApiJson,modules:p};let l=!1,c=a.declarations.filter(m=>"customElement"in m),d=[];for(let m of o.declarations)if("customElement"in m){let f=c.find(h=>h.tagName===m.tagName)===void 0;l||=f,d.push(m)}return l||=d.length!==c.length,l?void 0:d}function yi(e,t,n){let r=t.options.apiJson?.Extractor??Ue,o=new r(t,n).extract(e);return t.options.apiJson?.afterCreate?.(o,n),o}function gi(e){let t={...e,modules:[]},n=[];for(let r of e.modules){let i={...r,declarations:[]};for(let o of r.declarations)if("customElement"in o&&o.privacy===void 0){let s={...o,members:o.members.filter(a=>a.privacy===void 0)};i.declarations.push(s),n.push(s)}i.declarations.length>0&&t.modules.push(i)}return[t,n]}function mi(e,t,n){e.members.forEach(r=>{if(r.kind==="field")ft(r.type,n,t);else if(ft(r.return?.type,n,t),r.parameters!==void 0)for(let i of r.parameters)ft(i.type,n,t)}),e.events?.forEach(r=>{ft(r.type,n,t)})}function ft(e,t,n){e!==void 0&&(e.references?.forEach(r=>Vp(r,t,n)),e.text=e.text.replaceAll(qp,(r,i)=>t.get(i)??r),e.values?.forEach(zp,t))}function Vp(e,t,n){e.package===void 0&&(e.module?.startsWith("dist/components/")===!0?e.module=ie(e.module,"dist/components/",n):e.module==="index.js"&&e.name&&(e.name=t.get(e.name)??e.name))}function zp(e){e.type.startsWith("ToElement<")&&(e.type=this.get(e.type.slice(10,-1))??e.type)}var qp=/ToElement<(\w+)>/gu;async function Gp(e,t){if(e.viteCommand==="serve"&&(Object.hasOwn(e,"typeScriptHost")||(e.typeScriptHost=_p.createCompilerHost(e.typeScriptConfig,!1))),e.typeScriptProgram!==void 0){let n=e.typeScriptProgram.getSourceFiles(),r=new Set(t);return n.filter(i=>r.has(i.fileName))}else return await Promise.all(t.map(async n=>{let r=await Up(n,"utf8");return e.getSourceFile(n,r)}))}import{readFile as Ic,writeFile as Nc}from"node:fs/promises";import{path as Mt,toSystemPathSeparators as Lc}from"@arcgis/components-build-utils";import{isNotUndefined as $o}from"@arcgis/components-utils";import{isNotUndefined as Xp}from"@arcgis/components-utils";import{existsAsync as hi}from"@arcgis/components-build-utils";import{readFile as hn,readdir as Qp}from"node:fs/promises";import{asyncRetrievePackageJson as Yp,fetchPackageLocation as Zp,retrievePackageJson as el,path as yt}from"@arcgis/components-build-utils";async function gt(e){return le??=tl(e),await le}function xi(){if(Cn===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return Cn}function ht(){if(xn===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return xn}async function tl(e){let t=el(e),n=t.dependencies??{},r=t.peerDependencies??{},o=(await Promise.all([...Object.keys(n),...Object.keys(r)].filter(s=>!nl.has(s)).flatMap(async s=>await Tn(s,e)))).filter(Xp);return Cn??=o,xn=Object.fromEntries(o.flatMap(s=>Object.entries(s.components))),o}var nl=new Set(["@arcgis/arcade-languageservice","@arcgis/components-controllers","@arcgis/components-build-utils","@arcgis/components-utils","@arcgis/core","@arcgis/core-adapter","@arcgis/languages-api-utils","@arcgis/languages-sdk-specs","@arcgis/lumina","@commander-js/extra-typings","@custom-elements-manifest/analyzer","@esri/calcite-ui-icons","@floating-ui/dom","@lit-labs/ssr","@lit-labs/ssr-client","@lit/react","@types/color","@types/sortablejs","color","composed-offset-position","custom-elements-manifest","dayjs","focus-trap","interactjs","lit","lodash-es","monaco-editor","sortablejs","storybook","timezone-groups","type-fest","tslib","typescript","vscode-languageserver-textdocument","vscode-languageserver-types"]),Cn,xn,le;async function Tn(e,t){let n=await Zp(e,t),r=await Yp(n),i="exports"in r,o=pl.bind(void 0,i),s="@stencil/core"in(r.dependencies??{})||"@stencil/core"in(r.devDependencies??{}),a=yt.join(n,"dist/esm/loader.js");if(s?await hi(a):!1){let u=await hn(a,"utf8"),f=rl(u,"bootstrapLazy("),h=u.indexOf(", options",f),y=u.slice(f,h),T=y.startsWith('JSON.parse("')?y.slice(12,-2).replaceAll('\\"','"'):y;try{let S=JSON.parse(T),b=sl(S,{packageName:e,getImportPath:o});return{packageName:e,type:"stencil",components:b}}catch(S){console.warn(`@arcgis/lumina: Failed to parse dist/esm/loader.js for ${e}.
48
+ });`}]});let l=[],c=this.context.options.documentation?.getComponentDocsUrl?.(i,r),d=this.context.options.documentation?.getComponentDemoUrl?.(i,r);typeof c=="string"&&l.push({description:"Docs",url:c}),typeof d=="string"&&l.push({description:"Demo",url:d}),l.length>0&&(o.demos=l),o.cssProperties.length===0&&(o.cssProperties=void 0),o.cssParts.length===0&&(o.cssParts=void 0),o.slots.length===0&&(o.slots=void 0),o.attributes.length===0&&(o.attributes=void 0),o.events.length===0&&(o.events=void 0),o.cssStates.length===0&&(o.cssStates=void 0)}return o}extractComponentMembers(n){let r=[],i=n.members.length,o,s=n.members[0],a,p=s?.name!==void 0?ci(s.name):void 0;for(let l=0;l<i;l++){if(o=s,s=n.members[l+1],a=p,p=s?.name!==void 0?ci(s.name):void 0,this.pairedSetter!==void 0){this.pairedSetter=void 0;continue}s!==void 0&&a===p&&(F.isGetAccessor(s)?(this.pairedSetter=o,o=s):F.isSetAccessor(s)&&(this.pairedSetter=s));let c=this.extractComponentMember(o,a);c!==void 0&&r.push(c)}return r}extractComponentMember(n,r){if(jp(n)||r===void 0){F.isPropertyDeclaration(n)&&F.isIdentifier(n.name)&&n.name.text==="shadowRootOptions"&&n.initializer!==void 0&&F.isIdentifier(n.initializer)&&n.initializer.text==="noShadowRoot"&&(this.apiComponent.encapsulation="none");return}return F.isPropertyDeclaration(n)||F.isGetAccessor(n)||F.isSetAccessor(n)?this.extractComponentField(n,r):F.isMethodDeclaration(n)?this.extractComponentMethod(n,r):void 0}extractComponentField(n,r){let i=this.findPropertyOptions(n);this.pairedSetter!==void 0&&(i??=this.findPropertyOptions(this.pairedSetter));let o=F.isPropertyDeclaration(n);if(i===void 0){if(o&&this.context.isFullApiExtraction){let c=this.extractComponentEvent(n,r);c!==void 0&&this.apiComponent.events.push(c)}return}let s,a=!1,p=!1;for(let c of i)!F.isPropertyAssignment(c)||!F.isIdentifier(c.name)||(c.name.text==="attribute"&&(F.isStringLiteral(c.initializer)?s=c.initializer.text:s=xe(c.initializer,this.file)),c.name.text==="reflect"&&xe(c.initializer,this.file)&&(a=!0),c.name.text==="readOnly"&&xe(c.initializer,this.file)&&(p=!0),(c.name.text==="type"||c.name.text==="converter")&&(s??=!0));let l={kind:"field",name:r,summary:void 0,description:void 0,type:{text:""},default:void 0,deprecated:void 0,readonly:p||(o?n.modifiers?.some(c=>c.kind===F.SyntaxKind.ReadonlyKeyword):F.isGetAccessor(n)&&this.pairedSetter===void 0)?!0:void 0,attribute:s===!1?void 0:typeof s=="string"?s:Op(r),reflects:a||void 0,docsTags:void 0,getterTypeDiffers:void 0,docsOnlyReadonly:void 0,inheritedFrom:void 0,privacy:void 0};return this.context.isFullApiExtraction&&(this.extractComponentFieldDetails(n,l),(s===void 0&&(l.type.values===void 0||!jr(l.type.values))||l.readonly&&!l.reflects)&&(l.attribute=void 0)),l}extractComponentEvent(n,r){return li(n,r,this.context,this.file)}extractComponentFieldDetails(n,r){let i=r.readonly===!0,o=this.context.typeScriptTypeChecker,s=o.getSymbolAtLocation(n.name),a=s===void 0?void 0:mt(o,s),p=new Set(a?.docsTags.map(h=>h.name)??[]);ae(n.name,this.context.typeScriptTypeChecker,r,a);let l=!i&&r.readonly===!0;if(this.context.viteCommand==="build"){let T=(F.isSetAccessor(n)?n.parameters[0]?.type:n.type)?.getText(this.file)?.match(Kp)??[];for(let S of T){let b=this.context._typeDependencies.get(this.apiComponent.tagName);b===void 0?this.context._typeDependencies.set(this.apiComponent.tagName,new Set([S])):b.add(S)}}let c=this.pairedSetter??n,d=r.docsTags?.some(h=>h.name==="required")??!1;r.type=Br(this.context,c,d,this.file);let m=r.default;di(n,r,this.file);let u=m===void 0&&r.default==="true";if("initializer"in n&&n.initializer!==void 0&&(!r.default||!r.description)){let h=n.initializer,y=o.getSymbolAtLocation(h),T=y!==void 0&&((y.flags??0)&F.SymbolFlags.Alias)!==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,di(M,r,M.getSourceFile())})}if(l&&(r.readonly=!0,i||(r.docsOnlyReadonly=!0)),r.type.values&&r.type.values.length>0&&r.type.values?.every(h=>h.type==="boolean")&&(r.default?u&&this.context.viteCommand==="build"&&r.deprecated===void 0&&this.context.logLintError("booleanMustDefaultFalse",this.file.fileName,`Boolean properties must default to "false". Found default value "true" in ${this.apiComponent.name}.${r.name}`):r.default="false"),this.pairedSetter!==void 0&&!r.readonly){let h=this.pairedSetter.parameters.at(0)?.type?.getText(this.file),y=n.type?.getText(this.file);h!==y&&y!==void 0&&h!==void 0&&(r.getterTypeDiffers=!0)}}findPropertyOptions(n){let r=fn(n,"property");return r===void 0?void 0:r.arguments?.find(F.isObjectLiteralExpression)?.properties??[]}extractComponentMethod(n,r){if(fn(n,"method")===void 0)return;let i={kind:"method",name:r,summary:void 0,description:void 0,deprecated:void 0,parameters:[],return:void 0,inheritedFrom:void 0,docsTags:void 0,signature:"",async:pi(n)?!0:void 0,privacy:void 0};if(this.context.isFullApiExtraction){let o=this.context.typeScriptTypeChecker;ai(n,i,o,this.file,this.context.dir)}return i}inferAttributes(n){let r=[];for(let i of n){if(i.kind!=="field"||i.attribute===void 0||i.privacy!==void 0)continue;let o=i.type.values?.filter(s=>s.type==="number"||s.type==="string"||s.type==="boolean");r.push({name:i.attribute,summary:i.summary,description:i.description,inheritedFrom:i.inheritedFrom,type:o===void 0||o.length===0?i.type:{text:ct(o),references:void 0,values:o},default:i.default,fieldName:i.name,deprecated:i.deprecated})}return r}inferExport(n){if("customElement"in n)return this.inferCustomElementExport(n)}inferCustomElementExport(n){return{kind:"custom-element-definition",name:n.tagName,declaration:{name:n.name,module:this.apiModule.path}}}inheritMembers(n,r,i=n.superclass,o,s,a){let p=i.name;if(p===void 0||p===_e.name)return;let l=this._resolvedInheritance.get(p)??this.resolveInheritance(p,r)??(this.isPathOnly?this.resolveInheritance(p,this.context.privateApiJson.modules):void 0);if(l!==void 0){o??=new Set(n.members.map(c=>c.name));for(let c of l.members)o.has(c.name)||(n.members.push({...c,inheritedFrom:i}),o.add(c.name));if(l.attributes!==void 0){n.attributes??=[],s??=new Set(n.attributes.map(c=>c.name));for(let c of l.attributes)s.has(c.name)||(n.attributes.push({...c,inheritedFrom:i}),s.add(c.name))}if(l.events!==void 0){n.events??=[],a=new Set(n.events.map(c=>c.name));for(let c of l.events)a.has(c.name)||(n.events.push({...c,inheritedFrom:i}),a.add(c.name))}l.superclass.name!==_e.name&&this.inheritMembers(n,r,l.superclass,o,s,a),i.module=l.importPath}}resolveInheritance(n,r){for(let i of r)for(let o of i.declarations)if("customElement"in o&&n===o.name)return this._resolvedInheritance.set(n,o),o;this._resolvedInheritance.set(n,void 0)}},_e={name:"LitElement",package:"@arcgis/lumina"},gn=(e,t)=>e.name.localeCompare(t.name),Kp=/(?<=this.)[\w$]+/gu;import{readFile as Up}from"node:fs/promises";async function ui(e,t){t||(e.componentFilesPromise=we(e,e.dir.srcComponents));let n=await e.componentFilesPromise,r=await Gp(e,n);e._componentPathMapping={},e._localDefinedComponents=void 0;let i=yi(r,e,!1);e.privateApiJson=i;let[o,s]=gi(i);return e.apiJsonComponents=s,e.apiJson=o,i}function fi(e,t,n){let r=e.getSourceFile(t,n),i=yi([r],e,!0),o=i.modules[0];{let m=gi(i)[0].modules[0],u=e.apiJson.modules.findIndex(y=>y.path===m.path),f=e.apiJson.modules[u],h=Array.from(e.apiJson.modules);h.splice(u,1,m),e.apiJson={...e.apiJson,modules:h},e.apiJsonComponents=e.apiJsonComponents.filter(y=>!f.declarations.includes(y));for(let y of m.declarations)"customElement"in y&&e.apiJsonComponents.push(y)}let s=e.privateApiJson.modules.findIndex(m=>m.path===o.path),a=e.privateApiJson.modules[s],p=Array.from(e.privateApiJson.modules);p.splice(s,1,o),e.privateApiJson={...e.privateApiJson,modules:p};let l=!1,c=a.declarations.filter(m=>"customElement"in m),d=[];for(let m of o.declarations)if("customElement"in m){let f=c.find(h=>h.tagName===m.tagName)===void 0;l||=f,d.push(m)}return l||=d.length!==c.length,l?void 0:d}function yi(e,t,n){let r=t.options.apiJson?.Extractor??Ue,o=new r(t,n).extract(e);return t.options.apiJson?.afterCreate?.(o,n),o}function gi(e){let t={...e,modules:[]},n=[];for(let r of e.modules){let i={...r,declarations:[]};for(let o of r.declarations)if("customElement"in o&&o.privacy===void 0){let s={...o,members:o.members.filter(a=>a.privacy===void 0)};i.declarations.push(s),n.push(s)}i.declarations.length>0&&t.modules.push(i)}return[t,n]}function mi(e,t,n){e.members.forEach(r=>{if(r.kind==="field")ft(r.type,n,t);else if(ft(r.return?.type,n,t),r.parameters!==void 0)for(let i of r.parameters)ft(i.type,n,t)}),e.events?.forEach(r=>{ft(r.type,n,t)})}function ft(e,t,n){e!==void 0&&(e.references?.forEach(r=>Vp(r,t,n)),e.text=e.text.replaceAll(qp,(r,i)=>t.get(i)??r),e.values?.forEach(zp,t))}function Vp(e,t,n){e.package===void 0&&(e.module?.startsWith("dist/components/")===!0?e.module=ie(e.module,"dist/components/",n):e.module==="index.js"&&e.name&&(e.name=t.get(e.name)??e.name))}function zp(e){e.type.startsWith("ToElement<")&&(e.type=this.get(e.type.slice(10,-1))??e.type)}var qp=/ToElement<(\w+)>/gu;async function Gp(e,t){if(e.viteCommand==="serve"&&(Object.hasOwn(e,"typeScriptHost")||(e.typeScriptHost=_p.createCompilerHost(e.typeScriptConfig,!1))),e.typeScriptProgram!==void 0){let n=e.typeScriptProgram.getSourceFiles(),r=new Set(t);return n.filter(i=>r.has(i.fileName))}else return await Promise.all(t.map(async n=>{let r=await Up(n,"utf8");return e.getSourceFile(n,r)}))}import{readFile as Ic,writeFile as Nc}from"node:fs/promises";import{path as Mt,toSystemPathSeparators as Lc}from"@arcgis/components-build-utils";import{isNotUndefined as $o}from"@arcgis/components-utils";import{isNotUndefined as Xp}from"@arcgis/components-utils";import{existsAsync as hi}from"@arcgis/components-build-utils";import{readFile as hn,readdir as Qp}from"node:fs/promises";import{asyncRetrievePackageJson as Yp,fetchPackageLocation as Zp,retrievePackageJson as el,path as yt}from"@arcgis/components-build-utils";async function gt(e){return le??=tl(e),await le}function xi(){if(Cn===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return Cn}function ht(){if(xn===void 0)throw new Error("Component dependencies have not yet been initialized. Await componentDependenciesPromise promise first.");return xn}async function tl(e){let t=el(e),n=t.dependencies??{},r=t.peerDependencies??{},o=(await Promise.all([...Object.keys(n),...Object.keys(r)].filter(s=>!nl.has(s)).flatMap(async s=>await Tn(s,e)))).filter(Xp);return Cn??=o,xn=Object.fromEntries(o.flatMap(s=>Object.entries(s.components))),o}var nl=new Set(["@arcgis/arcade-languageservice","@arcgis/components-controllers","@arcgis/components-build-utils","@arcgis/components-utils","@arcgis/core","@arcgis/core-adapter","@arcgis/languages-api-utils","@arcgis/languages-sdk-specs","@arcgis/lumina","@commander-js/extra-typings","@custom-elements-manifest/analyzer","@esri/calcite-ui-icons","@floating-ui/dom","@lit-labs/ssr","@lit-labs/ssr-client","@lit/react","@types/color","@types/sortablejs","color","composed-offset-position","custom-elements-manifest","dayjs","focus-trap","interactjs","lit","lodash-es","monaco-editor","sortablejs","storybook","timezone-groups","type-fest","tslib","typescript","vscode-languageserver-textdocument","vscode-languageserver-types"]),Cn,xn,le;async function Tn(e,t){let n=await Zp(e,t),r=await Yp(n),i="exports"in r,o=pl.bind(void 0,i),s="@stencil/core"in(r.dependencies??{})||"@stencil/core"in(r.devDependencies??{}),a=yt.join(n,"dist/esm/loader.js");if(s?await hi(a):!1){let u=await hn(a,"utf8"),f=rl(u,"bootstrapLazy("),h=u.indexOf(", options",f),y=u.slice(f,h),T=y.startsWith('JSON.parse("')?y.slice(12,-2).replaceAll('\\"','"'):y;try{let S=JSON.parse(T),b=sl(S,{packageName:e,getImportPath:o});return{packageName:e,type:"stencil",components:b}}catch(S){console.warn(`@arcgis/lumina: Failed to parse dist/esm/loader.js for ${e}.
49
49
  Error: ${String(S)}`)}}let l=Ci(r.customElements);if(l!=null){let u=yt.join(n,l),f=JSON.parse(await hn(u,"utf-8")),h=il(f),y=bn(f,{packageName:e,getImportPath:o});return{type:h?"@arcgis/lumina":"unknown",packageName:e,components:y}}let c=Ci(r["web-types"]);if(c!=null){let u=yt.join(n,c),f=JSON.parse(await hn(u,"utf-8")),h=ol(f,{packageName:e,getImportPath:o,packageRoot:n});return{type:"unknown",packageName:e,components:h}}let d=yt.join(n,"dist/components");if(await hi(d)){let u=await al(d,{packageName:e,getImportPath:o});return{type:"unknown",packageName:e,components:u}}}var Ci=e=>Array.isArray(e)?e[0]:e;function rl(e,t){let n=e.indexOf(t);return n===-1?-1:n+t.length}function bn(e,t){let n={};for(let r of e.modules)if(r.declarations!==void 0)for(let i of r.declarations){if(!("tagName"in i))continue;let o=i,s=o,a=o.tagName;n[a]={packageName:t.packageName,moduleName:s.importPath??t.getImportPath(a),propToAttribute:Object.fromEntries((o.attributes??[]).map(p=>[p.fieldName??p.name,p.name]))}}return n}var il=e=>e.compiler?.name===De,ol=(e,t)=>Object.fromEntries((e.contributions?.html?.elements??e.contributions?.html?.tags)?.map(n=>[n.name,{packageName:t.packageName,moduleName:t.getImportPath(n.name),propToAttribute:{}}])??[]);var sl=(e,t)=>Object.fromEntries(e.flatMap(([n,r])=>r.map(([i,o,s={}])=>[o,{packageName:t.packageName,moduleName:t.getImportPath(o),propToAttribute:Object.fromEntries(Object.entries(s).filter(([a,[p]])=>p&15).map(([a,[p,l=a]])=>[a,l]))}]))),al=async(e,t)=>Object.fromEntries((await Qp(e)).filter(n=>n.endsWith(".d.ts")).map(n=>{let r=n.slice(0,-5);return[r,{packageName:t.packageName,moduleName:t.getImportPath(r),propToAttribute:{}}]})),pl=(e,t)=>e?`components/${t}`:`dist/components/${t}.js`;import{asyncRetrievePackageJson as Ec,fetchPackageLocation as wc}from"@arcgis/components-build-utils";var ll=e=>e.startsWith("/")?e:`/${e}`,Fe=(e,t)=>`${e}@fs${ll(t)}`;import{retrievePackageJson as cl}from"@arcgis/components-build-utils";function ee(e=cl(),t=!1,n=e.name==="@esri/calcite-components"){let r=e.version.includes("next");if(e.name==="@esri/calcite-components"&&r)return`https://cdn.jsdelivr.net/npm/@esri/calcite-components@${e.version}/dist/calcite/`;let i=t||r?"jsdev.arcgis.com":"js.arcgis.com",o=dl(e.name),s=ml(e.version,n);return["https://",i,o.length>0?"/":"",o,"/",s,"/"].join("")}var dl=e=>e.split("/").pop()??e;function ml(e,t){if(/\d+\.\d+\.\d+-(?:.*)$/u.test(e))return"next";let r=/^(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)/u,i=e.match(r);if(i?.groups!==void 0){let{major:o,minor:s,patch:a}=i.groups,p=`${o}.${s}`;return t?`${p}.${a}`:p}return"next"}import{isNotUndefined as Tc}from"@arcgis/components-utils";import{readdir as bc}from"node:fs/promises";import{path as Wn}from"@arcgis/components-build-utils";import{existsAsync as ko}from"@arcgis/components-build-utils";import{asyncRetrievePackageJson as Sc,fetchPackageLocation as vc}from"@arcgis/components-build-utils";import{build as mc}from"esbuild";import{findPath as oc,path as xo,toSystemPathSeparators as sc}from"@arcgis/components-build-utils";import{Deferred as ac,identity as pc}from"@arcgis/components-utils";import V from"typescript";import rc from"typescript";import Ul from"typescript";import Sn from"typescript";var ul=["keyed","ref","repeat","live"],ce="staticHtml",te="staticSvg",ne="html",de="svg",vn=Symbol("maybe HTML namespace or maybe SVG"),En="css",wn="mathml",Ti=[En,ne,wn,ce,te,de],bi=new Set(Ti),fl=["safeClassMap","safeStyleMap"],yl="nothing",Si=[...ul,...Ti,...fl,yl],ke=e=>Sn.isJsxElement(e)||Sn.isJsxSelfClosingElement(e)||Sn.isJsxFragment(e);import x from"typescript";import v from"typescript";var vi="Fragment",Ct="DynamicHtmlTag",xt="DynamicSvgTag",Te=Symbol("dynamic html tag name"),Ve=Symbol("dynamic svg tag name"),Ei=!0,Tt=new Set(["class","itemProp","itemScope","itemType","itemId","itemRef","about","datatype","inlist","property","resource","typeof","vocab"]),bt=new Set(["width","height","href","hreflang","form","download","rowSpan","colSpan","viewBox","src","exportParts","hreflang","media"]),ze={button:new Set(["popoverTarget"]),input:new Set(["list","capture"]),iframe:new Set(["sandbox"]),link:new Set(["sizes"]),meta:new Set(["charset"]),math:new Set(["dir","displaystyle","scriptlevel"]),menu:new Set(["label","type"])},_={common:{reflected:{hidden:"hidden",inert:"inert",draggable:"draggable",contentEditable:"contenteditable",popover:"popover",autofocus:"autofocus",role:"role",ariaAtomic:"aria-atomic",ariaAutoComplete:"aria-autocomplete",ariaBusy:"aria-busy",ariaBrailleLabel:"aria-braillelabel",ariaBrailleRoleDescription:"aria-brailleroledescription",ariaChecked:"aria-checked",ariaColCount:"aria-colcount",ariaColIndex:"aria-colindex",ariaColSpan:"aria-colspan",ariaCurrent:"aria-current",ariaDescription:"aria-description",ariaDisabled:"aria-disabled",ariaExpanded:"aria-expanded",ariaHasPopup:"aria-haspopup",ariaHidden:"aria-hidden",ariaInvalid:"aria-invalid",ariaKeyShortcuts:"aria-keyshortcuts",ariaLabel:"aria-label",ariaLevel:"aria-level",ariaLive:"aria-live",ariaModal:"aria-modal",ariaMultiLine:"aria-multiline",ariaMultiSelectable:"aria-multiselectable",ariaOrientation:"aria-orientation",ariaPlaceholder:"aria-placeholder",ariaPosInSet:"aria-posinset",ariaPressed:"aria-pressed",ariaReadOnly:"aria-readonly",ariaRelevant:"aria-relevant",ariaRequired:"aria-required",ariaRoleDescription:"aria-roledescription",ariaRowCount:"aria-rowcount",ariaRowIndex:"aria-rowindex",ariaRowSpan:"aria-rowspan",ariaSelected:"aria-selected",ariaSetSize:"aria-setsize",ariaSort:"aria-sort",ariaValueMax:"aria-valuemax",ariaValueMin:"aria-valuemin",ariaValueNow:"aria-valuenow",ariaValueText:"aria-valuetext",ariaColIndexText:"aria-colindextext",ariaRowIndexText:"aria-rowindextext",ariaVirtualContent:"aria-virtualcontent"},stringifiedReflected:{title:"title",lang:"lang",translate:"translate",dir:"dir",accessKey:"accesskey",spellcheck:"spellcheck",autocapitalize:"autocapitalize",enterKeyHint:"enterkeyhint",inputMode:"inputmode",virtualKeyboardPolicy:"virtualkeyboardpolicy",tabIndex:"tabindex",writingSuggestions:"writingsuggestions",focusgroup:"focusgroup",id:"id",className:"class",slot:"slot",elementTiming:"elementtiming"},stringifiedNonReflected:{innerText:"",nonce:"",innerHTML:""}},perElement:{a:{stringifiedReflected:{target:"target",download:"download",ping:"ping",rel:"rel",hreflang:"hreflang",type:"type",referrerPolicy:"referrerpolicy",coords:"coords",charset:"charset",name:"name",rev:"rev",shape:"shape",href:"href",interestAction:"interestaction",hrefTranslate:"hreftranslate",attributionSrc:"attributionsrc"},stringifiedNonReflected:{text:""}},area:{reflected:{noHref:"nohref"},stringifiedReflected:{alt:"alt",coords:"coords",download:"download",shape:"shape",target:"target",ping:"ping",rel:"rel",referrerPolicy:"referrerpolicy",href:"href",interestAction:"interestaction"}},audio:{reflected:{crossOrigin:"crossorigin",autoplay:"autoplay",loop:"loop",controls:"controls",defaultMuted:"muted",disableRemotePlayback:"disableremoteplayback"},stringifiedReflected:{src:"src",preload:"preload"}},base:{stringifiedReflected:{href:"href",target:"target"}},blockquote:{stringifiedReflected:{cite:"cite"}},body:{stringifiedReflected:{text:"text",link:"link",vLink:"vlink",aLink:"alink",bgColor:"bgcolor",background:"background"}},br:{stringifiedReflected:{clear:"clear"}},button:{reflected:{disabled:"disabled",formNoValidate:"formnovalidate"},stringifiedReflected:{formAction:"formaction",formEnctype:"formenctype",formMethod:"formmethod",formTarget:"formtarget",name:"name",type:"type",value:"value",popoverTargetAction:"popovertargetaction",command:"command",interestAction:"interestaction"}},canvas:{stringifiedReflected:{width:"width",height:"height"}},caption:{stringifiedReflected:{align:"align"}},col:{stringifiedReflected:{span:"span",align:"align",ch:"char",chOff:"charoff",vAlign:"valign",width:"width"}},colgroup:{stringifiedReflected:{span:"span",align:"align",ch:"char",chOff:"charoff",vAlign:"valign",width:"width"}},data:{stringifiedReflected:{value:"value"}},del:{stringifiedReflected:{cite:"cite",dateTime:"datetime"}},details:{reflected:{open:"open"},stringifiedReflected:{name:"name"}},dialog:{reflected:{open:"open"},stringifiedNonReflected:{returnValue:""}},div:{stringifiedReflected:{align:"align"}},dl:{reflected:{compact:"compact"}},embed:{stringifiedReflected:{src:"src",type:"type",width:"width",height:"height",align:"align",name:"name"}},fieldset:{reflected:{disabled:"disabled"},stringifiedReflected:{name:"name"}},form:{reflected:{noValidate:"novalidate"},stringifiedReflected:{acceptCharset:"accept-charset",action:"action",autocomplete:"autocomplete",enctype:"enctype",encoding:"enctype",method:"method",name:"name",target:"target",rel:"rel"}},h1:{stringifiedReflected:{align:"align"}},h2:{stringifiedReflected:{align:"align"}},h3:{stringifiedReflected:{align:"align"}},h4:{stringifiedReflected:{align:"align"}},h5:{stringifiedReflected:{align:"align"}},h6:{stringifiedReflected:{align:"align"}},hr:{reflected:{noShade:"noshade"},stringifiedReflected:{align:"align",color:"color",size:"size",width:"width"}},html:{stringifiedReflected:{version:"version"}},iframe:{reflected:{allowFullscreen:"allowfullscreen",credentialless:"credentialless",allowPaymentRequest:"allowpaymentrequest",browsingTopics:"browsingtopics",adAuctionHeaders:"adauctionheaders",sharedStorageWritable:"sharedstoragewritable"},stringifiedReflected:{src:"src",srcdoc:"srcdoc",name:"name",width:"width",height:"height",referrerPolicy:"referrerpolicy",csp:"csp",allow:"allow",loading:"loading",align:"align",scrolling:"scrolling",frameBorder:"frameborder",longDesc:"longdesc",marginHeight:"marginheight",marginWidth:"marginwidth",policy:"policy",privateToken:"privatetoken"}},img:{reflected:{crossOrigin:"crossorigin",isMap:"ismap",width:"width",height:"height",hspace:"hspace",vspace:"vspace",sharedStorageWritable:"sharedstoragewritable"},stringifiedReflected:{alt:"alt",src:"src",srcset:"srcset",sizes:"sizes",useMap:"usemap",referrerPolicy:"referrerpolicy",decoding:"decoding",fetchPriority:"fetchpriority",loading:"loading",name:"name",lowsrc:"lowsrc",align:"align",longDesc:"longdesc",border:"border",attributionSrc:"attributionsrc"}},input:{reflected:{defaultChecked:"checked",disabled:"disabled",formNoValidate:"formnovalidate",height:"height",multiple:"multiple",readOnly:"readonly",required:"required",size:"size",width:"width",webkitdirectory:"webkitdirectory",incremental:"incremental"},stringifiedReflected:{accept:"accept",alt:"alt",autocomplete:"autocomplete",dirName:"dirname",formAction:"formaction",formEnctype:"formenctype",formMethod:"formmethod",formTarget:"formtarget",max:"max",maxLength:"maxlength",min:"min",minLength:"minlength",name:"name",pattern:"pattern",placeholder:"placeholder",src:"src",step:"step",type:"type",defaultValue:"value",align:"align",useMap:"usemap",popoverTargetAction:"popovertargetaction",command:"command",interestAction:"interestaction"},stringifiedNonReflected:{value:""}},ins:{stringifiedReflected:{cite:"cite",dateTime:"datetime"}},label:{stringifiedReflected:{htmlFor:"for"}},legend:{stringifiedReflected:{align:"align"}},li:{reflected:{value:"value"},stringifiedReflected:{type:"type"}},link:{reflected:{disabled:"disabled",crossOrigin:"crossorigin"},stringifiedReflected:{href:"href",rel:"rel",media:"media",hreflang:"hreflang",type:"type",as:"as",referrerPolicy:"referrerpolicy",fetchPriority:"fetchpriority",imageSrcset:"imagesrcset",imageSizes:"imagesizes",charset:"charset",rev:"rev",target:"target",integrity:"integrity"}},map:{stringifiedReflected:{name:"name"}},menu:{reflected:{compact:"compact"}},meta:{stringifiedReflected:{name:"name",httpEquiv:"http-equiv",content:"content",media:"media",scheme:"scheme"}},meter:{reflected:{value:"value",min:"min",max:"max",low:"low",high:"high",optimum:"optimum"}},object:{reflected:{declare:"declare",hspace:"hspace",vspace:"vspace"},stringifiedReflected:{data:"data",type:"type",name:"name",useMap:"usemap",width:"width",height:"height",align:"align",archive:"archive",code:"code",standby:"standby",codeBase:"codebase",codeType:"codetype",border:"border"}},ol:{reflected:{reversed:"reversed",compact:"compact"},stringifiedReflected:{start:"start",type:"type"}},optgroup:{reflected:{disabled:"disabled"},stringifiedReflected:{label:"label"}},option:{reflected:{disabled:"disabled",defaultSelected:"selected"},stringifiedReflected:{label:"label",value:"value"},stringifiedNonReflected:{text:""}},output:{stringifiedReflected:{name:"name"},stringifiedNonReflected:{defaultValue:"",value:""}},p:{stringifiedReflected:{align:"align"}},pre:{reflected:{width:"width"}},progress:{reflected:{value:"value",max:"max"}},q:{stringifiedReflected:{cite:"cite"}},script:{reflected:{noModule:"nomodule",async:"async",defer:"defer",crossOrigin:"crossorigin",referrerPolicy:"referrerpolicy"},stringifiedReflected:{src:"src",type:"type",charset:"charset",fetchPriority:"fetchpriority",event:"event",htmlFor:"for",integrity:"integrity",attributionSrc:"attributionsrc"},stringifiedNonReflected:{text:""}},select:{reflected:{disabled:"disabled",multiple:"multiple",required:"required",size:"size"},stringifiedReflected:{autocomplete:"autocomplete",name:"name"}},slot:{stringifiedReflected:{name:"name"}},source:{reflected:{width:"width",height:"height"},stringifiedReflected:{src:"src",type:"type",srcset:"srcset",sizes:"sizes",media:"media"}},style:{stringifiedReflected:{media:"media",type:"type"}},table:{stringifiedReflected:{align:"align",border:"border",frame:"frame",rules:"rules",summary:"summary",width:"width",bgColor:"bgcolor",cellPadding:"cellpadding",cellSpacing:"cellspacing"}},tbody:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},td:{reflected:{noWrap:"nowrap"},stringifiedReflected:{colSpan:"colspan",rowSpan:"rowspan",headers:"headers",align:"align",axis:"axis",height:"height",width:"width",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor",abbr:"abbr",scope:"scope"}},template:{reflected:{shadowRootDelegatesFocus:"shadowrootdelegatesfocus",shadowRootClonable:"shadowrootclonable",shadowRootSerializable:"shadowrootserializable",parseparts:"parseparts"},stringifiedReflected:{shadowRootMode:"shadowrootmode"}},textarea:{reflected:{cols:"cols",disabled:"disabled",readOnly:"readonly",required:"required",rows:"rows"},stringifiedReflected:{autocomplete:"autocomplete",dirName:"dirname",maxLength:"maxlength",minLength:"minlength",name:"name",placeholder:"placeholder",wrap:"wrap"},stringifiedNonReflected:{defaultValue:"",value:""}},tfoot:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},th:{reflected:{noWrap:"nowrap"},stringifiedReflected:{colSpan:"colspan",rowSpan:"rowspan",headers:"headers",align:"align",axis:"axis",height:"height",width:"width",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor",abbr:"abbr",scope:"scope"}},thead:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign"}},time:{stringifiedReflected:{dateTime:"datetime"}},title:{stringifiedNonReflected:{text:""}},tr:{stringifiedReflected:{align:"align",ch:"char",chOff:"charoff",vAlign:"valign",bgColor:"bgcolor"}},track:{reflected:{default:"default"},stringifiedReflected:{kind:"kind",src:"src",srclang:"srclang",label:"label"}},ul:{reflected:{compact:"compact"},stringifiedReflected:{type:"type"}},video:{reflected:{width:"width",height:"height",playsInline:"playsinline",disablePictureInPicture:"disablepictureinpicture",crossOrigin:"crossorigin",autoplay:"autoplay",loop:"loop",controls:"controls",defaultMuted:"muted",disableRemotePlayback:"disableremoteplayback"},stringifiedReflected:{poster:"poster",src:"src",preload:"preload"}}}};wi(_.common);Object.values(_.perElement).forEach(wi);function wi(e){e?.reflected!==void 0&&(e.reflected=Object.assign(Object.create(null),e.reflected)),e?.stringifiedReflected!==void 0&&(e.stringifiedReflected=Object.assign(Object.create(null),e.stringifiedReflected)),e?.stringifiedNonReflected!==void 0&&(e.stringifiedNonReflected=Object.assign(Object.create(null),e.stringifiedNonReflected))}var Pn=new Set(["itemScope"]),St=new Set(["abort","animationCancel","animationEnd","animationIteration","animationStart","auxClick","beforeInput","blur","canPlay","canPlayThrough","cancel","change","click","close","compositionEnd","compositionStart","compositionUpdate","contextMenu","copy","cueChange","cut","dblClick","drag","dragEnd","dragEnter","dragLeave","dragOver","dragStart","drop","durationChange","emptied","encrypted","error","focus","focusIn","focusOut","formData","fullscreenChange","fullscreenError","gotPointerCapture","input","invalid","keyDown","keyUp","load","loadStart","loadedData","loadedMetadata","lostPointerCapture","mouseDown","mouseEnter","mouseLeave","mouseMove","mouseOut","mouseOver","mouseUp","paste","pause","play","playing","pointerCancel","pointerDown","pointerEnter","pointerLeave","pointerMove","pointerOut","pointerOver","pointerUp","progress","rateChange","reset","resize","scroll","scrollEnd","securityPolicyViolation","seeked","seeking","select","selectStart","slotChange","stalled","submit","suspend","timeUpdate","toggle","touchCancel","touchEnd","touchMove","touchStart","transitionCancel","transitionEnd","transitionRun","transitionStart","volumeChange","waiting","wheel"]),Pi=new Set(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),Ie=new Set(["animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","switch","symbol","text","textPath","tspan","use","view"]),Ai=new Set(["title","svg","a","script","style"]),Ne=new Set(["annotation-xml","annotation","maction","menclose","merror","mfenced","mfrac","mi","mmultiscripts","mn","mo","mover","mpadded","mphantom","mprescripts","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msubsup","msup","mtable","mtd","mtext","mtr","munder","munderover","semantics"]),vt=new Set(["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"]);import{mappedFind as Di,uncapitalize as Fi}from"@arcgis/components-utils";import g from"typescript";function An(e,t,n){if(Le(e))return e;{n===void 0&&t.neededImports.add("nothing");let r=t.importRenames.nothing;return g.factory.createParenthesizedExpression(g.factory.createBinaryExpression(g.factory.createParenthesizedExpression(e),g.factory.createToken(g.SyntaxKind.QuestionQuestionToken),typeof n=="string"?g.factory.createStringLiteral(n):g.factory.createIdentifier(r)))}}function Le(e){return typeof e=="string"||gl.has(e.kind)||g.isConditionalExpression(e)&&Le(e.whenTrue)&&Le(e.whenFalse)||g.isBinaryExpression(e)&&(hl.has(e.operatorToken.kind)||Le(e.left)&&Le(e.right))||(g.isParenthesizedExpression(e)||g.isSatisfiesExpression(e)||g.isAsExpression(e))&&Le(e.expression)||g.isTaggedTemplateExpression(e)&&g.isIdentifier(e.tag)&&bi.has(e.tag.text)}var gl=new Set([g.SyntaxKind.NumericLiteral,g.SyntaxKind.BigIntLiteral,g.SyntaxKind.StringLiteral,g.SyntaxKind.RegularExpressionLiteral,g.SyntaxKind.NoSubstitutionTemplateLiteral,g.SyntaxKind.FalseKeyword,g.SyntaxKind.TrueKeyword,g.SyntaxKind.ArrayLiteralExpression,g.SyntaxKind.ObjectLiteralExpression,g.SyntaxKind.FunctionExpression,g.SyntaxKind.ArrowFunction,g.SyntaxKind.TypeOfExpression,g.SyntaxKind.PrefixUnaryExpression,g.SyntaxKind.PostfixUnaryExpression,g.SyntaxKind.TemplateExpression,g.SyntaxKind.ClassExpression,g.SyntaxKind.NonNullExpression]),hl=new Set([g.SyntaxKind.PlusEqualsToken,g.SyntaxKind.MinusEqualsToken,g.SyntaxKind.AsteriskAsteriskEqualsToken,g.SyntaxKind.AsteriskEqualsToken,g.SyntaxKind.SlashEqualsToken,g.SyntaxKind.PercentEqualsToken,g.SyntaxKind.AmpersandEqualsToken,g.SyntaxKind.BarEqualsToken,g.SyntaxKind.CaretEqualsToken,g.SyntaxKind.LessThanLessThanEqualsToken,g.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken,g.SyntaxKind.GreaterThanGreaterThanEqualsToken,g.SyntaxKind.AmpersandToken,g.SyntaxKind.BarToken,g.SyntaxKind.CaretToken,g.SyntaxKind.EqualsEqualsToken,g.SyntaxKind.EqualsEqualsEqualsToken,g.SyntaxKind.ExclamationEqualsEqualsToken,g.SyntaxKind.ExclamationEqualsToken,g.SyntaxKind.LessThanToken,g.SyntaxKind.LessThanEqualsToken,g.SyntaxKind.GreaterThanToken,g.SyntaxKind.GreaterThanEqualsToken,g.SyntaxKind.InstanceOfKeyword,g.SyntaxKind.InKeyword,g.SyntaxKind.LessThanLessThanToken,g.SyntaxKind.GreaterThanGreaterThanToken,g.SyntaxKind.GreaterThanGreaterThanGreaterThanToken,g.SyntaxKind.PlusToken,g.SyntaxKind.MinusToken,g.SyntaxKind.AsteriskToken,g.SyntaxKind.SlashToken,g.SyntaxKind.PercentToken,g.SyntaxKind.AsteriskAsteriskToken]);var Ni={property(e,t,n,r){let i=Cl(r,n,e),o=i?.type==="stringifiedReflected",s=i?.type==="reflected"||o;if(s){let m=Fn(t);if(m===!0)return[i.name];if(m===!1)return[]}let a=t===void 0?["=",v.factory.createToken(v.SyntaxKind.TrueKeyword)]:Et(e,t,s),p=a[0]!=="=";if(s&&p)return[i.name,...a];let[l,c]=a,d=i?.type==="stringifiedNonReflected";if(o||d){let m=An(c,e,d?"":void 0),f=n==="value"&&(r==="input"||r==="textarea"||r===Te)?Tl(m,e):m;if(f!==c)return[d?`.${n}`:i.name,l,f]}return[`.${n}`,...a]},attribute(e,t,n){let r=t===void 0||Fn(t);if(r===!0)return[n];if(r===!1)return[];let i=Et(e,t,!0),s=i[0]!=="="?i:[i[0],An(i[1],e)];return[n,...s]},booleanAttribute(e,t,n){let r=t===void 0||Fn(t);return r===!0?[n]:r===!1?[]:[`?${n}`,...Et(e,t,!1)]},event(e,t,n){if(t===void 0||!v.isJsxExpression(t)||t.expression===void 0)throw new Error(`Event prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);let r=n.slice(2),i=Fi(r);return[`@${St.has(i)?r.toLowerCase():Ei?Fi(r):r}=`,...wt(e,t,void 0)]},directives(e,t){if(t===void 0||!v.isJsxExpression(t))throw new Error(`Directives prop must be an expression. Found ${String(t?.getText(e.sourceFile))}`);if(t.expression===void 0||!v.isArrayLiteralExpression(t.expression))throw new Error(`Directives prop must be an array rather than a variable or ternary expression. Still, the following are allowed: directives={[directiveA, condition ? a : b, c()]}. Found ${String(t.expression?.getText(e.sourceFile))}`);return t.expression.elements.flatMap(i=>{if(v.isSpreadElement(i))throw new Error(`Directives prop cannot contain a spread argument - it needs to be statically analyzable. Still, the following are allowed: directives={[directiveA, condition ? a : b, c()]}. Found ${String(t.expression?.getText(e.sourceFile))}`);return X(e,void 0,i)})},ref(e,t){e.neededImports.add("ref");let n=e.importRenames.ref;if(t===void 0||!v.isJsxExpression(t)||t.expression===void 0)throw new Error(`ref prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);return[v.factory.createCallExpression(v.factory.createIdentifier(n),void 0,[X(e,void 0,t.expression)])]},class:Ii,style:Ii,key:(e,t)=>[qe(t,e.sourceFile)]};function Cl(e,t,n){if(typeof e=="string"){let o=(n.externalComponents[e]??n.localComponents[e])?.propToAttribute?.[t];if(o!==void 0)return{name:o,type:"reflected"}}let r=Dn(_.common,t);if(r!==void 0)return r;if(typeof e=="string"){let i=Dn(_.perElement[e],t);if(i!==void 0)return i}else{let i=Object.values(_.perElement).map(s=>Dn(s,t)),o=Di(i,s=>s?.type==="stringifiedNonReflected"?s:void 0)??Di(i,s=>s?.type==="stringifiedReflected"?s:void 0);if(o!==void 0)return o}}function Dn(e,t){let n=e?.reflected?.[t];if(n!==void 0)return{name:n,type:"reflected"};let r=e?.stringifiedReflected?.[t];if(r!==void 0)return{name:r,type:"stringifiedReflected"};let i=e?.stringifiedNonReflected?.[t];if(i!==void 0)return{name:i,type:"stringifiedNonReflected"}}function qe(e,t){if(e!==void 0&&v.isJsxExpression(e)&&e.expression!==void 0)return e.expression;if(e!==void 0&&v.isStringLiteral(e))return e;throw new Error(`key prop value must be an expression. Found ${String(e?.getText(t))}`)}function Fn(e){if(e===void 0)return!0;if(v.isJsxExpression(e)){if(e.expression?.kind===v.SyntaxKind.TrueKeyword||e.expression===void 0)return!0;if(e.expression?.kind===v.SyntaxKind.FalseKeyword)return!1}}function Et(e,t,n=!1){if(ke(t))throw new Error(`Invalid JSX syntax detected or there is a bug in Lumina. Found ${t.getText(e.sourceFile)}. Expected JSX attribute value to be wrapped in { }`);if(v.isStringLiteral(t))return ki(t,n);if(v.isJsxExpression(t)&&t.expression){if(v.isStringLiteral(t.expression))return ki(t.expression,n);if(n){if(v.isNumericLiteral(t.expression))return[`=${t.expression.text}`];if(v.isPrefixUnaryExpression(t.expression)&&v.isNumericLiteral(t.expression.operand))return[`=${t.expression.getText(e.sourceFile)}`]}}return["=",...wt(e,t,void 0)]}function ki(e,t){if(!t)return["=",e];let n=e.text;if(n.length===0)return[];let r=at(n);if(Ir(r)){let i=r.replaceAll('"',"&#34;");if(i.length>r.length){let o=r.replaceAll("'","&#39;");if(o.length<i.length)return[`='${o}'`]}return[`="${i}"`]}else return[`=${r}`]}function Ii(e,t,n){if(t!==void 0&&v.isStringLiteral(t))return[`${n}="${t.text}"`];if(t===void 0||!v.isJsxExpression(t)||t.expression===void 0)throw new Error(`${n} prop value must be an expression. Found ${String(t?.getText(e.sourceFile))}`);let r=t.expression;if(xl(r)){let o=n==="class"?"safeClassMap":"safeStyleMap";e.neededImports.add(o);let s=e.importRenames[o],a=v.factory.createCallExpression(v.factory.createIdentifier(s),void 0,[X(e,void 0,r)]);return[`${n}=`,a]}else return[n,...Et(e,t,!0)]}var xl=e=>v.isObjectLiteralExpression(e)||v.isPropertyAccessExpression(e)||v.isIdentifier(e)||v.isCallExpression(e)||v.isBinaryExpression(e)||v.isConditionalExpression(e);function Tl(e,t){t.neededImports.add("live");let n=t.importRenames.live;return v.factory.createCallExpression(v.factory.createIdentifier(n),void 0,[typeof e=="string"?v.factory.createStringLiteral(e):e])}import Ge from"typescript";function $i(e){if(e&&Ge.isJsxExpression(e)&&e.expression&&Ge.isCallExpression(e.expression)&&Ge.isIdentifier(e.expression.expression)&&e.expression.expression.text in Li&&e.expression.arguments.length<=1)return{propType:Li[e.expression.expression.text],initializer:Ge.factory.createJsxExpression(void 0,e.expression.arguments[0])}}var Li={bindProperty:"property",bindAttribute:"attribute",bindBooleanAttribute:"booleanAttribute",bindEvent:"event"};function Ri(e,t,n){return Sl.has(e)?e:e.startsWith("on")&&t!==void 0&&Ge.isJsxExpression(t)&&t.expression!==void 0?"event":(Tt.has(e)||e.includes("-"))&&(e!=="itemId"||n!=="arcgis-map"&&n!=="arcgis-scene")?"attribute":!(typeof n=="string"&&n.includes("-")&&!vt.has(n))&&(bt.has(e)||(n===Ve?!1:n===Te?Object.values(ze).some(s=>s.has(e)):ze[n]?.has(e)===!0))?Pn.has(e)?"booleanAttribute":"attribute":n==="svg"||n==="math"||n===Ve||n!==Te&&(Ie.has(n)||Ne.has(n))?e in _.common.reflected||e in _.common.stringifiedReflected||e in _.common.stringifiedNonReflected?"property":Pn.has(e)?"booleanAttribute":"attribute":"property"}var bl=["class","style","ref","directives","key"],Sl=new Set(bl);import U from"typescript";var Mi=e=>typeof e!="string"||e.trim().length>0;function Xe({key:e,parts:t,litTag:n},r){let i=vl(t);if(i.length%2===0)throw new Error("Normalized template parts array length must be odd");let[o,...s]=i;if(typeof o!="string")throw new Error("First normalized template part must be a string");if(n===void 0){if(s.length===0)return kn(r,e,U.factory.createStringLiteral(o));if(o===""&&s.length===2&&s[1]==="")return kn(r,e,typeof s[0]=="string"?U.factory.createStringLiteral(o):s[0])}let a=typeof n=="string"?n:ne;r.neededImports.add(a);let p=r.importRenames[a],l=ge(o),c=U.factory.createTaggedTemplateExpression(U.factory.createIdentifier(p),void 0,s.length===0?U.factory.createNoSubstitutionTemplateLiteral(l,l):U.factory.createTemplateExpression(U.factory.createTemplateHead(l,l),El(s)));return kn(r,e,c)}var vl=e=>e.reduce((t,n,r)=>{let i=t.at(-1),o=typeof i=="string",s=typeof n=="string";if(o&&s)return[...t.slice(0,-1),`${i}${n}`];let p=r===e.length-1;return!s&&p?[...t,n,""]:!s&&!p?[...t,n,""]:[...t,n]},[""]);function El(e){if(!(e.length%2===0))throw new Error("templatePartsToSpans should be called with normalized parts array without the first item");let n=e.length/2;return Array.from({length:n},(r,i)=>{let o=i*2,s=e[o];if(typeof s=="string")throw new Error("Expected to receive a normalized array of parts");let a=o+1,p=e[a];if(typeof p!="string")throw new Error("Expected to receive a normalized array of parts");let l=i===n-1,c=ge(p);return U.factory.createTemplateSpan(s,l?U.factory.createTemplateTail(c,c):U.factory.createTemplateMiddle(c,c))})}function kn(e,t,n){if(t===void 0)return n;e.neededImports.add("keyed");let r=e.importRenames.keyed;return U.factory.createCallExpression(U.factory.createIdentifier(r),void 0,[t,n])}import Nn from"typescript";var Ln=(e,t)=>e.getFullText(t.sourceFile).slice(0,e.getLeadingTriviaWidth(t.sourceFile));function $n(e,t){let n=Pt(e);return n.length===0?t:Nn.setSyntheticLeadingComments(t,n.map(r=>({...r,pos:-1,end:-1,text:ji(e.slice(r.pos,r.end))})))}var Pt=e=>e.trim().length===0?[]:Nn.getLeadingCommentRanges(e,0)??[];function Ji(e){let t=Pt(e);if(t.length===0)return[e||" "];let n=t.reduceRight(([i,...o],s)=>{let a=ge(ji(In(i).slice(s.pos,s.end)));return[In(i).slice(0,s.pos),Nn.factory.createNoSubstitutionTemplateLiteral(a,a),In(i).slice(s.end),...o]},[e]);(typeof n[0]!="string"||n[0].trim()!=="")&&n.unshift(" ");let r=n.at(-1);return(typeof r!="string"||r.trim()!=="")&&n.push(" "),n}var ji=e=>e.startsWith("//")?e.slice(2):e.slice(2,-2);function In(e){if(typeof e=="string")return e;throw new Error(`Expected string, got ${typeof e}: ${String(e)}`)}import{isNotUndefined as $l}from"@arcgis/components-utils";import C from"typescript";import{mappedFind as wl}from"@arcgis/components-utils";import{toSystemPathSeparators as Pl}from"@arcgis/components-build-utils";function Bi(e,t){if(!(C.isPropertyAccessExpression(t.expression)&&t.expression.name.text==="map"))return t;let r=t.arguments[0];if(!(t.arguments.length===1&&C.isArrowFunction(r)))return t;let o=r.parameters.at(0);if(!(typeof o=="object"&&r.parameters.length<=2))return t;let a=$e(r.body),p=!0,l;if(Oi(a))l=a;else{if(!C.isBlock(a))return t;let y=a.statements.at(-1);if(!(y&&C.isReturnStatement(y)&&y.expression))return t;let S=$e(y.expression);if(!Oi(S))return t;let b=a.statements.slice(0,-1);if(b.some(Wi))return t;p=b.length===0,l=S}let c=C.isJsxElement(l)?l.openingElement:l,d=Mn(c);if(d===-1)return t;let m=c.attributes.properties[d];if(m===void 0||!C.isJsxAttribute(m))return t;let u=qe(m.initializer,e.sourceFile),f=Al(o,r,u,p,e);if(f===void 0)return t;e.liftedKeys.add(m.name),e.neededImports.add("repeat");let h=e.importRenames.repeat;return C.factory.updateCallExpression(t,C.factory.createIdentifier(h),t.typeArguments,[t.expression.expression,C.factory.createArrowFunction(void 0,void 0,[f],void 0,void 0,u),C.factory.updateArrowFunction(r,r.modifiers,r.typeParameters,r.parameters,r.type,r.equalsGreaterThanToken,a)])}var Oi=e=>C.isJsxElement(e)||C.isJsxSelfClosingElement(e);function Wi(e){if(C.isReturnStatement(e))return!0;let t=!1;return C.visitEachChild(e,n=>(t||=Wi(n),n),void 0),t}function Al(e,t,n,r,i){let o=re(n);if(o===void 0)return;let s=Hi(e.name,o),a=t.parameters.at(1);if(a!==void 0&&C.isIdentifier(a.name)&&o.every(At,a.name)){console.warn(`It looks like you are trying to use .map() index as a key={} prop value in ${Pl(i.sourceFile.fileName)}. Doing so is potentially pointless and may cause performance degradation. In Lit it is safe to omit the key={} prop. If you really mean to use index as the key, then use the keyed() Lit directive directly, rather than the JSX key={} prop.`);return}if(!r){let p=Fl(o,s,t);if(p===void 0)return;s=p}return C.factory.updateParameterDeclaration(e,e.modifiers,e.dotDotDotToken,s,e.questionToken,e.type,e.initializer)}function re(e){if(C.isIdentifier(e))return[e.text];if(C.isPropertyAccessExpression(e))return re(e.expression);if(C.isElementAccessExpression(e))return re(e.argumentExpression);if(C.isConditionalExpression(e)){let t=re(e.condition),n=re(e.whenTrue),r=re(e.whenFalse);return t===void 0||n===void 0||r===void 0?void 0:[...t,...n,...r]}else if(C.isBinaryExpression(e)){let t=re(e.left),n=re(e.right);return t===void 0||n===void 0?void 0:[...t,...n]}else{if(Dl.has(e.kind))return[];{let t=$e(e);return t!==e?re(t):void 0}}}var Dl=new Set([C.SyntaxKind.NumericLiteral,C.SyntaxKind.BigIntLiteral,C.SyntaxKind.StringLiteral,C.SyntaxKind.RegularExpressionLiteral,C.SyntaxKind.NoSubstitutionTemplateLiteral,C.SyntaxKind.FalseKeyword,C.SyntaxKind.NullKeyword,C.SyntaxKind.TrueKeyword]),$e=e=>C.isAsExpression(e)||C.isNonNullExpression(e)||C.isSatisfiesExpression(e)||C.isParenthesizedExpression(e)?$e(e.expression):e,Hi=(e,t)=>C.isObjectBindingPattern(e)?Nl(e,t):e;function Fl(e,t,n){if(e.every(At,t))return t;if(C.isIdentifier(t)){let r=C.isBlock(n.body)?wl(n.body.statements,o=>kl(o,t)):void 0;if(r===void 0)return;let i=Hi(r,e);if(e.every(At,i))return i}}function kl(e,t){if(!C.isVariableStatement(e)||!(e.declarationList.flags&C.NodeFlags.Const))return;let n=e.declarationList.declarations[0];return n?.initializer&&C.isIdentifier(n.initializer)&&n.initializer.text===t.text?n.name:void 0}function At(e){let t=this;return C.isIdentifier(t)?t.text===e:t.elements.some(Il,e)}function Il(e){let t=this;return C.isOmittedExpression(e)?!1:At.call(e.name,t)}function Nl(e,t){let n=!1,r=e.elements.filter(i=>C.isIdentifier(i.name)?t.includes(i.name.text):(n=!0,!0));return n||r.length===0?e:C.factory.updateObjectBindingPattern(e,r)}var Rn=(e,t)=>t.liftedKeys.has(e);import{toSystemPathSeparators as Dt}from"@arcgis/components-build-utils";var _i=e=>e.apiJsonComponents.map(({name:t,importPath:n})=>`import type { ${t} } from "./${n}";`).join(`
50
50
  `),Ll=/^[a-zA-Z_$][a-zA-Z\d_$]*$/u,be=e=>!Ll.test(e),Q=e=>be(e)?`"${e}"`:e;function me(e,t){let n=[],r=[],i=!1;t?.forEach(c=>{if(c.kind!=="field"||c.readonly)return;let d=c;if(d.getterTypeDiffers){i=!0;return}d.docsTags?.some(u=>u.name==="required")?n.push(c.name):r.push(c.name)});let o=Ki(n),s=Ki(r),a=[o?`Required<Pick<${e}, ${o}>>`:"",s?`Partial<Pick<${e}, ${s}>>`:"",i?`${e}SetterTypes`:""],p=i?`
51
51
  type ${e}SetterTypes = ${e}["${Yt}"]`:"",l=a.filter(Boolean).join(", ");return[l.length===0?"":`${l}, `,p]}var Ki=e=>e.map(t=>`'${t}'`).join(" | ");function X(e,t,n){if(ke(n))return Ui(e,n);let r=x.isCallExpression(n)?Bi(e,n):n,i=x.visitEachChild(r,X.bind(null,e,t!==void 0&&x.isBinaryExpression(t)?void 0:n),e.transformationContext);return t!==void 0&&x.isBinaryExpression(n)&&(x.isJsxExpression(t)||ke($e(n.right)))?Jl(i):i}function Ui(e,t){let n=Vi(e,t);return Xe(n,e)}function Vi(e,t){let n="children"in t?t.children:[];if(x.isJsxFragment(t))return{key:void 0,...Ft(n,e)};let i=x.isJsxElement(t)?t.openingElement:t,o=i.tagName;if(x.isJsxNamespacedName(o)){let S=Dt(e.sourceFile.fileName);throw new Error(`JSX namespaced elements are not supported. Found ${o.getText(e.sourceFile)} in "${S}"`)}if(!x.isIdentifier(o)||!o.text.startsWith(o.text[0].toLowerCase())&&o.text!==Ct&&o.text!==xt){let b=x.isIdentifier(o)&&o.text===vi?Ft(n,e):{litTag:void 0,parts:[Ml(e,t,o,n)]};return{key:Rl(i,e),...b}}let a=o.text===Ct?Te:o.text===xt?Ve:o.text,p=o.text===Ct?ce:o.text===xt?te:Ai.has(a)?vn:Ie.has(a)?de:ne,l;typeof a=="string"&&a.includes("-")&&!vt.has(a)&&(e.customElementsToImport.add(a),e.compiler.viteCommand==="build"&&(l=jl(e,a)));let c,d=[],m=i.attributes.properties.flatMap(S=>{if(x.isJsxSpreadAttribute(S))throw new Error(`JSX spread attribute syntax is not supported. See alternatives: https://qawebgis.esri.com/components/lumina/jsx#spread-attributes
52
- Found ${S.getText(e.sourceFile)}`);let{name:b,initializer:M}=S;if(x.isJsxNamespacedName(b)){let q=Dt(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${b.getText(e.sourceFile)} in "${q}"`)}let j=b.text,Be=$i(M),P=Be?.propType??Ri(j,M,a);l?.delete(j);let I=Ni[P](e,Be?.initializer??M,j,a);if(I.length===0)return[];let W=e.compiler.shouldMinifyJsx?" ":Ji(Ln(b,e));return P==="key"?(c=typeof I[0]=="object"&&!Rn(b,e)?I[0]:void 0,Array.isArray(W)&&W.some(Mi)?W:[]):P==="directives"||P==="ref"?(d.push(...W,...I.flatMap((q,ve)=>typeof q=="string"||ve===0||typeof I[ve-1]=="string"?q:[" ",q])),[]):[...W,...I]});if(l!==void 0&&l.size>0&&e.compiler.logLintError("mustIncludeAllRequiredProperties",e.sourceFile.fileName,`Missing required properties for <${a}> in ${e.sourceFile.fileName.slice(e.compiler.dir.root.length)}: ${Array.from(l).join(", ")}`),d.length>0&&m.push(...d),typeof a=="string"&&Ne.has(a))throw new Error(`JSX syntax for MathML elements is not yet supported. If you need it, please request it. Otherwise, use the \`math\` function from Lit directly. Tried to use the "${a}" element`);let u=typeof a=="string"&&Pi.has(a),f=Ft(n,e);if(u&&f.parts.length>0){let S=Dt(e.sourceFile.fileName);throw new Error(`Void HTML elements like <${a}> cannot have children. Found ${t.getText(e.sourceFile)} in "${S}"`)}let h=(p===de||p===te)&&f.parts.length===0,y=["<",typeof a=="string"?a:o,...m,h?`${m.length===0?"":" "}/>`:">"],T=u||h?y:[...y,...f.litTag!==void 0&&f.litTag!==p?[Xe({key:void 0,...f},e)]:f.parts,"</",typeof a=="string"?a:o,">"];return{key:c,parts:T,litTag:p}}function Rl(e,t){let n=e.attributes.properties[Mn(e)];return n&&x.isJsxAttribute(n)&&!Rn(n.name,t)?qe(n.initializer,t.sourceFile):void 0}var Mn=e=>e.attributes.properties.findIndex(({name:t})=>t&&x.isIdentifier(t)&&t.text==="key");function Ml(e,t,n,r){let o=(x.isJsxElement(t)?t.openingElement:t).attributes.properties.map(p=>{if(x.isJsxSpreadAttribute(p))return $n(Ln(p,e),x.factory.createSpreadAssignment(p.expression));let{name:l,initializer:c}=p;if(x.isJsxNamespacedName(l)){let u=Dt(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${l.getText(e.sourceFile)} in "${u}"`)}if(l.text==="key")return;let d=c===void 0?x.factory.createTrue():x.isStringLiteral(c)?c:ke(c)?Ui(e,c):X(e,void 0,c.expression??x.factory.createIdentifier("undefined")),m=be(l.text)?x.factory.createStringLiteral(l.text):l;return x.factory.createPropertyAssignment(m,d)}),{parts:s,litTag:a}=Ft(r,e);return s.length>0&&o.push(x.factory.createPropertyAssignment(x.factory.createIdentifier("children"),Xe({key:void 0,parts:s,litTag:a},e))),x.factory.createCallExpression(n,void 0,[x.factory.createObjectLiteralExpression(o.filter($l))])}function Ft(e,t){let n,r=e.flatMap(i=>{if(x.isJsxText(i))return[t.compiler.shouldMinifyJsx?kr(i.text):i.text];if(x.isJsxExpression(i))return wt(t,i,i);{let o=Vi(t,i);if(o.key===void 0&&o.litTag!==ce&&o.litTag!==te){if(o.litTag===vn)return o.parts;if(n!==void 0&&o.litTag!==void 0&&n!==o.litTag)throw new Error(`Unexpectedly found both ${n} and ${o.litTag} child elements inside the same element.`);return n=o.litTag,o.parts}else return[Xe(o,t)]}});return{litTag:n,parts:r}}function Jl(e){return e.operatorToken.kind===x.SyntaxKind.AmpersandAmpersandToken?x.factory.createBinaryExpression(e,x.factory.createToken(x.SyntaxKind.BarBarToken),x.factory.createStringLiteral("")):e}function wt(e,t,n){if(t.expression===void 0){if(e.compiler.shouldMinifyJsx)return[];let r=t.getText(e.sourceFile).slice(1,-1);return Pt(r).length===0?[]:[$n(r,x.factory.createIdentifier("undefined"))]}return x.isStringLiteral(t.expression)?[at(t.expression.text)]:e.compiler.viteCommand==="serve"&&e.compiler.typeScriptConfig.sourceMap&&!e.compiler.shouldMinifyJsx&&x.isArrowFunction(t.expression)&&!x.isBlock(t.expression.body)?[X(e,n,x.factory.updateArrowFunction(t.expression,t.expression.modifiers,t.expression.typeParameters,t.expression.parameters,t.expression.type,t.expression.equalsGreaterThanToken,x.factory.createBlock([x.factory.createReturnStatement(t.expression.body)],!0)))]:[X(e,n,t.expression)]}function jl(e,t){if(t in e.localComponents)for(let r of e.compiler.privateApiJson.modules)for(let i of r.declarations){if(!("customElement"in i)||i.tagName!==t)continue;let o=new Set;for(let s of i.members)s.kind==="field"&&s.docsTags?.some(a=>a.name==="required")===!0&&o.add(s.name);return o}}import N from"typescript";import{path as Jn}from"@arcgis/components-build-utils";var zi=e=>e.reduce((t,[n,r])=>(t[n]??=[],t[n].push(r),t),{}),Qe={[ne]:["lit-html","lit/html.js","lit"],[ce]:["lit-html/static.js","lit/static-html.js"],[de]:["lit-html","lit/html.js","lit"],[te]:["lit-html/static.js","lit/static-html.js"],[wn]:["lit-html","lit/html.js","lit"],[En]:["@lit/reactive-element/css-tag.js","@lit/reactive-element","lit"],safeClassMap:["@arcgis/lumina"],safeStyleMap:["@arcgis/lumina"],keyed:["lit-html/directives/keyed.js","lit/directives/keyed.js"],live:["lit-html/directives/live.js","lit/directives/live.js"],repeat:["lit-html/directives/repeat.js","lit/directives/repeat.js"],ref:["lit-html/directives/ref.js","lit/directives/ref.js"],nothing:["lit-html","lit/html.js","lit-element/lit-element.js","lit","@arcgis/lumina"]},qi=zi(Object.entries(Qe).flatMap(([e,t])=>t.map(n=>[n,e]))),kt=new Set(Object.keys(qi));function Gi(e,t){let n=t.importClause,r=t.moduleSpecifier;if(!N.isStringLiteral(r))return t;let i=Ol(e.sourceFile.fileName,r.text,""),o=!n?.isTypeOnly;if(o&&e.existingImportedModules.add(i),n===void 0)return t;if(e.isInLightDomComponent&&r.text.startsWith(".")&&Ae.test(r.text)&&!r.text.includes("?"))return N.factory.updateImportDeclaration(t,t.modifiers,n,N.factory.createStringLiteral(r.text+K),t.attributes);if(n.name!==void 0){let p=n.name.text,l=n.name.text.startsWith(p[0].toUpperCase()),c=Jn.isAbsolute(i);o&&!n.isTypeOnly&&l&&c&&e.importedFunctionComponentsFromModules.add(i)}let s=n.namedBindings;if(s===void 0||!N.isNamedImports(s))return t;let a=kt.has(r.text);return s.elements.forEach(p=>{let l=(p.propertyName??p.name).text,c=Qe[l];if(a){if(c?.some(u=>u===r.text)){let u=Xi(l,i);e.existingLitImports.add(u),e.importRenames[u]=p.name?.text??u}}else(p.name.text==="h"||p.name.text==="createElement")&&(e.hasNonLuminaJsxImport=!0);let d=l.startsWith(l[0].toUpperCase()),m=Jn.isAbsolute(i);o&&!p.isTypeOnly&&d&&m&&e.importedFunctionComponentsFromModules.add(i)}),t}var Xi=(e,t)=>e===ne&&Qe.staticHtml.includes(t)?ce:e===de&&Qe.staticSvg.includes(t)?te:e,Ol=(e,t,n)=>t.startsWith(".")?Jn.resolve(e,"..",`${t}${n}`):t;function Qi(e){return N.isImportDeclaration(e)?Bl(this,e):e}function Bl(e,t){let n=t.importClause,r=n?.namedBindings,i=t.moduleSpecifier;if(!N.isStringLiteral(i)||!r||!N.isNamedImports(r)||!kt.has(i.text))return t;let o=n.isTypeOnly,s=!1,a=r.elements.map(p=>{let l=(p.propertyName??p.name).text,c=Xi(l,i.text);return e.neededImports.has(c)?(e.existingLitImports.delete(c),e.neededImports.delete(c),s=!0,N.factory.updateImportSpecifier(p,!1,p.propertyName,p.name)):o?N.factory.updateImportSpecifier(p,!0,p.propertyName,p.name):p});return qi[i.text]?.forEach(p=>{!e.neededImports.has(p)||e.existingLitImports.has(p)||(e.neededImports.delete(p),s=!0,a.push(Zi(p,e)))}),s?N.factory.updateImportDeclaration(t,t.modifiers,N.factory.updateImportClause(n,!1,n.name,N.factory.updateNamedImports(r,a)),t.moduleSpecifier,t.attributes):t}function Yi(e){let t=zi(Array.from(e.neededImports,n=>[Qe[n][0],n]));return Object.entries(t).map(([n,r])=>N.factory.createImportDeclaration(void 0,N.factory.createImportClause(!1,void 0,N.factory.createNamedImports(r.map(i=>(e.neededImports.delete(i),Zi(i,e))))),N.factory.createStringLiteral(n)))}function Zi(e,t){let n=e===ce?ne:e===te?de:e,r=t.importRenames[e];return r===n?N.factory.createImportSpecifier(!1,void 0,N.factory.createIdentifier(n)):N.factory.createImportSpecifier(!1,N.factory.createIdentifier(n),N.factory.createIdentifier(r))}import{path as Wl,toSystemPathSeparators as Hl}from"@arcgis/components-build-utils";function eo(e){let t=xi().map(({packageName:n})=>n);return e.existingImportedModules.forEach(n=>{if(Wl.isAbsolute(n))return;let{packageName:r,moduleName:i}=an(n);if(t.includes(r??"")&&(i.startsWith("dist/components")||i.startsWith("components"))){let o=Hl(e.sourceFile.fileName);throw new Error(`Did not expect to find any explicit imports for "${n}". Found import in ${o}. Imports for web components that your component consumes will be added automatically at build-time as appropriate for a given output target. Type-only imports are still allowed. If you believe this is an error, please notify Lumina maintainers.`)}}),[]}function to(e){if(e.compiler.viteCommand==="serve")return e.customElementsToImport.clear(),[];let t=e.compiler._customElementDependencies;return t[e.sourceFile.fileName]??={referencedBy:[],referencedTagNames:[]},t[e.sourceFile.fileName].referencedTagNames=Array.from(e.customElementsToImport),e.customElementsToImport.clear(),e.importedFunctionComponentsFromModules.forEach(n=>{let r=`${n}.tsx`;t[r]??={referencedBy:[],referencedTagNames:[]},t[r].referencedBy.push(e.sourceFile.fileName)}),[]}import{path as Kl,toSystemPathSeparators as _l}from"@arcgis/components-build-utils";function no(e,t,n){let r=ht()[t]??jn(e)[t];if(r===void 0){let i=_l(n);throw new Error(`Unable to resolve the definition of the "${t}" custom element. Used in ${i}. If this is coming from an external package, make sure that package is installed as a peerDependency or a dependency. If in development-only you wish to use a component package that is defined as a devDependency, then provide serve.extraDependencies option to useLumina()`)}return r}function ro(e,t){return e.packageName===void 0?Z(t,e.moduleName):Kl.join(e.packageName,e.moduleName)}function jn(e){return e._localDefinedComponents??=bn(e.privateApiJson,{packageName:void 0,getImportPath(){throw new Error("Not supposed to be called for local components")}}),e._localDefinedComponents}var io=(e,t)=>{let n=e.pragmas;if(n?.has("jsx")===!0||n?.has("jsxImportSource")===!0)return e.statements;let r={compiler:t.compiler,externalComponents:ht(),localComponents:t.compiler.isInPuppeteerTestBackEnd?{}:jn(t.compiler),sourceFile:e,transformationContext:t.transformation,importRenames:Vl(e),existingImportedModules:new Set,importedFunctionComponentsFromModules:new Set,existingLitImports:new Set,customElementsToImport:new Set,neededImports:new Set,liftedKeys:new Set,hasNonLuminaJsxImport:!1,isInLightDomComponent:t.apiModule?.declarations.some(s=>"customElement"in s&&s.encapsulation!==void 0)??!1},i=[];if(e.statements.every(s=>{if(Ul.isImportDeclaration(s)){if(i.push(Gi(r,s)),r.hasNonLuminaJsxImport)return!1}else i.push(X(r,void 0,s));return!0}),r.hasNonLuminaJsxImport)return e.statements;if(r.neededImports.size>0&&(i=i.map(Qi,r),r.existingLitImports.size>0))throw new Error(`Expected context.existingLitImports to be empty by now. Found: ${Array.from(r.existingLitImports).join(", ")}`);let o=[Yi,eo,to].flatMap(s=>s(r));if(r.neededImports.size>0)throw new Error(`Expected context.neededLitImports to be empty by now. Found: ${Array.from(r.neededImports).join(", ")}`);return[...o,...i]};function Vl(e){return zl(e),Object.fromEntries(Si.map(t=>[t,e.identifiers.has(t)?`${t}$jsx`:t]))}function zl(e){if(!("identifiers"in e))throw new Error("Expected sourceFile to have an undocumented identifiers property that is a Map<string,string>. If this error is thrown, it may mean Lumina Compiler needs to be updated to support the version of TypeScript being used.")}import L from"typescript";import O from"typescript";import{PropertyFlags as ue}from"@arcgis/lumina/config";function oo(e,t,n){return t.size===0?e:[O.factory.createPropertyDeclaration([O.factory.createModifier(O.SyntaxKind.StaticKeyword),O.factory.createModifier(O.SyntaxKind.OverrideKeyword)],"properties",void 0,void 0,O.factory.createObjectLiteralExpression(Array.from(t.entries()).map(([r,i])=>O.factory.createPropertyAssignment(be(r)?O.factory.createStringLiteral(r):r,ql(i,n))))),...e]}function ql(e,t){let n=0,r=!0,i=e.properties.filter(a=>{if(!O.isPropertyAssignment(a)||!O.isIdentifier(a.name))return!0;let p=a.name.text,l=a.initializer,c=l.kind===O.SyntaxKind.TrueKeyword,d=l.kind===O.SyntaxKind.FalseKeyword;if(p==="attribute")return r=!1,n|=c?ue.ATTRIBUTE:0,!c&&!d;if(p==="reflect")return n|=c?ue.REFLECT:0,!1;if(p==="type"&&O.isIdentifier(l)){if(l.text==="Boolean")return n|=ue.BOOLEAN,!1;if(l.text==="Number")return n|=ue.NUMBER,!1}else{if(p==="state")return r=!1,n|=c?ue.STATE:0,!1;if(p==="readOnly")return n|=c?ue.READ_ONLY:0,!1;p==="noAccessor"&&(n|=c?ue.NO_ACCESSOR:0)}return!0});r&&(n|=ue.ATTRIBUTE);let o=t?i:e.properties,s=O.factory.createNumericLiteral(n);return o.length===0?s:O.factory.createArrayLiteralExpression([s,O.factory.createObjectLiteralExpression(o)])}import{identity as Zl}from"@arcgis/components-utils";import B from"typescript";import $ from"typescript";function so(e,t,n,r,i){let o=-1,s=-1,a=-1;t.options?.properties.forEach((m,u)=>{if($.isSpreadAssignment(m))throw new Error(`Spread property assignment is not allowed in @property() as that is not statically analyzable. Found ${m.getText(r)}`);if($.isIdentifier(m.name)){let f=m.name.text;f==="type"?o=u:f==="attribute"?s=u:f==="readOnly"&&(a=u)}});let p=i?.attribute===void 0&&s===-1,l=i?.readonly===!0&&i.docsOnlyReadonly!==!0&&a===-1,c=Gl(e,t,n,i,o),d=[...p?[$.factory.createPropertyAssignment("attribute",$.factory.createFalse())]:[],...l?[$.factory.createPropertyAssignment("readOnly",$.factory.createTrue())]:[],...c!==void 0?[c]:[]];return d.length>0?t.options===void 0?$.factory.createObjectLiteralExpression(d,!1):$.factory.updateObjectLiteralExpression(t.options,[...t.options.properties,...d]):t.options}function Gl(e,t,n,r,i){if(r?.attribute===void 0)return;let o=Ql(e),s=n.compiler.viteCommand==="serve"||o!=="Other"?o:Xl(r.type.values);return s==="Other"||r.readonly&&(s!=="Boolean"||!r.reflects)||t.options?.properties[i]!==void 0?void 0:$.factory.createPropertyAssignment($.factory.createIdentifier("type"),$.factory.createIdentifier(s))}function Xl(e){let t=!1,n=!1,r=!1;if(e?.forEach(i=>{t||=i.type==="number",n||=i.type==="boolean",r||=i.type==="string"||i.type==="any"||i.type==="unknown"}),r||=t&&n,!r){if(t)return"Number";if(n)return"Boolean"}return"Other"}function Ql(e){let t=e.type??($.isSetAccessor(e)?e.parameters[0].type:void 0);if(t===void 0){if("initializer"in e&&e.initializer!==void 0){if($.isNumericLiteral(e.initializer)||$.isPrefixUnaryExpression(e.initializer)&&e.initializer.operator===$.SyntaxKind.MinusToken&&$.isNumericLiteral(e.initializer.operand))return"Number";if(e.initializer.kind===$.SyntaxKind.FalseKeyword||e.initializer.kind===$.SyntaxKind.TrueKeyword)return"Boolean"}}else{if(t.kind===$.SyntaxKind.NumberKeyword)return"Number";if(t.kind===$.SyntaxKind.BooleanKeyword)return"Boolean"}return"Other"}import{getMemberName as lo}from"@arcgis/api-extractor";function co(e,t,n,r,i){if(t.modifiers===void 0)return t;let o=-1,s=-1;if(t.modifiers.forEach((a,p)=>{if(B.isDecorator(a)&&B.isCallExpression(a.expression)&&B.isIdentifier(a.expression.expression)){let l=a.expression.expression.text;l==="property"&&(o=p),l==="state"&&(s=p)}}),o!==-1){let a=Yl(e,t,n,r),p=ao(t,o,r),l=so(t,p,e,r,a),c=!1;return i!==void 0&&a&&(i.set(a.name,l??B.factory.createObjectLiteralExpression()),c=!0),p.options=l,po(t,p,o,c)}else if(s!==-1&&i!==void 0){let a=ao(t,s,r),p=B.factory.createPropertyAssignment("state",B.factory.createTrue()),l=a.options===void 0?B.factory.createObjectLiteralExpression([p]):B.factory.updateObjectLiteralExpression(a.options,[...a.options.properties,p]),c=lo(t.name);if(c===void 0)throw new Error("Failed to statically determine the state property name");return i.set(c,l),po(t,a,s,!0)}else return t}function Yl(e,t,n,r){let i=e.apiModule?.declarations.find(s=>s.name===n)??(e.compiler.isInTest?{name:"",members:[]}:void 0);if(i===void 0)return;let o=ur(i,t)??(e.compiler.isInTest?{kind:"field",attribute:"",readonly:!1,name:"",type:{text:""}}:void 0);if(!(o===void 0||o.kind!=="field")){if(o.name===""){let s=lo(t.name);if(s===void 0)throw new Error(`Failed to statically determine the property name: ${t.getText(r)}`);o.name=s}return o}}function ao(e,t,n){let r=e.modifiers[t],i=r.expression,o=i.arguments.at(0);if(o&&!B.isObjectLiteralExpression(o))throw new Error(`First argument to @property() or @state() decorator must be an object literal as otherwise it is not statically analyzable. Found ${o.getText(n)}`);return{decorator:r,callExpression:i,options:o}}function po(e,t,n,r){let i=r?void 0:B.factory.updateDecorator(t.decorator,B.factory.updateCallExpression(t.callExpression,t.callExpression.expression,t.callExpression.typeArguments,t.options===void 0?[]:[t.options])),o=[...e.modifiers.slice(0,n),...i===void 0?[]:[i],...e.modifiers.slice(n+1)];return B.isGetAccessorDeclaration(e)?B.factory.updateGetAccessorDeclaration(e,o,e.name,e.parameters,e.type,e.body):B.isSetAccessorDeclaration(e)?B.factory.updateSetAccessorDeclaration(e,o,e.name,e.parameters,e.body):B.factory.updatePropertyDeclaration(e,o,e.name,e.questionToken??e.exclamationToken,e.type,e.initializer)}var mo=(e,t)=>{if(t.apiModule===void 0&&!t.compiler.isInTest)return e.statements;let n;function r(){n=new Map}let i=a=>oo(a,n,t.compiler.shouldMinify),o=(a,p)=>tc(t,a,p,e,n);return e.statements.map(a=>uo(o,a,t,r,i))};function uo(e,t,n,r,i=Zl){if(L.isClassDeclaration(t)&&t.heritageClauses?.some(s=>s.token===L.SyntaxKind.ExtendsKeyword)){let s=!1,a=t.name?.text;r?.();let p=i(t.members.map(c=>{let d=e(c,a);return s||=d!==c,d}));return s?L.factory.updateClassDeclaration(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,p):t}return n.compiler.isInTest?L.visitEachChild(t,s=>uo(e,s,n,r,i),n.transformation):t}var ec=new Set(["connectedCallback","disconnectedCallback"]);function tc(e,t,n,r,i){if(L.isMethodDeclaration(t)){let o=t.modifiers?.filter(s=>!L.isDecorator(s)||!nc(s));if(o?.length!==t.modifiers?.length)return L.factory.updateMethodDeclaration(t,o,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,t.body);if("text"in t.name&&ec.has(t.name.text)&&t.body){let s=t.name.text;return t.body.statements.some(p=>L.isExpressionStatement(p)&&L.isCallExpression(p.expression)&&L.isPropertyAccessExpression(p.expression.expression)&&p.expression.expression.expression.kind===L.SyntaxKind.SuperKeyword&&p.expression.expression.name.text===s)?t:L.factory.updateMethodDeclaration(t,t.modifiers,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,L.factory.updateBlock(t.body,[L.factory.createExpressionStatement(L.factory.createCallExpression(L.factory.createPropertyAccessExpression(L.factory.createSuper(),s),void 0,[])),...t.body.statements]))}}return L.isPropertyDeclaration(t)||L.isAccessor(t)?co(e,t,n,r,i):t}var nc=e=>L.isCallExpression(e.expression)&&L.isIdentifier(e.expression.expression)&&e.expression.expression.text==="method";import{path as go}from"@arcgis/components-build-utils";var fo="makeRuntime(";function yo(e,t){let n=e.indexOf(fo);if(n===-1)throw new Error("Failed to find makeRuntime() function call in src/runtime.ts");let r=n+fo.length,i=t.options.css?.commonStylesPath;return{code:[i===void 0?"":`import commonStyles from "${Z(t.dir.src,i)}";`,e.slice(0,r),"{","defaultAssetPath:import.meta.env.BASE_URL,",'hydratedAttribute:"',t.options.css?.hydratedAttribute??ln,'",',i===void 0?"":"commonStyles","}",e.slice(r)].join(""),map:null}}var ic=[io,lr,mo],ho=e=>({name:"@arcgis/lumina:transformComponents",transform:{order:"pre",async handler(t,n){if(!n.endsWith(".tsx")){if(e.isInTest&&n.endsWith(".ts")&&We(n)&&t.includes("extends LitElement"))console.warn("It looks like you may be trying to define a component inside a test file. This is supported, but you must use the .tsx file extension for you test");else if(n===`${e.dir.src}runtime.ts`)return yo(t,e);return}let r=e.getSourceFile(n,t);await le;let o=rc.transform(r,[m=>()=>it(e,m,r,[...e.options.types?.sourceFileTransformers??[],...ic])]).transformed[0],s=e._compilerOptionsForPrinter,a=e._typeScriptPrinter,p=s.sourceMap?he.createSourceMapGenerator(e.typeScriptHost,go.basename(n),"",go.dirname(n),s):void 0,l=he.createTextWriter(he.getNewLineCharacter(s));a.writeFile(o,l,p);let c=l.getText(),d=p?.toJSON();return{code:c,map:d??null}}}});function Co(e){let t=e.typeScriptConfig;return{...t,declaration:!1,declarationMap:!1,emitDeclarationOnly:!1,sourceMap:t.sourceMap??t.inlineSourceMap,inlineSourceMap:!1,allowSyntheticDefaultImports:!0,suppressOutputPathCheck:!0,noLib:!0,noResolve:!0,skipLibCheck:!0}}function To(e){let t=e.options.types?.tsconfigPath,n=t&&xo.isAbsolute(t)?t:oc(t??"tsconfig.json");if(n===void 0)throw new Error(`Unable to find ${sc(String(t))} in ${process.cwd()}. Please make sure the file exists, or provide types.tsconfigPath option to useLumina()`);let r=V.readConfigFile(n,V.sys.readFile);if(r.error!==void 0)throw new Error(V.formatDiagnosticsWithColorAndContext([r.error],{getCanonicalFileName:pc,getCurrentDirectory:V.sys.getCurrentDirectory,getNewLine:()=>V.sys.newLine}));let i={...r.config,include:[],files:[],exclude:[]},o=V.parseJsonConfigFileContent(i,V.sys,xo.dirname(n));e.typeScriptConfig=o.options,e.typeScriptConfigPath=n}function It(e){let t=e.target;if(t===void 0)throw new Error('TypeScript config must have a "target" property specified (or any parent tsconfig.json file if this config is extending another tsconfig.json)');let n=V.ScriptTarget[t].toLowerCase();return n==="latest"?"esnext":n}function bo(e,t){if(e.isInStorybook&&e.viteCommand==="serve"){let n=(s,a,p,...l)=>{let c=s.filter(d=>(!d.includes(".stories.")||d.endsWith(".tsx"))&&!We(d));return e.typeScriptHost=p,V.createAbstractBuilder(c,a,p,...l)},r=V.createWatchCompilerHost(e.typeScriptConfigPath,{preserveWatchOutput:!0},V.sys,n),i=50,o=r.setTimeout;r.setTimeout=o===void 0?void 0:(s,a,...p)=>o(s,p[0]==="timerToUpdateProgram"?i:a,...p),r.afterProgramCreate=s=>{e.typeScriptProgram=s.getProgram(),e.typeScriptTypeChecker=e.typeScriptProgram.getTypeChecker(),e._typeScriptReload?.resolve(),e._typeScriptReload=new ac},e.typeScriptWatchProgram=V.createWatchProgram(r),e.typeScriptConfig=e.typeScriptProgram.getCompilerOptions()}e.typeScriptConfig.sourceMap=t,e._compilerOptionsForPrinter=Co(e),e._typeScriptPrinter=lt(e._compilerOptionsForPrinter)}import{writeFile as uc}from"node:fs/promises";import{asyncRetrievePackageJson as lc,fetchPackageLocation as cc,retrievePackageJson as dc}from"@arcgis/components-build-utils";var On="@arcgis/core",So=dc(),Y=On in(So.dependencies??{})||On in(So.peerDependencies??{});async function Eo(e,t){if(!Y)return[];let n=await cc(On);if(t==="storybookBuild"){let r=await lc(n),i=ee({name:"",version:r.version},!0);return[{tag:"script",attrs:{type:"importmap"},children:JSON.stringify({imports:{"@arcgis/core/":`${i}@arcgis/core/`}})},vo(i)]}else return[vo(Fe(e,`${n}/assets/`))]}var vo=e=>({cssHref:`${e}esri/themes/light/main.css`,id:"arcgisCoreStylesheet"});var Bn=new Set(["chunks","components","docs","types","controllers","cjs","esm","loader","utils","collection","extras","support"]),Re="cdn";function wo(e){let{skip:t=!1,namespace:n=Re,esbuildOptions:r={}}=e.options.build?.cdn??{};if(n.toLowerCase()!==n)throw new Error(`Expected CDN namespace to be all lowercase. Received: ${n}`);if(Bn.has(n))throw new Error(`Namespace name "${n}" is restricted as it collides with a well-known Lumina dist/ folder name or Stencil dist/ folder name.`);let i=n===Re?"index":n;if(e.provideAssets([{type:"dynamic",source:()=>ni(e),destination:`../${i}.css`}]),!t)return{name:"@arcgis/lumina:buildCdn",async writeBundle(){if(e.isInStorybook)return;let o=Date.now(),s=await fc(e,i,r);await yc(s,e.dir.distCdn,i);let a=Date.now();console.log(`CDN was built in ${a-o}ms`)}}}async function fc(e,t,n){let r=e.environment;if(n.minify&&Y)throw Error("Unminified CDN build is not yet supported - open a feature request with Lumina maintainers if it is needed");if(n.sourcemap&&Y)throw Error("Source maps in the CDN build are not yet supported - open a feature request with Lumina maintainers if it is needed");return await mc({bundle:!0,minify:Y?!0:r==="production",treeShaking:!0,sourcemap:Y?!1:r==="development"?"inline":e.options.build?.enableSourceMapsInProduction?"linked":!1,format:"esm",splitting:!0,write:!1,outdir:e.dir.distCdn,legalComments:"external",logLevel:"warning",external:["@arcgis/core"],chunkNames:"[hash]",resolveExtensions:[".js",".json"],entryNames:Fo(t),banner:{js:e.banner},target:It(e.typeScriptConfig),...n,plugins:[...e.options.build?.ssr?.stencilCompatibility?.enabled===!0?[{name:"@arcgis/lumina:drop-lit-ssr-import",setup(i){i.onResolve({filter:/^@lit-labs\/ssr-client\//u},o=>({path:o.path,namespace:"@arcgis/lumina:drop-lit-ssr-import"})),i.onLoad({filter:/^/u,namespace:"@arcgis/lumina:drop-lit-ssr-import"},()=>({contents:'""',loader:"json"}))}}]:[],...n?.plugins??[]],define:{"process.env.CDN":"true",...n.define},stdin:{contents:`import { defineCustomElements } from "./loader";
52
+ Found ${S.getText(e.sourceFile)}`);let{name:b,initializer:M}=S;if(x.isJsxNamespacedName(b)){let q=Dt(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${b.getText(e.sourceFile)} in "${q}"`)}let j=b.text,Be=$i(M),P=Be?.propType??Ri(j,M,a);l?.delete(j);let I=Ni[P](e,Be?.initializer??M,j,a);if(I.length===0)return[];let W=e.compiler.shouldMinifyJsx?" ":Ji(Ln(b,e));return P==="key"?(c=typeof I[0]=="object"&&!Rn(b,e)?I[0]:void 0,Array.isArray(W)&&W.some(Mi)?W:[]):P==="directives"||P==="ref"?(d.push(...W,...I.flatMap((q,ve)=>typeof q=="string"||ve===0||typeof I[ve-1]=="string"?q:[" ",q])),[]):[...W,...I]});if(l!==void 0&&l.size>0&&e.compiler.logLintError("mustIncludeAllRequiredProperties",e.sourceFile.fileName,`Missing required properties for <${a}> in ${e.sourceFile.fileName.slice(e.compiler.dir.root.length)}: ${Array.from(l).join(", ")}`),d.length>0&&m.push(...d),typeof a=="string"&&Ne.has(a))throw new Error(`JSX syntax for MathML elements is not yet supported. If you need it, please request it. Otherwise, use the \`math\` function from Lit directly. Tried to use the "${a}" element`);let u=typeof a=="string"&&Pi.has(a),f=Ft(n,e);if(u&&f.parts.length>0){let S=Dt(e.sourceFile.fileName);throw new Error(`Void HTML elements like <${a}> cannot have children. Found ${t.getText(e.sourceFile)} in "${S}"`)}let h=(p===de||p===te)&&f.parts.length===0,y=["<",typeof a=="string"?a:o,...m,h?`${m.length===0?"":" "}/>`:">"],T=u||h?y:[...y,...f.litTag!==void 0&&f.litTag!==p?[Xe({key:void 0,...f},e)]:f.parts,"</",typeof a=="string"?a:o,">"];return{key:c,parts:T,litTag:p}}function Rl(e,t){let n=e.attributes.properties[Mn(e)];return n&&x.isJsxAttribute(n)&&!Rn(n.name,t)?qe(n.initializer,t.sourceFile):void 0}var Mn=e=>e.attributes.properties.findIndex(({name:t})=>t&&x.isIdentifier(t)&&t.text==="key");function Ml(e,t,n,r){let o=(x.isJsxElement(t)?t.openingElement:t).attributes.properties.map(p=>{if(x.isJsxSpreadAttribute(p))return $n(Ln(p,e),x.factory.createSpreadAssignment(p.expression));let{name:l,initializer:c}=p;if(x.isJsxNamespacedName(l)){let u=Dt(e.sourceFile.fileName);throw new Error(`JSX namespaced attributes are not supported. Found ${l.getText(e.sourceFile)} in "${u}"`)}if(l.text==="key")return;let d=c===void 0?x.factory.createTrue():x.isStringLiteral(c)?c:ke(c)?Ui(e,c):X(e,void 0,c.expression??x.factory.createIdentifier("undefined")),m=be(l.text)?x.factory.createStringLiteral(l.text):l;return x.factory.createPropertyAssignment(m,d)}),{parts:s,litTag:a}=Ft(r,e);return s.length>0&&o.push(x.factory.createPropertyAssignment(x.factory.createIdentifier("children"),Xe({key:void 0,parts:s,litTag:a},e))),x.factory.createCallExpression(n,void 0,[x.factory.createObjectLiteralExpression(o.filter($l))])}function Ft(e,t){let n,r=e.flatMap(i=>{if(x.isJsxText(i))return[t.compiler.shouldMinifyJsx?kr(i.text):i.text];if(x.isJsxExpression(i))return wt(t,i,i);{let o=Vi(t,i);if(o.key===void 0&&o.litTag!==ce&&o.litTag!==te){if(o.litTag===vn)return o.parts;if(n!==void 0&&o.litTag!==void 0&&n!==o.litTag)throw new Error(`Unexpectedly found both ${n} and ${o.litTag} child elements inside the same element.`);return n=o.litTag,o.parts}else return[Xe(o,t)]}});return{litTag:n,parts:r}}function Jl(e){return e.operatorToken.kind===x.SyntaxKind.AmpersandAmpersandToken?x.factory.createBinaryExpression(e,x.factory.createToken(x.SyntaxKind.BarBarToken),x.factory.createStringLiteral("")):e}function wt(e,t,n){if(t.expression===void 0){if(e.compiler.shouldMinifyJsx)return[];let r=t.getText(e.sourceFile).slice(1,-1);return Pt(r).length===0?[]:[$n(r,x.factory.createIdentifier("undefined"))]}return x.isStringLiteral(t.expression)?[at(t.expression.text)]:e.compiler.viteCommand==="serve"&&e.compiler.typeScriptConfig.sourceMap&&!e.compiler.shouldMinifyJsx&&x.isArrowFunction(t.expression)&&!x.isBlock(t.expression.body)?[X(e,n,x.factory.updateArrowFunction(t.expression,t.expression.modifiers,t.expression.typeParameters,t.expression.parameters,t.expression.type,t.expression.equalsGreaterThanToken,x.factory.createBlock([x.factory.createReturnStatement(t.expression.body)],!0)))]:[X(e,n,t.expression)]}function jl(e,t){if(t in e.localComponents)for(let r of e.compiler.privateApiJson.modules)for(let i of r.declarations){if(!("customElement"in i)||i.tagName!==t)continue;let o=new Set;for(let s of i.members)s.kind==="field"&&s.docsTags?.some(a=>a.name==="required")===!0&&o.add(s.name);return o}}import N from"typescript";import{path as Jn}from"@arcgis/components-build-utils";var zi=e=>e.reduce((t,[n,r])=>(t[n]??=[],t[n].push(r),t),{}),Qe={[ne]:["lit-html","lit/html.js","lit"],[ce]:["lit-html/static.js","lit/static-html.js"],[de]:["lit-html","lit/html.js","lit"],[te]:["lit-html/static.js","lit/static-html.js"],[wn]:["lit-html","lit/html.js","lit"],[En]:["@lit/reactive-element/css-tag.js","@lit/reactive-element","lit"],safeClassMap:["@arcgis/lumina"],safeStyleMap:["@arcgis/lumina"],keyed:["lit-html/directives/keyed.js","lit/directives/keyed.js"],live:["lit-html/directives/live.js","lit/directives/live.js"],repeat:["lit-html/directives/repeat.js","lit/directives/repeat.js"],ref:["lit-html/directives/ref.js","lit/directives/ref.js"],nothing:["lit-html","lit/html.js","lit-element/lit-element.js","lit","@arcgis/lumina"]},qi=zi(Object.entries(Qe).flatMap(([e,t])=>t.map(n=>[n,e]))),kt=new Set(Object.keys(qi));function Gi(e,t){let n=t.importClause,r=t.moduleSpecifier;if(!N.isStringLiteral(r))return t;let i=Ol(e.sourceFile.fileName,r.text,""),o=!n?.isTypeOnly;if(o&&e.existingImportedModules.add(i),n===void 0)return t;if(e.isInLightDomComponent&&r.text.startsWith(".")&&Ae.test(r.text)&&!r.text.includes("?"))return N.factory.updateImportDeclaration(t,t.modifiers,n,N.factory.createStringLiteral(r.text+K),t.attributes);if(n.name!==void 0){let p=n.name.text,l=n.name.text.startsWith(p[0].toUpperCase()),c=Jn.isAbsolute(i);o&&!n.isTypeOnly&&l&&c&&e.importedFunctionComponentsFromModules.add(i)}let s=n.namedBindings;if(s===void 0||!N.isNamedImports(s))return t;let a=kt.has(r.text);return s.elements.forEach(p=>{let l=(p.propertyName??p.name).text,c=Qe[l];if(a){if(c?.some(u=>u===r.text)){let u=Xi(l,i);e.existingLitImports.add(u),e.importRenames[u]=p.name?.text??u}}else(p.name.text==="h"||p.name.text==="createElement")&&(e.hasNonLuminaJsxImport=!0);let d=l.startsWith(l[0].toUpperCase()),m=Jn.isAbsolute(i);o&&!p.isTypeOnly&&d&&m&&e.importedFunctionComponentsFromModules.add(i)}),t}var Xi=(e,t)=>e===ne&&Qe.staticHtml.includes(t)?ce:e===de&&Qe.staticSvg.includes(t)?te:e,Ol=(e,t,n)=>t.startsWith(".")?Jn.resolve(e,"..",`${t}${n}`):t;function Qi(e){return N.isImportDeclaration(e)?Bl(this,e):e}function Bl(e,t){let n=t.importClause,r=n?.namedBindings,i=t.moduleSpecifier;if(!N.isStringLiteral(i)||!r||!N.isNamedImports(r)||!kt.has(i.text))return t;let o=n.isTypeOnly,s=!1,a=r.elements.map(p=>{let l=(p.propertyName??p.name).text,c=Xi(l,i.text);return e.neededImports.has(c)?(e.existingLitImports.delete(c),e.neededImports.delete(c),s=!0,N.factory.updateImportSpecifier(p,!1,p.propertyName,p.name)):o?N.factory.updateImportSpecifier(p,!0,p.propertyName,p.name):p});return qi[i.text]?.forEach(p=>{!e.neededImports.has(p)||e.existingLitImports.has(p)||(e.neededImports.delete(p),s=!0,a.push(Zi(p,e)))}),s?N.factory.updateImportDeclaration(t,t.modifiers,N.factory.updateImportClause(n,!1,n.name,N.factory.updateNamedImports(r,a)),t.moduleSpecifier,t.attributes):t}function Yi(e){let t=zi(Array.from(e.neededImports,n=>[Qe[n][0],n]));return Object.entries(t).map(([n,r])=>N.factory.createImportDeclaration(void 0,N.factory.createImportClause(!1,void 0,N.factory.createNamedImports(r.map(i=>(e.neededImports.delete(i),Zi(i,e))))),N.factory.createStringLiteral(n)))}function Zi(e,t){let n=e===ce?ne:e===te?de:e,r=t.importRenames[e];return r===n?N.factory.createImportSpecifier(!1,void 0,N.factory.createIdentifier(n)):N.factory.createImportSpecifier(!1,N.factory.createIdentifier(n),N.factory.createIdentifier(r))}import{path as Wl,toSystemPathSeparators as Hl}from"@arcgis/components-build-utils";function eo(e){let t=xi().map(({packageName:n})=>n);return e.existingImportedModules.forEach(n=>{if(Wl.isAbsolute(n))return;let{packageName:r,moduleName:i}=an(n);if(t.includes(r??"")&&(i.startsWith("dist/components")||i.startsWith("components"))){let o=Hl(e.sourceFile.fileName);throw new Error(`Did not expect to find any explicit imports for "${n}". Found import in ${o}. Imports for web components that your component consumes will be added automatically at build-time as appropriate for a given output target. Type-only imports are still allowed. If you believe this is an error, please notify Lumina maintainers.`)}}),[]}function to(e){if(e.compiler.viteCommand==="serve")return e.customElementsToImport.clear(),[];let t=e.compiler._customElementDependencies;return t[e.sourceFile.fileName]??={referencedBy:[],referencedTagNames:[]},t[e.sourceFile.fileName].referencedTagNames=Array.from(e.customElementsToImport),e.customElementsToImport.clear(),e.importedFunctionComponentsFromModules.forEach(n=>{let r=`${n}.tsx`;t[r]??={referencedBy:[],referencedTagNames:[]},t[r].referencedBy.push(e.sourceFile.fileName)}),[]}import{path as Kl,toSystemPathSeparators as _l}from"@arcgis/components-build-utils";function no(e,t,n){let r=ht()[t]??jn(e)[t];if(r===void 0){let i=_l(n);throw new Error(`Unable to resolve the definition of the "${t}" custom element. Used in ${i}. If this is coming from an external package, make sure that package is installed as a peerDependency or a dependency. If in development-only you wish to use a component package that is defined as a devDependency, then provide serve.extraDependencies option to useLumina()`)}return r}function ro(e,t){return e.packageName===void 0?Z(t,e.moduleName):Kl.join(e.packageName,e.moduleName)}function jn(e){return e._localDefinedComponents??=bn(e.privateApiJson,{packageName:void 0,getImportPath(){throw new Error("Not supposed to be called for local components")}}),e._localDefinedComponents}var io=(e,t)=>{let n=e.pragmas;if(n?.has("jsx")===!0||n?.has("jsxImportSource")===!0)return e.statements;let r={compiler:t.compiler,externalComponents:ht(),localComponents:t.compiler.isInPuppeteerTestBackEnd?{}:jn(t.compiler),sourceFile:e,transformationContext:t.transformation,importRenames:Vl(e),existingImportedModules:new Set,importedFunctionComponentsFromModules:new Set,existingLitImports:new Set,customElementsToImport:new Set,neededImports:new Set,liftedKeys:new Set,hasNonLuminaJsxImport:!1,isInLightDomComponent:t.apiModule?.declarations.some(s=>"customElement"in s&&s.encapsulation!==void 0)??!1},i=[];if(e.statements.every(s=>{if(Ul.isImportDeclaration(s)){if(i.push(Gi(r,s)),r.hasNonLuminaJsxImport)return!1}else i.push(X(r,void 0,s));return!0}),r.hasNonLuminaJsxImport)return e.statements;if(r.neededImports.size>0&&(i=i.map(Qi,r),r.existingLitImports.size>0))throw new Error(`Expected context.existingLitImports to be empty by now. Found: ${Array.from(r.existingLitImports).join(", ")}`);let o=[Yi,eo,to].flatMap(s=>s(r));if(r.neededImports.size>0)throw new Error(`Expected context.neededLitImports to be empty by now. Found: ${Array.from(r.neededImports).join(", ")}`);return[...o,...i]};function Vl(e){return zl(e),Object.fromEntries(Si.map(t=>[t,e.identifiers.has(t)?`${t}$jsx`:t]))}function zl(e){if(!("identifiers"in e))throw new Error("Expected sourceFile to have an undocumented identifiers property that is a Map<string,string>. If this error is thrown, it may mean Lumina Compiler needs to be updated to support the version of TypeScript being used.")}import L from"typescript";import O from"typescript";import{PropertyFlags as ue}from"@arcgis/lumina/config";function oo(e,t,n){return t.size===0?e:[O.factory.createPropertyDeclaration([O.factory.createModifier(O.SyntaxKind.StaticKeyword),O.factory.createModifier(O.SyntaxKind.OverrideKeyword)],"properties",void 0,void 0,O.factory.createObjectLiteralExpression(Array.from(t.entries()).map(([r,i])=>O.factory.createPropertyAssignment(be(r)?O.factory.createStringLiteral(r):r,ql(i,n))))),...e]}function ql(e,t){let n=0,r=!0,i=e.properties.filter(a=>{if(!O.isPropertyAssignment(a)||!O.isIdentifier(a.name))return!0;let p=a.name.text,l=a.initializer,c=l.kind===O.SyntaxKind.TrueKeyword,d=l.kind===O.SyntaxKind.FalseKeyword;if(p==="attribute")return r=!1,n|=c?ue.ATTRIBUTE:0,!c&&!d;if(p==="reflect")return n|=c?ue.REFLECT:0,!1;if(p==="type"&&O.isIdentifier(l)){if(l.text==="Boolean")return n|=ue.BOOLEAN,!1;if(l.text==="Number")return n|=ue.NUMBER,!1}else{if(p==="state")return r=!1,n|=c?ue.STATE:0,!1;if(p==="readOnly")return n|=c?ue.READ_ONLY:0,!1;p==="noAccessor"&&(n|=c?ue.NO_ACCESSOR:0)}return!0});r&&(n|=ue.ATTRIBUTE);let o=t?i:e.properties,s=O.factory.createNumericLiteral(n);return o.length===0?s:O.factory.createArrayLiteralExpression([s,O.factory.createObjectLiteralExpression(o)])}import{identity as Zl}from"@arcgis/components-utils";import B from"typescript";import $ from"typescript";function so(e,t,n,r,i){let o=-1,s=-1,a=-1;t.options?.properties.forEach((m,u)=>{if($.isSpreadAssignment(m))throw new Error(`Spread property assignment is not allowed in @property() as that is not statically analyzable. Found ${m.getText(r)}`);if($.isIdentifier(m.name)){let f=m.name.text;f==="type"?o=u:f==="attribute"?s=u:f==="readOnly"&&(a=u)}});let p=i?.attribute===void 0&&s===-1,l=i?.readonly===!0&&i.docsOnlyReadonly!==!0&&a===-1,c=Gl(e,t,n,i,o),d=[...p?[$.factory.createPropertyAssignment("attribute",$.factory.createFalse())]:[],...l?[$.factory.createPropertyAssignment("readOnly",$.factory.createTrue())]:[],...c!==void 0?[c]:[]];return d.length>0?t.options===void 0?$.factory.createObjectLiteralExpression(d,!1):$.factory.updateObjectLiteralExpression(t.options,[...t.options.properties,...d]):t.options}function Gl(e,t,n,r,i){if(r?.attribute===void 0)return;let o=Ql(e),s=n.compiler.viteCommand==="serve"||o!=="Other"?o:Xl(r.type.values);return s==="Other"||r.readonly&&(s!=="Boolean"||!r.reflects)||t.options?.properties[i]!==void 0?void 0:$.factory.createPropertyAssignment($.factory.createIdentifier("type"),$.factory.createIdentifier(s))}function Xl(e){let t=!1,n=!1,r=!1;if(e?.forEach(i=>{t||=i.type==="number",n||=i.type==="boolean",r||=i.type==="string"||i.type==="any"||i.type==="unknown"}),r||=t&&n,!r){if(t)return"Number";if(n)return"Boolean"}return"Other"}function Ql(e){let t=e.type??($.isSetAccessor(e)?e.parameters[0].type:void 0);if(t===void 0){if("initializer"in e&&e.initializer!==void 0){if($.isNumericLiteral(e.initializer)||$.isPrefixUnaryExpression(e.initializer)&&e.initializer.operator===$.SyntaxKind.MinusToken&&$.isNumericLiteral(e.initializer.operand))return"Number";if(e.initializer.kind===$.SyntaxKind.FalseKeyword||e.initializer.kind===$.SyntaxKind.TrueKeyword)return"Boolean"}}else{if(t.kind===$.SyntaxKind.NumberKeyword)return"Number";if(t.kind===$.SyntaxKind.BooleanKeyword)return"Boolean"}return"Other"}import{getMemberName as lo}from"@arcgis/api-extractor";function co(e,t,n,r,i){if(t.modifiers===void 0)return t;let o=-1,s=-1;if(t.modifiers.forEach((a,p)=>{if(B.isDecorator(a)&&B.isCallExpression(a.expression)&&B.isIdentifier(a.expression.expression)){let l=a.expression.expression.text;l==="property"&&(o=p),l==="state"&&(s=p)}}),o!==-1){let a=Yl(e,t,n,r),p=ao(t,o,r),l=so(t,p,e,r,a),c=!1;return i!==void 0&&a&&(i.set(a.name,l??B.factory.createObjectLiteralExpression()),c=!0),p.options=l,po(t,p,o,c)}else if(s!==-1&&i!==void 0){let a=ao(t,s,r),p=B.factory.createPropertyAssignment("state",B.factory.createTrue()),l=a.options===void 0?B.factory.createObjectLiteralExpression([p]):B.factory.updateObjectLiteralExpression(a.options,[...a.options.properties,p]),c=lo(t.name);if(c===void 0)throw new Error("Failed to statically determine the state property name");return i.set(c,l),po(t,a,s,!0)}else return t}function Yl(e,t,n,r){let i=e.apiModule?.declarations.find(s=>s.name===n)??(e.compiler.isInTest?{name:"",members:[]}:void 0);if(i===void 0)return;let o=ur(i,t)??(e.compiler.isInTest?{kind:"field",attribute:"",readonly:!1,name:"",type:{text:""}}:void 0);if(!(o===void 0||o.kind!=="field")){if(o.name===""){let s=lo(t.name);if(s===void 0)throw new Error(`Failed to statically determine the property name: ${t.getText(r)}`);o.name=s}return o}}function ao(e,t,n){let r=e.modifiers[t],i=r.expression,o=i.arguments.at(0);if(o&&!B.isObjectLiteralExpression(o))throw new Error(`First argument to @property() or @state() decorator must be an object literal as otherwise it is not statically analyzable. Found ${o.getText(n)}`);return{decorator:r,callExpression:i,options:o}}function po(e,t,n,r){let i=r?void 0:B.factory.updateDecorator(t.decorator,B.factory.updateCallExpression(t.callExpression,t.callExpression.expression,t.callExpression.typeArguments,t.options===void 0?[]:[t.options])),o=[...e.modifiers.slice(0,n),...i===void 0?[]:[i],...e.modifiers.slice(n+1)];return B.isGetAccessorDeclaration(e)?B.factory.updateGetAccessorDeclaration(e,o,e.name,e.parameters,e.type,e.body):B.isSetAccessorDeclaration(e)?B.factory.updateSetAccessorDeclaration(e,o,e.name,e.parameters,e.body):B.factory.updatePropertyDeclaration(e,o,e.name,e.questionToken??e.exclamationToken,e.type,e.initializer)}var mo=(e,t)=>{if(t.apiModule===void 0&&!t.compiler.isInTest)return e.statements;let n;function r(){n=new Map}let i=a=>oo(a,n,t.compiler.shouldMinify),o=(a,p)=>tc(t,a,p,e,n);return e.statements.map(a=>uo(o,a,t,r,i))};function uo(e,t,n,r,i=Zl){if(L.isClassDeclaration(t)&&t.heritageClauses?.some(s=>s.token===L.SyntaxKind.ExtendsKeyword)){let s=!1,a=t.name?.text;r?.();let p=i(t.members.map(c=>{let d=e(c,a);return s||=d!==c,d}));return s?L.factory.updateClassDeclaration(t,t.modifiers,t.name,t.typeParameters,t.heritageClauses,p):t}return n.compiler.isInTest?L.visitEachChild(t,s=>uo(e,s,n,r,i),n.transformation):t}var ec=new Set(["connectedCallback","disconnectedCallback"]);function tc(e,t,n,r,i){if(L.isMethodDeclaration(t)){let o=t.modifiers?.filter(s=>!L.isDecorator(s)||!nc(s));if(o?.length!==t.modifiers?.length)return L.factory.updateMethodDeclaration(t,o,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,t.body);if("text"in t.name&&ec.has(t.name.text)&&t.body){let s=t.name.text;return t.body.statements.some(p=>L.isExpressionStatement(p)&&L.isCallExpression(p.expression)&&L.isPropertyAccessExpression(p.expression.expression)&&p.expression.expression.expression.kind===L.SyntaxKind.SuperKeyword&&p.expression.expression.name.text===s)?t:L.factory.updateMethodDeclaration(t,t.modifiers,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,L.factory.updateBlock(t.body,[L.factory.createExpressionStatement(L.factory.createCallExpression(L.factory.createPropertyAccessExpression(L.factory.createSuper(),s),void 0,[])),...t.body.statements]))}}return L.isPropertyDeclaration(t)||L.isAccessor(t)?co(e,t,n,r,i):t}var nc=e=>L.isCallExpression(e.expression)&&L.isIdentifier(e.expression.expression)&&e.expression.expression.text==="method";import{path as go}from"@arcgis/components-build-utils";var fo="makeRuntime(";function yo(e,t){let n=e.indexOf(fo);if(n===-1)throw new Error("Failed to find makeRuntime() function call in src/runtime.ts");let r=n+fo.length,i=t.options.css?.commonStylesPath;return{code:[i===void 0?"":`import commonStyles from "${Z(t.dir.src,i)}";`,e.slice(0,r),"{","defaultAssetPath:import.meta.env.BASE_URL,",'hydratedAttribute:"',t.options.css?.hydratedAttribute??ln,'",',i===void 0?"":"commonStyles","}",e.slice(r)].join(""),map:null}}var ic=[io,lr,mo],ho=e=>({name:"@arcgis/lumina:transformComponents",transform:{order:"pre",async handler(t,n){if(!n.endsWith(".tsx")){if(e.isInTest&&n.endsWith(".ts")&&We(n)&&t.includes("extends LitElement"))console.warn("It looks like you may be trying to define a component inside a test file. This is supported, but you must use the .tsx file extension for you test");else if(n===`${e.dir.src}runtime.ts`)return yo(t,e);return}let r=e.getSourceFile(n,t);await le;let o=rc.transform(r,[m=>()=>it(e,m,r,[...e.options.types?.sourceFileTransformers??[],...ic])]).transformed[0],s=e._compilerOptionsForPrinter,a=e._typeScriptPrinter,p=s.sourceMap?he.createSourceMapGenerator(e.typeScriptHost,go.basename(n),"",go.dirname(n),s):void 0,l=he.createTextWriter(he.getNewLineCharacter(s));a.writeFile(o,l,p);let c=l.getText(),d=p?.toJSON();return{code:c,map:d??null}}}});function Co(e){let t=e.typeScriptConfig;return{...t,declaration:!1,declarationMap:!1,emitDeclarationOnly:!1,sourceMap:t.sourceMap??t.inlineSourceMap,inlineSourceMap:!1,allowSyntheticDefaultImports:!0,suppressOutputPathCheck:!0,noLib:!0,noResolve:!0,skipLibCheck:!0}}function To(e){let t=e.options.types?.tsconfigPath,n=t&&xo.isAbsolute(t)?t:oc(t??"tsconfig.json");if(n===void 0)throw new Error(`Unable to find ${sc(String(t))} in ${process.cwd()}. Please make sure the file exists, or provide types.tsconfigPath option to useLumina()`);let r=V.readConfigFile(n,V.sys.readFile);if(r.error!==void 0)throw new Error(V.formatDiagnosticsWithColorAndContext([r.error],{getCanonicalFileName:pc,getCurrentDirectory:V.sys.getCurrentDirectory,getNewLine:()=>V.sys.newLine}));let i={...r.config,include:[],files:[],exclude:[]},o=V.parseJsonConfigFileContent(i,V.sys,xo.dirname(n));e.typeScriptConfig=o.options,e.typeScriptConfigPath=n}function It(e){let t=e.target;if(t===void 0)throw new Error('TypeScript config must have a "target" property specified (or any parent tsconfig.json file if this config is extending another tsconfig.json)');let n=V.ScriptTarget[t].toLowerCase();return n==="latest"?"esnext":n}function bo(e,t){if(e.isInStorybook&&e.viteCommand==="serve"){let n=(s,a,p,...l)=>{let c=s.filter(d=>(!d.includes(".stories.")||d.endsWith(".tsx"))&&!We(d));return e.typeScriptHost=p,V.createAbstractBuilder(c,a,p,...l)},r=V.createWatchCompilerHost(e.typeScriptConfigPath,{preserveWatchOutput:!0},V.sys,n),i=50,o=r.setTimeout;r.setTimeout=o===void 0?void 0:(s,a,...p)=>o(s,p[0]==="timerToUpdateProgram"?i:a,...p),r.afterProgramCreate=s=>{e.typeScriptProgram=s.getProgram(),e.typeScriptTypeChecker=e.typeScriptProgram.getTypeChecker(),e._typeScriptReload?.resolve(),e._typeScriptReload=new ac},e.typeScriptWatchProgram=V.createWatchProgram(r),e.typeScriptConfig=e.typeScriptProgram.getCompilerOptions()}e.typeScriptConfig.sourceMap=t,e._compilerOptionsForPrinter=Co(e),e._typeScriptPrinter=lt(e._compilerOptionsForPrinter)}import{writeFile as uc}from"node:fs/promises";import{asyncRetrievePackageJson as lc,fetchPackageLocation as cc,retrievePackageJson as dc}from"@arcgis/components-build-utils";var On="@arcgis/core",So=dc(),Y=On in(So.dependencies??{})||On in(So.peerDependencies??{});async function Eo(e,t){if(!Y)return[];let n=await cc(On);if(t==="storybookBuild"){let r=await lc(n),i=ee({name:"",version:r.version},!0);return[{tag:"script",attrs:{type:"importmap"},children:JSON.stringify({imports:{"@arcgis/core/":`${i}@arcgis/core/`}})},vo(i)]}else return[vo(Fe(e,`${n}/assets/`))]}var vo=e=>({cssHref:`${e}esri/themes/light/main.css`,id:"arcgisCoreStylesheet"});var Bn=new Set(["chunks","components","docs","types","controllers","cjs","esm","loader","utils","collection","extras","support"]),Re="cdn";function wo(e){let{skip:t=!1,namespace:n=Re,esbuildOptions:r={}}=e.options.build?.cdn??{};if(n.toLowerCase()!==n)throw new Error(`Expected CDN namespace to be all lowercase. Received: ${n}`);if(Bn.has(n))throw new Error(`Namespace name "${n}" is restricted as it collides with a well-known Lumina dist/ folder name or Stencil dist/ folder name.`);let i=n===Re?"index":n;if(e.provideAssets([{type:"dynamic",source:()=>ni(e),destination:`../${i}.css`}]),!t)return{name:"@arcgis/lumina:buildCdn",async writeBundle(){if(e.isInStorybook)return;let o=Date.now(),s=await fc(e,i,r);await yc(s,e.dir.distCdn,i);let a=Date.now();console.log(`CDN was built in ${a-o}ms`)}}}async function fc(e,t,n){let r=e.environment;if(n.minify&&Y)throw Error("Unminified CDN build is not yet supported - open a feature request with Lumina maintainers if it is needed");if(n.sourcemap&&Y)throw Error("Source maps in the CDN build are not yet supported - open a feature request with Lumina maintainers if it is needed");return await mc({bundle:!0,minify:Y?!0:r==="production",treeShaking:!0,sourcemap:Y?!1:r==="development"?"inline":e.options.build?.enableSourceMapsInProduction?"linked":!1,format:"esm",splitting:!0,write:!1,outdir:e.dir.distCdn,legalComments:"external",logLevel:"warning",external:["@arcgis/core"],chunkNames:"[hash]",resolveExtensions:[".js",".json"],entryNames:Fo(t),banner:{js:e.banner},target:It(e.typeScriptConfig),...n,plugins:[...e.options.build?.ssr?.stencilCompatibility?.enabled===!0?[{name:"@arcgis/lumina:drop-lit-ssr-import",setup(i){i.onResolve({filter:/^@lit-labs\/ssr-client\//u},o=>({path:o.path,namespace:"@arcgis/lumina:drop-lit-ssr-import"})),i.onLoad({filter:/^/u,namespace:"@arcgis/lumina:drop-lit-ssr-import"},()=>({contents:'""',loader:"json"}))}}]:[],...n?.plugins??[]],stdin:{contents:`import { defineCustomElements } from "./loader";
53
53
  ${cn(e._globalCssString,e)}
54
54
  /**
55
55
  * We use import.meta.url to get the path to the current file
@@ -1,4 +1,4 @@
1
- import"../chunk-JFKSI6I7.js";import{render as Q}from"lit-html";import{html as X,unsafeStatic as R}from"lit-html/static.js";import{camelToKebab as Le}from"@arcgis/components-utils";import{onTestFinished as xe}from"vitest";async function De(e,{parent:t=document.body,afterConnect:n,dynamicComponents:o,cleanupAfterTest:s=!0}={}){let r=document.createElement("div");r.style.display="contents",t.append(r),s&&xe(()=>Oe(r)),Z(e);let a=o?.some(Z),i;if(typeof e=="string")i=X`<${R(e)}></${R(e)}>`;else if(typeof e=="function")i="tagName"in e?X`<${R(e.tagName)}></${R(e.tagName)}>`:e();else{if(a)throw new Error('When rendering a dynamically created custom element using Lit\'s html`` function, you must ensure that the custom element class name is unique in the test file, or the class should explicitly have the `static override tagName = "some-tag-name";` property with a unique tag name within the test file');i=e}let l=[];function d(h){l.push(h.error),h.preventDefault(),h.stopPropagation()}if(window.addEventListener("error",d),Q(i,r),window.removeEventListener("error",d),l.length===1)throw l[0];if(l.length>1)throw new AggregateError(l,"Multiple errors occurred while creating the custom element");let c=ee(r),p=V,k=n?.(c);k?.then!==void 0&&await k;let _=c;typeof _?.componentOnReady=="function"&&await _.componentOnReady();let g=_?._litElement??p??c;return{el:c,component:g,async reRender(){return typeof e=="function"&&!("tagName"in e)&&Q(e(),t),g.requestUpdate(),await g.updateComplete}}}var V,ke=globalThis;ke.devOnly$luminaComponentRefCallback=e=>{V=e};function Oe(e){for(;e.firstChild;)e.removeChild(e.firstChild);e instanceof HTMLElement&&e.remove()}function Z(e){if(!Te(e)||e.runtime!==void 0)return!1;let t=!1,n=e.tagName;if(!n){t=!1;let o=Le((e.name.length>1?e.name.replaceAll(Ne,""):"")||"Test"),s=o==="test"?"te-st":o.includes("-")?o:`${o}-`;n=s;for(let r=2,a=customElements.get(n);a!==e&&a!==void 0;r+=1)t=!0,n=`${s}-${r}`,a=customElements.get(n)}return globalThis.devOnly$luminaRuntime?.customElement(n,e),Object.defineProperty(e.prototype,"tagName",{value:n.toUpperCase()}),t}var Te=e=>typeof e=="function"&&"lumina"in e,Ne=/\d+$/gu;function ee(e){for(let t of e.children)if("lumina"in t.constructor)return t;for(let t of e.children){let n=ee(t);if(n!=null)return n}return e.firstElementChild??V?.el}import Ue from"vitest-fail-on-console";import{expect as Pe}from"vitest";import Re from"js-beautify";function te(){Pe.addSnapshotSerializer({test(e){return typeof e=="object"&&e!==null&&"innerHTML"in e&&"onslotchange"in e},serialize(e){let t=e.innerHTML.replaceAll(Se,"");return Re.html(t,{indent_size:2,indent_char:" ",preserve_newlines:!1,wrap_line_length:70,indent_inner_html:!1,indent_empty_lines:!1})}})}var Se=/<!--\??(?:lit\$\d+\$)?-->/gu;function $e(){if(ne[oe])return;ne[oe]=!0;let e={...console};Ue({silenceMessage(t,n){return e[n](t),!1}}),te()}var oe=Symbol.for("lumina:didSetupTest"),ne=globalThis;import{isEsriInternalEnv as Me,isNotUndefined as je}from"@arcgis/components-utils";function re(e,t){if(t){let n=e.constructor.elementProperties;e.manager.internals.members=Object.fromEntries(Array.from(n,([o,s])=>s.noAccessor?void 0:[o,[(s.readOnly?2048:0)|(s.state?32:16)]]).filter(je))}else{let n=e.constructor,o=n.__registerControllers?.(e)??void 0;if(n.__registerControllers=void 0,typeof o!="object")throw new Error(process.env.NODE_ENV!=="production"&&Me()?"Failed to retrieve internal component meta. Make sure you have the useComponentsControllers() Rollup Plugin for Stencil Controllers configured in your Stencil config.":"Failed to retrieve component meta");e.manager.internals.members=Object.fromEntries(Object.entries(o).filter(([s,[r]])=>(r&63)!==0))}}function se(e,t=8){return e==null||typeof e=="object"||typeof e=="function"?e:t&4?e==="false"?!1:e===""||!!e:t&2?Number.parseFloat(e):t&1?String(e):e}var W=(e,t)=>e.manager.internals.members?.[t]?.[0];import{isEsriInternalEnv as de}from"@arcgis/components-utils";import{isEsriInternalEnv as U}from"@arcgis/components-utils";import{Deferred as He,isEsriInternalEnv as P,safeAsyncCall as ie,safeCall as u}from"@arcgis/components-utils";import{safeCall as qe}from"@arcgis/components-utils";import{isEsriInternalEnv as Je,safeCall as Be}from"@arcgis/components-utils";import{safeCall as Ke}from"@arcgis/components-utils";import{isEsriInternalEnv as ze}from"@arcgis/components-utils";import{isEsriInternalEnv as St}from"@arcgis/components-utils";var $=Symbol.for("controller"),F="@arcgis/components-controllers",pe=e=>typeof e=="object"&&e!==null&&($ in e||"hostConnected"in e||"hostDisconnected"in e||"hostUpdate"in e||"hostUpdated"in e),he=process.env.NODE_ENV!=="production"&&de()?(e,t)=>{let n=e.component.manager,o="_controllers"in n?n._controllers:void 0;if(o===void 0)return;let s=Array.from(o).indexOf(e);if(s===-1)return;let r=Symbol.for(`${F}: devOnlyControllerData`),a=e.component.el;a[r]??(a[r]={}),a[r][s]=t}:void 0,xt=process.env.NODE_ENV!=="production"&&de()?e=>{let t=e.component.manager,n="_controllers"in t?t._controllers:void 0;if(n===void 0)return;let o=Array.from(n).indexOf(e),s=Symbol.for(`${F}: devOnlyControllerData`);return e.component.el[s]?.[o]}:void 0,L;function E(e){L!==e&&(L=e,queueMicrotask(()=>{L===e&&(L=void 0)}))}function M(e){if(process.env.NODE_ENV!=="production"&&L===void 0)throw new Error([`Unable to find out which component ${e||"this"} controller `,`belongs to. Possible causes:
1
+ import"../chunk-JFKSI6I7.js";import{render as Q}from"lit-html";import{html as X,unsafeStatic as R}from"lit-html/static.js";import{camelToKebab as Le}from"@arcgis/components-utils";import{onTestFinished as xe}from"vitest";async function De(e,{parent:t=document.body,afterConnect:n,dynamicComponents:o,cleanupAfterTest:s=!0}={}){let r=document.createElement("div");r.style.display="contents",t.append(r),s&&xe(()=>Oe(r)),Z(e);let a=o?.some(Z),i;if(typeof e=="string")i=X`<${R(e)}></${R(e)}>`;else if(typeof e=="function")i="tagName"in e?X`<${R(e.tagName)}></${R(e.tagName)}>`:e();else{if(a)throw new Error('When rendering a dynamically created custom element using Lit\'s html`` function, you must ensure that the custom element class name is unique in the test file, or the class should explicitly have the `static override tagName = "some-tag-name";` property with a unique tag name within the test file');i=e}let l=[];function d(h){l.push(h.error),h.preventDefault(),h.stopPropagation()}if(window.addEventListener("error",d),Q(i,r),window.removeEventListener("error",d),l.length===1)throw l[0];if(l.length>1)throw new AggregateError(l,"Multiple errors occurred while creating the custom element");let c=ee(r),p=V,k=n?.(c);k?.then!==void 0&&await k;let _=c;typeof _?.componentOnReady=="function"&&await _.componentOnReady();let g=_?._litElement??p??c;return{el:c,component:g,async reRender(){return typeof e=="function"&&!("tagName"in e)&&Q(e(),t),g.requestUpdate(),await g.updateComplete}}}var V,ke=globalThis;ke.devOnly$luminaComponentRefCallback=e=>{V=e};function Oe(e){for(;e.firstChild;)e.removeChild(e.firstChild);e instanceof HTMLElement&&e.remove()}function Z(e){if(!Te(e)||e.runtime!==void 0)return!1;let t=!1,n=e.tagName;if(!n){t=!1;let o=Le((e.name.length>1?e.name.replaceAll(Ne,""):"")||"Test"),s=o==="test"?"te-st":o.includes("-")?o:`${o}-`;n=s;for(let r=2,a=customElements.get(n);a!==e&&a!==void 0;r+=1)t=!0,n=`${s}-${r}`,a=customElements.get(n)}return globalThis.devOnly$luminaRuntime?.customElement(n,e),Object.defineProperty(e.prototype,"tagName",{value:n.toUpperCase()}),t}var Te=e=>typeof e=="function"&&"lumina"in e,Ne=/\d+$/gu;function ee(e){for(let t of e.children)if("lumina"in t.constructor)return t;for(let t of e.children){let n=ee(t);if(n!=null)return n}return e.firstElementChild??V?.el}import Ue from"vitest-fail-on-console";import{expect as Pe}from"vitest";import Re from"js-beautify";function te(){Pe.addSnapshotSerializer({test(e){return typeof e=="object"&&e!==null&&"innerHTML"in e&&"onslotchange"in e},serialize(e){let t=e.innerHTML.replaceAll(Se,"");return Re.html(t,{indent_size:2,indent_char:" ",preserve_newlines:!1,wrap_line_length:70,indent_inner_html:!1,indent_empty_lines:!1})}})}var Se=/<!--\??(?:lit\$\d+\$)?-->/gu;function $e(){if(ne[oe])return;ne[oe]=!0;let e={...console};Ue({silenceMessage(t,n){return e[n](t),!1}}),te()}var oe=Symbol.for("lumina:didSetupTest"),ne=globalThis;import{isEsriInternalEnv as Me,isNotUndefined as je}from"@arcgis/components-utils";function re(e,t){if(t){let n=e.constructor.elementProperties;e.manager.internals.members=Object.fromEntries(Array.from(n,([o,s])=>s.noAccessor?void 0:[o,[(s.readOnly?2048:0)|(s.state?32:16)]]).filter(je))}else{let n=e.constructor,o=n.__registerControllers?.(e)??void 0;if(n.__registerControllers=void 0,typeof o!="object")throw new Error(process.env.NODE_ENV!=="production"&&Me()?"Failed to retrieve internal component meta. Make sure you have the useComponentsControllers() Rollup Plugin for Stencil Controllers configured in your Stencil config.":"Failed to retrieve component meta");e.manager.internals.members=Object.fromEntries(Object.entries(o).filter(([s,[r]])=>(r&63)!==0))}}function se(e,t=8){return e==null||typeof e=="object"||typeof e=="function"?e:(t&4)!==0?e==="false"?!1:e===""||!!e:(t&2)!==0?Number.parseFloat(e):(t&1)!==0?String(e):e}var W=(e,t)=>e.manager.internals.members?.[t]?.[0];import{isEsriInternalEnv as de}from"@arcgis/components-utils";import{isEsriInternalEnv as U}from"@arcgis/components-utils";import{Deferred as He,isEsriInternalEnv as P,safeAsyncCall as ie,safeCall as u}from"@arcgis/components-utils";import{safeCall as qe}from"@arcgis/components-utils";import{isEsriInternalEnv as Je,safeCall as Be}from"@arcgis/components-utils";import{safeCall as Ke}from"@arcgis/components-utils";import{isEsriInternalEnv as ze}from"@arcgis/components-utils";import{isEsriInternalEnv as St}from"@arcgis/components-utils";var $=Symbol.for("controller"),F="@arcgis/components-controllers",pe=e=>typeof e=="object"&&e!==null&&($ in e||"hostConnected"in e||"hostDisconnected"in e||"hostUpdate"in e||"hostUpdated"in e),he=process.env.NODE_ENV!=="production"&&de()?(e,t)=>{let n=e.component.manager,o="_controllers"in n?n._controllers:void 0;if(o===void 0)return;let s=Array.from(o).indexOf(e);if(s===-1)return;let r=Symbol.for(`${F}: devOnlyControllerData`),a=e.component.el;a[r]??(a[r]={}),a[r][s]=t}:void 0,xt=process.env.NODE_ENV!=="production"&&de()?e=>{let t=e.component.manager,n="_controllers"in t?t._controllers:void 0;if(n===void 0)return;let o=Array.from(n).indexOf(e),s=Symbol.for(`${F}: devOnlyControllerData`);return e.component.el[s]?.[o]}:void 0,L;function E(e){L!==e&&(L=e,queueMicrotask(()=>{L===e&&(L=void 0)}))}function M(e){if(process.env.NODE_ENV!=="production"&&L===void 0)throw new Error([`Unable to find out which component ${e||"this"} controller `,`belongs to. Possible causes:
2
2
  `,"- You might also have multiple versions of ",`@arcgis/components-controllers package installed
3
3
  `,...U()?["- You tried to create controller outside the component. If so, ","please wrap your controller definition in an arrow function (like","`const myController = ()=>makeController(...);`) and call that","function inside the component (`my = myController();`), or ","define your controller using makeGenericController/GenericController ",`instead.
4
4
  `,"- You tried to create a controller inside an async function. ","This is allowed without calling controller.use(). Make sure you ","use it like `await controller.use(useController())`."]:[]].join(""));return L}var v=[];function j(e){if(e===void 0){v=[];return}let t=v.indexOf(e);v=t===-1?[...v,e]:v.slice(0,t+1),queueMicrotask(()=>{v=[]})}function I(){return v}var x;function Ie(e){x!==e&&(x=e,queueMicrotask(()=>{x===e&&(x=void 0)}))}function Ae(){let e=x;return x=void 0,e}var Ve=async(e,t)=>{let n=q(e);if(n===void 0){if(process.env.NODE_ENV!=="production"&&U()&&typeof t=="function")throw new Error("Unable to resolve a controller from the provided value, so can't watch it's exports. The value you passed is not a controller and not a controller exports. If your controller exports a literal value, try making your controller export an object instead");return e}if(await n.ready,typeof t=="function"){if(process.env.NODE_ENV!=="production"&&U()&&n.watchExports===void 0)throw new Error("The controller must implement watchExports method to support watching exports");let o=n.watchExports(s=>t(s,o))}return n.exports},We=async e=>{let t=q(e);if(process.env.NODE_ENV!=="production"&&U()&&t===void 0)throw new Error("Unable to resolve a controller from the provided value. The value you passed is not a controller and not a controller exports. If your controller exports a literal value, try making your controller export an object instead");return await t.ready,t},q=e=>{let n=M().manager.internals.resolveExports(e);if(n!==void 0)return n;if(pe(e))return e;let o=Ae();if(o!==void 0)return o},T={setter:!1,getter:!1,readOnly:!1},N=new WeakMap,ue;ue=$;var J=class{constructor(e){this._callbacks={hostConnected:[],hostDisconnected:[],hostLoad:[],hostLoaded:[],hostUpdate:[],hostUpdated:[],hostDestroy:[],hostLifecycle:[]},this._ready=new He,this._lifecycleCleanups=[],this.connectedCalled=!1,this._loadCalled=!1,this.loadedCalled=!1,this[ue]=!0,this.ready=this._ready.promise,this._exports=le(this),this._exportWatchers=new Set;let t=Fe(e??M(new.target.name));process.env.NODE_ENV!=="production"?(Object.defineProperty(this,"component",{writable:!1,enumerable:!1,configurable:!0,value:t}),"hostDestroy"in this&&this.component.manager.ensureHasDestroy?.()):this.component=t,this.component.addController(this),this.component.manager===void 0||(j(this),queueMicrotask(()=>this.catchUpLifecycle()))}catchUpLifecycle(){let{manager:e}=this.component;e.connectedCalled&&!this.connectedCalled&&this.triggerConnected(),e._loadCalled&&this.triggerLoad().then(()=>{e.loadedCalled&&this.triggerLoaded()}).catch(console.error)}get exports(){return this._exports}set exports(e){let t=this._exports;t!==e&&(this._exports=e,this._exportWatchers.forEach(u),this.connectedCalled&&this.assignedProperty!==!1&&this.component.requestUpdate(this.assignedProperty,t)),this._ready.resolve(e)}setProvisionalExports(e,t=!0){this._exports=t?le(e):e,this._exportWatchers.forEach(u)}watchExports(e){let t=()=>e(this._exports);return this._exportWatchers.add(t),()=>void this._exportWatchers.delete(t)}get use(){return E(this.component),Ve}get useRef(){return E(this.component),We}get useRefSync(){return E(this.component),q}controllerRemoved(){this.component.el.isConnected&&this.triggerDisconnected(),this.triggerDestroy()}onConnected(e){this._callbacks.hostConnected.push(e)}onDisconnected(e){this._callbacks.hostDisconnected.push(e)}onLoad(e){this._callbacks.hostLoad.push(e)}onLoaded(e){this._callbacks.hostLoaded.push(e)}onUpdate(e){this._callbacks.hostUpdate.push(e)}onUpdated(e){this._callbacks.hostUpdated.push(e)}onDestroy(e){process.env.NODE_ENV!=="production"&&P()&&this.component.manager.ensureHasDestroy?.(),this._callbacks.hostDestroy.push(e)}onLifecycle(e){this._callbacks.hostLifecycle.push(e),this.connectedCalled&&this.component.el.isConnected&&this._callLifecycle(e)}triggerConnected(){let e=this;e.hostConnected&&u(e.hostConnected,e),this._callbacks.hostConnected.forEach(u),this.triggerLifecycle(),this.connectedCalled=!0}triggerDisconnected(){let e=this;e.hostDisconnected&&u(e.hostDisconnected,e),this._callbacks.hostDisconnected.forEach(u),this._lifecycleCleanups.forEach(u),this._lifecycleCleanups=[]}async triggerLoad(){if(this._loadCalled)return;this._loadCalled=!0;let e=this;e.hostLoad&&await ie(e.hostLoad,e),this._callbacks.hostLoad.length>0&&await Promise.allSettled(this._callbacks.hostLoad.map(ie)),this._ready.resolve(this._exports)}triggerLoaded(){if(this.loadedCalled)return;let e=this;e.hostLoaded&&u(e.hostLoaded,e),this._callbacks.hostLoaded.forEach(u),this.loadedCalled=!0}triggerUpdate(e){let t=this;t.hostUpdate&&u(t.hostUpdate,t,e),this._callbacks.hostUpdate.forEach(ae,e)}triggerUpdated(e){let t=this;t.hostUpdated&&u(t.hostUpdated,t,e),this._callbacks.hostUpdated.forEach(ae,e)}triggerDestroy(){let e=this;e.hostDestroy&&u(e.hostDestroy,e),this._callbacks.hostDestroy.forEach(u)}triggerLifecycle(){let e=this;e.hostLifecycle&&this._callLifecycle(()=>e.hostLifecycle()),this._callbacks.hostLifecycle.forEach(this._callLifecycle,this)}_callLifecycle(e){E(this.component);let t=u(e);(Array.isArray(t)?t:[t]).forEach(o=>{typeof o=="function"?this._lifecycleCleanups.push(o):typeof o=="object"&&typeof o.remove=="function"&&this._lifecycleCleanups.push(o.remove)})}};function ae(e){u(e,void 0,this)}var me=J;function le(e){if(typeof e!="object"&&typeof e!="function"||e===null)return e;let t=new Proxy(e,{get(n,o,s){if(!(Ge.has(o)&&o in n&&n[o]===t)){if(o in n||o in Promise.prototype||typeof o=="symbol")return typeof n=="function"?n[o]:Reflect.get(n,o,s);if(process.env.NODE_ENV!=="production"&&P()){if(process.env.NODE_ENV==="test"&&(o.startsWith("$$")||o.startsWith("@@")||o==="nodeType"||o==="tagName"||o==="toJSON"||o==="hasAttribute"))return;console.error(`Trying to access "${o.toString()}" on the controller before it's loaded. ${ce}`)}}},set:(n,o,s,r)=>(process.env.NODE_ENV!=="production"&&P()&&console.error(`Trying to set "${o.toString()}" on the controller before it's loaded. ${ce}`),Reflect.set(n,o,s,r))});return t}var Ge=new Set(["exports","_exports"]),ce=process.env.NODE_ENV!=="production"&&P()?["This might be the case if you are trying to access an async controller in ","connectedCallback(). Or, if you are using it inside of ","componentWillLoad()/another controller without controller.use. Example correct ",`usage:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/lumina-compiler",
3
- "version": "4.33.0-next.32",
3
+ "version": "4.33.0-next.34",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -18,9 +18,9 @@
18
18
  ],
19
19
  "license": "SEE LICENSE IN LICENSE.md",
20
20
  "dependencies": {
21
- "@arcgis/api-extractor": "4.33.0-next.32",
22
- "@arcgis/components-build-utils": "4.33.0-next.32",
23
- "@arcgis/components-utils": "4.33.0-next.32",
21
+ "@arcgis/api-extractor": "4.33.0-next.34",
22
+ "@arcgis/components-build-utils": "4.33.0-next.34",
23
+ "@arcgis/components-utils": "4.33.0-next.34",
24
24
  "chalk": "^5.3.0",
25
25
  "esbuild": "^0.24.0",
26
26
  "js-beautify": "^1.15.1",
@@ -36,6 +36,6 @@
36
36
  "vitest-fail-on-console": "^0.7.1"
37
37
  },
38
38
  "peerDependencies": {
39
- "@arcgis/lumina": "~4.33.0-next.32"
39
+ "@arcgis/lumina": "~4.33.0-next.34"
40
40
  }
41
41
  }