@putdotio/design 3.6.3 → 3.8.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/DESIGN.md +19 -7
- package/dist/css/tokens.css +20 -18
- package/dist/figma/putio.tokens.json +17 -7
- package/dist/tokens.d.ts +1 -1
- package/dist/tokens.dtcg.json +79 -21
- package/dist/tokens.flat.json +70 -21
- package/dist/tokens.js +70 -21
- package/package.json +4 -4
- package/system/README.md +8 -9
- package/system/components.css +155 -11
- package/tokens/components.tokens.json +52 -18
- package/tokens/context.tokens.json +1 -1
- package/tokens/primitives.tokens.json +26 -2
package/dist/tokens.flat.json
CHANGED
|
@@ -455,35 +455,45 @@
|
|
|
455
455
|
"type": "color",
|
|
456
456
|
"mode": "light",
|
|
457
457
|
"value": "hsl(0, 0%, 100%)",
|
|
458
|
-
"originalValue": "{component.field.background}"
|
|
458
|
+
"originalValue": "{component.field.background}",
|
|
459
|
+
"description": "Deprecated alias. Use --field-bg (component.field.background).",
|
|
460
|
+
"deprecated": true
|
|
459
461
|
},
|
|
460
462
|
"component.input.backgroundDark": {
|
|
461
463
|
"cssName": "--input-bg",
|
|
462
464
|
"type": "color",
|
|
463
465
|
"mode": "dark",
|
|
464
466
|
"value": "hsl(0, 0%, 8.5%)",
|
|
465
|
-
"originalValue": "{component.field.backgroundDark}"
|
|
467
|
+
"originalValue": "{component.field.backgroundDark}",
|
|
468
|
+
"description": "Deprecated alias. Use --field-bg (component.field.backgroundDark).",
|
|
469
|
+
"deprecated": true
|
|
466
470
|
},
|
|
467
471
|
"component.input.border": {
|
|
468
472
|
"cssName": "--input-border",
|
|
469
473
|
"type": "color",
|
|
470
474
|
"mode": "light",
|
|
471
475
|
"value": "hsl(0, 0%, 85.8%)",
|
|
472
|
-
"originalValue": "{component.field.border}"
|
|
476
|
+
"originalValue": "{component.field.border}",
|
|
477
|
+
"description": "Deprecated alias. Use --field-border (component.field.border).",
|
|
478
|
+
"deprecated": true
|
|
473
479
|
},
|
|
474
480
|
"component.input.borderDark": {
|
|
475
481
|
"cssName": "--input-border",
|
|
476
482
|
"type": "color",
|
|
477
483
|
"mode": "dark",
|
|
478
484
|
"value": "hsl(0, 0%, 24.3%)",
|
|
479
|
-
"originalValue": "{component.field.borderDark}"
|
|
485
|
+
"originalValue": "{component.field.borderDark}",
|
|
486
|
+
"description": "Deprecated alias. Use --field-border (component.field.borderDark).",
|
|
487
|
+
"deprecated": true
|
|
480
488
|
},
|
|
481
489
|
"component.input.radius": {
|
|
482
490
|
"cssName": "--input-radius",
|
|
483
491
|
"type": "dimension",
|
|
484
492
|
"mode": "global",
|
|
485
493
|
"value": "6px",
|
|
486
|
-
"originalValue": "{component.field.radius}"
|
|
494
|
+
"originalValue": "{component.field.radius}",
|
|
495
|
+
"description": "Deprecated alias. Use --field-radius (component.field.radius).",
|
|
496
|
+
"deprecated": true
|
|
487
497
|
},
|
|
488
498
|
"component.input.borderHover": {
|
|
489
499
|
"cssName": "--input-border-hover",
|
|
@@ -491,70 +501,89 @@
|
|
|
491
501
|
"mode": "light",
|
|
492
502
|
"value": "hsl(0, 0%, 78.0%)",
|
|
493
503
|
"originalValue": "{component.field.borderHover}",
|
|
494
|
-
"description": "
|
|
504
|
+
"description": "Deprecated alias. Use --field-border-hover (component.field.borderHover).",
|
|
505
|
+
"deprecated": true
|
|
495
506
|
},
|
|
496
507
|
"component.input.borderHoverDark": {
|
|
497
508
|
"cssName": "--input-border-hover",
|
|
498
509
|
"type": "color",
|
|
499
510
|
"mode": "dark",
|
|
500
511
|
"value": "hsl(0, 0%, 31.2%)",
|
|
501
|
-
"originalValue": "{component.field.borderHoverDark}"
|
|
512
|
+
"originalValue": "{component.field.borderHoverDark}",
|
|
513
|
+
"description": "Deprecated alias. Use --field-border-hover (component.field.borderHoverDark).",
|
|
514
|
+
"deprecated": true
|
|
502
515
|
},
|
|
503
516
|
"component.input.borderFocus": {
|
|
504
517
|
"cssName": "--input-border-focus",
|
|
505
518
|
"type": "color",
|
|
506
519
|
"mode": "light",
|
|
507
520
|
"value": "hsl(0, 0%, 78.0%)",
|
|
508
|
-
"originalValue": "{component.field.borderFocus}"
|
|
521
|
+
"originalValue": "{component.field.borderFocus}",
|
|
522
|
+
"description": "Deprecated alias. Use --field-border-focus (component.field.borderFocus).",
|
|
523
|
+
"deprecated": true
|
|
509
524
|
},
|
|
510
525
|
"component.input.borderFocusDark": {
|
|
511
526
|
"cssName": "--input-border-focus",
|
|
512
527
|
"type": "color",
|
|
513
528
|
"mode": "dark",
|
|
514
529
|
"value": "hsl(0, 0%, 31.2%)",
|
|
515
|
-
"originalValue": "{component.field.borderFocusDark}"
|
|
530
|
+
"originalValue": "{component.field.borderFocusDark}",
|
|
531
|
+
"description": "Deprecated alias. Use --field-border-focus (component.field.borderFocusDark).",
|
|
532
|
+
"deprecated": true
|
|
516
533
|
},
|
|
517
534
|
"component.input.ring": {
|
|
518
535
|
"cssName": "--input-ring",
|
|
519
536
|
"type": "string",
|
|
520
537
|
"mode": "light",
|
|
521
538
|
"value": "0 0 0 1px hsl(0, 0%, 78.0%)",
|
|
522
|
-
"originalValue": "{component.field.ring}"
|
|
539
|
+
"originalValue": "{component.field.ring}",
|
|
540
|
+
"description": "Deprecated alias. Use --field-ring (component.field.ring).",
|
|
541
|
+
"deprecated": true
|
|
523
542
|
},
|
|
524
543
|
"component.input.ringDark": {
|
|
525
544
|
"cssName": "--input-ring",
|
|
526
545
|
"type": "string",
|
|
527
546
|
"mode": "dark",
|
|
528
547
|
"value": "0 0 0 1px hsl(0, 0%, 31.2%)",
|
|
529
|
-
"originalValue": "{component.field.ringDark}"
|
|
548
|
+
"originalValue": "{component.field.ringDark}",
|
|
549
|
+
"description": "Deprecated alias. Use --field-ring (component.field.ringDark).",
|
|
550
|
+
"deprecated": true
|
|
530
551
|
},
|
|
531
552
|
"component.input.text": {
|
|
532
553
|
"cssName": "--input-text",
|
|
533
554
|
"type": "color",
|
|
534
555
|
"mode": "light",
|
|
535
556
|
"value": "hsl(0, 0%, 9.0%)",
|
|
536
|
-
"originalValue": "{component.field.text}"
|
|
557
|
+
"originalValue": "{component.field.text}",
|
|
558
|
+
"description": "Deprecated alias. Use --field-text (component.field.text).",
|
|
559
|
+
"deprecated": true
|
|
537
560
|
},
|
|
538
561
|
"component.input.textDark": {
|
|
539
562
|
"cssName": "--input-text",
|
|
540
563
|
"type": "color",
|
|
541
564
|
"mode": "dark",
|
|
542
565
|
"value": "hsl(0, 0%, 93.0%)",
|
|
543
|
-
"originalValue": "{component.field.textDark}"
|
|
566
|
+
"originalValue": "{component.field.textDark}",
|
|
567
|
+
"description": "Deprecated alias. Use --field-text (component.field.textDark).",
|
|
568
|
+
"deprecated": true
|
|
544
569
|
},
|
|
545
570
|
"component.input.placeholder": {
|
|
546
571
|
"cssName": "--input-placeholder",
|
|
547
572
|
"type": "color",
|
|
548
573
|
"mode": "light",
|
|
549
574
|
"value": "hsl(0, 0%, 43.5%)",
|
|
550
|
-
"originalValue": "{component.field.placeholder}"
|
|
575
|
+
"originalValue": "{component.field.placeholder}",
|
|
576
|
+
"description": "Deprecated alias. Use --field-placeholder (component.field.placeholder).",
|
|
577
|
+
"deprecated": true
|
|
551
578
|
},
|
|
552
579
|
"component.input.placeholderDark": {
|
|
553
580
|
"cssName": "--input-placeholder",
|
|
554
581
|
"type": "color",
|
|
555
582
|
"mode": "dark",
|
|
556
583
|
"value": "hsl(0, 0%, 62.8%)",
|
|
557
|
-
"originalValue": "{component.field.placeholderDark}"
|
|
584
|
+
"originalValue": "{component.field.placeholderDark}",
|
|
585
|
+
"description": "Deprecated alias. Use --field-placeholder (component.field.placeholderDark).",
|
|
586
|
+
"deprecated": true
|
|
558
587
|
},
|
|
559
588
|
"component.field.background": {
|
|
560
589
|
"cssName": "--field-bg",
|
|
@@ -781,14 +810,18 @@
|
|
|
781
810
|
"type": "color",
|
|
782
811
|
"mode": "light",
|
|
783
812
|
"value": "hsl(0, 0%, 43.5%)",
|
|
784
|
-
"originalValue": "{color.neutral.light.textSecondary}"
|
|
813
|
+
"originalValue": "{color.neutral.light.textSecondary}",
|
|
814
|
+
"description": "Deprecated alias. Use --text-secondary (color.neutral.light.textSecondary).",
|
|
815
|
+
"deprecated": true
|
|
785
816
|
},
|
|
786
817
|
"component.alias.foregroundMutedDark": {
|
|
787
818
|
"cssName": "--foreground-muted",
|
|
788
819
|
"type": "color",
|
|
789
820
|
"mode": "dark",
|
|
790
821
|
"value": "hsl(0, 0%, 62.8%)",
|
|
791
|
-
"originalValue": "{color.neutral.dark.textSecondary}"
|
|
822
|
+
"originalValue": "{color.neutral.dark.textSecondary}",
|
|
823
|
+
"description": "Deprecated alias. Use --text-secondary (color.neutral.dark.textSecondary).",
|
|
824
|
+
"deprecated": true
|
|
792
825
|
},
|
|
793
826
|
"component.alias.primary": {
|
|
794
827
|
"cssName": "--primary",
|
|
@@ -2131,7 +2164,7 @@
|
|
|
2131
2164
|
"mode": "tv",
|
|
2132
2165
|
"value": "hsl(0, 0%, 62.8%)",
|
|
2133
2166
|
"originalValue": "{context.tv.text.secondary}",
|
|
2134
|
-
"description": "Deprecated
|
|
2167
|
+
"description": "Deprecated alias. Use --text-2 (context.tv.text.secondary).",
|
|
2135
2168
|
"deprecated": true
|
|
2136
2169
|
},
|
|
2137
2170
|
"context.tv.channelArt.production.posterBackground": {
|
|
@@ -3201,9 +3234,18 @@
|
|
|
3201
3234
|
"elevation.focus": {
|
|
3202
3235
|
"cssName": "--shadow-focus",
|
|
3203
3236
|
"type": "string",
|
|
3204
|
-
"mode": "
|
|
3205
|
-
"value": "0 0 0
|
|
3206
|
-
"originalValue": "0 0 0
|
|
3237
|
+
"mode": "light",
|
|
3238
|
+
"value": "0 0 0 2px hsl(0, 0%, 99.0%), 0 0 0 4px hsl(0, 0%, 52.3%)",
|
|
3239
|
+
"originalValue": "0 0 0 2px {color.neutral.light.bg}, 0 0 0 4px {color.neutral.light.solidHover}",
|
|
3240
|
+
"description": "Button, link, and nav focus: a 2px page-coloured gap, then a 2px opaque ring at least 3:1 against the page and panels."
|
|
3241
|
+
},
|
|
3242
|
+
"elevation.focusDark": {
|
|
3243
|
+
"cssName": "--shadow-focus",
|
|
3244
|
+
"type": "string",
|
|
3245
|
+
"mode": "dark",
|
|
3246
|
+
"value": "0 0 0 2px hsl(0, 0%, 8.5%), 0 0 0 4px hsl(0, 0%, 49.4%)",
|
|
3247
|
+
"originalValue": "0 0 0 2px {color.neutral.dark.bg}, 0 0 0 4px {color.neutral.dark.solidHover}",
|
|
3248
|
+
"description": "Dark-mode button, link, and nav focus ring."
|
|
3207
3249
|
},
|
|
3208
3250
|
"typography.fontFamily.sans": {
|
|
3209
3251
|
"cssName": "--font-sans",
|
|
@@ -3524,6 +3566,13 @@
|
|
|
3524
3566
|
"value": "120ms",
|
|
3525
3567
|
"originalValue": "120ms"
|
|
3526
3568
|
},
|
|
3569
|
+
"motion.duration.reveal": {
|
|
3570
|
+
"cssName": "--dur-reveal",
|
|
3571
|
+
"type": "duration",
|
|
3572
|
+
"mode": "global",
|
|
3573
|
+
"value": "180ms",
|
|
3574
|
+
"originalValue": "180ms"
|
|
3575
|
+
},
|
|
3527
3576
|
"motion.duration.base": {
|
|
3528
3577
|
"cssName": "--dur-base",
|
|
3529
3578
|
"type": "duration",
|
package/dist/tokens.js
CHANGED
|
@@ -457,35 +457,45 @@ export const tokens = {
|
|
|
457
457
|
"type": "color",
|
|
458
458
|
"mode": "light",
|
|
459
459
|
"value": "hsl(0, 0%, 100%)",
|
|
460
|
-
"originalValue": "{component.field.background}"
|
|
460
|
+
"originalValue": "{component.field.background}",
|
|
461
|
+
"description": "Deprecated alias. Use --field-bg (component.field.background).",
|
|
462
|
+
"deprecated": true
|
|
461
463
|
},
|
|
462
464
|
"component.input.backgroundDark": {
|
|
463
465
|
"cssName": "--input-bg",
|
|
464
466
|
"type": "color",
|
|
465
467
|
"mode": "dark",
|
|
466
468
|
"value": "hsl(0, 0%, 8.5%)",
|
|
467
|
-
"originalValue": "{component.field.backgroundDark}"
|
|
469
|
+
"originalValue": "{component.field.backgroundDark}",
|
|
470
|
+
"description": "Deprecated alias. Use --field-bg (component.field.backgroundDark).",
|
|
471
|
+
"deprecated": true
|
|
468
472
|
},
|
|
469
473
|
"component.input.border": {
|
|
470
474
|
"cssName": "--input-border",
|
|
471
475
|
"type": "color",
|
|
472
476
|
"mode": "light",
|
|
473
477
|
"value": "hsl(0, 0%, 85.8%)",
|
|
474
|
-
"originalValue": "{component.field.border}"
|
|
478
|
+
"originalValue": "{component.field.border}",
|
|
479
|
+
"description": "Deprecated alias. Use --field-border (component.field.border).",
|
|
480
|
+
"deprecated": true
|
|
475
481
|
},
|
|
476
482
|
"component.input.borderDark": {
|
|
477
483
|
"cssName": "--input-border",
|
|
478
484
|
"type": "color",
|
|
479
485
|
"mode": "dark",
|
|
480
486
|
"value": "hsl(0, 0%, 24.3%)",
|
|
481
|
-
"originalValue": "{component.field.borderDark}"
|
|
487
|
+
"originalValue": "{component.field.borderDark}",
|
|
488
|
+
"description": "Deprecated alias. Use --field-border (component.field.borderDark).",
|
|
489
|
+
"deprecated": true
|
|
482
490
|
},
|
|
483
491
|
"component.input.radius": {
|
|
484
492
|
"cssName": "--input-radius",
|
|
485
493
|
"type": "dimension",
|
|
486
494
|
"mode": "global",
|
|
487
495
|
"value": "6px",
|
|
488
|
-
"originalValue": "{component.field.radius}"
|
|
496
|
+
"originalValue": "{component.field.radius}",
|
|
497
|
+
"description": "Deprecated alias. Use --field-radius (component.field.radius).",
|
|
498
|
+
"deprecated": true
|
|
489
499
|
},
|
|
490
500
|
"component.input.borderHover": {
|
|
491
501
|
"cssName": "--input-border-hover",
|
|
@@ -493,70 +503,89 @@ export const tokens = {
|
|
|
493
503
|
"mode": "light",
|
|
494
504
|
"value": "hsl(0, 0%, 78.0%)",
|
|
495
505
|
"originalValue": "{component.field.borderHover}",
|
|
496
|
-
"description": "
|
|
506
|
+
"description": "Deprecated alias. Use --field-border-hover (component.field.borderHover).",
|
|
507
|
+
"deprecated": true
|
|
497
508
|
},
|
|
498
509
|
"component.input.borderHoverDark": {
|
|
499
510
|
"cssName": "--input-border-hover",
|
|
500
511
|
"type": "color",
|
|
501
512
|
"mode": "dark",
|
|
502
513
|
"value": "hsl(0, 0%, 31.2%)",
|
|
503
|
-
"originalValue": "{component.field.borderHoverDark}"
|
|
514
|
+
"originalValue": "{component.field.borderHoverDark}",
|
|
515
|
+
"description": "Deprecated alias. Use --field-border-hover (component.field.borderHoverDark).",
|
|
516
|
+
"deprecated": true
|
|
504
517
|
},
|
|
505
518
|
"component.input.borderFocus": {
|
|
506
519
|
"cssName": "--input-border-focus",
|
|
507
520
|
"type": "color",
|
|
508
521
|
"mode": "light",
|
|
509
522
|
"value": "hsl(0, 0%, 78.0%)",
|
|
510
|
-
"originalValue": "{component.field.borderFocus}"
|
|
523
|
+
"originalValue": "{component.field.borderFocus}",
|
|
524
|
+
"description": "Deprecated alias. Use --field-border-focus (component.field.borderFocus).",
|
|
525
|
+
"deprecated": true
|
|
511
526
|
},
|
|
512
527
|
"component.input.borderFocusDark": {
|
|
513
528
|
"cssName": "--input-border-focus",
|
|
514
529
|
"type": "color",
|
|
515
530
|
"mode": "dark",
|
|
516
531
|
"value": "hsl(0, 0%, 31.2%)",
|
|
517
|
-
"originalValue": "{component.field.borderFocusDark}"
|
|
532
|
+
"originalValue": "{component.field.borderFocusDark}",
|
|
533
|
+
"description": "Deprecated alias. Use --field-border-focus (component.field.borderFocusDark).",
|
|
534
|
+
"deprecated": true
|
|
518
535
|
},
|
|
519
536
|
"component.input.ring": {
|
|
520
537
|
"cssName": "--input-ring",
|
|
521
538
|
"type": "string",
|
|
522
539
|
"mode": "light",
|
|
523
540
|
"value": "0 0 0 1px hsl(0, 0%, 78.0%)",
|
|
524
|
-
"originalValue": "{component.field.ring}"
|
|
541
|
+
"originalValue": "{component.field.ring}",
|
|
542
|
+
"description": "Deprecated alias. Use --field-ring (component.field.ring).",
|
|
543
|
+
"deprecated": true
|
|
525
544
|
},
|
|
526
545
|
"component.input.ringDark": {
|
|
527
546
|
"cssName": "--input-ring",
|
|
528
547
|
"type": "string",
|
|
529
548
|
"mode": "dark",
|
|
530
549
|
"value": "0 0 0 1px hsl(0, 0%, 31.2%)",
|
|
531
|
-
"originalValue": "{component.field.ringDark}"
|
|
550
|
+
"originalValue": "{component.field.ringDark}",
|
|
551
|
+
"description": "Deprecated alias. Use --field-ring (component.field.ringDark).",
|
|
552
|
+
"deprecated": true
|
|
532
553
|
},
|
|
533
554
|
"component.input.text": {
|
|
534
555
|
"cssName": "--input-text",
|
|
535
556
|
"type": "color",
|
|
536
557
|
"mode": "light",
|
|
537
558
|
"value": "hsl(0, 0%, 9.0%)",
|
|
538
|
-
"originalValue": "{component.field.text}"
|
|
559
|
+
"originalValue": "{component.field.text}",
|
|
560
|
+
"description": "Deprecated alias. Use --field-text (component.field.text).",
|
|
561
|
+
"deprecated": true
|
|
539
562
|
},
|
|
540
563
|
"component.input.textDark": {
|
|
541
564
|
"cssName": "--input-text",
|
|
542
565
|
"type": "color",
|
|
543
566
|
"mode": "dark",
|
|
544
567
|
"value": "hsl(0, 0%, 93.0%)",
|
|
545
|
-
"originalValue": "{component.field.textDark}"
|
|
568
|
+
"originalValue": "{component.field.textDark}",
|
|
569
|
+
"description": "Deprecated alias. Use --field-text (component.field.textDark).",
|
|
570
|
+
"deprecated": true
|
|
546
571
|
},
|
|
547
572
|
"component.input.placeholder": {
|
|
548
573
|
"cssName": "--input-placeholder",
|
|
549
574
|
"type": "color",
|
|
550
575
|
"mode": "light",
|
|
551
576
|
"value": "hsl(0, 0%, 43.5%)",
|
|
552
|
-
"originalValue": "{component.field.placeholder}"
|
|
577
|
+
"originalValue": "{component.field.placeholder}",
|
|
578
|
+
"description": "Deprecated alias. Use --field-placeholder (component.field.placeholder).",
|
|
579
|
+
"deprecated": true
|
|
553
580
|
},
|
|
554
581
|
"component.input.placeholderDark": {
|
|
555
582
|
"cssName": "--input-placeholder",
|
|
556
583
|
"type": "color",
|
|
557
584
|
"mode": "dark",
|
|
558
585
|
"value": "hsl(0, 0%, 62.8%)",
|
|
559
|
-
"originalValue": "{component.field.placeholderDark}"
|
|
586
|
+
"originalValue": "{component.field.placeholderDark}",
|
|
587
|
+
"description": "Deprecated alias. Use --field-placeholder (component.field.placeholderDark).",
|
|
588
|
+
"deprecated": true
|
|
560
589
|
},
|
|
561
590
|
"component.field.background": {
|
|
562
591
|
"cssName": "--field-bg",
|
|
@@ -783,14 +812,18 @@ export const tokens = {
|
|
|
783
812
|
"type": "color",
|
|
784
813
|
"mode": "light",
|
|
785
814
|
"value": "hsl(0, 0%, 43.5%)",
|
|
786
|
-
"originalValue": "{color.neutral.light.textSecondary}"
|
|
815
|
+
"originalValue": "{color.neutral.light.textSecondary}",
|
|
816
|
+
"description": "Deprecated alias. Use --text-secondary (color.neutral.light.textSecondary).",
|
|
817
|
+
"deprecated": true
|
|
787
818
|
},
|
|
788
819
|
"component.alias.foregroundMutedDark": {
|
|
789
820
|
"cssName": "--foreground-muted",
|
|
790
821
|
"type": "color",
|
|
791
822
|
"mode": "dark",
|
|
792
823
|
"value": "hsl(0, 0%, 62.8%)",
|
|
793
|
-
"originalValue": "{color.neutral.dark.textSecondary}"
|
|
824
|
+
"originalValue": "{color.neutral.dark.textSecondary}",
|
|
825
|
+
"description": "Deprecated alias. Use --text-secondary (color.neutral.dark.textSecondary).",
|
|
826
|
+
"deprecated": true
|
|
794
827
|
},
|
|
795
828
|
"component.alias.primary": {
|
|
796
829
|
"cssName": "--primary",
|
|
@@ -2133,7 +2166,7 @@ export const tokens = {
|
|
|
2133
2166
|
"mode": "tv",
|
|
2134
2167
|
"value": "hsl(0, 0%, 62.8%)",
|
|
2135
2168
|
"originalValue": "{context.tv.text.secondary}",
|
|
2136
|
-
"description": "Deprecated
|
|
2169
|
+
"description": "Deprecated alias. Use --text-2 (context.tv.text.secondary).",
|
|
2137
2170
|
"deprecated": true
|
|
2138
2171
|
},
|
|
2139
2172
|
"context.tv.channelArt.production.posterBackground": {
|
|
@@ -3203,9 +3236,18 @@ export const tokens = {
|
|
|
3203
3236
|
"elevation.focus": {
|
|
3204
3237
|
"cssName": "--shadow-focus",
|
|
3205
3238
|
"type": "string",
|
|
3206
|
-
"mode": "
|
|
3207
|
-
"value": "0 0 0
|
|
3208
|
-
"originalValue": "0 0 0
|
|
3239
|
+
"mode": "light",
|
|
3240
|
+
"value": "0 0 0 2px hsl(0, 0%, 99.0%), 0 0 0 4px hsl(0, 0%, 52.3%)",
|
|
3241
|
+
"originalValue": "0 0 0 2px {color.neutral.light.bg}, 0 0 0 4px {color.neutral.light.solidHover}",
|
|
3242
|
+
"description": "Button, link, and nav focus: a 2px page-coloured gap, then a 2px opaque ring at least 3:1 against the page and panels."
|
|
3243
|
+
},
|
|
3244
|
+
"elevation.focusDark": {
|
|
3245
|
+
"cssName": "--shadow-focus",
|
|
3246
|
+
"type": "string",
|
|
3247
|
+
"mode": "dark",
|
|
3248
|
+
"value": "0 0 0 2px hsl(0, 0%, 8.5%), 0 0 0 4px hsl(0, 0%, 49.4%)",
|
|
3249
|
+
"originalValue": "0 0 0 2px {color.neutral.dark.bg}, 0 0 0 4px {color.neutral.dark.solidHover}",
|
|
3250
|
+
"description": "Dark-mode button, link, and nav focus ring."
|
|
3209
3251
|
},
|
|
3210
3252
|
"typography.fontFamily.sans": {
|
|
3211
3253
|
"cssName": "--font-sans",
|
|
@@ -3526,6 +3568,13 @@ export const tokens = {
|
|
|
3526
3568
|
"value": "120ms",
|
|
3527
3569
|
"originalValue": "120ms"
|
|
3528
3570
|
},
|
|
3571
|
+
"motion.duration.reveal": {
|
|
3572
|
+
"cssName": "--dur-reveal",
|
|
3573
|
+
"type": "duration",
|
|
3574
|
+
"mode": "global",
|
|
3575
|
+
"value": "180ms",
|
|
3576
|
+
"originalValue": "180ms"
|
|
3577
|
+
},
|
|
3529
3578
|
"motion.duration.base": {
|
|
3530
3579
|
"cssName": "--dur-base",
|
|
3531
3580
|
"type": "duration",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@putdotio/design",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.8.0",
|
|
4
4
|
"description": "Public put.io design tokens, brand assets, and design-system guidance.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -81,15 +81,15 @@
|
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@axe-core/playwright": "^4.11.3",
|
|
84
|
-
"@phosphor-icons/web": "2.1.
|
|
84
|
+
"@phosphor-icons/web": "2.1.2",
|
|
85
85
|
"@playwright/test": "^1.60.0",
|
|
86
86
|
"@types/node": "^26.0.0",
|
|
87
87
|
"html-validate": "^11.2.0",
|
|
88
|
-
"oxfmt": "0.
|
|
88
|
+
"oxfmt": "0.74.0",
|
|
89
89
|
"sst": "^4.14.3",
|
|
90
90
|
"style-dictionary": "^5.4.1",
|
|
91
91
|
"typescript": "^7.0.2",
|
|
92
92
|
"yaml": "^2.9.0"
|
|
93
93
|
},
|
|
94
|
-
"packageManager": "pnpm@12.
|
|
94
|
+
"packageManager": "pnpm@12.14.0"
|
|
95
95
|
}
|
package/system/README.md
CHANGED
|
@@ -83,7 +83,7 @@ its cards use itself.
|
|
|
83
83
|
|
|
84
84
|
## Core rules
|
|
85
85
|
|
|
86
|
-
- **Yellow** follows [Colors](../DESIGN.md#colors). Guide specifics: `--yellow-solid-hover` is the hover peer with one value in both modes, and button focus-visible rings use `--shadow-focus`
|
|
86
|
+
- **Yellow** follows [Colors](../DESIGN.md#colors). Guide specifics: `--yellow-solid-hover` is the hover peer with one value in both modes, and button focus-visible rings use `--shadow-focus`: a 2px `--bg` gap, then a 2px `--solid-hover` ring, at least 3:1 against the page and panels. `--shadow-focus-color` (the yellow at 35% alpha) stays only as shadcn's `--ring`. Form fields focus with `--field-ring` instead.
|
|
87
87
|
- **Yellow as text on light** uses `--yellow-text-secondary` (≈5:1, AA); `--yellow-solid` is fill-only on light backgrounds.
|
|
88
88
|
- **Labels on yellow** use `--primary-foreground`, a warm dark that passes AA on the yellow fill.
|
|
89
89
|
- **One design, two modes.** Light and dark are the same markup and components with different token values. Toggle `.dark` on `<html>`; one page serves both modes. Components consume semantic tokens (`--bg`, `--text`, `--border`, `--accent`, …) instead of raw `#hex` or `hsl()`.
|
|
@@ -143,10 +143,11 @@ own, so the two name systems cannot drift.
|
|
|
143
143
|
| `--ring` | `--shadow-focus-color` |
|
|
144
144
|
| `--background` / `--foreground` | `--bg` / `--text` |
|
|
145
145
|
|
|
146
|
-
|
|
147
|
-
`-ring`, `-text`, `-placeholder`, `-radius`)
|
|
148
|
-
tokens
|
|
149
|
-
`--
|
|
146
|
+
The `--input-*` set (`-bg`, `-border`, `-border-hover`, `-border-focus`,
|
|
147
|
+
`-ring`, `-text`, `-placeholder`, `-radius`) and `--foreground-muted` are
|
|
148
|
+
[deprecated](../docs/distribution.md#deprecated-tokens): shadcn itself names
|
|
149
|
+
only `--input` and `--muted-foreground`. Each deprecated name aliases its
|
|
150
|
+
replacement; **author against `--field-*` and `--text-secondary`.**
|
|
150
151
|
|
|
151
152
|
On a solid surface, read the foreground tokens (`--primary-foreground`,
|
|
152
153
|
`--destructive-foreground`, `--success-foreground`), which encode the mode-safe
|
|
@@ -171,10 +172,8 @@ directly.
|
|
|
171
172
|
|
|
172
173
|
shadcn marks parts of compound components with `data-slot="card-header"`,
|
|
173
174
|
`data-slot="card-title"`, and so on. put.io does the same on the folder picker
|
|
174
|
-
(`data-slot="modal" / "modal-header" / "modal-body" / "modal-footer"`)
|
|
175
|
-
|
|
176
|
-
(`data-slot="auth" / "auth-header" / "auth-body"`), so external CSS can target
|
|
177
|
-
one part without nested class chains.
|
|
175
|
+
(`data-slot="modal" / "modal-header" / "modal-body" / "modal-footer"`), so
|
|
176
|
+
external CSS can target one part without nested class chains.
|
|
178
177
|
|
|
179
178
|
## Design variants
|
|
180
179
|
|