@vellira-ui/tokens 2.98.7 → 2.99.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/tokens.css +30 -24
- package/dist/dark/components/contextMenu.d.ts +13 -3
- package/dist/dark/components/contextMenu.d.ts.map +1 -1
- package/dist/dark/components/contextMenu.js +0 -2
- package/dist/dark/components/dropdown.d.ts +13 -3
- package/dist/dark/components/dropdown.d.ts.map +1 -1
- package/dist/dark/components/dropdown.js +2 -2
- package/dist/dark/components/modal.d.ts +16 -7
- package/dist/dark/components/modal.d.ts.map +1 -1
- package/dist/dark/components/modal.js +0 -2
- package/dist/dark/components/popover.d.ts +5 -25
- package/dist/dark/components/popover.d.ts.map +1 -1
- package/dist/dark/components/popover.js +0 -4
- package/dist/dark/components/select.d.ts +9 -2
- package/dist/dark/components/select.d.ts.map +1 -1
- package/dist/dark/components/select.js +3 -3
- package/dist/dark/components/tooltip.d.ts.map +1 -1
- package/dist/dark/components/tooltip.js +0 -2
- package/dist/dark/semantic/surface.d.ts +1 -0
- package/dist/dark/semantic/surface.d.ts.map +1 -1
- package/dist/dark/semantic/surface.js +1 -0
- package/dist/factories/componentFocusRing.d.ts +4 -2
- package/dist/factories/componentFocusRing.d.ts.map +1 -1
- package/dist/factories/componentFocusRing.js +2 -1
- package/dist/factories/createContextMenuTokens.d.ts +49 -18
- package/dist/factories/createContextMenuTokens.d.ts.map +1 -1
- package/dist/factories/createContextMenuTokens.js +3 -3
- package/dist/factories/createModalTokens.d.ts +39 -20
- package/dist/factories/createModalTokens.d.ts.map +1 -1
- package/dist/factories/createModalTokens.js +4 -6
- package/dist/factories/createPopoverTokens.d.ts +11 -19
- package/dist/factories/createPopoverTokens.d.ts.map +1 -1
- package/dist/factories/createPopoverTokens.js +3 -7
- package/dist/factories/createTooltipTokens.d.ts +4 -7
- package/dist/factories/createTooltipTokens.d.ts.map +1 -1
- package/dist/factories/createTooltipTokens.js +4 -4
- package/dist/generated/token-types.d.ts +7 -6
- package/dist/generated/token-types.d.ts.map +1 -1
- package/dist/generated/token-types.js +8 -16
- package/dist/highContrast/components/contextMenu.d.ts +13 -3
- package/dist/highContrast/components/contextMenu.d.ts.map +1 -1
- package/dist/highContrast/components/contextMenu.js +0 -2
- package/dist/highContrast/components/dropdown.d.ts +13 -3
- package/dist/highContrast/components/dropdown.d.ts.map +1 -1
- package/dist/highContrast/components/dropdown.js +2 -2
- package/dist/highContrast/components/modal.d.ts +16 -7
- package/dist/highContrast/components/modal.d.ts.map +1 -1
- package/dist/highContrast/components/modal.js +0 -2
- package/dist/highContrast/components/popover.d.ts +5 -25
- package/dist/highContrast/components/popover.d.ts.map +1 -1
- package/dist/highContrast/components/popover.js +0 -4
- package/dist/highContrast/components/select.d.ts +9 -2
- package/dist/highContrast/components/select.d.ts.map +1 -1
- package/dist/highContrast/components/select.js +3 -3
- package/dist/highContrast/components/tooltip.d.ts.map +1 -1
- package/dist/highContrast/components/tooltip.js +0 -2
- package/dist/highContrast/semantic/surface.d.ts +1 -0
- package/dist/highContrast/semantic/surface.d.ts.map +1 -1
- package/dist/highContrast/semantic/surface.js +1 -0
- package/dist/light/components/contextMenu.d.ts +13 -3
- package/dist/light/components/contextMenu.d.ts.map +1 -1
- package/dist/light/components/contextMenu.js +0 -2
- package/dist/light/components/dropdown.d.ts +13 -3
- package/dist/light/components/dropdown.d.ts.map +1 -1
- package/dist/light/components/dropdown.js +2 -2
- package/dist/light/components/modal.d.ts +16 -7
- package/dist/light/components/modal.d.ts.map +1 -1
- package/dist/light/components/modal.js +0 -2
- package/dist/light/components/popover.d.ts +5 -25
- package/dist/light/components/popover.d.ts.map +1 -1
- package/dist/light/components/popover.js +0 -4
- package/dist/light/components/select.d.ts +9 -2
- package/dist/light/components/select.d.ts.map +1 -1
- package/dist/light/components/select.js +3 -3
- package/dist/light/components/tooltip.d.ts.map +1 -1
- package/dist/light/components/tooltip.js +0 -2
- package/dist/light/semantic/surface.d.ts +1 -0
- package/dist/light/semantic/surface.d.ts.map +1 -1
- package/dist/light/semantic/surface.js +1 -0
- package/dist/platform-output/component-token-intents.d.ts +71 -0
- package/dist/platform-output/component-token-intents.d.ts.map +1 -0
- package/dist/platform-output/component-token-intents.js +110 -0
- package/dist/platform-output/component-token-web-compatibility.d.ts +32 -0
- package/dist/platform-output/component-token-web-compatibility.d.ts.map +1 -0
- package/dist/platform-output/component-token-web-compatibility.js +40 -0
- package/dist/preservation/token-migrations.d.ts +44 -5
- package/dist/preservation/token-migrations.d.ts.map +1 -1
- package/dist/preservation/token-migrations.js +73 -1
- package/dist/token-architecture.d.ts +4 -4
- package/dist/token-architecture.d.ts.map +1 -1
- package/dist/token-architecture.js +4 -1
- package/package.json +1 -1
|
@@ -3,14 +3,12 @@ import { radius } from '../../tokens/radius.js';
|
|
|
3
3
|
import { spacing } from '../../tokens/spacing.js';
|
|
4
4
|
import { focus } from '../semantic/focus.js';
|
|
5
5
|
import { overlay } from '../semantic/overlay.js';
|
|
6
|
-
import { shadow } from '../semantic/shadow.js';
|
|
7
6
|
import { surface } from '../semantic/surface.js';
|
|
8
7
|
import { text } from '../semantic/text.js';
|
|
9
8
|
export const modal = createModalTokensFromSemantics({
|
|
10
9
|
focus,
|
|
11
10
|
overlay,
|
|
12
11
|
radius,
|
|
13
|
-
shadow,
|
|
14
12
|
spacing,
|
|
15
13
|
surface,
|
|
16
14
|
text,
|
|
@@ -3,31 +3,11 @@ export declare const popover: {
|
|
|
3
3
|
readonly bg: string;
|
|
4
4
|
readonly fg: string;
|
|
5
5
|
readonly border: string;
|
|
6
|
-
readonly shadow: {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
readonly blur: 3;
|
|
12
|
-
readonly color: "#000000";
|
|
13
|
-
readonly opacity: 0.04;
|
|
14
|
-
readonly elevation: 1;
|
|
15
|
-
} | {
|
|
16
|
-
readonly x: 0;
|
|
17
|
-
readonly y: 6;
|
|
18
|
-
readonly blur: 16;
|
|
19
|
-
readonly color: "#000000";
|
|
20
|
-
readonly opacity: 0.08;
|
|
21
|
-
readonly elevation: 4;
|
|
22
|
-
} | {
|
|
23
|
-
readonly x: 0;
|
|
24
|
-
readonly y: 12;
|
|
25
|
-
readonly blur: 32;
|
|
26
|
-
readonly color: "#000000";
|
|
27
|
-
readonly opacity: 0.1;
|
|
28
|
-
readonly elevation: 8;
|
|
29
|
-
};
|
|
30
|
-
};
|
|
6
|
+
readonly shadow: Readonly<{
|
|
7
|
+
kind: "shadow";
|
|
8
|
+
role: "elevation";
|
|
9
|
+
level: import("../../platform-output/component-token-intents.js").ComponentShadowLevel;
|
|
10
|
+
}>;
|
|
31
11
|
readonly borderWidth: 1;
|
|
32
12
|
readonly radius: number;
|
|
33
13
|
readonly padding: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../src/light/components/popover.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../src/light/components/popover.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlB,CAAC"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { createPopoverTokensFromTheme } from '../../factories/createPopoverTokens.js';
|
|
2
2
|
import { radius } from '../../tokens/radius.js';
|
|
3
|
-
import { shadows } from '../../tokens/shadows.js';
|
|
4
3
|
import { spacing } from '../../tokens/spacing.js';
|
|
5
4
|
import { overlay } from '../semantic/overlay.js';
|
|
6
|
-
import { shadow } from '../semantic/shadow.js';
|
|
7
5
|
import { text } from '../semantic/text.js';
|
|
8
6
|
export const popover = createPopoverTokensFromTheme({
|
|
9
7
|
overlay,
|
|
10
|
-
shadow,
|
|
11
|
-
shadows,
|
|
12
8
|
text,
|
|
13
9
|
radius,
|
|
14
10
|
spacing,
|
|
@@ -2411,7 +2411,11 @@ export declare const select: {
|
|
|
2411
2411
|
readonly bg: "#FFFFFF";
|
|
2412
2412
|
readonly fg: "#3D3754";
|
|
2413
2413
|
readonly border: "transparent";
|
|
2414
|
-
readonly shadow:
|
|
2414
|
+
readonly shadow: Readonly<{
|
|
2415
|
+
kind: "shadow";
|
|
2416
|
+
role: "elevation";
|
|
2417
|
+
level: import("../../platform-output/component-token-intents.js").ComponentShadowLevel;
|
|
2418
|
+
}>;
|
|
2415
2419
|
readonly search: {
|
|
2416
2420
|
readonly bg: "#FAF8FF";
|
|
2417
2421
|
readonly fg: "#3D3754";
|
|
@@ -2462,7 +2466,10 @@ export declare const select: {
|
|
|
2462
2466
|
readonly bg: "#E9E6FF";
|
|
2463
2467
|
readonly fg: "#342580";
|
|
2464
2468
|
readonly border: "#B8A8FF";
|
|
2465
|
-
readonly shadow:
|
|
2469
|
+
readonly shadow: Readonly<{
|
|
2470
|
+
kind: "shadow";
|
|
2471
|
+
role: "none";
|
|
2472
|
+
}>;
|
|
2466
2473
|
};
|
|
2467
2474
|
readonly disabled: {
|
|
2468
2475
|
readonly border: "transparent";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/light/components/select.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/light/components/select.ts"],"names":[],"mappings":"AA6EA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4MT,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createInputColorPalette } from '../../factories/createInputPalette.js';
|
|
2
2
|
import { createSelectPalette } from '../../factories/createSelectPalette.js';
|
|
3
|
+
import { createComponentNoShadowIntent, createComponentShadowIntent, } from '../../platform-output/component-token-intents.js';
|
|
3
4
|
import { colors } from '../../primitives/colors.js';
|
|
4
5
|
import { border } from '../semantic/border.js';
|
|
5
6
|
import { control } from '../semantic/control.js';
|
|
6
7
|
import { focus } from '../semantic/focus.js';
|
|
7
8
|
import { icons } from '../semantic/icons.js';
|
|
8
9
|
import { menu } from '../semantic/menu.js';
|
|
9
|
-
import { shadow } from '../semantic/shadow.js';
|
|
10
10
|
import { status } from '../semantic/status.js';
|
|
11
11
|
import { surface } from '../semantic/surface.js';
|
|
12
12
|
import { text } from '../semantic/text.js';
|
|
@@ -165,7 +165,7 @@ export const select = {
|
|
|
165
165
|
bg: menu.background,
|
|
166
166
|
fg: menu.item.default.fg,
|
|
167
167
|
border: 'transparent',
|
|
168
|
-
shadow:
|
|
168
|
+
shadow: createComponentShadowIntent('lg'),
|
|
169
169
|
search: {
|
|
170
170
|
bg: surface.default,
|
|
171
171
|
fg: text.primary,
|
|
@@ -212,7 +212,7 @@ export const select = {
|
|
|
212
212
|
bg: control.selected.muted.bg,
|
|
213
213
|
fg: control.selected.muted.fg,
|
|
214
214
|
border: control.selected.muted.border,
|
|
215
|
-
shadow:
|
|
215
|
+
shadow: createComponentNoShadowIntent(),
|
|
216
216
|
},
|
|
217
217
|
disabled: {
|
|
218
218
|
...menu.item.disabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../src/light/components/tooltip.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../src/light/components/tooltip.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,gEAKlB,CAAC"}
|
|
@@ -3,10 +3,8 @@ import { radius } from '../../tokens/radius.js';
|
|
|
3
3
|
import { spacing } from '../../tokens/spacing.js';
|
|
4
4
|
import { typography } from '../../tokens/typography.js';
|
|
5
5
|
import { overlay } from '../semantic/overlay.js';
|
|
6
|
-
import { shadow } from '../semantic/shadow.js';
|
|
7
6
|
export const tooltip = createTooltipTokensFromTheme({
|
|
8
7
|
overlay,
|
|
9
|
-
shadow,
|
|
10
8
|
radius,
|
|
11
9
|
spacing,
|
|
12
10
|
typography,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../../src/light/semantic/surface.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../../src/light/semantic/surface.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO;;;;;;;;;;;;;CAgBV,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export declare const componentShadowLevels: readonly ["sm", "md", "lg", "xl"];
|
|
2
|
+
export type ComponentShadowLevel = (typeof componentShadowLevels)[number];
|
|
3
|
+
export type ComponentElevationShadowIntent = Readonly<{
|
|
4
|
+
kind: 'shadow';
|
|
5
|
+
role: 'elevation';
|
|
6
|
+
level: ComponentShadowLevel;
|
|
7
|
+
}>;
|
|
8
|
+
export type ComponentFocusRingShadowIntent = Readonly<{
|
|
9
|
+
kind: 'shadow';
|
|
10
|
+
role: 'focus-ring';
|
|
11
|
+
}>;
|
|
12
|
+
export type ComponentNoShadowIntent = Readonly<{
|
|
13
|
+
kind: 'shadow';
|
|
14
|
+
role: 'none';
|
|
15
|
+
}>;
|
|
16
|
+
export type ComponentShadowIntent = ComponentElevationShadowIntent | ComponentFocusRingShadowIntent | ComponentNoShadowIntent;
|
|
17
|
+
export type ComponentViewportHeightIntent = Readonly<{
|
|
18
|
+
kind: 'viewport-height';
|
|
19
|
+
ratio: number;
|
|
20
|
+
}>;
|
|
21
|
+
export type ComponentPlatformIntent = ComponentShadowIntent | ComponentViewportHeightIntent;
|
|
22
|
+
export type ReactNativeShadowOutput = Readonly<{
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
blur: number;
|
|
26
|
+
color: string;
|
|
27
|
+
opacity: number;
|
|
28
|
+
elevation: number;
|
|
29
|
+
}>;
|
|
30
|
+
export type ComponentPlatformOutputSources = Readonly<{
|
|
31
|
+
web: {
|
|
32
|
+
shadow: Readonly<Record<ComponentShadowLevel, string>>;
|
|
33
|
+
focusRingShadow: string;
|
|
34
|
+
};
|
|
35
|
+
reactNative: {
|
|
36
|
+
shadow: Readonly<Record<ComponentShadowLevel, ReactNativeShadowOutput>>;
|
|
37
|
+
};
|
|
38
|
+
}>;
|
|
39
|
+
type ComponentOutputThemeSources = Readonly<{
|
|
40
|
+
semantic: {
|
|
41
|
+
focus: {
|
|
42
|
+
ring: {
|
|
43
|
+
shadow: string;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
shadow: Readonly<Record<ComponentShadowLevel, string>>;
|
|
47
|
+
};
|
|
48
|
+
tokens: {
|
|
49
|
+
shadows: Readonly<Record<'sm' | 'md' | 'lg', ReactNativeShadowOutput>>;
|
|
50
|
+
};
|
|
51
|
+
}>;
|
|
52
|
+
type WebAdaptedIntent<T> = T extends ComponentPlatformIntent ? string : never;
|
|
53
|
+
type ReactNativeAdaptedIntent<T> = T extends ComponentElevationShadowIntent ? ReactNativeShadowOutput : T extends ComponentFocusRingShadowIntent | ComponentNoShadowIntent ? null : T extends ComponentViewportHeightIntent ? string : never;
|
|
54
|
+
export type WebComponentTokens<T> = T extends ComponentPlatformIntent ? WebAdaptedIntent<T> : T extends readonly (infer TEntry)[] ? readonly WebComponentTokens<TEntry>[] : T extends object ? {
|
|
55
|
+
readonly [K in keyof T]: WebComponentTokens<T[K]>;
|
|
56
|
+
} : T;
|
|
57
|
+
export type ReactNativeComponentTokens<T> = T extends ComponentPlatformIntent ? ReactNativeAdaptedIntent<T> : T extends readonly (infer TEntry)[] ? readonly ReactNativeComponentTokens<TEntry>[] : T extends object ? {
|
|
58
|
+
readonly [K in keyof T]: ReactNativeComponentTokens<T[K]>;
|
|
59
|
+
} : T;
|
|
60
|
+
export declare function createComponentShadowIntent(level: ComponentShadowLevel): ComponentElevationShadowIntent;
|
|
61
|
+
export declare function createComponentFocusRingShadowIntent(): ComponentFocusRingShadowIntent;
|
|
62
|
+
export declare function createComponentNoShadowIntent(): ComponentNoShadowIntent;
|
|
63
|
+
export declare function createComponentViewportHeightIntent(ratio: number): ComponentViewportHeightIntent;
|
|
64
|
+
export declare function isComponentPlatformIntent(value: unknown): value is ComponentPlatformIntent;
|
|
65
|
+
export declare function createComponentPlatformOutputSources(theme: ComponentOutputThemeSources): ComponentPlatformOutputSources;
|
|
66
|
+
export declare function resolveComponentIntentForWeb(intent: ComponentPlatformIntent, sources: ComponentPlatformOutputSources): string;
|
|
67
|
+
export declare function resolveComponentIntentForReactNative(intent: ComponentPlatformIntent, sources: ComponentPlatformOutputSources): string | ReactNativeShadowOutput | null;
|
|
68
|
+
export declare function adaptComponentTokensForWeb<T>(components: T, sources: ComponentPlatformOutputSources): WebComponentTokens<T>;
|
|
69
|
+
export declare function adaptComponentTokensForReactNative<T>(components: T, sources: ComponentPlatformOutputSources): ReactNativeComponentTokens<T>;
|
|
70
|
+
export {};
|
|
71
|
+
//# sourceMappingURL=component-token-intents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-token-intents.d.ts","sourceRoot":"","sources":["../../src/platform-output/component-token-intents.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,mCAAoC,CAAC;AAEvE,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CAAC;IACpD,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,oBAAoB,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CAAC;IACpD,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAC7B,8BAA8B,GAC9B,8BAA8B,GAC9B,uBAAuB,CAAC;AAE5B,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAAC;IACnD,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GACjC,qBAAqB,GAAG,6BAA6B,CAAC;AAExD,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CAAC;IACpD,GAAG,EAAE;QACH,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;QACvD,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,WAAW,EAAE;QACX,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,CAAC,CAAC;KACzE,CAAC;CACH,CAAC,CAAC;AAEH,KAAK,2BAA2B,GAAG,QAAQ,CAAC;IAC1C,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,MAAM,EAAE,MAAM,CAAC;aAChB,CAAC;SACH,CAAC;QACF,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;KACxD,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC;KACxE,CAAC;CACH,CAAC,CAAC;AAEH,KAAK,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,uBAAuB,GAAG,MAAM,GAAG,KAAK,CAAC;AAE9E,KAAK,wBAAwB,CAAC,CAAC,IAAI,CAAC,SAAS,8BAA8B,GACvE,uBAAuB,GACvB,CAAC,SAAS,8BAA8B,GAAG,uBAAuB,GAChE,IAAI,GACJ,CAAC,SAAS,6BAA6B,GACrC,MAAM,GACN,KAAK,CAAC;AAEd,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,uBAAuB,GACjE,gBAAgB,CAAC,CAAC,CAAC,GACnB,CAAC,SAAS,SAAS,CAAC,MAAM,MAAM,CAAC,EAAE,GACjC,SAAS,kBAAkB,CAAC,MAAM,CAAC,EAAE,GACrC,CAAC,SAAS,MAAM,GACd;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACrD,CAAC,CAAC;AAEV,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI,CAAC,SAAS,uBAAuB,GACzE,wBAAwB,CAAC,CAAC,CAAC,GAC3B,CAAC,SAAS,SAAS,CAAC,MAAM,MAAM,CAAC,EAAE,GACjC,SAAS,0BAA0B,CAAC,MAAM,CAAC,EAAE,GAC7C,CAAC,SAAS,MAAM,GACd;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC7D,CAAC,CAAC;AAEV,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,oBAAoB,GAC1B,8BAA8B,CAEhC;AAED,wBAAgB,oCAAoC,IAAI,8BAA8B,CAErF;AAED,wBAAgB,6BAA6B,IAAI,uBAAuB,CAEvE;AAED,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,MAAM,GACZ,6BAA6B,CAQ/B;AAcD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,uBAAuB,CA4BlC;AAED,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,2BAA2B,GACjC,8BAA8B,CAsBhC;AASD,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,8BAA8B,GACtC,MAAM,CAQR;AAED,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,8BAA8B,GACtC,MAAM,GAAG,uBAAuB,GAAG,IAAI,CAOzC;AA0BD,wBAAgB,0BAA0B,CAAC,CAAC,EAC1C,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,8BAA8B,GACtC,kBAAkB,CAAC,CAAC,CAAC,CAIvB;AAED,wBAAgB,kCAAkC,CAAC,CAAC,EAClD,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,8BAA8B,GACtC,0BAA0B,CAAC,CAAC,CAAC,CAI/B"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
export const componentShadowLevels = ['sm', 'md', 'lg', 'xl'];
|
|
2
|
+
export function createComponentShadowIntent(level) {
|
|
3
|
+
return { kind: 'shadow', role: 'elevation', level };
|
|
4
|
+
}
|
|
5
|
+
export function createComponentFocusRingShadowIntent() {
|
|
6
|
+
return { kind: 'shadow', role: 'focus-ring' };
|
|
7
|
+
}
|
|
8
|
+
export function createComponentNoShadowIntent() {
|
|
9
|
+
return { kind: 'shadow', role: 'none' };
|
|
10
|
+
}
|
|
11
|
+
export function createComponentViewportHeightIntent(ratio) {
|
|
12
|
+
if (!Number.isFinite(ratio) || ratio <= 0 || ratio > 1) {
|
|
13
|
+
throw new Error(`Component viewport-height ratio must be finite and within (0, 1], received ${ratio}.`);
|
|
14
|
+
}
|
|
15
|
+
return { kind: 'viewport-height', ratio };
|
|
16
|
+
}
|
|
17
|
+
function hasExactKeys(candidate, expectedKeys) {
|
|
18
|
+
const actualKeys = Object.keys(candidate);
|
|
19
|
+
return (actualKeys.length === expectedKeys.length &&
|
|
20
|
+
actualKeys.every((key) => expectedKeys.includes(key)));
|
|
21
|
+
}
|
|
22
|
+
export function isComponentPlatformIntent(value) {
|
|
23
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
const candidate = value;
|
|
27
|
+
if (candidate.kind === 'shadow') {
|
|
28
|
+
if (candidate.role === 'focus-ring' || candidate.role === 'none') {
|
|
29
|
+
return hasExactKeys(candidate, ['kind', 'role']);
|
|
30
|
+
}
|
|
31
|
+
return (candidate.role === 'elevation' &&
|
|
32
|
+
hasExactKeys(candidate, ['kind', 'role', 'level']) &&
|
|
33
|
+
typeof candidate.level === 'string' &&
|
|
34
|
+
componentShadowLevels.includes(candidate.level));
|
|
35
|
+
}
|
|
36
|
+
return (candidate.kind === 'viewport-height' &&
|
|
37
|
+
hasExactKeys(candidate, ['kind', 'ratio']) &&
|
|
38
|
+
typeof candidate.ratio === 'number' &&
|
|
39
|
+
Number.isFinite(candidate.ratio) &&
|
|
40
|
+
candidate.ratio > 0 &&
|
|
41
|
+
candidate.ratio <= 1);
|
|
42
|
+
}
|
|
43
|
+
export function createComponentPlatformOutputSources(theme) {
|
|
44
|
+
return {
|
|
45
|
+
web: {
|
|
46
|
+
shadow: {
|
|
47
|
+
sm: theme.semantic.shadow.sm,
|
|
48
|
+
md: theme.semantic.shadow.md,
|
|
49
|
+
lg: theme.semantic.shadow.lg,
|
|
50
|
+
xl: theme.semantic.shadow.xl,
|
|
51
|
+
},
|
|
52
|
+
focusRingShadow: theme.semantic.focus.ring.shadow,
|
|
53
|
+
},
|
|
54
|
+
reactNative: {
|
|
55
|
+
shadow: {
|
|
56
|
+
sm: theme.tokens.shadows.sm,
|
|
57
|
+
md: theme.tokens.shadows.md,
|
|
58
|
+
lg: theme.tokens.shadows.lg,
|
|
59
|
+
// Preserve current native Modal output. #885 owns the later authority
|
|
60
|
+
// decision for whether an independent structured xl shadow is needed.
|
|
61
|
+
xl: theme.tokens.shadows.lg,
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function formatPercentage(ratio) {
|
|
67
|
+
const percentage = ratio * 100;
|
|
68
|
+
return Number.isInteger(percentage)
|
|
69
|
+
? String(percentage)
|
|
70
|
+
: String(Number(percentage.toFixed(4)));
|
|
71
|
+
}
|
|
72
|
+
export function resolveComponentIntentForWeb(intent, sources) {
|
|
73
|
+
if (intent.kind === 'viewport-height') {
|
|
74
|
+
return `${formatPercentage(intent.ratio)}vh`;
|
|
75
|
+
}
|
|
76
|
+
if (intent.role === 'focus-ring')
|
|
77
|
+
return sources.web.focusRingShadow;
|
|
78
|
+
if (intent.role === 'none')
|
|
79
|
+
return 'none';
|
|
80
|
+
return sources.web.shadow[intent.level];
|
|
81
|
+
}
|
|
82
|
+
export function resolveComponentIntentForReactNative(intent, sources) {
|
|
83
|
+
if (intent.kind === 'viewport-height') {
|
|
84
|
+
return `${formatPercentage(intent.ratio)}%`;
|
|
85
|
+
}
|
|
86
|
+
if (intent.role === 'focus-ring' || intent.role === 'none')
|
|
87
|
+
return null;
|
|
88
|
+
return sources.reactNative.shadow[intent.level];
|
|
89
|
+
}
|
|
90
|
+
function adaptComponentTokenTree(value, resolveIntent) {
|
|
91
|
+
if (isComponentPlatformIntent(value)) {
|
|
92
|
+
return resolveIntent(value);
|
|
93
|
+
}
|
|
94
|
+
if (Array.isArray(value)) {
|
|
95
|
+
return value.map((entry) => adaptComponentTokenTree(entry, resolveIntent));
|
|
96
|
+
}
|
|
97
|
+
if (typeof value === 'object' && value !== null) {
|
|
98
|
+
return Object.fromEntries(Object.entries(value).map(([key, entry]) => [
|
|
99
|
+
key,
|
|
100
|
+
adaptComponentTokenTree(entry, resolveIntent),
|
|
101
|
+
]));
|
|
102
|
+
}
|
|
103
|
+
return value;
|
|
104
|
+
}
|
|
105
|
+
export function adaptComponentTokensForWeb(components, sources) {
|
|
106
|
+
return adaptComponentTokenTree(components, (intent) => resolveComponentIntentForWeb(intent, sources));
|
|
107
|
+
}
|
|
108
|
+
export function adaptComponentTokensForReactNative(components, sources) {
|
|
109
|
+
return adaptComponentTokenTree(components, (intent) => resolveComponentIntentForReactNative(intent, sources));
|
|
110
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Legacy Web output identities retained by #884 only for compatibility.
|
|
3
|
+
*
|
|
4
|
+
* These paths are not canonical component tokens. They exist after the
|
|
5
|
+
* renderer-neutral component boundary and are intentionally revisited by #889.
|
|
6
|
+
*/
|
|
7
|
+
export declare const componentTokenWebCompatibilityAliases: readonly [{
|
|
8
|
+
readonly path: "components.modal.content.nativeMaxHeight";
|
|
9
|
+
readonly variable: "--modal-content-native-max-height";
|
|
10
|
+
}, {
|
|
11
|
+
readonly path: "components.popover.content.shadow.web";
|
|
12
|
+
readonly variable: "--popover-content-shadow-web";
|
|
13
|
+
}, {
|
|
14
|
+
readonly path: "components.popover.content.shadow.native.x";
|
|
15
|
+
readonly variable: "--popover-content-shadow-native-x";
|
|
16
|
+
}, {
|
|
17
|
+
readonly path: "components.popover.content.shadow.native.y";
|
|
18
|
+
readonly variable: "--popover-content-shadow-native-y";
|
|
19
|
+
}, {
|
|
20
|
+
readonly path: "components.popover.content.shadow.native.blur";
|
|
21
|
+
readonly variable: "--popover-content-shadow-native-blur";
|
|
22
|
+
}, {
|
|
23
|
+
readonly path: "components.popover.content.shadow.native.color";
|
|
24
|
+
readonly variable: "--popover-content-shadow-native-color";
|
|
25
|
+
}, {
|
|
26
|
+
readonly path: "components.popover.content.shadow.native.opacity";
|
|
27
|
+
readonly variable: "--popover-content-shadow-native-opacity";
|
|
28
|
+
}, {
|
|
29
|
+
readonly path: "components.popover.content.shadow.native.elevation";
|
|
30
|
+
readonly variable: "--popover-content-shadow-native-elevation";
|
|
31
|
+
}];
|
|
32
|
+
//# sourceMappingURL=component-token-web-compatibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-token-web-compatibility.d.ts","sourceRoot":"","sources":["../../src/platform-output/component-token-web-compatibility.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;EAiCxC,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Legacy Web output identities retained by #884 only for compatibility.
|
|
3
|
+
*
|
|
4
|
+
* These paths are not canonical component tokens. They exist after the
|
|
5
|
+
* renderer-neutral component boundary and are intentionally revisited by #889.
|
|
6
|
+
*/
|
|
7
|
+
export const componentTokenWebCompatibilityAliases = [
|
|
8
|
+
{
|
|
9
|
+
path: 'components.modal.content.nativeMaxHeight',
|
|
10
|
+
variable: '--modal-content-native-max-height',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
path: 'components.popover.content.shadow.web',
|
|
14
|
+
variable: '--popover-content-shadow-web',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
path: 'components.popover.content.shadow.native.x',
|
|
18
|
+
variable: '--popover-content-shadow-native-x',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
path: 'components.popover.content.shadow.native.y',
|
|
22
|
+
variable: '--popover-content-shadow-native-y',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
path: 'components.popover.content.shadow.native.blur',
|
|
26
|
+
variable: '--popover-content-shadow-native-blur',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
path: 'components.popover.content.shadow.native.color',
|
|
30
|
+
variable: '--popover-content-shadow-native-color',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
path: 'components.popover.content.shadow.native.opacity',
|
|
34
|
+
variable: '--popover-content-shadow-native-opacity',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
path: 'components.popover.content.shadow.native.elevation',
|
|
38
|
+
variable: '--popover-content-shadow-native-elevation',
|
|
39
|
+
},
|
|
40
|
+
];
|
|
@@ -77,24 +77,24 @@ export declare const tokenMigrationManifestV1: ({
|
|
|
77
77
|
readonly equivalence: "The paired canonical #882 rename preserves the resolved design value; only the Web CSS variable identity changes from active to pressed.";
|
|
78
78
|
readonly evidence: "Token preservation validates the canonical/RN value-preserving rename; generated CSS checks and pinned Linux visual regression validate Web output.";
|
|
79
79
|
} | {
|
|
80
|
-
readonly id: "883-action-secondary-default-border-rename" | "883-action-secondary-default-fg-rename" | "883-action-secondary-default-bg-rename" | "883-action-secondary-hover-border-rename" | "883-action-secondary-hover-fg-rename" | "883-action-secondary-hover-bg-rename" | "883-action-secondary-active-border-rename" | "883-action-secondary-active-fg-rename" | "883-action-secondary-active-bg-rename" | "883-action-secondary-subtle-border-rename" | "883-action-secondary-subtle-fg-rename" | "883-action-secondary-subtle-bg-rename" | "883-action-secondary-muted-border-rename" | "883-action-secondary-muted-fg-rename" | "883-action-secondary-muted-bg-rename" | "883-action-close-default-border-rename" | "883-action-close-default-fg-rename" | "883-action-close-default-bg-rename" | "883-action-close-hover-border-rename" | "883-action-close-hover-fg-rename" | "883-action-close-hover-bg-rename" | "883-action-close-active-border-rename" | "883-action-close-active-fg-rename" | "883-action-close-active-bg-rename" | "883-action-close-subtle-border-rename" | "883-action-close-subtle-fg-rename" | "883-action-close-subtle-bg-rename" | "883-action-close-muted-border-rename" | "883-action-close-muted-fg-rename" | "883-action-close-muted-bg-rename" | "883-status-
|
|
80
|
+
readonly id: "883-action-secondary-default-border-rename" | "883-action-secondary-default-fg-rename" | "883-action-secondary-default-bg-rename" | "883-action-secondary-hover-border-rename" | "883-action-secondary-hover-fg-rename" | "883-action-secondary-hover-bg-rename" | "883-action-secondary-active-border-rename" | "883-action-secondary-active-fg-rename" | "883-action-secondary-active-bg-rename" | "883-action-secondary-subtle-border-rename" | "883-action-secondary-subtle-fg-rename" | "883-action-secondary-subtle-bg-rename" | "883-action-secondary-muted-border-rename" | "883-action-secondary-muted-fg-rename" | "883-action-secondary-muted-bg-rename" | "883-action-close-default-border-rename" | "883-action-close-default-fg-rename" | "883-action-close-default-bg-rename" | "883-action-close-hover-border-rename" | "883-action-close-hover-fg-rename" | "883-action-close-hover-bg-rename" | "883-action-close-active-border-rename" | "883-action-close-active-fg-rename" | "883-action-close-active-bg-rename" | "883-action-close-subtle-border-rename" | "883-action-close-subtle-fg-rename" | "883-action-close-subtle-bg-rename" | "883-action-close-muted-border-rename" | "883-action-close-muted-fg-rename" | "883-action-close-muted-bg-rename" | "883-status-info-strong-rename" | "883-status-success-strong-rename" | "883-status-error-strong-rename" | "883-status-warning-strong-rename" | "883-icons-primary-rename" | "883-icons-hover-rename" | "883-border-focus-rename" | "883-focus-ring-offset-rename" | "883-overlay-popover-bg-rename" | "883-overlay-popover-border-rename" | "883-overlay-modal-bg-rename" | "883-overlay-modal-border-rename";
|
|
81
81
|
readonly kind: "rename";
|
|
82
82
|
readonly issue: "#883";
|
|
83
83
|
readonly reason: "Rename a public semantic role to Semantic Vocabulary V1 while preserving its resolved design value.";
|
|
84
84
|
readonly platforms: readonly ["react-native"];
|
|
85
|
-
readonly from: "semantic.action.secondary.default.border" | "semantic.action.secondary.default.fg" | "semantic.action.secondary.default.bg" | "semantic.action.secondary.hover.border" | "semantic.action.secondary.hover.fg" | "semantic.action.secondary.hover.bg" | "semantic.action.secondary.active.border" | "semantic.action.secondary.active.fg" | "semantic.action.secondary.active.bg" | "semantic.action.secondary.subtle.border" | "semantic.action.secondary.subtle.fg" | "semantic.action.secondary.subtle.bg" | "semantic.action.secondary.muted.border" | "semantic.action.secondary.muted.fg" | "semantic.action.secondary.muted.bg" | "semantic.action.close.default.border" | "semantic.action.close.default.fg" | "semantic.action.close.default.bg" | "semantic.action.close.hover.border" | "semantic.action.close.hover.fg" | "semantic.action.close.hover.bg" | "semantic.action.close.active.border" | "semantic.action.close.active.fg" | "semantic.action.close.active.bg" | "semantic.action.close.subtle.border" | "semantic.action.close.subtle.fg" | "semantic.action.close.subtle.bg" | "semantic.action.close.muted.border" | "semantic.action.close.muted.fg" | "semantic.action.close.muted.bg" | "semantic.status.
|
|
85
|
+
readonly from: "semantic.action.secondary.default.border" | "semantic.action.secondary.default.fg" | "semantic.action.secondary.default.bg" | "semantic.action.secondary.hover.border" | "semantic.action.secondary.hover.fg" | "semantic.action.secondary.hover.bg" | "semantic.action.secondary.active.border" | "semantic.action.secondary.active.fg" | "semantic.action.secondary.active.bg" | "semantic.action.secondary.subtle.border" | "semantic.action.secondary.subtle.fg" | "semantic.action.secondary.subtle.bg" | "semantic.action.secondary.muted.border" | "semantic.action.secondary.muted.fg" | "semantic.action.secondary.muted.bg" | "semantic.action.close.default.border" | "semantic.action.close.default.fg" | "semantic.action.close.default.bg" | "semantic.action.close.hover.border" | "semantic.action.close.hover.fg" | "semantic.action.close.hover.bg" | "semantic.action.close.active.border" | "semantic.action.close.active.fg" | "semantic.action.close.active.bg" | "semantic.action.close.subtle.border" | "semantic.action.close.subtle.fg" | "semantic.action.close.subtle.bg" | "semantic.action.close.muted.border" | "semantic.action.close.muted.fg" | "semantic.action.close.muted.bg" | "semantic.status.info.strong" | "semantic.status.success.strong" | "semantic.status.error.strong" | "semantic.status.warning.strong" | "semantic.icons.primary" | "semantic.icons.hover" | "semantic.border.focus" | "semantic.focus.ring.offset" | "semantic.overlay.popover.bg" | "semantic.overlay.popover.border" | "semantic.overlay.modal.bg" | "semantic.overlay.modal.border";
|
|
86
86
|
readonly to: "semantic.action.accent.default.bg" | "semantic.action.accent.default.border" | "semantic.action.accent.default.fg" | "semantic.action.accent.hover.bg" | "semantic.action.accent.hover.border" | "semantic.action.accent.hover.fg" | "semantic.action.accent.muted.bg" | "semantic.action.accent.muted.border" | "semantic.action.accent.muted.fg" | "semantic.action.accent.pressed.bg" | "semantic.action.accent.pressed.border" | "semantic.action.accent.pressed.fg" | "semantic.action.accent.subtle.bg" | "semantic.action.accent.subtle.border" | "semantic.action.accent.subtle.fg" | "semantic.action.neutral.default.bg" | "semantic.action.neutral.default.border" | "semantic.action.neutral.default.fg" | "semantic.action.neutral.hover.bg" | "semantic.action.neutral.hover.border" | "semantic.action.neutral.hover.fg" | "semantic.action.neutral.muted.bg" | "semantic.action.neutral.muted.border" | "semantic.action.neutral.muted.fg" | "semantic.action.neutral.pressed.bg" | "semantic.action.neutral.pressed.border" | "semantic.action.neutral.pressed.fg" | "semantic.action.neutral.subtle.bg" | "semantic.action.neutral.subtle.border" | "semantic.action.neutral.subtle.fg" | "semantic.border.interactive" | "semantic.focus.ring.offsetColor" | "semantic.icons.interactive" | "semantic.icons.interactiveHover" | "semantic.overlay.dialog.bg" | "semantic.overlay.dialog.border" | "semantic.overlay.floating.bg" | "semantic.overlay.floating.border" | "semantic.status.error.emphasisFg" | "semantic.status.info.emphasisFg" | "semantic.status.success.emphasisFg" | "semantic.status.warning.emphasisFg";
|
|
87
87
|
readonly layer?: undefined;
|
|
88
88
|
readonly equivalence?: undefined;
|
|
89
89
|
readonly evidence?: undefined;
|
|
90
90
|
} | {
|
|
91
|
-
readonly id: "883-action-secondary-default-border-web-identity" | "883-action-secondary-default-fg-web-identity" | "883-action-secondary-default-bg-web-identity" | "883-action-secondary-hover-border-web-identity" | "883-action-secondary-hover-fg-web-identity" | "883-action-secondary-hover-bg-web-identity" | "883-action-secondary-active-border-web-identity" | "883-action-secondary-active-fg-web-identity" | "883-action-secondary-active-bg-web-identity" | "883-action-secondary-subtle-border-web-identity" | "883-action-secondary-subtle-fg-web-identity" | "883-action-secondary-subtle-bg-web-identity" | "883-action-secondary-muted-border-web-identity" | "883-action-secondary-muted-fg-web-identity" | "883-action-secondary-muted-bg-web-identity" | "883-action-close-default-border-web-identity" | "883-action-close-default-fg-web-identity" | "883-action-close-default-bg-web-identity" | "883-action-close-hover-border-web-identity" | "883-action-close-hover-fg-web-identity" | "883-action-close-hover-bg-web-identity" | "883-action-close-active-border-web-identity" | "883-action-close-active-fg-web-identity" | "883-action-close-active-bg-web-identity" | "883-action-close-subtle-border-web-identity" | "883-action-close-subtle-fg-web-identity" | "883-action-close-subtle-bg-web-identity" | "883-action-close-muted-border-web-identity" | "883-action-close-muted-fg-web-identity" | "883-action-close-muted-bg-web-identity" | "883-status-
|
|
91
|
+
readonly id: "883-action-secondary-default-border-web-identity" | "883-action-secondary-default-fg-web-identity" | "883-action-secondary-default-bg-web-identity" | "883-action-secondary-hover-border-web-identity" | "883-action-secondary-hover-fg-web-identity" | "883-action-secondary-hover-bg-web-identity" | "883-action-secondary-active-border-web-identity" | "883-action-secondary-active-fg-web-identity" | "883-action-secondary-active-bg-web-identity" | "883-action-secondary-subtle-border-web-identity" | "883-action-secondary-subtle-fg-web-identity" | "883-action-secondary-subtle-bg-web-identity" | "883-action-secondary-muted-border-web-identity" | "883-action-secondary-muted-fg-web-identity" | "883-action-secondary-muted-bg-web-identity" | "883-action-close-default-border-web-identity" | "883-action-close-default-fg-web-identity" | "883-action-close-default-bg-web-identity" | "883-action-close-hover-border-web-identity" | "883-action-close-hover-fg-web-identity" | "883-action-close-hover-bg-web-identity" | "883-action-close-active-border-web-identity" | "883-action-close-active-fg-web-identity" | "883-action-close-active-bg-web-identity" | "883-action-close-subtle-border-web-identity" | "883-action-close-subtle-fg-web-identity" | "883-action-close-subtle-bg-web-identity" | "883-action-close-muted-border-web-identity" | "883-action-close-muted-fg-web-identity" | "883-action-close-muted-bg-web-identity" | "883-status-info-strong-web-identity" | "883-status-success-strong-web-identity" | "883-status-error-strong-web-identity" | "883-status-warning-strong-web-identity" | "883-icons-primary-web-identity" | "883-icons-hover-web-identity" | "883-border-focus-web-identity" | "883-focus-ring-offset-web-identity" | "883-overlay-popover-bg-web-identity" | "883-overlay-popover-border-web-identity" | "883-overlay-modal-bg-web-identity" | "883-overlay-modal-border-web-identity";
|
|
92
92
|
readonly kind: "representation-change";
|
|
93
93
|
readonly layer: "platform-output";
|
|
94
94
|
readonly issue: "#883";
|
|
95
95
|
readonly reason: "Align the public Web CSS variable identity with the normalized Semantic Vocabulary V1 role.";
|
|
96
96
|
readonly platforms: readonly ["web"];
|
|
97
|
-
readonly from: "semantic.action.secondary.default.border" | "semantic.action.secondary.default.fg" | "semantic.action.secondary.default.bg" | "semantic.action.secondary.hover.border" | "semantic.action.secondary.hover.fg" | "semantic.action.secondary.hover.bg" | "semantic.action.secondary.active.border" | "semantic.action.secondary.active.fg" | "semantic.action.secondary.active.bg" | "semantic.action.secondary.subtle.border" | "semantic.action.secondary.subtle.fg" | "semantic.action.secondary.subtle.bg" | "semantic.action.secondary.muted.border" | "semantic.action.secondary.muted.fg" | "semantic.action.secondary.muted.bg" | "semantic.action.close.default.border" | "semantic.action.close.default.fg" | "semantic.action.close.default.bg" | "semantic.action.close.hover.border" | "semantic.action.close.hover.fg" | "semantic.action.close.hover.bg" | "semantic.action.close.active.border" | "semantic.action.close.active.fg" | "semantic.action.close.active.bg" | "semantic.action.close.subtle.border" | "semantic.action.close.subtle.fg" | "semantic.action.close.subtle.bg" | "semantic.action.close.muted.border" | "semantic.action.close.muted.fg" | "semantic.action.close.muted.bg" | "semantic.status.
|
|
97
|
+
readonly from: "semantic.action.secondary.default.border" | "semantic.action.secondary.default.fg" | "semantic.action.secondary.default.bg" | "semantic.action.secondary.hover.border" | "semantic.action.secondary.hover.fg" | "semantic.action.secondary.hover.bg" | "semantic.action.secondary.active.border" | "semantic.action.secondary.active.fg" | "semantic.action.secondary.active.bg" | "semantic.action.secondary.subtle.border" | "semantic.action.secondary.subtle.fg" | "semantic.action.secondary.subtle.bg" | "semantic.action.secondary.muted.border" | "semantic.action.secondary.muted.fg" | "semantic.action.secondary.muted.bg" | "semantic.action.close.default.border" | "semantic.action.close.default.fg" | "semantic.action.close.default.bg" | "semantic.action.close.hover.border" | "semantic.action.close.hover.fg" | "semantic.action.close.hover.bg" | "semantic.action.close.active.border" | "semantic.action.close.active.fg" | "semantic.action.close.active.bg" | "semantic.action.close.subtle.border" | "semantic.action.close.subtle.fg" | "semantic.action.close.subtle.bg" | "semantic.action.close.muted.border" | "semantic.action.close.muted.fg" | "semantic.action.close.muted.bg" | "semantic.status.info.strong" | "semantic.status.success.strong" | "semantic.status.error.strong" | "semantic.status.warning.strong" | "semantic.icons.primary" | "semantic.icons.hover" | "semantic.border.focus" | "semantic.focus.ring.offset" | "semantic.overlay.popover.bg" | "semantic.overlay.popover.border" | "semantic.overlay.modal.bg" | "semantic.overlay.modal.border";
|
|
98
98
|
readonly to: "semantic.action.accent.default.bg" | "semantic.action.accent.default.border" | "semantic.action.accent.default.fg" | "semantic.action.accent.hover.bg" | "semantic.action.accent.hover.border" | "semantic.action.accent.hover.fg" | "semantic.action.accent.muted.bg" | "semantic.action.accent.muted.border" | "semantic.action.accent.muted.fg" | "semantic.action.accent.pressed.bg" | "semantic.action.accent.pressed.border" | "semantic.action.accent.pressed.fg" | "semantic.action.accent.subtle.bg" | "semantic.action.accent.subtle.border" | "semantic.action.accent.subtle.fg" | "semantic.action.neutral.default.bg" | "semantic.action.neutral.default.border" | "semantic.action.neutral.default.fg" | "semantic.action.neutral.hover.bg" | "semantic.action.neutral.hover.border" | "semantic.action.neutral.hover.fg" | "semantic.action.neutral.muted.bg" | "semantic.action.neutral.muted.border" | "semantic.action.neutral.muted.fg" | "semantic.action.neutral.pressed.bg" | "semantic.action.neutral.pressed.border" | "semantic.action.neutral.pressed.fg" | "semantic.action.neutral.subtle.bg" | "semantic.action.neutral.subtle.border" | "semantic.action.neutral.subtle.fg" | "semantic.border.interactive" | "semantic.focus.ring.offsetColor" | "semantic.icons.interactive" | "semantic.icons.interactiveHover" | "semantic.overlay.dialog.bg" | "semantic.overlay.dialog.border" | "semantic.overlay.floating.bg" | "semantic.overlay.floating.border" | "semantic.status.error.emphasisFg" | "semantic.status.info.emphasisFg" | "semantic.status.success.emphasisFg" | "semantic.status.warning.emphasisFg";
|
|
99
99
|
readonly equivalence: "The paired canonical #883 rename preserves the resolved design value; only the public Web CSS variable identity changes.";
|
|
100
100
|
readonly evidence: "Token preservation validates the canonical/RN rename; generated CSS and pinned Linux visual regression validate Web output identity.";
|
|
@@ -102,8 +102,14 @@ export declare const tokenMigrationManifestV1: ({
|
|
|
102
102
|
readonly id: `883-remove-${string}`;
|
|
103
103
|
readonly kind: "remove";
|
|
104
104
|
readonly issue: "#883";
|
|
105
|
-
readonly reason: "Remove
|
|
105
|
+
readonly reason: "Remove ambiguous surface.background after consumers are split by purpose: application roots use surface.canvas and bounded neutral containers use the explicit surface.panel role introduced by #912." | "Remove the unused legacy semantic.navigation namespace instead of preserving a duplicate component-history vocabulary.";
|
|
106
106
|
readonly from: "semantic.surface.background" | "semantic.navigation.hover.bg" | "semantic.navigation.hover.fg" | "semantic.navigation.active.bg" | "semantic.navigation.active.fg" | "semantic.navigation.brandHover.bg" | "semantic.navigation.brandHover.fg" | "semantic.navigation.tabHover.fg" | "semantic.navigation.tabFocus.ring" | "semantic.navigation.optionHover.bg" | "semantic.navigation.optionHover.fg" | "semantic.navigation.optionActive.bg" | "semantic.navigation.optionActive.fg" | "semantic.navigation.triggerHover.bg" | "semantic.navigation.triggerHover.fg" | "semantic.navigation.border";
|
|
107
|
+
} | {
|
|
108
|
+
readonly id: "912-surface-panel-addition";
|
|
109
|
+
readonly kind: "addition";
|
|
110
|
+
readonly issue: "#912";
|
|
111
|
+
readonly reason: "Add an explicit bounded neutral panel/chrome role after the #883 audit missed authored CSS consumers of the removed surface.background variable; panel preserves those historical bounded-container values without changing canvas or elevated semantics.";
|
|
112
|
+
readonly to: "semantic.surface.panel";
|
|
107
113
|
} | {
|
|
108
114
|
readonly id: "883-dark-text-muted-hierarchy";
|
|
109
115
|
readonly kind: "visual-change";
|
|
@@ -239,6 +245,39 @@ export declare const tokenMigrationManifestV1: ({
|
|
|
239
245
|
readonly from: "components.select.clearButton.fg";
|
|
240
246
|
readonly approved: true;
|
|
241
247
|
readonly approvalEvidence: "#879/#883 explicitly authorizes Semantic Vocabulary V1 normalization and the narrowly scoped hierarchy/status corrections inside existing Vellira palettes; token preservation plus pinned Linux visual regression are required evidence.";
|
|
248
|
+
} | {
|
|
249
|
+
readonly id: `884-representation-${string}`;
|
|
250
|
+
readonly kind: "representation-change";
|
|
251
|
+
readonly layer: "canonical";
|
|
252
|
+
readonly issue: "#884";
|
|
253
|
+
readonly reason: "Replace renderer-shaped canonical component storage with a renderer-neutral intent at the same logical token path.";
|
|
254
|
+
readonly from: "components.contextMenu.content.shadow" | "components.contextMenu.item.focus.ring.shadow" | "components.contextMenu.trigger.focus.ring.shadow" | "components.dropdown.content.shadow" | "components.dropdown.item.focus.ring.shadow" | "components.dropdown.trigger.focus.ring.shadow" | "components.modal.closeButton.focus.ring.shadow" | "components.modal.content.maxHeight" | "components.modal.content.shadow" | "components.select.dropdown.shadow" | "components.select.option.selected.shadow" | "components.tooltip.content.shadow";
|
|
255
|
+
readonly equivalence: "The canonical representation changes only; Web resolves the intent to the pre-#884 CSS value and React Native resolves consumed elevation/layout intents to the pre-#884 native presentation output.";
|
|
256
|
+
readonly evidence: "#880 preservation locks serialized Web output while component-token-output-equivalence regressions cover Web and React Native adapters for Light, Dark, and High Contrast themes.";
|
|
257
|
+
} | {
|
|
258
|
+
readonly id: `884-remove-${string}`;
|
|
259
|
+
readonly kind: "remove";
|
|
260
|
+
readonly issue: "#884";
|
|
261
|
+
readonly reason: "Remove renderer-specific canonical storage after the same renderer output moved behind the platform-output adapter; the Web identity remains a compatibility alias until #889.";
|
|
262
|
+
readonly platforms: readonly ["react-native"];
|
|
263
|
+
readonly from: "components.modal.content.nativeMaxHeight" | "components.popover.content.shadow.native.x" | "components.popover.content.shadow.native.y" | "components.popover.content.shadow.native.blur" | "components.popover.content.shadow.native.color" | "components.popover.content.shadow.native.opacity" | "components.popover.content.shadow.native.elevation";
|
|
264
|
+
} | {
|
|
265
|
+
readonly id: "884-popover-shadow-web-to-canonical-intent";
|
|
266
|
+
readonly kind: "representation-change";
|
|
267
|
+
readonly layer: "canonical";
|
|
268
|
+
readonly issue: "#884";
|
|
269
|
+
readonly reason: "Collapse the old Popover shadow.web branch into one renderer-neutral canonical shadow intent.";
|
|
270
|
+
readonly from: "components.popover.content.shadow.web";
|
|
271
|
+
readonly to: "components.popover.content.shadow";
|
|
272
|
+
readonly equivalence: "The new canonical lg elevation intent resolves to the same semantic lg Web shadow and the same structured native lg shadow used before #884.";
|
|
273
|
+
readonly evidence: "#880 preservation retains the legacy Web output identity and component-token-output-equivalence regressions lock the Web/RN adapter results for all three themes.";
|
|
274
|
+
} | {
|
|
275
|
+
readonly id: "884-popover-normalized-web-shadow-output";
|
|
276
|
+
readonly kind: "addition";
|
|
277
|
+
readonly issue: "#884";
|
|
278
|
+
readonly reason: "Expose the normalized Popover shadow path in Web platform output while retaining the old renderer-shaped CSS identities as compatibility aliases until #889.";
|
|
279
|
+
readonly platforms: readonly ["web"];
|
|
280
|
+
readonly to: "components.popover.content.shadow";
|
|
242
281
|
} | {
|
|
243
282
|
id: string;
|
|
244
283
|
kind: "remove";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-migrations.d.ts","sourceRoot":"","sources":["../../src/preservation/token-migrations.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mCAAmC,EAC9C,0CAAmD,CAAC;AAEtD,eAAO,MAAM,mBAAmB,8FAOtB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,eAAO,MAAM,wBAAwB,6CAI3B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhF,eAAO,MAAM,uBAAuB,kCAAmC,CAAC;AAExE,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,KAAK,kBAAkB,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC5C,SAAS,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACtD,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG;IACrD,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG;IACvD,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GAAG;IACxD,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,KAAK,gCAAgC,GAAG,IAAI,CAC1C,kBAAkB,EAClB,WAAW,CACZ,GAAG;IACF,IAAI,EAAE,uBAAuB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAIF,MAAM,MAAM,qCAAqC,GAC/C,gCAAgC,GAAG;IACjC,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB,CAAC;AAEJ,MAAM,MAAM,oCAAoC,GAC9C,gCAAgC,GAAG;IACjC,KAAK,EAAE,iBAAiB,CAAC;IACzB,SAAS,EAAE,SAAS,CAAC,sBAAsB,EAAE,GAAG,sBAAsB,EAAE,CAAC,CAAC;CAC3E,CAAC;AAEJ,MAAM,MAAM,4BAA4B,GACtC,qCAAqC,GAAG,oCAAoC,CAAC;AAE/E,MAAM,MAAM,0BAA0B,GAAG,kBAAkB,GAAG;IAC5D,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,IAAI,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B,oBAAoB,GACpB,mBAAmB,GACnB,qBAAqB,GACrB,sBAAsB,GACtB,4BAA4B,GAC5B,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"token-migrations.d.ts","sourceRoot":"","sources":["../../src/preservation/token-migrations.ts"],"names":[],"mappings":"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"}
|