This is just a technology testing project based on Create React App and TailwindCSS
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
4 年前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922
  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. auto: 'auto',
  327. },
  328. letterSpacing: {
  329. tighter: '-0.05em',
  330. tight: '-0.025em',
  331. normal: '0',
  332. wide: '0.025em',
  333. wider: '0.05em',
  334. widest: '0.1em',
  335. },
  336. lineHeight: {
  337. none: '1',
  338. tight: '1.25',
  339. snug: '1.375',
  340. normal: '1.5',
  341. relaxed: '1.625',
  342. loose: '2',
  343. '3': '.75rem',
  344. '4': '1rem',
  345. '5': '1.25rem',
  346. '6': '1.5rem',
  347. '7': '1.75rem',
  348. '8': '2rem',
  349. '9': '2.25rem',
  350. '10': '2.5rem',
  351. },
  352. listStyleType: {
  353. none: 'none',
  354. disc: 'disc',
  355. decimal: 'decimal',
  356. },
  357. margin: (theme, { negative }) => ({
  358. auto: 'auto',
  359. ...theme('spacing'),
  360. ...negative(theme('spacing')),
  361. }),
  362. maxHeight: {
  363. full: '100%',
  364. screen: '100vh',
  365. 'screen-5': '5vh',
  366. 'screen-10': '10vh',
  367. 'screen-15': '15vh',
  368. 'screen-20': '20vh',
  369. 'screen-25': '25vh',
  370. 'screen-33': '33vh',
  371. 'screen-50': '50vh',
  372. 'screen-66': '66vh',
  373. 'screen-75': '75vh',
  374. 'screen-80': '80vh',
  375. 'screen-85': '85vh',
  376. 'screen-90': '90vh',
  377. 'screen-95': '95vh',
  378. },
  379. maxWidth: (theme, { breakpoints }) => ({
  380. none: 'none',
  381. xs: '20rem',
  382. sm: '24rem',
  383. md: '28rem',
  384. lg: '32rem',
  385. xl: '36rem',
  386. '2xl': '42rem',
  387. '3xl': '48rem',
  388. '4xl': '56rem',
  389. '5xl': '64rem',
  390. '6xl': '72rem',
  391. full: '100%',
  392. ...breakpoints(theme('screens')),
  393. }),
  394. minHeight: {
  395. '0': '0',
  396. full: '100%',
  397. screen: '100vh',
  398. 'screen-5': '5vh',
  399. 'screen-10': '10vh',
  400. 'screen-15': '15vh',
  401. 'screen-20': '20vh',
  402. 'screen-25': '25vh',
  403. 'screen-33': '33vh',
  404. 'screen-50': '50vh',
  405. 'screen-66': '66vh',
  406. 'screen-75': '75vh',
  407. 'screen-80': '80vh',
  408. },
  409. minWidth: {
  410. '0': '0',
  411. full: '100%',
  412. },
  413. objectPosition: {
  414. bottom: 'bottom',
  415. center: 'center',
  416. left: 'left',
  417. 'left-bottom': 'left bottom',
  418. 'left-top': 'left top',
  419. right: 'right',
  420. 'right-bottom': 'right bottom',
  421. 'right-top': 'right top',
  422. top: 'top',
  423. },
  424. opacity: {
  425. '0': '0',
  426. '25': '0.25',
  427. '50': '0.5',
  428. '75': '0.75',
  429. '100': '1',
  430. },
  431. order: {
  432. first: '-9999',
  433. last: '9999',
  434. none: '0',
  435. '1': '1',
  436. '2': '2',
  437. '3': '3',
  438. '4': '4',
  439. '5': '5',
  440. '6': '6',
  441. '7': '7',
  442. '8': '8',
  443. '9': '9',
  444. '10': '10',
  445. '11': '11',
  446. '12': '12',
  447. },
  448. padding: theme => theme('spacing'),
  449. placeholderColor: theme => theme('colors'),
  450. placeholderOpacity: theme => theme('opacity'),
  451. space: (theme, { negative }) => ({
  452. ...theme('spacing'),
  453. ...negative(theme('spacing')),
  454. }),
  455. stroke: {
  456. current: 'currentColor',
  457. },
  458. strokeWidth: {
  459. '0': '0',
  460. '1': '1',
  461. '2': '2',
  462. },
  463. textColor: theme => theme('colors'),
  464. textOpacity: theme => theme('opacity'),
  465. width: theme => ({
  466. auto: 'auto',
  467. ...theme('spacing'),
  468. '1/2': '50%',
  469. '1/3': '33.333333%',
  470. '2/3': '66.666667%',
  471. '1/4': '25%',
  472. '2/4': '50%',
  473. '3/4': '75%',
  474. '1/5': '20%',
  475. '2/5': '40%',
  476. '3/5': '60%',
  477. '4/5': '80%',
  478. '1/6': '16.666667%',
  479. '2/6': '33.333333%',
  480. '3/6': '50%',
  481. '4/6': '66.666667%',
  482. '5/6': '83.333333%',
  483. '1/12': '8.333333%',
  484. '2/12': '16.666667%',
  485. '3/12': '25%',
  486. '4/12': '33.333333%',
  487. '5/12': '41.666667%',
  488. '6/12': '50%',
  489. '7/12': '58.333333%',
  490. '8/12': '66.666667%',
  491. '9/12': '75%',
  492. '10/12': '83.333333%',
  493. '11/12': '91.666667%',
  494. full: '100%',
  495. screen: '100vw',
  496. }),
  497. zIndex: {
  498. auto: 'auto',
  499. '0': '0',
  500. '10': '10',
  501. '20': '20',
  502. '30': '30',
  503. '40': '40',
  504. '50': '50',
  505. },
  506. gap: theme => theme('spacing'),
  507. gridTemplateColumns: {
  508. none: 'none',
  509. '1': 'repeat(1, minmax(0, 1fr))',
  510. '2': 'repeat(2, minmax(0, 1fr))',
  511. '3': 'repeat(3, minmax(0, 1fr))',
  512. '4': 'repeat(4, minmax(0, 1fr))',
  513. '5': 'repeat(5, minmax(0, 1fr))',
  514. '6': 'repeat(6, minmax(0, 1fr))',
  515. '7': 'repeat(7, minmax(0, 1fr))',
  516. '8': 'repeat(8, minmax(0, 1fr))',
  517. '9': 'repeat(9, minmax(0, 1fr))',
  518. '10': 'repeat(10, minmax(0, 1fr))',
  519. '11': 'repeat(11, minmax(0, 1fr))',
  520. '12': 'repeat(12, minmax(0, 1fr))',
  521. },
  522. gridColumn: {
  523. auto: 'auto',
  524. 'span-1': 'span 1 / span 1',
  525. 'span-2': 'span 2 / span 2',
  526. 'span-3': 'span 3 / span 3',
  527. 'span-4': 'span 4 / span 4',
  528. 'span-5': 'span 5 / span 5',
  529. 'span-6': 'span 6 / span 6',
  530. 'span-7': 'span 7 / span 7',
  531. 'span-8': 'span 8 / span 8',
  532. 'span-9': 'span 9 / span 9',
  533. 'span-10': 'span 10 / span 10',
  534. 'span-11': 'span 11 / span 11',
  535. 'span-12': 'span 12 / span 12',
  536. },
  537. gridColumnStart: {
  538. auto: 'auto',
  539. '1': '1',
  540. '2': '2',
  541. '3': '3',
  542. '4': '4',
  543. '5': '5',
  544. '6': '6',
  545. '7': '7',
  546. '8': '8',
  547. '9': '9',
  548. '10': '10',
  549. '11': '11',
  550. '12': '12',
  551. '13': '13',
  552. },
  553. gridColumnEnd: {
  554. auto: 'auto',
  555. '1': '1',
  556. '2': '2',
  557. '3': '3',
  558. '4': '4',
  559. '5': '5',
  560. '6': '6',
  561. '7': '7',
  562. '8': '8',
  563. '9': '9',
  564. '10': '10',
  565. '11': '11',
  566. '12': '12',
  567. '13': '13',
  568. },
  569. gridTemplateRows: {
  570. none: 'none',
  571. '1': 'repeat(1, minmax(0, 1fr))',
  572. '2': 'repeat(2, minmax(0, 1fr))',
  573. '3': 'repeat(3, minmax(0, 1fr))',
  574. '4': 'repeat(4, minmax(0, 1fr))',
  575. '5': 'repeat(5, minmax(0, 1fr))',
  576. '6': 'repeat(6, minmax(0, 1fr))',
  577. },
  578. gridRow: {
  579. auto: 'auto',
  580. 'span-1': 'span 1 / span 1',
  581. 'span-2': 'span 2 / span 2',
  582. 'span-3': 'span 3 / span 3',
  583. 'span-4': 'span 4 / span 4',
  584. 'span-5': 'span 5 / span 5',
  585. 'span-6': 'span 6 / span 6',
  586. },
  587. gridRowStart: {
  588. auto: 'auto',
  589. '1': '1',
  590. '2': '2',
  591. '3': '3',
  592. '4': '4',
  593. '5': '5',
  594. '6': '6',
  595. '7': '7',
  596. },
  597. gridRowEnd: {
  598. auto: 'auto',
  599. '1': '1',
  600. '2': '2',
  601. '3': '3',
  602. '4': '4',
  603. '5': '5',
  604. '6': '6',
  605. '7': '7',
  606. },
  607. transformOrigin: {
  608. center: 'center',
  609. top: 'top',
  610. 'top-right': 'top right',
  611. right: 'right',
  612. 'bottom-right': 'bottom right',
  613. bottom: 'bottom',
  614. 'bottom-left': 'bottom left',
  615. left: 'left',
  616. 'top-left': 'top left',
  617. },
  618. scale: {
  619. '0': '0',
  620. '50': '.5',
  621. '75': '.75',
  622. '90': '.9',
  623. '95': '.95',
  624. '98': '.98',
  625. '100': '1',
  626. '102': '1.02',
  627. '105': '1.05',
  628. '110': '1.1',
  629. '125': '1.25',
  630. '150': '1.5',
  631. },
  632. rotate: {
  633. '-180': '-180deg',
  634. '-90': '-90deg',
  635. '-45': '-45deg',
  636. '0': '0',
  637. '45': '45deg',
  638. '90': '90deg',
  639. '180': '180deg',
  640. },
  641. translate: (theme, { negative }) => ({
  642. ...theme('spacing'),
  643. ...negative(theme('spacing')),
  644. '-full': '-100%',
  645. '-1/2': '-50%',
  646. '1/2': '50%',
  647. full: '100%',
  648. }),
  649. skew: {
  650. '-12': '-12deg',
  651. '-6': '-6deg',
  652. '-3': '-3deg',
  653. '0': '0',
  654. '3': '3deg',
  655. '6': '6deg',
  656. '12': '12deg',
  657. },
  658. transitionProperty: {
  659. none: 'none',
  660. all: 'all',
  661. default: 'background-color, border-color, color, fill, stroke, opacity, box-shadow, transform',
  662. colors: 'background-color, border-color, color, fill, stroke',
  663. opacity: 'opacity',
  664. shadow: 'box-shadow',
  665. transform: 'transform',
  666. },
  667. transitionTimingFunction: {
  668. linear: 'linear',
  669. in: 'cubic-bezier(0.4, 0, 1, 1)',
  670. out: 'cubic-bezier(0, 0, 0.2, 1)',
  671. 'in-out': 'cubic-bezier(0.4, 0, 0.2, 1)',
  672. },
  673. transitionDuration: {
  674. '75': '75ms',
  675. '100': '100ms',
  676. '150': '150ms',
  677. '200': '200ms',
  678. '300': '300ms',
  679. '500': '500ms',
  680. '700': '700ms',
  681. '1000': '1000ms',
  682. },
  683. transitionDelay: {
  684. '75': '75ms',
  685. '100': '100ms',
  686. '150': '150ms',
  687. '200': '200ms',
  688. '300': '300ms',
  689. '500': '500ms',
  690. '700': '700ms',
  691. '1000': '1000ms',
  692. },
  693. animation: {
  694. none: 'none',
  695. spin: 'spin 1s linear infinite',
  696. ping: 'ping 1s cubic-bezier(0, 0, 0.2, 1) infinite',
  697. pulse: 'pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite',
  698. bounce: 'bounce 1s infinite',
  699. },
  700. keyframes: {
  701. spin: {
  702. to: { transform: 'rotate(360deg)' },
  703. },
  704. ping: {
  705. '75%, 100%': { transform: 'scale(2)', opacity: '0' },
  706. },
  707. pulse: {
  708. '50%': { opacity: '.5' },
  709. },
  710. bounce: {
  711. '0%, 100%': {
  712. transform: 'translateY(-25%)',
  713. animationTimingFunction: 'cubic-bezier(0.8,0,1,1)',
  714. },
  715. '50%': {
  716. transform: 'none',
  717. animationTimingFunction: 'cubic-bezier(0,0,0.2,1)',
  718. },
  719. },
  720. },
  721. customForms: theme => ({
  722. default: {
  723. input: {
  724. borderRadius: theme('borderRadius.lg'),
  725. borderWidth: theme('borderWidth.2'),
  726. backgroundColor: theme('colors.white'),
  727. '&:focus': {
  728. backgroundColor: theme('colors.secondary.100'),
  729. boxShadow: theme('boxShadow.outline'),
  730. outline: 'none',
  731. borderColor: theme('colors.transparent'),
  732. },
  733. '&:active': {
  734. backgroundColor: theme('colors.secondary.100'),
  735. }
  736. },
  737. textarea: {
  738. borderRadius: theme('borderRadius.lg'),
  739. borderWidth: theme('borderWidth.2'),
  740. backgroundColor: theme('colors.white'),
  741. '&:focus': {
  742. backgroundColor: theme('colors.secondary.100'),
  743. boxShadow: theme('boxShadow.outline'),
  744. outline: 'none',
  745. borderColor: theme('colors.transparent'),
  746. },
  747. '&:active': {
  748. backgroundColor: theme('colors.secondary.100'),
  749. }
  750. },
  751. select: {
  752. borderWidth: theme('borderWidth.2'),
  753. borderRadius: theme('borderRadius.lg'),
  754. '&:focus': {
  755. boxShadow: theme('boxShadow.outline'),
  756. backgroundColor: theme('colors.secondary.100'),
  757. outline: 'none',
  758. borderColor: theme('colors.transparent'),
  759. },
  760. '&:active': {
  761. backgroundColor: theme('colors.secondary.100'),
  762. }
  763. },
  764. checkbox: {
  765. borderWidth: theme('borderWidth.2'),
  766. width: theme('spacing.5'),
  767. height: theme('spacing.5'),
  768. '&:focus': {
  769. boxShadow: theme('boxShadow.outline'),
  770. outline: 'none',
  771. borderColor: theme('colors.transparent'),
  772. },
  773. },
  774. radio: {
  775. iconColor: theme('colors.primary.800'),
  776. borderWidth: theme('borderWidth.2'),
  777. borderColor: theme('colors.gray.500'),
  778. width: theme('spacing.5'),
  779. height: theme('spacing.5'),
  780. '&:focus': {
  781. boxShadow: theme('boxShadow.outline'),
  782. outline: 'none',
  783. borderColor: theme('colors.transparent'),
  784. },
  785. },
  786. },
  787. }),
  788. filter: { // defaults to {}
  789. 'none': 'none',
  790. 'grayscale': 'grayscale(1)',
  791. 'invert': 'invert(1)',
  792. 'sepia': 'sepia(1)',
  793. },
  794. backdropFilter: { // defaults to {}
  795. 'none': 'none',
  796. 'blur': 'blur(20px)',
  797. },
  798. },
  799. variants: {
  800. accessibility: ['responsive', 'focus'],
  801. alignContent: ['responsive'],
  802. alignItems: ['responsive'],
  803. alignSelf: ['responsive'],
  804. appearance: ['responsive'],
  805. backgroundAttachment: ['responsive'],
  806. backgroundClip: ['responsive'],
  807. backgroundColor: ['responsive', 'hover', 'focus', 'active', 'disabled'],
  808. backgroundImage: ['responsive'],
  809. gradientColorStops: ['responsive', 'hover', 'focus'],
  810. backgroundOpacity: ['responsive', 'hover', 'focus'],
  811. backgroundPosition: ['responsive'],
  812. backgroundRepeat: ['responsive'],
  813. backgroundSize: ['responsive'],
  814. borderCollapse: ['responsive'],
  815. borderColor: ['responsive', 'hover', 'focus'],
  816. borderOpacity: ['responsive', 'hover', 'focus'],
  817. borderRadius: ['responsive'],
  818. borderStyle: ['responsive'],
  819. borderWidth: ['responsive'],
  820. boxShadow: ['responsive', 'hover', 'focus', 'active', 'disabled'],
  821. boxSizing: ['responsive'],
  822. container: ['responsive'],
  823. cursor: ['responsive', 'disabled'],
  824. display: ['responsive'],
  825. divideColor: ['responsive'],
  826. divideOpacity: ['responsive'],
  827. divideStyle: ['responsive'],
  828. divideWidth: ['responsive'],
  829. fill: ['responsive'],
  830. flex: ['responsive'],
  831. flexDirection: ['responsive'],
  832. flexGrow: ['responsive'],
  833. flexShrink: ['responsive'],
  834. flexWrap: ['responsive'],
  835. float: ['responsive'],
  836. clear: ['responsive'],
  837. fontFamily: ['responsive'],
  838. fontSize: ['responsive'],
  839. fontSmoothing: ['responsive'],
  840. fontVariantNumeric: ['responsive'],
  841. fontStyle: ['responsive'],
  842. fontWeight: ['responsive', 'hover', 'focus'],
  843. height: ['responsive'],
  844. inset: ['responsive'],
  845. justifyContent: ['responsive'],
  846. justifyItems: ['responsive'],
  847. justifySelf: ['responsive'],
  848. letterSpacing: ['responsive'],
  849. lineHeight: ['responsive'],
  850. listStylePosition: ['responsive'],
  851. listStyleType: ['responsive'],
  852. margin: ['responsive'],
  853. maxHeight: ['responsive'],
  854. maxWidth: ['responsive'],
  855. minHeight: ['responsive'],
  856. minWidth: ['responsive'],
  857. objectFit: ['responsive'],
  858. objectPosition: ['responsive'],
  859. opacity: ['responsive', 'hover', 'focus', 'disabled'],
  860. order: ['responsive'],
  861. outline: ['responsive', 'focus'],
  862. overflow: ['responsive'],
  863. overscrollBehavior: ['responsive'],
  864. padding: ['responsive'],
  865. placeContent: ['responsive'],
  866. placeItems: ['responsive'],
  867. placeSelf: ['responsive'],
  868. placeholderColor: ['responsive', 'focus'],
  869. placeholderOpacity: ['responsive', 'focus'],
  870. pointerEvents: ['responsive'],
  871. position: ['responsive'],
  872. resize: ['responsive'],
  873. space: ['responsive'],
  874. stroke: ['responsive'],
  875. strokeWidth: ['responsive'],
  876. tableLayout: ['responsive'],
  877. textAlign: ['responsive'],
  878. textColor: ['responsive', 'hover', 'focus'],
  879. textOpacity: ['responsive', 'hover', 'focus'],
  880. textDecoration: ['responsive', 'hover', 'focus'],
  881. textTransform: ['responsive'],
  882. userSelect: ['responsive'],
  883. verticalAlign: ['responsive'],
  884. visibility: ['responsive'],
  885. whitespace: ['responsive'],
  886. width: ['responsive'],
  887. wordBreak: ['responsive'],
  888. zIndex: ['responsive'],
  889. gap: ['responsive'],
  890. gridAutoFlow: ['responsive'],
  891. gridTemplateColumns: ['responsive'],
  892. gridColumn: ['responsive'],
  893. gridColumnStart: ['responsive'],
  894. gridColumnEnd: ['responsive'],
  895. gridTemplateRows: ['responsive'],
  896. gridRow: ['responsive'],
  897. gridRowStart: ['responsive'],
  898. gridRowEnd: ['responsive'],
  899. transform: ['responsive'],
  900. transformOrigin: ['responsive'],
  901. scale: ['responsive', 'hover', 'focus', 'active', 'disabled'],
  902. rotate: ['responsive', 'hover', 'focus'],
  903. translate: ['responsive', 'hover', 'focus', 'active', 'disabled'],
  904. skew: ['responsive', 'hover', 'focus'],
  905. transitionProperty: ['responsive'],
  906. transitionTimingFunction: ['responsive'],
  907. transitionDuration: ['responsive'],
  908. transitionDelay: ['responsive'],
  909. animation: ['responsive'],
  910. filter: ['responsive'], // defaults to ['responsive']
  911. backdropFilter: ['responsive'], // defaults to ['responsive']
  912. },
  913. corePlugins: {},
  914. plugins: [
  915. require('@tailwindcss/custom-forms'),
  916. require('tailwindcss-filters'),
  917. ],
  918. }