p-01dc5605.entry.js 4.8 KB

123456
  1. /*!
  2. * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
  3. * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
  4. * v1.0.0-beta.82
  5. */
  6. import{a,r as t,h as i,H as n,g as e}from"./p-f74193a3.js";import{a as r,t as s}from"./p-f383e414.js";import{c as o}from"./p-e9e1dee1.js";import"./p-dc14a2a0.js";const c={},l={},m={s:16,m:24,l:32};const f=class{constructor(a){t(this,a),this.icon=null,this.flipRtl=!1,this.scale="m",this.visible=!1}connectedCallback(){this.waitUntilVisible((()=>{this.visible=!0,this.loadIconPathData()}))}disconnectedCallback(){var a;null===(a=this.intersectionObserver)||void 0===a||a.disconnect(),this.intersectionObserver=null}async componentWillLoad(){this.loadIconPathData()}render(){const{el:a,flipRtl:t,pathData:e,scale:o,textLabel:c}=this,l=r(a),f=m[o],h=!!c,p=[].concat(e||"");return i(n,{"aria-hidden":s(!h),"aria-label":h?c:null,role:h?"img":null},i("svg",{class:{"flip-rtl":"rtl"===l&&t,svg:!0},fill:"currentColor",height:"100%",viewBox:`0 0 ${f} ${f}`,width:"100%",xmlns:"http://www.w3.org/2000/svg"},p.map((a=>i("path","string"==typeof a?{d:a}:{d:a.d,opacity:"opacity"in a?a.opacity:1})))))}async loadIconPathData(){const{icon:t,scale:i,visible:n}=this;t&&n&&(this.pathData=await async function({icon:t,scale:i}){const n=m[i],e=function(a){const t=!isNaN(Number(a.charAt(0))),i=a.split("-");return 1===i.length?t?`i${a}`:a:i.map(((a,i)=>0===i?t?`i${a.toUpperCase()}`:a:a.charAt(0).toUpperCase()+a.slice(1))).join("")}(t),r="F"===e.charAt(e.length-1),s=`${r?e.substring(0,e.length-1):e}${n}${r?"F":""}`;if(c[s])return c[s];l[s]||(l[s]=fetch(a(`./assets/icon/${s}.json`)).then((a=>a.json())).catch((()=>(console.error(`"${s}" is not a valid calcite-ui-icon name`),""))));const o=await l[s];return c[s]=o,o}({icon:t,scale:i}))}waitUntilVisible(a){this.intersectionObserver=o("intersection",(t=>{t.forEach((t=>{t.isIntersecting&&(this.intersectionObserver.disconnect(),this.intersectionObserver=null,a())}))}),{rootMargin:"50px"}),this.intersectionObserver?this.intersectionObserver.observe(this.el):a()}static get assetsDirs(){return["assets"]}get el(){return e(this)}static get watchers(){return{icon:["loadIconPathData"],scale:["loadIconPathData"]}}};f.style="@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:root{--calcite-popper-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host{display:-ms-inline-flexbox;display:inline-flex;color:var(--calcite-ui-icon-color)}:host([scale=s]){height:1rem;width:1rem;min-width:1rem;min-height:1rem}:host([scale=m]){height:1.5rem;width:1.5rem;min-width:1.5rem;min-height:1.5rem}:host([scale=l]){height:2rem;width:2rem;min-width:2rem;min-height:2rem}.flip-rtl{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.svg{display:block}";export{f as calcite_icon}