sh3-core 0.1.0

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 (134) hide show
  1. package/dist/Shell.svelte +185 -0
  2. package/dist/Shell.svelte.d.ts +4 -0
  3. package/dist/api.d.ts +22 -0
  4. package/dist/api.js +45 -0
  5. package/dist/apps/lifecycle.d.ts +37 -0
  6. package/dist/apps/lifecycle.js +153 -0
  7. package/dist/apps/registry.svelte.d.ts +37 -0
  8. package/dist/apps/registry.svelte.js +60 -0
  9. package/dist/apps/types.d.ts +61 -0
  10. package/dist/apps/types.js +10 -0
  11. package/dist/assets/icons.svg +1119 -0
  12. package/dist/auth/auth.svelte.d.ts +44 -0
  13. package/dist/auth/auth.svelte.js +119 -0
  14. package/dist/auth/index.d.ts +1 -0
  15. package/dist/auth/index.js +1 -0
  16. package/dist/build.d.ts +29 -0
  17. package/dist/build.js +85 -0
  18. package/dist/contract.d.ts +20 -0
  19. package/dist/contract.js +28 -0
  20. package/dist/documents/backends.d.ts +17 -0
  21. package/dist/documents/backends.js +156 -0
  22. package/dist/documents/config.d.ts +7 -0
  23. package/dist/documents/config.js +27 -0
  24. package/dist/documents/handle.d.ts +6 -0
  25. package/dist/documents/handle.js +154 -0
  26. package/dist/documents/http-backend.d.ts +22 -0
  27. package/dist/documents/http-backend.js +78 -0
  28. package/dist/documents/index.d.ts +6 -0
  29. package/dist/documents/index.js +8 -0
  30. package/dist/documents/notifications.d.ts +9 -0
  31. package/dist/documents/notifications.js +39 -0
  32. package/dist/documents/types.d.ts +97 -0
  33. package/dist/documents/types.js +12 -0
  34. package/dist/host-entry.d.ts +9 -0
  35. package/dist/host-entry.js +15 -0
  36. package/dist/host.d.ts +13 -0
  37. package/dist/host.js +73 -0
  38. package/dist/index.d.ts +2 -0
  39. package/dist/index.js +13 -0
  40. package/dist/layout/DragPreview.svelte +63 -0
  41. package/dist/layout/DragPreview.svelte.d.ts +3 -0
  42. package/dist/layout/LayoutRenderer.svelte +260 -0
  43. package/dist/layout/LayoutRenderer.svelte.d.ts +6 -0
  44. package/dist/layout/SlotContainer.svelte +140 -0
  45. package/dist/layout/SlotContainer.svelte.d.ts +8 -0
  46. package/dist/layout/SlotDropZone.svelte +122 -0
  47. package/dist/layout/SlotDropZone.svelte.d.ts +8 -0
  48. package/dist/layout/drag.svelte.d.ts +45 -0
  49. package/dist/layout/drag.svelte.js +191 -0
  50. package/dist/layout/inspection.d.ts +52 -0
  51. package/dist/layout/inspection.js +157 -0
  52. package/dist/layout/ops.d.ts +78 -0
  53. package/dist/layout/ops.js +281 -0
  54. package/dist/layout/slotHostPool.svelte.d.ts +36 -0
  55. package/dist/layout/slotHostPool.svelte.js +229 -0
  56. package/dist/layout/store.svelte.d.ts +39 -0
  57. package/dist/layout/store.svelte.js +150 -0
  58. package/dist/layout/tree-walk.d.ts +15 -0
  59. package/dist/layout/tree-walk.js +33 -0
  60. package/dist/layout/types.d.ts +108 -0
  61. package/dist/layout/types.js +25 -0
  62. package/dist/overlays/ModalFrame.svelte +87 -0
  63. package/dist/overlays/ModalFrame.svelte.d.ts +10 -0
  64. package/dist/overlays/PopupFrame.svelte +85 -0
  65. package/dist/overlays/PopupFrame.svelte.d.ts +10 -0
  66. package/dist/overlays/ToastItem.svelte +77 -0
  67. package/dist/overlays/ToastItem.svelte.d.ts +9 -0
  68. package/dist/overlays/focusTrap.d.ts +1 -0
  69. package/dist/overlays/focusTrap.js +64 -0
  70. package/dist/overlays/modal.d.ts +9 -0
  71. package/dist/overlays/modal.js +141 -0
  72. package/dist/overlays/popup.d.ts +9 -0
  73. package/dist/overlays/popup.js +108 -0
  74. package/dist/overlays/roots.d.ts +4 -0
  75. package/dist/overlays/roots.js +31 -0
  76. package/dist/overlays/toast.d.ts +6 -0
  77. package/dist/overlays/toast.js +93 -0
  78. package/dist/overlays/types.d.ts +31 -0
  79. package/dist/overlays/types.js +15 -0
  80. package/dist/primitives/.gitkeep +0 -0
  81. package/dist/primitives/ResizableSplitter.svelte +333 -0
  82. package/dist/primitives/ResizableSplitter.svelte.d.ts +35 -0
  83. package/dist/primitives/TabbedPanel.svelte +305 -0
  84. package/dist/primitives/TabbedPanel.svelte.d.ts +50 -0
  85. package/dist/registry/client.d.ts +74 -0
  86. package/dist/registry/client.js +118 -0
  87. package/dist/registry/index.d.ts +13 -0
  88. package/dist/registry/index.js +14 -0
  89. package/dist/registry/installer.d.ts +53 -0
  90. package/dist/registry/installer.js +170 -0
  91. package/dist/registry/integrity.d.ts +32 -0
  92. package/dist/registry/integrity.js +92 -0
  93. package/dist/registry/loader.d.ts +50 -0
  94. package/dist/registry/loader.js +145 -0
  95. package/dist/registry/schema.d.ts +47 -0
  96. package/dist/registry/schema.js +180 -0
  97. package/dist/registry/storage.d.ts +37 -0
  98. package/dist/registry/storage.js +101 -0
  99. package/dist/registry/types.d.ts +245 -0
  100. package/dist/registry/types.js +14 -0
  101. package/dist/registry-shard/RegistryView.svelte +561 -0
  102. package/dist/registry-shard/RegistryView.svelte.d.ts +3 -0
  103. package/dist/registry-shard/registryApp.d.ts +10 -0
  104. package/dist/registry-shard/registryApp.js +24 -0
  105. package/dist/registry-shard/registryShard.svelte.d.ts +45 -0
  106. package/dist/registry-shard/registryShard.svelte.js +125 -0
  107. package/dist/shards/activate.svelte.d.ts +45 -0
  108. package/dist/shards/activate.svelte.js +124 -0
  109. package/dist/shards/registry.d.ts +4 -0
  110. package/dist/shards/registry.js +28 -0
  111. package/dist/shards/types.d.ts +155 -0
  112. package/dist/shards/types.js +20 -0
  113. package/dist/shell-shard/ShellHome.svelte +285 -0
  114. package/dist/shell-shard/ShellHome.svelte.d.ts +3 -0
  115. package/dist/shell-shard/shellShard.svelte.d.ts +2 -0
  116. package/dist/shell-shard/shellShard.svelte.js +47 -0
  117. package/dist/shellRuntime.svelte.d.ts +27 -0
  118. package/dist/shellRuntime.svelte.js +27 -0
  119. package/dist/state/backends.d.ts +26 -0
  120. package/dist/state/backends.js +99 -0
  121. package/dist/state/types.d.ts +38 -0
  122. package/dist/state/types.js +15 -0
  123. package/dist/state/zones.svelte.d.ts +52 -0
  124. package/dist/state/zones.svelte.js +141 -0
  125. package/dist/store/InstalledView.svelte +201 -0
  126. package/dist/store/InstalledView.svelte.d.ts +3 -0
  127. package/dist/store/StoreView.svelte +470 -0
  128. package/dist/store/StoreView.svelte.d.ts +3 -0
  129. package/dist/store/storeApp.d.ts +11 -0
  130. package/dist/store/storeApp.js +26 -0
  131. package/dist/store/storeShard.svelte.d.ts +29 -0
  132. package/dist/store/storeShard.svelte.js +99 -0
  133. package/dist/tokens.css +79 -0
  134. package/package.json +50 -0
@@ -0,0 +1,1119 @@
1
+ <!--
2
+ SVG Spritesheet
3
+ Sources:
4
+ - Lucide Icons (MIT) — https://lucide.dev
5
+ - Simple Icons (CC0) — https://simpleicons.org
6
+
7
+ Usage: <svg><use href="icons.svg#icon-name" /></svg>
8
+ -->
9
+ <svg xmlns="http://www.w3.org/2000/svg" style="display:none">
10
+
11
+ <!-- lucide/notebook-pen -->
12
+ <symbol id="notebook-pen" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
13
+ <path d="M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4" />
14
+ <path d="M2 6h4" />
15
+ <path d="M2 10h4" />
16
+ <path d="M2 14h4" />
17
+ <path d="M2 18h4" />
18
+ <path d="M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z" />
19
+ </symbol>
20
+
21
+ <!-- lucide/camera -->
22
+ <symbol id="camera" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
23
+ <path d="M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z" />
24
+ <circle cx="12" cy="13" r="3" />
25
+ </symbol>
26
+
27
+ <!-- lucide/network -->
28
+ <symbol id="network" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
29
+ <rect x="16" y="16" width="6" height="6" rx="1" />
30
+ <rect x="2" y="16" width="6" height="6" rx="1" />
31
+ <rect x="9" y="2" width="6" height="6" rx="1" />
32
+ <path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3" />
33
+ <path d="M12 12V8" />
34
+ </symbol>
35
+
36
+ <!-- lucide/folder-tree -->
37
+ <symbol id="folder-tree" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
38
+ <path d="M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z" />
39
+ <path d="M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z" />
40
+ <path d="M3 5a2 2 0 0 0 2 2h3" />
41
+ <path d="M3 3v13a2 2 0 0 0 2 2h3" />
42
+ </symbol>
43
+
44
+ <!-- lucide/gallery-vertical-end -->
45
+ <symbol id="gallery-vertical-end" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
46
+ <path d="M7 2h10" />
47
+ <path d="M5 6h14" />
48
+ <rect width="18" height="12" x="3" y="10" rx="2" />
49
+ </symbol>
50
+
51
+ <!-- lucide/trash-2 -->
52
+ <symbol id="trash-2" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
53
+ <path d="M10 11v6" />
54
+ <path d="M14 11v6" />
55
+ <path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6" />
56
+ <path d="M3 6h18" />
57
+ <path d="M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" />
58
+ </symbol>
59
+
60
+ <!-- lucide/info -->
61
+ <symbol id="info" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
62
+ <circle cx="12" cy="12" r="10" />
63
+ <path d="M12 16v-4" />
64
+ <path d="M12 8h.01" />
65
+ </symbol>
66
+
67
+ <!-- lucide/triangle-alert -->
68
+ <symbol id="triangle-alert" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
69
+ <path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" />
70
+ <path d="M12 9v4" />
71
+ <path d="M12 17h.01" />
72
+ </symbol>
73
+
74
+ <!-- lucide/circle-x -->
75
+ <symbol id="circle-x" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
76
+ <circle cx="12" cy="12" r="10" />
77
+ <path d="m15 9-6 6" />
78
+ <path d="m9 9 6 6" />
79
+ </symbol>
80
+
81
+ <!-- lucide/clipboard -->
82
+ <symbol id="clipboard" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
83
+ <rect width="8" height="4" x="8" y="2" rx="1" ry="1" />
84
+ <path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2" />
85
+ </symbol>
86
+
87
+ <!-- simple-icons/unity (CC0) -->
88
+ <symbol id="unity" viewBox="0 0 24 24">
89
+ <path d="m12.9288 4.2939 3.7997 2.1929c.1366.077.1415.2905 0 .3675l-4.515 2.6076a.4192.4192 0 0 1-.4246 0L7.274 6.8543c-.139-.0745-.1415-.293 0-.3675l3.7972-2.193V0L1.3758 5.5977V16.793l3.7177-2.1456v-4.3858c-.0025-.1565.1813-.2682.318-.1838l4.5148 2.6076a.4252.4252 0 0 1 .2136.3676v5.2127c.0025.1565-.1813.2682-.3179.1838l-3.7996-2.1929-3.7178 2.1457L12 24l9.6954-5.5977-3.7178-2.1457-3.7996 2.1929c-.1341.082-.3229-.0248-.3179-.1838V13.053c0-.1565.087-.2956.2136-.3676l4.5149-2.6076c.134-.082.3228.0224.3179.1838v4.3858l3.7177 2.1456V5.5977L12.9288 0Z"/>
90
+ </symbol>
91
+
92
+ <!-- lucide/file-archive -->
93
+ <symbol id="file-archive" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
94
+ <path d="M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5" />
95
+ <path d="M14 2v5a1 1 0 0 0 1 1h5" />
96
+ <path d="M8 12v-1" />
97
+ <path d="M8 18v-2" />
98
+ <path d="M8 7V6" />
99
+ <circle cx="8" cy="20" r="2" />
100
+ </symbol>
101
+
102
+ <!-- lucide/hard-drive -->
103
+ <symbol id="hard-drive" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
104
+ <path d="M10 16h.01" />
105
+ <path d="M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z" />
106
+ <path d="M21.946 12.013H2.054" />
107
+ <path d="M6 16h.01" />
108
+ </symbol>
109
+
110
+ <!-- lucide/download -->
111
+ <symbol id="download" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
112
+ <path d="M12 15V3" />
113
+ <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
114
+ <path d="m7 10 5 5 5-5" />
115
+ </symbol>
116
+
117
+ <!-- lucide/search -->
118
+ <symbol id="search" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
119
+ <path d="m21 21-4.34-4.34" />
120
+ <circle cx="11" cy="11" r="8" />
121
+ </symbol>
122
+
123
+ <!-- lucide/circle-minus -->
124
+ <symbol id="circle-minus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
125
+ <circle cx="12" cy="12" r="10" />
126
+ <path d="M8 12h8" />
127
+ </symbol>
128
+
129
+ <!-- lucide/save -->
130
+ <symbol id="save" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
131
+ <path d="M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z" />
132
+ <path d="M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7" />
133
+ <path d="M7 3v4a1 1 0 0 0 1 1h7" />
134
+ </symbol>
135
+
136
+ <!-- lucide/chevron-right -->
137
+ <symbol id="chevron-right" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
138
+ <path d="m9 18 6-6-6-6" />
139
+ </symbol>
140
+
141
+ <!-- lucide/chevron-down -->
142
+ <symbol id="chevron-down" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
143
+ <path d="m6 9 6 6 6-6" />
144
+ </symbol>
145
+
146
+ <!-- lucide/x -->
147
+ <symbol id="x" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
148
+ <path d="M18 6 6 18" />
149
+ <path d="m6 6 12 12" />
150
+ </symbol>
151
+
152
+ <!-- lucide/circle-dot -->
153
+ <symbol id="circle-dot" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
154
+ <circle cx="12" cy="12" r="10" />
155
+ <circle cx="12" cy="12" r="1" />
156
+ </symbol>
157
+
158
+ <!-- lucide/settings -->
159
+ <symbol id="settings" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
160
+ <path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915" />
161
+ <circle cx="12" cy="12" r="3" />
162
+ </symbol>
163
+
164
+ <!-- lucide/house -->
165
+ <symbol id="house" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
166
+ <path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8" />
167
+ <path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" />
168
+ </symbol>
169
+
170
+ <!-- lucide/file-diff -->
171
+ <symbol id="file-diff" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
172
+ <path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z" />
173
+ <path d="M9 10h6" />
174
+ <path d="M12 13V7" />
175
+ <path d="M9 17h6" />
176
+ </symbol>
177
+
178
+ <!-- lucide/box -->
179
+ <symbol id="box" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
180
+ <path d="M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z" />
181
+ <path d="m3.3 7 8.7 5 8.7-5" />
182
+ <path d="M12 22V12" />
183
+ </symbol>
184
+
185
+ <!-- lucide/component -->
186
+ <symbol id="component" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
187
+ <path d="M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z" />
188
+ <path d="M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z" />
189
+ <path d="M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z" />
190
+ <path d="M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z" />
191
+ </symbol>
192
+
193
+ <!-- lucide/maximize -->
194
+ <symbol id="maximize" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
195
+ <path d="M8 3H5a2 2 0 0 0-2 2v3" />
196
+ <path d="M21 8V5a2 2 0 0 0-2-2h-3" />
197
+ <path d="M3 16v3a2 2 0 0 0 2 2h3" />
198
+ <path d="M16 21h3a2 2 0 0 0 2-2v-3" />
199
+ </symbol>
200
+
201
+ <!-- lucide/check -->
202
+ <symbol id="check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
203
+ <path d="M20 6 9 17l-5-5" />
204
+ </symbol>
205
+
206
+ <!-- lucide/minimize -->
207
+ <symbol id="minimize" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
208
+ <path d="M8 3v3a2 2 0 0 1-2 2H3" />
209
+ <path d="M21 8h-3a2 2 0 0 1-2-2V3" />
210
+ <path d="M3 16h3a2 2 0 0 1 2 2v3" />
211
+ <path d="M16 21v-3a2 2 0 0 1 2-2h3" />
212
+ </symbol>
213
+
214
+ <!-- lucide/activity -->
215
+ <symbol id="activity" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
216
+ <path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2" />
217
+ </symbol>
218
+
219
+ <!-- lucide/layers -->
220
+ <symbol id="layers" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
221
+ <path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z" />
222
+ <path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12" />
223
+ <path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17" />
224
+ </symbol>
225
+
226
+ <!-- lucide/archive -->
227
+ <symbol id="archive" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
228
+ <rect width="20" height="5" x="2" y="3" rx="1" />
229
+ <path d="M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8" />
230
+ <path d="M10 12h4" />
231
+ </symbol>
232
+
233
+ <!-- lucide/mail -->
234
+ <symbol id="mail" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
235
+ <path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7" />
236
+ <rect x="2" y="4" width="20" height="16" rx="2" />
237
+ </symbol>
238
+
239
+ <!-- lucide/lock -->
240
+ <symbol id="lock" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
241
+ <rect width="18" height="11" x="3" y="11" rx="2" ry="2" />
242
+ <path d="M7 11V7a5 5 0 0 1 10 0v4" />
243
+ </symbol>
244
+
245
+ <!-- lucide/key -->
246
+ <symbol id="key" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
247
+ <path d="m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4" />
248
+ <path d="m21 2-9.6 9.6" />
249
+ <circle cx="7.5" cy="15.5" r="5.5" />
250
+ </symbol>
251
+
252
+ <!-- lucide/zap -->
253
+ <symbol id="zap" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
254
+ <path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z" />
255
+ </symbol>
256
+
257
+ <!-- lucide/grid-2x2 -->
258
+ <symbol id="grid-2x2" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
259
+ <path d="M12 3v18" />
260
+ <path d="M3 12h18" />
261
+ <rect x="3" y="3" width="18" height="18" rx="2" />
262
+ </symbol>
263
+
264
+ <!-- tabler/texture -->
265
+ <symbol id="texture" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
266
+ <path d="M6 3l-3 3" />
267
+ <path d="M21 18l-3 3" />
268
+ <path d="M11 3l-8 8" />
269
+ <path d="M16 3l-13 13" />
270
+ <path d="M21 3l-18 18" />
271
+ <path d="M21 8l-13 13" />
272
+ <path d="M21 13l-8 8" />
273
+ </symbol>
274
+
275
+ <!-- lucide/brick-wall -->
276
+ <symbol id="brick-wall" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
277
+ <rect width="18" height="18" x="3" y="3" rx="2" />
278
+ <path d="M12 9v6" />
279
+ <path d="M16 15v6" />
280
+ <path d="M16 3v6" />
281
+ <path d="M3 15h18" />
282
+ <path d="M3 9h18" />
283
+ <path d="M8 15v6" />
284
+ <path d="M8 3v6" />
285
+ </symbol>
286
+
287
+ <!-- lucide/archive-restore -->
288
+ <symbol id="archive-restore" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
289
+ <rect width="20" height="5" x="2" y="3" rx="1" />
290
+ <path d="M4 8v11a2 2 0 0 0 2 2h2" />
291
+ <path d="M20 8v11a2 2 0 0 1-2 2h-2" />
292
+ <path d="m9 15 3-3 3 3" />
293
+ <path d="M12 12v9" />
294
+ </symbol>
295
+
296
+ <!-- lucide/eye-off -->
297
+ <symbol id="eye-off" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
298
+ <path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49" />
299
+ <path d="M14.084 14.158a3 3 0 0 1-4.242-4.242" />
300
+ <path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143" />
301
+ <path d="m2 2 20 20" />
302
+ </symbol>
303
+
304
+ <!-- lucide/timer -->
305
+ <symbol id="timer" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
306
+ <line x1="10" x2="14" y1="2" y2="2" />
307
+ <line x1="12" x2="15" y1="14" y2="11" />
308
+ <circle cx="12" cy="14" r="8" />
309
+ </symbol>
310
+
311
+ <!-- lucide/list-ordered -->
312
+ <symbol id="list-ordered" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
313
+ <path d="M11 5h10" />
314
+ <path d="M11 12h10" />
315
+ <path d="M11 19h10" />
316
+ <path d="M4 4h1v5" />
317
+ <path d="M4 9h2" />
318
+ <path d="M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02" />
319
+ </symbol>
320
+
321
+ <!-- lucide/server -->
322
+ <symbol id="server" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
323
+ <rect width="20" height="8" x="2" y="2" rx="2" ry="2" />
324
+ <rect width="20" height="8" x="2" y="14" rx="2" ry="2" />
325
+ <line x1="6" x2="6.01" y1="6" y2="6" />
326
+ <line x1="6" x2="6.01" y1="18" y2="18" />
327
+ </symbol>
328
+
329
+ <!-- lucide/sliders-horizontal -->
330
+ <symbol id="sliders-horizontal" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
331
+ <path d="M10 5H3" />
332
+ <path d="M12 19H3" />
333
+ <path d="M14 3v4" />
334
+ <path d="M16 17v4" />
335
+ <path d="M21 12h-9" />
336
+ <path d="M21 19h-5" />
337
+ <path d="M21 5h-7" />
338
+ <path d="M8 10v4" />
339
+ <path d="M8 12H3" />
340
+ </symbol>
341
+
342
+ <!-- lucide/app-window -->
343
+ <symbol id="app-window" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
344
+ <rect x="2" y="4" width="20" height="16" rx="2" />
345
+ <path d="M10 4v4" />
346
+ <path d="M2 8h20" />
347
+ <path d="M6 4v4" />
348
+ </symbol>
349
+
350
+ <!-- lucide/table-properties -->
351
+ <symbol id="table-properties" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
352
+ <path d="M15 3v18" />
353
+ <rect width="18" height="18" x="3" y="3" rx="2" />
354
+ <path d="M21 9H3" />
355
+ <path d="M21 15H3" />
356
+ </symbol>
357
+
358
+ <!-- lucide/square-terminal -->
359
+ <symbol id="square-terminal" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
360
+ <path d="m7 11 2-2-2-2" />
361
+ <path d="M11 13h4" />
362
+ <rect width="18" height="18" x="3" y="3" rx="2" ry="2" />
363
+ </symbol>
364
+
365
+ <!-- lucide/layout-dashboard -->
366
+ <symbol id="layout-dashboard" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
367
+ <rect width="7" height="9" x="3" y="3" rx="1" />
368
+ <rect width="7" height="5" x="14" y="3" rx="1" />
369
+ <rect width="7" height="9" x="14" y="12" rx="1" />
370
+ <rect width="7" height="5" x="3" y="16" rx="1" />
371
+ </symbol>
372
+
373
+ <!-- lucide/layout-grid -->
374
+ <symbol id="layout-grid" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
375
+ <rect width="7" height="7" x="3" y="3" rx="1" />
376
+ <rect width="7" height="7" x="14" y="3" rx="1" />
377
+ <rect width="7" height="7" x="14" y="14" rx="1" />
378
+ <rect width="7" height="7" x="3" y="14" rx="1" />
379
+ </symbol>
380
+
381
+ <!-- lucide/layout-list -->
382
+ <symbol id="layout-list" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
383
+ <rect width="7" height="7" x="3" y="3" rx="1" />
384
+ <rect width="7" height="7" x="3" y="14" rx="1" />
385
+ <path d="M14 4h7" />
386
+ <path d="M14 9h7" />
387
+ <path d="M14 15h7" />
388
+ <path d="M14 20h7" />
389
+ </symbol>
390
+
391
+ <!-- lucide/layout-panel-left -->
392
+ <symbol id="layout-panel-left" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
393
+ <rect width="7" height="18" x="3" y="3" rx="1" />
394
+ <rect width="7" height="7" x="14" y="3" rx="1" />
395
+ <rect width="7" height="7" x="14" y="14" rx="1" />
396
+ </symbol>
397
+
398
+ <!-- lucide/layout-panel-top -->
399
+ <symbol id="layout-panel-top" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
400
+ <rect width="18" height="7" x="3" y="3" rx="1" />
401
+ <rect width="7" height="7" x="3" y="14" rx="1" />
402
+ <rect width="7" height="7" x="14" y="14" rx="1" />
403
+ </symbol>
404
+
405
+ <!-- lucide/layout-template -->
406
+ <symbol id="layout-template" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
407
+ <rect width="18" height="7" x="3" y="3" rx="1" />
408
+ <rect width="9" height="7" x="3" y="14" rx="1" />
409
+ <rect width="5" height="7" x="16" y="14" rx="1" />
410
+ </symbol>
411
+
412
+ <!-- lucide/folder -->
413
+ <symbol id="folder" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
414
+ <path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z" />
415
+ </symbol>
416
+
417
+ <!-- lucide/sparkles -->
418
+ <symbol id="sparkles" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
419
+ <path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z" />
420
+ <path d="M20 2v4" />
421
+ <path d="M22 4h-4" />
422
+ <circle cx="4" cy="20" r="2" />
423
+ </symbol>
424
+
425
+ <!-- lucide/wand-sparkles -->
426
+ <symbol id="wand-sparkles" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
427
+ <path d="m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72" />
428
+ <path d="m14 7 3 3" />
429
+ <path d="M5 6v4" />
430
+ <path d="M19 14v4" />
431
+ <path d="M10 2v2" />
432
+ <path d="M7 8H3" />
433
+ <path d="M21 16h-4" />
434
+ <path d="M11 3H9" />
435
+ </symbol>
436
+
437
+ <!-- lucide/user -->
438
+ <symbol id="user" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
439
+ <path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2" />
440
+ <circle cx="12" cy="7" r="4" />
441
+ </symbol>
442
+
443
+ <!-- lucide/eye -->
444
+ <symbol id="eye" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
445
+ <path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0" />
446
+ <circle cx="12" cy="12" r="3" />
447
+ </symbol>
448
+
449
+ <!-- lucide/pipette -->
450
+ <symbol id="pipette" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
451
+ <path d="m12 9-8.414 8.414A2 2 0 0 0 3 18.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 3.828 21h1.344a2 2 0 0 0 1.414-.586L15 12" />
452
+ <path d="m18 9 .4.4a1 1 0 1 1-3 3l-3.8-3.8a1 1 0 1 1 3-3l.4.4 3.4-3.4a1 1 0 1 1 3 3z" />
453
+ <path d="m2 22 .414-.414" />
454
+ </symbol>
455
+
456
+ <!-- lucide/rotate-3d -->
457
+ <symbol id="rotate-3d" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
458
+ <path d="M16.466 7.5C15.643 4.237 13.952 2 12 2 9.239 2 7 6.477 7 12s2.239 10 5 10c.342 0 .677-.069 1-.2" />
459
+ <path d="m15.194 13.707 3.814 1.86-1.86 3.814" />
460
+ <path d="M19 15.57c-1.804.885-4.274 1.43-7 1.43-5.523 0-10-2.239-10-5s4.477-5 10-5c4.838 0 8.873 1.718 9.8 4" />
461
+ </symbol>
462
+
463
+ <!-- lucide/move-3d -->
464
+ <symbol id="move-3d" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
465
+ <path d="M5 3v16h16" />
466
+ <path d="m5 19 6-6" />
467
+ <path d="m2 6 3-3 3 3" />
468
+ <path d="m18 16 3 3-3 3" />
469
+ </symbol>
470
+
471
+ <!-- lucide/axis-3d -->
472
+ <symbol id="axis-3d" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
473
+ <path d="M13.5 10.5 15 9" />
474
+ <path d="M4 4v15a1 1 0 0 0 1 1h15" />
475
+ <path d="M4.293 19.707 6 18" />
476
+ <path d="m9 15 1.5-1.5" />
477
+ </symbol>
478
+
479
+ <!-- lucide/refresh-cw -->
480
+ <symbol id="refresh-cw" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
481
+ <path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" />
482
+ <path d="M21 3v5h-5" />
483
+ <path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" />
484
+ <path d="M8 16H3v5" />
485
+ </symbol>
486
+
487
+ <!-- lucide/play -->
488
+ <symbol id="play" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
489
+ <path d="M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z" />
490
+ </symbol>
491
+
492
+ <!-- lucide/plus -->
493
+ <symbol id="plus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
494
+ <path d="M5 12h14" />
495
+ <path d="M12 5v14" />
496
+ </symbol>
497
+
498
+ <!-- lucide/moon -->
499
+ <symbol id="moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
500
+ <path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401" />
501
+ </symbol>
502
+
503
+ <!-- lucide/sun -->
504
+ <symbol id="sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
505
+ <circle cx="12" cy="12" r="4" />
506
+ <path d="M12 2v2" />
507
+ <path d="M12 20v2" />
508
+ <path d="m4.93 4.93 1.41 1.41" />
509
+ <path d="m17.66 17.66 1.41 1.41" />
510
+ <path d="M2 12h2" />
511
+ <path d="M20 12h2" />
512
+ <path d="m6.34 17.66-1.41 1.41" />
513
+ <path d="m19.07 4.93-1.41 1.41" />
514
+ </symbol>
515
+
516
+ <!-- lucide/pencil -->
517
+ <symbol id="pencil" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
518
+ <path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z" />
519
+ <path d="m15 5 4 4" />
520
+ </symbol>
521
+
522
+ <!-- lucide/globe -->
523
+ <symbol id="globe" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
524
+ <circle cx="12" cy="12" r="10" />
525
+ <path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20" />
526
+ <path d="M2 12h20" />
527
+ </symbol>
528
+
529
+ <!-- lucide/cable -->
530
+ <symbol id="cable" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
531
+ <path d="M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z" />
532
+ <path d="M17 21v-2" />
533
+ <path d="M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10" />
534
+ <path d="M21 21v-2" />
535
+ <path d="M3 5V3" />
536
+ <path d="M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z" />
537
+ <path d="M7 5V3" />
538
+ </symbol>
539
+
540
+ <!-- lucide/rocket -->
541
+ <symbol id="rocket" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
542
+ <path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5" />
543
+ <path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09" />
544
+ <path d="M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z" />
545
+ <path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05" />
546
+ </symbol>
547
+
548
+ <!-- lucide/upload -->
549
+ <symbol id="upload" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
550
+ <path d="M12 3v12" />
551
+ <path d="m17 8-5-5-5 5" />
552
+ <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
553
+ </symbol>
554
+
555
+ <!-- lucide/external-link -->
556
+ <symbol id="external-link" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
557
+ <path d="M15 3h6v6" />
558
+ <path d="M10 14 21 3" />
559
+ <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
560
+ </symbol>
561
+
562
+ <!-- Strudel music module icons (Lucide) -->
563
+ <symbol id="square" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
564
+ <rect width="18" height="18" x="3" y="3" rx="2" />
565
+ </symbol>
566
+
567
+ <symbol id="music" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
568
+ <path d="M9 18V5l12-2v13" />
569
+ <circle cx="6" cy="18" r="3" />
570
+ <circle cx="18" cy="16" r="3" />
571
+ </symbol>
572
+
573
+ <symbol id="volume-2" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
574
+ <path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z" />
575
+ <path d="M16 9a5 5 0 0 1 0 6" />
576
+ <path d="M19.364 18.364a9 9 0 0 0 0-12.728" />
577
+ </symbol>
578
+ <!-- lucide/pause -->
579
+ <symbol id="pause" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
580
+ <rect x="14" y="3" width="5" height="18" rx="1" />
581
+ <rect x="5" y="3" width="5" height="18" rx="1" />
582
+ </symbol>
583
+
584
+ <!-- lucide/list-tree -->
585
+ <symbol id="list-tree" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
586
+ <path d="M8 5h13" />
587
+ <path d="M13 12h8" />
588
+ <path d="M13 19h8" />
589
+ <path d="M3 10a2 2 0 0 0 2 2h3" />
590
+ <path d="M3 5v12a2 2 0 0 0 2 2h3" />
591
+ </symbol>
592
+
593
+ <!-- lucide/history -->
594
+ <symbol id="history" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
595
+ <path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" />
596
+ <path d="M3 3v5h5" />
597
+ <path d="M12 7v5l4 2" />
598
+ </symbol>
599
+
600
+ <!-- lucide/undo-2 -->
601
+ <symbol id="undo-2" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
602
+ <path d="M9 14 4 9l5-5" />
603
+ <path d="M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11" />
604
+ </symbol>
605
+
606
+ <!-- lucide/redo-2 -->
607
+ <symbol id="redo-2" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
608
+ <path d="m15 14 5-5-5-5" />
609
+ <path d="M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13" />
610
+ </symbol>
611
+
612
+ <!-- lucide/link -->
613
+ <symbol id="link" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
614
+ <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" />
615
+ <path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" />
616
+ </symbol>
617
+
618
+ <!-- lucide/scissors -->
619
+ <symbol id="scissors" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
620
+ <circle cx="6" cy="6" r="3" />
621
+ <path d="M8.12 8.12 12 12" />
622
+ <path d="M20 4 8.12 15.88" />
623
+ <circle cx="6" cy="18" r="3" />
624
+ <path d="M14.8 14.8 20 20" />
625
+ </symbol>
626
+
627
+ <!-- lucide/clipboard-paste -->
628
+ <symbol id="clipboard-paste" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
629
+ <path d="M11 14h10" />
630
+ <path d="M16 4h2a2 2 0 0 1 2 2v1.344" />
631
+ <path d="m17 18 4-4-4-4" />
632
+ <path d="M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113" />
633
+ <rect x="8" y="2" width="8" height="4" rx="1" />
634
+ </symbol>
635
+
636
+ <!-- lucide/copy -->
637
+ <symbol id="copy" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
638
+ <rect width="14" height="14" x="8" y="8" rx="2" ry="2" />
639
+ <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
640
+ </symbol>
641
+
642
+ <!-- lucide/type -->
643
+ <symbol id="type" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
644
+ <path d="M12 4v16" />
645
+ <path d="M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2" />
646
+ <path d="M9 20h6" />
647
+ </symbol>
648
+
649
+ <!-- lucide/image -->
650
+ <symbol id="image" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
651
+ <rect width="18" height="18" x="3" y="3" rx="2" ry="2" />
652
+ <circle cx="9" cy="9" r="2" />
653
+ <path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21" />
654
+ </symbol>
655
+
656
+ <!-- lucide/video -->
657
+ <symbol id="video" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
658
+ <path d="m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5" />
659
+ <rect x="2" y="6" width="14" height="12" rx="2" />
660
+ </symbol>
661
+
662
+ <!-- lucide/file -->
663
+ <symbol id="file" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
664
+ <path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z" />
665
+ <path d="M14 2v5a1 1 0 0 0 1 1h5" />
666
+ </symbol>
667
+
668
+ <!-- lucide/file-plus -->
669
+ <symbol id="file-plus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
670
+ <path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z" />
671
+ <path d="M14 2v5a1 1 0 0 0 1 1h5" />
672
+ <path d="M9 15h6" />
673
+ <path d="M12 18v-6" />
674
+ </symbol>
675
+
676
+ <!-- lucide/file-text -->
677
+ <symbol id="file-text" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
678
+ <path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z" />
679
+ <path d="M14 2v5a1 1 0 0 0 1 1h5" />
680
+ <path d="M10 9H8" />
681
+ <path d="M16 13H8" />
682
+ <path d="M16 17H8" />
683
+ </symbol>
684
+
685
+ <!-- lucide/folder-open -->
686
+ <symbol id="folder-open" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
687
+ <path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2" />
688
+ </symbol>
689
+
690
+ <!-- lucide/folder-plus -->
691
+ <symbol id="folder-plus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
692
+ <path d="M12 10v6" />
693
+ <path d="M9 13h6" />
694
+ <path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z" />
695
+ </symbol>
696
+
697
+ <!-- lucide/zoom-in -->
698
+ <symbol id="zoom-in" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
699
+ <circle cx="11" cy="11" r="8" />
700
+ <line x1="21" x2="16.65" y1="21" y2="16.65" />
701
+ <line x1="11" x2="11" y1="8" y2="14" />
702
+ <line x1="8" x2="14" y1="11" y2="11" />
703
+ </symbol>
704
+
705
+ <!-- lucide/zoom-out -->
706
+ <symbol id="zoom-out" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
707
+ <circle cx="11" cy="11" r="8" />
708
+ <line x1="21" x2="16.65" y1="21" y2="16.65" />
709
+ <line x1="8" x2="14" y1="11" y2="11" />
710
+ </symbol>
711
+
712
+ <!-- lucide/crop -->
713
+ <symbol id="crop" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
714
+ <path d="M6 2v14a2 2 0 0 0 2 2h14" />
715
+ <path d="M18 22V8a2 2 0 0 0-2-2H2" />
716
+ </symbol>
717
+
718
+ <!-- lucide/eraser -->
719
+ <symbol id="eraser" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
720
+ <path d="M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21" />
721
+ <path d="m5.082 11.09 8.828 8.828" />
722
+ </symbol>
723
+
724
+ <!-- lucide/ruler -->
725
+ <symbol id="ruler" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
726
+ <path d="M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z" />
727
+ <path d="m14.5 12.5 2-2" />
728
+ <path d="m11.5 9.5 2-2" />
729
+ <path d="m8.5 6.5 2-2" />
730
+ <path d="m17.5 15.5 2-2" />
731
+ </symbol>
732
+
733
+ <!-- lucide/palette -->
734
+ <symbol id="palette" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
735
+ <path d="M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z" />
736
+ <circle cx="13.5" cy="6.5" r=".5" fill="currentColor" />
737
+ <circle cx="17.5" cy="10.5" r=".5" fill="currentColor" />
738
+ <circle cx="6.5" cy="12.5" r=".5" fill="currentColor" />
739
+ <circle cx="8.5" cy="7.5" r=".5" fill="currentColor" />
740
+ </symbol>
741
+
742
+ <!-- lucide/grid-3x3 -->
743
+ <symbol id="grid-3x3" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
744
+ <rect width="18" height="18" x="3" y="3" rx="2" />
745
+ <path d="M3 9h18" />
746
+ <path d="M3 15h18" />
747
+ <path d="M9 3v18" />
748
+ <path d="M15 3v18" />
749
+ </symbol>
750
+
751
+ <!-- lucide/move -->
752
+ <symbol id="move" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
753
+ <path d="M12 2v20" />
754
+ <path d="m15 19-3 3-3-3" />
755
+ <path d="m19 9 3 3-3 3" />
756
+ <path d="M2 12h20" />
757
+ <path d="m5 9-3 3 3 3" />
758
+ <path d="m9 5 3-3 3 3" />
759
+ </symbol>
760
+
761
+ <!-- lucide/pointer -->
762
+ <symbol id="pointer" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
763
+ <path d="M22 14a8 8 0 0 1-8 8" />
764
+ <path d="M18 11v-1a2 2 0 0 0-2-2a2 2 0 0 0-2 2" />
765
+ <path d="M14 10V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1" />
766
+ <path d="M10 9.5V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v10" />
767
+ <path d="M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15" />
768
+ </symbol>
769
+
770
+ <!-- lucide/mouse-pointer -->
771
+ <symbol id="mouse-pointer" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
772
+ <path d="M12.586 12.586 19 19" />
773
+ <path d="M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z" />
774
+ </symbol>
775
+
776
+ <!-- lucide/group -->
777
+ <symbol id="group" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
778
+ <path d="M3 7V5c0-1.1.9-2 2-2h2" />
779
+ <path d="M17 3h2c1.1 0 2 .9 2 2v2" />
780
+ <path d="M21 17v2c0 1.1-.9 2-2 2h-2" />
781
+ <path d="M7 21H5c-1.1 0-2-.9-2-2v-2" />
782
+ <rect width="7" height="5" x="7" y="7" rx="1" />
783
+ <rect width="7" height="5" x="10" y="12" rx="1" />
784
+ </symbol>
785
+
786
+ <!-- lucide/ungroup -->
787
+ <symbol id="ungroup" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
788
+ <rect width="8" height="6" x="5" y="4" rx="1" />
789
+ <rect width="8" height="6" x="11" y="14" rx="1" />
790
+ </symbol>
791
+
792
+ <!-- lucide/flip-horizontal-2 -->
793
+ <symbol id="flip-horizontal-2" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
794
+ <path d="m3 7 5 5-5 5V7" />
795
+ <path d="m21 7-5 5 5 5V7" />
796
+ <path d="M12 20v2" />
797
+ <path d="M12 14v2" />
798
+ <path d="M12 8v2" />
799
+ <path d="M12 2v2" />
800
+ </symbol>
801
+
802
+ <!-- lucide/flip-vertical-2 -->
803
+ <symbol id="flip-vertical-2" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
804
+ <path d="m17 3-5 5-5-5h10" />
805
+ <path d="m17 21-5-5-5 5h10" />
806
+ <path d="M4 12H2" />
807
+ <path d="M10 12H8" />
808
+ <path d="M16 12h-2" />
809
+ <path d="M22 12h-2" />
810
+ </symbol>
811
+
812
+ <!-- lucide/rotate-cw -->
813
+ <symbol id="rotate-cw" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
814
+ <path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8" />
815
+ <path d="M21 3v5h-5" />
816
+ </symbol>
817
+
818
+ <!-- lucide/rotate-ccw -->
819
+ <symbol id="rotate-ccw" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
820
+ <path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" />
821
+ <path d="M3 3v5h5" />
822
+ </symbol>
823
+
824
+ <!-- lucide/align-horizontal-justify-start -->
825
+ <symbol id="align-horizontal-justify-start" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
826
+ <rect width="6" height="14" x="6" y="5" rx="2" />
827
+ <rect width="6" height="10" x="16" y="7" rx="2" />
828
+ <path d="M2 2v20" />
829
+ </symbol>
830
+
831
+ <!-- lucide/align-horizontal-justify-center -->
832
+ <symbol id="align-horizontal-justify-center" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
833
+ <rect width="6" height="14" x="2" y="5" rx="2" />
834
+ <rect width="6" height="10" x="16" y="7" rx="2" />
835
+ <path d="M12 2v20" />
836
+ </symbol>
837
+
838
+ <!-- lucide/align-horizontal-justify-end -->
839
+ <symbol id="align-horizontal-justify-end" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
840
+ <rect width="6" height="14" x="2" y="5" rx="2" />
841
+ <rect width="6" height="10" x="12" y="7" rx="2" />
842
+ <path d="M22 2v20" />
843
+ </symbol>
844
+
845
+ <!-- lucide/gamepad-2 -->
846
+ <symbol id="gamepad-2" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
847
+ <line x1="6" x2="10" y1="11" y2="11" />
848
+ <line x1="8" x2="8" y1="9" y2="13" />
849
+ <line x1="15" x2="15.01" y1="12" y2="12" />
850
+ <line x1="18" x2="18.01" y1="10" y2="10" />
851
+ <path d="M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z" />
852
+ </symbol>
853
+
854
+ <!-- lucide/joystick -->
855
+ <symbol id="joystick" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
856
+ <path d="M21 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-2Z" />
857
+ <path d="M6 15v-2" />
858
+ <path d="M12 15V9" />
859
+ <circle cx="12" cy="6" r="3" />
860
+ </symbol>
861
+
862
+ <!-- lucide/sword -->
863
+ <symbol id="sword" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
864
+ <path d="m11 19-6-6" />
865
+ <path d="m5 21-2-2" />
866
+ <path d="m8 16-4 4" />
867
+ <path d="M9.5 17.5 21 6V3h-3L6.5 14.5" />
868
+ </symbol>
869
+
870
+ <!-- lucide/shield -->
871
+ <symbol id="shield" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
872
+ <path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z" />
873
+ </symbol>
874
+
875
+ <!-- lucide/heart -->
876
+ <symbol id="heart" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
877
+ <path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5" />
878
+ </symbol>
879
+
880
+ <!-- lucide/star -->
881
+ <symbol id="star" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
882
+ <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" />
883
+ </symbol>
884
+
885
+ <!-- lucide/crown -->
886
+ <symbol id="crown" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
887
+ <path d="M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z" />
888
+ <path d="M5 21h14" />
889
+ </symbol>
890
+
891
+ <!-- lucide/gem -->
892
+ <symbol id="gem" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
893
+ <path d="M10.5 3 8 9l4 13 4-13-2.5-6" />
894
+ <path d="M17 3a2 2 0 0 1 1.6.8l3 4a2 2 0 0 1 .013 2.382l-7.99 10.986a2 2 0 0 1-3.247 0l-7.99-10.986A2 2 0 0 1 2.4 7.8l2.998-3.997A2 2 0 0 1 7 3z" />
895
+ <path d="M2 9h20" />
896
+ </symbol>
897
+
898
+ <!-- lucide/skull -->
899
+ <symbol id="skull" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
900
+ <path d="m12.5 17-.5-1-.5 1h1z" />
901
+ <path d="M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z" />
902
+ <circle cx="15" cy="12" r="1" />
903
+ <circle cx="9" cy="12" r="1" />
904
+ </symbol>
905
+
906
+ <!-- lucide/crosshair -->
907
+ <symbol id="crosshair" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
908
+ <circle cx="12" cy="12" r="10" />
909
+ <line x1="22" x2="18" y1="12" y2="12" />
910
+ <line x1="6" x2="2" y1="12" y2="12" />
911
+ <line x1="12" x2="12" y1="6" y2="2" />
912
+ <line x1="12" x2="12" y1="22" y2="18" />
913
+ </symbol>
914
+
915
+ <!-- lucide/target -->
916
+ <symbol id="target" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
917
+ <circle cx="12" cy="12" r="10" />
918
+ <circle cx="12" cy="12" r="6" />
919
+ <circle cx="12" cy="12" r="2" />
920
+ </symbol>
921
+
922
+ <!-- lucide/map -->
923
+ <symbol id="map" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
924
+ <path d="M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z" />
925
+ <path d="M15 5.764v15" />
926
+ <path d="M9 3.236v15" />
927
+ </symbol>
928
+
929
+ <!-- lucide/compass -->
930
+ <symbol id="compass" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
931
+ <circle cx="12" cy="12" r="10" />
932
+ <path d="m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z" />
933
+ </symbol>
934
+
935
+ <!-- lucide/navigation -->
936
+ <symbol id="navigation" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
937
+ <polygon points="3 11 22 2 13 21 11 13 3 11" />
938
+ </symbol>
939
+
940
+ <!-- lucide/flame -->
941
+ <symbol id="flame" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
942
+ <path d="M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4" />
943
+ </symbol>
944
+
945
+ <!-- lucide/droplet -->
946
+ <symbol id="droplet" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
947
+ <path d="M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z" />
948
+ </symbol>
949
+
950
+ <!-- lucide/wind -->
951
+ <symbol id="wind" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
952
+ <path d="M12.8 19.6A2 2 0 1 0 14 16H2" />
953
+ <path d="M17.5 8a2.5 2.5 0 1 1 2 4H2" />
954
+ <path d="M9.8 4.4A2 2 0 1 1 11 8H2" />
955
+ </symbol>
956
+
957
+ <!-- lucide/snowflake -->
958
+ <symbol id="snowflake" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
959
+ <path d="m10 20-1.25-2.5L6 18" />
960
+ <path d="M10 4 8.75 6.5 6 6" />
961
+ <path d="m14 20 1.25-2.5L18 18" />
962
+ <path d="m14 4 1.25 2.5L18 6" />
963
+ <path d="m17 21-3-6h-4" />
964
+ <path d="m17 3-3 6 1.5 3" />
965
+ <path d="M2 12h6.5L10 9" />
966
+ <path d="m20 10-1.5 2 1.5 2" />
967
+ <path d="M22 12h-6.5L14 15" />
968
+ <path d="m4 10 1.5 2L4 14" />
969
+ <path d="m7 21 3-6-1.5-3" />
970
+ <path d="m7 3 3 6h4" />
971
+ </symbol>
972
+
973
+ <!-- lucide/bug -->
974
+ <symbol id="bug" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
975
+ <path d="M12 20v-9" />
976
+ <path d="M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z" />
977
+ <path d="M14.12 3.88 16 2" />
978
+ <path d="M21 21a4 4 0 0 0-3.81-4" />
979
+ <path d="M21 5a4 4 0 0 1-3.55 3.97" />
980
+ <path d="M22 13h-4" />
981
+ <path d="M3 21a4 4 0 0 1 3.81-4" />
982
+ <path d="M3 5a4 4 0 0 0 3.55 3.97" />
983
+ <path d="M6 13H2" />
984
+ <path d="m8 2 1.88 1.88" />
985
+ <path d="M9 7.13V6a3 3 0 1 1 6 0v1.13" />
986
+ </symbol>
987
+
988
+ <!-- lucide/cpu -->
989
+ <symbol id="cpu" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
990
+ <path d="M12 20v2" />
991
+ <path d="M12 2v2" />
992
+ <path d="M17 20v2" />
993
+ <path d="M17 2v2" />
994
+ <path d="M2 12h2" />
995
+ <path d="M2 17h2" />
996
+ <path d="M2 7h2" />
997
+ <path d="M20 12h2" />
998
+ <path d="M20 17h2" />
999
+ <path d="M20 7h2" />
1000
+ <path d="M7 20v2" />
1001
+ <path d="M7 2v2" />
1002
+ <rect x="4" y="4" width="16" height="16" rx="2" />
1003
+ <rect x="8" y="8" width="8" height="8" rx="1" />
1004
+ </symbol>
1005
+
1006
+ <!-- lucide/gauge -->
1007
+ <symbol id="gauge" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1008
+ <path d="m12 14 4-4" />
1009
+ <path d="M3.34 19a10 10 0 1 1 17.32 0" />
1010
+ </symbol>
1011
+
1012
+ <!-- lucide/lightbulb -->
1013
+ <symbol id="lightbulb" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1014
+ <path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5" />
1015
+ <path d="M9 18h6" />
1016
+ <path d="M10 22h4" />
1017
+ </symbol>
1018
+
1019
+ <!-- lucide/git-branch -->
1020
+ <symbol id="git-branch" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1021
+ <path d="M15 6a9 9 0 0 0-9 9V3" />
1022
+ <circle cx="18" cy="6" r="3" />
1023
+ <circle cx="6" cy="18" r="3" />
1024
+ </symbol>
1025
+
1026
+ <!-- lucide/git-merge -->
1027
+ <symbol id="git-merge" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1028
+ <circle cx="18" cy="18" r="3" />
1029
+ <circle cx="6" cy="6" r="3" />
1030
+ <path d="M6 21V9a9 9 0 0 0 9 9" />
1031
+ </symbol>
1032
+
1033
+ <!-- lucide/git-commit-horizontal -->
1034
+ <symbol id="git-commit-horizontal" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1035
+ <circle cx="12" cy="12" r="3" />
1036
+ <line x1="3" x2="9" y1="12" y2="12" />
1037
+ <line x1="15" x2="21" y1="12" y2="12" />
1038
+ </symbol>
1039
+
1040
+ <!-- lucide/scroll-text -->
1041
+ <symbol id="scroll-text" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1042
+ <path d="M15 12h-5" />
1043
+ <path d="M15 8h-5" />
1044
+ <path d="M19 17V5a2 2 0 0 0-2-2H4" />
1045
+ <path d="M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3" />
1046
+ </symbol>
1047
+
1048
+ <!-- lucide/users -->
1049
+ <symbol id="users" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1050
+ <path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" />
1051
+ <path d="M16 3.128a4 4 0 0 1 0 7.744" />
1052
+ <path d="M22 21v-2a4 4 0 0 0-3-3.87" />
1053
+ <circle cx="9" cy="7" r="4" />
1054
+ </symbol>
1055
+
1056
+ <!-- lucide/send -->
1057
+ <symbol id="send" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1058
+ <path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z" />
1059
+ <path d="m21.854 2.147-10.94 10.939" />
1060
+ </symbol>
1061
+
1062
+ <!-- lucide/euro -->
1063
+ <symbol id="euro" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1064
+ <path d="M4 10h12" />
1065
+ <path d="M4 14h9" />
1066
+ <path d="M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2" />
1067
+ </symbol>
1068
+
1069
+ <!-- lucide/receipt -->
1070
+ <symbol id="receipt" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1071
+ <path d="M12 17V7" />
1072
+ <path d="M16 8h-6a2 2 0 0 0 0 4h4a2 2 0 0 1 0 4H8" />
1073
+ <path d="M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z" />
1074
+ </symbol>
1075
+
1076
+ <!-- lucide/building-2 -->
1077
+ <symbol id="building-2" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1078
+ <path d="M10 12h4" />
1079
+ <path d="M10 8h4" />
1080
+ <path d="M14 21v-3a2 2 0 0 0-4 0v3" />
1081
+ <path d="M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2" />
1082
+ <path d="M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16" />
1083
+ </symbol>
1084
+
1085
+ <!-- lucide/calendar -->
1086
+ <symbol id="calendar" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1087
+ <path d="M8 2v4" />
1088
+ <path d="M16 2v4" />
1089
+ <rect width="18" height="18" x="3" y="4" rx="2" />
1090
+ <path d="M3 10h18" />
1091
+ </symbol>
1092
+
1093
+ <!-- lucide/circle-check -->
1094
+ <symbol id="circle-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1095
+ <circle cx="12" cy="12" r="10" />
1096
+ <path d="m9 12 2 2 4-4" />
1097
+ </symbol>
1098
+
1099
+ <!-- lucide/clock -->
1100
+ <symbol id="clock" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1101
+ <circle cx="12" cy="12" r="10" />
1102
+ <path d="M12 6v6l4 2" />
1103
+ </symbol>
1104
+
1105
+ <!-- lucide/pound-sterling -->
1106
+ <symbol id="pound-sterling" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1107
+ <path d="M18 7c0-5.333-8-5.333-8 0" />
1108
+ <path d="M10 7v14" />
1109
+ <path d="M6 21h12" />
1110
+ <path d="M6 13h10" />
1111
+ </symbol>
1112
+
1113
+ <!-- lucide/dollar-sign -->
1114
+ <symbol id="dollar-sign" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1115
+ <line x1="12" x2="12" y1="2" y2="22" />
1116
+ <path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6" />
1117
+ </symbol>
1118
+
1119
+ </svg>