PromucFlow_constructor/app/client/tailwind.config.js
Pawan Kumar 809a633306
feat: App Theming (#9714)
* fix style bugs

* fix select styles

* test: fix font size issue for cypress tests

* incorporate ashit feedback

* test: addresed review comments for cypress tests

* add analytics events

* height issue in view mode

* incorporate code review feedbacks

* incorporate code review feedbacks

* refactor: addressed review comments; removed border radius and box shadow for text widget; Updated migrations

* feat: Makes shadow and radius controls keyboard accessible (#11547)

* makes shadow and radius controls keyboard accessible

* removes unused imports

* moves options out of render method

* fix: changed the misnomer background property name to the relevant property name

* fix: border radius issue for the map widget

* address qa bugs

* address qa bugs

* fix ux of theming pane when widget is selected

* fix:
* added backgroundColor to the video widget
* restricted pop-over border radius to 0.375rem
* added box shadow for the input group for select widget

* fix: added delete icon in the delete theme modal

* address qa bugs

* change checkbox column size in config

* add js convertible to button color

* remove unused imports

* test: fixed jest tests

* fix primary color typo

* fix: migrations for the theming

* fix:
* Removed background color from MultiTreeSelect and TreeSelect component.
* grouped button's menu button pop over border radius restricting to 0.375rem.

* test: updated Dsl migration UT

* address qa bugs

* address qa bugs

* fix: address qa comments

* address qa bugs

* fix:
* migration issue;
* unit test cases;

* fix rating widget scroll issue

* fix youtube video border radius bug

* fix select widget

* fix select widgets styles

* address qa bugs

* merge conflicts

* makes the reset button keyboard accessible (#12134)

* -resolved merge conflicts

* address qa bugs

* fix: labelTextSize migration fixes

* refactor:
* made changes to the fontSizeUtils function
* fixed the issue related to unit tests

* fix button group widget

* remove unused imports

* fix: fixed the text size migration for the table widget

* refactor: addressed review comments for the table widget theming migration

* fix button group widget

* add init calls for view mode

* json form init theme changes

* fix: added migration for boxShadow, borderRadius and textSizes for table widget

* fix broken fields

* test: fixed unit tests

* wip

* inconsistancy fixes and schemaItem update in updateHook/fieldConfiguration

* feat: init json form migration theming

* json form primaryColor -> accentColor

* update table widget

* update table widget

* object field label styling

* fix: migration related to the JSON form

* fix: fixed labelTextSize migration for JSON form nested widgets

* property control nested stylesheet lookup

* JSONForm label styles form array items

* show label for checkbox field array item

* fix button group widget

* wip

* refactor: addressed table widget review comments

* refactor: addressed ashit review comments;
* added childStylesheet for widgets

* feat: Keyboard navigable Color Picker control (#11797)

* Makes ColorPicker keyboard accessible

* seperate out keyboard and mouse interactions

* fix issue with not focusing back to input

* Adds test for Color picker

* chore: added comment for the boxShadow property

* fix:
* added unit test cases for the widget and property utils
* resolved warning messages

* wip

* theme config update

* fix merge conflicts

* refactor: moved theming migration inside the migrations folder

* fix qa bugs

* fix jest test

* fix: unit test cases

* fix table column creation logic

* refactor: addressed review comments for migrations

* fix: Overriding margin and padding for custom render in the dropdown component (#12875)

* * fix for custom render padding and margin in ADS dropdown

* * fix for removing padding from normal render options

* refactor: moved the boxShadow condition to the variable

* fix qa bugs

* fix: migration QA callouts for audio recorder widget

* refactor: added updated comments for boxShadow migration for table widget

* fix theme binfings for JSONForm fields under Object

* fix table widget theming bug

* fix: addressed code review comments

* fix: unit test cases

* fix: qa migration callouts

* fix table widget theming bug

* fix JSONForm currency input dropdown not submit form

* Added new tests - AppThemingSpec

* fix qa bugs

* fix unit test

* fix JSONForm cellBorderWidth to have default value post migration

* fix unit test

* fix qa bugs

* remove unused imports

* fix qa bugs

* fix JSONForm input height issue

* fix qa bugs

* Updating Theming spec

* * dropdown color fixes (#13249)

* fix caching issue
;

* Fixed Theming tests

* fix tests

* fix tab widget tests

* fix: json form children level migration issue

* fix table widget tests

* Updated test

* updated tests

* updated test

* updated tests

* updated tests

* updated pageload

* fix cypress tests

* remove cypress created files

* fix color picker issues

* Failure fixes

* Fixed some more tests

* fix: cypress test failures

* fix tests

* remove consoles

* fix table tests

* fix qa bugs

* updating snapshots for AppPageLayout_spec as per new UI

* fix rating widget bug

* fix qa bugs

* fix:
* cypress failing tests
* Migration QA callouts
* Removed unused imports

* update constract check algo

* fix color contrast issue

* fix: cypress failure test cases

* update font sizes labels

* fix regression bugs

* fix:
* JSON form labelTextSize issue fix
* Updated comment for the fontSizeUtility function
* migrations issues related to table widget borderRadius and boxShadow

* fix: default labelTextSize issue for the Input and Select families

* fix regression bugs

* fix regression bugs

* PassingParams spec - added wait time

* fix: font family default value issue on JS toggle

* fix js toggle issue in text widget

* fix tests

* fix tests

* fix tests

* fix cypress tests

* fix regression bugs

* fix regression bugs

* fix:
* refactored table widget migration function as per review comments,
* added default value to the widget

* fix: failing unit test cases

* fix theming spec

* fix cypress tests

* test: fixed failed cypress test

* incorporate ashit feedback

* fix cypress tests

* fix: addressed review comments

* comment out table cypress test

* fix merge conflicts

* comment out color picker tests

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
Co-authored-by: keyurparalkar <keyur@appsmith.com>
Co-authored-by: Aswath K <aswath@appsmith.com>
Co-authored-by: Nayan <nayan@appsmith.com>
Co-authored-by: Ashit Rath <ashit@appsmith.com>
Co-authored-by: balajisoundar <balaji@appsmith.com>
Co-authored-by: albinAppsmith <87797149+albinAppsmith@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: apple <nandan@thinkify.io>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
2022-05-04 15:15:57 +05:30

1106 lines
26 KiB
JavaScript

const colors = require("tailwindcss/colors");
module.exports = {
purge: ["./src/**/*.{js,jsx,ts,tsx}", "./public/index.html"],
presets: [],
darkMode: false, // or 'media' or 'class'
theme: {
screens: {
xs: "320px",
sm: "640px",
md: "768px",
lg: "1024px",
xl: "1280px",
"2xl": "1536px",
},
colors: {
transparent: "transparent",
current: "currentColor",
black: colors.black,
white: colors.white,
gray: colors.coolGray,
trueGray: colors.trueGray,
warmGray: colors.warmGray,
red: colors.red,
yellow: colors.amber,
green: colors.emerald,
blue: colors.blue,
indigo: colors.indigo,
purple: colors.violet,
pink: colors.pink,
primary: {
"50": "#FFFFFF",
"100": "#FFF5F0",
"200": "#FDD2BF",
"300": "#FBAF8E",
"400": "#FA8D5C",
"500": "#F86A2B",
"600": "#E84D08",
"700": "#B73C06",
"800": "#862C04",
"900": "#541C03",
},
},
spacing: {
px: "1px",
0: "0px",
0.5: "0.125rem",
1: "0.25rem",
1.5: "0.375rem",
2: "0.5rem",
2.5: "0.625rem",
3: "0.75rem",
3.5: "0.875rem",
4: "1rem",
5: "1.25rem",
6: "1.5rem",
7: "1.75rem",
8: "2rem",
9: "2.25rem",
10: "2.5rem",
11: "2.75rem",
12: "3rem",
14: "3.5rem",
16: "4rem",
20: "5rem",
24: "6rem",
28: "7rem",
32: "8rem",
36: "9rem",
40: "10rem",
44: "11rem",
48: "12rem",
52: "13rem",
56: "14rem",
60: "15rem",
64: "16rem",
72: "18rem",
80: "20rem",
96: "24rem",
100: "28rem",
104: "32rem",
108: "26rem",
},
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",
},
backdropBlur: (theme) => theme("blur"),
backdropBrightness: (theme) => theme("brightness"),
backdropContrast: (theme) => theme("contrast"),
backdropGrayscale: (theme) => theme("grayscale"),
backdropHueRotate: (theme) => theme("hueRotate"),
backdropInvert: (theme) => theme("invert"),
backdropOpacity: (theme) => theme("opacity"),
backdropSaturate: (theme) => theme("saturate"),
backdropSepia: (theme) => theme("sepia"),
backgroundColor: (theme) => theme("colors"),
backgroundImage: {
none: "none",
"gradient-to-t": "linear-gradient(to top, var(--tw-gradient-stops))",
"gradient-to-tr":
"linear-gradient(to top right, var(--tw-gradient-stops))",
"gradient-to-r": "linear-gradient(to right, var(--tw-gradient-stops))",
"gradient-to-br":
"linear-gradient(to bottom right, var(--tw-gradient-stops))",
"gradient-to-b": "linear-gradient(to bottom, var(--tw-gradient-stops))",
"gradient-to-bl":
"linear-gradient(to bottom left, var(--tw-gradient-stops))",
"gradient-to-l": "linear-gradient(to left, var(--tw-gradient-stops))",
"gradient-to-tl":
"linear-gradient(to top left, var(--tw-gradient-stops))",
},
backgroundOpacity: (theme) => theme("opacity"),
backgroundPosition: {
bottom: "bottom",
center: "center",
left: "left",
"left-bottom": "left bottom",
"left-top": "left top",
right: "right",
"right-bottom": "right bottom",
"right-top": "right top",
top: "top",
},
backgroundSize: {
auto: "auto",
cover: "cover",
contain: "contain",
},
blur: {
0: "0",
none: "0",
sm: "4px",
DEFAULT: "8px",
md: "12px",
lg: "16px",
xl: "24px",
"2xl": "40px",
"3xl": "64px",
},
brightness: {
0: "0",
50: ".5",
75: ".75",
90: ".9",
95: ".95",
100: "1",
105: "1.05",
110: "1.1",
125: "1.25",
150: "1.5",
200: "2",
},
borderColor: (theme) => ({
...theme("colors"),
DEFAULT: theme("colors.gray.200", "currentColor"),
}),
borderOpacity: (theme) => theme("opacity"),
borderRadius: {
none: "0px",
sm: "0.125rem",
DEFAULT: "0.25rem",
md: "0.375rem",
lg: "0.5rem",
xl: "0.75rem",
"2xl": "1rem",
"3xl": "1.5rem",
full: "9999px",
},
borderWidth: {
DEFAULT: "1px",
0: "0px",
2: "2px",
3: "3px",
4: "4px",
8: "8px",
},
boxShadow: {
sm: "0 1px 2px 0 rgba(0, 0, 0, 0.05)",
DEFAULT:
"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",
md:
"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
lg:
"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",
xl:
"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)",
"2xl": "0 25px 50px -12px rgba(0, 0, 0, 0.25)",
inner: "inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)",
none: "none",
},
caretColor: (theme) => theme("colors"),
contrast: {
0: "0",
50: ".5",
75: ".75",
100: "1",
125: "1.25",
150: "1.5",
200: "2",
},
container: {},
content: {
none: "none",
},
cursor: {
auto: "auto",
default: "default",
pointer: "pointer",
wait: "wait",
text: "text",
move: "move",
help: "help",
grab: "grab",
grabbing: "grabbing",
"not-allowed": "not-allowed",
"ew-resize": "ew-resize",
"ns-resize": "ns-resize",
},
divideColor: (theme) => theme("borderColor"),
divideOpacity: (theme) => theme("borderOpacity"),
divideWidth: (theme) => theme("borderWidth"),
dropShadow: {
sm: "0 1px 1px rgba(0,0,0,0.05)",
DEFAULT: [
"0 1px 2px rgba(0, 0, 0, 0.1)",
"0 1px 1px rgba(0, 0, 0, 0.06)",
],
md: ["0 4px 3px rgba(0, 0, 0, 0.07)", "0 2px 2px rgba(0, 0, 0, 0.06)"],
lg: ["0 10px 8px rgba(0, 0, 0, 0.04)", "0 4px 3px rgba(0, 0, 0, 0.1)"],
xl: ["0 20px 13px rgba(0, 0, 0, 0.03)", "0 8px 5px rgba(0, 0, 0, 0.08)"],
"2xl": "0 25px 25px rgba(0, 0, 0, 0.15)",
none: "0 0 #0000",
},
fill: { current: "currentColor" },
grayscale: {
0: "0",
DEFAULT: "100%",
},
hueRotate: {
"-180": "-180deg",
"-90": "-90deg",
"-60": "-60deg",
"-30": "-30deg",
"-15": "-15deg",
0: "0deg",
15: "15deg",
30: "30deg",
60: "60deg",
90: "90deg",
180: "180deg",
},
invert: {
0: "0",
DEFAULT: "100%",
},
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",
"system-ui",
"-apple-system",
"BlinkMacSystemFont",
'"Segoe UI"',
"Roboto",
'"Helvetica Neue"',
"Arial",
'"Noto Sans"',
"sans-serif",
'"Apple Color Emoji"',
'"Segoe UI Emoji"',
'"Segoe UI Symbol"',
'"Noto Color Emoji"',
],
serif: [
"ui-serif",
"Georgia",
"Cambria",
'"Times New Roman"',
"Times",
"serif",
],
mono: [
"ui-monospace",
"SFMono-Regular",
"Menlo",
"Monaco",
"Consolas",
'"Liberation Mono"',
'"Courier New"',
"monospace",
],
},
fontSize: {
xxs: ["0.50rem", { lineHeight: "1rem" }],
xs: ["0.75rem", { lineHeight: "1rem" }],
sm: ["0.875rem", { lineHeight: "1.25rem" }],
base: ["1rem", { lineHeight: "1.5rem" }],
lg: ["1.125rem", { lineHeight: "1.75rem" }],
xl: ["1.25rem", { lineHeight: "1.75rem" }],
"2xl": ["1.5rem", { lineHeight: "2rem" }],
"3xl": ["1.875rem", { lineHeight: "2.25rem" }],
"4xl": ["2.25rem", { lineHeight: "2.5rem" }],
"5xl": ["3rem", { lineHeight: "1" }],
"6xl": ["3.75rem", { lineHeight: "1" }],
"7xl": ["4.5rem", { lineHeight: "1" }],
"8xl": ["6rem", { lineHeight: "1" }],
"9xl": ["8rem", { lineHeight: "1" }],
},
fontWeight: {
thin: "100",
extralight: "200",
light: "300",
normal: "400",
medium: "500",
semibold: "600",
bold: "700",
extrabold: "800",
black: "900",
},
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",
"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",
},
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"),
"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%",
full: "100%",
screen: "100vh",
}),
inset: (theme, { negative }) => ({
auto: "auto",
...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%",
}),
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",
normal: "0em",
wide: "0.025em",
wider: "0.05em",
widest: "0.1em",
},
lineHeight: {
none: "1",
tight: "1.25",
snug: "1.375",
normal: "1.5",
relaxed: "1.625",
loose: "2",
3: ".75rem",
4: "1rem",
5: "1.25rem",
6: "1.5rem",
7: "1.75rem",
8: "2rem",
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",
}),
maxWidth: (theme, { breakpoints }) => ({
...theme("spacing"),
none: "none",
0: "0rem",
xs: "20rem",
sm: "24rem",
md: "28rem",
lg: "32rem",
xl: "36rem",
"2xl": "42rem",
"3xl": "48rem",
"4xl": "56rem",
"5xl": "64rem",
"6xl": "72rem",
"7xl": "80rem",
full: "100%",
min: "min-content",
max: "max-content",
prose: "65ch",
...breakpoints(theme("screens")),
}),
minHeight: (theme, { breakpoints }) => ({
...theme("spacing"),
0: "0px",
full: "100%",
screen: "100vh",
...breakpoints(theme("screens")),
}),
minWidth: (theme) => ({
0: "0px",
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",
}),
objectPosition: {
bottom: "bottom",
center: "center",
left: "left",
"left-bottom": "left bottom",
"left-top": "left top",
right: "right",
"right-bottom": "right bottom",
"right-top": "right top",
top: "top",
},
opacity: {
0: "0",
5: "0.05",
10: "0.1",
20: "0.2",
25: "0.25",
30: "0.3",
40: "0.4",
50: "0.5",
60: "0.6",
70: "0.7",
75: "0.75",
80: "0.8",
90: "0.9",
95: "0.95",
100: "1",
},
order: {
first: "-9999",
last: "9999",
none: "0",
1: "1",
2: "2",
3: "3",
4: "4",
5: "5",
6: "6",
7: "7",
8: "8",
9: "9",
10: "10",
11: "11",
12: "12",
},
outline: {
none: ["2px solid transparent", "2px"],
white: ["2px dotted white", "2px"],
black: ["2px dotted black", "2px"],
},
padding: (theme) => theme("spacing"),
placeholderColor: (theme) => theme("colors"),
placeholderOpacity: (theme) => theme("opacity"),
ringColor: (theme) => ({
DEFAULT: theme("colors.blue.500", "#3b82f6"),
...theme("colors"),
}),
ringOffsetColor: (theme) => theme("colors"),
ringOffsetWidth: {
0: "0px",
1: "1px",
2: "2px",
3: "3px",
4: "4px",
5: "5px",
6: "6px",
7: "7px",
8: "8px",
},
ringOpacity: (theme) => ({
DEFAULT: "0.5",
...theme("opacity"),
}),
ringWidth: {
DEFAULT: "3px",
0: "0px",
1: "1px",
2: "2px",
3: "3px",
4: "4px",
5: "5px",
6: "6px",
7: "7px",
8: "8px",
},
rotate: {
"-180": "-180deg",
"-90": "-90deg",
"-45": "-45deg",
"-12": "-12deg",
"-6": "-6deg",
"-3": "-3deg",
"-2": "-2deg",
"-1": "-1deg",
0: "0deg",
1: "1deg",
2: "2deg",
3: "3deg",
6: "6deg",
12: "12deg",
45: "45deg",
90: "90deg",
180: "180deg",
},
saturate: {
0: "0",
50: ".5",
100: "1",
150: "1.5",
200: "2",
},
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",
},
sepia: {
0: "0",
DEFAULT: "100%",
},
skew: {
"-12": "-12deg",
"-6": "-6deg",
"-3": "-3deg",
"-2": "-2deg",
"-1": "-1deg",
0: "0deg",
1: "1deg",
2: "2deg",
3: "3deg",
6: "6deg",
12: "12deg",
},
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"),
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",
},
transitionDelay: {
75: "75ms",
100: "100ms",
150: "150ms",
200: "200ms",
300: "300ms",
500: "500ms",
700: "700ms",
1000: "1000ms",
},
transitionDuration: {
DEFAULT: "150ms",
75: "75ms",
100: "100ms",
150: "150ms",
200: "200ms",
300: "300ms",
400: "400ms",
500: "500ms",
700: "700ms",
1000: "1000ms",
},
transitionProperty: {
none: "none",
all: "all",
DEFAULT:
"background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter",
colors: "background-color, border-color, color, fill, stroke",
opacity: "opacity",
shadow: "box-shadow",
transform: "transform",
},
transitionTimingFunction: {
DEFAULT: "cubic-bezier(0.4, 0, 0.2, 1)",
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",
...{ ...[...Array(10).keys()] },
10: "10",
20: "20",
30: "30",
40: "40",
50: "50",
},
},
variantOrder: [
"first",
"last",
"odd",
"even",
"visited",
"checked",
"empty",
"read-only",
"group-hover",
"group-focus",
"focus-within",
"hover",
"focus",
"focus-visible",
"active",
"disabled",
],
variants: {
accessibility: ["responsive", "focus-within", "focus"],
alignContent: ["responsive"],
alignItems: ["responsive"],
alignSelf: ["responsive"],
animation: ["responsive"],
appearance: ["responsive"],
backdropBlur: ["responsive"],
backdropBrightness: ["responsive"],
backdropContrast: ["responsive"],
backdropFilter: ["responsive"],
backdropGrayscale: ["responsive"],
backdropHueRotate: ["responsive"],
backdropInvert: ["responsive"],
backdropOpacity: ["responsive"],
backdropSaturate: ["responsive"],
backdropSepia: ["responsive"],
backgroundAttachment: ["responsive"],
backgroundBlendMode: ["responsive"],
backgroundClip: ["responsive"],
backgroundColor: [
"responsive",
"dark",
"group-hover",
"group-focus",
"focus-within",
"hover",
"focus",
],
backgroundImage: ["responsive"],
backgroundOpacity: [
"responsive",
"dark",
"group-hover",
"focus-within",
"hover",
"focus",
],
backgroundPosition: ["responsive"],
backgroundRepeat: ["responsive"],
backgroundSize: ["responsive"],
backgroundOrigin: ["responsive"],
blur: ["responsive", "group-hover"],
borderCollapse: ["responsive"],
borderColor: [
"responsive",
"dark",
"group-hover",
"focus-within",
"hover",
"focus",
],
borderOpacity: [
"responsive",
"dark",
"group-hover",
"focus-within",
"hover",
"focus",
],
borderRadius: ["responsive"],
borderStyle: ["responsive"],
borderWidth: ["responsive"],
boxDecorationBreak: ["responsive"],
boxShadow: ["responsive", "group-hover", "focus-within", "hover", "focus"],
boxSizing: ["responsive"],
brightness: ["responsive"],
clear: ["responsive"],
container: ["responsive"],
contrast: ["responsive"],
cursor: ["responsive"],
display: ["responsive", "group-hover"],
divideColor: ["responsive", "dark"],
divideOpacity: ["responsive", "dark"],
divideStyle: ["responsive"],
divideWidth: ["responsive"],
dropShadow: ["responsive"],
fill: ["responsive"],
filter: ["responsive"],
flex: ["responsive", "group-hover", "hover"],
flexDirection: ["responsive"],
flexGrow: ["responsive"],
flexShrink: ["responsive"],
flexWrap: ["responsive"],
float: ["responsive"],
fontFamily: ["responsive"],
fontSize: ["responsive"],
fontSmoothing: ["responsive"],
fontStyle: ["responsive"],
fontVariantNumeric: ["responsive"],
fontWeight: ["responsive"],
gap: ["responsive"],
gradientColorStops: ["responsive", "dark", "hover", "focus"],
grayscale: ["responsive"],
gridAutoColumns: ["responsive"],
gridAutoFlow: ["responsive"],
gridAutoRows: ["responsive"],
gridColumn: ["responsive"],
gridColumnEnd: ["responsive"],
gridColumnStart: ["responsive"],
gridRow: ["responsive"],
gridRowEnd: ["responsive"],
gridRowStart: ["responsive"],
gridTemplateColumns: ["responsive"],
gridTemplateRows: ["responsive"],
height: ["responsive"],
hueRotate: ["responsive"],
inset: ["responsive"],
invert: ["responsive"],
isolation: ["responsive"],
justifyContent: ["responsive"],
justifyItems: ["responsive"],
justifySelf: ["responsive"],
letterSpacing: ["responsive"],
lineHeight: ["responsive"],
listStylePosition: ["responsive"],
listStyleType: ["responsive"],
margin: ["responsive"],
maxHeight: ["responsive"],
maxWidth: ["responsive"],
minHeight: ["responsive"],
minWidth: ["responsive"],
mixBlendMode: ["responsive"],
objectFit: ["responsive"],
objectPosition: ["responsive"],
opacity: ["responsive", "group-hover", "focus-within", "hover", "focus"],
order: ["responsive"],
outline: ["responsive", "focus-within", "focus"],
overflow: ["responsive"],
overscrollBehavior: ["responsive"],
padding: ["responsive"],
placeContent: ["responsive"],
placeItems: ["responsive"],
placeSelf: ["responsive"],
placeholderColor: ["responsive", "dark", "focus"],
placeholderOpacity: ["responsive", "dark", "focus"],
pointerEvents: ["responsive"],
position: ["responsive"],
resize: ["responsive"],
ringColor: ["responsive", "dark", "focus-within", "focus", "hover"],
ringOffsetColor: ["responsive", "dark", "focus-within", "focus", "hover"],
ringOffsetWidth: ["responsive", "focus-within", "focus", "hover"],
ringOpacity: ["responsive", "dark", "focus-within", "focus", "hover"],
ringWidth: ["responsive", "focus-within", "focus", "hover"],
rotate: ["responsive", "hover", "focus"],
saturate: ["responsive"],
scale: ["responsive", "hover", "focus"],
sepia: ["responsive"],
skew: ["responsive", "hover", "focus"],
space: ["responsive"],
stroke: ["responsive"],
strokeWidth: ["responsive"],
tableLayout: ["responsive"],
textAlign: ["responsive"],
textColor: [
"responsive",
"dark",
"group-hover",
"focus-within",
"hover",
"focus",
],
textDecoration: [
"responsive",
"group-hover",
"focus-within",
"hover",
"focus",
],
textOpacity: [
"responsive",
"dark",
"group-hover",
"focus-within",
"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"],
whitespace: ["responsive"],
width: ["responsive"],
wordBreak: ["responsive"],
zIndex: ["responsive", "focus-within", "focus"],
},
plugins: [],
};