iconify-icon
Advanced tools
Comparing version 2.2.0-dev.2 to 2.2.0
@@ -10,4 +10,4 @@ /** | ||
* @license MIT | ||
* @version 2.2.0-dev.1 | ||
* @version 2.2.0 | ||
*/ | ||
!function(){"use strict";const t=Object.freeze({left:0,top:0,width:16,height:16}),e=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),n=Object.freeze({...t,...e}),i=Object.freeze({...n,body:"",hidden:!1}),o=Object.freeze({width:null,height:null}),r=Object.freeze({...o,...e});const s=/[\s,]+/;const c={...r,preserveAspectRatio:""};function a(t){const e={...c},n=(e,n)=>t.getAttribute(e)||n;var i;return e.width=n("width",null),e.height=n("height",null),e.rotate=function(t,e=0){const n=t.replace(/^-?[0-9.]*/,"");function i(t){for(;t<0;)t+=4;return t%4}if(""===n){const e=parseInt(t);return isNaN(e)?0:i(e)}if(n!==t){let e=0;switch(n){case"%":e=25;break;case"deg":e=90}if(e){let o=parseFloat(t.slice(0,t.length-n.length));return isNaN(o)?0:(o/=e,o%1==0?i(o):0)}}return e}(n("rotate","")),i=e,n("flip","").split(s).forEach((t=>{switch(t.trim()){case"horizontal":i.hFlip=!0;break;case"vertical":i.vFlip=!0}})),e.preserveAspectRatio=n("preserveAspectRatio",n("preserveaspectratio","")),e}const u=/^[a-z0-9]+(-[a-z0-9]+)*$/,l=(t,e,n,i="")=>{const o=t.split(":");if("@"===t.slice(0,1)){if(o.length<2||o.length>3)return null;i=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){const t=o.pop(),n=o.pop(),r={provider:o.length>0?o[0]:i,prefix:n,name:t};return e&&!f(r)?null:r}const r=o[0],s=r.split("-");if(s.length>1){const t={provider:i,prefix:s.shift(),name:s.join("-")};return e&&!f(t)?null:t}if(n&&""===i){const t={provider:i,prefix:"",name:r};return e&&!f(t,n)?null:t}return null},f=(t,e)=>!!t&&!(!(e&&""===t.prefix||t.prefix)||!t.name);function d(t,n){const o=function(t,e){const n={};!t.hFlip!=!e.hFlip&&(n.hFlip=!0),!t.vFlip!=!e.vFlip&&(n.vFlip=!0);const i=((t.rotate||0)+(e.rotate||0))%4;return i&&(n.rotate=i),n}(t,n);for(const r in i)r in e?r in t&&!(r in o)&&(o[r]=e[r]):r in n?o[r]=n[r]:r in t&&(o[r]=t[r]);return o}function h(t,e,n){const i=t.icons,o=t.aliases||Object.create(null);let r={};function s(t){r=d(i[t]||o[t],r)}return s(e),n.forEach(s),d(t,r)}function p(t,e){const n=[];if("object"!=typeof t||"object"!=typeof t.icons)return n;t.not_found instanceof Array&&t.not_found.forEach((t=>{e(t,null),n.push(t)}));const i=function(t,e){const n=t.icons,i=t.aliases||Object.create(null),o=Object.create(null);return Object.keys(n).concat(Object.keys(i)).forEach((function t(e){if(n[e])return o[e]=[];if(!(e in o)){o[e]=null;const n=i[e]&&i[e].parent,r=n&&t(n);r&&(o[e]=[n].concat(r))}return o[e]})),o}(t);for(const o in i){const r=i[o];r&&(e(o,h(t,o,r)),n.push(o))}return n}const g={provider:"",aliases:{},not_found:{},...t};function b(t,e){for(const n in e)if(n in t&&typeof t[n]!=typeof e[n])return!1;return!0}function v(t){if("object"!=typeof t||null===t)return null;const e=t;if("string"!=typeof e.prefix||!t.icons||"object"!=typeof t.icons)return null;if(!b(t,g))return null;const n=e.icons;for(const t in n){const e=n[t];if(!t||"string"!=typeof e.body||!b(e,i))return null}const o=e.aliases||Object.create(null);for(const t in o){const e=o[t],r=e.parent;if(!t||"string"!=typeof r||!n[r]&&!o[r]||!b(e,i))return null}return e}const m=Object.create(null);function y(t,e){const n=m[t]||(m[t]=Object.create(null));return n[e]||(n[e]=function(t,e){return{provider:t,prefix:e,icons:Object.create(null),missing:new Set}}(t,e))}function x(t,e){return v(e)?p(e,((e,n)=>{n?t.icons[e]=n:t.missing.add(e)})):[]}function w(t,e){let n=[];return("string"==typeof t?[t]:Object.keys(m)).forEach((t=>{("string"==typeof t&&"string"==typeof e?[e]:Object.keys(m[t]||{})).forEach((e=>{const i=y(t,e);n=n.concat(Object.keys(i.icons).map((n=>(""!==t?"@"+t+":":"")+e+":"+n)))}))})),n}let _=!1;function k(t){return"boolean"==typeof t&&(_=t),_}function j(t){const e="string"==typeof t?l(t,!0,_):t;if(e){const t=y(e.provider,e.prefix),n=e.name;return t.icons[n]||(t.missing.has(n)?null:void 0)}}function A(t,e){const n=l(t,!0,_);if(!n)return!1;const i=y(n.provider,n.prefix);return e?function(t,e,n){try{if("string"==typeof n.body)return t.icons[e]={...n},!0}catch(t){}return!1}(i,n.name,e):(i.missing.add(n.name),!0)}function O(t,e){if("object"!=typeof t)return!1;if("string"!=typeof e&&(e=t.provider||""),_&&!e&&!t.prefix){let e=!1;return v(t)&&(t.prefix="",p(t,((t,n)=>{A(t,n)&&(e=!0)}))),e}const n=t.prefix;if(!f({provider:e,prefix:n,name:"a"}))return!1;return!!x(y(e,n),t)}function C(t){return!!j(t)}function I(t){const e=j(t);return e?{...n,...e}:e}function E(t,e){t.forEach((t=>{const n=t.loaderCallbacks;n&&(t.loaderCallbacks=n.filter((t=>t.id!==e)))}))}let S=0;const M=Object.create(null);function T(t,e){M[t]=e}function F(t){return M[t]||M[""]}var R={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function L(t,e,n,i){const o=t.resources.length,r=t.random?Math.floor(Math.random()*o):t.index;let s;if(t.random){let e=t.resources.slice(0);for(s=[];e.length>1;){const t=Math.floor(Math.random()*e.length);s.push(e[t]),e=e.slice(0,t).concat(e.slice(t+1))}s=s.concat(e)}else s=t.resources.slice(r).concat(t.resources.slice(0,r));const c=Date.now();let a,u="pending",l=0,f=null,d=[],h=[];function p(){f&&(clearTimeout(f),f=null)}function g(){"pending"===u&&(u="aborted"),p(),d.forEach((t=>{"pending"===t.status&&(t.status="aborted")})),d=[]}function b(t,e){e&&(h=[]),"function"==typeof t&&h.push(t)}function v(){u="failed",h.forEach((t=>{t(void 0,a)}))}function m(){d.forEach((t=>{"pending"===t.status&&(t.status="aborted")})),d=[]}function y(){if("pending"!==u)return;p();const i=s.shift();if(void 0===i)return d.length?void(f=setTimeout((()=>{p(),"pending"===u&&(m(),v())}),t.timeout)):void v();const o={status:"pending",resource:i,callback:(e,n)=>{!function(e,n,i){const o="success"!==n;switch(d=d.filter((t=>t!==e)),u){case"pending":break;case"failed":if(o||!t.dataAfterTimeout)return;break;default:return}if("abort"===n)return a=i,void v();if(o)return a=i,void(d.length||(s.length?y():v()));if(p(),m(),!t.random){const n=t.resources.indexOf(e.resource);-1!==n&&n!==t.index&&(t.index=n)}u="completed",h.forEach((t=>{t(i)}))}(o,e,n)}};d.push(o),l++,f=setTimeout(y,t.rotate),n(i,e,o.callback)}return"function"==typeof i&&h.push(i),setTimeout(y),function(){return{startTime:c,payload:e,status:u,queriesSent:l,queriesPending:d.length,subscribe:b,abort:g}}}function P(t){const e={...R,...t};let n=[];function i(){n=n.filter((t=>"pending"===t().status))}return{query:function(t,o,r){const s=L(e,t,o,((t,e)=>{i(),r&&r(t,e)}));return n.push(s),s},find:function(t){return n.find((e=>t(e)))||null},setIndex:t=>{e.index=t},getIndex:()=>e.index,cleanup:i}}function N(t){let e;if("string"==typeof t.resources)e=[t.resources];else if(e=t.resources,!(e instanceof Array&&e.length))return null;return{resources:e,path:t.path||"/",maxURL:t.maxURL||500,rotate:t.rotate||750,timeout:t.timeout||5e3,random:!0===t.random,index:t.index||0,dataAfterTimeout:!1!==t.dataAfterTimeout}}const z=Object.create(null),Q=["https://api.simplesvg.com","https://api.unisvg.com"],q=[];for(;Q.length>0;)1===Q.length||Math.random()>.5?q.push(Q.shift()):q.push(Q.pop());function D(t,e){const n=N(e);return null!==n&&(z[t]=n,!0)}function U(t){return z[t]}function H(){return Object.keys(z)}function J(){}z[""]=N({resources:["https://api.iconify.design"].concat(q)});const $=Object.create(null);function B(t,e,n){let i,o;if("string"==typeof t){const e=F(t);if(!e)return n(void 0,424),J;o=e.send;const r=function(t){if(!$[t]){const e=U(t);if(!e)return;const n={config:e,redundancy:P(e)};$[t]=n}return $[t]}(t);r&&(i=r.redundancy)}else{const e=N(t);if(e){i=P(e);const n=F(t.resources?t.resources[0]:"");n&&(o=n.send)}}return i&&o?i.query(e,o,n)().abort:(n(void 0,424),J)}const G="iconify2",V="iconify",K=V+"-count",W=V+"-version",X=36e5,Y=168,Z=50;function tt(t,e){try{return t.getItem(e)}catch(t){}}function et(t,e,n){try{return t.setItem(e,n),!0}catch(t){}}function nt(t,e){try{t.removeItem(e)}catch(t){}}function it(t,e){return et(t,K,e.toString())}function ot(t){return parseInt(tt(t,K))||0}const rt={local:!0,session:!0},st={local:new Set,session:new Set};let ct=!1;let at="undefined"==typeof window?{}:window;function ut(t){const e=t+"Storage";try{if(at&&at[e]&&"number"==typeof at[e].length)return at[e]}catch(t){}rt[t]=!1}function lt(t,e){const n=ut(t);if(!n)return;const i=tt(n,W);if(i!==G){if(i){const t=ot(n);for(let e=0;e<t;e++)nt(n,V+e.toString())}return et(n,W,G),void it(n,0)}const o=Math.floor(Date.now()/X)-Y,r=t=>{const i=V+t.toString(),r=tt(n,i);if("string"==typeof r){try{const n=JSON.parse(r);if("object"==typeof n&&"number"==typeof n.cached&&n.cached>o&&"string"==typeof n.provider&&"object"==typeof n.data&&"string"==typeof n.data.prefix&&e(n,t))return!0}catch(t){}nt(n,i)}};let s=ot(n);for(let e=s-1;e>=0;e--)r(e)||(e===s-1?(s--,it(n,s)):st[t].add(e))}function ft(){if(!ct){ct=!0;for(const t in rt)lt(t,(t=>{const e=t.data,n=y(t.provider,e.prefix);if(!x(n,e).length)return!1;const i=e.lastModified||-1;return n.lastModifiedCached=n.lastModifiedCached?Math.min(n.lastModifiedCached,i):i,!0}))}}function dt(t,e){function n(n){let i;if(!rt[n]||!(i=ut(n)))return;const o=st[n];let r;if(o.size)o.delete(r=Array.from(o).shift());else if(r=ot(i),r>=Z||!it(i,r+1))return;const s={cached:Math.floor(Date.now()/X),provider:t.provider,data:e};return et(i,V+r.toString(),JSON.stringify(s))}ct||ft(),e.lastModified&&!function(t,e){const n=t.lastModifiedCached;if(n&&n>=e)return n===e;if(t.lastModifiedCached=e,n)for(const n in rt)lt(n,(n=>{const i=n.data;return n.provider!==t.provider||i.prefix!==t.prefix||i.lastModified===e}));return!0}(t,e.lastModified)||Object.keys(e.icons).length&&(e.not_found&&delete(e=Object.assign({},e)).not_found,n("local")||n("session"))}function ht(){}function pt(t){t.iconsLoaderFlag||(t.iconsLoaderFlag=!0,setTimeout((()=>{t.iconsLoaderFlag=!1,function(t){t.pendingCallbacksFlag||(t.pendingCallbacksFlag=!0,setTimeout((()=>{t.pendingCallbacksFlag=!1;const e=t.loaderCallbacks?t.loaderCallbacks.slice(0):[];if(!e.length)return;let n=!1;const i=t.provider,o=t.prefix;e.forEach((e=>{const r=e.icons,s=r.pending.length;r.pending=r.pending.filter((e=>{if(e.prefix!==o)return!0;const s=e.name;if(t.icons[s])r.loaded.push({provider:i,prefix:o,name:s});else{if(!t.missing.has(s))return n=!0,!0;r.missing.push({provider:i,prefix:o,name:s})}return!1})),r.pending.length!==s&&(n||E([t],e.id),e.callback(r.loaded.slice(0),r.missing.slice(0),r.pending.slice(0),e.abort))}))})))}(t)})))}function gt(t,e,n,i){function o(){const n=t.pendingIcons;e.forEach((e=>{n&&n.delete(e),t.icons[e]||t.missing.add(e)}))}if(n&&"object"==typeof n)try{if(!x(t,n).length)return void o();i&&dt(t,n)}catch(t){console.error(t)}o(),pt(t)}function bt(t,e){t instanceof Promise?t.then((t=>{e(t)})).catch((()=>{e(null)})):e(t)}function vt(t,e){t.iconsToLoad?t.iconsToLoad=t.iconsToLoad.concat(e).sort():t.iconsToLoad=e,t.iconsQueueFlag||(t.iconsQueueFlag=!0,setTimeout((()=>{t.iconsQueueFlag=!1;const{provider:e,prefix:n}=t,i=t.iconsToLoad;if(delete t.iconsToLoad,!i||!i.length)return;const o=t.loadIcon;if(t.loadIcons&&(i.length>1||!o))return void bt(t.loadIcons(i,n,e),(e=>{gt(t,i,e,!1)}));if(o)return void i.forEach((i=>{bt(o(i,n,e),(e=>{gt(t,[i],e?{prefix:n,icons:{[i]:e}}:null,!1)}))}));const{valid:r,invalid:s}=function(t){const e=[],n=[];return t.forEach((t=>{(t.match(u)?e:n).push(t)})),{valid:e,invalid:n}}(i);if(s.length&>(t,s,null,!1),!r.length)return;const c=n.match(u)?F(e):null;if(!c)return void gt(t,r,null,!1);c.prepare(e,n,r).forEach((n=>{B(e,n,(e=>{gt(t,n.icons,e,!0)}))}))})))}const mt=(t,e)=>{const n=function(t,e=!0,n=!1){const i=[];return t.forEach((t=>{const o="string"==typeof t?l(t,e,n):t;o&&i.push(o)})),i}(t,!0,k()),i=function(t){const e={loaded:[],missing:[],pending:[]},n=Object.create(null);t.sort(((t,e)=>t.provider!==e.provider?t.provider.localeCompare(e.provider):t.prefix!==e.prefix?t.prefix.localeCompare(e.prefix):t.name.localeCompare(e.name)));let i={provider:"",prefix:"",name:""};return t.forEach((t=>{if(i.name===t.name&&i.prefix===t.prefix&&i.provider===t.provider)return;i=t;const o=t.provider,r=t.prefix,s=t.name,c=n[o]||(n[o]=Object.create(null)),a=c[r]||(c[r]=y(o,r));let u;u=s in a.icons?e.loaded:""===r||a.missing.has(s)?e.missing:e.pending;const l={provider:o,prefix:r,name:s};u.push(l)})),e}(n);if(!i.pending.length){let t=!0;return e&&setTimeout((()=>{t&&e(i.loaded,i.missing,i.pending,ht)})),()=>{t=!1}}const o=Object.create(null),r=[];let s,c;return i.pending.forEach((t=>{const{provider:e,prefix:n}=t;if(n===c&&e===s)return;s=e,c=n,r.push(y(e,n));const i=o[e]||(o[e]=Object.create(null));i[n]||(i[n]=[])})),i.pending.forEach((t=>{const{provider:e,prefix:n,name:i}=t,r=y(e,n),s=r.pendingIcons||(r.pendingIcons=new Set);s.has(i)||(s.add(i),o[e][n].push(i))})),r.forEach((t=>{const e=o[t.provider][t.prefix];e.length&&vt(t,e)})),e?function(t,e,n){const i=S++,o=E.bind(null,n,i);if(!e.pending.length)return o;const r={id:i,icons:e,callback:t,abort:o};return n.forEach((t=>{(t.loaderCallbacks||(t.loaderCallbacks=[])).push(r)})),o}(e,i,r):ht},yt=t=>new Promise(((e,i)=>{const o="string"==typeof t?l(t,!0):t;o?mt([o||t],(r=>{if(r.length&&o){const t=j(o);if(t)return void e({...n,...t})}i(t)})):i(t)}));function xt(t){try{const e="string"==typeof t?JSON.parse(t):t;if("string"==typeof e.body)return{...e}}catch(t){}}let wt=!1;try{wt=0===navigator.vendor.indexOf("Apple")}catch(t){}const _t=/(-?[0-9.]*[0-9]+[0-9.]*)/g,kt=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function jt(t,e,n){if(1===e)return t;if(n=n||100,"number"==typeof t)return Math.ceil(t*e*n)/n;if("string"!=typeof t)return t;const i=t.split(_t);if(null===i||!i.length)return t;const o=[];let r=i.shift(),s=kt.test(r);for(;;){if(s){const t=parseFloat(r);isNaN(t)?o.push(r):o.push(Math.ceil(t*e*n)/n)}else o.push(r);if(r=i.shift(),void 0===r)return o.join("");s=!s}}const At=t=>"unset"===t||"undefined"===t||"none"===t;function Ot(t,e){const i={...n,...t},o={...r,...e},s={left:i.left,top:i.top,width:i.width,height:i.height};let c=i.body;[i,o].forEach((t=>{const e=[],n=t.hFlip,i=t.vFlip;let o,r=t.rotate;switch(n?i?r+=2:(e.push("translate("+(s.width+s.left).toString()+" "+(0-s.top).toString()+")"),e.push("scale(-1 1)"),s.top=s.left=0):i&&(e.push("translate("+(0-s.left).toString()+" "+(s.height+s.top).toString()+")"),e.push("scale(1 -1)"),s.top=s.left=0),r<0&&(r-=4*Math.floor(r/4)),r%=4,r){case 1:o=s.height/2+s.top,e.unshift("rotate(90 "+o.toString()+" "+o.toString()+")");break;case 2:e.unshift("rotate(180 "+(s.width/2+s.left).toString()+" "+(s.height/2+s.top).toString()+")");break;case 3:o=s.width/2+s.left,e.unshift("rotate(-90 "+o.toString()+" "+o.toString()+")")}r%2==1&&(s.left!==s.top&&(o=s.left,s.left=s.top,s.top=o),s.width!==s.height&&(o=s.width,s.width=s.height,s.height=o)),e.length&&(c=function(t,e,n){const i=function(t,e="defs"){let n="";const i=t.indexOf("<"+e);for(;i>=0;){const o=t.indexOf(">",i),r=t.indexOf("</"+e);if(-1===o||-1===r)break;const s=t.indexOf(">",r);if(-1===s)break;n+=t.slice(o+1,r).trim(),t=t.slice(0,i).trim()+t.slice(s+1)}return{defs:n,content:t}}(t);return o=i.defs,r=e+i.content+n,o?"<defs>"+o+"</defs>"+r:r;var o,r}(c,'<g transform="'+e.join(" ")+'">',"</g>"))}));const a=o.width,u=o.height,l=s.width,f=s.height;let d,h;null===a?(h=null===u?"1em":"auto"===u?f:u,d=jt(h,l/f)):(d="auto"===a?l:a,h=null===u?jt(d,f/l):"auto"===u?f:u);const p={},g=(t,e)=>{At(e)||(p[t]=e.toString())};g("width",d),g("height",h);const b=[s.left,s.top,l,f];return p.viewBox=b.join(" "),{attributes:p,viewBox:b,body:c}}function Ct(t,e){let n=-1===t.indexOf("xlink:")?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const t in e)n+=" "+t+'="'+e[t]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+n+">"+t+"</svg>"}function It(t){return'url("'+function(t){return"data:image/svg+xml,"+function(t){return t.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}(t)}(t)+'")'}let Et=(()=>{let t;try{if(t=fetch,"function"==typeof t)return t}catch(t){}})();function St(t){Et=t}function Mt(){return Et}const Tt={prepare:(t,e,n)=>{const i=[],o=function(t,e){const n=U(t);if(!n)return 0;let i;if(n.maxURL){let t=0;n.resources.forEach((e=>{const n=e;t=Math.max(t,n.length)}));const o=e+".json?icons=";i=n.maxURL-t-n.path.length-o.length}else i=0;return i}(t,e),r="icons";let s={type:r,provider:t,prefix:e,icons:[]},c=0;return n.forEach(((n,a)=>{c+=n.length+1,c>=o&&a>0&&(i.push(s),s={type:r,provider:t,prefix:e,icons:[]},c=n.length),s.icons.push(n)})),i.push(s),i},send:(t,e,n)=>{if(!Et)return void n("abort",424);let i=function(t){if("string"==typeof t){const e=U(t);if(e)return e.path}return"/"}(e.provider);switch(e.type){case"icons":{const t=e.prefix,n=e.icons.join(",");i+=t+".json?"+new URLSearchParams({icons:n}).toString();break}case"custom":{const t=e.uri;i+="/"===t.slice(0,1)?t.slice(1):t;break}default:return void n("abort",400)}let o=503;Et(t+i).then((t=>{const e=t.status;if(200===e)return o=501,t.json();setTimeout((()=>{n(function(t){return 404===t}(e)?"abort":"next",e)}))})).then((t=>{"object"==typeof t&&null!==t?setTimeout((()=>{n("success",t)})):setTimeout((()=>{404===t?n("abort",t):n("next",o)}))})).catch((()=>{n("next",o)}))}};function Ft(t,e,n){y(n||"",e).loadIcons=t}function Rt(t,e,n){y(n||"",e).loadIcon=t}function Lt(t,e){switch(t){case"local":case"session":rt[t]=e;break;case"all":for(const t in rt)rt[t]=e}}const Pt="data-style";let Nt="";function zt(t){Nt=t}function Qt(t,e){let n=Array.from(t.childNodes).find((t=>t.hasAttribute&&t.hasAttribute(Pt)));n||(n=document.createElement("style"),n.setAttribute(Pt,Pt),t.appendChild(n)),n.textContent=":host{display:inline-block;vertical-align:"+(e?"-0.125em":"0")+"}span,svg{display:block;margin:auto}"+Nt}const qt={"background-color":"currentColor"},Dt={"background-color":"transparent"},Ut={image:"var(--svg)",repeat:"no-repeat",size:"100% 100%"},Ht={"-webkit-mask":qt,mask:qt,background:Dt};for(const t in Ht){const e=Ht[t];for(const n in Ut)e[t+"-"+n]=Ut[n]}function Jt(t){return t?t+(t.match(/^[-0-9.]+$/)?"px":""):"inherit"}let $t;function Bt(t){return void 0===$t&&function(){try{$t=window.trustedTypes.createPolicy("iconify",{createHTML:t=>t})}catch(t){$t=null}}(),$t?$t.createHTML(t):t}function Gt(t){return Array.from(t.childNodes).find((t=>{const e=t.tagName&&t.tagName.toUpperCase();return"SPAN"===e||"SVG"===e}))}function Vt(t,e){const i=e.icon.data,o=e.customisations,r=Ot(i,o);o.preserveAspectRatio&&(r.attributes.preserveAspectRatio=o.preserveAspectRatio);const s=e.renderedMode;let c;if("svg"===s)c=function(t){const e=document.createElement("span"),n=t.attributes;let i="";n.width||(i="width: inherit;"),n.height||(i+="height: inherit;"),i&&(n.style=i);const o=Ct(t.body,n);return e.innerHTML=Bt(o),e.firstChild}(r);else c=function(t,e,n){const i=document.createElement("span");let o=t.body;-1!==o.indexOf("<a")&&(o+="\x3c!-- "+Date.now()+" --\x3e");const r=t.attributes,s=It(Ct(o,{...r,width:e.width+"",height:e.height+""})),c=i.style,a={"--svg":s,width:Jt(r.width),height:Jt(r.height),...n?qt:Dt};for(const t in a)c.setProperty(t,a[t]);return i}(r,{...n,...i},"mask"===s);const a=Gt(t);a?"SPAN"===c.tagName&&a.tagName===c.tagName?a.setAttribute("style",c.getAttribute("style")):t.replaceChild(c,a):t.appendChild(c)}function Kt(t,e,n){return{rendered:!1,inline:e,icon:t,lastRender:n&&(n.rendered?n:n.lastRender)}}!function(t="iconify-icon"){let e,n;try{e=window.customElements,n=window.HTMLElement}catch(t){return}if(!e||!n)return;const i=e.get(t);if(i)return i;const o=["icon","mode","inline","noobserver","width","height","rotate","flip"],r=class extends n{_shadowRoot;_initialised=!1;_state;_checkQueued=!1;_connected=!1;_observer=null;_visible=!0;constructor(){super();const t=this._shadowRoot=this.attachShadow({mode:"open"}),e=this.hasAttribute("inline");Qt(t,e),this._state=Kt({value:""},e),this._queueCheck()}connectedCallback(){this._connected=!0,this.startObserver()}disconnectedCallback(){this._connected=!1,this.stopObserver()}static get observedAttributes(){return o.slice(0)}attributeChangedCallback(t){switch(t){case"inline":{const t=this.hasAttribute("inline"),e=this._state;t!==e.inline&&(e.inline=t,Qt(this._shadowRoot,t));break}case"noobserver":this.hasAttribute("noobserver")?this.startObserver():this.stopObserver();break;default:this._queueCheck()}}get icon(){const t=this.getAttribute("icon");if(t&&"{"===t.slice(0,1))try{return JSON.parse(t)}catch(t){}return t}set icon(t){"object"==typeof t&&(t=JSON.stringify(t)),this.setAttribute("icon",t)}get inline(){return this.hasAttribute("inline")}set inline(t){t?this.setAttribute("inline","true"):this.removeAttribute("inline")}get observer(){return this.hasAttribute("observer")}set observer(t){t?this.setAttribute("observer","true"):this.removeAttribute("observer")}restartAnimation(){const t=this._state;if(t.rendered){const e=this._shadowRoot;if("svg"===t.renderedMode)try{return void e.lastChild.setCurrentTime(0)}catch(t){}Vt(e,t)}}get status(){const t=this._state;return t.rendered?"rendered":null===t.icon.data?"failed":"loading"}_queueCheck(){this._checkQueued||(this._checkQueued=!0,setTimeout((()=>{this._check()})))}_check(){if(!this._checkQueued)return;this._checkQueued=!1;const t=this._state,e=this.getAttribute("icon");if(e!==t.icon.value)return void this._iconChanged(e);if(!t.rendered||!this._visible)return;const n=this.getAttribute("mode"),i=a(this);t.attrMode===n&&!function(t,e){for(const n in c)if(t[n]!==e[n])return!0;return!1}(t.customisations,i)&&Gt(this._shadowRoot)||this._renderIcon(t.icon,i,n)}_iconChanged(t){const e=function(t,e){if("object"==typeof t)return{data:xt(t),value:t};if("string"!=typeof t)return{value:t};if(t.includes("{")){const e=xt(t);if(e)return{data:e,value:t}}const n=l(t,!0,!0);if(!n)return{value:t};const i=j(n);if(void 0!==i||!n.prefix)return{value:t,name:n,data:i};const o=mt([n],(()=>e(t,n,j(n))));return{value:t,name:n,loading:o}}(t,((t,e,n)=>{const i=this._state;if(i.rendered||this.getAttribute("icon")!==t)return;const o={value:t,name:e,data:n};o.data?this._gotIconData(o):i.icon=o}));e.data?this._gotIconData(e):this._state=Kt(e,this._state.inline,this._state)}_forceRender(){if(this._visible)this._queueCheck();else{const t=Gt(this._shadowRoot);t&&this._shadowRoot.removeChild(t)}}_gotIconData(t){this._checkQueued=!1,this._renderIcon(t,a(this),this.getAttribute("mode"))}_renderIcon(t,e,n){const i=function(t,e){switch(e){case"svg":case"bg":case"mask":return e}return"style"===e||!wt&&-1!==t.indexOf("<a")?-1===t.indexOf("currentColor")?"bg":"mask":"svg"}(t.data.body,n),o=this._state.inline;Vt(this._shadowRoot,this._state={rendered:!0,icon:t,inline:o,customisations:e,attrMode:n,renderedMode:i})}startObserver(){if(!this._observer&&!this.hasAttribute("noobserver"))try{this._observer=new IntersectionObserver((t=>{const e=t.some((t=>t.isIntersecting));e!==this._visible&&(this._visible=e,this._forceRender())})),this._observer.observe(this)}catch(t){if(this._observer){try{this._observer.disconnect()}catch(t){}this._observer=null}}}stopObserver(){this._observer&&(this._observer.disconnect(),this._observer=null,this._visible=!0,this._connected&&this._forceRender())}};o.forEach((t=>{t in r.prototype||Object.defineProperty(r.prototype,t,{get:function(){return this.getAttribute(t)},set:function(e){null!==e?this.setAttribute(t,e):this.removeAttribute(t)}})}));const s=function(){let t;T("",Tt),k(!0);try{t=window}catch(t){}if(t){if(ft(),void 0!==t.IconifyPreload){const e=t.IconifyPreload,n="Invalid IconifyPreload syntax.";"object"==typeof e&&null!==e&&(e instanceof Array?e:[e]).forEach((t=>{try{("object"!=typeof t||null===t||t instanceof Array||"object"!=typeof t.icons||"string"!=typeof t.prefix||!O(t))&&console.error(n)}catch(t){console.error(n)}}))}if(void 0!==t.IconifyProviders){const e=t.IconifyProviders;if("object"==typeof e&&null!==e)for(const t in e){const n="IconifyProviders["+t+"] is invalid.";try{const i=e[t];if("object"!=typeof i||!i||void 0===i.resources)continue;D(t,i)||console.error(n)}catch(t){console.error(n)}}}}return{enableCache:t=>Lt(t,!0),disableCache:t=>Lt(t,!1),iconLoaded:C,iconExists:C,getIcon:I,listIcons:w,addIcon:A,addCollection:O,calculateSize:jt,buildIcon:Ot,iconToHTML:Ct,svgToURL:It,loadIcons:mt,loadIcon:yt,addAPIProvider:D,setCustomIconLoader:Rt,setCustomIconsLoader:Ft,appendCustomStyle:zt,_api:{getAPIConfig:U,setAPIModule:T,sendAPIQuery:B,setFetch:St,getFetch:Mt,listAPIProviders:H}}}();for(const t in s)r[t]=r.prototype[t]=s[t];e.define(t,r)}()}(); |
@@ -5,6 +5,3 @@ { | ||
"author": "Vjacheslav Trushkin <cyberalien@gmail.com> (https://iconify.design)", | ||
"version": "2.2.0-dev.2", | ||
"publishConfig": { | ||
"tag": "next" | ||
}, | ||
"version": "2.2.0", | ||
"license": "MIT", | ||
@@ -49,5 +46,5 @@ "main": "./dist/iconify-icon.cjs", | ||
"devDependencies": { | ||
"@eslint/eslintrc": "^3.1.0", | ||
"@eslint/js": "^9.13.0", | ||
"@microsoft/api-extractor": "^7.47.11", | ||
"@eslint/eslintrc": "^3.2.0", | ||
"@eslint/js": "^9.16.0", | ||
"@microsoft/api-extractor": "^7.48.0", | ||
"@rollup/plugin-node-resolve": "^15.3.0", | ||
@@ -58,15 +55,15 @@ "@rollup/plugin-replace": "^6.0.1", | ||
"@types/jsdom": "^21.1.7", | ||
"@types/node": "^22.8.6", | ||
"@typescript-eslint/eslint-plugin": "^8.12.2", | ||
"@types/node": "^22.10.1", | ||
"@typescript-eslint/eslint-plugin": "^8.17.0", | ||
"cross-env": "^7.0.3", | ||
"eslint": "^9.13.0", | ||
"globals": "^15.11.0", | ||
"eslint": "^9.16.0", | ||
"globals": "^15.13.0", | ||
"jest": "^29.7.0", | ||
"jsdom": "^25.0.1", | ||
"rimraf": "^6.0.1", | ||
"rollup": "^4.24.3", | ||
"rollup": "^4.28.1", | ||
"ts-jest": "^29.2.5", | ||
"typescript": "^5.6.3", | ||
"@iconify/core": "^2.0.2", | ||
"@iconify/utils": "^2.1.33" | ||
"typescript": "^5.7.2", | ||
"@iconify/core": "^3.0.0", | ||
"@iconify/utils": "^2.2.0" | ||
}, | ||
@@ -73,0 +70,0 @@ "scripts": { |
@@ -23,3 +23,3 @@ # What is Iconify? | ||
```html | ||
<script src="https://code.iconify.design/iconify-icon/2.2.0-dev.1/iconify-icon.min.js"></script> | ||
<script src="https://code.iconify.design/iconify-icon/2.2.0/iconify-icon.min.js"></script> | ||
``` | ||
@@ -30,3 +30,3 @@ | ||
```html | ||
<script src="https://cdn.jsdelivr.net/npm/iconify-icon@2.2.0-dev.1/dist/iconify-icon.min.js"></script> | ||
<script src="https://cdn.jsdelivr.net/npm/iconify-icon@2.2.0/dist/iconify-icon.min.js"></script> | ||
``` | ||
@@ -33,0 +33,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
0
265090