mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-15 09:22:43 +03:00
aa273cdc4c
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8701 GitOrigin-RevId: 558b6d3e688e4d9d945ba33c459565f4b0f6f502
246 lines
6.8 KiB
JavaScript
246 lines
6.8 KiB
JavaScript
const colors = require('tailwindcss/colors');
|
|
const plugin = require('tailwindcss/plugin');
|
|
const { blackA, mauve, violet } = require('@radix-ui/colors');
|
|
|
|
function dataStateVariant(state, { addVariant, e }) {
|
|
addVariant(`data-state-${state}`, ({ modifySelectors, separator }) => {
|
|
modifySelectors(({ className }) => {
|
|
return `.${e(
|
|
`data-state-${state}${separator}${className}`
|
|
)}[data-state='${state}']`;
|
|
});
|
|
});
|
|
|
|
addVariant(`group-data-state-${state}`, ({ modifySelectors, separator }) => {
|
|
modifySelectors(({ className }) => {
|
|
return `.group[data-state='${state}'] .${e(
|
|
`group-data-state-${state}${separator}${className}`
|
|
)}`;
|
|
});
|
|
});
|
|
|
|
addVariant(`peer-data-state-${state}`, ({ modifySelectors, separator }) => {
|
|
modifySelectors(({ className }) => {
|
|
return `.peer[data-state='${state}'] ~ .${e(
|
|
`peer-data-state-${state}${separator}${className}`
|
|
)}`;
|
|
});
|
|
});
|
|
}
|
|
|
|
module.exports = {
|
|
safelist: {
|
|
standard: /background$/,
|
|
},
|
|
darkMode: 'class',
|
|
theme: {
|
|
fontFamily: {
|
|
sans: ['Gudea', 'ui-sans-serif', 'system-ui'],
|
|
mono: ['"Overpass Mono"', 'ui-monospace', 'monospace'],
|
|
},
|
|
extend: {
|
|
boxShadow: {
|
|
eq: 'rgb(0 0 0) 0px 0px 2px',
|
|
},
|
|
colors: {
|
|
current: 'currentColor',
|
|
yellow: colors.amber,
|
|
gray: colors.slate,
|
|
primary: {
|
|
light: '#fad170',
|
|
DEFAULT: '#f9c548',
|
|
dark: '#d5ae52',
|
|
darker: '#ae8e3e',
|
|
},
|
|
cloud: {
|
|
DEFAULT: '#1eb4d4',
|
|
dark: '#197b98',
|
|
darker: '#074c4c',
|
|
},
|
|
secondary: {
|
|
light: '#eef4f7',
|
|
DEFAULT: '#297393',
|
|
dark: '#14394a',
|
|
},
|
|
legacybg: {
|
|
DEFAULT: '#f8fafb',
|
|
},
|
|
muted: {
|
|
DEFAULT: '#64748B',
|
|
dark: '#64748B',
|
|
},
|
|
},
|
|
spacing: {
|
|
xs: '0.571rem', // ~9.5 px
|
|
sm: '0.857rem', // ~14 px
|
|
md: '1.429rem', // ~23 px
|
|
lg: '2.286rem', // 36.5px
|
|
xl: '2.857rem', // 45.7px
|
|
input: '2.5rem', // 41.5px
|
|
btn: '2.5rem', // 41.5px
|
|
btnsm: '2rem', // 32px
|
|
formlabel: '0.571rem', // ~9.5 px
|
|
},
|
|
fontSize: {
|
|
sm: ['0.875rem', { lineHeight: '1.25rem' }],
|
|
base: ['1rem', { lineHeight: '1.5rem' }],
|
|
lg: ['1.143rem', { lineHeight: '1.429rem' }],
|
|
xl: ['1.714rem', { lineHeight: '2.143rem' }],
|
|
subtitle: ['1.300rem', { lineHeight: '2.143rem' }], // ~20 px
|
|
title: ['1.5rem', { lineHeight: '2.143rem' }], // ~24 px
|
|
},
|
|
width: {
|
|
inherit: 'inherit',
|
|
},
|
|
keyframes: {
|
|
onboardingWizardFadeIn: {
|
|
'0%': {
|
|
opacity: '0',
|
|
scale: '.9',
|
|
},
|
|
'50%': {
|
|
opacity: '.5',
|
|
scale: '.95',
|
|
},
|
|
'100%': {
|
|
opacity: '1',
|
|
scale: '1',
|
|
},
|
|
},
|
|
collapsibleContentOpen: {
|
|
from: {
|
|
height: '0',
|
|
},
|
|
to: {
|
|
height: 'var(--radix-collapsible-content-height)',
|
|
},
|
|
},
|
|
collapsibleContentClose: {
|
|
from: {
|
|
height: 'var(--radix-collapsible-content-height)',
|
|
},
|
|
to: {
|
|
height: '0',
|
|
},
|
|
},
|
|
slideUpAndFade: {
|
|
from: {
|
|
opacity: `0`,
|
|
transform: `translateY(2px)`,
|
|
},
|
|
to: {
|
|
opacity: `1`,
|
|
transform: `translateY(0)`,
|
|
},
|
|
},
|
|
slideRightAndFade: {
|
|
from: {
|
|
opacity: `0`,
|
|
transform: `translateX(-2px)`,
|
|
},
|
|
to: {
|
|
opacity: `1`,
|
|
transform: `translateX(0)`,
|
|
},
|
|
},
|
|
slideDownAndFade: {
|
|
from: {
|
|
opacity: `0`,
|
|
transform: `translateY(-2px)`,
|
|
},
|
|
to: {
|
|
opacity: `1`,
|
|
transform: `translateY(0)`,
|
|
},
|
|
},
|
|
slideLeftAndFade: {
|
|
from: {
|
|
opacity: `0`,
|
|
transform: `translateX(2px)`,
|
|
},
|
|
to: {
|
|
opacity: `1`,
|
|
transform: `translateX(0)`,
|
|
},
|
|
},
|
|
notificationOpen: {
|
|
from: {
|
|
opacity: `0`,
|
|
transform: `translateX(100%)`,
|
|
},
|
|
to: {
|
|
opacity: `1`,
|
|
transform: `translateX(0)`,
|
|
},
|
|
},
|
|
notificationClose: {
|
|
from: {
|
|
opacity: `1`,
|
|
transform: `translateY(0)`,
|
|
},
|
|
to: {
|
|
opacity: `0`,
|
|
transform: `translateY(-100%)`,
|
|
},
|
|
},
|
|
dropdownMenuContentOpen: {
|
|
from: {
|
|
opacity: '0',
|
|
},
|
|
to: {
|
|
opacity: '1',
|
|
},
|
|
},
|
|
dropdownMenuContentClose: {
|
|
from: {
|
|
opacity: '1',
|
|
},
|
|
to: {
|
|
opacity: '0',
|
|
},
|
|
},
|
|
fadeIn: {
|
|
from: { opacity: 0 },
|
|
to: { opacity: 1 },
|
|
},
|
|
alertContentShow: {
|
|
from: { opacity: 0, transform: 'translate(-50%, -48%) scale(0.96)' },
|
|
to: { opacity: 1, transform: 'translate(-50%, -50%) scale(1)' },
|
|
},
|
|
},
|
|
animation: {
|
|
collapsibleContentOpen: 'collapsibleContentOpen 300ms ease-out',
|
|
collapsibleContentClose: 'collapsibleContentClose 300ms ease-out',
|
|
collapsibleContentOpenFast: 'collapsibleContentOpen 200ms ease-out',
|
|
collapsibleContentCloseFast: 'collapsibleContentClose 200ms ease-out',
|
|
slideUpAndFade: 'slideUpAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)',
|
|
slideRightAndFade:
|
|
'slideRightAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)',
|
|
slideDownAndFade:
|
|
'slideDownAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)',
|
|
slideLeftAndFade:
|
|
'slideLeftAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)',
|
|
notificationOpen: 'notificationOpen 300ms ease-in-out',
|
|
notificationClose: 'notificationClose 300ms ease-in-out',
|
|
dropdownMenuContentOpen: 'dropdownMenuContentOpen 100ms ease-in',
|
|
dropdownMenuContentClose: 'dropdownMenuContentClose 100ms ease-out',
|
|
overlayShow: 'overlayShow 150ms cubic-bezier(0.16, 1, 0.3, 1)',
|
|
contentShow: 'contentShow 150ms cubic-bezier(0.16, 1, 0.3, 1)',
|
|
},
|
|
},
|
|
},
|
|
plugins: [
|
|
require('@tailwindcss/typography'),
|
|
require('@tailwindcss/forms'),
|
|
require('tailwindcss-radix')(),
|
|
plugin(helpers => {
|
|
// variants that help styling Radix-UI components
|
|
dataStateVariant('open', helpers);
|
|
dataStateVariant('closed', helpers);
|
|
dataStateVariant('on', helpers);
|
|
dataStateVariant('checked', helpers);
|
|
dataStateVariant('unchecked', helpers);
|
|
}),
|
|
],
|
|
};
|