@podoba/tailwind 0.0.29 → 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 +168 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@podoba/tailwind",
3
- "version": "0.0.29",
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,6 +90,7 @@
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);
52
95
  --color-fg-on-brand: var(--color-fg-on-brand);
53
96
 
@@ -73,6 +116,8 @@
73
116
  --color-success-fg: var(--color-success-fg);
74
117
 
75
118
  --color-ring: var(--color-ring);
119
+ --color-modal-backdrop: var(--color-modal-backdrop);
120
+ --color-modal-backdrop-fallback: var(--color-modal-backdrop-fallback);
76
121
 
77
122
  /* border radius */
78
123
  --radius-sm: var(--radius-sm);
@@ -91,6 +136,11 @@
91
136
  * (--space-md 1rem = p-4, sm = p-2, lg = p-6, xl = p-8, xs = p-1), so use
92
137
  * the numeric utilities for spacing and leave xs…xl to sizing. */
93
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);
94
144
 
95
145
  /* font families */
96
146
  --font-sans: var(--font-sans);
@@ -101,13 +151,24 @@
101
151
  --text-caption: var(--font-size-caption);
102
152
  --text-label: var(--font-size-label);
103
153
  --text-compact: var(--font-size-compact);
154
+ --text-compact--line-height: var(--line-height-compact);
104
155
  --text-small: var(--font-size-small);
156
+ --text-small--line-height: var(--line-height-small);
105
157
  --text-callout: var(--font-size-callout);
106
158
  --text-body: var(--font-size-body);
159
+ --text-body--line-height: var(--line-height-body);
107
160
  --text-subtitle: var(--font-size-subtitle);
108
161
  --text-title: var(--font-size-title);
109
162
  --text-headline: var(--font-size-headline);
110
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);
111
172
 
112
173
  /* font sizes — heading ramp (size + paired line-height) */
113
174
  --text-heading1: var(--font-size-heading1);
@@ -130,6 +191,51 @@
130
191
  /* animations */
131
192
  --animate-expand-cta: expand-cta 220ms cubic-bezier(0.16, 1, 0.3, 1);
132
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;
133
239
  }
134
240
 
135
241
  @keyframes expand-cta {
@@ -153,3 +259,65 @@
153
259
  transform: translateX(0);
154
260
  }
155
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
+ }