@haoduo-icon/memory 1.0.1 → 1.0.2

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 +31 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haoduo-icon/memory",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Icon package for memory",
5
5
  "type": "module",
6
6
  "main": "./pkg-index.js",
package/pkg-index.js CHANGED
@@ -617,10 +617,35 @@ class HdIcon extends HTMLElement {
617
617
  window.removeEventListener("hd-icon-registered", this.handleRegistration);
618
618
  }
619
619
  }
620
+ parseIconKey(iconKey) {
621
+ if (!iconKey)
622
+ return null;
623
+ const colonIndex = iconKey.indexOf(":");
624
+ if (colonIndex > 0 && colonIndex < iconKey.length - 1) {
625
+ return {
626
+ pkg: iconKey.slice(0, colonIndex),
627
+ name: iconKey.slice(colonIndex + 1)
628
+ };
629
+ }
630
+ const registry = getRegistry();
631
+ let matchedPkg = "";
632
+ for (const pkg of registry.keys()) {
633
+ if (iconKey.startsWith(pkg + "-") && pkg.length > matchedPkg.length) {
634
+ matchedPkg = pkg;
635
+ }
636
+ }
637
+ if (matchedPkg) {
638
+ return {
639
+ pkg: matchedPkg,
640
+ name: iconKey.slice(matchedPkg.length + 1)
641
+ };
642
+ }
643
+ return null;
644
+ }
620
645
  handleRegistration = (e) => {
621
646
  const detail = e.detail;
622
647
  const iconKey = this.getAttribute("icon");
623
- if (iconKey && iconKey.startsWith(detail.pkg + ":")) {
648
+ if (iconKey && (iconKey.startsWith(detail.pkg + ":") || iconKey.startsWith(detail.pkg + "-"))) {
624
649
  this.render();
625
650
  }
626
651
  };
@@ -629,11 +654,12 @@ class HdIcon extends HTMLElement {
629
654
  const iconKey = this.getAttribute("icon");
630
655
  if (!iconKey)
631
656
  return;
632
- const [pkg, name] = iconKey.split(":");
633
- if (!pkg || !name) {
634
- console.warn(`[hd-icon] Invalid icon format: "${iconKey}". Expected "pkg:name".`);
657
+ const parsed = this.parseIconKey(iconKey);
658
+ if (!parsed) {
659
+ console.warn(`[hd-icon] Invalid icon format: "${iconKey}". Expected "pkg:name" or "pkg-name".`);
635
660
  return;
636
661
  }
662
+ const { pkg, name } = parsed;
637
663
  const registry = getRegistry().get(pkg);
638
664
  if (!registry) {
639
665
  return;
@@ -678,7 +704,7 @@ if (typeof window !== "undefined") {
678
704
  }
679
705
 
680
706
  // iconpkg/memory/src-index.ts
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";
707
+ var lookup = "AAADeIkZAosYgxpAmj9qWEIVNlWEZWZVdkZDcycpdGdIRShyaBc2VyJlkTZGNUNzOHFIR1bGI3NxQ0NHNHSzJUFFY1VUI3VEOINnSVYYhkt0RARYhQ4TBwI+AT9UCAEZBGJWAQINH+YCAZgCAl0aEL8JCwsBhwICAYUBrQKDAdsFOAikAxEBS70CngFeAhsEIgsBHssEAc4BBQIcHQYPukXoA08BCAQBswERCGwB8RYcExsIA0sjAgcLBAcGhAEBswQWmgWRASSFBgEOQ4EBN1OYFAER7QQDAQQCWQKLvWqAuAOGNyX75aH5HBg5imv/qllK3STqdOR/FCOD8FvT1m+xpftVC3VxvJ6OCl+Vp9WrBaiNS9XKbO+pygwkxTU0e+tCufX6Ru2OA+SVNWntQRr0UpzfM8wZcTzPkK2M8vlZSdPriNulTDsf4U4dCmPY5hwmY8OV8g2FmCzTmxEBjpr2unYeemDsnQ9C/lUVpr+DoDQpqHBvR0+BLC1ETPuHYrNi6x6skOTRT0SkrwmBtnB6s6xAaF5TvtfXC33UFmOtUmNjuG/Vy4bxt8PE6BW918/KFtAqaTC/0memKM4xx2lIvNt5iLFfVPaftukN0eA9G/uFR0sOANLUCV+2rni90fi5wXki92c7czTlxR/If9kP8mM7mPmX1mGrXNtHaZeJF1uAUPpAxjRip/yo+iABTZZs2ZTIBfFCFz54kjKB3qnnd2eRUd2pwfs+ad0qYiZLnsdE4q1A6Kh9kkb+Nl2QyQjWRZrfEURy8NIb7MR1kslArT7k8/Q45vYfVZ3bh2l3phKYwjVZ0tEcBJdQDX2qmbmcJO4gbWisTksXDN73ins30fn5RVBh9PK5/SDfSoKxnoCYYZw0auza8QBN0X0/Ks3WMt6rZaevqMdy8qIMqSidZT6cXt6RPzBXRZV8mf9pYsl1jLLN+DIzEXJUfr6kRJ9K4amDz+iQy8Fn6I1aGFNVYYFgd/OT6znZ5gU8A3OWcdf8qnKiD6AaEwp73tJOq33XlLzQhAzh7I0bqCeqbapNbKG+Y0FmwHD1rVOSG9WsrIa2c0kDgv0aAwX9oxJgAAqVXSypyg+lgkz0z9UbopwXC4wfvmVGJfb3HM132GXyz3GWgXKLgnkavrvmNEc+0JUMskOD22W3USoAEAIAggQGgVyAYQAgAQIAAAAAAAQAAAANbWVtb3J5LTAxLnN2ZwAAAA1tZW1vcnktMDIuc3ZnAAAADW1lbW9yeS0wMy5zdmcAAAANbWVtb3J5LTA0LnN2Z/////8AAAADAAAA9UqQYJOUSAoEKJmCRIAkJYoEQUmEZAqEKFIkQAMgCYoUZQIAQEmwCAAyKAmgJFGgKAMiTQgUJZAAQZKGYEGGBBCgAJESIJMCIEGEIAigDICASIsSIRISSQOUTFIkLcogTJGgQIIyQIECKAG2QBAkJIKUDEqUSJGiJEKAJQIiIUKQJAkwJAqEIViCCUImTYkAJcKCLBkkCAiQJAAUBYKiIAIWDIGiYIIUJBEEKICAIAkQZYqgREqAZAkERMg0IQOgQYqQJAkgCYAkZIgiREg0CRIGBRCkYECwREIAZVKACFIESQsgJRACQYKCAIkQSFAkREKiIAAAAAAAAA==";
682
708
  var chunks = {
683
709
  "memory-01.svg": new URL("./memory-01.svg", import.meta.url).href,
684
710
  "memory-02.svg": new URL("./memory-02.svg", import.meta.url).href,