@haoduo-icon/memory 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/pkg-index.js +21 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haoduo-icon/memory",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Icon package for memory",
5
5
  "type": "module",
6
6
  "main": "./pkg-index.js",
package/pkg-index.js CHANGED
@@ -580,11 +580,25 @@ class HdIcon extends HTMLElement {
580
580
  static get observedAttributes() {
581
581
  return ["icon"];
582
582
  }
583
- _use;
583
+ _use = null;
584
584
  constructor() {
585
585
  super();
586
- this.innerHTML = `<svg width="1em" height="1em" fill="currentColor" style="display: inline-block; vertical-align: middle; overflow: hidden;"><use width="100%" height="100%"></use></svg>`;
587
- this._use = this.querySelector("use");
586
+ }
587
+ ensureTemplate() {
588
+ if (this._use)
589
+ return;
590
+ const svgNs = "http://www.w3.org/2000/svg";
591
+ const svg = document.createElementNS(svgNs, "svg");
592
+ svg.setAttribute("width", "1em");
593
+ svg.setAttribute("height", "1em");
594
+ svg.setAttribute("fill", "currentColor");
595
+ svg.setAttribute("style", "display: inline-block; vertical-align: middle; overflow: hidden;");
596
+ const use = document.createElementNS(svgNs, "use");
597
+ use.setAttribute("width", "100%");
598
+ use.setAttribute("height", "100%");
599
+ svg.appendChild(use);
600
+ this.appendChild(svg);
601
+ this._use = use;
588
602
  }
589
603
  attributeChangedCallback(name, oldValue, newValue) {
590
604
  if (name === "icon" && newValue !== oldValue) {
@@ -592,6 +606,7 @@ class HdIcon extends HTMLElement {
592
606
  }
593
607
  }
594
608
  connectedCallback() {
609
+ this.ensureTemplate();
595
610
  this.render();
596
611
  if (typeof window !== "undefined") {
597
612
  window.addEventListener("hd-icon-registered", this.handleRegistration);
@@ -610,6 +625,7 @@ class HdIcon extends HTMLElement {
610
625
  }
611
626
  };
612
627
  async render() {
628
+ this.ensureTemplate();
613
629
  const iconKey = this.getAttribute("icon");
614
630
  if (!iconKey)
615
631
  return;
@@ -651,7 +667,7 @@ class HdIcon extends HTMLElement {
651
667
  console.warn(`[hd-icon] Failed to resolve icon URL: ${chunkFile} relative to ${registry.baseUrl}`, e);
652
668
  }
653
669
  }
654
- this._use.setAttribute("href", `${url}#${symbolId}`);
670
+ this._use?.setAttribute("href", `${url}#${symbolId}`);
655
671
  }
656
672
  }
657
673
  if (typeof customElements !== "undefined" && !customElements.get("hd-icon")) {
@@ -662,7 +678,7 @@ if (typeof window !== "undefined") {
662
678
  }
663
679
 
664
680
  // iconpkg/memory/src-index.ts
665
- var lookup = "AAADeIkZAosYgxrifNzzWEJWdXWVRFZUKHVEJ5ZDdRZkZCeHZGYHUVNaeDdUIyZWdHNXEINkZVYUVFMidhxyWBSJdUZiZKYkRWJHMlM4Zkg3FwVYhVwKFOMBBAVK/AgCjAIIDBDCCAELFB4EuwFeoEECDAxdpQEVOwI+2gFfyQENDmkD9QFMBQPqISLJAl9+Bx8nBhQXAgrkAQFihQEKAtYDAyVXEAUaBgkGGgQCHUecOQKMAdQHFhNHTWWbAR4CAQ0DClTRGxUGAjcKAQIhvQx6S2AHiAHHBBECWQKLEQ3PW8kMTvvxImJU1xLBSZWXKMPB/ZbIYB/k8Z4A1+54XtFTpxfZHhdUw1Uwex8qrIi/phwPUNX0VTVO4IGGqttLkn3pFeISY94KmfJLh/JEqY3V99OsaK80q/l7zkv1JnqOzbEaTZEpJNmq1nBlxd7YvL029GMKQOuetqW8YpBpvnat6/LRcWNlAdAB34M7R7o1iNT7c4qsgxfsqCwfuYkDqg/PPpGaUzPbqdBzC9dm25Kk5AMK/322qdLXvs1TygV3epMT2J5py+qouWD15OyYLPjrrYzFmD24/YLKOSPSLJBq99EDCmOVR0ZK293SMT+o+/qGBT7rV6Kyb1BFkmF3CRYAC6J0vWLJZRutYm23NKj8p0BhO6uBaHIYz0RlJXKE9sfPDN0Mfda7v1Lm31mU/Uyk/Ef2obPhcZxZamP5wfmV3jM4NCDKx8QbotVMlaOfbBX6O+atEWIkb4U/qZqpfZVCNCo5a5+NssZsab4nJk2BSvCBufc0aYdIinL5rn+c8UUWnICqrVUaoN+oPl9PxOXLpd4t2fL+MKZ7XWdZeXM3nX4OlV/T+DKoHLnHH3FwBWF5QoLW0axAC/BLPoG3Yxn6AOR4NTwF/tqWjRrtHYOAoXcPbG99HIzvaZDs8+YkHM0qXtHX0EHzyE6d+4YovOi9XUTPoD6ODHUPZQPnCdHtdxt8coJPceYyUVBcmJS4GJiM+/Jbf2BnDVqSRknSsbZpwOi2+dtGqbPhvuwbMmf0DQOrkBunhUdBlgRCNJdwZ5nCaURE9ErKVdJMpl/l6BFNY0OCdfYU1PKbg//2IGEIPLGO06ro3UXVN68gyXIlF6tS1pecgOHenR6svqXVbXXMnItAGgx5UQABICAIGAAKMIQAggBgQYICAAAAAAQAAAANbWVtb3J5LTAxLnN2ZwAAAA1tZW1vcnktMDIuc3ZnAAAADW1lbW9yeS0wMy5zdmcAAAANbWVtb3J5LTA0LnN2Z/////8AAAADAAAA9RCEKJAgaAASScikKJmUKEqASJASKZIiAQgyRBCQAIigIECgBBAwJIoCKEoUJEokBYCiQcGSCJMUBYgEQQgCBVIkIMAiKBg2KQgSBUmAbAuQBAiACRCiQJAQYRICSJCSJIESIEIiAFCCQRGWCYOCCAIgCVEWSMmSYIGiRZOmBEEUSYIkKYAkBRKGTFCCBBAUJQKyCEmkDAAEIEGCCFIAKVgAJIgyCBCSRFMQKIEkJVKiJYIEIYoSTEASZIECBRCiRAAQSRKAKBESKZIGCYiEIME0QUskJEgEKIOmYcsQSAAiQEogJQgEAYCCSIiyQBGARZiiAUoAAAAAAA==";
681
+ var lookup = "AAADdIkZAosYgxr0wkUEWEJJZVUzOTKmNkYkQoNIQURWSVVCZ1dUVFRVU6UUZoFnY1dGJlZVhUaJNkVUJHU2QYhGWFUiVmJnYzZEQVs2RWVHFglYgeAIEAInGB4KigYBA+I+Rg4/Cy0DBBoBzQuJAQQ0HcAZAQUJAx5lTAgCDQUDBBlMAgMmAbAYGSMhbzlWAbEBuAMdAScWCAwCDTzpAnANnAycAQwDHxIVFgQeGQkM/gJbZgSKBBANLAEOFwFWKVYJMhYTCAOWCxE0BhQEOGwsCFz9CQJZAosJAWGooDvbt0NpctnCshdZ3b+pPtrSNDyNrWtNqHOo65Z9YKzbyjSN3gOYcBphD3n8uGLhxwpJbMN9PzQ7kM/5kNCcAG+C9oIK6UhVS65OwSDW67Ot3lKaZWcMFTI1aOCAlYYdG3/x/2y+kk1Fz9c+vIJ70Sr7+X1T4RQV0VslZQ9Eb6mk9+/4LGrkeo4cLe6rR2aV/exgScfYh1k5MECcY3D47NP3JRMj7IndMqhilP7rnIyxfxtf8s2aeo1ExCgP02MfgdeGvHlyS9HzkGVz0p6fEaCBUPd9rDNR9F2Ab5zVnVy9PkAM7RoYeXWYcd/od0K2gx/6k93O5eGbrPANA16iw440rWf5keq9oqcWVdEo8slyofv5HE/mxNOs5HC+5mnsMgwFYxLol/RNJmNpad7f4q9nzRpQ26haQGqKdkSqpIi8l0ym+5R7hKc0J4qm1qLF5ANM8v7URB5sadmMDudBZ1Pfu6yxZfbG0YuXHtVjeJWouVTtzB8g5s8XIqYLuYNxgfAp5ju2Tyqty6vKwEbb/QvVGeVxg/P1P941hSy59ksYCXWBPD5+UOux8TS2zwzyqclAzRfYM8nWCkvQwQVo6JJHJvWpgXiHRpF9o2E4kvKc1wRFy/JV0U41nV/engr6RJmlmYKWvmH9p+jXq7N3mKq45AD0qVUaXmMN0DdznchtpfGvqwuQMCqYvkdKSoZFxfSfH8pMskpiBcEkA5WW1l2ldG0+d9dyqr5OqlPbWQXIYIj2thv7db+3utUBDVKAERvSD/x8ANJbV3uOQXFCYmUDhUf7JGL6jBEIaULP/8epRtVpd/kcG5U2yiC9rdKDEhYk1FQXcjE5NwzZuWNfnqEckqo9lSxRQAoANhAAgAQgAIAUQAASAAIAAAAABAAAAA1tZW1vcnktMDEuc3ZnAAAADW1lbW9yeS0wMi5zdmcAAAANbWVtb3J5LTAzLnN2ZwAAAA1tZW1vcnktMDQuc3Zn/////wAAAAMAAAD1CgAAQLJFEqQJiYIkCCAMQCREgBZBkSAgkCAEWhRJgRIFmAJBEAQlkZRMUqQAQiApWhQAgoQkEZRpiKIgUQRNEBBEQSIICCIMWSBAQZIAQKBEyCJFGCJNSqAggBYoiCQEWAJhSqQEQLAsgRAMCIIoAhQhUwIAyqRAQhQIUgRBASBtyhJIQhIAkwBoWYIAkjRJQLIIkpBEAQAAiSBEEhIokBRBQhJEiYIkSAJhUoAAyzBpUAQFChBIkqIg2xIsSTQICAJICRBgSBIoQAYliSBEiAQlQqIoUSIpk5QtUSAJkBREEiJIQYQBiJRsUIQIUYREACQEAQAAAAAA";
666
682
  var chunks = {
667
683
  "memory-01.svg": new URL("./memory-01.svg", import.meta.url).href,
668
684
  "memory-02.svg": new URL("./memory-02.svg", import.meta.url).href,