vibes-plug 1.0.0 → 2.5.0
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/.github/workflows/publish.yml +20 -0
- package/AGENTS.md +66 -0
- package/BLUEPRINT.md +152 -60
- package/CHANGELOG.md +50 -0
- package/README.md +346 -194
- package/package.json +25 -25
- package/plugin.json +1 -1
- package/skills/ai-cost-token-optimizer/SKILL.md +52 -0
- package/skills/ai-llm-integration-expert/SKILL.md +180 -162
- package/skills/api-design-expert/SKILL.md +314 -310
- package/skills/app-analyzer-optimizer/SKILL.md +193 -189
- package/skills/apple-ecosystem-expert/SKILL.md +142 -0
- package/skills/async-queue-temporal-expert/SKILL.md +54 -0
- package/skills/authentication-identity-expert/SKILL.md +251 -20
- package/skills/auto-doc-updater/SKILL.md +214 -204
- package/skills/autonomous-chaos-monkey/SKILL.md +63 -0
- package/skills/autonomous-red-teamer/SKILL.md +59 -0
- package/skills/autonomous-swarm-director/SKILL.md +69 -0
- package/skills/autonomous-tdd-debugger/SKILL.md +65 -0
- package/skills/bootstrap-to-modern/SKILL.md +90 -86
- package/skills/brainstorming/SKILL.md +373 -353
- package/skills/browser-automation-expert/SKILL.md +46 -0
- package/skills/ci-cd-devops-architect/SKILL.md +72 -45
- package/skills/cloud-hosting-expert/SKILL.md +244 -244
- package/skills/coderabbit/SKILL.md +192 -192
- package/skills/cron-scheduler-expert/SKILL.md +298 -0
- package/skills/data-telemetry-expert/SKILL.md +213 -213
- package/skills/database-orm-expert/SKILL.md +294 -294
- package/skills/dependency-upgrade-migrator/SKILL.md +295 -0
- package/skills/design-system-architect/SKILL.md +27 -10
- package/skills/doku-mcp-server/SKILL.md +251 -0
- package/skills/doku-payment-gateway/SKILL.md +227 -0
- package/skills/e2e-testing-expert/SKILL.md +315 -315
- package/skills/edge-serverless-db-expert/SKILL.md +43 -0
- package/skills/email-notification-expert/SKILL.md +362 -0
- package/skills/error-resilience-expert/SKILL.md +480 -0
- package/skills/event-driven-architect/SKILL.md +81 -81
- package/skills/feature-flag-analytics-expert/SKILL.md +46 -0
- package/skills/file-upload-media-expert/SKILL.md +431 -0
- package/skills/form-validation-expert/SKILL.md +401 -0
- package/skills/fullstack-expert/SKILL.md +202 -202
- package/skills/fullstack-expert/references/api_design_guide.md +466 -466
- package/skills/fullstack-expert/references/multi_language_backend.md +528 -528
- package/skills/fullstack-expert/scripts/api_contract_validator.py +253 -253
- package/skills/fullstack-expert/scripts/architecture_analyzer.py +326 -326
- package/skills/gemini-agent-booster/SKILL.md +135 -135
- package/skills/global-a11y-i18n-expert/SKILL.md +81 -81
- package/skills/glsl-shader-expert/SKILL.md +101 -0
- package/skills/go-programming-expert/SKILL.md +295 -295
- package/skills/graphql-apollo-expert/SKILL.md +108 -0
- package/skills/hig/SKILL.md +188 -188
- package/skills/hyper-context-synthesizer/SKILL.md +55 -0
- package/skills/js-backend-expert/SKILL.md +34 -9
- package/skills/legacy-code-translator/SKILL.md +65 -0
- package/skills/llm-cost-arbitrage-router/SKILL.md +59 -0
- package/skills/logging-error-tracking-expert/SKILL.md +338 -0
- package/skills/mcp-client-orchestrator/SKILL.md +70 -0
- package/skills/mcp-server-architect/SKILL.md +194 -194
- package/skills/micro-frontend-architect/SKILL.md +106 -0
- package/skills/mobile-expo-expert/SKILL.md +186 -186
- package/skills/mobile-push-notification-expert/SKILL.md +51 -0
- package/skills/monday-design-aesthetic/SKILL.md +67 -67
- package/skills/monorepo-architect/SKILL.md +227 -227
- package/skills/mpa-orchestrator/SKILL.md +101 -101
- package/skills/multi-agent-orchestration/SKILL.md +234 -234
- package/skills/multiple-entry-points/SKILL.md +55 -55
- package/skills/mvc-expert/SKILL.md +231 -231
- package/skills/payment-gateway-expert/SKILL.md +45 -45
- package/skills/performance-web-vitals/SKILL.md +332 -332
- package/skills/post-quantum-crypto-migrator/SKILL.md +57 -0
- package/skills/prd-architect/SKILL.md +201 -191
- package/skills/proactive-background-watcher/SKILL.md +62 -0
- package/skills/production-ready-hardener/PRODUCTION_READINESS_REPORT.md +67 -0
- package/skills/production-ready-hardener/SKILL.md +173 -186
- package/skills/production-ready-hardener/references/production_checklist.md +161 -161
- package/skills/production-ready-hardener/scripts/production_readiness_scanner.py +881 -875
- package/skills/project-context-mapper/SKILL.md +79 -0
- package/skills/python-programming-expert/SKILL.md +263 -132
- package/skills/rate-limit-abuse-prevention/SKILL.md +371 -0
- package/skills/realtime-collaboration-expert/SKILL.md +45 -45
- package/skills/rust-programming-expert/SKILL.md +235 -235
- package/skills/saas-billing/SKILL.md +377 -377
- package/skills/saas-multi-tenant/SKILL.md +251 -237
- package/skills/saas-mvp-launcher/SKILL.md +10 -0
- package/skills/saas-transformer/SKILL.md +187 -144
- package/skills/saas-transformer/references/billing_integration_guide.md +401 -401
- package/skills/saas-transformer/references/feature_gating_patterns.md +137 -137
- package/skills/saas-transformer/references/saas_transformation_checklist.md +121 -121
- package/skills/saas-transformer/scripts/saas_transformation_scanner.py +39 -29
- package/skills/scalability-clean-code/SKILL.md +229 -229
- package/skills/self-evolving-memory-graph/SKILL.md +75 -0
- package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -0
- package/skills/senior-frontend/SKILL.md +161 -161
- package/skills/senior-fullstack/SKILL.md +167 -167
- package/skills/seo/SKILL.md +235 -225
- package/skills/seo-geo/SKILL.md +188 -188
- package/skills/session-context-loader/SKILL.md +77 -0
- package/skills/session-handoff-resume/SKILL.md +158 -158
- package/skills/skill_baru/SKILL.md +172 -147
- package/skills/spa-orchestrator/SKILL.md +288 -288
- package/skills/state-management-expert/SKILL.md +272 -272
- package/skills/supabase-security-expert/SKILL.md +243 -243
- package/skills/tailwind-expert/SKILL.md +188 -188
- package/skills/tanstack-query-expert/SKILL.md +199 -199
- package/skills/token-saver/SKILL.md +119 -111
- package/skills/typescript-expert/SKILL.md +324 -279
- package/skills/ui-components-expert/SKILL.md +263 -46
- package/skills/ui-ux-pro-max/SKILL.md +202 -201
- package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-310.pyc +0 -0
- package/skills/ui_ux_expert/SKILL.md +17 -6
- package/skills/vector-db-rag-expert/SKILL.md +52 -0
- package/skills/vibe-code-gardener/SKILL.md +181 -173
- package/skills/visual-qa-vision-agent/SKILL.md +65 -0
- package/skills/vue-frontend-expert/SKILL.md +126 -0
- package/skills/web-3d-graphics-expert/SKILL.md +131 -0
- package/skills/web-game-engine-expert/SKILL.md +96 -0
- package/skills/web-scraper/SKILL.md +207 -205
- package/skills/website-design-cloner/SKILL.md +174 -0
- package/skills/webxr-ar-vr-expert/SKILL.md +117 -0
- package/skills/zero-to-prod-orchestrator/SKILL.md +206 -180
- package/skills/zero-trust-secret-vault/SKILL.md +40 -0
- package/vibes-swarm-demo.gif +0 -0
|
@@ -1,188 +1,188 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tailwind-expert
|
|
3
|
-
description: "Deep guide for Tailwind CSS v4, CSS-first configuration, theme customization, and responsive design / Panduan mendalam untuk Tailwind CSS v4, CSS-first configuration, theme kustomisasi, dan responsive design."
|
|
4
|
-
author: "Roedy Rustam"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Tailwind CSS Expert (v4 Edition)
|
|
8
|
-
|
|
9
|
-
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
<a name="english"></a>
|
|
14
|
-
## English
|
|
15
|
-
|
|
16
|
-
### Description
|
|
17
|
-
Deep expert guide for **Tailwind CSS v4** — covering the new CSS-first configuration model, `@theme` directive for design tokens, `@plugin` for plugins, 3D transforms, gradient improvements, and migration from v3.
|
|
18
|
-
|
|
19
|
-
### Trigger Conditions
|
|
20
|
-
- Setting up or configuring a new Tailwind CSS v4 project.
|
|
21
|
-
- Defining design tokens via `@theme` directive in CSS.
|
|
22
|
-
- Migrating from Tailwind CSS v3 to v4.
|
|
23
|
-
- Using new v4 utilities: 3D transforms, `field-sizing`, color mix functions.
|
|
24
|
-
- Registering custom plugins with `@plugin` directive.
|
|
25
|
-
|
|
26
|
-
### Tailwind v4 — The CSS-First Paradigm Shift
|
|
27
|
-
|
|
28
|
-
Tailwind v4 eliminates `tailwind.config.js` entirely. All configuration happens in CSS:
|
|
29
|
-
|
|
30
|
-
```css
|
|
31
|
-
/* app/globals.css */
|
|
32
|
-
@import "tailwindcss";
|
|
33
|
-
|
|
34
|
-
/* Design tokens — replaces tailwind.config.js theme */
|
|
35
|
-
@theme {
|
|
36
|
-
/* Colors using OKLCH for wide-gamut displays */
|
|
37
|
-
--color-brand-50: oklch(97% 0.02 250);
|
|
38
|
-
--color-brand-500: oklch(55% 0.2 250);
|
|
39
|
-
--color-brand-900: oklch(20% 0.1 250);
|
|
40
|
-
|
|
41
|
-
/* Typography */
|
|
42
|
-
--font-sans: "Inter Variable", "Inter", ui-sans-serif, system-ui, sans-serif;
|
|
43
|
-
--font-mono: "JetBrains Mono", "Fira Code", ui-monospace;
|
|
44
|
-
|
|
45
|
-
/* Spacing & Sizing */
|
|
46
|
-
--spacing-18: 4.5rem;
|
|
47
|
-
--spacing-112: 28rem;
|
|
48
|
-
|
|
49
|
-
/* Custom animations */
|
|
50
|
-
--animate-slide-in: slide-in 0.3s ease-out;
|
|
51
|
-
--animate-fade-up: fade-up 0.4s ease-out;
|
|
52
|
-
|
|
53
|
-
/* Breakpoints */
|
|
54
|
-
--breakpoint-3xl: 112rem;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/* Register plugins via @plugin directive */
|
|
58
|
-
@plugin "@tailwindcss/typography";
|
|
59
|
-
@plugin "@tailwindcss/forms";
|
|
60
|
-
@plugin "./plugins/animations.js";
|
|
61
|
-
|
|
62
|
-
/* Custom keyframes */
|
|
63
|
-
@keyframes slide-in {
|
|
64
|
-
from { transform: translateX(-100%); opacity: 0; }
|
|
65
|
-
to { transform: translateX(0); opacity: 1; }
|
|
66
|
-
}
|
|
67
|
-
@keyframes fade-up {
|
|
68
|
-
from { transform: translateY(16px); opacity: 0; }
|
|
69
|
-
to { transform: translateY(0); opacity: 1; }
|
|
70
|
-
}
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### New Utilities in Tailwind v4
|
|
74
|
-
|
|
75
|
-
#### 3D Transforms
|
|
76
|
-
```html
|
|
77
|
-
<!-- 3D perspective and rotation -->
|
|
78
|
-
<div class="perspective-1000">
|
|
79
|
-
<div class="rotate-x-12 rotate-y-6 transform-3d hover:rotate-y-0 transition-transform duration-500">
|
|
80
|
-
Card content
|
|
81
|
-
</div>
|
|
82
|
-
</div>
|
|
83
|
-
|
|
84
|
-
<!-- perspective-{value}: sets perspective on parent -->
|
|
85
|
-
<!-- rotate-x-{deg}, rotate-y-{deg}: 3D rotation -->
|
|
86
|
-
<!-- transform-3d: enables 3D transform context -->
|
|
87
|
-
<!-- backface-visible, backface-hidden: card flip effects -->
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
#### Color Mix & Relative Colors
|
|
91
|
-
```html
|
|
92
|
-
<!-- Mix colors at the utility level -->
|
|
93
|
-
<div class="bg-brand-500/50"> <!-- 50% opacity -->
|
|
94
|
-
<div class="text-[color-mix(in_oklch,blue_70%,white)]"> <!-- CSS color-mix -->
|
|
95
|
-
<div class="border-brand-500 hover:border-brand-700">
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
#### Container Queries
|
|
99
|
-
```html
|
|
100
|
-
<!-- Responsive to parent container size, not viewport -->
|
|
101
|
-
<div class="@container">
|
|
102
|
-
<div class="@sm:grid-cols-2 @lg:grid-cols-3 grid grid-cols-1">
|
|
103
|
-
<!-- Adapts to container width, not screen width -->
|
|
104
|
-
</div>
|
|
105
|
-
</div>
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
#### `field-sizing` for Auto-Resizing Textareas
|
|
109
|
-
```html
|
|
110
|
-
<textarea class="field-sizing-content resize-none min-h-20 max-h-64">
|
|
111
|
-
Auto-resizes to fit content — no JavaScript needed!
|
|
112
|
-
</textarea>
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
### Migration from v3 to v4
|
|
116
|
-
|
|
117
|
-
#### Automated Migration Tool
|
|
118
|
-
```bash
|
|
119
|
-
npx @tailwindcss/upgrade
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
#### Key Breaking Changes
|
|
123
|
-
| v3 | v4 Equivalent |
|
|
124
|
-
|---|---|
|
|
125
|
-
| `tailwind.config.js` | `@theme {}` in CSS |
|
|
126
|
-
| `theme.extend.colors` | `--color-*` CSS vars in `@theme` |
|
|
127
|
-
| `plugins: [require('@tailwindcss/typography')]` | `@plugin "@tailwindcss/typography"` |
|
|
128
|
-
| `darkMode: 'class'` | `@variant dark (&:where(.dark, .dark *))` |
|
|
129
|
-
| `screens` in config | `--breakpoint-*` in `@theme` |
|
|
130
|
-
| `content` array | Auto-detected (no config needed) |
|
|
131
|
-
|
|
132
|
-
#### Custom Variants in v4
|
|
133
|
-
```css
|
|
134
|
-
/* Custom variants — replaces addVariant() in plugins */
|
|
135
|
-
@variant hocus (&:hover, &:focus);
|
|
136
|
-
@variant dark (&:where(.dark, .dark *));
|
|
137
|
-
@variant reduced-motion (@media (prefers-reduced-motion: reduce));
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### Performance Tips
|
|
141
|
-
- Tailwind v4 uses **Lightning CSS** for transforms — 4x faster builds than v3 with PostCSS.
|
|
142
|
-
- CSS bundle is now fully tree-shaken — only styles used in your HTML/JSX are generated.
|
|
143
|
-
- Use `@layer utilities` for custom utilities that need Tailwind's specificity.
|
|
144
|
-
- Avoid `@apply` in performance-critical loops — prefer utility classes directly in HTML.
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
<a name="bahasa-indonesia"></a>
|
|
149
|
-
## Bahasa Indonesia
|
|
150
|
-
|
|
151
|
-
### Deskripsi
|
|
152
|
-
Panduan mendalam untuk **Tailwind CSS v4** — mencakup model konfigurasi CSS-first baru, direktif `@theme` untuk design token, `@plugin` untuk plugin, 3D transform, peningkatan gradient, dan migrasi dari v3.
|
|
153
|
-
|
|
154
|
-
### Kondisi Pemicu
|
|
155
|
-
- Menyiapkan atau mengonfigurasi proyek Tailwind CSS v4 baru.
|
|
156
|
-
- Mendefinisikan design token via direktif `@theme` di CSS.
|
|
157
|
-
- Migrasi dari Tailwind CSS v3 ke v4.
|
|
158
|
-
- Menggunakan utilitas v4 baru: 3D transform, `field-sizing`, fungsi color mix.
|
|
159
|
-
- Mendaftarkan plugin kustom dengan direktif `@plugin`.
|
|
160
|
-
|
|
161
|
-
### Tailwind v4 — Pergeseran Paradigma CSS-First
|
|
162
|
-
|
|
163
|
-
Tailwind v4 menghilangkan `tailwind.config.js` sepenuhnya. Semua konfigurasi dilakukan di CSS menggunakan direktif `@theme`. Plugin didaftarkan dengan `@plugin`. Breakpoint, warna, spacing, animasi — semuanya didefinisikan sebagai variabel CSS `--*` di dalam blok `@theme`.
|
|
164
|
-
|
|
165
|
-
### Utilitas Baru di Tailwind v4
|
|
166
|
-
|
|
167
|
-
#### 3D Transform
|
|
168
|
-
Tailwind v4 menambahkan utilitas untuk 3D transform: `perspective-{nilai}`, `rotate-x-{derajat}`, `rotate-y-{derajat}`, `transform-3d`, `backface-visible`, `backface-hidden` — ideal untuk efek flip kartu dan galeri 3D.
|
|
169
|
-
|
|
170
|
-
#### Container Queries
|
|
171
|
-
Gunakan `@container` dan utilitas `@sm:`, `@lg:` untuk membuat komponen yang responsif terhadap ukuran container induknya, bukan ukuran viewport.
|
|
172
|
-
|
|
173
|
-
#### `field-sizing` untuk Textarea Auto-Resize
|
|
174
|
-
Kelas `field-sizing-content` membuat textarea otomatis menyesuaikan ukurannya dengan konten — tanpa JavaScript.
|
|
175
|
-
|
|
176
|
-
### Migrasi dari v3 ke v4
|
|
177
|
-
|
|
178
|
-
Gunakan alat migrasi otomatis `npx @tailwindcss/upgrade` untuk konversi dasar. Perubahan kunci:
|
|
179
|
-
- `tailwind.config.js` → `@theme {}` di CSS
|
|
180
|
-
- `plugins: [require('...')]` → `@plugin "..."`
|
|
181
|
-
- `darkMode: 'class'` → `@variant dark`
|
|
182
|
-
- Array `content` → Deteksi otomatis (tidak perlu konfigurasi)
|
|
183
|
-
|
|
184
|
-
### Tip Performa
|
|
185
|
-
- Tailwind v4 menggunakan **Lightning CSS** — build 4x lebih cepat dari v3 dengan PostCSS.
|
|
186
|
-
- Bundle CSS sepenuhnya di-tree-shake — hanya style yang digunakan yang dihasilkan.
|
|
187
|
-
- Gunakan `@layer utilities` untuk utilitas kustom yang membutuhkan spesifisitas Tailwind.
|
|
188
|
-
- Hindari `@apply` di loop kritis performa — gunakan kelas utilitas langsung di HTML.
|
|
1
|
+
---
|
|
2
|
+
name: tailwind-expert
|
|
3
|
+
description: "Deep guide for Tailwind CSS v4, CSS-first configuration, theme customization, and responsive design / Panduan mendalam untuk Tailwind CSS v4, CSS-first configuration, theme kustomisasi, dan responsive design."
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Tailwind CSS Expert (v4 Edition)
|
|
8
|
+
|
|
9
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<a name="english"></a>
|
|
14
|
+
## English
|
|
15
|
+
|
|
16
|
+
### Description
|
|
17
|
+
Deep expert guide for **Tailwind CSS v4** — covering the new CSS-first configuration model, `@theme` directive for design tokens, `@plugin` for plugins, 3D transforms, gradient improvements, and migration from v3.
|
|
18
|
+
|
|
19
|
+
### Trigger Conditions
|
|
20
|
+
- Setting up or configuring a new Tailwind CSS v4 project.
|
|
21
|
+
- Defining design tokens via `@theme` directive in CSS.
|
|
22
|
+
- Migrating from Tailwind CSS v3 to v4.
|
|
23
|
+
- Using new v4 utilities: 3D transforms, `field-sizing`, color mix functions.
|
|
24
|
+
- Registering custom plugins with `@plugin` directive.
|
|
25
|
+
|
|
26
|
+
### Tailwind v4 — The CSS-First Paradigm Shift
|
|
27
|
+
|
|
28
|
+
Tailwind v4 eliminates `tailwind.config.js` entirely. All configuration happens in CSS:
|
|
29
|
+
|
|
30
|
+
```css
|
|
31
|
+
/* app/globals.css */
|
|
32
|
+
@import "tailwindcss";
|
|
33
|
+
|
|
34
|
+
/* Design tokens — replaces tailwind.config.js theme */
|
|
35
|
+
@theme {
|
|
36
|
+
/* Colors using OKLCH for wide-gamut displays */
|
|
37
|
+
--color-brand-50: oklch(97% 0.02 250);
|
|
38
|
+
--color-brand-500: oklch(55% 0.2 250);
|
|
39
|
+
--color-brand-900: oklch(20% 0.1 250);
|
|
40
|
+
|
|
41
|
+
/* Typography */
|
|
42
|
+
--font-sans: "Inter Variable", "Inter", ui-sans-serif, system-ui, sans-serif;
|
|
43
|
+
--font-mono: "JetBrains Mono", "Fira Code", ui-monospace;
|
|
44
|
+
|
|
45
|
+
/* Spacing & Sizing */
|
|
46
|
+
--spacing-18: 4.5rem;
|
|
47
|
+
--spacing-112: 28rem;
|
|
48
|
+
|
|
49
|
+
/* Custom animations */
|
|
50
|
+
--animate-slide-in: slide-in 0.3s ease-out;
|
|
51
|
+
--animate-fade-up: fade-up 0.4s ease-out;
|
|
52
|
+
|
|
53
|
+
/* Breakpoints */
|
|
54
|
+
--breakpoint-3xl: 112rem;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* Register plugins via @plugin directive */
|
|
58
|
+
@plugin "@tailwindcss/typography";
|
|
59
|
+
@plugin "@tailwindcss/forms";
|
|
60
|
+
@plugin "./plugins/animations.js";
|
|
61
|
+
|
|
62
|
+
/* Custom keyframes */
|
|
63
|
+
@keyframes slide-in {
|
|
64
|
+
from { transform: translateX(-100%); opacity: 0; }
|
|
65
|
+
to { transform: translateX(0); opacity: 1; }
|
|
66
|
+
}
|
|
67
|
+
@keyframes fade-up {
|
|
68
|
+
from { transform: translateY(16px); opacity: 0; }
|
|
69
|
+
to { transform: translateY(0); opacity: 1; }
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### New Utilities in Tailwind v4
|
|
74
|
+
|
|
75
|
+
#### 3D Transforms
|
|
76
|
+
```html
|
|
77
|
+
<!-- 3D perspective and rotation -->
|
|
78
|
+
<div class="perspective-1000">
|
|
79
|
+
<div class="rotate-x-12 rotate-y-6 transform-3d hover:rotate-y-0 transition-transform duration-500">
|
|
80
|
+
Card content
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
|
|
84
|
+
<!-- perspective-{value}: sets perspective on parent -->
|
|
85
|
+
<!-- rotate-x-{deg}, rotate-y-{deg}: 3D rotation -->
|
|
86
|
+
<!-- transform-3d: enables 3D transform context -->
|
|
87
|
+
<!-- backface-visible, backface-hidden: card flip effects -->
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
#### Color Mix & Relative Colors
|
|
91
|
+
```html
|
|
92
|
+
<!-- Mix colors at the utility level -->
|
|
93
|
+
<div class="bg-brand-500/50"> <!-- 50% opacity -->
|
|
94
|
+
<div class="text-[color-mix(in_oklch,blue_70%,white)]"> <!-- CSS color-mix -->
|
|
95
|
+
<div class="border-brand-500 hover:border-brand-700">
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
#### Container Queries
|
|
99
|
+
```html
|
|
100
|
+
<!-- Responsive to parent container size, not viewport -->
|
|
101
|
+
<div class="@container">
|
|
102
|
+
<div class="@sm:grid-cols-2 @lg:grid-cols-3 grid grid-cols-1">
|
|
103
|
+
<!-- Adapts to container width, not screen width -->
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
#### `field-sizing` for Auto-Resizing Textareas
|
|
109
|
+
```html
|
|
110
|
+
<textarea class="field-sizing-content resize-none min-h-20 max-h-64">
|
|
111
|
+
Auto-resizes to fit content — no JavaScript needed!
|
|
112
|
+
</textarea>
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Migration from v3 to v4
|
|
116
|
+
|
|
117
|
+
#### Automated Migration Tool
|
|
118
|
+
```bash
|
|
119
|
+
npx @tailwindcss/upgrade
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
#### Key Breaking Changes
|
|
123
|
+
| v3 | v4 Equivalent |
|
|
124
|
+
|---|---|
|
|
125
|
+
| `tailwind.config.js` | `@theme {}` in CSS |
|
|
126
|
+
| `theme.extend.colors` | `--color-*` CSS vars in `@theme` |
|
|
127
|
+
| `plugins: [require('@tailwindcss/typography')]` | `@plugin "@tailwindcss/typography"` |
|
|
128
|
+
| `darkMode: 'class'` | `@variant dark (&:where(.dark, .dark *))` |
|
|
129
|
+
| `screens` in config | `--breakpoint-*` in `@theme` |
|
|
130
|
+
| `content` array | Auto-detected (no config needed) |
|
|
131
|
+
|
|
132
|
+
#### Custom Variants in v4
|
|
133
|
+
```css
|
|
134
|
+
/* Custom variants — replaces addVariant() in plugins */
|
|
135
|
+
@variant hocus (&:hover, &:focus);
|
|
136
|
+
@variant dark (&:where(.dark, .dark *));
|
|
137
|
+
@variant reduced-motion (@media (prefers-reduced-motion: reduce));
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Performance Tips
|
|
141
|
+
- Tailwind v4 uses **Lightning CSS** for transforms — 4x faster builds than v3 with PostCSS.
|
|
142
|
+
- CSS bundle is now fully tree-shaken — only styles used in your HTML/JSX are generated.
|
|
143
|
+
- Use `@layer utilities` for custom utilities that need Tailwind's specificity.
|
|
144
|
+
- Avoid `@apply` in performance-critical loops — prefer utility classes directly in HTML.
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
<a name="bahasa-indonesia"></a>
|
|
149
|
+
## Bahasa Indonesia
|
|
150
|
+
|
|
151
|
+
### Deskripsi
|
|
152
|
+
Panduan mendalam untuk **Tailwind CSS v4** — mencakup model konfigurasi CSS-first baru, direktif `@theme` untuk design token, `@plugin` untuk plugin, 3D transform, peningkatan gradient, dan migrasi dari v3.
|
|
153
|
+
|
|
154
|
+
### Kondisi Pemicu
|
|
155
|
+
- Menyiapkan atau mengonfigurasi proyek Tailwind CSS v4 baru.
|
|
156
|
+
- Mendefinisikan design token via direktif `@theme` di CSS.
|
|
157
|
+
- Migrasi dari Tailwind CSS v3 ke v4.
|
|
158
|
+
- Menggunakan utilitas v4 baru: 3D transform, `field-sizing`, fungsi color mix.
|
|
159
|
+
- Mendaftarkan plugin kustom dengan direktif `@plugin`.
|
|
160
|
+
|
|
161
|
+
### Tailwind v4 — Pergeseran Paradigma CSS-First
|
|
162
|
+
|
|
163
|
+
Tailwind v4 menghilangkan `tailwind.config.js` sepenuhnya. Semua konfigurasi dilakukan di CSS menggunakan direktif `@theme`. Plugin didaftarkan dengan `@plugin`. Breakpoint, warna, spacing, animasi — semuanya didefinisikan sebagai variabel CSS `--*` di dalam blok `@theme`.
|
|
164
|
+
|
|
165
|
+
### Utilitas Baru di Tailwind v4
|
|
166
|
+
|
|
167
|
+
#### 3D Transform
|
|
168
|
+
Tailwind v4 menambahkan utilitas untuk 3D transform: `perspective-{nilai}`, `rotate-x-{derajat}`, `rotate-y-{derajat}`, `transform-3d`, `backface-visible`, `backface-hidden` — ideal untuk efek flip kartu dan galeri 3D.
|
|
169
|
+
|
|
170
|
+
#### Container Queries
|
|
171
|
+
Gunakan `@container` dan utilitas `@sm:`, `@lg:` untuk membuat komponen yang responsif terhadap ukuran container induknya, bukan ukuran viewport.
|
|
172
|
+
|
|
173
|
+
#### `field-sizing` untuk Textarea Auto-Resize
|
|
174
|
+
Kelas `field-sizing-content` membuat textarea otomatis menyesuaikan ukurannya dengan konten — tanpa JavaScript.
|
|
175
|
+
|
|
176
|
+
### Migrasi dari v3 ke v4
|
|
177
|
+
|
|
178
|
+
Gunakan alat migrasi otomatis `npx @tailwindcss/upgrade` untuk konversi dasar. Perubahan kunci:
|
|
179
|
+
- `tailwind.config.js` → `@theme {}` di CSS
|
|
180
|
+
- `plugins: [require('...')]` → `@plugin "..."`
|
|
181
|
+
- `darkMode: 'class'` → `@variant dark`
|
|
182
|
+
- Array `content` → Deteksi otomatis (tidak perlu konfigurasi)
|
|
183
|
+
|
|
184
|
+
### Tip Performa
|
|
185
|
+
- Tailwind v4 menggunakan **Lightning CSS** — build 4x lebih cepat dari v3 dengan PostCSS.
|
|
186
|
+
- Bundle CSS sepenuhnya di-tree-shake — hanya style yang digunakan yang dihasilkan.
|
|
187
|
+
- Gunakan `@layer utilities` untuk utilitas kustom yang membutuhkan spesifisitas Tailwind.
|
|
188
|
+
- Hindari `@apply` di loop kritis performa — gunakan kelas utilitas langsung di HTML.
|