origam 2.18.5 → 2.18.7

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.
@@ -253,7 +253,7 @@
253
253
  --origam-btn---width: auto;
254
254
  --origam-btn---min-width: 64px;
255
255
  --origam-btn---max-width: 100%;
256
- --origam-btn---height: 36px;
256
+ --origam-btn---height: var(--origam-btn---height-md, 36px);
257
257
  --origam-btn---max-height: 100%;
258
258
  --origam-btn---height-xs: 20px;
259
259
  --origam-btn---height-sm: 28px;
@@ -780,7 +780,7 @@
780
780
  --origam-toolbar---border-end-end-radius: var(--origam-radius---none);
781
781
  --origam-toolbar---max-width: 100%;
782
782
  --origam-toolbar---width: 100%;
783
- --origam-toolbar---height: var(--origam-space---14);
783
+ --origam-toolbar---height: var(--origam-toolbar---height-default, var(--origam-space---14));
784
784
  --origam-toolbar---height-compact: var(--origam-space---10);
785
785
  --origam-toolbar---height-default: var(--origam-space---14);
786
786
  --origam-toolbar---height-prominent: var(--origam-space---20);
@@ -2064,7 +2064,7 @@
2064
2064
  --origam-picker---z-index: var(--origam-zIndex---dropdown);
2065
2065
  --origam-picker---transition-duration: var(--origam-motion__duration---medium);
2066
2066
  --origam-picker---transition-timing-function: var(--origam-motion__easing---standard);
2067
- --origam-picker-title---color: var(--origam-color__text---secondary);
2067
+ --origam-picker-title---color: currentColor;
2068
2068
  --origam-picker-title---font-size: 0.75rem;
2069
2069
  --origam-picker-title---font-weight: 400;
2070
2070
  --origam-picker-title---letter-spacing: 0.1667em;
@@ -2833,11 +2833,11 @@
2833
2833
  --origam-chart-range-selector__btn---font-size: var(--origam-font__size---sm);
2834
2834
  --origam-chart-range-selector__btn--hover---background-color: rgba(0, 0, 0, 0.06);
2835
2835
  --origam-chart-range-selector__btn--hover---color: #111827;
2836
- --origam-chart-range-selector__btn--active---background-color: #3b82f6;
2836
+ --origam-chart-range-selector__btn--active---background-color: var(--origam-color__action--primary---bg);
2837
2837
  --origam-chart-range-selector__btn--active---border-color: rgba(0, 0, 0, 0);
2838
- --origam-chart-range-selector__btn--active---color: var(--origam-color---white);
2839
- --origam-chart-range-selector__btn--active--hover---background-color: #2563eb;
2840
- --origam-chart-range-selector__btn--active--hover---color: var(--origam-color---white);
2838
+ --origam-chart-range-selector__btn--active---color: var(--origam-color__action--primary---fg);
2839
+ --origam-chart-range-selector__btn--active--hover---background-color: var(--origam-color__action--primary---bgHover);
2840
+ --origam-chart-range-selector__btn--active--hover---color: var(--origam-color__action--primary---fg);
2841
2841
  --origam-chart-sparkline__bar---border-radius: 1;
2842
2842
  --origam-chart-sparkline__marker-min---stroke: rgba(0, 0, 0, 0);
2843
2843
  --origam-chart-sparkline__marker-max---stroke: rgba(0, 0, 0, 0);
@@ -2989,7 +2989,7 @@
2989
2989
  --origam-btn---width: auto;
2990
2990
  --origam-btn---min-width: 64px;
2991
2991
  --origam-btn---max-width: 100%;
2992
- --origam-btn---height: 36px;
2992
+ --origam-btn---height: var(--origam-btn---height-md, 36px);
2993
2993
  --origam-btn---max-height: 100%;
2994
2994
  --origam-btn---height-xs: 20px;
2995
2995
  --origam-btn---height-sm: 28px;
@@ -3516,7 +3516,7 @@
3516
3516
  --origam-toolbar---border-end-end-radius: var(--origam-radius---none);
3517
3517
  --origam-toolbar---max-width: 100%;
3518
3518
  --origam-toolbar---width: 100%;
3519
- --origam-toolbar---height: var(--origam-space---14);
3519
+ --origam-toolbar---height: var(--origam-toolbar---height-default, var(--origam-space---14));
3520
3520
  --origam-toolbar---height-compact: var(--origam-space---10);
3521
3521
  --origam-toolbar---height-default: var(--origam-space---14);
3522
3522
  --origam-toolbar---height-prominent: var(--origam-space---20);
@@ -4800,7 +4800,7 @@
4800
4800
  --origam-picker---z-index: var(--origam-zIndex---dropdown);
4801
4801
  --origam-picker---transition-duration: var(--origam-motion__duration---medium);
4802
4802
  --origam-picker---transition-timing-function: var(--origam-motion__easing---standard);
4803
- --origam-picker-title---color: var(--origam-color__text---secondary);
4803
+ --origam-picker-title---color: currentColor;
4804
4804
  --origam-picker-title---font-size: 0.75rem;
4805
4805
  --origam-picker-title---font-weight: 400;
4806
4806
  --origam-picker-title---letter-spacing: 0.1667em;
@@ -5569,11 +5569,11 @@
5569
5569
  --origam-chart-range-selector__btn---font-size: var(--origam-font__size---sm);
5570
5570
  --origam-chart-range-selector__btn--hover---background-color: rgba(0, 0, 0, 0.06);
5571
5571
  --origam-chart-range-selector__btn--hover---color: #111827;
5572
- --origam-chart-range-selector__btn--active---background-color: #3b82f6;
5572
+ --origam-chart-range-selector__btn--active---background-color: var(--origam-color__action--primary---bg);
5573
5573
  --origam-chart-range-selector__btn--active---border-color: rgba(0, 0, 0, 0);
5574
- --origam-chart-range-selector__btn--active---color: var(--origam-color---white);
5575
- --origam-chart-range-selector__btn--active--hover---background-color: #2563eb;
5576
- --origam-chart-range-selector__btn--active--hover---color: var(--origam-color---white);
5574
+ --origam-chart-range-selector__btn--active---color: var(--origam-color__action--primary---fg);
5575
+ --origam-chart-range-selector__btn--active--hover---background-color: var(--origam-color__action--primary---bgHover);
5576
+ --origam-chart-range-selector__btn--active--hover---color: var(--origam-color__action--primary---fg);
5577
5577
  --origam-chart-sparkline__bar---border-radius: 1;
5578
5578
  --origam-chart-sparkline__marker-min---stroke: rgba(0, 0, 0, 0);
5579
5579
  --origam-chart-sparkline__marker-max---stroke: rgba(0, 0, 0, 0);
@@ -155,7 +155,7 @@
155
155
  --origam-btn---width: auto;
156
156
  --origam-btn---min-width: 64px;
157
157
  --origam-btn---max-width: 100%;
158
- --origam-btn---height: 36px;
158
+ --origam-btn---height: var(--origam-btn---height-md, 36px);
159
159
  --origam-btn---max-height: 100%;
160
160
  --origam-btn---height-xs: 20px;
161
161
  --origam-btn---height-sm: 28px;
@@ -682,7 +682,7 @@
682
682
  --origam-toolbar---border-end-end-radius: var(--origam-radius---none);
683
683
  --origam-toolbar---max-width: 100%;
684
684
  --origam-toolbar---width: 100%;
685
- --origam-toolbar---height: var(--origam-space---14);
685
+ --origam-toolbar---height: var(--origam-toolbar---height-default, var(--origam-space---14));
686
686
  --origam-toolbar---height-compact: var(--origam-space---10);
687
687
  --origam-toolbar---height-default: var(--origam-space---14);
688
688
  --origam-toolbar---height-prominent: var(--origam-space---20);
@@ -1968,7 +1968,7 @@
1968
1968
  --origam-picker---z-index: var(--origam-zIndex---dropdown);
1969
1969
  --origam-picker---transition-duration: var(--origam-motion__duration---medium);
1970
1970
  --origam-picker---transition-timing-function: var(--origam-motion__easing---standard);
1971
- --origam-picker-title---color: var(--origam-color__text---secondary);
1971
+ --origam-picker-title---color: currentColor;
1972
1972
  --origam-picker-title---font-size: 0.75rem;
1973
1973
  --origam-picker-title---font-weight: 400;
1974
1974
  --origam-picker-title---letter-spacing: 0.1667em;
@@ -2737,11 +2737,11 @@
2737
2737
  --origam-chart-range-selector__btn---font-size: var(--origam-font__size---sm);
2738
2738
  --origam-chart-range-selector__btn--hover---background-color: rgba(0, 0, 0, 0.06);
2739
2739
  --origam-chart-range-selector__btn--hover---color: #111827;
2740
- --origam-chart-range-selector__btn--active---background-color: #3b82f6;
2740
+ --origam-chart-range-selector__btn--active---background-color: var(--origam-color__action--primary---bg);
2741
2741
  --origam-chart-range-selector__btn--active---border-color: rgba(0, 0, 0, 0);
2742
- --origam-chart-range-selector__btn--active---color: var(--origam-color---white);
2743
- --origam-chart-range-selector__btn--active--hover---background-color: #2563eb;
2744
- --origam-chart-range-selector__btn--active--hover---color: var(--origam-color---white);
2742
+ --origam-chart-range-selector__btn--active---color: var(--origam-color__action--primary---fg);
2743
+ --origam-chart-range-selector__btn--active--hover---background-color: var(--origam-color__action--primary---bgHover);
2744
+ --origam-chart-range-selector__btn--active--hover---color: var(--origam-color__action--primary---fg);
2745
2745
  --origam-chart-sparkline__bar---border-radius: 1;
2746
2746
  --origam-chart-sparkline__marker-min---stroke: rgba(0, 0, 0, 0);
2747
2747
  --origam-chart-sparkline__marker-max---stroke: rgba(0, 0, 0, 0);
@@ -23,22 +23,40 @@
23
23
  /* import below the component layer. */
24
24
 
25
25
  /* ── Foreground color (intent) ───────────────────────────────── */
26
- .origam--color-primary { color: var(--origam-color__action--primary---fg); }
26
+ /* */
27
+ /* The intent's own colour, AS TEXT, on a neutral surface. These */
28
+ /* MUST mirror `tokenForegroundForIntent()` */
29
+ /* (utils/Commons/color.util.ts) — that helper is what the inline */
30
+ /* `color:` declaration uses for the very same `color="{intent}"` */
31
+ /* prop, and an inline declaration outranks this class. Reading */
32
+ /* `---fg` here made the two channels disagree on 5 of 7 intents: */
33
+ /* `---fg` is the on-intent foreground (white), legible only ON */
34
+ /* the saturated `---bg`, so a standalone `.origam--color-primary` */
35
+ /* painted white-on-white. Pair it with `.origam--bg-*` below */
36
+ /* when you want the on-intent foreground instead. See #818. */
37
+ .origam--color-primary { color: var(--origam-color__action--primary---fgSubtle); }
27
38
  .origam--color-secondary { color: var(--origam-color__action--secondary---fg); }
28
- .origam--color-success { color: var(--origam-color__feedback--success---fg); }
29
- .origam--color-warning { color: var(--origam-color__feedback--warning---fg); }
30
- .origam--color-danger { color: var(--origam-color__feedback--danger---fg); }
31
- .origam--color-info { color: var(--origam-color__feedback--info---fg); }
39
+ .origam--color-success { color: var(--origam-color__feedback--success---fgSubtle); }
40
+ .origam--color-warning { color: var(--origam-color__feedback--warning---fgSubtle); }
41
+ .origam--color-danger { color: var(--origam-color__feedback--danger---fgSubtle); }
42
+ .origam--color-info { color: var(--origam-color__feedback--info---fgSubtle); }
32
43
  .origam--color-neutral { color: var(--origam-color__text---primary); }
33
44
 
34
45
  /* ── Background color (intent) ───────────────────────────────── */
35
- .origam--bg-primary { background-color: var(--origam-color__action--primary---bg); }
36
- .origam--bg-secondary { background-color: var(--origam-color__action--secondary---bg); }
37
- .origam--bg-success { background-color: var(--origam-color__feedback--success---bg); }
38
- .origam--bg-warning { background-color: var(--origam-color__feedback--warning---bg); }
39
- .origam--bg-danger { background-color: var(--origam-color__feedback--danger---bg); }
40
- .origam--bg-info { background-color: var(--origam-color__feedback--info---bg); }
41
- .origam--bg-neutral { background-color: var(--origam-color__surface---default); }
46
+ /* */
47
+ /* Each intent surface carries its PAIRED on-intent foreground, */
48
+ /* the same auto-pairing `useColor()` already performs on the */
49
+ /* inline channel ("lets `bgColor=primary` alone auto-pair the */
50
+ /* right text colour"). Without it, `.origam--bg-primary` on bare */
51
+ /* markup inherited the page's dark ink onto a saturated surface. */
52
+ /* Every pair below is >= 4.5:1 in the light token set. See #818. */
53
+ .origam--bg-primary { background-color: var(--origam-color__action--primary---bg); color: var(--origam-color__action--primary---fg); }
54
+ .origam--bg-secondary { background-color: var(--origam-color__action--secondary---bg); color: var(--origam-color__action--secondary---fg); }
55
+ .origam--bg-success { background-color: var(--origam-color__feedback--success---bg); color: var(--origam-color__feedback--success---fg); }
56
+ .origam--bg-warning { background-color: var(--origam-color__feedback--warning---bg); color: var(--origam-color__feedback--warning---fg); }
57
+ .origam--bg-danger { background-color: var(--origam-color__feedback--danger---bg); color: var(--origam-color__feedback--danger---fg); }
58
+ .origam--bg-info { background-color: var(--origam-color__feedback--info---bg); color: var(--origam-color__feedback--info---fg); }
59
+ .origam--bg-neutral { background-color: var(--origam-color__surface---default); color: var(--origam-color__text---primary); }
42
60
 
43
61
  /* ── Elevation (box-shadow) ───────────────────────────────── */
44
62
  .origam--shadow-none { box-shadow: var(--origam-shadow---none); }
@@ -253,7 +253,7 @@
253
253
  --origam-btn---width: auto;
254
254
  --origam-btn---min-width: 64px;
255
255
  --origam-btn---max-width: 100%;
256
- --origam-btn---height: 36px;
256
+ --origam-btn---height: var(--origam-btn---height-md, 36px);
257
257
  --origam-btn---max-height: 100%;
258
258
  --origam-btn---height-xs: 20px;
259
259
  --origam-btn---height-sm: 28px;
@@ -780,7 +780,7 @@
780
780
  --origam-toolbar---border-end-end-radius: var(--origam-radius---none);
781
781
  --origam-toolbar---max-width: 100%;
782
782
  --origam-toolbar---width: 100%;
783
- --origam-toolbar---height: var(--origam-space---14);
783
+ --origam-toolbar---height: var(--origam-toolbar---height-default, var(--origam-space---14));
784
784
  --origam-toolbar---height-compact: var(--origam-space---10);
785
785
  --origam-toolbar---height-default: var(--origam-space---14);
786
786
  --origam-toolbar---height-prominent: var(--origam-space---20);
@@ -2064,7 +2064,7 @@
2064
2064
  --origam-picker---z-index: var(--origam-zIndex---dropdown);
2065
2065
  --origam-picker---transition-duration: var(--origam-motion__duration---medium);
2066
2066
  --origam-picker---transition-timing-function: var(--origam-motion__easing---standard);
2067
- --origam-picker-title---color: var(--origam-color__text---secondary);
2067
+ --origam-picker-title---color: currentColor;
2068
2068
  --origam-picker-title---font-size: 0.75rem;
2069
2069
  --origam-picker-title---font-weight: 400;
2070
2070
  --origam-picker-title---letter-spacing: 0.1667em;
@@ -2833,11 +2833,11 @@
2833
2833
  --origam-chart-range-selector__btn---font-size: var(--origam-font__size---sm);
2834
2834
  --origam-chart-range-selector__btn--hover---background-color: rgba(0, 0, 0, 0.06);
2835
2835
  --origam-chart-range-selector__btn--hover---color: #111827;
2836
- --origam-chart-range-selector__btn--active---background-color: #3b82f6;
2836
+ --origam-chart-range-selector__btn--active---background-color: var(--origam-color__action--primary---bg);
2837
2837
  --origam-chart-range-selector__btn--active---border-color: rgba(0, 0, 0, 0);
2838
- --origam-chart-range-selector__btn--active---color: var(--origam-color---white);
2839
- --origam-chart-range-selector__btn--active--hover---background-color: #2563eb;
2840
- --origam-chart-range-selector__btn--active--hover---color: var(--origam-color---white);
2838
+ --origam-chart-range-selector__btn--active---color: var(--origam-color__action--primary---fg);
2839
+ --origam-chart-range-selector__btn--active--hover---background-color: var(--origam-color__action--primary---bgHover);
2840
+ --origam-chart-range-selector__btn--active--hover---color: var(--origam-color__action--primary---fg);
2841
2841
  --origam-chart-sparkline__bar---border-radius: 1;
2842
2842
  --origam-chart-sparkline__marker-min---stroke: rgba(0, 0, 0, 0);
2843
2843
  --origam-chart-sparkline__marker-max---stroke: rgba(0, 0, 0, 0);
@@ -2989,7 +2989,7 @@
2989
2989
  --origam-btn---width: auto;
2990
2990
  --origam-btn---min-width: 64px;
2991
2991
  --origam-btn---max-width: 100%;
2992
- --origam-btn---height: 36px;
2992
+ --origam-btn---height: var(--origam-btn---height-md, 36px);
2993
2993
  --origam-btn---max-height: 100%;
2994
2994
  --origam-btn---height-xs: 20px;
2995
2995
  --origam-btn---height-sm: 28px;
@@ -3516,7 +3516,7 @@
3516
3516
  --origam-toolbar---border-end-end-radius: var(--origam-radius---none);
3517
3517
  --origam-toolbar---max-width: 100%;
3518
3518
  --origam-toolbar---width: 100%;
3519
- --origam-toolbar---height: var(--origam-space---14);
3519
+ --origam-toolbar---height: var(--origam-toolbar---height-default, var(--origam-space---14));
3520
3520
  --origam-toolbar---height-compact: var(--origam-space---10);
3521
3521
  --origam-toolbar---height-default: var(--origam-space---14);
3522
3522
  --origam-toolbar---height-prominent: var(--origam-space---20);
@@ -4800,7 +4800,7 @@
4800
4800
  --origam-picker---z-index: var(--origam-zIndex---dropdown);
4801
4801
  --origam-picker---transition-duration: var(--origam-motion__duration---medium);
4802
4802
  --origam-picker---transition-timing-function: var(--origam-motion__easing---standard);
4803
- --origam-picker-title---color: var(--origam-color__text---secondary);
4803
+ --origam-picker-title---color: currentColor;
4804
4804
  --origam-picker-title---font-size: 0.75rem;
4805
4805
  --origam-picker-title---font-weight: 400;
4806
4806
  --origam-picker-title---letter-spacing: 0.1667em;
@@ -5569,11 +5569,11 @@
5569
5569
  --origam-chart-range-selector__btn---font-size: var(--origam-font__size---sm);
5570
5570
  --origam-chart-range-selector__btn--hover---background-color: rgba(0, 0, 0, 0.06);
5571
5571
  --origam-chart-range-selector__btn--hover---color: #111827;
5572
- --origam-chart-range-selector__btn--active---background-color: #3b82f6;
5572
+ --origam-chart-range-selector__btn--active---background-color: var(--origam-color__action--primary---bg);
5573
5573
  --origam-chart-range-selector__btn--active---border-color: rgba(0, 0, 0, 0);
5574
- --origam-chart-range-selector__btn--active---color: var(--origam-color---white);
5575
- --origam-chart-range-selector__btn--active--hover---background-color: #2563eb;
5576
- --origam-chart-range-selector__btn--active--hover---color: var(--origam-color---white);
5574
+ --origam-chart-range-selector__btn--active---color: var(--origam-color__action--primary---fg);
5575
+ --origam-chart-range-selector__btn--active--hover---background-color: var(--origam-color__action--primary---bgHover);
5576
+ --origam-chart-range-selector__btn--active--hover---color: var(--origam-color__action--primary---fg);
5577
5577
  --origam-chart-sparkline__bar---border-radius: 1;
5578
5578
  --origam-chart-sparkline__marker-min---stroke: rgba(0, 0, 0, 0);
5579
5579
  --origam-chart-sparkline__marker-max---stroke: rgba(0, 0, 0, 0);
@@ -155,7 +155,7 @@
155
155
  --origam-btn---width: auto;
156
156
  --origam-btn---min-width: 64px;
157
157
  --origam-btn---max-width: 100%;
158
- --origam-btn---height: 36px;
158
+ --origam-btn---height: var(--origam-btn---height-md, 36px);
159
159
  --origam-btn---max-height: 100%;
160
160
  --origam-btn---height-xs: 20px;
161
161
  --origam-btn---height-sm: 28px;
@@ -682,7 +682,7 @@
682
682
  --origam-toolbar---border-end-end-radius: var(--origam-radius---none);
683
683
  --origam-toolbar---max-width: 100%;
684
684
  --origam-toolbar---width: 100%;
685
- --origam-toolbar---height: var(--origam-space---14);
685
+ --origam-toolbar---height: var(--origam-toolbar---height-default, var(--origam-space---14));
686
686
  --origam-toolbar---height-compact: var(--origam-space---10);
687
687
  --origam-toolbar---height-default: var(--origam-space---14);
688
688
  --origam-toolbar---height-prominent: var(--origam-space---20);
@@ -1968,7 +1968,7 @@
1968
1968
  --origam-picker---z-index: var(--origam-zIndex---dropdown);
1969
1969
  --origam-picker---transition-duration: var(--origam-motion__duration---medium);
1970
1970
  --origam-picker---transition-timing-function: var(--origam-motion__easing---standard);
1971
- --origam-picker-title---color: var(--origam-color__text---secondary);
1971
+ --origam-picker-title---color: currentColor;
1972
1972
  --origam-picker-title---font-size: 0.75rem;
1973
1973
  --origam-picker-title---font-weight: 400;
1974
1974
  --origam-picker-title---letter-spacing: 0.1667em;
@@ -2737,11 +2737,11 @@
2737
2737
  --origam-chart-range-selector__btn---font-size: var(--origam-font__size---sm);
2738
2738
  --origam-chart-range-selector__btn--hover---background-color: rgba(0, 0, 0, 0.06);
2739
2739
  --origam-chart-range-selector__btn--hover---color: #111827;
2740
- --origam-chart-range-selector__btn--active---background-color: #3b82f6;
2740
+ --origam-chart-range-selector__btn--active---background-color: var(--origam-color__action--primary---bg);
2741
2741
  --origam-chart-range-selector__btn--active---border-color: rgba(0, 0, 0, 0);
2742
- --origam-chart-range-selector__btn--active---color: var(--origam-color---white);
2743
- --origam-chart-range-selector__btn--active--hover---background-color: #2563eb;
2744
- --origam-chart-range-selector__btn--active--hover---color: var(--origam-color---white);
2742
+ --origam-chart-range-selector__btn--active---color: var(--origam-color__action--primary---fg);
2743
+ --origam-chart-range-selector__btn--active--hover---background-color: var(--origam-color__action--primary---bgHover);
2744
+ --origam-chart-range-selector__btn--active--hover---color: var(--origam-color__action--primary---fg);
2745
2745
  --origam-chart-sparkline__bar---border-radius: 1;
2746
2746
  --origam-chart-sparkline__marker-min---stroke: rgba(0, 0, 0, 0);
2747
2747
  --origam-chart-sparkline__marker-max---stroke: rgba(0, 0, 0, 0);
@@ -23,22 +23,40 @@
23
23
  /* import below the component layer. */
24
24
 
25
25
  /* ── Foreground color (intent) ───────────────────────────────── */
26
- .origam--color-primary { color: var(--origam-color__action--primary---fg); }
26
+ /* */
27
+ /* The intent's own colour, AS TEXT, on a neutral surface. These */
28
+ /* MUST mirror `tokenForegroundForIntent()` */
29
+ /* (utils/Commons/color.util.ts) — that helper is what the inline */
30
+ /* `color:` declaration uses for the very same `color="{intent}"` */
31
+ /* prop, and an inline declaration outranks this class. Reading */
32
+ /* `---fg` here made the two channels disagree on 5 of 7 intents: */
33
+ /* `---fg` is the on-intent foreground (white), legible only ON */
34
+ /* the saturated `---bg`, so a standalone `.origam--color-primary` */
35
+ /* painted white-on-white. Pair it with `.origam--bg-*` below */
36
+ /* when you want the on-intent foreground instead. See #818. */
37
+ .origam--color-primary { color: var(--origam-color__action--primary---fgSubtle); }
27
38
  .origam--color-secondary { color: var(--origam-color__action--secondary---fg); }
28
- .origam--color-success { color: var(--origam-color__feedback--success---fg); }
29
- .origam--color-warning { color: var(--origam-color__feedback--warning---fg); }
30
- .origam--color-danger { color: var(--origam-color__feedback--danger---fg); }
31
- .origam--color-info { color: var(--origam-color__feedback--info---fg); }
39
+ .origam--color-success { color: var(--origam-color__feedback--success---fgSubtle); }
40
+ .origam--color-warning { color: var(--origam-color__feedback--warning---fgSubtle); }
41
+ .origam--color-danger { color: var(--origam-color__feedback--danger---fgSubtle); }
42
+ .origam--color-info { color: var(--origam-color__feedback--info---fgSubtle); }
32
43
  .origam--color-neutral { color: var(--origam-color__text---primary); }
33
44
 
34
45
  /* ── Background color (intent) ───────────────────────────────── */
35
- .origam--bg-primary { background-color: var(--origam-color__action--primary---bg); }
36
- .origam--bg-secondary { background-color: var(--origam-color__action--secondary---bg); }
37
- .origam--bg-success { background-color: var(--origam-color__feedback--success---bg); }
38
- .origam--bg-warning { background-color: var(--origam-color__feedback--warning---bg); }
39
- .origam--bg-danger { background-color: var(--origam-color__feedback--danger---bg); }
40
- .origam--bg-info { background-color: var(--origam-color__feedback--info---bg); }
41
- .origam--bg-neutral { background-color: var(--origam-color__surface---default); }
46
+ /* */
47
+ /* Each intent surface carries its PAIRED on-intent foreground, */
48
+ /* the same auto-pairing `useColor()` already performs on the */
49
+ /* inline channel ("lets `bgColor=primary` alone auto-pair the */
50
+ /* right text colour"). Without it, `.origam--bg-primary` on bare */
51
+ /* markup inherited the page's dark ink onto a saturated surface. */
52
+ /* Every pair below is >= 4.5:1 in the light token set. See #818. */
53
+ .origam--bg-primary { background-color: var(--origam-color__action--primary---bg); color: var(--origam-color__action--primary---fg); }
54
+ .origam--bg-secondary { background-color: var(--origam-color__action--secondary---bg); color: var(--origam-color__action--secondary---fg); }
55
+ .origam--bg-success { background-color: var(--origam-color__feedback--success---bg); color: var(--origam-color__feedback--success---fg); }
56
+ .origam--bg-warning { background-color: var(--origam-color__feedback--warning---bg); color: var(--origam-color__feedback--warning---fg); }
57
+ .origam--bg-danger { background-color: var(--origam-color__feedback--danger---bg); color: var(--origam-color__feedback--danger---fg); }
58
+ .origam--bg-info { background-color: var(--origam-color__feedback--info---bg); color: var(--origam-color__feedback--info---fg); }
59
+ .origam--bg-neutral { background-color: var(--origam-color__surface---default); color: var(--origam-color__text---primary); }
42
60
 
43
61
  /* ── Elevation (box-shadow) ───────────────────────────────── */
44
62
  .origam--shadow-none { box-shadow: var(--origam-shadow---none); }
@@ -421,10 +421,6 @@ defineExpose({
421
421
  --origam-alert---density: -8px;
422
422
  }
423
423
 
424
- &--density-default {
425
- --origam-alert---density: 0px;
426
- }
427
-
428
424
  &--density-compact {
429
425
  --origam-alert---density: 8px;
430
426
  }
@@ -551,9 +551,6 @@ defineExpose({
551
551
  }
552
552
 
553
553
  &--size-default {
554
- --origam-btn---height: var(--origam-btn---height-md, 36px);
555
- --origam-btn---font-size: 0.875rem;
556
- --origam-btn---min-width: 64px;
557
554
  padding: 0 calc(var(--origam-btn---padding-md, 16px) + var(--origam-btn---density-padding-x, 0px));
558
555
 
559
556
  :deep(.origam-icon) {
@@ -589,7 +586,6 @@ defineExpose({
589
586
  }
590
587
 
591
588
  &--density-default {
592
- --origam-btn---density: 0px;
593
589
  --origam-btn---density-padding-x: 0px;
594
590
  }
595
591
 
@@ -88,6 +88,8 @@
88
88
  <div
89
89
  v-if="resolvedView === CALENDAR_VIEW.MONTH"
90
90
  class="origam-calendar__body origam-calendar__body--month"
91
+ role="grid"
92
+ :aria-label="ariaMonthLabel"
91
93
  data-cy="origam-calendar-body-month"
92
94
  >
93
95
  <div
@@ -110,8 +112,6 @@
110
112
  </div>
111
113
  <div
112
114
  class="origam-calendar__month-grid"
113
- role="grid"
114
- :aria-label="ariaMonthLabel"
115
115
  >
116
116
  <div
117
117
  v-for="(weekRow, rowIndex) in monthGrid"
@@ -83,7 +83,7 @@
83
83
  :data-cy="`origam-chart-map-country-${ country.code }`"
84
84
  :tabindex="country.hasData ? 0 : -1"
85
85
  :role="country.hasData ? 'button' : undefined"
86
- :aria-label="countryAriaLabel(country)"
86
+ :aria-label="country.hasData ? countryAriaLabel(country) : undefined"
87
87
  @click="onCountryActivate(country, $event)"
88
88
  @keydown.enter.prevent="onCountryActivate(country, $event)"
89
89
  @keydown.space.prevent="onCountryActivate(country, $event)"
@@ -637,9 +637,3 @@ defineExpose({
637
637
  }
638
638
  }
639
639
  </style>
640
-
641
- <style lang="scss" scoped>
642
- .origam-chip {
643
- --origam-chip---density: 0px;
644
- }
645
- </style>
@@ -422,7 +422,24 @@ defineExpose({
422
422
  }
423
423
 
424
424
  &--loading {
425
- &:deep(.origam-data-table-cell) {
425
+ /*********************************************************
426
+ * #818 — le voile de chargement epargne les EN-TETES
427
+ *
428
+ * @description
429
+ * Un libelle de colonne n'est pas la donnee en cours de
430
+ * rafraichissement : c'est la structure du tableau, elle
431
+ * reste lisible pendant le chargement. Le voile s'applique
432
+ * donc au corps, pas a l'en-tete.
433
+ *
434
+ * @description
435
+ * Mesure axe-core (Chromium, theme origam clair) : l'en-tete
436
+ * peint `--origam-color__action--primary---fgSubtle`
437
+ * (#6d28d9) ; a 0.5 sur blanc il composite en #b694ec, soit
438
+ * 2.38:1 — tres sous les 4.5:1 de l'AA. Remonter l'opacite ne
439
+ * sauve pas la regle : il faudrait >= 0.82 pour repasser AA,
440
+ * et un voile a 0.82 n'est plus un voile.
441
+ ********************************************************/
442
+ &:deep(.origam-data-table-cell:not(.origam-data-table-header-cell)) {
426
443
  opacity: var(--origam-data-table--loading---opacity, var(--origam-data-table__loading---opacity, 0.5));
427
444
  }
428
445
  }
@@ -1021,10 +1021,18 @@ defineExpose({
1021
1021
  border-radius: var(--origam-field---border-radius, 8px) var(--origam-field---border-radius, 8px) 0 0;
1022
1022
  --origam-field__input---padding-top: var(--origam-field__input---padding-block-filled);
1023
1023
 
1024
+ // #818 — meme correctif que les variantes `outlined` /
1025
+ // `underlined` : l'alpha du trait passe sur `border-color`,
1026
+ // sans quoi le groupe de composition delave le label flottant
1027
+ // monte dans `__outline--notch`.
1024
1028
  #{$this}__outlines {
1025
1029
  #{$this}__outline {
1026
- border-bottom: 1px solid var(--origam-field---border-color, currentColor);
1027
- opacity: var(--origam-field--variant-filled---border-opacity, 0.42);
1030
+ border-bottom: 1px solid color-mix(
1031
+ in srgb,
1032
+ var(--origam-field---border-color, currentColor)
1033
+ calc(var(--origam-field--variant-filled---border-opacity, .42) * 100%),
1034
+ transparent
1035
+ );
1028
1036
  }
1029
1037
  }
1030
1038
 
@@ -1032,7 +1040,7 @@ defineExpose({
1032
1040
  &#{$this}--focused {
1033
1041
  #{$this}__outlines {
1034
1042
  #{$this}__outline {
1035
- opacity: 1;
1043
+ border-bottom-color: var(--origam-field---border-color, currentColor);
1036
1044
  }
1037
1045
  }
1038
1046
  }
@@ -1065,9 +1073,32 @@ defineExpose({
1065
1073
  background: var(--origam-field---background-color, var(--origam-field---variant-outlined-background-color, transparent));
1066
1074
 
1067
1075
  #{$this}__outline {
1068
- border-color: var(--origam-field---border-color, var(--origam-field__outline---border-color, currentColor));
1076
+ /*********************************************************
1077
+ * #818 — l'alpha du trait vit sur la COULEUR, pas sur la boite
1078
+ *
1079
+ * @description
1080
+ * `opacity` sur `__outline` cree un groupe de composition
1081
+ * qui delave TOUT le sous-arbre. Or `__outline--notch`
1082
+ * n'est pas vide : le label flottant y est monte (voir le
1083
+ * template). Le label heritait donc du .38 destine au seul
1084
+ * trait de bordure — mesure axe-core, Chromium :
1085
+ * #6d28d9 a .38 sur blanc = #c8adf1, soit 1.96:1, tres
1086
+ * sous les 4.5:1 de l'AA.
1087
+ *
1088
+ * @description
1089
+ * Porter l'alpha sur `border-color` rend EXACTEMENT le meme
1090
+ * trait (la boite n'a ni fond ni autre contenu peint :
1091
+ * `__outlines` est en `position: absolute` /
1092
+ * `pointer-events: none`, les pattes ne portent que des
1093
+ * bordures) et laisse le label a son opacite pleine.
1094
+ ********************************************************/
1095
+ border-color: color-mix(
1096
+ in srgb,
1097
+ var(--origam-field---border-color, var(--origam-field__outline---border-color, currentColor))
1098
+ calc(var(--origam-field---border-opacity, var(--origam-field__outline---border-opacity, .38)) * 100%),
1099
+ transparent
1100
+ );
1069
1101
  border-style: var(--origam-field__outline---border-style, solid);
1070
- opacity: var(--origam-field---border-opacity, var(--origam-field__outline---border-opacity, .38));
1071
1102
 
1072
1103
  &--start {
1073
1104
  border-top-width: var(--origam-field---border-width);
@@ -1131,11 +1162,19 @@ defineExpose({
1131
1162
  --origam-field---border-width: 1px;
1132
1163
  --origam-field---border-opacity: .38;
1133
1164
 
1165
+ // #818 — meme raison que la variante `outlined` ci-dessus :
1166
+ // l'alpha passe sur `border-color` pour ne plus delaver le
1167
+ // label flottant, enfant de `__outline--notch`. La transition
1168
+ // suit la couleur puisque c'est elle qui porte desormais l'alpha.
1134
1169
  #{$this}__outline {
1135
- border-color: var(--origam-field---border-color, var(--origam-field__outline---border-color, currentColor));
1170
+ border-color: color-mix(
1171
+ in srgb,
1172
+ var(--origam-field---border-color, var(--origam-field__outline---border-color, currentColor))
1173
+ calc(var(--origam-field---border-opacity, var(--origam-field__outline---border-opacity, .38)) * 100%),
1174
+ transparent
1175
+ );
1136
1176
  border-style: var(--origam-field__outline---border-style, solid);
1137
- opacity: var(--origam-field---border-opacity, var(--origam-field__outline---border-opacity, .38));
1138
- transition: opacity var(--origam-field__outline---transition-duration, .25s) var(--origam-field__outline---transition-easing, cubic-bezier(.4, 0, .2, 1));
1177
+ transition: border-color var(--origam-field__outline---transition-duration, .25s) var(--origam-field__outline---transition-easing, cubic-bezier(.4, 0, .2, 1));
1139
1178
  border-width: 0;
1140
1179
 
1141
1180
  &--start {
@@ -339,7 +339,7 @@ const handleFocusOut = (event) => {
339
339
  const next = event.relatedTarget;
340
340
  if (root && next instanceof Node && root.contains(next)) return;
341
341
  noteTransition(true);
342
- void confirm();
342
+ confirm();
343
343
  };
344
344
  const restoreFocusAfterEdit = async () => {
345
345
  if (!restoreFocusOnLeave) return;
@@ -350,7 +350,7 @@ const restoreFocusAfterEdit = async () => {
350
350
  };
351
351
  watch(isEditing, async (next) => {
352
352
  if (!next) {
353
- void restoreFocusAfterEdit();
353
+ restoreFocusAfterEdit();
354
354
  return;
355
355
  }
356
356
  if (!props.autoFocus) return;
@@ -172,7 +172,6 @@ defineExpose({
172
172
  &--variant-outlined,
173
173
  &--variant-outlined &__key {
174
174
  --origam-kbd---background-color: var(--origam-kbd--outlined---background-color, var(--origam-color__surface---raised, #fff));
175
- --origam-kbd---border-color: var(--origam-color__border---subtle, #d4d4d4);
176
175
  --origam-kbd---border-width: var(--origam-kbd--outlined---border-width, 1px);
177
176
  --origam-kbd---box-shadow: 0 1px 0 0 color-mix(in srgb, currentColor 12%, transparent),
178
177
  inset 0 1px 0 0 color-mix(in srgb, white 50%, transparent);
@@ -396,10 +396,6 @@ defineExpose({
396
396
  --origam-list-group---prepend-width: var(--origam-list---slim-prepend-width, 28px);
397
397
  }
398
398
 
399
- &--density-default {
400
- --origam-list---density: 0px;
401
- }
402
-
403
399
  &--density-compact {
404
400
  --origam-list---density: -8px;
405
401
  }
@@ -3,7 +3,9 @@
3
3
  :is="tag"
4
4
  :id="styleId"
5
5
  v-contrast
6
+ :aria-labelledby="id"
6
7
  :class="listGroupClasses"
8
+ :role="groupRole"
7
9
  :style="listGroupStyles"
8
10
  >
9
11
  <origam-defaults-provider :defaults="slotDefaults">
@@ -65,6 +67,7 @@ import { useStateFlag } from "../../composables/Commons/stateFlag.composable";
65
67
  import { useStyle } from "../../composables/Commons/style.composable";
66
68
  import vContrast from "../../directives/Contrast/contrast.directive";
67
69
  import { omitUndefined } from "../../utils/Commons/commons.util";
70
+ import { LIST_ITEM_ROLE } from "../../enums/List/list-item.enum";
68
71
  import { MDI_ICONS } from "../../enums/Commons/mdi.enum";
69
72
  const props = defineProps({
70
73
  collapseIcon: { type: null, required: false, default: MDI_ICONS.CHEVRON_UP },
@@ -147,6 +150,10 @@ const id = computed(() => `origam-list-group--id-${String(_id.value)}`);
147
150
  const list = useList();
148
151
  const { isBooted } = useSsrBoot();
149
152
  const transition = ref({ component: OrigamExpandY });
153
+ const groupRole = computed(() => {
154
+ if (!list) return void 0;
155
+ return list.itemRole.value === LIST_ITEM_ROLE.OPTION ? "group" : LIST_ITEM_ROLE.LISTITEM;
156
+ });
150
157
  const toggleIcon = computed(() => {
151
158
  if (isOpen.value) {
152
159
  return props.collapseIcon;
@@ -336,13 +336,13 @@ const eventState = computed(() => {
336
336
  if (!props.disabled && !props.readonly) {
337
337
  model.value = normalizedValue.value === value && props.clearable ? 0 : value;
338
338
  }
339
- void nextTick(() => resyncRadios(e?.target));
339
+ nextTick(() => resyncRadios(e?.target));
340
340
  };
341
341
  const onChange = (e) => {
342
342
  if (!props.disabled && !props.readonly) {
343
343
  model.value = value;
344
344
  }
345
- void nextTick(() => resyncRadios(e?.target));
345
+ nextTick(() => resyncRadios(e?.target));
346
346
  };
347
347
  return {
348
348
  onMouseenter: props.hover ? onMouseenter : void 0,