@haoduo-icon/bx 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/bx",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Icon package for bx",
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/bx/src-index.ts
665
- var lookup = "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";
681
+ var lookup = "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";
666
682
  var chunks = {
667
683
  "bx-01.svg": new URL("./bx-01.svg", import.meta.url).href,
668
684
  "bx-02.svg": new URL("./bx-02.svg", import.meta.url).href,