tailwind.config.js 24 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064
  1. /** @type {import('tailwindcss').Config} */
  2. export default {
  3. content: ['./public/**/*.html', './src/**/*.{vue,js,ts,jsx,tsx}'],
  4. presets: [],
  5. darkMode: 'media', // or 'class'
  6. theme: {
  7. accentColor: ({ theme }) => ({
  8. ...theme('colors'),
  9. auto: 'auto',
  10. }),
  11. animation: {
  12. none: 'none',
  13. spin: 'spin 1s linear infinite',
  14. ping: 'ping 1s cubic-bezier(0, 0, 0.2, 1) infinite',
  15. pulse: 'pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite',
  16. bounce: 'bounce 1s infinite',
  17. },
  18. aria: {
  19. busy: 'busy="true"',
  20. checked: 'checked="true"',
  21. disabled: 'disabled="true"',
  22. expanded: 'expanded="true"',
  23. hidden: 'hidden="true"',
  24. pressed: 'pressed="true"',
  25. readonly: 'readonly="true"',
  26. required: 'required="true"',
  27. selected: 'selected="true"',
  28. },
  29. aspectRatio: {
  30. auto: 'auto',
  31. square: '1 / 1',
  32. video: '16 / 9',
  33. },
  34. backdropBlur: ({ theme }) => theme('blur'),
  35. backdropBrightness: ({ theme }) => theme('brightness'),
  36. backdropContrast: ({ theme }) => theme('contrast'),
  37. backdropGrayscale: ({ theme }) => theme('grayscale'),
  38. backdropHueRotate: ({ theme }) => theme('hueRotate'),
  39. backdropInvert: ({ theme }) => theme('invert'),
  40. backdropOpacity: ({ theme }) => theme('opacity'),
  41. backdropSaturate: ({ theme }) => theme('saturate'),
  42. backdropSepia: ({ theme }) => theme('sepia'),
  43. backgroundColor: ({ theme }) => theme('colors'),
  44. backgroundImage: {
  45. none: 'none',
  46. 'gradient-to-t': 'linear-gradient(to top, var(--tw-gradient-stops))',
  47. 'gradient-to-tr': 'linear-gradient(to top right, var(--tw-gradient-stops))',
  48. 'gradient-to-r': 'linear-gradient(to right, var(--tw-gradient-stops))',
  49. 'gradient-to-br': 'linear-gradient(to bottom right, var(--tw-gradient-stops))',
  50. 'gradient-to-b': 'linear-gradient(to bottom, var(--tw-gradient-stops))',
  51. 'gradient-to-bl': 'linear-gradient(to bottom left, var(--tw-gradient-stops))',
  52. 'gradient-to-l': 'linear-gradient(to left, var(--tw-gradient-stops))',
  53. 'gradient-to-tl': 'linear-gradient(to top left, var(--tw-gradient-stops))',
  54. },
  55. backgroundOpacity: ({ theme }) => theme('opacity'),
  56. backgroundPosition: {
  57. bottom: 'bottom',
  58. center: 'center',
  59. left: 'left',
  60. 'left-bottom': 'left bottom',
  61. 'left-top': 'left top',
  62. right: 'right',
  63. 'right-bottom': 'right bottom',
  64. 'right-top': 'right top',
  65. top: 'top',
  66. },
  67. backgroundSize: {
  68. auto: 'auto',
  69. cover: 'cover',
  70. contain: 'contain',
  71. },
  72. blur: {
  73. 0: '0',
  74. none: '',
  75. sm: '4px',
  76. DEFAULT: '8px',
  77. md: '12px',
  78. lg: '16px',
  79. xl: '24px',
  80. '2xl': '40px',
  81. '3xl': '64px',
  82. },
  83. borderColor: ({ theme }) => ({
  84. ...theme('colors'),
  85. DEFAULT: theme('colors.gray.200', 'currentColor'),
  86. }),
  87. borderOpacity: ({ theme }) => theme('opacity'),
  88. borderRadius: {
  89. none: '0px',
  90. sm: '0.125rem',
  91. DEFAULT: '0.25rem',
  92. md: '0.375rem',
  93. lg: '0.5rem',
  94. xl: '0.75rem',
  95. '2xl': '1rem',
  96. '3xl': '1.5rem',
  97. full: '9999px',
  98. },
  99. borderSpacing: ({ theme }) => ({
  100. ...theme('spacing'),
  101. }),
  102. borderWidth: {
  103. DEFAULT: '1px',
  104. 0: '0px',
  105. 2: '2px',
  106. 4: '4px',
  107. 8: '8px',
  108. },
  109. boxShadow: {
  110. sm: '0 1px 2px 0 rgb(0 0 0 / 0.05)',
  111. DEFAULT: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',
  112. md: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',
  113. lg: '0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)',
  114. xl: '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)',
  115. '2xl': '0 25px 50px -12px rgb(0 0 0 / 0.25)',
  116. inner: 'inset 0 2px 4px 0 rgb(0 0 0 / 0.05)',
  117. none: 'none',
  118. },
  119. boxShadowColor: ({ theme }) => theme('colors'),
  120. brightness: {
  121. 0: '0',
  122. 50: '.5',
  123. 75: '.75',
  124. 90: '.9',
  125. 95: '.95',
  126. 100: '1',
  127. 105: '1.05',
  128. 110: '1.1',
  129. 125: '1.25',
  130. 150: '1.5',
  131. 200: '2',
  132. },
  133. caretColor: ({ theme }) => theme('colors'),
  134. colors: ({ colors }) => ({
  135. inherit: colors.inherit,
  136. current: colors.current,
  137. transparent: colors.transparent,
  138. black: colors.black,
  139. white: colors.white,
  140. slate: colors.slate,
  141. gray: colors.gray,
  142. zinc: colors.zinc,
  143. neutral: colors.neutral,
  144. stone: colors.stone,
  145. red: colors.red,
  146. orange: colors.orange,
  147. amber: colors.amber,
  148. yellow: colors.yellow,
  149. lime: colors.lime,
  150. green: colors.green,
  151. emerald: colors.emerald,
  152. teal: colors.teal,
  153. cyan: colors.cyan,
  154. sky: colors.sky,
  155. blue: colors.blue,
  156. indigo: colors.indigo,
  157. violet: colors.violet,
  158. purple: colors.purple,
  159. fuchsia: colors.fuchsia,
  160. pink: colors.pink,
  161. rose: colors.rose,
  162. }),
  163. columns: {
  164. auto: 'auto',
  165. 1: '1',
  166. 2: '2',
  167. 3: '3',
  168. 4: '4',
  169. 5: '5',
  170. 6: '6',
  171. 7: '7',
  172. 8: '8',
  173. 9: '9',
  174. 10: '10',
  175. 11: '11',
  176. 12: '12',
  177. '3xs': '16rem',
  178. '2xs': '18rem',
  179. xs: '20rem',
  180. sm: '24rem',
  181. md: '28rem',
  182. lg: '32rem',
  183. xl: '36rem',
  184. '2xl': '42rem',
  185. '3xl': '48rem',
  186. '4xl': '56rem',
  187. '5xl': '64rem',
  188. '6xl': '72rem',
  189. '7xl': '80rem',
  190. },
  191. container: {},
  192. content: {
  193. none: 'none',
  194. },
  195. contrast: {
  196. 0: '0',
  197. 50: '.5',
  198. 75: '.75',
  199. 100: '1',
  200. 125: '1.25',
  201. 150: '1.5',
  202. 200: '2',
  203. },
  204. cursor: {
  205. auto: 'auto',
  206. default: 'default',
  207. pointer: 'pointer',
  208. wait: 'wait',
  209. text: 'text',
  210. move: 'move',
  211. help: 'help',
  212. 'not-allowed': 'not-allowed',
  213. none: 'none',
  214. 'context-menu': 'context-menu',
  215. progress: 'progress',
  216. cell: 'cell',
  217. crosshair: 'crosshair',
  218. 'vertical-text': 'vertical-text',
  219. alias: 'alias',
  220. copy: 'copy',
  221. 'no-drop': 'no-drop',
  222. grab: 'grab',
  223. grabbing: 'grabbing',
  224. 'all-scroll': 'all-scroll',
  225. 'col-resize': 'col-resize',
  226. 'row-resize': 'row-resize',
  227. 'n-resize': 'n-resize',
  228. 'e-resize': 'e-resize',
  229. 's-resize': 's-resize',
  230. 'w-resize': 'w-resize',
  231. 'ne-resize': 'ne-resize',
  232. 'nw-resize': 'nw-resize',
  233. 'se-resize': 'se-resize',
  234. 'sw-resize': 'sw-resize',
  235. 'ew-resize': 'ew-resize',
  236. 'ns-resize': 'ns-resize',
  237. 'nesw-resize': 'nesw-resize',
  238. 'nwse-resize': 'nwse-resize',
  239. 'zoom-in': 'zoom-in',
  240. 'zoom-out': 'zoom-out',
  241. },
  242. divideColor: ({ theme }) => theme('borderColor'),
  243. divideOpacity: ({ theme }) => theme('borderOpacity'),
  244. divideWidth: ({ theme }) => theme('borderWidth'),
  245. dropShadow: {
  246. sm: '0 1px 1px rgb(0 0 0 / 0.05)',
  247. DEFAULT: ['0 1px 2px rgb(0 0 0 / 0.1)', '0 1px 1px rgb(0 0 0 / 0.06)'],
  248. md: ['0 4px 3px rgb(0 0 0 / 0.07)', '0 2px 2px rgb(0 0 0 / 0.06)'],
  249. lg: ['0 10px 8px rgb(0 0 0 / 0.04)', '0 4px 3px rgb(0 0 0 / 0.1)'],
  250. xl: ['0 20px 13px rgb(0 0 0 / 0.03)', '0 8px 5px rgb(0 0 0 / 0.08)'],
  251. '2xl': '0 25px 25px rgb(0 0 0 / 0.15)',
  252. none: '0 0 #0000',
  253. },
  254. fill: ({ theme }) => ({
  255. none: 'none',
  256. ...theme('colors'),
  257. }),
  258. flex: {
  259. 1: '1 1 0%',
  260. auto: '1 1 auto',
  261. initial: '0 1 auto',
  262. none: 'none',
  263. },
  264. flexBasis: ({ theme }) => ({
  265. auto: 'auto',
  266. ...theme('spacing'),
  267. '1/2': '50%',
  268. '1/3': '33.333333%',
  269. '2/3': '66.666667%',
  270. '1/4': '25%',
  271. '2/4': '50%',
  272. '3/4': '75%',
  273. '1/5': '20%',
  274. '2/5': '40%',
  275. '3/5': '60%',
  276. '4/5': '80%',
  277. '1/6': '16.666667%',
  278. '2/6': '33.333333%',
  279. '3/6': '50%',
  280. '4/6': '66.666667%',
  281. '5/6': '83.333333%',
  282. '1/12': '8.333333%',
  283. '2/12': '16.666667%',
  284. '3/12': '25%',
  285. '4/12': '33.333333%',
  286. '5/12': '41.666667%',
  287. '6/12': '50%',
  288. '7/12': '58.333333%',
  289. '8/12': '66.666667%',
  290. '9/12': '75%',
  291. '10/12': '83.333333%',
  292. '11/12': '91.666667%',
  293. full: '100%',
  294. }),
  295. flexGrow: {
  296. 0: '0',
  297. DEFAULT: '1',
  298. },
  299. flexShrink: {
  300. 0: '0',
  301. DEFAULT: '1',
  302. },
  303. fontFamily: {
  304. sans: [
  305. 'ui-sans-serif',
  306. 'system-ui',
  307. 'sans-serif',
  308. '"Apple Color Emoji"',
  309. '"Segoe UI Emoji"',
  310. '"Segoe UI Symbol"',
  311. '"Noto Color Emoji"',
  312. ],
  313. serif: ['ui-serif', 'Georgia', 'Cambria', '"Times New Roman"', 'Times', 'serif'],
  314. mono: [
  315. 'ui-monospace',
  316. 'SFMono-Regular',
  317. 'Menlo',
  318. 'Monaco',
  319. 'Consolas',
  320. '"Liberation Mono"',
  321. '"Courier New"',
  322. 'monospace',
  323. ],
  324. },
  325. fontSize: {
  326. xs: ['0.75rem', { lineHeight: '1rem' }],
  327. sm: ['0.875rem', { lineHeight: '1.25rem' }],
  328. base: ['1rem', { lineHeight: '1.5rem' }],
  329. lg: ['1.125rem', { lineHeight: '1.75rem' }],
  330. xl: ['1.25rem', { lineHeight: '1.75rem' }],
  331. '2xl': ['1.5rem', { lineHeight: '2rem' }],
  332. '3xl': ['1.875rem', { lineHeight: '2.25rem' }],
  333. '4xl': ['2.25rem', { lineHeight: '2.5rem' }],
  334. '5xl': ['3rem', { lineHeight: '1' }],
  335. '6xl': ['3.75rem', { lineHeight: '1' }],
  336. '7xl': ['4.5rem', { lineHeight: '1' }],
  337. '8xl': ['6rem', { lineHeight: '1' }],
  338. '9xl': ['8rem', { lineHeight: '1' }],
  339. },
  340. fontWeight: {
  341. thin: '100',
  342. extralight: '200',
  343. light: '300',
  344. normal: '400',
  345. medium: '500',
  346. semibold: '600',
  347. bold: '700',
  348. extrabold: '800',
  349. black: '900',
  350. },
  351. gap: ({ theme }) => theme('spacing'),
  352. gradientColorStops: ({ theme }) => theme('colors'),
  353. gradientColorStopPositions: {
  354. '0%': '0%',
  355. '5%': '5%',
  356. '10%': '10%',
  357. '15%': '15%',
  358. '20%': '20%',
  359. '25%': '25%',
  360. '30%': '30%',
  361. '35%': '35%',
  362. '40%': '40%',
  363. '45%': '45%',
  364. '50%': '50%',
  365. '55%': '55%',
  366. '60%': '60%',
  367. '65%': '65%',
  368. '70%': '70%',
  369. '75%': '75%',
  370. '80%': '80%',
  371. '85%': '85%',
  372. '90%': '90%',
  373. '95%': '95%',
  374. '100%': '100%',
  375. },
  376. grayscale: {
  377. 0: '0',
  378. DEFAULT: '100%',
  379. },
  380. gridAutoColumns: {
  381. auto: 'auto',
  382. min: 'min-content',
  383. max: 'max-content',
  384. fr: 'minmax(0, 1fr)',
  385. },
  386. gridAutoRows: {
  387. auto: 'auto',
  388. min: 'min-content',
  389. max: 'max-content',
  390. fr: 'minmax(0, 1fr)',
  391. },
  392. gridColumn: {
  393. auto: 'auto',
  394. 'span-1': 'span 1 / span 1',
  395. 'span-2': 'span 2 / span 2',
  396. 'span-3': 'span 3 / span 3',
  397. 'span-4': 'span 4 / span 4',
  398. 'span-5': 'span 5 / span 5',
  399. 'span-6': 'span 6 / span 6',
  400. 'span-7': 'span 7 / span 7',
  401. 'span-8': 'span 8 / span 8',
  402. 'span-9': 'span 9 / span 9',
  403. 'span-10': 'span 10 / span 10',
  404. 'span-11': 'span 11 / span 11',
  405. 'span-12': 'span 12 / span 12',
  406. 'span-full': '1 / -1',
  407. },
  408. gridColumnEnd: {
  409. auto: 'auto',
  410. 1: '1',
  411. 2: '2',
  412. 3: '3',
  413. 4: '4',
  414. 5: '5',
  415. 6: '6',
  416. 7: '7',
  417. 8: '8',
  418. 9: '9',
  419. 10: '10',
  420. 11: '11',
  421. 12: '12',
  422. 13: '13',
  423. },
  424. gridColumnStart: {
  425. auto: 'auto',
  426. 1: '1',
  427. 2: '2',
  428. 3: '3',
  429. 4: '4',
  430. 5: '5',
  431. 6: '6',
  432. 7: '7',
  433. 8: '8',
  434. 9: '9',
  435. 10: '10',
  436. 11: '11',
  437. 12: '12',
  438. 13: '13',
  439. },
  440. gridRow: {
  441. auto: 'auto',
  442. 'span-1': 'span 1 / span 1',
  443. 'span-2': 'span 2 / span 2',
  444. 'span-3': 'span 3 / span 3',
  445. 'span-4': 'span 4 / span 4',
  446. 'span-5': 'span 5 / span 5',
  447. 'span-6': 'span 6 / span 6',
  448. 'span-7': 'span 7 / span 7',
  449. 'span-8': 'span 8 / span 8',
  450. 'span-9': 'span 9 / span 9',
  451. 'span-10': 'span 10 / span 10',
  452. 'span-11': 'span 11 / span 11',
  453. 'span-12': 'span 12 / span 12',
  454. 'span-full': '1 / -1',
  455. },
  456. gridRowEnd: {
  457. auto: 'auto',
  458. 1: '1',
  459. 2: '2',
  460. 3: '3',
  461. 4: '4',
  462. 5: '5',
  463. 6: '6',
  464. 7: '7',
  465. 8: '8',
  466. 9: '9',
  467. 10: '10',
  468. 11: '11',
  469. 12: '12',
  470. 13: '13',
  471. },
  472. gridRowStart: {
  473. auto: 'auto',
  474. 1: '1',
  475. 2: '2',
  476. 3: '3',
  477. 4: '4',
  478. 5: '5',
  479. 6: '6',
  480. 7: '7',
  481. 8: '8',
  482. 9: '9',
  483. 10: '10',
  484. 11: '11',
  485. 12: '12',
  486. 13: '13',
  487. },
  488. gridTemplateColumns: {
  489. none: 'none',
  490. subgrid: 'subgrid',
  491. 1: 'repeat(1, minmax(0, 1fr))',
  492. 2: 'repeat(2, minmax(0, 1fr))',
  493. 3: 'repeat(3, minmax(0, 1fr))',
  494. 4: 'repeat(4, minmax(0, 1fr))',
  495. 5: 'repeat(5, minmax(0, 1fr))',
  496. 6: 'repeat(6, minmax(0, 1fr))',
  497. 7: 'repeat(7, minmax(0, 1fr))',
  498. 8: 'repeat(8, minmax(0, 1fr))',
  499. 9: 'repeat(9, minmax(0, 1fr))',
  500. 10: 'repeat(10, minmax(0, 1fr))',
  501. 11: 'repeat(11, minmax(0, 1fr))',
  502. 12: 'repeat(12, minmax(0, 1fr))',
  503. },
  504. gridTemplateRows: {
  505. none: 'none',
  506. subgrid: 'subgrid',
  507. 1: 'repeat(1, minmax(0, 1fr))',
  508. 2: 'repeat(2, minmax(0, 1fr))',
  509. 3: 'repeat(3, minmax(0, 1fr))',
  510. 4: 'repeat(4, minmax(0, 1fr))',
  511. 5: 'repeat(5, minmax(0, 1fr))',
  512. 6: 'repeat(6, minmax(0, 1fr))',
  513. 7: 'repeat(7, minmax(0, 1fr))',
  514. 8: 'repeat(8, minmax(0, 1fr))',
  515. 9: 'repeat(9, minmax(0, 1fr))',
  516. 10: 'repeat(10, minmax(0, 1fr))',
  517. 11: 'repeat(11, minmax(0, 1fr))',
  518. 12: 'repeat(12, minmax(0, 1fr))',
  519. },
  520. height: ({ theme }) => ({
  521. auto: 'auto',
  522. ...theme('spacing'),
  523. '1/2': '50%',
  524. '1/3': '33.333333%',
  525. '2/3': '66.666667%',
  526. '1/4': '25%',
  527. '2/4': '50%',
  528. '3/4': '75%',
  529. '1/5': '20%',
  530. '2/5': '40%',
  531. '3/5': '60%',
  532. '4/5': '80%',
  533. '1/6': '16.666667%',
  534. '2/6': '33.333333%',
  535. '3/6': '50%',
  536. '4/6': '66.666667%',
  537. '5/6': '83.333333%',
  538. full: '100%',
  539. screen: '100vh',
  540. svh: '100svh',
  541. lvh: '100lvh',
  542. dvh: '100dvh',
  543. min: 'min-content',
  544. max: 'max-content',
  545. fit: 'fit-content',
  546. }),
  547. hueRotate: {
  548. 0: '0deg',
  549. 15: '15deg',
  550. 30: '30deg',
  551. 60: '60deg',
  552. 90: '90deg',
  553. 180: '180deg',
  554. },
  555. inset: ({ theme }) => ({
  556. auto: 'auto',
  557. ...theme('spacing'),
  558. '1/2': '50%',
  559. '1/3': '33.333333%',
  560. '2/3': '66.666667%',
  561. '1/4': '25%',
  562. '2/4': '50%',
  563. '3/4': '75%',
  564. full: '100%',
  565. }),
  566. invert: {
  567. 0: '0',
  568. DEFAULT: '100%',
  569. },
  570. keyframes: {
  571. spin: {
  572. to: {
  573. transform: 'rotate(360deg)',
  574. },
  575. },
  576. ping: {
  577. '75%, 100%': {
  578. transform: 'scale(2)',
  579. opacity: '0',
  580. },
  581. },
  582. pulse: {
  583. '50%': {
  584. opacity: '.5',
  585. },
  586. },
  587. bounce: {
  588. '0%, 100%': {
  589. transform: 'translateY(-25%)',
  590. animationTimingFunction: 'cubic-bezier(0.8,0,1,1)',
  591. },
  592. '50%': {
  593. transform: 'none',
  594. animationTimingFunction: 'cubic-bezier(0,0,0.2,1)',
  595. },
  596. },
  597. },
  598. letterSpacing: {
  599. tighter: '-0.05em',
  600. tight: '-0.025em',
  601. normal: '0em',
  602. wide: '0.025em',
  603. wider: '0.05em',
  604. widest: '0.1em',
  605. },
  606. lineHeight: {
  607. none: '1',
  608. tight: '1.25',
  609. snug: '1.375',
  610. normal: '1.5',
  611. relaxed: '1.625',
  612. loose: '2',
  613. 3: '.75rem',
  614. 4: '1rem',
  615. 5: '1.25rem',
  616. 6: '1.5rem',
  617. 7: '1.75rem',
  618. 8: '2rem',
  619. 9: '2.25rem',
  620. 10: '2.5rem',
  621. },
  622. listStyleType: {
  623. none: 'none',
  624. disc: 'disc',
  625. decimal: 'decimal',
  626. },
  627. listStyleImage: {
  628. none: 'none',
  629. },
  630. margin: ({ theme }) => ({
  631. auto: 'auto',
  632. ...theme('spacing'),
  633. }),
  634. lineClamp: {
  635. 1: '1',
  636. 2: '2',
  637. 3: '3',
  638. 4: '4',
  639. 5: '5',
  640. 6: '6',
  641. },
  642. maxHeight: ({ theme }) => ({
  643. ...theme('spacing'),
  644. none: 'none',
  645. full: '100%',
  646. screen: '100vh',
  647. svh: '100svh',
  648. lvh: '100lvh',
  649. dvh: '100dvh',
  650. min: 'min-content',
  651. max: 'max-content',
  652. fit: 'fit-content',
  653. }),
  654. maxWidth: ({ theme, breakpoints }) => ({
  655. ...theme('spacing'),
  656. none: 'none',
  657. xs: '20rem',
  658. sm: '24rem',
  659. md: '28rem',
  660. lg: '32rem',
  661. xl: '36rem',
  662. '2xl': '42rem',
  663. '3xl': '48rem',
  664. '4xl': '56rem',
  665. '5xl': '64rem',
  666. '6xl': '72rem',
  667. '7xl': '80rem',
  668. full: '100%',
  669. min: 'min-content',
  670. max: 'max-content',
  671. fit: 'fit-content',
  672. prose: '65ch',
  673. ...breakpoints(theme('screens')),
  674. }),
  675. minHeight: ({ theme }) => ({
  676. ...theme('spacing'),
  677. full: '100%',
  678. screen: '100vh',
  679. svh: '100svh',
  680. lvh: '100lvh',
  681. dvh: '100dvh',
  682. min: 'min-content',
  683. max: 'max-content',
  684. fit: 'fit-content',
  685. }),
  686. minWidth: ({ theme }) => ({
  687. ...theme('spacing'),
  688. full: '100%',
  689. min: 'min-content',
  690. max: 'max-content',
  691. fit: 'fit-content',
  692. }),
  693. objectPosition: {
  694. bottom: 'bottom',
  695. center: 'center',
  696. left: 'left',
  697. 'left-bottom': 'left bottom',
  698. 'left-top': 'left top',
  699. right: 'right',
  700. 'right-bottom': 'right bottom',
  701. 'right-top': 'right top',
  702. top: 'top',
  703. },
  704. opacity: {
  705. 0: '0',
  706. 5: '0.05',
  707. 10: '0.1',
  708. 15: '0.15',
  709. 20: '0.2',
  710. 25: '0.25',
  711. 30: '0.3',
  712. 35: '0.35',
  713. 40: '0.4',
  714. 45: '0.45',
  715. 50: '0.5',
  716. 55: '0.55',
  717. 60: '0.6',
  718. 65: '0.65',
  719. 70: '0.7',
  720. 75: '0.75',
  721. 80: '0.8',
  722. 85: '0.85',
  723. 90: '0.9',
  724. 95: '0.95',
  725. 100: '1',
  726. },
  727. order: {
  728. first: '-9999',
  729. last: '9999',
  730. none: '0',
  731. 1: '1',
  732. 2: '2',
  733. 3: '3',
  734. 4: '4',
  735. 5: '5',
  736. 6: '6',
  737. 7: '7',
  738. 8: '8',
  739. 9: '9',
  740. 10: '10',
  741. 11: '11',
  742. 12: '12',
  743. },
  744. outlineColor: ({ theme }) => theme('colors'),
  745. outlineOffset: {
  746. 0: '0px',
  747. 1: '1px',
  748. 2: '2px',
  749. 4: '4px',
  750. 8: '8px',
  751. },
  752. outlineWidth: {
  753. 0: '0px',
  754. 1: '1px',
  755. 2: '2px',
  756. 4: '4px',
  757. 8: '8px',
  758. },
  759. padding: ({ theme }) => theme('spacing'),
  760. placeholderColor: ({ theme }) => theme('colors'),
  761. placeholderOpacity: ({ theme }) => theme('opacity'),
  762. ringColor: ({ theme }) => ({
  763. DEFAULT: theme('colors.blue.500', '#3b82f6'),
  764. ...theme('colors'),
  765. }),
  766. ringOffsetColor: ({ theme }) => theme('colors'),
  767. ringOffsetWidth: {
  768. 0: '0px',
  769. 1: '1px',
  770. 2: '2px',
  771. 4: '4px',
  772. 8: '8px',
  773. },
  774. ringOpacity: ({ theme }) => ({
  775. DEFAULT: '0.5',
  776. ...theme('opacity'),
  777. }),
  778. ringWidth: {
  779. DEFAULT: '3px',
  780. 0: '0px',
  781. 1: '1px',
  782. 2: '2px',
  783. 4: '4px',
  784. 8: '8px',
  785. },
  786. rotate: {
  787. 0: '0deg',
  788. 1: '1deg',
  789. 2: '2deg',
  790. 3: '3deg',
  791. 6: '6deg',
  792. 12: '12deg',
  793. 45: '45deg',
  794. 90: '90deg',
  795. 180: '180deg',
  796. },
  797. saturate: {
  798. 0: '0',
  799. 50: '.5',
  800. 100: '1',
  801. 150: '1.5',
  802. 200: '2',
  803. },
  804. scale: {
  805. 0: '0',
  806. 50: '.5',
  807. 75: '.75',
  808. 90: '.9',
  809. 95: '.95',
  810. 100: '1',
  811. 105: '1.05',
  812. 110: '1.1',
  813. 125: '1.25',
  814. 150: '1.5',
  815. },
  816. screens: {
  817. sm: '640px',
  818. md: '768px',
  819. lg: '1024px',
  820. xl: '1280px',
  821. '2xl': '1536px',
  822. },
  823. scrollMargin: ({ theme }) => ({
  824. ...theme('spacing'),
  825. }),
  826. scrollPadding: ({ theme }) => theme('spacing'),
  827. sepia: {
  828. 0: '0',
  829. DEFAULT: '100%',
  830. },
  831. skew: {
  832. 0: '0deg',
  833. 1: '1deg',
  834. 2: '2deg',
  835. 3: '3deg',
  836. 6: '6deg',
  837. 12: '12deg',
  838. },
  839. space: ({ theme }) => ({
  840. ...theme('spacing'),
  841. }),
  842. spacing: {
  843. px: '1px',
  844. 0: '0px',
  845. 0.5: '0.125rem',
  846. 1: '0.25rem',
  847. 1.5: '0.375rem',
  848. 2: '0.5rem',
  849. 2.5: '0.625rem',
  850. 3: '0.75rem',
  851. 3.5: '0.875rem',
  852. 4: '1rem',
  853. 5: '1.25rem',
  854. 6: '1.5rem',
  855. 7: '1.75rem',
  856. 8: '2rem',
  857. 9: '2.25rem',
  858. 10: '2.5rem',
  859. 11: '2.75rem',
  860. 12: '3rem',
  861. 14: '3.5rem',
  862. 16: '4rem',
  863. 20: '5rem',
  864. 24: '6rem',
  865. 28: '7rem',
  866. 32: '8rem',
  867. 36: '9rem',
  868. 40: '10rem',
  869. 44: '11rem',
  870. 48: '12rem',
  871. 52: '13rem',
  872. 56: '14rem',
  873. 60: '15rem',
  874. 64: '16rem',
  875. 72: '18rem',
  876. 80: '20rem',
  877. 96: '24rem',
  878. },
  879. stroke: ({ theme }) => ({
  880. none: 'none',
  881. ...theme('colors'),
  882. }),
  883. strokeWidth: {
  884. 0: '0',
  885. 1: '1',
  886. 2: '2',
  887. },
  888. supports: {},
  889. data: {},
  890. textColor: ({ theme }) => theme('colors'),
  891. textDecorationColor: ({ theme }) => theme('colors'),
  892. textDecorationThickness: {
  893. auto: 'auto',
  894. 'from-font': 'from-font',
  895. 0: '0px',
  896. 1: '1px',
  897. 2: '2px',
  898. 4: '4px',
  899. 8: '8px',
  900. },
  901. textIndent: ({ theme }) => ({
  902. ...theme('spacing'),
  903. }),
  904. textOpacity: ({ theme }) => theme('opacity'),
  905. textUnderlineOffset: {
  906. auto: 'auto',
  907. 0: '0px',
  908. 1: '1px',
  909. 2: '2px',
  910. 4: '4px',
  911. 8: '8px',
  912. },
  913. transformOrigin: {
  914. center: 'center',
  915. top: 'top',
  916. 'top-right': 'top right',
  917. right: 'right',
  918. 'bottom-right': 'bottom right',
  919. bottom: 'bottom',
  920. 'bottom-left': 'bottom left',
  921. left: 'left',
  922. 'top-left': 'top left',
  923. },
  924. transitionDelay: {
  925. 0: '0s',
  926. 75: '75ms',
  927. 100: '100ms',
  928. 150: '150ms',
  929. 200: '200ms',
  930. 300: '300ms',
  931. 500: '500ms',
  932. 700: '700ms',
  933. 1000: '1000ms',
  934. },
  935. transitionDuration: {
  936. DEFAULT: '150ms',
  937. 0: '0s',
  938. 75: '75ms',
  939. 100: '100ms',
  940. 150: '150ms',
  941. 200: '200ms',
  942. 300: '300ms',
  943. 500: '500ms',
  944. 700: '700ms',
  945. 1000: '1000ms',
  946. },
  947. transitionProperty: {
  948. none: 'none',
  949. all: 'all',
  950. DEFAULT:
  951. 'color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter',
  952. colors: 'color, background-color, border-color, text-decoration-color, fill, stroke',
  953. opacity: 'opacity',
  954. shadow: 'box-shadow',
  955. transform: 'transform',
  956. },
  957. transitionTimingFunction: {
  958. DEFAULT: 'cubic-bezier(0.4, 0, 0.2, 1)',
  959. linear: 'linear',
  960. in: 'cubic-bezier(0.4, 0, 1, 1)',
  961. out: 'cubic-bezier(0, 0, 0.2, 1)',
  962. 'in-out': 'cubic-bezier(0.4, 0, 0.2, 1)',
  963. },
  964. translate: ({ theme }) => ({
  965. ...theme('spacing'),
  966. '1/2': '50%',
  967. '1/3': '33.333333%',
  968. '2/3': '66.666667%',
  969. '1/4': '25%',
  970. '2/4': '50%',
  971. '3/4': '75%',
  972. full: '100%',
  973. }),
  974. size: ({ theme }) => ({
  975. auto: 'auto',
  976. ...theme('spacing'),
  977. '1/2': '50%',
  978. '1/3': '33.333333%',
  979. '2/3': '66.666667%',
  980. '1/4': '25%',
  981. '2/4': '50%',
  982. '3/4': '75%',
  983. '1/5': '20%',
  984. '2/5': '40%',
  985. '3/5': '60%',
  986. '4/5': '80%',
  987. '1/6': '16.666667%',
  988. '2/6': '33.333333%',
  989. '3/6': '50%',
  990. '4/6': '66.666667%',
  991. '5/6': '83.333333%',
  992. '1/12': '8.333333%',
  993. '2/12': '16.666667%',
  994. '3/12': '25%',
  995. '4/12': '33.333333%',
  996. '5/12': '41.666667%',
  997. '6/12': '50%',
  998. '7/12': '58.333333%',
  999. '8/12': '66.666667%',
  1000. '9/12': '75%',
  1001. '10/12': '83.333333%',
  1002. '11/12': '91.666667%',
  1003. full: '100%',
  1004. min: 'min-content',
  1005. max: 'max-content',
  1006. fit: 'fit-content',
  1007. }),
  1008. width: ({ theme }) => ({
  1009. auto: 'auto',
  1010. ...theme('spacing'),
  1011. '1/2': '50%',
  1012. '1/3': '33.333333%',
  1013. '2/3': '66.666667%',
  1014. '1/4': '25%',
  1015. '2/4': '50%',
  1016. '3/4': '75%',
  1017. '1/5': '20%',
  1018. '2/5': '40%',
  1019. '3/5': '60%',
  1020. '4/5': '80%',
  1021. '1/6': '16.666667%',
  1022. '2/6': '33.333333%',
  1023. '3/6': '50%',
  1024. '4/6': '66.666667%',
  1025. '5/6': '83.333333%',
  1026. '1/12': '8.333333%',
  1027. '2/12': '16.666667%',
  1028. '3/12': '25%',
  1029. '4/12': '33.333333%',
  1030. '5/12': '41.666667%',
  1031. '6/12': '50%',
  1032. '7/12': '58.333333%',
  1033. '8/12': '66.666667%',
  1034. '9/12': '75%',
  1035. '10/12': '83.333333%',
  1036. '11/12': '91.666667%',
  1037. full: '100%',
  1038. screen: '100vw',
  1039. svw: '100svw',
  1040. lvw: '100lvw',
  1041. dvw: '100dvw',
  1042. min: 'min-content',
  1043. max: 'max-content',
  1044. fit: 'fit-content',
  1045. }),
  1046. willChange: {
  1047. auto: 'auto',
  1048. scroll: 'scroll-position',
  1049. contents: 'contents',
  1050. transform: 'transform',
  1051. },
  1052. zIndex: {
  1053. auto: 'auto',
  1054. 0: '0',
  1055. 10: '10',
  1056. 20: '20',
  1057. 30: '30',
  1058. 40: '40',
  1059. 50: '50',
  1060. },
  1061. },
  1062. plugins: [require('@tailwindcss/forms')],
  1063. }