Skip to content

Instantly share code, notes, and snippets.

@james2doyle
Last active September 9, 2020 16:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save james2doyle/7c9e709659be29c232075ad918265bd6 to your computer and use it in GitHub Desktop.
Save james2doyle/7c9e709659be29c232075ad918265bd6 to your computer and use it in GitHub Desktop.
TailwindCSS Typescript definitions file for v1.7.0
/**
** TailwindCSS Typescript definitions File
** v1.7.0
**
** Docs: https://tailwindcss.com/docs/configuration
** Default: https://github.com/tailwindcss/tailwindcss/blob/master/stubs/defaultConfig.stub.js
Usage in `tailwind.config.js`:
// @type {import('tailwindcss/types').Theme}
const defaultTheme = require('tailwindcss/defaultTheme');
module.exports = {
// @type {import('tailwindcss/types').Theme}
theme: {
...defaultTheme,
// @type {import('tailwindcss/types').Extend}
extend: {},
},
// ...
}
*/
declare module 'tailwindcss/types' {
export interface Screens {
sm: string;
md: string;
lg: string;
xl: string;
}
export interface Gray {
100: string;
200: string;
300: string;
400: string;
500: string;
600: string;
700: string;
800: string;
900: string;
}
export interface Red {
100: string;
200: string;
300: string;
400: string;
500: string;
600: string;
700: string;
800: string;
900: string;
}
export interface Orange {
100: string;
200: string;
300: string;
400: string;
500: string;
600: string;
700: string;
800: string;
900: string;
}
export interface Yellow {
100: string;
200: string;
300: string;
400: string;
500: string;
600: string;
700: string;
800: string;
900: string;
}
export interface Green {
100: string;
200: string;
300: string;
400: string;
500: string;
600: string;
700: string;
800: string;
900: string;
}
export interface Teal {
100: string;
200: string;
300: string;
400: string;
500: string;
600: string;
700: string;
800: string;
900: string;
}
export interface Blue {
100: string;
200: string;
300: string;
400: string;
500: string;
600: string;
700: string;
800: string;
900: string;
}
export interface Indigo {
100: string;
200: string;
300: string;
400: string;
500: string;
600: string;
700: string;
800: string;
900: string;
}
export interface Purple {
100: string;
200: string;
300: string;
400: string;
500: string;
600: string;
700: string;
800: string;
900: string;
}
export interface Pink {
100: string;
200: string;
300: string;
400: string;
500: string;
600: string;
700: string;
800: string;
900: string;
}
export interface Colors {
transparent: string;
current: string;
black: string;
white: string;
gray: Gray;
red: Red;
orange: Orange;
yellow: Yellow;
green: Green;
teal: Teal;
blue: Blue;
indigo: Indigo;
purple: Purple;
pink: Pink;
}
export interface Spacing {
0: string;
1: string;
2: string;
3: string;
4: string;
5: string;
6: string;
8: string;
10: string;
12: string;
16: string;
20: string;
24: string;
32: string;
40: string;
48: string;
56: string;
64: string;
px: string;
}
export interface BackgroundImage {
none: string;
'gradient-to-t': string;
'gradient-to-tr': string;
'gradient-to-r': string;
'gradient-to-br': string;
'gradient-to-b': string;
'gradient-to-bl': string;
'gradient-to-l': string;
'gradient-to-tl': string;
}
export interface BackgroundPosition {
bottom: string;
center: string;
left: string;
'left-bottom': string;
'left-top': string;
right: string;
'right-bottom': string;
'right-top': string;
top: string;
}
export interface BackgroundSize {
auto: string;
cover: string;
contain: string;
}
export interface BorderRadius {
none: string;
sm: string;
default: string;
md: string;
lg: string;
full: string;
}
export interface BorderWidth {
0: string;
2: string;
4: string;
8: string;
default: string;
}
export interface BoxShadow {
xs: string;
sm: string;
default: string;
md: string;
lg: string;
xl: string;
'2xl': string;
inner: string;
outline: string;
none: string;
}
export interface Container {
}
export interface Cursor {
auto: string;
default: string;
pointer: string;
wait: string;
text: string;
move: string;
'not-allowed': string;
}
export interface Fill {
current: string;
}
export interface Flex {
1: string;
auto: string;
initial: string;
none: string;
}
export interface FlexGrow {
0: string;
default: string;
}
export interface FlexShrink {
0: string;
default: string;
}
export interface FontFamily {
sans: string[];
serif: string[];
mono: string[];
}
export interface FontSize {
xs: string;
sm: string;
base: string;
lg: string;
xl: string;
'2xl': string;
'3xl': string;
'4xl': string;
'5xl': string;
'6xl': string;
}
export interface FontWeight {
hairline: string;
thin: string;
light: string;
normal: string;
medium: string;
semibold: string;
bold: string;
extrabold: string;
black: string;
}
export interface Inset {
0: string;
auto: string;
}
export interface LetterSpacing {
tighter: string;
tight: string;
normal: string;
wide: string;
wider: string;
widest: string;
}
export interface LineHeight {
3: string;
4: string;
5: string;
6: string;
7: string;
8: string;
9: string;
10: string;
none: string;
tight: string;
snug: string;
normal: string;
relaxed: string;
loose: string;
}
export interface ListStyleType {
none: string;
disc: string;
decimal: string;
}
export interface MaxHeight {
full: string;
screen: string;
}
export interface MinHeight {
0: string;
full: string;
screen: string;
}
export interface MinWidth {
0: string;
full: string;
}
export interface ObjectPosition {
bottom: string;
center: string;
left: string;
'left-bottom': string;
'left-top': string;
right: string;
'right-bottom': string;
'right-top': string;
top: string;
}
export interface Opacity {
0: string;
25: string;
50: string;
75: string;
100: string;
}
export interface Order {
1: string;
2: string;
3: string;
4: string;
5: string;
6: string;
7: string;
8: string;
9: string;
10: string;
11: string;
12: string;
first: string;
last: string;
none: string;
}
export interface Stroke {
current: string;
}
export interface StrokeWidth {
0: string;
1: string;
2: string;
}
export interface ZIndex {
0: string;
10: string;
20: string;
30: string;
40: string;
50: string;
auto: string;
}
export interface GridTemplateColumns {
1: string;
2: string;
3: string;
4: string;
5: string;
6: string;
7: string;
8: string;
9: string;
10: string;
11: string;
12: string;
none: string;
}
export interface GridColumn {
auto: string;
'span-1': string;
'span-2': string;
'span-3': string;
'span-4': string;
'span-5': string;
'span-6': string;
'span-7': string;
'span-8': string;
'span-9': string;
'span-10': string;
'span-11': string;
'span-12': string;
}
export interface GridColumnStart {
1: string;
2: string;
3: string;
4: string;
5: string;
6: string;
7: string;
8: string;
9: string;
10: string;
11: string;
12: string;
13: string;
auto: string;
}
export interface GridColumnEnd {
1: string;
2: string;
3: string;
4: string;
5: string;
6: string;
7: string;
8: string;
9: string;
10: string;
11: string;
12: string;
13: string;
auto: string;
}
export interface GridTemplateRows {
1: string;
2: string;
3: string;
4: string;
5: string;
6: string;
none: string;
}
export interface GridRow {
auto: string;
'span-1': string;
'span-2': string;
'span-3': string;
'span-4': string;
'span-5': string;
'span-6': string;
}
export interface GridRowStart {
1: string;
2: string;
3: string;
4: string;
5: string;
6: string;
7: string;
auto: string;
}
export interface GridRowEnd {
1: string;
2: string;
3: string;
4: string;
5: string;
6: string;
7: string;
auto: string;
}
export interface TransformOrigin {
center: string;
top: string;
'top-right': string;
right: string;
'bottom-right': string;
bottom: string;
'bottom-left': string;
left: string;
'top-left': string;
}
export interface Scale {
0: string;
50: string;
75: string;
90: string;
95: string;
100: string;
105: string;
110: string;
125: string;
150: string;
}
export interface Rotate {
0: string;
45: string;
90: string;
180: string;
'-180': string;
'-90': string;
'-45': string;
}
export interface Skew {
0: string;
3: string;
6: string;
12: string;
'-12': string;
'-6': string;
'-3': string;
}
export interface TransitionProperty {
none: string;
all: string;
default: string;
colors: string;
opacity: string;
shadow: string;
transform: string;
}
export interface TransitionTimingFunction {
linear: string;
in: string;
out: string;
'in-out': string;
}
export interface TransitionDuration {
75: string;
100: string;
150: string;
200: string;
300: string;
500: string;
700: string;
1000: string;
}
export interface TransitionDelay {
75: string;
100: string;
150: string;
200: string;
300: string;
500: string;
700: string;
1000: string;
}
export interface Animation {
none: string;
spin: string;
ping: string;
pulse: string;
bounce: string;
}
export interface To {
transform: string;
}
export interface Spin {
to: To;
}
export interface PingDetails {
transform: string;
opacity: string;
}
export interface Ping {
'75%, 100%': PingDetails;
}
export interface PulseDetails {
opacity: string;
}
export interface Pulse {
'50%': PulseDetails;
}
export interface BounceStartStop {
transform: string;
animationTimingFunction: string;
}
export interface BounceHalfway {
transform: string;
animationTimingFunction: string;
}
export interface Bounce {
'0%, 100%': BounceStartStop;
'50%': BounceHalfway;
}
export interface Keyframes {
spin: Spin;
ping: Ping;
pulse: Pulse;
bounce: Bounce;
}
export interface Extend {
screens: Screens;
colors: Colors;
spacing: Spacing;
backgroundImage: BackgroundImage;
backgroundPosition: BackgroundPosition;
backgroundSize: BackgroundSize;
borderRadius: BorderRadius;
borderWidth: BorderWidth;
boxShadow: BoxShadow;
container: Container;
cursor: Cursor;
fill: Fill;
flex: Flex;
flexGrow: FlexGrow;
flexShrink: FlexShrink;
fontFamily: FontFamily;
fontSize: FontSize;
fontWeight: FontWeight;
inset: Inset;
letterSpacing: LetterSpacing;
lineHeight: LineHeight;
listStyleType: ListStyleType;
maxHeight: MaxHeight;
minHeight: MinHeight;
minWidth: MinWidth;
objectPosition: ObjectPosition;
opacity: Opacity;
order: Order;
stroke: Stroke;
strokeWidth: StrokeWidth;
zIndex: ZIndex;
gridTemplateColumns: GridTemplateColumns;
gridColumn: GridColumn;
gridColumnStart: GridColumnStart;
gridColumnEnd: GridColumnEnd;
gridTemplateRows: GridTemplateRows;
gridRow: GridRow;
gridRowStart: GridRowStart;
gridRowEnd: GridRowEnd;
transformOrigin: TransformOrigin;
scale: Scale;
rotate: Rotate;
skew: Skew;
transitionProperty: TransitionProperty;
transitionTimingFunction: TransitionTimingFunction;
transitionDuration: TransitionDuration;
transitionDelay: TransitionDelay;
animation: Animation;
keyframes: Keyframes;
}
export interface Theme extends Extend {
extend: Extend
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment