@esri/calcite-components
Version:
Web Components for Esri's Calcite Design System.
1 lines • 6.57 kB
JavaScript
var __awaiter=this&&this.__awaiter||function(t,e,r,n){function a(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,i){function o(t){try{c(n.next(t))}catch(e){i(e)}}function s(t){try{c(n["throw"](t))}catch(e){i(e)}}function c(t){t.done?r(t.value):a(t.value).then(o,s)}c((n=n.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,a,i,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(t){return function(e){return c([t,e])}}function c(o){if(n)throw new TypeError("Generator is already executing.");while(r)try{if(n=1,a&&(i=o[0]&2?a["return"]:o[0]?a["throw"]||((i=a["return"])&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;if(a=0,i)o=[o[0]&2,i.value];switch(o[0]){case 0:case 1:i=o;break;case 4:r.label++;return{value:o[1],done:false};case 5:r.label++;a=o[1];o=[0];continue;case 7:o=r.ops.pop();r.trys.pop();continue;default:if(!(i=r.trys,i=i.length>0&&i[i.length-1])&&(o[0]===6||o[0]===2)){r=0;continue}if(o[0]===3&&(!i||o[1]>i[0]&&o[1]<i[3])){r.label=o[1];break}if(o[0]===6&&r.label<i[1]){r.label=i[1];i=o;break}if(i&&r.label<i[2]){r.label=i[2];r.ops.push(o);break}if(i[2])r.ops.pop();r.trys.pop();continue}o=e.call(t,r)}catch(s){o=[6,s];a=0}finally{n=i=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}};import{e as getAssetPath,r as registerInstance,h,H as Host,g as getElement}from"./index-8fd57462.js";import{g as getElementDir}from"./dom-d9ba1da4.js";var CSS={icon:"icon",flipRtl:"flip-rtl"};var iconCache={};var requestCache={};var scaleToPx={s:16,m:24,l:32};function fetchIcon(t){var e=t.icon,r=t.scale;return __awaiter(this,void 0,void 0,(function(){var t,n,a,i,o,s;return __generator(this,(function(c){switch(c.label){case 0:t=scaleToPx[r];n=normalizeIconName(e);a=n.charAt(n.length-1)==="F";i=a?n.substring(0,n.length-1):n;o=""+i+t+(a?"F":"");if(iconCache[o]){return[2,iconCache[o]]}if(!requestCache[o]){requestCache[o]=fetch(getAssetPath("./assets/calcite-icon/"+o+".json")).then((function(t){return t.json()})).catch((function(){console.error('"'+o+'" is not a valid calcite-ui-icon name');return""}))}return[4,requestCache[o]];case 1:s=c.sent();iconCache[o]=s;return[2,s]}}))}))}function normalizeIconName(t){var e=!isNaN(Number(t.charAt(0)));var r=t.split("-");if(r.length===1){return e?"i"+t:t}return r.map((function(t,r){if(r===0){return e?"i"+t.toUpperCase():t}return t.charAt(0).toUpperCase()+t.slice(1)})).join("")}var calciteIconCss="@-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-popper-transition:150ms ease-in-out}:host([hidden]){display:none}:host{display:-ms-inline-flexbox;display:inline-flex}:host([scale=s]){width:1rem;height:1rem;min-width:1rem;min-height:1rem}:host([scale=m]){width:1.5rem;height:1.5rem;min-width:1.5rem;min-height:1.5rem}:host([scale=l]){width:2rem;height:2rem;min-width:2rem;min-height:2rem}.flip-rtl{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.svg{display:block}";var CalciteIcon=function(){function t(t){registerInstance(this,t);this.icon=null;this.flipRtl=false;this.scale="m";this.visible=false}t.prototype.connectedCallback=function(){var t=this;this.waitUntilVisible((function(){t.visible=true;t.loadIconPathData()}))};t.prototype.disconnectedCallback=function(){if(this.intersectionObserver){this.intersectionObserver.disconnect();this.intersectionObserver=null}};t.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.loadIconPathData();return[2]}))}))};t.prototype.render=function(){var t;var e=this,r=e.el,n=e.flipRtl,a=e.pathData,i=e.scale,o=e.textLabel;var s=getElementDir(r);var c=scaleToPx[i];var l=!!o;var f=[].concat(a||"");return h(Host,{"aria-hidden":(!l).toString(),"aria-label":l?o:null,role:l?"img":null},h("svg",{class:(t={},t[CSS.flipRtl]=s==="rtl"&&n,t.svg=true,t),fill:"currentColor",height:"100%",viewBox:"0 0 "+c+" "+c,width:"100%",xmlns:"http://www.w3.org/2000/svg"},f.map((function(t){return typeof t==="string"?h("path",{d:t}):h("path",{d:t.d,opacity:"opacity"in t?t.opacity:1})}))))};t.prototype.loadIconPathData=function(){return __awaiter(this,void 0,void 0,(function(){var t,e,r,n,a;return __generator(this,(function(i){switch(i.label){case 0:t=this,e=t.icon,r=t.scale,n=t.visible;if(!e||!n){return[2]}a=this;return[4,fetchIcon({icon:e,scale:r})];case 1:a.pathData=i.sent();return[2]}}))}))};t.prototype.waitUntilVisible=function(t){var e=this;if(typeof window==="undefined"||!window.IntersectionObserver){t();return}this.intersectionObserver=new IntersectionObserver((function(r){r.forEach((function(r){if(r.isIntersecting){e.intersectionObserver.disconnect();e.intersectionObserver=null;t()}}))}),{rootMargin:"50px"});this.intersectionObserver.observe(this.el)};Object.defineProperty(t,"assetsDirs",{get:function(){return["assets"]},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{icon:["loadIconPathData"],scale:["loadIconPathData"]}},enumerable:false,configurable:true});return t}();CalciteIcon.style=calciteIconCss;export{CalciteIcon as calcite_icon};