@calibrate-ds/shared-types 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,71 @@
1
+ /** Figma design tool configuration. */
2
+ export type FigmaDesignToolConfig = {
3
+ provider: "figma";
4
+ fileKey: string;
5
+ accessTokenEnv: string;
6
+ };
7
+ /**
8
+ * Union of all supported design tool configurations.
9
+ * New adapters extend this union — e.g. `| PenpotDesignToolConfig`.
10
+ */
11
+ export type DesignToolConfig = FigmaDesignToolConfig;
12
+ /** @deprecated Use DesignToolConfig instead. Kept for migration compatibility. */
13
+ export type FigmaConfig = {
14
+ fileKey: string;
15
+ accessTokenEnv: string;
16
+ };
17
+ export type OutputConfig = {
18
+ componentsDir: string;
19
+ tokensDir: string;
20
+ metadataDir: string;
21
+ };
22
+ export type FrameworkConfig = {
23
+ name: "react" | string;
24
+ typescript: boolean;
25
+ styling: "unstyled" | "tailwind" | "css-modules";
26
+ };
27
+ export type GenerationConfig = {
28
+ stories: boolean;
29
+ tests: boolean;
30
+ types: boolean;
31
+ indexFiles: boolean;
32
+ cssFiles?: boolean;
33
+ };
34
+ export type NamingConfig = {
35
+ componentCase: "PascalCase" | "kebab-case" | "camelCase";
36
+ folderCase: "PascalCase" | "kebab-case" | "camelCase";
37
+ tokenCase: "camelCase" | "kebab-case";
38
+ };
39
+ export type ClassificationConfig = {
40
+ treatComponentSetsAsCanonical: boolean;
41
+ treatStandaloneComponentsAsCanonical: boolean;
42
+ treatNestedInstancesAsReferences: boolean;
43
+ };
44
+ export type AIProviderEntry = {
45
+ model?: string;
46
+ accessTokenEnv?: string;
47
+ baseUrl?: string;
48
+ };
49
+ export type AIConfig = {
50
+ active: string;
51
+ providers: Record<string, AIProviderEntry>;
52
+ };
53
+ export type DocsTool = "storybook" | "docusaurus" | "none";
54
+ export type DocsConfig = {
55
+ tool: DocsTool;
56
+ format?: "mdx" | "stories" | "both";
57
+ };
58
+ export type PTBConfig = {
59
+ designTool: DesignToolConfig;
60
+ project: {
61
+ rootDir: string;
62
+ };
63
+ output: OutputConfig;
64
+ framework: FrameworkConfig;
65
+ generation: GenerationConfig;
66
+ naming: NamingConfig;
67
+ classification: ClassificationConfig;
68
+ ai?: AIConfig;
69
+ docs?: DocsConfig;
70
+ };
71
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAErD,kFAAkF;AAClF,MAAM,MAAM,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE,MAAM,MAAM,YAAY,GAAG;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,aAAa,EAAE,YAAY,GAAG,YAAY,GAAG,WAAW,CAAC;IACzD,UAAU,EAAE,YAAY,GAAG,YAAY,GAAG,WAAW,CAAC;IACtD,SAAS,EAAE,WAAW,GAAG,YAAY,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,6BAA6B,EAAE,OAAO,CAAC;IACvC,oCAAoC,EAAE,OAAO,CAAC;IAC9C,gCAAgC,EAAE,OAAO,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,CAAC;AAE3D,MAAM,MAAM,UAAU,GAAG;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACpB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,cAAc,EAAE,oBAAoB,CAAC;IACrC,EAAE,CAAC,EAAE,QAAQ,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC"}
package/dist/config.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":""}
package/dist/diff.d.ts ADDED
@@ -0,0 +1,18 @@
1
+ export type ChangeType = "added" | "modified" | "deleted" | "unchanged";
2
+ export type EntityType = "component" | "token" | "collection" | "variant" | "property";
3
+ export type EntityChange = {
4
+ entityId: string;
5
+ entityType: EntityType;
6
+ changeType: ChangeType;
7
+ previousValue?: any;
8
+ newValue?: any;
9
+ details?: string[];
10
+ };
11
+ export type DiffSummary = {
12
+ timestamp: string;
13
+ changes: EntityChange[];
14
+ addedCount: number;
15
+ modifiedCount: number;
16
+ deletedCount: number;
17
+ };
18
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;AAExE,MAAM,MAAM,UAAU,GAChB,WAAW,GACX,OAAO,GACP,YAAY,GACZ,SAAS,GACT,UAAU,CAAC;AAEjB,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC"}
package/dist/diff.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ import type { DesignSystemModel, FileMapping } from "./model.js";
2
+ import type { PTBConfig } from "./config.js";
3
+ import type { RegistrySnapshot, DependencyGraph } from "./registry.js";
4
+ import type { ScaffoldPlan } from "./scaffold.js";
5
+ export type ComponentArtifactsReport = {
6
+ id: string;
7
+ name: string;
8
+ folder: string;
9
+ files: string[];
10
+ };
11
+ export type WriteComponentsReport = {
12
+ createdFiles: string[];
13
+ skippedFiles: string[];
14
+ components: ComponentArtifactsReport[];
15
+ };
16
+ export type WriteComponentsOptions = {
17
+ forceOverwriteComponents?: string[];
18
+ };
19
+ export type WriteTokensReport = {
20
+ createdFiles: string[];
21
+ skippedFiles: string[];
22
+ metrics: {
23
+ resolved: number;
24
+ unresolved: number;
25
+ nonScalar: number;
26
+ cycles: number;
27
+ withUnits: number;
28
+ unitless: number;
29
+ };
30
+ };
31
+ export type WriteTokensOptions = {
32
+ forceOverwriteTokens?: boolean;
33
+ };
34
+ export type ScaffoldWriteReport = {
35
+ createdDirectories: string[];
36
+ createdFiles: string[];
37
+ skippedFiles: string[];
38
+ writtenMetadataFiles: string[];
39
+ };
40
+ export type ScaffoldArgs = {
41
+ config: PTBConfig;
42
+ model: DesignSystemModel;
43
+ registry: RegistrySnapshot;
44
+ graph: DependencyGraph;
45
+ mappings: FileMapping[];
46
+ plan: ScaffoldPlan;
47
+ };
48
+ export type PruneResult = {
49
+ deleted: string[];
50
+ skipped: string[];
51
+ errors: string[];
52
+ };
53
+ //# sourceMappingURL=generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,MAAM,MAAM,wBAAwB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,wBAAwB,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACjC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,IAAI,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export * from "./model.js";
2
+ export * from "./config.js";
3
+ export * from "./registry.js";
4
+ export * from "./diff.js";
5
+ export * from "./scaffold.js";
6
+ export * from "./manifest.js";
7
+ export * from "./generator.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ export * from "./model.js";
2
+ export * from "./config.js";
3
+ export * from "./registry.js";
4
+ export * from "./diff.js";
5
+ export * from "./scaffold.js";
6
+ export * from "./manifest.js";
7
+ export * from "./generator.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export type ComponentArtifacts = {
2
+ name: string;
3
+ folder: string;
4
+ artifacts: string[];
5
+ framework: string;
6
+ };
7
+ export type PTBManifest = {
8
+ components: Record<string, ComponentArtifacts>;
9
+ };
10
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAClD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":""}
@@ -0,0 +1,662 @@
1
+ export type DesignToken = {
2
+ id: string;
3
+ key?: string;
4
+ name: string;
5
+ codeName?: string;
6
+ value: string | number | any;
7
+ type: "color" | "typography" | "spacing" | "radius" | "shadow" | "other" | "dimension";
8
+ description?: string;
9
+ aliasTargetId?: string;
10
+ };
11
+ /**
12
+ * Tags a variant/property/token with where it came from in the design tool.
13
+ * Figma-specific values are the known set for the Figma adapter.
14
+ * Other adapters (Penpot, Sketch, …) extend this with their own string values.
15
+ */
16
+ export type SourceMetadata = "figma-component-set" | "figma-component-property" | "figma-variable-binding" | "figma-nested-instance" | (string & {});
17
+ export type ContextMetadata = {
18
+ schemaVersion: string;
19
+ componentId: string;
20
+ componentName: string;
21
+ sourceSnapshotId: string;
22
+ contextHash: string;
23
+ generatedAt: string;
24
+ dependencyContextHashes: Record<string, string>;
25
+ };
26
+ export type ComponentKind = "atomic" | "composite" | "system" | "unclassified" | "primitive" | "wrapper" | "canonical";
27
+ export type ComponentKindMetadata = {
28
+ value: ComponentKind;
29
+ inferred: boolean;
30
+ };
31
+ export type TokenCollection = {
32
+ id: string;
33
+ name: string;
34
+ tokens: DesignToken[];
35
+ };
36
+ export type VariantProperty = {
37
+ name: string;
38
+ type: "boolean" | "string" | "number";
39
+ options: string[];
40
+ defaultValue?: string;
41
+ source?: SourceMetadata;
42
+ };
43
+ export type ComponentProperty = {
44
+ name: string;
45
+ type: "enum" | "boolean" | "text" | "instance";
46
+ options?: string[];
47
+ defaultValue?: string | boolean;
48
+ source?: SourceMetadata;
49
+ };
50
+ export type LocalElement = {
51
+ id: string;
52
+ type: string;
53
+ name: string;
54
+ };
55
+ export type TokenReference = {
56
+ tokenId: string;
57
+ property: string;
58
+ };
59
+ export type ComponentInstance = {
60
+ id: string;
61
+ componentId: string;
62
+ name: string;
63
+ variantProperties?: Record<string, string>;
64
+ overrides?: Record<string, any>;
65
+ };
66
+ export type ResolvedToken = {
67
+ name: string;
68
+ codeName?: string;
69
+ cssVariable?: string;
70
+ id?: string;
71
+ aliasTargetId?: string;
72
+ collection?: {
73
+ name: string;
74
+ id?: string;
75
+ };
76
+ mode?: {
77
+ name: string;
78
+ id?: string;
79
+ };
80
+ };
81
+ export type DesignValue = {
82
+ resolvedToken?: ResolvedToken;
83
+ rawValue: string | number;
84
+ mode?: "auto" | "fixed" | "fill" | "hug";
85
+ };
86
+ export type TokenBinding = {
87
+ slot: string;
88
+ resolvedToken?: ResolvedToken;
89
+ boundToken?: ResolvedToken;
90
+ rawValue: string | number;
91
+ source?: SourceMetadata;
92
+ };
93
+ export type CompositeDefinition = {
94
+ id: string;
95
+ name: string;
96
+ children: (ComponentInstance | LocalElement)[];
97
+ layoutTree?: LayoutTreeNode;
98
+ };
99
+ export type ComponentDefinition = {
100
+ id: string;
101
+ designToolNodeId?: string;
102
+ kind: ComponentKindMetadata;
103
+ name: string;
104
+ description?: string;
105
+ categoryPath?: string;
106
+ variants?: VariantProperty[];
107
+ variantAxes?: VariantProperty[];
108
+ properties?: ComponentProperty[];
109
+ composite?: CompositeDefinition;
110
+ tokens?: TokenReference[];
111
+ tokenBindings?: TokenBinding[];
112
+ styleMetadata?: Record<string, string | number>;
113
+ layout?: LayoutMetadata;
114
+ layoutTree?: LayoutTreeNode;
115
+ size?: SizeMetadata;
116
+ dependencies?: string[];
117
+ renderTree?: LayoutTreeNode;
118
+ baseRenderTree?: LayoutTreeNode;
119
+ defaultVariantSelection?: Record<string, string>;
120
+ variantDiffs?: any;
121
+ childNodes?: LayoutTreeNode[];
122
+ dependencyInstances?: any[];
123
+ reactions?: any[];
124
+ iconKind?: "vector" | "font-symbol";
125
+ iconSvg?: string | null;
126
+ /** Computed during normalization. Consumers (prompt generator, IDE tools) read this
127
+ * instead of re-deriving it from name heuristics and Figma property shapes. */
128
+ componentType?: "icon" | "formControl" | "composite" | "layout";
129
+ };
130
+ export type DesignSystemModel = {
131
+ version: string;
132
+ tokens: TokenCollection[];
133
+ components: ComponentDefinition[];
134
+ mappings?: FileMapping[];
135
+ dependencies?: DependencyEdge[];
136
+ styles?: Record<string, any>;
137
+ };
138
+ export type LayoutMetadata = {
139
+ direction: "row" | "column" | "stack" | "unknown";
140
+ gap?: DesignValue;
141
+ padding?: {
142
+ top: DesignValue;
143
+ right: DesignValue;
144
+ bottom: DesignValue;
145
+ left: DesignValue;
146
+ };
147
+ mainAlignment?: "start" | "center" | "end" | "space-between";
148
+ crossAlignment?: "start" | "center" | "end" | "baseline";
149
+ };
150
+ export type SizeMetadata = {
151
+ width: DesignValue;
152
+ height: DesignValue;
153
+ };
154
+ export type SlotKind = "text" | "icon" | "asset" | "child" | "unknown";
155
+ /** How a slot is controlled — drives the render pattern and import decisions. */
156
+ export type SlotVisibilityBehavior = "always" | "caller-controlled" | "caller-overrideable" | "hidden-by-default";
157
+ export type SlotDefinition = {
158
+ kind: SlotKind;
159
+ visible: boolean;
160
+ prop?: string;
161
+ textContent?: string;
162
+ dependency?: {
163
+ componentName: string;
164
+ importName: string;
165
+ componentId: string;
166
+ } | null;
167
+ /** Concrete JSX expression to copy verbatim into the component render, e.g. `{tab3}` or `{icon ?? <Icon />}`.
168
+ * Computed deterministically during context generation — AI IDEs should use this directly. */
169
+ renderPattern?: string;
170
+ /** Describes how visibility is controlled — determines which render pattern applies. */
171
+ visibilityBehavior?: SlotVisibilityBehavior;
172
+ };
173
+ export type StateContract = {
174
+ controller: {
175
+ kind: "prop" | "local" | "static" | "unknown";
176
+ name: string;
177
+ dataType: "string" | "boolean" | "number";
178
+ defaultValue?: any;
179
+ };
180
+ stateAxis: {
181
+ name: string;
182
+ options: string[];
183
+ };
184
+ stateDefaults: Record<string, {
185
+ content?: Record<string, string | number>;
186
+ slotVisibility?: Record<string, boolean>;
187
+ style?: Record<string, any>;
188
+ dependency?: Record<string, any>;
189
+ }>;
190
+ overridePriority: string[];
191
+ };
192
+ export type InteractionEvent = {
193
+ source: {
194
+ nodeName: string;
195
+ role?: string;
196
+ path?: string;
197
+ };
198
+ event: string;
199
+ action: {
200
+ type: "setState" | "callback" | "navigate" | "dismiss" | "unknown";
201
+ target: string;
202
+ value?: any;
203
+ };
204
+ };
205
+ export type InteractionContract = {
206
+ events: InteractionEvent[];
207
+ interactionModel: "declarative" | "imperative";
208
+ warnings?: string[];
209
+ };
210
+ export type TransitionSummary = Record<string, {
211
+ contentChanges: string[];
212
+ slotVisibilityChanges: string[];
213
+ styleChanges: string[];
214
+ dependencyChanges: string[];
215
+ }>;
216
+ export type TargetSelector = {
217
+ role?: string;
218
+ slotName?: string;
219
+ nodeName?: string;
220
+ path?: string;
221
+ };
222
+ export type TargetPatch<T> = {
223
+ target: TargetSelector;
224
+ value: T;
225
+ };
226
+ export type VariantPatch = {
227
+ content?: Record<string, TargetPatch<string>>;
228
+ slotVisibility?: Record<string, TargetPatch<boolean>>;
229
+ styleOverrides?: Record<string, TargetPatch<Record<string, any>>>;
230
+ dependencyOverrides?: Record<string, TargetPatch<any>>;
231
+ layoutOverrides?: Record<string, TargetPatch<any>>;
232
+ };
233
+ export type VariantSummaryChanges = {
234
+ contentChanges: string[];
235
+ slotVisibilityChanges: string[];
236
+ styleChanges: string[];
237
+ layoutChanges: string[];
238
+ dependencyChanges: string[];
239
+ };
240
+ export type CompressedBase = {
241
+ state: "base";
242
+ tree: LayoutTreeNode;
243
+ contracts?: {
244
+ content?: any;
245
+ slots?: any;
246
+ styles?: any;
247
+ layout?: any;
248
+ typography?: any;
249
+ };
250
+ };
251
+ export type CompressedVariant = {
252
+ patch: VariantPatch;
253
+ };
254
+ export type PatchApplicationRules = {
255
+ order: string[];
256
+ notes: string[];
257
+ };
258
+ export type CompressedContext = {
259
+ base: CompressedBase;
260
+ variants: Record<string, CompressedVariant>;
261
+ variantSummary: Record<string, VariantSummaryChanges>;
262
+ patchApplicationRules: PatchApplicationRules;
263
+ };
264
+ export type PrototypeAnimation = {
265
+ figma: string;
266
+ type: "smartAnimate" | "dissolve" | "moveIn" | "moveOut" | "push" | "slideIn" | "slideOut" | "instant" | "unknown";
267
+ curve?: string;
268
+ durationMs?: number;
269
+ delayMs?: number;
270
+ };
271
+ export type PrototypeAnimationHints = {
272
+ changedProperties?: string[];
273
+ preferredImplementation: "layout-transition" | "opacity-transition" | "transform-transition" | "state-swap" | "unknown";
274
+ };
275
+ export type PrototypeInteraction = {
276
+ source: {
277
+ nodeName: string;
278
+ path: string;
279
+ role: string;
280
+ };
281
+ trigger: {
282
+ figma: string;
283
+ runtime: string;
284
+ category: "pointer-enter" | "pointer-leave" | "click" | "pointer-down" | "pointer-up" | "timer" | "gesture" | "keyboard" | "unknown";
285
+ };
286
+ action: {
287
+ figma: string;
288
+ type: "changeState" | "navigate" | "openOverlay" | "closeOverlay" | "swapOverlay" | "back" | "scrollTo" | "setVariable" | "callback" | "dismiss" | "unknown";
289
+ targetState?: string;
290
+ targetFrame?: string;
291
+ targetOverlay?: string;
292
+ variableMutation?: any;
293
+ };
294
+ animation?: PrototypeAnimation;
295
+ animationHints?: PrototypeAnimationHints;
296
+ warnings?: string[];
297
+ };
298
+ export type PrototypeInteractionContract = {
299
+ interactions: PrototypeInteraction[];
300
+ };
301
+ export type DesignRulePolicy = "none" | "strict" | "preserve-instance-override" | "normalize-to-base";
302
+ export type DesignRule = {
303
+ policy: DesignRulePolicy | string;
304
+ reason?: string;
305
+ notes?: string[];
306
+ };
307
+ export type DesignRules = {
308
+ border?: DesignRule;
309
+ spacing?: DesignRule;
310
+ normalizationPolicy?: DesignRulePolicy;
311
+ slotVisibilityPolicy?: DesignRulePolicy;
312
+ notes?: string[];
313
+ };
314
+ export type ImplementationHints = {
315
+ preferInvocationContract?: boolean;
316
+ preferOverrideContract?: boolean;
317
+ preferSlotContract?: boolean;
318
+ avoidDeepTreeInference?: boolean;
319
+ notes?: string[];
320
+ /** Recommended HTML element for the component root, e.g. "nav", "button", "ul", "form".
321
+ * Derived deterministically from component name, interaction contract, and category.
322
+ * Omitted when "div" is the correct default. */
323
+ semanticElement?: string;
324
+ };
325
+ export type InvocationContract = {
326
+ componentName: string;
327
+ importName: string;
328
+ resolvedProps: Record<string, any>;
329
+ propSourceMap: Record<string, string>;
330
+ omitProps: string[];
331
+ slotContract: Record<string, SlotDefinition>;
332
+ childrenPolicy: "none" | "text" | "children" | "generic";
333
+ iconBindingPolicy: Record<string, string>;
334
+ renderHint: string;
335
+ overrideContract?: OverrideContract;
336
+ designRules?: DesignRules;
337
+ implementationHints?: ImplementationHints;
338
+ };
339
+ export type InstanceOverrideMode = "invoke-dependency" | "invoke-dependency-with-overrides" | "invoke-dependency-with-local-patch" | "recommend-variant-promotion";
340
+ export type OverrideClassification = {
341
+ representable: string[];
342
+ derivedButRepresentable: string[];
343
+ nonRepresentable: string[];
344
+ warnings: string[];
345
+ };
346
+ export type StyleOverrideValue = {
347
+ fromToken?: string;
348
+ toToken?: string;
349
+ fromCssVar?: string;
350
+ toCssVar?: string;
351
+ fromColor?: string;
352
+ toColor?: string;
353
+ resolution: "token" | "literal";
354
+ fromBinding?: ResolvedBinding;
355
+ toBinding?: ResolvedBinding;
356
+ };
357
+ export type OverrideContract = {
358
+ slotVisibility: Record<string, boolean>;
359
+ content: Record<string, string | number>;
360
+ dependency: Record<string, {
361
+ kind: "dependency";
362
+ componentName: string;
363
+ importName: string;
364
+ componentId: string;
365
+ }>;
366
+ style: Record<string, any>;
367
+ classification: OverrideClassification;
368
+ };
369
+ export type InstanceSummary = {
370
+ baseComponent: string;
371
+ variantSelection: Record<string, string>;
372
+ divergenceSummary: {
373
+ contentOverrides: string[];
374
+ slotVisibilityOverrides: string[];
375
+ styleOverrides: string[];
376
+ dependencyOverrides: string[];
377
+ };
378
+ };
379
+ export type ResolvedInstanceUsage = {
380
+ standardType?: "icon-only" | "text-only" | "text-with-leading-icon" | "text-with-trailing-icon" | "text-with-both-icons" | "generic";
381
+ instanceSummary?: InstanceSummary;
382
+ visibleSlots: string[];
383
+ hiddenSlots: string[];
384
+ textVisible: boolean;
385
+ textContent?: string;
386
+ leadingIconVisible: boolean;
387
+ trailingIconVisible: boolean;
388
+ summary: string;
389
+ resolvedProps: Record<string, any>;
390
+ styleOverrides?: Record<string, StyleOverrideValue>;
391
+ invocationHint: string;
392
+ invocationContract?: InvocationContract;
393
+ overrideContract?: OverrideContract;
394
+ slotContract?: Record<string, SlotDefinition>;
395
+ designRules?: DesignRules;
396
+ implementationHints?: ImplementationHints;
397
+ implementationMode: InstanceOverrideMode;
398
+ classification: OverrideClassification;
399
+ };
400
+ export type ChildOverride = {
401
+ path: string;
402
+ name: string;
403
+ componentId?: string;
404
+ role?: string;
405
+ visible?: boolean;
406
+ variantSelection?: Record<string, string>;
407
+ propertyOverrides?: Record<string, any>;
408
+ rawStyles?: any;
409
+ recipe?: ResolvedInstanceUsage;
410
+ };
411
+ export type TextStyleRef = {
412
+ group?: string;
413
+ name?: string;
414
+ displayName: string;
415
+ };
416
+ export type TypographyResolvedValue = {
417
+ tokenName?: string;
418
+ cssVar?: string;
419
+ cssValue: string;
420
+ };
421
+ export type TypographyContract = {
422
+ styleRef?: TextStyleRef;
423
+ resolved: {
424
+ fontFamily?: ResolvedBinding;
425
+ fontWeight?: ResolvedBinding;
426
+ fontSize?: ResolvedBinding;
427
+ lineHeight?: ResolvedBinding;
428
+ letterSpacing?: ResolvedBinding;
429
+ };
430
+ codeHint?: {
431
+ preferredClassName?: string;
432
+ };
433
+ textAutoResize?: string;
434
+ };
435
+ export type PropBinding = {
436
+ propName: string;
437
+ dataType: string;
438
+ isDynamic: boolean;
439
+ };
440
+ export type ContentBindingMode = "static" | "prop-only" | "state-only" | "state-default-with-prop-override" | "dynamicHint";
441
+ export type ContentContract = {
442
+ bindingMode: ContentBindingMode;
443
+ propName?: string;
444
+ dataType: string;
445
+ required: boolean;
446
+ baseValue: string | number;
447
+ stateDefaults?: Record<string, string | number>;
448
+ overridePriority?: string[];
449
+ sourceRole?: string;
450
+ warning?: string;
451
+ };
452
+ export type LayoutTreeNode = {
453
+ type: "container" | "leaf";
454
+ name: string;
455
+ role?: string;
456
+ layout?: LayoutMetadata;
457
+ children?: LayoutTreeNode[];
458
+ componentId?: string;
459
+ bounds?: {
460
+ x: number;
461
+ y: number;
462
+ width: number;
463
+ height: number;
464
+ };
465
+ textContent?: string;
466
+ visible?: boolean;
467
+ variantSelection?: Record<string, string>;
468
+ propertyOverrides?: Record<string, any>;
469
+ rawStyles?: any;
470
+ boundVariables?: any;
471
+ propBinding?: PropBinding;
472
+ contentContract?: ContentContract;
473
+ resolvedBindings?: Record<string, ResolvedBinding>;
474
+ typographyContract?: TypographyContract;
475
+ recipe?: ResolvedInstanceUsage;
476
+ childOverrides?: ChildOverride[];
477
+ reactions?: any[];
478
+ };
479
+ export type FileMapping = {
480
+ designToolFileId: string;
481
+ components: string[];
482
+ tokens: string[];
483
+ };
484
+ export type ResolvedBinding = {
485
+ sourceVariableId?: string;
486
+ sourceTokenName?: string;
487
+ sourceCodeName?: string;
488
+ resolvedTokenId?: string;
489
+ resolvedTokenName?: string;
490
+ resolvedCodeName?: string;
491
+ cssVar: string;
492
+ canonicalCssVar?: string;
493
+ cssValue: string;
494
+ valueType: "COLOR" | "DIMENSION" | "NUMBER" | "STRING";
495
+ resolutionPath: string[];
496
+ };
497
+ export type DependencyEdge = {
498
+ sourceId: string;
499
+ targetId: string;
500
+ type: "contains" | "references" | "extends";
501
+ };
502
+ export type ComponentContext = {
503
+ metadata: ContextMetadata;
504
+ component: {
505
+ name: string;
506
+ id: string;
507
+ kind: ComponentKindMetadata;
508
+ category: string;
509
+ framework: string;
510
+ artifacts: {
511
+ folder?: string;
512
+ files?: string[];
513
+ isManaged: boolean;
514
+ };
515
+ description: string | null;
516
+ };
517
+ variantAxes: (VariantProperty & {
518
+ source: SourceMetadata;
519
+ })[];
520
+ properties: (ComponentProperty & {
521
+ source: SourceMetadata;
522
+ })[];
523
+ dependencies: {
524
+ id: string;
525
+ name: string;
526
+ count: number;
527
+ kind: string;
528
+ source: SourceMetadata;
529
+ status?: "ready" | "missing" | "external";
530
+ /** Relative import path from this component's output folder, e.g. '../../buttons/btn/index.js' */
531
+ importPath?: string;
532
+ /** Key props of this dependency component derived from its variant axes and properties */
533
+ propHints?: string[];
534
+ }[];
535
+ slots: {
536
+ name: string;
537
+ }[];
538
+ tokenBindings: TokenBinding[];
539
+ resolvedBindings?: Record<string, ResolvedBinding>;
540
+ contentSourceMap?: Record<string, string>;
541
+ layout: LayoutMetadata | null;
542
+ size: SizeMetadata | null;
543
+ renderTree?: LayoutTreeNode;
544
+ baseRenderTree?: LayoutTreeNode;
545
+ designRules?: DesignRules;
546
+ implementationHints?: ImplementationHints;
547
+ defaultVariantSelection?: Record<string, string>;
548
+ variantDiffs?: any;
549
+ childNodes?: LayoutTreeNode[];
550
+ dependencyInstances?: any[];
551
+ slotContract?: Record<string, SlotDefinition>;
552
+ stateContract?: StateContract;
553
+ interactionContract?: InteractionContract;
554
+ transitionSummary?: TransitionSummary;
555
+ prototypeInteractionContract?: PrototypeInteractionContract;
556
+ compressedContext?: CompressedContext;
557
+ };
558
+ export type ComponentPromptPackage = {
559
+ intent: "implement-component";
560
+ metadata: ContextMetadata;
561
+ framework: string | null;
562
+ component: {
563
+ name: string;
564
+ id: string;
565
+ kind: string;
566
+ category: string;
567
+ description: string | null;
568
+ };
569
+ variants: Array<{
570
+ name: string;
571
+ options: string[];
572
+ defaultValue?: string;
573
+ }>;
574
+ properties: Array<{
575
+ name: string;
576
+ type: string;
577
+ }>;
578
+ dependencies: Array<{
579
+ name: string;
580
+ count: number;
581
+ status?: "ready" | "missing" | "external";
582
+ importPath?: string;
583
+ }>;
584
+ layout: {
585
+ direction: string;
586
+ mainAlignment?: string;
587
+ crossAlignment?: string;
588
+ gap?: {
589
+ value: number | string;
590
+ mode: string;
591
+ };
592
+ padding?: {
593
+ top: number | string;
594
+ right: number | string;
595
+ bottom: number | string;
596
+ left: number | string;
597
+ };
598
+ } | null;
599
+ size: {
600
+ width: {
601
+ value: number | string;
602
+ mode: string;
603
+ };
604
+ height: {
605
+ value: number | string;
606
+ mode: string;
607
+ };
608
+ } | null;
609
+ tokens: Array<{
610
+ slot: string;
611
+ token: string | number;
612
+ collection?: string;
613
+ }>;
614
+ resolvedBindings?: Record<string, ResolvedBinding>;
615
+ renderTree?: any;
616
+ baseRenderTree?: any;
617
+ designRules?: DesignRules;
618
+ implementationHints?: ImplementationHints;
619
+ defaultVariantSelection?: Record<string, string>;
620
+ variantDiffs?: any;
621
+ childNodes?: any[];
622
+ dependencyInstances?: any[];
623
+ contentSourceMap?: Record<string, string>;
624
+ slotContract?: Record<string, SlotDefinition>;
625
+ stateContract?: StateContract;
626
+ interactionContract?: InteractionContract;
627
+ transitionSummary?: TransitionSummary;
628
+ prototypeInteractionContract?: PrototypeInteractionContract;
629
+ compressedContext?: CompressedContext;
630
+ instructions: string[];
631
+ structureSummary?: {
632
+ kind: string;
633
+ hasVariants: boolean;
634
+ hasProperties: boolean;
635
+ hasDependencies: boolean;
636
+ dependencyCount: number;
637
+ hasTokenBindings: boolean;
638
+ hasLayout: boolean;
639
+ hasSize: boolean;
640
+ hasStateContract: boolean;
641
+ hasInteractionContract: boolean;
642
+ hasPrototypeInteractionContract: boolean;
643
+ };
644
+ generatedAt?: string;
645
+ promptText: string;
646
+ };
647
+ export type GeneratedFile = {
648
+ path: string;
649
+ content: string;
650
+ };
651
+ export type ComponentImplementationResult = {
652
+ files: GeneratedFile[];
653
+ };
654
+ export interface ImplementationProvider {
655
+ name: string;
656
+ implementComponent(params: {
657
+ componentName: string;
658
+ framework: string | null;
659
+ promptPackage: ComponentPromptPackage;
660
+ }): Promise<ComponentImplementationResult>;
661
+ }
662
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
package/dist/model.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ export type ComponentRegistryEntry = {
2
+ id: string;
3
+ name: string;
4
+ filePath: string;
5
+ dependencies: string[];
6
+ lastSynced: string;
7
+ };
8
+ export type TokenRegistryEntry = {
9
+ id: string;
10
+ name: string;
11
+ filePath: string;
12
+ lastSynced: string;
13
+ };
14
+ export type DependencyGraph = {
15
+ nodes: string[];
16
+ edges: {
17
+ source: string;
18
+ target: string;
19
+ }[];
20
+ };
21
+ export type RegistrySnapshot = {
22
+ timestamp: string;
23
+ components: Record<string, ComponentRegistryEntry>;
24
+ tokens: Record<string, TokenRegistryEntry>;
25
+ graph: DependencyGraph;
26
+ };
27
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE;QACH,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC3C,KAAK,EAAE,eAAe,CAAC;CAC1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Represents the plan for scaffolding a new project.
3
+ */
4
+ export interface ScaffoldPlan {
5
+ directories: string[];
6
+ files: Array<{
7
+ filePath: string;
8
+ type: string;
9
+ contentPlaceholder: string;
10
+ }>;
11
+ }
12
+ //# sourceMappingURL=scaffold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,kBAAkB,EAAE,MAAM,CAAC;KAC9B,CAAC,CAAC;CACN"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scaffold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@calibrate-ds/shared-types",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist",
9
+ "README.md"
10
+ ],
11
+ "publishConfig": {
12
+ "access": "public"
13
+ },
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "import": "./dist/index.js"
18
+ }
19
+ },
20
+ "scripts": {
21
+ "build": "tsc -p tsconfig.json",
22
+ "lint": "echo \"No lint yet\"",
23
+ "test": "echo \"No tests yet\""
24
+ }
25
+ }