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,193 @@
1
+ // ============================================================
2
+ // Inputs Component
3
+ // Form elements with cyber styling
4
+ // ============================================================
5
+
6
+ @layer components {
7
+ // --------------------------------------------------------
8
+ // Base Input
9
+ // --------------------------------------------------------
10
+
11
+ .cyber-input {
12
+ --input-accent: var(--cyber-cyan-500);
13
+
14
+ display: block;
15
+ width: 100%;
16
+ padding: var(--space-xs) var(--space-sm);
17
+ border: 1px solid var(--color-border-default);
18
+ border-left: 3px solid var(--input-accent);
19
+ font-family: var(--font-mono);
20
+ font-size: var(--text-base);
21
+ color: var(--color-text-primary);
22
+ background: var(--color-bg-tertiary);
23
+ transition: all var(--duration-fast);
24
+ outline: none;
25
+
26
+ &::placeholder {
27
+ color: var(--color-text-muted);
28
+ }
29
+
30
+ &:focus {
31
+ border-color: var(--input-accent);
32
+ box-shadow:
33
+ 0 0 0 3px color-mix(in srgb, var(--input-accent) 20%, transparent),
34
+ inset 0 0 15px color-mix(in srgb, var(--input-accent) 10%, transparent);
35
+ }
36
+ }
37
+
38
+ // --------------------------------------------------------
39
+ // Field wrapper (label + input)
40
+ // --------------------------------------------------------
41
+
42
+ .cyber-field {
43
+ margin-bottom: var(--space-md);
44
+
45
+ &__label {
46
+ display: block;
47
+ margin-bottom: var(--space-2xs);
48
+ font-family: var(--font-display);
49
+ font-size: var(--text-xs);
50
+ font-weight: 700;
51
+ letter-spacing: 0.1em;
52
+ text-transform: uppercase;
53
+ color: var(--color-text-secondary);
54
+
55
+ &::before {
56
+ content: "> ";
57
+ color: var(--cyber-cyan-500);
58
+ }
59
+ }
60
+ }
61
+
62
+ // --------------------------------------------------------
63
+ // Textarea
64
+ // --------------------------------------------------------
65
+
66
+ .cyber-textarea {
67
+ display: block;
68
+ width: 100%;
69
+ min-height: 120px;
70
+ padding: var(--space-sm);
71
+ border: 1px solid var(--color-border-default);
72
+ border-left: 3px solid var(--cyber-cyan-500);
73
+ border-radius: var(--radius-sm);
74
+ font-family: var(--font-mono);
75
+ font-size: var(--text-sm);
76
+ line-height: 1.6;
77
+ color: var(--color-text-primary);
78
+ background: var(--color-bg-tertiary);
79
+ transition: all var(--duration-fast);
80
+ outline: none;
81
+ resize: vertical;
82
+
83
+ &::placeholder {
84
+ color: var(--color-text-muted);
85
+ }
86
+
87
+ &:focus {
88
+ border-color: var(--cyber-cyan-500);
89
+ box-shadow:
90
+ 0 0 0 3px color-mix(in srgb, var(--cyber-cyan-500) 20%, transparent),
91
+ inset 0 0 15px color-mix(in srgb, var(--cyber-cyan-500) 10%, transparent);
92
+ }
93
+ }
94
+
95
+ // --------------------------------------------------------
96
+ // Select
97
+ // --------------------------------------------------------
98
+
99
+ .cyber-select {
100
+ display: block;
101
+ width: 100%;
102
+ padding: var(--space-xs) var(--space-lg) var(--space-xs) var(--space-sm);
103
+ border: 1px solid var(--color-border-default);
104
+ border-left: 3px solid var(--cyber-magenta-500);
105
+ font-family: var(--font-display);
106
+ font-size: var(--text-sm);
107
+ font-weight: 600;
108
+ letter-spacing: 0.05em;
109
+ text-transform: uppercase;
110
+ color: var(--color-text-primary);
111
+ background: var(--color-bg-tertiary);
112
+
113
+ // Custom dropdown arrow (uses --cyber-magenta-500 hex value as CSS vars don't work in data URIs)
114
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ff2a6d' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
115
+ background-repeat: no-repeat;
116
+ background-position: right var(--space-sm) center;
117
+ transition: all var(--duration-fast);
118
+ cursor: pointer;
119
+ appearance: none;
120
+ outline: none;
121
+
122
+ &:focus {
123
+ border-color: var(--cyber-magenta-500);
124
+ box-shadow:
125
+ 0 0 0 3px color-mix(in srgb, var(--cyber-magenta-500) 20%, transparent),
126
+ inset 0 0 15px color-mix(in srgb, var(--cyber-magenta-500) 10%, transparent);
127
+ }
128
+
129
+ option {
130
+ padding: var(--space-xs);
131
+ color: var(--color-text-primary);
132
+ background: var(--color-bg-secondary);
133
+ }
134
+ }
135
+
136
+ // --------------------------------------------------------
137
+ // Checkbox
138
+ // --------------------------------------------------------
139
+
140
+ .cyber-checkbox {
141
+ display: inline-flex;
142
+ gap: var(--space-xs);
143
+ align-items: center;
144
+ cursor: pointer;
145
+ user-select: none;
146
+
147
+ // Hidden native input
148
+ input {
149
+ position: absolute;
150
+ width: 0;
151
+ height: 0;
152
+ opacity: 0%;
153
+ }
154
+
155
+ &__box {
156
+ position: relative;
157
+ display: flex;
158
+ align-items: center;
159
+ justify-content: center;
160
+ width: 20px;
161
+ height: 20px;
162
+ border: 2px solid var(--cyber-cyan-500);
163
+ background: var(--color-bg-tertiary);
164
+ transition: all var(--duration-fast);
165
+
166
+ // Inner square
167
+ &::before {
168
+ content: "";
169
+ width: 10px;
170
+ height: 10px;
171
+ background: var(--cyber-cyan-500);
172
+ transform: scale(0);
173
+ transition: transform var(--duration-fast) var(--ease-bounce);
174
+ }
175
+ }
176
+
177
+ // Checked state with glow
178
+ input:checked ~ &__box {
179
+ box-shadow: 0 0 10px var(--cyber-cyan-500);
180
+
181
+ &::before {
182
+ transform: scale(1);
183
+ }
184
+ }
185
+
186
+ &__label {
187
+ font-family: var(--font-display);
188
+ font-size: var(--text-sm);
189
+ letter-spacing: 0.05em;
190
+ text-transform: uppercase;
191
+ }
192
+ }
193
+ }
@@ -0,0 +1,303 @@
1
+ // ============================================================
2
+ // Modal Component
3
+ // Dialog overlay with backdrop blur and entrance animation
4
+ // ============================================================
5
+
6
+ @layer components {
7
+ // Modal backdrop
8
+ .cyber-modal {
9
+ --modal-accent: var(--cyber-cyan-500);
10
+
11
+ position: fixed;
12
+ z-index: var(--z-modal, 9000);
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: center;
16
+ padding: var(--space-md);
17
+ background: color-mix(in srgb, var(--cyber-void-500) 80%, transparent);
18
+ opacity: 0%;
19
+ visibility: hidden;
20
+ transition:
21
+ opacity var(--transition-base),
22
+ visibility var(--transition-base);
23
+ -webkit-backdrop-filter: blur(8px);
24
+ backdrop-filter: blur(8px);
25
+ inset: 0;
26
+
27
+ // Open state
28
+ &--open {
29
+ opacity: 100%;
30
+ visibility: visible;
31
+
32
+ .cyber-modal__dialog {
33
+ opacity: 100%;
34
+ transform: translateY(0) scale(1);
35
+ }
36
+ }
37
+
38
+ // Dialog box
39
+ &__dialog {
40
+ position: relative;
41
+ display: flex;
42
+ flex-direction: column;
43
+ width: 100%;
44
+ max-width: 500px;
45
+ max-height: calc(100vh - var(--space-xl));
46
+ border: var(--border-thin) solid var(--color-border-default);
47
+ background: var(--color-bg-secondary);
48
+ box-shadow:
49
+ 0 25px 50px -12px color-mix(in srgb, var(--cyber-void-900) 80%, transparent),
50
+ 0 0 20px color-mix(in srgb, var(--modal-accent) 30%, transparent),
51
+ 0 0 40px color-mix(in srgb, var(--modal-accent) 15%, transparent);
52
+ opacity: 0%;
53
+ transform: translateY(-20px) scale(0.95);
54
+ transition:
55
+ opacity var(--transition-base) var(--ease-out-expo),
56
+ transform var(--transition-base) var(--ease-out-expo);
57
+ clip-path: polygon(
58
+ 0 0,
59
+ calc(100% - 20px) 0,
60
+ 100% 20px,
61
+ 100% 100%,
62
+ 20px 100%,
63
+ 0 calc(100% - 20px)
64
+ );
65
+
66
+ // Corner bracket decorations (matching cards)
67
+ &::before,
68
+ &::after {
69
+ content: "";
70
+ position: absolute;
71
+ z-index: 1;
72
+ width: 30px;
73
+ height: 30px;
74
+ border: 2px solid var(--modal-accent);
75
+ pointer-events: none;
76
+ }
77
+
78
+ &::before {
79
+ top: -1px;
80
+ left: -1px;
81
+ border-right: none;
82
+ border-bottom: none;
83
+ }
84
+
85
+ &::after {
86
+ right: -1px;
87
+ bottom: -1px;
88
+ border-top: none;
89
+ border-left: none;
90
+ }
91
+ }
92
+
93
+ // Modal header
94
+ &__header {
95
+ display: flex;
96
+ gap: var(--space-sm);
97
+ align-items: center;
98
+ padding: var(--space-md);
99
+ border-bottom: var(--border-thin) solid var(--color-border-default);
100
+ }
101
+
102
+ &__title {
103
+ flex: 1;
104
+ margin: 0;
105
+ font-family: var(--font-display);
106
+ font-size: var(--text-lg);
107
+ font-weight: 700;
108
+ letter-spacing: 0.05em;
109
+ text-transform: uppercase;
110
+ color: var(--modal-accent);
111
+ text-shadow: 0 0 10px color-mix(in srgb, var(--modal-accent) 60%, transparent);
112
+ }
113
+
114
+ // Close button
115
+ &__close {
116
+ display: flex;
117
+ align-items: center;
118
+ justify-content: center;
119
+ width: 2rem;
120
+ height: 2rem;
121
+ padding: 0;
122
+ border: var(--border-thin) solid var(--color-border-default);
123
+ color: var(--color-text-secondary);
124
+ background: transparent;
125
+ transition:
126
+ color var(--transition-fast),
127
+ border-color var(--transition-fast),
128
+ background var(--transition-fast);
129
+ cursor: pointer;
130
+
131
+ &:hover {
132
+ border-color: var(--cyber-magenta-500);
133
+ color: var(--cyber-magenta-500);
134
+ background: color-mix(in srgb, var(--cyber-magenta-500) 10%, transparent);
135
+ }
136
+
137
+ &:focus-visible {
138
+ outline: 2px solid var(--cyber-cyan-500);
139
+ outline-offset: 2px;
140
+ }
141
+
142
+ svg {
143
+ width: 1rem;
144
+ height: 1rem;
145
+ }
146
+ }
147
+
148
+ // Modal body
149
+ &__body {
150
+ flex: 1;
151
+ padding: var(--space-md);
152
+ overflow-y: auto;
153
+ line-height: var(--leading-relaxed);
154
+ color: var(--color-text-secondary);
155
+ }
156
+
157
+ // Modal footer
158
+ &__footer {
159
+ display: flex;
160
+ gap: var(--space-sm);
161
+ align-items: center;
162
+ justify-content: flex-end;
163
+ padding: var(--space-md);
164
+ border-top: var(--border-thin) solid var(--color-border-default);
165
+ }
166
+
167
+ // --------------------------------------------------------
168
+ // Size Variants
169
+ // --------------------------------------------------------
170
+
171
+ &--sm .cyber-modal__dialog {
172
+ max-width: 360px;
173
+ }
174
+
175
+ &--lg .cyber-modal__dialog {
176
+ max-width: 720px;
177
+ }
178
+
179
+ &--xl .cyber-modal__dialog {
180
+ max-width: 960px;
181
+ }
182
+
183
+ &--fullscreen .cyber-modal__dialog {
184
+ width: calc(100% - var(--space-lg));
185
+ max-width: none;
186
+ height: calc(100% - var(--space-lg));
187
+ max-height: none;
188
+ }
189
+
190
+ // --------------------------------------------------------
191
+ // Color Variants
192
+ // --------------------------------------------------------
193
+
194
+ &--magenta {
195
+ --modal-accent: var(--cyber-magenta-500);
196
+ }
197
+
198
+ &--yellow {
199
+ --modal-accent: var(--cyber-yellow-500);
200
+ }
201
+
202
+ &--green {
203
+ --modal-accent: var(--cyber-green-500);
204
+ }
205
+
206
+ // --------------------------------------------------------
207
+ // Animation Variants
208
+ // --------------------------------------------------------
209
+
210
+ &--slide-up .cyber-modal__dialog {
211
+ transform: translateY(40px) scale(1);
212
+ }
213
+
214
+ &--slide-up.cyber-modal--open .cyber-modal__dialog {
215
+ transform: translateY(0) scale(1);
216
+ }
217
+
218
+ &--zoom .cyber-modal__dialog {
219
+ transform: scale(0.8);
220
+ }
221
+
222
+ &--zoom.cyber-modal--open .cyber-modal__dialog {
223
+ transform: scale(1);
224
+ }
225
+ }
226
+
227
+ // Confirm modal specific styling
228
+ .cyber-modal-confirm {
229
+ text-align: center;
230
+
231
+ .cyber-modal__body {
232
+ padding: var(--space-lg) var(--space-md);
233
+ }
234
+
235
+ &__icon {
236
+ display: flex;
237
+ align-items: center;
238
+ justify-content: center;
239
+ width: 4rem;
240
+ height: 4rem;
241
+ margin: 0 auto var(--space-md);
242
+ border: var(--border-medium) solid var(--cyber-cyan-500);
243
+ color: var(--cyber-cyan-500);
244
+ background: color-mix(in srgb, var(--cyber-cyan-500) 15%, transparent);
245
+ box-shadow: 0 0 15px color-mix(in srgb, var(--cyber-cyan-500) 40%, transparent);
246
+
247
+ svg {
248
+ width: 2rem;
249
+ height: 2rem;
250
+ }
251
+
252
+ &--warning {
253
+ border-color: var(--cyber-yellow-500);
254
+ color: var(--cyber-yellow-500);
255
+ background: color-mix(in srgb, var(--cyber-yellow-500) 15%, transparent);
256
+ box-shadow: 0 0 15px color-mix(in srgb, var(--cyber-yellow-500) 40%, transparent);
257
+ }
258
+
259
+ &--error {
260
+ border-color: var(--cyber-magenta-500);
261
+ color: var(--cyber-magenta-500);
262
+ background: color-mix(in srgb, var(--cyber-magenta-500) 15%, transparent);
263
+ box-shadow: 0 0 15px color-mix(in srgb, var(--cyber-magenta-500) 40%, transparent);
264
+ }
265
+
266
+ &--success {
267
+ border-color: var(--cyber-green-500);
268
+ color: var(--cyber-green-500);
269
+ background: color-mix(in srgb, var(--cyber-green-500) 15%, transparent);
270
+ box-shadow: 0 0 15px color-mix(in srgb, var(--cyber-green-500) 40%, transparent);
271
+ }
272
+ }
273
+
274
+ &__title {
275
+ margin: 0 0 var(--space-xs);
276
+ font-family: var(--font-display);
277
+ font-size: var(--text-xl);
278
+ font-weight: 700;
279
+ letter-spacing: 0.05em;
280
+ text-transform: uppercase;
281
+ color: var(--color-text-primary);
282
+ }
283
+
284
+ &__message {
285
+ margin: 0;
286
+ color: var(--color-text-secondary);
287
+ }
288
+ }
289
+
290
+ // --------------------------------------------------------
291
+ // Reduced motion support
292
+ // --------------------------------------------------------
293
+
294
+ @media (prefers-reduced-motion: reduce) {
295
+ .cyber-modal {
296
+ transition: none;
297
+
298
+ &__dialog {
299
+ transition: none;
300
+ }
301
+ }
302
+ }
303
+ }
@@ -0,0 +1,116 @@
1
+ // ============================================================
2
+ // Navigation Component
3
+ // Sticky navbar with backdrop blur
4
+ // ============================================================
5
+
6
+ @layer components {
7
+ .cyber-nav {
8
+ position: sticky;
9
+ top: 0;
10
+ z-index: 100;
11
+ display: flex;
12
+ gap: var(--space-md);
13
+ align-items: center;
14
+ padding: var(--space-sm) var(--space-lg);
15
+ border-bottom: 1px solid var(--color-border-default);
16
+ background: var(--color-bg-secondary);
17
+ backdrop-filter: blur(10px);
18
+ }
19
+
20
+ .cyber-nav__brand {
21
+ display: flex;
22
+ gap: var(--space-xs);
23
+ align-items: center;
24
+ font-family: Orbitron, var(--font-display);
25
+ font-size: var(--text-xl);
26
+ font-weight: 800;
27
+ letter-spacing: 0.15em;
28
+ text-decoration: none;
29
+ text-transform: uppercase;
30
+ color: var(--cyber-cyan-500);
31
+ text-shadow: var(--glow-text-cyan);
32
+
33
+ &::before {
34
+ content: "//";
35
+ color: var(--cyber-magenta-500);
36
+ }
37
+ }
38
+
39
+ .cyber-nav__links {
40
+ display: flex;
41
+ gap: var(--space-2xs);
42
+ margin-left: auto;
43
+ list-style: none;
44
+ }
45
+
46
+ .cyber-nav__link {
47
+ position: relative;
48
+ padding: var(--space-xs) var(--space-sm);
49
+ overflow: hidden;
50
+ font-family: var(--font-display);
51
+ font-size: var(--text-sm);
52
+ font-weight: 600;
53
+ letter-spacing: 0.05em;
54
+ text-decoration: none;
55
+ text-transform: uppercase;
56
+ color: var(--color-text-secondary);
57
+ transition: color var(--duration-fast);
58
+
59
+ &::before {
60
+ content: "";
61
+ position: absolute;
62
+ bottom: 0;
63
+ left: 0;
64
+ width: 100%;
65
+ height: 2px;
66
+ background: var(--cyber-cyan-500);
67
+ transform: translateX(-101%);
68
+ transition: transform var(--duration-normal) var(--ease-cyber);
69
+ }
70
+
71
+ &:hover,
72
+ &--active {
73
+ color: var(--cyber-cyan-500);
74
+ }
75
+
76
+ &:hover::before,
77
+ &--active::before {
78
+ transform: translateX(0);
79
+ }
80
+ }
81
+
82
+ // --------------------------------------------------------
83
+ // Status indicator
84
+ // --------------------------------------------------------
85
+
86
+ .cyber-status {
87
+ display: flex;
88
+ gap: var(--space-2xs);
89
+ align-items: center;
90
+ padding: var(--space-3xs) var(--space-xs);
91
+ border: 1px solid var(--cyber-green-500);
92
+ font-family: var(--font-mono);
93
+ font-size: var(--text-xs);
94
+ color: var(--cyber-green-500);
95
+ background: color-mix(in srgb, var(--cyber-green-500) 15%, transparent);
96
+ }
97
+
98
+ .cyber-status__dot {
99
+ width: 8px;
100
+ height: 8px;
101
+ border-radius: 50%;
102
+ background: var(--cyber-green-500);
103
+ animation: pulse-glow 2s infinite;
104
+ }
105
+
106
+ @keyframes pulse-glow {
107
+ 0%,
108
+ 100% {
109
+ box-shadow: 0 0 0 0 var(--cyber-green-500);
110
+ }
111
+
112
+ 50% {
113
+ box-shadow: 0 0 10px 3px var(--cyber-green-500);
114
+ }
115
+ }
116
+ }