@podoba/tailwind 0.0.29 → 0.0.32

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 +167 -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.32",
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,7 @@
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);
76
120
 
77
121
  /* border radius */
78
122
  --radius-sm: var(--radius-sm);
@@ -91,6 +135,11 @@
91
135
  * (--space-md 1rem = p-4, sm = p-2, lg = p-6, xl = p-8, xs = p-1), so use
92
136
  * the numeric utilities for spacing and leave xs…xl to sizing. */
93
137
  --spacing-nav-x: var(--space-nav-x);
138
+ --spacing-control-tall: var(--control-height-tall);
139
+
140
+ /* effects */
141
+ --blur-modal-backdrop: var(--effect-modal-backdrop-blur);
142
+ --shadow-modal-surface: var(--shadow-modal-surface);
94
143
 
95
144
  /* font families */
96
145
  --font-sans: var(--font-sans);
@@ -101,13 +150,24 @@
101
150
  --text-caption: var(--font-size-caption);
102
151
  --text-label: var(--font-size-label);
103
152
  --text-compact: var(--font-size-compact);
153
+ --text-compact--line-height: var(--line-height-compact);
104
154
  --text-small: var(--font-size-small);
155
+ --text-small--line-height: var(--line-height-small);
105
156
  --text-callout: var(--font-size-callout);
106
157
  --text-body: var(--font-size-body);
158
+ --text-body--line-height: var(--line-height-body);
107
159
  --text-subtitle: var(--font-size-subtitle);
108
160
  --text-title: var(--font-size-title);
109
161
  --text-headline: var(--font-size-headline);
110
162
  --text-display: var(--font-size-display);
163
+ --text-display--line-height: var(--line-height-display);
164
+ /* GS source `label-1`: 30px / 32px / -2px at 30px. Used by page,
165
+ * workflow and split-dialog hero headings. */
166
+ --text-display-large: var(--font-size-display-large);
167
+ --text-display-large--line-height: var(--line-height-display-large);
168
+ --text-display-large--letter-spacing: var(--tracking-display-large);
169
+ --text-panel-heading: var(--font-size-panel-heading);
170
+ --text-panel-heading--line-height: var(--line-height-panel-heading);
111
171
 
112
172
  /* font sizes — heading ramp (size + paired line-height) */
113
173
  --text-heading1: var(--font-size-heading1);
@@ -130,6 +190,51 @@
130
190
  /* animations */
131
191
  --animate-expand-cta: expand-cta 220ms cubic-bezier(0.16, 1, 0.3, 1);
132
192
  --animate-lightbox-in: lightbox-in 0.3s ease-out;
193
+ --animate-modal-overlay-in: modal-overlay-in var(--motion-modal-enter-duration)
194
+ var(--motion-modal-enter-easing) both;
195
+ --animate-modal-overlay-out: modal-overlay-out var(--motion-modal-exit-duration)
196
+ var(--motion-modal-exit-easing) both;
197
+ --animate-modal-surface-in: modal-surface-in var(--motion-modal-enter-duration)
198
+ var(--motion-modal-enter-easing) both;
199
+ --animate-modal-surface-out: modal-surface-out var(--motion-modal-exit-duration)
200
+ var(--motion-modal-exit-easing) both;
201
+ --animate-modal-panel-in: modal-panel-in var(--motion-modal-panel-enter-duration)
202
+ var(--motion-modal-enter-easing) var(--motion-modal-panel-enter-delay) both;
203
+ --animate-modal-content-in: modal-content-in var(--motion-modal-content-enter-duration)
204
+ var(--motion-modal-enter-easing) var(--motion-modal-content-enter-delay) both;
205
+ --animate-modal-content-in-1: modal-content-in var(--motion-modal-content-enter-duration)
206
+ var(--motion-modal-enter-easing)
207
+ calc(var(--motion-modal-content-enter-delay) + var(--motion-modal-content-enter-stagger)) both;
208
+ --animate-modal-content-in-2: modal-content-in var(--motion-modal-content-enter-duration)
209
+ var(--motion-modal-enter-easing)
210
+ calc(
211
+ var(--motion-modal-content-enter-delay) + var(--motion-modal-content-enter-stagger) +
212
+ var(--motion-modal-content-enter-stagger)
213
+ )
214
+ both;
215
+ --animate-modal-content-in-3: modal-content-in var(--motion-modal-content-enter-duration)
216
+ var(--motion-modal-enter-easing)
217
+ calc(
218
+ var(--motion-modal-content-enter-delay) + var(--motion-modal-content-enter-stagger) +
219
+ var(--motion-modal-content-enter-stagger) + var(--motion-modal-content-enter-stagger)
220
+ )
221
+ both;
222
+ --animate-modal-content-in-4: modal-content-in var(--motion-modal-content-enter-duration)
223
+ var(--motion-modal-enter-easing)
224
+ calc(
225
+ var(--motion-modal-content-enter-delay) + var(--motion-modal-content-enter-stagger) +
226
+ var(--motion-modal-content-enter-stagger) + var(--motion-modal-content-enter-stagger) +
227
+ var(--motion-modal-content-enter-stagger)
228
+ )
229
+ both;
230
+ --animate-modal-content-in-5: modal-content-in var(--motion-modal-content-enter-duration)
231
+ var(--motion-modal-enter-easing)
232
+ calc(
233
+ var(--motion-modal-content-enter-delay) + var(--motion-modal-content-enter-stagger) +
234
+ var(--motion-modal-content-enter-stagger) + var(--motion-modal-content-enter-stagger) +
235
+ var(--motion-modal-content-enter-stagger) + var(--motion-modal-content-enter-stagger)
236
+ )
237
+ both;
133
238
  }
134
239
 
135
240
  @keyframes expand-cta {
@@ -153,3 +258,65 @@
153
258
  transform: translateX(0);
154
259
  }
155
260
  }
261
+
262
+ @keyframes modal-overlay-in {
263
+ from {
264
+ opacity: 0;
265
+ }
266
+ to {
267
+ opacity: 1;
268
+ }
269
+ }
270
+
271
+ @keyframes modal-overlay-out {
272
+ from {
273
+ opacity: 1;
274
+ }
275
+ to {
276
+ opacity: 0;
277
+ }
278
+ }
279
+
280
+ @keyframes modal-surface-in {
281
+ from {
282
+ opacity: 0;
283
+ transform: translateY(2%) scale(var(--motion-modal-origin-scale-max));
284
+ }
285
+ to {
286
+ opacity: 1;
287
+ transform: translateY(0) scale(1);
288
+ }
289
+ }
290
+
291
+ @keyframes modal-surface-out {
292
+ from {
293
+ opacity: 1;
294
+ transform: translateY(0) scale(1);
295
+ }
296
+ to {
297
+ opacity: 0;
298
+ transform: translateY(2%) scale(var(--motion-modal-origin-scale-max));
299
+ }
300
+ }
301
+
302
+ @keyframes modal-panel-in {
303
+ from {
304
+ opacity: 0;
305
+ transform: translateX(-4rem) scaleX(var(--motion-modal-origin-scale-max));
306
+ }
307
+ to {
308
+ opacity: 1;
309
+ transform: translateX(0) scaleX(1);
310
+ }
311
+ }
312
+
313
+ @keyframes modal-content-in {
314
+ from {
315
+ opacity: 0;
316
+ transform: translateX(-1.5rem);
317
+ }
318
+ to {
319
+ opacity: 1;
320
+ transform: translateX(0);
321
+ }
322
+ }