@genarou/blazir-icons 1.2.16 → 1.3.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 (81) hide show
  1. package/LICENSE +121 -0
  2. package/README.md +1206 -0
  3. package/dist/CustomIcon.svelte +30 -0
  4. package/dist/CustomIcon.svelte.d.ts +14 -0
  5. package/dist/Icon.svelte +282 -102
  6. package/dist/Icon.svelte.d.ts +12 -5
  7. package/dist/IconBadge.svelte +75 -0
  8. package/dist/IconBadge.svelte.d.ts +16 -0
  9. package/dist/IconBase.svelte +89 -57
  10. package/dist/effects.js +1 -3
  11. package/dist/icons/Camera.svelte +19 -0
  12. package/dist/icons/Camera.svelte.d.ts +4 -0
  13. package/dist/icons/Cards.svelte +19 -0
  14. package/dist/icons/Cards.svelte.d.ts +4 -0
  15. package/dist/icons/CloudAlert.svelte +19 -0
  16. package/dist/icons/CloudAlert.svelte.d.ts +4 -0
  17. package/dist/icons/CloudCheck.svelte +19 -0
  18. package/dist/icons/CloudCheck.svelte.d.ts +4 -0
  19. package/dist/icons/CloudDownload.svelte +19 -0
  20. package/dist/icons/CloudDownload.svelte.d.ts +4 -0
  21. package/dist/icons/Colors.svelte +13 -0
  22. package/dist/icons/Colors.svelte.d.ts +4 -0
  23. package/dist/icons/CreditCard.svelte +19 -0
  24. package/dist/icons/CreditCard.svelte.d.ts +4 -0
  25. package/dist/icons/Desktop.svelte +19 -0
  26. package/dist/icons/Desktop.svelte.d.ts +4 -0
  27. package/dist/icons/DoughnutChart.svelte +19 -0
  28. package/dist/icons/DoughnutChart.svelte.d.ts +4 -0
  29. package/dist/icons/Earth.svelte +19 -0
  30. package/dist/icons/Earth.svelte.d.ts +4 -0
  31. package/dist/icons/Globe.svelte +19 -0
  32. package/dist/icons/Globe.svelte.d.ts +4 -0
  33. package/dist/icons/LightHub.svelte +19 -0
  34. package/dist/icons/LightHub.svelte.d.ts +4 -0
  35. package/dist/icons/Link.svelte +19 -0
  36. package/dist/icons/Link.svelte.d.ts +4 -0
  37. package/dist/icons/More.svelte +13 -0
  38. package/dist/icons/More.svelte.d.ts +4 -0
  39. package/dist/icons/Power.svelte +19 -0
  40. package/dist/icons/Power.svelte.d.ts +4 -0
  41. package/dist/icons/Receipt.svelte +19 -0
  42. package/dist/icons/Receipt.svelte.d.ts +4 -0
  43. package/dist/icons/SharedFolder.svelte +13 -0
  44. package/dist/icons/SharedFolder.svelte.d.ts +4 -0
  45. package/dist/icons/Sidebar.svelte +13 -0
  46. package/dist/icons/Sidebar.svelte.d.ts +4 -0
  47. package/dist/icons/Sync.svelte +19 -0
  48. package/dist/icons/Sync.svelte.d.ts +4 -0
  49. package/dist/icons/Tags.svelte +13 -0
  50. package/dist/icons/Tags.svelte.d.ts +4 -0
  51. package/dist/icons/Tools.svelte +20 -0
  52. package/dist/icons/Tools.svelte.d.ts +4 -0
  53. package/dist/icons/Upload.svelte +12 -57
  54. package/dist/icons/Wifi.svelte +19 -0
  55. package/dist/icons/Wifi.svelte.d.ts +4 -0
  56. package/dist/icons/lazy-registry.d.ts +21 -0
  57. package/dist/icons/lazy-registry.js +251 -0
  58. package/dist/icons/registry.d.ts +146 -129
  59. package/dist/icons/registry.js +184 -132
  60. package/dist/icons-api.d.ts +67 -257
  61. package/dist/icons-api.js +84 -453
  62. package/dist/index.d.ts +5 -5
  63. package/dist/index.js +14 -11
  64. package/dist/plugin/index.d.ts +46 -0
  65. package/dist/plugin/index.js +327 -0
  66. package/dist/smart-cache.d.ts +35 -0
  67. package/dist/smart-cache.js +192 -0
  68. package/dist/types.d.ts +19 -2
  69. package/dist/utils/sanitize.d.ts +25 -0
  70. package/dist/utils/sanitize.js +109 -0
  71. package/package.json +23 -13
  72. package/dist/icons/Aws.svelte +0 -19
  73. package/dist/icons/Aws.svelte.d.ts +0 -4
  74. package/dist/icons/Facebook.svelte +0 -18
  75. package/dist/icons/Facebook.svelte.d.ts +0 -4
  76. package/dist/icons/Golang.svelte +0 -17
  77. package/dist/icons/Golang.svelte.d.ts +0 -4
  78. package/dist/icons/Google.svelte +0 -18
  79. package/dist/icons/Google.svelte.d.ts +0 -4
  80. package/dist/icons/Paypal.svelte +0 -21
  81. package/dist/icons/Paypal.svelte.d.ts +0 -4
@@ -0,0 +1,4 @@
1
+ import type { IconProps } from "../types";
2
+ declare const Globe: import("svelte").Component<IconProps, {}, "">;
3
+ type Globe = ReturnType<typeof Globe>;
4
+ export default Globe;
@@ -0,0 +1,19 @@
1
+ <script lang="ts">
2
+ import IconBase from "../IconBase.svelte";
3
+ import type { IconProps } from "../types";
4
+
5
+ const props: IconProps = $props();
6
+ </script>
7
+
8
+ <IconBase
9
+ {...props}
10
+ mode="solid"
11
+ viewBox="0 0 24 24"
12
+ ariaLabel={props.ariaLabel ?? "Lightbulb icon"}
13
+ title={props.title ?? ""}
14
+ >
15
+ <path
16
+ fill="currentColor"
17
+ d="M10 18q-.825 0-1.412-.587T8 16v-1.25q-1.425-.975-2.212-2.5T5 9q0-2.925 2.038-4.962T12 2t4.963 2.038T19 9q0 1.725-.788 3.238T16 14.75V16q0 .825-.587 1.413T14 18zm0 4q-.425 0-.712-.288T9 21t.288-.712T10 20h4q.425 0 .713.288T15 21t-.288.713T14 22z"
18
+ />
19
+ </IconBase>
@@ -0,0 +1,4 @@
1
+ import type { IconProps } from "../types";
2
+ declare const LightHub: import("svelte").Component<IconProps, {}, "">;
3
+ type LightHub = ReturnType<typeof LightHub>;
4
+ export default LightHub;
@@ -0,0 +1,19 @@
1
+ <script lang="ts">
2
+ import IconBase from "../IconBase.svelte";
3
+ import type { IconProps } from "../types";
4
+
5
+ const props: IconProps = $props();
6
+ </script>
7
+
8
+ <IconBase
9
+ {...props}
10
+ mode="solid"
11
+ viewBox="0 0 24 24"
12
+ ariaLabel={props.ariaLabel ?? "Link icon"}
13
+ title={props.title ?? ""}
14
+ >
15
+ <path
16
+ fill="currentColor"
17
+ d="M7.95 21q-2.05 0-3.5-1.45T3 16.05q0-1 .375-1.9t1.075-1.6l2.625-2.625q.3-.3.713-.3t.712.3t.3.7t-.3.7l-2.65 2.65q-.425.425-.637.963T5 16.05q0 1.225.863 2.088T7.95 19q.575 0 1.125-.213t.975-.637l2.625-2.65q.3-.275.7-.275t.7.3t.3.7t-.3.7L11.45 19.55q-.7.7-1.6 1.075T7.95 21m1.25-6.2q-.3-.3-.3-.712t.3-.713L13.375 9.2q.3-.3.713-.3t.712.3t.3.713t-.3.712L10.625 14.8q-.3.3-.712.3t-.713-.3m6.3-.725q-.3-.3-.3-.7t.3-.7l2.65-2.625q.425-.425.625-.95t.2-1.1q0-1.25-.85-2.125T16.025 5q-.575 0-1.112.213t-.963.637L11.325 8.5q-.3.3-.7.3t-.7-.3t-.3-.712t.3-.713L12.55 4.45q.7-.7 1.6-1.075T16.05 3q2.05 0 3.488 1.45t1.437 3.525q0 .975-.363 1.875t-1.062 1.6l-2.625 2.625q-.3.3-.712.3t-.713-.3"
18
+ />
19
+ </IconBase>
@@ -0,0 +1,4 @@
1
+ import type { IconProps } from "../types";
2
+ declare const Link: import("svelte").Component<IconProps, {}, "">;
3
+ type Link = ReturnType<typeof Link>;
4
+ export default Link;
@@ -0,0 +1,13 @@
1
+ <!-- src/lib/icons/MoreHorizontal.svelte -->
2
+ <script lang="ts">
3
+ import IconBase from "../IconBase.svelte";
4
+ import type { IconProps } from "../types";
5
+ const props: IconProps = $props();
6
+ </script>
7
+
8
+ <IconBase {...props} mode="solid" viewBox="0 0 24 24">
9
+ <path
10
+ fill="currentColor"
11
+ d="M16 12a2 2 0 0 1 2-2a2 2 0 0 1 2 2a2 2 0 0 1-2 2a2 2 0 0 1-2-2m-6 0a2 2 0 0 1 2-2a2 2 0 0 1 2 2a2 2 0 0 1-2 2a2 2 0 0 1-2-2m-6 0a2 2 0 0 1 2-2a2 2 0 0 1 2 2a2 2 0 0 1-2 2a2 2 0 0 1-2-2"
12
+ />
13
+ </IconBase>
@@ -0,0 +1,4 @@
1
+ import type { IconProps } from "../types";
2
+ declare const More: import("svelte").Component<IconProps, {}, "">;
3
+ type More = ReturnType<typeof More>;
4
+ export default More;
@@ -0,0 +1,19 @@
1
+ <script lang="ts">
2
+ import IconBase from "../IconBase.svelte";
3
+ import type { IconProps } from "../types";
4
+
5
+ const props: IconProps = $props();
6
+ </script>
7
+
8
+ <IconBase
9
+ {...props}
10
+ mode="solid"
11
+ viewBox="0 0 24 24"
12
+ ariaLabel={props.ariaLabel ?? "Power icon"}
13
+ title={props.title ?? ""}
14
+ >
15
+ <path
16
+ fill="currentColor"
17
+ d="M8.1 21.213q-1.825-.788-3.175-2.138T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22t-3.9-.788m8.15-4.962Q18 14.5 18 12q0-1.275-.475-2.363T16.25 7.75l-1.425 1.425q.55.55.863 1.275T16 12q0 1.65-1.175 2.825T12 16t-2.825-1.175T8 12q0-.825.313-1.55t.862-1.275L7.75 7.75q-.8.8-1.275 1.888T6 12q0 2.5 1.75 4.25T12 18t4.25-1.75M11 12h2V6h-2z"
18
+ />
19
+ </IconBase>
@@ -0,0 +1,4 @@
1
+ import type { IconProps } from "../types";
2
+ declare const Power: import("svelte").Component<IconProps, {}, "">;
3
+ type Power = ReturnType<typeof Power>;
4
+ export default Power;
@@ -0,0 +1,19 @@
1
+ <script lang="ts">
2
+ import IconBase from "../IconBase.svelte";
3
+ import type { IconProps } from "../types";
4
+
5
+ const props: IconProps = $props();
6
+ </script>
7
+
8
+ <IconBase
9
+ {...props}
10
+ mode="solid"
11
+ viewBox="0 0 24 24"
12
+ ariaLabel={props.ariaLabel ?? "Receipt icon"}
13
+ title={props.title ?? ""}
14
+ >
15
+ <path
16
+ fill="currentColor"
17
+ d="M6 22q-1.25 0-2.125-.875T3 19v-3h3V2l1.5 1.5L9 2l1.5 1.5L12 2l1.5 1.5L15 2l1.5 1.5L18 2l1.5 1.5L21 2v17q0 1.25-.875 2.125T18 22zm12-2q.425 0 .713-.288T19 19V5H8v11h9v3q0 .425.288.713T18 20M9 9V7h6v2zm0 3v-2h6v2zm8-3q-.425 0-.712-.288T16 8t.288-.712T17 7t.713.288T18 8t-.288.713T17 9m0 3q-.425 0-.712-.288T16 11t.288-.712T17 10t.713.288T18 11t-.288.713T17 12"
18
+ />
19
+ </IconBase>
@@ -0,0 +1,4 @@
1
+ import type { IconProps } from "../types";
2
+ declare const Receipt: import("svelte").Component<IconProps, {}, "">;
3
+ type Receipt = ReturnType<typeof Receipt>;
4
+ export default Receipt;
@@ -0,0 +1,13 @@
1
+ <!-- src/lib/icons/FolderUser.svelte -->
2
+ <script lang="ts">
3
+ import IconBase from "../IconBase.svelte";
4
+ import type { IconProps } from "../types";
5
+ const props: IconProps = $props();
6
+ </script>
7
+
8
+ <IconBase {...props} mode="solid" viewBox="0 0 24 24">
9
+ <path
10
+ fill="currentColor"
11
+ d="M4 20q-.825 0-1.412-.587T2 18V6q0-.825.588-1.412T4 4h5.175q.4 0 .763.15t.637.425L12 6h8q.825 0 1.413.588T22 8v10q0 .825-.587 1.413T20 20zm7-3h8v-.55q0-1.125-1.1-1.787T15 14t-2.9.663T11 16.45zm5.413-4.587Q17 11.825 17 11t-.587-1.412T15 9t-1.412.588T13 11t.588 1.413T15 13t1.413-.587"
12
+ />
13
+ </IconBase>
@@ -0,0 +1,4 @@
1
+ import type { IconProps } from "../types";
2
+ declare const SharedFolder: import("svelte").Component<IconProps, {}, "">;
3
+ type SharedFolder = ReturnType<typeof SharedFolder>;
4
+ export default SharedFolder;
@@ -0,0 +1,13 @@
1
+ <!-- src/lib/icons/SidebarLeft.svelte -->
2
+ <script lang="ts">
3
+ import IconBase from "../IconBase.svelte";
4
+ import type { IconProps } from "../types";
5
+ const props: IconProps = $props();
6
+ </script>
7
+
8
+ <IconBase {...props} mode="solid" viewBox="0 0 24 24">
9
+ <path
10
+ fill="currentColor"
11
+ d="M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm7-2h7V5h-7z"
12
+ />
13
+ </IconBase>
@@ -0,0 +1,4 @@
1
+ import type { IconProps } from "../types";
2
+ declare const Sidebar: import("svelte").Component<IconProps, {}, "">;
3
+ type Sidebar = ReturnType<typeof Sidebar>;
4
+ export default Sidebar;
@@ -0,0 +1,19 @@
1
+ <script lang="ts">
2
+ import IconBase from "../IconBase.svelte";
3
+ import type { IconProps } from "../types";
4
+
5
+ const props: IconProps = $props();
6
+ </script>
7
+
8
+ <IconBase
9
+ {...props}
10
+ mode="solid"
11
+ viewBox="0 0 24 24"
12
+ ariaLabel={props.ariaLabel ?? "Sync icon"}
13
+ title={props.title ?? ""}
14
+ >
15
+ <path
16
+ fill="currentColor"
17
+ d="M3 12q0-3.75 2.625-6.375T12 3V2q0-.3.275-.45t.525.05l3.125 2.35q.4.3.4.8t-.4.8L12.8 7.9q-.25.2-.525.05T12 7.5v-1q-2.275 0-3.888 1.613T6.5 12q0 .825.238 1.588T7.4 15q.275.4.225.863T7.2 16.6l-.85.625q-.45.35-1 .275t-.875-.55q-.725-1.075-1.1-2.325T3 12m9 9v1q0 .3-.275.45t-.525-.05l-3.125-2.35q-.4-.3-.4-.8t.4-.8L11.2 16.1q.25-.2.525-.05t.275.45v1q2.275 0 3.888-1.613T17.5 12q0-.825-.238-1.588T16.6 9q-.275-.4-.225-.862T16.8 7.4l.85-.625q.45-.35 1-.263t.875.538q.7 1.075 1.088 2.325T21 12q0 3.75-2.625 6.375T12 21"
18
+ />
19
+ </IconBase>
@@ -0,0 +1,4 @@
1
+ import type { IconProps } from "../types";
2
+ declare const Sync: import("svelte").Component<IconProps, {}, "">;
3
+ type Sync = ReturnType<typeof Sync>;
4
+ export default Sync;
@@ -0,0 +1,13 @@
1
+ <!-- src/lib/icons/Tag.svelte -->
2
+ <script lang="ts">
3
+ import IconBase from "../IconBase.svelte";
4
+ import type { IconProps } from "../types";
5
+ const props: IconProps = $props();
6
+ </script>
7
+
8
+ <IconBase {...props} mode="solid" viewBox="0 0 24 24">
9
+ <path
10
+ fill="currentColor"
11
+ d="M5.5 7A1.5 1.5 0 0 1 4 5.5A1.5 1.5 0 0 1 5.5 4A1.5 1.5 0 0 1 7 5.5A1.5 1.5 0 0 1 5.5 7m15.91 4.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.11 0-2 .89-2 2v7c0 .55.22 1.05.59 1.41l8.99 9c.37.36.87.59 1.42.59s1.05-.23 1.41-.59l7-7c.37-.36.59-.86.59-1.41c0-.56-.23-1.06-.59-1.42"
12
+ />
13
+ </IconBase>
@@ -0,0 +1,4 @@
1
+ import type { IconProps } from "../types";
2
+ declare const Tags: import("svelte").Component<IconProps, {}, "">;
3
+ type Tags = ReturnType<typeof Tags>;
4
+ export default Tags;
@@ -0,0 +1,20 @@
1
+ <!-- src/lib/icons/SearchAdjust.svelte -->
2
+ <script lang="ts">
3
+ import IconBase from "../IconBase.svelte";
4
+ import type { IconProps } from "../types";
5
+ const props: IconProps = $props();
6
+ </script>
7
+
8
+ <IconBase {...props} mode="solid" viewBox="0 0 24 24">
9
+ <g fill="none" fill-rule="evenodd">
10
+ <!-- Parte decorativa invisible (opcional, puedes eliminarla si quieres limpiar el SVG) -->
11
+ <path
12
+ d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"
13
+ />
14
+ <!-- Icono real -->
15
+ <path
16
+ fill="currentColor"
17
+ d="M7.527 2.657a7.001 7.001 0 0 1 8.26 9.347l4.599 3.893a3.3 3.3 0 1 1-4.651 4.65l-3.891-4.597a7.001 7.001 0 0 1-9.35-8.26a1.01 1.01 0 0 1 1.72-.432l3.045 3.307l2.297-.845l.847-2.3l-3.309-3.04a1.01 1.01 0 0 1 .433-1.723"
18
+ />
19
+ </g>
20
+ </IconBase>
@@ -0,0 +1,4 @@
1
+ import type { IconProps } from "../types";
2
+ declare const Tools: import("svelte").Component<IconProps, {}, "">;
3
+ type Tools = ReturnType<typeof Tools>;
4
+ export default Tools;
@@ -1,64 +1,19 @@
1
- <!-- src/lib/icons/Upload.svelte -->
2
1
  <script lang="ts">
3
2
  import IconBase from "../IconBase.svelte";
4
3
  import type { IconProps } from "../types";
4
+
5
5
  const props: IconProps = $props();
6
6
  </script>
7
7
 
8
- <IconBase {...props} mode="outline" viewBox="0 0 24 24">
9
- <g
10
- fill="none"
11
- stroke="currentColor"
12
- stroke-linecap="round"
13
- stroke-linejoin="round"
14
- stroke-width="2"
15
- >
16
- <path
17
- stroke-dasharray="2 4"
18
- stroke-dashoffset="6"
19
- d="M12 21c-4.97 0 -9 -4.03 -9 -9c0 -4.97 4.03 -9 9 -9"
20
- >
21
- <animate
22
- attributeName="stroke-dashoffset"
23
- dur="0.6s"
24
- repeatCount="indefinite"
25
- values="6;0"
26
- />
27
- </path>
28
- <path
29
- stroke-dasharray="32"
30
- stroke-dashoffset="32"
31
- d="M12 3c4.97 0 9 4.03 9 9c0 4.97 -4.03 9 -9 9"
32
- >
33
- <animate
34
- fill="freeze"
35
- attributeName="stroke-dashoffset"
36
- begin="0.1s"
37
- dur="0.4s"
38
- values="32;0"
39
- />
40
- </path>
41
- <path stroke-dasharray="10" stroke-dashoffset="10" d="M12 16v-7.5">
42
- <animate
43
- fill="freeze"
44
- attributeName="stroke-dashoffset"
45
- begin="0.5s"
46
- dur="0.2s"
47
- values="10;0"
48
- />
49
- </path>
50
- <path
51
- stroke-dasharray="6"
52
- stroke-dashoffset="6"
53
- d="M12 8.5l3.5 3.5M12 8.5l-3.5 3.5"
54
- >
55
- <animate
56
- fill="freeze"
57
- attributeName="stroke-dashoffset"
58
- begin="0.7s"
59
- dur="0.2s"
60
- values="6;0"
61
- />
62
- </path>
63
- </g>
8
+ <IconBase
9
+ {...props}
10
+ mode="solid"
11
+ viewBox="0 0 24 24"
12
+ ariaLabel={props.ariaLabel ?? "Upload icon"}
13
+ title={props.title ?? ""}
14
+ >
15
+ <path
16
+ fill="currentColor"
17
+ d="M5 20h14q.425 0 .713.288T20 21t-.288.713T19 22H5q-.425 0-.712-.288T4 21t.288-.712T5 20m5-2q-.425 0-.712-.288T9 17v-6H7.05q-.625 0-.9-.562t.1-1.063l4.95-6.35q.15-.2.363-.3t.437-.1t.438.1t.362.3l4.95 6.35q.375.5.1 1.063t-.9.562H15v6q0 .425-.288.713T14 18z"
18
+ />
64
19
  </IconBase>
@@ -0,0 +1,19 @@
1
+ <script lang="ts">
2
+ import IconBase from "../IconBase.svelte";
3
+ import type { IconProps } from "../types";
4
+
5
+ const props: IconProps = $props();
6
+ </script>
7
+
8
+ <IconBase
9
+ {...props}
10
+ mode="solid"
11
+ viewBox="0 0 24 24"
12
+ ariaLabel={props.ariaLabel ?? "Signal icon"}
13
+ title={props.title ?? ""}
14
+ >
15
+ <path
16
+ fill="currentColor"
17
+ d="M12 7q-2.2 0-4.288.688T3.875 9.724q-.5.4-1.137.388T1.65 9.65q-.425-.425-.425-1.05t.5-1q2.2-1.75 4.838-2.675T12 4q2.825 0 5.45.925T22.275 7.6q.5.375.5 1t-.425 1.05q-.45.45-1.088.463t-1.137-.388q-1.75-1.35-3.825-2.037T12 7m0 6q-1.025 0-1.987.263t-1.838.787q-.55.35-1.187.325T5.9 13.9q-.425-.425-.413-1.037T6 11.9q1.325-.925 2.85-1.412T12 10t3.15.488T18 11.9q.5.35.513.963T18.1 13.9q-.45.45-1.088.475t-1.187-.325q-.875-.525-1.837-.788T12 13m-1.412 6.413Q10 18.825 10 18t.588-1.412T12 16t1.413.588T14 18t-.587 1.413T12 20t-1.412-.587"
18
+ />
19
+ </IconBase>
@@ -0,0 +1,4 @@
1
+ import type { IconProps } from "../types";
2
+ declare const Wifi: import("svelte").Component<IconProps, {}, "">;
3
+ type Wifi = ReturnType<typeof Wifi>;
4
+ export default Wifi;
@@ -0,0 +1,21 @@
1
+ import type { Component } from 'svelte';
2
+ /**
3
+ * Intenta obtener el componente de forma SÍNCRONA (si ya fue cargado antes).
4
+ * Devuelve null si todavía no está en caché.
5
+ */
6
+ export declare function getLoadedIcon(name: string): Component | null;
7
+ /**
8
+ * Carga un ícono de forma lazy y lo guarda en caché para acceso síncrono posterior.
9
+ * Devuelve el componente cargado, o null si el nombre no existe.
10
+ *
11
+ * El bundler (Vite/Rollup) puede crear un chunk por ícono gracias a los
12
+ * import() con rutas estáticas en _loaders.
13
+ */
14
+ export declare function loadIcon(name: string): Promise<Component | null>;
15
+ /**
16
+ * Precarga un conjunto de íconos en background (ideal para rutas anticipadas).
17
+ * No bloquea — usa requestIdleCallback cuando está disponible.
18
+ */
19
+ export declare function preloadIcons(names: string[]): void;
20
+ /** Lista de todos los nombres de íconos disponibles en el lazy registry */
21
+ export declare const lazyIconNames: string[];
@@ -0,0 +1,251 @@
1
+ // src/lib/icons/lazy-registry.ts
2
+ //
3
+ // Registry de carga lazy — cada icono es un dynamic import() independiente.
4
+ // Esto permite que el bundler (Vite/Rollup) cree chunks separados por ícono,
5
+ // reduciendo el bundle inicial cuando solo se usan algunos iconos.
6
+ //
7
+ // IMPORTANTE: Los import() deben tener rutas ESTÁTICAS (literales de string)
8
+ // para que Vite pueda analizarlos en tiempo de build y crear los chunks correctos.
9
+ //
10
+ // Compatibilidad: esta API es ADICIONAL al registry estático. El registry
11
+ // estático (`registry.ts`) sigue exportando `iconRegistry` sin cambios.
12
+ // ============================================================================
13
+ // MAPA DE LOADERS — rutas estáticas para que Vite genere chunks
14
+ // ============================================================================
15
+ const _loaders = {
16
+ // — Navegación y layout —
17
+ home: () => import('./Home.svelte'),
18
+ dashboard: () => import('./Dashboard.svelte'),
19
+ dashboardOutline: () => import('./DashboardOutlined.svelte'),
20
+ settings: () => import('./Settings.svelte'),
21
+ search: () => import('./MagnifiyingGlass.svelte'),
22
+ menu: () => import('./Hamburguer.svelte'),
23
+ close: () => import('./Close.svelte'),
24
+ plus: () => import('./Plus.svelte'),
25
+ copy: () => import('./Copy.svelte'),
26
+ rocket: () => import('./Rocket.svelte'),
27
+ sidebar: () => import('./Sidebar.svelte'),
28
+ more: () => import('./More.svelte'),
29
+ // — Usuarios y autenticación —
30
+ user: () => import('./User.svelte'),
31
+ userTie: () => import('./UserTie.svelte'),
32
+ team: () => import('./Team.svelte'),
33
+ group: () => import('./Group.svelte'),
34
+ supervisor: () => import('./Supervisor.svelte'),
35
+ enterprise: () => import('./Enterprise.svelte'),
36
+ lock: () => import('./Lock.svelte'),
37
+ lockOpen: () => import('./LockOpen.svelte'),
38
+ key: () => import('./Key.svelte'),
39
+ logout: () => import('./Logout.svelte'),
40
+ eye: () => import('./Eye.svelte'),
41
+ eyeOff: () => import('./EyeOff.svelte'),
42
+ shield: () => import('./Shield.svelte'),
43
+ fingerprint: () => import('./Fingerprint.svelte'),
44
+ contact: () => import('./Contact.svelte'),
45
+ security: () => import('./Security.svelte'),
46
+ // — Comunicación —
47
+ email: () => import('./Email.svelte'),
48
+ emailAnimated: () => import('./EmailAnimated.svelte'),
49
+ phone: () => import('./Phone.svelte'),
50
+ bell: () => import('./Bell.svelte'),
51
+ send: () => import('./Send.svelte'),
52
+ share: () => import('./Share.svelte'),
53
+ world: () => import('./World.svelte'),
54
+ chat: () => import('./Chat.svelte'),
55
+ link: () => import('./Link.svelte'),
56
+ // — Negocio y finanzas —
57
+ building: () => import('./Building.svelte'),
58
+ handshake: () => import('./HandShake.svelte'),
59
+ money: () => import('./Money.svelte'),
60
+ wallet: () => import('./Wallet.svelte'),
61
+ profit: () => import('./Profit.svelte'),
62
+ safe: () => import('./SafeSolid.svelte'),
63
+ cost: () => import('./CostIcon.svelte'),
64
+ exchange: () => import('./Exchange.svelte'),
65
+ swap: () => import('./Swap.svelte'),
66
+ bank: () => import('./Bank.svelte'),
67
+ pay: () => import('./Pay.svelte'),
68
+ creditCard: () => import('./CreditCard.svelte'),
69
+ receipt: () => import('./Receipt.svelte'),
70
+ buy: () => import('./Buy.svelte'),
71
+ // — Gráficas y datos —
72
+ chart: () => import('./Chart.svelte'),
73
+ chartDocument: () => import('./ChartDoc.svelte'),
74
+ chartSquare: () => import('./SquareChart.svelte'),
75
+ chartDoughnut: () => import('./DoughnutChart.svelte'),
76
+ table: () => import('./Table.svelte'),
77
+ list: () => import('./List.svelte'),
78
+ listDots: () => import('./ListDots.svelte'),
79
+ listGroup: () => import('./FormatListGroup.svelte'),
80
+ trendingDown: () => import('./Lose.svelte'),
81
+ database: () => import('./Db.svelte'),
82
+ server: () => import('./Server.svelte'),
83
+ // — Archivos y documentos —
84
+ file: () => import('./File.svelte'),
85
+ pdf: () => import('./Pdf.svelte'),
86
+ excel: () => import('./Excel.svelte'),
87
+ excelAnimated: () => import('./ExcelAnimated.svelte'),
88
+ word: () => import('./Word.svelte'),
89
+ powerPoint: () => import('./PowerPoint.svelte'),
90
+ csv: () => import('./Csv.svelte'),
91
+ xml: () => import('./Xml.svelte'),
92
+ zip: () => import('./Zip.svelte'),
93
+ png: () => import('./Png.svelte'),
94
+ notes: () => import('./Notes.svelte'),
95
+ book: () => import('./Book.svelte'),
96
+ image: () => import('./Image.svelte'),
97
+ imageAnimated: () => import('./ImageAnimated.svelte'),
98
+ folder: () => import('./Folder.svelte'),
99
+ folderShared: () => import('./SharedFolder.svelte'),
100
+ attachment: () => import('./Attachment.svelte'),
101
+ save: () => import('./Save.svelte'),
102
+ form: () => import('./Form.svelte'),
103
+ print: () => import('./Print.svelte'),
104
+ // — Calendario y tiempo —
105
+ calendar: () => import('./Calendar.svelte'),
106
+ calendarPlus: () => import('./CalendarPlus.svelte'),
107
+ calendarEdit: () => import('./CalendarEdit.svelte'),
108
+ timer: () => import('./Timer.svelte'),
109
+ // — Flechas y navegación —
110
+ arrowRight: () => import('./RightArrow.svelte'),
111
+ arrowUp: () => import('./UpArrow.svelte'),
112
+ arrowUpDown: () => import('./UpDownArrow.svelte'),
113
+ arrowLeftAnimated: () => import('./AnimatedArrowLeft.svelte'),
114
+ chevronDown: () => import('./ChevronDown.svelte'),
115
+ chevronUpDown: () => import('./ChevronUpDown.svelte'),
116
+ // — Acciones de archivo —
117
+ download: () => import('./Download.svelte'),
118
+ downloadAnimated: () => import('./DownloadAnimated.svelte'),
119
+ upload: () => import('./Upload.svelte'),
120
+ uploadAnimated: () => import('./UploadAnimated.svelte'),
121
+ uploadProgress: () => import('./UploadLoader.svelte'),
122
+ fileUploadAnimated: () => import('./FileUploadAnimated.svelte'),
123
+ refresh: () => import('./Update.svelte'),
124
+ // — Estados y feedback —
125
+ check: () => import('./Check.svelte'),
126
+ checkOutline: () => import('./CheckO.svelte'),
127
+ checkList: () => import('./CheckList.svelte'),
128
+ circleCheck: () => import('./CircleCheck.svelte'),
129
+ error: () => import('./Error.svelte'),
130
+ errorOutline: () => import('./ErrorO.svelte'),
131
+ circleExclamation: () => import('./CircleExclamation.svelte'),
132
+ circleExclamationOutline: () => import('./CircleExclamationOutlined.svelte'),
133
+ warning: () => import('./Warning.svelte'),
134
+ circleInfo: () => import('./CircleInfo.svelte'),
135
+ circleInfoOutline: () => import('./CircleInfoOutlined.svelte'),
136
+ circleQuestion: () => import('./CircleQuestion.svelte'),
137
+ circleQuestionOutline: () => import('./CircleQuestionOutlined.svelte'),
138
+ star: () => import('./Star.svelte'),
139
+ favorites: () => import('./Favorites.svelte'),
140
+ heart: () => import('./Heart.svelte'),
141
+ reset: () => import('./Reset.svelte'),
142
+ height: () => import('./Height.svelte'),
143
+ alternate: () => import('./Alternate.svelte'),
144
+ moon: () => import('./Moon.svelte'),
145
+ sun: () => import('./Sun.svelte'),
146
+ colors: () => import('./Colors.svelte'),
147
+ // — Loading y progreso —
148
+ spinnerDots: () => import('./LoadingDots.svelte'),
149
+ spinner: () => import('./RegularSpinner.svelte'),
150
+ // — Comercio y ventas —
151
+ product: () => import('./Product.svelte'),
152
+ bag: () => import('./Bag.svelte'),
153
+ pos: () => import('./PointSale.svelte'),
154
+ category: () => import('./Category.svelte'),
155
+ categoryAdd: () => import('./CategoryAdd.svelte'),
156
+ categorySearch: () => import('./CategorySearch.svelte'),
157
+ boxAdd: () => import('./BoxAdd.svelte'),
158
+ measure: () => import('./Measure.svelte'),
159
+ box: () => import('./Box.svelte'),
160
+ scan: () => import('./Scan.svelte'),
161
+ cart: () => import('./Cart.svelte'),
162
+ cards: () => import('./Cards.svelte'),
163
+ // — Logística y transporte —
164
+ truck: () => import('./Truck.svelte'),
165
+ truckReturn: () => import('./TruckReturn.svelte'),
166
+ warehouse: () => import('./Warehouse.svelte'),
167
+ location: () => import('./Location.svelte'),
168
+ locationAnimated: () => import('./LocationAnimated.svelte'),
169
+ // — Herramientas y utilidades —
170
+ ai: () => import('./Ai.svelte'),
171
+ edit: () => import('./Edit.svelte'),
172
+ editOutline: () => import('./EditOutline.svelte'),
173
+ trash: () => import('./Trash.svelte'),
174
+ trashOutline: () => import('./TrashOutline.svelte'),
175
+ filter: () => import('./FilterOutline.svelte'),
176
+ filterOutline: () => import('./FilterOutline.svelte'),
177
+ tags: () => import('./Tags.svelte'),
178
+ tools: () => import('./Tools.svelte'),
179
+ objectGroup: () => import('./ObjectGroup.svelte'),
180
+ project: () => import('./Project.svelte'),
181
+ // — Media y dispositivos —
182
+ camera: () => import('./Camera.svelte'),
183
+ desktop: () => import('./Desktop.svelte'),
184
+ wifi: () => import('./Wifi.svelte'),
185
+ power: () => import('./Power.svelte'),
186
+ // — Nube —
187
+ cloudAlert: () => import('./CloudAlert.svelte'),
188
+ cloudCheck: () => import('./CloudCheck.svelte'),
189
+ cloudDownload: () => import('./CloudDownload.svelte'),
190
+ // — Otros —
191
+ blaze: () => import('./Blaze.svelte'),
192
+ earth: () => import('./Earth.svelte'),
193
+ globe: () => import('./Globe.svelte'),
194
+ lightHub: () => import('./LightHub.svelte'),
195
+ sync: () => import('./Sync.svelte'),
196
+ };
197
+ // ============================================================================
198
+ // CACHE DE COMPONENTES YA CARGADOS
199
+ // Una vez que un ícono se carga, se guarda aquí para acceso síncrono inmediato
200
+ // en renders subsiguientes → cero latencia después del primer load.
201
+ // ============================================================================
202
+ const _loaded = new Map();
203
+ /**
204
+ * Intenta obtener el componente de forma SÍNCRONA (si ya fue cargado antes).
205
+ * Devuelve null si todavía no está en caché.
206
+ */
207
+ export function getLoadedIcon(name) {
208
+ return _loaded.get(name) ?? null;
209
+ }
210
+ /**
211
+ * Carga un ícono de forma lazy y lo guarda en caché para acceso síncrono posterior.
212
+ * Devuelve el componente cargado, o null si el nombre no existe.
213
+ *
214
+ * El bundler (Vite/Rollup) puede crear un chunk por ícono gracias a los
215
+ * import() con rutas estáticas en _loaders.
216
+ */
217
+ export async function loadIcon(name) {
218
+ // Ya está en caché → retorno síncrono promovido a Promise
219
+ const cached = _loaded.get(name);
220
+ if (cached)
221
+ return cached;
222
+ const loader = _loaders[name];
223
+ if (!loader)
224
+ return null;
225
+ try {
226
+ const mod = await loader();
227
+ _loaded.set(name, mod.default);
228
+ return mod.default;
229
+ }
230
+ catch {
231
+ return null;
232
+ }
233
+ }
234
+ /**
235
+ * Precarga un conjunto de íconos en background (ideal para rutas anticipadas).
236
+ * No bloquea — usa requestIdleCallback cuando está disponible.
237
+ */
238
+ export function preloadIcons(names) {
239
+ const schedule = typeof requestIdleCallback !== 'undefined'
240
+ ? (fn) => requestIdleCallback(fn, { timeout: 2000 })
241
+ : (fn) => setTimeout(fn, 0);
242
+ schedule(() => {
243
+ for (const name of names) {
244
+ if (!_loaded.has(name) && _loaders[name]) {
245
+ loadIcon(name); // fire-and-forget
246
+ }
247
+ }
248
+ });
249
+ }
250
+ /** Lista de todos los nombres de íconos disponibles en el lazy registry */
251
+ export const lazyIconNames = Object.keys(_loaders);