@mindlogic-ai/logician-ui 4.0.0-alpha.27 → 4.0.0-alpha.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Button/Button.styles.d.ts.map +1 -1
- package/dist/components/Button/Button.styles.js +28 -6
- package/dist/components/Button/Button.styles.js.map +1 -1
- package/dist/components/Button/Button.styles.mjs +28 -6
- package/dist/components/Button/Button.styles.mjs.map +1 -1
- package/dist/components/Tabs/Tab/Tab.styles.d.ts +25 -27
- package/dist/components/Tabs/Tab/Tab.styles.d.ts.map +1 -1
- package/dist/components/Tabs/Tab/Tab.styles.js +28 -21
- package/dist/components/Tabs/Tab/Tab.styles.js.map +1 -1
- package/dist/components/Tabs/Tab/Tab.styles.mjs +28 -21
- package/dist/components/Tabs/Tab/Tab.styles.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/Button/Button.styles.ts +28 -6
- package/src/components/Tabs/Tab/Tab.styles.ts +28 -21
- package/src/components/a11y.kwcag.test.tsx +59 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEnE,KAAK,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AA8B7C,eAAO,MAAM,gBAAgB,QAoBjB,CAAC;AAEb;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAC3C,kBAAkB,EAClB,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"Button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEnE,KAAK,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AA8B7C,eAAO,MAAM,gBAAgB,QAoBjB,CAAC;AAEb;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAC3C,kBAAkB,EAClB,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAmXlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,eAAc,kBAA8B,EAC5C,UAAS,aAAuB,KAC/B,UAEF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,kBAAkB,EAOnD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,uBAAuB,+EAA2B,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,aAAa,EAKzC,CAAC"}
|
|
@@ -356,16 +356,38 @@ const buttonColorPaletteStyles = {
|
|
|
356
356
|
* Neutral (Gray) color scheme
|
|
357
357
|
*/
|
|
358
358
|
neutral: {
|
|
359
|
+
/**
|
|
360
|
+
* The INK action — the one high-emphasis fill in the system with no hue.
|
|
361
|
+
*
|
|
362
|
+
* Was `gray.700` under a white label, which failed AA in **both** modes and
|
|
363
|
+
* failed worse in the one nobody screenshots: white on `#737D96` measures
|
|
364
|
+
* **4.12:1** in light, and the semantic gray scale inverts, so in dark the
|
|
365
|
+
* same token resolves to `grayDark.fg700` `#8D919D` and the label lands at
|
|
366
|
+
* **3.15:1**. This was the only palette x variant combination in the system
|
|
367
|
+
* below the 4.5:1 text gate.
|
|
368
|
+
*
|
|
369
|
+
* "One step darker" does not fix it — `gray.800` is 5.32:1 light but
|
|
370
|
+
* **3.08:1** dark, i.e. worse, because darkening the light arm lightens the
|
|
371
|
+
* dark one. A neutral fill has to INVERT, not shift, which is exactly what
|
|
372
|
+
* `bg.inverse` / `fg.inverse` already do: ink under a near-white label on a
|
|
373
|
+
* light page, brand paper under an ink label on a dark one. Measured
|
|
374
|
+
* **15.11:1** and **15.88:1**, with the fill itself 15.49:1 / 16.36:1 clear
|
|
375
|
+
* of its canvas so it still reads as a control.
|
|
376
|
+
*
|
|
377
|
+
* `gray.1200` / `gray.1100` for hover and active for the same reason: both
|
|
378
|
+
* step AWAY from the resting fill toward the page in whichever mode is
|
|
379
|
+
* live, because they invert too. Labels stay 10.8:1 or better throughout.
|
|
380
|
+
*/
|
|
359
381
|
solid: {
|
|
360
|
-
borderColor: '
|
|
361
|
-
bgColor: '
|
|
362
|
-
color: '
|
|
382
|
+
borderColor: 'bg.inverse',
|
|
383
|
+
bgColor: 'bg.inverse',
|
|
384
|
+
color: 'fg.inverse',
|
|
363
385
|
_hover: {
|
|
364
|
-
borderColor: 'gray.
|
|
365
|
-
bgColor: 'gray.
|
|
386
|
+
borderColor: 'gray.1200',
|
|
387
|
+
bgColor: 'gray.1200',
|
|
366
388
|
},
|
|
367
389
|
_active: {
|
|
368
|
-
bgColor: 'gray.
|
|
390
|
+
bgColor: 'gray.1100',
|
|
369
391
|
scale: '0.97',
|
|
370
392
|
},
|
|
371
393
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.styles.js","sources":["../../../src/components/Button/Button.styles.ts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Button.styles.js","sources":["../../../src/components/Button/Button.styles.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -354,16 +354,38 @@ const buttonColorPaletteStyles = {
|
|
|
354
354
|
* Neutral (Gray) color scheme
|
|
355
355
|
*/
|
|
356
356
|
neutral: {
|
|
357
|
+
/**
|
|
358
|
+
* The INK action — the one high-emphasis fill in the system with no hue.
|
|
359
|
+
*
|
|
360
|
+
* Was `gray.700` under a white label, which failed AA in **both** modes and
|
|
361
|
+
* failed worse in the one nobody screenshots: white on `#737D96` measures
|
|
362
|
+
* **4.12:1** in light, and the semantic gray scale inverts, so in dark the
|
|
363
|
+
* same token resolves to `grayDark.fg700` `#8D919D` and the label lands at
|
|
364
|
+
* **3.15:1**. This was the only palette x variant combination in the system
|
|
365
|
+
* below the 4.5:1 text gate.
|
|
366
|
+
*
|
|
367
|
+
* "One step darker" does not fix it — `gray.800` is 5.32:1 light but
|
|
368
|
+
* **3.08:1** dark, i.e. worse, because darkening the light arm lightens the
|
|
369
|
+
* dark one. A neutral fill has to INVERT, not shift, which is exactly what
|
|
370
|
+
* `bg.inverse` / `fg.inverse` already do: ink under a near-white label on a
|
|
371
|
+
* light page, brand paper under an ink label on a dark one. Measured
|
|
372
|
+
* **15.11:1** and **15.88:1**, with the fill itself 15.49:1 / 16.36:1 clear
|
|
373
|
+
* of its canvas so it still reads as a control.
|
|
374
|
+
*
|
|
375
|
+
* `gray.1200` / `gray.1100` for hover and active for the same reason: both
|
|
376
|
+
* step AWAY from the resting fill toward the page in whichever mode is
|
|
377
|
+
* live, because they invert too. Labels stay 10.8:1 or better throughout.
|
|
378
|
+
*/
|
|
357
379
|
solid: {
|
|
358
|
-
borderColor: '
|
|
359
|
-
bgColor: '
|
|
360
|
-
color: '
|
|
380
|
+
borderColor: 'bg.inverse',
|
|
381
|
+
bgColor: 'bg.inverse',
|
|
382
|
+
color: 'fg.inverse',
|
|
361
383
|
_hover: {
|
|
362
|
-
borderColor: 'gray.
|
|
363
|
-
bgColor: 'gray.
|
|
384
|
+
borderColor: 'gray.1200',
|
|
385
|
+
bgColor: 'gray.1200',
|
|
364
386
|
},
|
|
365
387
|
_active: {
|
|
366
|
-
bgColor: 'gray.
|
|
388
|
+
bgColor: 'gray.1100',
|
|
367
389
|
scale: '0.97',
|
|
368
390
|
},
|
|
369
391
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.styles.mjs","sources":["../../../src/components/Button/Button.styles.ts"],"sourcesContent":[null],"names":[],"mappings":";AAMA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACH,MAAM,KAAK,GAAG,sCAAsC;AACpD,MAAM,QAAQ,GAAG,8BAA8B;AAC/C,MAAM,QAAQ,GAAG,gCAAgC;AAE1C,MAAM,gBAAgB,GAAG;IAC9B,CAAA,MAAA,EAAS,KAAK,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAE;IAC5B,GAAG;QACD,kBAAkB;QAClB,cAAc;QACd,OAAO;QACP,YAAY;QACZ,SAAS;;;QAGT,WAAW;;;;;;;QAOX,WAAW;QACX,QAAQ;AACT,KAAA,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAA,EAAI,QAAQ,EAAE,CAAC;AAC3D,CAAA,CAAC,IAAI,CAAC,IAAI;AAEX;;;;;;;;;;;;;;;;;;;AAmBG;AACI,MAAM,wBAAwB,GAGjC;AACF;;AAEG;AACH,IAAA,OAAO,EAAE;AACP,QAAA,KAAK,EAAE;AACL,YAAA,WAAW,EAAE,UAAU;AACvB,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,UAAU;AACvB,gBAAA,OAAO,EAAE,UAAU;AACpB,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACD,QAAA,IAAI,EAAE;;;;;AAKJ,YAAA,WAAW,EAAE,iBAAiB;YAC9B,OAAO,EAAE,oBAAoB;YAC7B,KAAK,EAAE,cAAc;AACrB,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,iBAAiB;gBAC9B,OAAO,EAAE,iBAAiB;AAC3B,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,MAAM,EAAE;gBACN,OAAO,EAAE,oBAAoB;AAC9B,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,MAAM,EAAE;gBACN,OAAO,EAAE,oBAAoB;AAC9B,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACF,KAAA;AAED;;AAEG;AACH,IAAA,SAAS,EAAE;AACT,QAAA,KAAK,EAAE;AACL,YAAA,WAAW,EAAE,YAAY;AACzB,YAAA,OAAO,EAAE,YAAY;AACrB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,YAAY;AACzB,gBAAA,OAAO,EAAE,YAAY;AACtB,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,WAAW,EAAE,mBAAmB;YAChC,OAAO,EAAE,sBAAsB;YAC/B,KAAK,EAAE,gBAAgB;AACvB,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,mBAAmB;gBAChC,OAAO,EAAE,mBAAmB;AAC7B,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,WAAW,EAAE,gBAAgB;AAC7B,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,MAAM,EAAE;gBACN,OAAO,EAAE,sBAAsB;AAChC,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,KAAK,EAAE,gBAAgB;AACvB,YAAA,MAAM,EAAE;gBACN,OAAO,EAAE,sBAAsB;AAChC,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACF,KAAA;AAED;;AAEG;AACH,IAAA,MAAM,EAAE;AACN,QAAA,KAAK,EAAE;AACL,YAAA,WAAW,EAAE,UAAU;AACvB,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,UAAU;AACvB,gBAAA,OAAO,EAAE,UAAU;AACpB,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,mBAAmB;YAC5B,KAAK,EAAE,aAAa;AACpB,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,gBAAgB;gBAC7B,OAAO,EAAE,gBAAgB;AAC1B,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,gBAAgB;AACzB,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,MAAM,EAAE;gBACN,OAAO,EAAE,mBAAmB;AAC7B,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,gBAAgB;AACzB,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,MAAM,EAAE;gBACN,OAAO,EAAE,mBAAmB;AAC7B,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,gBAAgB;AACzB,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACF,KAAA;AAED;;AAEG;AACH,IAAA,OAAO,EAAE;AACP,QAAA,KAAK,EAAE;AACL,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,OAAO,EAAE,WAAW;AACpB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,WAAW;AACxB,gBAAA,OAAO,EAAE,WAAW;AACrB,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,OAAO,EAAE,WAAW;AACpB,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,WAAW,EAAE,iBAAiB;YAC9B,OAAO,EAAE,oBAAoB;YAC7B,KAAK,EAAE,cAAc;AACrB,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,iBAAiB;gBAC9B,OAAO,EAAE,iBAAiB;AAC3B,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,MAAM,EAAE;gBACN,OAAO,EAAE,oBAAoB;AAC9B,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,MAAM,EAAE;gBACN,OAAO,EAAE,oBAAoB;AAC9B,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACF,KAAA;AAED;;AAEG;AACH,IAAA,OAAO,EAAE;AACP,QAAA,KAAK,EAAE;AACL,YAAA,WAAW,EAAE,UAAU;AACvB,YAAA,OAAO,EAAE,UAAU;;;;AAInB,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,UAAU;AACvB,gBAAA,OAAO,EAAE,UAAU;AACpB,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,WAAW,EAAE,iBAAiB;YAC9B,OAAO,EAAE,oBAAoB;YAC7B,KAAK,EAAE,cAAc;AACrB,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,iBAAiB;gBAC9B,OAAO,EAAE,iBAAiB;AAC3B,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,cAAc;AACrB,YAAA,MAAM,EAAE;gBACN,OAAO,EAAE,oBAAoB;AAC9B,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,cAAc;AACrB,YAAA,MAAM,EAAE;gBACN,OAAO,EAAE,oBAAoB;AAC9B,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACF,KAAA;AAED;;AAEG;AACH,IAAA,OAAO,EAAE;AACP,QAAA,KAAK,EAAE;AACL,YAAA,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"Button.styles.mjs","sources":["../../../src/components/Button/Button.styles.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -12,38 +12,36 @@ export declare const verticalStyles: {
|
|
|
12
12
|
* the contrast regression in `src/components/a11y.kwcag.test.tsx` measures what
|
|
13
13
|
* this component actually renders rather than an arithmetic restatement of it.
|
|
14
14
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* (텍스트 콘텐츠의 명도 대비) asks 4.5:1 of text, and this is text. The `.dark`
|
|
21
|
-
* end of the ramp is `blue.200` (#7DA0E8): 6.68:1 on the surface, 7.31:1 on the
|
|
22
|
-
* page. Light is untouched — `primary.main` is 6.62:1 on white.
|
|
15
|
+
* **A selected tab is a PLACE, not a value.** It answers "where am I", which is
|
|
16
|
+
* the same question the app nav rail answers — so it is carried by ink and
|
|
17
|
+
* weight rather than by the brand hue. Colour is reserved for what a control
|
|
18
|
+
* MEANS (primary action, danger, success); spending it on chrome is what stops
|
|
19
|
+
* a state colour from registering when it appears.
|
|
23
20
|
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
21
|
+
* Ink also retires the defect the previous ramp was written around. The old
|
|
22
|
+
* `primary.main` label was 4.59:1 on the dark PAGE but only **4.19:1** on a
|
|
23
|
+
* raised surface, so a tab list passed every full-page scan and failed the
|
|
24
|
+
* first time it rendered inside a modal or a popover. `fg.emphasized` is the
|
|
25
|
+
* near-black/near-white step by construction — **15.49:1** on the light canvas
|
|
26
|
+
* and **13.62:1** on the dark raised surface — so no surface it can land on is
|
|
27
|
+
* marginal, and the mode-aware two-arm ramp is no longer needed.
|
|
27
28
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
29
|
+
* The indicator moves with the label. It was left on `primary.main` because a
|
|
30
|
+
* 2px underline is a GRAPHIC judged at 3:1, which the old value cleared — but
|
|
31
|
+
* that argument only justified LEAVING it, and an azure bar under an ink label
|
|
32
|
+
* is the half-migrated look.
|
|
33
|
+
*
|
|
34
|
+
* `primary.main` itself is not re-pegged, and should not be: it is a solid fill
|
|
35
|
+
* under white labels (`Checkbox`, `Switch`, `Banner`) where white on
|
|
36
|
+
* `blue.200` measures 2.60:1. Form controls keep the brand hue on purpose —
|
|
37
|
+
* a checkbox is a VALUE, not a place.
|
|
34
38
|
*/
|
|
35
39
|
export declare const TAB_RAMP: {
|
|
36
|
-
readonly label:
|
|
37
|
-
|
|
38
|
-
readonly _dark: "primary.dark";
|
|
39
|
-
};
|
|
40
|
-
readonly indicator: "primary.main";
|
|
40
|
+
readonly label: "fg.emphasized";
|
|
41
|
+
readonly indicator: "fg.emphasized";
|
|
41
42
|
};
|
|
42
43
|
export declare const horizontalSelectedStyles: {
|
|
43
|
-
color:
|
|
44
|
-
readonly base: "primary.main";
|
|
45
|
-
readonly _dark: "primary.dark";
|
|
46
|
-
};
|
|
44
|
+
color: "fg.emphasized";
|
|
47
45
|
fontWeight: string;
|
|
48
46
|
position: string;
|
|
49
47
|
_after: {
|
|
@@ -53,7 +51,7 @@ export declare const horizontalSelectedStyles: {
|
|
|
53
51
|
left: number;
|
|
54
52
|
width: string;
|
|
55
53
|
height: string;
|
|
56
|
-
background: "
|
|
54
|
+
background: "fg.emphasized";
|
|
57
55
|
};
|
|
58
56
|
};
|
|
59
57
|
export declare const verticalSelectedStyles: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Tabs/Tab/Tab.styles.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc;;;;;;;;CAQ1B,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"Tab.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Tabs/Tab/Tab.styles.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc;;;;;;;;CAQ1B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,QAAQ;;;CAGX,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;CAapC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;CAkBlC,CAAC"}
|
|
@@ -16,29 +16,33 @@ const verticalStyles = {
|
|
|
16
16
|
* the contrast regression in `src/components/a11y.kwcag.test.tsx` measures what
|
|
17
17
|
* this component actually renders rather than an arithmetic restatement of it.
|
|
18
18
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* (텍스트 콘텐츠의 명도 대비) asks 4.5:1 of text, and this is text. The `.dark`
|
|
25
|
-
* end of the ramp is `blue.200` (#7DA0E8): 6.68:1 on the surface, 7.31:1 on the
|
|
26
|
-
* page. Light is untouched — `primary.main` is 6.62:1 on white.
|
|
19
|
+
* **A selected tab is a PLACE, not a value.** It answers "where am I", which is
|
|
20
|
+
* the same question the app nav rail answers — so it is carried by ink and
|
|
21
|
+
* weight rather than by the brand hue. Colour is reserved for what a control
|
|
22
|
+
* MEANS (primary action, danger, success); spending it on chrome is what stops
|
|
23
|
+
* a state colour from registering when it appears.
|
|
27
24
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
25
|
+
* Ink also retires the defect the previous ramp was written around. The old
|
|
26
|
+
* `primary.main` label was 4.59:1 on the dark PAGE but only **4.19:1** on a
|
|
27
|
+
* raised surface, so a tab list passed every full-page scan and failed the
|
|
28
|
+
* first time it rendered inside a modal or a popover. `fg.emphasized` is the
|
|
29
|
+
* near-black/near-white step by construction — **15.49:1** on the light canvas
|
|
30
|
+
* and **13.62:1** on the dark raised surface — so no surface it can land on is
|
|
31
|
+
* marginal, and the mode-aware two-arm ramp is no longer needed.
|
|
31
32
|
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
33
|
+
* The indicator moves with the label. It was left on `primary.main` because a
|
|
34
|
+
* 2px underline is a GRAPHIC judged at 3:1, which the old value cleared — but
|
|
35
|
+
* that argument only justified LEAVING it, and an azure bar under an ink label
|
|
36
|
+
* is the half-migrated look.
|
|
37
|
+
*
|
|
38
|
+
* `primary.main` itself is not re-pegged, and should not be: it is a solid fill
|
|
39
|
+
* under white labels (`Checkbox`, `Switch`, `Banner`) where white on
|
|
40
|
+
* `blue.200` measures 2.60:1. Form controls keep the brand hue on purpose —
|
|
41
|
+
* a checkbox is a VALUE, not a place.
|
|
38
42
|
*/
|
|
39
43
|
const TAB_RAMP = {
|
|
40
|
-
label:
|
|
41
|
-
indicator: '
|
|
44
|
+
label: 'fg.emphasized',
|
|
45
|
+
indicator: 'fg.emphasized',
|
|
42
46
|
};
|
|
43
47
|
const horizontalSelectedStyles = {
|
|
44
48
|
color: TAB_RAMP.label,
|
|
@@ -55,8 +59,11 @@ const horizontalSelectedStyles = {
|
|
|
55
59
|
},
|
|
56
60
|
};
|
|
57
61
|
const verticalSelectedStyles = {
|
|
58
|
-
|
|
59
|
-
|
|
62
|
+
// Neutral fill, not a brand tint, for the same reason the label is ink: the
|
|
63
|
+
// vertical tab rail is navigation chrome. `bg.muted` inverts with the mode,
|
|
64
|
+
// where `primary.extralight` was a fixed light wash.
|
|
65
|
+
backgroundColor: 'bg.muted',
|
|
66
|
+
color: 'fg.emphasized',
|
|
60
67
|
fontWeight: 'bold',
|
|
61
68
|
_after: { content: 'none' },
|
|
62
69
|
_before: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab.styles.js","sources":["../../../../src/components/Tabs/Tab/Tab.styles.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;AACO,MAAM,cAAc,GAAG;AAC5B,IAAA,iBAAiB,EAAE,MAAM;AACzB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,cAAc,EAAE,YAAY;AAC5B,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,SAAS,EAAE,MAAM;AACjB,IAAA,CAAC,EAAE,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM;;AAGf
|
|
1
|
+
{"version":3,"file":"Tab.styles.js","sources":["../../../../src/components/Tabs/Tab/Tab.styles.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;AACO,MAAM,cAAc,GAAG;AAC5B,IAAA,iBAAiB,EAAE,MAAM;AACzB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,cAAc,EAAE,YAAY;AAC5B,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,SAAS,EAAE,MAAM;AACjB,IAAA,CAAC,EAAE,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM;;AAGf;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;AACI,MAAM,QAAQ,GAAG;AACtB,IAAA,KAAK,EAAE,eAAe;AACtB,IAAA,SAAS,EAAE,eAAe;;AAGrB,MAAM,wBAAwB,GAAG;IACtC,KAAK,EAAE,QAAQ,CAAC,KAAK;AACrB,IAAA,UAAU,EAAE,UAAU;AACtB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,GAAG,EAAE,kBAAkB;AACvB,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,QAAQ,CAAC,SAAS;AAC/B,KAAA;;AAGI,MAAM,sBAAsB,GAAG;;;;AAIpC,IAAA,eAAe,EAAE,UAAU;AAC3B,IAAA,KAAK,EAAE,eAAe;AACtB,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;AAC3B,IAAA,OAAO,EAAE;AACP,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,gBAAgB,EAAE,CAAC;;AAEnB,QAAA,cAAc,EAAE,OAAO;AACvB,QAAA,UAAU,EAAE,CAAC;AACb,QAAA,KAAK,EAAE,KAAK;AACZ,QAAA,UAAU,EAAE,cAAc;AAC3B,KAAA;;;;;;;;"}
|
|
@@ -14,29 +14,33 @@ const verticalStyles = {
|
|
|
14
14
|
* the contrast regression in `src/components/a11y.kwcag.test.tsx` measures what
|
|
15
15
|
* this component actually renders rather than an arithmetic restatement of it.
|
|
16
16
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* (텍스트 콘텐츠의 명도 대비) asks 4.5:1 of text, and this is text. The `.dark`
|
|
23
|
-
* end of the ramp is `blue.200` (#7DA0E8): 6.68:1 on the surface, 7.31:1 on the
|
|
24
|
-
* page. Light is untouched — `primary.main` is 6.62:1 on white.
|
|
17
|
+
* **A selected tab is a PLACE, not a value.** It answers "where am I", which is
|
|
18
|
+
* the same question the app nav rail answers — so it is carried by ink and
|
|
19
|
+
* weight rather than by the brand hue. Colour is reserved for what a control
|
|
20
|
+
* MEANS (primary action, danger, success); spending it on chrome is what stops
|
|
21
|
+
* a state colour from registering when it appears.
|
|
25
22
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
23
|
+
* Ink also retires the defect the previous ramp was written around. The old
|
|
24
|
+
* `primary.main` label was 4.59:1 on the dark PAGE but only **4.19:1** on a
|
|
25
|
+
* raised surface, so a tab list passed every full-page scan and failed the
|
|
26
|
+
* first time it rendered inside a modal or a popover. `fg.emphasized` is the
|
|
27
|
+
* near-black/near-white step by construction — **15.49:1** on the light canvas
|
|
28
|
+
* and **13.62:1** on the dark raised surface — so no surface it can land on is
|
|
29
|
+
* marginal, and the mode-aware two-arm ramp is no longer needed.
|
|
29
30
|
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
31
|
+
* The indicator moves with the label. It was left on `primary.main` because a
|
|
32
|
+
* 2px underline is a GRAPHIC judged at 3:1, which the old value cleared — but
|
|
33
|
+
* that argument only justified LEAVING it, and an azure bar under an ink label
|
|
34
|
+
* is the half-migrated look.
|
|
35
|
+
*
|
|
36
|
+
* `primary.main` itself is not re-pegged, and should not be: it is a solid fill
|
|
37
|
+
* under white labels (`Checkbox`, `Switch`, `Banner`) where white on
|
|
38
|
+
* `blue.200` measures 2.60:1. Form controls keep the brand hue on purpose —
|
|
39
|
+
* a checkbox is a VALUE, not a place.
|
|
36
40
|
*/
|
|
37
41
|
const TAB_RAMP = {
|
|
38
|
-
label:
|
|
39
|
-
indicator: '
|
|
42
|
+
label: 'fg.emphasized',
|
|
43
|
+
indicator: 'fg.emphasized',
|
|
40
44
|
};
|
|
41
45
|
const horizontalSelectedStyles = {
|
|
42
46
|
color: TAB_RAMP.label,
|
|
@@ -53,8 +57,11 @@ const horizontalSelectedStyles = {
|
|
|
53
57
|
},
|
|
54
58
|
};
|
|
55
59
|
const verticalSelectedStyles = {
|
|
56
|
-
|
|
57
|
-
|
|
60
|
+
// Neutral fill, not a brand tint, for the same reason the label is ink: the
|
|
61
|
+
// vertical tab rail is navigation chrome. `bg.muted` inverts with the mode,
|
|
62
|
+
// where `primary.extralight` was a fixed light wash.
|
|
63
|
+
backgroundColor: 'bg.muted',
|
|
64
|
+
color: 'fg.emphasized',
|
|
58
65
|
fontWeight: 'bold',
|
|
59
66
|
_after: { content: 'none' },
|
|
60
67
|
_before: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab.styles.mjs","sources":["../../../../src/components/Tabs/Tab/Tab.styles.ts"],"sourcesContent":[null],"names":[],"mappings":";AAAA;AACO,MAAM,cAAc,GAAG;AAC5B,IAAA,iBAAiB,EAAE,MAAM;AACzB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,cAAc,EAAE,YAAY;AAC5B,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,SAAS,EAAE,MAAM;AACjB,IAAA,CAAC,EAAE,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM;;AAGf
|
|
1
|
+
{"version":3,"file":"Tab.styles.mjs","sources":["../../../../src/components/Tabs/Tab/Tab.styles.ts"],"sourcesContent":[null],"names":[],"mappings":";AAAA;AACO,MAAM,cAAc,GAAG;AAC5B,IAAA,iBAAiB,EAAE,MAAM;AACzB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,cAAc,EAAE,YAAY;AAC5B,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,SAAS,EAAE,MAAM;AACjB,IAAA,CAAC,EAAE,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM;;AAGf;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;AACI,MAAM,QAAQ,GAAG;AACtB,IAAA,KAAK,EAAE,eAAe;AACtB,IAAA,SAAS,EAAE,eAAe;;AAGrB,MAAM,wBAAwB,GAAG;IACtC,KAAK,EAAE,QAAQ,CAAC,KAAK;AACrB,IAAA,UAAU,EAAE,UAAU;AACtB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,GAAG,EAAE,kBAAkB;AACvB,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,QAAQ,CAAC,SAAS;AAC/B,KAAA;;AAGI,MAAM,sBAAsB,GAAG;;;;AAIpC,IAAA,eAAe,EAAE,UAAU;AAC3B,IAAA,KAAK,EAAE,eAAe;AACtB,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;AAC3B,IAAA,OAAO,EAAE;AACP,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,gBAAgB,EAAE,CAAC;;AAEnB,QAAA,cAAc,EAAE,OAAO;AACvB,QAAA,UAAU,EAAE,CAAC;AACb,QAAA,KAAK,EAAE,KAAK;AACZ,QAAA,UAAU,EAAE,cAAc;AAC3B,KAAA;;;;;"}
|
package/package.json
CHANGED
|
@@ -369,16 +369,38 @@ export const buttonColorPaletteStyles: Record<
|
|
|
369
369
|
* Neutral (Gray) color scheme
|
|
370
370
|
*/
|
|
371
371
|
neutral: {
|
|
372
|
+
/**
|
|
373
|
+
* The INK action — the one high-emphasis fill in the system with no hue.
|
|
374
|
+
*
|
|
375
|
+
* Was `gray.700` under a white label, which failed AA in **both** modes and
|
|
376
|
+
* failed worse in the one nobody screenshots: white on `#737D96` measures
|
|
377
|
+
* **4.12:1** in light, and the semantic gray scale inverts, so in dark the
|
|
378
|
+
* same token resolves to `grayDark.fg700` `#8D919D` and the label lands at
|
|
379
|
+
* **3.15:1**. This was the only palette x variant combination in the system
|
|
380
|
+
* below the 4.5:1 text gate.
|
|
381
|
+
*
|
|
382
|
+
* "One step darker" does not fix it — `gray.800` is 5.32:1 light but
|
|
383
|
+
* **3.08:1** dark, i.e. worse, because darkening the light arm lightens the
|
|
384
|
+
* dark one. A neutral fill has to INVERT, not shift, which is exactly what
|
|
385
|
+
* `bg.inverse` / `fg.inverse` already do: ink under a near-white label on a
|
|
386
|
+
* light page, brand paper under an ink label on a dark one. Measured
|
|
387
|
+
* **15.11:1** and **15.88:1**, with the fill itself 15.49:1 / 16.36:1 clear
|
|
388
|
+
* of its canvas so it still reads as a control.
|
|
389
|
+
*
|
|
390
|
+
* `gray.1200` / `gray.1100` for hover and active for the same reason: both
|
|
391
|
+
* step AWAY from the resting fill toward the page in whichever mode is
|
|
392
|
+
* live, because they invert too. Labels stay 10.8:1 or better throughout.
|
|
393
|
+
*/
|
|
372
394
|
solid: {
|
|
373
|
-
borderColor: '
|
|
374
|
-
bgColor: '
|
|
375
|
-
color: '
|
|
395
|
+
borderColor: 'bg.inverse',
|
|
396
|
+
bgColor: 'bg.inverse',
|
|
397
|
+
color: 'fg.inverse',
|
|
376
398
|
_hover: {
|
|
377
|
-
borderColor: 'gray.
|
|
378
|
-
bgColor: 'gray.
|
|
399
|
+
borderColor: 'gray.1200',
|
|
400
|
+
bgColor: 'gray.1200',
|
|
379
401
|
},
|
|
380
402
|
_active: {
|
|
381
|
-
bgColor: 'gray.
|
|
403
|
+
bgColor: 'gray.1100',
|
|
382
404
|
scale: '0.97',
|
|
383
405
|
},
|
|
384
406
|
},
|
|
@@ -14,29 +14,33 @@ export const verticalStyles = {
|
|
|
14
14
|
* the contrast regression in `src/components/a11y.kwcag.test.tsx` measures what
|
|
15
15
|
* this component actually renders rather than an arithmetic restatement of it.
|
|
16
16
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* (텍스트 콘텐츠의 명도 대비) asks 4.5:1 of text, and this is text. The `.dark`
|
|
23
|
-
* end of the ramp is `blue.200` (#7DA0E8): 6.68:1 on the surface, 7.31:1 on the
|
|
24
|
-
* page. Light is untouched — `primary.main` is 6.62:1 on white.
|
|
17
|
+
* **A selected tab is a PLACE, not a value.** It answers "where am I", which is
|
|
18
|
+
* the same question the app nav rail answers — so it is carried by ink and
|
|
19
|
+
* weight rather than by the brand hue. Colour is reserved for what a control
|
|
20
|
+
* MEANS (primary action, danger, success); spending it on chrome is what stops
|
|
21
|
+
* a state colour from registering when it appears.
|
|
25
22
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
23
|
+
* Ink also retires the defect the previous ramp was written around. The old
|
|
24
|
+
* `primary.main` label was 4.59:1 on the dark PAGE but only **4.19:1** on a
|
|
25
|
+
* raised surface, so a tab list passed every full-page scan and failed the
|
|
26
|
+
* first time it rendered inside a modal or a popover. `fg.emphasized` is the
|
|
27
|
+
* near-black/near-white step by construction — **15.49:1** on the light canvas
|
|
28
|
+
* and **13.62:1** on the dark raised surface — so no surface it can land on is
|
|
29
|
+
* marginal, and the mode-aware two-arm ramp is no longer needed.
|
|
29
30
|
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
31
|
+
* The indicator moves with the label. It was left on `primary.main` because a
|
|
32
|
+
* 2px underline is a GRAPHIC judged at 3:1, which the old value cleared — but
|
|
33
|
+
* that argument only justified LEAVING it, and an azure bar under an ink label
|
|
34
|
+
* is the half-migrated look.
|
|
35
|
+
*
|
|
36
|
+
* `primary.main` itself is not re-pegged, and should not be: it is a solid fill
|
|
37
|
+
* under white labels (`Checkbox`, `Switch`, `Banner`) where white on
|
|
38
|
+
* `blue.200` measures 2.60:1. Form controls keep the brand hue on purpose —
|
|
39
|
+
* a checkbox is a VALUE, not a place.
|
|
36
40
|
*/
|
|
37
41
|
export const TAB_RAMP = {
|
|
38
|
-
label:
|
|
39
|
-
indicator: '
|
|
42
|
+
label: 'fg.emphasized',
|
|
43
|
+
indicator: 'fg.emphasized',
|
|
40
44
|
} as const;
|
|
41
45
|
|
|
42
46
|
export const horizontalSelectedStyles = {
|
|
@@ -55,8 +59,11 @@ export const horizontalSelectedStyles = {
|
|
|
55
59
|
};
|
|
56
60
|
|
|
57
61
|
export const verticalSelectedStyles = {
|
|
58
|
-
|
|
59
|
-
|
|
62
|
+
// Neutral fill, not a brand tint, for the same reason the label is ink: the
|
|
63
|
+
// vertical tab rail is navigation chrome. `bg.muted` inverts with the mode,
|
|
64
|
+
// where `primary.extralight` was a fixed light wash.
|
|
65
|
+
backgroundColor: 'bg.muted',
|
|
66
|
+
color: 'fg.emphasized',
|
|
60
67
|
fontWeight: 'bold',
|
|
61
68
|
_after: { content: 'none' },
|
|
62
69
|
_before: {
|
|
@@ -2,6 +2,7 @@ import { render } from '@testing-library/react';
|
|
|
2
2
|
import axe from 'axe-core';
|
|
3
3
|
import { beforeAll, describe, expect, it } from 'vitest';
|
|
4
4
|
|
|
5
|
+
import { buttonColorPaletteStyles } from '@/components/Button/Button.styles';
|
|
5
6
|
import { FileInput } from '@/components/FileInput';
|
|
6
7
|
import { LogicianProvider } from '@/components/LogicianProvider';
|
|
7
8
|
import { baseMarkdownComponents } from '@/components/Markdown/Markdown';
|
|
@@ -370,6 +371,21 @@ describe('브랜드 색 대비 — Link · Tab 램프', () => {
|
|
|
370
371
|
base: colors.rose[900].value,
|
|
371
372
|
_dark: colors.rose[100].value,
|
|
372
373
|
},
|
|
374
|
+
// The ink steps. These INVERT rather than shift — that is the whole point,
|
|
375
|
+
// and the reason the neutral button and the selected tab can be one token
|
|
376
|
+
// in both modes instead of a two-arm ramp.
|
|
377
|
+
'fg.emphasized': {
|
|
378
|
+
base: colors.gray[1300].value,
|
|
379
|
+
_dark: colors.grayDark[200].value,
|
|
380
|
+
},
|
|
381
|
+
'bg.inverse': {
|
|
382
|
+
base: colors.gray[1300].value,
|
|
383
|
+
_dark: colors.grayDark[50].value,
|
|
384
|
+
},
|
|
385
|
+
'fg.inverse': {
|
|
386
|
+
base: colors.gray[0].value,
|
|
387
|
+
_dark: colors.grayDark[1400].value,
|
|
388
|
+
},
|
|
373
389
|
};
|
|
374
390
|
|
|
375
391
|
const resolve = (token: string, mode: 'base' | '_dark') => {
|
|
@@ -422,10 +438,10 @@ describe('브랜드 색 대비 — Link · Tab 램프', () => {
|
|
|
422
438
|
// passed every full-page scan and failed the first time a tab list rendered
|
|
423
439
|
// inside a modal. The stricter of the two surfaces is the one to hold.
|
|
424
440
|
expect(
|
|
425
|
-
contrast(resolve(TAB_RAMP.label
|
|
441
|
+
contrast(resolve(TAB_RAMP.label, 'base'), LIGHT_CANVAS)
|
|
426
442
|
).toBeGreaterThanOrEqual(AA_BODY_TEXT);
|
|
427
443
|
expect(
|
|
428
|
-
contrast(resolve(TAB_RAMP.label
|
|
444
|
+
contrast(resolve(TAB_RAMP.label, '_dark'), DARK_CANVAS)
|
|
429
445
|
).toBeGreaterThanOrEqual(AA_BODY_TEXT);
|
|
430
446
|
});
|
|
431
447
|
|
|
@@ -442,4 +458,45 @@ describe('브랜드 색 대비 — Link · Tab 램프', () => {
|
|
|
442
458
|
contrast(resolve(TAB_RAMP.indicator, '_dark'), DARK_CANVAS)
|
|
443
459
|
).toBeGreaterThanOrEqual(AA_NON_TEXT);
|
|
444
460
|
});
|
|
461
|
+
|
|
462
|
+
/**
|
|
463
|
+
* The regression this file did not have, and the defect it would have caught:
|
|
464
|
+
* `neutral` + `solid` shipped a white label on `gray.700`, which is 4.12:1 in
|
|
465
|
+
* light and 3.15:1 in dark. A neutral fill has to INVERT with the mode — a
|
|
466
|
+
* shift fixes one arm and breaks the other, which is exactly what the obvious
|
|
467
|
+
* "one step darker" does (5.32:1 light, 3.08:1 dark).
|
|
468
|
+
*/
|
|
469
|
+
it('중립 solid 버튼의 레이블이 라이트·다크 양쪽에서 4.5:1 을 넘는다', () => {
|
|
470
|
+
const { bgColor, color } = buttonColorPaletteStyles.neutral.solid;
|
|
471
|
+
|
|
472
|
+
expect(
|
|
473
|
+
contrast(
|
|
474
|
+
resolve(color as string, 'base'),
|
|
475
|
+
resolve(bgColor as string, 'base')
|
|
476
|
+
)
|
|
477
|
+
).toBeGreaterThanOrEqual(AA_BODY_TEXT);
|
|
478
|
+
expect(
|
|
479
|
+
contrast(
|
|
480
|
+
resolve(color as string, '_dark'),
|
|
481
|
+
resolve(bgColor as string, '_dark')
|
|
482
|
+
)
|
|
483
|
+
).toBeGreaterThanOrEqual(AA_BODY_TEXT);
|
|
484
|
+
});
|
|
485
|
+
|
|
486
|
+
/**
|
|
487
|
+
* A fill that does not separate from its own page is a label floating in
|
|
488
|
+
* space. Ink on charcoal is the failure mode: a FIXED near-black would be
|
|
489
|
+
* ~1.2:1 against a dark canvas, which is why `bg.inverse` inverts.
|
|
490
|
+
*/
|
|
491
|
+
it('중립 solid 버튼의 면이 양쪽 모드에서 캔버스와 3:1 이상 갈라진다', () => {
|
|
492
|
+
const AA_NON_TEXT = 3;
|
|
493
|
+
const { bgColor } = buttonColorPaletteStyles.neutral.solid;
|
|
494
|
+
|
|
495
|
+
expect(
|
|
496
|
+
contrast(resolve(bgColor as string, 'base'), LIGHT_CANVAS)
|
|
497
|
+
).toBeGreaterThanOrEqual(AA_NON_TEXT);
|
|
498
|
+
expect(
|
|
499
|
+
contrast(resolve(bgColor as string, '_dark'), DARK_CANVAS)
|
|
500
|
+
).toBeGreaterThanOrEqual(AA_NON_TEXT);
|
|
501
|
+
});
|
|
445
502
|
});
|