This is just a technology testing project based on Create React App and TailwindCSS
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.js 24KB

4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945
  1. module.exports = {
  2. future: {
  3. removeDeprecatedGapUtilities: true,
  4. purgeLayersByDefault: true,
  5. },
  6. purge: [
  7. './src/**/*.jsx',
  8. ],
  9. target: 'relaxed',
  10. prefix: '',
  11. important: false,
  12. separator: ':',
  13. theme: {
  14. screens: {
  15. sm: '640px',
  16. md: '768px',
  17. lg: '1024px',
  18. xl: '1280px',
  19. },
  20. colors: {
  21. transparent: 'transparent',
  22. current: 'currentColor',
  23. primary: {
  24. 100: "#e2e2f4",
  25. 200: "#c4c5e8",
  26. 300: "#a7a9dd",
  27. 400: "#898cd1",
  28. 500: "#6c6fc6",
  29. 600: "#4f52ba",
  30. 700: "#3f42a2",
  31. 800: "#333684",
  32. 900: "#282b67",
  33. },
  34. secondary: {
  35. 100: "#eceaac",
  36. 200: "#e5e28b",
  37. 300: "#ddd969",
  38. 400: "#d5d148",
  39. 500: "#c8c22d",
  40. 600: "#a6a226",
  41. 700: "#85821e",
  42. 800: "#646117",
  43. 900: "#43410f",
  44. },
  45. black: '#000',
  46. white: '#fff',
  47. gray: {
  48. 100: '#f7fafc',
  49. 200: '#edf2f7',
  50. 300: '#e2e8f0',
  51. 400: '#cbd5e0',
  52. 500: '#a0aec0',
  53. 600: '#718096',
  54. 700: '#4a5568',
  55. 800: '#2d3748',
  56. 900: '#1a202c',
  57. },
  58. red: {
  59. 100: '#fff5f5',
  60. 200: '#fed7d7',
  61. 300: '#feb2b2',
  62. 400: '#fc8181',
  63. 500: '#f56565',
  64. 600: '#e53e3e',
  65. 700: '#c53030',
  66. 800: '#9b2c2c',
  67. 900: '#742a2a',
  68. },
  69. orange: {
  70. 100: '#fffaf0',
  71. 200: '#feebc8',
  72. 300: '#fbd38d',
  73. 400: '#f6ad55',
  74. 500: '#ed8936',
  75. 600: '#dd6b20',
  76. 700: '#c05621',
  77. 800: '#9c4221',
  78. 900: '#7b341e',
  79. },
  80. yellow: {
  81. 100: '#fffff0',
  82. 200: '#fefcbf',
  83. 300: '#faf089',
  84. 400: '#f6e05e',
  85. 500: '#ecc94b',
  86. 600: '#d69e2e',
  87. 700: '#b7791f',
  88. 800: '#975a16',
  89. 900: '#744210',
  90. },
  91. green: {
  92. 100: '#f0fff4',
  93. 200: '#c6f6d5',
  94. 300: '#9ae6b4',
  95. 400: '#68d391',
  96. 500: '#48bb78',
  97. 600: '#38a169',
  98. 700: '#2f855a',
  99. 800: '#276749',
  100. 900: '#22543d',
  101. },
  102. teal: {
  103. 100: '#e6fffa',
  104. 200: '#b2f5ea',
  105. 300: '#81e6d9',
  106. 400: '#4fd1c5',
  107. 500: '#38b2ac',
  108. 600: '#319795',
  109. 700: '#2c7a7b',
  110. 800: '#285e61',
  111. 900: '#234e52',
  112. },
  113. blue: {
  114. 100: '#ebf8ff',
  115. 200: '#bee3f8',
  116. 300: '#90cdf4',
  117. 400: '#63b3ed',
  118. 500: '#4299e1',
  119. 600: '#3182ce',
  120. 700: '#2b6cb0',
  121. 800: '#2c5282',
  122. 900: '#2a4365',
  123. },
  124. indigo: {
  125. 100: '#ebf4ff',
  126. 200: '#c3dafe',
  127. 300: '#a3bffa',
  128. 400: '#7f9cf5',
  129. 500: '#667eea',
  130. 600: '#5a67d8',
  131. 700: '#4c51bf',
  132. 800: '#434190',
  133. 900: '#3c366b',
  134. },
  135. purple: {
  136. 100: '#faf5ff',
  137. 200: '#e9d8fd',
  138. 300: '#d6bcfa',
  139. 400: '#b794f4',
  140. 500: '#9f7aea',
  141. 600: '#805ad5',
  142. 700: '#6b46c1',
  143. 800: '#553c9a',
  144. 900: '#44337a',
  145. },
  146. pink: {
  147. 100: '#fff5f7',
  148. 200: '#fed7e2',
  149. 300: '#fbb6ce',
  150. 400: '#f687b3',
  151. 500: '#ed64a6',
  152. 600: '#d53f8c',
  153. 700: '#b83280',
  154. 800: '#97266d',
  155. 900: '#702459',
  156. },
  157. },
  158. spacing: {
  159. px: '1px',
  160. '2px': '2px',
  161. '3px': '3px',
  162. '4px': '4px',
  163. '5px': '5px',
  164. '0': '0',
  165. '1': '0.25rem',
  166. '2': '0.5rem',
  167. '3': '0.75rem',
  168. '4': '1rem',
  169. '5': '1.25rem',
  170. '6': '1.5rem',
  171. '8': '2rem',
  172. '10': '2.5rem',
  173. '12': '3rem',
  174. '16': '4rem',
  175. '20': '5rem',
  176. '24': '6rem',
  177. '32': '8rem',
  178. '40': '10rem',
  179. '48': '12rem',
  180. '56': '14rem',
  181. '64': '16rem',
  182. },
  183. backgroundColor: theme => theme('colors'),
  184. backgroundImage: {
  185. none: 'none',
  186. 'gradient-to-t': 'linear-gradient(to top, var(--gradient-color-stops))',
  187. 'gradient-to-tr': 'linear-gradient(to top right, var(--gradient-color-stops))',
  188. 'gradient-to-r': 'linear-gradient(to right, var(--gradient-color-stops))',
  189. 'gradient-to-br': 'linear-gradient(to bottom right, var(--gradient-color-stops))',
  190. 'gradient-to-b': 'linear-gradient(to bottom, var(--gradient-color-stops))',
  191. 'gradient-to-bl': 'linear-gradient(to bottom left, var(--gradient-color-stops))',
  192. 'gradient-to-l': 'linear-gradient(to left, var(--gradient-color-stops))',
  193. 'gradient-to-tl': 'linear-gradient(to top left, var(--gradient-color-stops))',
  194. },
  195. gradientColorStops: theme => theme('colors'),
  196. backgroundOpacity: theme => theme('opacity'),
  197. backgroundPosition: {
  198. bottom: 'bottom',
  199. center: 'center',
  200. left: 'left',
  201. 'left-bottom': 'left bottom',
  202. 'left-top': 'left top',
  203. right: 'right',
  204. 'right-bottom': 'right bottom',
  205. 'right-top': 'right top',
  206. top: 'top',
  207. },
  208. backgroundSize: {
  209. auto: 'auto',
  210. cover: 'cover',
  211. contain: 'contain',
  212. },
  213. borderColor: theme => ({
  214. ...theme('colors'),
  215. default: theme('colors.gray.300', 'currentColor'),
  216. }),
  217. borderOpacity: theme => theme('opacity'),
  218. borderRadius: {
  219. none: '0',
  220. sm: '0.125rem',
  221. default: '0.25rem',
  222. md: '0.375rem',
  223. lg: '0.5rem',
  224. full: '9999px',
  225. },
  226. borderWidth: {
  227. default: '1px',
  228. '0': '0',
  229. '2': '2px',
  230. '4': '4px',
  231. '8': '8px',
  232. },
  233. boxShadow: {
  234. xs: '0 0 0 1px rgba(0, 0, 0, 0.05)',
  235. sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
  236. default: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)',
  237. md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',
  238. lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
  239. xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',
  240. '2xl': '0 25px 50px -12px rgba(0, 0, 0, 0.25)',
  241. inner: 'inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)',
  242. outline: '0 0 0 3px #33368480',
  243. none: 'none',
  244. },
  245. container: {},
  246. cursor: {
  247. auto: 'auto',
  248. default: 'default',
  249. pointer: 'pointer',
  250. wait: 'wait',
  251. text: 'text',
  252. move: 'move',
  253. 'not-allowed': 'not-allowed',
  254. },
  255. divideColor: theme => theme('borderColor'),
  256. divideOpacity: theme => theme('borderOpacity'),
  257. divideWidth: theme => theme('borderWidth'),
  258. fill: {
  259. current: 'currentColor',
  260. },
  261. flex: {
  262. '1': '1 1 0%',
  263. auto: '1 1 auto',
  264. initial: '0 1 auto',
  265. none: 'none',
  266. },
  267. flexGrow: {
  268. '0': '0',
  269. default: '1',
  270. },
  271. flexShrink: {
  272. '0': '0',
  273. default: '1',
  274. },
  275. fontFamily: {
  276. gilroy: ['"Gilroy"'],
  277. sans: [
  278. 'system-ui',
  279. '-apple-system',
  280. 'BlinkMacSystemFont',
  281. '"Segoe UI"',
  282. 'Roboto',
  283. '"Helvetica Neue"',
  284. 'Arial',
  285. '"Noto Sans"',
  286. 'sans-serif',
  287. '"Apple Color Emoji"',
  288. '"Segoe UI Emoji"',
  289. '"Segoe UI Symbol"',
  290. '"Noto Color Emoji"',
  291. ],
  292. serif: ['Georgia', 'Cambria', '"Times New Roman"', 'Times', 'serif'],
  293. mono: ['Menlo', 'Monaco', 'Consolas', '"Liberation Mono"', '"Courier New"', 'monospace'],
  294. },
  295. fontSize: {
  296. xs: '0.75rem',
  297. sm: '0.875rem',
  298. base: '1rem',
  299. lg: '1.125rem',
  300. xl: '1.25rem',
  301. '2xl': '1.5rem',
  302. '3xl': '1.875rem',
  303. '4xl': '2.25rem',
  304. '5xl': '3rem',
  305. '6xl': '4rem',
  306. },
  307. fontWeight: {
  308. hairline: '100',
  309. thin: '200',
  310. light: '300',
  311. normal: '400',
  312. medium: '500',
  313. semibold: '600',
  314. bold: '700',
  315. extrabold: '800',
  316. black: '900',
  317. },
  318. height: theme => ({
  319. auto: 'auto',
  320. ...theme('spacing'),
  321. full: '100%',
  322. screen: '100vh',
  323. }),
  324. inset: {
  325. '0': '0',
  326. '1': '0.25rem',
  327. '2': '0.5rem',
  328. '3': '0.75rem',
  329. '4': '1rem',
  330. '5': '1.25rem',
  331. '6': '1.5rem',
  332. '7': '1.75rem',
  333. '8': '2rem',
  334. '9': '2.25rem',
  335. '10': '2.5rem',
  336. '12': '3rem',
  337. '16': '4rem',
  338. '20': '5rem',
  339. '24': '6rem',
  340. '32': '8rem',
  341. '40': '10rem',
  342. '48': '12rem',
  343. '56': '14rem',
  344. '64': '16rem',
  345. auto: 'auto',
  346. '1/2': '50%',
  347. '1/3': '33%',
  348. '1/4': '25%',
  349. '3/4': '75%',
  350. },
  351. letterSpacing: {
  352. tighter: '-0.05em',
  353. tight: '-0.025em',
  354. normal: '0',
  355. wide: '0.025em',
  356. wider: '0.05em',
  357. widest: '0.1em',
  358. },
  359. lineHeight: {
  360. none: '1',
  361. tight: '1.25',
  362. snug: '1.375',
  363. normal: '1.5',
  364. relaxed: '1.625',
  365. loose: '2',
  366. '3': '.75rem',
  367. '4': '1rem',
  368. '5': '1.25rem',
  369. '6': '1.5rem',
  370. '7': '1.75rem',
  371. '8': '2rem',
  372. '9': '2.25rem',
  373. '10': '2.5rem',
  374. },
  375. listStyleType: {
  376. none: 'none',
  377. disc: 'disc',
  378. decimal: 'decimal',
  379. },
  380. margin: (theme, { negative }) => ({
  381. auto: 'auto',
  382. ...theme('spacing'),
  383. ...negative(theme('spacing')),
  384. }),
  385. maxHeight: {
  386. full: '100%',
  387. screen: '100vh',
  388. 'screen-5': '5vh',
  389. 'screen-10': '10vh',
  390. 'screen-15': '15vh',
  391. 'screen-20': '20vh',
  392. 'screen-25': '25vh',
  393. 'screen-33': '33vh',
  394. 'screen-50': '50vh',
  395. 'screen-66': '66vh',
  396. 'screen-75': '75vh',
  397. 'screen-80': '80vh',
  398. 'screen-85': '85vh',
  399. 'screen-90': '90vh',
  400. 'screen-95': '95vh',
  401. },
  402. maxWidth: (theme, { breakpoints }) => ({
  403. none: 'none',
  404. xs: '20rem',
  405. sm: '24rem',
  406. md: '28rem',
  407. lg: '32rem',
  408. xl: '36rem',
  409. '2xl': '42rem',
  410. '3xl': '48rem',
  411. '4xl': '56rem',
  412. '5xl': '64rem',
  413. '6xl': '72rem',
  414. full: '100%',
  415. ...breakpoints(theme('screens')),
  416. }),
  417. minHeight: {
  418. '0': '0',
  419. full: '100%',
  420. screen: '100vh',
  421. 'screen-5': '5vh',
  422. 'screen-10': '10vh',
  423. 'screen-15': '15vh',
  424. 'screen-20': '20vh',
  425. 'screen-25': '25vh',
  426. 'screen-33': '33vh',
  427. 'screen-50': '50vh',
  428. 'screen-66': '66vh',
  429. 'screen-75': '75vh',
  430. 'screen-80': '80vh',
  431. },
  432. minWidth: {
  433. '0': '0',
  434. full: '100%',
  435. },
  436. objectPosition: {
  437. bottom: 'bottom',
  438. center: 'center',
  439. left: 'left',
  440. 'left-bottom': 'left bottom',
  441. 'left-top': 'left top',
  442. right: 'right',
  443. 'right-bottom': 'right bottom',
  444. 'right-top': 'right top',
  445. top: 'top',
  446. },
  447. opacity: {
  448. '0': '0',
  449. '25': '0.25',
  450. '50': '0.5',
  451. '75': '0.75',
  452. '100': '1',
  453. },
  454. order: {
  455. first: '-9999',
  456. last: '9999',
  457. none: '0',
  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. },
  471. padding: theme => theme('spacing'),
  472. placeholderColor: theme => theme('colors'),
  473. placeholderOpacity: theme => theme('opacity'),
  474. space: (theme, { negative }) => ({
  475. ...theme('spacing'),
  476. ...negative(theme('spacing')),
  477. }),
  478. stroke: {
  479. current: 'currentColor',
  480. },
  481. strokeWidth: {
  482. '0': '0',
  483. '1': '1',
  484. '2': '2',
  485. },
  486. textColor: theme => theme('colors'),
  487. textOpacity: theme => theme('opacity'),
  488. width: theme => ({
  489. auto: 'auto',
  490. ...theme('spacing'),
  491. '1/2': '50%',
  492. '1/3': '33.333333%',
  493. '2/3': '66.666667%',
  494. '1/4': '25%',
  495. '2/4': '50%',
  496. '3/4': '75%',
  497. '1/5': '20%',
  498. '2/5': '40%',
  499. '3/5': '60%',
  500. '4/5': '80%',
  501. '1/6': '16.666667%',
  502. '2/6': '33.333333%',
  503. '3/6': '50%',
  504. '4/6': '66.666667%',
  505. '5/6': '83.333333%',
  506. '1/12': '8.333333%',
  507. '2/12': '16.666667%',
  508. '3/12': '25%',
  509. '4/12': '33.333333%',
  510. '5/12': '41.666667%',
  511. '6/12': '50%',
  512. '7/12': '58.333333%',
  513. '8/12': '66.666667%',
  514. '9/12': '75%',
  515. '10/12': '83.333333%',
  516. '11/12': '91.666667%',
  517. full: '100%',
  518. screen: '100vw',
  519. }),
  520. zIndex: {
  521. auto: 'auto',
  522. '0': '0',
  523. '10': '10',
  524. '20': '20',
  525. '30': '30',
  526. '40': '40',
  527. '50': '50',
  528. },
  529. gap: theme => theme('spacing'),
  530. gridTemplateColumns: {
  531. none: 'none',
  532. '1': 'repeat(1, minmax(0, 1fr))',
  533. '2': 'repeat(2, minmax(0, 1fr))',
  534. '3': 'repeat(3, minmax(0, 1fr))',
  535. '4': 'repeat(4, minmax(0, 1fr))',
  536. '5': 'repeat(5, minmax(0, 1fr))',
  537. '6': 'repeat(6, minmax(0, 1fr))',
  538. '7': 'repeat(7, minmax(0, 1fr))',
  539. '8': 'repeat(8, minmax(0, 1fr))',
  540. '9': 'repeat(9, minmax(0, 1fr))',
  541. '10': 'repeat(10, minmax(0, 1fr))',
  542. '11': 'repeat(11, minmax(0, 1fr))',
  543. '12': 'repeat(12, minmax(0, 1fr))',
  544. },
  545. gridColumn: {
  546. auto: 'auto',
  547. 'span-1': 'span 1 / span 1',
  548. 'span-2': 'span 2 / span 2',
  549. 'span-3': 'span 3 / span 3',
  550. 'span-4': 'span 4 / span 4',
  551. 'span-5': 'span 5 / span 5',
  552. 'span-6': 'span 6 / span 6',
  553. 'span-7': 'span 7 / span 7',
  554. 'span-8': 'span 8 / span 8',
  555. 'span-9': 'span 9 / span 9',
  556. 'span-10': 'span 10 / span 10',
  557. 'span-11': 'span 11 / span 11',
  558. 'span-12': 'span 12 / span 12',
  559. },
  560. gridColumnStart: {
  561. auto: 'auto',
  562. '1': '1',
  563. '2': '2',
  564. '3': '3',
  565. '4': '4',
  566. '5': '5',
  567. '6': '6',
  568. '7': '7',
  569. '8': '8',
  570. '9': '9',
  571. '10': '10',
  572. '11': '11',
  573. '12': '12',
  574. '13': '13',
  575. },
  576. gridColumnEnd: {
  577. auto: 'auto',
  578. '1': '1',
  579. '2': '2',
  580. '3': '3',
  581. '4': '4',
  582. '5': '5',
  583. '6': '6',
  584. '7': '7',
  585. '8': '8',
  586. '9': '9',
  587. '10': '10',
  588. '11': '11',
  589. '12': '12',
  590. '13': '13',
  591. },
  592. gridTemplateRows: {
  593. none: 'none',
  594. '1': 'repeat(1, minmax(0, 1fr))',
  595. '2': 'repeat(2, minmax(0, 1fr))',
  596. '3': 'repeat(3, minmax(0, 1fr))',
  597. '4': 'repeat(4, minmax(0, 1fr))',
  598. '5': 'repeat(5, minmax(0, 1fr))',
  599. '6': 'repeat(6, minmax(0, 1fr))',
  600. },
  601. gridRow: {
  602. auto: 'auto',
  603. 'span-1': 'span 1 / span 1',
  604. 'span-2': 'span 2 / span 2',
  605. 'span-3': 'span 3 / span 3',
  606. 'span-4': 'span 4 / span 4',
  607. 'span-5': 'span 5 / span 5',
  608. 'span-6': 'span 6 / span 6',
  609. },
  610. gridRowStart: {
  611. auto: 'auto',
  612. '1': '1',
  613. '2': '2',
  614. '3': '3',
  615. '4': '4',
  616. '5': '5',
  617. '6': '6',
  618. '7': '7',
  619. },
  620. gridRowEnd: {
  621. auto: 'auto',
  622. '1': '1',
  623. '2': '2',
  624. '3': '3',
  625. '4': '4',
  626. '5': '5',
  627. '6': '6',
  628. '7': '7',
  629. },
  630. transformOrigin: {
  631. center: 'center',
  632. top: 'top',
  633. 'top-right': 'top right',
  634. right: 'right',
  635. 'bottom-right': 'bottom right',
  636. bottom: 'bottom',
  637. 'bottom-left': 'bottom left',
  638. left: 'left',
  639. 'top-left': 'top left',
  640. },
  641. scale: {
  642. '0': '0',
  643. '50': '.5',
  644. '75': '.75',
  645. '90': '.9',
  646. '95': '.95',
  647. '98': '.98',
  648. '100': '1',
  649. '102': '1.02',
  650. '105': '1.05',
  651. '110': '1.1',
  652. '125': '1.25',
  653. '150': '1.5',
  654. },
  655. rotate: {
  656. '-180': '-180deg',
  657. '-90': '-90deg',
  658. '-45': '-45deg',
  659. '0': '0',
  660. '45': '45deg',
  661. '90': '90deg',
  662. '180': '180deg',
  663. },
  664. translate: (theme, { negative }) => ({
  665. ...theme('spacing'),
  666. ...negative(theme('spacing')),
  667. '-full': '-100%',
  668. '-1/2': '-50%',
  669. '1/2': '50%',
  670. full: '100%',
  671. }),
  672. skew: {
  673. '-12': '-12deg',
  674. '-6': '-6deg',
  675. '-3': '-3deg',
  676. '0': '0',
  677. '3': '3deg',
  678. '6': '6deg',
  679. '12': '12deg',
  680. },
  681. transitionProperty: {
  682. none: 'none',
  683. all: 'all',
  684. default: 'background-color, border-color, color, fill, stroke, opacity, box-shadow, transform',
  685. colors: 'background-color, border-color, color, fill, stroke',
  686. opacity: 'opacity',
  687. shadow: 'box-shadow',
  688. transform: 'transform',
  689. },
  690. transitionTimingFunction: {
  691. linear: 'linear',
  692. in: 'cubic-bezier(0.4, 0, 1, 1)',
  693. out: 'cubic-bezier(0, 0, 0.2, 1)',
  694. 'in-out': 'cubic-bezier(0.4, 0, 0.2, 1)',
  695. },
  696. transitionDuration: {
  697. '75': '75ms',
  698. '100': '100ms',
  699. '150': '150ms',
  700. '200': '200ms',
  701. '300': '300ms',
  702. '500': '500ms',
  703. '700': '700ms',
  704. '1000': '1000ms',
  705. },
  706. transitionDelay: {
  707. '75': '75ms',
  708. '100': '100ms',
  709. '150': '150ms',
  710. '200': '200ms',
  711. '300': '300ms',
  712. '500': '500ms',
  713. '700': '700ms',
  714. '1000': '1000ms',
  715. },
  716. animation: {
  717. none: 'none',
  718. spin: 'spin 1s linear infinite',
  719. ping: 'ping 1s cubic-bezier(0, 0, 0.2, 1) infinite',
  720. pulse: 'pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite',
  721. bounce: 'bounce 1s infinite',
  722. },
  723. keyframes: {
  724. spin: {
  725. to: { transform: 'rotate(360deg)' },
  726. },
  727. ping: {
  728. '75%, 100%': { transform: 'scale(2)', opacity: '0' },
  729. },
  730. pulse: {
  731. '50%': { opacity: '.5' },
  732. },
  733. bounce: {
  734. '0%, 100%': {
  735. transform: 'translateY(-25%)',
  736. animationTimingFunction: 'cubic-bezier(0.8,0,1,1)',
  737. },
  738. '50%': {
  739. transform: 'none',
  740. animationTimingFunction: 'cubic-bezier(0,0,0.2,1)',
  741. },
  742. },
  743. },
  744. customForms: theme => ({
  745. default: {
  746. input: {
  747. borderRadius: theme('borderRadius.lg'),
  748. borderWidth: theme('borderWidth.2'),
  749. backgroundColor: theme('colors.white'),
  750. '&:focus': {
  751. backgroundColor: theme('colors.secondary.100'),
  752. boxShadow: theme('boxShadow.outline'),
  753. outline: 'none',
  754. borderColor: theme('colors.transparent'),
  755. },
  756. '&:active': {
  757. backgroundColor: theme('colors.secondary.100'),
  758. }
  759. },
  760. textarea: {
  761. borderRadius: theme('borderRadius.lg'),
  762. borderWidth: theme('borderWidth.2'),
  763. backgroundColor: theme('colors.white'),
  764. '&:focus': {
  765. backgroundColor: theme('colors.secondary.100'),
  766. boxShadow: theme('boxShadow.outline'),
  767. outline: 'none',
  768. borderColor: theme('colors.transparent'),
  769. },
  770. '&:active': {
  771. backgroundColor: theme('colors.secondary.100'),
  772. }
  773. },
  774. select: {
  775. borderWidth: theme('borderWidth.2'),
  776. borderRadius: theme('borderRadius.lg'),
  777. '&:focus': {
  778. boxShadow: theme('boxShadow.outline'),
  779. backgroundColor: theme('colors.secondary.100'),
  780. outline: 'none',
  781. borderColor: theme('colors.transparent'),
  782. },
  783. '&:active': {
  784. backgroundColor: theme('colors.secondary.100'),
  785. }
  786. },
  787. checkbox: {
  788. borderWidth: theme('borderWidth.2'),
  789. width: theme('spacing.5'),
  790. height: theme('spacing.5'),
  791. '&:focus': {
  792. boxShadow: theme('boxShadow.outline'),
  793. outline: 'none',
  794. borderColor: theme('colors.transparent'),
  795. },
  796. },
  797. radio: {
  798. iconColor: theme('colors.primary.800'),
  799. borderWidth: theme('borderWidth.2'),
  800. borderColor: theme('colors.gray.500'),
  801. width: theme('spacing.5'),
  802. height: theme('spacing.5'),
  803. '&:focus': {
  804. boxShadow: theme('boxShadow.outline'),
  805. outline: 'none',
  806. borderColor: theme('colors.transparent'),
  807. },
  808. },
  809. },
  810. }),
  811. filter: { // defaults to {}
  812. 'none': 'none',
  813. 'grayscale': 'grayscale(1)',
  814. 'invert': 'invert(1)',
  815. 'sepia': 'sepia(1)',
  816. },
  817. backdropFilter: { // defaults to {}
  818. 'none': 'none',
  819. 'blur': 'blur(20px)',
  820. },
  821. },
  822. variants: {
  823. accessibility: ['responsive', 'focus'],
  824. alignContent: ['responsive'],
  825. alignItems: ['responsive'],
  826. alignSelf: ['responsive'],
  827. appearance: ['responsive'],
  828. backgroundAttachment: ['responsive'],
  829. backgroundClip: ['responsive'],
  830. backgroundColor: ['responsive', 'hover', 'focus', 'active', 'disabled'],
  831. backgroundImage: ['responsive'],
  832. gradientColorStops: ['responsive', 'hover', 'focus'],
  833. backgroundOpacity: ['responsive', 'hover', 'focus'],
  834. backgroundPosition: ['responsive'],
  835. backgroundRepeat: ['responsive'],
  836. backgroundSize: ['responsive'],
  837. borderCollapse: ['responsive'],
  838. borderColor: ['responsive', 'hover', 'focus'],
  839. borderOpacity: ['responsive', 'hover', 'focus'],
  840. borderRadius: ['responsive'],
  841. borderStyle: ['responsive'],
  842. borderWidth: ['responsive'],
  843. boxShadow: ['responsive', 'hover', 'focus', 'active', 'disabled'],
  844. boxSizing: ['responsive'],
  845. container: ['responsive'],
  846. cursor: ['responsive', 'disabled'],
  847. display: ['responsive'],
  848. divideColor: ['responsive'],
  849. divideOpacity: ['responsive'],
  850. divideStyle: ['responsive'],
  851. divideWidth: ['responsive'],
  852. fill: ['responsive'],
  853. flex: ['responsive'],
  854. flexDirection: ['responsive'],
  855. flexGrow: ['responsive'],
  856. flexShrink: ['responsive'],
  857. flexWrap: ['responsive'],
  858. float: ['responsive'],
  859. clear: ['responsive'],
  860. fontFamily: ['responsive'],
  861. fontSize: ['responsive'],
  862. fontSmoothing: ['responsive'],
  863. fontVariantNumeric: ['responsive'],
  864. fontStyle: ['responsive'],
  865. fontWeight: ['responsive', 'hover', 'focus'],
  866. height: ['responsive'],
  867. inset: ['responsive'],
  868. justifyContent: ['responsive'],
  869. justifyItems: ['responsive'],
  870. justifySelf: ['responsive'],
  871. letterSpacing: ['responsive'],
  872. lineHeight: ['responsive'],
  873. listStylePosition: ['responsive'],
  874. listStyleType: ['responsive'],
  875. margin: ['responsive'],
  876. maxHeight: ['responsive'],
  877. maxWidth: ['responsive'],
  878. minHeight: ['responsive'],
  879. minWidth: ['responsive'],
  880. objectFit: ['responsive'],
  881. objectPosition: ['responsive'],
  882. opacity: ['responsive', 'hover', 'focus', 'disabled'],
  883. order: ['responsive'],
  884. outline: ['responsive', 'focus'],
  885. overflow: ['responsive'],
  886. overscrollBehavior: ['responsive'],
  887. padding: ['responsive'],
  888. placeContent: ['responsive'],
  889. placeItems: ['responsive'],
  890. placeSelf: ['responsive'],
  891. placeholderColor: ['responsive', 'focus'],
  892. placeholderOpacity: ['responsive', 'focus'],
  893. pointerEvents: ['responsive'],
  894. position: ['responsive'],
  895. resize: ['responsive'],
  896. space: ['responsive'],
  897. stroke: ['responsive'],
  898. strokeWidth: ['responsive'],
  899. tableLayout: ['responsive'],
  900. textAlign: ['responsive'],
  901. textColor: ['responsive', 'hover', 'focus'],
  902. textOpacity: ['responsive', 'hover', 'focus'],
  903. textDecoration: ['responsive', 'hover', 'focus'],
  904. textTransform: ['responsive'],
  905. userSelect: ['responsive'],
  906. verticalAlign: ['responsive'],
  907. visibility: ['responsive'],
  908. whitespace: ['responsive'],
  909. width: ['responsive'],
  910. wordBreak: ['responsive'],
  911. zIndex: ['responsive'],
  912. gap: ['responsive'],
  913. gridAutoFlow: ['responsive'],
  914. gridTemplateColumns: ['responsive'],
  915. gridColumn: ['responsive'],
  916. gridColumnStart: ['responsive'],
  917. gridColumnEnd: ['responsive'],
  918. gridTemplateRows: ['responsive'],
  919. gridRow: ['responsive'],
  920. gridRowStart: ['responsive'],
  921. gridRowEnd: ['responsive'],
  922. transform: ['responsive'],
  923. transformOrigin: ['responsive'],
  924. scale: ['responsive', 'hover', 'focus', 'active', 'disabled'],
  925. rotate: ['responsive', 'hover', 'focus'],
  926. translate: ['responsive', 'hover', 'focus', 'active', 'disabled'],
  927. skew: ['responsive', 'hover', 'focus'],
  928. transitionProperty: ['responsive'],
  929. transitionTimingFunction: ['responsive'],
  930. transitionDuration: ['responsive'],
  931. transitionDelay: ['responsive'],
  932. animation: ['responsive'],
  933. filter: ['responsive'], // defaults to ['responsive']
  934. backdropFilter: ['responsive'], // defaults to ['responsive']
  935. },
  936. corePlugins: {},
  937. plugins: [
  938. require('@tailwindcss/custom-forms'),
  939. require('tailwindcss-filters'),
  940. ],
  941. }