@aloudata/aloudata-design 3.0.20 → 3.0.22
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/README.md +145 -59
- package/dist/Alert/index.js +1 -1
- package/dist/Alert/index.js.map +1 -1
- package/dist/App/index.d.ts +3 -0
- package/dist/App/index.js +12 -10
- package/dist/App/index.js.map +1 -1
- package/dist/Avatar/component/Avatar/index.js +2 -2
- package/dist/Avatar/component/Avatar/index.js.map +1 -1
- package/dist/Avatar/component/Avatar/type.js +3 -3
- package/dist/Avatar/component/Avatar/type.js.map +1 -1
- package/dist/Badge/index.js +5 -5
- package/dist/Badge/index.js.map +1 -1
- package/dist/Breadcrumb/index.js +4 -4
- package/dist/Breadcrumb/index.js.map +1 -1
- package/dist/Button/index.js +8 -8
- package/dist/Button/index.js.map +1 -1
- package/dist/Card/index.js +1 -1
- package/dist/Card/index.js.map +1 -1
- package/dist/Checkbox/index.js +3 -3
- package/dist/Checkbox/index.js.map +1 -1
- package/dist/Collapse/index.js +1 -1
- package/dist/Collapse/index.js.map +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorAlphaInput.js +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorAlphaInput.js.map +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorHsbInput.js +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorHsbInput.js.map +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorRgbInput.js +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorRgbInput.js.map +1 -1
- package/dist/ColorPicker/ComplexColorPicker/index.js +2 -2
- package/dist/ColorPicker/ComplexColorPicker/index.js.map +1 -1
- package/dist/ColorPicker/index.js +11 -11
- package/dist/ColorPicker/index.js.map +1 -1
- package/dist/ColorPicker/util.d.ts +1 -1
- package/dist/ColorPicker/util.js.map +1 -1
- package/dist/DataPreviewTable/components/Body/Cell.js +2 -2
- package/dist/DataPreviewTable/components/Body/Cell.js.map +1 -1
- package/dist/DataPreviewTable/components/Body/index.js +1 -1
- package/dist/DataPreviewTable/components/Body/index.js.map +1 -1
- package/dist/DataPreviewTable/components/DragBar/index.js +1 -1
- package/dist/DataPreviewTable/components/DragBar/index.js.map +1 -1
- package/dist/DataPreviewTable/components/Header/index.js +3 -3
- package/dist/DataPreviewTable/components/Header/index.js.map +1 -1
- package/dist/DataPreviewTable/index.js +1 -1
- package/dist/DataPreviewTable/index.js.map +1 -1
- package/dist/Divider/index.js +1 -1
- package/dist/Divider/index.js.map +1 -1
- package/dist/Drawer/index.js +3 -3
- package/dist/Drawer/index.js.map +1 -1
- package/dist/Dropdown/index.d.ts +5 -0
- package/dist/Dropdown/index.js +3 -1
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/Empty/image/Data.js +16 -16
- package/dist/Empty/image/Data.js.map +1 -1
- package/dist/Empty/image/User.js +16 -16
- package/dist/Empty/image/User.js.map +1 -1
- package/dist/Empty/image/WorkBook.js +17 -17
- package/dist/Empty/image/WorkBook.js.map +1 -1
- package/dist/Form/index.js +2 -2
- package/dist/Form/index.js.map +1 -1
- package/dist/Icon/components/SortAscendingOrderColor.js +1 -1
- package/dist/Icon/components/SortAscendingOrderColor.js.map +1 -1
- package/dist/Icon/components/SortDescendingOrderColor.js +1 -1
- package/dist/Icon/components/SortDescendingOrderColor.js.map +1 -1
- package/dist/Icon/components/User.js +2 -2
- package/dist/Icon/components/User.js.map +1 -1
- package/dist/Icon/components/UserGroup.js +2 -2
- package/dist/Icon/components/UserGroup.js.map +1 -1
- package/dist/Input/components/Input/index.js +3 -4
- package/dist/Input/components/Input/index.js.map +1 -1
- package/dist/Input/components/TextArea/index.js +3 -3
- package/dist/Input/components/TextArea/index.js.map +1 -1
- package/dist/InputNumber/index.js +4 -4
- package/dist/InputNumber/index.js.map +1 -1
- package/dist/LogicTree/components/LogicItem/index.js +2 -2
- package/dist/LogicTree/components/LogicItem/index.js.map +1 -1
- package/dist/MemberPicker/components/SelectedMemberTags.js +1 -1
- package/dist/MemberPicker/components/SelectedMemberTags.js.map +1 -1
- package/dist/Modal/index.js +8 -8
- package/dist/Modal/index.js.map +1 -1
- package/dist/Popconfirm/index.js +1 -1
- package/dist/Popconfirm/index.js.map +1 -1
- package/dist/Popover/index.js +2 -2
- package/dist/Popover/index.js.map +1 -1
- package/dist/Progress/index.js +1 -1
- package/dist/Progress/index.js.map +1 -1
- package/dist/RenameInput/index.js +4 -4
- package/dist/RenameInput/index.js.map +1 -1
- package/dist/Result/index.js +4 -4
- package/dist/Result/index.js.map +1 -1
- package/dist/Select/BaseSelect.js +2 -1
- package/dist/Select/BaseSelect.js.map +1 -1
- package/dist/Select/components/Suffix.js +3 -3
- package/dist/Select/components/Suffix.js.map +1 -1
- package/dist/Slider/index.js +4 -4
- package/dist/Slider/index.js.map +1 -1
- package/dist/Spin/CustomIcon/index.js +2 -2
- package/dist/Spin/CustomIcon/index.js.map +1 -1
- package/dist/StatusLight/index.js +15 -15
- package/dist/StatusLight/index.js.map +1 -1
- package/dist/Steps/index.js +6 -6
- package/dist/Steps/index.js.map +1 -1
- package/dist/Switch/index.js +3 -3
- package/dist/Switch/index.js.map +1 -1
- package/dist/Table/components/Header.js +3 -3
- package/dist/Table/components/Header.js.map +1 -1
- package/dist/Tabs/index.js +9 -9
- package/dist/Tabs/index.js.map +1 -1
- package/dist/Tag/index.js +11 -11
- package/dist/Tag/index.js.map +1 -1
- package/dist/TextLink/index.js +2 -2
- package/dist/TextLink/index.js.map +1 -1
- package/dist/Tooltip/index.js +3 -3
- package/dist/Tooltip/index.js.map +1 -1
- package/dist/Tour/index.js +1 -1
- package/dist/Tour/index.js.map +1 -1
- package/dist/Tree/Tree2.js +2 -2
- package/dist/Tree/Tree2.js.map +1 -1
- package/dist/Typography/index.js +1 -1
- package/dist/Typography/index.js.map +1 -1
- package/dist/User/index.js +1 -1
- package/dist/User/index.js.map +1 -1
- package/dist/Watermark/index.js +2 -1
- package/dist/Watermark/index.js.map +1 -1
- package/dist/aloudata-design.css +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +11 -5
- package/dist/message/index.js +1 -1
- package/dist/message/index.js.map +1 -1
- package/dist/notification/index.js +5 -5
- package/dist/notification/index.js.map +1 -1
- package/dist/theme/contract/baselineResolvedTokenValueManifest.d.ts +22 -0
- package/dist/theme/contract/darkResolvedTokenValueManifest.d.ts +5 -0
- package/dist/theme/contract/darkResolvedTokenValueManifest.js +2 -0
- package/dist/theme/contract/resolvedTokenValueManifest.d.ts +3 -0
- package/dist/theme/contract/resolvedTokenValueManifest.js +2 -0
- package/dist/theme/contract/shadowGeneratorSpecification.d.ts +37 -0
- package/dist/theme/contract/shadowGeneratorSpecification.js +2 -0
- package/dist/theme/contract/tokenCssBridge.d.ts +60 -0
- package/dist/theme/contract/tokenCssBridge.js +2 -0
- package/dist/theme/contract/tokenOutputContract.d.ts +35 -0
- package/dist/theme/contract/tokenOutputContract.js +198 -0
- package/dist/theme/contract/tokenOutputContract.js.map +1 -0
- package/dist/theme/generator/acceptedColorValues.d.ts +97 -0
- package/dist/theme/generator/acceptedColorValues.js +2 -0
- package/dist/theme/generator/baselineTokenValueDelivery.d.ts +21 -0
- package/dist/theme/generator/baselineTokenValueDelivery.js +2 -0
- package/dist/theme/generator/cssArtifactEmitter.d.ts +62 -0
- package/dist/theme/generator/cssArtifactEmitter.js +2 -0
- package/dist/theme/generator/generator.d.ts +41 -0
- package/dist/theme/generator/generator.js +2 -0
- package/dist/theme/generator/generatorDiff.d.ts +53 -0
- package/dist/theme/generator/generatorDiff.js +2 -0
- package/dist/theme/generator/generatorEmitter.d.ts +73 -0
- package/dist/theme/generator/generatorEmitter.js +2 -0
- package/dist/theme/generator/generatorMappingStrategy.d.ts +43 -0
- package/dist/theme/generator/generatorMappingStrategy.js +2 -0
- package/dist/theme/generator/generatorOutputSchema.d.ts +80 -0
- package/dist/theme/generator/generatorOutputSchema.js +2 -0
- package/dist/theme/generator/minimalAcceptedColorValues.d.ts +27 -0
- package/dist/theme/generator/minimalAcceptedColorValues.js +2 -0
- package/dist/theme/generator/valueResolver.d.ts +64 -0
- package/dist/theme/generator/valueResolver.js +2 -0
- package/dist/theme/governance/migrationMappingRegistry.d.ts +22 -0
- package/dist/theme/governance/migrationMappingRegistry.js +459 -0
- package/dist/theme/governance/migrationMappingRegistry.js.map +1 -0
- package/dist/theme/governance/reviewGate.d.ts +33 -0
- package/dist/theme/governance/reviewGate.js +116 -0
- package/dist/theme/governance/reviewGate.js.map +1 -0
- package/dist/theme/governance/validateMigrationMapping.d.ts +50 -0
- package/dist/theme/governance/validateMigrationMapping.js +157 -0
- package/dist/theme/governance/validateMigrationMapping.js.map +1 -0
- package/dist/theme/index.d.ts +16 -5
- package/dist/theme/index.js +10 -4
- package/dist/theme/runtime/colorValueMode/dark.d.ts +1 -0
- package/dist/theme/runtime/colorValueMode/dark.js +2 -0
- package/dist/theme/runtime/colorValueMode/generated/darkBaselineDeclarations.d.ts +3 -0
- package/dist/theme/runtime/colorValueMode/generated/darkBaselineDeclarations.js +125 -0
- package/dist/theme/runtime/colorValueMode/generated/darkBaselineDeclarations.js.map +1 -0
- package/dist/theme/runtime/colorValueMode/generated/v3BaselineDeclarations.d.ts +3 -0
- package/dist/theme/runtime/colorValueMode/generated/v3BaselineDeclarations.js +125 -0
- package/dist/theme/runtime/colorValueMode/generated/v3BaselineDeclarations.js.map +1 -0
- package/dist/theme/runtime/colorValueMode/index.d.ts +6 -0
- package/dist/theme/runtime/colorValueMode/index.js +55 -0
- package/dist/theme/runtime/colorValueMode/index.js.map +1 -0
- package/dist/theme/runtime/colorValueMode/registry.d.ts +38 -0
- package/dist/theme/runtime/colorValueMode/registry.js +46 -0
- package/dist/theme/runtime/colorValueMode/registry.js.map +1 -0
- package/dist/theme/runtime/colorValueMode/v3.d.ts +1 -0
- package/dist/theme/runtime/colorValueMode/v3.js +2 -0
- package/dist/theme/runtime/colorValueMode.d.ts +2 -0
- package/dist/theme/{createTheme.js → runtime/createTheme.js} +1 -1
- package/dist/theme/runtime/createTheme.js.map +1 -0
- package/dist/theme/{defaultTheme.js → runtime/defaultTheme.js} +1 -1
- package/dist/theme/runtime/defaultTheme.js.map +1 -0
- package/dist/theme/{initAldTheme.js → runtime/initAldTheme.js} +6 -1
- package/dist/theme/runtime/initAldTheme.js.map +1 -0
- package/dist/theme/runtime/integrationController.d.ts +26 -0
- package/dist/theme/runtime/integrationController.js +2 -0
- package/dist/theme/runtime/runtimeAdapter.d.ts +31 -0
- package/dist/theme/runtime/runtimeAdapter.js +2 -0
- package/dist/theme/{themeToCssVars.js → runtime/themeToCssVars.js} +1 -1
- package/dist/theme/runtime/themeToCssVars.js.map +1 -0
- package/dist/theme/{tokenMap.js → runtime/tokenMap.js} +1 -1
- package/dist/theme/runtime/tokenMap.js.map +1 -0
- package/dist/theme/runtime/types.js +2 -0
- package/package.json +20 -3
- package/dist/theme/createTheme.js.map +0 -1
- package/dist/theme/defaultTheme.js.map +0 -1
- package/dist/theme/initAldTheme.js.map +0 -1
- package/dist/theme/themeToCssVars.js.map +0 -1
- package/dist/theme/tokenMap.js.map +0 -1
- /package/dist/theme/{types.js → contract/baselineResolvedTokenValueManifest.js} +0 -0
- /package/dist/theme/{createTheme.d.ts → runtime/createTheme.d.ts} +0 -0
- /package/dist/theme/{defaultTheme.d.ts → runtime/defaultTheme.d.ts} +0 -0
- /package/dist/theme/{initAldTheme.d.ts → runtime/initAldTheme.d.ts} +0 -0
- /package/dist/theme/{themeToCssVars.d.ts → runtime/themeToCssVars.d.ts} +0 -0
- /package/dist/theme/{tokenMap.d.ts → runtime/tokenMap.d.ts} +0 -0
- /package/dist/theme/{types.d.ts → runtime/types.d.ts} +0 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { formatMigrationValidationReport, validateMigrationMapping } from "./validateMigrationMapping.js";
|
|
2
|
+
//#region src/theme/governance/reviewGate.ts
|
|
3
|
+
function countIssues(validation, code) {
|
|
4
|
+
return validation.issues.filter((issue) => issue.code === code).length;
|
|
5
|
+
}
|
|
6
|
+
function createReviewGateDecision(validation) {
|
|
7
|
+
const unregisteredCount = countIssues(validation, "unregistered-legacy-variable");
|
|
8
|
+
const blockedCount = countIssues(validation, "blocked-migration-mapping");
|
|
9
|
+
const deprecatedCount = countIssues(validation, "deprecated-migration-mapping");
|
|
10
|
+
const governanceReviewCount = countIssues(validation, "governance-review-required");
|
|
11
|
+
const replaceableCount = validation.summary.replaceableUsageCount;
|
|
12
|
+
const reasons = [];
|
|
13
|
+
if (validation.summary.legacyVariableUsageCount === 0) reasons.push({
|
|
14
|
+
code: "no-legacy-variable",
|
|
15
|
+
count: 0,
|
|
16
|
+
severity: "info",
|
|
17
|
+
message: "No legacy migration variables were found."
|
|
18
|
+
});
|
|
19
|
+
if (replaceableCount > 0) reasons.push({
|
|
20
|
+
code: "replaceable-migration-mapping",
|
|
21
|
+
count: replaceableCount,
|
|
22
|
+
severity: "warning",
|
|
23
|
+
message: "Replaceable migration mappings are available, but migration review is required before replacement."
|
|
24
|
+
});
|
|
25
|
+
if (blockedCount > 0) reasons.push({
|
|
26
|
+
code: "blocked-migration-mapping",
|
|
27
|
+
count: blockedCount,
|
|
28
|
+
severity: "warning",
|
|
29
|
+
message: "Blocked migration mappings require review and must not be treated as directly replaceable."
|
|
30
|
+
});
|
|
31
|
+
if (deprecatedCount > 0) reasons.push({
|
|
32
|
+
code: "deprecated-migration-mapping",
|
|
33
|
+
count: deprecatedCount,
|
|
34
|
+
severity: "warning",
|
|
35
|
+
message: "Deprecated migration mappings require review and must not be approved silently."
|
|
36
|
+
});
|
|
37
|
+
if (governanceReviewCount > 0) reasons.push({
|
|
38
|
+
code: "governance-review-required",
|
|
39
|
+
count: governanceReviewCount,
|
|
40
|
+
severity: "warning",
|
|
41
|
+
message: "Governance-review-required mappings must not be treated as directly replaceable."
|
|
42
|
+
});
|
|
43
|
+
if (unregisteredCount > 0) reasons.push({
|
|
44
|
+
code: "unregistered-legacy-variable",
|
|
45
|
+
count: unregisteredCount,
|
|
46
|
+
severity: "error",
|
|
47
|
+
message: "Unregistered legacy variables must be added to the migration registry before review can pass."
|
|
48
|
+
});
|
|
49
|
+
const blockingCount = unregisteredCount + blockedCount + governanceReviewCount;
|
|
50
|
+
const reviewCount = replaceableCount + deprecatedCount;
|
|
51
|
+
const status = blockingCount > 0 ? "blocked" : reviewCount > 0 ? "needs-review" : "approved";
|
|
52
|
+
const issues = reasons.filter((reason) => reason.code !== "no-legacy-variable");
|
|
53
|
+
const passed = status === "approved";
|
|
54
|
+
return {
|
|
55
|
+
status,
|
|
56
|
+
passed,
|
|
57
|
+
issues,
|
|
58
|
+
summary: {
|
|
59
|
+
filesScanned: validation.summary.filesScanned,
|
|
60
|
+
legacyVariableUsageCount: validation.summary.legacyVariableUsageCount,
|
|
61
|
+
replaceableUsageCount: validation.summary.replaceableUsageCount,
|
|
62
|
+
deprecatedUsageCount: validation.summary.deprecatedUsageCount,
|
|
63
|
+
blockedUsageCount: validation.summary.blockedUsageCount,
|
|
64
|
+
governanceReviewUsageCount: validation.summary.governanceReviewUsageCount,
|
|
65
|
+
unregisteredUsageCount: validation.summary.unregisteredUsageCount,
|
|
66
|
+
issueCount: issues.length
|
|
67
|
+
},
|
|
68
|
+
canAutoReplace: replaceableCount > 0 && blockingCount === 0,
|
|
69
|
+
requiresGovernanceReview: !passed,
|
|
70
|
+
validation,
|
|
71
|
+
reasons
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function runMigrationReviewGate(sources) {
|
|
75
|
+
return createReviewGateDecision(validateMigrationMapping(sources));
|
|
76
|
+
}
|
|
77
|
+
function formatReviewGateDecision(decision) {
|
|
78
|
+
const lines = [
|
|
79
|
+
"Migration Review Gate Decision",
|
|
80
|
+
"",
|
|
81
|
+
`Decision: ${decision.status}`,
|
|
82
|
+
`Passed: ${decision.passed ? "yes" : "no"}`,
|
|
83
|
+
`Can auto replace: ${decision.canAutoReplace ? "yes" : "no"}`,
|
|
84
|
+
`Requires governance review: ${decision.requiresGovernanceReview ? "yes" : "no"}`,
|
|
85
|
+
"",
|
|
86
|
+
"Summary:",
|
|
87
|
+
`- Files scanned: ${decision.summary.filesScanned}`,
|
|
88
|
+
`- Legacy variable usages: ${decision.summary.legacyVariableUsageCount}`,
|
|
89
|
+
`- Replaceable usages: ${decision.summary.replaceableUsageCount}`,
|
|
90
|
+
`- Deprecated usages: ${decision.summary.deprecatedUsageCount}`,
|
|
91
|
+
`- Blocked usages: ${decision.summary.blockedUsageCount}`,
|
|
92
|
+
`- Governance review usages: ${decision.summary.governanceReviewUsageCount}`,
|
|
93
|
+
`- Unregistered usages: ${decision.summary.unregisteredUsageCount}`,
|
|
94
|
+
`- Review gate issues: ${decision.summary.issueCount}`,
|
|
95
|
+
"",
|
|
96
|
+
"Reasons:"
|
|
97
|
+
];
|
|
98
|
+
if (decision.reasons.length === 0) lines.push("- none");
|
|
99
|
+
else for (const reason of decision.reasons) lines.push(`- [${reason.severity}] ${reason.code}: ${reason.count} - ${reason.message}`);
|
|
100
|
+
lines.push("", "Issues:");
|
|
101
|
+
if (decision.issues.length === 0) lines.push("- none");
|
|
102
|
+
else for (const issue of decision.issues) lines.push(`- [${issue.severity}] ${issue.code}: ${issue.count} - ${issue.message}`);
|
|
103
|
+
if (decision.validation.issues.length > 0) {
|
|
104
|
+
lines.push("", "Validation issue details:");
|
|
105
|
+
for (const issue of decision.validation.issues) {
|
|
106
|
+
const target = issue.mapping?.target ? ` -> ${issue.mapping.target}` : "";
|
|
107
|
+
lines.push(`- ${issue.usage.path}:${issue.usage.line}:${issue.usage.column} ${issue.usage.source}${target} (${issue.code})`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
lines.push("", formatMigrationValidationReport(decision.validation));
|
|
111
|
+
return lines.join("\n");
|
|
112
|
+
}
|
|
113
|
+
//#endregion
|
|
114
|
+
export { createReviewGateDecision, formatReviewGateDecision, runMigrationReviewGate };
|
|
115
|
+
|
|
116
|
+
//# sourceMappingURL=reviewGate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reviewGate.js","names":[],"sources":["../../../src/theme/governance/reviewGate.ts"],"sourcesContent":["import {\n formatMigrationValidationReport,\n validateMigrationMapping,\n type MigrationValidationIssue,\n type MigrationValidationReport,\n type MigrationValidationSource,\n} from './validateMigrationMapping';\n\nexport type ReviewGateDecisionStatus = 'approved' | 'needs-review' | 'blocked';\n\nexport type ReviewGateReasonCode =\n | 'no-legacy-variable'\n | 'replaceable-migration-mapping'\n | 'blocked-migration-mapping'\n | 'deprecated-migration-mapping'\n | 'governance-review-required'\n | 'unregistered-legacy-variable';\n\nexport interface ReviewGateDecisionReason {\n code: ReviewGateReasonCode;\n count: number;\n severity: 'info' | 'warning' | 'error';\n message: string;\n}\n\nexport type ReviewGateDecisionIssue = ReviewGateDecisionReason;\n\nexport interface ReviewGateDecisionSummary {\n filesScanned: number;\n legacyVariableUsageCount: number;\n replaceableUsageCount: number;\n deprecatedUsageCount: number;\n blockedUsageCount: number;\n governanceReviewUsageCount: number;\n unregisteredUsageCount: number;\n issueCount: number;\n}\n\nexport interface ReviewGateDecision {\n status: ReviewGateDecisionStatus;\n passed: boolean;\n issues: ReviewGateDecisionIssue[];\n summary: ReviewGateDecisionSummary;\n canAutoReplace: boolean;\n requiresGovernanceReview: boolean;\n validation: MigrationValidationReport;\n reasons: ReviewGateDecisionReason[];\n}\n\nfunction countIssues(\n validation: MigrationValidationReport,\n code: MigrationValidationIssue['code'],\n) {\n return validation.issues.filter((issue) => issue.code === code).length;\n}\n\nexport function createReviewGateDecision(\n validation: MigrationValidationReport,\n): ReviewGateDecision {\n const unregisteredCount = countIssues(\n validation,\n 'unregistered-legacy-variable',\n );\n const blockedCount = countIssues(validation, 'blocked-migration-mapping');\n const deprecatedCount = countIssues(\n validation,\n 'deprecated-migration-mapping',\n );\n const governanceReviewCount = countIssues(\n validation,\n 'governance-review-required',\n );\n const replaceableCount = validation.summary.replaceableUsageCount;\n const reasons: ReviewGateDecisionReason[] = [];\n\n if (validation.summary.legacyVariableUsageCount === 0) {\n reasons.push({\n code: 'no-legacy-variable',\n count: 0,\n severity: 'info',\n message: 'No legacy migration variables were found.',\n });\n }\n\n if (replaceableCount > 0) {\n reasons.push({\n code: 'replaceable-migration-mapping',\n count: replaceableCount,\n severity: 'warning',\n message:\n 'Replaceable migration mappings are available, but migration review is required before replacement.',\n });\n }\n\n if (blockedCount > 0) {\n reasons.push({\n code: 'blocked-migration-mapping',\n count: blockedCount,\n severity: 'warning',\n message:\n 'Blocked migration mappings require review and must not be treated as directly replaceable.',\n });\n }\n\n if (deprecatedCount > 0) {\n reasons.push({\n code: 'deprecated-migration-mapping',\n count: deprecatedCount,\n severity: 'warning',\n message:\n 'Deprecated migration mappings require review and must not be approved silently.',\n });\n }\n\n if (governanceReviewCount > 0) {\n reasons.push({\n code: 'governance-review-required',\n count: governanceReviewCount,\n severity: 'warning',\n message:\n 'Governance-review-required mappings must not be treated as directly replaceable.',\n });\n }\n\n if (unregisteredCount > 0) {\n reasons.push({\n code: 'unregistered-legacy-variable',\n count: unregisteredCount,\n severity: 'error',\n message:\n 'Unregistered legacy variables must be added to the migration registry before review can pass.',\n });\n }\n\n const blockingCount =\n unregisteredCount + blockedCount + governanceReviewCount;\n const reviewCount = replaceableCount + deprecatedCount;\n const status: ReviewGateDecisionStatus =\n blockingCount > 0\n ? 'blocked'\n : reviewCount > 0\n ? 'needs-review'\n : 'approved';\n const issues = reasons.filter(\n (reason) => reason.code !== 'no-legacy-variable',\n );\n const passed = status === 'approved';\n\n return {\n status,\n passed,\n issues,\n summary: {\n filesScanned: validation.summary.filesScanned,\n legacyVariableUsageCount: validation.summary.legacyVariableUsageCount,\n replaceableUsageCount: validation.summary.replaceableUsageCount,\n deprecatedUsageCount: validation.summary.deprecatedUsageCount,\n blockedUsageCount: validation.summary.blockedUsageCount,\n governanceReviewUsageCount: validation.summary.governanceReviewUsageCount,\n unregisteredUsageCount: validation.summary.unregisteredUsageCount,\n issueCount: issues.length,\n },\n canAutoReplace: replaceableCount > 0 && blockingCount === 0,\n requiresGovernanceReview: !passed,\n validation,\n reasons,\n };\n}\n\nexport function runMigrationReviewGate(\n sources: readonly MigrationValidationSource[],\n): ReviewGateDecision {\n return createReviewGateDecision(validateMigrationMapping(sources));\n}\n\nexport function formatReviewGateDecision(decision: ReviewGateDecision): string {\n const lines = [\n 'Migration Review Gate Decision',\n '',\n `Decision: ${decision.status}`,\n `Passed: ${decision.passed ? 'yes' : 'no'}`,\n `Can auto replace: ${decision.canAutoReplace ? 'yes' : 'no'}`,\n `Requires governance review: ${\n decision.requiresGovernanceReview ? 'yes' : 'no'\n }`,\n '',\n 'Summary:',\n `- Files scanned: ${decision.summary.filesScanned}`,\n `- Legacy variable usages: ${decision.summary.legacyVariableUsageCount}`,\n `- Replaceable usages: ${decision.summary.replaceableUsageCount}`,\n `- Deprecated usages: ${decision.summary.deprecatedUsageCount}`,\n `- Blocked usages: ${decision.summary.blockedUsageCount}`,\n `- Governance review usages: ${decision.summary.governanceReviewUsageCount}`,\n `- Unregistered usages: ${decision.summary.unregisteredUsageCount}`,\n `- Review gate issues: ${decision.summary.issueCount}`,\n '',\n 'Reasons:',\n ];\n\n if (decision.reasons.length === 0) {\n lines.push('- none');\n } else {\n for (const reason of decision.reasons) {\n lines.push(\n `- [${reason.severity}] ${reason.code}: ${reason.count} - ${reason.message}`,\n );\n }\n }\n\n lines.push('', 'Issues:');\n\n if (decision.issues.length === 0) {\n lines.push('- none');\n } else {\n for (const issue of decision.issues) {\n lines.push(\n `- [${issue.severity}] ${issue.code}: ${issue.count} - ${issue.message}`,\n );\n }\n }\n\n if (decision.validation.issues.length > 0) {\n lines.push('', 'Validation issue details:');\n\n for (const issue of decision.validation.issues) {\n const target = issue.mapping?.target ? ` -> ${issue.mapping.target}` : '';\n lines.push(\n `- ${issue.usage.path}:${issue.usage.line}:${issue.usage.column} ${issue.usage.source}${target} (${issue.code})`,\n );\n }\n }\n\n lines.push('', formatMigrationValidationReport(decision.validation));\n\n return lines.join('\\n');\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { LegacyCssVariableName, MigrationMappingEntry, MigrationMappingType } from './migrationMappingRegistry.js';
|
|
2
|
+
export interface MigrationValidationSource {
|
|
3
|
+
path: string;
|
|
4
|
+
content: string;
|
|
5
|
+
}
|
|
6
|
+
export interface LegacyVariableUsage {
|
|
7
|
+
source: LegacyCssVariableName;
|
|
8
|
+
path: string;
|
|
9
|
+
line: number;
|
|
10
|
+
column: number;
|
|
11
|
+
index: number;
|
|
12
|
+
type: MigrationMappingType;
|
|
13
|
+
}
|
|
14
|
+
export type MigrationValidationIssueCode = 'unregistered-legacy-variable' | 'blocked-migration-mapping' | 'deprecated-migration-mapping' | 'governance-review-required';
|
|
15
|
+
export type MigrationValidationSeverity = 'error' | 'warning';
|
|
16
|
+
export interface MigrationValidationIssue {
|
|
17
|
+
code: MigrationValidationIssueCode;
|
|
18
|
+
severity: MigrationValidationSeverity;
|
|
19
|
+
usage: LegacyVariableUsage;
|
|
20
|
+
mapping?: MigrationMappingEntry;
|
|
21
|
+
message: string;
|
|
22
|
+
}
|
|
23
|
+
export interface ReplaceableMigrationUsage {
|
|
24
|
+
usage: LegacyVariableUsage;
|
|
25
|
+
mapping: MigrationMappingEntry & {
|
|
26
|
+
target: NonNullable<MigrationMappingEntry['target']>;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface MigrationValidationSummary {
|
|
30
|
+
filesScanned: number;
|
|
31
|
+
legacyVariableUsageCount: number;
|
|
32
|
+
uniqueLegacyVariableCount: number;
|
|
33
|
+
registeredUsageCount: number;
|
|
34
|
+
unregisteredUsageCount: number;
|
|
35
|
+
blockedUsageCount: number;
|
|
36
|
+
deprecatedUsageCount: number;
|
|
37
|
+
governanceReviewUsageCount: number;
|
|
38
|
+
replaceableUsageCount: number;
|
|
39
|
+
}
|
|
40
|
+
export interface MigrationValidationReport {
|
|
41
|
+
valid: boolean;
|
|
42
|
+
summary: MigrationValidationSummary;
|
|
43
|
+
usages: LegacyVariableUsage[];
|
|
44
|
+
usagesByType: Record<MigrationMappingType, LegacyVariableUsage[]>;
|
|
45
|
+
replaceableUsages: ReplaceableMigrationUsage[];
|
|
46
|
+
issues: MigrationValidationIssue[];
|
|
47
|
+
}
|
|
48
|
+
export declare function scanLegacyVariableUsages(sources: readonly MigrationValidationSource[]): LegacyVariableUsage[];
|
|
49
|
+
export declare function validateMigrationMapping(sources: readonly MigrationValidationSource[]): MigrationValidationReport;
|
|
50
|
+
export declare function formatMigrationValidationReport(report: MigrationValidationReport): string;
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { getMigrationMapping } from "./migrationMappingRegistry.js";
|
|
2
|
+
//#region src/theme/governance/validateMigrationMapping.ts
|
|
3
|
+
var legacyVariablePattern = /--(?:alias|interaction|non-semantic)-[a-zA-Z0-9_-]+/g;
|
|
4
|
+
function getLegacyType(source) {
|
|
5
|
+
if (source.startsWith("--alias-")) return "alias";
|
|
6
|
+
if (source.startsWith("--interaction-")) return "interaction";
|
|
7
|
+
return "non-semantic";
|
|
8
|
+
}
|
|
9
|
+
function getLineAndColumn(content, index) {
|
|
10
|
+
const lines = content.slice(0, index).split("\n");
|
|
11
|
+
return {
|
|
12
|
+
line: lines.length,
|
|
13
|
+
column: lines[lines.length - 1].length + 1
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function createIssue(code, usage, mapping) {
|
|
17
|
+
if (code === "unregistered-legacy-variable") return {
|
|
18
|
+
code,
|
|
19
|
+
severity: "error",
|
|
20
|
+
usage,
|
|
21
|
+
message: `${usage.source} is used but not registered in migrationMappingRegistry.`
|
|
22
|
+
};
|
|
23
|
+
if (code === "blocked-migration-mapping") return {
|
|
24
|
+
code,
|
|
25
|
+
severity: "warning",
|
|
26
|
+
usage,
|
|
27
|
+
mapping,
|
|
28
|
+
message: `${usage.source} is blocked and must not be treated as directly replaceable.`
|
|
29
|
+
};
|
|
30
|
+
if (code === "deprecated-migration-mapping") return {
|
|
31
|
+
code,
|
|
32
|
+
severity: "warning",
|
|
33
|
+
usage,
|
|
34
|
+
mapping,
|
|
35
|
+
message: `${usage.source} is deprecated and requires migration review before replacement.`
|
|
36
|
+
};
|
|
37
|
+
return {
|
|
38
|
+
code,
|
|
39
|
+
severity: "warning",
|
|
40
|
+
usage,
|
|
41
|
+
mapping,
|
|
42
|
+
message: `${usage.source} requires governance review and must not be treated as directly replaceable.`
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function scanLegacyVariableUsages(sources) {
|
|
46
|
+
const usages = [];
|
|
47
|
+
for (const source of sources) {
|
|
48
|
+
const pattern = new RegExp(legacyVariablePattern);
|
|
49
|
+
let match;
|
|
50
|
+
while (match = pattern.exec(source.content)) {
|
|
51
|
+
const variable = match[0];
|
|
52
|
+
const index = match.index ?? 0;
|
|
53
|
+
const position = getLineAndColumn(source.content, index);
|
|
54
|
+
usages.push({
|
|
55
|
+
source: variable,
|
|
56
|
+
path: source.path,
|
|
57
|
+
line: position.line,
|
|
58
|
+
column: position.column,
|
|
59
|
+
index,
|
|
60
|
+
type: getLegacyType(variable)
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return usages;
|
|
65
|
+
}
|
|
66
|
+
function validateMigrationMapping(sources) {
|
|
67
|
+
const usages = scanLegacyVariableUsages(sources);
|
|
68
|
+
const issues = [];
|
|
69
|
+
const replaceableUsages = [];
|
|
70
|
+
const usagesByType = {
|
|
71
|
+
alias: [],
|
|
72
|
+
interaction: [],
|
|
73
|
+
"non-semantic": []
|
|
74
|
+
};
|
|
75
|
+
let registeredUsageCount = 0;
|
|
76
|
+
let unregisteredUsageCount = 0;
|
|
77
|
+
let blockedUsageCount = 0;
|
|
78
|
+
let deprecatedUsageCount = 0;
|
|
79
|
+
let governanceReviewUsageCount = 0;
|
|
80
|
+
for (const usage of usages) {
|
|
81
|
+
usagesByType[usage.type].push(usage);
|
|
82
|
+
const mapping = getMigrationMapping(usage.source);
|
|
83
|
+
if (!mapping) {
|
|
84
|
+
unregisteredUsageCount += 1;
|
|
85
|
+
issues.push(createIssue("unregistered-legacy-variable", usage));
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
registeredUsageCount += 1;
|
|
89
|
+
if (mapping.lifecycle === "blocked") {
|
|
90
|
+
blockedUsageCount += 1;
|
|
91
|
+
issues.push(createIssue("blocked-migration-mapping", usage, mapping));
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
if (mapping.strategy === "governance-review-required" || !mapping.target) {
|
|
95
|
+
governanceReviewUsageCount += 1;
|
|
96
|
+
issues.push(createIssue("governance-review-required", usage, mapping));
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
if (mapping.lifecycle === "deprecated") {
|
|
100
|
+
deprecatedUsageCount += 1;
|
|
101
|
+
issues.push(createIssue("deprecated-migration-mapping", usage, mapping));
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
replaceableUsages.push({
|
|
105
|
+
usage,
|
|
106
|
+
mapping
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
valid: !issues.some((issue) => issue.severity === "error"),
|
|
111
|
+
summary: {
|
|
112
|
+
filesScanned: sources.length,
|
|
113
|
+
legacyVariableUsageCount: usages.length,
|
|
114
|
+
uniqueLegacyVariableCount: new Set(usages.map((usage) => usage.source)).size,
|
|
115
|
+
registeredUsageCount,
|
|
116
|
+
unregisteredUsageCount,
|
|
117
|
+
blockedUsageCount,
|
|
118
|
+
deprecatedUsageCount,
|
|
119
|
+
governanceReviewUsageCount,
|
|
120
|
+
replaceableUsageCount: replaceableUsages.length
|
|
121
|
+
},
|
|
122
|
+
usages,
|
|
123
|
+
usagesByType,
|
|
124
|
+
replaceableUsages,
|
|
125
|
+
issues
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
function formatMigrationValidationReport(report) {
|
|
129
|
+
const lines = [
|
|
130
|
+
"Migration Mapping Validation Report",
|
|
131
|
+
"",
|
|
132
|
+
`Status: ${report.valid ? "PASS" : "FAIL"}`,
|
|
133
|
+
`Files scanned: ${report.summary.filesScanned}`,
|
|
134
|
+
`Legacy variable usages: ${report.summary.legacyVariableUsageCount}`,
|
|
135
|
+
`Unique legacy variables: ${report.summary.uniqueLegacyVariableCount}`,
|
|
136
|
+
`Registered usages: ${report.summary.registeredUsageCount}`,
|
|
137
|
+
`Unregistered usages: ${report.summary.unregisteredUsageCount}`,
|
|
138
|
+
`Blocked usages: ${report.summary.blockedUsageCount}`,
|
|
139
|
+
`Deprecated usages: ${report.summary.deprecatedUsageCount}`,
|
|
140
|
+
`Governance review usages: ${report.summary.governanceReviewUsageCount}`,
|
|
141
|
+
`Replaceable usages: ${report.summary.replaceableUsageCount}`,
|
|
142
|
+
"",
|
|
143
|
+
"Grouped by type:",
|
|
144
|
+
`- alias: ${report.usagesByType.alias.length}`,
|
|
145
|
+
`- interaction: ${report.usagesByType.interaction.length}`,
|
|
146
|
+
`- non-semantic: ${report.usagesByType["non-semantic"].length}`
|
|
147
|
+
];
|
|
148
|
+
if (report.issues.length > 0) {
|
|
149
|
+
lines.push("", "Issues:");
|
|
150
|
+
for (const issue of report.issues) lines.push(`- [${issue.severity}] ${issue.code}: ${issue.usage.source} at ${issue.usage.path}:${issue.usage.line}:${issue.usage.column}`);
|
|
151
|
+
}
|
|
152
|
+
return lines.join("\n");
|
|
153
|
+
}
|
|
154
|
+
//#endregion
|
|
155
|
+
export { formatMigrationValidationReport, scanLegacyVariableUsages, validateMigrationMapping };
|
|
156
|
+
|
|
157
|
+
//# sourceMappingURL=validateMigrationMapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateMigrationMapping.js","names":[],"sources":["../../../src/theme/governance/validateMigrationMapping.ts"],"sourcesContent":["import {\n getMigrationMapping,\n type LegacyCssVariableName,\n type MigrationMappingEntry,\n type MigrationMappingType,\n} from './migrationMappingRegistry';\n\nexport interface MigrationValidationSource {\n path: string;\n content: string;\n}\n\nexport interface LegacyVariableUsage {\n source: LegacyCssVariableName;\n path: string;\n line: number;\n column: number;\n index: number;\n type: MigrationMappingType;\n}\n\nexport type MigrationValidationIssueCode =\n | 'unregistered-legacy-variable'\n | 'blocked-migration-mapping'\n | 'deprecated-migration-mapping'\n | 'governance-review-required';\n\nexport type MigrationValidationSeverity = 'error' | 'warning';\n\nexport interface MigrationValidationIssue {\n code: MigrationValidationIssueCode;\n severity: MigrationValidationSeverity;\n usage: LegacyVariableUsage;\n mapping?: MigrationMappingEntry;\n message: string;\n}\n\nexport interface ReplaceableMigrationUsage {\n usage: LegacyVariableUsage;\n mapping: MigrationMappingEntry & {\n target: NonNullable<MigrationMappingEntry['target']>;\n };\n}\n\nexport interface MigrationValidationSummary {\n filesScanned: number;\n legacyVariableUsageCount: number;\n uniqueLegacyVariableCount: number;\n registeredUsageCount: number;\n unregisteredUsageCount: number;\n blockedUsageCount: number;\n deprecatedUsageCount: number;\n governanceReviewUsageCount: number;\n replaceableUsageCount: number;\n}\n\nexport interface MigrationValidationReport {\n valid: boolean;\n summary: MigrationValidationSummary;\n usages: LegacyVariableUsage[];\n usagesByType: Record<MigrationMappingType, LegacyVariableUsage[]>;\n replaceableUsages: ReplaceableMigrationUsage[];\n issues: MigrationValidationIssue[];\n}\n\nconst legacyVariablePattern =\n /--(?:alias|interaction|non-semantic)-[a-zA-Z0-9_-]+/g;\n\nfunction getLegacyType(source: LegacyCssVariableName): MigrationMappingType {\n if (source.startsWith('--alias-')) return 'alias';\n if (source.startsWith('--interaction-')) return 'interaction';\n return 'non-semantic';\n}\n\nfunction getLineAndColumn(content: string, index: number) {\n const before = content.slice(0, index);\n const lines = before.split('\\n');\n\n return {\n line: lines.length,\n column: lines[lines.length - 1].length + 1,\n };\n}\n\nfunction createIssue(\n code: MigrationValidationIssueCode,\n usage: LegacyVariableUsage,\n mapping?: MigrationMappingEntry,\n): MigrationValidationIssue {\n if (code === 'unregistered-legacy-variable') {\n return {\n code,\n severity: 'error',\n usage,\n message: `${usage.source} is used but not registered in migrationMappingRegistry.`,\n };\n }\n\n if (code === 'blocked-migration-mapping') {\n return {\n code,\n severity: 'warning',\n usage,\n mapping,\n message: `${usage.source} is blocked and must not be treated as directly replaceable.`,\n };\n }\n\n if (code === 'deprecated-migration-mapping') {\n return {\n code,\n severity: 'warning',\n usage,\n mapping,\n message: `${usage.source} is deprecated and requires migration review before replacement.`,\n };\n }\n\n return {\n code,\n severity: 'warning',\n usage,\n mapping,\n message: `${usage.source} requires governance review and must not be treated as directly replaceable.`,\n };\n}\n\nexport function scanLegacyVariableUsages(\n sources: readonly MigrationValidationSource[],\n): LegacyVariableUsage[] {\n const usages: LegacyVariableUsage[] = [];\n\n for (const source of sources) {\n const pattern = new RegExp(legacyVariablePattern);\n let match: RegExpExecArray | null;\n\n while ((match = pattern.exec(source.content))) {\n const variable = match[0] as LegacyCssVariableName;\n const index = match.index ?? 0;\n const position = getLineAndColumn(source.content, index);\n\n usages.push({\n source: variable,\n path: source.path,\n line: position.line,\n column: position.column,\n index,\n type: getLegacyType(variable),\n });\n }\n }\n\n return usages;\n}\n\nexport function validateMigrationMapping(\n sources: readonly MigrationValidationSource[],\n): MigrationValidationReport {\n const usages = scanLegacyVariableUsages(sources);\n const issues: MigrationValidationIssue[] = [];\n const replaceableUsages: ReplaceableMigrationUsage[] = [];\n const usagesByType: Record<MigrationMappingType, LegacyVariableUsage[]> = {\n alias: [],\n interaction: [],\n 'non-semantic': [],\n };\n\n let registeredUsageCount = 0;\n let unregisteredUsageCount = 0;\n let blockedUsageCount = 0;\n let deprecatedUsageCount = 0;\n let governanceReviewUsageCount = 0;\n\n for (const usage of usages) {\n usagesByType[usage.type].push(usage);\n\n const mapping = getMigrationMapping(usage.source);\n\n if (!mapping) {\n unregisteredUsageCount += 1;\n issues.push(createIssue('unregistered-legacy-variable', usage));\n continue;\n }\n\n registeredUsageCount += 1;\n\n if (mapping.lifecycle === 'blocked') {\n blockedUsageCount += 1;\n issues.push(createIssue('blocked-migration-mapping', usage, mapping));\n continue;\n }\n\n if (mapping.strategy === 'governance-review-required' || !mapping.target) {\n governanceReviewUsageCount += 1;\n issues.push(createIssue('governance-review-required', usage, mapping));\n continue;\n }\n\n if (mapping.lifecycle === 'deprecated') {\n deprecatedUsageCount += 1;\n issues.push(createIssue('deprecated-migration-mapping', usage, mapping));\n continue;\n }\n\n replaceableUsages.push({\n usage,\n mapping: mapping as ReplaceableMigrationUsage['mapping'],\n });\n }\n\n const hasError = issues.some((issue) => issue.severity === 'error');\n\n return {\n valid: !hasError,\n summary: {\n filesScanned: sources.length,\n legacyVariableUsageCount: usages.length,\n uniqueLegacyVariableCount: new Set(usages.map((usage) => usage.source))\n .size,\n registeredUsageCount,\n unregisteredUsageCount,\n blockedUsageCount,\n deprecatedUsageCount,\n governanceReviewUsageCount,\n replaceableUsageCount: replaceableUsages.length,\n },\n usages,\n usagesByType,\n replaceableUsages,\n issues,\n };\n}\n\nexport function formatMigrationValidationReport(\n report: MigrationValidationReport,\n): string {\n const lines = [\n 'Migration Mapping Validation Report',\n '',\n `Status: ${report.valid ? 'PASS' : 'FAIL'}`,\n `Files scanned: ${report.summary.filesScanned}`,\n `Legacy variable usages: ${report.summary.legacyVariableUsageCount}`,\n `Unique legacy variables: ${report.summary.uniqueLegacyVariableCount}`,\n `Registered usages: ${report.summary.registeredUsageCount}`,\n `Unregistered usages: ${report.summary.unregisteredUsageCount}`,\n `Blocked usages: ${report.summary.blockedUsageCount}`,\n `Deprecated usages: ${report.summary.deprecatedUsageCount}`,\n `Governance review usages: ${report.summary.governanceReviewUsageCount}`,\n `Replaceable usages: ${report.summary.replaceableUsageCount}`,\n '',\n 'Grouped by type:',\n `- alias: ${report.usagesByType.alias.length}`,\n `- interaction: ${report.usagesByType.interaction.length}`,\n `- non-semantic: ${report.usagesByType['non-semantic'].length}`,\n ];\n\n if (report.issues.length > 0) {\n lines.push('', 'Issues:');\n\n for (const issue of report.issues) {\n lines.push(\n `- [${issue.severity}] ${issue.code}: ${issue.usage.source} at ${issue.usage.path}:${issue.usage.line}:${issue.usage.column}`,\n );\n }\n }\n\n return lines.join('\\n');\n}\n"],"mappings":";;AAiEA,IAAM,wBACJ;AAEF,SAAS,cAAc,QAAqD;AAC1E,KAAI,OAAO,WAAW,WAAW,CAAE,QAAO;AAC1C,KAAI,OAAO,WAAW,iBAAiB,CAAE,QAAO;AAChD,QAAO;;AAGT,SAAS,iBAAiB,SAAiB,OAAe;CAExD,MAAM,QADS,QAAQ,MAAM,GAAG,MAAM,CACjB,MAAM,KAAK;AAEhC,QAAO;EACL,MAAM,MAAM;EACZ,QAAQ,MAAM,MAAM,SAAS,GAAG,SAAS;EAC1C;;AAGH,SAAS,YACP,MACA,OACA,SAC0B;AAC1B,KAAI,SAAS,+BACX,QAAO;EACL;EACA,UAAU;EACV;EACA,SAAS,GAAG,MAAM,OAAO;EAC1B;AAGH,KAAI,SAAS,4BACX,QAAO;EACL;EACA,UAAU;EACV;EACA;EACA,SAAS,GAAG,MAAM,OAAO;EAC1B;AAGH,KAAI,SAAS,+BACX,QAAO;EACL;EACA,UAAU;EACV;EACA;EACA,SAAS,GAAG,MAAM,OAAO;EAC1B;AAGH,QAAO;EACL;EACA,UAAU;EACV;EACA;EACA,SAAS,GAAG,MAAM,OAAO;EAC1B;;AAGH,SAAgB,yBACd,SACuB;CACvB,MAAM,SAAgC,EAAE;AAExC,MAAK,MAAM,UAAU,SAAS;EAC5B,MAAM,UAAU,IAAI,OAAO,sBAAsB;EACjD,IAAI;AAEJ,SAAQ,QAAQ,QAAQ,KAAK,OAAO,QAAQ,EAAG;GAC7C,MAAM,WAAW,MAAM;GACvB,MAAM,QAAQ,MAAM,SAAS;GAC7B,MAAM,WAAW,iBAAiB,OAAO,SAAS,MAAM;AAExD,UAAO,KAAK;IACV,QAAQ;IACR,MAAM,OAAO;IACb,MAAM,SAAS;IACf,QAAQ,SAAS;IACjB;IACA,MAAM,cAAc,SAAS;IAC9B,CAAC;;;AAIN,QAAO;;AAGT,SAAgB,yBACd,SAC2B;CAC3B,MAAM,SAAS,yBAAyB,QAAQ;CAChD,MAAM,SAAqC,EAAE;CAC7C,MAAM,oBAAiD,EAAE;CACzD,MAAM,eAAoE;EACxE,OAAO,EAAE;EACT,aAAa,EAAE;EACf,gBAAgB,EAAE;EACnB;CAED,IAAI,uBAAuB;CAC3B,IAAI,yBAAyB;CAC7B,IAAI,oBAAoB;CACxB,IAAI,uBAAuB;CAC3B,IAAI,6BAA6B;AAEjC,MAAK,MAAM,SAAS,QAAQ;AAC1B,eAAa,MAAM,MAAM,KAAK,MAAM;EAEpC,MAAM,UAAU,oBAAoB,MAAM,OAAO;AAEjD,MAAI,CAAC,SAAS;AACZ,6BAA0B;AAC1B,UAAO,KAAK,YAAY,gCAAgC,MAAM,CAAC;AAC/D;;AAGF,0BAAwB;AAExB,MAAI,QAAQ,cAAc,WAAW;AACnC,wBAAqB;AACrB,UAAO,KAAK,YAAY,6BAA6B,OAAO,QAAQ,CAAC;AACrE;;AAGF,MAAI,QAAQ,aAAa,gCAAgC,CAAC,QAAQ,QAAQ;AACxE,iCAA8B;AAC9B,UAAO,KAAK,YAAY,8BAA8B,OAAO,QAAQ,CAAC;AACtE;;AAGF,MAAI,QAAQ,cAAc,cAAc;AACtC,2BAAwB;AACxB,UAAO,KAAK,YAAY,gCAAgC,OAAO,QAAQ,CAAC;AACxE;;AAGF,oBAAkB,KAAK;GACrB;GACS;GACV,CAAC;;AAKJ,QAAO;EACL,OAAO,CAHQ,OAAO,MAAM,UAAU,MAAM,aAAa,QAAQ;EAIjE,SAAS;GACP,cAAc,QAAQ;GACtB,0BAA0B,OAAO;GACjC,2BAA2B,IAAI,IAAI,OAAO,KAAK,UAAU,MAAM,OAAO,CAAC,CACpE;GACH;GACA;GACA;GACA;GACA;GACA,uBAAuB,kBAAkB;GAC1C;EACD;EACA;EACA;EACA;EACD;;AAGH,SAAgB,gCACd,QACQ;CACR,MAAM,QAAQ;EACZ;EACA;EACA,WAAW,OAAO,QAAQ,SAAS;EACnC,kBAAkB,OAAO,QAAQ;EACjC,2BAA2B,OAAO,QAAQ;EAC1C,4BAA4B,OAAO,QAAQ;EAC3C,sBAAsB,OAAO,QAAQ;EACrC,wBAAwB,OAAO,QAAQ;EACvC,mBAAmB,OAAO,QAAQ;EAClC,sBAAsB,OAAO,QAAQ;EACrC,6BAA6B,OAAO,QAAQ;EAC5C,uBAAuB,OAAO,QAAQ;EACtC;EACA;EACA,YAAY,OAAO,aAAa,MAAM;EACtC,kBAAkB,OAAO,aAAa,YAAY;EAClD,mBAAmB,OAAO,aAAa,gBAAgB;EACxD;AAED,KAAI,OAAO,OAAO,SAAS,GAAG;AAC5B,QAAM,KAAK,IAAI,UAAU;AAEzB,OAAK,MAAM,SAAS,OAAO,OACzB,OAAM,KACJ,MAAM,MAAM,SAAS,IAAI,MAAM,KAAK,IAAI,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,KAAK,GAAG,MAAM,MAAM,KAAK,GAAG,MAAM,MAAM,SACtH;;AAIL,QAAO,MAAM,KAAK,KAAK"}
|
package/dist/theme/index.d.ts
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
|
-
export { createTheme } from './createTheme.js';
|
|
2
|
-
export { defaultTheme } from './defaultTheme.js';
|
|
3
|
-
export { initAldTheme } from './initAldTheme.js';
|
|
4
|
-
export {
|
|
5
|
-
export
|
|
1
|
+
export { createTheme } from './runtime/createTheme.js';
|
|
2
|
+
export { defaultTheme } from './runtime/defaultTheme.js';
|
|
3
|
+
export { initAldTheme } from './runtime/initAldTheme.js';
|
|
4
|
+
export { aldColorValueModeDataAttribute, aldColorValueModeStyleElementId, applyAldColorValueMode, buildAldColorValueModeCss, createAldColorValueModeVars, } from './runtime/colorValueMode.js';
|
|
5
|
+
export { aldColorValueModes, getAldColorValueModeDefinition, getAldColorValueModeDefinitions, } from './runtime/colorValueMode/registry.js';
|
|
6
|
+
export type { AldColorValueMode, AldColorValueModeDefinition, AldColorValueModeLifecycle, } from './runtime/colorValueMode/registry.js';
|
|
7
|
+
export { assertOneWayMigrationMapping, getMigrationMapping, getPublishedMigrationMappings, migrationMappingRegistry, migrationMappingTableByType, } from './governance/migrationMappingRegistry.js';
|
|
8
|
+
export type { LegacyCssVariableName, MigrationMappingEntry, MigrationMappingLifecycle, MigrationMappingStrategy, MigrationMappingType, TokenOutputVariableName, } from './governance/migrationMappingRegistry.js';
|
|
9
|
+
export { createReviewGateDecision, formatReviewGateDecision, runMigrationReviewGate, } from './governance/reviewGate.js';
|
|
10
|
+
export type { ReviewGateDecision, ReviewGateDecisionIssue, ReviewGateDecisionReason, ReviewGateDecisionSummary, ReviewGateDecisionStatus, ReviewGateReasonCode, } from './governance/reviewGate.js';
|
|
11
|
+
export { getCanonicalTokenOutputContractEntries, getCompatibilityTokenOutputContractEntries, getTokenOutputContractEntries, getTokenOutputContractEntriesByGroup, getTokenOutputContractEntry, isTokenOutputContractName, tokenOutputContractEntries, validateTokenOutputContract, } from './contract/tokenOutputContract.js';
|
|
12
|
+
export type { TokenOutputContractCompatibility, TokenOutputContractDeliveryKind, TokenOutputContractEntry, TokenOutputContractGroup, TokenOutputContractLifecycle, TokenOutputContractValidationIssue, TokenOutputContractValidationIssueCode, TokenOutputContractValidationReport, } from './contract/tokenOutputContract.js';
|
|
13
|
+
export { themeToCssVars } from './runtime/themeToCssVars.js';
|
|
14
|
+
export type { AldThemeConfig, AldThemeCssVars, AldThemeToken, ResolvedAldTheme, } from './runtime/types.js';
|
|
15
|
+
export { formatMigrationValidationReport, scanLegacyVariableUsages, validateMigrationMapping, } from './governance/validateMigrationMapping.js';
|
|
16
|
+
export type { LegacyVariableUsage, MigrationValidationIssue, MigrationValidationIssueCode, MigrationValidationReport, MigrationValidationSeverity, MigrationValidationSource, MigrationValidationSummary, ReplaceableMigrationUsage, } from './governance/validateMigrationMapping.js';
|
package/dist/theme/index.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import "./defaultTheme.js";
|
|
2
|
-
import "./createTheme.js";
|
|
3
|
-
import "./themeToCssVars.js";
|
|
4
|
-
import "./initAldTheme.js";
|
|
1
|
+
import "./runtime/defaultTheme.js";
|
|
2
|
+
import "./runtime/createTheme.js";
|
|
3
|
+
import "./runtime/themeToCssVars.js";
|
|
4
|
+
import "./runtime/initAldTheme.js";
|
|
5
|
+
import "./runtime/colorValueMode/registry.js";
|
|
6
|
+
import "./runtime/colorValueMode/index.js";
|
|
7
|
+
import "./governance/migrationMappingRegistry.js";
|
|
8
|
+
import "./governance/validateMigrationMapping.js";
|
|
9
|
+
import "./governance/reviewGate.js";
|
|
10
|
+
import "./contract/tokenOutputContract.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { aldDarkBaselineDeclarations as aldDarkColorValueModeVars } from './generated/darkBaselineDeclarations.js';
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
//#region src/theme/runtime/colorValueMode/generated/darkBaselineDeclarations.ts
|
|
2
|
+
var aldDarkBaselineDeclarations = Object.freeze({
|
|
3
|
+
"--action-primary-normal": "var(--semantic-brand-500)",
|
|
4
|
+
"--action-primary-hover": "var(--semantic-brand-400)",
|
|
5
|
+
"--action-primary-active": "var(--semantic-brand-600)",
|
|
6
|
+
"--action-primary-selected": "var(--semantic-brand-900)",
|
|
7
|
+
"--action-primary-subtle-normal": "var(--semantic-brand-900)",
|
|
8
|
+
"--action-primary-subtle-hover": "var(--semantic-brand-800)",
|
|
9
|
+
"--action-primary-subtle-active": "var(--semantic-brand-700)",
|
|
10
|
+
"--action-primary-subtle-selected": "var(--semantic-brand-900)",
|
|
11
|
+
"--action-neutral-normal": "var(--semantic-neutral-800)",
|
|
12
|
+
"--action-neutral-hover": "var(--semantic-neutral-700)",
|
|
13
|
+
"--action-neutral-active": "var(--semantic-neutral-600)",
|
|
14
|
+
"--action-neutral-selected": "var(--semantic-neutral-800)",
|
|
15
|
+
"--action-neutral-subtle-normal": "var(--semantic-neutral-900)",
|
|
16
|
+
"--action-neutral-subtle-hover": "var(--semantic-neutral-800)",
|
|
17
|
+
"--action-neutral-subtle-active": "var(--semantic-neutral-700)",
|
|
18
|
+
"--action-neutral-subtle-selected": "var(--semantic-neutral-800)",
|
|
19
|
+
"--action-destructive-normal": "var(--semantic-negative-500)",
|
|
20
|
+
"--action-destructive-hover": "var(--semantic-negative-400)",
|
|
21
|
+
"--action-destructive-active": "var(--semantic-negative-600)",
|
|
22
|
+
"--action-destructive-selected": "var(--semantic-negative-900)",
|
|
23
|
+
"--action-destructive-subtle-normal": "var(--semantic-negative-900)",
|
|
24
|
+
"--action-destructive-subtle-hover": "var(--semantic-negative-800)",
|
|
25
|
+
"--action-destructive-subtle-active": "var(--semantic-negative-700)",
|
|
26
|
+
"--action-destructive-subtle-selected": "var(--semantic-negative-900)",
|
|
27
|
+
"--action-ghost-normal": "var(--global-transparent-transparent)",
|
|
28
|
+
"--action-ghost-hover": "var(--global-white-alpha-100)",
|
|
29
|
+
"--action-ghost-active": "var(--global-white-alpha-200)",
|
|
30
|
+
"--action-ghost-selected": "var(--global-white-alpha-100)",
|
|
31
|
+
"--action-ghost-inverted-hover": "var(--semantic-neutral-alpha-100)",
|
|
32
|
+
"--action-ghost-inverted-active": "var(--semantic-neutral-alpha-200)",
|
|
33
|
+
"--action-ghost-inverted-selected": "var(--semantic-neutral-alpha-100)",
|
|
34
|
+
"--action-ghost-destructive-hover": "var(--semantic-negative-900)",
|
|
35
|
+
"--action-ghost-destructive-active": "var(--semantic-negative-800)",
|
|
36
|
+
"--action-ghost-destructive-selected": "var(--semantic-negative-900)",
|
|
37
|
+
"--action-inverted-normal": "var(--semantic-neutral-neutral-0)",
|
|
38
|
+
"--action-inverted-hover": "var(--semantic-neutral-100)",
|
|
39
|
+
"--action-inverted-active": "var(--semantic-neutral-200)",
|
|
40
|
+
"--action-inverted-selected": "var(--semantic-neutral-100)",
|
|
41
|
+
"--background-default": "var(--semantic-neutral-950)",
|
|
42
|
+
"--background-inverted": "var(--semantic-neutral-neutral-0)",
|
|
43
|
+
"--background-brand-muted": "var(--semantic-brand-900)",
|
|
44
|
+
"--background-brand-on-subtle": "var(--semantic-brand-800)",
|
|
45
|
+
"--background-brand-strong": "var(--semantic-brand-500)",
|
|
46
|
+
"--background-neutral-hard": "var(--semantic-neutral-700)",
|
|
47
|
+
"--background-neutral-muted": "var(--semantic-neutral-800)",
|
|
48
|
+
"--background-neutral-on-subtle": "var(--semantic-neutral-800)",
|
|
49
|
+
"--background-neutral-strong": "var(--semantic-neutral-700)",
|
|
50
|
+
"--background-neutral-subtle": "var(--semantic-neutral-900)",
|
|
51
|
+
"--background-neutral-surface": "var(--semantic-neutral-900)",
|
|
52
|
+
"--background-informative-muted": "var(--semantic-informative-900)",
|
|
53
|
+
"--background-informative-on-subtle": "var(--semantic-informative-800)",
|
|
54
|
+
"--background-informative-strong": "var(--semantic-informative-500)",
|
|
55
|
+
"--background-informative-subtle": "var(--semantic-informative-900)",
|
|
56
|
+
"--background-informative-surface": "var(--semantic-neutral-950)",
|
|
57
|
+
"--background-positive-muted": "var(--semantic-positive-900)",
|
|
58
|
+
"--background-positive-on-subtle": "var(--semantic-positive-800)",
|
|
59
|
+
"--background-positive-strong": "var(--semantic-positive-500)",
|
|
60
|
+
"--background-positive-subtle": "var(--semantic-positive-900)",
|
|
61
|
+
"--background-positive-surface": "var(--semantic-neutral-950)",
|
|
62
|
+
"--background-warning-muted": "var(--semantic-warning-900)",
|
|
63
|
+
"--background-warning-on-subtle": "var(--semantic-warning-800)",
|
|
64
|
+
"--background-warning-strong": "var(--semantic-warning-500)",
|
|
65
|
+
"--background-warning-subtle": "var(--semantic-warning-900)",
|
|
66
|
+
"--background-warning-surface": "var(--semantic-neutral-950)",
|
|
67
|
+
"--background-negative-muted": "var(--semantic-negative-900)",
|
|
68
|
+
"--background-negative-on-subtle": "var(--semantic-negative-800)",
|
|
69
|
+
"--background-negative-strong": "var(--semantic-negative-500)",
|
|
70
|
+
"--background-negative-subtle": "var(--semantic-negative-900)",
|
|
71
|
+
"--background-negative-surface": "var(--semantic-neutral-950)",
|
|
72
|
+
"--border-default": "var(--semantic-neutral-700)",
|
|
73
|
+
"--border-default-alpha": "var(--global-white-alpha-200)",
|
|
74
|
+
"--border-inverted": "var(--semantic-neutral-900)",
|
|
75
|
+
"--border-brand-strong": "var(--semantic-brand-500)",
|
|
76
|
+
"--border-brand-subtle": "var(--semantic-brand-700)",
|
|
77
|
+
"--border-neutral-strong": "var(--semantic-neutral-600)",
|
|
78
|
+
"--border-neutral-subtle": "var(--semantic-neutral-800)",
|
|
79
|
+
"--border-informative-strong": "var(--semantic-informative-500)",
|
|
80
|
+
"--border-informative-subtle": "var(--semantic-informative-700)",
|
|
81
|
+
"--border-positive-strong": "var(--semantic-positive-500)",
|
|
82
|
+
"--border-positive-subtle": "var(--semantic-positive-700)",
|
|
83
|
+
"--border-warning-strong": "var(--semantic-warning-500)",
|
|
84
|
+
"--border-warning-subtle": "var(--semantic-warning-700)",
|
|
85
|
+
"--border-negative-strong": "var(--semantic-negative-500)",
|
|
86
|
+
"--border-negative-subtle": "var(--semantic-negative-700)",
|
|
87
|
+
"--content-primary": "var(--semantic-neutral-50)",
|
|
88
|
+
"--content-secondary": "var(--semantic-neutral-200)",
|
|
89
|
+
"--content-tertiary": "var(--semantic-neutral-400)",
|
|
90
|
+
"--content-disabled": "var(--semantic-neutral-600)",
|
|
91
|
+
"--content-brand-primary": "var(--semantic-brand-400)",
|
|
92
|
+
"--content-brand-secondary": "var(--semantic-brand-500)",
|
|
93
|
+
"--content-inverted-primary": "var(--semantic-neutral-900)",
|
|
94
|
+
"--content-inverted-secondary": "var(--semantic-neutral-600)",
|
|
95
|
+
"--content-inverted-tertiary": "var(--semantic-neutral-500)",
|
|
96
|
+
"--content-inverted-disabled": "var(--semantic-neutral-400)",
|
|
97
|
+
"--content-informative-primary": "var(--semantic-informative-300)",
|
|
98
|
+
"--content-informative-secondary": "var(--semantic-informative-400)",
|
|
99
|
+
"--content-positive-primary": "var(--semantic-positive-300)",
|
|
100
|
+
"--content-positive-secondary": "var(--semantic-positive-400)",
|
|
101
|
+
"--content-warning-primary": "var(--semantic-warning-300)",
|
|
102
|
+
"--content-warning-secondary": "var(--semantic-warning-400)",
|
|
103
|
+
"--content-negative-primary": "var(--semantic-negative-300)",
|
|
104
|
+
"--content-negative-secondary": "var(--semantic-negative-400)",
|
|
105
|
+
"--dimension-0": "0px",
|
|
106
|
+
"--dimension-0-5": "2px",
|
|
107
|
+
"--dimension-1": "4px",
|
|
108
|
+
"--dimension-1-5": "6px",
|
|
109
|
+
"--dimension-2": "8px",
|
|
110
|
+
"--dimension-3": "12px",
|
|
111
|
+
"--dimension-4": "16px",
|
|
112
|
+
"--dimension-5": "20px",
|
|
113
|
+
"--dimension-6": "24px",
|
|
114
|
+
"--dimension-8": "32px",
|
|
115
|
+
"--dimension-10": "40px",
|
|
116
|
+
"--dimension-12": "48px",
|
|
117
|
+
"--dimension-14": "56px",
|
|
118
|
+
"--dimension-16": "64px",
|
|
119
|
+
"--dimension-18": "72px",
|
|
120
|
+
"--dimension-20": "80px"
|
|
121
|
+
});
|
|
122
|
+
//#endregion
|
|
123
|
+
export { aldDarkBaselineDeclarations };
|
|
124
|
+
|
|
125
|
+
//# sourceMappingURL=darkBaselineDeclarations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"darkBaselineDeclarations.js","names":[],"sources":["../../../../../src/theme/runtime/colorValueMode/generated/darkBaselineDeclarations.ts"],"sourcesContent":["/* Generated from darkResolvedTokenValueManifest. Do not edit manually. Fingerprint: fnv1a-98aa1579. */\n\nimport type { AldThemeCssVars } from '../../types';\n\nexport const aldDarkBaselineDeclarations = Object.freeze({\n '--action-primary-normal': 'var(--semantic-brand-500)',\n '--action-primary-hover': 'var(--semantic-brand-400)',\n '--action-primary-active': 'var(--semantic-brand-600)',\n '--action-primary-selected': 'var(--semantic-brand-900)',\n '--action-primary-subtle-normal': 'var(--semantic-brand-900)',\n '--action-primary-subtle-hover': 'var(--semantic-brand-800)',\n '--action-primary-subtle-active': 'var(--semantic-brand-700)',\n '--action-primary-subtle-selected': 'var(--semantic-brand-900)',\n '--action-neutral-normal': 'var(--semantic-neutral-800)',\n '--action-neutral-hover': 'var(--semantic-neutral-700)',\n '--action-neutral-active': 'var(--semantic-neutral-600)',\n '--action-neutral-selected': 'var(--semantic-neutral-800)',\n '--action-neutral-subtle-normal': 'var(--semantic-neutral-900)',\n '--action-neutral-subtle-hover': 'var(--semantic-neutral-800)',\n '--action-neutral-subtle-active': 'var(--semantic-neutral-700)',\n '--action-neutral-subtle-selected': 'var(--semantic-neutral-800)',\n '--action-destructive-normal': 'var(--semantic-negative-500)',\n '--action-destructive-hover': 'var(--semantic-negative-400)',\n '--action-destructive-active': 'var(--semantic-negative-600)',\n '--action-destructive-selected': 'var(--semantic-negative-900)',\n '--action-destructive-subtle-normal': 'var(--semantic-negative-900)',\n '--action-destructive-subtle-hover': 'var(--semantic-negative-800)',\n '--action-destructive-subtle-active': 'var(--semantic-negative-700)',\n '--action-destructive-subtle-selected': 'var(--semantic-negative-900)',\n '--action-ghost-normal': 'var(--global-transparent-transparent)',\n '--action-ghost-hover': 'var(--global-white-alpha-100)',\n '--action-ghost-active': 'var(--global-white-alpha-200)',\n '--action-ghost-selected': 'var(--global-white-alpha-100)',\n '--action-ghost-inverted-hover': 'var(--semantic-neutral-alpha-100)',\n '--action-ghost-inverted-active': 'var(--semantic-neutral-alpha-200)',\n '--action-ghost-inverted-selected': 'var(--semantic-neutral-alpha-100)',\n '--action-ghost-destructive-hover': 'var(--semantic-negative-900)',\n '--action-ghost-destructive-active': 'var(--semantic-negative-800)',\n '--action-ghost-destructive-selected': 'var(--semantic-negative-900)',\n '--action-inverted-normal': 'var(--semantic-neutral-neutral-0)',\n '--action-inverted-hover': 'var(--semantic-neutral-100)',\n '--action-inverted-active': 'var(--semantic-neutral-200)',\n '--action-inverted-selected': 'var(--semantic-neutral-100)',\n '--background-default': 'var(--semantic-neutral-950)',\n '--background-inverted': 'var(--semantic-neutral-neutral-0)',\n '--background-brand-muted': 'var(--semantic-brand-900)',\n '--background-brand-on-subtle': 'var(--semantic-brand-800)',\n '--background-brand-strong': 'var(--semantic-brand-500)',\n '--background-neutral-hard': 'var(--semantic-neutral-700)',\n '--background-neutral-muted': 'var(--semantic-neutral-800)',\n '--background-neutral-on-subtle': 'var(--semantic-neutral-800)',\n '--background-neutral-strong': 'var(--semantic-neutral-700)',\n '--background-neutral-subtle': 'var(--semantic-neutral-900)',\n '--background-neutral-surface': 'var(--semantic-neutral-900)',\n '--background-informative-muted': 'var(--semantic-informative-900)',\n '--background-informative-on-subtle': 'var(--semantic-informative-800)',\n '--background-informative-strong': 'var(--semantic-informative-500)',\n '--background-informative-subtle': 'var(--semantic-informative-900)',\n '--background-informative-surface': 'var(--semantic-neutral-950)',\n '--background-positive-muted': 'var(--semantic-positive-900)',\n '--background-positive-on-subtle': 'var(--semantic-positive-800)',\n '--background-positive-strong': 'var(--semantic-positive-500)',\n '--background-positive-subtle': 'var(--semantic-positive-900)',\n '--background-positive-surface': 'var(--semantic-neutral-950)',\n '--background-warning-muted': 'var(--semantic-warning-900)',\n '--background-warning-on-subtle': 'var(--semantic-warning-800)',\n '--background-warning-strong': 'var(--semantic-warning-500)',\n '--background-warning-subtle': 'var(--semantic-warning-900)',\n '--background-warning-surface': 'var(--semantic-neutral-950)',\n '--background-negative-muted': 'var(--semantic-negative-900)',\n '--background-negative-on-subtle': 'var(--semantic-negative-800)',\n '--background-negative-strong': 'var(--semantic-negative-500)',\n '--background-negative-subtle': 'var(--semantic-negative-900)',\n '--background-negative-surface': 'var(--semantic-neutral-950)',\n '--border-default': 'var(--semantic-neutral-700)',\n '--border-default-alpha': 'var(--global-white-alpha-200)',\n '--border-inverted': 'var(--semantic-neutral-900)',\n '--border-brand-strong': 'var(--semantic-brand-500)',\n '--border-brand-subtle': 'var(--semantic-brand-700)',\n '--border-neutral-strong': 'var(--semantic-neutral-600)',\n '--border-neutral-subtle': 'var(--semantic-neutral-800)',\n '--border-informative-strong': 'var(--semantic-informative-500)',\n '--border-informative-subtle': 'var(--semantic-informative-700)',\n '--border-positive-strong': 'var(--semantic-positive-500)',\n '--border-positive-subtle': 'var(--semantic-positive-700)',\n '--border-warning-strong': 'var(--semantic-warning-500)',\n '--border-warning-subtle': 'var(--semantic-warning-700)',\n '--border-negative-strong': 'var(--semantic-negative-500)',\n '--border-negative-subtle': 'var(--semantic-negative-700)',\n '--content-primary': 'var(--semantic-neutral-50)',\n '--content-secondary': 'var(--semantic-neutral-200)',\n '--content-tertiary': 'var(--semantic-neutral-400)',\n '--content-disabled': 'var(--semantic-neutral-600)',\n '--content-brand-primary': 'var(--semantic-brand-400)',\n '--content-brand-secondary': 'var(--semantic-brand-500)',\n '--content-inverted-primary': 'var(--semantic-neutral-900)',\n '--content-inverted-secondary': 'var(--semantic-neutral-600)',\n '--content-inverted-tertiary': 'var(--semantic-neutral-500)',\n '--content-inverted-disabled': 'var(--semantic-neutral-400)',\n '--content-informative-primary': 'var(--semantic-informative-300)',\n '--content-informative-secondary': 'var(--semantic-informative-400)',\n '--content-positive-primary': 'var(--semantic-positive-300)',\n '--content-positive-secondary': 'var(--semantic-positive-400)',\n '--content-warning-primary': 'var(--semantic-warning-300)',\n '--content-warning-secondary': 'var(--semantic-warning-400)',\n '--content-negative-primary': 'var(--semantic-negative-300)',\n '--content-negative-secondary': 'var(--semantic-negative-400)',\n '--dimension-0': '0px',\n '--dimension-0-5': '2px',\n '--dimension-1': '4px',\n '--dimension-1-5': '6px',\n '--dimension-2': '8px',\n '--dimension-3': '12px',\n '--dimension-4': '16px',\n '--dimension-5': '20px',\n '--dimension-6': '24px',\n '--dimension-8': '32px',\n '--dimension-10': '40px',\n '--dimension-12': '48px',\n '--dimension-14': '56px',\n '--dimension-16': '64px',\n '--dimension-18': '72px',\n '--dimension-20': '80px',\n}) as AldThemeCssVars;\n\nexport const aldDarkBaselineDeclarationsFingerprint = 'fnv1a-98aa1579';\n"],"mappings":";AAIA,IAAa,8BAA8B,OAAO,OAAO;CACvD,2BAA2B;CAC3B,0BAA0B;CAC1B,2BAA2B;CAC3B,6BAA6B;CAC7B,kCAAkC;CAClC,iCAAiC;CACjC,kCAAkC;CAClC,oCAAoC;CACpC,2BAA2B;CAC3B,0BAA0B;CAC1B,2BAA2B;CAC3B,6BAA6B;CAC7B,kCAAkC;CAClC,iCAAiC;CACjC,kCAAkC;CAClC,oCAAoC;CACpC,+BAA+B;CAC/B,8BAA8B;CAC9B,+BAA+B;CAC/B,iCAAiC;CACjC,sCAAsC;CACtC,qCAAqC;CACrC,sCAAsC;CACtC,wCAAwC;CACxC,yBAAyB;CACzB,wBAAwB;CACxB,yBAAyB;CACzB,2BAA2B;CAC3B,iCAAiC;CACjC,kCAAkC;CAClC,oCAAoC;CACpC,oCAAoC;CACpC,qCAAqC;CACrC,uCAAuC;CACvC,4BAA4B;CAC5B,2BAA2B;CAC3B,4BAA4B;CAC5B,8BAA8B;CAC9B,wBAAwB;CACxB,yBAAyB;CACzB,4BAA4B;CAC5B,gCAAgC;CAChC,6BAA6B;CAC7B,6BAA6B;CAC7B,8BAA8B;CAC9B,kCAAkC;CAClC,+BAA+B;CAC/B,+BAA+B;CAC/B,gCAAgC;CAChC,kCAAkC;CAClC,sCAAsC;CACtC,mCAAmC;CACnC,mCAAmC;CACnC,oCAAoC;CACpC,+BAA+B;CAC/B,mCAAmC;CACnC,gCAAgC;CAChC,gCAAgC;CAChC,iCAAiC;CACjC,8BAA8B;CAC9B,kCAAkC;CAClC,+BAA+B;CAC/B,+BAA+B;CAC/B,gCAAgC;CAChC,+BAA+B;CAC/B,mCAAmC;CACnC,gCAAgC;CAChC,gCAAgC;CAChC,iCAAiC;CACjC,oBAAoB;CACpB,0BAA0B;CAC1B,qBAAqB;CACrB,yBAAyB;CACzB,yBAAyB;CACzB,2BAA2B;CAC3B,2BAA2B;CAC3B,+BAA+B;CAC/B,+BAA+B;CAC/B,4BAA4B;CAC5B,4BAA4B;CAC5B,2BAA2B;CAC3B,2BAA2B;CAC3B,4BAA4B;CAC5B,4BAA4B;CAC5B,qBAAqB;CACrB,uBAAuB;CACvB,sBAAsB;CACtB,sBAAsB;CACtB,2BAA2B;CAC3B,6BAA6B;CAC7B,8BAA8B;CAC9B,gCAAgC;CAChC,+BAA+B;CAC/B,+BAA+B;CAC/B,iCAAiC;CACjC,mCAAmC;CACnC,8BAA8B;CAC9B,gCAAgC;CAChC,6BAA6B;CAC7B,+BAA+B;CAC/B,8BAA8B;CAC9B,gCAAgC;CAChC,iBAAiB;CACjB,mBAAmB;CACnB,iBAAiB;CACjB,mBAAmB;CACnB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,kBAAkB;CAClB,kBAAkB;CAClB,kBAAkB;CAClB,kBAAkB;CAClB,kBAAkB;CAClB,kBAAkB;CACnB,CAAC"}
|