You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

tailwind.config.js 9.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. const { fontFamily } = require('tailwindcss/defaultTheme');
  2. /** @type {import('tailwindcss').Config} */
  3. module.exports = {
  4. darkMode: ['selector'],
  5. content: [
  6. './src/pages/**/*.tsx',
  7. './src/components/**/*.tsx',
  8. './src/layouts/**/*.tsx',
  9. ],
  10. theme: {
  11. container: {
  12. center: true,
  13. padding: '2rem',
  14. screens: {
  15. '2xl': '1400px',
  16. },
  17. },
  18. extend: {
  19. colors: {
  20. border: 'var(--colors-outline-neutral-strong)',
  21. input: 'hsl(var(--input))',
  22. ring: 'hsl(var(--ring))',
  23. background: 'var(--background)',
  24. foreground: 'var(--colors-text-neutral-strong)',
  25. buttonBlueText: 'var(--button-blue-text)',
  26. 'colors-outline-sentiment-primary':
  27. 'var(--colors-outline-sentiment-primary)',
  28. 'colors-outline-neutral-strong': 'var(--colors-outline-neutral-strong)',
  29. 'colors-outline-neutral-standard':
  30. 'var(--colors-outline-neutral-standard)',
  31. 'colors-text-core-standard': 'var(--colors-text-core-standard)',
  32. 'colors-text-neutral-strong': 'var(--colors-text-neutral-strong)',
  33. 'colors-text-neutral-standard': 'var(--colors-text-neutral-standard)',
  34. 'colors-text-neutral-weak': 'var(--colors-text-neutral-weak)',
  35. 'colors-text-functional-danger': 'var(--colors-text-functional-danger)',
  36. 'colors-text-inverse-strong': 'var(--colors-text-inverse-strong)',
  37. 'colors-text-persist-light': 'var(--colors-text-persist-light)',
  38. 'colors-text-inverse-weak': 'var(--colors-text-inverse-weak)',
  39. 'background-badge': 'var(--background-badge)',
  40. 'text-badge': 'var(--text-badge)',
  41. 'text-title': 'var(--text-title)',
  42. 'text-sub-title': 'var(--text-sub-title)',
  43. 'text-sub-title-invert': 'var(--text-sub-title-invert)',
  44. 'text-title-invert': 'var(--text-title-invert)',
  45. 'background-header-bar': 'var(--background-header-bar)',
  46. 'background-card': 'var(--background-card)',
  47. 'background-note': 'var(--background-note)',
  48. 'background-highlight': 'var(--background-highlight)',
  49. 'input-border': 'var(--input-border)',
  50. /* design colors */
  51. 'bg-title': 'var(--bg-title)',
  52. 'bg-base': 'var(--bg-base)',
  53. 'bg-card': 'var(--bg-card)',
  54. 'bg-component': 'var(--bg-component)',
  55. 'bg-input': 'var(--bg-input)',
  56. 'text-primary': 'var(--text-primary)',
  57. 'text-secondary': 'var(--text-secondary)',
  58. 'text-disabled': 'var(--text-disabled)',
  59. 'text-input-tip': 'var(--text-input-tip)',
  60. 'border-default': 'var(--border-default)',
  61. 'border-accent': 'var(--border-accent)',
  62. 'border-button': 'var(--border-button)',
  63. 'accent-primary': 'var(--accent-primary)',
  64. 'bg-accent': 'var(--bg-accent)',
  65. 'state-success': 'var(--state-success)',
  66. 'state-warning': 'var(--state-warning)',
  67. 'state-error': 'var(--state-error)',
  68. 'team-group': 'var(--team-group)',
  69. 'team-member': 'var(--team-member)',
  70. 'team-department': 'var(--team-department)',
  71. 'bg-group': 'var(--bg-group)',
  72. 'bg-member': 'var(--bg-member)',
  73. 'bg-department': 'var(--bg-department)',
  74. primary: {
  75. DEFAULT: 'hsl(var(--primary))',
  76. foreground: 'hsl(var(--primary-foreground))',
  77. },
  78. secondary: {
  79. DEFAULT: 'var(--background-inverse-strong)',
  80. foreground: 'var(--background-inverse-strong-foreground)',
  81. },
  82. destructive: {
  83. DEFAULT: 'hsl(var(--destructive))',
  84. foreground: 'hsl(var(--destructive-foreground))',
  85. },
  86. muted: {
  87. DEFAULT: 'hsl(var(--muted))',
  88. foreground: 'hsl(var(--muted-foreground))',
  89. },
  90. accent: {
  91. DEFAULT: 'hsl(var(--accent))',
  92. foreground: 'hsl(var(--accent-foreground))',
  93. },
  94. popover: {
  95. DEFAULT: 'hsl(var(--popover))',
  96. foreground: 'hsl(var(--popover-foreground))',
  97. },
  98. card: {
  99. DEFAULT: 'var(--background-inverse-standard)',
  100. foreground: 'var(--background-inverse-standard-foreground)',
  101. },
  102. backgroundInverseStandard: {
  103. DEFAULT: 'var(--background-inverse-standard)',
  104. foreground: 'var(--background-inverse-standard-foreground)',
  105. },
  106. backgroundInverseWeak: {
  107. DEFAULT: 'var(--background-inverse-weak)',
  108. foreground: 'var(--background-inverse-weak-foreground)',
  109. },
  110. backgroundCoreStandard: {
  111. DEFAULT: 'var(--background-core-standard)',
  112. foreground: 'var(--background-core-standard-foreground)',
  113. },
  114. backgroundCoreWeak: {
  115. DEFAULT: 'var(--background-core-weak)',
  116. foreground: 'var(--background-core-weak-foreground)',
  117. },
  118. 'colors-background-inverse-standard': {
  119. DEFAULT: 'var(--colors-background-inverse-standard)',
  120. foreground: 'var(--colors-background-inverse-standard-foreground)',
  121. },
  122. 'color-background-brand-default': {
  123. DEFAULT: 'var(--color-background-brand-default)',
  124. foreground: 'var(--background-inverse-standard-foreground)',
  125. },
  126. 'color-background-positive-default': {
  127. DEFAULT: 'var(--color-background-positive-default)',
  128. foreground: 'var(--background-inverse-standard-foreground)',
  129. },
  130. 'colors-background-core-standard': {
  131. DEFAULT: 'var(--colors-background-core-standard)',
  132. foreground: 'var(--background-inverse-standard-foreground)',
  133. },
  134. 'colors-background-core-strong': {
  135. DEFAULT: 'var(--colors-background-core-strong)',
  136. foreground: 'var(--background-inverse-standard-foreground)',
  137. },
  138. 'colors-background-core-weak': {
  139. DEFAULT: 'var(--colors-background-core-weak)',
  140. foreground: 'var(--background-inverse-standard-foreground)',
  141. },
  142. 'colors-background-functional-solid-danger': {
  143. DEFAULT: 'var(--colors-background-functional-solid-danger)',
  144. foreground: 'var(--colors-text-inverse-strong)',
  145. },
  146. 'colors-background-functional-solid-notice': {
  147. DEFAULT: 'var(--colors-background-functional-solid-notice)',
  148. foreground: 'var(--background-inverse-standard-foreground)',
  149. },
  150. 'colors-background-functional-solid-positive': {
  151. DEFAULT: 'var(--colors-background-functional-solid-positive)',
  152. foreground: 'var(--background-inverse-standard-foreground)',
  153. },
  154. 'colors-background-functional-transparent-danger': {
  155. DEFAULT: 'var(--colors-background-functional-transparent-danger)',
  156. foreground: 'var(--background-inverse-standard-foreground)',
  157. },
  158. 'colors-background-functional-transparent-notice': {
  159. DEFAULT: 'var(--colors-background-functional-transparent-notice)',
  160. foreground: 'var(--background-inverse-standard-foreground)',
  161. },
  162. 'colors-background-functional-transparent-positive': {
  163. DEFAULT: 'var(--colors-background-functional-transparent-positive)',
  164. foreground: 'var(--background-inverse-standard-foreground)',
  165. },
  166. 'colors-background-inverse-standard': {
  167. DEFAULT: 'var(--colors-background-inverse-standard)',
  168. foreground: 'var(--background-inverse-standard-foreground)',
  169. },
  170. 'colors-background-inverse-strong': {
  171. DEFAULT: 'var(--colors-background-inverse-strong)',
  172. foreground: 'var(--background-inverse-standard-foreground)',
  173. },
  174. 'colors-background-neutral-standard': {
  175. DEFAULT: 'var(--colors-background-neutral-standard)',
  176. foreground: 'var(--background-inverse-standard-foreground)',
  177. },
  178. 'colors-background-neutral-strong': {
  179. DEFAULT: 'var(--colors-background-neutral-strong)',
  180. foreground: 'var(--background-inverse-standard-foreground)',
  181. },
  182. 'colors-background-neutral-weak': {
  183. DEFAULT: 'var(--colors-background-neutral-weak)',
  184. foreground: 'var(--background-inverse-standard-foreground)',
  185. },
  186. 'colors-background-sentiment-solid-primary': {
  187. DEFAULT: 'var(--colors-background-sentiment-solid-primary)',
  188. foreground: 'var(--background-inverse-standard-foreground)',
  189. },
  190. sidebar: {
  191. DEFAULT: 'hsl(var(--sidebar-background))',
  192. foreground: 'hsl(var(--sidebar-foreground))',
  193. primary: 'hsl(var(--sidebar-primary))',
  194. 'primary-foreground': 'hsl(var(--sidebar-primary-foreground))',
  195. accent: 'hsl(var(--sidebar-accent))',
  196. 'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',
  197. border: 'hsl(var(--sidebar-border))',
  198. ring: 'hsl(var(--sidebar-ring))',
  199. },
  200. },
  201. backgroundImage: {
  202. 'metallic-gradient':
  203. 'linear-gradient(104deg, var(--text-primary) 30%, var(--metallic) 50%, var(--text-primary) 70%)',
  204. },
  205. borderRadius: {
  206. lg: `var(--radius)`,
  207. md: `calc(var(--radius) - 2px)`,
  208. sm: 'calc(var(--radius) - 4px)',
  209. },
  210. fontFamily: {
  211. sans: ['var(--font-sans)', ...fontFamily.sans],
  212. },
  213. keyframes: {
  214. 'accordion-down': {
  215. from: { height: '0' },
  216. to: { height: 'var(--radix-accordion-content-height)' },
  217. },
  218. 'accordion-up': {
  219. from: { height: 'var(--radix-accordion-content-height)' },
  220. to: { height: '0' },
  221. },
  222. 'caret-blink': {
  223. '0%,70%,100%': { opacity: '1' },
  224. '20%,50%': { opacity: '0' },
  225. },
  226. },
  227. animation: {
  228. 'accordion-down': 'accordion-down 0.2s ease-out',
  229. 'accordion-up': 'accordion-up 0.2s ease-out',
  230. 'caret-blink': 'caret-blink 1.25s ease-out infinite',
  231. },
  232. },
  233. },
  234. plugins: [
  235. require('tailwindcss-animate'),
  236. require('@tailwindcss/line-clamp'),
  237. require('tailwind-scrollbar'),
  238. ],
  239. };