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,300 @@
1
+ // ============================================================
2
+ // Spinner Component
3
+ // Dual-ring counter-rotating loading spinner
4
+ // ============================================================
5
+
6
+ @layer components {
7
+ .cyber-spinner {
8
+ --spinner-size: 48px;
9
+ --spinner-color-primary: var(--cyber-cyan-500);
10
+ --spinner-color-secondary: var(--cyber-magenta-500);
11
+ --spinner-thickness: 3px;
12
+
13
+ position: relative;
14
+ display: inline-block;
15
+ width: var(--spinner-size);
16
+ height: var(--spinner-size);
17
+
18
+ // Both rings share common styles
19
+ &::before,
20
+ &::after {
21
+ content: "";
22
+ position: absolute;
23
+ border: var(--spinner-thickness) solid transparent;
24
+ border-radius: 50%;
25
+ inset: 0;
26
+ will-change: transform;
27
+ }
28
+
29
+ // Outer ring (clockwise) - cyan top border
30
+ &::before {
31
+ animation: spin 1s linear infinite;
32
+ border-top-color: var(--spinner-color-primary);
33
+ }
34
+
35
+ // Inner ring (counter-clockwise) - magenta bottom border
36
+ &::after {
37
+ animation: spin 1s linear infinite reverse;
38
+ animation-delay: -0.5s;
39
+ border-bottom-color: var(--spinner-color-secondary);
40
+ }
41
+
42
+ // --------------------------------------------------------
43
+ // Size Variants
44
+ // --------------------------------------------------------
45
+
46
+ &--xs {
47
+ --spinner-size: 16px;
48
+ --spinner-thickness: 2px;
49
+ }
50
+
51
+ &--sm {
52
+ --spinner-size: 24px;
53
+ --spinner-thickness: 2px;
54
+ }
55
+
56
+ &--md {
57
+ --spinner-size: 48px;
58
+ --spinner-thickness: 3px;
59
+ }
60
+
61
+ &--lg {
62
+ --spinner-size: 64px;
63
+ --spinner-thickness: 4px;
64
+ }
65
+
66
+ &--xl {
67
+ --spinner-size: 96px;
68
+ --spinner-thickness: 5px;
69
+ }
70
+
71
+ // --------------------------------------------------------
72
+ // Color Variants
73
+ // --------------------------------------------------------
74
+
75
+ &--magenta {
76
+ --spinner-color-primary: var(--cyber-magenta-500);
77
+ --spinner-color-secondary: var(--cyber-cyan-500);
78
+ }
79
+
80
+ &--yellow {
81
+ --spinner-color-primary: var(--cyber-yellow-500);
82
+ --spinner-color-secondary: var(--cyber-cyan-500);
83
+ }
84
+
85
+ &--green {
86
+ --spinner-color-primary: var(--cyber-green-500);
87
+ --spinner-color-secondary: var(--cyber-cyan-500);
88
+ }
89
+
90
+ &--chrome {
91
+ --spinner-color-primary: var(--cyber-chrome-400);
92
+ --spinner-color-secondary: var(--cyber-chrome-600);
93
+ }
94
+
95
+ // --------------------------------------------------------
96
+ // Style Variants
97
+ // --------------------------------------------------------
98
+
99
+ // Single ring only
100
+ &--single {
101
+ &::after {
102
+ display: none;
103
+ }
104
+ }
105
+
106
+ // Dotted style
107
+ &--dotted {
108
+ &::before {
109
+ border-width: calc(var(--spinner-thickness) + 1px);
110
+ border-style: dotted;
111
+ }
112
+
113
+ &::after {
114
+ border-width: calc(var(--spinner-thickness) + 1px);
115
+ border-style: dotted;
116
+ }
117
+ }
118
+
119
+ // Glow effect
120
+ &--glow {
121
+ &::before {
122
+ filter: drop-shadow(0 0 4px var(--spinner-color-primary));
123
+ }
124
+
125
+ &::after {
126
+ filter: drop-shadow(0 0 4px var(--spinner-color-secondary));
127
+ }
128
+ }
129
+
130
+ // Pulse animation added
131
+ &--pulse {
132
+ animation: spinner-pulse 1.5s ease-in-out infinite;
133
+ }
134
+ }
135
+
136
+ // Spinner rotation
137
+ @keyframes spin {
138
+ to {
139
+ transform: rotate(360deg);
140
+ }
141
+ }
142
+
143
+ // Pulse animation
144
+ @keyframes spinner-pulse {
145
+ 0%,
146
+ 100% {
147
+ opacity: 100%;
148
+ transform: scale(1);
149
+ }
150
+
151
+ 50% {
152
+ opacity: 60%;
153
+ transform: scale(0.9);
154
+ }
155
+ }
156
+
157
+ // --------------------------------------------------------
158
+ // Alternative Spinner Styles
159
+ // --------------------------------------------------------
160
+
161
+ // Dot spinner (three bouncing dots)
162
+ .cyber-spinner-dots {
163
+ --dot-size: 8px;
164
+ --dot-color: var(--cyber-cyan-500);
165
+
166
+ display: inline-flex;
167
+ gap: 4px;
168
+ align-items: center;
169
+
170
+ span {
171
+ width: var(--dot-size);
172
+ height: var(--dot-size);
173
+ border-radius: 50%;
174
+ background: var(--dot-color);
175
+ animation: spinner-dots-bounce 1.4s ease-in-out infinite;
176
+
177
+ &:nth-child(1) {
178
+ animation-delay: 0s;
179
+ }
180
+
181
+ &:nth-child(2) {
182
+ animation-delay: 0.16s;
183
+ }
184
+
185
+ &:nth-child(3) {
186
+ animation-delay: 0.32s;
187
+ }
188
+ }
189
+
190
+ &--magenta {
191
+ --dot-color: var(--cyber-magenta-500);
192
+ }
193
+
194
+ &--yellow {
195
+ --dot-color: var(--cyber-yellow-500);
196
+ }
197
+
198
+ &--green {
199
+ --dot-color: var(--cyber-green-500);
200
+ }
201
+ }
202
+
203
+ @keyframes spinner-dots-bounce {
204
+ 0%,
205
+ 80%,
206
+ 100% {
207
+ opacity: 50%;
208
+ transform: scale(0.6);
209
+ }
210
+
211
+ 40% {
212
+ opacity: 100%;
213
+ transform: scale(1);
214
+ }
215
+ }
216
+
217
+ // Bar spinner (loading bars)
218
+ .cyber-spinner-bars {
219
+ --bar-width: 4px;
220
+ --bar-height: 24px;
221
+ --bar-color: var(--cyber-cyan-500);
222
+
223
+ display: inline-flex;
224
+ gap: 3px;
225
+ align-items: center;
226
+
227
+ span {
228
+ width: var(--bar-width);
229
+ height: var(--bar-height);
230
+ background: var(--bar-color);
231
+ animation: spinner-bars-scale 1.2s ease-in-out infinite;
232
+
233
+ @for $i from 1 through 5 {
234
+ &:nth-child(#{$i}) {
235
+ animation-delay: #{($i - 1) * 0.1}s;
236
+ }
237
+ }
238
+ }
239
+
240
+ &--magenta {
241
+ --bar-color: var(--cyber-magenta-500);
242
+ }
243
+
244
+ &--yellow {
245
+ --bar-color: var(--cyber-yellow-500);
246
+ }
247
+
248
+ &--green {
249
+ --bar-color: var(--cyber-green-500);
250
+ }
251
+ }
252
+
253
+ @keyframes spinner-bars-scale {
254
+ 0%,
255
+ 40%,
256
+ 100% {
257
+ transform: scaleY(0.4);
258
+ }
259
+
260
+ 20% {
261
+ transform: scaleY(1);
262
+ }
263
+ }
264
+
265
+ // Reduced motion support for accessibility
266
+ @media (prefers-reduced-motion: reduce) {
267
+ .cyber-spinner,
268
+ .cyber-spinner::before,
269
+ .cyber-spinner::after {
270
+ animation: none;
271
+ }
272
+
273
+ .cyber-spinner-dots span,
274
+ .cyber-spinner-bars span {
275
+ animation: none;
276
+ }
277
+ }
278
+
279
+ // Loading overlay
280
+ .cyber-spinner-overlay {
281
+ position: absolute;
282
+ z-index: var(--z-modal);
283
+ display: flex;
284
+ flex-direction: column;
285
+ gap: var(--space-sm);
286
+ align-items: center;
287
+ justify-content: center;
288
+ background: color-mix(in srgb, var(--cyber-void-500) 90%, transparent);
289
+ backdrop-filter: blur(4px);
290
+ inset: 0;
291
+
292
+ &__text {
293
+ font-family: var(--font-mono);
294
+ font-size: var(--text-sm);
295
+ letter-spacing: var(--tracking-wider);
296
+ text-transform: uppercase;
297
+ color: var(--color-text-secondary);
298
+ }
299
+ }
300
+ }
@@ -0,0 +1,244 @@
1
+ // ============================================================
2
+ // Tables Component
3
+ // Data tables with cyber styling
4
+ // ============================================================
5
+
6
+ @layer components {
7
+ .cyber-table {
8
+ width: 100%;
9
+ font-family: var(--font-mono);
10
+ font-size: var(--text-sm);
11
+ border-collapse: collapse;
12
+
13
+ // Table header
14
+ thead {
15
+ background: var(--color-bg-tertiary);
16
+
17
+ th {
18
+ padding: var(--space-sm);
19
+ border-bottom: 2px solid var(--cyber-cyan-500);
20
+ font-family: var(--font-display);
21
+ font-weight: 700;
22
+ letter-spacing: 0.05em;
23
+ text-align: left;
24
+ text-transform: uppercase;
25
+ color: var(--cyber-cyan-500);
26
+
27
+ // Sortable header indicator
28
+ &[data-sortable] {
29
+ cursor: pointer;
30
+ user-select: none;
31
+
32
+ &::after {
33
+ content: "";
34
+ display: inline-block;
35
+ width: 0;
36
+ height: 0;
37
+ margin-left: var(--space-xs);
38
+ border-top: 4px solid currentcolor;
39
+ border-right: 4px solid transparent;
40
+ border-left: 4px solid transparent;
41
+ opacity: 30%;
42
+ transition: opacity var(--transition-fast);
43
+ vertical-align: middle;
44
+ }
45
+
46
+ &:hover::after {
47
+ opacity: 70%;
48
+ }
49
+
50
+ &[data-sort="asc"]::after {
51
+ border-top: none;
52
+ border-bottom: 4px solid currentcolor;
53
+ opacity: 100%;
54
+ }
55
+
56
+ &[data-sort="desc"]::after {
57
+ opacity: 100%;
58
+ }
59
+ }
60
+ }
61
+ }
62
+
63
+ // Table body
64
+ tbody {
65
+ tr {
66
+ transition: background var(--duration-fast);
67
+
68
+ &:hover {
69
+ background: color-mix(in srgb, var(--cyber-cyan-500) 5%, transparent);
70
+ }
71
+ }
72
+
73
+ td {
74
+ padding: var(--space-sm);
75
+ border-bottom: 1px solid var(--color-border-default);
76
+ }
77
+ }
78
+
79
+ // Table footer
80
+ tfoot {
81
+ background: var(--color-bg-tertiary);
82
+
83
+ td {
84
+ padding: var(--space-sm);
85
+ border-top: 1px solid var(--color-border-default);
86
+ font-weight: 600;
87
+ color: var(--color-text-primary);
88
+ }
89
+ }
90
+
91
+ // --------------------------------------------------------
92
+ // Striped Variant
93
+ // --------------------------------------------------------
94
+
95
+ &--striped {
96
+ tbody tr:nth-child(even) {
97
+ background: color-mix(in srgb, var(--cyber-void-500) 50%, transparent);
98
+ }
99
+
100
+ tbody tr:nth-child(even):hover {
101
+ background: color-mix(in srgb, var(--cyber-cyan-500) 8%, transparent);
102
+ }
103
+ }
104
+
105
+ // --------------------------------------------------------
106
+ // Bordered Variant
107
+ // --------------------------------------------------------
108
+
109
+ &--bordered {
110
+ th,
111
+ td {
112
+ border: var(--border-thin) solid var(--color-border-default);
113
+ }
114
+
115
+ thead th {
116
+ border-bottom-color: var(--cyber-cyan-500);
117
+ border-bottom-width: var(--border-medium);
118
+ }
119
+ }
120
+
121
+ // --------------------------------------------------------
122
+ // Compact Variant
123
+ // --------------------------------------------------------
124
+
125
+ &--compact {
126
+ font-size: var(--text-xs);
127
+
128
+ thead th,
129
+ tbody td,
130
+ tfoot td {
131
+ padding: var(--space-xs);
132
+ }
133
+ }
134
+
135
+ // --------------------------------------------------------
136
+ // Responsive wrapper
137
+ // --------------------------------------------------------
138
+
139
+ &-wrapper {
140
+ overflow-x: auto;
141
+ -webkit-overflow-scrolling: touch;
142
+
143
+ // Fade edges to indicate scroll
144
+ &::before,
145
+ &::after {
146
+ content: "";
147
+ position: absolute;
148
+ top: 0;
149
+ bottom: 0;
150
+ width: 20px;
151
+ opacity: 0%;
152
+ transition: opacity var(--transition-fast);
153
+ pointer-events: none;
154
+ }
155
+
156
+ &::before {
157
+ left: 0;
158
+ background: linear-gradient(90deg, var(--color-bg-primary), transparent);
159
+ }
160
+
161
+ &::after {
162
+ right: 0;
163
+ background: linear-gradient(-90deg, var(--color-bg-primary), transparent);
164
+ }
165
+
166
+ &[data-scroll-left]::before {
167
+ opacity: 100%;
168
+ }
169
+
170
+ &[data-scroll-right]::after {
171
+ opacity: 100%;
172
+ }
173
+ }
174
+
175
+ // --------------------------------------------------------
176
+ // Cell utilities
177
+ // --------------------------------------------------------
178
+
179
+ .cell-number {
180
+ font-family: var(--font-mono);
181
+ text-align: right;
182
+ }
183
+
184
+ .cell-status {
185
+ display: inline-flex;
186
+ gap: var(--space-2xs);
187
+ align-items: center;
188
+
189
+ &::before {
190
+ content: "";
191
+ width: 8px;
192
+ height: 8px;
193
+ border-radius: 50%;
194
+ background: var(--cyber-chrome-500);
195
+ }
196
+
197
+ &--active::before {
198
+ background: var(--cyber-green-500);
199
+ box-shadow: 0 0 6px var(--cyber-green-500);
200
+ }
201
+
202
+ &--inactive::before {
203
+ background: var(--cyber-chrome-600);
204
+ }
205
+
206
+ &--pending::before {
207
+ background: var(--cyber-yellow-500);
208
+ animation: status-pulse 1.5s ease-in-out infinite;
209
+ }
210
+
211
+ &--error::before {
212
+ background: var(--cyber-magenta-500);
213
+ }
214
+ }
215
+
216
+ .cell-actions {
217
+ display: flex;
218
+ gap: var(--space-2xs);
219
+ justify-content: flex-end;
220
+ }
221
+
222
+ // Highlighted row
223
+ tr.row-highlight {
224
+ border-left: var(--border-thick) solid var(--cyber-cyan-500);
225
+ background: color-mix(in srgb, var(--cyber-cyan-500) 10%, transparent);
226
+ }
227
+
228
+ // Selected row
229
+ tr.row-selected {
230
+ background: color-mix(in srgb, var(--cyber-cyan-500) 15%, transparent);
231
+ }
232
+ }
233
+
234
+ @keyframes status-pulse {
235
+ 0%,
236
+ 100% {
237
+ opacity: 100%;
238
+ }
239
+
240
+ 50% {
241
+ opacity: 40%;
242
+ }
243
+ }
244
+ }