@esri/solutions-components 0.10.46 → 0.10.47

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. package/dist/cjs/calcite-block_5.cjs.entry.js +21 -1
  2. package/dist/cjs/crowdsource-reporter.cjs.entry.js +53 -3
  3. package/dist/cjs/instant-apps-export.cjs.entry.js +18 -5
  4. package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +5 -6
  5. package/dist/cjs/instant-apps-scoreboard.cjs.entry.js +13 -6
  6. package/dist/cjs/instant-apps-time-filter.cjs.entry.js +7 -12
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/solutions-components.cjs.js +1 -1
  9. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +84 -2
  10. package/dist/components/crowdsource-reporter.js +57 -5
  11. package/dist/components/instant-apps-export.js +18 -5
  12. package/dist/components/instant-apps-filter-list2.js +23 -2
  13. package/dist/components/instant-apps-language-switcher.js +5 -6
  14. package/dist/components/instant-apps-scoreboard.js +14 -6
  15. package/dist/components/instant-apps-time-filter.js +7 -12
  16. package/dist/esm/calcite-block_5.entry.js +21 -1
  17. package/dist/esm/crowdsource-reporter.entry.js +53 -3
  18. package/dist/esm/instant-apps-export.entry.js +18 -5
  19. package/dist/esm/instant-apps-language-switcher.entry.js +5 -6
  20. package/dist/esm/instant-apps-scoreboard.entry.js +13 -6
  21. package/dist/esm/instant-apps-time-filter.entry.js +7 -12
  22. package/dist/esm/loader.js +1 -1
  23. package/dist/esm/solutions-components.js +1 -1
  24. package/dist/solutions-components/p-94e51621.entry.js +6 -0
  25. package/dist/solutions-components/{p-2cf41651.entry.js → p-c7f86f73.entry.js} +1 -1
  26. package/dist/solutions-components/p-e9a0d2f3.entry.js +6 -0
  27. package/dist/solutions-components/p-f09744aa.entry.js +6 -0
  28. package/dist/solutions-components/p-f86c2a0c.entry.js +6 -0
  29. package/dist/solutions-components/p-fdeceaf6.entry.js +29 -0
  30. package/dist/solutions-components/solutions-components.esm.js +1 -1
  31. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +17 -0
  32. package/dist/types/components.d.ts +4 -0
  33. package/package.json +7 -7
  34. package/dist/solutions-components/p-2291bf3f.entry.js +0 -6
  35. package/dist/solutions-components/p-5e694bcc.entry.js +0 -29
  36. package/dist/solutions-components/p-6e5ea1cb.entry.js +0 -6
  37. package/dist/solutions-components/p-cb27611e.entry.js +0 -6
  38. package/dist/solutions-components/p-f4880179.entry.js +0 -6
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import{r as t,c as n,h as i,H as s,g as e}from"./p-4e6eb06e.js";import{l as o}from"./p-d001e961.js";import{g as r}from"./p-5104cc98.js";import{g as a}from"./p-a9a72626.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-ac122d9e.js";const p=(()=>{let t=0;return()=>(t+=1,`u${`0000${(Math.random()*36**4|0).toString(36)}`.slice(-4)}${t}`)})();function c(t){const n=[];for(let i=0,s=t.length;i<s;i++)n.push(t[i]);return n}function l(t,n){const i=(t.ownerDocument.defaultView||window).getComputedStyle(t).getPropertyValue(n);return i?parseFloat(i.replace("px","")):0}function h(t,n={}){return{width:n.width||function(t){const n=l(t,"border-left-width"),i=l(t,"border-right-width");return t.clientWidth+n+i}(t),height:n.height||function(t){const n=l(t,"border-top-width"),i=l(t,"border-bottom-width");return t.clientHeight+n+i}(t)}}const d=16384;function u(t){return new Promise(((n,i)=>{const s=new Image;s.decode=()=>n(s),s.onload=()=>n(s),s.onerror=i,s.crossOrigin="anonymous",s.decoding="async",s.src=t}))}const f=(t,n)=>{if(t instanceof n)return!0;const i=Object.getPrototypeOf(t);return null!==i&&(i.constructor.name===n.name||f(i,n))};function g(t,n,i){const s=window.getComputedStyle(t,i),e=s.getPropertyValue("content");if(""===e||"none"===e)return;const o=p();try{n.className=`${n.className} ${o}`}catch(t){return}const r=document.createElement("style");r.appendChild(function(t,n,i){const s=`.${t}:${n}`,e=i.cssText?function(t){const n=t.getPropertyValue("content");return`${t.cssText} content: '${n.replace(/'|"/g,"")}';`}(i):function(t){return c(t).map((n=>`${n}: ${t.getPropertyValue(n)}${t.getPropertyPriority(n)?" !important":""};`)).join(" ")}(i);return document.createTextNode(`${s}{${e}}`)}(o,i,s)),n.appendChild(r)}const v="application/font-woff",x="image/jpeg",m={woff:v,woff2:v,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:x,jpeg:x,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function _(t){const n=function(t){const n=/\.([^./]*?)$/g.exec(t);return n?n[1]:""}(t).toLowerCase();return m[n]||""}function b(t){return-1!==t.search(/^(data:)/)}function w(t,n){return`data:${n};base64,${t}`}async function y(t,n,i){const s=await fetch(t,n);if(404===s.status)throw new Error(`Resource "${s.url}" not found`);const e=await s.blob();return new Promise(((t,n)=>{const o=new FileReader;o.onerror=n,o.onloadend=()=>{try{t(i({res:s,result:o.result}))}catch(t){n(t)}},o.readAsDataURL(e)}))}const k={};async function P(t,n,i){const s=function(t,n,i){let s=t.replace(/\?.*/,"");return i&&(s=t),/ttf|otf|eot|woff2?/i.test(s)&&(s=s.replace(/.*\//,"")),n?`[${n}]${s}`:s}(t,n,i.includeQueryParams);if(null!=k[s])return k[s];let e;i.cacheBust&&(t+=(/\?/.test(t)?"&":"?")+(new Date).getTime());try{const s=await y(t,i.fetchRequestInit,(({res:t,result:i})=>(n||(n=t.headers.get("Content-Type")||""),function(t){return t.split(/,/)[1]}(i))));e=w(s,n)}catch(n){e=i.imagePlaceholder||"";let s=`Failed to fetch resource: ${t}`;n&&(s="string"==typeof n?n:n.message),s&&console.warn(s)}return k[s]=e,e}const $=t=>null!=t.tagName&&"SLOT"===t.tagName.toUpperCase();async function S(t,n,i){return i||!n.filter||n.filter(t)?Promise.resolve(t).then((t=>async function(t,n){return f(t,HTMLCanvasElement)?async function(t){const n=t.toDataURL();return"data:,"===n?t.cloneNode(!1):u(n)}(t):f(t,HTMLVideoElement)?async function(t,n){if(t.currentSrc){const n=document.createElement("canvas"),i=n.getContext("2d");return n.width=t.clientWidth,n.height=t.clientHeight,null==i||i.drawImage(t,0,0,n.width,n.height),u(n.toDataURL())}const i=t.poster,s=_(i);return u(await P(i,s,n))}(t,n):f(t,HTMLIFrameElement)?async function(t){var n;try{if(null===(n=null==t?void 0:t.contentDocument)||void 0===n?void 0:n.body)return await S(t.contentDocument.body,{},!0)}catch(t){}return t.cloneNode(!1)}(t):t.cloneNode(!1)}(t,n))).then((i=>async function(t,n,i){var s,e;let o=[];return o=$(t)&&t.assignedNodes?c(t.assignedNodes()):f(t,HTMLIFrameElement)&&(null===(s=t.contentDocument)||void 0===s?void 0:s.body)?c(t.contentDocument.body.childNodes):c((null!==(e=t.shadowRoot)&&void 0!==e?e:t).childNodes),0===o.length||f(t,HTMLVideoElement)||await o.reduce(((t,s)=>t.then((()=>S(s,i))).then((t=>{t&&n.appendChild(t)}))),Promise.resolve()),n}(t,i,n))).then((n=>function(t,n){return f(n,Element)&&(function(t,n){const i=n.style;if(!i)return;const s=window.getComputedStyle(t);s.cssText?(i.cssText=s.cssText,i.transformOrigin=s.transformOrigin):c(s).forEach((e=>{let o=s.getPropertyValue(e);if("font-size"===e&&o.endsWith("px")){const t=Math.floor(parseFloat(o.substring(0,o.length-2)))-.1;o=`${t}px`}f(t,HTMLIFrameElement)&&"display"===e&&"inline"===o&&(o="block"),"d"===e&&n.getAttribute("d")&&(o=`path(${n.getAttribute("d")})`),i.setProperty(e,o,s.getPropertyPriority(e))}))}(t,n),function(t,n){g(t,n,":before"),g(t,n,":after")}(t,n),function(t,n){f(t,HTMLTextAreaElement)&&(n.innerHTML=t.value),f(t,HTMLInputElement)&&n.setAttribute("value",t.value)}(t,n),function(t,n){if(f(t,HTMLSelectElement)){const i=Array.from(n.children).find((n=>t.value===n.getAttribute("value")));i&&i.setAttribute("selected","")}}(t,n)),n}(t,n))).then((t=>async function(t,n){const i=t.querySelectorAll?t.querySelectorAll("use"):[];if(0===i.length)return t;const s={};for(let e=0;e<i.length;e++){const o=i[e].getAttribute("xlink:href");if(o){const i=t.querySelector(o),e=document.querySelector(o);i||!e||s[o]||(s[o]=await S(e,n,!0))}}const e=Object.values(s);if(e.length){const n="http://www.w3.org/1999/xhtml",i=document.createElementNS(n,"svg");i.setAttribute("xmlns",n),i.style.position="absolute",i.style.width="0",i.style.height="0",i.style.overflow="hidden",i.style.display="none";const s=document.createElementNS(n,"defs");i.appendChild(s);for(let t=0;t<e.length;t++)s.appendChild(e[t]);t.appendChild(i)}return t}(t,n))):null}const C=/url\((['"]?)([^'"]+?)\1\)/g,E=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,F=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function M(t){return-1!==t.search(C)}async function j(t,n,i){if(!M(t))return t;const s=function(t,{preferredFontFormat:n}){return n?t.replace(F,(t=>{for(;;){const[i,,s]=E.exec(t)||[];if(!s)return"";if(s===n)return`src: ${i};`}})):t}(t,i),e=function(t){const n=[];return t.replace(C,((t,i,s)=>(n.push(s),t))),n.filter((t=>!b(t)))}(s);return e.reduce(((t,s)=>t.then((t=>async function(t,n,i,s,e){try{const o=i?function(t,n){if(t.match(/^[a-z]+:\/\//i))return t;if(t.match(/^\/\//))return window.location.protocol+t;if(t.match(/^[a-z]+:/i))return t;const i=document.implementation.createHTMLDocument(),s=i.createElement("base"),e=i.createElement("a");return i.head.appendChild(s),i.body.appendChild(e),n&&(s.href=n),e.href=t,e.href}(n,i):n,r=_(n);let a;return a=e?w(await e(o),r):await P(o,r,s),t.replace(function(t){const n=t.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${n})(['"]?\\))`,"g")}(n),`$1${a}$3`)}catch(t){}return t}(t,s,n,i)))),Promise.resolve(s))}async function T(t,n,i){var s;const e=null===(s=n.style)||void 0===s?void 0:s.getPropertyValue(t);if(e){const s=await j(e,null,i);return n.style.setProperty(t,s,n.style.getPropertyPriority(t)),!0}return!1}async function L(t,n){f(t,Element)&&(await async function(t,n){await T("background",t,n)||await T("background-image",t,n),await T("mask",t,n)||await T("mask-image",t,n)}(t,n),await async function(t,n){const i=f(t,HTMLImageElement);if((!i||b(t.src))&&(!f(t,SVGImageElement)||b(t.href.baseVal)))return;const s=i?t.src:t.href.baseVal,e=await P(s,_(s),n);await new Promise(((n,s)=>{t.onload=n,t.onerror=s;const o=t;o.decode&&(o.decode=n),"lazy"===o.loading&&(o.loading="eager"),i?(t.srcset="",t.src=e):t.href.baseVal=e}))}(t,n),await async function(t,n){const i=c(t.childNodes).map((t=>L(t,n)));await Promise.all(i).then((()=>t))}(t,n))}const D={};async function I(t){let n=D[t];if(null!=n)return n;const i=await fetch(t);return n={url:t,cssText:await i.text()},D[t]=n,n}async function O(t,n){let i=t.cssText;const s=/url\(["']?([^"')]+)["']?\)/g,e=(i.match(/url\([^)]+\)/g)||[]).map((async e=>{let o=e.replace(s,"$1");return o.startsWith("https://")||(o=new URL(o,t.url).href),y(o,n.fetchRequestInit,(({result:t})=>(i=i.replace(e,`url(${t})`),[e,t])))}));return Promise.all(e).then((()=>i))}function z(t){if(null==t)return[];const n=[];let i=t.replace(/(\/\*[\s\S]*?\*\/)/gi,"");const s=new RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){const t=s.exec(i);if(null===t)break;n.push(t[0])}i=i.replace(s,"");const e=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,o=new RegExp("((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})","gi");for(;;){let t=e.exec(i);if(null===t){if(t=o.exec(i),null===t)break;e.lastIndex=o.lastIndex}else o.lastIndex=e.lastIndex;n.push(t[0])}return n}async function R(t,n){const i=null!=n.fontEmbedCSS?n.fontEmbedCSS:n.skipFonts?null:await async function(t,n){const i=await async function(t,n){if(null==t.ownerDocument)throw new Error("Provided element is not within a Document");const i=c(t.ownerDocument.styleSheets),s=await async function(t,n){const i=[],s=[];return t.forEach((i=>{if("cssRules"in i)try{c(i.cssRules||[]).forEach(((t,e)=>{if(t.type===CSSRule.IMPORT_RULE){let o=e+1;const r=I(t.href).then((t=>O(t,n))).then((t=>z(t).forEach((t=>{try{i.insertRule(t,t.startsWith("@import")?o+=1:i.cssRules.length)}catch(n){console.error("Error inserting rule from remote css",{rule:t,error:n})}})))).catch((t=>{console.error("Error loading remote css",t.toString())}));s.push(r)}}))}catch(e){const o=t.find((t=>null==t.href))||document.styleSheets[0];null!=i.href&&s.push(I(i.href).then((t=>O(t,n))).then((t=>z(t).forEach((t=>{o.insertRule(t,i.cssRules.length)})))).catch((t=>{console.error("Error loading remote stylesheet",t)}))),console.error("Error inlining remote css file",e)}})),Promise.all(s).then((()=>(t.forEach((t=>{if("cssRules"in t)try{c(t.cssRules||[]).forEach((t=>{i.push(t)}))}catch(n){console.error(`Error while reading CSS rules from ${t.href}`,n)}})),i)))}(i,n);return function(t){return t.filter((t=>t.type===CSSRule.FONT_FACE_RULE)).filter((t=>M(t.style.getPropertyValue("src"))))}(s)}(t,n);return(await Promise.all(i.map((t=>j(t.cssText,t.parentStyleSheet?t.parentStyleSheet.href:null,n))))).join("\n")}(t,n);if(i){const n=document.createElement("style"),s=document.createTextNode(i);n.appendChild(s),t.firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n)}}async function H(t,n={}){const{width:i,height:s}=h(t,n),e=await S(t,n,!0);return await R(e,n),await L(e,n),function(t,n){const{style:i}=t;n.backgroundColor&&(i.backgroundColor=n.backgroundColor),n.width&&(i.width=`${n.width}px`),n.height&&(i.height=`${n.height}px`);const s=n.style;null!=s&&Object.keys(s).forEach((t=>{i[t]=s[t]}))}(e,n),await async function(t,n,i){const s="http://www.w3.org/2000/svg",e=document.createElementNS(s,"svg"),o=document.createElementNS(s,"foreignObject");return e.setAttribute("width",`${n}`),e.setAttribute("height",`${i}`),e.setAttribute("viewBox",`0 0 ${n} ${i}`),o.setAttribute("width","100%"),o.setAttribute("height","100%"),o.setAttribute("x","0"),o.setAttribute("y","0"),o.setAttribute("externalResourcesRequired","true"),e.appendChild(o),o.appendChild(t),async function(t){return Promise.resolve().then((()=>(new XMLSerializer).serializeToString(t))).then(encodeURIComponent).then((t=>`data:image/svg+xml;charset=utf-8,${t}`))}(e)}(e,i,s)}async function V(t,n={}){const{width:i,height:s}=h(t,n),e=await H(t,n),o=await u(e),r=document.createElement("canvas"),a=r.getContext("2d"),p=n.pixelRatio||function(){let t,n;try{n=process}catch(t){}const i=n&&n.env?n.env.devicePixelRatio:null;return i&&(t=parseInt(i,10),Number.isNaN(t)&&(t=1)),t||window.devicePixelRatio||1}(),c=n.canvasWidth||i,l=n.canvasHeight||s;return r.width=c*p,r.height=l*p,n.skipAutoScale||function(t){(t.width>d||t.height>d)&&(t.width>d&&t.height>d?t.width>t.height?(t.height*=d/t.width,t.width=d):(t.width*=d/t.height,t.height=d):t.width>d?(t.height*=d/t.width,t.width=d):(t.width*=d/t.height,t.height=d))}(r),r.style.width=`${c}`,r.style.height=`${l}`,n.backgroundColor&&(a.fillStyle=n.backgroundColor,a.fillRect(0,0,r.width,r.height)),a.drawImage(o,0,0,r.width,r.height),r}async function G(t,n={}){return(await V(t,n)).toDataURL("image/jpeg",n.quality||1)}const U="instant-apps-export calcite-mode-light",W="instant-apps-export-print instant-apps-export-print__pdf",A="instant-apps-export-print instant-apps-export-print__img",B="instant-apps-export-print__img--extra-content",N="instant-apps-export-print__content-container",J="instant-apps-export-print__extra-container",q="instant-apps-export-print__legend-container",X="instant-apps-export-print__compass-container",K="instant-apps-export-print__scale-bar-container",Q="instant-apps-export-print__popup-container",Y="instant-apps-export-print__popup-content",Z="instant-apps-export-print__popup-title",tt="instant-apps-export-print__view",nt="instant-apps-export-print__view-container",it="instant-apps-export-print__view-wrapper",st="instant-app-export-drag",et=class{constructor(i){t(this,i),this.exportOutputUpdated=n(this,"exportOutputUpdated",7),this.fileTypes=["PDF","JPG","PNG"],this.output=void 0,this.beforeExport=()=>Promise.resolve(),this.popoverIcon="export",this.extraContent=void 0,this.extraContentLabel=void 0,this.headerTitle="",this.logoImage="",this.includeExtraContent=!0,this.showExtraContentInImg=!1,this.includeLegend=!0,this.includeMap=!0,this.includePopup=!1,this.includeFileFormat=!0,this.mode="popover",this.popoverPositioning="absolute",this.popoverPlacement="auto",this.scale="m",this.showHeaderTitle=!0,this.showIncludeLegend=!0,this.showIncludeMap=!1,this.showIncludePopup=!0,this.showScaleBar=!1,this.view=void 0,this.maskBackground="rgba(255, 51, 0, 0.1)",this.maskBorder="2px dashed rgb(255, 51, 0)",this.baseClass=U,this.exportIsLoading=void 0,this.messages=void 0,this.selectedFileType="PDF"}watchIncludeMap(t){t&&this.updateLegend()}watchView(){this.handleIncludePopup()}async componentWillLoad(){this.baseClass="dark"===a(this.el)?"instant-apps-export calcite-mode-dark":U,r(this),await this.initializeModules()}componentDidLoad(){this.printContainerEl.prepend(this.printEl),this.handleIncludePopup()}async initializeModules(){const[t,n]=await o(["esri/core/Handles","esri/core/reactiveUtils"]);return this.handles=new t,this.reactiveUtils=n,Promise.resolve()}render(){const t="popover"===this.mode?this.renderPopover():this.renderPanel(),n=this.renderCompass();return i(s,{key:"9811c244faf2c794db3edaad498a9a902cb3faad"},i("div",{key:"cb880c04d46ec06a9588cedc0bd90ab62d25c0ac",class:this.baseClass,onMouseEnter:this.handleWidgetCreation.bind(this),onFocusin:this.handleWidgetCreation.bind(this)},t,i("div",{key:"fc7ccd1eeb4b6a82bd9804d1aa73c4f242085a56",class:"instant-apps-export__visually-hidden"},n)))}renderPopover(){var t,n,s;const e=this.renderPanel();return[i("calcite-popover",{referenceElement:"export-popover-btn",label:null===(t=this.messages)||void 0===t?void 0:t.exportPopover,overlayPositioning:this.popoverPositioning,placement:this.popoverPlacement,autoClose:!0,ref:t=>this.popoverEl=t},e),i("calcite-action",{id:"export-popover-btn",alignment:"center",icon:this.popoverIcon,scale:this.scale,title:null===(n=this.messages)||void 0===n?void 0:n.exportBtn,text:null===(s=this.messages)||void 0===s?void 0:s.exportBtn})]}renderPanel(){var t,n,s;const e=this.showHeaderTitle?this.renderTitle():null,o=null!=this.extraContent?this.renderSwitch("includeExtraContent",this.extraContentLabel,"PDF"!==this.selectedFileType&&!this.showExtraContentInImg):null,r=this.showIncludeMap?this.renderSwitch("includeMap",void 0,"PDF"!==this.selectedFileType):null,a=this.includeMap?this.renderMapOptions():null,p=this.includeFileFormat?this.renderSelectFileType():null,c="PDF"===this.selectedFileType?this.renderPrint():this.renderImg();return i("div",{class:"inline"===this.mode?"instant-apps-export__inline-container":"instant-apps-export__popover-container"},e,o,r,a,p,this.includeMap?i("calcite-button",{appearance:"transparent",width:"full",onClick:this.setMapAreaOnClick.bind(this,!0),disabled:this.exportIsLoading},null===(t=this.messages)||void 0===t?void 0:t.setMapArea):null,i("calcite-button",{width:"full",onClick:this.exportOnClick.bind(this),disabled:this.exportIsLoading},"PDF"===this.selectedFileType?null===(n=this.messages)||void 0===n?void 0:n.export:null===(s=this.messages)||void 0===s?void 0:s.preview),c)}renderTitle(){var t;return i("calcite-label",null,null===(t=this.messages)||void 0===t?void 0:t.title,i("calcite-input",{value:this.headerTitle,onCalciteInputInput:this.updateHeaderTitle.bind(this)}))}renderSwitch(t,n,s){var e;const o=null!=n?n:null===(e=this.messages)||void 0===e?void 0:e[t];return i("calcite-label",{layout:"inline-space-between"},o,i("calcite-switch",{checked:this[t],value:t,onCalciteSwitchChange:this.optionOnChange.bind(this),disabled:s}))}renderSelectFileType(){var t;return i("calcite-label",null,null===(t=this.messages)||void 0===t?void 0:t.fileType,i("calcite-select",{onCalciteSelectChange:this.handleSelectFileType.bind(this)},this.fileTypes.map((t=>i("calcite-option",{value:t,selected:t===this.selectedFileType},t)))))}renderMapOptions(){const t=this.showIncludeLegend?this.renderSwitch("includeLegend"):null,n=this.showIncludePopup?this.renderSwitch("includePopup"):null;return i("div",null,t,n)}renderPrint(){const t=this.includeMap?this.renderPrintMap():null,n=this.renderExtraContent(),s=this.includeMap&&this.showIncludeLegend?this.renderLegend():null,e=this.includeMap&&this.showIncludePopup?this.renderPopup():null;return i("div",{ref:t=>this.printContainerEl=t},i("div",{class:W,ref:t=>this.printEl=t},t,s,i("div",{class:N},e,n)))}renderPrintMap(){return i("div",{class:nt,ref:t=>this.viewContainerEl=t},i("div",{class:it,ref:t=>this.viewWrapperEl=t},this.headerTitle?i("instant-apps-header",{logoImage:this.logoImage,logoScale:"s",titleText:this.headerTitle,backgroundColor:"#fff",textColor:"#323232"}):null,i("img",{class:tt,ref:t=>this.viewEl=t}),i("div",{class:K,ref:t=>this.scaleBarContainerEl=t})))}renderLegend(){return i("div",{class:q,ref:t=>this.legendContainerEl=t})}renderCompass(){return i("div",{class:X,ref:t=>this.compassContainerEl=t})}renderPopup(){return i("div",{class:Q,ref:t=>this.popupContainerEl=t},i("div",{ref:t=>this.popupTitleEl=t,class:Z}),i("div",{ref:t=>this.popupContentEl=t,class:Y}))}renderExtraContent(){return i("div",{class:J,id:"export-content",ref:t=>this.extraContainerEl=t})}renderImg(){const t=this.includeMap?this.renderPrintMap():null,n=this.includeMap&&this.showIncludeLegend?this.renderLegend():null;let s;return this.includeMap&&this.showIncludePopup?s=this.renderPopup():this.showExtraContentInImg&&null!=this.extraContent&&this.includeExtraContent&&(s=this.renderExtraContent()),i("div",{ref:t=>this.printContainerEl=t},i("div",{class:A,ref:t=>this.printEl=t},t,n,s))}optionOnChange(t){const{checked:n,value:i}=t.target;this[i]=n,this.updateExportOutput()}updateHeaderTitle(t){this.headerTitle=t.target.value,this.updateExportOutput()}async exportOnClick(){this.removeScreenshotElements(),await this.beforeExport(),null==this.viewWrapperEl||this.viewWrapperEl.contains(this.compassContainerEl)||this.viewWrapperEl.append(this.compassContainerEl),this.handleViewExportOnClick(),null!=this.popoverEl&&(this.popoverEl.open=!1)}async exportPreviewOnClick(){"PDF"===this.selectedFileType?await this.exportPDF():this.exportImg()}async exportPDF(){this.removeScreenshotElements(),await this.beforeExport(),null==this.viewWrapperEl||this.viewWrapperEl.contains(this.compassContainerEl)||this.viewWrapperEl.append(this.compassContainerEl),this.handleViewExportOnClick(),null!=this.popoverEl&&(this.popoverEl.open=!1)}exportImg(){var t;if(this.resetPopupVisibility(),null==this.dataUrl)return;const n=document.createElement("a");n.id="download-link",n.href=this.dataUrl,n.download=null!==(t=this.headerTitle)&&void 0!==t?t:document.title,n.click(),this.dataUrl=null,this.exportIsLoading=!1,this.removeScreenshotElements(),this.resetPrintContent()}async handleViewExportOnClick(){null!=this.view?(this.addPrintStyling(),document.body.prepend(this.printEl),this.handleExtraContent(),this.includeMap?(this.updateScaleBar(),this.viewScreenshot(),this.handleImgLoaded()):this.handleImgLoaded()):null!=this.popoverEl&&(this.popoverEl.open=!1)}addPrintStyling(){null==this.printStyleEl&&(this.printStyleEl=document.createElement("style"),this.printStyleEl.innerHTML='\n @media print {\n @page {\n size: Portrait;\n margin: .25in;\n }\n\n html, body {\n padding: 0;\n margin: 0;\n height: 100%;\n width: 100%;\n }\n\n body > *:not(.instant-apps-export-print) { display: none; }\n }\n\n * {\n -webkit-print-color-adjust: exact;\n color-adjust: exact;\n }\n\n\n .instant-apps-export-print {\n position: absolute;\n z-index: -999;\n color: #323232 !important;\n --esri-calcite-mode-name: "light";\n }\n\n .instant-apps-export-print__pdf {\n height: 100%;\n width: 100%;\n display: grid;\n gap: 24px;\n grid-auto-flow: row;\n }\n\n .instant-apps-export-print__img {\n display: grid;\n width: auto;\n }\n\n .instant-apps-export-print__img--extra-content {\n grid-template-columns: 2fr minmax(0, 325px);\n }\n\n .instant-apps-export-print, .instant-apps-export-print * {\n box-sizing: border-box;\n }\n\n .instant-apps-export-print__view-section {\n height: 100%;\n }\n\n .instant-apps-export-print__view-container {\n height: 100%;\n width: 100%;\n display: flex;\n justify-content: center;\n }\n\n .instant-apps-export-print__img .instant-apps-export-print__view-container {\n grid-row: 1;\n grid-column: 1;\n }\n\n .instant-apps-export-print__view-wrapper {\n height: fit-content;\n width: fit-content;\n position: relative;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .instant-apps-export-print__pdf .instant-apps-export-print__view-wrapper {\n border: 2pt solid #323232;\n }\n\n .instant-apps-export-print__img .instant-apps-export-print__view-wrapper {\n border: 1pt solid #323232;\n }\n\n .instant-apps-export-print__view {\n object-fit: contain;\n }\n\n .instant-apps-export-print__extra-container {\n grid-row: 1 / span 2;\n grid-column: 2;\n }\n \n .instant-apps-export-print__extra-container .esri-feature.esri-widget .esri-widget__heading.esri-feature__title {\n display: block;\n }\n\n .instant-apps-export-print__popup-container {\n height: min-content;\n max-width: 325px;\n display: none;\n color: #323232;\n background: #fff;\n break-inside: avoid;\n }\n\n .instant-apps-export-print__pdf .instant-apps-export-print__popup-container {\n border: 1pt solid #323232;\n }\n\n .instant-apps-export-print__img .instant-apps-export-print__popup-container {\n grid-row: 1 / span 2;\n grid-column: 2;\n }\n\n .instant-apps-export-print__popup-title {\n border-bottom: 1pt solid #323232;\n }\n\n .instant-apps-export-print__popup-content {\n background: #fff;\n padding-top: 8pt;\n }\n\n .instant-apps-export-print__popup-content .esri-feature-media__chart {\n background: #fff;\n }\n\n .instant-apps-export-print__legend-container {\n height: min-content;\n background: #fff;\n overflow: unset;\n }\n\n .instant-apps-export-print__img .instant-apps-export-print__legend-container {\n margin: 14px;\n grid-row: 2;\n grid-column: 1;\n }\n\n .esri-legend--card, .esri-legend--card__service-content {\n flex-flow: row wrap;\n }\n\n .instant-apps-export-print .esri-widget > *:not(.esri-scale-bar.esri-widget > *) {\n background: #fff;\n color: #323232;\n }\n\n .instant-apps-export-print__popup-content *, .instant-apps-export-print__img .esri-feature.esri-widget * {\n color: #323232;\n }\n\n .instant-apps-export-print .esri-widget__heading {\n margin: 4pt 7pt;\n padding: 0;\n color: #323232;\n }\n\n .instant-apps-export-print .esri-legend__ramp-label:before {\n border-color: rgba(0,0,0,0) rgba(50,50,50,.8) rgba(0,0,0,0) rgba(0,0,0,0);\n }\n\n .instant-apps-export-print .esri-legend--card__section {\n padding: 4pt 0 4pt;\n min-width: unset;\n border-left: none;\n }\n\n .instant-apps-export-print .esri-legend--card__section:first-child {\n border-left: none;\n }\n\n .instant-apps-export-print .esri-legend--card__service {\n border: none;\n flex: 0 1 auto;\n break-inside: avoid;\n }\n\n .instant-apps-export-print .esri-legend--card {\n border: none;\n gap: 6pt 12pt;\n }\n\n .instant-apps-export-print .esri-legend--card:not(:first-child),\n .instant-apps-export-print .esri-compass.esri-widget:not(:first-child) {\n display: none;\n }\n\n .instant-apps-export-print .esri-legend--card__service-caption-container {\n height: unset;\n padding: 0;\n border-bottom: none;\n }\n\n .instant-apps-export-print .esri-legend--card__service-caption-text {\n padding-bottom: 4px;\n }\n\n .instant-apps-export-print__compass-container {\n position: absolute;\n top: 65px;\n left: 15px;\n background: #fff;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n --calcite-ui-icon-color: #000;\n border-radius: 50%;\n height: fit-content;\n }\n\n .instant-apps-export-print__compass-container .esri-compass {\n background: #fff;\n }\n\n .instant-apps-export-print__compass-container .esri-compass__icon.esri-icon-compass {\n color: #000;\n }\n\n .instant-apps-export-print__compass-container.esri-compass.esri-widget--button {\n background: #fff;\n }\n\n .instant-apps-export-print__scale-bar-container {\n width: 100%;\n position: absolute;\n bottom: 15px;\n margin: 0 15px;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__label {\n color: #323232;\n font-size: 10px;\n padding: 0 4px;\n }\n \n .instant-apps-export-print__scale-bar-container--position .esri-scale-bar__label {\n height: 10px;\n padding: 0 2px;\n line-height: 11px;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__bar-container:nth-child(1n+3) {\n display: none;\n }\n\n .instant-apps-export-print__scale-bar-container--position .esri-scale-bar__bar-container.esri-scale-bar__bar-container--line {\n align-items: center;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line {\n background-color: rgba(255, 255, 255, 0.66);\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--top {\n width: var(--instant-apps-scale-bar-top) !important;\n border-bottom: 2px solid #323232;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--bottom {\n width: var(--instant-apps-scale-bar-bottom) !important;\n border-top: 2px solid #323232;\n }\n\n .instant-apps-export-print__scale-bar-container--position .esri-scale-bar__label-container--line {\n position: unset;\n margin: 0 2px;\n background-color: rgba(255, 255, 255, 0.66);\n height: 10px;\n display: flex;\n align-items: center;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--top:before,\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--top:after,\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--bottom:before,\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--bottom:after {\n background-color: #323232;\n border-right: 2px solid #323232;\n }\n\n .instant-apps-export-print__popup-container .esri-feature-media__item-navigation {\n display: none;\n }\n\n .instant-apps-export-print__popup-container .esri-feature-media__chart.esri-feature-media__chart--rendered * {\n width: 100%!important;\n }\n\n .instant-apps-export-print__popup-content .esri-popup__content {\n margin: 0;\n }\n\n .instant-apps-export-print__content-container {\n display: flex;\n gap: 24px;\n break-inside: avoid;\n break-before: auto;\n }',document.body.prepend(this.printStyleEl))}handleImgLoaded(){this.exportIsLoading=!0,setTimeout((()=>{"PDF"===this.selectedFileType&&(this.exportIsLoading=!1),this.setupViewPrintElements()}),1500)}handleExtraContent(){const t=this.printEl.querySelector("#export-content");if(null!=t){t.innerHTML="";const n=null!=this.extraContent&&this.includeExtraContent;this.printEl.classList.toggle(B,"PDF"!==this.selectedFileType&&this.showExtraContentInImg&&n),n?(t.style.display="block",t.append(this.extraContent.cloneNode(!0))):t.style.display="none"}else this.showExtraContentInImg&&"PDF"!==this.selectedFileType&&!this.includeExtraContent&&this.printEl.classList.toggle(B,!1)}resetPrintContent(){var t,n,i;if(null!=this.view){this.screenshot=null,null===(t=this.printContainerEl)||void 0===t||t.prepend(this.printEl),null===(n=this.printStyleEl)||void 0===n||n.remove(),null===(i=this.tmpPopupTitleEl)||void 0===i||i.remove(),this.printStyleEl=void 0;const s=this.printEl.querySelector("#export-content");s&&(s.innerHTML="")}}async updatePopupToPrint(){var t,n;if(null==this.view||null==this.popupContainerEl)return;this.popupContainerEl.style.display=this.includePopup&&this.view.popup.visible?"block":"none",this.checkPopupOpen();const i=this.includePopup&&(this.view.popup.visible||this.popupHiddenByMapArea)&&null!=this.view.popup.selectedFeature;if(this.printEl.classList.toggle(B,"PDF"!==this.selectedFileType&&i),i){const i=document.createElement(`h${null!==(t=this.view.popup.headingLevel)&&void 0!==t?t:2}`);i.innerHTML=null!==(n=this.view.popup.title)&&void 0!==n?n:"",i.className="esri-widget__heading esri-popup__header-title",null==this.popupTitleEl?(this.tmpPopupTitleEl=document.createElement("div"),this.tmpPopupTitleEl.prepend(i),this.tmpPopupTitleEl.style.display=this.view.popup.title?"block":"none",this.popupContainerEl.prepend(this.tmpPopupTitleEl)):(this.popupTitleEl.style.display=this.view.popup.title?"block":"none",this.popupTitleEl.innerHTML="",this.popupTitleEl.prepend(i))}}updateExportOutput(){this.output={},this.showHeaderTitle&&(this.output.headerTitle=this.headerTitle),this.showIncludeLegend&&(this.output.includeLegend=this.includeLegend),this.showIncludeMap&&(this.output.includeMap=this.includeMap),this.showIncludePopup&&(this.output.includePopup=this.includePopup),this.exportOutputUpdated.emit()}setupViewPrintElements(){if(null!=this.view)if(this.handleLegendSetup(),"PDF"===this.selectedFileType){const t=document.title;this.showHeaderTitle&&this.headerTitle&&(document.title=this.headerTitle),window.print(),document.title=t,setTimeout((()=>{this.resetPrintContent()}),1e3)}else this.convertToImage()}async convertToImage(){const t={backgroundColor:"#FFF",skipFonts:!0};let n="";try{n="JPG"===this.selectedFileType?await G(this.printEl,t):await async function(t,n={}){return(await V(t,n)).toDataURL()}(this.printEl,t)}catch(i){this.logoImage=void 0,await new Promise((t=>setTimeout(t,500))),n=await G(this.printEl,t)}finally{this.handleGetImage(n)}}handleGetImage(t){var n;this.resetPrintContent(),t&&(this.dataUrl=t,this.setMapAreaOnClick(!1),this.showPreview(t),null===(n=this.view)||void 0===n||n.container.classList.remove("screenshot-cursor"),this.setMaskPosition(null))}handleLegendSetup(){var t;if(this.showIncludeLegend&&null!=this.view&&this.includeMap&&null!=this.legendContainerEl){const n=null!=this.legend&&(null===(t=this.legend.activeLayerInfos)||void 0===t?void 0:t.length)>0;this.legendContainerEl.style.display=this.includeLegend&&n?"block":"none"}}handleWidgetCreation(){this.includeMap&&(this.handleLegendCreation(),this.handleCompassCreation(),this.updatePopupToPrint())}handleIncludePopup(){var t,n;if(this.showIncludePopup){const i="includePopup";null===(t=this.handles)||void 0===t||t.remove(i),null===(n=this.reactiveUtils)||void 0===n||n.whenOnce((()=>{var t;return null===(t=this.view)||void 0===t?void 0:t.ready})).then((()=>{var t;null===(t=this.handles)||void 0===t||t.add(this.reactiveUtils.watch((()=>{var t,n;return null===(n=null===(t=this.view)||void 0===t?void 0:t.popup)||void 0===n?void 0:n.visible}),(t=>{this.settingMapArea||(this.includePopup=t)})),i)}))}}handleLegendCreation(){var t,n,i,s,e;if(null!=this.view&&this.showIncludeLegend&&null!=this.legendContainerEl){const o=this.view.map,r=null===(n=null===(t=this.legend)||void 0===t?void 0:t.view)||void 0===n?void 0:n.map;null!=(null===(i=null==o?void 0:o.portalItem)||void 0===i?void 0:i.id)&&(null===(s=null==o?void 0:o.portalItem)||void 0===s?void 0:s.id)===(null===(e=null==r?void 0:r.portalItem)||void 0===e?void 0:e.id)||this.updateLegend()}}updateLegend(){var t;null===(t=this.view)||void 0===t||t.when((async t=>{if(null!=this.legend&&(this.legend.destroy(),this.legend=null),null!=this.legendContainerEl){this.legendContainerEl.innerHTML="";const n=document.createElement("div");this.legendContainerEl.append(n);const[i]=await o(["esri/widgets/Legend"]);this.legend=new i({container:n,view:t,respectLayerDefinitionExpression:!0,style:{type:"card",layout:"side-by-side"}})}}))}handleCompassCreation(){var t,n,i,s;if(null!=this.view&&null!=this.compassContainerEl){const e=this.view.map,o=null===(n=null===(t=this.compass)||void 0===t?void 0:t.view)||void 0===n?void 0:n.map;(null===(i=null==e?void 0:e.portalItem)||void 0===i?void 0:i.id)===(null===(s=null==o?void 0:o.portalItem)||void 0===s?void 0:s.id)||this.updateCompass()}}updateCompass(){var t;null===(t=this.view)||void 0===t||t.when((async t=>{var n;null===(n=this.compass)||void 0===n||n.destroy(),this.compass=null;const i=document.createElement("div");this.compassContainerEl.append(i);const[s]=await o(["esri/widgets/Compass"]);this.compass=new s({container:i,view:t})}))}updateScaleBar(){if(this.scaleBarContainerEl&&null!=this.view&&(this.scaleBarContainerEl.innerHTML="",this.showScaleBar)){const t=this.view.ui.getComponents(),n=null==t?void 0:t.find((({container:t})=>{var n;return null===(n=null==t?void 0:t.className)||void 0===n?void 0:n.includes("esri-scale-bar")}));null!=(null==n?void 0:n.container)&&"string"!=typeof n.container&&this.scaleBarContainerEl.append(n.container.cloneNode(!0))}}async viewScreenshot(){var t;if(null!=this.view&&this.includeMap&&(null==this.screenshot&&(null===(t=this.scaleBarContainerEl)||void 0===t||t.classList.toggle("instant-apps-export-print__scale-bar-container--position",this.view.width>1e3),this.screenshot=await this.view.takeScreenshot({width:2*this.view.width,height:2*this.view.height})),this.handleScaleBarSize(),null!=this.viewEl&&null!=this.viewWrapperEl)){const{height:t,width:n}=this.screenshot.data;t>n?this.setMaxRowHeightOnViewContainer():this.setMaxWidthOnViewContainer(),this.viewEl.src=this.screenshot.dataUrl}}setMaxRowHeightOnViewContainer(){"PDF"===this.selectedFileType&&(this.printEl.style.gridTemplateRows="minmax(auto, 70%)"),this.viewEl.style.height="100%",this.viewEl.style.width="",this.viewWrapperEl.style.height="100%",this.viewWrapperEl.style.width="fit-content"}setMaxWidthOnViewContainer(){this.printEl.style.gridTemplateRows="",this.viewEl.style.width="100%",this.viewEl.style.height="",this.viewWrapperEl.style.height="fit-content",this.viewWrapperEl.style.width="100%"}checkPopupOpen(){if(null!=this.view){const t=this.view.popup.container,n=null==t?void 0:t.querySelector(".esri-popup .esri-feature__main-container");if(null!=n){const t=n.querySelectorAll("canvas");this.popupContentEl.innerHTML="",this.popupContentEl.append(n.cloneNode(!0));const i=this.popupContentEl.querySelectorAll("canvas");t.forEach(((t,n)=>{var s;const e=t.toDataURL(),o=document.createElement("img");o.src=e;const r=t.getAttribute("style");r&&o.setAttribute("style",r);const a=i[n];null!=a&&(a.replaceWith(o),document.querySelector("link[href*='esri/themes/dark/main.css']")&&null!=(null===(s=o.parentElement)||void 0===s?void 0:s.parentElement)&&(o.parentElement.style.background="#242424",o.parentElement.parentElement.style.background="#242424"))}))}}}createScreenshot(){var t,n,i;if(null!=this.view){this.screenshotPreview=document.createElement("div"),this.screenshotPreview.className="screenshot-preview hide",this.screenshotImgContainer=document.createElement("div"),this.screenshotImgContainer.className="screenshot-img-container",this.screenshotImg=document.createElement("img");const s=document.createElement("div"),e=document.createElement("calcite-button"),o=document.createElement("calcite-button");e.innerHTML="PDF"===this.selectedFileType?null===(t=this.messages)||void 0===t?void 0:t.export:null===(n=this.messages)||void 0===n?void 0:n.downloadImage,o.innerHTML=null===(i=this.messages)||void 0===i?void 0:i.returnToMap,o.appearance="outline-fill",e.onclick=this.exportPreviewOnClick.bind(this),o.onclick=this.screenshotReturn.bind(this),s.append(o,e),this.screenshotImgContainer.append(this.screenshotImg,s),this.screenshotPreview.append(this.screenshotImgContainer),this.view.container.append(this.screenshotPreview)}}createMaskDiv(){null!=this.view&&(this.maskDivEl=document.createElement("div"),this.maskDivEl.id="screenshot-mask",this.maskDivEl.className="hide screenshot-cursor",this.maskDivEl.style.setProperty("--instant-apps-screenshot-mask-background",this.maskBackground),this.maskDivEl.style.setProperty("--instant-apps-screenshot-mask-border",this.maskBorder),this.screenshotStyle=document.createElement("style"),this.screenshotStyle.innerHTML="\n.screenshot-preview.hide, .hide {\n display: none;\n}\n\n.screenshot-cursor {\n cursor: crosshair;\n}\n\n.relative {\n position: relative;\n}\n\n#screenshot-mask {\n position: absolute;\n background: var(--instant-apps-screenshot-mask-background);\n border: var(--instant-apps-screenshot-mask-border);\n}\n\n.screenshot-preview {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n text-align: center;\n background-color: rgba(0, 0, 0, 0.75);\n}\n\n.screenshot-preview * {\n box-sizing: border-box;\n}\n\n.screenshot-img-container img {\n max-height: 75%;\n max-width: 75%;\n object-fit: contain;\n box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.5);\n margin-bottom: 0.5em;\n}\n\n.screenshot-img-container {\n height: 100%;\n width: 100%;\n overflow-y: auto;\n margin-bottom: 8px;\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n}\n\n.screenshot-img-container calcite-button {\n margin: 5px;\n}",this.view.container.append(this.screenshotStyle),this.view.container.append(this.maskDivEl))}screenshotReturn(){this.removeScreenshotElements(),this.exportIsLoading=!1,this.screenshot=null,this.resetPopupVisibility()}setMapAreaOnClick(t){null!=this.view&&(this.settingMapArea=!0,t&&this.view.popup.visible&&(this.popupHiddenByMapArea=!0,this.view.popup.container.style.display="none"),this.exportIsLoading=!0,this.createMaskDiv(),this.createScreenshot(),this.view.container.classList.add("screenshot-cursor","relative"),this.view.addHandles(this.view.on("drag",(async t=>{null!=this.view&&(t.stopPropagation(),"end"!==t.action?this.updateMaskSize(t):this.maskScreenshot())})),st))}updateMaskSize(t){if(null!=this.view){const n=this.clamp(Math.min(t.origin.x,t.x),0,this.view.width),i=this.clamp(Math.max(t.origin.x,t.x),0,this.view.width),s=this.clamp(Math.min(t.origin.y,t.y),0,this.view.height),e=this.clamp(Math.max(t.origin.y,t.y),0,this.view.height);this.area={x:n,y:s,width:i-n,height:e-s},this.setMaskPosition(this.area)}}maskScreenshot(){var t;if(null!=this.view&&null!=this.area){this.view.removeHandles(st);const n=this.area.height,i=this.area.width;this.showScaleBar&&(null===(t=this.scaleBarContainerEl)||void 0===t||t.classList.toggle("instant-apps-export-print__scale-bar-container--position",this.view.width>1e3&&.75*this.view.width<i)),this.view.takeScreenshot({area:this.area,width:2*i,height:2*n,format:"jpg"}).then((t=>{var n;this.screenshot=t,null===(n=this.view)||void 0===n||n.container.classList.remove("screenshot-cursor"),this.setMaskPosition(null),"PDF"===this.selectedFileType?(this.showPreview(null==t?void 0:t.dataUrl),this.resetPopupVisibility()):(null==this.viewWrapperEl||this.viewWrapperEl.contains(this.compassContainerEl)||this.viewWrapperEl.append(this.compassContainerEl),this.handleViewExportOnClick(),null!=this.popoverEl&&(this.popoverEl.open=!1))}))}}setMaskPosition(t){null!=t?(this.maskDivEl.classList.remove("hide"),this.maskDivEl.style.left=`${t.x}px`,this.maskDivEl.style.top=`${t.y}px`,this.maskDivEl.style.width=`${t.width}px`,this.maskDivEl.style.height=`${t.height}px`):this.maskDivEl.remove()}clamp(t,n,i){return t<n?n:t>i?i:t}showPreview(t){t&&(this.screenshotPreview.classList.remove("hide"),null!=this.screenshotImg&&(this.screenshotImg.src=t))}handleScaleBarSize(){var t;if(this.showScaleBar&&"2d"===(null===(t=this.view)||void 0===t?void 0:t.type)&&null!=this.scaleBarContainerEl){const t=this.scaleBarContainerEl.querySelector(".esri-scale-bar__line--top"),n=this.scaleBarContainerEl.querySelector(".esri-scale-bar__line--bottom");this.setScalebarWidth(t,"top"),this.setScalebarWidth(n,"bottom")}}setScalebarWidth(t,n){var i;if(null!=t&&null!=this.screenshot){const s=this.screenshot.data.width/2,e=Number(t.style.width.replace("px",""));null===(i=this.scaleBarContainerEl)||void 0===i||i.style.setProperty(`--instant-apps-scale-bar-${n}`,e/s*100+"%")}}removeScreenshotElements(){var t,n,i;null===(t=this.view)||void 0===t||t.removeHandles(st),null===(n=this.screenshotPreview)||void 0===n||n.remove(),null===(i=this.screenshotStyle)||void 0===i||i.remove()}resetPopupVisibility(){this.view&&this.settingMapArea&&this.popupHiddenByMapArea&&(this.view.popup.container.style.display=""),this.settingMapArea=!1,this.popupHiddenByMapArea=!1}handleSelectFileType(t){this.selectedFileType=t.target.value,"PDF"===this.selectedFileType?(this.includeMap=this.pdfIncludeMap,this.showExtraContentInImg||(this.includeExtraContent=this.pdfIncludeExtraContent)):(this.pdfIncludeMap=this.includeMap,this.includeMap=!0,this.showExtraContentInImg||(this.pdfIncludeExtraContent=this.includeExtraContent,this.includeMap=!0,this.includeExtraContent=!1))}get el(){return e(this)}static get watchers(){return{includeMap:["watchIncludeMap"],view:["watchView"]}}};et.style=":host{display:block;--instant-apps-export-action-background:var(--calcite-color-foreground-1);--instant-apps-export-action-background-hover:var(--calcite-color-foreground-2);--instant-apps-export-action-background-press:var(--calcite-color-foreground-3);--instant-apps-export-action-height:100%;--instant-apps-export-action-width:fit-content;--instant-apps-export-action-icon-color:var(--calcite-color-text-3);--instant-apps-export-action-icon-hover-color:var(--calcite-color-text-1);--instant-apps-export-background:var(--calcite-color-foreground-1);--instant-apps-export-text-color:var(--calcite-color-text-1);--instant-apps-export-popover-width:250px}.instant-apps-export{height:100%}.instant-apps-export *{box-sizing:border-box}.instant-apps-export__popover-container,.instant-apps-export__inline-container{padding:12px;background:var(--instant-apps-export-background);--calcite-color-text-1:var(--instant-apps-export-text-color)}.instant-apps-export__popover-container{width:var(--instant-apps-export-popover-width)}.instant-apps-export calcite-action{height:var(--instant-apps-export-action-height);width:var(--instant-apps-export-action-width);--calcite-color-foreground-1:var(--instant-apps-export-action-background);--calcite-color-foreground-2:var(--instant-apps-export-action-background-hover);--calcite-color-foreground-3:var(--instant-apps-export-action-background-press);--calcite-color-text-3:var(--instant-apps-export-action-icon-color);--calcite-color-text-1:var(--instant-apps-export-action-icon-hover-color)}.instant-apps-export .instant-apps-export-print{display:none}.instant-apps-export .instant-apps-export-print_img{display:flex;flex-flow:row wrap}.instant-apps-export__visually-hidden{position:absolute;top:0;z-index:-1;visibility:hidden}.instant-apps-export calcite-input{--calcite-color-foreground-1:var(--instant-apps-export-background);--calcite-color-text-1:var(--instant-apps-export-text-color)}.instant-apps-export calcite-popover{--calcite-color-foreground-1:var(--instant-apps-export-background)}.instant-apps-export calcite-switch{--calcite-color-foreground-1:#fff;--calcite-color-foreground-2:#f3f3f3}.instant-apps-export calcite-button:last-of-type{margin-top:0.5rem}.instant-apps-export .calcite-mode-dark calcite-switch{--calcite-color-foreground-1:#2b2b2b;--calcite-color-foreground-2:#202020}.instant-apps-export__compass-container.esri-widget{background:#fff;box-shadow:0 1px 2px rgba(0, 0, 0, 0.3)}.instant-apps-export__compass-container.esri-widget .esri-compass__icon.esri-icon-compass{color:#6e6e6e}.hide{display:none}.screenshotCursor{cursor:crosshair}";export{et as instant_apps_export}
@@ -3,4 +3,4 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import{r as t,c as i,h as o,g as e}from"./p-4e6eb06e.js";import{g as s}from"./p-b49e1a78.js";import{l}from"./p-d001e961.js";import{a as n}from"./p-5104cc98.js";import{g as a,f as d,L as r}from"./p-4695cfab.js";import"./p-dc9d4be3.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-ac122d9e.js";const c=class{constructor(o){t(this,o),this.selectedLanguageUpdated=i(this,"selectedLanguageUpdated",7),this.icon="language",this.portalItem=void 0,this.view=void 0,this.locales=[],this.defaultLocale=void 0,this.selectedLanguage=null,this.calciteDropdownOverlayPositioning="absolute",this.messages=void 0,this.t9nData=null}async componentWillLoad(){var t,i,o,e,r,c,h,u,v,p,w,m;const[g,f,b]=await l(["esri/intl","esri/WebMap","esri/request"]);this.intl=g,this.request=b,this.messages=await s(document.createElement("instant-apps-language-translator"));try{this.portalItemResource=await a(this.portalItem);const t=await d(this.portalItemResource);this.t9nData=null!=t?t:{}}catch(t){this.t9nData={},console.error("NO PORTAL ITEM RESOURCE AVAILABLE.")}finally{this.userLocale=this.defaultLocale;const s=new URLSearchParams(window.location.search).get("locale"),l=(null===(o=null===(i=null===(t=this.locales)||void 0===t?void 0:t.map((t=>null==t?void 0:t.locale)))||void 0===i?void 0:i.filter((t=>t===s)))||void 0===o?void 0:o.length)>0,a=n(g,this.portalItem.portal),d=(null===(c=null===(r=null===(e=this.locales)||void 0===e?void 0:e.map((t=>null==t?void 0:t.locale)))||void 0===r?void 0:r.filter((t=>t===a)))||void 0===c?void 0:c.length)>0;this.selectedLanguage=l?s:d?a:this.userLocale;const b=this.selectedLanguage;if(b!==this.userLocale&&(this.calciteDropdownItemSelectCallback(b)(),this.selectedLanguageUpdated.emit({locale:b,data:null!==(u=null===(h=this.t9nData)||void 0===h?void 0:h[b])&&void 0!==u?u:null})),this.view){const t=this.view.map;this.defaultWebMapId=null===(v=null==t?void 0:t.portalItem)||void 0===v?void 0:v.id;const i=null===(m=null===(w=null===(p=this.locales)||void 0===p?void 0:p.filter((t=>(null==t?void 0:t.webmap)&&(null==t?void 0:t.webmap)!==this.defaultWebMapId&&(null==t?void 0:t.locale)===this.selectedLanguage)))||void 0===w?void 0:w[0])||void 0===m?void 0:m.webmap;i&&(this.view.map=new f({portalItem:{id:i}}))}}}render(){const t=this.renderTrigger(),i=this.renderDropdownItems(),e=this.renderDefaultLocale();return o("calcite-dropdown",{key:"7f9b97b70ec4a84ebd17d0d41ba598ae15304f10",onCalciteDropdownBeforeOpen:()=>this.trigger.iconEnd="chevron-up",onCalciteDropdownBeforeClose:()=>this.trigger.iconEnd="chevron-down","overlay-positioning":this.calciteDropdownOverlayPositioning,"width-scale":"m"},t,e,i)}renderDefaultLocale(){const{userLocale:t}=this;return o("calcite-dropdown-item",{key:`default-${t}`,onCalciteDropdownItemSelect:this.calciteDropdownItemSelectCallback(t),selected:this.selectedLanguage===this.userLocale},this.getSelectedLanguageText(t))}renderTrigger(){return o("calcite-button",{ref:t=>this.trigger=t,slot:"trigger","icon-start":this.icon,"icon-end":"chevron-down",width:"full",appearance:"outline"},this.getSelectedLanguageText(this.selectedLanguage))}renderDropdownItems(){var t,i;return null===(i=null===(t=this.locales)||void 0===t?void 0:t.map((t=>t.locale)))||void 0===i?void 0:i.map((t=>this.renderDropdownItem(t)))}renderDropdownItem(t){const i=this.getSelectedLanguageText(t);return o("calcite-dropdown-item",{key:t,selected:t===this.selectedLanguage,onCalciteDropdownItemSelect:this.calciteDropdownItemSelectCallback(t)},i)}calciteDropdownItemSelectCallback(t){return async()=>{var i,o,e,s,n;this.selectedLanguage=t;const{intl:a,selectedLanguage:d,t9nData:r,userLocale:c}=this,h=this.locales.filter((t=>t.locale===d))[0];d!==c&&(h.data=r[t]);const u=new URLSearchParams(window.location.search);if(d!==c?u.set("locale",this.selectedLanguage):u.delete("locale"),a.setLocale(d),this.view){const[t]=await l(["esri/WebMap"]),a=null===(o=null===(i=this.locales.filter((t=>t.locale===d)))||void 0===i?void 0:i[0])||void 0===o?void 0:o.webmap;if(a)this.view.map=new t({portalItem:{id:a}});else{const i=null===(n=null===(s=null===(e=this.view)||void 0===e?void 0:e.map)||void 0===s?void 0:s.portalItem)||void 0===n?void 0:n.id;i&&this.defaultWebMapId!==i&&(this.view.map=new t({portalItem:{id:this.defaultWebMapId}}))}}document.documentElement.setAttribute("lang",this.selectedLanguage),this.intl.prefersRTL()?document.documentElement.setAttribute("dir","rtl"):document.documentElement.setAttribute("dir","ltr"),window.history.replaceState({},"",decodeURIComponent(`${window.location.pathname}?${u}`)),this.selectedLanguageUpdated.emit(h)}}getSelectedLanguageText(t){const i=-1!==Object.keys(r.partial).indexOf(t),o=r[i?"partial":"full"],{language:e,translated:s}=o[t];return`${e} - ${s}`}async refresh(){try{const t=await a(this.portalItem),i=await d(t);this.t9nData=i,this.selectedLanguageUpdated.emit({locale:this.selectedLanguage,data:i[this.selectedLanguage]})}catch(t){}}get el(){return e(this)}};c.style=":host{display:block;background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-1);min-width:200px}:host calcite-dropdown{width:100%}:host calcite-button{--calcite-color-brand:var(--calcite-color-text-3);--calcite-color-brand-hover:var(--calcite-color-text-3)}";export{c as instant_apps_language_switcher}
6
+ import{r as t,c as i,h as o,g as e}from"./p-4e6eb06e.js";import{g as s}from"./p-b49e1a78.js";import{l}from"./p-d001e961.js";import{a as n}from"./p-5104cc98.js";import{g as a,f as d,L as r}from"./p-4695cfab.js";import"./p-dc9d4be3.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-ac122d9e.js";const c=class{constructor(o){t(this,o),this.selectedLanguageUpdated=i(this,"selectedLanguageUpdated",7),this.icon="language",this.portalItem=void 0,this.view=void 0,this.locales=[],this.defaultLocale=void 0,this.selectedLanguage=null,this.calciteDropdownOverlayPositioning="absolute",this.messages=void 0,this.t9nData=null}async componentWillLoad(){var t,i,o,e,r,c,h,u,v,p,w,m;const[g,f,b]=await l(["esri/intl","esri/WebMap","esri/request"]);this.intl=g,this.request=b,this.messages=await s(document.createElement("instant-apps-language-translator"));try{this.portalItemResource=await a(this.portalItem);const t=await d(this.portalItemResource);this.t9nData=null!=t?t:{}}catch(t){this.t9nData={},console.error("NO PORTAL ITEM RESOURCE AVAILABLE.")}finally{this.userLocale=this.defaultLocale;const s=new URLSearchParams(window.location.search).get("locale"),l=(null===(o=null===(i=null===(t=this.locales)||void 0===t?void 0:t.map((t=>null==t?void 0:t.locale)))||void 0===i?void 0:i.filter((t=>t===s)))||void 0===o?void 0:o.length)>0,a=n(g,this.portalItem.portal),d=(null===(c=null===(r=null===(e=this.locales)||void 0===e?void 0:e.map((t=>null==t?void 0:t.locale)))||void 0===r?void 0:r.filter((t=>t===a)))||void 0===c?void 0:c.length)>0;this.selectedLanguage=l?s:d?a:this.userLocale;const b=this.selectedLanguage;if(b!==this.userLocale&&(this.calciteDropdownItemSelectCallback(b)(),this.selectedLanguageUpdated.emit({locale:b,data:null!==(u=null===(h=this.t9nData)||void 0===h?void 0:h[b])&&void 0!==u?u:null})),this.view){const t=this.view.map;this.defaultWebMapId=null===(v=null==t?void 0:t.portalItem)||void 0===v?void 0:v.id;const i=null===(m=null===(w=null===(p=this.locales)||void 0===p?void 0:p.filter((t=>(null==t?void 0:t.webmap)&&(null==t?void 0:t.webmap)!==this.defaultWebMapId&&(null==t?void 0:t.locale)===this.selectedLanguage)))||void 0===w?void 0:w[0])||void 0===m?void 0:m.webmap;i&&(this.view.map=new f({portalItem:{id:i}}))}}}render(){const t=this.renderTrigger(),i=this.renderDropdownItems(),e=this.renderDefaultLocale();return o("calcite-dropdown",{key:"7f9b97b70ec4a84ebd17d0d41ba598ae15304f10",onCalciteDropdownBeforeOpen:()=>this.trigger.iconEnd="chevron-up",onCalciteDropdownBeforeClose:()=>this.trigger.iconEnd="chevron-down","overlay-positioning":this.calciteDropdownOverlayPositioning,"width-scale":"m"},t,e,i)}renderDefaultLocale(){const{userLocale:t}=this;return o("calcite-dropdown-item",{key:`default-${t}`,onCalciteDropdownItemSelect:this.calciteDropdownItemSelectCallback(t),selected:this.selectedLanguage===this.userLocale},this.getSelectedLanguageText(t))}renderTrigger(){return o("calcite-button",{ref:t=>this.trigger=t,slot:"trigger","icon-start":this.icon,"icon-end":"chevron-down",width:"full",appearance:"outline"},this.getSelectedLanguageText(this.selectedLanguage))}renderDropdownItems(){var t,i;return null===(i=null===(t=this.locales)||void 0===t?void 0:t.map((t=>t.locale)))||void 0===i?void 0:i.map((t=>this.renderDropdownItem(t)))}renderDropdownItem(t){const i=this.getSelectedLanguageText(t);return o("calcite-dropdown-item",{key:t,selected:t===this.selectedLanguage,onCalciteDropdownItemSelect:this.calciteDropdownItemSelectCallback(t)},i)}calciteDropdownItemSelectCallback(t){return async()=>{var i,o,e,s,n;this.selectedLanguage=t;const{intl:a,selectedLanguage:d,t9nData:r,userLocale:c}=this,h=this.locales.filter((t=>t.locale===d))[0];d!==c&&(h.data=r[t]);const u=new URLSearchParams(window.location.search),v=this.intl.normalizeMessageBundleLocale(this.selectedLanguage);if(a.setLocale(v),this.intl.normalizeMessageBundleLocale(document.documentElement.lang)!==this.selectedLanguage&&u.set("locale",this.selectedLanguage),this.view){const[t]=await l(["esri/WebMap"]),a=null===(o=null===(i=this.locales.filter((t=>t.locale===d)))||void 0===i?void 0:i[0])||void 0===o?void 0:o.webmap;if(a)this.view.map=new t({portalItem:{id:a}});else{const i=null===(n=null===(s=null===(e=this.view)||void 0===e?void 0:e.map)||void 0===s?void 0:s.portalItem)||void 0===n?void 0:n.id;i&&this.defaultWebMapId!==i&&(this.view.map=new t({portalItem:{id:this.defaultWebMapId}}))}}document.documentElement.setAttribute("lang",this.selectedLanguage),this.intl.prefersRTL()?document.documentElement.setAttribute("dir","rtl"):document.documentElement.setAttribute("dir","ltr"),window.history.replaceState({},"",decodeURIComponent(`${window.location.pathname}?${u}`)),this.selectedLanguageUpdated.emit(h)}}getSelectedLanguageText(t){const i=-1!==Object.keys(r.partial).indexOf(t),o=r[i?"partial":"full"],{language:e,translated:s}=o[t];return`${e} - ${s}`}async refresh(){try{const t=await a(this.portalItem),i=await d(t);this.t9nData=i,this.selectedLanguageUpdated.emit({locale:this.selectedLanguage,data:i[this.selectedLanguage]})}catch(t){}}get el(){return e(this)}};c.style=":host{display:block;background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-1);min-width:200px}:host calcite-dropdown{width:100%}:host calcite-button{--calcite-color-brand:var(--calcite-color-text-3);--calcite-color-brand-hover:var(--calcite-color-text-3)}";export{c as instant_apps_language_switcher}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import{r as t,c as i,h as s,H as o,g as e}from"./p-4e6eb06e.js";import{l as n}from"./p-d001e961.js";import{b as a}from"./p-5104cc98.js";import{w as r}from"./p-04674a1e.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-ac122d9e.js";const l="instant-apps-scoreboard",d=`${l}--`,c=`${l}__`,h=r.medium[1],p={BASE:l,itemsContainer:`${c}items-container`,items:`${c}items`,item:`${c}item`,label:`${c}item-label`,value:`${c}item-value`,valuePlaceholder:`${c}item-value-placeholder`,position:{bottom:`${c}position--bottom`,side:`${c}position--side`,left:`${c}position--left`,right:`${c}position--right`},mode:{floating:`${c}mode--floating`,pinned:`${c}mode--pinned`}},u=class{constructor(s){t(this,s),this.scoreboardItemsUpdated=i(this,"scoreboardItemsUpdated",7),this.view=void 0,this.items=void 0,this.position="bottom",this.mode="floating",this.itemLimit=6,this.autoDockEnabled=!0,this.geometry=null,this.queryType="layerView",this.state="loading",this.messages=void 0,this.itemIndex=0,this.layers=void 0,this.layerViews=void 0,this.isMobile=!1}scoreboardItemsUpdatedHandler(){this.scoreboardItemsUpdated.emit(this.items)}generateUIDs(){this.itemIndex=0,this.items.forEach(this.generateUID())}async storeLayers(){this.state="calculating",await this.view.map.loadAll();const t=this.items.map((t=>{var i;return null===(i=null==t?void 0:t.layer)||void 0===i?void 0:i.id}));this.layers=this.view.map.allLayers.filter((i=>(i=>(t=>!t.isTable)(i)&&(t=>"feature"===t.type||"scene"===t.type)(i)&&(i=>t.indexOf(i.id)>-1)(i))(i))),this.watchLayerVisibility()}async storeLayerViews(){if(this.layers&&this.layers.length>0){this.layers.forEach((t=>t.outFields=["*"]));const t=[];this.layers.forEach((i=>{const s=this.view.whenLayerView(i);t.push(s)}));const i=(await Promise.allSettled(t)).filter((t=>"fulfilled"==t.status&&t.value)).map((t=>t.value)),s=[];i.forEach((t=>{var i;return s.push(null===(i=this.reactiveUtils)||void 0===i?void 0:i.whenOnce((()=>!t.updating)))})),await Promise.all(s),this.layerViews=new this.Collection([...i])}}calculateScoreboardItemValuesFromGeometry(){this.calculateScoreboardItemValues()}async calculateScoreboardItemValues(){if(this.layers&&0===this.layers.length||this.layerViews&&0===this.layerViews.length)return;this.state="calculating";const t=[...this.items],i=[];this.queryStatDefinitions(t,i);const s=await Promise.all(i);this.handleQueryFeaturesResponses(s,t),this.items.length=0,t.forEach((t=>this.items.push(t))),this.state="complete",this.scoreboardItemsUpdatedHandler(),this.initStationaryWatcher()}async componentWillLoad(){var t;new ResizeObserver((()=>{this.itemIndex=0,this.autoDockEnabled&&(this.isMobile=!!this.checkMobile)})).observe(null===(t=this.el)||void 0===t?void 0:t.parentElement);try{this.state="loading",await this.initMessages()}catch(t){return this.state="disabled",Promise.reject()}finally{if(!this.view||!this.items)return this.state="disabled",Promise.reject();try{return await this.initModules(),Promise.resolve()}catch(t){return this.state="disabled",Promise.reject()}}}async componentDidLoad(){var t;if("disabled"!==this.state)try{await(null===(t=this.reactiveUtils)||void 0===t?void 0:t.whenOnce((()=>{var t;return null===(t=this.view)||void 0===t?void 0:t.ready}))),this.generateUIDs(),await this.loadMapResources(),this.storeLayers(),this.initViewUpdateWatcher()}catch(t){this.state="disabled",console.error(`${l}: FAILED TO LOAD MAP RESOURCES`)}}disconnectedCallback(){var t,i,s,o,e,n;this.state="disabled",this.itemIndex=0,null===(t=this.layers)||void 0===t||t.removeAll(),null===(i=this.layers)||void 0===i||i.destroy(),this.layers=null,null===(s=this.layerViews)||void 0===s||s.removeAll(),null===(o=this.layerViews)||void 0===o||o.destroy(),this.layerViews=null,null===(e=this.handles)||void 0===e||e.removeAll(),null===(n=this.handles)||void 0===n||n.destroy(),this.handles=null}async initMessages(){let t;try{return t=(await a(this.el))[0],this.messages=Object.assign(Object.assign({},this.messages),t),Promise.resolve()}catch(t){console.error("FAILED TO LOAD MESSAGES"),Promise.reject()}}async initModules(){try{const[t,i,s,o]=await n(["esri/core/Handles","esri/core/reactiveUtils","esri/core/Collection","esri/intl"]);return this.reactiveUtils=i,this.Collection=s,this.intl=o,this.handles=new t,this.layers=new s,this.layerViews=new s,Promise.resolve()}catch(t){return console.error(t),this.state="disabled",Promise.reject()}}async loadMapResources(){const{map:t}=this.view,i=t;try{return await i.loadAll(),Promise.resolve()}catch(t){return console.error(t),this.state="disabled",Promise.reject()}}generateUID(){return t=>{const i=Math.random(),s=Math.floor(10*Math.random())+11,o=i.toString(s).replace("0.","");t.uid=o}}render(){var t,i;const{state:e}=this,n="disabled"===e,a="loading"===e||"calculating"===e||"layerView"===this.queryType&&(null===(t=this.view)||void 0===t?void 0:t.updating)?this.renderProgress():null;return s(o,{key:"5a7e3fdc0753d3f951a71397519ebf07ecd68e03",class:`${this.getPositionClass} ${this.getStyleClass}`},n?null:[a,(null===(i=this.items)||void 0===i?void 0:i.length)>0?this.renderBase():null])}renderBase(){return s("div",{key:"instant-apps-scoreboard-base",class:l},this.renderContent())}renderContent(){const{state:t}=this;return"loading"===t?this.renderLoader():"calculating"===t||"complete"===t?this.renderItemsContainer():null}renderItemsContainer(){const[t,i]=this.renderPreviousNextButtons();return s("div",{class:p.itemsContainer},t,this.renderItems(),i)}renderPreviousNextButtons(){var t,i,o;const e=this.getItemLimit(),n=(null===(t=this.items.filter((t=>t.visible)))||void 0===t?void 0:t.length)<=e,a=0===this.itemIndex,r=this.isEnd,l=!!this.isMobile||"bottom"===this.position,d=l?"start":"center",c={previous:l?"chevron-left":"chevron-up",next:l?"chevron-right":"chevron-down"},h=a||n?"blank":c.previous,p=r||n?"blank":c.next,u={previous:a||n,next:r||n},b="transparent",m=this.isMobile?"s":"l",v={previous:null===(i=this.messages)||void 0===i?void 0:i.previous,next:null===(o=this.messages)||void 0===o?void 0:o.next};return[s("calcite-action",{onClick:this.previousItem.bind(this),icon:h,disabled:u.previous,alignment:d,scale:m,appearance:b,text:v.previous,label:v.previous}),s("calcite-action",{onClick:this.nextItem.bind(this),icon:p,disabled:u.next,alignment:d,scale:m,appearance:b,text:v.next,label:v.next})]}renderItems(){const{items:t}=p,i=this.getItemsToDisplay.map((t=>this.renderItem(t)));return s("ul",{class:t},i)}renderItem(t){const{label:i}=t;return s("li",{class:p.item},s("span",{class:p.label,title:i},i),this.renderValue(t))}renderValue(t){var i,o,e;const{displayValue:n}=t,a="disabled"===this.state,r=void 0===n&&"calculating"===this.state,l=n||(null===(i=this.messages)||void 0===i?void 0:i.NA),d=null===(o=this.layers)||void 0===o?void 0:o.find((i=>{var s;return(null===(s=null==t?void 0:t.layer)||void 0===s?void 0:s.id)===i.id})),c=!(null==d?void 0:d.visible),h=r?this.renderValuePlaceholder():a?"":c?s("calcite-icon",{icon:"view-hide",scale:"l",title:null===(e=this.messages)||void 0===e?void 0:e.layerVisibilityOff}):l;return s("span",{class:p.value},h)}renderValuePlaceholder(){return s("span",{class:p.valuePlaceholder})}renderProgress(){return s("calcite-progress",{key:`${d}calcite-progress`,type:"indeterminate"})}renderLoader(){var t;const i=null===(t=this.messages)||void 0===t?void 0:t.loading;return s("calcite-loader",{key:`${d}calcite-loader`,label:i,text:i,scale:"m"})}get getPositionClass(){const{bottom:t,left:i,right:s,side:o}=p.position;return this.isMobile||"bottom"===this.position?t:`${"left"===this.position?i:s} ${o}`}get getStyleClass(){const{floating:t,pinned:i}=p.mode;return this.isMobile?i:"floating"===this.mode?t:i}get checkMobile(){var t,i;const s=null===(i=null===(t=this.el)||void 0===t?void 0:t.parentElement)||void 0===i?void 0:i.offsetWidth;return!isNaN(s)&&s>0&&s<h}get getItemsToDisplay(){const t=this.getItemLimit();return this.items.filter((t=>t.visible)).slice(this.itemIndex,t+this.itemIndex)}get isEnd(){const t=this.getItemLimit(),i=this.items.slice(this.items.length-t).map((t=>t.uid)),s=this.items.slice(this.itemIndex,this.itemIndex+t).map((t=>t.uid));return i.every(((t,i)=>t===s[i]))}previousItem(){this.itemIndex=this.itemIndex-1}nextItem(){this.itemIndex=this.itemIndex+1}queryStatDefinitions(t,i){const s=(t,i)=>{var s,o,e,n,a;const r="layer"===this.queryType?t.layer.createQuery():t.createQuery(),l=this.geometry?this.geometry:this.view.extent;r.outStatistics=[i],r.geometry=l;const d=null!==(a=null!==(o=null===(s=null==t?void 0:t.filter)||void 0===s?void 0:s.timeExtent)&&void 0!==o?o:null===(n=null===(e=null==t?void 0:t.featureEffect)||void 0===e?void 0:e.filter)||void 0===n?void 0:n.timeExtent)&&void 0!==a?a:null;return d&&(r.timeExtent=d),r};t.forEach((()=>async t=>{var o;const e=null===(o=this.layerViews)||void 0===o?void 0:o.find((i=>{var s;return i.layer.id===(null===(s=null==t?void 0:t.layer)||void 0===s?void 0:s.id)}));if(!e)return;const n=(t=>{const{field:i,operation:s}=t;return{onStatisticField:i,outStatisticFieldName:`${i}_${s}`,statisticType:s}})(t),a=s(e,n),r="layer"===this.queryType?e.layer.queryFeatures(a):e.queryFeatures(a);i.push(r)})())}handleQueryFeaturesResponses(t,i){t.forEach((()=>(t,s)=>{const o=(t=>{const i=t.features[0],{attributes:s}=i;return Object.values(s)[0]})(t),e=null!==o,n=e?this.intl.formatNumber(o,{notation:"compact",compactDisplay:"short"}):null;i[s].displayValue=e?`${n}`:"",i[s].value=o})())}initStationaryWatcher(){var t,i;const s={once:!0,initial:!0},o=()=>{var t;return null===(t=this.reactiveUtils)||void 0===t?void 0:t.when((()=>{var t;return!(null===(t=this.view)||void 0===t?void 0:t.interacting)}),(()=>{"layerView"===this.queryType&&this.calculateScoreboardItemValues()}),s)},e="stationary-watcher-key";(null===(t=this.handles)||void 0===t?void 0:t.has(e))&&this.handles.remove(e),null===(i=this.handles)||void 0===i||i.add((()=>{var t;return null===(t=this.reactiveUtils)||void 0===t?void 0:t.when((()=>{var t;return null===(t=this.view)||void 0===t?void 0:t.stationary}),(()=>o()))})(),e)}initViewUpdateWatcher(){return this.reactiveUtils.watch((()=>{var t;return null===(t=this.view)||void 0===t?void 0:t.updating}),(()=>{this.reactiveUtils.when((()=>{var t;return!(null===(t=this.view)||void 0===t?void 0:t.updating)}),(()=>{"layerView"===this.queryType&&this.calculateScoreboardItemValues()}),{once:!0,initial:!0})}),{initial:!0})}watchLayerVisibility(){var t,i;if(!this.layers)return;const s="visbilityWatcherKey";null===(t=this.handles)||void 0===t||t.remove(s);const o=[];this.layers.forEach((t=>{const i=async()=>{const i=await this.view.whenLayerView(t);await this.reactiveUtils.whenOnce((()=>!1===(null==i?void 0:i.updating))),this.calculateScoreboardItemValues()},s=this.reactiveUtils.watch((()=>null==t?void 0:t.visible),(async()=>i()));o.push(s)})),null===(i=this.handles)||void 0===i||i.add([...o],s)}getItemLimit(){return this.itemLimit<2||this.itemLimit>6?6:this.itemLimit}get el(){return e(this)}static get watchers(){return{items:["generateUIDs","storeLayers"],layers:["storeLayerViews"],geometry:["calculateScoreboardItemValuesFromGeometry"],layerViews:["calculateScoreboardItemValues"]}}};u.style=":host{display:block;--instant-apps-scoreboard-background-color:var(--calcite-color-foreground-1);--instant-apps-scoreboard-text-color:var(--calcite-color-text-1);--instant-apps-scoreboard-mobile-position-bottom:0;background-color:var(--instant-apps-scoreboard-background-color);color:var(--instant-apps-scoreboard-text-color)}:host .instant-apps-scoreboard{box-sizing:border-box;border:1px solid var(--calcite-color-border-1);box-shadow:0px 3px 15px rgba(0, 0, 0, 0.2);border-radius:3px}:host .instant-apps-scoreboard calcite-loader{--calcite-loader-padding:1rem}:host .instant-apps-scoreboard__items-container{display:flex}:host .instant-apps-scoreboard__items-container calcite-action{height:100%}:host .instant-apps-scoreboard__items,:host .instant-apps-scoreboard__item{box-sizing:border-box;display:flex}:host .instant-apps-scoreboard__items{list-style-type:none;padding-left:0;margin:0;padding-top:1.75%;padding-bottom:1.75%;width:100%}:host .instant-apps-scoreboard__item{flex-direction:column;justify-content:flex-end;align-items:center;padding:1%}:host .instant-apps-scoreboard__item-label{box-sizing:border-box;line-height:24px;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;word-break:break-word;font-size:1rem;font-weight:400;text-align:center}:host .instant-apps-scoreboard__item-value{display:flex;justify-content:center;align-items:center;min-width:32px;min-height:32px;margin-top:5px;font-size:1.5rem;font-weight:900}:host .instant-apps-scoreboard__item-value-placeholder{display:inline-block;width:32px;height:32px;background-color:var(--calcite-color-foreground-3);border-radius:4px}:host(.instant-apps-scoreboard__position--bottom){bottom:0}:host(.instant-apps-scoreboard__position--bottom) .instant-apps-scoreboard{display:flex;justify-content:center}:host(.instant-apps-scoreboard__position--bottom) .instant-apps-scoreboard__items{display:flex;justify-content:center}:host(.instant-apps-scoreboard__position--bottom) .instant-apps-scoreboard__item{min-width:10vw;vertical-align:top}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--floating){left:50%;max-width:calc(100% - 30px);transform:translate(-50%, -15px)}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--floating) .instant-apps-scoreboard{min-width:25vw}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned){left:unset;bottom:0;transform:unset;width:100%}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard{min-width:unset}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard__items-container{width:100%;justify-content:space-between}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard{display:flex;justify-content:center;align-items:center;width:10vw;overflow-y:auto}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__items-container{flex-direction:column;height:100%;box-sizing:border-box}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__items-container calcite-action{height:unset;width:100%}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__items{flex-direction:column;padding:10px}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__item{padding-top:0.5vh;padding-bottom:0.5vh}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--floating){top:15px;left:15px;max-height:calc(100% - 30px)}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--floating) .instant-apps-scoreboard{min-width:10vw;min-height:35vh}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--pinned){top:unset;left:unset;transform:unset;height:100%}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard{height:100%}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard__items-container{justify-content:space-between}:host(.instant-apps-scoreboard__position--left.instant-apps-scoreboard__mode--floating){left:15px}:host(.instant-apps-scoreboard__position--right.instant-apps-scoreboard__mode--floating){left:unset;right:15px}:host(.instant-apps-scoreboard__position--left.instant-apps-scoreboard__mode--pinned){left:0}:host(.instant-apps-scoreboard__position--right.instant-apps-scoreboard__mode--pinned){left:unset;right:0}@media only screen and (min-width: 992px){:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned){bottom:var(--instant-apps-scoreboard-mobile-position-bottom)}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard__item{justify-content:center;min-width:unset;flex-grow:1}}";export{u as instant_apps_scoreboard}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import{r as t,h as e,H as n,g as r}from"./p-4e6eb06e.js";import{c as i}from"./p-dc9d4be3.js";import{l as o}from"./p-d001e961.js";import{g as a}from"./p-5104cc98.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-ac122d9e.js";const{state:s,onChange:u}=i({timeInfoConfigItems:[],filterMode:{type:"filter"},view:null,timeSlider:null,timeInfoItems:[],selectedTimeInfoItem:null,loading:!0,timeSliderConfig:{},autoPlay:!1});let l;function c(t){return"function"==typeof l[t]?l[t]=l[t](globalThis):l[t]}function f(t){if(!t||"object"!=typeof t||"function"==typeof t)return t;const e=function(t){if(function(t){return"Int8Array"===t?.constructor?.name}(t)||function(t){return"Uint8Array"===t?.constructor?.name}(t)||function(t){return"Uint8ClampedArray"===t?.constructor?.name}(t)||function(t){return"Int16Array"===t?.constructor?.name}(t)||function(t){return"Uint16Array"===t?.constructor?.name}(t)||function(t){return"Int32Array"===t?.constructor?.name}(t)||function(t){return"Uint32Array"===t?.constructor?.name}(t)||function(t){return"Float32Array"===t?.constructor?.name}(t)||function(t){return"Float64Array"===t?.constructor?.name}(t))return t.slice();if(t instanceof Date)return new Date(t.getTime());if(t instanceof ArrayBuffer)return t.slice(0,t.byteLength);if(t instanceof Map){const e=new Map;for(const[n,r]of t)e.set(n,f(r));return e}if(t instanceof Set){const e=new Set;for(const n of t)e.add(f(n));return e}return null}(t);if(null!=e)return e;if(function(t){return"function"==typeof t.clone}(t))return t.clone();if(function(t){return"function"==typeof t.map&&"function"==typeof t.forEach}(t))return t.map(f);if(function(t){return"function"==typeof t.notifyChange&&"function"==typeof t.watch}(t))return t.clone();const n={};for(const e of Object.getOwnPropertyNames(t))n[e]=f(t[e]);return n}function h(t,e,n){return e?Object.keys(e).reduce(((t,r)=>{let i=t[r],o=e[r];return i===o?t:void 0===i?(t[r]=f(o),t):(Array.isArray(o)||Array.isArray(t)?(i=t[r]=i?Array.isArray(i)?i.slice():[i]:[],o&&(Array.isArray(o)||(o=[o]),n?o.forEach((t=>{i.includes(t)||i.push(t)})):t[r]=o.slice())):o&&"object"==typeof o?t[r]=h(i,o,n):t.hasOwnProperty(r)&&!e.hasOwnProperty(r)||(t[r]=o),t)}),t||{}):t}l=globalThis.dojoConfig?.has||globalThis.esriConfig?.has?{...globalThis.dojoConfig?.has,...globalThis.esriConfig?.has}:{},c.add=(t,e,n,r)=>{(r||void 0===l[t])&&(l[t]=e),n&&c(t)},c.cache=l,c.add("big-integer-warning-enabled",!0),c.add("esri-deprecation-warnings",!0),c.add("esri-tests-disable-screenshots",!1),c.add("esri-tests-use-full-window",!1),c.add("esri-tests-post-to-influx",!0),c.add("esri-cim-animations-enable-status","enabled"),c.add("esri-cim-animations-spotlight",!1),c.add("esri-cim-animations-freeze-time",!1),c.add("enable-feature:multiple-highlights",!1),(()=>{c.add("host-webworker",void 0!==globalThis.WorkerGlobalScope&&self instanceof globalThis.WorkerGlobalScope);const t="undefined"!=typeof window&&"undefined"!=typeof location&&"undefined"!=typeof document&&window.location===location&&window.document===document;if(c.add("host-browser",t),c.add("host-node","object"==typeof globalThis.process&&globalThis.process.versions?.node&&globalThis.process.versions.v8),c.add("dom",t),c("host-browser")){const t=navigator,e=t.userAgent,n=t.appVersion,r=parseFloat(n);if(c.add("wp",parseFloat(e.split("Windows Phone")[1])||void 0),c.add("msapp",parseFloat(e.split("MSAppHost/")[1])||void 0),c.add("khtml",n.includes("Konqueror")?r:void 0),c.add("edge",parseFloat(e.split("Edge/")[1])||void 0),c.add("opr",parseFloat(e.split("OPR/")[1])||void 0),c.add("webkit",!c("wp")&&!c("edge")&&parseFloat(e.split("WebKit/")[1])||void 0),c.add("chrome",!c("edge")&&!c("opr")&&parseFloat(e.split("Chrome/")[1])||void 0),c.add("android",!c("wp")&&parseFloat(e.split("Android ")[1])||void 0),c.add("safari",!n.includes("Safari")||c("wp")||c("chrome")||c("android")||c("edge")||c("opr")?void 0:parseFloat(n.split("Version/")[1])),c.add("mac",n.includes("Macintosh")),!c("wp")&&/(iPhone|iPod|iPad)/.test(e)){const t=RegExp.$1.replace(/P/,"p"),n=/OS ([\d_]+)/.test(e)?RegExp.$1:"1",r=parseFloat(n.replace(/_/,".").replaceAll("_",""));c.add(t,r),c.add("ios",r)}c("webkit")||(!e.includes("Gecko")||c("wp")||c("khtml")||c("edge")||c.add("mozilla",r),c("mozilla")&&c.add("ff",parseFloat(e.split("Firefox/")[1]||e.split("Minefield/")[1])||void 0))}})(),(()=>{if(globalThis.navigator){const t=navigator.userAgent,e=/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i.test(t),n=/iPhone/i.test(t);e&&c.add("esri-mobile",e),n&&c.add("esri-iPhone",n),c.add("esri-geolocation",!!navigator.geolocation)}c.add("esri-wasm","WebAssembly"in globalThis),c.add("esri-performance-mode-frames-between-render",20),c.add("esri-force-performance-mode",!1),c.add("esri-shared-array-buffer",(()=>{const t="SharedArrayBuffer"in globalThis,e=!1===globalThis.crossOriginIsolated;return t&&!e})),c.add("wasm-simd",(()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])))),c.add("esri-atomics","Atomics"in globalThis),c.add("esri-workers","Worker"in globalThis),c.add("web-feat:cache","caches"in globalThis),c.add("esri-workers-arraybuffer-transfer",!c("safari")||Number(c("safari"))>=12),c.add("workers-pool-size",8),c.add("featurelayer-simplify-thresholds",[.5,.5,.5,.5]),c.add("featurelayer-simplify-payload-size-factors",[1,1,4]),c.add("featurelayer-fast-triangulation-enabled",!0),c.add("featurelayer-animation-enabled",!0),c.add("featurelayer-snapshot-enabled",!0),c.add("featurelayer-snapshot-point-min-threshold",8e4),c.add("featurelayer-snapshot-point-max-threshold",4e5),c.add("featurelayer-snapshot-point-coverage",.1),c.add("featurelayer-query-max-depth",4),c.add("featurelayer-query-pausing-enabled",!1),c.add("featurelayer-advanced-symbols",!1),c.add("featurelayer-pbf",!0),c.add("featurelayer-pbf-statistics",!1),c.add("feature-layers-workers",!0),c.add("feature-polyline-generalization-factor",1),c.add("mapview-transitions-duration",200),c.add("mapview-essential-goto-duration",200),c.add("mapview-srswitch-adjust-rotation-scale-threshold",24e6),c.add("mapserver-pbf-version-support",10.81),c.add("mapservice-popup-identify-max-tolerance",20),c("host-webworker")||c("host-browser")&&(c.add("esri-csp-restrictions",(()=>{try{new Function}catch{return!0}return!1})),c.add("esri-image-decode",(()=>{if("decode"in new Image){const t=new Image;return t.src='data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg"></svg>',void t.decode().then((()=>{c.add("esri-image-decode",!0,!0,!0)})).catch((()=>{c.add("esri-image-decode",!1,!0,!0)}))}return!1})),c.add("esri-url-encodes-apostrophe",(()=>{const t=window.document.createElement("a");return t.href="?'",t.href.includes("?%27")})))})();const d={apiKey:void 0,applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};globalThis.esriConfig&&(function(t,e,n=!1){h(d,e,n)}(0,globalThis.esriConfig,!0),delete d.has),d.assetsPath||(d.assetsPath="https://js.arcgis.com/4.31/@arcgis/core/assets",d.defaultAssetsPath=d.assetsPath);const p={info:0,warn:1,error:2,none:3};class m{constructor(t){this.level=null,this._module="",this._parent=null,this.writer=null,this._loggedMessages={error:new Map,warn:new Map,info:new Map},null!=t.level&&(this.level=t.level),null!=t.writer&&(this.writer=t.writer),this._module=t.module,m._loggers.set(this.module,this);const e=this.module.lastIndexOf(".");-1!==e&&(this._parent=m.getLogger(this.module.slice(0,e)))}get module(){return this._module}get parent(){return this._parent}error(...t){this._log("error","always",...t)}warn(...t){this._log("warn","always",...t)}info(...t){this._log("info","always",...t)}errorOnce(...t){this._log("error","once",...t)}warnOnce(...t){this._log("warn","once",...t)}infoOnce(...t){this._log("info","once",...t)}errorOncePerTick(...t){this._log("error","oncePerTick",...t)}warnOncePerTick(...t){this._log("warn","oncePerTick",...t)}infoOncePerTick(...t){this._log("info","oncePerTick",...t)}get test(){}static get test(){}static getLogger(t){return m._loggers.get(t="string"!=typeof t?t.declaredClass:t)||new m({module:t})}_log(t,e,...n){if(this._matchLevel(t)){if("always"!==e&&!m._throttlingDisabled){const r=function(...t){return function(t){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e|=0;return e}(JSON.stringify(t,((t,e)=>"object"!=typeof e||Array.isArray(e)?e:"[Object]")))}(n),i=this._loggedMessages[t].get(r);if("once"===e&&null!=i||"oncePerTick"===e&&i&&i>=m._tickCounter)return;this._loggedMessages[t].set(r,m._tickCounter),m._scheduleTickCounterIncrement()}for(const e of d.log.interceptors)if(e(t,this.module,...n))return;this._inheritedWriter()(t,this.module,...n)}}_parentWithMember(t,e){let n=this;for(;null!=n;){const e=n[t];if(null!=e)return e;n=n.parent}return e}_inheritedWriter(){return this._parentWithMember("writer",g)}_matchLevel(t){return p[this._parentWithMember("level",d.log.level||"warn")]<=p[t]}static _scheduleTickCounterIncrement(){m._tickCounterScheduled||(m._tickCounterScheduled=!0,Promise.resolve().then((()=>{m._tickCounter++,m._tickCounterScheduled=!1})))}}function g(t,e,...n){console[t](`[${e}]`,...n)}m._loggers=new Map,m._tickCounter=0,m._tickCounterScheduled=!1,m._throttlingDisabled=!1;class v{constructor(t,e,n){this.name=t,this.details=n,this.message=(e&&function(t,e){return t.replaceAll(/\$\{([^\s:}]*)(?::([^\s:}]+))?\}/g,((t,n)=>{if(""===n)return"$";const r=function(t,e){if(null!=e)return e[t]||function(t,e,n){let r=n;for(const e of t){if(null==r)return;if(!(e in r))return void 0;r=r[e]}return r}(t.split("."),0,e)}(n,e);return(r??"").toString()}))}(e,n))??""}toString(){return"["+this.name+"]: "+this.message}}class w extends v{constructor(t,e,n){super(t,e,n)}toJSON(){if(null!=this.details)try{return{name:this.name,message:this.message,details:JSON.parse(JSON.stringify(this.details,((t,e)=>{if(e&&"object"==typeof e&&"function"==typeof e.toJSON)return e;try{return f(e)}catch(t){return"[object]"}})))}}catch(t){throw m.getLogger("esri.core.Error").error(t),t}return{name:this.name,message:this.message,details:this.details}}static fromJSON(t){return new w(t.name,t.message,t.details)}}w.prototype.type="error";const y={transparent:[0,0,0,0],black:[0,0,0,1],silver:[192,192,192,1],gray:[128,128,128,1],white:[255,255,255,1],maroon:[128,0,0,1],red:[255,0,0,1],purple:[128,0,128,1],fuchsia:[255,0,255,1],green:[0,128,0,1],lime:[0,255,0,1],olive:[128,128,0,1],yellow:[255,255,0,1],navy:[0,0,128,1],blue:[0,0,255,1],teal:[0,128,128,1],aqua:[0,255,255,1],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],blanchedalmond:[255,235,205,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],oldlace:[253,245,230,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],rebeccapurple:[102,51,153,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],whitesmoke:[245,245,245,1],yellowgreen:[154,205,50,1]};function b(t){return y[t]??y[t.toLowerCase()]}function M(t,e,n){n<0&&++n,n>1&&--n;const r=6*n;return r<1?t+(e-t)*r:2*n<1?e:3*n<2?t+(e-t)*(2/3-n)*6:t}function x(){const t=new Float32Array(16);return t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}const k=x();function T(t,e,n){return[t,e,n]}function E(){return T(1,1,1)}function S(){return T(1,0,0)}function _(){return T(0,1,0)}function F(){return T(0,0,1)}Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:k,clone:function(t){const e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},create:x,createView:function(t,e){return new Float32Array(t,e,16)},fromValues:function(t,e,n,r,i,o,a,s,u,l,c,f,h,d,p,m){const g=new Float32Array(16);return g[0]=t,g[1]=e,g[2]=n,g[3]=r,g[4]=i,g[5]=o,g[6]=a,g[7]=s,g[8]=u,g[9]=l,g[10]=c,g[11]=f,g[12]=h,g[13]=d,g[14]=p,g[15]=m,g}},Symbol.toStringTag,{value:"Module"}));const A=E(),I=S(),O=_(),j=F();Object.freeze(Object.defineProperty({__proto__:null,ONES:A,UNIT_X:I,UNIT_Y:O,UNIT_Z:j,ZEROS:[0,0,0],clone:function(t){return[t[0],t[1],t[2]]},create:function(){return[0,0,0]},createView:function(t,e){return new Float64Array(t,e,3)},freeze:function(t,e,n){return[t,e,n]},fromArray:function(t,e=[0,0,0]){const n=Math.min(3,t.length);for(let r=0;r<n;++r)e[r]=t[r];return e},fromValues:T,ones:E,unitX:S,unitY:_,unitZ:F,zeros:function(){return[0,0,0]}},Symbol.toStringTag,{value:"Module"}));let P=1e-6;function $(){return P}const N=Math.random,C=Math.PI/180,R=180/Math.PI;function q(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function U(t,e,n,r,i,o,a,s,u,l,c,f,h,d,p,m,g){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o,t[5]=a,t[6]=s,t[7]=u,t[8]=l,t[9]=c,t[10]=f,t[11]=h,t[12]=d,t[13]=p,t[14]=m,t[15]=g,t}function D(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function z(t,e){if(t===e){const n=e[1],r=e[2],i=e[3],o=e[6],a=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[6]=e[9],t[7]=e[13],t[8]=r,t[9]=o,t[11]=e[14],t[12]=i,t[13]=a,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function V(t,e){const n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],s=e[5],u=e[6],l=e[7],c=e[8],f=e[9],h=e[10],d=e[11],p=e[12],m=e[13],g=e[14],v=e[15],w=n*s-r*a,y=n*u-i*a,b=n*l-o*a,M=r*u-i*s,x=r*l-o*s,k=i*l-o*u,T=c*m-f*p,E=c*g-h*p,S=c*v-d*p,_=f*g-h*m,F=f*v-d*m,A=h*v-d*g;let I=w*A-y*F+b*_+M*S-x*E+k*T;return I?(I=1/I,t[0]=(s*A-u*F+l*_)*I,t[1]=(i*F-r*A-o*_)*I,t[2]=(m*k-g*x+v*M)*I,t[3]=(h*x-f*k-d*M)*I,t[4]=(u*S-a*A-l*E)*I,t[5]=(n*A-i*S+o*E)*I,t[6]=(g*b-p*k-v*y)*I,t[7]=(c*k-h*b+d*y)*I,t[8]=(a*F-s*S+l*T)*I,t[9]=(r*S-n*F-o*T)*I,t[10]=(p*x-m*b+v*w)*I,t[11]=(f*b-c*x-d*w)*I,t[12]=(s*E-a*_-u*T)*I,t[13]=(n*_-r*E+i*T)*I,t[14]=(m*y-p*M-g*w)*I,t[15]=(c*M-f*y+h*w)*I,t):null}function W(t,e,n){const r=e[0],i=e[1],o=e[2],a=e[3],s=e[4],u=e[5],l=e[6],c=e[7],f=e[8],h=e[9],d=e[10],p=e[11],m=e[12],g=e[13],v=e[14],w=e[15];let y=n[0],b=n[1],M=n[2],x=n[3];return t[0]=y*r+b*s+M*f+x*m,t[1]=y*i+b*u+M*h+x*g,t[2]=y*o+b*l+M*d+x*v,t[3]=y*a+b*c+M*p+x*w,y=n[4],b=n[5],M=n[6],x=n[7],t[4]=y*r+b*s+M*f+x*m,t[5]=y*i+b*u+M*h+x*g,t[6]=y*o+b*l+M*d+x*v,t[7]=y*a+b*c+M*p+x*w,y=n[8],b=n[9],M=n[10],x=n[11],t[8]=y*r+b*s+M*f+x*m,t[9]=y*i+b*u+M*h+x*g,t[10]=y*o+b*l+M*d+x*v,t[11]=y*a+b*c+M*p+x*w,y=n[12],b=n[13],M=n[14],x=n[15],t[12]=y*r+b*s+M*f+x*m,t[13]=y*i+b*u+M*h+x*g,t[14]=y*o+b*l+M*d+x*v,t[15]=y*a+b*c+M*p+x*w,t}function J(t,e,n){const r=e[0],i=e[1],o=e[2],a=e[3],s=r+r,u=i+i,l=o+o,c=r*s,f=r*u,h=r*l,d=i*u,p=i*l,m=o*l,g=a*s,v=a*u,w=a*l;return t[0]=1-(d+m),t[1]=f+w,t[2]=h-v,t[3]=0,t[4]=f-w,t[5]=1-(c+m),t[6]=p+g,t[7]=0,t[8]=h+v,t[9]=p-g,t[10]=1-(c+d),t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}Object.freeze(Object.defineProperty({__proto__:null,RANDOM:N,equals:function(t,e){return Math.abs(t-e)<=P*Math.max(1,Math.abs(t),Math.abs(e))},getEpsilon:$,setEpsilon:function(t){P=t},toDegree:function(t){return t*R},toRadian:function(t){return t*C}},Symbol.toStringTag,{value:"Module"}));const L=[0,0,0];function B(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t[4]=e[4]-n[4],t[5]=e[5]-n[5],t[6]=e[6]-n[6],t[7]=e[7]-n[7],t[8]=e[8]-n[8],t[9]=e[9]-n[9],t[10]=e[10]-n[10],t[11]=e[11]-n[11],t[12]=e[12]-n[12],t[13]=e[13]-n[13],t[14]=e[14]-n[14],t[15]=e[15]-n[15],t}Object.freeze(Object.defineProperty({__proto__:null,add:function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t[4]=e[4]+n[4],t[5]=e[5]+n[5],t[6]=e[6]+n[6],t[7]=e[7]+n[7],t[8]=e[8]+n[8],t[9]=e[9]+n[9],t[10]=e[10]+n[10],t[11]=e[11]+n[11],t[12]=e[12]+n[12],t[13]=e[13]+n[13],t[14]=e[14]+n[14],t[15]=e[15]+n[15],t},adjoint:function(t,e){const n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],s=e[5],u=e[6],l=e[7],c=e[8],f=e[9],h=e[10],d=e[11],p=e[12],m=e[13],g=e[14],v=e[15];return t[0]=s*(h*v-d*g)-f*(u*v-l*g)+m*(u*d-l*h),t[1]=-(r*(h*v-d*g)-f*(i*v-o*g)+m*(i*d-o*h)),t[2]=r*(u*v-l*g)-s*(i*v-o*g)+m*(i*l-o*u),t[3]=-(r*(u*d-l*h)-s*(i*d-o*h)+f*(i*l-o*u)),t[4]=-(a*(h*v-d*g)-c*(u*v-l*g)+p*(u*d-l*h)),t[5]=n*(h*v-d*g)-c*(i*v-o*g)+p*(i*d-o*h),t[6]=-(n*(u*v-l*g)-a*(i*v-o*g)+p*(i*l-o*u)),t[7]=n*(u*d-l*h)-a*(i*d-o*h)+c*(i*l-o*u),t[8]=a*(f*v-d*m)-c*(s*v-l*m)+p*(s*d-l*f),t[9]=-(n*(f*v-d*m)-c*(r*v-o*m)+p*(r*d-o*f)),t[10]=n*(s*v-l*m)-a*(r*v-o*m)+p*(r*l-o*s),t[11]=-(n*(s*d-l*f)-a*(r*d-o*f)+c*(r*l-o*s)),t[12]=-(a*(f*g-h*m)-c*(s*g-u*m)+p*(s*h-u*f)),t[13]=n*(f*g-h*m)-c*(r*g-i*m)+p*(r*h-i*f),t[14]=-(n*(s*g-u*m)-a*(r*g-i*m)+p*(r*u-i*s)),t[15]=n*(s*h-u*f)-a*(r*h-i*f)+c*(r*u-i*s),t},copy:q,determinant:function(t){const e=t[0],n=t[1],r=t[2],i=t[3],o=t[4],a=t[5],s=t[6],u=t[7],l=t[8],c=t[9],f=t[10],h=t[11],d=t[12],p=t[13],m=t[14],g=t[15];return(e*a-n*o)*(f*g-h*m)-(e*s-r*o)*(c*g-h*p)+(e*u-i*o)*(c*m-f*p)+(n*s-r*a)*(l*g-h*d)-(n*u-i*a)*(l*m-f*d)+(r*u-i*s)*(l*p-c*d)},equals:function(t,e){if(t===e)return!0;const n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],u=t[6],l=t[7],c=t[8],f=t[9],h=t[10],d=t[11],p=t[12],m=t[13],g=t[14],v=t[15],w=e[0],y=e[1],b=e[2],M=e[3],x=e[4],k=e[5],T=e[6],E=e[7],S=e[8],_=e[9],F=e[10],A=e[11],I=e[12],O=e[13],j=e[14],P=e[15],N=$();return Math.abs(n-w)<=N*Math.max(1,Math.abs(n),Math.abs(w))&&Math.abs(r-y)<=N*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(i-b)<=N*Math.max(1,Math.abs(i),Math.abs(b))&&Math.abs(o-M)<=N*Math.max(1,Math.abs(o),Math.abs(M))&&Math.abs(a-x)<=N*Math.max(1,Math.abs(a),Math.abs(x))&&Math.abs(s-k)<=N*Math.max(1,Math.abs(s),Math.abs(k))&&Math.abs(u-T)<=N*Math.max(1,Math.abs(u),Math.abs(T))&&Math.abs(l-E)<=N*Math.max(1,Math.abs(l),Math.abs(E))&&Math.abs(c-S)<=N*Math.max(1,Math.abs(c),Math.abs(S))&&Math.abs(f-_)<=N*Math.max(1,Math.abs(f),Math.abs(_))&&Math.abs(h-F)<=N*Math.max(1,Math.abs(h),Math.abs(F))&&Math.abs(d-A)<=N*Math.max(1,Math.abs(d),Math.abs(A))&&Math.abs(p-I)<=N*Math.max(1,Math.abs(p),Math.abs(I))&&Math.abs(m-O)<=N*Math.max(1,Math.abs(m),Math.abs(O))&&Math.abs(g-j)<=N*Math.max(1,Math.abs(g),Math.abs(j))&&Math.abs(v-P)<=N*Math.max(1,Math.abs(v),Math.abs(P))},exactEquals:function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]},frob:function(t){return Math.sqrt(t[0]**2+t[1]**2+t[2]**2+t[3]**2+t[4]**2+t[5]**2+t[6]**2+t[7]**2+t[8]**2+t[9]**2+t[10]**2+t[11]**2+t[12]**2+t[13]**2+t[14]**2+t[15]**2)},fromQuat:function(t,e){const n=e[0],r=e[1],i=e[2],o=e[3],a=n+n,s=r+r,u=i+i,l=n*a,c=r*a,f=r*s,h=i*a,d=i*s,p=i*u,m=o*a,g=o*s,v=o*u;return t[0]=1-f-p,t[1]=c+v,t[2]=h-g,t[3]=0,t[4]=c-v,t[5]=1-l-p,t[6]=d+m,t[7]=0,t[8]=h+g,t[9]=d-m,t[10]=1-l-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromQuat2:function(t,e){const n=L,r=-e[0],i=-e[1],o=-e[2],a=e[3],s=e[4],u=e[5],l=e[6],c=e[7],f=r*r+i*i+o*o+a*a;return f>0?(n[0]=2*(s*a+c*r+u*o-l*i)/f,n[1]=2*(u*a+c*i+l*r-s*o)/f,n[2]=2*(l*a+c*o+s*i-u*r)/f):(n[0]=2*(s*a+c*r+u*o-l*i),n[1]=2*(u*a+c*i+l*r-s*o),n[2]=2*(l*a+c*o+s*i-u*r)),J(t,e,n),t},fromRotation:function(t,e,n){if(0===e)return D(t);let r=n[0],i=n[1],o=n[2],a=Math.sqrt(r*r+i*i+o*o);if(a<=$())return null;a=1/a,r*=a,i*=a,o*=a;const s=Math.sin(e),u=Math.cos(e),l=1-u;return t[0]=r*r*l+u,t[1]=i*r*l+o*s,t[2]=o*r*l-i*s,t[3]=0,t[4]=r*i*l-o*s,t[5]=i*i*l+u,t[6]=o*i*l+r*s,t[7]=0,t[8]=r*o*l+i*s,t[9]=i*o*l-r*s,t[10]=o*o*l+u,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromRotationTranslation:J,fromRotationTranslationScale:function(t,e,n,r){const i=e[0],o=e[1],a=e[2],s=e[3],u=i+i,l=o+o,c=a+a,f=i*u,h=i*l,d=i*c,p=o*l,m=o*c,g=a*c,v=s*u,w=s*l,y=s*c,b=r[0],M=r[1],x=r[2];return t[0]=(1-(p+g))*b,t[1]=(h+y)*b,t[2]=(d-w)*b,t[3]=0,t[4]=(h-y)*M,t[5]=(1-(f+g))*M,t[6]=(m+v)*M,t[7]=0,t[8]=(d+w)*x,t[9]=(m-v)*x,t[10]=(1-(f+p))*x,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t},fromRotationTranslationScaleOrigin:function(t,e,n,r,i){const o=e[0],a=e[1],s=e[2],u=e[3],l=o+o,c=a+a,f=s+s,h=o*l,d=o*c,p=o*f,m=a*c,g=a*f,v=s*f,w=u*l,y=u*c,b=u*f,M=r[0],x=r[1],k=r[2],T=i[0],E=i[1],S=i[2],_=(1-(m+v))*M,F=(d+b)*M,A=(p-y)*M,I=(d-b)*x,O=(1-(h+v))*x,j=(g+w)*x,P=(p+y)*k,$=(g-w)*k,N=(1-(h+m))*k;return t[0]=_,t[1]=F,t[2]=A,t[3]=0,t[4]=I,t[5]=O,t[6]=j,t[7]=0,t[8]=P,t[9]=$,t[10]=N,t[11]=0,t[12]=n[0]+T-(_*T+I*E+P*S),t[13]=n[1]+E-(F*T+O*E+$*S),t[14]=n[2]+S-(A*T+j*E+N*S),t[15]=1,t},fromScaling:function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromTranslation:function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t},fromXRotation:function(t,e){const n=Math.sin(e),r=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=r,t[6]=n,t[7]=0,t[8]=0,t[9]=-n,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromYRotation:function(t,e){const n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=0,t[2]=-n,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=n,t[9]=0,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromZRotation:function(t,e){const n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=n,t[2]=0,t[3]=0,t[4]=-n,t[5]=r,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},frustum:function(t,e,n,r,i,o,a){const s=1/(n-e),u=1/(i-r),l=1/(o-a);return t[0]=2*o*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*o*u,t[6]=0,t[7]=0,t[8]=(n+e)*s,t[9]=(i+r)*u,t[10]=(a+o)*l,t[11]=-1,t[12]=0,t[13]=0,t[14]=a*o*2*l,t[15]=0,t},getRotation:function(t,e){const n=e[0]+e[5]+e[10];let r=0;return n>0?(r=2*Math.sqrt(n+1),t[3]=.25*r,t[0]=(e[6]-e[9])/r,t[1]=(e[8]-e[2])/r,t[2]=(e[1]-e[4])/r):e[0]>e[5]&&e[0]>e[10]?(r=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/r,t[0]=.25*r,t[1]=(e[1]+e[4])/r,t[2]=(e[8]+e[2])/r):e[5]>e[10]?(r=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/r,t[0]=(e[1]+e[4])/r,t[1]=.25*r,t[2]=(e[6]+e[9])/r):(r=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/r,t[0]=(e[8]+e[2])/r,t[1]=(e[6]+e[9])/r,t[2]=.25*r),t},getScaling:function(t,e){const n=e[0],r=e[1],i=e[2],o=e[4],a=e[5],s=e[6],u=e[8],l=e[9],c=e[10];return t[0]=Math.sqrt(n*n+r*r+i*i),t[1]=Math.sqrt(o*o+a*a+s*s),t[2]=Math.sqrt(u*u+l*l+c*c),t},getTranslation:function(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t},hasIdentityRotation:function(t){return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[4]&&1===t[5]&&0===t[6]&&0===t[8]&&0===t[9]&&1===t[10]},identity:D,invert:V,invertOrIdentity:function(t,e){return V(t,e)||D(t),t},isOrthoNormal:function(t){const e=$(),n=t[0],r=t[1],i=t[2],o=t[4],a=t[5],s=t[6],u=t[8],l=t[9],c=t[10];return Math.abs(1-(n*n+o*o+u*u))<=e&&Math.abs(1-(r*r+a*a+l*l))<=e&&Math.abs(1-(i*i+s*s+c*c))<=e},lookAt:function(t,e,n,r){const i=e[0],o=e[1],a=e[2];let s=i-n[0],u=o-n[1],l=a-n[2];const c=$();if(Math.abs(s)<c&&Math.abs(u)<c&&Math.abs(l)<c)return void D(t);let f=1/Math.sqrt(s*s+u*u+l*l);s*=f,u*=f,l*=f;const h=r[0],d=r[1],p=r[2];let m=d*l-p*u,g=p*s-h*l,v=h*u-d*s;f=Math.sqrt(m*m+g*g+v*v),f?(f=1/f,m*=f,g*=f,v*=f):(m=0,g=0,v=0);let w=u*v-l*g,y=l*m-s*v,b=s*g-u*m;f=Math.sqrt(w*w+y*y+b*b),f?(f=1/f,w*=f,y*=f,b*=f):(w=0,y=0,b=0),t[0]=m,t[1]=w,t[2]=s,t[3]=0,t[4]=g,t[5]=y,t[6]=u,t[7]=0,t[8]=v,t[9]=b,t[10]=l,t[11]=0,t[12]=-(m*i+g*o+v*a),t[13]=-(w*i+y*o+b*a),t[14]=-(s*i+u*o+l*a),t[15]=1},mul:W,multiply:W,multiplyScalar:function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t[8]=e[8]*n,t[9]=e[9]*n,t[10]=e[10]*n,t[11]=e[11]*n,t[12]=e[12]*n,t[13]=e[13]*n,t[14]=e[14]*n,t[15]=e[15]*n,t},multiplyScalarAndAdd:function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t[4]=e[4]+n[4]*r,t[5]=e[5]+n[5]*r,t[6]=e[6]+n[6]*r,t[7]=e[7]+n[7]*r,t[8]=e[8]+n[8]*r,t[9]=e[9]+n[9]*r,t[10]=e[10]+n[10]*r,t[11]=e[11]+n[11]*r,t[12]=e[12]+n[12]*r,t[13]=e[13]+n[13]*r,t[14]=e[14]+n[14]*r,t[15]=e[15]+n[15]*r,t},ortho:function(t,e,n,r,i,o,a){const s=1/(e-n),u=1/(r-i),l=1/(o-a);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*l,t[11]=0,t[12]=(e+n)*s,t[13]=(i+r)*u,t[14]=(a+o)*l,t[15]=1,t},perspective:function(t,e,n,r,i){const o=1/Math.tan(e/2);let a;return t[0]=o/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(a=1/(r-i),t[10]=(i+r)*a,t[14]=2*i*r*a):(t[10]=-1,t[14]=-2*r),t},perspectiveFromFieldOfView:function(t,e,n,r){const i=Math.tan(e.upDegrees*Math.PI/180),o=Math.tan(e.downDegrees*Math.PI/180),a=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),u=2/(a+s),l=2/(i+o);return t[0]=u,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=l,t[6]=0,t[7]=0,t[8]=-(a-s)*u*.5,t[9]=(i-o)*l*.5,t[10]=r/(n-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*n/(n-r),t[15]=0,t},rotate:function(t,e,n,r){let i=r[0],o=r[1],a=r[2],s=Math.sqrt(i*i+o*o+a*a);if(s<=$())return void q(t,e);s=1/s,i*=s,o*=s,a*=s;const u=Math.sin(n),l=Math.cos(n),c=1-l,f=e[0],h=e[1],d=e[2],p=e[3],m=e[4],g=e[5],v=e[6],w=e[7],y=e[8],b=e[9],M=e[10],x=e[11],k=i*i*c+l,T=o*i*c+a*u,E=a*i*c-o*u,S=i*o*c-a*u,_=o*o*c+l,F=a*o*c+i*u,A=i*a*c+o*u,I=o*a*c-i*u,O=a*a*c+l;t[0]=f*k+m*T+y*E,t[1]=h*k+g*T+b*E,t[2]=d*k+v*T+M*E,t[3]=p*k+w*T+x*E,t[4]=f*S+m*_+y*F,t[5]=h*S+g*_+b*F,t[6]=d*S+v*_+M*F,t[7]=p*S+w*_+x*F,t[8]=f*A+m*I+y*O,t[9]=h*A+g*I+b*O,t[10]=d*A+v*I+M*O,t[11]=p*A+w*I+x*O,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15])},rotateX:function(t,e,n){const r=Math.sin(n),i=Math.cos(n),o=e[4],a=e[5],s=e[6],u=e[7],l=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=o*i+l*r,t[5]=a*i+c*r,t[6]=s*i+f*r,t[7]=u*i+h*r,t[8]=l*i-o*r,t[9]=c*i-a*r,t[10]=f*i-s*r,t[11]=h*i-u*r,t},rotateY:function(t,e,n){const r=Math.sin(n),i=Math.cos(n),o=e[0],a=e[1],s=e[2],u=e[3],l=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*i-l*r,t[1]=a*i-c*r,t[2]=s*i-f*r,t[3]=u*i-h*r,t[8]=o*r+l*i,t[9]=a*r+c*i,t[10]=s*r+f*i,t[11]=u*r+h*i,t},rotateZ:function(t,e,n){const r=Math.sin(n),i=Math.cos(n),o=e[0],a=e[1],s=e[2],u=e[3],l=e[4],c=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*i+l*r,t[1]=a*i+c*r,t[2]=s*i+f*r,t[3]=u*i+h*r,t[4]=l*i-o*r,t[5]=c*i-a*r,t[6]=f*i-s*r,t[7]=h*i-u*r,t},scale:function(t,e,n){const r=n[0],i=n[1],o=n[2];return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},set:U,str:function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"},sub:B,subtract:B,targetTo:function(t,e,n,r){const i=e[0],o=e[1],a=e[2],s=r[0],u=r[1],l=r[2];let c=i-n[0],f=o-n[1],h=a-n[2],d=c*c+f*f+h*h;d>0&&(d=1/Math.sqrt(d),c*=d,f*=d,h*=d);let p=u*h-l*f,m=l*c-s*h,g=s*f-u*c;return d=p*p+m*m+g*g,d>0&&(d=1/Math.sqrt(d),p*=d,m*=d,g*=d),t[0]=p,t[1]=m,t[2]=g,t[3]=0,t[4]=f*g-h*m,t[5]=h*p-c*g,t[6]=c*m-f*p,t[7]=0,t[8]=c,t[9]=f,t[10]=h,t[11]=0,t[12]=i,t[13]=o,t[14]=a,t[15]=1,t},translate:function(t,e,n){const r=n[0],i=n[1],o=n[2];if(e===t)t[12]=e[0]*r+e[4]*i+e[8]*o+e[12],t[13]=e[1]*r+e[5]*i+e[9]*o+e[13],t[14]=e[2]*r+e[6]*i+e[10]*o+e[14],t[15]=e[3]*r+e[7]*i+e[11]*o+e[15];else{const n=e[0],a=e[1],s=e[2],u=e[3],l=e[4],c=e[5],f=e[6],h=e[7],d=e[8],p=e[9],m=e[10],g=e[11];t[0]=n,t[1]=a,t[2]=s,t[3]=u,t[4]=l,t[5]=c,t[6]=f,t[7]=h,t[8]=d,t[9]=p,t[10]=m,t[11]=g,t[12]=n*r+l*i+d*o+e[12],t[13]=a*r+c*i+p*o+e[13],t[14]=s*r+f*i+m*o+e[14],t[15]=u*r+h*i+g*o+e[15]}return t},transpose:z},Symbol.toStringTag,{value:"Module"}));class Y{constructor(t,e,n){this.strength=t,this.radius=e,this.threshold=n,this.type="bloom"}interpolate(t,e,n){this.strength=Q(t.strength,e.strength,n),this.radius=Q(t.radius,e.radius,n),this.threshold=Q(t.threshold,e.threshold,n)}clone(){return new Y(this.strength,this.radius,this.threshold)}toJSON(){return{type:"bloom",radius:tt(this.radius),strength:this.strength,threshold:this.threshold}}}class Z{constructor(t){this.radius=t,this.type="blur"}interpolate(t,e,n){this.radius=Math.round(Q(t.radius,e.radius,n))}clone(){return new Z(this.radius)}toJSON(){return{type:"blur",radius:tt(this.radius)}}}class X{constructor(t,e){this.type=t,this.amount=e,"invert"!==this.type&&"grayscale"!==this.type&&"sepia"!==this.type||(this.amount=Math.min(this.amount,1))}get colorMatrix(){return this._colorMatrix||this._updateMatrix(),this._colorMatrix}interpolate(t,e,n){this.amount=Q(t.amount,e.amount,n),this._updateMatrix()}clone(){return new X(this.type,this.amount)}toJSON(){return{type:this.type,amount:this.amount}}_updateMatrix(){const t=this._colorMatrix||x();switch(this.type){case"brightness":this._colorMatrix=((t,e)=>{const n=U(t,e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1);return z(n,n)})(t,this.amount);break;case"contrast":this._colorMatrix=((t,e)=>{const n=U(t,e,0,0,.5-.5*e,0,e,0,.5-.5*e,0,0,e,.5-.5*e,0,0,0,1);return z(n,n)})(t,this.amount);break;case"grayscale":this._colorMatrix=(t=>{const e=1-this.amount,n=U(t,.2126+.7874*e,.7152-.7152*e,.0722-.0722*e,0,.2126-.2126*e,.7152+.2848*e,.0722-.0722*e,0,.2126-.2126*e,.7152-.7152*e,.0722+.9278*e,0,0,0,0,1);return z(n,n)})(t);break;case"invert":this._colorMatrix=((t,e)=>{const n=1-2*e,r=U(t,n,0,0,e,0,n,0,e,0,0,n,e,0,0,0,1);return z(r,r)})(t,this.amount);break;case"saturate":this._colorMatrix=((t,e)=>{const n=U(t,.213+.787*e,.715-.715*e,.072-.072*e,0,.213-.213*e,.715+.285*e,.072-.072*e,0,.213-.213*e,.715-.715*e,.072+.928*e,0,0,0,0,1);return z(n,n)})(t,this.amount);break;case"sepia":this._colorMatrix=(t=>{const e=1-this.amount,n=U(t,.393+.607*e,.769-.769*e,.189-.189*e,0,.349-.349*e,.686+.314*e,.168-.168*e,0,.272-.272*e,.534-.534*e,.131+.869*e,0,0,0,0,1);return z(n,n)})(t)}}}class G{constructor(t,e,n,r){this.offsetX=t,this.offsetY=e,this.blurRadius=n,this.color=r,this.type="drop-shadow"}interpolate(t,e,n){this.offsetX=Q(t.offsetX,e.offsetX,n),this.offsetY=Q(t.offsetY,e.offsetY,n),this.blurRadius=Q(t.blurRadius,e.blurRadius,n),this.color[0]=Math.round(Q(t.color[0],e.color[0],n)),this.color[1]=Math.round(Q(t.color[1],e.color[1],n)),this.color[2]=Math.round(Q(t.color[2],e.color[2],n)),this.color[3]=Q(t.color[3],e.color[3],n)}clone(){return new G(this.offsetX,this.offsetY,this.blurRadius,[...this.color])}toJSON(){const t=[...this.color];return t[3]*=255,{type:"drop-shadow",xoffset:tt(this.offsetX),yoffset:tt(this.offsetY),blurRadius:tt(this.blurRadius),color:t}}}class H{constructor(t){this.angle=t,this.type="hue-rotate"}get colorMatrix(){return this._colorMatrix||this._updateMatrix(),this._colorMatrix}interpolate(t,e,n){this.angle=Q(t.angle,e.angle,n),this._updateMatrix()}clone(){return new H(this.angle)}toJSON(){return{type:"hue-rotate",angle:this.angle}}_updateMatrix(){const t=this._colorMatrix||x();this._colorMatrix=((t,e)=>{const n=Math.sin(e*Math.PI/180),r=Math.cos(e*Math.PI/180),i=U(t,.213+.787*r-.213*n,.715-.715*r-.715*n,.072-.072*r+.928*n,0,.213-.213*r+.143*n,.715+.285*r+.14*n,.072-.072*r-.283*n,0,.213-.213*r-.787*n,.715-.715*r+.715*n,.072+.928*r+.072*n,0,0,0,0,1);return z(i,i)})(t,this.angle)}}class K{constructor(t){this.amount=t,this.type="opacity",this.amount=Math.min(this.amount,1)}interpolate(t,e,n){this.amount=Q(t.amount,e.amount,n)}clone(){return new K(this.amount)}toJSON(){return{type:"opacity",amount:this.amount}}}function Q(t,e,n){return t+(e-t)*n}function tt(t){return Math.round(1e3*((e=t)?72*e/96:0))/1e3;var e}function et(t){switch(t.type){case"grayscale":case"sepia":case"invert":return new X(t.type,0);case"saturate":case"brightness":case"contrast":return new X(t.type,1);case"opacity":return new K(1);case"hue-rotate":return new H(0);case"blur":return new Z(0);case"drop-shadow":return new G(0,0,0,[...b("transparent")]);case"bloom":return new Y(0,0,1)}}function nt(t,e){const n=t.length>e.length?t:e;return(t.length>e.length?e:t).every(((t,e)=>t.type===n[e].type))}function rt(t,e){const n=t.length>e.length?t:e,r=t.length>e.length?e:t;for(let t=r.length;t<n.length;t++)r.push(et(n[t]))}function it(t,e,n,r){var i=Error.call(this,t);return Object.setPrototypeOf&&Object.setPrototypeOf(i,it.prototype),i.expected=e,i.found=n,i.location=r,i.name="SyntaxError",i}function ot(t,e,n){return n=n||" ",t.length>e?t:t+(n+=n.repeat(e-=t.length)).slice(0,e)}function at(t){if(!t||0===t.length)return null;if("string"==typeof t){const e=st(t);return e&&0!==e.length?e:null}const e=t.map((t=>{if(!Number.isFinite(t.scale)||t.scale<=0)throw new w("effect:invalid-scale","scale must be finite and greater than 0",{stop:t});return{scale:t.scale,effects:st(t.value)}}));e.sort(((t,e)=>e.effects.length-t.effects.length));for(let t=0;t<e.length-1;t++){if(!nt(e[t].effects,e[t+1].effects))throw new w("effect:interpolation-impossible","Cannot interpolate by scale between 2 lists of mixed effects",{a:e[t].effects,b:e[t+1].effects});rt(e[t].effects,e[t+1].effects)}return e.sort(((t,e)=>e.scale-t.scale)),e}function st(t){let e;if(!t)return[];try{e=function(t,e){var n,r={},i=(e=void 0!==e?e:{}).grammarSource,o={start:Jt},a=Jt,s="none",u=")",l=",",c="(",f="%",h="px",d="cm",p="mm",m="in",g="pt",v="pc",w="deg",y="rad",b="grad",M="turn",x="#",k=".",T="e",E=/^[ \t\n\r]/,S=/^[a-z\-]/,_=/^[0-9a-fA-F]/,F=/^[+\-]/,A=/^[0-9]/,I=zt("none"),O=Ut("none",!1),j=Ut(")",!1),P=Ut(",",!1),$=zt("whitespace"),N=Dt([" ","\t","\n","\r"],!1,!1),C=zt("function"),R=Ut("(",!1),q=zt("identifier"),U=Dt([["a","z"],"-"],!1,!1),D=zt("percentage"),z=Ut("%",!1),V=zt("length"),W=Ut("px",!1),J=Ut("cm",!1),L=Ut("mm",!1),B=Ut("in",!1),Y=Ut("pt",!1),Z=Ut("pc",!1),X=zt("angle"),G=Ut("deg",!1),H=Ut("rad",!1),K=Ut("grad",!1),Q=Ut("turn",!1),tt=zt("number"),et=zt("color"),nt=Ut("#",!1),rt=Dt([["0","9"],["a","f"],["A","F"]],!1,!1),ot=Dt(["+","-"],!1,!1),at=Dt([["0","9"]],!1,!1),st=Ut(".",!1),ut=Ut("e",!1),lt=function(){return[]},ct=function(t,e){return{type:"function",name:t,parameters:e||[]}},ft=function(t,e){return e.length>0?function(t,e){return[t].concat(function(t){return t.map((function(t){return t[3]}))}(e))}(t,e):[t]},ht=function(t){return{type:"quantity",value:t.value,unit:t.unit}},dt=function(t){return{type:"color",colorType:t.type,value:t.value}},pt=function(t){return t},mt=function(){return qt()},gt=function(t){return{value:t,unit:"%"}},vt=function(t){return{value:t,unit:"px"}},wt=function(t){return{value:t,unit:"cm"}},yt=function(t){return{value:t,unit:"mm"}},bt=function(t){return{value:t,unit:"in"}},Mt=function(t){return{value:t,unit:"pt"}},xt=function(t){return{value:t,unit:"pc"}},kt=function(t){return{value:t,unit:"deg"}},Tt=function(t){return{value:t,unit:"rad"}},Et=function(t){return{value:t,unit:"grad"}},St=function(t){return{value:t,unit:"turn"}},_t=function(t){return{value:t,unit:null}},Ft=function(){return{type:"hex",value:qt()}},At=function(t){return{type:"function",value:t}},It=function(){return{type:"named",value:qt()}},Ot=function(){return parseFloat(qt())},jt=0|e.peg$currPos,Pt=jt,$t=[{line:1,column:1}],Nt=jt,Ct=e.peg$maxFailExpected||[],Rt=0|e.peg$silentFails;if(e.startRule){if(!(e.startRule in o))throw new Error("Can't start parsing from rule \""+e.startRule+'".');a=o[e.startRule]}function qt(){return t.substring(Pt,jt)}function Ut(t,e){return{type:"literal",text:t,ignoreCase:e}}function Dt(t,e,n){return{type:"class",parts:t,inverted:e,ignoreCase:n}}function zt(t){return{type:"other",description:t}}function Vt(e){var n,r=$t[e];if(r)return r;if(e>=$t.length)n=$t.length-1;else for(n=e;!$t[--n];);for(r={line:(r=$t[n]).line,column:r.column};n<e;)10===t.charCodeAt(n)?(r.line++,r.column=1):r.column++,n++;return $t[e]=r,r}function Wt(t){jt<Nt||(jt>Nt&&(Nt=jt,Ct=[]),Ct.push(t))}function Jt(){var t;return(t=Lt())===r&&(t=function(){var t,e;if(t=[],(e=Bt())!==r)for(;e!==r;)t.push(e),e=Bt();else t=r;return t}()),t}function Lt(){var e,n;return Rt++,e=jt,Zt(),t.substr(jt,4)===s?(n=s,jt+=4):(n=r,0===Rt&&Wt(O)),n!==r?(Zt(),Pt=e,e=lt()):(jt=e,e=r),Rt--,e===r&&0===Rt&&Wt(I),e}function Bt(){var e,n,i,o;return e=jt,Zt(),(n=function(){var e,n,i;return Rt++,e=jt,(n=Xt())!==r?(40===t.charCodeAt(jt)?(i=c,jt++):(i=r,0===Rt&&Wt(R)),i!==r?(Pt=e,e=pt(n)):(jt=e,e=r)):(jt=e,e=r),Rt--,e===r&&(n=r,0===Rt&&Wt(C)),e}())!==r?(Zt(),(i=function(){var e,n,i,o,a,s,u,c;if(e=jt,(n=Yt())!==r){for(i=[],o=jt,a=Zt(),44===t.charCodeAt(jt)?(s=l,jt++):(s=r,0===Rt&&Wt(P)),s===r&&(s=null),u=Zt(),(c=Yt())!==r?o=a=[a,s,u,c]:(jt=o,o=r);o!==r;)i.push(o),o=jt,a=Zt(),44===t.charCodeAt(jt)?(s=l,jt++):(s=r,0===Rt&&Wt(P)),s===r&&(s=null),u=Zt(),(c=Yt())!==r?o=a=[a,s,u,c]:(jt=o,o=r);Pt=e,e=ft(n,i)}else jt=e,e=r;return e}())===r&&(i=null),Zt(),41===t.charCodeAt(jt)?(o=u,jt++):(o=r,0===Rt&&Wt(j)),o!==r?(Zt(),Pt=e,e=ct(n,i)):(jt=e,e=r)):(jt=e,e=r),e}function Yt(){var t,e;return t=jt,(e=Gt())===r&&(e=Ht())===r&&(e=Kt())===r&&(e=function(){var t,e;return Rt++,t=jt,Zt(),(e=te())!==r?(Pt=t,t=_t(e)):(jt=t,t=r),Rt--,t===r&&0===Rt&&Wt(tt),t}()),e!==r&&(Pt=t,e=ht(e)),(t=e)===r&&(t=jt,(e=Qt())!==r&&(Pt=t,e=dt(e)),t=e),t}function Zt(){var e,n;for(Rt++,e=[],n=t.charAt(jt),E.test(n)?jt++:(n=r,0===Rt&&Wt(N));n!==r;)e.push(n),n=t.charAt(jt),E.test(n)?jt++:(n=r,0===Rt&&Wt(N));return Rt--,n=r,0===Rt&&Wt($),e}function Xt(){var e,n,i;if(Rt++,e=jt,n=[],i=t.charAt(jt),S.test(i)?jt++:(i=r,0===Rt&&Wt(U)),i!==r)for(;i!==r;)n.push(i),i=t.charAt(jt),S.test(i)?jt++:(i=r,0===Rt&&Wt(U));else n=r;return n!==r&&(Pt=e,n=mt()),Rt--,(e=n)===r&&(n=r,0===Rt&&Wt(q)),e}function Gt(){var e,n,i;return Rt++,e=jt,Zt(),(n=te())!==r?(37===t.charCodeAt(jt)?(i=f,jt++):(i=r,0===Rt&&Wt(z)),i!==r?(Pt=e,e=gt(n)):(jt=e,e=r)):(jt=e,e=r),Rt--,e===r&&0===Rt&&Wt(D),e}function Ht(){var e,n,i;return Rt++,e=jt,Zt(),(n=te())!==r?(t.substr(jt,2)===h?(i=h,jt+=2):(i=r,0===Rt&&Wt(W)),i!==r?(Pt=e,e=vt(n)):(jt=e,e=r)):(jt=e,e=r),e===r&&(e=jt,Zt(),(n=te())!==r?(t.substr(jt,2)===d?(i=d,jt+=2):(i=r,0===Rt&&Wt(J)),i!==r?(Pt=e,e=wt(n)):(jt=e,e=r)):(jt=e,e=r),e===r&&(e=jt,Zt(),(n=te())!==r?(t.substr(jt,2)===p?(i=p,jt+=2):(i=r,0===Rt&&Wt(L)),i!==r?(Pt=e,e=yt(n)):(jt=e,e=r)):(jt=e,e=r),e===r&&(e=jt,Zt(),(n=te())!==r?(t.substr(jt,2)===m?(i=m,jt+=2):(i=r,0===Rt&&Wt(B)),i!==r?(Pt=e,e=bt(n)):(jt=e,e=r)):(jt=e,e=r),e===r&&(e=jt,Zt(),(n=te())!==r?(t.substr(jt,2)===g?(i=g,jt+=2):(i=r,0===Rt&&Wt(Y)),i!==r?(Pt=e,e=Mt(n)):(jt=e,e=r)):(jt=e,e=r),e===r&&(e=jt,Zt(),(n=te())!==r?(t.substr(jt,2)===v?(i=v,jt+=2):(i=r,0===Rt&&Wt(Z)),i!==r?(Pt=e,e=xt(n)):(jt=e,e=r)):(jt=e,e=r)))))),Rt--,e===r&&0===Rt&&Wt(V),e}function Kt(){var e,n,i;return Rt++,e=jt,(n=te())!==r?(t.substr(jt,3)===w?(i=w,jt+=3):(i=r,0===Rt&&Wt(G)),i!==r?(Pt=e,e=kt(n)):(jt=e,e=r)):(jt=e,e=r),e===r&&(e=jt,(n=te())!==r?(t.substr(jt,3)===y?(i=y,jt+=3):(i=r,0===Rt&&Wt(H)),i!==r?(Pt=e,e=Tt(n)):(jt=e,e=r)):(jt=e,e=r),e===r&&(e=jt,(n=te())!==r?(t.substr(jt,4)===b?(i=b,jt+=4):(i=r,0===Rt&&Wt(K)),i!==r?(Pt=e,e=Et(n)):(jt=e,e=r)):(jt=e,e=r),e===r&&(e=jt,(n=te())!==r?(t.substr(jt,4)===M?(i=M,jt+=4):(i=r,0===Rt&&Wt(Q)),i!==r?(Pt=e,e=St(n)):(jt=e,e=r)):(jt=e,e=r)))),Rt--,e===r&&(n=r,0===Rt&&Wt(X)),e}function Qt(){var e,n,i,o;if(Rt++,e=jt,35===t.charCodeAt(jt)?(n=x,jt++):(n=r,0===Rt&&Wt(nt)),n!==r){if(i=[],o=t.charAt(jt),_.test(o)?jt++:(o=r,0===Rt&&Wt(rt)),o!==r)for(;o!==r;)i.push(o),o=t.charAt(jt),_.test(o)?jt++:(o=r,0===Rt&&Wt(rt));else i=r;i!==r?(Pt=e,e=Ft()):(jt=e,e=r)}else jt=e,e=r;return e===r&&(e=jt,(n=Bt())!==r&&(Pt=e,n=At(n)),(e=n)===r&&(e=jt,(n=Xt())!==r&&(Pt=e,n=It()),e=n)),Rt--,e===r&&(n=r,0===Rt&&Wt(et)),e}function te(){var e,n,i,o,a,s,u,l;for(e=jt,n=t.charAt(jt),F.test(n)?jt++:(n=r,0===Rt&&Wt(ot)),n===r&&(n=null),i=jt,o=[],a=t.charAt(jt),A.test(a)?jt++:(a=r,0===Rt&&Wt(at));a!==r;)o.push(a),a=t.charAt(jt),A.test(a)?jt++:(a=r,0===Rt&&Wt(at));if(46===t.charCodeAt(jt)?(a=k,jt++):(a=r,0===Rt&&Wt(st)),a!==r){if(s=[],u=t.charAt(jt),A.test(u)?jt++:(u=r,0===Rt&&Wt(at)),u!==r)for(;u!==r;)s.push(u),u=t.charAt(jt),A.test(u)?jt++:(u=r,0===Rt&&Wt(at));else s=r;s!==r?i=o=[o,a,s]:(jt=i,i=r)}else jt=i,i=r;if(i===r)if(i=[],o=t.charAt(jt),A.test(o)?jt++:(o=r,0===Rt&&Wt(at)),o!==r)for(;o!==r;)i.push(o),o=t.charAt(jt),A.test(o)?jt++:(o=r,0===Rt&&Wt(at));else i=r;if(i!==r){if(o=jt,101===t.charCodeAt(jt)?(a=T,jt++):(a=r,0===Rt&&Wt(ut)),a!==r){if(s=t.charAt(jt),F.test(s)?jt++:(s=r,0===Rt&&Wt(ot)),s===r&&(s=null),u=[],l=t.charAt(jt),A.test(l)?jt++:(l=r,0===Rt&&Wt(at)),l!==r)for(;l!==r;)u.push(l),l=t.charAt(jt),A.test(l)?jt++:(l=r,0===Rt&&Wt(at));else u=r;u!==r?o=a=[a,s,u]:(jt=o,o=r)}else jt=o,o=r;o===r&&(o=null),Pt=e,e=Ot()}else jt=e,e=r;return e}if(n=a(),e.peg$library)return{peg$result:n,peg$currPos:jt,peg$FAILED:r,peg$maxFailExpected:Ct,peg$maxFailPos:Nt};if(n!==r&&jt===t.length)return n;throw n!==r&&jt<t.length&&Wt({type:"end"}),function(t,e,n){return new it(it.buildMessage(t,e),t,e,n)}(Ct,Nt<t.length?t.charAt(Nt):null,function(t,e){var n=Vt(t),r=Vt(e);return{source:i,start:{offset:t,line:n.line,column:n.column},end:{offset:e,line:r.line,column:r.column}}}(Nt,Nt<t.length?Nt+1:Nt))}(t)}catch(e){throw new w("effect:invalid-syntax","Invalid effect syntax",{value:t,error:e})}return e.map((t=>function(t){try{switch(t.name){case"grayscale":case"sepia":case"saturate":case"invert":case"brightness":case"contrast":return function(t){let e=1;return ut(t.parameters,1),1===t.parameters.length&&(e=dt(t.parameters[0])),new X(t.name,e)}(t);case"opacity":return function(t){let e=1;return ut(t.parameters,1),1===t.parameters.length&&(e=dt(t.parameters[0])),new K(e)}(t);case"hue-rotate":return function(t){let e=0;return ut(t.parameters,1),1===t.parameters.length&&(e=function(t){return function(t){if("quantity"!==t.type||!(0===t.value&&null===t.unit||t.unit&&null!=ft[t.unit]))throw new w("effect:type-error",`Expected <angle>, Actual: ${lt(t)}`,{term:t})}(t),t.value*ft[t.unit]||0}(t.parameters[0])),new H(e)}(t);case"blur":return function(t){let e=0;return ut(t.parameters,1),1===t.parameters.length&&(e=pt(t.parameters[0]),ct(e,t.parameters[0])),new Z(e)}(t);case"drop-shadow":return function(t){const e=[];let n=null;for(const r of t.parameters)if("color"===r.type){if(e.length&&Object.freeze(e),n)throw new w("effect:type-error","Accepts only one color",{});n=mt(r)}else{const t=pt(r);if(Object.isFrozen(e))throw new w("effect:type-error","<length> parameters not consecutive",{lengths:e});e.push(t),3===e.length&&ct(t,r)}if(e.length<2||e.length>3)throw new w("effect:type-error",`Expected <length>{2,3}, Actual: <length>{${e.length}}`,{lengths:e});return new G(e[0],e[1],e[2]||0,n||gt("black"))}(t);case"bloom":return function(t){let e=1,n=0,r=0;return ut(t.parameters,3),t.parameters[0]&&(e=dt(t.parameters[0])),t.parameters[1]&&(n=pt(t.parameters[1]),ct(n,t.parameters[1])),t.parameters[2]&&(r=dt(t.parameters[2])),new Y(e,n,r)}(t)}}catch(e){throw e.details.filter=t,e}throw new w("effect:unknown-effect",`Effect '${t.name}' is not supported`,{effect:t})}(t)))}function ut(t,e){if(t.length>e)throw new w("effect:type-error",`Function supports up to ${e} parameters, Actual: ${t.length}`,{parameters:t})}function lt(t){if("color"===t.type)return"<color>";if(t.unit){if(t.unit in ht)return"<length>";if(t.unit in ft)return"<angle>";if("%"===t.unit)return"<percentage>"}return"<double>"}function ct(t,e){if(t<0)throw new w("effect:type-error",`Negative values are not allowed, Actual: ${t}`,{term:e})}(function(t,e){function n(){this.constructor=t}n.prototype=e.prototype,t.prototype=new n})(it,Error),it.prototype.format=function(t){var e="Error: "+this.message;if(this.location){var n,r=null;for(n=0;n<t.length;n++)if(t[n].source===this.location.source){r=t[n].text.split(/\r\n|\n|\r/g);break}var i=this.location.start,o=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(i):i,a=this.location.source+":"+o.line+":"+o.column;if(r){var s=this.location.end,u=ot("",o.line.toString().length," "),l=r[i.line-1],c=(i.line===s.line?s.column:l.length+1)-i.column||1;e+="\n --\x3e "+a+"\n"+u+" |\n"+o.line+" | "+l+"\n"+u+" | "+ot("",i.column-1," ")+ot("",c,"^")}else e+="\n at "+a}return e},it.buildMessage=function(t,e){var n={literal:function(t){return'"'+i(t.text)+'"'},class:function(t){var e=t.parts.map((function(t){return Array.isArray(t)?o(t[0])+"-"+o(t[1]):o(t)}));return"["+(t.inverted?"^":"")+e.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(t){return t.description}};function r(t){return t.charCodeAt(0).toString(16).toUpperCase()}function i(t){return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+r(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+r(t)}))}function o(t){return t.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+r(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+r(t)}))}function a(t){return n[t.type](t)}return"Expected "+function(t){var e,n,r=t.map(a);if(r.sort(),r.length>0){for(e=1,n=1;e<r.length;e++)r[e-1]!==r[e]&&(r[n]=r[e],n++);r.length=n}switch(r.length){case 1:return r[0];case 2:return r[0]+" or "+r[1];default:return r.slice(0,-1).join(", ")+", or "+r[r.length-1]}}(t)+" but "+function(t){return t?'"'+i(t)+'"':"end of input"}(e)+" found."};const ft={deg:1,grad:.9,rad:180/Math.PI,turn:360},ht={px:1,cm:96/2.54,mm:96/2.54/10,in:96,pc:16,pt:96/72};function dt(t){!function(t){if("quantity"!==t.type||null!==t.unit&&"%"!==t.unit)throw new w("effect:type-error",`Expected <double> or <percentage>, Actual: ${lt(t)}`,{term:t})}(t);const e=t.value;return ct(e,t),"%"===t.unit?.01*e:e}function pt(t){return function(t){if("quantity"!==t.type||!(0===t.value&&null===t.unit||t.unit&&null!=ht[t.unit]))throw new w("effect:type-error",`Expected <length>, Actual: ${lt(t)}`,{term:t})}(t),t.value*ht[t.unit]||0}function mt(t){switch(t.colorType){case"hex":return function(t){const e=t.length>5,n=e?8:4,r=(1<<n)-1,i=e?1:17,o=e?9===t.length:5===t.length;let a=Number("0x"+t.slice(1));if(isNaN(a))return null;const s=[0,0,0,1];let u;return o&&(u=a&r,a>>=n,s[3]=i*u/255),u=a&r,a>>=n,s[2]=i*u,u=a&r,a>>=n,s[1]=i*u,u=a&r,a>>=n,s[0]=i*u,s}(t.value);case"named":return gt(t.value);case"function":return function(t){if(ut(t.parameters,4),vt.test(t.name))return[dt(t.parameters[0]),dt(t.parameters[1]),dt(t.parameters[2]),t.parameters[3]?dt(t.parameters[3]):1];if(wt.test(t.name))return function(t,e,n,r=1){const i=(t%360+360)%360/360,o=n<=.5?n*(e+1):n+e-n*e,a=2*n-o;return[Math.round(255*M(a,o,i+1/3)),Math.round(255*M(a,o,i)),Math.round(255*M(a,o,i-1/3)),r]}(function(t){return function(t){if("quantity"!==t.type||null!==t.unit)throw new w("effect:type-error",`Expected <double>, Actual: ${lt(t)}`,{term:t})}(t),ct(t.value,t),t.value}(t.parameters[0]),dt(t.parameters[1]),dt(t.parameters[2]),t.parameters[3]?dt(t.parameters[3]):1);throw new w("effect:syntax-error",`Invalid color function '${t.name}'`,{colorFunction:t})}(t.value)}}function gt(t){if(!function(t){return!!y[t]||!!y[t.toLowerCase()]}(t))throw new w("effect:unknown-color",`color '${t}' isn't valid`,{namedColor:t});return function(t){return[...b(t)]}(t)}const vt=/^rgba?/i,wt=/^hsla?/i;function yt(t){const e=at(t);return e?function(t){const e=t[0];return!!e&&"type"in e}(e)?e.map((t=>t.toJSON())):e.map((({scale:t,effects:e})=>({scale:t,value:e.map((t=>t.toJSON()))}))):null}function bt(t){if(!t||0===t.length)return null;if(function(t){const e=t[0];return!!e&&"scale"in e}(t)){const e=[];for(const n of t)e.push({scale:n.scale,value:Mt(n.value)});return e}return Mt(t)}function Mt(t){if(!t?.length)return"";const e=[];for(const n of t){let t=[];switch(n.type){case"grayscale":case"sepia":case"saturate":case"invert":case"brightness":case"contrast":case"opacity":t=[xt(n,"amount")];break;case"blur":t=[xt(n,"radius","pt")];break;case"hue-rotate":t=[xt(n,"angle","deg")];break;case"drop-shadow":t=[xt(n,"xoffset","pt"),xt(n,"yoffset","pt"),xt(n,"blurRadius","pt"),kt(n,"color")];break;case"bloom":t=[xt(n,"strength"),xt(n,"radius","pt"),xt(n,"threshold")]}const r=`${n.type}(${t.filter(Boolean).join(" ")})`;at(r),e.push(r)}return e.join(" ")}function xt(t,e,n){if(null==t[e])throw new w("effect:missing-parameter",`Missing parameter '${e}' in ${t.type} effect`,{effect:t});return n?t[e]+n:""+t[e]}function kt(t,e){if(null==t[e])throw new w("effect:missing-parameter",`Missing parameter '${e}' in ${t.type} effect`,{effect:t});const n=t[e];return`rgba(${n[0]||0}, ${n[1]||0}, ${n[2]||0}, ${n[3]/255||0})`}function Tt(t,e,n){const r=e?.layer;if(!t)return r?.effect?r.effect:r?.featureEffect?"includedEffect"===n?r.featureEffect.includedEffect:r.featureEffect.excludedEffect:null;const i=yt(t);let o=null;o=r.featureEffect?"includedEffect"===n?r.featureEffect.includedEffect:r.featureEffect.excludedEffect:r.effect;const a=o?yt(o):null;if(!a)return bt(i);let s=[...a];return i&&i.forEach((t=>{s.forEach((e=>{const{value:n}=e;if(n)n.forEach(((r,o)=>{r.type===t.type?n[o]=t:!e.value.find((t=>t.type===i[0].type))&&(e.value=[...e.value,...i])}));else{const n=!s.find((t=>t.type===e.type));!s.find((e=>e.type===t.type))&&(s=[...s,t]),n&&(s=[...s,e])}}))})),bt(s)}const Et="time-slider-watch",St=new class{constructor(){this.initializeModules()}async initializeModules(){try{const[t,e,n,r,i,a,s]=await o(["esri/core/Handles","esri/core/reactiveUtils","esri/widgets/TimeSlider","esri/time/TimeExtent","esri/time/TimeInterval","esri/layers/support/FeatureFilter","esri/layers/support/FeatureEffect"]);this.reactiveUtils=e,this.handles=new t,this.TimeSlider=n,this.TimeExtent=r,this.TimeInterval=i,this.FeatureFilter=a,this.FeatureEffect=s}catch(t){}}async init(t){var e,n,r;t&&(t.innerHTML=""),"playing"===(null===(n=null===(e=null==s?void 0:s.timeSlider)||void 0===e?void 0:e.viewModel)||void 0===n?void 0:n.state)&&s.timeSlider.stop();const{view:i,timeInfoConfigItems:o}=s;if(i)try{if(await i.when(),1===o.length&&"map"===(null===(r=o[0])||void 0===r?void 0:r.type))this.initTimeSlider(t,o[0]);else{const e=await this.getTimeLayerViews(i,o);s.timeInfoItems=this.generateTimeInfoItems(e,o),this.initTimeSlider(t)}return Promise.resolve()}catch(t){}finally{this.setupFilterModeWatcher()}}destroy(){var t,e;null===(t=this.handles)||void 0===t||t.removeAll(),this.handles=null,null===(e=s.timeSlider)||void 0===e||e.destroy()}async getTimeLayerViews(t,e){const{allLayers:n}=t.map,r=e.map((({id:t})=>{return e=t,n.find((({id:t})=>e===t));var e})).map((e=>t.whenLayerView(e)));return await Promise.all(r)}generateTimeInfoItems(t,e){return[...e].map((e=>{const n=t.find((({layer:t})=>t.id===e.id));return this.generateTimeInfoItem(n,e)}))}generateTimeInfoItem(t,{increments:e,rangeStart:n,rangeEnd:r,timeIntervalValue:i}){var o;const a=null==t?void 0:t.layer,s=null===(o=null==a?void 0:a.timeInfo)||void 0===o?void 0:o.fullTimeExtent;return{layerView:t,unit:e,timeIntervalValue:null!=i?i:1,rangeStart:new Date(n),rangeEnd:new Date(r),timeExtent:s,previousTimeExtent:null}}initTimeSlider(t,e){var n,r;const{TimeSlider:i}=this,o=t=>{s.timeSlider=new i(t),s.autoPlay&&s.timeSlider.play()};if(e)o(this.getTimeSliderConfig(t,e));else{const e=null===(n=null==s?void 0:s.timeInfoItems)||void 0===n?void 0:n[0];if(!e)return;s.selectedTimeInfoItem=e,o(this.getTimeSliderConfig(t))}"2d"===(null===(r=s.view)||void 0===r?void 0:r.type)&&this.initialize2DView()}setupFilterModeWatcher(){u("filterMode",(t=>s.timeInfoItems.forEach((e=>{var n,r,i;const o=e.layerView;this.applyTimeExtent(o,(null===(r=null===(n=null==o?void 0:o.featureEffect)||void 0===n?void 0:n.filter)||void 0===r?void 0:r.timeExtent)||(null===(i=o.filter)||void 0===i?void 0:i.timeExtent),t)}))))}getTimeSliderConfig(t,e){var n,r,i,o,a,u,l,c;const{TimeExtent:f,TimeInterval:h}=this,d=Object.assign({container:t,mode:"time-window",view:"3d"===(null===(n=s.view)||void 0===n?void 0:n.type)?s.view:null},s.timeSliderConfig);if(e){const t=null===(o=null===(i=null===(r=s.view)||void 0===r?void 0:r.map)||void 0===i?void 0:i.widgets)||void 0===o?void 0:o.timeSlider,e=Object.assign(Object.assign({},d),{fullTimeExtent:null==t?void 0:t.fullTimeExtent,timeExtent:null==t?void 0:t.currentTimeExtent});return(null===(a=null==t?void 0:t.stopInterval)||void 0===a?void 0:a.unit)&&(null===(u=null==t?void 0:t.stopInterval)||void 0===u?void 0:u.value)&&(e.stops={interval:new h({unit:null===(l=null==t?void 0:t.stopInterval)||void 0===l?void 0:l.unit,value:null===(c=null==t?void 0:t.stopInterval)||void 0===c?void 0:c.value})}),e}{const[{timeExtent:t,rangeStart:e,rangeEnd:n,unit:r,timeIntervalValue:i}]=s.timeInfoItems;return Object.assign(Object.assign({},d),{fullTimeExtent:t,timeExtent:new f({start:e,end:n}),stops:{interval:new h({unit:r,value:i})}})}}initialize2DView(){s.timeInfoItems.forEach((t=>this.applyTimeExtent(t.layerView,new this.TimeExtent({start:t.rangeStart,end:t.rangeEnd})))),this.setupTimeExtentWatcher()}applyTimeExtent(t,e,n){var r;"effect"===(null===(r=s.filterMode)||void 0===r?void 0:r.type)?this.applyFeatureEffect(t,e,n):this.applyFeatureFilter(t,e)}applyFeatureEffect(t,e,n){var r;t&&(t.filter&&t.set("filter",null),(null==t?void 0:t.featureEffect)&&(null===(r=null==t?void 0:t.featureEffect)||void 0===r?void 0:r.filter)&&!n?t.featureEffect.filter.timeExtent=e:this.handleUpdatedFeatureEffect(t,e))}handleUpdatedFeatureEffect(t,e){var n,r,i,o;const{FeatureEffect:a}=this;t.featureEffect=new a({filter:{timeExtent:e},includedEffect:Tt(null===(r=null===(n=s.filterMode)||void 0===n?void 0:n.effect)||void 0===r?void 0:r.includedEffect,t,"includedEffect"),excludedEffect:Tt(null===(o=null===(i=s.filterMode)||void 0===i?void 0:i.effect)||void 0===o?void 0:o.excludedEffect,t,"excludedEffect")})}applyFeatureFilter(t,e){t.featureEffect&&t.set("featureEffect",null),t.filter?t.filter.timeExtent=e:t.filter=new this.FeatureFilter({timeExtent:e})}setupTimeExtentWatcher(){var t,e,n,r;(null===(t=this.handles)||void 0===t?void 0:t.has(Et))&&(null===(e=this.handles)||void 0===e||e.remove(Et)),null===(n=this.handles)||void 0===n||n.add(null===(r=null==s?void 0:s.timeSlider)||void 0===r?void 0:r.watch("timeExtent",(t=>{var e;return this.applyTimeExtent(null===(e=s.selectedTimeInfoItem)||void 0===e?void 0:e.layerView,t)})),Et)}updateSelectedTimeInfoItem(t){s.timeSlider&&(s.selectedTimeInfoItem&&(s.selectedTimeInfoItem.previousTimeExtent=s.timeSlider.timeExtent),s.selectedTimeInfoItem=t,this.reconfigureTimeSlider(t),this.applyTimeExtent(t.layerView,s.timeSlider.timeExtent),this.setupTimeExtentWatcher())}reconfigureTimeSlider(t){s.timeSlider&&(s.timeSlider.fullTimeExtent=t.timeExtent,s.timeSlider.timeExtent=this.getTimeExtent(t),s.timeSlider.stops={interval:this.getTimeInterval(t)})}getTimeExtent({rangeStart:t,rangeEnd:e,previousTimeExtent:n}){const{TimeExtent:r}=this;return null!=n?n:new r({start:t,end:e})}getTimeInterval(t){var e,n,r,i,o;const{TimeInterval:a}=this;return new a({unit:null!==(e=t.unit)&&void 0!==e?e:null===(o=null===(i=null===(r=null===(n=t.layerView)||void 0===n?void 0:n.layer)||void 0===r?void 0:r.timeInfo)||void 0===i?void 0:i.interval)||void 0===o?void 0:o.unit,value:1})}getLabel(t){var e,n;return(null===(n=null===(e=null==t?void 0:t.layerView)||void 0===e?void 0:e.layer)||void 0===n?void 0:n.title)||""}},_t=class{constructor(e){t(this,e),this.timeSliderRef=void 0,this.timeInfoConfigItems=[],this.filterMode=void 0,this.view=void 0,this.timeSliderConfig=void 0,this.autoPlay=!1}async updateTimeInfoConfigItems(){s.timeInfoConfigItems=this.timeInfoConfigItems,await St.init(this.timeSliderRef)}async updateFilterMode(){s.filterMode=this.filterMode}async updateTimeSliderConfig(){s.timeSliderConfig=this.timeSliderConfig,await St.init(this.timeSliderRef)}async updateAutoPlay(){s.autoPlay=this.autoPlay,s.timeSlider&&(s.autoPlay?s.timeSlider.play():s.timeSlider.stop())}async componentWillLoad(){try{s.view=this.view,s.timeInfoConfigItems=this.timeInfoConfigItems,s.autoPlay=!!this.autoPlay,this.timeSliderConfig&&(s.timeSliderConfig=this.timeSliderConfig),this.filterMode&&(s.filterMode=this.filterMode),await a(this)}catch(t){}}async componentDidLoad(){try{await St.init(this.timeSliderRef)}catch(t){}finally{s.loading=!1}}disconnectedcallback(){St.destroy()}render(){return e(n,{key:"fdced64d842efb4c65a5518a0feb95637a147383"},this._renderBase())}_renderBase(){return e("div",{class:"instant-apps-time-filter"+("2d"!==this.view.type?" instant-apps-time-filter--3d":"")},this._renderLoader(),"2d"===this.view.type&&this._renderTopEl(),e("div",{key:"time-slider",ref:t=>this.timeSliderRef=t}))}_renderLoader(){var t,n;return s.loading&&e("div",null,e("div",{class:"instant-apps-time-filter__background"}),e("div",{class:"instant-apps-time-filter__loading-container"},e("calcite-loader",{scale:"m",label:null===(t=this.messages)||void 0===t?void 0:t.loading,text:null===(n=this.messages)||void 0===n?void 0:n.loading})))}_renderTopEl(){return this.timeInfoConfigItems.length>1?this._renderDropdown():this._renderLayerTitle()}_renderLayerTitle(){var t,n,r;const i=null===(r=null===(n=null===(t=s.selectedTimeInfoItem)||void 0===t?void 0:t.layerView)||void 0===n?void 0:n.layer)||void 0===r?void 0:r.title;return e("span",{class:"instant-apps-time-filter__layer-title"},i)}_renderDropdown(){return s.selectedTimeInfoItem&&e("calcite-dropdown",null,this._renderDropdownButton(),this._renderDropdownItems())}_renderDropdownButton(){return e("calcite-button",{slot:"trigger",appearance:"transparent",iconEnd:"chevron-down",width:"full",alignment:"space-between"},St.getLabel(s.selectedTimeInfoItem))}_renderDropdownItems(){return s.timeInfoItems.map((t=>this._renderDropdownItem(t)))}_renderDropdownItem(t){var n,r,i,o,a;const u=null===(i=null===(r=null===(n=s.selectedTimeInfoItem)||void 0===n?void 0:n.layerView)||void 0===r?void 0:r.layer)||void 0===i?void 0:i.id,l=null===(a=null===(o=null==t?void 0:t.layerView)||void 0===o?void 0:o.layer)||void 0===a?void 0:a.id;return e("calcite-dropdown-item",{onCalciteDropdownItemSelect:()=>St.updateSelectedTimeInfoItem(t),selected:u===l},St.getLabel(t))}get el(){return r(this)}static get watchers(){return{timeInfoConfigItems:["updateTimeInfoConfigItems"],filterMode:["updateFilterMode"],timeSliderConfig:["updateTimeSliderConfig"],autoPlay:["updateAutoPlay"]}}};_t.style=".instant-apps-time-filter{position:relative;display:block;min-width:375px;min-height:200px}.instant-apps-time-filter__background{background-color:var(--calcite-ui-background);position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.instant-apps-time-filter calcite-dropdown{width:100%}.instant-apps-time-filter calcite-dropdown calcite-button{--calcite-color-brand:var(--calcite-ui-text-1);--calcite-ui-brand:var(--calcite-ui-text-1)}.instant-apps-time-filter__layer-title{font-weight:550;display:inline-block;padding:10px}.instant-apps-time-filter__loading-container{display:flex;justify-content:center;align-items:center;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.instant-apps-time-filter--3d{min-height:160px}";export{_t as instant_apps_time_filter}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import{r as t,c as i,g as s,h as e,H as a,F as h}from"./p-4e6eb06e.js";import{l,g as o}from"./p-f4aadb3b.js";import{g as n,a as c,b as r,c as d,h as u,d as p,q as f}from"./p-d572627c.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-80cb7c73.js";const m=class{constructor(s){t(this,s),this.togglePanel=i(this,"togglePanel",7),this.center=void 0,this.commentButtonText=void 0,this.commentSubmittedMessage=void 0,this.defaultWebmap="",this.description=void 0,this.enableAnonymousAccess=void 0,this.enableAnonymousComments=void 0,this.enableComments=void 0,this.enableHome=!0,this.enableLogin=void 0,this.enableNewReports=void 0,this.enableSearch=!0,this.enableZoom=!0,this.isMobile=void 0,this.layerExpressions=[],this.layerId=void 0,this.level=void 0,this.locale=void 0,this.loginTitle=void 0,this.mapInfos=[],this.mapView=void 0,this.objectId=void 0,this.reportButtonText=void 0,this.reportingOptions=void 0,this.reportsHeader=void 0,this.reportSubmittedMessage=void 0,this.searchConfiguration=void 0,this.showComments=void 0,this.showUserImageInCommentsList=!1,this.showFeatureSymbol=!1,this.showMyReportsOnly=!1,this.theme="light",this.zoomToScale=void 0,this.floorLevel=void 0,this._featureCreationFailedErrorMsg=void 0,this._filterActive=!1,this._flowItems=[],this._hasValidLayers=!1,this._mapInfo=void 0,this._reportSubmitted=!1,this._selectedLayerName=void 0,this._showSubmitCancelButton=!1,this._showLoadingIndicator=!1,this._sidePanelCollapsed=!1,this._translations=void 0,this._updatedProgressBarStatus=.25,this._updatedSorting=void 0,this._updatedSortOption="sortNewest",this._commentSubmitted=!1,this._addingCommentFailed=!1}get el(){return s(this)}_createFeature;_currentFeatureId;_defaultCenter;_defaultLevel;_editableLayerIds;_featureDetails;_featureList;_currentFeature;_selectedRelatedFeature;_relatedTable;_filterList;_highlightHandle;_layerList;_createRelatedFeature;_layers;_mapChange;_mapClickHandle;reactiveUtils;FeatureFilter;_selectedFeature;_selectedFeatureIndex;_selectedLayerId;_shareNode;_urlParamsLoaded;_validLayers;_nonVisibleValidLayers;_selectedLayer;_layerItemsHash;_showFullPanel;_floorExpression;_formElements=[];_prevSelectedLayerId;_currentLayerExpressions;_initDefExpressions;_t9nLayerExpressions;async isMobileWatchHandler(){this.updatePanelState(!1,this._showFullPanel)}async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}async mapViewWatchHandler(){await this.mapView.when((async()=>{this.setInitExpressions(),await this.setMapView()}))}async floorLevelWatchHandler(){if(this._editableLayerIds)for(const t of this._editableLayerIds){const i=await n(this.mapView,t);i.floorInfo?.floorField&&this._updateFloorDefinitionExpression(i)}"layer-list"===this._flowItems[this._flowItems.length-1]&&this._layerList&&await this._layerList.refresh(),this._featureList&&this._featureList.refresh(),this._createFeature&&this._createFeature.refresh(this.floorLevel)}async showMyReportsOnlyWatchHandler(){this._editableLayerIds&&(await this._updateFeatures(),setTimeout((()=>{"layer-list"===this._flowItems[this._flowItems.length-1]&&this._layerList&&this._layerList.refresh(),this._featureList&&this._featureList.refresh()}),50))}async layerExpressionsWatchHandler(){this.resetFilterList(),await this.handleSelectedLayersFilter(),await(this._featureList?.refresh())}async updateLayerExpressionsT9n(t){if(this._t9nLayerExpressions=t||this.layerExpressions,null!=this._filterList)await this._filterList.handleUpdatingT9nData(this._t9nLayerExpressions);else if(null!=this._currentLayerExpressions){const t=structuredClone(this._currentLayerExpressions);this.handleLayerExpressionsT9n(t,this._t9nLayerExpressions),this._currentLayerExpressions=t}return Promise.resolve()}togglePanel;async componentWillLoad(){this._urlParamsLoaded=!1,await this._initModules(),await this._getTranslations(),await(this.mapView?.when((async()=>{this._layers=this.reportingOptions?Object.keys(this.reportingOptions).filter((t=>this.reportingOptions[t].visible)):[],this.setInitExpressions(),await this.setMapView()})))}componentWillRender(){this._flowItems.includes("filter-panel")&&this._filterList?.updateInitDefExpressions({initDefExpressions:this._initDefExpressions})}render(){const t="dark"===this.theme?"calcite-mode-dark":"calcite-mode-light";return e(a,{key:"b6052369762b8c3e58ef1a4bf49f9f639e8f20f0"},this._reportSubmitted&&e("calcite-alert",{key:"ea78ecf7f186cd9d2642288cd20017fc51945a47","auto-close":!0,class:t+" report-submitted-msg",icon:"check-circle",kind:"success",label:"",onCalciteAlertClose:()=>{this._reportSubmitted=!1},open:!0,placement:"top"},e("div",{key:"bca0fe4cc41938d401f2209e8e0eeb0ec8eb7eb4",slot:"message"},this.reportSubmittedMessage?this.reportSubmittedMessage:this._translations.submitMsg)),this._featureCreationFailedErrorMsg&&e("calcite-alert",{key:"3cc3f7823c77997002261e5a44da38b798355078","auto-close":!0,class:t,icon:"x-octagon",kind:"danger",label:"",onCalciteAlertClose:()=>{this._featureCreationFailedErrorMsg=""},open:!0,placement:"top"},e("div",{key:"bfb524575668f85759111f71ed76a62aa4d8ff36",slot:"title"},this._translations.error),e("div",{key:"25b174bdcf9126a6ea2ee3bf0b0a3d3e1a84d37f",slot:"message"},this._featureCreationFailedErrorMsg)),this._commentSubmitted&&e("calcite-alert",{key:"f2cf41d7f1a09a8c56a8a70ec9c87685463e0ed3","auto-close":!0,class:"report-submitted "+t,icon:"check-circle",kind:"success",label:"",onCalciteAlertClose:()=>{this._commentSubmitted=!1},open:!0,placement:"top"},e("div",{key:"000e66b1b85c954da28eda2cdde44d6a4f441ff8",slot:"message"},this.commentSubmittedMessage||this._translations.commentSubmittedMsg)),this._addingCommentFailed&&e("calcite-alert",{key:"ec0d3b4ca27690452bb14777e716cf1c100e0ec8","auto-close":!0,class:t,icon:"x-octagon",kind:"danger",label:"",onCalciteAlertClose:()=>{this._addingCommentFailed=!1},open:!0,placement:"top"},e("div",{key:"dedf6bbf4d250e7108562a9bd05417e71c94dad4",slot:"title"},this._translations.error),e("div",{key:"b5c591bcc14feed655fa07e8d87accd281108f09",slot:"message"},this._translations.addingCommentFailedMsg)),e("div",{key:"301ea807350d9c0a2bf5f45c01e40897bf644dd8"},e("calcite-shell",{key:"386e94e32d12bf41ae76e9c78ad26a3d00158db6","content-behind":!0},this._getReporter())))}async _initModules(){const[t,i]=await l(["esri/core/reactiveUtils","esri/layers/support/FeatureFilter"]);this.reactiveUtils=t,this.FeatureFilter=i}async setSelectedLayer(t,i){this._selectedLayerId=t,this._selectedLayer=await n(this.mapView,t),this._selectedLayerName=i,this._validLayers.forEach((i=>{this._nonVisibleValidLayers.find((t=>t.id===i.id))||i.set("visible",!t||i.id===t)}))}_getLayersConfig(t){return this.reportingOptions&&this.reportingOptions[t]?this.reportingOptions[t]:null}_getReporter(){const t=[];return this._flowItems.forEach((i=>{switch(i){case"layer-list":t.push(this.getLayerListFlowItem());break;case"feature-list":t.push(this.getFeatureListFlowItem(this._selectedLayerId,this._selectedLayerName));break;case"filter-panel":t.push(this.getFilterPanel());break;case"feature-details":t.push(this.getFeatureDetailsFlowItem());break;case"reporting-layer-list":t.push(this.getChooseCategoryFlowItem());break;case"feature-create":t.push(this.getFeatureCreateFlowItem());break;case"comment-details":t.push(this.getCommentDetailsFlowItem());break;case"add-comment":t.push(this.getAddCommentFlowItem())}})),e("calcite-panel",{class:"width-full "+("dark"===this.theme?"calcite-mode-dark":"calcite-mode-light")},this.mapView?e("calcite-flow",null,t?.length>0&&t):e("calcite-loader",{label:"",scale:"m"}))}async sortOptionClick(t,i,s){this._updatedSorting={field:t,order:i},this._updatedSortOption=s}_toggleSort(){const t=this.reportingOptions&&this.reportingOptions[this._selectedLayerId]&&this.reportingOptions[this._selectedLayerId].like&&this.reportingOptions[this._selectedLayerId].likeField;return e("calcite-popover",{autoClose:!0,label:"",offsetDistance:0,placement:this.isMobile?"leading-start":"bottom-start",pointerDisabled:!0,referenceElement:"sort-popover"},e("calcite-list",{"selection-mode":"single"},e("calcite-list-item",{label:this._translations.sortNewest,onCalciteListItemSelect:()=>{this.sortOptionClick(this._selectedLayer.objectIdField,"desc","sortNewest")},selected:"sortNewest"===this._updatedSortOption,value:"sortNewest"}),e("calcite-list-item",{label:this._translations.sortOldest,onCalciteListItemSelect:()=>{this.sortOptionClick(this._selectedLayer.objectIdField,"asc","sortOldest")},selected:"sortOldest"===this._updatedSortOption,value:"sortOldest"}),t&&e(h,null,e("calcite-list-item",{label:this._translations.sortHighestVoted,onCalciteListItemSelect:()=>{this.sortOptionClick(this.reportingOptions[this._selectedLayerId].likeField,"desc","sortHighestVoted")},selected:"sortHighestVoted"===this._updatedSortOption,value:"sortHighestVoted"}),e("calcite-list-item",{label:this._translations.sortLowestVoted,onCalciteListItemSelect:()=>{this.sortOptionClick(this.reportingOptions[this._selectedLayerId].likeField,"asc","sortLowestVoted")},selected:"sortLowestVoted"===this._updatedSortOption,value:"sortLowestVoted"}))))}async _handleFilterListReset(){this._filterActive=!1}async _handleFilterUpdate(t){this._showLoadingIndicator=!0,this._filterActive=t,await this._featureList.refresh(),this._showLoadingIndicator=!1}getLayerListFlowItem(){return e("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this.reportsHeader},this.isMobile&&this.getActionToExpandCollapsePanel(),this._hasValidLayers&&this.enableNewReports&&e("calcite-button",{appearance:"solid",onClick:this.navigateToChooseCategory.bind(this),slot:"footer",width:"full"},this.reportButtonText?this.reportButtonText:this._translations.createReportButtonText),e("calcite-panel",{"full-height":!0,"full-width":!0},e("layer-list",{applyLayerViewFilter:this.showMyReportsOnly,class:"height-full",layers:this._editableLayerIds?.length>0?this._editableLayerIds:this._layers,locale:this.locale,mapView:this.mapView,onLayerSelect:this.displayFeaturesList.bind(this),onLayersListLoaded:this.layerListLoaded.bind(this),ref:t=>this._layerList=t,showFeatureCount:!0,showNextIcon:!0})))}getChooseCategoryFlowItem(){const t=this.reportingOptions?Object.keys(this.reportingOptions).filter((t=>this.reportingOptions[t].visible&&this.reportingOptions[t].reporting&&this._layerItemsHash[t]&&this._layerItemsHash[t].supportsAdd)):[];return e("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this.reportButtonText?this.reportButtonText:this._translations.createReportButtonText,onCalciteFlowItemBack:this.backFromSelectedPanel.bind(this)},e("calcite-panel",{"full-height":!0,"full-width":!0},e("div",{class:"progress-bar"},e("calcite-progress",{type:"determinate",value:this._updatedProgressBarStatus})),e("calcite-notice",{class:"notice-msg",icon:"lightbulb",kind:"success",open:!0},e("div",{slot:"message"},this._translations.chooseCategoryMsg)),e("layer-list",{class:"height-full",layers:t,locale:this.locale,mapView:this.mapView,onLayerSelect:this.navigateToCreateFeature.bind(this),showFeatureCount:!1,showNextIcon:!1})))}getFeatureCreateFlowItem(){return e("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._selectedLayerName,onCalciteFlowItemBack:this.backFromCreateFeaturePanel.bind(this)},this._showSubmitCancelButton&&e("div",{class:"width-full",slot:"footer"},e("calcite-button",{appearance:"solid",class:"footer-top-button footer-button",onClick:this.onCreateFeatureSubmitButtonClick.bind(this),width:"full"},this._translations.submit),e("calcite-button",{appearance:"outline",class:"footer-button",onClick:this.backFromCreateFeaturePanel.bind(this),width:"full"},this._translations.cancel)),e("calcite-panel",{"full-height":!0,"full-width":!0},e("div",{class:"progress-bar"},e("calcite-progress",{type:"determinate",value:this._updatedProgressBarStatus})),e("create-feature",{customizeSubmit:!0,enableSearch:!0,floorLevel:this.floorLevel,formElements:this._formElements.find((t=>t.id===this._selectedLayerId)),isMobile:this.isMobile,locale:this.locale,mapView:this.mapView,onDrawComplete:this.onFormReady.bind(this),onEditingAttachment:this.showSubmitCancelButton.bind(this),onFail:this.createFeatureFailed.bind(this),onModeChanged:this.backFromCreateFeaturePanel.bind(this),onProgressStatus:this.updatedProgressStatus.bind(this),onSuccess:this.onReportSubmitted.bind(this),ref:t=>this._createFeature=t,searchConfiguration:this.searchConfiguration,selectedLayerId:this._selectedLayerId})))}updatedProgressStatus(t){this._updatedProgressBarStatus=t.detail}onFormReady(){this._showSubmitCancelButton=!0}showSubmitCancelButton(t){this._showSubmitCancelButton=!t.detail}onCreateFeatureSubmitButtonClick(){this._createFeature&&this._createFeature.submit()}backFromCreateFeaturePanel(){this._createFeature&&this.updateNonVisibleLayersOnMap(!1),this.backFromSelectedPanel()}onCreateRelatedFeatureSubmitButtonClick(){this._createRelatedFeature&&this._createRelatedFeature.submit()}backFromCreateRelatedFeaturePanel(){this._createRelatedFeature&&(this._showSubmitCancelButton=!1),this.backFromSelectedPanel()}createFeatureFailed(t){console.error(t.detail),this._featureCreationFailedErrorMsg=t.detail.message}async onReportSubmitted(){this.updateNonVisibleLayersOnMap(!1),await this.navigateToHomePage(),this._reportSubmitted=!0,this._updatedProgressBarStatus=.25,this._showFullPanel&&this.updatePanelState(this._sidePanelCollapsed,!1)}addCommentFailed(t){console.error(t.detail),this._addingCommentFailed=!0}async onCommentSubmitted(){this._commentSubmitted=!0,this.backFromSelectedPanel(),this._showLoadingIndicator=!0,await this._featureDetails.refresh(this._currentFeature),setTimeout((()=>{this._showLoadingIndicator=!1}),300)}async navigateToHomePage(){await this.setSelectedFeatures([]),this._layerList&&await this._layerList.refresh(),1===this._editableLayerIds.length?(await this._featureList.refresh(),this._flowItems=["feature-list"]):this._flowItems=["layer-list"]}async navigateToCreateFeature(t){t.detail.layerId&&t.detail.layerName&&await this.setSelectedLayer(t.detail.layerId,t.detail.layerName),this.updateNonVisibleLayersOnMap(!0),this._getFormElements(),this._showSubmitCancelButton=!1,this.updatePanelState(!1,!0),this._flowItems=[...this._flowItems,"feature-create"]}navigateToChooseCategory(){this.updatePanelState(!1,!0),this._flowItems=[...this._flowItems,"reporting-layer-list"]}updateNonVisibleLayersOnMap(t){this._nonVisibleValidLayers.find((t=>t.id===this._selectedLayerId))&&this._selectedLayer.set("visible",t)}async layerListLoaded(t){const i=t.detail,s=await c(this.mapView),e=[];this._validLayers=[],this._nonVisibleValidLayers=[],s.forEach((t=>{i.includes(t.id)&&(this._validLayers.push(t),t.visible||this._nonVisibleValidLayers.push(t),this._getLayersConfig(t.id)?.reporting&&this._layerItemsHash[t.id]&&this._layerItemsHash[t.id].supportsAdd&&e.push(t.id))})),this.handleMapClick(),this._hasValidLayers=e.length>0,this._urlParamsLoaded||(this._urlParamsLoaded=!0,await this.loadFeatureFromURLParams())}async displayFeaturesList(t){this._updatedSorting={field:"",order:"desc"},this._updatedSortOption="sortNewest",await this.setSelectedLayer(t.detail.layerId,t.detail.layerName),this.handleSelectedLayersFilter(),this._flowItems=[...this._flowItems,"feature-list"],this._prevSelectedLayerId=this._selectedLayerId}async backFromFilterPanel(){null!=this._filterList&&(this._currentLayerExpressions=await this._filterList.getCurrentLayerExpressions()),await this._featureList.refresh(),this.backFromSelectedPanel()}backFromSelectedPanel(){this._updatedProgressBarStatus=.25;const t=[...this._flowItems];"comment-details"!==t[t.length-1]&&"add-comment"!==t[t.length-1]&&this.clearHighlights(),"reporting-layer-list"!==t[t.length-1]&&("feature-create"!==t[t.length-1]||"feature-list"!==t[0]&&"feature-list"!==t[t.length-2])||this.updatePanelState(this._sidePanelCollapsed,!1),t.pop(),1!==t.length||"layer-list"!==t[0]?this._flowItems=[...t]:this.navigateToHomePage()}toggleSidePanel(){this._sidePanelCollapsed=!this._sidePanelCollapsed,this.togglePanel.emit({panelState:this._sidePanelCollapsed,isFormOpen:this._showFullPanel})}updatePanelState(t,i){this._sidePanelCollapsed=t,this._showFullPanel=i,this.togglePanel.emit({panelState:this._sidePanelCollapsed,isFormOpen:this._showFullPanel})}async onFeatureSelectFromList(t){this._showLoadingIndicator=!0,await this.setSelectedFeatures([t.detail]),this._flowItems=[...this._flowItems,"feature-details"]}async getRelatedTable(){const t=this._currentFeature.layer,i=await r(this.mapView);t.relationships.some((s=>{const e=i.filter((i=>t.url===i.url&&i.layerId===s.relatedTableId));if(e&&e.length>0)return this._relatedTable=e[0],!0}))}async updatingFeatureDetails(t){this._showLoadingIndicator=t}async selectionChanged(t){this.updatingFeatureDetails(!0),await this.setCurrentFeature(t.detail.selectedFeature[0]),this.highlightOnMap(t.detail.selectedFeature[0]),this._selectedFeatureIndex=t.detail.selectedFeatureIndex,await this._featureDetails.refresh(t.detail.selectedFeature[0])}showAddCommentsPanel(){this._flowItems=[...this._flowItems,"add-comment"]}async onCommentSelectFromList(t){this._selectedRelatedFeature=[t.detail],this._flowItems=[...this._flowItems,"comment-details"]}getFeatureListFlowItem(t,i){const s=this._getLayersConfig(this._selectedLayerId)?.reporting&&this._layerItemsHash[this._selectedLayerId].supportsAdd,a=this._currentLayerExpressions?.length>0;return e("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:i,loading:this._showLoadingIndicator,onCalciteFlowItemBack:this.backFromSelectedPanel.bind(this)},this._toggleSort(),e("calcite-action",{icon:"sort-ascending-arrow",id:"sort-popover",slot:"header-actions-end",text:this._translations.sort,title:this._translations.sort}),a&&e("calcite-action",{icon:"filter",indicator:this._filterActive,onClick:()=>{this._flowItems=[...this._flowItems,"filter-panel"]},slot:"header-actions-end",text:this._translations.filter,title:this._translations.filter}),this.isMobile&&this.getActionToExpandCollapsePanel(),this.enableNewReports&&s&&e("calcite-button",{appearance:"solid",onClick:this.navigateToCreateFeature.bind(this),slot:"footer",width:"full"},this.reportButtonText?this.reportButtonText:this._translations.createReportButtonText),e("calcite-panel",{"full-height":!0},e("feature-list",{applyLayerViewFilter:this.showMyReportsOnly,class:"height-full",highlightOnHover:!0,locale:this.locale,mapView:this.mapView,noFeaturesFoundMsg:this._translations.featureErrorMsg,onFeatureSelect:this.onFeatureSelectFromList.bind(this),pageSize:30,ref:t=>this._featureList=t,reportingOptions:this.reportingOptions,selectedLayerId:t,showFeatureSymbol:this.showFeatureSymbol,sortingInfo:this._updatedSorting})))}getFilterPanel(){return e("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._translations?.filterLayerTitle?.replace("{{title}}",this._selectedLayerName),loading:this._showLoadingIndicator,onCalciteFlowItemBack:this.backFromFilterPanel.bind(this)},this.isMobile&&this.getActionToExpandCollapsePanel(),e("div",{class:"width-full",slot:"footer"},e("div",{class:"width-full",slot:"footer"},e("calcite-button",{appearance:"solid",class:"footer-top-button footer-button",disabled:!this._filterActive,onClick:this.resetFilterList.bind(this),width:"full"},this._translations.resetFilter),e("calcite-button",{appearance:"outline",class:"footer-button",onClick:this.backFromFilterPanel.bind(this),width:"full"},this._translations.close))),e("calcite-panel",{"full-height":!0},e("instant-apps-filter-list",{autoUpdateUrl:!1,closeBtnOnClick:()=>{},comboboxOverlayPositioning:"fixed",layerExpressions:this._currentLayerExpressions,onFilterListReset:()=>this._handleFilterListReset(),onFilterUpdate:()=>this._handleFilterUpdate(this._filterList.filterCount>0),ref:t=>this._filterList=t,resetBtn:!1,resetFiltersOnDisconnect:!1,view:this.mapView,zoomBtn:!1})))}getFeatureDetailsFlowItem(){const t=this._getLayersConfig(this._selectedLayerId)?.comment&&this._selectedLayer.relationships.length>0&&this._relatedTable;return e("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._selectedLayerName,loading:this._showLoadingIndicator,onCalciteFlowItemBack:this.backFromSelectedPanel.bind(this)},this.isMobile&&this.getActionToExpandCollapsePanel(),e("instant-apps-social-share",{autoUpdateShareUrl:!1,class:"share-node",embed:!1,popoverButtonIconScale:"s",ref:t=>this._shareNode=t,removePopoverOffset:!0,scale:"m",shareButtonColor:"neutral",shareButtonType:"action",slot:"header-actions-end",socialMedia:!0,view:this.mapView}),this._selectedFeature.length>1&&this.getFeaturesPagination(),e("calcite-panel",null,e("feature-details",{class:"full-height",graphics:this._selectedFeature,layerItemsHash:this._layerItemsHash,locale:this.locale,mapView:this.mapView,onAddComment:this.showAddCommentsPanel.bind(this),onCommentSelect:this.onCommentSelectFromList.bind(this),onFeatureSelectionChange:this.selectionChanged.bind(this),onLikeOrDislikeClicked:()=>{this._featureList.refresh(!0)},onLoadingStatus:t=>{this.updatingFeatureDetails(t.detail)},ref:t=>this._featureDetails=t,reportingOptions:this.reportingOptions,showUserImageInCommentsList:this.showUserImageInCommentsList}),t&&e("calcite-button",{appearance:"solid",onClick:this.showAddCommentsPanel.bind(this),slot:"footer",width:"full"},this.commentButtonText||this._translations.comment)))}getFeaturesPagination(){return e("div",{class:"feature-pagination"},e("div",null,e("calcite-button",{appearance:"transparent",disabled:!1,iconStart:"chevron-left",id:"solutions-back",onClick:()=>{this._featureDetails.back()},scale:"s",width:"full"}),e("calcite-tooltip",{label:"",placement:"top","reference-element":"solutions-back"},e("span",null,this._translations.back))),e("calcite-button",{appearance:"transparent",onClick:()=>{this._featureDetails.toggleListView()},scale:"s"},e("span",{class:"pagination-count"},this._getCount())),e("div",null,e("calcite-button",{appearance:"transparent",disabled:!1,iconStart:"chevron-right",id:"solutions-next",onClick:()=>{this._featureDetails.next()},scale:"s",width:"full"}),e("calcite-tooltip",{placement:"top","reference-element":"solutions-next"},e("span",null,this._translations.next))))}getCommentDetailsFlowItem(){return e("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._relatedTable.title,onCalciteFlowItemBack:this.backFromSelectedPanel.bind(this)},this.isMobile&&this.getActionToExpandCollapsePanel(),e("calcite-panel",{"full-height":!0},e("info-card",{allowEditing:!1,graphics:this._selectedRelatedFeature,highlightEnabled:!1,isLoading:!1,isMobile:!1,locale:this.locale,mapView:this.mapView,paginationEnabled:!1})))}getAddCommentFlowItem(){return e("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._relatedTable.title,onCalciteFlowItemBack:this.backFromCreateRelatedFeaturePanel.bind(this)},this.isMobile&&this.getActionToExpandCollapsePanel(),e("div",{class:"width-full",slot:"footer"},this._showSubmitCancelButton&&e("div",{class:"width-full",slot:"footer"},e("calcite-button",{appearance:"solid",class:"footer-top-button footer-button",onClick:this.onCreateRelatedFeatureSubmitButtonClick.bind(this),width:"full"},this._translations.submit),e("calcite-button",{appearance:"outline",class:"footer-button",onClick:this.backFromCreateRelatedFeaturePanel.bind(this),width:"full"},this._translations.cancel))),e("calcite-panel",null,e("create-related-feature",{customizeSubmit:!0,locale:this.locale,mapView:this.mapView,onFail:this.addCommentFailed.bind(this),onFormReady:this.onFormReady.bind(this),onIsActionPending:this.showSubmitCancelButton.bind(this),onSuccess:this.onCommentSubmitted.bind(this),ref:t=>this._createRelatedFeature=t,selectedFeature:this._currentFeature,table:this._relatedTable})))}async setSelectedFeatures(t){this._selectedFeature=t,await this.setCurrentFeature(this._selectedFeature.length?this._selectedFeature[0]:null)}async setCurrentFeature(t){if(this._currentFeature=t,t&&t.layer){const i=t.layer;this.setSelectedLayer(i.id,i.title),this._currentFeatureId=t.attributes[i.objectIdField],this._getLayersConfig(i.id)?.comment&&i.relationships.length>0&&await this.getRelatedTable()}else this._editableLayerIds.length>1&&(this.setSelectedLayer("",""),this.handlePrevLayersFilter()),this._currentFeatureId="";this._updateShareURL()}async highlightOnMap(t){if(this.clearHighlights(),t&&t.geometry&&t.layer){const i=await d(this.mapView,t.layer.id);i.highlightOptions=null,this._highlightHandle=await u([t.getObjectId()],i,this.mapView,!0,this.zoomToScale)}this.updatingFeatureDetails(!1)}clearHighlights(){this._highlightHandle&&this._highlightHandle.remove()}getActionToExpandCollapsePanel(){return e("calcite-action",{icon:this._sidePanelCollapsed?"chevrons-up":"chevrons-down",onClick:this.toggleSidePanel.bind(this),slot:"header-actions-end",text:this._sidePanelCollapsed?this._translations.expand:this._translations.collapse})}async setMapView(){await this.getLayersToShowInList(),await this._updateFeatures(),1===this._editableLayerIds?.length?await this.renderFeaturesList():this._flowItems=["layer-list"],this.mapView.popupEnabled=!1,this._defaultCenter&&this._defaultLevel&&(await this.mapView.goTo({center:this._defaultCenter,zoom:this._defaultLevel}),this._defaultCenter=void 0,this._defaultLevel=void 0)}handleMapClick(){this._mapClickHandle&&this._mapClickHandle.remove(),this._mapClickHandle=this.reactiveUtils.on((()=>this.mapView),"click",this.onMapClick.bind(this))}async onMapClick(t){this.mapView.popupEnabled=!1;const i=await this.mapView.hitTest(t);if(i.results.length>0){const t=[];i.results.forEach((function(i){"graphic"===i.type&&t.push(i.graphic)}));const s=t.filter((t=>this._validLayers.includes(t.layer))),e=t.filter((t=>!this._validLayers.includes(t.layer)&&t?.layer?.popupEnabled&&t?.layer?.id));if(s.length>0&&(await this.setSelectedFeatures(s),this._flowItems.length&&this._flowItems.includes("feature-details")?(this._flowItems=[...this._flowItems.slice(0,this._flowItems.indexOf("feature-details")+1)],await this.highlightOnMap(t[0])):this._flowItems=[...this._flowItems,"feature-details"]),e.length>0){this.mapView.popupEnabled=!0;const t={features:e,updateLocationEnabled:!0};await this.mapView.openPopup(t)}}}_getCount(){const t=(this._selectedFeatureIndex+1).toString(),i=this._selectedFeature.length.toString();return this._translations.indexOfTotal.replace("{{index}}",t).replace("{{total}}",i)}async _getTranslations(){const t=await o(this.el);this._translations=t[0]}_updateFloorDefinitionExpression(t){const i=`${t.floorInfo.floorField} = '${this.floorLevel}'`,s=t.definitionExpression;t.definitionExpression=s?.indexOf(this._floorExpression)>-1?s.replace(this._floorExpression,i):i,this._floorExpression=i}_getFormElements(){const t=this._selectedLayer,i=t?.floorInfo?.floorField;if(i&&this.floorLevel&&t?.formTemplate){const i=this._formElements.find((i=>i.id===t.id));0!==this._formElements.length&&i||this._formElements.push({id:t.id,orgElements:t.formTemplate.elements,orgExpressionInfos:t.formTemplate.expressionInfos})}}reduceToConfiguredLayers(t,i){return Object.keys(t).reduce(((s,e)=>{const a=this.reportingOptions?this._getLayersConfig(e)?.visible:t[e].supportsAdd;return!i.includes(e)&&a&&s.push(e),s}),[])}async _updateFeatures(){for(const t of this._editableLayerIds){const i=await d(this.mapView,t);await this._showMyFeaturesOnly(i);const s=i.layer?.floorInfo?.floorField;s&&this.floorLevel&&this._updateFloorDefinitionExpression(i.layer)}}async _showMyFeaturesOnly(t){const i=this.mapView.map.portalItem.portal?.credential?.userId;if(i){const s=t.layer.editFieldsInfo?.creatorField.toLowerCase();t.filter=this.showMyReportsOnly&&s?new this.FeatureFilter({where:s+"='"+i+"'"}):null}}async getLayersToShowInList(){const t=await p(this.mapView,!0),i=await c(this.mapView),s=[];i.forEach((i=>{"feature"===i?.type&&i?.editingEnabled&&i?.capabilities?.operations?.supportsAdd&&(t[i.id].supportsAdd=!0),i?.editingEnabled||s.push(i.id)})),this._editableLayerIds=this.reduceToConfiguredLayers(t,s),this._layerItemsHash=t}async renderFeaturesList(){this._flowItems=["feature-list"];const t={detail:this._editableLayerIds};await this.layerListLoaded(t),await this.setSelectedLayer(this._validLayers[0].id,this._validLayers[0].title),this.handleSelectedLayersFilter()}_updateShareURL(){const t=this._shareNode?.shareUrl;if(!t)return;const i=new URL(t);this._selectedLayerId?i.searchParams.set("layerid",this._selectedLayerId):i.searchParams.delete("layerid"),this._selectedFeature?.length?i.searchParams.set("oid",this._currentFeatureId):i.searchParams.delete("oid"),this._shareNode.shareUrl=i.href}async loadFeatureFromURLParams(){if(this.center&&this.level&&await this.mapView.goTo({center:this.center.split(";").map(Number),zoom:this.level}),this.layerId&&this.objectId){const t=await n(this.mapView,this.layerId);if(t){const i=await f([Number(this.objectId)],t,[],!0,this.mapView.spatialReference);i.length&&(await this.setSelectedFeatures(i),this._flowItems=this._flowItems.length&&"feature-details"!==this._flowItems[this._flowItems.length-1]?[...this._flowItems,"feature-details"]:[...this._flowItems])}}}async handleSelectedLayersFilter(){if(this._selectedLayer){const t=this.layerExpressions?structuredClone(this.layerExpressions.filter((t=>t.id===this._selectedLayerId))):[];null!=this._t9nLayerExpressions&&this.handleLayerExpressionsT9n(t,this._t9nLayerExpressions),this._currentLayerExpressions=t,this.setActiveDefinitionExpressions()}}async handlePrevLayersFilter(){if(this._prevSelectedLayerId){const t=await n(this.mapView,this._prevSelectedLayerId);t&&(t.definitionExpression=this._initDefExpressions[this._prevSelectedLayerId])}}resetFilterList(){this._filterList?.forceReset(),null!=this._selectedLayer&&(this._selectedLayer.definitionExpression=this._initDefExpressions[this._selectedLayerId],this._filterActive=!1)}setActiveDefinitionExpressions(){if(null==this._selectedLayer)return;const t=[];if(this._currentLayerExpressions?.length>0){const i=this._currentLayerExpressions[0];for(const s of i.expressions){const{active:i,definitionExpression:e}=s;i&&e&&t.push(`(${e})`)}this._filterActive=t.length>0,this.updateFilterLayerDefExpression(t,i.operator)}}updateFilterLayerDefExpression(t,i){const s=this._initDefExpressions[this._selectedLayerId],e=t?.length>0&&null!=s?`(${t.join(i)}) AND (${s})`:t.length>0?t.join(i):s;this._selectedLayer.definitionExpression=e}setInitExpressions(){if(this._initDefExpressions={},null==this.mapView)return;const t=this.mapView.map;t.allLayers.concat(t.allTables).forEach((t=>{"feature"===t.type&&(this._initDefExpressions[t.id]=t.definitionExpression)}))}handleLayerExpressionsT9n(t,i){t?.forEach((t=>{const s=i?.find((i=>i.id===t.id));null!=s&&(t.title=s.title,t.expressions?.forEach((t=>{const i=s.expressions?.find((i=>i.id===t.id));null!=i&&(t.name=i.name)})))}))}static get watchers(){return{isMobile:["isMobileWatchHandler"],locale:["localeWatchHandler"],mapView:["mapViewWatchHandler"],floorLevel:["floorLevelWatchHandler"],showMyReportsOnly:["showMyReportsOnlyWatchHandler"],layerExpressions:["layerExpressionsWatchHandler"]}}};m.style=":host{display:block;--calcite-label-margin-bottom:0px;--solutions-theme-foreground-color:var(--calcite-color-foreground-1)}.width-full{width:100% !important}.width-0{width:0}.height-full{height:100% !important}.height-0{height:0}.overflow-hidden{overflow:hidden}.border{border:1px solid var(--calcite-color-border-3)}.notice-msg{padding:10px;width:calc(100% - 20px)}.progress-bar{padding:12px}.footer-top-button{padding-bottom:7px}.footer-button{height:35px}.feature-pagination{background-color:var(--calcite-color-foreground-1) !important;border-block-end:1px solid var(--calcite-color-border-3);display:flex;justify-content:center;padding:5px 0}.pagination-count{color:var(--calcite-color-brand);border-bottom:1px solid var(--calcite-color-brand);font-weight:bold}.report-submitted-msg{position:absolute;z-index:1000}.share-node{display:flex}";export{m as crowdsource_reporter}