@seed-design/figma 0.0.25 → 0.0.28

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.
@@ -1,6 +1,5 @@
1
1
  import * as FigmaRestSpec from '@figma/rest-api-spec';
2
2
  import { ComponentPropertyType, InstanceSwapPreferredValue, LocalVariable, VariableAlias as VariableAlias$1, VariableScope, RGBA } from '@figma/rest-api-spec';
3
- import * as ________ from '../index.js';
4
3
  import * as index_d_ts from './targets/react/index.js';
5
4
  export { index_d_ts as react };
6
5
 
@@ -110,7 +109,7 @@ interface CodeGeneratorDeps {
110
109
  booleanOperationTransformer: ElementTransformer<NormalizedBooleanOperationNode>;
111
110
  shouldInferAutoLayout: boolean;
112
111
  }
113
- declare function createCodeGenerator({ frameTransformer, textTransformer, rectangleTransformer, instanceTransformer, vectorTransformer, booleanOperationTransformer, shouldInferAutoLayout, }: CodeGeneratorDeps): {
112
+ interface CodeGenerator {
114
113
  generateJsxTree: (node: NormalizedSceneNode) => ElementNode | undefined;
115
114
  generateCode: (node: NormalizedSceneNode, options: {
116
115
  shouldPrintSource: boolean;
@@ -118,7 +117,8 @@ declare function createCodeGenerator({ frameTransformer, textTransformer, rectan
118
117
  imports: string;
119
118
  jsx: string;
120
119
  } | undefined;
121
- };
120
+ }
121
+ declare function createCodeGenerator({ frameTransformer, textTransformer, rectangleTransformer, instanceTransformer, vectorTransformer, booleanOperationTransformer, shouldInferAutoLayout, }: CodeGeneratorDeps): CodeGenerator;
122
122
 
123
123
  interface ComponentHandler<T extends NormalizedInstanceNode["componentProperties"] = NormalizedInstanceNode["componentProperties"]> {
124
124
  key: string;
@@ -149,6 +149,12 @@ type InferComponentDefinition<T extends Record<string, ComponentPropertyDefiniti
149
149
  } : {});
150
150
  };
151
151
 
152
+ interface ComponentMetadata {
153
+ name: string;
154
+ key: string;
155
+ componentPropertyDefinitions: Record<string, ComponentPropertyDefinition>;
156
+ }
157
+
152
158
  type Variable = LocalVariable;
153
159
  type VariableValue = Variable["valuesByMode"][string];
154
160
  type VariableValueResolved = Exclude<VariableValue, VariableAlias$1>;
@@ -163,6 +169,10 @@ interface VariableService {
163
169
  infer: (value: VariableValueResolved, scope: VariableScope) => Variable | undefined;
164
170
  }
165
171
 
172
+ interface ComponentRepository {
173
+ getOne(key: string): ComponentMetadata | undefined;
174
+ }
175
+
166
176
  type PropsConverter<T extends Record<string, any> = Record<string, any>, R extends Record<string, any> = Record<string, any>> = (node: T) => R;
167
177
  declare function definePropsConverter<T extends Record<string, any>, R extends Record<string, any>>(converter: PropsConverter<T, R>): PropsConverter<T, R>;
168
178
  type Handlers<TTrait extends Record<string, VariableValueResolved>, TProps extends Record<string, any>, HandlerKeys extends keyof TProps = keyof TProps> = {
@@ -1685,15 +1695,7 @@ interface CreatePipelineConfig {
1685
1695
  shouldInferAutoLayout?: boolean;
1686
1696
  shouldInferVariableName?: boolean;
1687
1697
  }
1688
- declare function createPipeline(options?: CreatePipelineConfig): {
1689
- generateJsxTree: (node: ________.NormalizedSceneNode) => ElementNode | undefined;
1690
- generateCode: (node: ________.NormalizedSceneNode, options: {
1691
- shouldPrintSource: boolean;
1692
- }) => {
1693
- imports: string;
1694
- jsx: string;
1695
- } | undefined;
1696
- };
1698
+ declare function createPipeline(options?: CreatePipelineConfig): CodeGenerator;
1697
1699
 
1698
1700
  type FigmaValueResolver = ValueResolver<string, number, number, number>;
1699
1701
 
@@ -1775,8 +1777,9 @@ declare function createFrameTransformer({ propsConverters, }: FrameTransformerDe
1775
1777
 
1776
1778
  interface InstanceTransformerDeps {
1777
1779
  frameTransformer: ElementTransformer<NormalizedInstanceNode>;
1780
+ componentRepository?: ComponentRepository;
1778
1781
  }
1779
- declare function createInstanceTransformer({ frameTransformer, }: InstanceTransformerDeps): ElementTransformer<NormalizedInstanceNode>;
1782
+ declare function createInstanceTransformer({ frameTransformer, componentRepository, }: InstanceTransformerDeps): ElementTransformer<NormalizedInstanceNode>;
1780
1783
 
1781
1784
  interface RectangleTransformerDeps {
1782
1785
  propsConverters: PropsConverters;