@ceebee/ui 1.0.1 → 1.0.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/dist/styles.css +75 -11
- package/package.json +1 -1
package/dist/styles.css
CHANGED
|
@@ -231,7 +231,9 @@ html, body { background: var(--cb-bg); color: var(--cb-fg); }
|
|
|
231
231
|
/* Someone who asked their system for more contrast gets stronger edges and darker secondary
|
|
232
232
|
text, without the palette changing hue underneath them. */
|
|
233
233
|
@media (prefers-contrast: more) {
|
|
234
|
-
:root
|
|
234
|
+
/* `html:root` deliberately outranks a Skin's later `:root` rule. Contrast is a reader
|
|
235
|
+
preference, so a brand Skin may change hue but must not weaken these accessibility edges. */
|
|
236
|
+
html:root {
|
|
235
237
|
--cb-border: oklch(0.7 0.014 280);
|
|
236
238
|
--cb-border-strong: oklch(0.45 0.02 280);
|
|
237
239
|
--cb-fg-muted: oklch(0.35 0.02 280);
|
|
@@ -240,8 +242,8 @@ html, body { background: var(--cb-bg); color: var(--cb-fg); }
|
|
|
240
242
|
--cb-glass-border-strong: oklch(0.45 0.02 280);
|
|
241
243
|
}
|
|
242
244
|
|
|
243
|
-
:root[data-theme="dark"],
|
|
244
|
-
:root:not([data-theme="light"]) {
|
|
245
|
+
html:root[data-theme="dark"],
|
|
246
|
+
html:root:not([data-theme="light"]) {
|
|
245
247
|
--cb-border: oklch(0.58 0.026 280);
|
|
246
248
|
--cb-border-strong: oklch(0.72 0.03 280);
|
|
247
249
|
--cb-fg-muted: oklch(0.88 0.012 280);
|
|
@@ -258,6 +260,9 @@ html, body { background: var(--cb-bg); color: var(--cb-fg); }
|
|
|
258
260
|
--cb-duration-base: 220ms;
|
|
259
261
|
--cb-duration-slow: 380ms;
|
|
260
262
|
--cb-duration-deliberate: 620ms;
|
|
263
|
+
--cb-duration-stagger-tight: 40ms;
|
|
264
|
+
--cb-duration-stagger-standard: 60ms;
|
|
265
|
+
--cb-duration-stagger-relaxed: 80ms;
|
|
261
266
|
|
|
262
267
|
--cb-ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
263
268
|
--cb-ease-entrance: cubic-bezier(0.05, 0.7, 0.1, 1);
|
|
@@ -272,6 +277,49 @@ html, body { background: var(--cb-bg); color: var(--cb-fg); }
|
|
|
272
277
|
:root { --cb-motion-scale: 0; }
|
|
273
278
|
}
|
|
274
279
|
|
|
280
|
+
/* tokens/surface.css */
|
|
281
|
+
/* Component Tokens shared by every platform Surface rendering. */
|
|
282
|
+
:root {
|
|
283
|
+
--cb-surface-tinted-edge-strength: 0.22;
|
|
284
|
+
--cb-surface-gradient-start-strength: 0.26;
|
|
285
|
+
--cb-surface-gradient-end-strength: 0.06;
|
|
286
|
+
--cb-surface-gradient-edge-strength: 0.24;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/* tokens/data-visualization.css */
|
|
290
|
+
/* Component Tokens shared by the web and Flutter mini-chart renderings. */
|
|
291
|
+
:root {
|
|
292
|
+
--cb-mini-chart-track-strength: 0.08;
|
|
293
|
+
--cb-mini-chart-area-strength: 0.16;
|
|
294
|
+
--cb-mini-chart-bar-strength: 0.70;
|
|
295
|
+
--cb-mini-chart-line-width: 0.09375rem;
|
|
296
|
+
--cb-mini-chart-marker-radius: 0.15625rem;
|
|
297
|
+
--cb-mini-chart-bar-gap: 0.125rem;
|
|
298
|
+
--cb-mini-chart-min-bar: 0.0625rem;
|
|
299
|
+
--cb-mini-chart-bar-radius: 0.0625rem;
|
|
300
|
+
--cb-mini-chart-donut-size-sm: 4rem;
|
|
301
|
+
--cb-mini-chart-donut-size-md: 7.5rem;
|
|
302
|
+
--cb-mini-chart-donut-size-lg: 10rem;
|
|
303
|
+
--cb-mini-chart-donut-thickness-sm: 0.5rem;
|
|
304
|
+
--cb-mini-chart-donut-thickness-md: 1rem;
|
|
305
|
+
--cb-mini-chart-donut-thickness-lg: 1.5rem;
|
|
306
|
+
--cb-mini-chart-width-sm: 6rem;
|
|
307
|
+
--cb-mini-chart-width-md: 7.5rem;
|
|
308
|
+
--cb-mini-chart-width-lg: 10rem;
|
|
309
|
+
--cb-mini-chart-height-sm: 1.5rem;
|
|
310
|
+
--cb-mini-chart-height-md: 2rem;
|
|
311
|
+
--cb-mini-chart-height-lg: 3rem;
|
|
312
|
+
--cb-mini-chart-padding: 0.0625rem;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
/* tokens/skeleton.css */
|
|
316
|
+
/* Skeleton component Tokens shared by web and Flutter renderings. */
|
|
317
|
+
:root {
|
|
318
|
+
--cb-skeleton-fill-strength: 0.28;
|
|
319
|
+
--cb-skeleton-opacity-min: 0.56;
|
|
320
|
+
--cb-skeleton-opacity-max: 1;
|
|
321
|
+
}
|
|
322
|
+
|
|
275
323
|
/* foundation/layout.css */
|
|
276
324
|
.cb-flex { display: flex; gap: var(--cb-flex-gap); }
|
|
277
325
|
.cb-flex--column { flex-direction: column; }
|
|
@@ -361,7 +409,11 @@ html, body { background: var(--cb-bg); color: var(--cb-fg); }
|
|
|
361
409
|
/* Tint mixes the accent into the surface so one strength token retunes every tinted card. */
|
|
362
410
|
.cb-surface--tinted {
|
|
363
411
|
background: color-mix(in oklch, var(--cb-surface-accent) calc(var(--cb-tint-strength) * 100%), var(--cb-surface));
|
|
364
|
-
border-color: color-mix(
|
|
412
|
+
border-color: color-mix(
|
|
413
|
+
in oklch,
|
|
414
|
+
var(--cb-surface-accent) calc(var(--cb-surface-tinted-edge-strength) * 100%),
|
|
415
|
+
transparent
|
|
416
|
+
);
|
|
365
417
|
}
|
|
366
418
|
|
|
367
419
|
.cb-surface--glass {
|
|
@@ -391,10 +443,22 @@ html, body { background: var(--cb-bg); color: var(--cb-fg); }
|
|
|
391
443
|
.cb-surface--gradient {
|
|
392
444
|
background: linear-gradient(
|
|
393
445
|
var(--cb-gradient-angle),
|
|
394
|
-
color-mix(
|
|
395
|
-
|
|
446
|
+
color-mix(
|
|
447
|
+
in oklch,
|
|
448
|
+
var(--cb-surface-accent) calc(var(--cb-surface-gradient-start-strength) * 100%),
|
|
449
|
+
var(--cb-surface)
|
|
450
|
+
),
|
|
451
|
+
color-mix(
|
|
452
|
+
in oklch,
|
|
453
|
+
var(--cb-surface-accent) calc(var(--cb-surface-gradient-end-strength) * 100%),
|
|
454
|
+
var(--cb-surface)
|
|
455
|
+
)
|
|
456
|
+
);
|
|
457
|
+
border-color: color-mix(
|
|
458
|
+
in oklch,
|
|
459
|
+
var(--cb-surface-accent) calc(var(--cb-surface-gradient-edge-strength) * 100%),
|
|
460
|
+
transparent
|
|
396
461
|
);
|
|
397
|
-
border-color: color-mix(in oklch, var(--cb-surface-accent) 24%, transparent);
|
|
398
462
|
}
|
|
399
463
|
|
|
400
464
|
.cb-elevation--none { box-shadow: var(--cb-surface-material-shadow); }
|
|
@@ -657,7 +721,7 @@ html, body { background: var(--cb-bg); color: var(--cb-fg); }
|
|
|
657
721
|
/* data/donut.css */
|
|
658
722
|
.cb-donut { position: relative; display: inline-grid; place-items: center; }
|
|
659
723
|
.cb-donut svg { position: absolute; inset: 0; }
|
|
660
|
-
.cb-donut__track { stroke: color-mix(in oklch, var(--cb-fg)
|
|
724
|
+
.cb-donut__track { stroke: color-mix(in oklch, var(--cb-fg) calc(var(--cb-mini-chart-track-strength) * 100%), transparent); }
|
|
661
725
|
.cb-donut__arc { transition: stroke-dasharray var(--cb-duration-deliberate) var(--cb-ease-entrance); }
|
|
662
726
|
/* Reduced motion: the arcs are drawn at their final length rather than growing into place. */
|
|
663
727
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -690,10 +754,10 @@ html, body { background: var(--cb-bg); color: var(--cb-fg); }
|
|
|
690
754
|
.cb-sparkline[data-hue="amber"] { --cb-spark-accent: var(--cb-decor-amber); }
|
|
691
755
|
.cb-sparkline[data-hue="rose"] { --cb-spark-accent: var(--cb-decor-rose); }
|
|
692
756
|
|
|
693
|
-
.cb-sparkline__line { stroke: var(--cb-spark-accent); stroke-width:
|
|
694
|
-
.cb-sparkline__area { fill: color-mix(in oklch, var(--cb-spark-accent)
|
|
757
|
+
.cb-sparkline__line { stroke: var(--cb-spark-accent); stroke-width: var(--cb-mini-chart-line-width); stroke-linecap: round; stroke-linejoin: round; }
|
|
758
|
+
.cb-sparkline__area { fill: color-mix(in oklch, var(--cb-spark-accent) calc(var(--cb-mini-chart-area-strength) * 100%), transparent); }
|
|
695
759
|
.cb-sparkline__last { fill: var(--cb-spark-accent); }
|
|
696
|
-
.cb-sparkline__bar { fill: color-mix(in oklch, var(--cb-spark-accent)
|
|
760
|
+
.cb-sparkline__bar { fill: color-mix(in oklch, var(--cb-spark-accent) calc(var(--cb-mini-chart-bar-strength) * 100%), transparent); }
|
|
697
761
|
|
|
698
762
|
/* data/leaderboard.css */
|
|
699
763
|
.cb-leaderboard { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--cb-space-1); font-family: var(--cb-font-sans); }
|