cybercore-css 0.2.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 (381) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +479 -0
  3. package/dist/cybercore.css +3546 -0
  4. package/dist/cybercore.css.map +1 -0
  5. package/dist/cybercore.min.css +3 -0
  6. package/dist/cybercore.min.css.map +1 -0
  7. package/package.json +214 -0
  8. package/src/cybercore.d.ts +107 -0
  9. package/src/icons/README.md +378 -0
  10. package/src/icons/defs/_template.ts +27 -0
  11. package/src/icons/defs/actions/check.ts +36 -0
  12. package/src/icons/defs/actions/copy.ts +37 -0
  13. package/src/icons/defs/actions/cut.ts +44 -0
  14. package/src/icons/defs/actions/delete.ts +42 -0
  15. package/src/icons/defs/actions/download.ts +36 -0
  16. package/src/icons/defs/actions/drag.ts +60 -0
  17. package/src/icons/defs/actions/edit.ts +36 -0
  18. package/src/icons/defs/actions/filter.ts +33 -0
  19. package/src/icons/defs/actions/index.ts +28 -0
  20. package/src/icons/defs/actions/link.ts +40 -0
  21. package/src/icons/defs/actions/minus.ts +42 -0
  22. package/src/icons/defs/actions/paste.ts +39 -0
  23. package/src/icons/defs/actions/pin.ts +36 -0
  24. package/src/icons/defs/actions/plus.ts +46 -0
  25. package/src/icons/defs/actions/redo.ts +37 -0
  26. package/src/icons/defs/actions/refresh.ts +36 -0
  27. package/src/icons/defs/actions/save.ts +36 -0
  28. package/src/icons/defs/actions/search.ts +37 -0
  29. package/src/icons/defs/actions/share.ts +45 -0
  30. package/src/icons/defs/actions/sort.ts +39 -0
  31. package/src/icons/defs/actions/undo.ts +37 -0
  32. package/src/icons/defs/actions/unlink.ts +44 -0
  33. package/src/icons/defs/actions/upload.ts +36 -0
  34. package/src/icons/defs/actions/x.ts +40 -0
  35. package/src/icons/defs/communication/at-sign.ts +37 -0
  36. package/src/icons/defs/communication/bell-off.ts +44 -0
  37. package/src/icons/defs/communication/bell.ts +37 -0
  38. package/src/icons/defs/communication/inbox.ts +40 -0
  39. package/src/icons/defs/communication/index.ts +15 -0
  40. package/src/icons/defs/communication/mail.ts +40 -0
  41. package/src/icons/defs/communication/message.ts +42 -0
  42. package/src/icons/defs/communication/phone-off.ts +35 -0
  43. package/src/icons/defs/communication/phone.ts +36 -0
  44. package/src/icons/defs/communication/send.ts +37 -0
  45. package/src/icons/defs/communication/video-call.ts +44 -0
  46. package/src/icons/defs/data/calendar.ts +55 -0
  47. package/src/icons/defs/data/chart-bar.ts +48 -0
  48. package/src/icons/defs/data/chart-line.ts +41 -0
  49. package/src/icons/defs/data/chart-pie.ts +42 -0
  50. package/src/icons/defs/data/clock.ts +37 -0
  51. package/src/icons/defs/data/cloud-download.ts +41 -0
  52. package/src/icons/defs/data/cloud-upload.ts +41 -0
  53. package/src/icons/defs/data/cloud.ts +36 -0
  54. package/src/icons/defs/data/database.ts +50 -0
  55. package/src/icons/defs/data/hash.ts +43 -0
  56. package/src/icons/defs/data/index.ts +19 -0
  57. package/src/icons/defs/data/percent.ts +39 -0
  58. package/src/icons/defs/data/sync.ts +43 -0
  59. package/src/icons/defs/data/table.ts +50 -0
  60. package/src/icons/defs/data/timer.ts +47 -0
  61. package/src/icons/defs/files/archive.ts +39 -0
  62. package/src/icons/defs/files/attachment.ts +34 -0
  63. package/src/icons/defs/files/clipboard.ts +45 -0
  64. package/src/icons/defs/files/file-archive.ts +45 -0
  65. package/src/icons/defs/files/file-audio.ts +41 -0
  66. package/src/icons/defs/files/file-code.ts +41 -0
  67. package/src/icons/defs/files/file-image.ts +41 -0
  68. package/src/icons/defs/files/file-minus.ts +37 -0
  69. package/src/icons/defs/files/file-plus.ts +41 -0
  70. package/src/icons/defs/files/file-text.ts +41 -0
  71. package/src/icons/defs/files/file-video.ts +37 -0
  72. package/src/icons/defs/files/file.ts +34 -0
  73. package/src/icons/defs/files/folder-open.ts +34 -0
  74. package/src/icons/defs/files/folder-plus.ts +38 -0
  75. package/src/icons/defs/files/folder.ts +30 -0
  76. package/src/icons/defs/files/index.ts +20 -0
  77. package/src/icons/defs/index.ts +58 -0
  78. package/src/icons/defs/media/camera-off.ts +39 -0
  79. package/src/icons/defs/media/camera.ts +34 -0
  80. package/src/icons/defs/media/fast-forward.ts +34 -0
  81. package/src/icons/defs/media/image.ts +39 -0
  82. package/src/icons/defs/media/index.ts +22 -0
  83. package/src/icons/defs/media/mic-off.ts +44 -0
  84. package/src/icons/defs/media/mic.ts +39 -0
  85. package/src/icons/defs/media/music.ts +39 -0
  86. package/src/icons/defs/media/pause.ts +36 -0
  87. package/src/icons/defs/media/play.ts +34 -0
  88. package/src/icons/defs/media/rewind.ts +34 -0
  89. package/src/icons/defs/media/skip-back.ts +34 -0
  90. package/src/icons/defs/media/skip-forward.ts +34 -0
  91. package/src/icons/defs/media/stop.ts +34 -0
  92. package/src/icons/defs/media/video.ts +39 -0
  93. package/src/icons/defs/media/volume-high.ts +39 -0
  94. package/src/icons/defs/media/volume-low.ts +34 -0
  95. package/src/icons/defs/media/volume-off.ts +34 -0
  96. package/src/icons/defs/navigation/arrow-down.ts +34 -0
  97. package/src/icons/defs/navigation/arrow-left.ts +34 -0
  98. package/src/icons/defs/navigation/arrow-right.ts +34 -0
  99. package/src/icons/defs/navigation/arrow-up.ts +34 -0
  100. package/src/icons/defs/navigation/chevron-down.ts +31 -0
  101. package/src/icons/defs/navigation/chevron-left.ts +31 -0
  102. package/src/icons/defs/navigation/chevron-right.ts +31 -0
  103. package/src/icons/defs/navigation/chevron-up.ts +31 -0
  104. package/src/icons/defs/navigation/external-link.ts +37 -0
  105. package/src/icons/defs/navigation/home.ts +34 -0
  106. package/src/icons/defs/navigation/index.ts +19 -0
  107. package/src/icons/defs/navigation/maximize.ts +36 -0
  108. package/src/icons/defs/navigation/menu-dots.ts +42 -0
  109. package/src/icons/defs/navigation/menu.ts +42 -0
  110. package/src/icons/defs/navigation/minimize.ts +32 -0
  111. package/src/icons/defs/security/eye-off.ts +42 -0
  112. package/src/icons/defs/security/eye.ts +37 -0
  113. package/src/icons/defs/security/fingerprint.ts +51 -0
  114. package/src/icons/defs/security/index.ts +20 -0
  115. package/src/icons/defs/security/key.ts +43 -0
  116. package/src/icons/defs/security/lock.ts +40 -0
  117. package/src/icons/defs/security/log-in.ts +40 -0
  118. package/src/icons/defs/security/log-out.ts +40 -0
  119. package/src/icons/defs/security/shield-check.ts +34 -0
  120. package/src/icons/defs/security/shield-x.ts +38 -0
  121. package/src/icons/defs/security/shield.ts +36 -0
  122. package/src/icons/defs/security/unlock.ts +40 -0
  123. package/src/icons/defs/security/user-minus.ts +39 -0
  124. package/src/icons/defs/security/user-plus.ts +43 -0
  125. package/src/icons/defs/security/user.ts +41 -0
  126. package/src/icons/defs/security/users.ts +43 -0
  127. package/src/icons/defs/social/award.ts +41 -0
  128. package/src/icons/defs/social/bookmark-filled.ts +24 -0
  129. package/src/icons/defs/social/bookmark.ts +25 -0
  130. package/src/icons/defs/social/flag.ts +35 -0
  131. package/src/icons/defs/social/heart-filled.ts +24 -0
  132. package/src/icons/defs/social/heart.ts +25 -0
  133. package/src/icons/defs/social/index.ts +11 -0
  134. package/src/icons/defs/social/star-filled.ts +24 -0
  135. package/src/icons/defs/social/star.ts +25 -0
  136. package/src/icons/defs/social/thumbs-down.ts +42 -0
  137. package/src/icons/defs/social/thumbs-up.ts +42 -0
  138. package/src/icons/defs/social/trending.ts +36 -0
  139. package/src/icons/defs/status/battery-charging.ts +30 -0
  140. package/src/icons/defs/status/battery-full.ts +30 -0
  141. package/src/icons/defs/status/battery-low.ts +31 -0
  142. package/src/icons/defs/status/error.ts +31 -0
  143. package/src/icons/defs/status/help.ts +30 -0
  144. package/src/icons/defs/status/index.ts +12 -0
  145. package/src/icons/defs/status/info.ts +30 -0
  146. package/src/icons/defs/status/loading.ts +52 -0
  147. package/src/icons/defs/status/offline.ts +28 -0
  148. package/src/icons/defs/status/online.ts +30 -0
  149. package/src/icons/defs/status/progress.ts +31 -0
  150. package/src/icons/defs/status/success.ts +27 -0
  151. package/src/icons/defs/status/warning.ts +30 -0
  152. package/src/icons/defs/tech/api.ts +55 -0
  153. package/src/icons/defs/tech/bluetooth.ts +33 -0
  154. package/src/icons/defs/tech/bug.ts +58 -0
  155. package/src/icons/defs/tech/chip.ts +80 -0
  156. package/src/icons/defs/tech/circuit.ts +57 -0
  157. package/src/icons/defs/tech/code.ts +36 -0
  158. package/src/icons/defs/tech/cpu.ts +58 -0
  159. package/src/icons/defs/tech/git-branch.ts +41 -0
  160. package/src/icons/defs/tech/git-commit.ts +38 -0
  161. package/src/icons/defs/tech/git-merge.ts +46 -0
  162. package/src/icons/defs/tech/git-pull.ts +50 -0
  163. package/src/icons/defs/tech/globe.ts +36 -0
  164. package/src/icons/defs/tech/index.ts +27 -0
  165. package/src/icons/defs/tech/memory.ts +61 -0
  166. package/src/icons/defs/tech/qr-code.ts +81 -0
  167. package/src/icons/defs/tech/server.ts +45 -0
  168. package/src/icons/defs/tech/settings.ts +33 -0
  169. package/src/icons/defs/tech/signal.ts +43 -0
  170. package/src/icons/defs/tech/sliders.ts +63 -0
  171. package/src/icons/defs/tech/terminal.ts +36 -0
  172. package/src/icons/defs/tech/wifi-off.ts +43 -0
  173. package/src/icons/defs/tech/wifi.ts +38 -0
  174. package/src/icons/defs/tech/zap.ts +30 -0
  175. package/src/icons/icon-list.ts +305 -0
  176. package/src/icons/index.ts +95 -0
  177. package/src/icons/individual.ts +210 -0
  178. package/src/icons/registry.ts +2276 -0
  179. package/src/icons/svg/actions/check.svg +5 -0
  180. package/src/icons/svg/actions/copy.svg +6 -0
  181. package/src/icons/svg/actions/cut.svg +7 -0
  182. package/src/icons/svg/actions/delete.svg +7 -0
  183. package/src/icons/svg/actions/download.svg +5 -0
  184. package/src/icons/svg/actions/drag.svg +8 -0
  185. package/src/icons/svg/actions/edit.svg +5 -0
  186. package/src/icons/svg/actions/filter.svg +4 -0
  187. package/src/icons/svg/actions/link.svg +6 -0
  188. package/src/icons/svg/actions/minus.svg +7 -0
  189. package/src/icons/svg/actions/paste.svg +6 -0
  190. package/src/icons/svg/actions/pin.svg +5 -0
  191. package/src/icons/svg/actions/plus.svg +8 -0
  192. package/src/icons/svg/actions/redo.svg +5 -0
  193. package/src/icons/svg/actions/refresh.svg +5 -0
  194. package/src/icons/svg/actions/save.svg +5 -0
  195. package/src/icons/svg/actions/search.svg +5 -0
  196. package/src/icons/svg/actions/share.svg +7 -0
  197. package/src/icons/svg/actions/sort.svg +6 -0
  198. package/src/icons/svg/actions/undo.svg +5 -0
  199. package/src/icons/svg/actions/unlink.svg +7 -0
  200. package/src/icons/svg/actions/upload.svg +5 -0
  201. package/src/icons/svg/actions/x.svg +6 -0
  202. package/src/icons/svg/communication/at-sign.svg +5 -0
  203. package/src/icons/svg/communication/bell-off.svg +8 -0
  204. package/src/icons/svg/communication/bell.svg +5 -0
  205. package/src/icons/svg/communication/inbox.svg +6 -0
  206. package/src/icons/svg/communication/mail.svg +6 -0
  207. package/src/icons/svg/communication/message.svg +6 -0
  208. package/src/icons/svg/communication/phone-off.svg +4 -0
  209. package/src/icons/svg/communication/phone.svg +5 -0
  210. package/src/icons/svg/communication/send.svg +5 -0
  211. package/src/icons/svg/communication/video-call.svg +7 -0
  212. package/src/icons/svg/data/calendar.svg +11 -0
  213. package/src/icons/svg/data/chart-bar.svg +6 -0
  214. package/src/icons/svg/data/chart-line.svg +5 -0
  215. package/src/icons/svg/data/chart-pie.svg +6 -0
  216. package/src/icons/svg/data/clock.svg +5 -0
  217. package/src/icons/svg/data/cloud-download.svg +5 -0
  218. package/src/icons/svg/data/cloud-upload.svg +5 -0
  219. package/src/icons/svg/data/cloud.svg +4 -0
  220. package/src/icons/svg/data/database.svg +7 -0
  221. package/src/icons/svg/data/hash.svg +6 -0
  222. package/src/icons/svg/data/percent.svg +5 -0
  223. package/src/icons/svg/data/sync.svg +6 -0
  224. package/src/icons/svg/data/table.svg +7 -0
  225. package/src/icons/svg/data/timer.svg +7 -0
  226. package/src/icons/svg/files/archive.svg +5 -0
  227. package/src/icons/svg/files/attachment.svg +4 -0
  228. package/src/icons/svg/files/clipboard.svg +6 -0
  229. package/src/icons/svg/files/file-archive.svg +7 -0
  230. package/src/icons/svg/files/file-audio.svg +6 -0
  231. package/src/icons/svg/files/file-code.svg +6 -0
  232. package/src/icons/svg/files/file-image.svg +6 -0
  233. package/src/icons/svg/files/file-minus.svg +5 -0
  234. package/src/icons/svg/files/file-plus.svg +6 -0
  235. package/src/icons/svg/files/file-text.svg +6 -0
  236. package/src/icons/svg/files/file-video.svg +5 -0
  237. package/src/icons/svg/files/file.svg +4 -0
  238. package/src/icons/svg/files/folder-open.svg +4 -0
  239. package/src/icons/svg/files/folder-plus.svg +5 -0
  240. package/src/icons/svg/files/folder.svg +3 -0
  241. package/src/icons/svg/media/camera-off.svg +5 -0
  242. package/src/icons/svg/media/camera.svg +4 -0
  243. package/src/icons/svg/media/fast-forward.svg +4 -0
  244. package/src/icons/svg/media/image.svg +5 -0
  245. package/src/icons/svg/media/mic-off.svg +6 -0
  246. package/src/icons/svg/media/mic.svg +5 -0
  247. package/src/icons/svg/media/music.svg +5 -0
  248. package/src/icons/svg/media/pause.svg +4 -0
  249. package/src/icons/svg/media/play.svg +4 -0
  250. package/src/icons/svg/media/rewind.svg +4 -0
  251. package/src/icons/svg/media/skip-back.svg +4 -0
  252. package/src/icons/svg/media/skip-forward.svg +4 -0
  253. package/src/icons/svg/media/stop.svg +4 -0
  254. package/src/icons/svg/media/video.svg +5 -0
  255. package/src/icons/svg/media/volume-high.svg +5 -0
  256. package/src/icons/svg/media/volume-low.svg +4 -0
  257. package/src/icons/svg/media/volume-off.svg +4 -0
  258. package/src/icons/svg/navigation/arrow-down.svg +4 -0
  259. package/src/icons/svg/navigation/arrow-left.svg +4 -0
  260. package/src/icons/svg/navigation/arrow-right.svg +4 -0
  261. package/src/icons/svg/navigation/arrow-up.svg +4 -0
  262. package/src/icons/svg/navigation/chevron-down.svg +3 -0
  263. package/src/icons/svg/navigation/chevron-left.svg +3 -0
  264. package/src/icons/svg/navigation/chevron-right.svg +3 -0
  265. package/src/icons/svg/navigation/chevron-up.svg +3 -0
  266. package/src/icons/svg/navigation/external-link.svg +5 -0
  267. package/src/icons/svg/navigation/home.svg +4 -0
  268. package/src/icons/svg/navigation/maximize.svg +3 -0
  269. package/src/icons/svg/navigation/menu-dots.svg +5 -0
  270. package/src/icons/svg/navigation/menu.svg +5 -0
  271. package/src/icons/svg/navigation/minimize.svg +3 -0
  272. package/src/icons/svg/security/eye-off.svg +6 -0
  273. package/src/icons/svg/security/eye.svg +5 -0
  274. package/src/icons/svg/security/fingerprint.svg +9 -0
  275. package/src/icons/svg/security/key.svg +7 -0
  276. package/src/icons/svg/security/lock.svg +6 -0
  277. package/src/icons/svg/security/log-in.svg +6 -0
  278. package/src/icons/svg/security/log-out.svg +6 -0
  279. package/src/icons/svg/security/shield-check.svg +4 -0
  280. package/src/icons/svg/security/shield-x.svg +5 -0
  281. package/src/icons/svg/security/shield.svg +5 -0
  282. package/src/icons/svg/security/unlock.svg +6 -0
  283. package/src/icons/svg/security/user-minus.svg +5 -0
  284. package/src/icons/svg/security/user-plus.svg +6 -0
  285. package/src/icons/svg/security/user.svg +6 -0
  286. package/src/icons/svg/security/users.svg +6 -0
  287. package/src/icons/svg/social/award.svg +5 -0
  288. package/src/icons/svg/social/bookmark-filled.svg +3 -0
  289. package/src/icons/svg/social/bookmark.svg +3 -0
  290. package/src/icons/svg/social/flag.svg +4 -0
  291. package/src/icons/svg/social/heart-filled.svg +3 -0
  292. package/src/icons/svg/social/heart.svg +3 -0
  293. package/src/icons/svg/social/star-filled.svg +3 -0
  294. package/src/icons/svg/social/star.svg +3 -0
  295. package/src/icons/svg/social/thumbs-down.svg +5 -0
  296. package/src/icons/svg/social/thumbs-up.svg +5 -0
  297. package/src/icons/svg/social/trending.svg +4 -0
  298. package/src/icons/svg/status/battery-charging.svg +5 -0
  299. package/src/icons/svg/status/battery-full.svg +5 -0
  300. package/src/icons/svg/status/battery-low.svg +5 -0
  301. package/src/icons/svg/status/error.svg +5 -0
  302. package/src/icons/svg/status/help.svg +5 -0
  303. package/src/icons/svg/status/info.svg +5 -0
  304. package/src/icons/svg/status/loading.svg +10 -0
  305. package/src/icons/svg/status/offline.svg +4 -0
  306. package/src/icons/svg/status/online.svg +5 -0
  307. package/src/icons/svg/status/progress.svg +5 -0
  308. package/src/icons/svg/status/success.svg +4 -0
  309. package/src/icons/svg/status/warning.svg +5 -0
  310. package/src/icons/svg/tech/api.svg +10 -0
  311. package/src/icons/svg/tech/bluetooth.svg +4 -0
  312. package/src/icons/svg/tech/bug.svg +11 -0
  313. package/src/icons/svg/tech/chip.svg +16 -0
  314. package/src/icons/svg/tech/circuit.svg +15 -0
  315. package/src/icons/svg/tech/code.svg +5 -0
  316. package/src/icons/svg/tech/cpu.svg +12 -0
  317. package/src/icons/svg/tech/git-branch.svg +6 -0
  318. package/src/icons/svg/tech/git-commit.svg +5 -0
  319. package/src/icons/svg/tech/git-merge.svg +7 -0
  320. package/src/icons/svg/tech/git-pull.svg +8 -0
  321. package/src/icons/svg/tech/globe.svg +5 -0
  322. package/src/icons/svg/tech/memory.svg +12 -0
  323. package/src/icons/svg/tech/qr-code.svg +9 -0
  324. package/src/icons/svg/tech/server.svg +7 -0
  325. package/src/icons/svg/tech/settings.svg +4 -0
  326. package/src/icons/svg/tech/signal.svg +7 -0
  327. package/src/icons/svg/tech/sliders.svg +11 -0
  328. package/src/icons/svg/tech/terminal.svg +5 -0
  329. package/src/icons/svg/tech/wifi-off.svg +7 -0
  330. package/src/icons/svg/tech/wifi.svg +6 -0
  331. package/src/icons/svg/tech/zap.svg +3 -0
  332. package/src/icons/types.ts +73 -0
  333. package/src/icons/utils.ts +216 -0
  334. package/src/scss/components/_alerts.scss +76 -0
  335. package/src/scss/components/_badges.scss +198 -0
  336. package/src/scss/components/_buttons.scss +180 -0
  337. package/src/scss/components/_cards.scss +178 -0
  338. package/src/scss/components/_dropdown.scss +213 -0
  339. package/src/scss/components/_index.scss +19 -0
  340. package/src/scss/components/_inputs.scss +193 -0
  341. package/src/scss/components/_modal.scss +303 -0
  342. package/src/scss/components/_nav.scss +116 -0
  343. package/src/scss/components/_progress.scss +218 -0
  344. package/src/scss/components/_skeleton.scss +337 -0
  345. package/src/scss/components/_spinner.scss +300 -0
  346. package/src/scss/components/_tables.scss +244 -0
  347. package/src/scss/components/_tabs.scss +327 -0
  348. package/src/scss/components/_terminal.scss +259 -0
  349. package/src/scss/core/_base.scss +25 -0
  350. package/src/scss/core/_index.scss +6 -0
  351. package/src/scss/core/_layers.scss +5 -0
  352. package/src/scss/core/_mixins.scss +96 -0
  353. package/src/scss/core/_reset.scss +26 -0
  354. package/src/scss/core/_typography.scss +43 -0
  355. package/src/scss/core/_variables.scss +163 -0
  356. package/src/scss/cybercore.scss +46 -0
  357. package/src/scss/effects/_datastream.scss +43 -0
  358. package/src/scss/effects/_glitch.scss +389 -0
  359. package/src/scss/effects/_index.scss +9 -0
  360. package/src/scss/effects/_neon-border.scss +107 -0
  361. package/src/scss/effects/_noise.scss +75 -0
  362. package/src/scss/effects/_scanlines.scss +86 -0
  363. package/src/scss/utilities/_accessibility.scss +57 -0
  364. package/src/scss/utilities/_animation.scss +246 -0
  365. package/src/scss/utilities/_backgrounds.scss +201 -0
  366. package/src/scss/utilities/_borders.scss +198 -0
  367. package/src/scss/utilities/_display.scss +33 -0
  368. package/src/scss/utilities/_filters.scss +279 -0
  369. package/src/scss/utilities/_flex.scss +95 -0
  370. package/src/scss/utilities/_grid.scss +68 -0
  371. package/src/scss/utilities/_icons.scss +152 -0
  372. package/src/scss/utilities/_index.scss +35 -0
  373. package/src/scss/utilities/_interactivity.scss +186 -0
  374. package/src/scss/utilities/_layout.scss +202 -0
  375. package/src/scss/utilities/_position.scss +168 -0
  376. package/src/scss/utilities/_shadows.scss +164 -0
  377. package/src/scss/utilities/_sizing.scss +229 -0
  378. package/src/scss/utilities/_spacing.scss +185 -0
  379. package/src/scss/utilities/_text.scss +177 -0
  380. package/src/scss/utilities/_transforms.scss +212 -0
  381. package/src/scss/utilities/_transitions.scss +174 -0
@@ -0,0 +1,43 @@
1
+ /**
2
+ * WiFi Off Icon
3
+ * @category tech
4
+ */
5
+ import type { IconDefinition } from '../../types';
6
+
7
+ export const wifiOff: IconDefinition = {
8
+ name: 'wifi-off',
9
+ category: 'tech',
10
+ description: 'No WiFi connection',
11
+ tags: ['wifi', 'offline', 'disconnected', 'no-connection', 'disabled'],
12
+ svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
13
+ <line x1="2" y1="2" x2="22" y2="22"/>
14
+ <path d="M8.5 16.5a5 5 0 0 1 7 0"/>
15
+ <path d="M5 12.55a11 11 0 0 1 5.5-2.5"/>
16
+ <path d="M13.5 10.05a11 11 0 0 1 5.5 2.5"/>
17
+ <circle cx="12" cy="20" r="1"/>
18
+ </svg>`,
19
+ variants: {
20
+ solid: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" stroke="none">
21
+ <circle cx="12" cy="20" r="1.5"/>
22
+ <path d="M8.5 16.5c1.9-1.6 4.7-1.6 6.6 0l1.5-1.5c-2.8-2.3-6.8-2.3-9.6 0l1.5 1.5zM5 12.5c2.5-2 5.5-2.5 8-2.5.8 0 1.5.1 2.3.2l1.7-1.7c-1.3-.4-2.6-.6-4-.6-3.5 0-7 1-10 3l1.5 1.5c.2-.2.3-.3.5-.5l1.5 1.5c-.4 0-.8.1-1.5-.4z"/>
23
+ <path d="M2.7 2.3l19 19 1.4-1.4-19-19L2.7 2.3z"/>
24
+ </svg>`,
25
+ duotone: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
26
+ <line x1="2" y1="2" x2="22" y2="22"/>
27
+ <path d="M8.5 16.5a5 5 0 0 1 7 0" opacity="0.3"/>
28
+ <path d="M5 12.55a11 11 0 0 1 5.5-2.5" opacity="0.3"/>
29
+ <path d="M13.5 10.05a11 11 0 0 1 5.5 2.5" opacity="0.3"/>
30
+ <circle cx="12" cy="20" r="1" fill="currentColor"/>
31
+ </svg>`,
32
+ glitch: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
33
+ <line x1="2" y1="2" x2="22" y2="22"/>
34
+ <line x1="2" y1="2" x2="22" y2="22" transform="translate(1,-1)" opacity="0.4"/>
35
+ <path d="M8.5 16.5a5 5 0 0 1 7 0"/>
36
+ <path d="M5 12.55a11 11 0 0 1 5.5-2.5"/>
37
+ <path d="M13.5 10.05a11 11 0 0 1 5.5 2.5"/>
38
+ <circle cx="12" cy="20" r="1"/>
39
+ </svg>`,
40
+ },
41
+ };
42
+
43
+ export default wifiOff;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * WiFi Icon
3
+ * @category tech
4
+ */
5
+ import type { IconDefinition } from '../../types';
6
+
7
+ export const wifi: IconDefinition = {
8
+ name: 'wifi',
9
+ category: 'tech',
10
+ description: 'WiFi connection',
11
+ tags: ['wifi', 'wireless', 'internet', 'connection', 'network'],
12
+ svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
13
+ <path d="M5 12.55a11 11 0 0 1 14 0"/>
14
+ <path d="M7.5 15.5a7 7 0 0 1 9 0"/>
15
+ <path d="M10 18.5a3 3 0 0 1 4 0"/>
16
+ <circle cx="12" cy="21" r="0.5"/>
17
+ </svg>`,
18
+ variants: {
19
+ solid: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" stroke="none">
20
+ <path d="M12 19c-.8 0-1.5.3-2.1.8l-.4.4c-.6.6-.6 1.5 0 2.1.3.3.7.4 1 .4.4 0 .7-.1 1-.4l.4-.4c1.2-1.2 3.1-1.2 4.2 0 .6.6 1.5.6 2.1 0 .6-.6.6-1.5 0-2.1C16.8 19.3 14.5 19 12 19zM5 12.5c5-4 12-4 17 0 .6.5 1.5.4 2 0 .5-.6.4-1.5 0-2-6-5-14-5-20 0-.6.5-.6 1.4 0 2 .5.5 1.4.5 2 0zM7.5 15.5c3.3-2.7 8-2.7 11.3 0 .6.5 1.5.4 2-.1.5-.6.4-1.5-.1-2-4.3-3.5-10.4-3.5-14.7 0-.6.5-.6 1.4-.1 2 .5.6 1.4.6 2 .1z"/>
21
+ </svg>`,
22
+ duotone: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
23
+ <path d="M5 12.55a11 11 0 0 1 14 0" opacity="0.3"/>
24
+ <path d="M7.5 15.5a7 7 0 0 1 9 0" opacity="0.3"/>
25
+ <path d="M10 18.5a3 3 0 0 1 4 0"/>
26
+ <circle cx="12" cy="21" r="0.5" fill="currentColor"/>
27
+ </svg>`,
28
+ glitch: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
29
+ <path d="M5 12.55a11 11 0 0 1 14 0"/>
30
+ <path d="M5 12.55a11 11 0 0 1 14 0" transform="translate(1,-1)" opacity="0.4"/>
31
+ <path d="M7.5 15.5a7 7 0 0 1 9 0"/>
32
+ <path d="M10 18.5a3 3 0 0 1 4 0"/>
33
+ <circle cx="12" cy="21" r="0.5"/>
34
+ </svg>`,
35
+ },
36
+ };
37
+
38
+ export default wifi;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Zap Icon
3
+ * @category tech
4
+ */
5
+ import type { IconDefinition } from '../../types';
6
+
7
+ export const zap: IconDefinition = {
8
+ name: 'zap',
9
+ category: 'tech',
10
+ description: 'Lightning/power (bolt)',
11
+ tags: ['zap', 'lightning', 'bolt', 'power', 'energy', 'fast'],
12
+ svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
13
+ <polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/>
14
+ </svg>`,
15
+ variants: {
16
+ solid: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" stroke="none">
17
+ <polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/>
18
+ </svg>`,
19
+ duotone: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
20
+ <polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2" fill="currentColor" opacity="0.3"/>
21
+ <polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/>
22
+ </svg>`,
23
+ glitch: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
24
+ <polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/>
25
+ <polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2" transform="translate(1,-1)" opacity="0.4"/>
26
+ </svg>`,
27
+ },
28
+ };
29
+
30
+ export default zap;
@@ -0,0 +1,305 @@
1
+ /**
2
+ * Cyber Icons - Master Icon List
3
+ * This defines all icons to be created for the icon system.
4
+ * Use this as a checklist for artist agents to generate icons.
5
+ */
6
+
7
+ import type { IconCategory } from './types';
8
+
9
+ export interface IconSpec {
10
+ name: string;
11
+ description: string;
12
+ tags: string[];
13
+ }
14
+
15
+ export const ICON_LIST: Record<IconCategory, IconSpec[]> = {
16
+ // ═══════════════════════════════════════════════════════════════════════════
17
+ // NAVIGATION - Moving through UI
18
+ // ═══════════════════════════════════════════════════════════════════════════
19
+ navigation: [
20
+ { name: 'arrow-up', description: 'Upward arrow', tags: ['direction', 'up', 'move'] },
21
+ { name: 'arrow-down', description: 'Downward arrow', tags: ['direction', 'down', 'move'] },
22
+ { name: 'arrow-left', description: 'Leftward arrow', tags: ['direction', 'left', 'back'] },
23
+ {
24
+ name: 'arrow-right',
25
+ description: 'Rightward arrow',
26
+ tags: ['direction', 'right', 'forward'],
27
+ },
28
+ {
29
+ name: 'chevron-up',
30
+ description: 'Chevron pointing up',
31
+ tags: ['expand', 'collapse', 'accordion'],
32
+ },
33
+ {
34
+ name: 'chevron-down',
35
+ description: 'Chevron pointing down',
36
+ tags: ['expand', 'dropdown', 'accordion'],
37
+ },
38
+ {
39
+ name: 'chevron-left',
40
+ description: 'Chevron pointing left',
41
+ tags: ['back', 'previous', 'carousel'],
42
+ },
43
+ {
44
+ name: 'chevron-right',
45
+ description: 'Chevron pointing right',
46
+ tags: ['next', 'forward', 'carousel'],
47
+ },
48
+ { name: 'home', description: 'Home/dashboard', tags: ['main', 'start', 'dashboard'] },
49
+ { name: 'menu', description: 'Hamburger menu', tags: ['navigation', 'sidebar', 'mobile'] },
50
+ {
51
+ name: 'menu-dots',
52
+ description: 'Three dots menu (kebab)',
53
+ tags: ['more', 'options', 'overflow'],
54
+ },
55
+ {
56
+ name: 'external-link',
57
+ description: 'External link indicator',
58
+ tags: ['new-tab', 'outbound', 'link'],
59
+ },
60
+ {
61
+ name: 'maximize',
62
+ description: 'Maximize/fullscreen',
63
+ tags: ['expand', 'fullscreen', 'window'],
64
+ },
65
+ {
66
+ name: 'minimize',
67
+ description: 'Minimize/exit fullscreen',
68
+ tags: ['collapse', 'exit', 'window'],
69
+ },
70
+ ],
71
+
72
+ // ═══════════════════════════════════════════════════════════════════════════
73
+ // ACTIONS - User interactions
74
+ // ═══════════════════════════════════════════════════════════════════════════
75
+ actions: [
76
+ { name: 'search', description: 'Search/find', tags: ['find', 'lookup', 'query'] },
77
+ { name: 'filter', description: 'Filter results', tags: ['sort', 'refine', 'funnel'] },
78
+ { name: 'sort', description: 'Sort order', tags: ['order', 'arrange', 'list'] },
79
+ { name: 'edit', description: 'Edit/modify', tags: ['pencil', 'modify', 'change'] },
80
+ { name: 'delete', description: 'Delete/remove', tags: ['trash', 'remove', 'destroy'] },
81
+ { name: 'copy', description: 'Copy to clipboard', tags: ['duplicate', 'clipboard', 'clone'] },
82
+ { name: 'paste', description: 'Paste from clipboard', tags: ['clipboard', 'insert'] },
83
+ { name: 'cut', description: 'Cut to clipboard', tags: ['scissors', 'move', 'clipboard'] },
84
+ { name: 'download', description: 'Download file', tags: ['save', 'export', 'get'] },
85
+ { name: 'upload', description: 'Upload file', tags: ['import', 'send', 'attach'] },
86
+ { name: 'share', description: 'Share content', tags: ['send', 'social', 'distribute'] },
87
+ { name: 'save', description: 'Save changes', tags: ['disk', 'store', 'persist'] },
88
+ { name: 'undo', description: 'Undo action', tags: ['revert', 'back', 'history'] },
89
+ { name: 'redo', description: 'Redo action', tags: ['forward', 'repeat', 'history'] },
90
+ { name: 'plus', description: 'Add/create new', tags: ['add', 'new', 'create'] },
91
+ { name: 'minus', description: 'Remove/subtract', tags: ['remove', 'decrease', 'subtract'] },
92
+ { name: 'check', description: 'Confirm/checkmark', tags: ['done', 'complete', 'approve'] },
93
+ { name: 'x', description: 'Close/cancel', tags: ['close', 'cancel', 'dismiss'] },
94
+ { name: 'refresh', description: 'Refresh/reload', tags: ['reload', 'sync', 'update'] },
95
+ { name: 'drag', description: 'Drag handle', tags: ['move', 'reorder', 'grip'] },
96
+ { name: 'pin', description: 'Pin/bookmark', tags: ['favorite', 'save', 'bookmark'] },
97
+ { name: 'link', description: 'Create link', tags: ['chain', 'url', 'connect'] },
98
+ { name: 'unlink', description: 'Break link', tags: ['disconnect', 'remove-link'] },
99
+ ],
100
+
101
+ // ═══════════════════════════════════════════════════════════════════════════
102
+ // MEDIA - Audio/video controls
103
+ // ═══════════════════════════════════════════════════════════════════════════
104
+ media: [
105
+ { name: 'play', description: 'Play media', tags: ['start', 'video', 'audio'] },
106
+ { name: 'pause', description: 'Pause media', tags: ['stop', 'video', 'audio'] },
107
+ { name: 'stop', description: 'Stop media', tags: ['end', 'video', 'audio'] },
108
+ { name: 'skip-back', description: 'Skip to previous', tags: ['previous', 'rewind', 'back'] },
109
+ { name: 'skip-forward', description: 'Skip to next', tags: ['next', 'forward', 'advance'] },
110
+ { name: 'rewind', description: 'Rewind', tags: ['back', 'fast-back'] },
111
+ { name: 'fast-forward', description: 'Fast forward', tags: ['forward', 'advance'] },
112
+ { name: 'volume-high', description: 'Volume on/high', tags: ['sound', 'audio', 'speaker'] },
113
+ { name: 'volume-low', description: 'Volume low', tags: ['sound', 'audio', 'quiet'] },
114
+ { name: 'volume-off', description: 'Volume muted', tags: ['mute', 'silent', 'audio'] },
115
+ { name: 'mic', description: 'Microphone on', tags: ['audio', 'record', 'voice'] },
116
+ { name: 'mic-off', description: 'Microphone off', tags: ['mute', 'voice', 'disabled'] },
117
+ { name: 'camera', description: 'Camera/video on', tags: ['video', 'record', 'photo'] },
118
+ { name: 'camera-off', description: 'Camera/video off', tags: ['video', 'disabled'] },
119
+ { name: 'image', description: 'Image/photo', tags: ['picture', 'photo', 'gallery'] },
120
+ { name: 'video', description: 'Video file', tags: ['movie', 'film', 'media'] },
121
+ { name: 'music', description: 'Music/audio file', tags: ['audio', 'song', 'sound'] },
122
+ ],
123
+
124
+ // ═══════════════════════════════════════════════════════════════════════════
125
+ // COMMUNICATION - Messaging & notifications
126
+ // ═══════════════════════════════════════════════════════════════════════════
127
+ communication: [
128
+ { name: 'bell', description: 'Notification bell', tags: ['alert', 'notification', 'alarm'] },
129
+ { name: 'bell-off', description: 'Notifications disabled', tags: ['mute', 'silent', 'dnd'] },
130
+ { name: 'message', description: 'Message/comment', tags: ['chat', 'comment', 'bubble'] },
131
+ { name: 'mail', description: 'Email', tags: ['email', 'envelope', 'inbox'] },
132
+ { name: 'inbox', description: 'Inbox', tags: ['mail', 'messages', 'receive'] },
133
+ { name: 'send', description: 'Send message', tags: ['submit', 'paper-plane', 'dispatch'] },
134
+ { name: 'at-sign', description: 'Mention/at', tags: ['mention', 'email', 'handle'] },
135
+ { name: 'phone', description: 'Phone call', tags: ['call', 'contact', 'telephone'] },
136
+ { name: 'phone-off', description: 'End call', tags: ['hangup', 'disconnect'] },
137
+ { name: 'video-call', description: 'Video call', tags: ['meeting', 'conference', 'chat'] },
138
+ ],
139
+
140
+ // ═══════════════════════════════════════════════════════════════════════════
141
+ // DATA - Information & analytics
142
+ // ═══════════════════════════════════════════════════════════════════════════
143
+ data: [
144
+ { name: 'chart-bar', description: 'Bar chart', tags: ['analytics', 'stats', 'graph'] },
145
+ { name: 'chart-line', description: 'Line chart', tags: ['trend', 'analytics', 'graph'] },
146
+ { name: 'chart-pie', description: 'Pie chart', tags: ['percentage', 'analytics', 'graph'] },
147
+ { name: 'database', description: 'Database', tags: ['storage', 'data', 'backend'] },
148
+ { name: 'table', description: 'Data table', tags: ['grid', 'spreadsheet', 'rows'] },
149
+ { name: 'cloud', description: 'Cloud storage', tags: ['online', 'sync', 'backup'] },
150
+ { name: 'cloud-upload', description: 'Upload to cloud', tags: ['sync', 'backup', 'save'] },
151
+ {
152
+ name: 'cloud-download',
153
+ description: 'Download from cloud',
154
+ tags: ['sync', 'restore', 'get'],
155
+ },
156
+ { name: 'sync', description: 'Sync/synchronize', tags: ['refresh', 'update', 'cloud'] },
157
+ { name: 'calendar', description: 'Calendar/date', tags: ['date', 'schedule', 'event'] },
158
+ { name: 'clock', description: 'Time/clock', tags: ['time', 'schedule', 'duration'] },
159
+ { name: 'timer', description: 'Timer/countdown', tags: ['countdown', 'stopwatch', 'duration'] },
160
+ { name: 'hash', description: 'Hashtag/number', tags: ['tag', 'number', 'category'] },
161
+ { name: 'percent', description: 'Percentage', tags: ['discount', 'ratio', 'stats'] },
162
+ ],
163
+
164
+ // ═══════════════════════════════════════════════════════════════════════════
165
+ // SECURITY - Auth & privacy
166
+ // ═══════════════════════════════════════════════════════════════════════════
167
+ security: [
168
+ { name: 'lock', description: 'Locked/secure', tags: ['secure', 'private', 'protected'] },
169
+ { name: 'unlock', description: 'Unlocked', tags: ['open', 'unsecure', 'access'] },
170
+ { name: 'key', description: 'Key/access', tags: ['password', 'auth', 'credential'] },
171
+ { name: 'shield', description: 'Security shield', tags: ['protect', 'secure', 'guard'] },
172
+ {
173
+ name: 'shield-check',
174
+ description: 'Verified/protected',
175
+ tags: ['verified', 'secure', 'safe'],
176
+ },
177
+ { name: 'shield-x', description: 'Not protected', tags: ['vulnerable', 'warning', 'unsafe'] },
178
+ { name: 'eye', description: 'Visible/show', tags: ['view', 'visible', 'show-password'] },
179
+ { name: 'eye-off', description: 'Hidden/hide', tags: ['hide', 'invisible', 'hide-password'] },
180
+ { name: 'fingerprint', description: 'Biometric auth', tags: ['auth', 'biometric', 'identity'] },
181
+ { name: 'user', description: 'User/profile', tags: ['account', 'person', 'avatar'] },
182
+ { name: 'users', description: 'Multiple users', tags: ['team', 'group', 'people'] },
183
+ { name: 'user-plus', description: 'Add user', tags: ['invite', 'add-member', 'signup'] },
184
+ { name: 'user-minus', description: 'Remove user', tags: ['remove-member', 'kick', 'ban'] },
185
+ { name: 'log-in', description: 'Log in', tags: ['signin', 'auth', 'enter'] },
186
+ { name: 'log-out', description: 'Log out', tags: ['signout', 'exit', 'leave'] },
187
+ ],
188
+
189
+ // ═══════════════════════════════════════════════════════════════════════════
190
+ // TECH - Development & systems
191
+ // ═══════════════════════════════════════════════════════════════════════════
192
+ tech: [
193
+ { name: 'terminal', description: 'Terminal/console', tags: ['cli', 'command', 'shell'] },
194
+ { name: 'code', description: 'Code/programming', tags: ['develop', 'brackets', 'html'] },
195
+ { name: 'chip', description: 'CPU/processor', tags: ['hardware', 'cpu', 'processor'] },
196
+ { name: 'circuit', description: 'Circuit board', tags: ['hardware', 'electronics', 'board'] },
197
+ { name: 'signal', description: 'Signal/broadcast', tags: ['wifi', 'wireless', 'connection'] },
198
+ { name: 'wifi', description: 'WiFi connection', tags: ['internet', 'wireless', 'network'] },
199
+ { name: 'wifi-off', description: 'No WiFi', tags: ['offline', 'disconnected', 'no-internet'] },
200
+ { name: 'bluetooth', description: 'Bluetooth', tags: ['wireless', 'connect', 'pair'] },
201
+ { name: 'server', description: 'Server', tags: ['backend', 'hosting', 'machine'] },
202
+ { name: 'api', description: 'API endpoint', tags: ['interface', 'connect', 'integration'] },
203
+ { name: 'git-branch', description: 'Git branch', tags: ['version', 'branch', 'code'] },
204
+ { name: 'git-commit', description: 'Git commit', tags: ['version', 'save', 'code'] },
205
+ { name: 'git-merge', description: 'Git merge', tags: ['version', 'combine', 'code'] },
206
+ { name: 'git-pull', description: 'Git pull request', tags: ['version', 'review', 'code'] },
207
+ { name: 'bug', description: 'Bug/issue', tags: ['error', 'debug', 'problem'] },
208
+ { name: 'settings', description: 'Settings/config', tags: ['gear', 'config', 'preferences'] },
209
+ { name: 'sliders', description: 'Sliders/adjustments', tags: ['config', 'tune', 'adjust'] },
210
+ { name: 'zap', description: 'Lightning/power', tags: ['fast', 'energy', 'electric'] },
211
+ { name: 'cpu', description: 'CPU usage', tags: ['processor', 'performance', 'load'] },
212
+ { name: 'memory', description: 'Memory/RAM', tags: ['ram', 'storage', 'performance'] },
213
+ { name: 'globe', description: 'Web/internet', tags: ['world', 'website', 'global'] },
214
+ { name: 'qr-code', description: 'QR code', tags: ['scan', 'barcode', 'link'] },
215
+ ],
216
+
217
+ // ═══════════════════════════════════════════════════════════════════════════
218
+ // FILES - Documents & folders
219
+ // ═══════════════════════════════════════════════════════════════════════════
220
+ files: [
221
+ { name: 'file', description: 'Generic file', tags: ['document', 'page', 'blank'] },
222
+ { name: 'file-text', description: 'Text file', tags: ['document', 'txt', 'content'] },
223
+ { name: 'file-code', description: 'Code file', tags: ['source', 'script', 'programming'] },
224
+ { name: 'file-image', description: 'Image file', tags: ['picture', 'photo', 'graphic'] },
225
+ { name: 'file-video', description: 'Video file', tags: ['movie', 'media', 'clip'] },
226
+ { name: 'file-audio', description: 'Audio file', tags: ['music', 'sound', 'mp3'] },
227
+ { name: 'file-archive', description: 'Archive/zip file', tags: ['zip', 'compress', 'package'] },
228
+ { name: 'file-plus', description: 'New file', tags: ['create', 'add', 'new'] },
229
+ { name: 'file-minus', description: 'Remove file', tags: ['delete', 'remove'] },
230
+ { name: 'folder', description: 'Folder', tags: ['directory', 'container', 'organize'] },
231
+ { name: 'folder-open', description: 'Open folder', tags: ['directory', 'browse', 'explore'] },
232
+ { name: 'folder-plus', description: 'New folder', tags: ['create', 'add', 'directory'] },
233
+ { name: 'archive', description: 'Archive', tags: ['storage', 'old', 'backup'] },
234
+ { name: 'clipboard', description: 'Clipboard', tags: ['paste', 'copy', 'buffer'] },
235
+ { name: 'attachment', description: 'Attachment', tags: ['attach', 'paperclip', 'file'] },
236
+ ],
237
+
238
+ // ═══════════════════════════════════════════════════════════════════════════
239
+ // STATUS - States & feedback
240
+ // ═══════════════════════════════════════════════════════════════════════════
241
+ status: [
242
+ { name: 'info', description: 'Information', tags: ['help', 'about', 'details'] },
243
+ { name: 'warning', description: 'Warning/caution', tags: ['alert', 'caution', 'attention'] },
244
+ { name: 'error', description: 'Error/danger', tags: ['danger', 'problem', 'fail'] },
245
+ { name: 'success', description: 'Success/complete', tags: ['done', 'complete', 'check'] },
246
+ { name: 'help', description: 'Help/question', tags: ['question', 'support', 'faq'] },
247
+ { name: 'loading', description: 'Loading spinner', tags: ['wait', 'progress', 'busy'] },
248
+ { name: 'progress', description: 'Progress indicator', tags: ['loading', 'percent', 'bar'] },
249
+ { name: 'online', description: 'Online/connected', tags: ['active', 'available', 'green'] },
250
+ {
251
+ name: 'offline',
252
+ description: 'Offline/disconnected',
253
+ tags: ['inactive', 'unavailable', 'gray'],
254
+ },
255
+ { name: 'battery-full', description: 'Battery full', tags: ['power', 'charge', 'energy'] },
256
+ { name: 'battery-low', description: 'Battery low', tags: ['power', 'charge', 'warning'] },
257
+ {
258
+ name: 'battery-charging',
259
+ description: 'Battery charging',
260
+ tags: ['power', 'charge', 'plug'],
261
+ },
262
+ ],
263
+
264
+ // ═══════════════════════════════════════════════════════════════════════════
265
+ // SOCIAL - Social media & sharing
266
+ // ═══════════════════════════════════════════════════════════════════════════
267
+ social: [
268
+ { name: 'heart', description: 'Like/favorite', tags: ['love', 'favorite', 'like'] },
269
+ {
270
+ name: 'heart-filled',
271
+ description: 'Liked/favorited',
272
+ tags: ['loved', 'favorited', 'active'],
273
+ },
274
+ { name: 'star', description: 'Star/rate', tags: ['favorite', 'rate', 'bookmark'] },
275
+ { name: 'star-filled', description: 'Starred/rated', tags: ['favorited', 'rated', 'active'] },
276
+ { name: 'thumbs-up', description: 'Thumbs up', tags: ['like', 'approve', 'positive'] },
277
+ { name: 'thumbs-down', description: 'Thumbs down', tags: ['dislike', 'reject', 'negative'] },
278
+ { name: 'bookmark', description: 'Bookmark', tags: ['save', 'favorite', 'later'] },
279
+ { name: 'bookmark-filled', description: 'Bookmarked', tags: ['saved', 'favorited', 'active'] },
280
+ { name: 'flag', description: 'Flag/report', tags: ['report', 'mark', 'attention'] },
281
+ { name: 'award', description: 'Award/badge', tags: ['achievement', 'trophy', 'prize'] },
282
+ { name: 'trending', description: 'Trending/popular', tags: ['hot', 'popular', 'rising'] },
283
+ ],
284
+ };
285
+
286
+ /**
287
+ * Get total icon count
288
+ */
289
+ export function getIconCount(): number {
290
+ return Object.values(ICON_LIST).reduce((sum, icons) => sum + icons.length, 0);
291
+ }
292
+
293
+ /**
294
+ * Get all icon names as a flat array
295
+ */
296
+ export function getAllIconNames(): string[] {
297
+ return Object.values(ICON_LIST).flatMap((icons) => icons.map((icon) => icon.name));
298
+ }
299
+
300
+ /**
301
+ * Get icons by category
302
+ */
303
+ export function getIconsByCategory(category: IconCategory): IconSpec[] {
304
+ return ICON_LIST[category] || [];
305
+ }
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Cyber Icons
3
+ * Cyberpunk-themed SVG icon system for CYBERCORE CSS
4
+ *
5
+ * @example Import everything
6
+ * ```ts
7
+ * import * as CyberIcons from 'cybercore-css/icons';
8
+ * CyberIcons.renderIcon('terminal', { size: 24, color: 'cyan' });
9
+ * ```
10
+ *
11
+ * @example Import specific utilities
12
+ * ```ts
13
+ * import { renderIcon, getIcon, icons } from 'cybercore-css/icons';
14
+ * const svg = getIcon('terminal');
15
+ * ```
16
+ *
17
+ * @example Import just the icon registry
18
+ * ```ts
19
+ * import { icons } from 'cybercore-css/icons';
20
+ * const terminalSvg = icons.terminal.svg;
21
+ * ```
22
+ *
23
+ * @example Tree-shakeable individual icon import (SVG strings)
24
+ * ```ts
25
+ * import { ChipIcon, TerminalIcon, SignalIcon } from 'cybercore-css/icons/individual';
26
+ * ```
27
+ *
28
+ * @example Tree-shakeable category import (full definitions)
29
+ * ```ts
30
+ * import { arrowUp, arrowDown } from 'cybercore-css/icons/defs/navigation';
31
+ * import { terminal, chip } from 'cybercore-css/icons/defs/tech';
32
+ * ```
33
+ *
34
+ * @example Build custom registry from definitions
35
+ * ```ts
36
+ * import { buildRegistry, categories } from 'cybercore-css/icons';
37
+ * const registry = buildRegistry(); // All icons
38
+ * const navIcons = categories.navigation; // Just navigation icons
39
+ * ```
40
+ */
41
+
42
+ // Types
43
+ export type {
44
+ IconDefinition,
45
+ IconCategory,
46
+ IconSize,
47
+ IconColor,
48
+ IconVariant,
49
+ IconVariants,
50
+ IconProps,
51
+ IconRegistry,
52
+ } from './types';
53
+
54
+ // Icon list (specs for what icons should exist)
55
+ export { ICON_LIST, getIconCount, getAllIconNames, getIconsByCategory } from './icon-list';
56
+ export type { IconSpec } from './icon-list';
57
+
58
+ // Registry (actual icon SVGs)
59
+ export {
60
+ icons,
61
+ getRegisteredIcons,
62
+ isIconRegistered,
63
+ getIconDefinition,
64
+ registerIcon,
65
+ getRegisteredByCategory,
66
+ } from './registry';
67
+
68
+ // Utilities
69
+ export {
70
+ renderIcon,
71
+ renderIconDef,
72
+ getIcon,
73
+ getIconSvg,
74
+ iconExists,
75
+ hasVariant,
76
+ getVariants,
77
+ createSpriteSheet,
78
+ renderIconRef,
79
+ getIconDataUri,
80
+ } from './utils';
81
+
82
+ /**
83
+ * Quick access: Import a single icon's SVG by name
84
+ * @example const svg = cyberIcon('terminal');
85
+ */
86
+ export { getIcon as cyberIcon } from './utils';
87
+
88
+ // Icon definitions (for tree-shaking and building custom registries)
89
+ export { buildRegistry, categories } from './defs';
90
+
91
+ /**
92
+ * Default export: The full icons registry for convenience
93
+ * @example import icons from '@cybercore/icons';
94
+ */
95
+ export { icons as default } from './registry';