@reliability-design/web 1.4.8 → 1.4.10

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 (54) hide show
  1. package/CHANGELOG.md +214 -0
  2. package/custom-elements.json +18600 -0
  3. package/dist/components/rel-accordion/README.md +9 -2
  4. package/dist/components/rel-alert/README.md +5 -8
  5. package/dist/components/rel-autocomplete/README.md +209 -208
  6. package/dist/components/rel-avatar/README.md +228 -118
  7. package/dist/components/rel-breadcrumb/README.md +1 -0
  8. package/dist/components/rel-button/README.md +9 -9
  9. package/dist/components/rel-calendar/README.md +111 -109
  10. package/dist/components/rel-cardmedia/README.md +1 -1
  11. package/dist/components/rel-carousel/README.md +187 -186
  12. package/dist/components/rel-checkbox/README.md +159 -146
  13. package/dist/components/rel-chip/README.md +141 -138
  14. package/dist/components/rel-container/README.md +1 -1
  15. package/dist/components/rel-date-picker/README.md +221 -200
  16. package/dist/components/rel-drawer/README.md +4 -4
  17. package/dist/components/rel-kbd/README.md +188 -141
  18. package/dist/components/rel-layout/README.md +34 -34
  19. package/dist/components/rel-menu/README.md +17 -10
  20. package/dist/components/rel-menubar/README.md +218 -218
  21. package/dist/components/rel-otp/README.md +4 -8
  22. package/dist/components/rel-pagination/README.md +141 -100
  23. package/dist/components/rel-popover/README.md +220 -203
  24. package/dist/components/rel-radio/README.md +142 -131
  25. package/dist/components/rel-range-picker/README.md +194 -165
  26. package/dist/components/rel-resizable/README.md +220 -199
  27. package/dist/components/rel-segmented-button/README.md +158 -156
  28. package/dist/components/rel-select/README.md +22 -16
  29. package/dist/components/rel-sheet/README.md +3 -2
  30. package/dist/components/rel-signature-pad/README.md +161 -0
  31. package/dist/components/rel-slider/README.md +140 -131
  32. package/dist/components/rel-snackbar/README.md +170 -168
  33. package/dist/components/rel-split-button/README.md +129 -0
  34. package/dist/components/rel-stepper/README.md +171 -162
  35. package/dist/components/rel-switch/README.md +122 -117
  36. package/dist/components/rel-tab/README.md +184 -173
  37. package/dist/components/rel-textfield/README.md +23 -30
  38. package/dist/components/rel-time-picker/README.md +188 -164
  39. package/dist/components/rel-toast/README.md +20 -11
  40. package/dist/components/rel-tooltip/README.md +5 -4
  41. package/dist/components/rel-tree/README.md +157 -0
  42. package/dist/components/rel-upload/README.md +8 -5
  43. package/dist/index.d.mts +1698 -607
  44. package/dist/index.d.ts +1698 -607
  45. package/dist/index.js +12276 -6347
  46. package/dist/index.js.map +1 -1
  47. package/dist/index.mjs +12218 -6296
  48. package/dist/index.mjs.map +1 -1
  49. package/dist/styles/motion.css +31 -0
  50. package/dist/styles/motion.tokens.json +38 -0
  51. package/dist/styles/vars.css +88 -64
  52. package/dist/{vars-DXX6QOAG.css → vars-E22LYFMV.css} +88 -64
  53. package/package.json +60 -37
  54. package/dist/styles/focus-ring.ts +0 -84
@@ -8,9 +8,9 @@
8
8
  --rel-colors-gray-50: #F7F7F7;
9
9
  --rel-colors-gray-100: #E5E5E5;
10
10
  --rel-colors-gray-200: #C2C2C2;
11
- --rel-colors-gray-300: #A3A3A3;
12
- --rel-colors-gray-400: #7D7D7D;
13
- --rel-colors-gray-500: #525252;
11
+ --rel-colors-gray-300: #989898;
12
+ --rel-colors-gray-400: #707070;
13
+ --rel-colors-gray-500: #575757;
14
14
  --rel-colors-gray-600: #404040;
15
15
  --rel-colors-gray-700: #2B2B2B;
16
16
  --rel-colors-gray-800: #1B1B1B;
@@ -22,7 +22,7 @@
22
22
  --rel-colors-green-50: #EDF8F4;
23
23
  --rel-colors-green-100: #D5F1E7;
24
24
  --rel-colors-green-200: #91D9BF;
25
- --rel-colors-green-300: #30B887;
25
+ --rel-colors-green-300: #60C9A3;
26
26
  --rel-colors-green-400: #30B887;
27
27
  --rel-colors-green-500: #00A86B;
28
28
  --rel-colors-green-600: #008655;
@@ -378,8 +378,6 @@
378
378
  --rel-shadows-lg: 0 8px 16px rgba(11,11,11,0.10);
379
379
  --rel-shadows-xl: 0 0 1px rgba(11,11,11,0.30), 0 16px 24px rgba(11,11,11,0.10);
380
380
  --rel-shadows-2xl: 0 0 1px rgba(11,11,11,0.30), 0 24px 40px rgba(11,11,11,0.10);
381
- /* --- shadow colour (ADDED: no Figma variable; drop-shadow() needs a bare color) --- */
382
- --rel-shadow-color: rgba(11,11,11,0.10);
383
381
  /* --- overlay (DEPRECATED alias — bind --rel-bg-overlay-scrim) --- */
384
382
  --rel-overlay-scrim: var(--rel-bg-overlay-scrim);
385
383
 
@@ -401,16 +399,16 @@
401
399
  --rel-bg-neutral-inverse-2: var(--rel-colors-gray-950);
402
400
  --rel-bg-brand: var(--rel-colors-brand-500);
403
401
  --rel-bg-danger-light: var(--rel-colors-red-50);
404
- --rel-bg-danger: var(--rel-colors-red-500);
402
+ --rel-bg-danger: var(--rel-colors-red-600);
405
403
  --rel-bg-danger-strong: var(--rel-colors-red-800);
406
404
  --rel-bg-warning-light: var(--rel-colors-yellow-100);
407
405
  --rel-bg-warning: var(--rel-colors-yellow-400);
408
406
  --rel-bg-warning-strong: var(--rel-colors-yellow-800);
409
407
  --rel-bg-info-light: var(--rel-colors-blue-50);
410
- --rel-bg-info: var(--rel-colors-blue-500);
408
+ --rel-bg-info: var(--rel-colors-blue-700);
411
409
  --rel-bg-info-strong: var(--rel-colors-blue-800);
412
410
  --rel-bg-success-light: var(--rel-colors-green-50);
413
- --rel-bg-success: var(--rel-colors-green-500);
411
+ --rel-bg-success: var(--rel-colors-green-600);
414
412
  --rel-bg-success-strong: var(--rel-colors-green-800);
415
413
  --rel-bg-overlay-scrim: var(--rel-colors-dark-alpha-8);
416
414
 
@@ -421,18 +419,18 @@
421
419
  --rel-text-label: var(--rel-colors-gray-700);
422
420
  --rel-text-body: var(--rel-colors-gray-600);
423
421
  --rel-text-caption: var(--rel-colors-gray-500);
424
- --rel-text-placeholder: var(--rel-colors-gray-300);
422
+ --rel-text-placeholder: var(--rel-colors-gray-400);
425
423
  --rel-text-disabled: var(--rel-colors-gray-200);
426
424
  --rel-text-inverse: var(--rel-colors-gray-0);
427
- --rel-text-danger: var(--rel-colors-red-600);
425
+ --rel-text-danger: var(--rel-colors-red-700);
428
426
  --rel-text-warning: var(--rel-colors-yellow-800);
429
- --rel-text-info: var(--rel-colors-blue-500);
430
- --rel-text-success: var(--rel-colors-green-600);
427
+ --rel-text-info: var(--rel-colors-blue-700);
428
+ --rel-text-success: var(--rel-colors-green-700);
431
429
 
432
430
  /* --- border --- */
433
- --rel-border-default: var(--rel-colors-gray-100);
434
- --rel-border-subtle: var(--rel-colors-gray-50);
435
- --rel-border-accent: var(--rel-colors-gray-200);
431
+ --rel-border-default: var(--rel-colors-gray-400);
432
+ --rel-border-subtle: var(--rel-colors-gray-100);
433
+ --rel-border-accent: var(--rel-colors-gray-500);
436
434
  --rel-border-strong: var(--rel-colors-gray-950);
437
435
  --rel-border-inverse: var(--rel-colors-gray-0);
438
436
  --rel-border-brand: var(--rel-colors-brand-500);
@@ -440,7 +438,7 @@
440
438
  --rel-border-success: var(--rel-colors-green-500);
441
439
  --rel-border-success-strong: var(--rel-colors-green-800);
442
440
  --rel-border-danger-subtle: var(--rel-colors-red-100);
443
- --rel-border-danger: var(--rel-colors-red-500);
441
+ --rel-border-danger: var(--rel-colors-red-600);
444
442
  --rel-border-danger-strong: var(--rel-colors-red-800);
445
443
  --rel-border-warning-subtle: var(--rel-colors-yellow-100);
446
444
  --rel-border-warning: var(--rel-colors-yellow-500);
@@ -449,6 +447,7 @@
449
447
  --rel-border-focus-static: var(--rel-colors-gray-100);
450
448
  --rel-border-focus-subtle: var(--rel-colors-gray-100);
451
449
  --rel-border-focus-inner: var(--rel-colors-gray-0);
450
+ --rel-border-info: var(--rel-colors-blue-500);
452
451
 
453
452
  /* --- action --- */
454
453
  --rel-action-overlay-hover: var(--rel-colors-dark-alpha-1);
@@ -458,8 +457,8 @@
458
457
  --rel-action-overlay-hover-inverse: var(--rel-colors-light-alpha-4);
459
458
  --rel-action-neutral-static-hover: var(--rel-colors-light-alpha-1);
460
459
  --rel-action-neutral-fill: var(--rel-colors-gray-950);
461
- --rel-action-neutral-fill-hover: var(--rel-colors-gray-700);
462
- --rel-action-neutral-fill-dragged: var(--rel-colors-gray-600);
460
+ --rel-action-neutral-fill-hover: var(--rel-colors-gray-600);
461
+ --rel-action-neutral-fill-dragged: var(--rel-colors-gray-700);
463
462
  --rel-action-neutral-subtle: var(--rel-colors-gray-50);
464
463
  --rel-action-neutral-subtle-hover: var(--rel-colors-gray-50);
465
464
  --rel-action-neutral-subtle-dragged: var(--rel-colors-gray-100);
@@ -472,35 +471,35 @@
472
471
  --rel-action-neutral-label-icons-link-hover: var(--rel-colors-gray-600);
473
472
  --rel-action-neutral-border-subtle-hover: var(--rel-colors-gray-100);
474
473
  --rel-action-neutral-border-subtle-dragged: var(--rel-colors-gray-200);
475
- --rel-action-neutral-border-outline: var(--rel-colors-gray-300);
474
+ --rel-action-neutral-border-outline: var(--rel-colors-gray-400);
476
475
  --rel-action-neutral-border-outline-hover: var(--rel-colors-gray-950);
477
476
  --rel-action-brand-fill: var(--rel-colors-brand-500);
478
477
  --rel-action-brand-fill-hover: var(--rel-colors-brand-600);
479
478
  --rel-action-brand-fill-disabled: var(--rel-colors-gray-200);
480
479
  --rel-action-brand-label-icons-primary: var(--rel-colors-gray-950);
481
- --rel-action-danger-fill: var(--rel-colors-red-500);
482
- --rel-action-danger-fill-hover: var(--rel-colors-red-600);
483
- --rel-action-danger-fill-dragged: var(--rel-colors-red-400);
480
+ --rel-action-danger-fill: var(--rel-colors-red-600);
481
+ --rel-action-danger-fill-hover: var(--rel-colors-red-700);
482
+ --rel-action-danger-fill-dragged: var(--rel-colors-red-800);
484
483
  --rel-action-danger-subtle: var(--rel-colors-red-50);
485
484
  --rel-action-danger-subtle-hover: var(--rel-colors-red-50);
486
485
  --rel-action-danger-subtle-dragged: var(--rel-colors-red-100);
487
486
  --rel-action-danger-outline-hover: var(--rel-colors-red-50);
488
487
  --rel-action-danger-ghost-hover: var(--rel-colors-red-50);
489
488
  --rel-action-danger-label-icons-fill: var(--rel-colors-gray-0);
490
- --rel-action-danger-label-icons-subtle: var(--rel-colors-red-600);
491
- --rel-action-danger-label-icons-subtle-hover: var(--rel-colors-red-600);
492
- --rel-action-danger-label-icons-subtle-dragged: var(--rel-colors-red-700);
493
- --rel-action-danger-label-icons-outline: var(--rel-colors-red-600);
494
- --rel-action-danger-label-icons-ghost: var(--rel-colors-red-600);
495
- --rel-action-danger-label-icons-link: var(--rel-colors-red-600);
496
- --rel-action-danger-label-icons-link-hover: var(--rel-colors-red-600);
489
+ --rel-action-danger-label-icons-subtle: var(--rel-colors-red-700);
490
+ --rel-action-danger-label-icons-subtle-hover: var(--rel-colors-red-700);
491
+ --rel-action-danger-label-icons-subtle-dragged: var(--rel-colors-red-800);
492
+ --rel-action-danger-label-icons-outline: var(--rel-colors-red-700);
493
+ --rel-action-danger-label-icons-ghost: var(--rel-colors-red-700);
494
+ --rel-action-danger-label-icons-link: var(--rel-colors-red-700);
495
+ --rel-action-danger-label-icons-link-hover: var(--rel-colors-red-800);
497
496
  --rel-action-danger-border-subtle-hover: var(--rel-colors-red-100);
498
497
  --rel-action-danger-border-subtle-dragged: var(--rel-colors-red-200);
499
498
  --rel-action-danger-border-outline: var(--rel-colors-red-100);
500
499
  --rel-action-danger-border-outline-hover: var(--rel-colors-red-600);
501
500
  --rel-action-warning-fill: var(--rel-colors-yellow-400);
502
- --rel-action-warning-fill-hover: var(--rel-colors-yellow-500);
503
- --rel-action-warning-fill-dragged: var(--rel-colors-yellow-300);
501
+ --rel-action-warning-fill-hover: var(--rel-colors-yellow-300);
502
+ --rel-action-warning-fill-dragged: var(--rel-colors-yellow-500);
504
503
  --rel-action-warning-subtle: var(--rel-colors-yellow-100);
505
504
  --rel-action-warning-subtle-hover: var(--rel-colors-yellow-100);
506
505
  --rel-action-warning-subtle-dragged: var(--rel-colors-yellow-200);
@@ -510,23 +509,23 @@
510
509
  --rel-action-warning-label-icons-subtle-dragged: var(--rel-colors-yellow-900);
511
510
  --rel-action-warning-border-subtle-hover: var(--rel-colors-yellow-300);
512
511
  --rel-action-warning-border-subtle-dragged: var(--rel-colors-yellow-300);
513
- --rel-action-success-fill: var(--rel-colors-green-500);
514
- --rel-action-success-fill-hover: var(--rel-colors-green-600);
515
- --rel-action-success-fill-dragged: var(--rel-colors-green-400);
512
+ --rel-action-success-fill: var(--rel-colors-green-600);
513
+ --rel-action-success-fill-hover: var(--rel-colors-green-700);
514
+ --rel-action-success-fill-dragged: var(--rel-colors-green-800);
516
515
  --rel-action-success-subtle: var(--rel-colors-green-50);
517
516
  --rel-action-success-subtle-hover: var(--rel-colors-green-50);
518
517
  --rel-action-success-subtle-dragged: var(--rel-colors-green-100);
519
518
  --rel-action-success-outline-hover: var(--rel-colors-green-300);
520
519
  --rel-action-success-ghost-hover: var(--rel-colors-green-50);
521
520
  --rel-action-success-label-icons-fill: var(--rel-colors-gray-0);
522
- --rel-action-success-label-icons-subtle: var(--rel-colors-green-600);
523
- --rel-action-success-label-icons-subtle-hover: var(--rel-colors-green-600);
524
- --rel-action-success-label-icons-subtle-dragged: var(--rel-colors-green-700);
521
+ --rel-action-success-label-icons-subtle: var(--rel-colors-green-700);
522
+ --rel-action-success-label-icons-subtle-hover: var(--rel-colors-green-700);
523
+ --rel-action-success-label-icons-subtle-dragged: var(--rel-colors-green-800);
525
524
  --rel-action-success-border-subtle-hover: var(--rel-colors-green-200);
526
525
  --rel-action-success-border-subtle-dragged: var(--rel-colors-green-200);
527
- --rel-action-info-fill: var(--rel-colors-blue-500);
528
- --rel-action-info-fill-hover: var(--rel-colors-blue-600);
529
- --rel-action-info-fill-dragged: var(--rel-colors-blue-400);
526
+ --rel-action-info-fill: var(--rel-colors-blue-700);
527
+ --rel-action-info-fill-hover: var(--rel-colors-blue-800);
528
+ --rel-action-info-fill-dragged: var(--rel-colors-blue-900);
530
529
  --rel-action-info-subtle: var(--rel-colors-blue-50);
531
530
  --rel-action-info-subtle-hover: var(--rel-colors-blue-50);
532
531
  --rel-action-info-subtle-dragged: var(--rel-colors-blue-100);
@@ -537,8 +536,8 @@
537
536
  --rel-action-info-border-subtle-hover: var(--rel-colors-blue-200);
538
537
  --rel-action-info-border-subtle-dragged: var(--rel-colors-blue-300);
539
538
 
540
- /* --- additions --- */
541
- --rel-border-info: var(--rel-colors-blue-500); /* ADDED: no V2 borders/info — aligned to info fill */
539
+ /* --- shadow --- */
540
+ --rel-shadow-color: var(--rel-colors-dark-alpha-3);
542
541
  }
543
542
 
544
543
  :root[data-theme="dark"], .dark {
@@ -555,12 +554,12 @@
555
554
  --rel-bg-page: var(--rel-colors-gray-900);
556
555
  --rel-bg-page-inverse: var(--rel-colors-gray-0);
557
556
  --rel-bg-surface: var(--rel-colors-gray-800);
558
- --rel-bg-surface-elevated: var(--rel-colors-gray-900);
557
+ --rel-bg-surface-elevated: var(--rel-colors-gray-700);
559
558
  --rel-bg-surface-inverse: var(--rel-colors-gray-0);
560
559
  --rel-bg-neutral: var(--rel-colors-gray-800);
561
560
  --rel-bg-neutral-elevated-1: var(--rel-colors-gray-700);
562
561
  --rel-bg-neutral-elevated-2: var(--rel-colors-gray-600);
563
- --rel-bg-neutral-elevated-3: var(--rel-colors-gray-400);
562
+ --rel-bg-neutral-elevated-3: var(--rel-colors-gray-500);
564
563
  --rel-bg-neutral-inverse-1: var(--rel-colors-gray-100);
565
564
  --rel-bg-neutral-inverse-2: var(--rel-colors-gray-0);
566
565
  --rel-bg-danger-light: var(--rel-colors-red-900);
@@ -568,25 +567,23 @@
568
567
  --rel-bg-warning-light: var(--rel-colors-yellow-900);
569
568
  --rel-bg-warning-strong: var(--rel-colors-yellow-100);
570
569
  --rel-bg-info-light: var(--rel-colors-blue-900);
571
- --rel-bg-info: var(--rel-colors-blue-400);
572
570
  --rel-bg-info-strong: var(--rel-colors-blue-100);
573
571
  --rel-bg-success-light: var(--rel-colors-green-900);
574
572
  --rel-bg-success-strong: var(--rel-colors-green-100);
575
573
  --rel-bg-overlay-scrim: var(--rel-colors-dark-alpha-10);
576
574
  --rel-text-default: var(--rel-colors-gray-0);
577
- --rel-text-label: var(--rel-colors-gray-200);
578
- --rel-text-body: var(--rel-colors-gray-200);
579
- --rel-text-caption: var(--rel-colors-gray-300);
580
- --rel-text-placeholder: var(--rel-colors-gray-400);
575
+ --rel-text-label: var(--rel-colors-gray-50);
576
+ --rel-text-body: var(--rel-colors-gray-100);
577
+ --rel-text-caption: var(--rel-colors-gray-200);
578
+ --rel-text-placeholder: var(--rel-colors-gray-300);
581
579
  --rel-text-disabled: var(--rel-colors-gray-500);
582
580
  --rel-text-inverse: var(--rel-colors-gray-950);
583
581
  --rel-text-danger: var(--rel-colors-red-300);
584
582
  --rel-text-warning: var(--rel-colors-yellow-400);
585
583
  --rel-text-info: var(--rel-colors-blue-400);
586
584
  --rel-text-success: var(--rel-colors-green-300);
587
- --rel-border-default: var(--rel-colors-gray-700);
588
- --rel-border-subtle: var(--rel-colors-gray-800);
589
- --rel-border-accent: var(--rel-colors-gray-500);
585
+ --rel-border-subtle: var(--rel-colors-gray-700);
586
+ --rel-border-accent: var(--rel-colors-gray-300);
590
587
  --rel-border-strong: var(--rel-colors-gray-0);
591
588
  --rel-border-inverse: var(--rel-colors-gray-950);
592
589
  --rel-border-success-subtle: var(--rel-colors-green-800);
@@ -601,6 +598,7 @@
601
598
  --rel-border-focus: var(--rel-colors-gray-0);
602
599
  --rel-border-focus-subtle: var(--rel-colors-gray-700);
603
600
  --rel-border-focus-inner: var(--rel-colors-gray-900);
601
+ --rel-border-info: var(--rel-colors-blue-400);
604
602
  --rel-action-overlay-hover: var(--rel-colors-light-alpha-1);
605
603
  --rel-action-overlay-hover-strong: var(--rel-colors-light-alpha-2);
606
604
  --rel-action-overlay-pressed: var(--rel-colors-light-alpha-3);
@@ -618,10 +616,9 @@
618
616
  --rel-action-neutral-label-icons-outline: var(--rel-colors-gray-0);
619
617
  --rel-action-neutral-label-icons-ghost: var(--rel-colors-gray-0);
620
618
  --rel-action-neutral-label-icons-link: var(--rel-colors-gray-0);
621
- --rel-action-neutral-label-icons-link-hover: var(--rel-colors-gray-0);
619
+ --rel-action-neutral-label-icons-link-hover: var(--rel-colors-gray-200);
622
620
  --rel-action-neutral-border-subtle-hover: var(--rel-colors-gray-600);
623
621
  --rel-action-neutral-border-subtle-dragged: var(--rel-colors-gray-500);
624
- --rel-action-neutral-border-outline: var(--rel-colors-gray-400);
625
622
  --rel-action-neutral-border-outline-hover: var(--rel-colors-gray-0);
626
623
  --rel-action-brand-fill-disabled: var(--rel-colors-gray-600);
627
624
  --rel-action-danger-subtle: var(--rel-colors-red-900);
@@ -641,7 +638,8 @@
641
638
  --rel-action-danger-border-outline: var(--rel-colors-red-700);
642
639
  --rel-action-danger-border-outline-hover: var(--rel-colors-red-400);
643
640
  --rel-action-warning-fill: var(--rel-colors-yellow-500);
644
- --rel-action-warning-fill-dragged: var(--rel-colors-yellow-400);
641
+ --rel-action-warning-fill-hover: var(--rel-colors-yellow-400);
642
+ --rel-action-warning-fill-dragged: var(--rel-colors-yellow-600);
645
643
  --rel-action-warning-subtle: var(--rel-colors-yellow-900);
646
644
  --rel-action-warning-subtle-hover: var(--rel-colors-yellow-900);
647
645
  --rel-action-warning-subtle-dragged: var(--rel-colors-yellow-800);
@@ -650,9 +648,6 @@
650
648
  --rel-action-warning-label-icons-subtle-dragged: var(--rel-colors-yellow-50);
651
649
  --rel-action-warning-border-subtle-hover: var(--rel-colors-yellow-800);
652
650
  --rel-action-warning-border-subtle-dragged: var(--rel-colors-yellow-700);
653
- --rel-action-success-fill: var(--rel-colors-green-600);
654
- --rel-action-success-fill-hover: var(--rel-colors-green-700);
655
- --rel-action-success-fill-dragged: var(--rel-colors-green-500);
656
651
  --rel-action-success-subtle: var(--rel-colors-green-900);
657
652
  --rel-action-success-subtle-hover: var(--rel-colors-green-900);
658
653
  --rel-action-success-subtle-dragged: var(--rel-colors-green-800);
@@ -663,9 +658,6 @@
663
658
  --rel-action-success-label-icons-subtle-dragged: var(--rel-colors-green-50);
664
659
  --rel-action-success-border-subtle-hover: var(--rel-colors-green-800);
665
660
  --rel-action-success-border-subtle-dragged: var(--rel-colors-green-700);
666
- --rel-action-info-fill: var(--rel-colors-blue-600);
667
- --rel-action-info-fill-hover: var(--rel-colors-blue-700);
668
- --rel-action-info-fill-dragged: var(--rel-colors-blue-500);
669
661
  --rel-action-info-subtle: var(--rel-colors-blue-900);
670
662
  --rel-action-info-subtle-hover: var(--rel-colors-blue-900);
671
663
  --rel-action-info-subtle-dragged: var(--rel-colors-blue-800);
@@ -674,8 +666,6 @@
674
666
  --rel-action-info-label-icons-subtle-dragged: var(--rel-colors-blue-50);
675
667
  --rel-action-info-border-subtle-hover: var(--rel-colors-blue-800);
676
668
  --rel-action-info-border-subtle-dragged: var(--rel-colors-blue-700);
677
-
678
- --rel-border-info: var(--rel-colors-blue-400); /* ADDED */
679
669
  }
680
670
 
681
671
  /* ==================== V1 COMPAT — DEPRECATED ALIAS BLOCK ====================
@@ -890,3 +880,37 @@
890
880
  --rel-color-text-link: #66B3FF;
891
881
  --rel-color-text-link-hover: #99CCFF;
892
882
  }
883
+
884
+ /* MOTION FOUNDATION START */
885
+ /* AUTO-GENERATED from motion.tokens.json by packages/web/scripts/build-motion.mjs — do not edit. */
886
+ /* Motion v1 (new in 1.5.0): opt-in tokens; no component timing reads them yet. */
887
+ :root {
888
+ --rel-motion-duration-instant: 0ms;
889
+ --rel-motion-duration-fast: 100ms;
890
+ --rel-motion-duration-standard: 150ms;
891
+ --rel-motion-duration-moderate: 200ms;
892
+ --rel-motion-duration-slow: 250ms;
893
+ --rel-motion-duration-extended: 300ms;
894
+ --rel-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
895
+ --rel-motion-easing-enter: cubic-bezier(0, 0, 0, 1);
896
+ --rel-motion-easing-exit: cubic-bezier(0.3, 0, 1, 1);
897
+ --rel-motion-easing-linear: cubic-bezier(0, 0, 1, 1);
898
+ --rel-motion-feedback-duration: var(--rel-motion-duration-standard);
899
+ --rel-motion-feedback-easing: var(--rel-motion-easing-standard);
900
+ --rel-motion-disclosure-duration: var(--rel-motion-duration-slow);
901
+ --rel-motion-disclosure-easing: var(--rel-motion-easing-standard);
902
+ --rel-motion-overlay-enter-duration: var(--rel-motion-duration-moderate);
903
+ --rel-motion-overlay-enter-easing: var(--rel-motion-easing-enter);
904
+ --rel-motion-overlay-exit-duration: var(--rel-motion-duration-standard);
905
+ --rel-motion-overlay-exit-easing: var(--rel-motion-easing-exit);
906
+ --rel-motion-loading-cycle: 1500ms;
907
+ }
908
+ @media (prefers-reduced-motion: reduce) {
909
+ :root {
910
+ --rel-motion-feedback-duration: 0ms;
911
+ --rel-motion-disclosure-duration: 0ms;
912
+ --rel-motion-overlay-enter-duration: 0ms;
913
+ --rel-motion-overlay-exit-duration: 0ms;
914
+ }
915
+ }
916
+ /* MOTION FOUNDATION END */
package/package.json CHANGED
@@ -1,37 +1,60 @@
1
- {
2
- "name": "@reliability-design/web",
3
- "version": "1.4.8",
4
- "main": "dist/index.js",
5
- "module": "dist/index.mjs",
6
- "types": "dist/index.d.ts",
7
- "sideEffects": true,
8
- "scripts": {
9
- "build": "tsup",
10
- "test": "tsx --test src/components/rel-date-picker/date-format.test.ts src/components/rel-date-picker/date-parse.test.ts src/components/rel-time-picker/time-parse.test.ts"
11
- },
12
- "exports": {
13
- ".": {
14
- "import": "./dist/index.mjs",
15
- "require": "./dist/index.js",
16
- "types": "./dist/index.d.ts"
17
- },
18
- "./vars.css": "./dist/styles/vars.css"
19
- },
20
- "files": [
21
- "dist",
22
- "README.md",
23
- "CHANGELOG.md"
24
- ],
25
- "publishConfig": {
26
- "access": "public"
27
- },
28
- "dependencies": {
29
- "@reliability-design/icons": "*",
30
- "lit": "^3.1.0"
31
- },
32
- "devDependencies": {
33
- "fs-extra": "^11.0.0",
34
- "tiny-glob": "^0.2.9",
35
- "tsup": "^8.0.0"
36
- }
37
- }
1
+ {
2
+ "name": "@reliability-design/web",
3
+ "version": "1.4.10",
4
+ "main": "dist/index.js",
5
+ "module": "dist/index.mjs",
6
+ "types": "dist/index.d.ts",
7
+ "sideEffects": true,
8
+ "scripts": {
9
+ "prebuild": "node scripts/assert-dist.mjs icons && node scripts/build-motion.mjs",
10
+ "build": "tsup",
11
+ "postbuild": "node scripts/assert-dist.mjs web",
12
+ "prepublishOnly": "npm run build",
13
+ "motion:build": "node scripts/build-motion.mjs --write",
14
+ "readme:generate": "node scripts/readme/readme-generate.mjs --all",
15
+ "readme:check": "node scripts/readme/readme-generate.mjs --all --check",
16
+ "readme:audit": "node scripts/readme/readme-audit.mjs --check",
17
+ "test": "tsx --test scripts/build-motion.test.mjs src/core/rel-element.test.ts src/components/rel-date-picker/date-format.test.ts src/components/rel-date-picker/date-parse.test.ts src/components/rel-time-picker/time-parse.test.ts",
18
+ "cem:generate": "node scripts/cem/cem.mjs",
19
+ "cem:check": "node scripts/cem/cem.mjs --check",
20
+ "cem:angular": "node scripts/cem/cem-angular-check.mjs",
21
+ "cem:live": "node scripts/cem/cem-validate-live.mjs",
22
+ "cem:docs": "node scripts/cem/cem-docs-props.mjs"
23
+ },
24
+ "exports": {
25
+ ".": {
26
+ "import": {
27
+ "types": "./dist/index.d.mts",
28
+ "default": "./dist/index.mjs"
29
+ },
30
+ "require": {
31
+ "types": "./dist/index.d.ts",
32
+ "default": "./dist/index.js"
33
+ }
34
+ },
35
+ "./vars.css": "./dist/styles/vars.css",
36
+ "./motion.css": "./dist/styles/motion.css",
37
+ "./motion.tokens.json": "./dist/styles/motion.tokens.json",
38
+ "./custom-elements.json": "./custom-elements.json"
39
+ },
40
+ "files": [
41
+ "dist",
42
+ "custom-elements.json",
43
+ "README.md",
44
+ "CHANGELOG.md"
45
+ ],
46
+ "publishConfig": {
47
+ "access": "public"
48
+ },
49
+ "dependencies": {
50
+ "@reliability-design/icons": "*",
51
+ "lit": "^3.1.0"
52
+ },
53
+ "devDependencies": {
54
+ "@custom-elements-manifest/analyzer": "0.11.0",
55
+ "fs-extra": "^11.0.0",
56
+ "tiny-glob": "^0.2.9",
57
+ "tsup": "^8.0.0"
58
+ },
59
+ "customElements": "custom-elements.json"
60
+ }
@@ -1,84 +0,0 @@
1
- import { css } from "lit";
2
-
3
- /**
4
- * The composed focus ring (S1).
5
- *
6
- * Figma draws focus as up to two concentric strokes, and several components
7
- * also draw a hover / dragged stroke on the same edge. Implementing those as
8
- * per-component `outline` + `box-shadow` pairs does not work: `box-shadow` is
9
- * a single property, so a `:hover` rule that sets it wipes the focus ring a
10
- * `:focus-visible` rule set, and specificity decides the winner rather than
11
- * intent. rel-chip hit exactly this (its subtle tones set `border-color` on
12
- * hover, and moving that to an inset shadow clobbered the inner focus ring).
13
- *
14
- * So the layers are composed ONCE here, and every state rule contributes by
15
- * setting a custom property instead of re-declaring `box-shadow`. Widths
16
- * default to `0px`, so a layer costs nothing until a state turns it on, and
17
- * hover / dragged / focus can all be active at the same time.
18
- *
19
- * --_rel-ring-w / -c outer ring (Figma strokeAlign=OUTSIDE)
20
- * --_rel-ring-inner-w / -c inner ring (Figma strokeAlign=INSIDE)
21
- * --_rel-ring-stroke-w / -c hover / dragged stroke, also INSIDE
22
- * --_rel-ring-elevation the element's own box-shadow, if it has one
23
- *
24
- * ## Why the outer ring is an `outline` and not another shadow layer
25
- *
26
- * `box-shadow` is not painted in forced-colors mode (Windows High Contrast),
27
- * but `outline` is, and the UA forces it to the user's highlight colour. A
28
- * ring built entirely from shadows therefore disappears for exactly the users
29
- * who most depend on it — a WCAG 2.4.11 failure. Keeping the OUTER ring on
30
- * `outline` means focus stays visible there even though the inner ring and the
31
- * hover stroke (both decorative refinements) drop out. `outline` also never
32
- * affects layout, and at `outline-offset: 0` it sits flush against the border
33
- * box, which is precisely what strokeAlign=OUTSIDE means.
34
- *
35
- * ## Usage
36
- *
37
- * static styles = [focusRing, css`…`];
38
- *
39
- * Put `class="rel-ring"` on the element that carries the ring, then drive it
40
- * from state rules:
41
- *
42
- * .chip:has(.chip-action:focus-visible) { --_rel-ring-w: 1.5px; --_rel-ring-inner-w: 1px; }
43
- * .chip:hover { --_rel-ring-stroke-w: 1px; --_rel-ring-stroke-c: …; }
44
- *
45
- * Recipe A (button, chip, checkbox, radio, switch): outer `--rel-border-focus`
46
- * at 1.5px, plus `--rel-border-focus-inner` INSIDE on filled styles only —
47
- * 2px on button, 1px on chip and switch.
48
- *
49
- * Recipe B (textfield, select, otp, picker triggers): keep the resting 1px
50
- * hairline and draw `--rel-border-strong` 2px outside it. Recipe B needs only
51
- * the outer ring here; the hairline stays the element's own `border`.
52
- *
53
- * An element that already has a shadow (elevation) must hand it over as
54
- * `--_rel-ring-elevation` instead of declaring `box-shadow` itself, or the
55
- * composed declaration below will replace it.
56
- */
57
- export const focusRing = css`
58
- :host {
59
- --_rel-ring-w: 0px;
60
- --_rel-ring-c: var(--rel-border-focus);
61
- --_rel-ring-inner-w: 0px;
62
- --_rel-ring-inner-c: var(--rel-border-focus-inner);
63
- --_rel-ring-stroke-w: 0px;
64
- --_rel-ring-stroke-c: transparent;
65
- --_rel-ring-elevation: 0 0 #0000;
66
- }
67
-
68
- .rel-ring {
69
- outline: var(--_rel-ring-w) solid var(--_rel-ring-c);
70
- outline-offset: 0;
71
- box-shadow:
72
- inset 0 0 0 var(--_rel-ring-stroke-w) var(--_rel-ring-stroke-c),
73
- inset 0 0 0 var(--_rel-ring-inner-w) var(--_rel-ring-inner-c),
74
- var(--_rel-ring-elevation);
75
- }
76
-
77
- /* Both inset layers are dropped here by the UA; the outer ring carries the
78
- whole indication, so force it to the system highlight colour. */
79
- @media (forced-colors: active) {
80
- .rel-ring {
81
- outline-color: Highlight;
82
- }
83
- }
84
- `;