tailwind.config.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. // Copyright (C) 2012-2023 Zammad Foundation, https://zammad-foundation.org/
  2. const colors = require('tailwindcss/colors')
  3. const formKitTailwind = require('@formkit/themes/tailwindcss')
  4. const plugin = require('tailwindcss/plugin')
  5. const path = require('path')
  6. // Add the moment we can use one tailwind config for the mobile app, but later we need to check
  7. // how this works with different apps.
  8. module.exports = {
  9. content: [`${path.resolve(__dirname)}/app/frontend/**/*.{js,jsx,ts,tsx,vue}`],
  10. theme: {
  11. fontFamily: {
  12. sans: [
  13. '"Fira Sans"',
  14. '"Helvetica Neue"',
  15. 'Helvetica',
  16. 'Arial',
  17. 'sans-serif',
  18. ],
  19. },
  20. colors: {
  21. transparent: 'transparent',
  22. current: 'currentColor',
  23. black: {
  24. DEFAULT: '#191919',
  25. full: colors.black,
  26. },
  27. white: colors.white,
  28. gray: {
  29. DEFAULT: '#999999',
  30. 100: '#D1D1D1',
  31. 150: '#D8D8D8',
  32. 200: '#656567',
  33. 300: '#4C4C4D',
  34. 400: '#323234',
  35. 500: '#282829',
  36. 600: '#262627',
  37. highlight: '#99999926',
  38. light: '#25262D99',
  39. },
  40. blue: {
  41. DEFAULT: '#23A2CD',
  42. dark: '#045972',
  43. highlight: '#23A2CD19',
  44. },
  45. yellow: {
  46. DEFAULT: '#FFCE33',
  47. highlight: '#FFCE331A',
  48. inactive: '#A38629',
  49. },
  50. red: {
  51. DEFAULT: '#E54011',
  52. highlight: '#E540111A',
  53. bright: '#FF4008',
  54. dark: '#261F1D',
  55. },
  56. green: {
  57. DEFAULT: '#36AF6A',
  58. highlight: '#38AD691A',
  59. },
  60. pink: '#EA4D84',
  61. 'dark-blue': '#045972',
  62. orange: '#F39804',
  63. },
  64. minWidth: {
  65. '1/2': '50%',
  66. },
  67. },
  68. plugins: [
  69. formKitTailwind,
  70. plugin(({ addVariant, matchUtilities, theme }) => {
  71. matchUtilities(
  72. {
  73. 'pb-safe': (value) => ({
  74. paddingBottom: `calc(var(--safe-bottom, 0) + ${value})`,
  75. }),
  76. 'mb-safe': (value) => ({
  77. marginBottom: `calc(var(--safe-bottom, 0) + ${value})`,
  78. }),
  79. },
  80. { values: theme('padding') },
  81. )
  82. addVariant('formkit-populated', [
  83. '&[data-populated]',
  84. '[data-populated] &',
  85. '[data-populated]&',
  86. ])
  87. addVariant('formkit-required', [
  88. '&[data-required]',
  89. '[data-required] &',
  90. '[data-required]&',
  91. ])
  92. addVariant('formkit-dirty', [
  93. '&[data-dirty]',
  94. '[data-dirty] &',
  95. '[data-dirty]&',
  96. ])
  97. addVariant('formkit-is-checked', [
  98. '&[data-is-checked]',
  99. '[data-is-checked] &',
  100. '[data-is-checked]&',
  101. ])
  102. addVariant('formkit-label-hidden', [
  103. '&[data-label-hidden]',
  104. '[data-label-hidden] &',
  105. '[data-label-hidden]&',
  106. ])
  107. addVariant('formkit-variant-primary', [
  108. '[data-variant="primary"] &',
  109. '[data-variant="primary"]&',
  110. ])
  111. addVariant('formkit-variant-secondary', [
  112. '[data-variant="secondary"] &',
  113. '[data-variant="secondary"]&',
  114. ])
  115. addVariant('formkit-variant-submit', [
  116. '[data-variant="submit"] &',
  117. '[data-variant="submit"]&',
  118. ])
  119. addVariant('formkit-variant-danger', [
  120. '[data-variant="danger"] &',
  121. '[data-variant="danger"]&',
  122. ])
  123. }),
  124. ],
  125. }