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.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  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-base': 'var(--bg-base)',
  52. 'bg-card': 'var(--bg-card)',
  53. 'text-primary': 'var(--text-primary)',
  54. 'text-secondary': 'var(--text-secondary)',
  55. 'text-disabled': 'var(--text-disabled)',
  56. 'text-input-tip': 'var(--text-input-tip)',
  57. 'border-default': 'var(--border-default)',
  58. 'border-accent': 'var(--border-accent)',
  59. 'border-button': 'var(--border-button)',
  60. 'accent-primary': 'var(--accent-primary)',
  61. 'bg-accent': 'var(--bg-accent)',
  62. 'state-success': 'var(--state-success)',
  63. 'state-warning': 'var(--state-warning)',
  64. 'state-error': 'var(--state-error)',
  65. 'team-group': 'var(--team-group)',
  66. 'team-member': 'var(--team-member)',
  67. 'team-department': 'var(--team-department)',
  68. 'bg-group': 'var(--bg-group)',
  69. 'bg-member': 'var(--bg-member)',
  70. 'bg-department': 'var(--bg-department)',
  71. primary: {
  72. DEFAULT: 'hsl(var(--primary))',
  73. foreground: 'hsl(var(--primary-foreground))',
  74. },
  75. secondary: {
  76. DEFAULT: 'var(--background-inverse-strong)',
  77. foreground: 'var(--background-inverse-strong-foreground)',
  78. },
  79. destructive: {
  80. DEFAULT: 'hsl(var(--destructive))',
  81. foreground: 'hsl(var(--destructive-foreground))',
  82. },
  83. muted: {
  84. DEFAULT: 'hsl(var(--muted))',
  85. foreground: 'hsl(var(--muted-foreground))',
  86. },
  87. accent: {
  88. DEFAULT: 'hsl(var(--accent))',
  89. foreground: 'hsl(var(--accent-foreground))',
  90. },
  91. popover: {
  92. DEFAULT: 'hsl(var(--popover))',
  93. foreground: 'hsl(var(--popover-foreground))',
  94. },
  95. card: {
  96. DEFAULT: 'var(--background-inverse-standard)',
  97. foreground: 'var(--background-inverse-standard-foreground)',
  98. },
  99. backgroundInverseStandard: {
  100. DEFAULT: 'var(--background-inverse-standard)',
  101. foreground: 'var(--background-inverse-standard-foreground)',
  102. },
  103. backgroundInverseWeak: {
  104. DEFAULT: 'var(--background-inverse-weak)',
  105. foreground: 'var(--background-inverse-weak-foreground)',
  106. },
  107. backgroundCoreStandard: {
  108. DEFAULT: 'var(--background-core-standard)',
  109. foreground: 'var(--background-core-standard-foreground)',
  110. },
  111. backgroundCoreWeak: {
  112. DEFAULT: 'var(--background-core-weak)',
  113. foreground: 'var(--background-core-weak-foreground)',
  114. },
  115. 'colors-background-inverse-standard': {
  116. DEFAULT: 'var(--colors-background-inverse-standard)',
  117. foreground: 'var(--colors-background-inverse-standard-foreground)',
  118. },
  119. 'color-background-brand-default': {
  120. DEFAULT: 'var(--color-background-brand-default)',
  121. foreground: 'var(--background-inverse-standard-foreground)',
  122. },
  123. 'color-background-positive-default': {
  124. DEFAULT: 'var(--color-background-positive-default)',
  125. foreground: 'var(--background-inverse-standard-foreground)',
  126. },
  127. 'colors-background-core-standard': {
  128. DEFAULT: 'var(--colors-background-core-standard)',
  129. foreground: 'var(--background-inverse-standard-foreground)',
  130. },
  131. 'colors-background-core-strong': {
  132. DEFAULT: 'var(--colors-background-core-strong)',
  133. foreground: 'var(--background-inverse-standard-foreground)',
  134. },
  135. 'colors-background-core-weak': {
  136. DEFAULT: 'var(--colors-background-core-weak)',
  137. foreground: 'var(--background-inverse-standard-foreground)',
  138. },
  139. 'colors-background-functional-solid-danger': {
  140. DEFAULT: 'var(--colors-background-functional-solid-danger)',
  141. foreground: 'var(--colors-text-inverse-strong)',
  142. },
  143. 'colors-background-functional-solid-notice': {
  144. DEFAULT: 'var(--colors-background-functional-solid-notice)',
  145. foreground: 'var(--background-inverse-standard-foreground)',
  146. },
  147. 'colors-background-functional-solid-positive': {
  148. DEFAULT: 'var(--colors-background-functional-solid-positive)',
  149. foreground: 'var(--background-inverse-standard-foreground)',
  150. },
  151. 'colors-background-functional-transparent-danger': {
  152. DEFAULT: 'var(--colors-background-functional-transparent-danger)',
  153. foreground: 'var(--background-inverse-standard-foreground)',
  154. },
  155. 'colors-background-functional-transparent-notice': {
  156. DEFAULT: 'var(--colors-background-functional-transparent-notice)',
  157. foreground: 'var(--background-inverse-standard-foreground)',
  158. },
  159. 'colors-background-functional-transparent-positive': {
  160. DEFAULT: 'var(--colors-background-functional-transparent-positive)',
  161. foreground: 'var(--background-inverse-standard-foreground)',
  162. },
  163. 'colors-background-inverse-standard': {
  164. DEFAULT: 'var(--colors-background-inverse-standard)',
  165. foreground: 'var(--background-inverse-standard-foreground)',
  166. },
  167. 'colors-background-inverse-strong': {
  168. DEFAULT: 'var(--colors-background-inverse-strong)',
  169. foreground: 'var(--background-inverse-standard-foreground)',
  170. },
  171. 'colors-background-neutral-standard': {
  172. DEFAULT: 'var(--colors-background-neutral-standard)',
  173. foreground: 'var(--background-inverse-standard-foreground)',
  174. },
  175. 'colors-background-neutral-strong': {
  176. DEFAULT: 'var(--colors-background-neutral-strong)',
  177. foreground: 'var(--background-inverse-standard-foreground)',
  178. },
  179. 'colors-background-neutral-weak': {
  180. DEFAULT: 'var(--colors-background-neutral-weak)',
  181. foreground: 'var(--background-inverse-standard-foreground)',
  182. },
  183. 'colors-background-sentiment-solid-primary': {
  184. DEFAULT: 'var(--colors-background-sentiment-solid-primary)',
  185. foreground: 'var(--background-inverse-standard-foreground)',
  186. },
  187. sidebar: {
  188. DEFAULT: 'hsl(var(--sidebar-background))',
  189. foreground: 'hsl(var(--sidebar-foreground))',
  190. primary: 'hsl(var(--sidebar-primary))',
  191. 'primary-foreground': 'hsl(var(--sidebar-primary-foreground))',
  192. accent: 'hsl(var(--sidebar-accent))',
  193. 'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',
  194. border: 'hsl(var(--sidebar-border))',
  195. ring: 'hsl(var(--sidebar-ring))',
  196. },
  197. },
  198. borderRadius: {
  199. lg: `var(--radius)`,
  200. md: `calc(var(--radius) - 2px)`,
  201. sm: 'calc(var(--radius) - 4px)',
  202. },
  203. fontFamily: {
  204. sans: ['var(--font-sans)', ...fontFamily.sans],
  205. },
  206. keyframes: {
  207. 'accordion-down': {
  208. from: { height: '0' },
  209. to: { height: 'var(--radix-accordion-content-height)' },
  210. },
  211. 'accordion-up': {
  212. from: { height: 'var(--radix-accordion-content-height)' },
  213. to: { height: '0' },
  214. },
  215. 'caret-blink': {
  216. '0%,70%,100%': { opacity: '1' },
  217. '20%,50%': { opacity: '0' },
  218. },
  219. },
  220. animation: {
  221. 'accordion-down': 'accordion-down 0.2s ease-out',
  222. 'accordion-up': 'accordion-up 0.2s ease-out',
  223. 'caret-blink': 'caret-blink 1.25s ease-out infinite',
  224. },
  225. },
  226. },
  227. plugins: [
  228. require('tailwindcss-animate'),
  229. require('@tailwindcss/line-clamp'),
  230. require('tailwind-scrollbar'),
  231. ],
  232. };