diff --git a/stubs/defaultConfig.stub.js b/stubs/defaultConfig.stub.js index 5c3969d698cb..3ea85466f86f 100644 --- a/stubs/defaultConfig.stub.js +++ b/stubs/defaultConfig.stub.js @@ -63,6 +63,13 @@ module.exports = { 80: '20rem', 96: '24rem', }, + animation: { + none: 'none', + spin: 'spin 1s linear infinite', + ping: 'ping 1s cubic-bezier(0, 0, 0.2, 1) infinite', + pulse: 'pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite', + bounce: 'bounce 1s infinite', + }, backgroundColor: (theme) => theme('colors'), backgroundImage: { none: 'none', @@ -75,7 +82,6 @@ module.exports = { 'gradient-to-l': 'linear-gradient(to left, var(--gradient-color-stops))', 'gradient-to-tl': 'linear-gradient(to top left, var(--gradient-color-stops))', }, - gradientColorStops: (theme) => theme('colors'), backgroundOpacity: (theme) => theme('opacity'), backgroundPosition: { bottom: 'bottom', @@ -88,15 +94,8 @@ module.exports = { 'right-top': 'right top', top: 'top', }, - backgroundSize: { - auto: 'auto', - cover: 'cover', - contain: 'contain', - }, - borderColor: (theme) => ({ - ...theme('colors'), - DEFAULT: theme('colors.gray.200', 'currentColor'), - }), + backgroundSize: { auto: 'auto', cover: 'cover', contain: 'contain' }, + borderColor: (theme) => ({ ...theme('colors'), DEFAULT: theme('colors.gray.200', 'currentColor') }), borderOpacity: (theme) => theme('opacity'), borderRadius: { none: '0', @@ -109,13 +108,7 @@ module.exports = { '3xl': '1.5rem', full: '9999px', }, - borderWidth: { - DEFAULT: '1px', - 0: '0', - 2: '2px', - 4: '4px', - 8: '8px', - }, + borderWidth: { DEFAULT: '1px', 0: '0', 2: '2px', 4: '4px', 8: '8px' }, boxShadow: { xs: '0 0 0 1px rgba(0, 0, 0, 0.05)', sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)', @@ -141,23 +134,10 @@ module.exports = { divideColor: (theme) => theme('borderColor'), divideOpacity: (theme) => theme('borderOpacity'), divideWidth: (theme) => theme('borderWidth'), - fill: { - current: 'currentColor', - }, - flex: { - 1: '1 1 0%', - auto: '1 1 auto', - initial: '0 1 auto', - none: 'none', - }, - flexGrow: { - 0: '0', - DEFAULT: '1', - }, - flexShrink: { - 0: '0', - DEFAULT: '1', - }, + fill: { current: 'currentColor' }, + flex: { 1: '1 1 0%', auto: '1 1 auto', initial: '0 1 auto', none: 'none' }, + flexGrow: { 0: '0', DEFAULT: '1' }, + flexShrink: { 0: '0', DEFAULT: '1' }, fontFamily: { sans: [ 'ui-sans-serif', @@ -213,12 +193,106 @@ module.exports = { extrabold: '800', black: '900', }, - height: (theme) => ({ + gap: (theme) => theme('spacing'), + gradientColorStops: (theme) => theme('colors'), + gridAutoColumns: { auto: 'auto', min: 'min-content', max: 'max-content', fr: 'minmax(0, 1fr)' }, + gridAutoRows: { auto: 'auto', min: 'min-content', max: 'max-content', fr: 'minmax(0, 1fr)' }, + gridColumn: { auto: 'auto', - ...theme('spacing'), - full: '100%', - screen: '100vh', - }), + 'span-1': 'span 1 / span 1', + 'span-2': 'span 2 / span 2', + 'span-3': 'span 3 / span 3', + 'span-4': 'span 4 / span 4', + 'span-5': 'span 5 / span 5', + 'span-6': 'span 6 / span 6', + 'span-7': 'span 7 / span 7', + 'span-8': 'span 8 / span 8', + 'span-9': 'span 9 / span 9', + 'span-10': 'span 10 / span 10', + 'span-11': 'span 11 / span 11', + 'span-12': 'span 12 / span 12', + 'span-full': '1 / -1', + }, + gridColumnEnd: { + auto: 'auto', + 1: '1', + 2: '2', + 3: '3', + 4: '4', + 5: '5', + 6: '6', + 7: '7', + 8: '8', + 9: '9', + 10: '10', + 11: '11', + 12: '12', + 13: '13', + }, + gridColumnStart: { + auto: 'auto', + 1: '1', + 2: '2', + 3: '3', + 4: '4', + 5: '5', + 6: '6', + 7: '7', + 8: '8', + 9: '9', + 10: '10', + 11: '11', + 12: '12', + 13: '13', + }, + gridRow: { + auto: 'auto', + 'span-1': 'span 1 / span 1', + 'span-2': 'span 2 / span 2', + 'span-3': 'span 3 / span 3', + 'span-4': 'span 4 / span 4', + 'span-5': 'span 5 / span 5', + 'span-6': 'span 6 / span 6', + 'span-full': '1 / -1', + }, + gridRowStart: { auto: 'auto', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7' }, + gridRowEnd: { auto: 'auto', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7' }, + transformOrigin: { + center: 'center', + top: 'top', + 'top-right': 'top right', + right: 'right', + 'bottom-right': 'bottom right', + bottom: 'bottom', + 'bottom-left': 'bottom left', + left: 'left', + 'top-left': 'top left', + }, + gridTemplateColumns: { + none: 'none', + 1: 'repeat(1, minmax(0, 1fr))', + 2: 'repeat(2, minmax(0, 1fr))', + 3: 'repeat(3, minmax(0, 1fr))', + 4: 'repeat(4, minmax(0, 1fr))', + 5: 'repeat(5, minmax(0, 1fr))', + 6: 'repeat(6, minmax(0, 1fr))', + 7: 'repeat(7, minmax(0, 1fr))', + 8: 'repeat(8, minmax(0, 1fr))', + 9: 'repeat(9, minmax(0, 1fr))', + 10: 'repeat(10, minmax(0, 1fr))', + 11: 'repeat(11, minmax(0, 1fr))', + 12: 'repeat(12, minmax(0, 1fr))', + }, + gridTemplateRows: { + none: 'none', + 1: 'repeat(1, minmax(0, 1fr))', + 2: 'repeat(2, minmax(0, 1fr))', + 3: 'repeat(3, minmax(0, 1fr))', + 4: 'repeat(4, minmax(0, 1fr))', + 5: 'repeat(5, minmax(0, 1fr))', + 6: 'repeat(6, minmax(0, 1fr))', + }, + height: (theme) => ({ auto: 'auto', ...theme('spacing'), full: '100%', screen: '100vh' }), inset: (theme, { negative }) => ({ auto: 'auto', ...theme('spacing'), @@ -238,6 +312,15 @@ module.exports = { '-3/4': '-75%', '-full': '-100%', }), + keyframes: { + spin: { to: { transform: 'rotate(360deg)' } }, + ping: { '75%, 100%': { transform: 'scale(2)', opacity: '0' } }, + pulse: { '50%': { opacity: '.5' } }, + bounce: { + '0%, 100%': { transform: 'translateY(-25%)', animationTimingFunction: 'cubic-bezier(0.8,0,1,1)' }, + '50%': { transform: 'none', animationTimingFunction: 'cubic-bezier(0,0,0.2,1)' }, + }, + }, letterSpacing: { tighter: '-0.05em', tight: '-0.025em', @@ -262,21 +345,9 @@ module.exports = { 9: '2.25rem', 10: '2.5rem', }, - listStyleType: { - none: 'none', - disc: 'disc', - decimal: 'decimal', - }, - margin: (theme, { negative }) => ({ - auto: 'auto', - ...theme('spacing'), - ...negative(theme('spacing')), - }), - maxHeight: (theme) => ({ - ...theme('spacing'), - full: '100%', - screen: '100vh', - }), + listStyleType: { none: 'none', disc: 'disc', decimal: 'decimal' }, + margin: (theme, { negative }) => ({ auto: 'auto', ...theme('spacing'), ...negative(theme('spacing')) }), + maxHeight: (theme) => ({ ...theme('spacing'), full: '100%', screen: '100vh' }), maxWidth: (theme, { breakpoints }) => ({ none: 'none', 0: '0rem', @@ -297,17 +368,8 @@ module.exports = { prose: '65ch', ...breakpoints(theme('screens')), }), - minHeight: { - 0: '0', - full: '100%', - screen: '100vh', - }, - minWidth: { - 0: '0', - full: '100%', - min: 'min-content', - max: 'max-content', - }, + minHeight: { 0: '0', full: '100%', screen: '100vh' }, + minWidth: { 0: '0', full: '100%', min: 'min-content', max: 'max-content' }, objectPosition: { bottom: 'bottom', center: 'center', @@ -359,201 +421,6 @@ module.exports = { padding: (theme) => theme('spacing'), placeholderColor: (theme) => theme('colors'), placeholderOpacity: (theme) => theme('opacity'), - space: (theme, { negative }) => ({ - ...theme('spacing'), - ...negative(theme('spacing')), - }), - stroke: { - current: 'currentColor', - }, - strokeWidth: { - 0: '0', - 1: '1', - 2: '2', - }, - textColor: (theme) => theme('colors'), - textOpacity: (theme) => theme('opacity'), - width: (theme) => ({ - auto: 'auto', - ...theme('spacing'), - '1/2': '50%', - '1/3': '33.333333%', - '2/3': '66.666667%', - '1/4': '25%', - '2/4': '50%', - '3/4': '75%', - '1/5': '20%', - '2/5': '40%', - '3/5': '60%', - '4/5': '80%', - '1/6': '16.666667%', - '2/6': '33.333333%', - '3/6': '50%', - '4/6': '66.666667%', - '5/6': '83.333333%', - '1/12': '8.333333%', - '2/12': '16.666667%', - '3/12': '25%', - '4/12': '33.333333%', - '5/12': '41.666667%', - '6/12': '50%', - '7/12': '58.333333%', - '8/12': '66.666667%', - '9/12': '75%', - '10/12': '83.333333%', - '11/12': '91.666667%', - full: '100%', - screen: '100vw', - min: 'min-content', - max: 'max-content', - }), - zIndex: { - auto: 'auto', - 0: '0', - 10: '10', - 20: '20', - 30: '30', - 40: '40', - 50: '50', - }, - gap: (theme) => theme('spacing'), - gridTemplateColumns: { - none: 'none', - 1: 'repeat(1, minmax(0, 1fr))', - 2: 'repeat(2, minmax(0, 1fr))', - 3: 'repeat(3, minmax(0, 1fr))', - 4: 'repeat(4, minmax(0, 1fr))', - 5: 'repeat(5, minmax(0, 1fr))', - 6: 'repeat(6, minmax(0, 1fr))', - 7: 'repeat(7, minmax(0, 1fr))', - 8: 'repeat(8, minmax(0, 1fr))', - 9: 'repeat(9, minmax(0, 1fr))', - 10: 'repeat(10, minmax(0, 1fr))', - 11: 'repeat(11, minmax(0, 1fr))', - 12: 'repeat(12, minmax(0, 1fr))', - }, - gridAutoColumns: { - auto: 'auto', - min: 'min-content', - max: 'max-content', - fr: 'minmax(0, 1fr)', - }, - gridColumn: { - auto: 'auto', - 'span-1': 'span 1 / span 1', - 'span-2': 'span 2 / span 2', - 'span-3': 'span 3 / span 3', - 'span-4': 'span 4 / span 4', - 'span-5': 'span 5 / span 5', - 'span-6': 'span 6 / span 6', - 'span-7': 'span 7 / span 7', - 'span-8': 'span 8 / span 8', - 'span-9': 'span 9 / span 9', - 'span-10': 'span 10 / span 10', - 'span-11': 'span 11 / span 11', - 'span-12': 'span 12 / span 12', - 'span-full': '1 / -1', - }, - gridColumnStart: { - auto: 'auto', - 1: '1', - 2: '2', - 3: '3', - 4: '4', - 5: '5', - 6: '6', - 7: '7', - 8: '8', - 9: '9', - 10: '10', - 11: '11', - 12: '12', - 13: '13', - }, - gridColumnEnd: { - auto: 'auto', - 1: '1', - 2: '2', - 3: '3', - 4: '4', - 5: '5', - 6: '6', - 7: '7', - 8: '8', - 9: '9', - 10: '10', - 11: '11', - 12: '12', - 13: '13', - }, - gridTemplateRows: { - none: 'none', - 1: 'repeat(1, minmax(0, 1fr))', - 2: 'repeat(2, minmax(0, 1fr))', - 3: 'repeat(3, minmax(0, 1fr))', - 4: 'repeat(4, minmax(0, 1fr))', - 5: 'repeat(5, minmax(0, 1fr))', - 6: 'repeat(6, minmax(0, 1fr))', - }, - gridAutoRows: { - auto: 'auto', - min: 'min-content', - max: 'max-content', - fr: 'minmax(0, 1fr)', - }, - gridRow: { - auto: 'auto', - 'span-1': 'span 1 / span 1', - 'span-2': 'span 2 / span 2', - 'span-3': 'span 3 / span 3', - 'span-4': 'span 4 / span 4', - 'span-5': 'span 5 / span 5', - 'span-6': 'span 6 / span 6', - 'span-full': '1 / -1', - }, - gridRowStart: { - auto: 'auto', - 1: '1', - 2: '2', - 3: '3', - 4: '4', - 5: '5', - 6: '6', - 7: '7', - }, - gridRowEnd: { - auto: 'auto', - 1: '1', - 2: '2', - 3: '3', - 4: '4', - 5: '5', - 6: '6', - 7: '7', - }, - transformOrigin: { - center: 'center', - top: 'top', - 'top-right': 'top right', - right: 'right', - 'bottom-right': 'bottom right', - bottom: 'bottom', - 'bottom-left': 'bottom left', - left: 'left', - 'top-left': 'top left', - }, - scale: { - 0: '0', - 50: '.5', - 75: '.75', - 90: '.9', - 95: '.95', - 100: '1', - 105: '1.05', - 110: '1.1', - 125: '1.25', - 150: '1.5', - }, rotate: { '-180': '-180deg', '-90': '-90deg', @@ -573,24 +440,18 @@ module.exports = { 90: '90deg', 180: '180deg', }, - translate: (theme, { negative }) => ({ - ...theme('spacing'), - ...negative(theme('spacing')), - '1/2': '50%', - '1/3': '33.333333%', - '2/3': '66.666667%', - '1/4': '25%', - '2/4': '50%', - '3/4': '75%', - full: '100%', - '-1/2': '-50%', - '-1/3': '-33.333333%', - '-2/3': '-66.666667%', - '-1/4': '-25%', - '-2/4': '-50%', - '-3/4': '-75%', - '-full': '-100%', - }), + scale: { + 0: '0', + 50: '.5', + 75: '.75', + 90: '.9', + 95: '.95', + 100: '1', + 105: '1.05', + 110: '1.1', + 125: '1.25', + 150: '1.5', + }, skew: { '-12': '-12deg', '-6': '-6deg', @@ -604,21 +465,11 @@ module.exports = { 6: '6deg', 12: '12deg', }, - transitionProperty: { - none: 'none', - all: 'all', - DEFAULT: 'background-color, border-color, color, fill, stroke, opacity, box-shadow, transform', - colors: 'background-color, border-color, color, fill, stroke', - opacity: 'opacity', - shadow: 'box-shadow', - transform: 'transform', - }, - transitionTimingFunction: { - linear: 'linear', - in: 'cubic-bezier(0.4, 0, 1, 1)', - out: 'cubic-bezier(0, 0, 0.2, 1)', - 'in-out': 'cubic-bezier(0.4, 0, 0.2, 1)', - }, + space: (theme, { negative }) => ({ ...theme('spacing'), ...negative(theme('spacing')) }), + stroke: { current: 'currentColor' }, + strokeWidth: { 0: '0', 1: '1', 2: '2' }, + textColor: (theme) => theme('colors'), + textOpacity: (theme) => theme('opacity'), transitionDuration: { 75: '75ms', 100: '100ms', @@ -639,34 +490,74 @@ module.exports = { 700: '700ms', 1000: '1000ms', }, - animation: { + transitionProperty: { none: 'none', - spin: 'spin 1s linear infinite', - ping: 'ping 1s cubic-bezier(0, 0, 0.2, 1) infinite', - pulse: 'pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite', - bounce: 'bounce 1s infinite', + all: 'all', + DEFAULT: 'background-color, border-color, color, fill, stroke, opacity, box-shadow, transform', + colors: 'background-color, border-color, color, fill, stroke', + opacity: 'opacity', + shadow: 'box-shadow', + transform: 'transform', }, - keyframes: { - spin: { - to: { transform: 'rotate(360deg)' }, - }, - ping: { - '75%, 100%': { transform: 'scale(2)', opacity: '0' }, - }, - pulse: { - '50%': { opacity: '.5' }, - }, - bounce: { - '0%, 100%': { - transform: 'translateY(-25%)', - animationTimingFunction: 'cubic-bezier(0.8,0,1,1)', - }, - '50%': { - transform: 'none', - animationTimingFunction: 'cubic-bezier(0,0,0.2,1)', - }, - }, + transitionTimingFunction: { + linear: 'linear', + in: 'cubic-bezier(0.4, 0, 1, 1)', + out: 'cubic-bezier(0, 0, 0.2, 1)', + 'in-out': 'cubic-bezier(0.4, 0, 0.2, 1)', }, + translate: (theme, { negative }) => ({ + ...theme('spacing'), + ...negative(theme('spacing')), + '1/2': '50%', + '1/3': '33.333333%', + '2/3': '66.666667%', + '1/4': '25%', + '2/4': '50%', + '3/4': '75%', + full: '100%', + '-1/2': '-50%', + '-1/3': '-33.333333%', + '-2/3': '-66.666667%', + '-1/4': '-25%', + '-2/4': '-50%', + '-3/4': '-75%', + '-full': '-100%', + }), + width: (theme) => ({ + auto: 'auto', + ...theme('spacing'), + '1/2': '50%', + '1/3': '33.333333%', + '2/3': '66.666667%', + '1/4': '25%', + '2/4': '50%', + '3/4': '75%', + '1/5': '20%', + '2/5': '40%', + '3/5': '60%', + '4/5': '80%', + '1/6': '16.666667%', + '2/6': '33.333333%', + '3/6': '50%', + '4/6': '66.666667%', + '5/6': '83.333333%', + '1/12': '8.333333%', + '2/12': '16.666667%', + '3/12': '25%', + '4/12': '33.333333%', + '5/12': '41.666667%', + '6/12': '50%', + '7/12': '58.333333%', + '8/12': '66.666667%', + '9/12': '75%', + '10/12': '83.333333%', + '11/12': '91.666667%', + full: '100%', + screen: '100vw', + min: 'min-content', + max: 'max-content', + }), + zIndex: { auto: 'auto', 0: '0', 10: '10', 20: '20', 30: '30', 40: '40', 50: '50' }, }, variantOrder: [ 'first', @@ -689,12 +580,12 @@ module.exports = { alignContent: ['responsive'], alignItems: ['responsive'], alignSelf: ['responsive'], + animation: ['responsive'], appearance: ['responsive'], backgroundAttachment: ['responsive'], backgroundClip: ['responsive'], backgroundColor: ['responsive', 'dark', 'group-hover', 'hover', 'focus'], backgroundImage: ['responsive'], - gradientColorStops: ['responsive', 'dark', 'hover', 'focus'], backgroundOpacity: ['responsive', 'group-hover', 'hover', 'focus'], backgroundPosition: ['responsive'], backgroundRepeat: ['responsive'], @@ -707,6 +598,7 @@ module.exports = { borderWidth: ['responsive'], boxShadow: ['responsive', 'hover', 'focus'], boxSizing: ['responsive'], + clear: ['responsive'], container: ['responsive'], cursor: ['responsive'], display: ['responsive'], @@ -721,13 +613,25 @@ module.exports = { flexShrink: ['responsive'], flexWrap: ['responsive'], float: ['responsive'], - clear: ['responsive'], fontFamily: ['responsive'], fontSize: ['responsive'], fontSmoothing: ['responsive'], - fontVariantNumeric: ['responsive'], fontStyle: ['responsive'], + fontVariantNumeric: ['responsive'], fontWeight: ['responsive', 'hover', 'focus'], + gap: ['responsive'], + gradientColorStops: ['responsive', 'dark', 'hover', 'focus'], + gridAutoColumns: ['responsive'], + gridAutoFlow: ['responsive'], + gridAutoRows: ['responsive'], + gridColumn: ['responsive'], + gridColumnEnd: ['responsive'], + gridColumnStart: ['responsive'], + gridRow: ['responsive'], + gridRowEnd: ['responsive'], + gridRowStart: ['responsive'], + gridTemplateColumns: ['responsive'], + gridTemplateRows: ['responsive'], height: ['responsive'], inset: ['responsive'], justifyContent: ['responsive'], @@ -758,16 +662,26 @@ module.exports = { pointerEvents: ['responsive'], position: ['responsive'], resize: ['responsive'], + rotate: ['responsive', 'hover', 'focus'], + scale: ['responsive', 'hover', 'focus'], + skew: ['responsive', 'hover', 'focus'], space: ['responsive'], stroke: ['responsive'], strokeWidth: ['responsive'], tableLayout: ['responsive'], textAlign: ['responsive'], textColor: ['responsive', 'dark', 'group-hover', 'hover', 'focus'], - textOpacity: ['responsive', 'group-hover', 'hover', 'focus'], textDecoration: ['responsive', 'hover', 'focus'], - textTransform: ['responsive'], + textOpacity: ['responsive', 'group-hover', 'hover', 'focus'], textOverflow: ['responsive'], + textTransform: ['responsive'], + transform: ['responsive'], + transformOrigin: ['responsive'], + transitionDelay: ['responsive'], + transitionDuration: ['responsive'], + transitionProperty: ['responsive'], + transitionTimingFunction: ['responsive'], + translate: ['responsive', 'hover', 'focus'], userSelect: ['responsive'], verticalAlign: ['responsive'], visibility: ['responsive'], @@ -775,29 +689,6 @@ module.exports = { width: ['responsive'], wordBreak: ['responsive'], zIndex: ['responsive', 'focus'], - gap: ['responsive'], - gridAutoFlow: ['responsive'], - gridTemplateColumns: ['responsive'], - gridAutoColumns: ['responsive'], - gridColumn: ['responsive'], - gridColumnStart: ['responsive'], - gridColumnEnd: ['responsive'], - gridTemplateRows: ['responsive'], - gridAutoRows: ['responsive'], - gridRow: ['responsive'], - gridRowStart: ['responsive'], - gridRowEnd: ['responsive'], - transform: ['responsive'], - transformOrigin: ['responsive'], - scale: ['responsive', 'hover', 'focus'], - rotate: ['responsive', 'hover', 'focus'], - translate: ['responsive', 'hover', 'focus'], - skew: ['responsive', 'hover', 'focus'], - transitionProperty: ['responsive'], - transitionTimingFunction: ['responsive'], - transitionDuration: ['responsive'], - transitionDelay: ['responsive'], - animation: ['responsive'], }, plugins: [], }