Skip to content

Commit c731f8a

Browse files
docs: CSS config with all possible presets
1 parent d9e18b2 commit c731f8a

2 files changed

Lines changed: 285 additions & 0 deletions

File tree

src/utils/tailwindcss-api/worker/load-theme.spec.ts

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,120 @@ test(`load theme from "padding.css"`, () => {
8888
expect(counter).toBe(3);
8989
});
9090

91+
test(`load theme from "all-presets.css"`, () => {
92+
const path = require.resolve("../../../../tests/stubs/css/all-presets.css");
93+
const theme = loadThemeWorker(path);
94+
let counter = 0;
95+
for (const [key, value] of theme.values) {
96+
if (key.startsWith("--spacing")) continue;
97+
// Layout
98+
if (key.startsWith("--aspect-")) continue;
99+
if (key.startsWith("--columns-")) continue;
100+
if (key.startsWith("--container-")) continue;
101+
if (key.startsWith("--inset-")) continue;
102+
if (key.startsWith("--z-index-")) continue;
103+
// Flexbox & Grid
104+
if (key.startsWith("--order-")) continue;
105+
if (key.startsWith("--grid-template-columns-")) continue;
106+
if (key.startsWith("--grid-column-")) continue;
107+
if (key.startsWith("--grid-template-rows-")) continue;
108+
if (key.startsWith("--grid-row-start-")) continue;
109+
if (key.startsWith("--grid-row-end-")) continue;
110+
if (key.startsWith("--grid-auto-columns-")) continue;
111+
if (key.startsWith("--grid-auto-rows-")) continue;
112+
if (key.startsWith("--gap-")) continue;
113+
// Spacing
114+
if (key.startsWith("--padding-")) continue;
115+
if (key.startsWith("--margin-")) continue;
116+
// Sizing
117+
if (key.startsWith("--width-")) continue;
118+
if (key.startsWith("--min-width-")) continue;
119+
if (key.startsWith("--max-width-")) continue;
120+
if (key.startsWith("--height-")) continue;
121+
if (key.startsWith("--min-height-")) continue;
122+
if (key.startsWith("--max-height-")) continue;
123+
// Typography
124+
if (key.startsWith("--font-")) continue;
125+
if (key.startsWith("--text-")) continue;
126+
if (key.startsWith("--font-weight-")) continue;
127+
if (key.startsWith("--font-stretch-")) continue;
128+
if (key.startsWith("--tracking-")) continue;
129+
if (key.startsWith("--line-clamp-")) continue;
130+
if (key.startsWith("--leading-")) continue;
131+
if (key.startsWith("--list-style-type-")) continue;
132+
if (key.startsWith("--color-")) continue;
133+
if (key.startsWith("--text-decoration-color-")) continue;
134+
if (key.startsWith("--text-decoration-thickness-")) continue;
135+
if (key.startsWith("--text-underline-offset-")) continue;
136+
// Backgrounds
137+
if (key.startsWith("--background-color-")) continue;
138+
if (key.startsWith("--background-image-")) continue;
139+
// Borders
140+
if (key.startsWith("--radius-")) continue;
141+
if (key.startsWith("--border-width-")) continue;
142+
if (key.startsWith("--divide-width-")) continue;
143+
if (key.startsWith("--border-color-")) continue;
144+
if (key.startsWith("--divide-color-")) continue;
145+
if (key.startsWith("--outline-width-")) continue;
146+
if (key.startsWith("--outline-color-")) continue;
147+
if (key.startsWith("--outline-offset-")) continue;
148+
// Effects
149+
if (key.startsWith("--shadow-")) continue;
150+
if (key.startsWith("--inset-shadow-")) continue;
151+
if (key.startsWith("--shadow-color-")) continue;
152+
if (key.startsWith("--text-shadow-")) continue;
153+
if (key.startsWith("--text-shadow-color-")) continue;
154+
if (key.startsWith("--opacity-")) continue;
155+
// Filters
156+
if (key.startsWith("--blur-")) continue;
157+
if (key.startsWith("--brightness-")) continue;
158+
if (key.startsWith("--contrast-")) continue;
159+
if (key.startsWith("--drop-shadow-")) continue;
160+
if (key.startsWith("--grayscale-")) continue;
161+
if (key.startsWith("--hue-rotate-")) continue;
162+
if (key.startsWith("--invert-")) continue;
163+
if (key.startsWith("--saturate-")) continue;
164+
if (key.startsWith("--sepia-")) continue;
165+
if (key.startsWith("--backdrop-blur-")) continue;
166+
if (key.startsWith("--backdrop-brightness-")) continue;
167+
if (key.startsWith("--backdrop-contrast-")) continue;
168+
if (key.startsWith("--backdrop-grayscale-")) continue;
169+
if (key.startsWith("--backdrop-hue-rotate-")) continue;
170+
if (key.startsWith("--backdrop-invert-")) continue;
171+
if (key.startsWith("--backdrop-opacity-")) continue;
172+
if (key.startsWith("--backdrop-saturate-")) continue;
173+
if (key.startsWith("--backdrop-sepia-")) continue;
174+
// Tables
175+
if (key.startsWith("--border-spacing-")) continue;
176+
// Transitions & Animation
177+
if (key.startsWith("--transition-property-")) continue;
178+
if (key.startsWith("--transition-duration-")) continue;
179+
if (key.startsWith("--ease-in-")) continue;
180+
if (key.startsWith("--transition-delay-")) continue;
181+
if (key.startsWith("--animate-")) continue;
182+
// Transforms
183+
if (key.startsWith("--perspective-")) continue;
184+
if (key.startsWith("--perspective-origin-")) continue;
185+
if (key.startsWith("--rotate-")) continue;
186+
if (key.startsWith("--scale-")) continue;
187+
if (key.startsWith("--skew-")) continue;
188+
if (key.startsWith("--transform-origin-")) continue;
189+
if (key.startsWith("--translate-")) continue;
190+
// Interactivity
191+
if (key.startsWith("--caret-color-")) continue;
192+
if (key.startsWith("--cursor-")) continue;
193+
if (key.startsWith("--scroll-margin-")) continue;
194+
if (key.startsWith("--scroll-padding-")) continue;
195+
// SVG
196+
if (key.startsWith("--fill-")) continue;
197+
if (key.startsWith("--stroke-")) continue;
198+
if (key.startsWith("--stroke-width-")) continue;
199+
console.log(key, value);
200+
counter++;
201+
}
202+
expect(counter).toBe(0);
203+
});
204+
91205
// At this moment, no possibility to read the custom dark variant from the config
92206
/*/
93207
test(`load theme from "custom-dark.css"`, () => {

tests/stubs/css/all-presets.css

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
@import "tailwindcss";
2+
3+
@theme {
4+
--*: initial;
5+
--spacing: 1px;
6+
--spacing-twice: 2px; /* border-spacing-twice */
7+
8+
/*
9+
* Layout
10+
*/
11+
--aspect-retro: 4 / 3; /* aspect-retro */
12+
--columns-side-menu: 16rem; /* columns-side-menu */
13+
--container-micro: 14rem; /* columns-micro min-w-micro w-micro @max-micro: @min-micro: min-inline-micro basis-micro max-w-micro inline-micro */
14+
--inset-pi: 3.14px; /* inset-pi top-pi ... */
15+
--z-index-dropdown: 1000; /* z-dropdown */
16+
/*
17+
* Flexbox & Grid
18+
*/
19+
--order-revolution: 1789; /* order-revolution */
20+
--grid-template-columns-cards: repeat(
21+
auto-fill,
22+
minmax(300px, 1fr)
23+
); /* grid-cols-cards */
24+
--grid-column-main: 2 / span 4; /* col-main */
25+
--grid-column-end-last-of-us: -1; /* col-end-last-of-us */
26+
--grid-template-rows-screen-3: repeat(3, 100vh); /* grid-rows-screen-3 */
27+
--grid-row-start-top: 1; /* row-start-top */
28+
--grid-row-end-bottomus: -1; /* row-end-bottomus */
29+
--grid-auto-columns-thirteen: 13rem; /* auto-cols-thirteen */
30+
--grid-auto-rows-thumb: 250px; /* auto-rows-thumb */
31+
--gap-chunky: 2.5rem; /* gap-chunky */
32+
/* --gap-x & --gap-y are not supported */
33+
/*
34+
* Spacing
35+
*/
36+
--padding-safe: 3rem; /* p-safe px-safe ... */
37+
--margin-huge: 8rem; /* m-huge mx-huge ... */
38+
/*
39+
* Sizing
40+
*/
41+
--width-custom-width: 100px; /* w-custom-width */
42+
--min-width-xs: 20rem; /* min-w-xs */
43+
--max-width-half: 50%; /* max-w-half */
44+
--height-effeil: 320px; /* h-effeil */
45+
--min-height-ride: 135px; /* min-h-ride */
46+
--max-height-ride: 220px; /* max-h-ride */
47+
/*
48+
* Typography
49+
*/
50+
--font-display: "Playfair Display", Georgia, serif; /* font-display */
51+
--text-tiny: 0.625rem; /* text-tiny */
52+
/* https://tailwindcss.com/docs/font-size#customizing-your-theme */
53+
--text-tiny--line-height: 1.5rem; /* text-tiny-line-height */
54+
--text-tiny--letter-spacing: 0.125rem; /* text-tiny-letter-spacing */
55+
--text-tiny--font-weight: 500; /* text-tiny-font-weight */
56+
--font-weight-extrablack: 1000; /* font-extrablack */
57+
--font-stretch-ultra-condensed: 50%; /* font-stretch-ultra-condensed */
58+
--tracking-caps: 0.15em; /* tracking-caps */
59+
--line-clamp-long: 6; /* line-clamp-long */
60+
--leading-article: 1.75rem; /* leading-article */
61+
--list-style-type-emoji: "👉 "; /* list-emoji */
62+
--color-hexa: #123456; /* text-hexa */
63+
--text-decoration-color-link-hover: #0056b3; /* decoration-link-hover */
64+
--text-decoration-thickness-thick: 4px; /* decoration-thick */
65+
--text-underline-offset-deep: 6px; /* underline-offset-deep */
66+
/*
67+
* Backgrounds
68+
*/
69+
--background-color-page-dark: #0f172a; /* bg-page-dark */
70+
--background-image-glow: radial-gradient(
71+
circle,
72+
#f472b6 0%,
73+
#3b82f6 100%
74+
); /* bg-glow */
75+
--background-image-grid-pattern: url("/images/grid.svg"); /* bg-grid-pattern */
76+
--background-image-placeholder: url("https://picsum.photos/1920/1080"); /* bg-placeholder */
77+
/*
78+
* Borders
79+
*/
80+
--radius-5xl: 30rem; /* rounded-5xl */
81+
--border-width-heavy: 12px; /* border-heavy */
82+
--divide-width-thin: 1px; /* divide-x-thin divide-y-thin */
83+
--border-color-input-muted: #cbd5e1; /* border-input-muted */
84+
--divide-color-faded: #f3f4f6; /* divide-faded */
85+
--outline-width-focus-ring: 0.25rem; /* outline-focus-ring */
86+
--outline-color-accessible-blue: #0056b3; /* outline-accessible-blue */
87+
--outline-offset-inset: -4px; /* outline-offset-inset */
88+
/*
89+
* Effects
90+
*/
91+
--shadow-3xl: 0 35px 35px rgba(0, 0, 0, 0.25); /* shadow-3xl */
92+
--inset-shadow-md: inset 0 2px 3px rgba(0, 0, 0, 0.25); /* inset-shadow-md */
93+
--shadow-color-field: #0f0; /* shadow-color-field */
94+
--text-shadow-xl: 0 35px 35px rgb(0, 0, 0 / 0.25); /* text-shadow-xl */
95+
--text-shadow-color-matrix: lightgreen; /* text-shadow-color-matrix */
96+
--opacity-ghost: 0.8; /* opacity-ghost */
97+
/*
98+
* Filters
99+
*/
100+
--blur-2xs: 2px; /* blur-2xs */
101+
--brightness-intense: 1.75; /* brightness-intense */
102+
--contrast-enhanced: 1.25; /* contrast-enhanced */
103+
--drop-shadow-3xl: 0 35px 35px rgba(0, 0, 0, 0.25); /* drop-shadow-3xl */
104+
--grayscale-subtle: 20%; /* grayscale-subtle */
105+
--hue-rotate-half: 180deg; /* hue-rotate-half */
106+
--invert-partial: 30%; /* invert-partial */
107+
--saturate-pop: 125%; /* saturate-pop */
108+
--sepia-warm: 40%; /* sepia-warm */
109+
--backdrop-blur-2xs: 2px; /* backdrop-blur-2xs */
110+
--backdrop-brightness-intense: 1.75; /* backdrop-brightness-intense */
111+
--backdrop-contrast-enhanced: 1.25; /* backdrop-contrast-enhanced */
112+
--backdrop-grayscale-subtle: 20%; /* backdrop-grayscale-subtle */
113+
--backdrop-hue-rotate-half: 180deg; /* backdrop-hue-rotate-half */
114+
--backdrop-invert-partial: 30%; /* backdrop-invert-partial */
115+
--backdrop-opacity-third: 0.333; /* backdrop-opacity-third */
116+
--backdrop-saturate-pop: 125%; /* backdrop-saturate-pop */
117+
--backdrop-sepia-warm: 40%; /* backdrop-sepia-warm */
118+
/*
119+
* Tables
120+
*/
121+
--border-spacing-wide: 24px 8px; /* border-spacing-wide */
122+
/*
123+
* Transitions & Animation
124+
*/
125+
--transition-property-kart: transform, box-shadow; /* transition-kart */
126+
--transition-duration-epic: 2s; /* duration-epic */
127+
--ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035); /* ease-in-expo */
128+
--transition-delay-staggered: 500ms; /* delay-staggered */
129+
--animate-wiggle: wiggle 1s ease-in-out infinite;
130+
/* animate-wiggle */
131+
@keyframes wiggle {
132+
0%,
133+
100% {
134+
transform: rotate(-3deg);
135+
}
136+
50% {
137+
transform: rotate(3deg);
138+
}
139+
}
140+
/*
141+
* Transforms
142+
*/
143+
--perspective-remote: 1800px; /* perspective-remote */
144+
--perspective-origin-dramatic: 90% 90%; /* perspective-origin-dramatic */
145+
--rotate-half: 0.5turn; /* rotate-half */
146+
/* rotate-x-... rotate-y-... rotate-z-... are not supported */
147+
--scale-giant: 1.5; /* scale-giant */
148+
/* scale-x-... scale-y-... scale-z-... are not supported */
149+
--skew-subtle: 3deg; /* skew-subtle */
150+
--transform-origin-card-hinge: 0% 10%; /* origin-card-hinge */
151+
--translate-popup: -4px; /* translate-popup */
152+
/* translate-x-... translate-y-... translate-z-... are not supported */
153+
/*
154+
* Interactivity
155+
*/
156+
--caret-color-coke-red: #f40000; /* caret-coke-red */
157+
--cursor-vulkan: url("/vulkan.png"), auto; /* cursor-vulkan */
158+
--scroll-margin-cozy: 5vw; /* scroll-m-cozy scroll-mx-cozy scroll-mt-cozy ... */
159+
/* --scroll-margin-x-... --scroll-margin-y-... are not supported */
160+
--scroll-padding-xs: 5px; /* scroll-p-xs */
161+
/* --scroll-padding-x-... --scroll-padding-y-... are not supported */
162+
/*
163+
* SVG
164+
*/
165+
--fill-ikea-blue: #0051ba; /* fill-ikea-blue */
166+
--stroke-ikea-yellow: #ffda1a /* stroke-ikea-yellow */;
167+
--stroke-width-hairline: 0.5; /* stroke-hairline */
168+
/*
169+
* Accessibility
170+
*/
171+
}

0 commit comments

Comments
 (0)