@podoba/tailwind 0.0.28 → 0.0.30

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/theme.css +169 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@podoba/tailwind",
3
- "version": "0.0.28",
3
+ "version": "0.0.30",
4
4
  "type": "module",
5
5
  "description": "podoba Tailwind v4 theme — binds @podoba/tokens CSS custom properties to Tailwind's @theme. Import after `@import \"tailwindcss\"`.",
6
6
  "repository": {
package/src/theme.css CHANGED
@@ -32,6 +32,48 @@
32
32
  * rare one-off that must diverge from the token flip (`dark:border-0`, etc.). */
33
33
  @custom-variant dark (&:where([data-theme="dark"], [data-theme="dark"] *));
34
34
 
35
+ /* Split-modal content group: apply the source GS Manager's entrance stagger to
36
+ * whatever children are actually rendered. This keeps optional workflow sections
37
+ * correctly sequenced without consumers hardcoding semantic child numbers. */
38
+ @utility modal-content-stagger {
39
+ & > * {
40
+ animation: modal-content-in var(--motion-modal-content-enter-duration)
41
+ var(--motion-modal-enter-easing)
42
+ calc(var(--motion-modal-content-enter-delay) + var(--motion-modal-content-enter-stagger))
43
+ both;
44
+ }
45
+
46
+ & > :nth-child(2) {
47
+ animation-delay: calc(
48
+ var(--motion-modal-content-enter-delay) + var(--motion-modal-content-enter-stagger) +
49
+ var(--motion-modal-content-enter-stagger)
50
+ );
51
+ }
52
+
53
+ & > :nth-child(3) {
54
+ animation-delay: calc(
55
+ var(--motion-modal-content-enter-delay) + var(--motion-modal-content-enter-stagger) +
56
+ var(--motion-modal-content-enter-stagger) + var(--motion-modal-content-enter-stagger)
57
+ );
58
+ }
59
+
60
+ & > :nth-child(4) {
61
+ animation-delay: calc(
62
+ var(--motion-modal-content-enter-delay) + var(--motion-modal-content-enter-stagger) +
63
+ var(--motion-modal-content-enter-stagger) + var(--motion-modal-content-enter-stagger) +
64
+ var(--motion-modal-content-enter-stagger)
65
+ );
66
+ }
67
+
68
+ & > :nth-child(n + 5) {
69
+ animation-delay: calc(
70
+ var(--motion-modal-content-enter-delay) + var(--motion-modal-content-enter-stagger) +
71
+ var(--motion-modal-content-enter-stagger) + var(--motion-modal-content-enter-stagger) +
72
+ var(--motion-modal-content-enter-stagger) + var(--motion-modal-content-enter-stagger)
73
+ );
74
+ }
75
+ }
76
+
35
77
  @theme inline {
36
78
  /* colors */
37
79
  --color-brand: var(--color-brand-primary);
@@ -48,7 +90,9 @@
48
90
  --color-fg: var(--color-fg);
49
91
  --color-fg-muted: var(--color-fg-muted);
50
92
  --color-fg-subtle: var(--color-fg-subtle);
93
+ --color-fg-workflow-muted: var(--color-fg-workflow-muted);
51
94
  --color-fg-inverted: var(--color-fg-inverted);
95
+ --color-fg-on-brand: var(--color-fg-on-brand);
52
96
 
53
97
  --color-accent-strong: var(--color-accent-strong);
54
98
  --color-accent-yellow: var(--color-accent-yellow);
@@ -72,6 +116,8 @@
72
116
  --color-success-fg: var(--color-success-fg);
73
117
 
74
118
  --color-ring: var(--color-ring);
119
+ --color-modal-backdrop: var(--color-modal-backdrop);
120
+ --color-modal-backdrop-fallback: var(--color-modal-backdrop-fallback);
75
121
 
76
122
  /* border radius */
77
123
  --radius-sm: var(--radius-sm);
@@ -90,6 +136,11 @@
90
136
  * (--space-md 1rem = p-4, sm = p-2, lg = p-6, xl = p-8, xs = p-1), so use
91
137
  * the numeric utilities for spacing and leave xs…xl to sizing. */
92
138
  --spacing-nav-x: var(--space-nav-x);
139
+ --spacing-control-tall: var(--control-height-tall);
140
+
141
+ /* effects */
142
+ --blur-modal-backdrop: var(--effect-modal-backdrop-blur);
143
+ --shadow-modal-surface: var(--shadow-modal-surface);
93
144
 
94
145
  /* font families */
95
146
  --font-sans: var(--font-sans);
@@ -100,13 +151,24 @@
100
151
  --text-caption: var(--font-size-caption);
101
152
  --text-label: var(--font-size-label);
102
153
  --text-compact: var(--font-size-compact);
154
+ --text-compact--line-height: var(--line-height-compact);
103
155
  --text-small: var(--font-size-small);
156
+ --text-small--line-height: var(--line-height-small);
104
157
  --text-callout: var(--font-size-callout);
105
158
  --text-body: var(--font-size-body);
159
+ --text-body--line-height: var(--line-height-body);
106
160
  --text-subtitle: var(--font-size-subtitle);
107
161
  --text-title: var(--font-size-title);
108
162
  --text-headline: var(--font-size-headline);
109
163
  --text-display: var(--font-size-display);
164
+ --text-display--line-height: var(--line-height-display);
165
+ /* GS source `label-1`: 30px / 32px / -2px at 30px. Used by page,
166
+ * workflow and split-dialog hero headings. */
167
+ --text-display-large: var(--font-size-display-large);
168
+ --text-display-large--line-height: var(--line-height-display-large);
169
+ --text-display-large--letter-spacing: var(--tracking-display-large);
170
+ --text-panel-heading: var(--font-size-panel-heading);
171
+ --text-panel-heading--line-height: var(--line-height-panel-heading);
110
172
 
111
173
  /* font sizes — heading ramp (size + paired line-height) */
112
174
  --text-heading1: var(--font-size-heading1);
@@ -129,6 +191,51 @@
129
191
  /* animations */
130
192
  --animate-expand-cta: expand-cta 220ms cubic-bezier(0.16, 1, 0.3, 1);
131
193
  --animate-lightbox-in: lightbox-in 0.3s ease-out;
194
+ --animate-modal-overlay-in: modal-overlay-in var(--motion-modal-enter-duration)
195
+ var(--motion-modal-enter-easing) both;
196
+ --animate-modal-overlay-out: modal-overlay-out var(--motion-modal-exit-duration)
197
+ var(--motion-modal-exit-easing) both;
198
+ --animate-modal-surface-in: modal-surface-in var(--motion-modal-enter-duration)
199
+ var(--motion-modal-enter-easing) both;
200
+ --animate-modal-surface-out: modal-surface-out var(--motion-modal-exit-duration)
201
+ var(--motion-modal-exit-easing) both;
202
+ --animate-modal-panel-in: modal-panel-in var(--motion-modal-panel-enter-duration)
203
+ var(--motion-modal-enter-easing) var(--motion-modal-panel-enter-delay) both;
204
+ --animate-modal-content-in: modal-content-in var(--motion-modal-content-enter-duration)
205
+ var(--motion-modal-enter-easing) var(--motion-modal-content-enter-delay) both;
206
+ --animate-modal-content-in-1: modal-content-in var(--motion-modal-content-enter-duration)
207
+ var(--motion-modal-enter-easing)
208
+ calc(var(--motion-modal-content-enter-delay) + var(--motion-modal-content-enter-stagger)) both;
209
+ --animate-modal-content-in-2: modal-content-in var(--motion-modal-content-enter-duration)
210
+ var(--motion-modal-enter-easing)
211
+ calc(
212
+ var(--motion-modal-content-enter-delay) + var(--motion-modal-content-enter-stagger) +
213
+ var(--motion-modal-content-enter-stagger)
214
+ )
215
+ both;
216
+ --animate-modal-content-in-3: modal-content-in var(--motion-modal-content-enter-duration)
217
+ var(--motion-modal-enter-easing)
218
+ calc(
219
+ var(--motion-modal-content-enter-delay) + var(--motion-modal-content-enter-stagger) +
220
+ var(--motion-modal-content-enter-stagger) + var(--motion-modal-content-enter-stagger)
221
+ )
222
+ both;
223
+ --animate-modal-content-in-4: modal-content-in var(--motion-modal-content-enter-duration)
224
+ var(--motion-modal-enter-easing)
225
+ calc(
226
+ var(--motion-modal-content-enter-delay) + var(--motion-modal-content-enter-stagger) +
227
+ var(--motion-modal-content-enter-stagger) + var(--motion-modal-content-enter-stagger) +
228
+ var(--motion-modal-content-enter-stagger)
229
+ )
230
+ both;
231
+ --animate-modal-content-in-5: modal-content-in var(--motion-modal-content-enter-duration)
232
+ var(--motion-modal-enter-easing)
233
+ calc(
234
+ var(--motion-modal-content-enter-delay) + var(--motion-modal-content-enter-stagger) +
235
+ var(--motion-modal-content-enter-stagger) + var(--motion-modal-content-enter-stagger) +
236
+ var(--motion-modal-content-enter-stagger) + var(--motion-modal-content-enter-stagger)
237
+ )
238
+ both;
132
239
  }
133
240
 
134
241
  @keyframes expand-cta {
@@ -152,3 +259,65 @@
152
259
  transform: translateX(0);
153
260
  }
154
261
  }
262
+
263
+ @keyframes modal-overlay-in {
264
+ from {
265
+ opacity: 0;
266
+ }
267
+ to {
268
+ opacity: 1;
269
+ }
270
+ }
271
+
272
+ @keyframes modal-overlay-out {
273
+ from {
274
+ opacity: 1;
275
+ }
276
+ to {
277
+ opacity: 0;
278
+ }
279
+ }
280
+
281
+ @keyframes modal-surface-in {
282
+ from {
283
+ opacity: 0;
284
+ transform: translateY(2%) scale(var(--motion-modal-origin-scale-max));
285
+ }
286
+ to {
287
+ opacity: 1;
288
+ transform: translateY(0) scale(1);
289
+ }
290
+ }
291
+
292
+ @keyframes modal-surface-out {
293
+ from {
294
+ opacity: 1;
295
+ transform: translateY(0) scale(1);
296
+ }
297
+ to {
298
+ opacity: 0;
299
+ transform: translateY(2%) scale(var(--motion-modal-origin-scale-max));
300
+ }
301
+ }
302
+
303
+ @keyframes modal-panel-in {
304
+ from {
305
+ opacity: 0;
306
+ transform: translateX(-4rem) scaleX(var(--motion-modal-origin-scale-max));
307
+ }
308
+ to {
309
+ opacity: 1;
310
+ transform: translateX(0) scaleX(1);
311
+ }
312
+ }
313
+
314
+ @keyframes modal-content-in {
315
+ from {
316
+ opacity: 0;
317
+ transform: translateX(-1.5rem);
318
+ }
319
+ to {
320
+ opacity: 1;
321
+ transform: translateX(0);
322
+ }
323
+ }