okchroma 0.1.2 → 0.1.4
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-lib/index.cjs
CHANGED
|
@@ -22,6 +22,7 @@ var index_exports = {};
|
|
|
22
22
|
__export(index_exports, {
|
|
23
23
|
CSS_FAMILY: () => CSS_FAMILY,
|
|
24
24
|
DEFAULT_LINK_HEX: () => DEFAULT_LINK_HEX,
|
|
25
|
+
DISABLED_OPACITY: () => DISABLED_OPACITY,
|
|
25
26
|
EXT_KEY: () => EXT_KEY,
|
|
26
27
|
INK_0: () => INK_0,
|
|
27
28
|
MODE_SPECS: () => MODE_SPECS,
|
|
@@ -2744,6 +2745,7 @@ var SCALE = {
|
|
|
2744
2745
|
};
|
|
2745
2746
|
var ABS = { req: "extreme poles for CTAs, aliased global endpoints" };
|
|
2746
2747
|
var OFFSET = { req: "min APCA visibility", theming: "offsets CTAs in themes where they sit close to the page" };
|
|
2748
|
+
var OFFSET_INVERSE = { req: "state layers over inverted backgrounds", theming: "the offset ladder with its pole flipped, so inverted grounds keep the same rungs" };
|
|
2747
2749
|
var SHADOW = { req: "drop shadows" };
|
|
2748
2750
|
var PLANE = (req) => ({ req, theming: "aliased to the gray ramp" });
|
|
2749
2751
|
var LINK = (state, contrast) => ({
|
|
@@ -2774,6 +2776,12 @@ var SYSTEM = {
|
|
|
2774
2776
|
"system/alpha/006": OFFSET,
|
|
2775
2777
|
"system/alpha/008": OFFSET,
|
|
2776
2778
|
"system/alpha/016": OFFSET,
|
|
2779
|
+
// the inverse ladder: the offset rungs with the pole flipped per mode, for
|
|
2780
|
+
// washes and edges over inverted backgrounds ("interaction" avoided in the
|
|
2781
|
+
// bodies: acti-ON would feed the "on" flood)
|
|
2782
|
+
"system/alpha/inverse-006": OFFSET_INVERSE,
|
|
2783
|
+
"system/alpha/inverse-008": OFFSET_INVERSE,
|
|
2784
|
+
"system/alpha/inverse-016": OFFSET_INVERSE,
|
|
2777
2785
|
"system/alpha/shadow-04": SHADOW,
|
|
2778
2786
|
"system/alpha/shadow-08": SHADOW,
|
|
2779
2787
|
"system/alpha/shadow-12": SHADOW,
|
|
@@ -3426,6 +3434,16 @@ var SYSTEM_LEAF = {
|
|
|
3426
3434
|
OFFSET_006: "system/alpha/006",
|
|
3427
3435
|
OFFSET_008: "system/alpha/008",
|
|
3428
3436
|
OFFSET_016: "system/alpha/016",
|
|
3437
|
+
// the INVERSE offset ladder (owner 2026-08-29, the interaction round): the
|
|
3438
|
+
// same rungs with the pole flipped per mode — white in light, black in dark
|
|
3439
|
+
// — STATE LAYERS for INVERTED grounds, whose polarity is opposite the
|
|
3440
|
+
// page's. (Never call these a "wash": that word belongs to the tinted band
|
|
3441
|
+
// stops.) The reversal lives in the engine (the system/surface posture): a
|
|
3442
|
+
// consumer on an inverted ground names one token and never picks a pole.
|
|
3443
|
+
// Colored fills never ride these; their states stay engine-solved stops.
|
|
3444
|
+
INVERSE_006: "system/alpha/inverse-006",
|
|
3445
|
+
INVERSE_008: "system/alpha/inverse-008",
|
|
3446
|
+
INVERSE_016: "system/alpha/inverse-016",
|
|
3429
3447
|
SHADOW_04: "system/alpha/shadow-04",
|
|
3430
3448
|
SHADOW_08: "system/alpha/shadow-08",
|
|
3431
3449
|
SHADOW_12: "system/alpha/shadow-12"
|
|
@@ -3488,11 +3506,17 @@ var SHADOW_ALPHAS = {
|
|
|
3488
3506
|
12: { light: 0.12, dark: 0.64 }
|
|
3489
3507
|
};
|
|
3490
3508
|
var SCRIM_ALPHA = 0.6;
|
|
3509
|
+
var DISABLED_OPACITY = 0.38;
|
|
3491
3510
|
var TRANSPARENT_VAR = "--alpha-transparent";
|
|
3492
3511
|
var offsetRgba = (rung, mode) => mode === "light" ? `rgba(0, 0, 0, ${OFFSET_ALPHAS[rung]})` : `rgba(255, 255, 255, ${OFFSET_ALPHAS[rung]})`;
|
|
3493
3512
|
var alphaRootVars = (mode) => [
|
|
3494
3513
|
` ${TRANSPARENT_VAR}: transparent;`,
|
|
3495
|
-
...Object.keys(OFFSET_ALPHAS).map(Number).sort((a, b) => a - b).map((r) => ` ${offsetVarName(r)}: ${offsetRgba(r, mode)};`)
|
|
3514
|
+
...Object.keys(OFFSET_ALPHAS).map(Number).sort((a, b) => a - b).map((r) => ` ${offsetVarName(r)}: ${offsetRgba(r, mode)};`),
|
|
3515
|
+
// the INVERSE ladder: the same rungs, pole flipped per mode — state layers
|
|
3516
|
+
// for INVERTED grounds (owner 2026-08-29; never called a "wash" — that word
|
|
3517
|
+
// is the tinted band's). One spelling with the Figma row:
|
|
3518
|
+
// --alpha-inverse-006 ↔ system/alpha/inverse-006.
|
|
3519
|
+
...Object.keys(OFFSET_ALPHAS).map(Number).sort((a, b) => a - b).map((r) => ` --alpha-inverse-${offsetLeafName(r)}: ${offsetRgba(r, mode === "light" ? "dark" : "light")};`)
|
|
3496
3520
|
];
|
|
3497
3521
|
function ctaPageLc(s, mode, page) {
|
|
3498
3522
|
const cta = mode === "light" ? s.cta : s.ctaDark;
|
|
@@ -3924,6 +3948,10 @@ function themeToFigma(r, input) {
|
|
|
3924
3948
|
putLeaf(g2, SYSTEM_LEAF.ALPHA.OFFSET_006, OFFSET_TOKEN(6, mode));
|
|
3925
3949
|
putLeaf(g2, SYSTEM_LEAF.ALPHA.OFFSET_008, OFFSET_TOKEN(8, mode));
|
|
3926
3950
|
putLeaf(g2, SYSTEM_LEAF.ALPHA.OFFSET_016, OFFSET_TOKEN(16, mode));
|
|
3951
|
+
const inv = mode === "light" ? "dark" : "light";
|
|
3952
|
+
putLeaf(g2, SYSTEM_LEAF.ALPHA.INVERSE_006, OFFSET_TOKEN(6, inv));
|
|
3953
|
+
putLeaf(g2, SYSTEM_LEAF.ALPHA.INVERSE_008, OFFSET_TOKEN(8, inv));
|
|
3954
|
+
putLeaf(g2, SYSTEM_LEAF.ALPHA.INVERSE_016, OFFSET_TOKEN(16, inv));
|
|
3927
3955
|
putLeaf(g2, SYSTEM_LEAF.ALPHA.SHADOW_04, pole(false, SHADOW_ALPHAS[4][mode]));
|
|
3928
3956
|
putLeaf(g2, SYSTEM_LEAF.ALPHA.SHADOW_08, pole(false, SHADOW_ALPHAS[8][mode]));
|
|
3929
3957
|
putLeaf(g2, SYSTEM_LEAF.ALPHA.SHADOW_12, pole(false, SHADOW_ALPHAS[12][mode]));
|
package/dist-lib/index.mjs
CHANGED
|
@@ -2666,6 +2666,7 @@ var SCALE = {
|
|
|
2666
2666
|
};
|
|
2667
2667
|
var ABS = { req: "extreme poles for CTAs, aliased global endpoints" };
|
|
2668
2668
|
var OFFSET = { req: "min APCA visibility", theming: "offsets CTAs in themes where they sit close to the page" };
|
|
2669
|
+
var OFFSET_INVERSE = { req: "state layers over inverted backgrounds", theming: "the offset ladder with its pole flipped, so inverted grounds keep the same rungs" };
|
|
2669
2670
|
var SHADOW = { req: "drop shadows" };
|
|
2670
2671
|
var PLANE = (req) => ({ req, theming: "aliased to the gray ramp" });
|
|
2671
2672
|
var LINK = (state, contrast) => ({
|
|
@@ -2696,6 +2697,12 @@ var SYSTEM = {
|
|
|
2696
2697
|
"system/alpha/006": OFFSET,
|
|
2697
2698
|
"system/alpha/008": OFFSET,
|
|
2698
2699
|
"system/alpha/016": OFFSET,
|
|
2700
|
+
// the inverse ladder: the offset rungs with the pole flipped per mode, for
|
|
2701
|
+
// washes and edges over inverted backgrounds ("interaction" avoided in the
|
|
2702
|
+
// bodies: acti-ON would feed the "on" flood)
|
|
2703
|
+
"system/alpha/inverse-006": OFFSET_INVERSE,
|
|
2704
|
+
"system/alpha/inverse-008": OFFSET_INVERSE,
|
|
2705
|
+
"system/alpha/inverse-016": OFFSET_INVERSE,
|
|
2699
2706
|
"system/alpha/shadow-04": SHADOW,
|
|
2700
2707
|
"system/alpha/shadow-08": SHADOW,
|
|
2701
2708
|
"system/alpha/shadow-12": SHADOW,
|
|
@@ -3348,6 +3355,16 @@ var SYSTEM_LEAF = {
|
|
|
3348
3355
|
OFFSET_006: "system/alpha/006",
|
|
3349
3356
|
OFFSET_008: "system/alpha/008",
|
|
3350
3357
|
OFFSET_016: "system/alpha/016",
|
|
3358
|
+
// the INVERSE offset ladder (owner 2026-08-29, the interaction round): the
|
|
3359
|
+
// same rungs with the pole flipped per mode — white in light, black in dark
|
|
3360
|
+
// — STATE LAYERS for INVERTED grounds, whose polarity is opposite the
|
|
3361
|
+
// page's. (Never call these a "wash": that word belongs to the tinted band
|
|
3362
|
+
// stops.) The reversal lives in the engine (the system/surface posture): a
|
|
3363
|
+
// consumer on an inverted ground names one token and never picks a pole.
|
|
3364
|
+
// Colored fills never ride these; their states stay engine-solved stops.
|
|
3365
|
+
INVERSE_006: "system/alpha/inverse-006",
|
|
3366
|
+
INVERSE_008: "system/alpha/inverse-008",
|
|
3367
|
+
INVERSE_016: "system/alpha/inverse-016",
|
|
3351
3368
|
SHADOW_04: "system/alpha/shadow-04",
|
|
3352
3369
|
SHADOW_08: "system/alpha/shadow-08",
|
|
3353
3370
|
SHADOW_12: "system/alpha/shadow-12"
|
|
@@ -3410,11 +3427,17 @@ var SHADOW_ALPHAS = {
|
|
|
3410
3427
|
12: { light: 0.12, dark: 0.64 }
|
|
3411
3428
|
};
|
|
3412
3429
|
var SCRIM_ALPHA = 0.6;
|
|
3430
|
+
var DISABLED_OPACITY = 0.38;
|
|
3413
3431
|
var TRANSPARENT_VAR = "--alpha-transparent";
|
|
3414
3432
|
var offsetRgba = (rung, mode) => mode === "light" ? `rgba(0, 0, 0, ${OFFSET_ALPHAS[rung]})` : `rgba(255, 255, 255, ${OFFSET_ALPHAS[rung]})`;
|
|
3415
3433
|
var alphaRootVars = (mode) => [
|
|
3416
3434
|
` ${TRANSPARENT_VAR}: transparent;`,
|
|
3417
|
-
...Object.keys(OFFSET_ALPHAS).map(Number).sort((a, b) => a - b).map((r) => ` ${offsetVarName(r)}: ${offsetRgba(r, mode)};`)
|
|
3435
|
+
...Object.keys(OFFSET_ALPHAS).map(Number).sort((a, b) => a - b).map((r) => ` ${offsetVarName(r)}: ${offsetRgba(r, mode)};`),
|
|
3436
|
+
// the INVERSE ladder: the same rungs, pole flipped per mode — state layers
|
|
3437
|
+
// for INVERTED grounds (owner 2026-08-29; never called a "wash" — that word
|
|
3438
|
+
// is the tinted band's). One spelling with the Figma row:
|
|
3439
|
+
// --alpha-inverse-006 ↔ system/alpha/inverse-006.
|
|
3440
|
+
...Object.keys(OFFSET_ALPHAS).map(Number).sort((a, b) => a - b).map((r) => ` --alpha-inverse-${offsetLeafName(r)}: ${offsetRgba(r, mode === "light" ? "dark" : "light")};`)
|
|
3418
3441
|
];
|
|
3419
3442
|
function ctaPageLc(s, mode, page) {
|
|
3420
3443
|
const cta = mode === "light" ? s.cta : s.ctaDark;
|
|
@@ -3846,6 +3869,10 @@ function themeToFigma(r, input) {
|
|
|
3846
3869
|
putLeaf(g2, SYSTEM_LEAF.ALPHA.OFFSET_006, OFFSET_TOKEN(6, mode));
|
|
3847
3870
|
putLeaf(g2, SYSTEM_LEAF.ALPHA.OFFSET_008, OFFSET_TOKEN(8, mode));
|
|
3848
3871
|
putLeaf(g2, SYSTEM_LEAF.ALPHA.OFFSET_016, OFFSET_TOKEN(16, mode));
|
|
3872
|
+
const inv = mode === "light" ? "dark" : "light";
|
|
3873
|
+
putLeaf(g2, SYSTEM_LEAF.ALPHA.INVERSE_006, OFFSET_TOKEN(6, inv));
|
|
3874
|
+
putLeaf(g2, SYSTEM_LEAF.ALPHA.INVERSE_008, OFFSET_TOKEN(8, inv));
|
|
3875
|
+
putLeaf(g2, SYSTEM_LEAF.ALPHA.INVERSE_016, OFFSET_TOKEN(16, inv));
|
|
3849
3876
|
putLeaf(g2, SYSTEM_LEAF.ALPHA.SHADOW_04, pole(false, SHADOW_ALPHAS[4][mode]));
|
|
3850
3877
|
putLeaf(g2, SYSTEM_LEAF.ALPHA.SHADOW_08, pole(false, SHADOW_ALPHAS[8][mode]));
|
|
3851
3878
|
putLeaf(g2, SYSTEM_LEAF.ALPHA.SHADOW_12, pole(false, SHADOW_ALPHAS[12][mode]));
|
|
@@ -3919,6 +3946,7 @@ function resolveDtcgRamp(group) {
|
|
|
3919
3946
|
export {
|
|
3920
3947
|
CSS_FAMILY,
|
|
3921
3948
|
DEFAULT_LINK_HEX,
|
|
3949
|
+
DISABLED_OPACITY,
|
|
3922
3950
|
EXT_KEY,
|
|
3923
3951
|
INK_0,
|
|
3924
3952
|
MODE_SPECS,
|
|
@@ -33,6 +33,7 @@ export declare const SHADOW_ALPHAS: {
|
|
|
33
33
|
};
|
|
34
34
|
export type ShadowRung = keyof typeof SHADOW_ALPHAS;
|
|
35
35
|
export declare const SCRIM_ALPHA = 0.6;
|
|
36
|
+
export declare const DISABLED_OPACITY = 0.38;
|
|
36
37
|
export declare const TRANSPARENT_VAR = "--alpha-transparent";
|
|
37
38
|
export declare const offsetRgba: (rung: OffsetRung, mode: "light" | "dark") => string;
|
|
38
39
|
export declare const alphaRootVars: (mode: "light" | "dark") => string[];
|
|
@@ -31,6 +31,9 @@ export declare const SYSTEM_LEAF: {
|
|
|
31
31
|
readonly OFFSET_006: "system/alpha/006";
|
|
32
32
|
readonly OFFSET_008: "system/alpha/008";
|
|
33
33
|
readonly OFFSET_016: "system/alpha/016";
|
|
34
|
+
readonly INVERSE_006: "system/alpha/inverse-006";
|
|
35
|
+
readonly INVERSE_008: "system/alpha/inverse-008";
|
|
36
|
+
readonly INVERSE_016: "system/alpha/inverse-016";
|
|
34
37
|
readonly SHADOW_04: "system/alpha/shadow-04";
|
|
35
38
|
readonly SHADOW_08: "system/alpha/shadow-08";
|
|
36
39
|
readonly SHADOW_12: "system/alpha/shadow-12";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { generateScale, generateNeutralScale, generateSubtleSecondary, type GeneratedScale, type ColorStop, type GenerateOptions, type NeutralLevel, type ContrastProfile, } from './engine/colorEngine';
|
|
2
2
|
export { resolveBrand, resolveTheme, resolveLinkTrio, resolveLinkInverseTrio, DEFAULT_LINK_HEX, SIGNAL_SCALES, signalScalesFor, SECONDARY_DISTINCT_DELTA_E, SUBTLE_TINT_MULT, SUBTLE_PASTEL_K, OUTLINE_HOVER_ALPHA, type ResolvedBrand, type ResolvedTheme, type ResolvedSecondary, type SecondaryLevel, type SecondaryStyle, type SignalOverride, } from './engine/resolve';
|
|
3
|
-
export { brandCss, neutralCss, signalsCss, stopsToVars, toHex, stopHex, OFFSET_ALPHAS, SHADOW_ALPHAS, SCRIM_ALPHA, type ShadowRung, ctaNeedsBorder, ctaBorderRung, pageStopFor, } from './engine/cssRender';
|
|
3
|
+
export { brandCss, neutralCss, signalsCss, stopsToVars, toHex, stopHex, OFFSET_ALPHAS, SHADOW_ALPHAS, SCRIM_ALPHA, DISABLED_OPACITY, type ShadowRung, ctaNeedsBorder, ctaBorderRung, pageStopFor, } from './engine/cssRender';
|
|
4
4
|
export { CSS_FAMILY } from './engine/tokenDescriptions';
|
|
5
5
|
export { themeToFigma, type FigmaGroup, type FigmaColorToken, type ThemeInput, } from './engine/figmaRender';
|
|
6
6
|
export { emitDtcgRamp, resolveDtcgRamp, parseToken, EXT_KEY, RESOLVER_ID, type DtcgRampGroup, type DtcgRequirementToken, type DtcgSeedToken, type DtcgColorValue, } from './engine/requirements/dtcg';
|
package/package.json
CHANGED
package/tokens/semantic.css
CHANGED
|
@@ -43,6 +43,11 @@
|
|
|
43
43
|
--shadow-04: rgba(0, 0, 0, 0.04);
|
|
44
44
|
--shadow-08: rgba(0, 0, 0, 0.08);
|
|
45
45
|
--shadow-12: rgba(0, 0, 0, 0.12);
|
|
46
|
+
|
|
47
|
+
/* Disabled opacity (owner 2026-08-29): disabled is a COMPONENT-LEVEL opacity —
|
|
48
|
+
colors stay the enabled ones and never swap. Mode-invariant; mirrors the JS
|
|
49
|
+
API's DISABLED_OPACITY constant 1:1. */
|
|
50
|
+
--disabled-opacity: 0.38;
|
|
46
51
|
}
|
|
47
52
|
|
|
48
53
|
[data-brand][data-theme="dark"] {
|