unocss.config.js 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import {
  2. defineConfig,
  3. presetIcons,
  4. presetUno,
  5. extractorSvelte,
  6. presetWebFonts,
  7. } from 'unocss'
  8. export default defineConfig({
  9. theme: {
  10. colors: {
  11. primary: '#FFFFFF',
  12. primaryLighter: '#e9ecef',
  13. darkPrimary: '#1B1B1D',
  14. darkPrimaryLighter: '#242526',
  15. primaryText: '#1C1E21',
  16. darkPrimaryText: '#E3E3E3',
  17. secondaryText: '#858A91',
  18. darkSecondaryText: '#C2C5CA',
  19. accent: '#3578E5',
  20. accentDark: '#306cce',
  21. accentDarker: '#2d66c3',
  22. accentDarkest: '#2554a0',
  23. accentLight: '#538ce9',
  24. accentLighter: '#72a1ed',
  25. accentLightest: '#9abcf2',
  26. accentText: '#FFFFFF',
  27. darkAccent: '#67d6ed',
  28. darkAccentDark: '#49cee9',
  29. darkAccentDarker: '#39cae8',
  30. darkAccentDarkest: '#19b5d5',
  31. darkAccentLight: '#85def1',
  32. darkAccentLighter: '#95e2f2',
  33. darkAccentLightest: '#c2eff8',
  34. darkAccentText: '#1C1E21',
  35. code: '#d6d8da',
  36. codeDark: '#282a2e',
  37. hoverOverlay: 'rgba(0,0,0,.05)',
  38. hoverOverlayDarker: 'rgba(0,0,0,.1)',
  39. darkHoverOverlay: 'hsla(0,0%,100%,.05)',
  40. darkHoverOverlayDarker: 'hsla(0,0%,100%,.1)'
  41. }
  42. },
  43. preflights: [
  44. {
  45. getCSS: ({ theme }) => `
  46. ::-webkit-scrollbar-thumb {
  47. background-color: ${theme.colors.accent};
  48. }
  49. .dark ::-webkit-scrollbar-thumb {
  50. background-color: ${theme.colors.darkAccent};
  51. }
  52. code {
  53. font-size: ${theme.fontSize.xs[0]};
  54. font-family: ${theme.fontFamily.mono};
  55. border-radius: ${theme.borderRadius['DEFAULT']};
  56. background-color: ${theme.colors.code};
  57. }
  58. .code-block {
  59. font-family: ${theme.fontFamily.mono};
  60. font-size: ${theme.fontSize.sm[0]};
  61. }
  62. .dark code {
  63. background-color: ${theme.colors.codeDark};
  64. }
  65. `
  66. }
  67. ],
  68. shortcuts: {
  69. btn: `select-none outline-none shadow-md p-2 rd-1 text-primaryText border-none font-400 dark:font-600
  70. bg-accent hover:bg-accentDarker active:bg-accentDarkest text-accentText
  71. dark:bg-darkAccent dark:hover:bg-darkAccentDarker dark:active:bg-darkAccentDarkest dark:text-darkAccentText`,
  72. nv: `decoration-none flex items-center relative p-2 rd-1 transition-all-125 ease
  73. text-darkSecondaryText
  74. hover:text-accent dark:hover:text-darkAccent
  75. hover:bg-darkHoverOverlay hover:border-l-4`,
  76. nv_selected: `nv bg-darkHoverOverlay text-accent dark:text-darkAccent border-l-4`,
  77. note: `decoration-none flex-inline items-center relative p-2 rd-1
  78. border-l-4 border-accent dark:border-darkAccent
  79. bg-accent/10 dark:bg-darkAccent/10`,
  80. 'note-red':
  81. 'note bg-red-700/10 dark:bg-red-700/10 after:bg-red-700 dark:after:bg-red-700',
  82. input:
  83. 'h-10 flex items-center outline-none border-none p-2 rd-1 shadow-md bg-primaryLighter dark:bg-darkPrimaryLighter text-primaryText dark:text-darkPrimaryText',
  84. },
  85. presets: [presetUno(), presetIcons(), presetWebFonts({
  86. fonts: {
  87. sans: 'Rubik',
  88. mono: ['Fira Code', 'Fira Mono:400,700'],
  89. }
  90. })],
  91. extractors: [extractorSvelte]
  92. })