@biggora/claude-plugins 1.1.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +3 -1
- package/README.md +24 -17
- package/package.json +1 -1
- package/registry/registry.json +319 -244
- package/specs/coding.md +24 -0
- package/specs/pod.md +2 -0
- package/src/skills/captcha/README.md +221 -0
- package/src/skills/captcha/SKILL.md +355 -0
- package/src/skills/captcha/references/captcha-types.md +254 -0
- package/src/skills/captcha/references/services.md +172 -0
- package/src/skills/captcha/references/stealth.md +238 -0
- package/src/skills/captcha/scripts/solve_captcha.py +323 -0
- package/src/skills/captcha/scripts/solve_image_grid.py +350 -0
- package/src/skills/codex-cli/SKILL.md +21 -11
- package/src/skills/gemini-cli/SKILL.md +27 -13
- package/src/skills/gemini-cli/references/commands.md +21 -14
- package/src/skills/gemini-cli/references/configuration.md +23 -18
- package/src/skills/gemini-cli/references/headless-and-scripting.md +7 -17
- package/src/skills/gemini-cli/references/mcp-and-extensions.md +12 -6
- package/src/skills/google-merchant-api/SKILL.md +581 -0
- package/src/skills/google-merchant-api/references/accounts.md +247 -0
- package/src/skills/google-merchant-api/references/content-api-legacy.md +216 -0
- package/src/skills/google-merchant-api/references/datasources.md +233 -0
- package/src/skills/google-merchant-api/references/inventories.md +201 -0
- package/src/skills/google-merchant-api/references/migration.md +267 -0
- package/src/skills/google-merchant-api/references/products.md +316 -0
- package/src/skills/google-merchant-api/references/promotions.md +201 -0
- package/src/skills/google-merchant-api/references/reports.md +240 -0
- package/src/skills/lv-aggregators-api/SKILL.md +113 -0
- package/src/skills/lv-aggregators-api/references/integration-guide.md +368 -0
- package/src/skills/lv-aggregators-api/references/kurpirkt.md +103 -0
- package/src/skills/lv-aggregators-api/references/salidzini.md +122 -0
- package/src/skills/notebook-lm/SKILL.md +1 -1
- package/src/skills/screen-recording/SKILL.md +243 -213
- package/src/skills/screen-recording/references/design-patterns.md +4 -2
- package/src/skills/screen-recording/references/ffmpeg-recording.md +473 -0
- package/src/skills/screen-recording/references/{approach1-programmatic.md → programmatic-generation.md} +45 -22
- package/src/skills/screen-recording/references/python-fallback.md +222 -0
- package/src/skills/tailwindcss-best-practices/SKILL.md +180 -0
- package/src/skills/tailwindcss-best-practices/references/best-practices-utility-patterns.md +87 -0
- package/src/skills/tailwindcss-best-practices/references/core-installation.md +109 -0
- package/src/skills/tailwindcss-best-practices/references/core-preflight.md +200 -0
- package/src/skills/tailwindcss-best-practices/references/core-responsive.md +163 -0
- package/src/skills/tailwindcss-best-practices/references/core-source-detection.md +114 -0
- package/src/skills/tailwindcss-best-practices/references/core-theme.md +108 -0
- package/src/skills/tailwindcss-best-practices/references/core-utility-classes.md +59 -0
- package/src/skills/tailwindcss-best-practices/references/core-variants.md +204 -0
- package/src/skills/tailwindcss-best-practices/references/effects-form-controls.md +76 -0
- package/src/skills/tailwindcss-best-practices/references/effects-mask.md +91 -0
- package/src/skills/tailwindcss-best-practices/references/effects-scroll-snap.md +59 -0
- package/src/skills/tailwindcss-best-practices/references/effects-text-shadow.md +78 -0
- package/src/skills/tailwindcss-best-practices/references/effects-transition-animation.md +80 -0
- package/src/skills/tailwindcss-best-practices/references/effects-visibility-interactivity.md +82 -0
- package/src/skills/tailwindcss-best-practices/references/features-content-detection.md +175 -0
- package/src/skills/tailwindcss-best-practices/references/features-custom-styles.md +203 -0
- package/src/skills/tailwindcss-best-practices/references/features-dark-mode.md +137 -0
- package/src/skills/tailwindcss-best-practices/references/features-functions-directives.md +241 -0
- package/src/skills/tailwindcss-best-practices/references/features-upgrade.md +160 -0
- package/src/skills/tailwindcss-best-practices/references/layout-aspect-ratio.md +39 -0
- package/src/skills/tailwindcss-best-practices/references/layout-columns.md +80 -0
- package/src/skills/tailwindcss-best-practices/references/layout-display.md +110 -0
- package/src/skills/tailwindcss-best-practices/references/layout-flexbox.md +112 -0
- package/src/skills/tailwindcss-best-practices/references/layout-grid.md +87 -0
- package/src/skills/tailwindcss-best-practices/references/layout-height.md +97 -0
- package/src/skills/tailwindcss-best-practices/references/layout-inset.md +103 -0
- package/src/skills/tailwindcss-best-practices/references/layout-logical-properties.md +92 -0
- package/src/skills/tailwindcss-best-practices/references/layout-margin.md +126 -0
- package/src/skills/tailwindcss-best-practices/references/layout-min-max-sizing.md +63 -0
- package/src/skills/tailwindcss-best-practices/references/layout-object-fit-position.md +64 -0
- package/src/skills/tailwindcss-best-practices/references/layout-overflow.md +57 -0
- package/src/skills/tailwindcss-best-practices/references/layout-padding.md +77 -0
- package/src/skills/tailwindcss-best-practices/references/layout-position.md +85 -0
- package/src/skills/tailwindcss-best-practices/references/layout-tables.md +67 -0
- package/src/skills/tailwindcss-best-practices/references/layout-width.md +102 -0
- package/src/skills/tailwindcss-best-practices/references/transform-base.md +68 -0
- package/src/skills/tailwindcss-best-practices/references/transform-rotate.md +70 -0
- package/src/skills/tailwindcss-best-practices/references/transform-scale.md +83 -0
- package/src/skills/tailwindcss-best-practices/references/transform-skew.md +62 -0
- package/src/skills/tailwindcss-best-practices/references/transform-translate.md +77 -0
- package/src/skills/tailwindcss-best-practices/references/typography-font-text.md +142 -0
- package/src/skills/tailwindcss-best-practices/references/typography-list-style.md +65 -0
- package/src/skills/tailwindcss-best-practices/references/typography-text-align.md +60 -0
- package/src/skills/tailwindcss-best-practices/references/visual-background.md +76 -0
- package/src/skills/tailwindcss-best-practices/references/visual-border.md +108 -0
- package/src/skills/tailwindcss-best-practices/references/visual-effects.md +111 -0
- package/src/skills/tailwindcss-best-practices/references/visual-svg.md +82 -0
- package/src/skills/test-mobile-app/SKILL.md +11 -6
- package/src/skills/test-mobile-app/scripts/analyze_apk.py +15 -4
- package/src/skills/test-mobile-app/scripts/check_environment.py +5 -5
- package/src/skills/test-mobile-app/scripts/run_tests.py +1 -1
- package/src/skills/test-web-ui/SKILL.md +264 -84
- package/src/skills/test-web-ui/scripts/discover.py +25 -12
- package/src/skills/test-web-ui/scripts/run_tests.py +3 -2
- package/src/skills/tm-search/SKILL.md +242 -106
- package/src/skills/tm-search/references/scraping-fallback.md +60 -95
- package/src/skills/tm-search/scripts/tm_search.py +453 -375
- package/src/skills/vite-best-practices/SKILL.md +115 -0
- package/src/skills/vite-best-practices/references/build-and-ssr.md +255 -0
- package/src/skills/vite-best-practices/references/core-config.md +231 -0
- package/src/skills/vite-best-practices/references/core-features.md +222 -0
- package/src/skills/vite-best-practices/references/core-plugin-api.md +294 -0
- package/src/skills/vite-best-practices/references/environment-api.md +108 -0
- package/src/skills/vite-best-practices/references/rolldown-migration.md +242 -0
- package/src/skills/screen-recording/references/approach2-xvfb.md +0 -232
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: features-functions-directives
|
|
3
|
+
description: Tailwind's CSS directives (@import, @theme, @utility, @variant) and functions (--alpha, --spacing)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Functions and Directives
|
|
7
|
+
|
|
8
|
+
Tailwind provides custom CSS directives and functions for working with your design system.
|
|
9
|
+
|
|
10
|
+
## Directives
|
|
11
|
+
|
|
12
|
+
Directives are custom Tailwind-specific at-rules that offer special functionality.
|
|
13
|
+
|
|
14
|
+
### @import
|
|
15
|
+
|
|
16
|
+
Import CSS files, including Tailwind:
|
|
17
|
+
|
|
18
|
+
```css
|
|
19
|
+
@import "tailwindcss";
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### @theme
|
|
23
|
+
|
|
24
|
+
Define your project's design tokens:
|
|
25
|
+
|
|
26
|
+
```css
|
|
27
|
+
@theme {
|
|
28
|
+
--font-display: "Satoshi", "sans-serif";
|
|
29
|
+
--breakpoint-3xl: 120rem;
|
|
30
|
+
--color-brand-500: oklch(0.65 0.2 250);
|
|
31
|
+
--ease-fluid: cubic-bezier(0.3, 0, 0, 1);
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### @source
|
|
36
|
+
|
|
37
|
+
Explicitly specify source files for class detection:
|
|
38
|
+
|
|
39
|
+
```css
|
|
40
|
+
@import "tailwindcss";
|
|
41
|
+
@source "../node_modules/@my-company/ui-lib";
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### @utility
|
|
45
|
+
|
|
46
|
+
Add custom utilities:
|
|
47
|
+
|
|
48
|
+
```css
|
|
49
|
+
@utility tab-4 {
|
|
50
|
+
tab-size: 4;
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Custom utilities work with variants:
|
|
55
|
+
|
|
56
|
+
```html
|
|
57
|
+
<div class="tab-4 hover:tab-8">Content</div>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### @variant
|
|
61
|
+
|
|
62
|
+
Apply Tailwind variants to styles in your CSS:
|
|
63
|
+
|
|
64
|
+
```css
|
|
65
|
+
.my-element {
|
|
66
|
+
background: white;
|
|
67
|
+
|
|
68
|
+
@variant dark {
|
|
69
|
+
background: black;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### @custom-variant
|
|
75
|
+
|
|
76
|
+
Add custom variants:
|
|
77
|
+
|
|
78
|
+
```css
|
|
79
|
+
@custom-variant theme-midnight (&:where([data-theme="midnight"] *));
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
```html
|
|
83
|
+
<div class="theme-midnight:bg-black">Content</div>
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### @apply
|
|
87
|
+
|
|
88
|
+
Inline existing utility classes into custom CSS:
|
|
89
|
+
|
|
90
|
+
```css
|
|
91
|
+
.select2-dropdown {
|
|
92
|
+
@apply rounded-b-lg shadow-md;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.select2-search {
|
|
96
|
+
@apply rounded border border-gray-300;
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### @reference
|
|
101
|
+
|
|
102
|
+
Import stylesheet for reference without including styles (useful for Vue/Svelte components):
|
|
103
|
+
|
|
104
|
+
```html
|
|
105
|
+
<style>
|
|
106
|
+
@reference "../../app.css";
|
|
107
|
+
|
|
108
|
+
h1 {
|
|
109
|
+
@apply text-2xl font-bold text-red-500;
|
|
110
|
+
}
|
|
111
|
+
</style>
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Or reference Tailwind directly:
|
|
115
|
+
|
|
116
|
+
```html
|
|
117
|
+
<style>
|
|
118
|
+
@reference "tailwindcss";
|
|
119
|
+
|
|
120
|
+
h1 {
|
|
121
|
+
@apply text-2xl font-bold;
|
|
122
|
+
}
|
|
123
|
+
</style>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Subpath Imports
|
|
127
|
+
|
|
128
|
+
Directives support subpath imports (like TypeScript path aliases):
|
|
129
|
+
|
|
130
|
+
```json
|
|
131
|
+
{
|
|
132
|
+
"imports": {
|
|
133
|
+
"#app.css": "./src/css/app.css"
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
```html
|
|
139
|
+
<style>
|
|
140
|
+
@reference "#app.css";
|
|
141
|
+
|
|
142
|
+
h1 {
|
|
143
|
+
@apply text-2xl font-bold;
|
|
144
|
+
}
|
|
145
|
+
</style>
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Functions
|
|
149
|
+
|
|
150
|
+
Tailwind provides build-time functions for working with colors and spacing.
|
|
151
|
+
|
|
152
|
+
### --alpha()
|
|
153
|
+
|
|
154
|
+
Adjust the opacity of a color:
|
|
155
|
+
|
|
156
|
+
```css
|
|
157
|
+
.my-element {
|
|
158
|
+
color: --alpha(var(--color-lime-300) / 50%);
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Compiles to:
|
|
163
|
+
|
|
164
|
+
```css
|
|
165
|
+
.my-element {
|
|
166
|
+
color: color-mix(in oklab, var(--color-lime-300) 50%, transparent);
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### --spacing()
|
|
171
|
+
|
|
172
|
+
Generate spacing values based on your theme:
|
|
173
|
+
|
|
174
|
+
```css
|
|
175
|
+
.my-element {
|
|
176
|
+
margin: --spacing(4);
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Compiles to:
|
|
181
|
+
|
|
182
|
+
```css
|
|
183
|
+
.my-element {
|
|
184
|
+
margin: calc(var(--spacing) * 4);
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Useful in arbitrary values with `calc()`:
|
|
189
|
+
|
|
190
|
+
```html
|
|
191
|
+
<div class="py-[calc(--spacing(4)-1px)]">
|
|
192
|
+
Content
|
|
193
|
+
</div>
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Compatibility Directives
|
|
197
|
+
|
|
198
|
+
For compatibility with Tailwind CSS v3.x:
|
|
199
|
+
|
|
200
|
+
### @config
|
|
201
|
+
|
|
202
|
+
Load a legacy JavaScript-based configuration:
|
|
203
|
+
|
|
204
|
+
```css
|
|
205
|
+
@config "../../tailwind.config.js";
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### @plugin
|
|
209
|
+
|
|
210
|
+
Load a legacy JavaScript-based plugin:
|
|
211
|
+
|
|
212
|
+
```css
|
|
213
|
+
@plugin "@tailwindcss/typography";
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### theme()
|
|
217
|
+
|
|
218
|
+
Access theme values using dot notation (deprecated):
|
|
219
|
+
|
|
220
|
+
```css
|
|
221
|
+
.my-element {
|
|
222
|
+
margin: theme(spacing.12);
|
|
223
|
+
}
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
**Note:** Prefer using CSS theme variables instead.
|
|
227
|
+
|
|
228
|
+
## Key Points
|
|
229
|
+
|
|
230
|
+
- Directives are Tailwind-specific at-rules
|
|
231
|
+
- `@theme` defines design tokens
|
|
232
|
+
- `@utility` creates custom utilities
|
|
233
|
+
- `@custom-variant` creates custom variants
|
|
234
|
+
- `@apply` inlines utilities into CSS
|
|
235
|
+
- `--alpha()` and `--spacing()` are build-time functions
|
|
236
|
+
- Compatibility directives support v3.x configs
|
|
237
|
+
|
|
238
|
+
<!--
|
|
239
|
+
Source references:
|
|
240
|
+
- https://tailwindcss.com/docs/functions-and-directives
|
|
241
|
+
-->
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: features-upgrade
|
|
3
|
+
description: Migrating from Tailwind CSS v3 to v4, all renamed utilities, scale shifts, config migration, and v4.1/v4.2 changes
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Upgrade Guide (v3 → v4)
|
|
7
|
+
|
|
8
|
+
Key changes when upgrading from Tailwind CSS v3 to v4. Use the automated upgrade tool when possible.
|
|
9
|
+
|
|
10
|
+
## Upgrade Tool
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npx @tailwindcss/upgrade
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Requires Node.js 20+. Run in a new branch, review diff, test. Handles most migration automatically.
|
|
17
|
+
|
|
18
|
+
## Installation Changes
|
|
19
|
+
|
|
20
|
+
- **PostCSS**: Use `@tailwindcss/postcss`; remove `postcss-import` and `autoprefixer` (handled by v4)
|
|
21
|
+
- **Vite**: Prefer `@tailwindcss/vite` over PostCSS (supports Vite 8+ as of v4.2.2)
|
|
22
|
+
- **Webpack**: Use `@tailwindcss/webpack` (new in v4.2)
|
|
23
|
+
- **CLI**: Use `npx @tailwindcss/cli` instead of `npx tailwindcss`
|
|
24
|
+
|
|
25
|
+
## Import Change
|
|
26
|
+
|
|
27
|
+
```css
|
|
28
|
+
/* v3 */
|
|
29
|
+
@tailwind base;
|
|
30
|
+
@tailwind components;
|
|
31
|
+
@tailwind utilities;
|
|
32
|
+
|
|
33
|
+
/* v4 */
|
|
34
|
+
@import "tailwindcss";
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Renamed Utilities — Scale Shifts
|
|
38
|
+
|
|
39
|
+
These are the most commonly missed renames because the entire scale shifted down by one step:
|
|
40
|
+
|
|
41
|
+
| v3 | v4 | What happened |
|
|
42
|
+
|----|-----|---------------|
|
|
43
|
+
| `shadow-sm` | `shadow-xs` | Scale shifted down |
|
|
44
|
+
| `shadow` | `shadow-sm` | Scale shifted down |
|
|
45
|
+
| `rounded-sm` | `rounded-xs` | Scale shifted down |
|
|
46
|
+
| `rounded` | `rounded-sm` | Scale shifted down |
|
|
47
|
+
| `blur-sm` | `blur-xs` | Scale shifted down |
|
|
48
|
+
| `blur` | `blur-sm` | Scale shifted down |
|
|
49
|
+
|
|
50
|
+
## Renamed Utilities — Other
|
|
51
|
+
|
|
52
|
+
| v3 | v4 |
|
|
53
|
+
|----|-----|
|
|
54
|
+
| `outline-none` | `outline-hidden` |
|
|
55
|
+
| `ring` | `ring-3` (default width changed from 3px to 1px) |
|
|
56
|
+
|
|
57
|
+
## Important Modifier
|
|
58
|
+
|
|
59
|
+
```html
|
|
60
|
+
<!-- v3: ! at start -->
|
|
61
|
+
<div class="!bg-red-500">
|
|
62
|
+
|
|
63
|
+
<!-- v4: ! at end -->
|
|
64
|
+
<div class="bg-red-500!">
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Removed / Replaced
|
|
68
|
+
|
|
69
|
+
| v3 | v4 |
|
|
70
|
+
|----|-----|
|
|
71
|
+
| `bg-opacity-*`, `text-opacity-*`, etc. | `bg-black/50`, `text-black/50` (slash syntax) |
|
|
72
|
+
| `flex-shrink-*` | `shrink-*` |
|
|
73
|
+
| `flex-grow-*` | `grow-*` |
|
|
74
|
+
| `overflow-ellipsis` | `text-ellipsis` |
|
|
75
|
+
| `decoration-slice` / `decoration-clone` | `box-decoration-slice` / `box-decoration-clone` |
|
|
76
|
+
|
|
77
|
+
## Ring & Border Defaults
|
|
78
|
+
|
|
79
|
+
- `ring` width: 3px → 1px; use `ring-3` for v3 behavior
|
|
80
|
+
- `ring` / `border` default color: `currentColor` (was gray-200 / blue-500 in v3)
|
|
81
|
+
- Always specify color: `ring-3 ring-blue-500`, `border border-gray-200`
|
|
82
|
+
|
|
83
|
+
## Configuration Migration
|
|
84
|
+
|
|
85
|
+
| v3 Concept | v4 Equivalent |
|
|
86
|
+
|------------|---------------|
|
|
87
|
+
| `tailwind.config.js` | Removed. Use CSS directives. |
|
|
88
|
+
| `darkMode: 'class'` | `@custom-variant dark (&:where(.dark, .dark *));` |
|
|
89
|
+
| `darkMode: 'media'` | Default in v4 (uses `prefers-color-scheme`). No config needed. |
|
|
90
|
+
| `theme.extend.colors` | `@theme { --color-*: value; }` |
|
|
91
|
+
| `theme.extend.screens` | `@theme { --breakpoint-*: value; }` |
|
|
92
|
+
| `theme.extend.fontFamily` | `@theme { --font-*: value; }` |
|
|
93
|
+
| `content: [...]` | Automatic detection. Use `@source` to add/exclude paths. |
|
|
94
|
+
| `safelist: [...]` | `@source inline("classes")` (v4.1+) |
|
|
95
|
+
| `@layer utilities { }` | `@utility name { }` |
|
|
96
|
+
| `plugins: [...]` | `@plugin "./my-plugin.js"` |
|
|
97
|
+
|
|
98
|
+
## CSS Variable Syntax Change
|
|
99
|
+
|
|
100
|
+
```html
|
|
101
|
+
<!-- v3: square brackets for CSS variables -->
|
|
102
|
+
<div class="bg-[--my-var]">
|
|
103
|
+
|
|
104
|
+
<!-- v4: parentheses for CSS variables -->
|
|
105
|
+
<div class="bg-(--my-var)">
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Theme Function Change
|
|
109
|
+
|
|
110
|
+
```css
|
|
111
|
+
/* v3 */
|
|
112
|
+
@media (min-width: theme(screens.xl)) { ... }
|
|
113
|
+
|
|
114
|
+
/* v4 */
|
|
115
|
+
@media (min-width: theme(--breakpoint-xl)) { ... }
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Other Breaking Changes
|
|
119
|
+
|
|
120
|
+
- **Variant stacking**: Left-to-right in v4 (was right-to-left in v3)
|
|
121
|
+
- **Transform reset**: `transform-none` no longer resets rotate/scale/translate; use `scale-none`, `rotate-none`, etc.
|
|
122
|
+
- **Hover on mobile**: `hover` only applies when device supports hover; override with `@custom-variant hover (&:hover)` if needed
|
|
123
|
+
- **Space/divide selectors**: Changed from `:not([hidden]) ~ :not([hidden])` to `:not(:last-child)`
|
|
124
|
+
- **Sass/Less/Stylus**: v4 not designed for use with CSS preprocessors
|
|
125
|
+
|
|
126
|
+
## Deprecations in v4.2
|
|
127
|
+
|
|
128
|
+
- `start-*` / `end-*` → use `inset-s-*` / `inset-e-*`
|
|
129
|
+
- `bg-left-top` style → use `bg-top-left` (position order reversed)
|
|
130
|
+
- `object-left-top` style → use `object-top-left` (position order reversed)
|
|
131
|
+
|
|
132
|
+
## Browser Support
|
|
133
|
+
|
|
134
|
+
v4 targets Safari 16.4+, Chrome 111+, Firefox 128+. For older browsers, stay on v3.4.
|
|
135
|
+
|
|
136
|
+
## Post-v4.0 Feature Additions
|
|
137
|
+
|
|
138
|
+
### v4.1 (April 2025)
|
|
139
|
+
- Text shadow utilities (`text-shadow-*`)
|
|
140
|
+
- Mask utilities (`mask-*`)
|
|
141
|
+
- Colored drop shadows (`drop-shadow-<color>`)
|
|
142
|
+
- Text wrapping (`wrap-break-word`, `wrap-anywhere`)
|
|
143
|
+
- Pointer device variants (`pointer-fine:`, `pointer-coarse:`)
|
|
144
|
+
- Safe alignment (`justify-center-safe`, `items-center-safe`)
|
|
145
|
+
- New variants: `details-content`, `inverted-colors`, `noscript`, `user-valid`, `user-invalid`
|
|
146
|
+
- `@source not` and `@source inline()` directives
|
|
147
|
+
|
|
148
|
+
### v4.2 (February 2025)
|
|
149
|
+
- New colors: mauve, olive, mist, taupe
|
|
150
|
+
- Webpack plugin (`@tailwindcss/webpack`)
|
|
151
|
+
- Block logical property utilities (`pbs-*`, `mbs-*`, `border-bs-*`, `inline-*`, `block-*`)
|
|
152
|
+
- Logical inset utilities (`inset-s-*`, `inset-e-*`, `inset-bs-*`, `inset-be-*`)
|
|
153
|
+
- Font feature settings (`font-features-*`)
|
|
154
|
+
|
|
155
|
+
<!--
|
|
156
|
+
Source references:
|
|
157
|
+
- https://tailwindcss.com/docs/upgrade-guide
|
|
158
|
+
- https://tailwindcss.com/blog/tailwindcss-v4-1
|
|
159
|
+
- https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.2.0
|
|
160
|
+
-->
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: layout-aspect-ratio
|
|
3
|
+
description: Controlling element aspect ratio for responsive media
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Aspect Ratio
|
|
7
|
+
|
|
8
|
+
Utilities for controlling the aspect ratio of an element (e.g. video, images).
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```html
|
|
13
|
+
<!-- 16:9 video container -->
|
|
14
|
+
<div class="aspect-video">
|
|
15
|
+
<iframe src="..."></iframe>
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
<!-- 4:3 -->
|
|
19
|
+
<div class="aspect-[4/3]">Content</div>
|
|
20
|
+
|
|
21
|
+
<!-- Square -->
|
|
22
|
+
<div class="aspect-square">1:1</div>
|
|
23
|
+
|
|
24
|
+
<!-- Auto (intrinsic) -->
|
|
25
|
+
<div class="aspect-auto">Natural ratio</div>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Key Points
|
|
29
|
+
|
|
30
|
+
- `aspect-video` - 16:9
|
|
31
|
+
- `aspect-square` - 1:1
|
|
32
|
+
- `aspect-auto` - browser default (intrinsic)
|
|
33
|
+
- `aspect-[4/3]` - arbitrary ratio
|
|
34
|
+
- Useful for responsive video embeds and image containers
|
|
35
|
+
|
|
36
|
+
<!--
|
|
37
|
+
Source references:
|
|
38
|
+
- https://tailwindcss.com/docs/aspect-ratio
|
|
39
|
+
-->
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: layout-columns
|
|
3
|
+
description: Multi-column layout with columns utility for masonry-like or newspaper layouts
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Columns
|
|
7
|
+
|
|
8
|
+
Utilities for CSS multi-column layout. Content flows into multiple columns within a single element.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
### By number of columns
|
|
13
|
+
|
|
14
|
+
```html
|
|
15
|
+
<div class="columns-3 gap-8">
|
|
16
|
+
<img class="aspect-3/2" src="1.jpg" />
|
|
17
|
+
<img class="aspect-square" src="2.jpg" />
|
|
18
|
+
<!-- Content flows into 3 columns -->
|
|
19
|
+
</div>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### By column width
|
|
23
|
+
|
|
24
|
+
Use container scale for ideal column width; column count adjusts automatically:
|
|
25
|
+
|
|
26
|
+
```html
|
|
27
|
+
<div class="columns-3xs gap-4">...</div>
|
|
28
|
+
<div class="columns-sm gap-6">...</div>
|
|
29
|
+
<div class="columns-md">...</div>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Column gap
|
|
33
|
+
|
|
34
|
+
Use `gap-*` utilities for space between columns:
|
|
35
|
+
|
|
36
|
+
```html
|
|
37
|
+
<div class="columns-3 gap-8">...</div>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Responsive
|
|
41
|
+
|
|
42
|
+
```html
|
|
43
|
+
<div class="columns-2 gap-4 sm:columns-3 sm:gap-8">...</div>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Custom value
|
|
47
|
+
|
|
48
|
+
```html
|
|
49
|
+
<div class="columns-[30vw]">...</div>
|
|
50
|
+
<div class="columns-(--my-columns)">...</div>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Column / page breaks
|
|
54
|
+
|
|
55
|
+
Use with multi-column or print layouts:
|
|
56
|
+
|
|
57
|
+
```html
|
|
58
|
+
<div class="columns-2">
|
|
59
|
+
<p>Content...</p>
|
|
60
|
+
<p class="break-after-column">Force break after this</p>
|
|
61
|
+
<p>Next column...</p>
|
|
62
|
+
</div>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
- `break-after-column` / `break-before-column` - column break
|
|
66
|
+
- `break-after-page` / `break-before-page` - page break (print)
|
|
67
|
+
- `break-after-avoid` / `break-inside-avoid` - avoid breaking
|
|
68
|
+
|
|
69
|
+
## Key Points
|
|
70
|
+
|
|
71
|
+
- `columns-<n>` - fixed number of columns (e.g. `columns-3`)
|
|
72
|
+
- `columns-3xs` through `columns-7xl` - column width from container scale
|
|
73
|
+
- `columns-auto` - auto columns
|
|
74
|
+
- `gap-*` controls column gap (same as flex/grid gap)
|
|
75
|
+
- Use for magazine-style layouts, image galleries, long text
|
|
76
|
+
|
|
77
|
+
<!--
|
|
78
|
+
Source references:
|
|
79
|
+
- https://tailwindcss.com/docs/columns
|
|
80
|
+
-->
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: layout-display
|
|
3
|
+
description: Controlling element display type including flex, grid, block, inline, hidden, and sr-only
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Display
|
|
7
|
+
|
|
8
|
+
Utilities for controlling the display box type of an element.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
### Basic display types
|
|
13
|
+
|
|
14
|
+
```html
|
|
15
|
+
<span class="inline">display: inline</span>
|
|
16
|
+
<span class="inline-block">display: inline-block</span>
|
|
17
|
+
<div class="block">display: block</div>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### Flex and Grid containers
|
|
21
|
+
|
|
22
|
+
```html
|
|
23
|
+
<!-- Flex container -->
|
|
24
|
+
<div class="flex items-center gap-4">Flex layout</div>
|
|
25
|
+
<span class="inline-flex items-baseline">Inline flex with text</span>
|
|
26
|
+
|
|
27
|
+
<!-- Grid container -->
|
|
28
|
+
<div class="grid grid-cols-3 gap-4">Grid layout</div>
|
|
29
|
+
<span class="inline-grid grid-cols-3 gap-4">Inline grid</span>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Flow root
|
|
33
|
+
|
|
34
|
+
Use `flow-root` to create a block-level element with its own block formatting context (fixes margin collapse):
|
|
35
|
+
|
|
36
|
+
```html
|
|
37
|
+
<div class="flow-root">
|
|
38
|
+
<div class="my-4">Content with isolated BFC</div>
|
|
39
|
+
</div>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Contents
|
|
43
|
+
|
|
44
|
+
Use `contents` for a "phantom" container whose children act like direct children of the parent:
|
|
45
|
+
|
|
46
|
+
```html
|
|
47
|
+
<div class="flex">
|
|
48
|
+
<div class="flex-1">01</div>
|
|
49
|
+
<div class="contents">
|
|
50
|
+
<div class="flex-1">02</div>
|
|
51
|
+
<div class="flex-1">03</div>
|
|
52
|
+
</div>
|
|
53
|
+
<div class="flex-1">04</div>
|
|
54
|
+
</div>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Table display
|
|
58
|
+
|
|
59
|
+
```html
|
|
60
|
+
<div class="table w-full">
|
|
61
|
+
<div class="table-header-group bg-gray-100">
|
|
62
|
+
<div class="table-row">
|
|
63
|
+
<div class="table-cell p-2">Header 1</div>
|
|
64
|
+
<div class="table-cell p-2">Header 2</div>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
<div class="table-row-group">
|
|
68
|
+
<div class="table-row">
|
|
69
|
+
<div class="table-cell p-2">Cell 1</div>
|
|
70
|
+
<div class="table-cell p-2">Cell 2</div>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Hidden
|
|
77
|
+
|
|
78
|
+
```html
|
|
79
|
+
<div class="hidden">Removed from document flow</div>
|
|
80
|
+
<div class="md:block hidden">Visible only on md+</div>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
For visual-only hiding while keeping in DOM, use `invisible` or `opacity-0` instead.
|
|
84
|
+
|
|
85
|
+
### Screen reader only
|
|
86
|
+
|
|
87
|
+
```html
|
|
88
|
+
<a href="#">
|
|
89
|
+
<svg><!-- icon --></svg>
|
|
90
|
+
<span class="sr-only">Settings</span>
|
|
91
|
+
</a>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Use `not-sr-only` to undo: `<span class="sr-only sm:not-sr-only">Settings</span>`
|
|
95
|
+
|
|
96
|
+
## Key Points
|
|
97
|
+
|
|
98
|
+
- `flex` / `inline-flex` - Flexbox layout
|
|
99
|
+
- `grid` / `inline-grid` - CSS Grid layout
|
|
100
|
+
- `block` / `inline` / `inline-block` - Basic flow
|
|
101
|
+
- `hidden` - `display: none` (removes from flow)
|
|
102
|
+
- `sr-only` - Visually hidden but accessible to screen readers
|
|
103
|
+
- `contents` - Children participate in parent's layout
|
|
104
|
+
- `flow-root` - Establishes new BFC
|
|
105
|
+
- Table utilities: `table`, `table-row`, `table-cell`, `table-header-group`, etc.
|
|
106
|
+
|
|
107
|
+
<!--
|
|
108
|
+
Source references:
|
|
109
|
+
- https://tailwindcss.com/docs/display
|
|
110
|
+
-->
|