@getcoherent/core 0.6.34 → 0.6.36
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/index.d.ts +3 -1
- package/dist/index.js +532 -11
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -4363,6 +4363,8 @@ declare function buildCssVariables(config: DesignSystemConfig): string;
|
|
|
4363
4363
|
*/
|
|
4364
4364
|
declare function atomicWriteFile(filePath: string, content: string): Promise<void>;
|
|
4365
4365
|
|
|
4366
|
+
declare function colorToHex(value: string): string | null;
|
|
4367
|
+
|
|
4366
4368
|
/**
|
|
4367
4369
|
* Story 2.11 Part C: Consistency audit for shared components.
|
|
4368
4370
|
* - Verify usedIn vs actual imports
|
|
@@ -4393,4 +4395,4 @@ interface AuditResult {
|
|
|
4393
4395
|
*/
|
|
4394
4396
|
declare function runAudit(projectRoot: string): Promise<AuditResult>;
|
|
4395
4397
|
|
|
4396
|
-
export { type AuditEntryResult, type AuditResult, type BlogContent, CLI_VERSION, type ChangelogContent, type ColorToken, ColorTokenSchema, type ComponentAPI, type ComponentCriteria, type ComponentDefinition, ComponentDefinitionSchema, type ComponentDependency, ComponentGenerator, ComponentManager, type ComponentMeta, type ComponentProvider, type ComponentSize, ComponentSizeSchema, type ComponentSpec, type ComponentVariant, ComponentVariantSchema, type ContactContent, type CreateSharedComponentInput, type DashboardContent, type DesignSystemConfig, DesignSystemConfigSchema, DesignSystemGenerator, DesignSystemManager, type DesignTokens, DesignTokensSchema, type DiscoveryResult, EXAMPLE_MULTIPAGE_CONFIG, EXAMPLE_SPA_CONFIG, FIGMA_BASE_IDS, FRAMEWORK_VERSIONS, type FaqContent, type Features, FeaturesSchema, type FigmaBaseId, FigmaClient, type FigmaClientOptions, type FigmaColorStyle, type FigmaComponentData, type FigmaComponentMap, type FigmaComponentMeta, type FigmaDocumentNode, type FigmaEffectStyle, type FigmaFileResponse, type FigmaIntermediateData, type FigmaLayout, type FigmaNode, type FigmaNormalizationResult, type FigmaNormalizedEntry, type FigmaPageData, type FigmaProperty, type FigmaRgba, type FigmaStyleMeta, type FigmaTextStyle, type FigmaTokenExtractionResult, type FigmaVariant, type GalleryContent, type GenerateSharedComponentInput, type GenerateSharedComponentResult, type GeneratedPage, type LandingContent, type LayoutBlockDefinition, LayoutBlockDefinitionSchema, type ListingContent, type LoginContent, MANIFEST_FILENAME, type ModificationRequest, type ModificationResult, type Navigation, type NavigationItem, NavigationItemSchema, NavigationSchema, type OnboardingContent, type PageAnalysis, PageAnalysisSchema, type PageContent, type PageDefinition, PageDefinitionSchema, PageGenerator, type PageLayout, PageLayoutSchema, PageManager, type PageSection, PageSectionSchema, type PricingContent, type ProfileContent, ProjectScaffolder, type RadiusToken, RadiusTokenSchema, type RegisterContent, type SettingsContent, type SharedComponentEntry, SharedComponentEntrySchema, type SharedComponentType, SharedComponentTypeSchema, type SharedComponentsManifest, SharedComponentsManifestSchema, type SpacingToken, SpacingTokenSchema, TailwindConfigGenerator, type TemplateOptions, type TypographyToken, TypographyTokenSchema, allocateNextCid, atomicWriteFile, buildCssVariables, componentExists, createEntry, extractConfigObject, extractTokensFromFigma, figmaComponentNameToBaseId, figmaRgbaToHex, findSharedComponent, findSharedComponentByIdOrName, formatCid, generatePageFromFrame, generatePagesFromFigma, generateSharedComponent, generateSharedComponentTsx, getComponent, getManifestPath, getPage, getPageFilePath, getSupportedPageTypes, getTemplateForPageType, integrateSharedLayoutIntoRootLayout, loadManifest, mergeExtractedColorsWithDefaults, normalizeFigmaComponents, pageRouteExists, parseCid, parseFigmaFileResponse, removeEntry, resolveUniqueName, runAudit, saveManifest, setSharedMapping, toSharedFileName, updateEntry, updateUsedIn, validateConfig, validatePartialConfig };
|
|
4398
|
+
export { type AuditEntryResult, type AuditResult, type BlogContent, CLI_VERSION, type ChangelogContent, type ColorToken, ColorTokenSchema, type ComponentAPI, type ComponentCriteria, type ComponentDefinition, ComponentDefinitionSchema, type ComponentDependency, ComponentGenerator, ComponentManager, type ComponentMeta, type ComponentProvider, type ComponentSize, ComponentSizeSchema, type ComponentSpec, type ComponentVariant, ComponentVariantSchema, type ContactContent, type CreateSharedComponentInput, type DashboardContent, type DesignSystemConfig, DesignSystemConfigSchema, DesignSystemGenerator, DesignSystemManager, type DesignTokens, DesignTokensSchema, type DiscoveryResult, EXAMPLE_MULTIPAGE_CONFIG, EXAMPLE_SPA_CONFIG, FIGMA_BASE_IDS, FRAMEWORK_VERSIONS, type FaqContent, type Features, FeaturesSchema, type FigmaBaseId, FigmaClient, type FigmaClientOptions, type FigmaColorStyle, type FigmaComponentData, type FigmaComponentMap, type FigmaComponentMeta, type FigmaDocumentNode, type FigmaEffectStyle, type FigmaFileResponse, type FigmaIntermediateData, type FigmaLayout, type FigmaNode, type FigmaNormalizationResult, type FigmaNormalizedEntry, type FigmaPageData, type FigmaProperty, type FigmaRgba, type FigmaStyleMeta, type FigmaTextStyle, type FigmaTokenExtractionResult, type FigmaVariant, type GalleryContent, type GenerateSharedComponentInput, type GenerateSharedComponentResult, type GeneratedPage, type LandingContent, type LayoutBlockDefinition, LayoutBlockDefinitionSchema, type ListingContent, type LoginContent, MANIFEST_FILENAME, type ModificationRequest, type ModificationResult, type Navigation, type NavigationItem, NavigationItemSchema, NavigationSchema, type OnboardingContent, type PageAnalysis, PageAnalysisSchema, type PageContent, type PageDefinition, PageDefinitionSchema, PageGenerator, type PageLayout, PageLayoutSchema, PageManager, type PageSection, PageSectionSchema, type PricingContent, type ProfileContent, ProjectScaffolder, type RadiusToken, RadiusTokenSchema, type RegisterContent, type SettingsContent, type SharedComponentEntry, SharedComponentEntrySchema, type SharedComponentType, SharedComponentTypeSchema, type SharedComponentsManifest, SharedComponentsManifestSchema, type SpacingToken, SpacingTokenSchema, TailwindConfigGenerator, type TemplateOptions, type TypographyToken, TypographyTokenSchema, allocateNextCid, atomicWriteFile, buildCssVariables, colorToHex, componentExists, createEntry, extractConfigObject, extractTokensFromFigma, figmaComponentNameToBaseId, figmaRgbaToHex, findSharedComponent, findSharedComponentByIdOrName, formatCid, generatePageFromFrame, generatePagesFromFigma, generateSharedComponent, generateSharedComponentTsx, getComponent, getManifestPath, getPage, getPageFilePath, getSupportedPageTypes, getTemplateForPageType, integrateSharedLayoutIntoRootLayout, loadManifest, mergeExtractedColorsWithDefaults, normalizeFigmaComponents, pageRouteExists, parseCid, parseFigmaFileResponse, removeEntry, resolveUniqueName, runAudit, saveManifest, setSharedMapping, toSharedFileName, updateEntry, updateUsedIn, validateConfig, validatePartialConfig };
|
package/dist/index.js
CHANGED
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
var ColorTokenSchema = z.object({
|
|
4
4
|
primary: z.string().regex(/^#[0-9A-F]{6}$/i, "Must be valid hex color"),
|
|
5
|
-
secondary: z.string().regex(/^#[0-9A-F]{6}$/i),
|
|
6
|
-
accent: z.string().regex(/^#[0-9A-F]{6}$/i).optional(),
|
|
7
|
-
success: z.string().regex(/^#[0-9A-F]{6}$/i),
|
|
8
|
-
warning: z.string().regex(/^#[0-9A-F]{6}$/i),
|
|
9
|
-
error: z.string().regex(/^#[0-9A-F]{6}$/i),
|
|
10
|
-
info: z.string().regex(/^#[0-9A-F]{6}$/i),
|
|
5
|
+
secondary: z.string().regex(/^#[0-9A-F]{6}$/i, "Must be valid hex color"),
|
|
6
|
+
accent: z.string().regex(/^#[0-9A-F]{6}$/i, "Must be valid hex color").optional(),
|
|
7
|
+
success: z.string().regex(/^#[0-9A-F]{6}$/i, "Must be valid hex color"),
|
|
8
|
+
warning: z.string().regex(/^#[0-9A-F]{6}$/i, "Must be valid hex color"),
|
|
9
|
+
error: z.string().regex(/^#[0-9A-F]{6}$/i, "Must be valid hex color"),
|
|
10
|
+
info: z.string().regex(/^#[0-9A-F]{6}$/i, "Must be valid hex color"),
|
|
11
11
|
// Neutral palette (generated from base or explicit)
|
|
12
|
-
background: z.string().regex(/^#[0-9A-F]{6}$/i),
|
|
13
|
-
foreground: z.string().regex(/^#[0-9A-F]{6}$/i),
|
|
14
|
-
muted: z.string().regex(/^#[0-9A-F]{6}$/i),
|
|
15
|
-
border: z.string().regex(/^#[0-9A-F]{6}$/i)
|
|
12
|
+
background: z.string().regex(/^#[0-9A-F]{6}$/i, "Must be valid hex color"),
|
|
13
|
+
foreground: z.string().regex(/^#[0-9A-F]{6}$/i, "Must be valid hex color"),
|
|
14
|
+
muted: z.string().regex(/^#[0-9A-F]{6}$/i, "Must be valid hex color"),
|
|
15
|
+
border: z.string().regex(/^#[0-9A-F]{6}$/i, "Must be valid hex color")
|
|
16
16
|
});
|
|
17
17
|
var SpacingTokenSchema = z.object({
|
|
18
18
|
xs: z.string().default("0.25rem"),
|
|
@@ -502,6 +502,7 @@ function parseCid(id) {
|
|
|
502
502
|
}
|
|
503
503
|
|
|
504
504
|
// src/managers/DesignSystemManager.ts
|
|
505
|
+
import { ZodError } from "zod";
|
|
505
506
|
import { readFile } from "fs/promises";
|
|
506
507
|
|
|
507
508
|
// src/utils/atomicWrite.ts
|
|
@@ -520,6 +521,27 @@ async function atomicWriteFile(filePath, content) {
|
|
|
520
521
|
}
|
|
521
522
|
|
|
522
523
|
// src/managers/DesignSystemManager.ts
|
|
524
|
+
var VALID_COLOR_FIELDS = [
|
|
525
|
+
"primary",
|
|
526
|
+
"secondary",
|
|
527
|
+
"accent",
|
|
528
|
+
"success",
|
|
529
|
+
"warning",
|
|
530
|
+
"error",
|
|
531
|
+
"info",
|
|
532
|
+
"background",
|
|
533
|
+
"foreground",
|
|
534
|
+
"muted",
|
|
535
|
+
"border"
|
|
536
|
+
];
|
|
537
|
+
var VALID_SPACING_FIELDS = ["xs", "sm", "md", "lg", "xl", "2xl", "3xl"];
|
|
538
|
+
var VALID_RADIUS_FIELDS = ["none", "sm", "md", "lg", "xl", "full"];
|
|
539
|
+
var VALID_TOKEN_PATHS = /* @__PURE__ */ new Set([
|
|
540
|
+
...VALID_COLOR_FIELDS.map((f) => `colors.light.${f}`),
|
|
541
|
+
...VALID_COLOR_FIELDS.map((f) => `colors.dark.${f}`),
|
|
542
|
+
...VALID_SPACING_FIELDS.map((f) => `spacing.${f}`),
|
|
543
|
+
...VALID_RADIUS_FIELDS.map((f) => `radius.${f}`)
|
|
544
|
+
]);
|
|
523
545
|
var DesignSystemManager = class {
|
|
524
546
|
config = null;
|
|
525
547
|
configPath;
|
|
@@ -592,6 +614,14 @@ export const config = ${JSON.stringify(this.config, null, 2)} as const
|
|
|
592
614
|
if (!this.config) {
|
|
593
615
|
throw new Error("Config not loaded. Call load() first.");
|
|
594
616
|
}
|
|
617
|
+
if (!VALID_TOKEN_PATHS.has(path)) {
|
|
618
|
+
return {
|
|
619
|
+
success: false,
|
|
620
|
+
modified: [],
|
|
621
|
+
config: this.config,
|
|
622
|
+
message: `Invalid token path "${path}". Valid color paths: colors.light.{primary,secondary,...}, colors.dark.{...}. Valid spacing: spacing.{xs,sm,md,lg,xl,2xl,3xl}. Valid radius: radius.{none,sm,md,lg,xl,full}.`
|
|
623
|
+
};
|
|
624
|
+
}
|
|
595
625
|
try {
|
|
596
626
|
const pathParts = path.split(".");
|
|
597
627
|
let current = this.config.tokens;
|
|
@@ -634,12 +664,21 @@ export const config = ${JSON.stringify(this.config, null, 2)} as const
|
|
|
634
664
|
warnings: affectedComponents.length > 0 ? [`This change affects ${affectedComponents.length} components and ${affectedPages.length} pages`] : void 0
|
|
635
665
|
};
|
|
636
666
|
} catch (error) {
|
|
667
|
+
if (error instanceof ZodError) {
|
|
668
|
+
const issues = error.issues.map((i) => `"${i.path.join(".")}" \u2014 ${i.message}`).join("; ");
|
|
669
|
+
return {
|
|
670
|
+
success: false,
|
|
671
|
+
modified: [],
|
|
672
|
+
config: this.config,
|
|
673
|
+
message: `Failed to update token "${path}": ${issues}`
|
|
674
|
+
};
|
|
675
|
+
}
|
|
637
676
|
if (error instanceof Error) {
|
|
638
677
|
return {
|
|
639
678
|
success: false,
|
|
640
679
|
modified: [],
|
|
641
680
|
config: this.config,
|
|
642
|
-
message: `Failed to update token: ${error.message}`
|
|
681
|
+
message: `Failed to update token "${path}": ${error.message}`
|
|
643
682
|
};
|
|
644
683
|
}
|
|
645
684
|
throw error;
|
|
@@ -9756,6 +9795,487 @@ function generatePagesFromFigma(pages, componentMap, options) {
|
|
|
9756
9795
|
}));
|
|
9757
9796
|
}
|
|
9758
9797
|
|
|
9798
|
+
// src/utils/color-utils.ts
|
|
9799
|
+
var CSS_NAMED_COLORS = {
|
|
9800
|
+
aliceblue: "#F0F8FF",
|
|
9801
|
+
antiquewhite: "#FAEBD7",
|
|
9802
|
+
aqua: "#00FFFF",
|
|
9803
|
+
aquamarine: "#7FFFD4",
|
|
9804
|
+
azure: "#F0FFFF",
|
|
9805
|
+
beige: "#F5F5DC",
|
|
9806
|
+
bisque: "#FFE4C4",
|
|
9807
|
+
black: "#000000",
|
|
9808
|
+
blanchedalmond: "#FFEBCD",
|
|
9809
|
+
blue: "#0000FF",
|
|
9810
|
+
blueviolet: "#8A2BE2",
|
|
9811
|
+
brown: "#A52A2A",
|
|
9812
|
+
burlywood: "#DEB887",
|
|
9813
|
+
cadetblue: "#5F9EA0",
|
|
9814
|
+
chartreuse: "#7FFF00",
|
|
9815
|
+
chocolate: "#D2691E",
|
|
9816
|
+
coral: "#FF7F50",
|
|
9817
|
+
cornflowerblue: "#6495ED",
|
|
9818
|
+
cornsilk: "#FFF8DC",
|
|
9819
|
+
crimson: "#DC143C",
|
|
9820
|
+
cyan: "#00FFFF",
|
|
9821
|
+
darkblue: "#00008B",
|
|
9822
|
+
darkcyan: "#008B8B",
|
|
9823
|
+
darkgoldenrod: "#B8860B",
|
|
9824
|
+
darkgray: "#A9A9A9",
|
|
9825
|
+
darkgreen: "#006400",
|
|
9826
|
+
darkgrey: "#A9A9A9",
|
|
9827
|
+
darkkhaki: "#BDB76B",
|
|
9828
|
+
darkmagenta: "#8B008B",
|
|
9829
|
+
darkolivegreen: "#556B2F",
|
|
9830
|
+
darkorange: "#FF8C00",
|
|
9831
|
+
darkorchid: "#9932CC",
|
|
9832
|
+
darkred: "#8B0000",
|
|
9833
|
+
darksalmon: "#E9967A",
|
|
9834
|
+
darkseagreen: "#8FBC8F",
|
|
9835
|
+
darkslateblue: "#483D8B",
|
|
9836
|
+
darkslategray: "#2F4F4F",
|
|
9837
|
+
darkslategrey: "#2F4F4F",
|
|
9838
|
+
darkturquoise: "#00CED1",
|
|
9839
|
+
darkviolet: "#9400D3",
|
|
9840
|
+
deeppink: "#FF1493",
|
|
9841
|
+
deepskyblue: "#00BFFF",
|
|
9842
|
+
dimgray: "#696969",
|
|
9843
|
+
dimgrey: "#696969",
|
|
9844
|
+
dodgerblue: "#1E90FF",
|
|
9845
|
+
firebrick: "#B22222",
|
|
9846
|
+
floralwhite: "#FFFAF0",
|
|
9847
|
+
forestgreen: "#228B22",
|
|
9848
|
+
fuchsia: "#FF00FF",
|
|
9849
|
+
gainsboro: "#DCDCDC",
|
|
9850
|
+
ghostwhite: "#F8F8FF",
|
|
9851
|
+
gold: "#FFD700",
|
|
9852
|
+
goldenrod: "#DAA520",
|
|
9853
|
+
gray: "#808080",
|
|
9854
|
+
green: "#008000",
|
|
9855
|
+
greenyellow: "#ADFF2F",
|
|
9856
|
+
grey: "#808080",
|
|
9857
|
+
honeydew: "#F0FFF0",
|
|
9858
|
+
hotpink: "#FF69B4",
|
|
9859
|
+
indianred: "#CD5C5C",
|
|
9860
|
+
indigo: "#4B0082",
|
|
9861
|
+
ivory: "#FFFFF0",
|
|
9862
|
+
khaki: "#F0E68C",
|
|
9863
|
+
lavender: "#E6E6FA",
|
|
9864
|
+
lavenderblush: "#FFF0F5",
|
|
9865
|
+
lawngreen: "#7CFC00",
|
|
9866
|
+
lemonchiffon: "#FFFACD",
|
|
9867
|
+
lightblue: "#ADD8E6",
|
|
9868
|
+
lightcoral: "#F08080",
|
|
9869
|
+
lightcyan: "#E0FFFF",
|
|
9870
|
+
lightgoldenrodyellow: "#FAFAD2",
|
|
9871
|
+
lightgray: "#D3D3D3",
|
|
9872
|
+
lightgreen: "#90EE90",
|
|
9873
|
+
lightgrey: "#D3D3D3",
|
|
9874
|
+
lightpink: "#FFB6C1",
|
|
9875
|
+
lightsalmon: "#FFA07A",
|
|
9876
|
+
lightseagreen: "#20B2AA",
|
|
9877
|
+
lightskyblue: "#87CEFA",
|
|
9878
|
+
lightslategray: "#778899",
|
|
9879
|
+
lightslategrey: "#778899",
|
|
9880
|
+
lightsteelblue: "#B0C4DE",
|
|
9881
|
+
lightyellow: "#FFFFE0",
|
|
9882
|
+
lime: "#00FF00",
|
|
9883
|
+
limegreen: "#32CD32",
|
|
9884
|
+
linen: "#FAF0E6",
|
|
9885
|
+
magenta: "#FF00FF",
|
|
9886
|
+
maroon: "#800000",
|
|
9887
|
+
mediumaquamarine: "#66CDAA",
|
|
9888
|
+
mediumblue: "#0000CD",
|
|
9889
|
+
mediumorchid: "#BA55D3",
|
|
9890
|
+
mediumpurple: "#9370DB",
|
|
9891
|
+
mediumseagreen: "#3CB371",
|
|
9892
|
+
mediumslateblue: "#7B68EE",
|
|
9893
|
+
mediumspringgreen: "#00FA9A",
|
|
9894
|
+
mediumturquoise: "#48D1CC",
|
|
9895
|
+
mediumvioletred: "#C71585",
|
|
9896
|
+
midnightblue: "#191970",
|
|
9897
|
+
mintcream: "#F5FFFA",
|
|
9898
|
+
mistyrose: "#FFE4E1",
|
|
9899
|
+
moccasin: "#FFE4B5",
|
|
9900
|
+
navajowhite: "#FFDEAD",
|
|
9901
|
+
navy: "#000080",
|
|
9902
|
+
oldlace: "#FDF5E6",
|
|
9903
|
+
olive: "#808000",
|
|
9904
|
+
olivedrab: "#6B8E23",
|
|
9905
|
+
orange: "#FFA500",
|
|
9906
|
+
orangered: "#FF4500",
|
|
9907
|
+
orchid: "#DA70D6",
|
|
9908
|
+
palegoldenrod: "#EEE8AA",
|
|
9909
|
+
palegreen: "#98FB98",
|
|
9910
|
+
paleturquoise: "#AFEEEE",
|
|
9911
|
+
palevioletred: "#DB7093",
|
|
9912
|
+
papayawhip: "#FFEFD5",
|
|
9913
|
+
peachpuff: "#FFDAB9",
|
|
9914
|
+
peru: "#CD853F",
|
|
9915
|
+
pink: "#FFC0CB",
|
|
9916
|
+
plum: "#DDA0DD",
|
|
9917
|
+
powderblue: "#B0E0E6",
|
|
9918
|
+
purple: "#800080",
|
|
9919
|
+
rebeccapurple: "#663399",
|
|
9920
|
+
red: "#FF0000",
|
|
9921
|
+
rosybrown: "#BC8F8F",
|
|
9922
|
+
royalblue: "#4169E1",
|
|
9923
|
+
saddlebrown: "#8B4513",
|
|
9924
|
+
salmon: "#FA8072",
|
|
9925
|
+
sandybrown: "#F4A460",
|
|
9926
|
+
seagreen: "#2E8B57",
|
|
9927
|
+
seashell: "#FFF5EE",
|
|
9928
|
+
sienna: "#A0522D",
|
|
9929
|
+
silver: "#C0C0C0",
|
|
9930
|
+
skyblue: "#87CEEB",
|
|
9931
|
+
slateblue: "#6A5ACD",
|
|
9932
|
+
slategray: "#708090",
|
|
9933
|
+
slategrey: "#708090",
|
|
9934
|
+
snow: "#FFFAFA",
|
|
9935
|
+
springgreen: "#00FF7F",
|
|
9936
|
+
steelblue: "#4682B4",
|
|
9937
|
+
tan: "#D2B48C",
|
|
9938
|
+
teal: "#008080",
|
|
9939
|
+
thistle: "#D8BFD8",
|
|
9940
|
+
tomato: "#FF6347",
|
|
9941
|
+
turquoise: "#40E0D0",
|
|
9942
|
+
violet: "#EE82EE",
|
|
9943
|
+
wheat: "#F5DEB3",
|
|
9944
|
+
white: "#FFFFFF",
|
|
9945
|
+
whitesmoke: "#F5F5F5",
|
|
9946
|
+
yellow: "#FFFF00",
|
|
9947
|
+
yellowgreen: "#9ACD32"
|
|
9948
|
+
};
|
|
9949
|
+
var TAILWIND_COLORS = {
|
|
9950
|
+
"slate-50": "#F8FAFC",
|
|
9951
|
+
"slate-100": "#F1F5F9",
|
|
9952
|
+
"slate-200": "#E2E8F0",
|
|
9953
|
+
"slate-300": "#CBD5E1",
|
|
9954
|
+
"slate-400": "#94A3B8",
|
|
9955
|
+
"slate-500": "#64748B",
|
|
9956
|
+
"slate-600": "#475569",
|
|
9957
|
+
"slate-700": "#334155",
|
|
9958
|
+
"slate-800": "#1E293B",
|
|
9959
|
+
"slate-900": "#0F172A",
|
|
9960
|
+
"slate-950": "#020617",
|
|
9961
|
+
"gray-50": "#F9FAFB",
|
|
9962
|
+
"gray-100": "#F3F4F6",
|
|
9963
|
+
"gray-200": "#E5E7EB",
|
|
9964
|
+
"gray-300": "#D1D5DB",
|
|
9965
|
+
"gray-400": "#9CA3AF",
|
|
9966
|
+
"gray-500": "#6B7280",
|
|
9967
|
+
"gray-600": "#4B5563",
|
|
9968
|
+
"gray-700": "#374151",
|
|
9969
|
+
"gray-800": "#1F2937",
|
|
9970
|
+
"gray-900": "#111827",
|
|
9971
|
+
"gray-950": "#030712",
|
|
9972
|
+
"zinc-50": "#FAFAFA",
|
|
9973
|
+
"zinc-100": "#F4F4F5",
|
|
9974
|
+
"zinc-200": "#E4E4E7",
|
|
9975
|
+
"zinc-300": "#D4D4D8",
|
|
9976
|
+
"zinc-400": "#A1A1AA",
|
|
9977
|
+
"zinc-500": "#71717A",
|
|
9978
|
+
"zinc-600": "#52525B",
|
|
9979
|
+
"zinc-700": "#3F3F46",
|
|
9980
|
+
"zinc-800": "#27272A",
|
|
9981
|
+
"zinc-900": "#18181B",
|
|
9982
|
+
"zinc-950": "#09090B",
|
|
9983
|
+
"neutral-50": "#FAFAFA",
|
|
9984
|
+
"neutral-100": "#F5F5F5",
|
|
9985
|
+
"neutral-200": "#E5E5E5",
|
|
9986
|
+
"neutral-300": "#D4D4D4",
|
|
9987
|
+
"neutral-400": "#A3A3A3",
|
|
9988
|
+
"neutral-500": "#737373",
|
|
9989
|
+
"neutral-600": "#525252",
|
|
9990
|
+
"neutral-700": "#404040",
|
|
9991
|
+
"neutral-800": "#262626",
|
|
9992
|
+
"neutral-900": "#171717",
|
|
9993
|
+
"neutral-950": "#0A0A0A",
|
|
9994
|
+
"stone-50": "#FAFAF9",
|
|
9995
|
+
"stone-100": "#F5F5F4",
|
|
9996
|
+
"stone-200": "#E7E5E4",
|
|
9997
|
+
"stone-300": "#D6D3D1",
|
|
9998
|
+
"stone-400": "#A8A29E",
|
|
9999
|
+
"stone-500": "#78716C",
|
|
10000
|
+
"stone-600": "#57534E",
|
|
10001
|
+
"stone-700": "#44403C",
|
|
10002
|
+
"stone-800": "#292524",
|
|
10003
|
+
"stone-900": "#1C1917",
|
|
10004
|
+
"stone-950": "#0C0A09",
|
|
10005
|
+
"red-50": "#FEF2F2",
|
|
10006
|
+
"red-100": "#FEE2E2",
|
|
10007
|
+
"red-200": "#FECACA",
|
|
10008
|
+
"red-300": "#FCA5A5",
|
|
10009
|
+
"red-400": "#F87171",
|
|
10010
|
+
"red-500": "#EF4444",
|
|
10011
|
+
"red-600": "#DC2626",
|
|
10012
|
+
"red-700": "#B91C1C",
|
|
10013
|
+
"red-800": "#991B1B",
|
|
10014
|
+
"red-900": "#7F1D1D",
|
|
10015
|
+
"red-950": "#450A0A",
|
|
10016
|
+
"orange-50": "#FFF7ED",
|
|
10017
|
+
"orange-100": "#FFEDD5",
|
|
10018
|
+
"orange-200": "#FED7AA",
|
|
10019
|
+
"orange-300": "#FDBA74",
|
|
10020
|
+
"orange-400": "#FB923C",
|
|
10021
|
+
"orange-500": "#F97316",
|
|
10022
|
+
"orange-600": "#EA580C",
|
|
10023
|
+
"orange-700": "#C2410C",
|
|
10024
|
+
"orange-800": "#9A3412",
|
|
10025
|
+
"orange-900": "#7C2D12",
|
|
10026
|
+
"orange-950": "#431407",
|
|
10027
|
+
"amber-50": "#FFFBEB",
|
|
10028
|
+
"amber-100": "#FEF3C7",
|
|
10029
|
+
"amber-200": "#FDE68A",
|
|
10030
|
+
"amber-300": "#FCD34D",
|
|
10031
|
+
"amber-400": "#FBBF24",
|
|
10032
|
+
"amber-500": "#F59E0B",
|
|
10033
|
+
"amber-600": "#D97706",
|
|
10034
|
+
"amber-700": "#B45309",
|
|
10035
|
+
"amber-800": "#92400E",
|
|
10036
|
+
"amber-900": "#78350F",
|
|
10037
|
+
"amber-950": "#451A03",
|
|
10038
|
+
"yellow-50": "#FEFCE8",
|
|
10039
|
+
"yellow-100": "#FEF9C3",
|
|
10040
|
+
"yellow-200": "#FEF08A",
|
|
10041
|
+
"yellow-300": "#FDE047",
|
|
10042
|
+
"yellow-400": "#FACC15",
|
|
10043
|
+
"yellow-500": "#EAB308",
|
|
10044
|
+
"yellow-600": "#CA8A04",
|
|
10045
|
+
"yellow-700": "#A16207",
|
|
10046
|
+
"yellow-800": "#854D0E",
|
|
10047
|
+
"yellow-900": "#713F12",
|
|
10048
|
+
"yellow-950": "#422006",
|
|
10049
|
+
"lime-50": "#F7FEE7",
|
|
10050
|
+
"lime-100": "#ECFCCB",
|
|
10051
|
+
"lime-200": "#D9F99D",
|
|
10052
|
+
"lime-300": "#BEF264",
|
|
10053
|
+
"lime-400": "#A3E635",
|
|
10054
|
+
"lime-500": "#84CC16",
|
|
10055
|
+
"lime-600": "#65A30D",
|
|
10056
|
+
"lime-700": "#4D7C0F",
|
|
10057
|
+
"lime-800": "#3F6212",
|
|
10058
|
+
"lime-900": "#365314",
|
|
10059
|
+
"lime-950": "#1A2E05",
|
|
10060
|
+
"green-50": "#F0FDF4",
|
|
10061
|
+
"green-100": "#DCFCE7",
|
|
10062
|
+
"green-200": "#BBF7D0",
|
|
10063
|
+
"green-300": "#86EFAC",
|
|
10064
|
+
"green-400": "#4ADE80",
|
|
10065
|
+
"green-500": "#22C55E",
|
|
10066
|
+
"green-600": "#16A34A",
|
|
10067
|
+
"green-700": "#15803D",
|
|
10068
|
+
"green-800": "#166534",
|
|
10069
|
+
"green-900": "#14532D",
|
|
10070
|
+
"green-950": "#052E16",
|
|
10071
|
+
"emerald-50": "#ECFDF5",
|
|
10072
|
+
"emerald-100": "#D1FAE5",
|
|
10073
|
+
"emerald-200": "#A7F3D0",
|
|
10074
|
+
"emerald-300": "#6EE7B7",
|
|
10075
|
+
"emerald-400": "#34D399",
|
|
10076
|
+
"emerald-500": "#10B981",
|
|
10077
|
+
"emerald-600": "#059669",
|
|
10078
|
+
"emerald-700": "#047857",
|
|
10079
|
+
"emerald-800": "#065F46",
|
|
10080
|
+
"emerald-900": "#064E3B",
|
|
10081
|
+
"emerald-950": "#022C22",
|
|
10082
|
+
"teal-50": "#F0FDFA",
|
|
10083
|
+
"teal-100": "#CCFBF1",
|
|
10084
|
+
"teal-200": "#99F6E4",
|
|
10085
|
+
"teal-300": "#5EEAD4",
|
|
10086
|
+
"teal-400": "#2DD4BF",
|
|
10087
|
+
"teal-500": "#14B8A6",
|
|
10088
|
+
"teal-600": "#0D9488",
|
|
10089
|
+
"teal-700": "#0F766E",
|
|
10090
|
+
"teal-800": "#115E59",
|
|
10091
|
+
"teal-900": "#134E4A",
|
|
10092
|
+
"teal-950": "#042F2E",
|
|
10093
|
+
"cyan-50": "#ECFEFF",
|
|
10094
|
+
"cyan-100": "#CFFAFE",
|
|
10095
|
+
"cyan-200": "#A5F3FC",
|
|
10096
|
+
"cyan-300": "#67E8F9",
|
|
10097
|
+
"cyan-400": "#22D3EE",
|
|
10098
|
+
"cyan-500": "#06B6D4",
|
|
10099
|
+
"cyan-600": "#0891B2",
|
|
10100
|
+
"cyan-700": "#0E7490",
|
|
10101
|
+
"cyan-800": "#155E75",
|
|
10102
|
+
"cyan-900": "#164E63",
|
|
10103
|
+
"cyan-950": "#083344",
|
|
10104
|
+
"sky-50": "#F0F9FF",
|
|
10105
|
+
"sky-100": "#E0F2FE",
|
|
10106
|
+
"sky-200": "#BAE6FD",
|
|
10107
|
+
"sky-300": "#7DD3FC",
|
|
10108
|
+
"sky-400": "#38BDF8",
|
|
10109
|
+
"sky-500": "#0EA5E9",
|
|
10110
|
+
"sky-600": "#0284C7",
|
|
10111
|
+
"sky-700": "#0369A1",
|
|
10112
|
+
"sky-800": "#075985",
|
|
10113
|
+
"sky-900": "#0C4A6E",
|
|
10114
|
+
"sky-950": "#082F49",
|
|
10115
|
+
"blue-50": "#EFF6FF",
|
|
10116
|
+
"blue-100": "#DBEAFE",
|
|
10117
|
+
"blue-200": "#BFDBFE",
|
|
10118
|
+
"blue-300": "#93C5FD",
|
|
10119
|
+
"blue-400": "#60A5FA",
|
|
10120
|
+
"blue-500": "#3B82F6",
|
|
10121
|
+
"blue-600": "#2563EB",
|
|
10122
|
+
"blue-700": "#1D4ED8",
|
|
10123
|
+
"blue-800": "#1E40AF",
|
|
10124
|
+
"blue-900": "#1E3A8A",
|
|
10125
|
+
"blue-950": "#172554",
|
|
10126
|
+
"indigo-50": "#EEF2FF",
|
|
10127
|
+
"indigo-100": "#E0E7FF",
|
|
10128
|
+
"indigo-200": "#C7D2FE",
|
|
10129
|
+
"indigo-300": "#A5B4FC",
|
|
10130
|
+
"indigo-400": "#818CF8",
|
|
10131
|
+
"indigo-500": "#6366F1",
|
|
10132
|
+
"indigo-600": "#4F46E5",
|
|
10133
|
+
"indigo-700": "#4338CA",
|
|
10134
|
+
"indigo-800": "#3730A3",
|
|
10135
|
+
"indigo-900": "#312E81",
|
|
10136
|
+
"indigo-950": "#1E1B4B",
|
|
10137
|
+
"violet-50": "#F5F3FF",
|
|
10138
|
+
"violet-100": "#EDE9FE",
|
|
10139
|
+
"violet-200": "#DDD6FE",
|
|
10140
|
+
"violet-300": "#C4B5FD",
|
|
10141
|
+
"violet-400": "#A78BFA",
|
|
10142
|
+
"violet-500": "#8B5CF6",
|
|
10143
|
+
"violet-600": "#7C3AED",
|
|
10144
|
+
"violet-700": "#6D28D9",
|
|
10145
|
+
"violet-800": "#5B21B6",
|
|
10146
|
+
"violet-900": "#4C1D95",
|
|
10147
|
+
"violet-950": "#2E1065",
|
|
10148
|
+
"purple-50": "#FAF5FF",
|
|
10149
|
+
"purple-100": "#F3E8FF",
|
|
10150
|
+
"purple-200": "#E9D5FF",
|
|
10151
|
+
"purple-300": "#D8B4FE",
|
|
10152
|
+
"purple-400": "#C084FC",
|
|
10153
|
+
"purple-500": "#A855F7",
|
|
10154
|
+
"purple-600": "#9333EA",
|
|
10155
|
+
"purple-700": "#7E22CE",
|
|
10156
|
+
"purple-800": "#6B21A8",
|
|
10157
|
+
"purple-900": "#581C87",
|
|
10158
|
+
"purple-950": "#3B0764",
|
|
10159
|
+
"fuchsia-50": "#FDF4FF",
|
|
10160
|
+
"fuchsia-100": "#FAE8FF",
|
|
10161
|
+
"fuchsia-200": "#F5D0FE",
|
|
10162
|
+
"fuchsia-300": "#F0ABFC",
|
|
10163
|
+
"fuchsia-400": "#E879F9",
|
|
10164
|
+
"fuchsia-500": "#D946EF",
|
|
10165
|
+
"fuchsia-600": "#C026D3",
|
|
10166
|
+
"fuchsia-700": "#A21CAF",
|
|
10167
|
+
"fuchsia-800": "#86198F",
|
|
10168
|
+
"fuchsia-900": "#701A75",
|
|
10169
|
+
"fuchsia-950": "#4A044E",
|
|
10170
|
+
"pink-50": "#FDF2F8",
|
|
10171
|
+
"pink-100": "#FCE7F3",
|
|
10172
|
+
"pink-200": "#FBCFE8",
|
|
10173
|
+
"pink-300": "#F9A8D4",
|
|
10174
|
+
"pink-400": "#F472B6",
|
|
10175
|
+
"pink-500": "#EC4899",
|
|
10176
|
+
"pink-600": "#DB2777",
|
|
10177
|
+
"pink-700": "#BE185D",
|
|
10178
|
+
"pink-800": "#9D174D",
|
|
10179
|
+
"pink-900": "#831843",
|
|
10180
|
+
"pink-950": "#500724",
|
|
10181
|
+
"rose-50": "#FFF1F2",
|
|
10182
|
+
"rose-100": "#FFE4E6",
|
|
10183
|
+
"rose-200": "#FECDD3",
|
|
10184
|
+
"rose-300": "#FDA4AF",
|
|
10185
|
+
"rose-400": "#FB7185",
|
|
10186
|
+
"rose-500": "#F43F5E",
|
|
10187
|
+
"rose-600": "#E11D48",
|
|
10188
|
+
"rose-700": "#BE123C",
|
|
10189
|
+
"rose-800": "#9F1239",
|
|
10190
|
+
"rose-900": "#881337",
|
|
10191
|
+
"rose-950": "#4C0519"
|
|
10192
|
+
};
|
|
10193
|
+
function hslToRgb(h, s, l) {
|
|
10194
|
+
h = (h % 360 + 360) % 360;
|
|
10195
|
+
s = Math.max(0, Math.min(1, s));
|
|
10196
|
+
l = Math.max(0, Math.min(1, l));
|
|
10197
|
+
const c = (1 - Math.abs(2 * l - 1)) * s;
|
|
10198
|
+
const x = c * (1 - Math.abs(h / 60 % 2 - 1));
|
|
10199
|
+
const m = l - c / 2;
|
|
10200
|
+
let r1, g1, b1;
|
|
10201
|
+
if (h < 60) {
|
|
10202
|
+
;
|
|
10203
|
+
[r1, g1, b1] = [c, x, 0];
|
|
10204
|
+
} else if (h < 120) {
|
|
10205
|
+
;
|
|
10206
|
+
[r1, g1, b1] = [x, c, 0];
|
|
10207
|
+
} else if (h < 180) {
|
|
10208
|
+
;
|
|
10209
|
+
[r1, g1, b1] = [0, c, x];
|
|
10210
|
+
} else if (h < 240) {
|
|
10211
|
+
;
|
|
10212
|
+
[r1, g1, b1] = [0, x, c];
|
|
10213
|
+
} else if (h < 300) {
|
|
10214
|
+
;
|
|
10215
|
+
[r1, g1, b1] = [x, 0, c];
|
|
10216
|
+
} else {
|
|
10217
|
+
;
|
|
10218
|
+
[r1, g1, b1] = [c, 0, x];
|
|
10219
|
+
}
|
|
10220
|
+
return [
|
|
10221
|
+
Math.round((r1 + m) * 255),
|
|
10222
|
+
Math.round((g1 + m) * 255),
|
|
10223
|
+
Math.round((b1 + m) * 255)
|
|
10224
|
+
];
|
|
10225
|
+
}
|
|
10226
|
+
function componentToHex(c) {
|
|
10227
|
+
const clamped = Math.max(0, Math.min(255, Math.round(c)));
|
|
10228
|
+
return clamped.toString(16).padStart(2, "0").toUpperCase();
|
|
10229
|
+
}
|
|
10230
|
+
function rgbToHex(r, g, b) {
|
|
10231
|
+
return `#${componentToHex(r)}${componentToHex(g)}${componentToHex(b)}`;
|
|
10232
|
+
}
|
|
10233
|
+
function colorToHex(value) {
|
|
10234
|
+
const trimmed = value.trim();
|
|
10235
|
+
if (!trimmed) return null;
|
|
10236
|
+
if (/^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$/.test(trimmed)) {
|
|
10237
|
+
return `#${trimmed.slice(1, 7).toUpperCase()}`;
|
|
10238
|
+
}
|
|
10239
|
+
if (/^#[0-9A-Fa-f]{3}$/.test(trimmed)) {
|
|
10240
|
+
const r = trimmed[1];
|
|
10241
|
+
const g = trimmed[2];
|
|
10242
|
+
const b = trimmed[3];
|
|
10243
|
+
return `#${r}${r}${g}${g}${b}${b}`.toUpperCase();
|
|
10244
|
+
}
|
|
10245
|
+
if (/^[0-9A-Fa-f]{6}$/.test(trimmed)) {
|
|
10246
|
+
return `#${trimmed.toUpperCase()}`;
|
|
10247
|
+
}
|
|
10248
|
+
const lower = trimmed.toLowerCase();
|
|
10249
|
+
const rgbMatch = lower.match(
|
|
10250
|
+
/^rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*[\d.]+\s*)?\)$/
|
|
10251
|
+
);
|
|
10252
|
+
if (rgbMatch) {
|
|
10253
|
+
return rgbToHex(
|
|
10254
|
+
parseInt(rgbMatch[1], 10),
|
|
10255
|
+
parseInt(rgbMatch[2], 10),
|
|
10256
|
+
parseInt(rgbMatch[3], 10)
|
|
10257
|
+
);
|
|
10258
|
+
}
|
|
10259
|
+
const hslMatch = lower.match(
|
|
10260
|
+
/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%\s*(?:,\s*[\d.]+\s*)?\)$/
|
|
10261
|
+
);
|
|
10262
|
+
if (hslMatch) {
|
|
10263
|
+
const [r, g, b] = hslToRgb(
|
|
10264
|
+
parseFloat(hslMatch[1]),
|
|
10265
|
+
parseFloat(hslMatch[2]) / 100,
|
|
10266
|
+
parseFloat(hslMatch[3]) / 100
|
|
10267
|
+
);
|
|
10268
|
+
return rgbToHex(r, g, b);
|
|
10269
|
+
}
|
|
10270
|
+
if (CSS_NAMED_COLORS[lower]) {
|
|
10271
|
+
return CSS_NAMED_COLORS[lower];
|
|
10272
|
+
}
|
|
10273
|
+
if (TAILWIND_COLORS[lower]) {
|
|
10274
|
+
return TAILWIND_COLORS[lower];
|
|
10275
|
+
}
|
|
10276
|
+
return null;
|
|
10277
|
+
}
|
|
10278
|
+
|
|
9759
10279
|
// src/audit/ComponentAuditor.ts
|
|
9760
10280
|
import { readFile as readFile4, readdir } from "fs/promises";
|
|
9761
10281
|
import { join as join5 } from "path";
|
|
@@ -9968,6 +10488,7 @@ export {
|
|
|
9968
10488
|
allocateNextCid,
|
|
9969
10489
|
atomicWriteFile,
|
|
9970
10490
|
buildCssVariables,
|
|
10491
|
+
colorToHex,
|
|
9971
10492
|
componentExists,
|
|
9972
10493
|
createEntry,
|
|
9973
10494
|
extractConfigObject,
|